build(deps dev):bump@typescript eslint/eslint 플러그인 3.10.1 버전에서 4.0.0 버전으로 업그레이드

15508 단어 fizz

묘사

3.10.1에서 4.0.0으로 요동@typescript-eslint/eslint-plugin.
릴리즈 노트
출처@typescript-eslint/eslint-plugin's releases.

v4。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!

변경 요약

깨짐:

  • 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)

무중단 운영:

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

변화를 타파하다

AST 변화

공식 ESTree 옵션 링크 구문 지원(#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 :tada:
  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/


TS에서 지원하지 않음(#2375)의 데코더의 노드에서 데코더 제거


이전에 저희 해석기는 decorators를 해석하여 FunctionDeclarations, EnumDeclarations, InterfaceDeclarations의AST에 포함시켰습니다. 이것은 처음에 TypeScript 해석기가 여러 가지 이유로 문법적으로 유효하다고 생각했기 때문입니다. (TS 해석기가 허용하는 범위 내에서 매우 허용됩니다.)
변경 로그
출처@typescript-eslint/eslint-plugin's changelog.

4.0.0 (2020-08-31)

취약점 수리

  • 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)

특징.

  • 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)

변화를 타파하다

    • 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.

언약
  • c51e3f0 자질구레한 일:발표 v4.0.0
  • 잡무: 재생사선.면 벨벳 문제 잠금 및 복구
  • 4ff8c43 자질구레한 일: 업데이트 의존항
  • ac0defc fix(범위 관리자): 추상 클래스 속성에 대한 정확한 분석( cd84549 )
  • #2420특기(eslint 플러그인): [불필요한 조건 없음][엄격한 브리 표현식]a.
  • 9273441 특기(eslint 플러그인): 추가58b1c2d규칙 consistent-type-imports
  • #2367fix(typescript-estree): 정확한 체인 표현식과 괄호의 상호작용.
  • 762bc99 복원:AssignmentPattern d738fa4
  • 의 정확한 장식기 훑어보기
  • #2375복원(eslint 플러그인): [no shadow] 복원 매거진 성명상의 가짜 양성( 9de669f )
  • #2374특기(eslint 플러그인): [typedef] 모든 기본값 삭제( a9cd6fb )
  • #2352
  • 에서 볼 수 있는 추가 제출
    compare view
    이 PR과의 충돌은 사용자가 직접 변경하지 않는 한 해결될 수 있습니다.주석@dependabot rebase을 사용하여 수동으로 재기준을 트리거할 수도 있습니다.
    신뢰성 명령 및 옵션
    이 PR에 의견을 달면 Cortebot 작업을 트리거할 수 있습니다.
    - "@relateot rebase"는 이 PR의 기초를 재설정합니다.
    - "@relateot recreate"는 이 PR을 다시 만들고 편집한 내용을 덮어씁니다.
    - "@cordenot merge"는 CI 전송 후 이 PR을 병합합니다.
    - "@relateot squash and merge"는 CI 전송 후 이 PR을 누르고 병합합니다.
    - "@Correlot cancel merge"는 이전에 요청한 병합을 취소하고 자동 병합을 차단합니다.
    - 이 PR이 종료되면 @Correlot Recover에서 다시 열립니다.
    - @CorrelotClose가 PR을 닫고 Correlott를 중지하고 다시 생성합니다.수동으로 닫아서 같은 결과를 얻을 수 있습니다

    토론 #1

    : 타다: 이 PR은 버전 1.2.0에 포함됩니다. 타다:
    이 버전은 다음 웹 사이트에서 사용할 수 있습니다.
    - Dependabot compatibility score
    - npm package (@latest dist-tag)
    당신의 GitHub release 로봇: 소프트웨어 패키지: 로켓:

    좋은 웹페이지 즐겨찾기