Skip to content

Latest commit

 

History

History
executable file
·
950 lines (513 loc) · 46.1 KB

CHANGELOG.md

File metadata and controls

executable file
·
950 lines (513 loc) · 46.1 KB

28.0.0 (2020-05-16)

Features

  • Remove Prettier configuration (e6c0d39)

BREAKING CHANGES

  • Based on discussion #76 we decided to remove our Prettier configuration. In order to avoid useless discussions, people should format their code with thatever style Prettier uses. Configuring Prettier ultimately defeats the purpose of Prettier, see prettier/prettier#40

27.8.0 (2020-05-16)

Features

  • Move jsdoc rules to separate config (c810d1f), closes #87

27.7.0 (2020-05-16)

Features

  • Increase eslint peerDependency to 7.0.0 (45d5003)

27.6.1 (2020-05-13)

Bug Fixes

  • Disable class-methods-use-this in react rules (a0fe36b)

27.6.0 (2020-03-23)

Features

  • typescript: Disable @typescript-eslint/prefer-regexp-exec (f170b8a)

27.5.2 (2020-03-23)

Bug Fixes

  • Fix security issues found by npm audit (6501094)

27.5.1 (2020-03-23)

Bug Fixes

  • base: Disable no-eq-null (df9922f)

27.5.0 (2020-03-09)

