{"id":19734,"library":"eslint-plugin-ember-suave","title":"eslint-plugin-ember-suave","description":"DockYard's ESLint plugin for Ember apps, providing custom linting rules and a recommended configuration based on their styleguide. Version 2.0.1 is the latest stable release; the plugin is in maintenance mode with no recent updates. It is intended for use with Ember CLI projects via ember-cli-eslint or standalone ESLint. Key differentiators: tailored specifically for Ember.js conventions and DockYard's engineering practices. Supports Node >=8.0.0 and is published as an npm package.","status":"maintenance","version":"2.0.1","language":"javascript","source_language":"en","source_url":null,"tags":["javascript","eslint","eslintplugin","eslint-plugin"],"install":[{"cmd":"npm install eslint-plugin-ember-suave","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-plugin-ember-suave","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-plugin-ember-suave","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Used in .eslintrc.js as an ESLint config extension, not a direct import.","wrong":"require('eslint-plugin-ember-suave').configs.recommended","symbol":"plugin:ember-suave/recommended","correct":"extends: ['plugin:ember-suave/recommended']"},{"note":"Rules must be prefixed with 'ember-suave/' to avoid collision with core ESLint rules.","wrong":"rules: { 'no-const-outside-module-scope': 'error' }","symbol":"ember-suave/no-const-outside-module-scope","correct":"rules: { 'ember-suave/no-const-outside-module-scope': 'error' }"},{"note":"Install as a devDependency since it's a build-time tool.","wrong":"npm install --save eslint-plugin-ember-suave","symbol":"eslint-plugin-ember-suave (package)","correct":"npm install --save-dev eslint-plugin-ember-suave"}],"quickstart":{"code":"// .eslintrc.js\nmodule.exports = {\n  plugins: ['ember', 'ember-suave'],\n  extends: ['eslint:recommended', 'plugin:ember-suave/recommended'],\n  rules: {\n    'quotes': ['error', 'single'],\n    'ember-suave/no-const-outside-module-scope': 'off'\n  }\n};","lang":"javascript","description":"Configures ESLint to use the ember-suave plugin with its recommended rules, demonstrating plugin and rules setup."},"warnings":[{"fix":"Review rules and consider migrating to eslint-plugin-ember for better maintenance.","message":"Plugin contains deprecated rules that may not be updated for latest Ember/ESLint versions.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Always prefix custom rules with 'ember-suave/', e.g., 'ember-suave/no-const-outside-module-scope'.","message":"Common mistake: omitting 'ember-suave/' prefix on rule names leads to 'Definition for rule was not found' error.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Update Node.js to version 8 or higher.","message":"Plugin requires Node >=8.0.0; using older Node versions causes install/runtime errors.","severity":"gotcha","affected_versions":">=2.0.0"},{"fix":"Consider using eslint-plugin-ember as a more actively maintained alternative.","message":"Plugin is in maintenance mode; no new updates expected.","severity":"deprecated","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install --save-dev eslint-plugin-ember-suave` in your project.","cause":"Plugin not installed or not in node_modules.","error":"ESLint couldn't find the plugin \"eslint-plugin-ember-suave\""},{"fix":"Ensure 'ember-suave' is listed in plugins array and rule is prefixed with 'ember-suave/'.","cause":"Rule name missing 'ember-suave/' prefix or plugin not added to plugins array.","error":"Definition for rule 'ember-suave/no-const-outside-module-scope' was not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}