Skip to content

fix: restore TypeScript 4.0 compatibility in types#20504

Merged
nzakas merged 4 commits intoeslint:v9.x-devfrom
sethamus:types-ts40-compat
Feb 16, 2026
Merged

fix: restore TypeScript 4.0 compatibility in types#20504
nzakas merged 4 commits intoeslint:v9.x-devfrom
sethamus:types-ts40-compat

Conversation

@sethamus
Copy link
Copy Markdown
Contributor

@sethamus sethamus commented Feb 14, 2026

Prerequisites checklist

What is the purpose of this pull request? (put an "X" next to an item)

[ ] Documentation update
[x] Bug fix (template)
[ ] New rule (template)
[ ] Changes an existing rule (template)
[ ] Add autofix to a rule
[ ] Add a CLI option
[ ] Add something to the core
[ ] Other, please explain:

TypeScript 4.0 can’t parse TS 4.1-only type syntax introduced in lib/types/index.d.ts (v9.39.0), so consumers hit syntax errors even with skipLibCheck.

What changes did you make? (Give an overview)

  • Removed the WithExit helper that relied on TS 4.1-only key remapping + template literal types.
  • Replaced the mapped-type Rule.NodeListener with an explicit visitor property list (including :exit variants).
  • Kept Program / Program:exit typed as AST.Program.
  • Typed CallExpression / CallExpression:exit visitors as ESTree.SimpleCallExpression (avoids widening to CallExpression | NewExpression per @types/estree).

Fixes #20495

Is there anything you'd like reviewers to focus on?

@sethamus sethamus requested a review from a team as a code owner February 14, 2026 10:42
@eslint-github-bot eslint-github-bot bot added the bug ESLint is working incorrectly label Feb 14, 2026
@github-project-automation github-project-automation bot moved this to Needs Triage in Triage Feb 14, 2026
@netlify
Copy link
Copy Markdown

netlify bot commented Feb 14, 2026

Deploy Preview for docs-eslint canceled.

Name Link
🔨 Latest commit b08b41a
🔍 Latest deploy log https://app.netlify.com/projects/docs-eslint/deploys/6991e5e52b908e0008206c05

@fasttime fasttime moved this from Needs Triage to Triaging in Triage Feb 14, 2026
@fasttime fasttime moved this from Triaging to Implementing in Triage Feb 14, 2026
@fasttime fasttime added accepted There is consensus among the team that this change meets the criteria for inclusion types Related to TypeScript types labels Feb 14, 2026
@fasttime
Copy link
Copy Markdown
Member

Thanks for the pull request. Is there a way to ensure that the updated types are compatible with TypeScript 4.0? What could work, I think, is running tsc on the files that were adapted from DefinitelyTyped to check that they compile correctly under TS 4.0. For example:

npm i -D @types/node@~16.11 typescript@~4.0
npx tsc lib/types/index.d.ts lib/types/rules.d.ts lib/types/use-at-your-own-risk.d.ts

The check could run in CI as a new job in the CI workflow.

@sethamus
Copy link
Copy Markdown
Contributor Author

@fasttime Thanks! I added a TS 4.0 compatibility check to the CI.

snitin315
snitin315 previously approved these changes Feb 15, 2026
Copy link
Copy Markdown
Contributor

@snitin315 snitin315 left a comment

Choose a reason for hiding this comment

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

LGTM, leaving it open for 2nd review.

@snitin315 snitin315 moved this from Implementing to Second Review Needed in Triage Feb 15, 2026
@fasttime fasttime added the v9.x Issues/PRs related to the v9.x release line label Feb 15, 2026
@lumirlumir lumirlumir linked an issue Feb 15, 2026 that may be closed by this pull request
1 task
Copy link
Copy Markdown
Member

@fasttime fasttime left a comment

Choose a reason for hiding this comment

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

LGTM, thanks. Because this PR was opened on Saturday, we should leave it open until tomorrow so everyone on the team has a chance to review it.

@fasttime fasttime moved this from Second Review Needed to Merge Candidates in Triage Feb 15, 2026
Copy link
Copy Markdown
Member

@mdjermanovic mdjermanovic left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

