Skip to content

Commit 8bb15ee

Browse files
committed
update lint implementation to support gjs
1 parent d06dce1 commit 8bb15ee

File tree

7 files changed

+1005
-453
lines changed

7 files changed

+1005
-453
lines changed

.eslintrc.js

Lines changed: 15 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@
22

33
module.exports = {
44
root: true,
5-
parser: 'babel-eslint',
5+
parser: '@babel/eslint-parser',
66
parserOptions: {
7-
ecmaVersion: 2018,
7+
ecmaVersion: 'latest',
88
sourceType: 'module',
9-
ecmaFeatures: {
10-
legacyDecorators: true,
9+
requireConfigFile: false,
10+
babelOptions: {
11+
plugins: [
12+
['@babel/plugin-proposal-decorators', { decoratorsBeforeExport: true }],
13+
],
1114
},
1215
},
1316
plugins: ['ember'],
@@ -19,52 +22,37 @@ module.exports = {
1922
env: {
2023
browser: true,
2124
},
22-
rules: {
23-
'no-console': 'off',
24-
'ember/no-new-mixins': 'off',
25-
'ember/no-mixins': 'off',
26-
'ember/require-tagless-components': 'off',
27-
'ember/no-classic-classes': 'off',
28-
'ember/no-get': 'off',
29-
'ember/no-classic-components': 'off',
30-
'ember/no-private-routing-service': 'off',
31-
},
25+
rules: {},
3226
overrides: [
27+
{
28+
files: ['**/*.gjs'],
29+
parser: 'ember-eslint-parser',
30+
},
3331
// node files
3432
{
3533
files: [
3634
'./.eslintrc.js',
3735
'./.prettierrc.js',
36+
'./.stylelintrc.js',
3837
'./.template-lintrc.js',
3938
'./ember-cli-build.js',
4039
'./testem.js',
4140
'./blueprints/*/index.js',
4241
'./config/**/*.js',
4342
'./lib/*/index.js',
4443
'./server/**/*.js',
45-
'./run-tests.js',
46-
'./bin/*',
47-
'./prember-urls.js',
4844
],
49-
excludedFiles: ['config/deprecation-workflow.js'],
5045
parserOptions: {
5146
sourceType: 'script',
52-
ecmaVersion: 2017,
5347
},
5448
env: {
5549
browser: false,
5650
node: true,
5751
},
58-
plugins: ['node'],
59-
extends: ['plugin:node/recommended'],
60-
rules: {
61-
// this can be removed once the following is fixed
62-
// https://github.com/mysticatea/eslint-plugin-node/issues/77
63-
'node/no-unpublished-require': 'off',
64-
},
52+
extends: ['plugin:n/recommended'],
6553
},
6654
{
67-
// Test files:
55+
// test files
6856
files: ['tests/**/*-test.{js,ts}'],
6957
extends: ['plugin:qunit/recommended'],
7058
},

.prettierignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@
1414
/coverage/
1515
!.*
1616
.eslintcache
17+
.lint-todo/
1718

1819
# ember-try
1920
/.node_modules.ember-try/
2021
/bower.json.ember-try
22+
/npm-shrinkwrap.json.ember-try
2123
/package.json.ember-try
24+
/package-lock.json.ember-try
25+
/yarn.lock.ember-try

.prettierrc.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
'use strict';
22

33
module.exports = {
4-
singleQuote: true,
4+
plugins: ['prettier-plugin-ember-template-tag'],
5+
overrides: [
6+
{
7+
files: '*.{js,ts,gjs,gts}',
8+
options: {
9+
singleQuote: true,
10+
},
11+
},
12+
],
513
};

package.json

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"test:ember": "ember test"
2828
},
2929
"devDependencies": {
30+
"@babel/plugin-proposal-decorators": "^7.25.9",
3031
"@ember/optional-features": "^2.0.0",
3132
"@ember/test-helpers": "^2.6.0",
3233
"@embroider/compat": "^3.4.3",
@@ -88,6 +89,7 @@
8889
"ember-concurrency": "^2.3.7",
8990
"ember-data": "~3.28.6",
9091
"ember-data-fastboot": "https://github.com/cardstack/ember-data-fastboot#6e6fb8bbf0b405ae174160cc1e4833c5582f68cd",
92+
"ember-eslint-parser": "^0.5.9",
9193
"ember-export-application-global": "^2.0.1",
9294
"ember-fetch": "^8.1.1",
9395
"ember-inflector": "^4.0.3",
@@ -100,21 +102,24 @@
100102
"ember-resolver": "^8.0.3",
101103
"ember-rfc176-data": "^0.3.17",
102104
"ember-route-action-helper": "^2.0.8",
105+
"ember-route-template": "^1.0.3",
103106
"ember-showdown-shiki": "^1.2.1",
104107
"ember-sinon": "^4.1.1",
105108
"ember-source": "~3.28.8",
106109
"ember-styleguide": "^3.3.0",
107110
"ember-svg-jar": "^2.4.2",
108-
"ember-template-lint": "^3.15.0",
111+
"ember-template-imports": "^4.3.0",
112+
"ember-template-lint": "^6.1.0",
109113
"ember-test-selectors": "^6.0.0",
110114
"ember-tether": "1.0.0",
111115
"ember-truth-helpers": "^2.1.0",
112116
"ember-web-app": "^2.0.0",
113-
"eslint": "^7.32.0",
117+
"eslint": "^8.57.1",
114118
"eslint-config-prettier": "^8.3.0",
115-
"eslint-plugin-ember": "^10.5.8",
119+
"eslint-plugin-ember": "^12.5.0",
120+
"eslint-plugin-n": "^17.15.1",
116121
"eslint-plugin-node": "^11.1.0",
117-
"eslint-plugin-prettier": "^3.4.1",
122+
"eslint-plugin-prettier": "^5.2.3",
118123
"eslint-plugin-qunit": "^6.2.0",
119124
"express-sslify": "^1.2.0",
120125
"fastboot-app-server": "^3.3.2",
@@ -133,7 +138,8 @@
133138
"normalize.css": "^8.0.1",
134139
"npm-run-all": "^4.1.5",
135140
"prember": "^2.1.0",
136-
"prettier": "^2.5.1",
141+
"prettier": "^3.5.2",
142+
"prettier-plugin-ember-template-tag": "^2.0.4",
137143
"qunit": "^2.17.2",
138144
"qunit-dom": "^1.6.0",
139145
"sanitize-html": "^2.3.2",
@@ -171,5 +177,9 @@
171177
"ember-truth-helpers": "^4.0.0"
172178
}
173179
},
174-
"packageManager": "pnpm@9.5.0"
180+
"packageManager": "pnpm@9.5.0",
181+
"exports": {
182+
"./tests/*": "./tests/*",
183+
"./*": "./app/*"
184+
}
175185
}

0 commit comments

Comments
 (0)