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

chore(deps-dev): bump @typescript-eslint/eslint-plugin and @typescript-eslint/parser #246

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 1, 2020

Bumps @typescript-eslint/parser from 3.10.1 to 4.0.0

Bumps @typescript-eslint/eslint-plugin from 3.9.1 to 4.0.0.

Also lints the codebase with new rules from plugin:@typescript-eslint/recommended

Release notes

Sourced from @typescript-eslint/eslint-plugin's releases.

v4.0.0

4.0.0 (2020-08-31)

This release comes just a few months after the v3 release due to the much faster than expected turnaround on optional chaining by ESTree. Read on for more details!

Summary of Changes

Breaking:

  • feat: support new ESTree optional chaining representation (#2308) (a4bd2a815447867132ce1f6dda574e608834b794)
  • feat: consume new scope analysis package (#2039) (abb0617e7cda636064193c65c73f8f8c08d8cb56)
  • feat(eslint-plugin): [ban-ts-comment] change default for ts-expect-error to allow-with-description (#2351) (ef85b7b92cf7b83e708bc85b58baca295955d5c8)
  • feat(eslint-plugin): [typedef] remove all default options (#2352) (13bd4dd11fc478a18a70e9e71853f099f0833330)
  • fix: correct decorator traversal for AssignmentPattern (#2375) (5ab473c07d43da70ddf8827efc8678c376fb15ab)
  • feat(eslint-plugin): [no-unnecessary-condition][strict-boolean-expressions] add option to make the rules error on files without strictNullChecks turned on (#2345) (ee5b194e6cb813e8aed0f2889b51d12a2b6964e4)
  • feat(typescript-estree): switch to globby (#2418) (789c439a8a80d1c3dc5d6c7ca4c5ae4d1d889a5b)

Non-Breaking:

  • feat(eslint-plugin): add consistent-type-imports rule (#2367) (ba9295b774765c293c94c5e82c26804ded25180d)
  • feat: add downlevel-dts to all packages with type declarations (a25718358e2c198e387a79d7f175baaa951ad547)

Breaking Changes

AST Changes

Support official ESTree optional chaining syntax (#2204)

When TS 3.7 released with optional chaining in November 2019, the feature was still a Stage-3 TC39 spec. This meant that ESTree[1] did not yet have an official AST representation defined, as they only officially support Stage-4 specs.

This meant that we either had to block on TS 3.7 support, unofficially support optional chaining, or find an interim representation to use. As we had no clear timeframe around which both optional chaining would move to Stage-4, and when the ESTree AST for it would be defined, we decided the first two options were sub-optimal, and instead chose to the existing babel-eslint AST representation. This representation has been in the ecosystem for a while and was supported by a variety of plugins.

Recently, ESTree agreed upon and merged an AST for optional chaining, which is vastly different to babel-eslint's representation. ESLint and their parser espree have already implemented and released support for this new AST as of ESLint v7.5.0.

In order to correct course to match the future of the ecosystem, we've update our AST to match the new, official representation.

This means a few things right now:

  1. The ESLint core rules will have complete support for optional chaining, without need for extension rules 🎉
  2. Users might have to wait for plugins outside this project to update their logic to support this new AST.

Going forward, we're trying to be a bit more conservative with our choice of AST representation to help prevent this migration pain, at the cost of not being able to write lint rules for new features.

[1] ESTree is the AST representation used in the ESLint ecosystem (amongst other things). It's collectively governed by a number of projects. https://github.com/estree/estree/

Remove decorators from nodes that TS doesn't support decorators on (#2375)

Previously, our parser would parse decorators and include them in the AST for FunctionDeclarations, EnumDeclarations and InterfaceDeclarations. This was originally done because the TypeScript parser treats these as syntactically valid for various reasons (the TS parser is incredibly permissive in what it allows!).

Changelog

Sourced from @typescript-eslint/eslint-plugin's changelog.

4.0.0 (2020-08-31)

Bug Fixes

  • eslint-plugin: [no-shadow] fix false-positive on enum declaration (#2374) (9de669f)
  • eslint-plugin: [no-unused-vars] handle TSCallSignature (#2336) (c70f54f)
  • correct decorator traversal for AssignmentPattern (#2375) (d738fa4)
  • scope-manager: correct analysis of abstract class properties (#2420) (cd84549)
  • typescript-estree: correct ChainExpression interaction with parentheses and non-nulls (#2380) (762bc99)

Features

  • consume new scope analysis package (#2039) (3be125d)
  • support ESTree optional chaining representation (#2308) (e9d2ab6)
  • eslint-plugin: [ban-ts-comment] change default for ts-expect-error to allow-with-description (#2351) (a3f163a), closes #2146
  • eslint-plugin: [no-unnecessary-condition][strict-boolean-expressions] add option to make the rules error on files without strictNullChecks turned on (#2345) (9273441)
  • eslint-plugin: [typedef] remove all defaults (#2352) (a9cd6fb)
  • eslint-plugin: add consistent-type-imports rule (#2367) (58b1c2d)

BREAKING CHANGES

    • Removed decorators property from several Nodes that could never semantically have them (FunctionDeclaration, TSEnumDeclaration, and TSInterfaceDeclaration)
  • Removed AST_NODE_TYPES.Import. This is a minor breaking change as the node type that used this was removed ages ago.
  • eslint-plugin: Default rule options is a breaking change.

3.10.1 (2020-08-25)

Bug Fixes

  • eslint-plugin: [no-unnecessary-condition] correct regression with unary negations (#2422) (d1f0887), closes #2421

3.10.0 (2020-08-24)

Bug Fixes

  • eslint-plugin: [explicit-module-boundary-types] ignore abstract setters (#2410) (3764248)
  • eslint-plugin: [explicit-module-boundary-types] ignore all bodyless setters (#2413) (a53f8c6)
Commits
  • c51e3f0 chore: publish v4.0.0
  • 4ff8c43 chore: regen yarn.lock and fix lint issues
  • ac0defc chore: update dependencies
  • cd84549 fix(scope-manager): correct analysis of abstract class properties (#2420)
  • 9273441 feat(eslint-plugin): [no-unnecessary-condition][strict-boolean-expressions] a...
  • 58b1c2d feat(eslint-plugin): add consistent-type-imports rule (#2367)
  • 762bc99 fix(typescript-estree): correct ChainExpression interaction with parentheses ...
  • d738fa4 fix: correct decorator traversal for AssignmentPattern (#2375)
  • 9de669f fix(eslint-plugin): [no-shadow] fix false-positive on enum declaration (#2374)
  • a9cd6fb feat(eslint-plugin): [typedef] remove all defaults (#2352)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Sep 1, 2020
@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.0.0 branch from e30eed1 to 5798b87 Compare September 1, 2020 07:56
@mantariksh
Copy link
Contributor

@karrui I've been googling for a while but can't figure out why no-unused-vars is failing for imported types. Can I ask for your help to figure it out and teach me?

@karrui
Copy link
Contributor

karrui commented Sep 2, 2020

Taking a look at this

@karrui
Copy link
Contributor

karrui commented Sep 2, 2020

@dependabot rebase

@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.0.0 branch from 5798b87 to 930aba1 Compare September 2, 2020 06:32
@mantariksh
Copy link
Contributor

@dependabot rebase

@dependabot dependabot bot force-pushed the dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.0.0 branch from 930aba1 to 1722811 Compare September 2, 2020 07:22
@karrui karrui changed the title chore(deps-dev): bump @typescript-eslint/eslint-plugin from 3.9.1 to 4.0.0 chore(deps-dev): bump @typescript-eslint/eslint-plugin and @typescript-eslint/parser Sep 2, 2020
@karrui
Copy link
Contributor

karrui commented Sep 2, 2020

I fixed it @mantariksh, this change is linked to @typescript-eslint/parser. Chanced upon typescript-eslint/typescript-eslint#2444

@karrui karrui requested a review from mantariksh September 2, 2020 16:56
Copy link
Contributor

@mantariksh mantariksh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apologies, I only have questions and no comments!

src/app/modules/bounce/bounce.controller.ts Outdated Show resolved Hide resolved
src/app/modules/bounce/bounce.controller.ts Outdated Show resolved Hide resolved
src/app/modules/user/user.controller.ts Show resolved Hide resolved
src/app/utils/mail.ts Outdated Show resolved Hide resolved
src/shared/resources/myinfo/index.ts Show resolved Hide resolved
src/types/user.ts Outdated Show resolved Hide resolved
@karrui karrui requested a review from mantariksh September 3, 2020 10:23
Copy link
Contributor

@mantariksh mantariksh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gtlm with one comment!

src/app/modules/bounce/bounce.controller.ts Outdated Show resolved Hide resolved
@karrui karrui merged commit 423b8b5 into develop Sep 3, 2020
@karrui karrui deleted the dependabot/npm_and_yarn/typescript-eslint/eslint-plugin-4.0.0 branch September 3, 2020 11:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants