Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update @typescript-eslint/eslint-plugin, @typescript-eslint/parser, eslint, eslint-plugin-prettier to the latest version #63

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

redpeacock78
Copy link
Owner

Version 5.0.0 of @typescript-eslint/eslint-plugin was just published.

The version(5.0.0) is not covered by your current version range(^4.16.1).

Release Notes

v5.0.0

5.0.0 (2021-10-11)

Breaking Release Notes

All Packages

  • Support for ESLint v8 (see individual packages for relevant breaking changes).
  • Drop support for Node v10 - required node version is now ^12.22.0 || ^14.17.0 || >=16.0.0.

    • Node v10 was EOL'd in April 2021, and ESLint v8 dropped support for it too.
  • Drop Support for ESLint v5

    • ESLint v5 is now 3 years old - why are you still using it? Upgrade to at least ESLint v6.

ESLint-Plugin

  • Changes to the recommended rule set - see #3746
  • [ban-types] remove object from the default ban list

    • This has been a point of contention for a while - I originally added it because TS currently makes it impossible to narrow the type nicely. However there ultimately isn't a good alternative to this type for many usecases. As such we're removing the default ban. If you want to continue banning it, you can configure the rule to do so.
  • [comma-dangle] align schema with ESLint v8

    • Should be pretty transparent unless you were using an invalid config.
  • [explicit-member-accessibility] now checks abstract members
  • [member-ordering] add support for getters and setters

    • This will likely cause your codebase's sort orders to change if you're using the default config.
  • [no-unused-vars-experimental] rule has been deleted

    • You should instead use @typescript-eslint/no-unused-vars instead! It has had full and awesome support for TypeScript since v4.9.0 - and it doesn't require type information!

Experimental-Utils:

  • Remove SourceCode#getComments API from ESLint types.

    • This API was deprecated in ESLint v4, and its usage will error in ESLint v8.
  • Support ESLint v8:

    • CLIEngine is now conditionally undefined. It was deprecated in v7 and removed in v8. If you're still using it, you should upgrade to the ESLint API.
    • Remove meta.docs.category. ESLint has removed this from their core rules as it wasn't ever very useful and was always poorly done. We have followed suit and removed it from our types and our rules.