Features

  • typescript: Improve @typescript-eslint/naming-convention (#85) (86299ff)

27.4.0 (2020-03-09)

Features

  • Disable "class-methods-use-this" (f8f03c0)

27.3.0 (2020-03-09)

Features

  • Disable "no-warning-comments" (460f385)

27.2.0 (2020-03-05)

Bug Fixes

  • Disable "no-anonymous-default-exports" rule in tests (#82) (01f4cd4)

Features

  • Add prefer array shorthand style option (#81) (fb9f50a)

27.1.3 (2020-02-13)

Bug Fixes

  • base: Relax some promise rules (8b357e1)
  • react: Fix minor issue when using styles/react-jsx-no-literals (049cac6)
  • typescript: Disable @typescript-eslint/restrict-template-expressions (efbb8b3)

27.1.2 (2020-02-13)

Bug Fixes

  • typescript: Disable @typescript-eslint/require-array-sort-compare (e6ac2e1)

27.1.1 (2020-02-13)

Bug Fixes

  • react: Fix problem with escape hatch in styles/react-jsx-no-literals (993568b)

27.1.0 (2020-02-13)

Features

  • typescript: Disable no-extraneous-class (c4f49eb)
  • Allow exceptions for naming conventions in TypeScript projects (89de83b)

27.0.1 (2020-02-12)

Bug Fixes

  • Add new example .editorconfig (5891b4c)

27.0.0 (2020-02-12)

Bug Fixes

  • typescript: Do not set tsconfig.json by default (6b35fd4)

BREAKING CHANGES

  • typescript: We don't set the tsconfig.json now by default. Every project needs to specify it explicitly. This prevents some bugs that would be otherwise hard to understand. We also added a note to the README which should help people to set it up.

26.0.0 (2020-02-12)

Bug Fixes

  • Remove impractical rules (56c62a2)
  • base: Disable require-atomic-updates (38cd859)
  • base: Improve padding-line-between-statements (4b3c394)
  • base: Increase soft limit of complexity rule (a78a702)
  • base: Temporarily disable require-unicode-regexp (b248df7)
  • typescript: Allow _ parameter names (c0b3779)
  • typescript: Only require return await inside try-catch (709751f)
  • typescript: Switch to regular camelCase and PascalCase naming convention (182c295)
  • Disable no-return-await (14db3eb)
  • Fine-tune soft limits of max-lines and max-dependencies (a123f41)

chore

  • Refactor glob-patterns module (1db1f22)
  • Remove support for Node<10 (6c45b41)
  • Update dependencies (b52305e)

Features

  • react: Allow functions created during render (8c80148)
  • Lower severity of opinionated rules (c0bea51)
  • typescript: Add new TypeScript rules (9e77b24)
  • typescript: Disable @typescript-eslint/explicit-module-boundary-types again (a88a683)
  • typescript: Enforce naming convention (1fb0844)
  • typescript: Improve TypeScript support in base ESLint rules (6763671)
  • Add @typescript-eslint/explicit-module-boundary-types (3f106a0)
  • Add bunch of JSDoc rules (680550e)
  • Add styles/no-default-export (d8b0242)
  • Add styles/no-null (a30511b)
  • Disable some jsdoc rules when using TypeScript (82220fa)
  • Improve jsdoc rules (0a6694d)
  • Improve prettier support (1cd6537)
  • base: Add no-dupe-else-if (0ee8136)
  • base: Add prefer-exponentiation-operator (fd41a01)
  • base: Add prefer-regex-literals (01599bd)
  • base: Add require-atomic-updates (69f2c36)
  • base: Add require-unicode-regexp (0b44ba5)
  • base: Disallow assignments of imports (0e6af86)
  • base: Disallow return in constructors (f9edbbc)
  • base: Disallow return in setters (f3f574c)
  • base: Require grouping of setters and getters (94792f2)

BREAKING CHANGES

  • react: The default style now is to allow functions created during render. The style peerigon/styles/react-jsx-allow-bind has been removed and replaced by its opposite peerigon/styles/react-jsx-no-bind for applications that use memo a lot.

The motivation behind this is that it's more convenient for a lot of people to create functions during render. The performance downside is usually not an issue and can be mitigated by better usage of useState().

  • typescript: There are new rules for TypeScript code:
  • typescript: The new rule enforces the consistent use of camelCase, PascalCase and UPPER_CASE for variable, property and member names. Additionally, only PascalCase is allowed for type-like structures.
  • Exported functions now need to specify an explicit return type. This enforces everyone to be explicit about the public interface of the module. This is likely to increase the developer experience because type errors will show up closer to the actual error.
  • Use param instead of arg and argument.
  • The prettier config now uses tabs instead of spaces. This is not actually breaking since Prettier will just format your code in a different way, but it will produce a lot of noise.
  • globPatterns.js has been renamed to glob-patterns.js
  • base: Require u flag in all regexes. The u flag adds unicode support and reports invalid regex patterns.
  • base: ESLint now reports a potential unsafe use of +=,-=,*=,/= in combination with async await
  • base: Regex literals are now preferred over new RegExp() if the regex is not dynamic.
  • base: The exponentiation operator is now preferred over Math.pow()
  • Support for Node versions below 10 has been removed.
  • base: Setters can't return values. This is enforced with a linting rule now. See https://eslint.org/docs/rules/no-setter-return
  • base: Assignments of imports are now disallowed. They throw a runtime error anyway. See https://eslint.org/docs/rules/no-import-assign
  • base: Certain If-else usages that were an error anyway are now a linting error. See ttps://eslint.org/docs/rules/no-dupe-else-if
  • base: Returning values from constructors is not allowed anymore. See https://eslint.org/docs/rules/no-constructor-return
  • base: Setters and getters now need to be grouped together. See https://eslint.org/docs/rules/grouped-accessor-pairs
  • Remove official ESLint 5 support

26.0.0-beta.3 (2020-02-06)

Features

  • Disable some jsdoc rules when using TypeScript (82220fa)

26.0.0-beta.2 (2020-02-06)

Features

BREAKING CHANGES

  • Use param instead of arg and argument.

26.0.0-beta.1 (2020-02-06)

Bug Fixes

  • base: Increase soft limit of complexity rule (a78a702)
  • Fine-tune soft limits of max-lines and max-dependencies (a123f41)
  • typescript: Do not "fix" 'any' to 'unknown' (154a42b)

chore

  • Refactor glob-patterns module (1db1f22)
  • Remove support for Node<10 (6c45b41)
  • Update dependencies (b52305e)

Features

  • Add styles/no-default-export (d8b0242)
  • Add styles/no-null (a30511b)
  • Improve prettier support (1cd6537)
  • base: Add no-dupe-else-if (0ee8136)
  • base: Add prefer-exponentiation-operator (fd41a01)
  • base: Add prefer-regex-literals (01599bd)
  • base: Add require-atomic-updates (69f2c36)
  • base: Add require-unicode-regexp (0b44ba5)
  • base: Disallow assignments of imports (0e6af86)
  • base: Disallow return in constructors (f9edbbc)
  • base: Disallow return in setters (f3f574c)
  • base: Require grouping of setters and getters (94792f2)
  • Add bunch of JSDoc rules (680550e)

BREAKING CHANGES

  • The prettier config now uses tabs instead of spaces. This is not actually breaking since Prettier will just format your code in a different way, but it will produce a lot of noise.
  • globPatterns.js has been renamed to glob-patterns.js
  • base: Require u flag in all regexes. The u flag adds unicode support and reports invalid regex patterns.
  • base: ESLint now reports a potential unsafe use of +=,-=,*=,/= in combination with async await
  • base: Regex literals are now preferred over new RegExp() if the regex is not dynamic.
  • base: The exponentiation operator is now preferred over Math.pow()
  • Support for Node versions below 10 has been removed.
  • base: Setters can't return values. This is enforced with a linting rule now. See https://eslint.org/docs/rules/no-setter-return
  • base: Assignments of imports are now disallowed. They throw a runtime error anyway. See https://eslint.org/docs/rules/no-import-assign
  • base: Certain If-else usages that were an error anyway are now a linting error. See ttps://eslint.org/docs/rules/no-dupe-else-if
  • base: Returning values from constructors is not allowed anymore. See https://eslint.org/docs/rules/no-constructor-return
  • base: Setters and getters now need to be grouped together. See https://eslint.org/docs/rules/grouped-accessor-pairs
  • Remove official ESLint 5 support

25.3.0 (2020-02-01)

Bug Fixes

  • base: Allow finally() as a replacement for catch() (0d2b2df)

Features

  • base: Relax eqeqeq (e8f9cd6)
  • react: Relax react/require-default-props rule (8be6c52)
  • typescript: Relax @typescript-eslint/strict-boolean-expressions rule (524c462)

25.2.0 (2020-01-23)

Features

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.

25.1.1 (2020-01-13)

Bug Fixes

  • Turn off no-empty-function for TypeScript (1c8c5ac)

25.1.0 (2020-01-10)

Bug Fixes

  • Disable import/extensions for tsx files (b13c7f6)

Features

  • Allow ESLint 6 as peer dependency (e474e5e)

25.0.1 (2019-12-25)

Bug Fixes

  • Allow template literals for Jest inline snapshots (2b9c4e5)

25.0.0 (2019-12-23)

Bug Fixes

  • Allow non-null assertions in test files (240beec)
  • Do not require .ts extensions in TypeScript files (e40ffbe)
  • Turn off consistent-type-definitions in d.ts files (1c00846)

Features

  • Don't allow loose equality checks (8e065bf)

BREAKING CHANGES

  • Loose equality checks are not allowed anymore.

24.0.0 (2019-08-23)

Features

  • Update TypeScript rules (31fbf88)

BREAKING CHANGES

  • You need to update @typescript-eslint/eslint-plugin@^2.0.0 if you're using the TypeScript rules. The recommended rules changed a little bit and there have been some breaking rule changes like @typescript-eslint/consistent-type-assertions, @typescript-eslint/no-unnecessary-type-arguments and @typescript-eslint/strict-boolean-expressions

23.2.0 (2019-08-02)

Bug Fixes

  • Disable react/jsx-no-literals in tests (ed93deb)

Features

  • Disable react/jsx-one-expression-per-line (136a945)

23.1.0 (2019-08-01)

Features

  • Disable react/jsx-wrap-multilines (2eb57e2)

23.0.0 (2019-08-01)

Bug Fixes

  • Add additional check for tsconfig.json resolving (dd53d16)

Features

  • Enable @typescript-eslint/explicit-member-accessibility rule (f036659)
  • Relax import/order rule (ae8d12a)

BREAKING CHANGES

  • The @typescript-eslint/explicit-member-accessibility rule will now reports errors when someone uses the public keyword in TypeScript classes where it is not necessary.

22.1.0 (2019-07-31)

Features

  • Add Prettier config (4d5e84e)
  • Disable id-length (a8c791b)
  • Relax @typescript-eslint/no-floating-promises (ce7bf3e)

22.0.0 (2019-07-15)

Bug Fixes

  • Change @typescript-eslint/member-delimiter-style (e8dda25)
  • Turn of react/prop-types for TypeScript files (afe4ef5)

Features

  • Enable test rules by glob pattern (63c023c)
  • Recognize @testing-library/jest-dom/extend-expect as module with side-effects (3ff10a2)
  • Relax some import rules (6efa5a3)
  • Relax typescript rules in tests (c73ee22)

BREAKING CHANGES

  • Change back to @typescript-eslint/member-delimiter-style "semi" because we want to stay consistent with classes. Sorry for the noise :(

21.2.0 (2019-07-09)

Features

21.1.0 (2019-07-09)

Features

  • Introduce peerigon/styles/react-jsx-no-literals (8c0425f)

21.0.0 (2019-07-09)

Features

  • Add eslint-plugin-react-hooks (6c0d0a3)
  • Add styles/react-jsx-allow-bind (a8e4326)
  • Disable promise/prefer-await-to-then and promise/prefer-await-to-callbacks (b715e44)
  • Relax import/max-dependencies and max-lines (f692e4b)
  • Relax max-lines in tests (cd1e294)
  • Relax react/jsx-no-bind (89873c3)
  • Switch off react/no-multi-comp (366636a)

BREAKING CHANGES

  • There are linting rules for React hooks now.

20.0.1 (2019-07-08)

Bug Fixes

20.0.0 (2019-07-08)

Bug Fixes

  • Add note on @typescript-eslint/parser in README (898abe3)
  • Disable import rules that are slow (41edcb2)
  • Improve options for import/no-extraneous-dependencies (5fe07e6)
  • Reuse no-unused-vars option in TypeScript (44464ac)

Features

  • Ignore long comments in max-len rule (4a8d39d)
  • Increase import/max-dependencies to 20 (f5d6c9d)
  • Refactor TypeScript rules (302d840)
  • Update dependencies (32914ef)

BREAKING CHANGES

  • Added and changed a lot of TypeScript rules. This change was necessary because a lot of new rules have been added to @typescript-eslint. Also adds some performance improvements.
  • eslint-plugin-jsdoc received a major version bump
  • The pattern for devDependencies checked by import/no-extraneous-dependencies has changed

19.0.0 (2019-05-29)

Bug Fixes

  • Activate TypeScript rules only for *.tsx? files (338d98f)
  • Remove JS file overrides in typescript rules (68fc6df)

chore

Features

  • Add lines-between-class-members rule (b0ce663)
  • Disable arrow-body-style and arrow-parens rule (c50a7b4)

BREAKING CHANGES

  • eslint-plugin-jsdoc received a major version update.
  • It's now required to add a new line between multiline class members.
  • Remove sourceType = script parser option for JS files in TypeScript projects. This override made the wrong assumption that all JS files should be scripts in a TypeScript project which is certainly not correct.

18.0.0 (2019-05-29)

Bug Fixes

  • Remove JS file overrides in typescript rules (ef27f23)

BREAKING CHANGES

  • Remove sourceType = script parser option for JS files in TypeScript projects. This override made the wrong assumption that all JS files should be scripts in a TypeScript project which is certainly not correct.

17.1.0 (2019-02-22)

Features

  • Add prefer-interface style for TypeScript apps (#58) (529503f)

17.0.0 (2019-02-21)

Features

BREAKING CHANGES

    • "optimize-regex/optimize-regex": "error"

16.0.0 (2019-02-21)

Features

BREAKING CHANGES

  • This commit adds and changes a bunch of TypeScript rules because the original plugin was deprecated.

However, there were also notable changes to the base rules:

15.0.2 (2018-08-31)

Bug Fixes

15.0.1 (2018-08-30)

Bug Fixes

  • Disable no-empty rule in tests config (#48) (a1a1431)

15.0.0 (2018-08-29)

Bug Fixes

Features

BREAKING CHANGES

14.0.0 (2018-08-27)

Bug Fixes

Features

BREAKING CHANGES

    • Switch back to jsx and tsx extension
  • Switch to multiline-multiprop in react/jsx-first-prop-new-line
  • Arrow functions shouldn't have parenthesis around a single argument
  • The new rule can break tests
  • jsdoc/no-undefined-types and jsdoc/valid-types are errors now. This could break tests.
  • Update peer dependency on eslint to ^5.4.0

13.0.0 (2018-04-27)

Features

  • Add eslint-plugin-flowtype-errors (fc15db3)
  • Add eslint-plugin-jsx-a11y to react rules (7d8dbdc)
  • Add useful eslint plugins to base rules (caf6088)
  • Allow nested ternaries (15107ac)
  • Allow possibly undefined variables in typeof checks (1e657c3)
  • Configure new rules (273e139)
  • Enforce multiline ternary for long expressions (92031d2)
  • Make file extensions mandatory in imports (6ea3964)
  • Refactor import rules (53f41d4)
  • Refactor node rules (8a4e2b5)
  • Refactor react rules (9994d2b)
  • Refactor react/jsx-wrap-multilines rules (efe8ebd)
  • Refactor tests rules (820124f)
  • Remove curly and bracket spacings (4ff321c)
  • Remove eslint-plugin-flowtype-error again (13bbca7)
  • Remove fp rules (34543bc)
  • Switch back to babel-eslint again (f3ba862)
  • Switch back to eslint default parser (#18) (5ab10a8)
  • Update peerigon/node to match node >= 6 (c8ff737)

BREAKING CHANGES

  • If you're using Flowtype and the flowtype rules, you just need to call ESLint now to also do the typechecking.
  • You need to add babel-eslint as project dependencies in project where the peerigon/flowtype rules are used. You don't need to change anything if you're using other rules.
  • These plugins introduce new rules that might cause linting errors now.
    • Add autofixable order of imports
  • Discourage anonymous default exports
  • Changes a lot of rules that are concerned with whitespace after curlies and brackets. For consistency reasons, we do not write spaces after these characters.
  • Always add new line before multiline wraps. This change was necessary because of the new react/jsx-closing-tag-location which requires the closing tag to be on the same indentation as the opening tag. In combination with the parentheses rule, it could lead to an unstable state where eslint was trying to fix it by switching back and forth between two states.
  • This change adds a lot of new rules which help us to improve the accessibility of our applications.
  • There are new rules that might cause errors now.
  • The padded-blocks rule has been activated for tests again.
  • The fp rules where part of an experiment. These overly strict rules don't make sense in JavaScript.
  • Remove node 4 support
    • "import/extensions": ["error", "ignorePackages"],
    • "multiline-ternary": ["error", "always-multiline"]
    • import/no-self-import error
  • import/no-useless-path-segments error
  • A lof of rules have changed, expect some new errors.

12.0.1 (2017-10-26)

12.0.0 (2017-10-26)

Chores

  • Update eslint peer dependency (b0c3e28)

Features

BREAKING CHANGES

  • The eslint-config-peerigon now requires at least eslint@^4.9.0
  • There have been new rules added which might break your build. But they should be auto-fixable 🖖

11.3.1 (2017-06-25)

Bug Fixes

  • Switch off react/no-set-state (f4139d4)

11.3.0 (2017-06-23)

Features

  • Relax class-methods-use-this to warn because it should be a hint (9af3645)
  • Relax react rules (a026414)

11.2.0 (2017-06-22)

Features

  • Relax no-extraneous-dependencies rule (50710b5)

11.1.0 (2017-06-22)

Features

  • Relax import/no-extraneous-dependencies rule (4c26ba0)

11.0.1 (2017-06-22)

Bug Fixes

  • Missing plugin declaration in react rules (3a39340)

11.0.0 (2017-06-22)

Chores

  • Remove eslint-plugin-flowtype (e99537a)

BREAKING CHANGES

  • This commit removes eslint-plugin-flowtype from the package.json. In case you're using the flowtype config, you need to add eslint-plugin-flowtype to your package.json now.

10.1.1 (2017-04-03)

Bug Fixes

  • Turn off "prefer-rest" in node rules (b0af121)

10.1.0 (2017-04-03)

Features

  • Remove no-confusing-arrow rule (bb20a58)

10.0.0 (2017-03-31)

Features

BREAKING CHANGES

  • This version introduces also some breaking changes:
  • Switch "no-alert" to "error" (a831ed4fc3b17d4a932745cdda7f31cbc00e955d)
  • Switch "no-bitwise" to "error" (e8f38b6289c6b3ae7d17dc35a445b1837143c4bd)
  • Switch "no-eq-null" to "error" (329ae4bbaf5b4fd732f899bd89cd8f152b7ac1e2)
  • Switch "no-process-exit" to "error" (850275f029ea37c85c7e766f8d976a38ea89dce3)
  • Switch "no-script-url" to "error" (5b10357db3fe6f836858066c44e740956ad3df61)
  • Switch "no-useless-call" to "error" (66ab5190f01d27d81c5d0654c303f77466c37d47)
  • Switch "no-script-url" to "error" (5b10357db3fe6f836858066c44e740956ad3df61)
  • Add dangling commas (356adb84c3d7c9ba937c4248a38e1d1cc6ba46df)
  • Add a bunch of new rules (bf343f51cba2ae93bc38dff541122705776b2259)
  • Make "no-undef" rule stricter (6ae63b3b83925ebdbcb1586f3292ef9cb93d8dc9)

9.0.0

  • Breaking: Enforce template-curly-spacing (see a3409a3613a58e002921db8cb54db0550fbfa56d)

8.0.0

  • Breaking: Add/change react rules based on discussion in #5
  • Breaking: Add rule to prevent curly spaces in template strings (see c600bd8b71094ee972b933762d646faef091376d)

7.0.0

  • Add new react rules

6.0.1

  • Fix parser silently switching back to es2015 when using the es5 rules

6.0.0

  • Update peer dependency eslint to ^3.0.0

5.1.0

  • Increase allowed max complexity

5.0.0

  • Breaking: Make eslint-plugin-jsdoc ^2.3.1 a peer dependency
  • Add config for eslint-plugin-react

4.0.0

  • Breaking: Improve JSDoc validation (some rules are a bit stricter now)

3.1.1

  • Fix parser options for es6 and es5

3.1.0

  • Change severity of "arrow-parens" rule to 0

3.0.0

  • Breaking: Add rule "no-labels" with severity 2
  • Update to eslint@^2.0.0
  • Remove obsolete rules

2.0.0

  • Breaking: Change rule "quote-props" to "as-needed"
  • Add mocha env to tests config

1.0.0

  • Add ES2015 rules
  • Reached stable state :)