From d06fe3fba3416c5f63d44ad1332ad2d9024015c4 Mon Sep 17 00:00:00 2001 From: Ryan Tablada Date: Thu, 29 Dec 2022 10:09:00 -0600 Subject: [PATCH] fix: pr review feedback on documentation and config --- docs/rules/no-implicit-injections.md | 9 +++------ lib/rules/no-implicit-injections.js | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/docs/rules/no-implicit-injections.md b/docs/rules/no-implicit-injections.md index 1bdd81ccf1..f968892d79 100644 --- a/docs/rules/no-implicit-injections.md +++ b/docs/rules/no-implicit-injections.md @@ -93,23 +93,20 @@ Example config: ```js module.exports = { rules: { - 'ember/no-implicit-injections': [2, { + 'ember/no-implicit-injections': ['error', { services: [ // Ember Responsive Used to Auto Inject the media service in Components/Controllers { serviceName: 'media', moduleNames: ['Component', 'Controller'] }, // Ember CLI Flash Used to Auto Inject the flashMessages service in all modules { serviceName: 'flashMessages' }, + // Check for uses of the store in Routes or Controllers + { serviceName: 'store', moduleNames: ['Route', 'Controller'] }, ] }] } } ``` -## Related Rules - -- [no-unnecessary-service-injection-argument](no-unnecessary-service-injection-argument.md) omit service injection argument if possible -- [no-implicit-service-injection-argument](no-unnecessary-service-injection-argument.md) require the service injection argument for all services (fix output for this rule follows this pattern) - ## References - [Deprecation](https://deprecations.emberjs.com/v3.x/#toc_implicit-injections) diff --git a/lib/rules/no-implicit-injections.js b/lib/rules/no-implicit-injections.js index 82b368c9e8..e45a94cf6c 100644 --- a/lib/rules/no-implicit-injections.js +++ b/lib/rules/no-implicit-injections.js @@ -38,6 +38,7 @@ module.exports = { type: 'object', properties: { services: { + minItems: 1, type: 'array', items: { type: 'object', @@ -49,10 +50,22 @@ module.exports = { moduleNames: { type: 'array', items: { - type: 'string', + enum: [ + 'Component', + 'GlimmerComponent', + 'Controller', + 'Mixin', + 'Route', + 'Service', + 'ArrayProxy', + 'ObjectProxy', + 'EmberObject', + 'Helper', + ], }, }, }, + additionalProperties: false, }, }, },