Skip to content

Commit 8a3a357

Browse files
committed
Adding Airbnb ESLint rules
Disable usupported rules for specific ember apps. Add a eslint-config-airbnb-base, eslint-plugin-ember, eslint-plugin-import to package.json. Update ember-cli-code-coverage to v1.0.0-beta.4 version to get the fix when using the `useBabelInstrumenter` config see ember-cli-code-coverage/ember-cli-code-coverage#133 . Closes #58
1 parent b09fdec commit 8a3a357

File tree

4 files changed

+33
-3
lines changed

4 files changed

+33
-3
lines changed

.eslintrc.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,24 @@ module.exports = {
1010
],
1111
extends: [
1212
'eslint:recommended',
13-
'plugin:ember/recommended'
13+
'plugin:ember/recommended',
14+
'airbnb-base'
1415
],
1516
env: {
1617
browser: true
1718
},
1819
rules: {
20+
// This rule has no support for @ember import system.
21+
// Ember build have their own mechanism to managing dependency.
22+
// Ember build will raise error on build if there is an import error.
23+
'import/extensions': 'off',
24+
'import/no-unresolved': 'off',
25+
'import/no-extraneous-dependencies': 'off',
26+
// Ember use underscore dangling, e.g _super. Which is enforced by ember's
27+
// own linter to be used on init() method.
28+
'no-underscore-dangle': 'off',
29+
// Ember Routes and tests utilize `this` inside their callback.
30+
'prefer-arrow-callback': 'off',
1931
},
2032
overrides: [
2133
// node files

config/coverage.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/* global module */
2+
3+
'use strict';
4+
5+
module.exports = {
6+
useBabelInstrumenter: true,
7+
};

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
"ember-maybe-import-regenerator": "^0.1.6",
4444
"ember-source": "~3.1.0",
4545
"eslint": "^4.19.1",
46+
"eslint-config-airbnb-base": "12.1.0",
4647
"eslint-plugin-ember": "^5.0.0",
4748
"eslint-plugin-import": "^2.7.0",
4849
"loader.js": "^4.2.3",

yarn.lock

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3304,6 +3304,12 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
33043304
version "1.0.5"
33053305
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
33063306

3307+
3308+
version "12.1.0"
3309+
resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz#386441e54a12ccd957b0a92564a4bafebd747944"
3310+
dependencies:
3311+
eslint-restricted-globals "^0.1.1"
3312+
33073313
eslint-import-resolver-node@^0.3.1:
33083314
version "0.3.2"
33093315
resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
@@ -3326,8 +3332,8 @@ eslint-plugin-ember@^5.0.0:
33263332
snake-case "^2.1.0"
33273333

33283334
eslint-plugin-import@^2.7.0:
3329-
version "2.13.0"
3330-
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.13.0.tgz#df24f241175e312d91662dc91ca84064caec14ed"
3335+
version "2.12.0"
3336+
resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.12.0.tgz#dad31781292d6664b25317fd049d2e2b2f02205d"
33313337
dependencies:
33323338
contains-path "^0.1.0"
33333339
debug "^2.6.8"
@@ -3340,6 +3346,10 @@ eslint-plugin-import@^2.7.0:
33403346
read-pkg-up "^2.0.0"
33413347
resolve "^1.6.0"
33423348

3349+
eslint-restricted-globals@^0.1.1:
3350+
version "0.1.1"
3351+
resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7"
3352+
33433353
eslint-scope@^3.7.1:
33443354
version "3.7.1"
33453355
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"

0 commit comments

Comments
 (0)