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 monorepo to v7 (major) #518

Merged
merged 20 commits into from
Apr 19, 2024

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jul 11, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@typescript-eslint/eslint-plugin (source) 5.62.0 -> 7.7.0 age adoption passing confidence
@typescript-eslint/parser (source) 5.62.0 -> 7.7.0 age adoption passing confidence
eslint-config-airbnb-typescript 17.1.0 -> 18.0.0 age adoption passing confidence

Release Notes

typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)

v7.7.0

Compare Source

🚀 Features
  • eslint-plugin: replace no-new-symbol with no-new-native-nonconstructor
❤️ Thank You
  • Dave
  • Josh Goldberg ✨

You can read about our versioning strategy and releases on our website.

v7.6.0

Compare Source

🚀 Features
  • bump npm dependency ranges
❤️ Thank You
  • Abraham Guo
  • auvred
  • Brad Zacher

You can read about our versioning strategy and releases on our website.

v7.5.0

Compare Source

🩹 Fixes
  • eslint-plugin: [no-floating-promises] handle TaggedTemplateExpression

  • eslint-plugin: [no-unnecessary-type-assertion] handle exactOptionalPropertyTypes compiler option

❤️ Thank You
  • Brad Zacher
  • Kim Sang Du
  • Mark de Dios
  • Naru
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v7.4.0

Compare Source

🚀 Features
  • eslint-plugin: [consistent-type-imports] ignore files with decorators, experimentalDecorators, and emitDecoratorMetadata

  • eslint-plugin: [no-unnecessary-type-arguments] handle tagged templates

  • eslint-plugin: deprecate no-throw-literal and add a renamed only-throw-error

🩹 Fixes
  • eslint-plugin: [prefer-optional-chain] address multipart nullish checks false positive

  • eslint-plugin: [prefer-optional-chain] properly disambiguate between boolean and false

  • eslint-plugin: [no-unnecessary-type-assertion] avoid remove const casting on template literals with expressions inside

❤️ Thank You
  • Abraham Guo
  • Brad Zacher
  • Josh Goldberg ✨
  • Kim Sang Du
  • Kirk Waiblinger
  • Marco Pasqualetti
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v7.3.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-floating-promises] revert disable of ignoreVoid in strict config
❤️ Thank You
  • Josh Goldberg ✨

You can read about our versioning strategy and releases on our website.

v7.3.0

Compare Source

🚀 Features
  • eslint-plugin: [restrict-template-expressions] add allowArray option

  • eslint-plugin: add meta.docs.recommended setting for strict config options

  • eslint-plugin: add rule use-unknown-in-catch-callback-variables

  • eslint-plugin: [prefer-reduce-type-parameter] supports tuple, union, intersection

🩹 Fixes
  • correct engines.node constraints in package.json

  • eslint-plugin: [unbound-method] check method definition in object literal using longhand form

  • eslint-plugin: [consistent-type-imports] handle imports without specifiers

  • eslint-plugin: [no-redundant-type-constituents] incorrectly marks & string as redundant

  • eslint-plugin: [no-unnecessary-qualifier] handle merge namespace with enum

  • eslint-plugin: [no-unused-expressions] false negatives when using assertions

  • eslint-plugin: [ban-ts-comment] more accurate handling of multiline comments

  • eslint-plugin: [explicit-function-return-type, explicit-module-boundary-types] improved checking for allowHigherOrderFunctions option

  • eslint-plugin: [class-literal-property-style] ignore property assigned in constructor

  • eslint-plugin: [no-unnecessary-type-assertion] fix false negative for const variable declarations

❤️ Thank You
  • Abraham Guo
  • Alexu
  • Arka Pratim Chaudhuri
  • auvred
  • Derrick Isaacson
  • fnx
  • Josh Goldberg ✨
  • Kirk Waiblinger
  • Marta Cardoso
  • Michaël De Boey
  • Tristan Rasmussen
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v7.2.0

Compare Source

🚀 Features
  • support TS 5.4

  • eslint-plugin: [prefer-string-starts-ends-with] add allowSingleElementEquality option

🩹 Fixes
  • eslint-plugin: expose *-type-checked-only configs for extension

  • eslint-plugin: [member-ordering] report alphabetical sorting for all groups instead of just the first failing group

  • eslint-plugin: [no-var-requires, no-require-imports] support template literal

  • eslint-plugin: [no-useless-template-literals] detect TemplateLiteral

  • eslint-plugin: [no-unnecessary-condition] handle union array and tuple type

  • eslint-plugin: [prefer-find] support ternary branches in prefer-find

