deepcrawl-eslint-config

5.2.0 • Public • Published

eslint-config

ESLint rules used by DeepCrawl.

Installation

Add deepcrawl-eslint-config and its peer dependencies to your package.json:

yarn add --dev \
  deepcrawl-eslint-config \
  @typescript-eslint/eslint-plugin@^3.0.2 \
  eslint@^7.0.0 \
  eslint-plugin-array-func@^3.1.6 \
  eslint-plugin-clean-code@^0.1.12 \
  eslint-plugin-filenames@^1.3.2 \
  eslint-plugin-import@^2.20.2 \
  eslint-plugin-jest@^23.13.1 \
  eslint-plugin-json-format@^2.0.1 \
  eslint-plugin-no-loops@^0.3.0 \
  eslint-plugin-promise@^4.2.1 \
  eslint-plugin-sonarjs@^0.5.0

Usage

Update your .eslintrc configuration:

{
  "extends": ["deepcrawl-eslint-config"]
}

If you are using tsconfig paths, you also need to let eslint-plugin-import know, which imports should it consider internal, for example:

{
  "settings": {
    "import/internal-regex": "^@(src|test)/"
  }
}

Recommendations

TypeScript

Have these options enabled in your tsconfig.json file:

{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictPropertyInitialization": true
  }
}

or enable @typescript-eslint/typedef rule.

Prettier

Apart from ESLint, it is recommended to use the following Prettier configuration:

{
  "arrowParens": "avoid",
  "bracketSpacing": true,
  "endOfLine": "lf",
  "printWidth": 120,
  "quoteProps": "as-needed",
  "semi": true,
  "singleQuote": false,
  "tabWidth": 2,
  "trailingComma": "all",
  "useTabs": false
}

with lint-staged pre-commit hook done via husky.

Readme

Keywords

none

Package Sidebar

Install

npm i deepcrawl-eslint-config

Weekly Downloads

1

Version

5.2.0

License

MIT

Unpacked Size

11.6 kB

Total Files

3

Last publish

Collaborators

  • deepcrawl-tech