@mtth/eslint-plugin

Common linting configuration

Usage no npm install needed!

<script type="module">
  import mtthEslintPlugin from 'https://cdn.skypack.dev/@mtth/eslint-plugin';
</script>

README

ESLint plugin

Shared linting configuration.

Quickstart

First, install ESLint and this plugin:

$ npm i -D eslint @mtth/eslint-plugin

Then reference this plugin in .eslintrc.js:

module.exports = {
  plugins: ['@mtth'],
  extends: ['plugin:@mtth/typescript'], // One of the configurations below.
  // Project-specific configuration...
};

Configurations

  • typescript, defaults for a TypeScript project. The corresponding parser is included in the plugin.

Next steps

This plugin is best used in combination with this prettier configuration and the following convenience scripts:

{
  "fix": "npm run pretty && npm run lint -- --fix",
  "lint": "eslint '{src,test}/**/*.{ts,tsx}'",
  "pretty": "prettier --write '{src,test}/**/*.{ts,tsx}'"
}

We also recommend enabling pre-commit hooks with husky and lint-staged. For example, within your package.json:

{
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "lint-staged": {
    "*.ts": [
      "prettier --write",
      "eslint --fix"
    ]
  }
}