A highly opinionated, sharable config of ESLint rules to produce beautiful, readable JavaScript.
MIT License
Bot releases are visible (Hide)
Published by manovotny almost 2 years ago
http://www.w3.org
to enforcing https
rule. (#207)ignoreIIFE
from false
to true
.ignoreGlobals
option.indent
option to match ESLint indent settings.Published by manovotny over 2 years ago
checksVoidReturn
to false
.this
and there's nothing you can do to fix it yourself.Published by manovotny over 2 years ago
Published by manovotny over 2 years ago
--es-module-specifier-resolution=node
in ESM. (#191)Published by manovotny over 2 years ago
Published by manovotny over 2 years ago
this
and there's nothing you can do to fix it yourself.Published by manovotny over 2 years ago
unicorn/prefer-node-protocol
in certain Node versions. (#182)import/extensions
and import/no-useless-path-segments
in ESM. (#185)Published by manovotny over 2 years ago
12.20.0
or higher.8.7.0
or higher. (#175).jsx
now instead of .js
to more explicitly call out which files contain React and which files are pure JavaScript.
npx renamer --find js --replace jsx "components/**" --dry-run
(remove --dry-run
once everything looks good).eslint . --ext .js,.jsx
.package.json
property ordering for consistency across projects.Link
as an ESLint shared setting linkComponents
.
.json5
and .jsonc
as supported extensions.unicorn/no-null
if GraphQL is used. (#154)14.18.0
or higher and when not using Next.js (open issue).ecmaVersion
to latest
17.0.0
or higher.
17.0.0
and above as they are no longer necessary (see Introducing the New JSX Transform for more information).always-multiline
option. Makes git diffs easier to understand.disallowTemplateShorthand
option.unicorn/no-abusive-eslint-disable
.caseSensitive
and caseSensitiveStrict
options.warnOnUnassignedImports
option.resolves
matcher as it was causing conflicts with jest/valid-expect and jest/prefer-expect-resolves rules.always
to never
based on Node.js documentation.always
to never
based on Node.js documentation.extensions
from .js
to .jsx
to more explicitly call out which files contain React and which files are pure JavaScript.
npx renamer --find js --replace jsx "components/**" --dry-run
(remove --dry-run
once everything looks good).eslint . --ext .js,.jsx
forms
option.import/extensions
and mixed CommonJS / ESM usage.eslint-plugin-json
uses a non-standard preprocessor (it's using vscode-json-languageservice) and currently returns an empty string, which makes it difficult for other plugins to work alongside of it (see https://github.com/azeemba/eslint-plugin-json/issues/38 for more information). eslint-plugin-jsonc
uses the standard ESLint parser espree to create compliant, and thus harmonious, AST.exceptAfterSingleLine
option, but ultimately couldn't find a combination we liked, so we're removing it.jest/prefer-to-be-null
jest/prefer-to-be-undefined
jest/valid-describe
Published by manovotny over 2 years ago
import/extensions
and mixed CommonJS / ESM usage.Published by manovotny over 2 years ago
always
to never
based on Node.js documentation.always
to never
based on Node.js documentation.14.18.0
and less. (#181)import/extensions
with mixed CommonJS / ESM usage.unicorn/no-abusive-eslint-disable
.Published by manovotny over 2 years ago
unicorn/no-null
if GraphQL is used. (#154)react/jsx-filename-extension
errors on TypeScript projects that don't also use React.@typescript-eslint/unbound-method
conflicts with Jest.Published by manovotny over 2 years ago
Published by manovotny over 2 years ago
8.7.0
or higher.import/resolver
for React.Published by manovotny almost 3 years ago
always
to always-multiline
.Published by manovotny almost 3 years ago
Published by manovotny almost 3 years ago
resolves
matcher as it was causing conflicts with jest/valid-expect and jest/prefer-expect-resolves rules.Published by manovotny almost 3 years ago
12.20.0
or higher.8.4.1
or higher.Link
as an ESLint shared setting linkComponents
.
.json5
and .jsonc
as supported extensions.14.18.0
or higher.ecmaVersion
to latest
17.0.0
or higher.
17.0.0
and above as they are no longer necessary (see Introducing the New JSX Transform for more information).always
option. Makes git diffs easier to understand.disallowTemplateShorthand
option.caseSensitive
and caseSensitiveStrict
options.warnOnUnassignedImports
option.extensions
from .js
to .jsx
to more explicitly call out which files contain React and which files are pure JavaScript.forms
option.eslint-plugin-json
uses a non-standard preprocessor (it's using vscode-json-languageservice) and currently returns an empty string, which makes it difficult for other plugins to work alongside of it (see https://github.com/azeemba/eslint-plugin-json/issues/38 for more information). eslint-plugin-jsonc
uses the standard ESLint parser espree to create compliant, and thus harmonious, AST.exceptAfterSingleLine
option, but ultimately couldn't find a combination we liked, so we're removing it.jest/prefer-to-be-null
jest/prefer-to-be-undefined
jest/valid-describe
Published by manovotny about 3 years ago
https
suggestion / fixer. (#165) 🙏Published by manovotny about 3 years ago
@babel/preset-react
dependency. (#162)Published by manovotny over 3 years ago
https
check for localhost. (#152)