Skip to content

Commit e63b7fd

Browse files
committed
chore: remove non-recommended rules from cluttering recommended-rules.js
It's not necessary to list non-recommended rules in the `recommended-rules.js`. It only clutters the file for those trying to use it as a reference for the complete list of recommended rules.
1 parent 4e80839 commit e63b7fd

File tree

3 files changed

+15
-35
lines changed

3 files changed

+15
-35
lines changed

lib/recommended-rules.js

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,26 +5,15 @@
55
* definitions, execute "npm run update"
66
*/
77
module.exports = {
8-
"ember/alias-model-in-controller": "off",
98
"ember/avoid-leaking-state-in-ember-objects": "error",
109
"ember/avoid-using-needs-in-controllers": "error",
11-
"ember/classic-decorator-hooks": "off",
12-
"ember/classic-decorator-no-classic-methods": "off",
1310
"ember/closure-actions": "error",
14-
"ember/computed-property-getters": "off",
1511
"ember/jquery-ember-run": "error",
16-
"ember/named-functions-in-promises": "off",
1712
"ember/new-module-imports": "error",
18-
"ember/no-actions-hash": "off",
1913
"ember/no-arrow-function-computed-properties": "error",
2014
"ember/no-attrs-in-components": "error",
2115
"ember/no-attrs-snapshot": "error",
2216
"ember/no-capital-letters-in-routes": "error",
23-
"ember/no-classic-classes": "off",
24-
"ember/no-classic-components": "off",
25-
"ember/no-component-lifecycle-hooks": "off",
26-
"ember/no-computed-properties-in-native-classes": "off",
27-
"ember/no-controllers": "off",
2817
"ember/no-deeply-nested-dependent-keys-with-each": "error",
2918
"ember/no-duplicate-dependent-keys": "error",
3019
"ember/no-ember-super-in-es-classes": "error",
@@ -38,7 +27,6 @@ module.exports = {
3827
"ember/no-incorrect-computed-macros": "error",
3928
"ember/no-invalid-debug-function-arguments": "error",
4029
"ember/no-invalid-dependent-keys": "error",
41-
"ember/no-invalid-test-waiters": "off",
4230
"ember/no-jquery": "error",
4331
"ember/no-legacy-test-waiters": "error",
4432
"ember/no-mixins": "error",
@@ -48,29 +36,18 @@ module.exports = {
4836
"ember/no-on-calls-in-components": "error",
4937
"ember/no-pause-test": "error",
5038
"ember/no-private-routing-service": "error",
51-
"ember/no-proxies": "off",
52-
"ember/no-replace-test-comments": "off",
5339
"ember/no-restricted-resolver-tests": "error",
5440
"ember/no-side-effects": "error",
5541
"ember/no-test-and-then": "error",
5642
"ember/no-test-import-export": "error",
5743
"ember/no-test-module-for": "error",
58-
"ember/no-unnecessary-index-route": "off",
5944
"ember/no-unnecessary-route-path-option": "error",
60-
"ember/no-unnecessary-service-injection-argument": "off",
6145
"ember/no-volatile-computed-properties": "error",
62-
"ember/order-in-components": "off",
63-
"ember/order-in-controllers": "off",
64-
"ember/order-in-models": "off",
65-
"ember/order-in-routes": "off",
6646
"ember/require-computed-macros": "error",
6747
"ember/require-computed-property-dependencies": "error",
6848
"ember/require-return-from-computed": "error",
6949
"ember/require-super-in-init": "error",
70-
"ember/require-tagless-components": "off",
71-
"ember/route-path-style": "off",
7250
"ember/routes-segments-snake-case": "error",
7351
"ember/use-brace-expansion": "error",
74-
"ember/use-ember-data-rfc-395-imports": "error",
75-
"ember/use-ember-get-and-set": "off"
52+
"ember/use-ember-data-rfc-395-imports": "error"
7653
}

scripts/update-rules.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,9 @@ ${deprecatedRules
9696
const recommendedRules = rules.reduce((obj, entry) => {
9797
const name = `ember/${entry[0]}`;
9898
const recommended = entry[1].meta.docs.recommended;
99-
const status = recommended ? 'error' : 'off';
100-
obj[name] = status; // eslint-disable-line no-param-reassign
99+
if (recommended) {
100+
obj[name] = 'error'; // eslint-disable-line no-param-reassign
101+
}
101102
return obj;
102103
}, {});
103104

tests/rule-setup.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ const recommendedRules = require('../lib/recommended-rules.js');
77
const octaneRules = require('../lib/octane-rules.js');
88

99
const RULE_NAMES = Object.keys(rules);
10-
const OCTANE_RULE_NAMES = Object.keys(octaneRules);
10+
const RECOMMENDED_RULE_NAMES = Object.keys(recommendedRules).map((name) =>
11+
name.replace('ember/', '')
12+
);
13+
const OCTANE_RULE_NAMES = Object.keys(octaneRules).map((name) => name.replace('ember/', ''));
1114

1215
describe('rules setup is correct', function () {
1316
it('should have a list of exported rules and rules directory that match', function () {
@@ -20,17 +23,16 @@ describe('rules setup is correct', function () {
2023
);
2124
});
2225

23-
it('should list all rules in the recommended rules file', function () {
24-
expect(RULE_NAMES).toStrictEqual(
25-
Object.keys(recommendedRules).map((file) => file.replace('ember/', ''))
26+
it('should list all recommended rules in the recommended rules file', function () {
27+
const recommendedRuleNamesFromMeta = RULE_NAMES.filter(
28+
(key) => rules[key].meta.docs.recommended
2629
);
30+
expect(RECOMMENDED_RULE_NAMES).toStrictEqual(recommendedRuleNamesFromMeta);
2731
});
2832

29-
it('should list all rules in the octane rules file', function () {
30-
const octaneRuleNames = Object.keys(rules).filter((key) => rules[key].meta.docs.octane);
31-
expect(OCTANE_RULE_NAMES.map((file) => file.replace('ember/', ''))).toStrictEqual(
32-
octaneRuleNames
33-
);
33+
it('should list all octane rules in the octane rules file', function () {
34+
const octaneRuleNamesFromMeta = RULE_NAMES.filter((key) => rules[key].meta.docs.octane);
35+
expect(OCTANE_RULE_NAMES).toStrictEqual(octaneRuleNamesFromMeta);
3436
});
3537

3638
it('should have tests for all rules', function () {

0 commit comments

Comments
 (0)