ember-cli / ember-cli/eslint-plugin-ember
Cannot override 'avoid-leaking-state-in-ember-objects' plugin on specific ember-cli-mirage folder
- Dominant language
- JavaScript
- Stars
- 263
- Forks
- 214
- Avg merge
- 30m
- Merged PRs (30d)
- 5
Description
This ember-cli-mirage code documented [here](http://www.ember-cli-mirage.com/docs/v0.3.x/serializers/#include) will raise an eslint `ember/avoid-leaking-state-in-ember-objects` flag:
```javascript
// mirage/serializers/blog-post.js
import ApplicationSerializer from './application';
export default ApplicationSerializer.extend({
include: ['comments']
});
```
I tried adding an additional entry to `overrides` in .eslintrc.js to add `include` as an ignored property of `ember/avoid-leaking-state-in-ember-objects`:
```javascript
module.exports = {
globals: {
server: true,
},
root: true,
parserOptions: {
ecmaVersion: 2017,
sourceType: 'module',
},
plugins: ['ember'],
extends: ['eslint:recommended', 'plugin:ember/recommended'],
env: {
browser: true,
},
rules: {},
overrides: [
// node files
{
files: ['testem.js', 'ember-cli-build.js', 'config/**/*.js'],
parserOptions: {
sourceType: 'script',
ecmaVersion: 2015,
},
env: {
browser: false,
node: true,
},
},
// test files
{
files: ['tests/**/*.js'],
excludedFiles: ['tests/dummy/**/*.js'],
env: {
embertest: true,
},
},
// mirage files
{
files: ['mirage/serializers/**'],
rules: {
'ember/avoid-leaking-state-in-ember-objects': [1, ['include']],
},
},
],
};
```
This doesn't work, the linter flag is still raised.
However if the override is defined on `mirage/**`
```javascript
// mirage files
{
files: ['mirage/**'],
rules: {
'ember/avoid-leaking-state-in-ember-objects': [1, ['include']],
},
},
```
`include` is properly added to the ignored list and the eslint test passes. Is there something wrong in the way in define `files`?
Here is a [demo app of the issue](https://github.com/hakilebara/ember-mirage-eslint-demo)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.