10.0.0 • Published 29 days ago

@verkstedt/eslint-config-verkstedt v10.0.0

Weekly downloads
212
License
-
Repository
github
Last release
29 days ago

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 →BabelTypeScriptReactNext.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')

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 usual

  • peerDependencies — 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 cough eslint-plugin-prettier cough).

  • devDependencies — stuff required to run npm run lint in this repository. It’s peerDependencies and optionalDependencies merged together

10.0.0

29 days ago

10.0.0-rc1

2 months ago

9.3.1

3 months ago

9.3.0

7 months ago

9.1.4

12 months ago

9.2.0

11 months ago

9.1.3

1 year ago

9.1.2

1 year ago

9.1.1

1 year ago

9.1.0

1 year ago

9.0.2

2 years ago

9.0.1

2 years ago

9.0.0

2 years ago

8.1.1

3 years ago

8.1.0

4 years ago

8.0.1

5 years ago

8.0.0

5 years ago

7.0.1

5 years ago

7.0.0

5 years ago

6.1.1

5 years ago

6.2.0

5 years ago

6.1.0

5 years ago

6.0.0

5 years ago

5.1.1

6 years ago

5.1.0

6 years ago

5.2.0

6 years ago

5.0.2

6 years ago

5.0.1

7 years ago

5.0.0

7 years ago

4.0.0

7 years ago