❤️ Thank You
  • Arka Pratim Chaudhuri
  • auvred
  • Chris Plummer
  • Fotis Papadogeorgopoulos
  • Josh Goldberg ✨
  • Kirk Waiblinger
  • Wayne Zhang
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v7.1.1

Compare Source

This was a version bump only for eslint-plugin to align it with other projects, there were no code changes.

You can read about our versioning strategy and releases on our website.

v7.1.0

Compare Source

🚀 Features
  • eslint-plugin: add *-type-checked-only configs

  • eslint-plugin: [naming-convention] support the auto-accessor syntax

  • eslint-plugin: [consistent-return] add new rule

🩹 Fixes
  • eslint-plugin: [prefer-optional-chan] allow typeof for avoiding reference error

  • eslint-plugin: [no-misused-promises] improve check union types

  • eslint-plugin: [no-use-before-define] fix false positive type reference in as, satisfies

❤️ Thank You
  • Arka Pratim Chaudhuri
  • Josh Goldberg ✨
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v7.0.2

Compare Source

🩹 Fixes
  • fix tsconfig-less check errors, fix @types/eslint incompatibilities, add tests
❤️ Thank You
  • Brad Zacher
  • Gareth Jones

You can read about our versioning strategy and releases on our website.

v7.0.1

Compare Source

🩹 Fixes
  • eslint-plugin: update peer dep for parser
❤️ Thank You
  • Tim Dorr

You can read about our versioning strategy and releases on our website.

v7.0.0

Compare Source

🚀 Features
  • ⚠️ bump ESLint, NodeJS, and TS minimum version requirements

  • add support for flat configs

🩹 Fixes
  • eslint-plugin: [prefer-find] stop throwing type errors when converting symbols to numbers
⚠️ Breaking Changes
  • ⚠️ bump ESLint, NodeJS, and TS minimum version requirements
❤️ Thank You
  • Brad Zacher
  • Kirk Waiblinger
  • StyleShit
  • YeonJuan

You can read about our versioning strategy and releases on our website.

6.21.0 (2024-02-05)

🚀 Features
  • export plugin metadata

  • allow parserOptions.project: false

  • eslint-plugin: add rule prefer-find

