Skip to content

Commit f853ea5

Browse files
authored
Merge pull request #70 from peopledoc/refactor/v3
Define an ember-core, update configuration to follow recent ember changes
2 parents 57d6870 + 044c1d6 commit f853ea5

File tree

8 files changed

+436
-1517
lines changed

8 files changed

+436
-1517
lines changed

README.md

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,6 @@ extends: ['peopledoc/ember']
5858
extends: ['peopledoc/ember-addon']
5959
```
6060

61-
**Ember Test:**
62-
63-
```js
64-
extends: ['peopledoc/ember-test']
65-
```
66-
6761
**ES5 only**
6862

6963
```js
@@ -78,19 +72,7 @@ extends: ['peopledoc/prettier']
7872

7973
### Formatting Code
8074

81-
We recommend to use prettier-eslint in order to format it with `prettier` ([why?](https://prettier.io/docs/en/why-prettier.html)) then fix issue with `eslint --fix`:
82-
83-
```shell
84-
./node_modules/.bin/prettier-eslint --list-different --single-quote {app,config,mirage,server,tests}/{**/,}*.js
85-
```
86-
87-
Once you have review change you can write them with
88-
89-
```shell
90-
./node_modules/.bin/prettier-eslint --write --single-quote {app,config,mirage,server,tests}/{**/,}*.js
91-
```
92-
93-
:bulb: We recommend to add a custom `format` script to your _package.json_ so you can run `npm format`.
75+
We recommend to use `eslint . --fix`.
9476

9577
## License
9678

core.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ module.exports = {
66
ecmaVersion: 2018,
77
sourceType: "module"
88
},
9-
extends: [],
109
rules: {
1110
// ES6
1211
"arrow-parens": ["error", "always"],
12+
"comma-dangle": ["error", "never"],
1313
"eol-last": ["error", "always"],
1414
"generator-star-spacing": ["error", { before: false, after: true }],
1515
"no-var": "error",
@@ -35,7 +35,8 @@ module.exports = {
3535
}
3636
],
3737
"arrow-spacing": [
38-
"error", {
38+
"error",
39+
{
3940
before: true,
4041
after: true
4142
}

ember-addon.js

Lines changed: 14 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,18 @@
11
module.exports = {
2-
parser: "babel-eslint",
3-
parserOptions: {
4-
ecmaVersion: 2018,
5-
sourceType: "module",
6-
ecmaFeatures: {
7-
legacyDecorators: true
8-
}
9-
},
10-
plugins: [
11-
"ember",
12-
"ember-suave"
13-
],
14-
extends: [
15-
"eslint:recommended",
16-
"plugin:ember/recommended",
17-
"plugin:ember-suave/recommended",
18-
"./core.js"
19-
],
20-
env: {
21-
browser: true
22-
},
23-
rules: {
24-
"ember/no-jquery": "warn",
25-
"ember-suave/require-access-in-comments": "off"
26-
},
2+
extends: ["./ember-core.js"],
273
overrides: [
284
// node files
295
{
306
files: [
31-
".eslintrc.js",
32-
".template-lintrc.js",
33-
"ember-cli-build.js",
34-
"index.js",
35-
"testem.js",
36-
"blueprints/*/index.js",
37-
"config/**/*.js",
38-
"tests/dummy/config/**/*.js"
39-
],
40-
excludedFiles: [
41-
"addon/**",
42-
"addon-test-support/**",
43-
"app/**",
44-
"tests/dummy/app/**"
7+
"./.eslintrc.js",
8+
"./.prettierrc.js",
9+
"./.template-lintrc.js",
10+
"./ember-cli-build.js",
11+
"./index.js",
12+
"./testem.js",
13+
"./blueprints/*/index.js",
14+
"./config/**/*.js",
15+
"./tests/dummy/config/**/*.js"
4516
],
4617
parserOptions: {
4718
sourceType: "script"
@@ -51,19 +22,10 @@ module.exports = {
5122
node: true
5223
},
5324
plugins: ["node"],
54-
extends: ['plugin:node/recommended'],
55-
rules: {
56-
// this can be removed once the following is fixed
57-
// https://github.com/mysticatea/eslint-plugin-node/issues/77
58-
'node/no-unpublished-require': 'off'
59-
}
60-
},
61-
// testem config file
62-
{
63-
files: ["testem.js"],
64-
rules: {
65-
camelcase: "off"
66-
}
25+
rules: Object.assign(
26+
{},
27+
require("eslint-plugin-node").configs.recommended.rules
28+
)
6729
}
6830
]
6931
}

ember-core.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
module.exports = {
2+
parser: "babel-eslint",
3+
parserOptions: {
4+
ecmaVersion: 2018,
5+
sourceType: "module",
6+
ecmaFeatures: {
7+
legacyDecorators: true
8+
}
9+
},
10+
plugins: ["ember", "ember-suave"],
11+
extends: [
12+
"eslint:recommended",
13+
"plugin:ember/recommended",
14+
"plugin:ember-suave/recommended",
15+
"plugin:prettier/recommended",
16+
"./core.js"
17+
],
18+
env: {
19+
browser: true
20+
},
21+
rules: {
22+
"prettier/prettier": ["error", { semi: false, singleQuote: true, trailingComma: "none" }]
23+
},
24+
overrides: [
25+
// testem config file
26+
{
27+
files: ["./testem.js"],
28+
rules: {
29+
camelcase: "off"
30+
}
31+
},
32+
{
33+
// Test files:
34+
files: ['tests/**/*-test.{js,ts}'],
35+
extends: ['plugin:qunit/recommended']
36+
}
37+
]
38+
}

ember-test.js

Lines changed: 0 additions & 13 deletions
This file was deleted.

ember.js

Lines changed: 19 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,18 @@
11
module.exports = {
2-
parser: "babel-eslint",
3-
parserOptions: {
4-
ecmaVersion: 2018,
5-
sourceType: "module",
6-
ecmaFeatures: {
7-
legacyDecorators: true
8-
}
9-
},
10-
plugins: [
11-
"ember",
12-
"ember-suave"
13-
],
14-
extends: [
15-
"eslint:recommended",
16-
"plugin:ember/recommended",
17-
"plugin:ember-suave/recommended",
18-
"./core.js"
19-
],
20-
env: {
21-
browser: true
22-
},
23-
rules: {
24-
"ember/no-jquery": "warn",
25-
"ember-suave/require-access-in-comments": "off"
26-
},
2+
extends: ["./ember-core.js"],
273
overrides: [
284
// node files
295
{
306
files: [
31-
".eslintrc.js",
32-
".template-lintrc.js",
33-
"ember-cli-build.js",
34-
"testem.js",
35-
"config/**/*.js",
36-
"lib/*/index.js",
37-
"server/**/*.js"
7+
"./.eslintrc.js",
8+
"./.prettierrc.js",
9+
"./.template-lintrc.js",
10+
"./ember-cli-build.js",
11+
"./testem.js",
12+
"./blueprints/*/index.js",
13+
"./config/**/*.js",
14+
"./lib/*/index.js",
15+
"./server/**/*.js"
3816
],
3917
parserOptions: {
4018
sourceType: "script"
@@ -44,19 +22,15 @@ module.exports = {
4422
node: true
4523
},
4624
plugins: ["node"],
47-
extends: ['plugin:node/recommended'],
48-
rules: {
49-
// this can be removed once the following is fixed
50-
// https://github.com/mysticatea/eslint-plugin-node/issues/77
51-
'node/no-unpublished-require': 'off'
52-
}
53-
},
54-
// testem config file
55-
{
56-
files: ["testem.js"],
57-
rules: {
58-
camelcase: "off"
59-
}
25+
rules: Object.assign(
26+
{},
27+
require("eslint-plugin-node").configs.recommended.rules,
28+
{
29+
// this can be removed once the following is fixed
30+
// https://github.com/mysticatea/eslint-plugin-node/issues/77
31+
"node/no-unpublished-require": "off"
32+
}
33+
)
6034
}
6135
]
6236
}

package.json

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,16 @@
44
"version": "2.0.2",
55
"main": "index.js",
66
"dependencies": {
7-
"eslint-plugin-ember": "9.x.x",
8-
"eslint-plugin-ember-suave": "2.x.x",
9-
"eslint-plugin-es5": "1.x.x",
10-
"eslint-plugin-node": "11.x.x",
11-
"eslint-plugin-prettier": "3.x.x",
12-
"prettier-eslint-cli": "5.x.x"
7+
"eslint-config-prettier": "^8.3.0",
8+
"eslint-plugin-ember": "^10.4.2",
9+
"eslint-plugin-ember-suave": "^2.0.1",
10+
"eslint-plugin-node": "^11.1.0",
11+
"eslint-plugin-prettier": "^3.4.0",
12+
"eslint-plugin-qunit": "^6.1.1",
13+
"prettier": "^2.3.0"
1314
},
1415
"files": [
15-
"core.js",
1616
"ember-addon.js",
17-
"ember-test.js",
1817
"ember.js",
1918
"es5.js",
2019
"index.js",
@@ -31,7 +30,6 @@
3130
"url": "https://github.com/peopledoc/eslint-config-peopledoc.git"
3231
},
3332
"engines": {
34-
"node": ">= 8",
35-
"npm": ">= 5.1"
33+
"node": "12.* || 14.* || >= 16"
3634
}
3735
}

0 commit comments

Comments
 (0)