Skip to content

deepcrawl/eslint-config

Repository files navigation

eslint-config

ESLint rules used by DeepCrawl.

Installation

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

yarn add --dev \
  eslint-config-deepcrawl \
  eslint@^9.15.0

Usage

Update your eslint.config.mjs file:

import eslintConfigDeepcrawl from "eslint-config-deepcrawl";

export default [...eslintConfigDeepcrawl];

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",
  "plugins": ["prettier-plugin-packagejson"],
  "printWidth": 120,
  "quoteProps": "as-needed",
  "semi": true,
  "singleQuote": false,
  "tabWidth": 2,
  "trailingComma": "all",
  "useTabs": false
}

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