Registry / testing / eslint-plugin-ember

eslint-plugin-ember

JSON →
library13.1.0jsnpmunverified

ESLint plugin providing a comprehensive set of lint rules for Ember.js applications, currently at v13.1.0 (as of April 2026). Released under the Ember CLI organization with frequent minor/patch releases (multiple per year). Supports both flat config (ESLint >=8.40) and legacy .eslintrc. Requires Node >=20.19. Key differentiator: the de facto standard linter for Ember, includes rules for both JavaScript/TypeScript and Handlebars templates (gjs/gts) via ember-eslint-parser, with built-in presets for recommended, gjs, and gts configurations. Actively maintained with community contributions.

npm install eslint-plugin-ember
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-EMBE
E
eslint-plugin-ember
testingjavascriptv13.1.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

plugin (default)
import eslintPluginEmber from 'eslint-plugin-ember'
const eslintPluginEmber = require('eslint-plugin-ember')
ESM-only since v13? Actually this package ships both CJS and ESM; require() still works. But for flat config, ESM import is recommended.
configs/recommended
import recommended from 'eslint-plugin-ember/configs/recommended'
require('eslint-plugin-ember/configs/recommended')
Use ESM import for flat config. CJS require is still possible but deprecated in v13+.
rules
import { rules } from 'eslint-plugin-ember'
import * as emberPlugin from 'eslint-plugin-ember'; const rules = emberPlugin.rules
Named export 'rules' is available as an object of all rule definitions.
configs/recommended-gts
import gtsConfig from 'eslint-plugin-ember/configs/recommended-gts'
require('eslint-plugin-ember/configs/recommended-gts')
For .gts files; must be used with ember-eslint-parser.

Minimal flat config setup with recommended rules and gjs/gts override example.

// 1. Install // npm install --save-dev eslint-plugin-ember // 2. eslint.config.js (flat config) import eslintPluginEmberRecommended from 'eslint-plugin-ember/configs/recommended'; export default [ ...eslintPluginEmberRecommended, { rules: { 'ember/no-replace-test-comments': 'error', }, }, ]; // 3. For gjs/gts files, also install: // npm install --save-dev ember-eslint-parser @typescript-eslint/parser // Then add overrides: // { // files: ['**/*.gjs'], // parser: 'ember-eslint-parser', // ...eslintPluginEmberRecommended, // ...require('eslint-plugin-ember/configs/recommended-gjs'), // }
Debug
Known issues
breakingv13 drops support for ESLint < 8.40 and replaces deprecated ESLint context methods, breaking compatibility with older ESLint versions.
fix
Upgrade ESLint to >= 8.40 and ensure Node >= 20.19.
affects: >=13.0.0
breakingv13.0.0 upgrades ember-eslint-parser to 0.8.0, which may require parser configuration changes for gjs/gts files.
fix
Review ember-eslint-parser changelog; update parser options if using custom parser settings.
affects: >=13.0.0
deprecatedThe legacy .eslintrc config format (extends, plugins) is deprecated in favor of flat config (eslint.config.js).
fix
Migrate to eslint.config.js flat config as shown in the README.
affects: >=13.0.0
gotchaParsers cannot be overwritten in overrides; gjs/gts must use 'ember-eslint-parser' in separate override blocks.
fix
Use separate override blocks for .gjs/.gts files and set parser: 'ember-eslint-parser' only in those blocks.
affects: >=0.0.0
gotchaRule 'no-undef' in gjs/gts templates will flag template variables not in JS scope; need to disable or configure.
fix
Use eslint-disable comments in templates or configure globals.
affects: >=0.0.0
gotchaWhen using TypeScript (ts/gts), both @typescript-eslint/parser and ember-eslint-parser may be needed; .ts files require ember-eslint-parser if they import .gts files.
fix
Set parser: 'ember-eslint-parser' for .ts files as well if they import .gts.
affects: >=0.0.0
Errors
Common errors & fixes
ESLint couldn't find the config 'plugin:ember/recommended'.
The plugin is not installed or not properly loaded in a flat config environment.
fix
Use import recommended from 'eslint-plugin-ember/configs/recommended' and spread it in eslint.config.js.
Parsing error: Cannot find module 'ember-eslint-parser'
The ember-eslint-parser package is not installed, but required for .gjs/.gts files.
fix
npm install --save-dev ember-eslint-parser
Error: ESLint configuration in .eslintrc is deprecated. Use eslint.config.js instead.
Legacy .eslintrc format is no longer supported with ESLint 9+.
fix
Migrate to eslint.config.js flat config.
TypeError: context.getSource() is not a function
ESLint 10 removed deprecated context methods; v13 uses new API, but older plugin version might still call old methods.
fix
Update plugin to v13+ and ESLint to >=8.40.
Upgrade
Version history
13.1.0latest on npm
Audit
Dependencies
@typescript-eslint/parseroptionalRequired peer dependency for parsing TypeScript (and gts) files
eslintrequiredPeer dependency; must be >= 8.40.0 for v13 compatibility
Agent activity
6 hits · last 30 days
node
6
Resources
eslint-plugin-ember — npm install eslint-plugin-ember · libregistry