All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
4.0.0 - 2023-03-17
react/typescript
: Removetypescript
extension- Cleanup
package.json
- Remove
nwayo
- Remove
pwastudio
- Remove
spire
4.0.0-rc.3 - 2023-02-22
- Add
react/typescript
entrypoint
react
: Activateimport/exports-last
rulereact
: Activateimport/group-exports
rulereact
: Activateimport/no-deprecated
rulereact
: Activateimport/no-namespace
rulereact
: Deactivatereact/jsx-props-no-spreading
rulereact
: Removeeslint-plugin-ordered-imports
react
: Removets
andtsx
extension support- Maintenance updates
4.0.0-rc.2 - 2023-02-13
- Remove optional meta for peerDependencies
4.0.0-rc.1 - 2023-02-13
- Switch from multi packages to single package with multiple entrypoints
- Rename
test
ruleset tojest
4.0.0-beta.2 - 2022-12-21
node
: Exposeeslint-config-node/module/typescript
node/module
: Deactivateimport/prefer-default-export
node/module/typescript
: Deactivateunicorn/prefer-module
as TypeScript to ESM Node.js is not working correctly
node
: Remove unpublishedimport/consistent-type-specifier-style
rulenode
: Remove unpublishedimport/no-empty-named-blocks
rule
4.0.0-beta.1 - 2022-12-20
- Create
eslint-config-typescript
- With TypeScript rules node
: Expose the default script/CommonJS version ateslint-config-node/script
node
: Expose a module/ESM version ateslint-config-node/module
core
: Update to ESLint 8.30.0 / unicorn 45.0.2jsdoc
: Update to JSDoc 39.6.4pwastudio
: Inherit config fromreact
forunicorn/prevent-abbreviations
react
: Update to JSX A11Y 6.6.1 / React 7.31.11 / Babel dependenciesreact
: Allowts
andtsx
extensionsspire
: Extendeslint-config-typescript
instead of native TypeScript configurationtest
: Update to Jest 27.1.7
core
: Useeslint:recommended
andunicorn/recommended
jsdoc
: Usejsdoc/recommended
node
: Usenode/recommended-script
ornode/recommended-module
test
: Usejest/recommended
andjest/style
browser
: Reactivaterequire-unicode-regexp
as IE11 is deprecatedcore
: Default backarrow-body-style
toas-needed
core
: Activatelogical-assignment-operators
core
: Warnno-console
instead of errorcore
: Activateno-empty-static-block
core
: Activateno-new-native-nonconstructor
core
: Warnno-warning-comments
instead of errorcore
: Warnunicorn/expiring-todo-comments
node/module
: Activateimport/consistent-type-specifier-style
node/module
: Activateimport/no-empty-named-blocks
react
: AllowpropClasses
anduseParams
inunicorn/prevent-abbreviations
test
: Reactivatejest/no-alias-methods
as the methods themselves will be removed in the next major version of Jest
- Deprecate
eslint-config-node-package
- Deprecate
eslint-config-package
3.2.2 - 2022-07-09
browser
: AllowjQuery
inunicorn/prevent-abbreviations
pwastudio
: Add message tono-restricted-globals
forwindow
alternative
3.2.1 - 2022-07-07
pwastudio
: Fix overrides typo
3.2.0 - 2022-07-06
core
: Addno-constant-binary-expression
core
: Addprefer-object-has-own
core
: Addunicorn/no-thenable
core
: Addunicorn/no-unreadable-iife
core
: Addunicorn/no-useless-promise-resolve-reject
core
: Addunicorn/no-useless-switch-case
core
: Addunicorn/prefer-logical-operator-over-ternary
core
: Addunicorn/prefer-modern-math-apis
core
: Addunicorn/prefer-native-coercion-functions
core
: Addunicorn/relative-url-style
jsdoc
: Addjsdoc/sort-tags
node
: Addunicorn/prefer-event-target
node
: Addunicorn/text-encoding-identifier-case
node
: Ignoreunicorn/prefer-json-parse-buffer
nwayo
: Ignoreunicorn/no-unreadable-iife
pwastudio
: Addno-restricted-globals
for SSRpwastudio
: Ignorepadded-blocks
pwastudio
: Ignoreno-prototype-builtins
pwastudio
: Ignoreunicorn/no-keyword-prefix
pwastudio
: Addunicorn/template-indent
with indent 4 for gql definitionspwastudio
: Addreact/jsx-indent
with indent 4pwastudio
: Addreact/jsx-indent-props
with indent 4pwastudio
: Addreact/function-component-definition
for arrow-function definitionspwastudio
: Addreact/function-component-definition
for arrow-function definitionspwastudio
: Addreact/prop-types
to ignorechildren
definitionpwastudio
: Add override to always have named exports for talons and hooks. This is important for extensions.pwastudio
: Addno-restricted-imports
to restrict usage ofmergeClasses
test
: Ignorejest/no-conditional-in-test
test
: Ignorejest/prefer-comparison-matcher
test
: Ignorejest/prefer-equality-matcher
test
: Ignorejest/prefer-snapshot-hint
test
: Ignorejest/prefer-hooks-in-order
test
: Remove deprecatedjest/no-if
pwastudio
: AdduseParams
andref
to allow list ofunicorn/prevent-abbreviations
- Maintenance updates
3.1.0 - 2021-12-17
core
: Addno-unused-private-class-members
core
: Addunicorn/no-await-expression-member
core
: Addunicorn/prefer-code-point
core
: Addunicorn/prefer-export-from
core
: Addunicorn/template-indent
core
: Ignoreunicorn/no-empty-file
test
: Addjest/prefer-to-be
test
: Ignorejest/prefer-expect-resolves
test
: Ignorejest/require-hook
- Update to ESLint 8
react
: Remove warning for the "Ref" abbreviation to be adjusted to "Reference" (Issue #1)react
: Add missing plugin in package README- Maintenance updates
node-package
: Remove patch fornode:*
imports
- Change ECMAScript version back to 2022 (issue with @babel/eslint-parser)
3.0.0 - 2021-09-30
- Official release
3.0.0-beta.5 - 2021-09-28
- Maintenance updates
3.0.0-beta.4 - 2021-09-17
node-package
: Disableimport/dynamic-import-chunkname
- Maintenance updates
- Make
eslint-config-prettier
a dependency and not a peer dependency
3.0.0-beta.3 - 2021-09-16
- Remove
@magento/eslint-config
because it is not maintained and is incompatible with recent version of ESLint - Manager and tester updates
- Maintenance updates
browser
: Addunicorn/no-invalid-remove-event-listener
- Add
unicorn/no-useless-fallback-in-spread
3.0.0-beta.2 - 2021-09-09
node-package
: Addimport
plugin and rules
- Modify
jsdoc/check-types
to disableunifyParentAndChildTypeChecks
- Modify
node/file-extension-in-import
to force extension - Disable
unicorn/import-index
- Disable ESM rules in
test
because Jest runs in CommonJS - Maintenance updates
- Add
import/order
andordered-imports/ordered-imports
to order imports - Ignore
react/static-property-placement
- Update
unicorn/prevent-abbreviations
(Ignoreparams
)
- Move
node/file-extension-in-import
fromnode
tonode-package
- Move
node/no-unpublished-import
fromnode
tonode-package
- Move
node/prefer-module
fromnode
tonode-package
- Move
node/prefer-node-protocol
fromnode
tonode-package
node-package
: Disablenode/no-extraneous-require
node-package
: Disablenode/no-missing-require
- Add
unicorn/no-useless-length-check
- Add
unicorn/no-useless-spread
- Add
unicorn/prefer-object-from-entries
- Ignore
jest/max-nested-describe
- Update to ESLint 7.32.0
- Update to JSDoc (jsdoc) 36.1.0
- Update to JSON (json) 3.1.0
- Update to Import (react) 2.24.2
- Update to React (react) 7.25.1
- Make
params
work inunicorn/prevent-abbreviations
(react) - Correct linting test
3.0.0-beta.1 - 2021-08-17
- Add Prettier config as last overwrite for all config packages
- Create
eslint-config-pwastudio
- With PWA Studio rules - Create
eslint-config-spire
- With Spire rules - Recover
eslint-loader
in this repository
- Remove
core
rules treated by Prettier - Drop support for Node.js 10
- Maintenance updates
- Update ECMAScript version to latest
- Modify
no-implicit-coercion
to adddisallowTemplateShorthand
- Add
unicorn/no-array-method-this-argument
- Add
unicorn/no-static-only-class
- Add
unicorn/prefer-array-flat
- Add
unicorn/prefer-object-has-own
- Add
unicorn/prefer-prototype-methods
- Add
unicorn/prefer-switch
- Add
unicorn/require-array-join-separator
- Add
unicorn/require-number-to-fixed-digits-argument
browser
: Addunicorn/no-document-cookie
browser
: Addunicorn/require-post-message-target-origin
node
: Addunicorn/prefer-module
node
: Addunicorn/prefer-node-protocol
- Ignore
unicorn/prefer-at
- Ignore
unicorn/prefer-top-level-await
- Add
jsdoc/no-multi-asterisks
- Add
jsdoc/require-asterisk-prefix
- Ignore
jsdoc/match-name
- Ignore
jsdoc/multiline-blocks
- Ignore
jsdoc/no-missing-syntax
- Ignore
jsdoc/no-restricted-syntax
- Ignore
jsdoc/tag-lines
- Replace
babel-eslint
parser by@babel/eslint-parser
- Update JSON (json) to 3.0.0
- Update Import (react) to 2.23.4
- Update React (react) to 7.24.0
- Update Jest (test) to 24.3.6
2.2.0 - 2021-02-15
- Modify
no-unused-vars
to addignoreRestSiblings
- Update to ESLint 7.20.0
- Update to Unicorn 28.0.1
- Update to JSDoc (jsdoc) to 32.0.0
2.1.0 - 2021-01-28
- Support Node.js 10+
test
: Disablenode/no-unpublished-import
test
: Disablenode/no-unpublished-require
- Add
unicorn/no-array-push-push
- Add
unicorn/no-this-assignment
- Ignore
unicorn/no-array-for-each
- Modify
unicorn/numeric-separators-style
to addonlyIfContainsSeparator
- Add
jsdoc/require-yields
- Add
jsdoc/require-yields-check
- Add missing config files for
node-package
2.0.0 - 2021-01-22
- Create
eslint-config-node-package
- With Node.js package rules
- Moved
no-restricted-properties
fromeslint-config-node
toeslint-config-core
- Maintenance updates
- Update ECMAScript version to 2021
- Add
no-loss-of-precision
- Add
no-promise-executor-return
- Add
no-unreachable-loop
- Add
no-unsafe-optional-chaining
- Add
no-nonoctal-decimal-escape
- Modify
no-extra-parens
to addenforceForFunctionPrototypeMethods
- Modify
array-callback-return
to addallowImplicit
- Renamed
id-blacklist
toid-denylist
- Remove
no-buffer-constructor
- Add
unicorn/empty-brace-spaces
- Add
unicorn/no-lonely-if
- Add
unicorn/no-new-array
- Add
unicorn/no-object-as-default-parameter
- Add
unicorn/no-useless-undefined
- Add
unicorn/numeric-separators-style
- Add
unicorn/prefer-array-find
- Add
unicorn/prefer-array-index-of
- Add
unicorn/prefer-array-some
- Add
unicorn/prefer-date-now
- Add
unicorn/prefer-default-parameters
- Add
unicorn/prefer-math-trunc
- Add
unicorn/prefer-number-properties
- Add
unicorn/prefer-optional-catch-binding
- Add
unicorn/prefer-regexp-test
- Ignore
unicorn/consistent-destructuring
- Ignore
unicorn/import-style
- Ignore
unicorn/no-array-reduce
- Ignore
unicorn/no-null
- Ignore
unicorn/prefer-set-has
- Ignore
unicorn/prefer-ternary
- Ignore
unicorn/string-content
- Renamed
unicorn/regex-shorthand
tounicorn/better-regex
- Renamed
unicorn/no-fn-reference-in-iterator
tounicorn/no-array-callback-reference
- Renamed
unicorn/no-array-instanceof
tounicorn/no-instanceof-array
- Renamed
unicorn/no-reduce
tounicorn/no-array-reduce
- Renamed
unicorn/prefer-dataset
tounicorn/prefer-dom-node-dataset
- Renamed
unicorn/prefer-flat-map
tounicorn/prefer-array-flat-map
- Renamed
unicorn/prefer-replace-all
tounicorn/prefer-string-replace-all
- Renamed
unicorn/prefer-starts-ends-with
tounicorn/prefer-string-starts-ends-with
- Renamed
unicorn/prefer-text-content
tounicorn/prefer-dom-node-text-content
- Renamed
unicorn/prefer-trim-start-end
tounicorn/prefer-string-trim-start-end
- Renamed
unicorn/prefer-event-key
tounicorn/prefer-keyboard-event-key
- Renamed
unicorn/prefer-node-append
tounicorn/prefer-dom-node-append
- Renamed
unicorn/prefer-node-remove
tounicorn/prefer-dom-node-remove
- Add
node/no-exports-assign
- Add
node/no-unpublished-bin
- Add
node/no-unpublished-import
- Add
node/no-unpublished-require
- Add
node/no-unsupported-features/node-builtins
- Add
node/process-exit-as-throw
- Add
node/shebang
- Add
node/no-deprecated-api
- Add
node/exports-style
- Add
node/file-extension-in-import
- Add
node/prefer-global/buffer
- Add
node/prefer-global/console
- Add
node/prefer-global/process
- Add
node/prefer-global/text-decoder
- Add
node/prefer-global/text-encoder
- Add
node/prefer-global/url-search-params
- Add
node/prefer-global/url
- Add
node/prefer-promises/dns
- Add
node/prefer-promises/fs
- Ignore
node/no-callback-literal
- Ignore
node/no-restricted-import
- Ignore
node/no-unsupported-features/es-builtins
- Ignore
node/no-unsupported-features/es-syntax
- Renamed
callback-return
tonode/callback-return
- Renamed
global-require
tonode/global-require
- Renamed
handle-callback-err
tonode/handle-callback-err
- Renamed
no-mixed-requires
tonode/no-mixed-requires
- Renamed
no-new-require
tonode/no-new-require
- Renamed
no-path-concat
tonode/no-path-concat
- Renamed
no-process-env
tonode/no-process-env
- Renamed
no-process-exit
tonode/no-process-exit
- Renamed
no-restricted-modules
tonode/no-restricted-require
- Renamed
no-sync
tonode/no-sync
node-package
: Addnode/no-extraneous-import
node-package
: Addnode/no-extraneous-require
node-package
: Addnode/no-missing-import
node-package
: Addnode/no-missing-require
- Add
jsdoc/no-bad-blocks
- Add
jsdoc/require-throws
- Ignore
jsdoc/check-line-alignment
- Ignore
jsdoc/no-defaults
- Update JSON (json) to 2.1.2
- Update Airbnb (react) to 18.2.1
- Update Import (react) to 2.22.1
- Update jsx-a11y (react) to 6.4.1
- Update React (react) to 7.22.0
- Update Jest (test) to 24.1.3
- Remove distribution from git repository
1.5.1 - 2020-02-20
- Disable
unicorn/no-keyword-prefix
- Maintenance updates
1.5.0 - 2020-02-11
- Update Import (react) to 2.20.1
- Update React (react) to 7.18.3
- Update Jest (test) to 23.7.0
- Update manager and tester
- Convert tests to Given-When-Then
- Maintenance updates
- Add
no-dupe-else-if
- Add
no-setter-return
- Add
grouped-accessor-pairs
withgetBeforeSet
- Add
prefer-exponentiation-operator
- Replaced
unicorn/prefer-exponentiation-operator
withprefer-exponentiation-operator
- Add
unicorn/prefer-modern-dom-apis
- Add
unicorn/prefer-negative-index
- Add
unicorn/prefer-replace-all
- Add
unicorn/prefer-trim-start-end
- Add
jsdoc/check-access
- Add
jsdoc/check-property-names
- Add
jsdoc/check-values
- Add
jsdoc/empty-tags
- Add
jsdoc/require-property
- Add
jsdoc/require-property-description
- Add
jsdoc/require-property-name
- Add
jsdoc/require-property-type
1.4.4 - 2019-11-01
- Create
eslint-config-json
- With JSON rules
- Update JSDoc (jsdoc) to 17.0.0
1.4.3 - 2019-10-31
- In
eslint-config-nwayo
addwhatInput
as a global variable
- Switch
function-paren-newline
tomultiline
for more flexibility - In
eslint-config-nwayo
disableunicorn/consistent-function-scoping
because it conflicts with nwayo's architecture - Update Jest (test) to 23.0.2
- Maintenance updates
- Enforce
enforceForOrderingRelations
onno-unsafe-negation
- Enforce
enforceForIndexOf
onuse-isnan
- Enable 'jsdoc' mode
- In
eslint-config-react
disableunicorn/prevent-abbreviations
on filenames like in version 1.4.1
1.4.2 - 2019-10-21
- GitHub community files
- Update JSDoc (jsdoc) to 15.12.0
- Update Jest (test) to 22.19.0
- Maintenance updates
1.4.1 - 2019-10-11
- Update to Unicorn 12.0.2
- Convert all warnings in
eslint-config-core
in errors and moved them in sub configs - Maintenance updates
- Disable
unicorn/no-nested-ternary
because it conflicts withno-extra-parens
- Disable
unicorn/prevent-abbreviations
on filenames
1.4.0 - 2019-10-09
- Add
no-import-assign
- Add
prefer-regex-literals
- Enforce these rules on classes
use-isnan
accessor-pairs
computed-property-spacing
- Add
unicorn/consistent-function-scoping
- Add
unicorn/no-nested-ternary
- Add
unicorn/prefer-string-slice
- Upgrade
unicorn/no-abusive-eslint-disable
from warning to error
- Add
unicorn/prefer-dataset
- Add
unicorn/expiring-todo-comments
- JSDoc (jsdoc) to 15.10.0
- React (react) to 7.16.0
- Jest (test) to 22.17.0
1.4.0-beta.3 - 2019-08-29
- Update ECMAScript version to 2020
- Add
function-call-argument-newline
- Airbnb (react) to 18.0.1
- Jest (test) to 22.16.0
- Now validates with ESM
- Remove
no-restricted-imports
1.4.0-beta.2 - 2019-08-09
- Create eslint-config-test - With Jest rules
1.4.0-beta.1 - 2019-08-05
- Create
eslint-config-jsdoc
- Create
eslint-config-package
- Delete
eslint-config-library
eslint-config-react
now depends oneslint-config-airbnb
eslint-config-browser
doesn't include jQuery environment anymoreeslint-config-nwayo
includes jQuery environment directly
- Ajust some rules to keep linting the same
- Add
unicorn/no-keyword-prefix
- Add
unicorn/prefer-event-key
- Add
unicorn/prefer-flat-map
- Change
object-shorthand
fromconsistent
toalways
- Remove
unicorn/filename-case
because it's an irritant
1.3.0 - 2019-03-28
- Create
eslint-config-browser
- Add an abstraction to nwayo config
- Add
no-useless-catch
- Add
prefer-named-capture-group
- Change
indent
option 'VariableDeclarator' to 'first' - Change ecmaVersion to '2019'
- Add
unicorn/no-console-spaces
- Add
unicorn/no-for-loop
- Add
unicorn/no-unreadable-array-destructuring
- Add
unicorn/no-unused-properties
- Add
unicorn/no-zero-fractions
- Add
unicorn/prefer-includes
- Add
unicorn/prefer-node-append
- Add
unicorn/prefer-node-remove
- Add
unicorn/prefer-query-selector
- Add
unicorn/prefer-text-content
- Add
unicorn/prevent-abbreviations
- Change
accessor-pairs
to allow getters without setters - Change
key-spacing
option to enforce space after colon on single-line to be consistent - Remove
no-tabs
because it's an irritant to commented code - Remove
unicorn/no-unsafe-regex
because it's an irritant
1.2.2 - 2018-11-23
- Switch to multi-packages repo
- Update to ESLint 5.9.0
- Remove
require-unicode-regexp
in browser environment (IE11 incompatible)
1.2.0 - 2018-10-24
- Update to ESLint 5.7.0
- Update to Unicorn 6.0.1
1.1.1 - 2018-07-24
- Cleanup + Better tester
1.1.0 - 2018-07-23
- Update to ESLint 5.2.0
- Add 🦄 Unicorn
1.0.0 - 2018-06-14
- Add tests
0.3.0 - 2018-03-07
- Upgrade to ESLint 4.18.2
0.2.0 - 2017-08-29
- Upgrade to ESLint 4.5.0
0.1.1 - 2017-06-14
- Too restrictive
0.1.0 - 2017-06-13
- Upgrade to ESLint 4.0.0
0.0.2 - 2017-03-27
- Correction on globals
0.0.1 - 2017-03-27
- Initial