@rubensworks/eslint-config

Personal eslint config

Usage no npm install needed!

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

README

ESLint Config

Build Status npm version

This is a repository for my personal ESLint configurations.

Install

$ yarn add -D @rubensworks/eslint-config \
    @typescript-eslint/eslint-plugin \
    @typescript-eslint/parser \
    eslint \
    eslint-config-es \
    eslint-import-resolver-typescript \
    eslint-plugin-tsdoc \
    eslint-plugin-import \
    eslint-plugin-jest \
    eslint-plugin-unused-imports

or

$ npm install -D @rubensworks/eslint-config \
    @typescript-eslint/eslint-plugin \
    @typescript-eslint/parser \
    eslint \
    eslint-config-es \
    eslint-import-resolver-typescript \
    eslint-plugin-tsdoc \
    eslint-plugin-import \
    eslint-plugin-jest \
    eslint-plugin-unused-imports

ESLint config

.eslintrc.js:

module.exports = {
    root: true,
    parser: '@typescript-eslint/parser',
    parserOptions: {
        tsconfigRootDir: __dirname, // this is the reason this is a .js file
        project: ['./tsconfig.eslint.json'],
    },
    extends: [
        '@rubensworks'
    ],
    rules: {
        'no-implicit-coercion': 'off'
    }
};

.eslintignore:

node_modules
coverage

**/*.js
**/*.d.ts
**/*.js.map

tsconfig.eslint.json: (Needed to force the TS compiler to also consider test files)

{
  "extends": "./tsconfig.json",
  "include": [
    "index.ts",
    "lib/**/*.ts",
    "test/**/*.ts",
    "bin/**/*.ts"
  ],
  "exclude": [
    "**/node_modules"
  ]
}

Recommended package additions

.gitignore:

.eslintcache

package.json:

{
  "scripts": {
    "lint": "eslint . --ext .ts --cache"
  }
}

License

This software is written by Ruben Taelman.

This code is released under the MIT license.