eslint-config-gristow
v2.0.20
Published
Eslint settings for Greg Ristow
Downloads
85
Readme
eslint-config-gristow
A somewhat opinonated eslint configuration for js, ts and svelte.
npm install --dev eslint-config-gristow
Local / Per Project Install
yarn add -D eslint-config-gristow
;- Then we need to install everything needed by the config:
npx install-peerdeps --dev eslint-config-gristow
You can see in your package.json there are now a big list of devDependencies.
Create a
.eslintrc
file in the root of your project's directory (it should live where package.json does). Your.eslintrc.js
file should look like this:
module.exports = {
extends: ['gristow'],
// This is critical for allowing the import parser to be aware
// of any paths configured in .tsconfig.json
settings: {
'import/resolver/typescript': {
project: './tsconfig.json',
},
},
};
- If your project uses, svelte, instead extend gristow/svelte:
module.exports = {
extends: ['gristow/svelte'],
// This is critical for allowing the import parser to be aware
// of any paths configured in .tsconfig.json
settings: {
'import/resolver/typescript': {
project: './tsconfig.json',
},
},
};
- You can add two scripts to your package.json to lint and/or fix:
"scripts": {
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
- Now you can manually lint your code by running
npm run lint
and fix all fixable issues withnpm run lint:fix
. You probably want your editor to do this though.
With VS Code
Once you have the above installed, you probably want your editor to lint and fix for you. Here are the instructions for VS Code:
Install the ESLint package
Now we need to setup some VS Code settings via
Code/File
→Preferences
→Settings
. It's easier to enter these settings while editing thesettings.json
file, so click the{}
icon in the top right corner:
{
"[javascript]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
},
"[typescript]": {
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
},
"[svelte]": {
"editor.defaultFormatter": "svelte.svelte-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
}
},
// This line is CRITICAL for enabling eslint checking of svelte files,
// otherwise they are ignored by default (despite the above!)
"eslint.validate": ["javascript", "typescript", "svelte"],
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}