🩹 Fixes
  • eslint-plugin: [no-unused-vars] don't report on types referenced in export assignment expression

  • eslint-plugin: [switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

  • eslint-plugin: [consistent-type-imports] dont report on types used in export assignment expressions

  • eslint-plugin: [no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

  • eslint-plugin: [class-literal-property-style] allow getter when same key setter exists

  • eslint-plugin: [no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before as keyword

❤️ Thank You
  • auvred
  • Brad Zacher
  • Kirk Waiblinger
  • Pete Gonzalez
  • YeonJuan

You can read about our versioning strategy and releases on our website.

6.20.0 (2024-01-29)

🚀 Features
  • eslint-plugin: [member-ordering] allow easy reuse of the default ordering
🩹 Fixes
  • eslint-plugin: [no-useless-template-literals] incorrect bigint autofix result

  • eslint-plugin: [prefer-nullish-coalescing] treat any/unknown as non-nullable

  • eslint-plugin: [no-useless-template-literals] report Infinity & NaN

  • eslint-plugin: [prefer-readonly] disable checking accessors

❤️ Thank You
  • Alex Parloti
  • auvred
  • James Browning
  • StyleShit
  • YeonJuan

You can read about our versioning strategy and releases on our website.

6.19.1 (2024-01-22)

🩹 Fixes
  • type-utils: preventing isUnsafeAssignment infinite recursive calls

  • eslint-plugin: [no-unnecessary-condition] fix false positive for type variable

❤️ Thank You
  • YeonJuan

You can read about our versioning strategy and releases on our website.

6.19.0 (2024-01-15)

🚀 Features
  • eslint-plugin: [prefer-promise-reject-errors] add rule

  • eslint-plugin: [no-array-delete] add new rule

  • eslint-plugin: [no-useless-template-literals] add fix suggestions

🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression

  • eslint-plugin: [no-unnecesary-type-assertion] treat unknown/any as nullable

❤️ Thank You
  • auvred
  • Brad Zacher
  • Josh Goldberg ✨
  • Joshua Chen
  • LJX
  • Steven
  • StyleShit

You can read about our versioning strategy and releases on our website.

6.18.1 (2024-01-08)

🩹 Fixes
  • eslint-plugin: [no-non-null-assertion] provide valid fix when member access is on next line

  • eslint-plugin: [no-unnecessary-condition] improve checking optional callee

  • eslint-plugin: [prefer-readonly] support modifiers of unions and intersections

  • eslint-plugin: [switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option

❤️ Thank You
  • auvred
  • James
  • Josh Goldberg ✨
  • YeonJuan

You can read about our versioning strategy and releases on our website.

6.18.0 (2024-01-06)

🚀 Features
  • typescript-estree: throw on invalid update expressions

  • eslint-plugin: [no-var-requires, no-require-imports] allow option

❤️ Thank You
  • auvred
  • Joshua Chen

You can read about our versioning strategy and releases on our website.

v6.21.0

Compare Source

🚀 Features
  • export plugin metadata

  • allow parserOptions.project: false

  • eslint-plugin: add rule prefer-find

🩹 Fixes
  • eslint-plugin: [no-unused-vars] don't report on types referenced in export assignment expression

  • eslint-plugin: [switch-exhaustiveness-check] better support for intersections, infinite types, non-union values

  • eslint-plugin: [consistent-type-imports] dont report on types used in export assignment expressions

  • eslint-plugin: [no-unnecessary-condition] handle left-hand optional with exactOptionalPropertyTypes option

  • eslint-plugin: [class-literal-property-style] allow getter when same key setter exists

  • eslint-plugin: [no-unnecessary-type-assertion] provide valid fixes for assertions with extra tokens before as keyword

❤️ Thank You
  • auvred
  • Brad Zacher
  • Kirk Waiblinger
  • Pete Gonzalez
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v6.20.0

Compare Source

🚀 Features
  • eslint-plugin: [member-ordering] allow easy reuse of the default ordering
🩹 Fixes
  • eslint-plugin: [no-useless-template-literals] incorrect bigint autofix result

  • eslint-plugin: [prefer-nullish-coalescing] treat any/unknown as non-nullable

  • eslint-plugin: [no-useless-template-literals] report Infinity & NaN

  • eslint-plugin: [prefer-readonly] disable checking accessors

❤️ Thank You
  • Alex Parloti
  • auvred
  • James Browning
  • StyleShit
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v6.19.1

Compare Source

🩹 Fixes
  • type-utils: preventing isUnsafeAssignment infinite recursive calls

  • eslint-plugin: [no-unnecessary-condition] fix false positive for type variable

❤️ Thank You
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v6.19.0

Compare Source

🚀 Features
  • eslint-plugin: [prefer-promise-reject-errors] add rule

  • eslint-plugin: [no-array-delete] add new rule

  • eslint-plugin: [no-useless-template-literals] add fix suggestions

🩹 Fixes
  • eslint-plugin: [no-unnecessary-type-assertion] detect unnecessary non-null-assertion on a call expression

  • eslint-plugin: [no-unnecesary-type-assertion] treat unknown/any as nullable

❤️ Thank You
  • auvred
  • Brad Zacher
  • Josh Goldberg ✨
  • Joshua Chen
  • LJX
  • Steven
  • StyleShit

You can read about our versioning strategy and releases on our website.

v6.18.1

Compare Source

🩹 Fixes
  • eslint-plugin: [no-non-null-assertion] provide valid fix when member access is on next line

  • eslint-plugin: [no-unnecessary-condition] improve checking optional callee

  • eslint-plugin: [prefer-readonly] support modifiers of unions and intersections

  • eslint-plugin: [switch-exhaustiveness-check] fix new allowDefaultCaseForExhaustiveSwitch option

❤️ Thank You
  • auvred
  • James
  • Josh Goldberg ✨
  • YeonJuan

You can read about our versioning strategy and releases on our website.

v6.18.0

Compare Source

🚀 Features
  • typescript-estree: throw on invalid update expressions

  • eslint-plugin: [no-var-requires, no-require-imports] allow option

❤️ Thank You
  • auvred
  • Joshua Chen

You can read about our versioning strategy and releases on our website.

v6.17.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-restricted-imports] prevent crash when patterns or paths in options are empty (#​8108) (675e987)
Features
  • eslint-plugin: [no-floating-promises] flag result of .map(async) (#​7897) (5857356)
  • eslint-plugin: [switch-exhaustiveness-check] add an option to warn against a default case on an already exhaustive switch (#​7539) (6a219bd)

You can read about our versioning strategy and releases on our website.

v6.16.0

Compare Source

Bug Fixes
  • eslint-plugin: [unbound-method] exempt all non-Promise built-in statics (#​8096) (3182959)
Features
  • eslint-plugin: deprecate formatting (meta.type: layout) rules (#​8073) (04dea84)
  • eslint-plugin: deprecate no-extra-semi in favor of ESLint Stylistic equivalent (#​8123) (9368bf3)

You can read about our versioning strategy and releases on our website.

v6.15.0

Compare Source

Features

You can read about our versioning strategy and releases on our website.

v6.14.0

Compare Source

Bug Fixes
  • eslint-plugin: add no-unsafe-unary-minus, prefer-destructuring to disable-type-checked (#​8038) (431cd15)
  • eslint-plugin: correct message for no-unsafe-unary-minus (#​7998) (705370a)
Features
  • eslint-plugin: [explicit-function-return-type] add support for typed class property definitions (#​8027) (bff47d7)
  • eslint-plugin: [require-await] allow yielding Promise in async generators (#​8003) (4c3e704)

You can read about our versioning strategy and releases on our website.

6.13.2 (2023-12-04)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

6.13.1 (2023-11-28)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.13.2

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.13.1

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.13.0

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.12.0

Compare Source

Bug Fixes
  • eslint-plugin: [class-methods-use-this] detect a problematic case for private/protected members if ignoreClassesThatImplementAnInterface is set (#​7705) (155aa1f)
  • eslint-plugin: [no-unnecessary-condition] fix false positive with computed member access and branded key type (#​7706) (f151b26)
  • eslint-plugin: [switch-exhaustiveness-check] enum members with new line or single quotes are not being fixed correctly (#​7806) (a034d0a), closes #​7768
Features
  • [member-ordering] add accessor support for member-ordering (#​7927) (3c8312d)
  • eslint-plugin: [switch-exhaustiveness-check] add requireDefaultForNonUnion option (#​7880) (4cfcd45)

You can read about our versioning strategy and releases on our website.

v6.11.0

Compare Source

Bug Fixes
  • eslint-plugin: [explicit-function-return-type] support JSX attributes in allowTypedFunctionExpressions (#​7553) (be2777c)
  • eslint-plugin: [no-unnecessary-qualifier] handle nested namespace id (#​7883) (a668f5b)
Features

You can read about our versioning strategy and releases on our website.

v6.10.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-unused-vars] handle logical assignment (#​7854) (11e57c5)
  • eslint-plugin: [require-await] add support for "await using" (#​7866) (855abea)
Features
  • eslint-plugin: [ban-ts-comments] suggest ts-expect-error over ts-ignore (#​7849) (5e73a48)

You can read about our versioning strategy and releases on our website.

6.9.1 (2023-10-30)

Bug Fixes
  • eslint-plugin: [naming-convention] allow PascalCase for imports (#​7841) (7ad86ee)
  • eslint-plugin: [no-unused-expressions] handle TSInstantiationExpression expression (#​7831) (31988e0)

You can read about our versioning strategy and releases on our website.

v6.9.1

Compare Source

Bug Fixes
  • eslint-plugin: [naming-convention] allow PascalCase for imports (#​7841) (7ad86ee)
  • eslint-plugin: [no-unused-expressions] handle TSInstantiationExpression expression (#​7831) (31988e0)

You can read about our versioning strategy and releases on our website.

v6.9.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-confusing-void-expression] handle unfixable cases (#​7674) (7e52f27)
  • eslint-plugin: [no-unsafe-return] allow returning anything if explicitly returning any (#​7708) (c6124b2)
Features
  • eslint-plugin: [max-params] don't count this: void parameter (#​7696) (6398d3f), closes #​7538
  • eslint-plugin: [naming-convention] add support for default and namespace imports (#​7269) (bb15aae)
  • eslint-plugin: [no-restricted-imports] support import = require (#​7709) (4c8edcf)
  • eslint-plugin: [no-unsafe-enum-comparison] add switch suggestion (#​7691) (53d5263), closes #​7643
  • eslint-plugin: [prefer-readonly] private fields support (#​7686) (0e875bf)

You can read about our versioning strategy and releases on our website.

v6.8.0

Compare Source

Bug Fixes
  • eslint-plugin: [consistent-type-imports] import assertion checks added (#​7722) (afdae37)
  • eslint-plugin: [no-shadow] fix static class generics for class expressions (#​7724) (e5ea1d0)
  • eslint-plugin: [no-unsafe-member-access] report on only the accessed property (#​7717) (f81a2da)
  • eslint-plugin: [no-useless-empty-export] exempt .d.ts (#​7718) (ac397f1)
Features
  • eslint-plugin: add new extended rule prefer-destructuring (#​7117) (3c6379b)

You can read about our versioning strategy and releases on our website.

6.7.5 (2023-10-09)

Bug Fixes
  • eslint-plugin: [prefer-string-starts-ends-with] only report slice/substring with correct range (#​7712) (db40a0a)

You can read about our versioning strategy and releases on our website.

6.7.4 (2023-10-02)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

6.7.3 (2023-09-25)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

6.7.2 (2023-09-18)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

6.7.1 (2023-09-18)

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.5

Compare Source

Bug Fixes
  • eslint-plugin: [prefer-string-starts-ends-with] only report slice/substring with correct range (#​7712) (db40a0a)

You can read about our versioning strategy and releases on our website.

v6.7.4

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.3

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.2

Compare Source

Note: Version bump only for package @​typescript-eslint/eslint-plugin

You can read about our versioning strategy and releases on our website.

v6.7.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-restricted-imports] disallow side effect imports when allowTypeImports is enabled (#​7560) (4908905)
Features
  • eslint-plugin: [await-thenable] added suggestion fixer (#​7437) (b284370)

You can read about our versioning strategy and releases on our website.

v6.6.0

Compare Source

Bug Fixes
  • eslint-plugin: [key-spacing] consider properties with parens and comments (#​7525) (7012279)

You can read about our versioning strategy and releases on our website.

v6.5.0

Compare Source

Bug Fixes
  • eslint-plugin: [consistent-type-assertions] wrap object return value with parentheses (#​6885) (23ac499)

You can read about our versioning strategy and releases on our website.

6.4.1 (2023-08-21)

Bug Fixes
  • eslint-plugin: [no-unnecessary-condition] false positives with branded types (#​7466) (b52658f), closes #​7293

You can read about our versioning strategy and releases on our website.

v6.4.1

Compare Source

Bug Fixes
  • eslint-plugin: [no-unnecessary-condition] false positives with branded types (#​7466) (b52658f), closes #​7293

You can read about our versioning strategy and releases on our website.

v6.4.0

Compare Source

Bug Fixes
  • eslint-plugin: [non-nullable-type-assertion-style] consider operator precedence when fixing (#​7289) (bad37a2)
  • eslint-plugin: [strict-boolean-expressions] replace dangerous fixer with suggestions (#​7394) (ad8401a)

You can read about our versioning strategy and releases on our website.

v6.3.0

Compare Source

Bug Fixes
  • eslint-plugin: [no-extra-parens] keep parens around call expression arguments when type arguments contain parens (#​7375) (38e5e4e)
  • eslint-plugin: [no-restricted-imports] allow inline type qualifiers when allowTypeImports enabled (#​7379) (cc9a46d)
Features
  • eslint-plugin: [prefer-nullish-coalescing] allow ignorePrimitives option to be true (#​7331) (dfcafae)
Reverts

You can read about our versioning strategy and releases on our website.

6.2.1 (2023-07-31)

Bug Fixes
  • eslint-plugin: [no-inferrable-types] apply also for parameter properties (#​7288) (67f93b1)
  • scope-manager: correct decorators(.length) check in ClassVisitor for methods (#​7334) (abbb6c2)

You can read about our versioning strategy and releases on our website.

v6.2.1

Compare Source

Bug Fixes
  • eslint-plugin: [no-inferrable-types] apply also for parameter properties (#​7288) (67f93b1)
  • scope-manager: correct decorators(.length) check in ClassVisitor for methods (#​7334) (abbb6c2)

You can read about our versioning strategy and releases on our website.

v6.2.0

Compare Source

Bug Fixes
  • eslint-plugin: [member-ordering] account for repeated names (#​6864) (d207b59)
  • eslint-plugin: [no-unsafe-enum-comparison] exempt bit shift operators (#​7074) (b3e0e75)
  • eslint-plugin: [prefer-nullish-coalescing] handle case when type of left side is null or undefined (#​7225) (b62affe)
  • eslint-plugin: use a default export for the rules type (#​7266) (af77a1d)
Features
  • eslint-plugin: [class-methods-use-this] add extension rule (#​6457) (18ea3b1)
  • eslint-plugin: sync getFunctionHeadLoc implementation with upstream (#​7260) (f813147)

You can read about our versioning strategy and releases on our website.

v6.1.0

Compare Source

Bug Fixes
  • eslint-plugin: [comma-dangle] fixed crash f

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate
Copy link
Contributor Author

renovate bot commented Jul 11, 2023

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: eslint-config-airbnb-typescript@17.1.0
npm ERR! Found: @typescript-eslint/eslint-plugin@7.7.0
npm ERR! node_modules/@typescript-eslint/eslint-plugin
npm ERR!   dev @typescript-eslint/eslint-plugin@"7.7.0" from the root project
npm ERR!   peerOptional @typescript-eslint/eslint-plugin@"^5.0.0 || ^6.0.0 || ^7.0.0" from eslint-plugin-jest@27.9.0
npm ERR!   node_modules/eslint-plugin-jest
npm ERR!     dev eslint-plugin-jest@"27.9.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer @typescript-eslint/eslint-plugin@"^5.13.0 || ^6.0.0" from eslint-config-airbnb-typescript@17.1.0
npm ERR! node_modules/eslint-config-airbnb-typescript
npm ERR!   dev eslint-config-airbnb-typescript@"17.1.0" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: @typescript-eslint/eslint-plugin@6.21.0
npm ERR! node_modules/@typescript-eslint/eslint-plugin
npm ERR!   peer @typescript-eslint/eslint-plugin@"^5.13.0 || ^6.0.0" from eslint-config-airbnb-typescript@17.1.0
npm ERR!   node_modules/eslint-config-airbnb-typescript
npm ERR!     dev eslint-config-airbnb-typescript@"17.1.0" from the root project
npm ERR! 
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR! 
npm ERR! See /tmp/renovate/cache/others/npm/eresolve-report.txt for a full report.

npm ERR! A complete log of this run can be found in:
npm ERR!     /tmp/renovate/cache/others/npm/_logs/2024-04-17T21_18_12_302Z-debug-0.log

@renovate renovate bot force-pushed the renovate/major-typescript-eslint-monorepo branch 5 times, most recently from 0b7bdeb to 28ac139 Compare July 17, 2023 19:01
@renovate renovate bot force-pushed the renovate/major-typescript-eslint-monorepo branch 9 times, most recently from 11a29c7 to d05d4ff Compare July 28, 2023 21:55
@renovate renovate bot force-pushed the renovate/major-typescript-eslint-monorepo branch 5 times, most recently from bb71266 to 5686bc5 Compare August 5, 2023 13:10
@renovate renovate bot force-pushed the renovate/major-typescript-eslint-monorepo branch 6 times, most recently from ed5a7eb to 526f08e Compare August 12, 2023 00:40
@renovate renovate bot force-pushed the renovate/major-typescript-eslint-monorepo branch 3 times, most recently from e1e043e to 4970011 Compare August 19, 2023 00:10
Copy link
Contributor Author

renovate bot commented Apr 18, 2024

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

Warning: custom changes will be lost.

…o default 'camelCase'. Set no naming convention for imports. No need.
…mps all other type designations anyway so it was pointless.
…n scenarios where types self reference recursively the index signature must be used otherwise ts throws errors.
…hy not to use function type instead of interface.
…se it's supposed to be more concise and easier to read.
boolean is unioned with null | undefined. So that means it wants to
change from || to ?? when the value could be true | false | null. ??
doesn't have the same effect as || in that scenario and I can't think
of a situation where someone would want to use ?? when that happens.
@philfuster
Copy link
Contributor

Reviewed the change log for changes. Made the necessary update due to rule changes and other changes in the changelog.
I had to upgrade the eslint-config-airbnb-typescript because it wouldn't let me upgrade without it being changed.

I think this is ready to be merged.

@shawnmcknight I guess I'll just close the PR for eslint-config-airbnb-typescript since that update was handled here.

.eslintrc.js Outdated
@@ -139,11 +142,14 @@ module.exports = {
],
'@typescript-eslint/consistent-type-imports': ['error', { prefer: 'type-imports' }],

// disable consistent indexed object style. both are used in mvom
Copy link
Contributor

Choose a reason for hiding this comment

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

We use Record and the index signature. The Record is good in most scenarios as used in mvom but,
TypeScript will report errors about recursive type reference in scenarios like in Schema.ts where SchemaDefinition references SchemaTypeDefinition and SchemaTypeDefinition references SchemaDefinition.

I think turning the rule off is better than trying to force one or the other. I think I liked the use of Record where it made sense and the use the index signature where needed as well.

Copy link
Member

Choose a reason for hiding this comment

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

I would prefer to see a global enforcement of consistency and an override of the rule where it's not possible to use that. It looks like its by design that Record cannot circularly reference itself: microsoft/TypeScript#33050 (comment)

However, for those scenarios where that's not the case, it would be better to have consistency and enforce the rule.

Copy link
Contributor

Choose a reason for hiding this comment

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

Good idea.

Copy link
Contributor

Choose a reason for hiding this comment

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

Removed the override to the turn the rule off. I updated where possible to use Record and provided an override for where not possible.

Copy link
Member

@shawnmcknight shawnmcknight left a comment

Choose a reason for hiding this comment

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

Looks good overall. I do think we should have the rule enabled for consistency and override it where we can't use it due to the circular reference issue. Just a few other minor notes as well.

.eslintrc.js Outdated
@@ -176,9 +185,22 @@ module.exports = {
'@typescript-eslint/restrict-template-expressions': 'off',
'@typescript-eslint/unbound-method': 'off',

// override @typescript-eslint/stylistic-type-checked to ignore consistent-indexed-object-style. Both are used as required.
'@typescript-eslint/consistent-indexed-object-style': 'off',
Copy link
Member

Choose a reason for hiding this comment

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

If we did need to disable this rule, we shouldn't have to disable it in both the jsTsGlobs override and the tsGlobs override. The jsTsGlobs override should have covered both.

But as noted previously, I think we should enable the rule.

Copy link
Contributor

Choose a reason for hiding this comment

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

I moved this to jsTsGlobs I understood your comment as still wanting the override. if that's not the case, I will remove it.

Copy link
Member

Choose a reason for hiding this comment

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

My comment was on @typescript-eslint/consistent-indexed-object-style which you turned off in both the jsTsGlobs and the tsGlobs. Since tsGlobs is a subset of jsTsGlobs you effectively turned the rule off twice. Since you were going to change this anyway, it was to provide an understanding that you were doing something redundant.

However, it seems like you've moved the prefer-nullish-coalescing rule to jsTsGlobs, but that wasn't the one I commented on. That rule requires type checking, which isn't enabled for jsTsGlobs. It has to be moved back.

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh ok gotcha. Thank you. I moved prefer-nullish-coalescing back to tsGlobs.

.eslintrc.js Outdated
],

// ban non-null assertions
'@typescript-eslint/no-non-null-assertion': 'error',
Copy link
Member

Choose a reason for hiding this comment

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

I usually try to group related rules or keep them at least alphabetically ordered. So I would flip-flop these two for readability.

…ency is preferred with overrides for scenarios where consistency cannot be upheld.
@philfuster
Copy link
Contributor

Looks good overall. I do think we should have the rule enabled for consistency and override it where we can't use it due to the circular reference issue. Just a few other minor notes as well.

@shawnmcknight I think I resolved most of your comments. I may have misunderstood one of them. I think this is ready for another look. Thank you for the review.

Copy link
Member

@shawnmcknight shawnmcknight left a comment

Choose a reason for hiding this comment

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

Need to move the nullish coalescing rule back.

Copy link
Member

@shawnmcknight shawnmcknight left a comment

Choose a reason for hiding this comment

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

LGTM!

@shawnmcknight shawnmcknight merged commit 01d12be into main Apr 19, 2024
4 checks passed
@shawnmcknight shawnmcknight deleted the renovate/major-typescript-eslint-monorepo branch April 19, 2024 13:32
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.

2 participants