ember/no-restricted-service-injections

January 29, 2026 ยท View on GitHub

In some parts of your application, you may prefer to disallow certain services from being injected. This can be useful for:

  • Deprecating services one folder at a time
  • Creating isolation between different parts of your application

Rule Details

This rule disallows injecting specified services under specified paths.

Examples

With this example configuration:

[
  "error",
  {
    "paths": ["folder1", "folder2", "folder3"],
    "services": ["deprecated-service"],
    "message": "Please stop using this service as it is in the process of being deprecated"
  },
  {
    "paths": ["isolated-folder"],
    "services": ["service-disallowed-for-use-in-isolated-folder"]
  },
  {
    "services": ["service-disallowed-anywhere"]
  }
]

This would be disallowed:

// folder1/my-component.js

class MyComponent extends Component {
  @service deprecatedService;
}

Configuration

Accepts an array of the objects with the following options:

NameDescriptionTypeRequired
messageOptional custom error message to display for violations.String
pathsOptional list of regexp file paths that injecting the specified services should be disallowed under (omit this field to match any path) (for glob patterns, use ESLint overrides instead).String[]
servicesList of (kebab-case) service names that should be disallowed from being injected under the specified paths.String[]Yes