@aarongoldenthal/eslint-config-standard

22.1.0 • Public • Published

@aarongoldenthal/eslint-config-standard

Summary

Custom standard ESLint configuration for all projects. Includes configurations for eslint, @eslint-community/eslint-plugin-eslint-comments (formerly eslint-plugin-eslint-comments), eslint-plugin-jest, eslint-plugin-jsdoc, eslint-plugin-n (formerly eslint-plugin-node), eslint-plugin-playwright, eslint-plugin-promise, eslint-plugin-sonarjs, and eslint-plugin-unicorn. This package defines all required configurations as dependencies so they are installed and do not have to be defined in each project.

Per recommended best practices, the following configurations include overrides so they are only applicable to a subset of files:

  • jest-config: applicable to files matching ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)'], which is the default filter for Jest test files.
  • playwright-config: applicable to files matching ['**/*.pwtest.[jt]s'], which differentiates them from Jest test files.

The configuration as-defined includes a number of formatting rules. The eslint-config-prettier package is included as well, and can be added to the config if prettier is also being used so it takes priority for formatting.

There is also an esm-config included with overrides for projects using ES modules instead of Common JS modules.

Usage

There is a recommended configuration with all plugin configurations enabled except esm-config (but including prettier). To configure .eslintrc.json with this configuration:

{
  "extends": ["@aarongoldenthal/eslint-config-standard/recommended"]
}

To configure .eslintrc.json with individual plugins, use the appropriate subset of the options below:

{
  "extends": [
    "@aarongoldenthal/eslint-config-standard/eslint-comments-config.js",
    "@aarongoldenthal/eslint-config-standard/jest-config",
    "@aarongoldenthal/eslint-config-standard/jsdoc-config",
    "@aarongoldenthal/eslint-config-standard/node-config",
    "@aarongoldenthal/eslint-config-standard/playwright-config",
    "@aarongoldenthal/eslint-config-standard/promise-config",
    "@aarongoldenthal/eslint-config-standard/sonarjs-config",
    "@aarongoldenthal/eslint-config-standard/unicorn-config",
    "@aarongoldenthal/eslint-config-standard",
    "@aarongoldenthal/eslint-config-standard/esm-config",
    "prettier"
  ]
}

Notes:

  • If used, the @aarongoldenthal/eslint-config-standard config should be included after any other @aarongoldenthal/eslint-config-standard/* configurations except esm-config so those settings take precedence.
  • If used, the esm-config should be configured after all functional rules to ensure the overridden settings take precedence.
  • If used, the prettier should be included last to take priority in disabling the applicable rules from all other configurations.

Keywords

Install

npm i @aarongoldenthal/eslint-config-standard

DownloadsWeekly Downloads

1,552

Version

22.1.0

License

MIT

Unpacked Size

44.2 kB

Total Files

14

Last publish

Collaborators

  • aarongoldenthal