This ESLint plugin exports custom linting rules and a recommended
configuration based on DockYard's styleguide. It is tailored for Ember apps specifically, and may be used in conjunction with ember-cli-eslint, or with the ESLint CLI.
Install the plugin as a dev dependency in your Ember CLI project.
npm install --save-dev eslint-plugin-ember-suave
This will make the plugin available to ESLint.
Next, install the ember-cli-eslint addon so that your app can be linted during development and testing. This will also uninstall ember-cli-jshint since there is no need to have both linters running at the same time.
ember install ember-cli-eslint
If you are upgrading from ember-suave you will have to make sure that you remove the addon from your project. Otherwise you will have two linters running.
npm uninstall --save-dev ember-suave
The ember-cli-eslint
addon blueprint generates a .eslintrc.js
configuration file at the root of the project. By default, it is set to extend ESLint's recommended subset of core linting rules.
Add the plugin and its
recommended
configuration to the list of extensions:
// .eslintrc.js
module.exports = {
// ...
plugins: [
'ember',
'ember-suave'
],
extends: [
'eslint:recommended',
'plugin:ember-suave/recommended'
],
rules: {
}
// ...
};
Both core rules (provided by ESLint) and custom rules (prefixed by ember-suave/
) from the plugin's recommended
configuration can be turned off or modified, if desired.
// .eslintrc.js
module.exports = {
// ...
plugins: [
'ember',
'ember-suave'
],
extends: [
'eslint:recommended',
'plugin:ember-suave/recommended'
],
rules: {
'quotes': ['error', 'double'],
'ember-suave/no-const-outside-module-scope': 'off'
}
};
If you use ESLint in an editor or from the command line, you'll need to install eslint-plugin-ember-suave
globally too.
npm install -g eslint-plugin-ember-suave
A list of custom rules and documentation can be found here.
The provided Yeoman generator should be used for creating rules. In doing so, each rule will have a rule, documentation and test file created automatically. All rules should be tested!
Tests can be run using npm test
. Additionally, AST Explorer is a great way to look into the structure of a node to determine what to expect.
This library follows Semantic Versioning
DockYard, Inc. © 2016