Hello all.
We’re trying to clean up the ESLint on our project and ran into a rule we want to change. The rule is being depreciated in the jsx-a11y package according to Is no-onchange still a relevant rule? · Issue #398 · jsx-eslint/eslint-plugin-jsx-a11y · GitHub, but in the meantime, we want to disable it.
My question is: What is the official redwood way of modifying the ESLint config?
What I did was:
Create an .eslintrc.js file with:
module.exports = {
extends: ['@redwoodjs/eslint-config'],
rules: {
'jsx-a11y/no-onchange': 'off',
},
}
And modified package.json to:
"eslintConfig": {
"extends": ".eslintrc.js",
"root": true
},
Is this the recommended procedure? I didn’t see this in the docs anywhere. Did I miss it or should this be in the docs?
Thanks!
1 Like
That’s the recommended procedure. The RedwoodJS linting package follows ESLint’s naming standard (redwood/packages/eslint-config
), and they show similar examples for how shared config linting packages should be used.
I don’t think the modified package.json file is necessary, ESLint will automatically load the .eslintrc.js file. For Framework contributions the .eslintrc.js file is specified in the command:
"lint": "cross-env RWJS_CWD=../../packages/create-redwood-app/template eslint --config ../../.eslintrc.js ../../packages",
I just noticed there’s no default linting command in the create-redwood-app
template. I’ll open an issue to ask about that.
It needs to be added to the docs.
Using the CLI tool (yarn rw lint
) will pick up an .eslintrc.js
file, so there’s no need to have an eslintConfig
block in your package.json
:
// redwood/.eslintrc.js
module.exports = {
extends: ['@redwoodjs/eslint-config'],
rules: {
'jsx-a11y/no-onchange': 'off',
},
'root': true,
}
Thanks, Kevin! I appreciate your responses!
Happy to help, cjReimer
I submitted a PR for the docs fix: #3029