build(deps dev):bump@typescript eslint/eslint 플러그인 3.10.1 버전에서 4.0.0 버전으로 업그레이드
묘사
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
toallow-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 parserespree
have 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/
TS에서 지원하지 않음(#2375)의 데코더의 노드에서 데코더 제거
이전에 저희 해석기는 decorators를 해석하여FunctionDeclaration
s,EnumDeclaration
s,InterfaceDeclaration
s의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
toallow-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.04ff8c43
자질구레한 일: 업데이트 의존항ac0defc
fix(범위 관리자): 추상 클래스 속성에 대한 정확한 분석(cd84549
)#2420특기(eslint 플러그인): [불필요한 조건 없음][엄격한 브리 표현식]a. 9273441
특기(eslint 플러그인): 추가58b1c2d
규칙consistent-type-imports
#2367fix(typescript-estree): 정확한 체인 표현식과 괄호의 상호작용. 의 정확한 장식기 훑어보기 762bc99
복원:AssignmentPatternd738fa4
#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에 포함됩니다. 타다:
이 버전은 다음 웹 사이트에서 사용할 수 있습니다.
-
- npm package (@latest dist-tag)
당신의 GitHub release 로봇: 소프트웨어 패키지: 로켓:
Reference
이 문제에 관하여(build(deps dev):bump@typescript eslint/eslint 플러그인 3.10.1 버전에서 4.0.0 버전으로 업그레이드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://github.com/tdreyno/fizz/issues/264텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)