@privyid/eslint-config-ts

Eslint shareable config for Typescript

Usage no npm install needed!

<script type="module">
  import privyidEslintConfigTs from 'https://cdn.skypack.dev/@privyid/eslint-config-ts';
</script>

README

@privyid/eslint-config-ts

Eslint shareable config for Typescript

Usage

First, install all dependencies

NPM

npm install --save-dev \
  eslint \
  babel-eslint \
  eslint-config-standard \
  eslint-plugin-import \
  eslint-plugin-node \
  eslint-plugin-promise \
  eslint-plugin-standard \
  eslint-plugin-unicorn \
  eslint-plugin-varspacing \
  eslint-plugin-vue \
  @privyid/eslint-config-js \
  @privyid/eslint-config-ts \
  @typescript-eslint/eslint-plugin \
  @typescript-eslint/parser

Yarn

yarn add --dev \
  eslint \
  babel-eslint \
  eslint-config-standard \
  eslint-plugin-import \
  eslint-plugin-node \
  eslint-plugin-promise \
  eslint-plugin-standard \
  eslint-plugin-unicorn \
  eslint-plugin-varspacing \
  eslint-plugin-vue \
  @privyid/eslint-config-js \
  @privyid/eslint-config-ts \
  @typescript-eslint/eslint-plugin \
  @typescript-eslint/parser

Then, add this to your .eslintrc file (create one if doesn't exist):

{
  "extends": "@privyid/eslint-config-ts"
}

Optional, add this to package.json script's

{
  // ...
  "scripts": {
    // ...
    "lint:js": "eslint --ext .ts,.js,.vue --ignore-path .gitignore .",
    "fix:js": "eslint --fix --ext .ts,.js,.vue --ignore-path .gitignore .",
    // ...
  }
  // ...
}

Lint on commit

If you run linting every commit, you can use pre-commit and lint-staged

# NPM
npm install --save-dev pre-commit lint-staged

# Yarn
yarn add --dev pre-commit lint-staged

and this to your package.json

{
  // ...
  "scripts": {
    // ...
    "precommit": "lint-staged",
    // ...
  },
  // ...
  "precommit": ["precommit"],
  "lint-staged": {
    "*.(js|ts|vue)": [
      "eslint --fix"
    ],
    // ...
  },
  // ...
}

License

This project is licensed under the MIT License - see the LICENSE file for details