ESLint plugin that enforces consistent positioning of decorators (e.g., same line vs. new line before the target). Current stable version is 6.1.0 (released 2026-04-16) with minor updates adding ESLint 10 support and bundled TypeScript typings. Maintained by NullVoxPopuli, with frequent releases (~monthly) and support for ESLint 7, 8, 9, and 10. Key differentiator: provides both flat configs and legacy configs tailored for Ember projects, integrates with Prettier, and is the only dedicated decorator-position linter. Requires @babel/eslint-parser as a parser.
Verified import paths — ran on the pinned version, not inferred.
ESM-only since v6.0.0; if using CommonJS, use dynamic import or use legacy config paths (e.g., 'eslint-plugin-decorator-position/config-legacy/ember').
Named export; not available as a default property. Use for custom rule configuration.
Config paths for flat configs are under /config/. Do not append .js extension; Node ESM resolves correctly.
Legacy configs use the 'plugin:' prefix with the config name (e.g., /ember). Direct path import is for flat configs only.
Flat config setup with recommended preset, Babel parser, and custom printWidth.
Breaking-change detection hasn't run for this library yet.
CVE tracking and dependency tree are planned for a later release.