TypeScript-ESTree / AST-Spec

  • Change .source of ExportNamedDeclaration, ExportAllDeclaration and ImportDeclaration to StringLiteral and add parse-time errors.

    • This ensures we're aligned with ESTree and producing the correct AST.
  • Remove TSParenthesizedType node.

    • This node was added when this project was first created because the TS-AST includes this node. However it ultimately conveys no actual AST meaning (just like parentheses in non-type code). Babel removed this node earlier this year.
    • We expect rules will continue to "just work". In a lot of cases rules will work better as they no longer need manual checks to "look past" the useless node.
  • Remove legacy option useJSXTextNode.

    • This option was added for compatibility between different ASTs a very long time ago - but all ASTs have converged on using JSXText - so you should be using that too.
  • Align class features AST with ESTree. This aligns with ESLint v8.

    • ClassProperty is now called PropertyDefinition
    • TSAbstractClassProperty is now called TSAbstractPropertyDefinition
  • TSAbstractPropertyDefinition.value is now always null.

    • It never made sense that this was allowed, and TS4.4 has now made this invalid.
  • Add full support for PrivateIdentifier (#private class members)

    • Previously we did not officially support them and emitted an "unstable" AST.
    • This will allow the community to build lint rules specifically targeting #private members.
  • Rename LineAndColumnData to Position (aligns naming with the ESTree spec docs)

Scope-Manager

  • Class properties with values now create a 'class-field-initializer' type scope around their value.

    • This aligns with eslint-scope v6.

Raw Changelog

Bug Fixes

  • eslint-plugin: [explicit-member-accessibility] report TSAbstractPropertyDefinition and TSAbstractMethodDefinition properly (#3901) (82016f9)
  • eslint-plugin: update new rules from master (#3840) (d88a6b4)
  • update new rules from master (b34fb7e)
  • eslint-plugin: crash in no-dupe-class-members (v5) (#3813) (4b09644)
  • experimental-utils: fix isSetter's return type (#3975) (d256856)
  • typescript-estree: change source of ExportNamedDeclaration to Literal from Expression (#3763) (dc5a0f5)

Features


Version 5.0.0 of @typescript-eslint/parser was just published.

The version(5.0.0) is not covered by your current version range(^4.16.1).

Release Notes

v5.0.0

5.0.0 (2021-10-11)

Breaking Release Notes

All Packages

  • Support for ESLint v8 (see individual packages for relevant breaking changes).
  • Drop support for Node v10 - required node version is now ^12.22.0 || ^14.17.0 || >=16.0.0.

    • Node v10 was EOL'd in April 2021, and ESLint v8 dropped support for it too.
  • Drop Support for ESLint v5

    • ESLint v5 is now 3 years old - why are you still using it? Upgrade to at least ESLint v6.

ESLint-Plugin

  • Changes to the recommended rule set - see #3746
  • [ban-types] remove object from the default ban list

    • This has been a point of contention for a while - I originally added it because TS currently makes it impossible to narrow the type nicely. However there ultimately isn't a good alternative to this type for many usecases. As such we're removing the default ban. If you want to continue banning it, you can configure the rule to do so.
  • [comma-dangle] align schema with ESLint v8

    • Should be pretty transparent unless you were using an invalid config.
  • [explicit-member-accessibility] now checks abstract members
  • [member-ordering] add support for getters and setters

    • This will likely cause your codebase's sort orders to change if you're using the default config.
  • [no-unused-vars-experimental] rule has been deleted

    • You should instead use @typescript-eslint/no-unused-vars instead! It has had full and awesome support for TypeScript since v4.9.0 - and it doesn't require type information!

Experimental-Utils:

  • Remove SourceCode#getComments API from ESLint types.

    • This API was deprecated in ESLint v4, and its usage will error in ESLint v8.
  • Support ESLint v8:

    • CLIEngine is now conditionally undefined. It was deprecated in v7 and removed in v8. If you're still using it, you should upgrade to the ESLint API.
    • Remove meta.docs.category. ESLint has removed this from their core rules as it wasn't ever very useful and was always poorly done. We have followed suit and removed it from our types and our rules.

TypeScript-ESTree / AST-Spec

  • Change .source of ExportNamedDeclaration, ExportAllDeclaration and ImportDeclaration to StringLiteral and add parse-time errors.

    • This ensures we're aligned with ESTree and producing the correct AST.
  • Remove TSParenthesizedType node.

    • This node was added when this project was first created because the TS-AST includes this node. However it ultimately conveys no actual AST meaning (just like parentheses in non-type code). Babel removed this node earlier this year.
    • We expect rules will continue to "just work". In a lot of cases rules will work better as they no longer need manual checks to "look past" the useless node.
  • Remove legacy option useJSXTextNode.

    • This option was added for compatibility between different ASTs a very long time ago - but all ASTs have converged on using JSXText - so you should be using that too.
  • Align class features AST with ESTree. This aligns with ESLint v8.

    • ClassProperty is now called PropertyDefinition
    • TSAbstractClassProperty is now called TSAbstractPropertyDefinition
  • TSAbstractPropertyDefinition.value is now always null.

    • It never made sense that this was allowed, and TS4.4 has now made this invalid.
  • Add full support for PrivateIdentifier (#private class members)

    • Previously we did not officially support them and emitted an "unstable" AST.
    • This will allow the community to build lint rules specifically targeting #private members.
  • Rename LineAndColumnData to Position (aligns naming with the ESTree spec docs)

Scope-Manager

  • Class properties with values now create a 'class-field-initializer' type scope around their value.

    • This aligns with eslint-scope v6.

Raw Changelog

Bug Fixes

  • eslint-plugin: [explicit-member-accessibility] report TSAbstractPropertyDefinition and TSAbstractMethodDefinition properly (#3901) (82016f9)
  • eslint-plugin: update new rules from master (#3840) (d88a6b4)
  • update new rules from master (b34fb7e)
  • eslint-plugin: crash in no-dupe-class-members (v5) (#3813) (4b09644)
  • experimental-utils: fix isSetter's return type (#3975) (d256856)
  • typescript-estree: change source of ExportNamedDeclaration to Literal from Expression (#3763) (dc5a0f5)

Features


Version 8.0.0 of eslint was just published.

The version(8.0.0) is not covered by your current version range(^7.21.0).

Release Notes

null

  • 7d3f7f0 Upgrade: unfrozen @eslint/eslintrc (fixes #15036) (#15146) (Brandon Mills)
  • 2174a6f Fix: require-atomic-updates property assignment message (fixes #15076) (#15109) (Milos Djermanovic)
  • f885fe0 Docs: add note and example for extending the range of fix (refs #13706) (#13748) (Milos Djermanovic)
  • 3da1509 Docs: Add jsdoc type annotation to sample rule (#15085) (Bryan Mishkin)
  • 68a49a9 Docs: Update Rollup Integrations (#15142) (xiaohai)
  • d867f81 Docs: Remove a dot from curly link (#15128) (Mauro Murru)
  • 9f8b919 Sponsors: Sync README with website (ESLint Jenkins)
  • 4b08f29 Sponsors: Sync README with website (ESLint Jenkins)
  • ebc1ba1 Sponsors: Sync README with website (ESLint Jenkins)
  • 2d654f1 Docs: add example .eslintrc.json (#15087) (Nicolas Mattia)
  • 16034f0 Docs: fix fixable example (#15107) (QiChang Li)
  • 07175b8 8.0.0-rc.0 (ESLint Jenkins)
  • 71faa38 Build: changelog update for 8.0.0-rc.0 (ESLint Jenkins)
  • 67c0074 Update: Suggest missing rule in flat config (fixes #14027) (#15074) (Nicholas C. Zakas)
  • cf34e5c Update: space-before-blocks ignore after switch colons (fixes #15082) (#15093) (Milos Djermanovic)
  • c9efb5f Fix: preserve formatting when rules are removed from disable directives (#15081) (Milos Djermanovic)
  • 14a4739 Update: no-new-func rule catching eval case of MemberExpression (#14860) (Mojtaba Samimi)
  • 7f2346b Docs: Update release blog post template (#15094) (Nicholas C. Zakas)
  • fabdf8a Chore: Remove target.all from Makefile.js (#15088) (Hirotaka Tagawa / wafuwafu13)
  • e3cd141 Sponsors: Sync README with website (ESLint Jenkins)
  • 05d7140 Chore: document target global in Makefile.js (#15084) (Hirotaka Tagawa / wafuwafu13)
  • 0a1a850 Update: include ruleId in error logs (fixes #15037) (#15053) (Ari Perkkiö)
  • 47be800 Chore: test Property > .key with { a = 1 } pattern (fixes #14799) (#15072) (Milos Djermanovic)
  • a744dfa Docs: Update CLA info (#15058) (Brian Warner)
  • 9fb0f70 Chore: fix bug report template (#15061) (Milos Djermanovic)
  • f87e199 Chore: Cleanup issue templates (#15039) (Nicholas C. Zakas)
  • 660f075 8.0.0-beta.2 (ESLint Jenkins)
  • d148ffd Build: changelog update for 8.0.0-beta.2 (ESLint Jenkins)
  • 9e5c2e8 Upgrade: @eslint/eslintrc@1.0.1 (#15047) (Milos Djermanovic)
  • 7cf96cf Breaking: Disallow reserved words in ES3 (fixes #15017) (#15046) (Milos Djermanovic)
  • 88a3952 Update: support class fields in the complexity rule (refs #14857) (#14957) (Milos Djermanovic)
  • 9bd3d87 Fix: semicolon-less style in lines-between-class-members (refs #14857) (#15045) (Milos Djermanovic)
  • 6d1ccb6 Update: enforceForClassFields in class-methods-use-this (refs #14857) (#15018) (YeonJuan)
  • 91e82f5 Docs: LintMessage.line and column are possibly undefined (#15032) (Brandon Mills)
  • 921ba1e Chore: fix failing cli test (#15041) (Milos Djermanovic)
  • dd56631 Docs: remove duplicate code path analysis document (#15033) (Milos Djermanovic)
  • 143a598 Chore: Switch issues to use forms (#15024) (Nicholas C. Zakas)
  • f966fe6 Fix: Update semi for class-fields (refs #14857) (#14945) (Nicholas C. Zakas)
  • 8c61f5a Docs: add info about non-capturing groups to prefer-named-capture-group (#15009) (Andrzej Wódkiewicz)
  • dd10937 Update: added ignoreExpressions option to max-classes-per-file (#15000) (Josh Goldberg)
  • e9764f3 Fix: no-undef-init should not apply to class fields (refs #14857) (#14994) (Milos Djermanovic)
  • 4338b74 Docs: add no-dupe-class-members examples with class fields (refs #14857) (#15005) (Milos Djermanovic)
  • b4232d4 Chore: Add test that deprecated rules display a deprecated notice (#14989) (TagawaHirotaka)
  • 88b4e3d Docs: Make clear how rule options are overridden (fixes #14962) (#14976) (Jake Ob)
  • 4165c7f Docs: Clarify Linter vs ESLint in node.js api docs (fixes #14953) (#14995) (Brian Bartels)
  • 80cfb8f Docs: fix typo in migration guide (#14985) (Nitin Kumar)
  • 1ddc955 8.0.0-beta.1 (ESLint Jenkins)
  • 95cc61e Build: changelog update for 8.0.0-beta.1 (ESLint Jenkins)
  • 05ca24c Update: Code path analysis for class fields (fixes #14343) (#14886) (Nicholas C. Zakas)
  • db15183 Chore: Refactor comments of tests (#14956) (TagawaHirotaka)
  • 396a0e3 Docs: update ScopeManager with class fields (#14974) (Milos Djermanovic)
  • 6663e7a Docs: remove docs script (fixes #14288) (#14971) (Nitin Kumar)
  • 44c6fc8 Update: support class fields in func-name-matching (refs #14857) (#14964) (Milos Djermanovic)
  • 44f7de5 Docs: Update deprecated information (#14961) (TagawaHirotaka)
  • 305e14a Breaking: remove meta.docs.category in core rules (fixes #13398) (#14594) (薛定谔的猫)
  • a79c9f3 Chore: Enforce jsdoc check-line-alignment never (#14955) (Brett Zamir)
  • a8bcef7 Docs: Add 2021 and 2022 to supported ECMAScript versions (#14952) (coderaiser)
  • 3409785 Fix: camelcase ignoreGlobals shouldn't apply to undef vars (refs #14857) (#14966) (Milos Djermanovic)
  • b301069 Docs: fix 'When Not To Use' in prefer-named-capture-group (refs #14959) (#14969) (Milos Djermanovic)
  • 2d18db6 Chore: add test for merging parserOptions in Linter (#14948) (Milos Djermanovic)
  • 3d7d5fb Update: reporting loc for never option in eol-last (refs #12334) (#14840) (Nitin Kumar)
  • f110926 Update: fix no-unused-vars false negative with comma operator (#14928) (Sachin)
  • e98f14d Docs: Fix typo in no-implicit-globals.md (#14954) (jwbth)
  • 9a4ae3b Chore: Apply comment require-description and check ClassDeclaration (#14949) (Brett Zamir)
  • 8344675 Chore: fix small typo (#14951) (Sosuke Suzuki)
  • 26b0cd9 Update: fix no-unreachable logic for class fields (refs #14857) (#14920) (Milos Djermanovic)
  • ee1b54f Fix: keyword-spacing private name compat (refs #14857) (#14946) (Nicholas C. Zakas)
  • 58840ac Chore: Update jsdoc plugin and tweak rules in effect (#14814) (Brett Zamir)
  • 81c60f4 Docs: document ESLint api (#14934) (Sam Chen)
  • c74fe08 Build: Force prerelease peer dep for Node 16 in CI (#14933) (Brandon Mills)
  • c9947d2 8.0.0-beta.0 (ESLint Jenkins)
  • 027165c Build: changelog update for 8.0.0-beta.0 (ESLint Jenkins)
  • be334f9 Chore: Fix Makefile call to linter.getRules() (#14932) (Brandon Mills)
  • 0c86b68 Chore: Replace old syntax for Array flat/flatMap (#14614) (Stephen Wade)
  • 6a89f3f Chore: ignore yarn-error.log and .pnpm-debug.log (#14925) (Nitin Kumar)
  • 28fe19c Docs: Add v8.0.0 migration guide (fixes #14856) (#14884) (Nicholas C. Zakas)
  • ec9db63 Upgrade: @eslint/eslintrc@1.0.0 (#14865) (Milos Djermanovic)
  • 1f5d088 Docs: add an example Object.assign() for rule no-import-assign (#14916) (薛定谔的猫)
  • af96584 Fix: handle computed class fields in operator-linebreak (refs #14857) (#14915) (Milos Djermanovic)
  • 3b6cd89 Chore: Add rel/abs path tests in no-restricted-{imports/modules} rules (#14910) (Bryan Mishkin)
  • 62c6fe7 Upgrade: Debug 4.0.1 > 4.3.2 (#14892) (sandesh bafna)
  • f984515 Chore: add assertions on reporting location in semi (#14899) (Nitin Kumar)
  • a773b99 Fix: no-useless-computed-key edge cases with class fields (refs #14857) (#14903) (Milos Djermanovic)
  • 88db3f5 Upgrade: js-yaml to v4 (#14890) (Bryan Mishkin)
  • cbc43da Fix: prefer-destructuring PrivateIdentifier false positive (refs #14857) (#14897) (Milos Djermanovic)
  • ccb9a91 Fix: dot-notation false positive with private identifier (refs #14857) (#14898) (Milos Djermanovic)
  • 8c35066 Sponsors: Sync README with website (ESLint Jenkins)
  • a3dd825 Sponsors: Sync README with website (ESLint Jenkins)
  • c4e5802 Docs: improve rule details for no-console (fixes #14793) (#14901) (Nitin Kumar)
  • 9052eee Update: check class fields in no-extra-parens (refs #14857) (#14906) (Milos Djermanovic)
  • 5c3a470 Docs: add class fields in no-multi-assign documentation (refs #14857) (#14907) (Milos Djermanovic)
  • d234d89 Docs: add class fields in func-names documentation (refs #14857) (#14908) (Milos Djermanovic)
  • ae6072b Upgrade: eslint-visitor-keys to v3 (#14902) (Bryan Mishkin)
  • e53d8cf Upgrade: markdownlint dev dependencies (#14883) (Bryan Mishkin)
  • d66e941 Upgrade: @humanwhocodes/config-array to 0.6 (#14891) (Bryan Mishkin)
  • 149230c Chore: Specify Node 14.x for Verify Files CI job (#14896) (Milos Djermanovic)
  • 537cf6a Chore: update glob-parent (fixes #14879)(#14887) (Nitin Kumar)
  • f7b4a3f Chore: update dev deps to latest (#14624) (薛定谔的猫)
  • 24c9f2a Breaking: Strict package exports (refs #13654) (#14706) (Nicholas C. Zakas)
  • 86d31a4 Breaking: disallow SourceCode#getComments() in RuleTester (refs #14744) (#14769) (Milos Djermanovic)
  • 1d2213d Breaking: Fixable disable directives (fixes #11815) (#14617) (Josh Goldberg)
  • 4a7aab7 Breaking: require meta for fixable rules (fixes #13349) (#14634) (Milos Djermanovic)
  • d6a761f Breaking: Require meta.hasSuggestions for rules with suggestions (#14573) (Bryan Mishkin)
  • 6bd747b Breaking: support new regex d flag (fixes #14640) (#14653) (Yosuke Ota)
  • 8b4f3ab Breaking: fix comma-dangle schema (fixes #13739) (#14030) (Joakim Nilsson)
  • b953a4e Breaking: upgrade espree and support new class features (refs #14343) (#14591) (Toru Nagashima)
  • 8cce06c Breaking: add some rules to eslint:recommended (refs #14673) (#14691) (薛定谔的猫)
  • 86bb63b Breaking: Drop codeframe and table formatters (#14316) (Federico Brigante)
  • f3cb320 Breaking: drop node v10/v13/v15 (fixes #14023) (#14592) (薛定谔的猫)
  • b8b2d55 Build: add codeql (#14729) (薛定谔的猫)
  • e037d61 Docs: Mention workaround for escaping the slash character in selectors (#14675) (Aria)
  • 81f03b6 Docs: Update license copyright (#14877) (Nicholas C. Zakas)
  • fa1c07c Sponsors: Sync README with website (ESLint Jenkins)
  • e31f492 Sponsors: Sync README with website (ESLint Jenkins)
  • 8307256 Sponsors: Sync README with website (ESLint Jenkins)

Version 4.0.0 of eslint-plugin-prettier was just published.

The version(4.0.0) is not covered by your current version range(^3.3.1).

Release note is not available


Powered by hothouse 🐝

lsdl-wrapper:
- @typescript-eslint/eslint-plugin: 4.16.1 -> 5.0.0
- @typescript-eslint/parser: 4.16.1 -> 5.0.0
- eslint: 7.21.0 -> 8.0.0
- eslint-plugin-prettier: 3.3.1 -> 4.0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support for #private class members Remove TSParenthesizedType
1 participant