chore(deps-dev): Bump @typescript-eslint/eslint-plugin from 3.9.1 to 4.0.0
Bumps @typescript-eslint/eslint-plugin from 3.9.1 to 4.0.0.
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-errortoallow-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
strictNullChecksturned on (#2345) (ee5b194e6cb813e8aed0f2889b51d12a2b6964e4)- feat(typescript-estree): switch to globby (#2418) (789c439a8a80d1c3dc5d6c7ca4c5ae4d1d889a5b)
Non-Breaking:
- feat(eslint-plugin): add
consistent-type-importsrule (#2367) (ba9295b774765c293c94c5e82c26804ded25180d)- feat: add
downlevel-dtsto 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-eslintAST 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 parserespreehave already implemented and released support for this new AST as of ESLintv7.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:
- The ESLint core rules will have complete support for optional chaining, without need for extension rules :tada:
- 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
decoratorsfrom nodes that TS doesn't support decorators on (#2375)Previously, our parser would parse decorators and include them in the AST for
FunctionDeclarations,EnumDeclarations andInterfaceDeclarations. 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-errortoallow-with-description(#2351) (a3f163a), closes #2146- eslint-plugin: [no-unnecessary-condition][strict-boolean-expressions] add option to make the rules error on files without
strictNullChecksturned on (#2345) (9273441)- eslint-plugin: [typedef] remove all defaults (#2352) (a9cd6fb)
- eslint-plugin: add
consistent-type-importsrule (#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
Commits
c51e3f0chore: publish v4.0.04ff8c43chore: regen yarn.lock and fix lint issuesac0defcchore: update dependenciescd84549fix(scope-manager): correct analysis of abstract class properties (#2420)9273441feat(eslint-plugin): [no-unnecessary-condition][strict-boolean-expressions] a...58b1c2dfeat(eslint-plugin): addconsistent-type-importsrule (#2367)762bc99fix(typescript-estree): correct ChainExpression interaction with parentheses ...d738fa4fix: correct decorator traversal for AssignmentPattern (#2375)9de669ffix(eslint-plugin): [no-shadow] fix false-positive on enum declaration (#2374)a9cd6fbfeat(eslint-plugin): [typedef] remove all defaults (#2352)- Additional commits viewable in compare view
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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)@dependabot use these labelswill set the current labels as the default for future PRs for this repo and language@dependabot use these reviewerswill set the current reviewers as the default for future PRs for this repo and language@dependabot use these assigneeswill set the current assignees as the default for future PRs for this repo and language@dependabot use this milestonewill set the current milestone as the default for future PRs for this repo and language@dependabot badge mewill comment on this PR with code to add a "Dependabot enabled" badge to your readme
Additionally, you can set the following in your Dependabot dashboard:
- Update frequency (including time of day and day of week)
- Pull request limits (per update run and/or open at any time)
- Out-of-range updates (receive only lockfile updates, if desired)
- Security updates (receive only security updates, if desired)
@dependabot recreate
This pull request will no longer be automatically closed when a new version is found as this pull request was created by Dependabot Preview and this repo is using a version: 2 config file. You can close this pull request and let Dependabot re-create it the next time it checks for updates.