Skip to content

Commit 0e6f5ce

Browse files
Merge pull request #2540 from johanrd/issue/2030-service-import-order-in-rules
[BUGFIX]: Recognize `import { service }` in order-in-* rules and `no-implicit-injections`
2 parents e0320b5 + 6bdee09 commit 0e6f5ce

6 files changed

Lines changed: 23 additions & 5 deletions

File tree

lib/rules/no-implicit-injections.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,9 @@ module.exports = {
191191
ImportDeclaration(node) {
192192
if (node.source.value === '@ember/service') {
193193
serviceInjectImportName =
194-
serviceInjectImportName || getImportIdentifier(node, '@ember/service', 'inject');
194+
serviceInjectImportName ||
195+
getImportIdentifier(node, '@ember/service', 'inject') ||
196+
getImportIdentifier(node, '@ember/service', 'service');
195197
}
196198
},
197199

lib/rules/order-in-components.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,9 @@ module.exports = {
101101
}
102102
if (node.source.value === '@ember/service') {
103103
importedInjectName =
104-
importedInjectName || getImportIdentifier(node, '@ember/service', 'inject');
104+
importedInjectName ||
105+
getImportIdentifier(node, '@ember/service', 'inject') ||
106+
getImportIdentifier(node, '@ember/service', 'service');
105107
}
106108
if (node.source.value === '@ember/object') {
107109
importedObserverName =

lib/rules/order-in-controllers.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,9 @@ module.exports = {
7373
}
7474
if (node.source.value === '@ember/service') {
7575
importedInjectName =
76-
importedInjectName || getImportIdentifier(node, '@ember/service', 'inject');
76+
importedInjectName ||
77+
getImportIdentifier(node, '@ember/service', 'inject') ||
78+
getImportIdentifier(node, '@ember/service', 'service');
7779
}
7880
if (node.source.value === '@ember/object') {
7981
importedObserverName =

lib/rules/order-in-models.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ module.exports = {
6868
}
6969
if (node.source.value === '@ember/service') {
7070
importedInjectName =
71-
importedInjectName || getImportIdentifier(node, '@ember/service', 'inject');
71+
importedInjectName ||
72+
getImportIdentifier(node, '@ember/service', 'inject') ||
73+
getImportIdentifier(node, '@ember/service', 'service');
7274
}
7375
if (node.source.value === '@ember/object') {
7476
importedObserverName =

lib/rules/order-in-routes.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ module.exports = {
9696
}
9797
if (node.source.value === '@ember/service') {
9898
importedInjectName =
99-
importedInjectName || getImportIdentifier(node, '@ember/service', 'inject');
99+
importedInjectName ||
100+
getImportIdentifier(node, '@ember/service', 'inject') ||
101+
getImportIdentifier(node, '@ember/service', 'service');
100102
}
101103
if (node.source.value === '@ember/object') {
102104
importedObserverName =

tests/lib/rules/order-in-routes.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,14 @@ eslintTester.run('order-in-routes', rule, {
5757
_customAction2: function() {},
5858
tSomeTask: task(function* () {})
5959
});`,
60+
`import {service} from '@ember/service';
61+
export default Route.extend({
62+
currentUser: service(),
63+
queryParams: {},
64+
customProp: "test",
65+
model() {},
66+
actions: {},
67+
});`,
6068
`export default Route.extend({
6169
levelOfHappiness: computed("attitude", "health", () => {
6270
}),

0 commit comments

Comments
 (0)