eslint-plugin-decorator-position
An ESlint plugin that provides set of rules enforcing consistent decorator positions
❗️Requirements
🚀 Usage
1. Install plugin
yarn add --dev eslint-plugin-decorator-position
Or
npm install --save-dev eslint-plugin-decorator-position
2. Modify your .eslintrc.js
module.exports = {
parser: 'babel-eslint',
plugins: ['decorator-position'],
extends: [
'plugin:decorator-position/ember'
],
rules: {
'decorator-position': [
'error',
{
onSameLine: ['@tracked'],
onDifferentLines: ['@computed']
}
]
}
};
🧰 Configurations
| Name | Description |
---|
| base | contains no rules settings, but the basic eslint configuration suitable for any project. You can use it to configure rules as you wish. |
:hampster: | ember | extends the base configuration by enabling the recommended rules for ember projects. |
🍟 Rules
Rules are grouped by category to help you understand their purpose. Each rule has emojis denoting:
- What configuration it belongs to
- :wrench: if some problems reported by the rule are automatically fixable by the
--fix
command line option
Style
| Rule ID | Description |
---|
:white_check_mark::wrench: | decorator-position | Enforces consistent decorator position on properties and methods |
For the simplified list of rules, go here.
🍻 Contribution Guide
If you have any suggestions, ideas, or problems, feel free to create an issue, but first please make sure your question does not repeat previous ones.
Creating a New Rule
- Create an issue with a description of the proposed rule
- Create files for the new rule:
lib/rules/new-rule.js
(implementation, see no-proxies for an example)docs/rules/new-rule.md
(documentation, start from the template -- raw, rendered)tests/lib/rules/new-rule.js
(tests, see no-proxies for an example)
- Run
yarn update
to automatically update the README and other files (and re-run this if you change the rule name or description) - Make sure your changes will pass CI by running:
yarn test
yarn lint
(yarn lint:js --fix
can fix many errors)
- Create a PR and link the created issue in the description
Note that new rules should not immediately be added to the recommended configuration, as we only consider such breaking changes during major version updates.
🔓 License
See the LICENSE file for license rights and limitations (MIT).