eslint-config-cond

Shareable ESLint config for Conductor JavaScript/TypeScript projects

Usage no npm install needed!

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

README

eslint-config-conductor

A shareable ESLint config for sharing common linting rules in Conductor repositories.

Install

npm i eslint-config-conductor eslint --save-dev 

Config

Extend configurations in your project's .eslintrc.json. Sample config:

{
    'env': {
        'es6': true,
        'browser': true,
        'jest': true
    },
    'extends': [
        'conductor',
        'conductor/react',
        'conductor/typescript',
        'conductor/jest'
    ],
    'parser': '@typescript-eslint/parser',
    'parserOptions': {
        'ecmaFeatures': {
            'jsx': true
        },
        'ecmaVersion': 11,
        'sourceType': 'module',
        "project": "tsconfig.json"
    }
}

To enforce the full ruleset, specify the "engines" field of package.json (see eslint-plugin-node):

{
    "name": "your-module",
    "version": "1.0.0",
    "engines": {
        "node": ">=10.0.0"
    }
}

If you want to see the total list of configured rules for your project, run this:

 eslint --print-config .eslintrc.js

conductor

This entry point enables the base linting rules used throughout all our code.

conductor/react

This entry point enables React rules.

conductor/typescript

This entry point enables TypeScript rules. You will need to configure a parser in your .eslintrc.

conductor/jest

This entry point enables Jest rules.

conductor/node

This entry point is for backend Node microservices only. It should not be used in frontend repos.

conductor/prettier

This entry point enables prettier rules.

Eslint versions

For Eslint version <= 7.21.0, please use version <=1.1.1