Neolithic Prancing Minotaurs

    @lasalefamine/eslint-config-base

    1.2.1 • Public • Published

    CI npm

    @lasalefamine/eslint-config-base

    Base config for ESlint - no React

    Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires eslint, eslint-plugin-import, eslint-plugin-simple-import-sort, @typescript-eslint/eslint-plugin, @typescript-eslint/parser and typescript

    Install

    First install the dependencies:

    yarn add --dev eslint eslint-plugin-import eslint-plugin-simple-import-sort @typescript-eslint/eslint-plugin @typescript-eslint/parser typescript
    

    Then add our config:

    yarn add --dev @lasalefamine/eslint-config-base
    

    Usage

    @lasalefamine/eslint-config-base

    Add to your .eslintrc

    {
      "extends": "@lasalefamine/eslint-config-base",
      "parserOptions": {
        "project": "tsconfig.json"
      }
    }

    tsconfig.eslint.json

    Create a new tsconfig.eslint.json files for overrides the include and exclude of your main tsconfig.json, so that ESLint will be able to lint everything without complaining:

    {
      "extends": "./tsconfig.json",
      "exclude": [
        "node_modules"
      ],
      "include": [
        "**/*.js",
        "**/*.ts",
        "**/*.tsx"
      ]
    }

    And in your .eslintrc:

    {
      "extends": "@lasalefamine/eslint-config-base",
      "parserOptions": {
        "project": "tsconfig.eslint.json"
      }
    }

    The parserOptions.project issue

    You may wonder why you need to add an extra tsconfig.eslint.json file: this is kinda a problem with some rules that come from @typescript-eslint that need type information during the linting process, this is why you need to add a projectOptions.project to your .eslintrc. At this point ESLint will lint only files specified within the include array of the tsconfig you choose, this actually why you need to create a new tsconfig.eslint.json, extends your main tsconfig for having type information available to ESLint and then just re-include everythin you need to lint.

    More info:

    Develop

    You can run tests with yarn test.

    You can make sure this module lints with itself using yarn lint.

    Install

    npm i @lasalefamine/eslint-config-base

    DownloadsWeekly Downloads

    72

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    77 kB

    Total Files

    15

    Last publish

    Collaborators

    • lasalefamine