@discourse/lint-configs 2.37.1 → 2.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/eslint-theme.mjs CHANGED
@@ -9,6 +9,8 @@ export default [
9
9
  themePrefix: "readonly",
10
10
  },
11
11
  },
12
+ },
13
+ {
12
14
  ignores: ["javascripts/vendor/*"],
13
15
  },
14
16
  ];
package/eslint.mjs CHANGED
@@ -55,6 +55,7 @@ export default [
55
55
  useBabel: true,
56
56
  requireConfigFile: false,
57
57
  babelOptions: {
58
+ configFile: false,
58
59
  plugins: [[decoratorsPluginPath, { legacy: true }]],
59
60
  },
60
61
  },
@@ -185,41 +186,27 @@ export default [
185
186
  "import/no-duplicates": "error",
186
187
  "object-shorthand": ["error", "properties"],
187
188
  "no-dupe-class-members": "error",
188
- "ember/no-classic-components": "off",
189
- "ember/no-component-lifecycle-hooks": "off",
190
- "ember/require-tagless-components": "off",
189
+ "ember/no-component-lifecycle-hooks": "off", // too much noise for now; classic components should be converted to glimmer wholesale instead
191
190
  "ember/no-assignment-of-untracked-properties-used-in-tracking-contexts":
192
- "off",
193
- "ember/no-computed-properties-in-native-classes": "off",
194
- "ember/no-side-effects": "off",
195
- "ember/require-computed-property-dependencies": "off",
196
- "ember/require-return-from-computed": "off",
191
+ "off", // TODO? needs to understand `@trackedArray` though
192
+ "ember/no-computed-properties-in-native-classes": "off", // too many for now
193
+ "ember/require-computed-property-dependencies": "off", // we no longer recommend using @computed
194
+ "ember/require-return-from-computed": "off", // we no longer recommend using @computed
197
195
  "ember/use-brace-expansion": "off", // we no longer recommend using @computed
198
196
  "ember/no-deprecated-router-transition-methods": "off", // this rule is broken
199
- "ember/avoid-leaking-state-in-ember-objects": "off",
200
- "ember/no-get": "off",
201
- "ember/no-observers": "off",
197
+ "ember/no-get": "off", // TODO: still too many uses, and is required when crossing `@tracked`/`EmberObject` boundary
202
198
  "ember/no-implicit-injections": "off", // this rule is broken
203
- "ember/no-array-prototype-extensions": "off",
204
- "ember/no-at-ember-render-modifiers": "off",
205
- "ember/classic-decorator-hooks": "off",
206
- "ember/classic-decorator-no-classic-methods": "off",
207
- "ember/no-actions-hash": "off",
208
- "ember/no-tracked-properties-from-args": "off",
209
- "ember/no-jquery": "off",
210
- "ember/no-runloop": "off",
211
- "ember/no-capital-letters-in-routes": "off",
212
- "ember/no-controller-access-in-routes": "off",
213
- "ember/no-shadow-route-definition": "off",
214
- "ember/no-unnecessary-index-route": "off",
199
+ "ember/no-array-prototype-extensions": "off", // too many false-positives
200
+ "ember/no-at-ember-render-modifiers": "off", // TODO: @ember/render-modifiers are considered an anti-pattern
201
+ "ember/classic-decorator-hooks": "off", // too much noise; doesn't consider EmberObject/Controller/EmberComponent as classic w/o the decorator
202
+ "ember/classic-decorator-no-classic-methods": "off", // same as ember/classic-decorator-hooks
203
+ "ember/no-runloop": "off", // TODO: though not in the foreseeable future
204
+ "ember/no-capital-letters-in-routes": "off", // TODO: too many errors for now
205
+ "ember/no-controller-access-in-routes": "off", // TODO: maybe?
206
+ "ember/no-shadow-route-definition": "off", // TODO: but there seems to be a bug in the rule (a nested route can't shadow the parent)
207
+ "ember/no-unnecessary-index-route": "off", // the assumption made in this rule doesn't seem to be true in discourse router
215
208
  "ember/no-unnecessary-service-injection-argument": "error",
216
- "ember/route-path-style": "off",
217
- "ember/routes-segments-snake-case": "off",
218
209
  "ember/no-replace-test-comments": "error",
219
- "qunit/no-assert-equal": "off",
220
- "qunit/no-conditional-assertions": "off",
221
- "qunit/no-identical-names": "off",
222
- "qunit/no-loose-assertions": "off",
223
210
  "sort-class-members/sort-class-members": [
224
211
  "error",
225
212
  {
@@ -316,8 +303,8 @@ export default [
316
303
  "discourse/capital-components": ["error"],
317
304
  "discourse/no-onclick": ["error"],
318
305
  "discourse/template-tag-no-self-this": ["error"],
319
- // "discourse/no-route-template": ["error"], // Enable by default once Ember 6.6 is on stable
320
- // "discourse/moved-packages-import-paths": ["error"], // Enable when the package move commits are released
306
+ "discourse/no-route-template": ["error"],
307
+ "discourse/moved-packages-import-paths": ["error"],
321
308
  },
322
309
  },
323
310
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@discourse/lint-configs",
3
- "version": "2.37.1",
3
+ "version": "2.38.0",
4
4
  "description": "Shareable lint configs for Discourse core, plugins, and themes",
5
5
  "author": "Discourse",
6
6
  "license": "MIT",
@@ -29,9 +29,9 @@
29
29
  "./template-lint-rules": "./template-lint-rules/index.mjs"
30
30
  },
31
31
  "dependencies": {
32
- "@babel/core": "^7.28.6",
32
+ "@babel/core": "^7.29.0",
33
33
  "@babel/eslint-parser": "^7.28.6",
34
- "@babel/plugin-proposal-decorators": "^7.28.6",
34
+ "@babel/plugin-proposal-decorators": "^7.29.0",
35
35
  "@eslint/js": "^9.39.2",
36
36
  "ember-eslint-parser": "^0.5.13",
37
37
  "ember-template-lint": "^7.9.3",
@@ -42,10 +42,10 @@
42
42
  "eslint-plugin-qunit": "^8.2.5",
43
43
  "eslint-plugin-simple-import-sort": "^12.1.1",
44
44
  "eslint-plugin-sort-class-members": "^1.21.0",
45
- "globals": "^17.0.0",
46
- "prettier": "^3.8.0",
47
- "prettier-plugin-ember-template-tag": "^2.1.2",
48
- "stylelint": "^17.0.0",
45
+ "globals": "^17.3.0",
46
+ "prettier": "^3.8.1",
47
+ "prettier-plugin-ember-template-tag": "^2.1.3",
48
+ "stylelint": "^17.1.0",
49
49
  "stylelint-config-standard": "^40.0.0",
50
50
  "stylelint-config-standard-scss": "^17.0.0",
51
51
  "stylelint-scss": "^7.0.0",
@@ -54,8 +54,8 @@
54
54
  "peerDependencies": {
55
55
  "ember-template-lint": "7.9.3",
56
56
  "eslint": "9.39.2",
57
- "prettier": "3.8.0",
58
- "stylelint": "17.0.0"
57
+ "prettier": "3.8.1",
58
+ "stylelint": "17.1.0"
59
59
  },
60
60
  "scripts": {
61
61
  "lint": "eslint --no-error-on-unmatched-pattern \"**/*.{cjs,mjs,js}\" && pnpm prettier --check \"**/*.{cjs,mjs,js}\"",