@verkstedt/eslint-config-verkstedt
v10.0.2
Published
ESLint config
Downloads
601
Readme
eslint-config-verkstedt
ESLint and Prettier config
Integration
First, install the package along with it’s peer dependencies:
npx install-peerdeps --dev @verkstedt/eslint-config-verkstedt@latest
npx install-peerdeps --yarn --dev @verkstedt/eslint-config-verkstedt@latest
Then:
If your project uses TypeScript:
npm install --save-dev "typescript@^5.4.3" "@typescript-eslint/eslint-plugin@^7.3.1" "@typescript-eslint/parser@^7.3.1"
yarn add --dev "typescript@^5.4.3" "@typescript-eslint/eslint-plugin@^7.3.1" "@typescript-eslint/parser@^7.3.1"
If your project does not use TypeScript, but uses Babel:
npm install --save-dev "@babel/core@^7.24.3" "@babel/eslint-parser@^7.24.1"
yarn add --dev "@babel/core@^7.24.3" "@babel/eslint-parser@^7.24.1"
In your EsLint config use one of those for
extends
:| ↓ use this \ if your project uses → | Babel | TypeScript | React | Next.js | | ------------------------------------------- | :----: | :--------: | :---: | :-----: | |
@verkstedt/verkstedt/typescript-react
[^1] | ☑ /✖️ | ☑ | ☑ | ✖️ | |@verkstedt/verkstedt/typescript-next
| ☑ /✖️ | ☑ | ☑ | ☑ | |@verkstedt/verkstedt/typescript
| ☑ /✖️ | ☑ | ✖️ | ✖️ | |@verkstedt/verkstedt/next
| ☑ /✖️ | ✖️ | ☑ | ☑ | |@verkstedt/verkstedt/react
| ☑ | ✖️ | ☑ | ✖️ | |@verkstedt/verkstedt/babel
| ☑ | ✖️ | ✖️ | ✖️ | |@verkstedt/verkstedt/vanilla
| ✖️ | ✖️ | ✖️ | ✖️ |[^1]:
@verkstedt/verkstedt/typescript-react
is also aliased as@verkstedt/verkstedt
.E.g. make your
.eslintrc.cjs
the following:module.exports = { extends: ['@verkstedt/verkstedt/typescript-next'], }
Add the following
.prettierrc.json
:"@verkstedt/eslint-config-verkstedt/prettier-config"
You probably also want
.prettierignore
with something like:/.next/ /node_modules/
If you have any generated files (e.g. lingui locales), also add them in there.
Add the following to
stylelint.config.cjs
:module.exports = require('@verkstedt/eslint-config-verkstedt/stylelint-config.cjs')
Upgrading
Use the same commands as in previous section.
After upgrading, review if all of your projects EsLint rule overwrites are still needed.
VIM integration
We recommend to use CoC with coc-eslint
extension.
VS Code Integration
To get this working with VS Code, you will first need to install the Prettier - Code formatter extension.
Next, add the following values to global settings, or to to your per project folder settings (./.vscode/settings.json
):
// probably best to use these only in workspace or
// folder config, and not in global settings:
"prettier.useEditorConfig": false,
"eslint.format.enable": true,
// Per language settings:
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[javascriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
},
"[typescriptreact]": {
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true
}
Note on dependencies of this project
dependencies
— the usualpeerDependencies
— stuff that needs to be installed as a direct dependency of a project using this config. These are packages that provide binaries (eslint
,prettier
,stylelint
) as well as some weird packages that don’t work as regular dependency cougheslint-plugin-prettier
cough).devDependencies
— stuff required to runnpm run lint
in this repository. It’speerDependencies
andoptionalDependencies
merged together
Release
This package is published to npmjs.com and also to github package registry when you push new version tag:
npm version patch # or minor, or major -- depending on changes
git push --follow-tags