@nzakas nzakas merged commit 791bf8d into eslint:v9.x-dev Feb 16, 2026
33 checks passed
@github-project-automation github-project-automation bot moved this from Merge Candidates to Complete in Triage Feb 16, 2026
736-c41-2c1-e464fc974 added a commit to Swiss-Armed-Forces/Loom that referenced this pull request Feb 23, 2026
This MR contains the following updates:

| Package | Type | Update | Change | OpenSSF |
|---|---|---|---|---|
| [@eslint/js](https://eslint.org) ([source](https://github.com/eslint/eslint/tree/HEAD/packages/js)) | devDependencies | patch | [`9.39.2` → `9.39.3`](https://renovatebot.com/diffs/npm/@eslint%2fjs/9.39.2/9.39.3) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/eslint/eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/eslint/eslint) |
| [@mui/x-tree-view](https://mui.com/x/react-tree-view/) ([source](https://github.com/mui/mui-x/tree/HEAD/packages/x-tree-view)) | dependencies | patch | [`8.27.1` → `8.27.2`](https://renovatebot.com/diffs/npm/@mui%2fx-tree-view/8.27.1/8.27.2) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/mui/mui-x/badge)](https://securityscorecards.dev/viewer/?uri=github.com/mui/mui-x) |
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | patch | [`9.39.2` → `9.39.3`](https://renovatebot.com/diffs/npm/eslint/9.39.2/9.39.3) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/eslint/eslint/badge)](https://securityscorecards.dev/viewer/?uri=github.com/eslint/eslint) |
| [i18next](https://www.i18next.com) ([source](https://github.com/i18next/i18next)) | dependencies | patch | [`25.8.11` → `25.8.13`](https://renovatebot.com/diffs/npm/i18next/25.8.11/25.8.13) | [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/i18next/i18next/badge)](https://securityscorecards.dev/viewer/?uri=github.com/i18next/i18next) |

---

### Release Notes

<details>
<summary>eslint/eslint (@&#8203;eslint/js)</summary>

### [`v9.39.3`](https://github.com/eslint/eslint/releases/tag/v9.39.3)

[Compare Source](eslint/eslint@v9.39.2...v9.39.3)

##### Bug Fixes

- [`791bf8d`](eslint/eslint@791bf8d) fix: restore TypeScript 4.0 compatibility in types ([#&#8203;20504](eslint/eslint#20504)) (sethamus)

##### Chores

- [`8594a43`](eslint/eslint@8594a43) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)[@&#8203;9](https://github.com/9).39.3 ([#&#8203;20529](eslint/eslint#20529)) (Milos Djermanovic)
- [`9ceef92`](eslint/eslint@9ceef92) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`af498c6`](eslint/eslint@af498c6) chore: ignore `/docs/v9.x` in link checker ([#&#8203;20453](eslint/eslint#20453)) (Milos Djermanovic)

</details>

<details>
<summary>mui/mui-x (@&#8203;mui/x-tree-view)</summary>

### [`v8.27.2`](https://github.com/mui/mui-x/releases/tag/v8.27.2)

[Compare Source](mui/mui-x@v8.27.1...v8.27.2)

We'd like to extend a big thank you to the 3 contributors who made this release possible. Here are some highlights ✨:

- 🐞 Bugfixes

##### Data Grid

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[DataGridPro] Fix number input visibility in header filters ([#&#8203;21345](mui/mui-x#21345)) [@&#8203;michelengelen](https://github.com/michelengelen)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`.

##### Date and Time Pickers

##### `@mui/[email protected]`

- \[DatePicker] Add keyboard support for selecting day, month, and year ([#&#8203;21399](mui/mui-x#21399)) [@&#8203;michelengelen](https://github.com/michelengelen)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[DateRangePicker] Fix timezone update issue leading to `invalidRange` error ([#&#8203;21382](mui/mui-x#21382)) [@&#8203;michelengelen](https://github.com/michelengelen)

##### Charts

##### `@mui/[email protected]`

Internal changes.

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`, plus:

- \[charts-pro] Handle edge case in export image ([#&#8203;21206](mui/mui-x#21206)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

##### `@mui/[email protected]` [![premium](https://mui.com/r/x-premium-svg)](https://mui.com/r/x-premium-svg-link "Premium plan")

Same changes as in `@mui/[email protected]`.

##### Tree View

##### `@mui/[email protected]`

- \[tree view] Focus item sibling on unmount instead of the 1st item ([#&#8203;21386](mui/mui-x#21386)) [@&#8203;flaviendelangle](https://github.com/flaviendelangle)

##### `@mui/[email protected]` [![pro](https://mui.com/r/x-pro-svg)](https://mui.com/r/x-pro-svg-link "Pro plan")

Same changes as in `@mui/[email protected]`.

##### Codemod

##### `@mui/[email protected]`

Internal changes.

##### Core

- \[code-infra] Only ignore `renovate[bot]` in changelog generation script ([#&#8203;21188](mui/mui-x#21188)) [@&#8203;bernardobelchior](https://github.com/bernardobelchior)

</details>

<details>
<summary>i18next/i18next (i18next)</summary>

### [`v25.8.13`](https://github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#25813)

[Compare Source](i18next/i18next@v25.8.12...v25.8.13)

- improve support notice shown logic

### [`v25.8.12`](https://github.com/i18next/i18next/blob/HEAD/CHANGELOG.md#25812)

[Compare Source](i18next/i18next@v25.8.11...v25.8.12)

- improve support notice shown logic

</details>

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4zMS4xIiwidXBkYXRlZEluVmVyIjoiNDMuMzEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIiwicmVub3ZhdGUiXX0=-->

See merge request swiss-armed-forces/cyber-command/cea/loom!325

Co-authored-by: shrewd-laidback palace <shrewd-laidback-palace-736-c41-2c1-e464fc974@swiss-armed-forces-open-source.ch>
robbevp pushed a commit to robbevp/website-robbevanpetegem that referenced this pull request Feb 28, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | patch | [`9.39.2` -> `9.39.3`](https://renovatebot.com/diffs/npm/eslint/9.39.2/9.39.3) |
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | devDependencies | patch | [`3.8.0` -> `3.8.1`](https://renovatebot.com/diffs/npm/prettier/3.8.0/3.8.1) |
| [stylelint](https://stylelint.io) ([source](https://github.com/stylelint/stylelint)) | devDependencies | minor | [`17.0.0` -> `17.4.0`](https://renovatebot.com/diffs/npm/stylelint/17.0.0/17.4.0) |

---

### Release Notes

<details>
<summary>eslint/eslint (eslint)</summary>

### [`v9.39.3`](https://github.com/eslint/eslint/releases/tag/v9.39.3)

[Compare Source](eslint/eslint@v9.39.2...v9.39.3)

#### Bug Fixes

- [`791bf8d`](eslint/eslint@791bf8d) fix: restore TypeScript 4.0 compatibility in types ([#&#8203;20504](eslint/eslint#20504)) (sethamus)

#### Chores

- [`8594a43`](eslint/eslint@8594a43) chore: upgrade [@&#8203;eslint/js](https://github.com/eslint/js)@&#8203;9.39.3 ([#&#8203;20529](eslint/eslint#20529)) (Milos Djermanovic)
- [`9ceef92`](eslint/eslint@9ceef92) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins)
- [`af498c6`](eslint/eslint@af498c6) chore: ignore `/docs/v9.x` in link checker ([#&#8203;20453](eslint/eslint#20453)) (Milos Djermanovic)

</details>

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.8.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#381)

[Compare Source](prettier/prettier@3.8.0...3.8.1)

[diff](prettier/prettier@3.8.0...3.8.1)

##### Include available `printers` in plugin type declarations ([#&#8203;18706](prettier/prettier#18706) by [@&#8203;porada](https://github.com/porada))

<!-- prettier-ignore -->

```ts
// Input
import * as prettierPluginEstree from "prettier/plugins/estree";

// Prettier 3.8.0
// Property 'printers' does not exist on type 'typeof import("prettier/plugins/estree")'. ts(2339)
prettierPluginEstree.printers.estree; //=> any

// Prettier 3.8.1
prettierPluginEstree.printers.estree; //=> Printer
prettierPluginEstree.printers["estree-json"]; //=> Printer
```

</details>

<details>
<summary>stylelint/stylelint (stylelint)</summary>

### [`v17.4.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1740---2026-02-25)

[Compare Source](stylelint/stylelint@17.3.0...17.4.0)

It adds 2 options to the rules and fixes 7 bugs.

- Added: `ignoreAtRules: []` to `at-rule-no-vendor-prefix` ([#&#8203;9096](stylelint/stylelint#9096)) ([@&#8203;theacrat](https://github.com/theacrat)).
- Added: `ignoreMediaFeatureNames: []` to `media-feature-name-no-vendor-prefix` ([#&#8203;9097](stylelint/stylelint#9097)) ([@&#8203;theacrat](https://github.com/theacrat)).
- Fixed: performance of selector cloning rules ([#&#8203;9089](stylelint/stylelint#9089)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `*-empty-line-before` performance ([#&#8203;9092](stylelint/stylelint#9092)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-value-no-unknown` performance ([#&#8203;9090](stylelint/stylelint#9090)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `no-irregular-whitespace` performance ([#&#8203;9091](stylelint/stylelint#9091)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `property-no-unknown` false negatives for at-rule descriptors ([#&#8203;9109](stylelint/stylelint#9109)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `property-no-unknown` false positives for `corner-shape` ([#&#8203;9099](stylelint/stylelint#9099)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `property-no-unknown` false positives for double-slashed properties ([#&#8203;9099](stylelint/stylelint#9099)) ([@&#8203;jeddy3](https://github.com/jeddy3)).

### [`v17.3.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1730---2026-02-13)

[Compare Source](stylelint/stylelint@17.2.0...17.3.0)

It fixes 17 bugs. 3 related to supporting `calc()` in `declaration-property-value-no-unknown`, and 13 performance ones that make Stylelint a further 3x faster when using the rules in our [standard config](https://www.npmjs.com/package/stylelint-config-standard).

- Fixed: performance of rule sequencing ([#&#8203;9055](stylelint/stylelint#9055)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `*-list` performance ([#&#8203;9056](stylelint/stylelint#9056)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `*-notation` performance ([#&#8203;9044](stylelint/stylelint#9044)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-max-values` performance ([#&#8203;9057](stylelint/stylelint#9057)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-value-keyword-no-deprecated` performance ([#&#8203;9058](stylelint/stylelint#9058)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-value-no-unknown` false negatives for math functions inside of non-math functions ([#&#8203;9064](stylelint/stylelint#9064)) ([@&#8203;romainmenke](https://github.com/romainmenke)).
- Fixed: `declaration-property-value-no-unknown` false positives for `calc()` with mixed operations ([#&#8203;9064](stylelint/stylelint#9064)) ([@&#8203;romainmenke](https://github.com/romainmenke)).
- Fixed: `declaration-property-value-no-unknown` performance ([#&#8203;9062](stylelint/stylelint#9062)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `declaration-property-value-no-unknown` reported ranges for multiple math functions ([#&#8203;9064](stylelint/stylelint#9064)) ([@&#8203;romainmenke](https://github.com/romainmenke)).
- Fixed: `length-zero-no-unit` performance ([#&#8203;9046](stylelint/stylelint#9046)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `named-grid-areas-no-invalid` false positives for mix of tabs and spaces ([#&#8203;9039](stylelint/stylelint#9039)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: `no-unknown-custom-media` performance ([#&#8203;9059](stylelint/stylelint#9059)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `selector-max-*` performance ([#&#8203;9042](stylelint/stylelint#9042)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `shorthand-property-no-redundant-values` performance ([#&#8203;9047](stylelint/stylelint#9047)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `syntax-string-no-invalid` performance ([#&#8203;9061](stylelint/stylelint#9061)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `time-min-milliseconds` performance ([#&#8203;9060](stylelint/stylelint#9060)) ([@&#8203;jeddy3](https://github.com/jeddy3)).
- Fixed: `value-keyword-case` performance ([#&#8203;9048](stylelint/stylelint#9048)) ([@&#8203;jeddy3](https://github.com/jeddy3)).

### [`v17.2.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1720---2026-02-10)

[Compare Source](stylelint/stylelint@17.1.1...17.2.0)

It fixes 7 bugs, including 5 performance ones that make Stylelint 7x faster and use 3x less memory on larger codebases such as design systems and monorepos. We also restructured our docs to create a [contributor guide](CONTRIBUTING.md). If you'd like to help out and contribute to Stylelint, that's the place to start.

- Fixed: performance of config augmentation and module imports ([#&#8203;9021](stylelint/stylelint#9021)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: performance of config override matching ([#&#8203;9023](stylelint/stylelint#9023)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: performance of config resolution ([#&#8203;9033](stylelint/stylelint#9033)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: performance of rule resolution ([#&#8203;9022](stylelint/stylelint#9022)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: `declaration-property-value-no-unknown` false negatives for math functions ([#&#8203;9011](stylelint/stylelint#9011)) ([@&#8203;ragini-pandey](https://github.com/ragini-pandey)).
- Fixed: `no-duplicate-selectors` false negatives for matching escaped selectors ([#&#8203;8953](stylelint/stylelint#8953)) ([@&#8203;bjnewman](https://github.com/bjnewman)).
- Fixed: `no-invalid-position-at-import-rule` false negatives for layers with blocks ([#&#8203;9026](stylelint/stylelint#9026)) ([@&#8203;romainmenke](https://github.com/romainmenke)).

### [`v17.1.1`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1711---2026-02-03)

[Compare Source](stylelint/stylelint@17.1.0...17.1.1)

It fixes 2 bugs.

- Fixed: resolution of configs, plugins, processors, and custom syntaxes in Yarn PnP environments ([#&#8203;9010](stylelint/stylelint#9010)) ([@&#8203;adalinesimonian](https://github.com/adalinesimonian)).
- Fixed: `lightness-notation` autofix for decimals ([#&#8203;9009](stylelint/stylelint#9009)) ([@&#8203;IlyaSemenov](https://github.com/IlyaSemenov)).

### [`v17.1.0`](https://github.com/stylelint/stylelint/blob/HEAD/CHANGELOG.md#1710---2026-01-30)

[Compare Source](stylelint/stylelint@17.0.0...17.1.0)

It fixes 5 bugs and adds the `display-notation` rule. Before we turn it on in our [standard config](https://www.npmjs.com/package/stylelint-config-standard), we'd like to [hear the community's thoughts](stylelint/stylelint-config-standard#387) on which options to use.

- Added: `display-notation` rule ([#&#8203;8981](stylelint/stylelint#8981)) ([@&#8203;romainmenke](https://github.com/romainmenke)).
- Fixed: `GlobbyOptions` TypeScript errors ([#&#8203;8992](stylelint/stylelint#8992)) ([@&#8203;zalishchuk](https://github.com/zalishchuk)).
- Fixed: `hue-degree-notation` false negatives and positives for relative colors ([#&#8203;8985](stylelint/stylelint#8985)) ([@&#8203;jamesnw](https://github.com/jamesnw)).
- Fixed: `lightness-notation` false negatives for relative colors ([#&#8203;8987](stylelint/stylelint#8987)) ([@&#8203;jamesnw](https://github.com/jamesnw)).
- Fixed: `selector-type-no-unknown` false positives for `geolocation` and `usermedia` ([#&#8203;9004](stylelint/stylelint#9004)) ([@&#8203;Mouvedia](https://github.com/Mouvedia)).
- Fixed: `selector-type-no-unknown` false positives for `rb`, `rtc` and `menuitem` ([#&#8203;8972](stylelint/stylelint#8972)) ([@&#8203;Mouvedia](https://github.com/Mouvedia)).

</details>

---

### 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 becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS42MS4wIiwidXBkYXRlZEluVmVyIjoiNDEuNjEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.robbevp.be/robbevp/website-robbevanpetegem/pulls/505
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

accepted There is consensus among the team that this change meets the criteria for inclusion bug ESLint is working incorrectly contributor pool github actions types Related to TypeScript types v9.x Issues/PRs related to the v9.x release line

Projects

Status: Complete

Development

Successfully merging this pull request may close these issues.

[Types] v9.39.0 breaks TypeScript 4.0 compatibility in published types

5 participants