2016-11-10 14:26:24 +01:00
{
2022-08-26 09:25:31 +02:00
"name" : "unleash-frontend-local" ,
"version" : "0.0.0" ,
"private" : true ,
2024-06-27 12:52:43 +02:00
"files" : [
"index.js" ,
"build"
] ,
2016-11-10 14:26:24 +01:00
"engines" : {
2023-04-18 14:42:49 +02:00
"node" : ">=18"
2016-11-10 14:26:24 +01:00
} ,
"scripts" : {
2024-03-12 13:29:52 +01:00
"build" : "yarn run lint:material:icons && vite build" ,
chore: simplify package scripts (#3736)
# Simplify package scripts
This PR's purpose is to raise a discussion surrounding our current
package scripts.
It includes some suggestions that aim to simplify the scripts and
hopefully bring a much more straightforward approach to developing and
contributing to Unleash.
Building (prod) should only happen **explicitly** and when needed.
## Before PR (current behavior)
- Clone the project;
- Open 2 terminals: One for `unleash` and another for
`unleash/frontend`;
- On `unleash`:
- Run `yarn` (which will also build, for some reason?);
- Run `yarn start:dev` to start backend in dev mode (`tsc-watch`);
- On `unleash/frontend`:
- Run `yarn` (which will also build, for some reason?);
- Run `yarn start` to start frontend in dev mode (`vite`);
So it seems to me like we build unnecessarily every time we install
dependencies. Neither dev scripts need to build the project, as backend
uses `tsc-watch` and frontend uses `vite`. I'm unsure why this is the
case, as building can take a very long time.
![image](https://github.com/Unleash/unleash/assets/14320932/5ecb7df1-e5b4-4d70-ba7e-97119f5d1116)
There's also some complexity in the way we need to split the terminal to
`cd` into `frontend` and treat it as a different project. The fact that
we have different script names is also confusing (`yarn start`, `yarn
start:dev`, etc).
## After PR
- Clone the project;
- Run `yarn` to install all dependencies;
- Run `yarn dev` to get started developing Unleash;
Running `yarn` should take care of everything needed to start
developing. This includes installing dependencies for frontend as well.
It should not build projects if we are not being explicit about it,
especially since we don't need to build them at this stage.
![image](https://github.com/Unleash/unleash/assets/14320932/614e42fc-3467-432f-91fc-624b1b35c7c1)
Running `yarn dev` should start the project in dev mode. This means
running both projects in `dev` mode, which for `backend` means running
`tsc-watch` and for `frontend` means running `vite`.
Here this PR attempts to provide a better DX by using
[concurrently](https://www.npmjs.com/package/concurrently) and
[wait-on](https://www.npmjs.com/package/wait-on) - This means both tasks
are ran simultaneously, stdout is labeled accordingly, and are stopped
together. It also means that `frontend` waits for `backend` to be
serving at `4242` before starting, since `frontend` starts pretty much
immediately with `vite` and `backend` takes a bit longer. Of course,
when the `backend` is hot-reloading you may still find some
`ECONNREFUSED`s on `frontend` stdout while it recompiles.
![image](https://github.com/Unleash/unleash/assets/14320932/8bde8ee2-3cad-4e3f-a0db-9eed60cfb04d)
No more splitting your terminal and treating `frontend` as a separate
project.
## Discussion points
Maybe there's a better alternative to `tsc-watch`? I briefly explored
some alternatives and while they had a much faster starting speed,
hot-reload was sometimes slower. IMO we should aspire to run
`src/server-dev.ts` directly and only compile when needed.
Running `dev:backend` still serves a version of the frontend (at 4242).
**Why? Can we remove that behavior?**
I can't imagine a scenario in dev where we wouldn't want to run the
latest version of the frontend with `vite`.
~~**Note:** This PR removes all other out-of-scope scripts to focus on
this revamp. If we decide to merge it, we should evaluate what other
existing scripts we still want to include. May be a good opportunity to
clean up unused ones and only include the ones we really use. This
includes scripts that our GH actions rely on.~~
**Update:** In an effort to minimize impact surface of this PR and make
it a bit more ready for merging:
- It updates some docs in
https://github.com/Unleash/unleash/pull/3736/commits/2a4ff805e87b65d9c1256effaa189ddcccba15fb
and
https://github.com/Unleash/unleash/pull/3736/commits/1bbc4882519b5a82e3116f0be255ad24a6f3ce53
to reflect our new simplified flow;
- It includes the old package scripts for now in
https://github.com/Unleash/unleash/pull/3736/commits/039bc04699ac880e491fd3ce01f9bcd6f97a94b9;
- It updates some of our GH actions to reflect the new scripts in
https://github.com/Unleash/unleash/pull/3736/commits/7782cb9b12e37ee844507e41ef2b7137eaf55666;
Given its current status I'll promote the PR to "ready for review".
I still think we should have a second look at our existing scripts and
GH actions to see what we really need and/or should adapt, but it should
be a team effort so we have a broader context. Maybe on a follow-up PR.
Does this require any changes to related projects (e.g. Enterprise)?
---------
Co-authored-by: Gastón Fournier <gaston@getunleash.io>
2023-05-12 12:23:22 +02:00
"dev" : "vite" ,
2022-05-05 17:15:22 +02:00
"start" : "vite" ,
2022-12-16 19:09:24 +01:00
"start:prod" : "vite build && vite preview" ,
2024-10-22 09:42:17 +02:00
"start:sandbox" : "UNLEASH_API=https://sandbox.getunleash.io/ VITE_TEST_REDIRECT=true UNLEASH_BASE_PATH=/pro/ yarn run start" ,
2024-01-05 09:23:12 +01:00
"start:sandbox:enterprise" : "UNLEASH_API=https://sandbox.getunleash.io/ VITE_TEST_REDIRECT=true UNLEASH_BASE_PATH=/enterprise/ yarn run start" ,
2023-01-17 13:33:52 +01:00
"start:demo2" : "UNLEASH_API=https://sandbox.getunleash.io/ UNLEASH_BASE_PATH=/demo2/ yarn run start" ,
"start:enterprise" : "UNLEASH_API=https://unleash.herokuapp.com VITE_TEST_REDIRECT=true yarn run start" ,
2023-02-17 12:15:50 +01:00
"start:demo" : "UNLEASH_BASE_PATH=/demo/ UNLEASH_API=https://app.unleash-hosted.com/ yarn run start" ,
2024-06-27 12:52:43 +02:00
"test" : "NODE_OPTIONS=\"${NODE_OPTIONS:-0} --no-experimental-fetch\" vitest run" ,
"test:snapshot" : "NODE_OPTIONS=\"${NODE_OPTIONS:-0} --no-experimental-fetch\" yarn test -u" ,
"test:watch" : "NODE_OPTIONS=\"${NODE_OPTIONS:-0} --no-experimental-fetch\" vitest watch" ,
2024-03-12 13:29:52 +01:00
"lint:material:icons" : "./check-imports.rc" ,
2024-11-08 09:40:17 +01:00
"lint" : "biome lint src --write" ,
2023-10-06 10:46:38 +02:00
"lint:check" : "biome check src" ,
2023-10-02 14:25:46 +02:00
"fmt" : "biome format src --write" ,
2023-10-06 10:46:38 +02:00
"fmt:check" : "biome check src" ,
2022-09-30 13:01:32 +02:00
"ts:check" : "tsc" ,
2024-08-05 14:31:25 +02:00
"e2e" : "NODE_OPTIONS=\"${NODE_OPTIONS:-} --no-experimental-fetch\" yarn run cypress open --config baseUrl='http://localhost:3000' --env AUTH_USER=admin,AUTH_PASSWORD=unleash4all" ,
2023-12-14 15:12:13 +01:00
"e2e:oss" : "yarn --cwd frontend run cypress run --spec \"cypress/oss/**/*.spec.ts\" --config baseUrl=\"http://localhost:${EXPOSED_PORT:-4242}\" --env AUTH_USER=admin,AUTH_PASSWORD=unleash4all" ,
2024-08-05 14:31:25 +02:00
"e2e:heroku" : "NODE_OPTIONS=\"${NODE_OPTIONS:-} --no-experimental-fetch\" yarn run cypress open --config baseUrl='https://unleash.herokuapp.com' --env AUTH_USER=admin,AUTH_PASSWORD=unleash4all" ,
"gen:api" : "NODE_OPTIONS=\"${NODE_OPTIONS:-} --no-experimental-fetch\" orval --config orval.config.js" ,
"gen:api:demo" : "NODE_OPTIONS=\"${NODE_OPTIONS:-} --no-experimental-fetch\" UNLEASH_OPENAPI_URL=https://app.unleash-hosted.com/demo/docs/openapi.json yarn run gen:api" ,
"gen:api:sandbox" : "NODE_OPTIONS=\"${NODE_OPTIONS:-} --no-experimental-fetch\" UNLEASH_OPENAPI_URL=https://sandbox.getunleash.io/demo2/docs/openapi.json yarn run gen:api" ,
2024-02-27 09:49:25 +01:00
"gen:api:clean" : "yarn gen:api && rm -rf src/openapi/apis && sed -i.bak '1q' src/openapi/index.ts && rm src/openapi/index.ts.bak"
2016-11-10 14:26:24 +01:00
} ,
2021-04-09 13:38:30 +02:00
"devDependencies" : {
2024-10-31 15:24:22 +01:00
"@biomejs/biome" : "1.9.4" ,
2022-10-26 22:13:52 +02:00
"@codemirror/lang-json" : "6.0.1" ,
2024-03-05 20:12:01 +01:00
"@emotion/react" : "11.11.4" ,
2024-04-05 22:03:49 +02:00
"@emotion/styled" : "11.11.5" ,
chore(deps): update material-ui monorepo (#5862)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@mui/icons-material](https://mui.com/material-ui/material-icons/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-icons-material))
| [`5.15.2` ->
`5.15.3`](https://renovatebot.com/diffs/npm/@mui%2ficons-material/5.15.2/5.15.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2ficons-material/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2ficons-material/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2ficons-material/5.15.2/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2ficons-material/5.15.2/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/lab](https://mui.com/material-ui/about-the-lab/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-lab))
| [`5.0.0-alpha.158` ->
`5.0.0-alpha.159`](https://renovatebot.com/diffs/npm/@mui%2flab/5.0.0-alpha.158/5.0.0-alpha.159)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2flab/5.0.0-alpha.159?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2flab/5.0.0-alpha.159?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2flab/5.0.0-alpha.158/5.0.0-alpha.159?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2flab/5.0.0-alpha.158/5.0.0-alpha.159?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [@mui/material](https://mui.com/material-ui/)
([source](https://togithub.com/mui/material-ui/tree/HEAD/packages/mui-material))
| [`5.15.2` ->
`5.15.3`](https://renovatebot.com/diffs/npm/@mui%2fmaterial/5.15.2/5.15.3)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@mui%2fmaterial/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@mui%2fmaterial/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@mui%2fmaterial/5.15.2/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@mui%2fmaterial/5.15.2/5.15.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>mui/material-ui (@​mui/icons-material)</summary>
###
[`v5.15.3`](https://togithub.com/mui/material-ui/blob/HEAD/CHANGELOG.md#5153)
[Compare
Source](https://togithub.com/mui/material-ui/compare/v5.15.2...v5.15.3)
<!-- generated comparing v5.15.2..master -->
*Jan 3, 2024*
A big thanks to the 11 contributors who made this release possible.
This release was mostly about 🐛 bug fixes and 📚 documentation
improvements.
##### `@mui/material-nextjs@5.15.3`
- <!-- 06 -->\[material-nextjs] Fix order of emotion server
([#​40409](https://togithub.com/mui/material-ui/issues/40409))
[@​siriwatknp](https://togithub.com/siriwatknp)
##### `@mui/base@5.0.0-beta.30`
- <!-- 40 -->\[useSlider] Rearrange passive option in eventlisteners
([#​40235](https://togithub.com/mui/material-ui/issues/40235))
[@​Kamino0](https://togithub.com/Kamino0)
##### `@mui/lab@5.0.0-alpha.159`
- <!-- 14 -->Add use client directive
([#​40358](https://togithub.com/mui/material-ui/issues/40358))
[@​DiegoAndai](https://togithub.com/DiegoAndai)
##### `@mui/material-next@6.0.0-alpha.116`
- <!-- 13 -->\[List] Copy all List\* components to material-next
package
([#​40367](https://togithub.com/mui/material-ui/issues/40367))
[@​sai6855](https://togithub.com/sai6855)
- <!-- 12 -->Update CONTRIBUTING guide given v6/v7 rescheduling
([#​40363](https://togithub.com/mui/material-ui/issues/40363))
[@​DiegoAndai](https://togithub.com/DiegoAndai)
- <!-- 11 -->\[MenuItem] Fix spec import
([#​40271](https://togithub.com/mui/material-ui/issues/40271))
[@​DiegoAndai](https://togithub.com/DiegoAndai)
- <!-- 10 -->\[Option] Add Option component
([#​40270](https://togithub.com/mui/material-ui/issues/40270))
[@​DiegoAndai](https://togithub.com/DiegoAndai)
- <!-- 09 -->\[Slider] Replace lodash with internal utils
([#​40261](https://togithub.com/mui/material-ui/issues/40261))
[@​DiegoAndai](https://togithub.com/DiegoAndai)
- <!-- 08 -->\[Switch] Change files to TypeScript
([#​39894](https://togithub.com/mui/material-ui/issues/39894))
[@​lhilgert9](https://togithub.com/lhilgert9)
- <!-- 07 -->\[theme] Move ref palette out of color schemes
([#​40341](https://togithub.com/mui/material-ui/issues/40341))
[@​DiegoAndai](https://togithub.com/DiegoAndai)
##### Docs
- <!-- 41 -->\[base-ui] Polish the Table Pagination demos
([#​40281](https://togithub.com/mui/material-ui/issues/40281))
[@​danilo-leal](https://togithub.com/danilo-leal)
- <!-- 22 -->\[joy-ui] Fix dashboard template console errors
([#​40316](https://togithub.com/mui/material-ui/issues/40316))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 21 -->\[joy-ui] Fix image size on the Files template
([#​40315](https://togithub.com/mui/material-ui/issues/40315))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 20 -->\[material-ui] Revise the Divider page
([#​40356](https://togithub.com/mui/material-ui/issues/40356))
[@​danilo-leal](https://togithub.com/danilo-leal)
- <!-- 19 -->\[material-ui] Polish the Next.js integration page
([#​40317](https://togithub.com/mui/material-ui/issues/40317))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 18 -->\[material-ui] Adding autoFocus on Virtual Popover
([#​40239](https://togithub.com/mui/material-ui/issues/40239))
[@​aacevski](https://togithub.com/aacevski)
- <!-- 17 -->\[material-ui] Revise the Roadmap page
([#​40054](https://togithub.com/mui/material-ui/issues/40054))
[@​danilo-leal](https://togithub.com/danilo-leal)
- <!-- 16 -->\[material-ui] Update the "showing and hiding" section on
the Tooltip page
([#​40283](https://togithub.com/mui/material-ui/issues/40283))
[@​anle9650](https://togithub.com/anle9650)
- <!-- 05 -->\[material-ui] Fix Slider's customized iOS demo to use
updated official colors
([#​39813](https://togithub.com/mui/material-ui/issues/39813))
[@​Super-Kenil](https://togithub.com/Super-Kenil)
- <!-- 15 -->\[examples] Simplify Next.js example
([#​40318](https://togithub.com/mui/material-ui/issues/40318))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
##### Core
- <!-- 39 -->\[blog] Update open-graph cards for all posts
([#​40328](https://togithub.com/mui/material-ui/issues/40328))
[@​danilo-leal](https://togithub.com/danilo-leal)
- <!-- 38 -->\[blog] Correct git diff
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 37 -->\[code-infra] Update lerna and unpin its version
([#​40399](https://togithub.com/mui/material-ui/issues/40399))
[@​michaldudak](https://togithub.com/michaldudak)
- <!-- 36 -->\[code-infra] Break package dependency cycle between
[@​mui/material](https://togithub.com/mui/material) and
[@​mui/icons-material](https://togithub.com/mui/icons-material)
([#​40400](https://togithub.com/mui/material-ui/issues/40400))
[@​michaldudak](https://togithub.com/michaldudak)
- <!-- 35 -->\[code-infra] Break package dependency cycles
([#​40398](https://togithub.com/mui/material-ui/issues/40398))
[@​michaldudak](https://togithub.com/michaldudak)
- <!-- 34 -->\[code-infra] Sync bug issue template
([#​40305](https://togithub.com/mui/material-ui/issues/40305))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 33 -->\[docs] Fix 301 link to Base UI
([#​40396](https://togithub.com/mui/material-ui/issues/40396))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 32 -->\[docs] Link new MUI X components in sidnav
([#​40345](https://togithub.com/mui/material-ui/issues/40345))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 31 -->\[docs] Fix 301 links to Toolpad
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 30 -->\[docs] Remove old notifications
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 29 -->\[docs] Always mention the npm tag with npx
([#​40335](https://togithub.com/mui/material-ui/issues/40335))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 28 -->\[docs] Reduce network use on the All Components pages
([#​40313](https://togithub.com/mui/material-ui/issues/40313))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 27 -->\[docs-infra] Fix missing button aria-label
([#​40394](https://togithub.com/mui/material-ui/issues/40394))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 26 -->\[docs-infra] Fix a11y violation rule
([#​40393](https://togithub.com/mui/material-ui/issues/40393))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 25 -->\[docs-infra] Prefetch pages on hover
([#​40314](https://togithub.com/mui/material-ui/issues/40314))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 24 -->\[docs-infra] Fix footer links to link to the main domain
([#​40373](https://togithub.com/mui/material-ui/issues/40373))
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 23 -->\[docs-infra] Add stray design adjustments
([#​40347](https://togithub.com/mui/material-ui/issues/40347))
[@​danilo-leal](https://togithub.com/danilo-leal)
- <!-- 04 -->\[website] Fix Base UI page's component section imports &
styles
([#​40231](https://togithub.com/mui/material-ui/issues/40231))
[@​danilo-leal](https://togithub.com/danilo-leal)
- <!-- 03 -->\[website] Fix outdated Nhost image link
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 02 -->\[website] Shorten Joy UI description, 7 chars too long
[@​oliviertassinari](https://togithub.com/oliviertassinari)
- <!-- 01 -->\[website] Update some social preview images
([#​40282](https://togithub.com/mui/material-ui/issues/40282))
[@​danilo-leal](https://togithub.com/danilo-leal)
All contributors of this release in alphabetical order:
[@​aacevski](https://togithub.com/aacevski),
[@​anle9650](https://togithub.com/anle9650),
[@​danilo-leal](https://togithub.com/danilo-leal),
[@​DiegoAndai](https://togithub.com/DiegoAndai),
[@​Kamino0](https://togithub.com/Kamino0),
[@​lhilgert9](https://togithub.com/lhilgert9),
[@​michaldudak](https://togithub.com/michaldudak),
[@​oliviertassinari](https://togithub.com/oliviertassinari),
[@​sai6855](https://togithub.com/sai6855),
[@​siriwatknp](https://togithub.com/siriwatknp),
[@​Super-Kenil](https://togithub.com/Super-Kenil)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Enabled.
♻ **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://togithub.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 [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-11 20:50:58 +01:00
"@mui/icons-material" : "5.15.3" ,
"@mui/lab" : "5.0.0-alpha.159" ,
"@mui/material" : "5.15.3" ,
2024-05-31 16:28:09 +02:00
"@mui/x-date-pickers" : "^7.0.0" ,
2023-12-01 15:53:05 +01:00
"@tanstack/react-table" : "^8.10.7" ,
2024-10-15 13:53:26 +02:00
"@testing-library/dom" : "10.4.0" ,
2024-11-08 19:31:07 +01:00
"@testing-library/jest-dom" : "6.6.3" ,
2024-12-24 02:54:10 +01:00
"@testing-library/react" : "16.1.0" ,
2024-01-05 20:03:31 +01:00
"@testing-library/user-event" : "14.5.2" ,
2024-04-10 15:07:55 +02:00
"@types/css-mediaquery" : "^0.1.4" ,
2023-11-27 12:17:21 +01:00
"@types/debounce" : "1.2.4" ,
2023-11-27 13:23:23 +01:00
"@types/deep-diff" : "1.0.5" ,
2024-10-30 20:17:38 +01:00
"@types/jest" : "29.5.14" ,
2023-11-27 18:56:28 +01:00
"@types/lodash.clonedeep" : "4.5.9" ,
2024-01-19 10:08:08 +01:00
"@types/lodash.isequal" : "^4.5.8" ,
2023-12-01 15:53:05 +01:00
"@types/lodash.mapvalues" : "^4.6.9" ,
2023-11-28 00:03:23 +01:00
"@types/lodash.omit" : "4.5.9" ,
2024-05-24 09:40:20 +02:00
"@types/node" : "^20.12.12" ,
2024-12-23 21:18:05 +01:00
"@types/react" : "18.3.17" ,
2024-12-23 00:13:48 +01:00
"@types/react-dom" : "18.3.5" ,
2022-05-05 15:34:46 +02:00
"@types/react-router-dom" : "5.3.3" ,
2024-03-27 02:04:59 +01:00
"@types/react-table" : "7.7.20" ,
2024-12-20 04:06:54 +01:00
"@types/react-test-renderer" : "18.3.1" ,
2024-03-05 02:47:37 +01:00
"@types/semver" : "7.5.8" ,
2023-01-27 09:13:57 +01:00
"@types/uuid" : "^9.0.0" ,
2024-12-23 21:18:26 +01:00
"@uiw/codemirror-theme-duotone" : "4.23.7" ,
2024-12-23 23:45:12 +01:00
"@uiw/react-codemirror" : "4.23.7" ,
2024-12-04 00:11:47 +01:00
"@vitejs/plugin-react" : "4.3.4" ,
2023-06-23 11:29:13 +02:00
"cartesian" : "^1.0.1" ,
2022-08-04 16:46:41 +02:00
"chart.js" : "3.9.1" ,
2022-12-28 14:09:19 +01:00
"chartjs-adapter-date-fns" : "3.0.0" ,
2024-09-03 14:05:25 +02:00
"chartjs-plugin-annotation" : "2.2.1" ,
2024-01-10 23:09:18 +01:00
"classnames" : "2.5.1" ,
2022-11-14 17:27:49 +01:00
"copy-to-clipboard" : "3.3.3" ,
2023-04-18 11:56:15 +02:00
"countries-and-timezones" : "^3.4.0" ,
2024-04-10 15:07:55 +02:00
"css-mediaquery" : "^0.1.2" ,
2024-12-24 23:40:22 +01:00
"cypress" : "13.17.0" ,
2023-05-08 10:16:18 +02:00
"cypress-vite" : "^1.4.0" ,
2023-05-16 16:45:53 +02:00
"date-fns" : "2.30.0" ,
2023-04-18 11:56:15 +02:00
"date-fns-tz" : "^2.0.0" ,
2024-10-25 04:17:46 +02:00
"debounce" : "2.2.0" ,
2021-11-08 16:02:06 +01:00
"deep-diff" : "1.0.2" ,
2022-10-10 12:18:37 +02:00
"dequal" : "2.0.3" ,
2022-03-24 20:06:59 +01:00
"fast-json-patch" : "3.1.1" ,
2024-10-21 20:54:21 +02:00
"http-proxy-middleware" : "2.0.7" ,
2023-04-03 17:42:06 +02:00
"immer" : "9.0.21" ,
2024-10-08 09:32:07 +02:00
"jsdom" : "25.0.1" ,
2021-09-27 09:12:17 +02:00
"lodash.clonedeep" : "4.5.0" ,
2024-01-19 10:08:08 +01:00
"lodash.isequal" : "^4.5.0" ,
2023-12-01 15:53:05 +01:00
"lodash.mapvalues" : "^4.6.0" ,
2022-12-02 10:39:20 +01:00
"lodash.omit" : "4.5.0" ,
2023-07-20 16:15:45 +02:00
"millify" : "^6.0.0" ,
2024-12-24 04:20:36 +01:00
"msw" : "2.7.0" ,
2024-10-29 10:31:56 +01:00
"orval" : "^6.31.0" ,
2022-08-18 15:56:39 +02:00
"pkginfo" : "0.4.1" ,
2024-06-03 22:20:11 +02:00
"plausible-tracker" : "0.3.9" ,
2022-02-11 01:34:06 +01:00
"prop-types" : "15.8.1" ,
2024-06-11 23:53:19 +02:00
"react" : "18.3.1" ,
2024-06-04 23:07:44 +02:00
"react-archer" : "4.4.0" ,
2022-08-02 05:44:13 +02:00
"react-chartjs-2" : "4.3.1" ,
2023-04-21 12:48:44 +02:00
"react-confetti" : "^6.1.0" ,
2024-06-11 23:53:19 +02:00
"react-dom" : "18.3.1" ,
2024-11-14 23:15:12 +01:00
"react-dropzone" : "14.3.5" ,
2022-10-10 12:18:37 +02:00
"react-error-boundary" : "3.1.4" ,
2024-11-05 11:50:14 +01:00
"react-github-calendar" : "^4.5.1" ,
2022-12-10 18:26:53 +01:00
"react-hooks-global-state" : "2.1.0" ,
2023-04-18 11:56:15 +02:00
"react-joyride" : "^2.5.3" ,
2023-04-21 12:48:44 +02:00
"react-markdown" : "^8.0.4" ,
2024-01-31 11:33:39 +01:00
"react-router-dom" : "6.16.0" ,
2022-05-17 16:33:12 +02:00
"react-table" : "7.8.0" ,
2024-06-11 23:53:19 +02:00
"react-test-renderer" : "18.3.1" ,
2024-12-24 19:12:26 +01:00
"sass" : "1.83.0" ,
2024-08-05 02:53:57 +02:00
"semver" : "7.6.3" ,
2024-02-28 21:15:14 +01:00
"swr" : "2.2.5" ,
2024-12-20 22:44:28 +01:00
"tss-react" : "4.9.14" ,
chore(deps): update dependency typescript to v5.4.5 (#7329)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`4.8.4` ->
`5.4.5`](https://renovatebot.com/diffs/npm/typescript/4.8.4/5.4.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/4.8.4/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/4.8.4/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [typescript](https://www.typescriptlang.org/)
([source](https://togithub.com/Microsoft/TypeScript)) | [`5.4.2` ->
`5.4.5`](https://renovatebot.com/diffs/npm/typescript/5.4.2/5.4.5) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.4.2/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.4.2/5.4.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>Microsoft/TypeScript (typescript)</summary>
###
[`v5.4.5`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.5):
TypeScript 5.4.5
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.4...v5.4.5)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.4.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.4
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.5
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.5%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.4.4`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.4):
TypeScript 5.4.4
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.3...v5.4.4)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.4.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.4
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.4%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.4.3`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.3):
TypeScript 5.4.3
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.2...v5.4.3)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.4.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.3%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.4.2`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.4.2):
TypeScript 5.4
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.3.3...v5.4.2)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-4/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.4.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.4.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.4.2%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.3.3`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.3.3):
TypeScript 5.3.3
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.3.2...v5.3.3)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.3.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.3.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.3.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.2%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.3.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.3%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.3.2`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.3.2):
TypeScript 5.3
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.2.2...v5.3.2)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-3/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.3.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.3.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.3.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.3.2%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.2.2`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.2.2):
TypeScript 5.2
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.1.6...v5.2.2)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-2/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.2.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.2.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.2.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.2.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.2.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.2.2%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.1.6`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.1.6):
TypeScript 5.1.6
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.1.5...v5.1.6)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript v5.1.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.2%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+).
- (5.1.4 [intentionally
skipped](https://togithub.com/microsoft/TypeScript/issues/53031#issuecomment-1610038922))
- [fixed issues query for Typescript v5.1.5
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.5%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.6
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.6%22+is%3Aclosed+).
Downloads are available on
[npm](https://www.npmjs.com/package/typescript)
###
[`v5.1.5`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.1.5):
TypeScript 5.1.5
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.1.3...v5.1.5)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript v5.1.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.2%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.1.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+).
- (5.1.4 [intentionally
skipped](https://togithub.com/microsoft/TypeScript/issues/53031#issuecomment-1610038922))
- [fixed issues query for Typescript v5.1.5
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.5%22+is%3Aclosed+).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.1.3`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.1.3):
TypeScript 5.1.3
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.0.4...v5.1.3)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-1/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript 5.1.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.0%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.1.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.1%22+is%3Aclosed+).
- [fixed issues query for Typescript 5.1.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.1.3%22+is%3Aclosed+).
Downloads are available on:
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.0.4`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.0.4):
TypeScript 5.0.4
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.0.3...v5.0.4)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript v5.0.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.2%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.3%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.4
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.4%22+is%3Aclosed+).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.0.3`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.0.3):
TypeScript 5.0.3
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v5.0.2...v5.0.3)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript v5.0.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.2%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.3
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=milestone%3A%22TypeScript+5.0.3%22+is%3Aclosed+).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v5.0.2`](https://togithub.com/microsoft/TypeScript/releases/tag/v5.0.2):
TypeScript 5.0
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v4.9.5...v5.0.2)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript v5.0.0
(Beta)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=is%3Aissue+milestone%3A%22TypeScript+5.0.0%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.1
(RC)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=is%3Aissue+milestone%3A%22TypeScript+5.0.1%22+is%3Aclosed+).
- [fixed issues query for Typescript v5.0.2
(Stable)](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=is%3Aissue+milestone%3A%22TypeScript+5.0.2%22+is%3Aclosed+).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
###
[`v4.9.5`](https://togithub.com/microsoft/TypeScript/releases/tag/v4.9.5):
TypeScript 4.9.5
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v4.9.4...v4.9.5)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
#### Changes:
-
[`69e88ef`](https://togithub.com/Microsoft/TypeScript/commit/69e88ef5513a81acf69ec78f4af1f927da0d0584)
Port ignore deprecations to 4.9
([#​52419](https://togithub.com/Microsoft/TypeScript/issues/52419))
-
[`daf4e81`](https://togithub.com/Microsoft/TypeScript/commit/daf4e817a18def96b70ac34703b158ff0e6d58df)
Port timestamp fix to 4.9
([#​52426](https://togithub.com/Microsoft/TypeScript/issues/52426))
###
[`v4.9.4`](https://togithub.com/microsoft/TypeScript/releases/tag/v4.9.4):
TypeScript 4.9.4
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v4.9.3...v4.9.4)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9).
For the complete list of fixed issues, check out the
- [fixed issues query for Typescript
v4.9.4](https://togithub.com/Microsoft/TypeScript/issues?utf8=%E2%9C%93\&q=is%3Aissue+milestone%3A%22TypeScript+4.9.4%22+is%3Aclosed+).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
#### Changes:
-
[`e286821`](https://togithub.com/Microsoft/TypeScript/commit/e2868216f637e875a74c675845625eb15dcfe9a2)
Bump version to 4.9.4 and LKG.
-
[`eb5419f`](https://togithub.com/Microsoft/TypeScript/commit/eb5419fc8d980859b98553586dfb5f40d811a745)
Cherry-pick
[#​51704](https://togithub.com/Microsoft/TypeScript/issues/51704)
to release 4.9
([#​51712](https://togithub.com/Microsoft/TypeScript/issues/51712))
-
[`b4d382b`](https://togithub.com/Microsoft/TypeScript/commit/b4d382b9b12460adf2da4cc0d1429cf19f8dc8be)
Cherry-pick changes for narrowing to tagged literal types.
-
[`e7a02f4`](https://togithub.com/Microsoft/TypeScript/commit/e7a02f43fce47e1a39259ada5460bcc33c8e98b5)
Port of
[#​51626](https://togithub.com/Microsoft/TypeScript/issues/51626)
and
[#​51689](https://togithub.com/Microsoft/TypeScript/issues/51689)
to release-4.9
([#​51627](https://togithub.com/Microsoft/TypeScript/issues/51627))
-
[`1727912`](https://togithub.com/Microsoft/TypeScript/commit/1727912f0437a7f367d90040fc4b0b4f3efd017a)
Cherry-pick fix around `visitEachChild` to release-4.9.
([#​51544](https://togithub.com/Microsoft/TypeScript/issues/51544))
This list of changes was [auto
generated](https://typescript.visualstudio.com/cf7ac146-d525-443c-b23c-0d58337efebc/\_release?releaseId=117&\_a=release-summary).
###
[`v4.9.3`](https://togithub.com/microsoft/TypeScript/releases/tag/v4.9.3):
TypeScript 4.9
[Compare
Source](https://togithub.com/Microsoft/TypeScript/compare/v4.8.4...v4.9.3)
For release notes, check out the [release
announcement](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/).
Downloads are available on:
- [npm](https://www.npmjs.com/package/typescript)
- [NuGet
package](https://www.nuget.org/packages/Microsoft.TypeScript.MSBuild)
#### Changes:
-
[`93bd577`](https://togithub.com/Microsoft/TypeScript/commit/93bd577458d55cd720b2677705feab5c91eb12ce)
Bump version to 4.9.3 and LKG.
-
[`107f832`](https://togithub.com/Microsoft/TypeScript/commit/107f832b80df2dc97748021cb00af2b6813db75b)
Update LKG.
-
[`31bee56`](https://togithub.com/Microsoft/TypeScript/commit/31bee5682df130a14ffdd5742f994dbe7313dd0e)
Cherry-pick PR
[#​50977](https://togithub.com/Microsoft/TypeScript/issues/50977)
into release-4.9
([#​51363](https://togithub.com/Microsoft/TypeScript/issues/51363))
\[
[#​50872](https://togithub.com/Microsoft/TypeScript/issues/50872)
]
-
[`1e2fa7a`](https://togithub.com/Microsoft/TypeScript/commit/1e2fa7ae15f8530910fef8b916ec8a4ed0b59c45)
Update version to 4.9.2-rc and LKG.
-
[`7ab89e5`](https://togithub.com/Microsoft/TypeScript/commit/7ab89e5c6e401d161f31f28a6c555a3ba530910e)
Merge remote-tracking branch 'origin/main' into release-4.9
-
[`e5cd686`](https://togithub.com/Microsoft/TypeScript/commit/e5cd686defb1a4cbdb36bd012357ba5bed28f371)
Update package-lock.json
-
[`8d40dc1`](https://togithub.com/Microsoft/TypeScript/commit/8d40dc15d1b9945837e7860320fdccfe27c40cad)
Update package-lock.json
-
[`5cfb3a2`](https://togithub.com/Microsoft/TypeScript/commit/5cfb3a2fe344a5350734305193e6cc99516285ca)
Only call return() for an abrupt completion in user code
([#​51297](https://togithub.com/Microsoft/TypeScript/issues/51297))
-
[`a7a9d15`](https://togithub.com/Microsoft/TypeScript/commit/a7a9d158e817fcb0e94dc1c24e0a401b21be0cc9)
Fix for broken baseline in yieldInForInInDownlevelGenerator
([#​51345](https://togithub.com/Microsoft/TypeScript/issues/51345))
-
[`7f8426f`](https://togithub.com/Microsoft/TypeScript/commit/7f8426f4df0d0a7dd8b72079dafc3e60164a23b1)
fix for-in enumeration containing yield in generator
([#​51295](https://togithub.com/Microsoft/TypeScript/issues/51295))
<details><summary><b>See More</b></summary>
-
[`3d2b401`](https://togithub.com/Microsoft/TypeScript/commit/3d2b4017eb6b9a2b94bc673291e56ae95e8beddd)
Fix assertion functions accessed via wildcard imports
([#​51324](https://togithub.com/Microsoft/TypeScript/issues/51324))
-
[`64d0d5a`](https://togithub.com/Microsoft/TypeScript/commit/64d0d5ae140b7b26a09e75114517b418d6bcaa9f)
fix(51301): Fixing an unused import at the end of a line removes the
newline
([#​51320](https://togithub.com/Microsoft/TypeScript/issues/51320))
-
[`754eeb2`](https://togithub.com/Microsoft/TypeScript/commit/754eeb2986bde30d5926e0fa99c87dda9266d01b)
Update CodeQL workflow and configuration, fix found bugs
([#​51263](https://togithub.com/Microsoft/TypeScript/issues/51263))
-
[`d8aad26`](https://togithub.com/Microsoft/TypeScript/commit/d8aad262006ad2d2c91aa7a0e4449b4b83c57f7b)
Update package-lock.json
-
[`d4f26c8`](https://togithub.com/Microsoft/TypeScript/commit/d4f26c840b1db76c0b25a405c8e73830a2b45cbc)
fix(51245): Class with parameter decorator in arrow function causes
"convert to default export" refactoring failure
([#​51256](https://togithub.com/Microsoft/TypeScript/issues/51256))
-
[`16faf45`](https://togithub.com/Microsoft/TypeScript/commit/16faf45682173ea437a50330feb4785578923d7f)
Update package-lock.json
-
[`8b1ecdb`](https://togithub.com/Microsoft/TypeScript/commit/8b1ecdb701e2a2e19e9f8bcdd6b2beac087eabee)
fix(50654): "Move to a new file" breaks the declaration of referenced
variable
([#​50681](https://togithub.com/Microsoft/TypeScript/issues/50681))
-
[`170a17f`](https://togithub.com/Microsoft/TypeScript/commit/170a17fad57eae619c5ef2b7bdb3ac00d6c32c47)
Dom update 2022-10-25
([#​51300](https://togithub.com/Microsoft/TypeScript/issues/51300))
-
[`9c4e14d`](https://togithub.com/Microsoft/TypeScript/commit/9c4e14d75174432f6a4dc5967a09712a6784ab88)
Remove "No type information for this code" from baseline
([#​51311](https://togithub.com/Microsoft/TypeScript/issues/51311))
-
[`88d25b4`](https://togithub.com/Microsoft/TypeScript/commit/88d25b4f232929df59729156dfda6b65277affec)
fix(50068): Refactors trigger debug failure when JSX text has a ' and a
tag on the same line.
([#​51299](https://togithub.com/Microsoft/TypeScript/issues/51299))
-
[`8bee69a`](https://togithub.com/Microsoft/TypeScript/commit/8bee69acf410d4986cb0cc102b949e2d133d5380)
Update package-lock.json
-
[`702de1e`](https://togithub.com/Microsoft/TypeScript/commit/702de1eeaaef88a189e4d06e5a2aae287853790a)
Fix early call to return/throw on generator
([#​51294](https://togithub.com/Microsoft/TypeScript/issues/51294))
-
[`2c12b14`](https://togithub.com/Microsoft/TypeScript/commit/2c12b1499908ad7718e65d20e264561207c22375)
Add a GH Action to file a new issue if we go a week without seeing a
typescript-error-deltas issue
([#​51271](https://togithub.com/Microsoft/TypeScript/issues/51271))
-
[`6af270d`](https://togithub.com/Microsoft/TypeScript/commit/6af270dee09d62516f6dc02ec102a745ffebc037)
Update package-lock.json
-
[`2cc4c16`](https://togithub.com/Microsoft/TypeScript/commit/2cc4c16a26672a7ba6c97ba16309fcf334db7cae)
Update package-lock.json
-
[`6093491`](https://togithub.com/Microsoft/TypeScript/commit/60934915d9ccc4ca9c0fb2cd060d7ec81601942b)
Fix apparent typo in getStringMappingType
([#​51248](https://togithub.com/Microsoft/TypeScript/issues/51248))
-
[`61c2609`](https://togithub.com/Microsoft/TypeScript/commit/61c26096e3373719ece686b84c698423890e9a5f)
Update package-lock.json
-
[`ef69116`](https://togithub.com/Microsoft/TypeScript/commit/ef69116c41cb6805f89e6592eacb0ccb7f02207d)
Generate shortest `rootDirs` module specifier instead of first possible
([#​51244](https://togithub.com/Microsoft/TypeScript/issues/51244))
-
[`bbb42f4`](https://togithub.com/Microsoft/TypeScript/commit/bbb42f453dc684e03d977c5b70391124d57543a9)
Fix typo in canWatchDirectoryOrFile found by CodeQL
([#​51262](https://togithub.com/Microsoft/TypeScript/issues/51262))
-
[`a56b254`](https://togithub.com/Microsoft/TypeScript/commit/a56b254ad3c52b598bc5d44f83f3d0a1cf806068)
Include 'this' type parameter in isRelatedTo fast path
([#​51230](https://togithub.com/Microsoft/TypeScript/issues/51230))
-
[`3abd351`](https://togithub.com/Microsoft/TypeScript/commit/3abd351c0eea55758f27ee5558a4a1525b77f45b)
Fix super property transform in async arrow in method
([#​51240](https://togithub.com/Microsoft/TypeScript/issues/51240))
-
[`eed0511`](https://togithub.com/Microsoft/TypeScript/commit/eed05112180e0d94f78aa02d676d49468f15dc31)
Update package-lock.json
-
[`2625c1f`](https://togithub.com/Microsoft/TypeScript/commit/2625c1feae25aede35465ca835440fc57bf13d52)
Make the init config category order predictable
([#​51247](https://togithub.com/Microsoft/TypeScript/issues/51247))
-
[`1ca99b3`](https://togithub.com/Microsoft/TypeScript/commit/1ca99b34029dafad2c18af7bdc0711f4abf7e522)
fix(50551): Destructuring assignment with var bypasses "variable is used
before being assigned" check (2454)
([#​50560](https://togithub.com/Microsoft/TypeScript/issues/50560))
-
[`3f28fa1`](https://togithub.com/Microsoft/TypeScript/commit/3f28fa12dfecb8dfd66ce4684bf26f64e1f092f1)
Update package-lock.json
-
[`906ebe4`](https://togithub.com/Microsoft/TypeScript/commit/906ebe49334a3a9c2dbd73cd3c902898bc712b66)
Revert structuredTypeRelatedTo change and fix isUnitLikeType
([#​51076](https://togithub.com/Microsoft/TypeScript/issues/51076))
-
[`8ac4652`](https://togithub.com/Microsoft/TypeScript/commit/8ac465239f52de1da3ada8cdc4c3f107f4d62e45)
change type
([#​51231](https://togithub.com/Microsoft/TypeScript/issues/51231))
-
[`245a02c`](https://togithub.com/Microsoft/TypeScript/commit/245a02cbed7ad50a21289730159abc8d19a66f40)
fix(51222): Go-to-definition on return statements should jump to the
containing function declaration
([#​51227](https://togithub.com/Microsoft/TypeScript/issues/51227))
-
[`2dff34e`](https://togithub.com/Microsoft/TypeScript/commit/2dff34e8c4a91c0005ca9ccfb7e045e225b6f2e4)
markAliasReferenced should include ExportValue as well
([#​51219](https://togithub.com/Microsoft/TypeScript/issues/51219))
-
[`5ef2634`](https://togithub.com/Microsoft/TypeScript/commit/5ef2634f3df138323383c7f2e5a05163a924ee86)
Update package-lock.json
-
[`d0f0e35`](https://togithub.com/Microsoft/TypeScript/commit/d0f0e35c88ae017fc4c1213eb2f83303ee22ebde)
Remove old tslint comments
([#​51220](https://togithub.com/Microsoft/TypeScript/issues/51220))
-
[`85d405a`](https://togithub.com/Microsoft/TypeScript/commit/85d405a1d74c0730a9d8d6307b26e8d6f3f75421)
Fixed a false positive "await has no effect on the type" diagnostic with
mixed generic union
([#​50833](https://togithub.com/Microsoft/TypeScript/issues/50833))
-
[`1f8959f`](https://togithub.com/Microsoft/TypeScript/commit/1f8959f5dc04b2b2c2fc8a7dc53b6ac761e1f754)
fix: avoid downleveled dynamic import closing over specifier expression
([#​49663](https://togithub.com/Microsoft/TypeScript/issues/49663))
-
[`11066b2`](https://togithub.com/Microsoft/TypeScript/commit/11066b264f5d30fb5ac1f6c2f3a155c0190e75d2)
Rename internal functions to `narrowTypeBySwitchOnTypeOf` and
`narrowTypeByInKeyword`
([#​51215](https://togithub.com/Microsoft/TypeScript/issues/51215))
-
[`4c9afe8`](https://togithub.com/Microsoft/TypeScript/commit/4c9afe8812fcdb4658472ccbced4a5cd4bae70ea)
Update package-lock.json
-
[`f25bcb7`](https://togithub.com/Microsoft/TypeScript/commit/f25bcb7c27d78ce89e9c9356d27058cf86dbfb5c)
fix(49196): add jsdoc snippet for interface member functions
([#​51135](https://togithub.com/Microsoft/TypeScript/issues/51135))
-
[`7406ee9`](https://togithub.com/Microsoft/TypeScript/commit/7406ee9c145cd7d6117391818d5a1eca2d66ca8f)
fix(51170): Completing an unimplemented property overwrites rest of line
([#​51175](https://togithub.com/Microsoft/TypeScript/issues/51175))
-
[`a1d82fc`](https://togithub.com/Microsoft/TypeScript/commit/a1d82fc9dcced6ca6bde6e21c385d152d083679f)
Remove some unnecessary code discovered by rollup
([#​51204](https://togithub.com/Microsoft/TypeScript/issues/51204))
-
[`0481773`](https://togithub.com/Microsoft/TypeScript/commit/0481773a27fc6a0132c34502fd2a3b0c73cf63a3)
LEGO: Merge pull request 51200
-
[`98c19cb`](https://togithub.com/Microsoft/TypeScript/commit/98c19cbbbe83c2ae3c89a4e08317a4b9ccbcb206)
LEGO: Merge pull request 51190
-
[`13c9b05`](https://togithub.com/Microsoft/TypeScript/commit/13c9b05384544262363f3fd8b942b36aeb84fc61)
Update package-lock.json
-
[`673475e`](https://togithub.com/Microsoft/TypeScript/commit/673475e1c5e582f2fd0bf8d89e33c7708607c8d8)
Update package-lock.json
-
[`f6cf510`](https://togithub.com/Microsoft/TypeScript/commit/f6cf51053e024714dd6b8463fe6f8e7e33461e6b)
Add more tracing to node16/nodenext resolution
([#​51168](https://togithub.com/Microsoft/TypeScript/issues/51168))
-
[`83c5581`](https://togithub.com/Microsoft/TypeScript/commit/83c5581588f660247bd9648bafe67b49de060a55)
Update package-lock.json
-
[`be5f0fe`](https://togithub.com/Microsoft/TypeScript/commit/be5f0fe5acfed5146514ebe7c1b65529def8e490)
Add an extra regression test for awaited unresolvable recursive union
([#​51167](https://togithub.com/Microsoft/TypeScript/issues/51167))
-
[`2cb7e77`](https://togithub.com/Microsoft/TypeScript/commit/2cb7e779d70d57ef0d46dd3f768e646b8bbe783a)
fix(50416): correctly names disabled export refactors
([#​50663](https://togithub.com/Microsoft/TypeScript/issues/50663))
\[
[#​50416](https://togithub.com/Microsoft/TypeScript/issues/50416)
]
-
[`2bcfed0`](https://togithub.com/Microsoft/TypeScript/commit/2bcfed01f3458996e71ce37af43e3495cb7e4950)
feat(37440): Provide a quick-fix for non-exported types
([#​51038](https://togithub.com/Microsoft/TypeScript/issues/51038))
-
[`a24201c`](https://togithub.com/Microsoft/TypeScript/commit/a24201c8ef6f82b5729ab677b7a1a1d6d745fcb8)
Remove VSDevMode.ps1 and createPlaygroundBuild
([#​51166](https://togithub.com/Microsoft/TypeScript/issues/51166))
-
[`2da62a7`](https://togithub.com/Microsoft/TypeScript/commit/2da62a784bbba237b8239e84c8629cfafb0f595e)
fix(51112): omit parameter names that precede the type
([#​51142](https://togithub.com/Microsoft/TypeScript/issues/51142))
-
[`cf1b6b7`](https://togithub.com/Microsoft/TypeScript/commit/cf1b6b73330eab2dd484d71cbdb662a83b3c726f)
feat(51163): show QF to fill in the missing properties for the mapped
type.
([#​51165](https://togithub.com/Microsoft/TypeScript/issues/51165))
-
[`bdcc240`](https://togithub.com/Microsoft/TypeScript/commit/bdcc240d68245e4be865b385bd6a8fd8fa546f56)
Remove bug-causing carve-out in conditional type instantiation that
hopefully is no longer required
([#​51151](https://togithub.com/Microsoft/TypeScript/issues/51151))
-
[`37317a2`](https://togithub.com/Microsoft/TypeScript/commit/37317a208f34c141b64e26d0e92b3aed346e531f)
Check nested weak types in intersections on target side of relation
([#​51140](https://togithub.com/Microsoft/TypeScript/issues/51140))
-
[`9f49f9c`](https://togithub.com/Microsoft/TypeScript/commit/9f49f9ccb05a7bb56b8ca84b8036a3ad4e0e7c2b)
Update package-lock.json
-
[`4f54e7e`](https://togithub.com/Microsoft/TypeScript/commit/4f54e7e947298162d29f3104265e74dcfbc90d82)
Fix isExhaustiveSwitchStatement to better handle circularities
([#​51095](https://togithub.com/Microsoft/TypeScript/issues/51095))
-
[`503604c`](https://togithub.com/Microsoft/TypeScript/commit/503604c884bd0557c851b11b699ef98cdb65b93b)
Overloads shouldn't gain
[@​deprecated](https://togithub.com/deprecated) tags of other
overloads in quick info
([#​50904](https://togithub.com/Microsoft/TypeScript/issues/50904))
-
[`e14a229`](https://togithub.com/Microsoft/TypeScript/commit/e14a2298c5add93816c6f487bcfc5ac72e3a4c59)
Update package-lock.json
-
[`67256e5`](https://togithub.com/Microsoft/TypeScript/commit/67256e50c41aa9178a60c52de8416477f070b190)
Remove unused declarations array in extractSymbol's TargetRange
([#​51091](https://togithub.com/Microsoft/TypeScript/issues/51091))
-
[`9c87ded`](https://togithub.com/Microsoft/TypeScript/commit/9c87ded2b3fc4ba4a9a7656e9be39d5e404e6ab6)
fix(51100): ensure tsserver shuts down when parent process is killed
([#​51107](https://togithub.com/Microsoft/TypeScript/issues/51107))
-
[`c01ae01`](https://togithub.com/Microsoft/TypeScript/commit/c01ae01fac37268bac3362fb6e6d26db730f7ed5)
Fix nightly publish oops in Gulpfile
([#​51131](https://togithub.com/Microsoft/TypeScript/issues/51131))
-
[`a7d10f1`](https://togithub.com/Microsoft/TypeScript/commit/a7d10f15bbd28166b869ae00482214e360891613)
Update package-lock.json
-
[`d0bfd8c`](https://togithub.com/Microsoft/TypeScript/commit/d0bfd8caed521bfd24fc44960d9936a891744bb7)
fix(51072): ts.preProcessFile finds import in template string after
conditional expression with template strings
([#​51082](https://togithub.com/Microsoft/TypeScript/issues/51082))
-
[`ad56b5c`](https://togithub.com/Microsoft/TypeScript/commit/ad56b5ca56b763ab377e07121ecfebb457a2e810)
Convert scripts/Gulpfile to checked mjs/cjs so they can run without
compilation
([#​50988](https://togithub.com/Microsoft/TypeScript/issues/50988))
-
[`dbeae5d`](https://togithub.com/Microsoft/TypeScript/commit/dbeae5d943c784661862c52b8e215a2907c31a33)
fix(51017): Make lineText in the references response opt-out
([#​51081](https://togithub.com/Microsoft/TypeScript/issues/51081))
-
[`d06a592`](https://togithub.com/Microsoft/TypeScript/commit/d06a592d02955822a7407b70969fb7a82bc17d59)
Properly defer resolution of mapped types with generic `as` clauses
([#​51050](https://togithub.com/Microsoft/TypeScript/issues/51050))
-
[`42b1049`](https://togithub.com/Microsoft/TypeScript/commit/42b1049aee8c655631cb4f0065de86ec1023d20a)
Update package-lock.json
-
[`5f3e6cc`](https://togithub.com/Microsoft/TypeScript/commit/5f3e6cc4980d26af5d8a8f463e59b2c3338165c6)
Plugin probe location is higher priority than peer node_modules
([#​51079](https://togithub.com/Microsoft/TypeScript/issues/51079))
\[
[#​34616](https://togithub.com/Microsoft/TypeScript/issues/34616)
]
-
[`2648f6a`](https://togithub.com/Microsoft/TypeScript/commit/2648f6ab09e3176c7da2c07c54066d3a3433a298)
Plugins in project were adding up after every config file reload
([#​51087](https://togithub.com/Microsoft/TypeScript/issues/51087))
-
[`c18791c`](https://togithub.com/Microsoft/TypeScript/commit/c18791ccf165672df3b55f5bdd4a8655f33be26c)
Fix incorrect options type to WatchOptions
([#​51064](https://togithub.com/Microsoft/TypeScript/issues/51064))
-
[`b0795e9`](https://togithub.com/Microsoft/TypeScript/commit/b0795e9c94757a8ee78077d160cde8819a9801ea)
Update package-lock.json
-
[`43c6fd4`](https://togithub.com/Microsoft/TypeScript/commit/43c6fd4c09464204bc6a6e1c6c1d32fa12270414)
Covert some of the config testing to baselines for easy validation
([#​51063](https://togithub.com/Microsoft/TypeScript/issues/51063))
-
[`fc5e72b`](https://togithub.com/Microsoft/TypeScript/commit/fc5e72b92cb8ea13c5e0f2cfc35d8b2cbfd1fe36)
Remove unused defaultWatchFileKind method since useFsEvents is default
for tsserver and tsc
([#​51044](https://togithub.com/Microsoft/TypeScript/issues/51044))
-
[`8af9a93`](https://togithub.com/Microsoft/TypeScript/commit/8af9a936b5240398370887c22cacaff65fee707b)
Use typescript.d.ts in APISample tests
([#​51061](https://togithub.com/Microsoft/TypeScript/issues/51061))
-
[`4953316`](https://togithub.com/Microsoft/TypeScript/commit/49533168dbb4e19f243b9dbdfd6a3aac69f5b3dd)
Remove configureLanguageServiceBuild, instrumenter
([#​51048](https://togithub.com/Microsoft/TypeScript/issues/51048))
-
[`9dfffd0`](https://togithub.com/Microsoft/TypeScript/commit/9dfffd0fbb406d7f2e5e2ca85768624ca388a7bf)
Update GitHub Actions
([#​51045](https://togithub.com/Microsoft/TypeScript/issues/51045))
-
[`4635a5c`](https://togithub.com/Microsoft/TypeScript/commit/4635a5cef9aefa9aa847ef7ce2e6767ddf4f54c2)
Update package-lock.json
-
[`33a34e5`](https://togithub.com/Microsoft/TypeScript/commit/33a34e5b96bfe086266f4765ab9789a2a02507f9)
Adding a JSDoc comment to the es5 type declarations to describe the
functionality of Date.now()
([#​50630](https://togithub.com/Microsoft/TypeScript/issues/50630))
-
[`299745c`](https://togithub.com/Microsoft/TypeScript/commit/299745cb217c2fc061f75b3735f8420d78b8360a)
Fix crash in goto-def on `@override`
([#​51016](https://togithub.com/Microsoft/TypeScript/issues/51016))
-
[`7dcf11f`](https://togithub.com/Microsoft/TypeScript/commit/7dcf11f13985be927886ebea353d282a9b3418e0)
fix(50750): Object type literal with string literal property in
contextual typing position causes language service error on all literal
type references
([#​50757](https://togithub.com/Microsoft/TypeScript/issues/50757))
-
[`5cd49f6`](https://togithub.com/Microsoft/TypeScript/commit/5cd49f6cbcd2effe9d425dee3a39cb49209bb656)
Update package-lock.json
-
[`8a1b858`](https://togithub.com/Microsoft/TypeScript/commit/8a1b85880f89c9cff606c5844e8883e5f483c7db)
Update package-lock.json
-
[`96894db`](https://togithub.com/Microsoft/TypeScript/commit/96894db6cb5b7af6857b4d0c7f70f7d8ac782d51)
Include type parameter defaults in contextual typing
([#​50994](https://togithub.com/Microsoft/TypeScript/issues/50994))
\[
[#​51002](https://togithub.com/Microsoft/TypeScript/issues/51002)
]
-
[`0d0a793`](https://togithub.com/Microsoft/TypeScript/commit/0d0a79371471d627ae298a145f8009b05cbccb72)
Allow Unicode extended escapes in ES5 and earlier
([#​50918](https://togithub.com/Microsoft/TypeScript/issues/50918))
-
[`58bae8d`](https://togithub.com/Microsoft/TypeScript/commit/58bae8db69b275a3efa57b14b486778c55185552)
Update package-lock.json
-
[`0ce72ef`](https://togithub.com/Microsoft/TypeScript/commit/0ce72ef6c8b39cd2d07e5b0eb3a0c144a7783ad2)
Add option to OrganizeImports for removal only
([#​50931](https://togithub.com/Microsoft/TypeScript/issues/50931))
-
[`42f9143`](https://togithub.com/Microsoft/TypeScript/commit/42f9143e114c5c07f40df83ed07ffeb3cbaf2101)
feat: codefix for `for await of`
([#​50623](https://togithub.com/Microsoft/TypeScript/issues/50623))
-
[`ecf50e8`](https://togithub.com/Microsoft/TypeScript/commit/ecf50e81a7a9cccd9bf5ea7598764082981faab0)
Properly compute `SymbolFlags.Optional` for intersected properties
([#​50958](https://togithub.com/Microsoft/TypeScript/issues/50958))
-
[`d1586de`](https://togithub.com/Microsoft/TypeScript/commit/d1586de0434567b998876929eb8229235b85b350)
Fully resolve aliases when checking symbol flags
([#​50853](https://togithub.com/Microsoft/TypeScript/issues/50853))
-
[`45148dd`](https://togithub.com/Microsoft/TypeScript/commit/45148dd715a7c3776840778b4df41e7e0bd0bf12)
Update LKG to 4.8.4
([#​50987](https://togithub.com/Microsoft/TypeScript/issues/50987))
-
[`9a83f25`](https://togithub.com/Microsoft/TypeScript/commit/9a83f2551ded0d88a0ba0ec9af260f83eb3568cd)
Update package-lock.json
-
[`865848f`](https://togithub.com/Microsoft/TypeScript/commit/865848fcfb9e6ce7dd64be563fc09f83d4bc9df5)
Fix `<=` and `>` comparisons when compared against prerelease versions
([#​50915](https://togithub.com/Microsoft/TypeScript/issues/50915))
-
[`fbfe934`](https://togithub.com/Microsoft/TypeScript/commit/fbfe9340a90777dee03b30f736fab44056123be0)
Fix comparability between type parameters related by a union constraint
([#​50978](https://togithub.com/Microsoft/TypeScript/issues/50978))
-
[`b09e93d`](https://togithub.com/Microsoft/TypeScript/commit/b09e93d3f6d3e999df001b53984954974c25b81f)
Merge pull request
[#​50041](https://togithub.com/Microsoft/TypeScript/issues/50041)
from microsoft/fix/47969
-
[`0ac12bb`](https://togithub.com/Microsoft/TypeScript/commit/0ac12bbe7a410238ca992a42f41816a97f6906f4)
Update package-lock.json
-
[`8192d55`](https://togithub.com/Microsoft/TypeScript/commit/8192d550496d884263e292488e325ae96893dc78)
Pick correct compilerOptions when checking if we can share
emitSignatures
([#​50910](https://togithub.com/Microsoft/TypeScript/issues/50910))
\[
[#​50902](https://togithub.com/Microsoft/TypeScript/issues/50902)
]
-
[`16faef1`](https://togithub.com/Microsoft/TypeScript/commit/16faef1d8d522b66b6c672bdd15b4026e2018a62)
During uptodate ness check with buildInfo, check if there are errors
explicitly with noEmit
([#​50974](https://togithub.com/Microsoft/TypeScript/issues/50974))
\[
[#​50959](https://togithub.com/Microsoft/TypeScript/issues/50959)
]
-
[`63791f5`](https://togithub.com/Microsoft/TypeScript/commit/63791f52d4e7a3bf461b974e94abd8cbb6b546c5)
Update package-lock.json
-
[`09368bc`](https://togithub.com/Microsoft/TypeScript/commit/09368bcbaebd157d1e66859ab6f5b30c2fd6eaff)
Handle if project for open file will get recollected because of pending
cleanup from closed script info
([#​50908](https://togithub.com/Microsoft/TypeScript/issues/50908))
\[
[#​50868](https://togithub.com/Microsoft/TypeScript/issues/50868)
]
-
[`c81bf4d`](https://togithub.com/Microsoft/TypeScript/commit/c81bf4d8b0c12410a082d6598fcc24cc721b6e9e)
fix(49594): Typescript 4.7.3 bracketed class property compilation error
strictPropertyInitialization:true
([#​49619](https://togithub.com/Microsoft/TypeScript/issues/49619))
-
[`bc9cbbe`](https://togithub.com/Microsoft/TypeScript/commit/bc9cbbef421ae907f7dfd5a84ca69c4f68a8935b)
Merge pull request
[#​49912](https://togithub.com/Microsoft/TypeScript/issues/49912)
from microsoft/fix/47508
-
[`5a10f46`](https://togithub.com/Microsoft/TypeScript/commit/5a10f46c0028790120cb85c826efa4248707a964)
Update package-lock.json
-
[`8e71f42`](https://togithub.com/Microsoft/TypeScript/commit/8e71f429c811ac7811533d7b0e02c32bad5a1b47)
Fixing pr comments
-
[`c100c64`](https://togithub.com/Microsoft/TypeScript/commit/c100c6488db0482dcc1455290f456dece91cac0a)
Update package-lock.json
-
[`2a91107`](https://togithub.com/Microsoft/TypeScript/commit/2a91107f7548eeb5e32673e76277d27264ea88e2)
Update package-lock.json
-
[`4ab9e76`](https://togithub.com/Microsoft/TypeScript/commit/4ab9e76fb748b08712f9d0017dd8f0ba74d1859f)
Use paths in package.json 'files' array that work with npm 6 and later.
([#​50930](https://togithub.com/Microsoft/TypeScript/issues/50930))
-
[`549b542`](https://togithub.com/Microsoft/TypeScript/commit/549b5429d4837344e8c99657109bb6538fd2dbb5)
Use paths in package.json 'files' array that work with npm 6 and later.
-
[`7f37d25`](https://togithub.com/Microsoft/TypeScript/commit/7f37d251fc69da34659e4c60792177e1e9a8e7a6)
Update version to 4.9.1-beta and LKG.
-
[`f16ca7d`](https://togithub.com/Microsoft/TypeScript/commit/f16ca7dd364e57ee7ce337f987b20dbc1e34941f)
Remove 'async' dependency, used only in errorCheck.ts, modernize file
([#​50667](https://togithub.com/Microsoft/TypeScript/issues/50667))
-
[`c6bef3f`](https://togithub.com/Microsoft/TypeScript/commit/c6bef3f02874bddf6df120aa4f0d130c58478468)
LEGO: Merge pull request 50921
-
[`6753027`](https://togithub.com/Microsoft/TypeScript/commit/675302730b8ca525d47c910bf2d3174bd3b66a1b)
Update package-lock.json
-
[`9740bcc`](https://togithub.com/Microsoft/TypeScript/commit/9740bcc53418e8792a4dbb978059ff5a02b55c91)
Pluralized `hasInvalidatedResolution` -> `hasInvalidatedResolutions`
([#​50912](https://togithub.com/Microsoft/TypeScript/issues/50912))
-
[`84c29cd`](https://togithub.com/Microsoft/TypeScript/commit/84c29cd576fd1facb9b3a353d5342df04acdb184)
🤖 Pick PR
[#​50912](https://togithub.com/Microsoft/TypeScript/issues/50912)
(Pluralized \`hasInvalidatedResolutio...) into release-4.9
([#​50913](https://togithub.com/Microsoft/TypeScript/issues/50913))
-
[`a26f634`](https://togithub.com/Microsoft/TypeScript/commit/a26f63424de249bb106804dfc9a024bb525de93e)
Merge remote-tracking branch 'origin/main' into release-4.9
-
[`a455955`](https://togithub.com/Microsoft/TypeScript/commit/a455955aac85ecc5b2182fe50b83670188955feb)
Make hasInvalidatedResolution non internal for program and add it
watchApi
([#​50776](https://togithub.com/Microsoft/TypeScript/issues/50776))
\[
[#​48057](https://togithub.com/Microsoft/TypeScript/issues/48057)
]
-
[`645d1cd`](https://togithub.com/Microsoft/TypeScript/commit/645d1cd7c1ee1d65a87b2183b173611467256a09)
Fix assert in addIndirectUser in FAR
([#​50905](https://togithub.com/Microsoft/TypeScript/issues/50905))
-
[`bbec17d`](https://togithub.com/Microsoft/TypeScript/commit/bbec17d9003246fa00d6bf676bb4ce7c54ff2be4)
LEGO: Merge pull request 50900
-
[`a9ecc67`](https://togithub.com/Microsoft/TypeScript/commit/a9ecc675d636c3bbca697bc4881b019e8645a7a6)
Update package-lock.json
-
[`221cf55`](https://togithub.com/Microsoft/TypeScript/commit/221cf55a21e448bd3fe2cf26a754c9c0dda3dca3)
package.json `exports` should have priority over `typesVersions`
([#​50890](https://togithub.com/Microsoft/TypeScript/issues/50890))
-
[`acb8977`](https://togithub.com/Microsoft/TypeScript/commit/acb89771901f8c81c6046fa7c16361a83388ddab)
Remove .github/tsc.json
([#​50664](https://togithub.com/Microsoft/TypeScript/issues/50664))
-
[`7a3de81`](https://togithub.com/Microsoft/TypeScript/commit/7a3de819bfb93fb27ef7ea8305d2df069866c380)
fix(49993): skip the quick fix for an expression with an enum type
([#​50625](https://togithub.com/Microsoft/TypeScript/issues/50625))
-
[`2644f28`](https://togithub.com/Microsoft/TypeScript/commit/2644f2867734d77a3a3939c55d5cc0a5004df0ed)
fix(49200): skip duplicated method declarations
([#​50609](https://togithub.com/Microsoft/TypeScript/issues/50609))
-
[`98652a3`](https://togithub.com/Microsoft/TypeScript/commit/98652a349a67be718e8e8b5fcf590972eb62a104)
Bump version to 4.9.0-beta and LKG.
-
[`4d91204`](https://togithub.com/Microsoft/TypeScript/commit/4d91204c9d9f27756785f62fade44d93824d47f4)
fix(37030): Expand Selection in function and arrow function skips body
block
([#​50711](https://togithub.com/Microsoft/TypeScript/issues/50711))
-
[`e2dd508`](https://togithub.com/Microsoft/TypeScript/commit/e2dd5084f75ac37a78102d212b67d36595596137)
DOM update 2022/09/21
([#​50884](https://togithub.com/Microsoft/TypeScript/issues/50884))
-
[`1d9ab83`](https://togithub.com/Microsoft/TypeScript/commit/1d9ab83914a551936ce5ef80340ee65cfd1422ba)
fix(50866): emit modifiers from export declarations
([#​50874](https://togithub.com/Microsoft/TypeScript/issues/50874))
-
[`92a1b12`](https://togithub.com/Microsoft/TypeScript/commit/92a1b124c178e1ff4871b29cb9abc00307e21742)
LEGO: Merge pull request 50877
-
[`e383db6`](https://togithub.com/Microsoft/TypeScript/commit/e383db692eb44561333c1bbe353788b337aebc99)
Fix debug.ts \__debugKind check
([#​50871](https://togithub.com/Microsoft/TypeScript/issues/50871))
-
[`01054e0`](https://togithub.com/Microsoft/TypeScript/commit/01054e05ab7638e96515619c4ce62200fdf4e0fd)
Consistently add undefined/missing to optional tuple element types
([#​50831](https://togithub.com/Microsoft/TypeScript/issues/50831))
-
[`d90795e`](https://togithub.com/Microsoft/TypeScript/commit/d90795e799ca8e41aabd6d0852abb585138200ef)
Improve escape sequence handling in private names
([#​50856](https://togithub.com/Microsoft/TypeScript/issues/50856))
-
[`938a69a`](https://togithub.com/Microsoft/TypeScript/commit/938a69a526166ca4e7880fa140fba432936f0fe3)
Fix import statement completions followed by interface declaration
([#​50350](https://togithub.com/Microsoft/TypeScript/issues/50350))
-
[`e002159`](https://togithub.com/Microsoft/TypeScript/commit/e002159ad133a024bae48a2e190e54ad93f6b52d)
feat(49962): Disallow comparison against NaN
([#​50626](https://togithub.com/Microsoft/TypeScript/issues/50626))
-
[`80ae43d`](https://togithub.com/Microsoft/TypeScript/commit/80ae43d2399503a04651e3705823137d36148b00)
Fixing spaces
-
[`abc58bd`](https://togithub.com/Microsoft/TypeScript/commit/abc58bdabcf536bd5204fbc84fb7f45d75f1a9ad)
Fixing baseline errors
-
[`305f4bd`](https://togithub.com/Microsoft/TypeScript/commit/305f4bd420bf9edc0239fd3a740aa83fbdeb9ba2)
Merge branch 'main' into fix/47969
-
[`23746af`](https://togithub.com/Microsoft/TypeScript/commit/23746af766b53fcc3afecfa16478809a5a36628a)
fix(50591): RangeError: Maximum call stack size exceeded
([#​50594](https://togithub.com/Microsoft/TypeScript/issues/50594))
-
[`168186f`](https://togithub.com/Microsoft/TypeScript/commit/168186f93d23ae59dbea3fea2adba453527343fd)
Allow a union property of a private/protected member and an intersection
property including that same member
([#​50328](https://togithub.com/Microsoft/TypeScript/issues/50328))
-
[`812ebcf`](https://togithub.com/Microsoft/TypeScript/commit/812ebcf6e3aebfa72b976a6ae4d65929759a2867)
Update package-lock.json
-
[`16156b1`](https://togithub.com/Microsoft/TypeScript/commit/16156b1baf26a39ce428423f7106f3ef2b4e98bb)
Add rules from eslint's recommended set that triggered good lints
([#​50422](https://togithub.com/Microsoft/TypeScript/issues/50422))
-
[`a11c416`](https://togithub.com/Microsoft/TypeScript/commit/a11c41621bbbab100a391dd348651c6661549663)
Improve checking of `in` operator
([#​50666](https://togithub.com/Microsoft/TypeScript/issues/50666))
-
[`67f2b62`](https://togithub.com/Microsoft/TypeScript/commit/67f2b62ed2bd1de0299781ba659fa638346bcecf)
Gabritto/jsemitfixsilly
([#​50849](https://togithub.com/Microsoft/TypeScript/issues/50849))
-
[`3014dec`](https://togithub.com/Microsoft/TypeScript/commit/3014dec8878a9ff8d86186a6ac3fd9fad4f3b739)
Don't elide imports when transforming JS files
([#​50404](https://togithub.com/Microsoft/TypeScript/issues/50404))
-
[`57c7aa7`](https://togithub.com/Microsoft/TypeScript/commit/57c7aa755ca3028ff13eb6a37d91775a6fac71e3)
LEGO: Merge pull request 50842
-
[`48a8e89`](https://togithub.com/Microsoft/TypeScript/commit/48a8e8953a1e609970dc85e08f99ac499bfe8356)
Improve check of whether type query node possibly contains reference to
type parameter
([#​50070](https://togithub.com/Microsoft/TypeScript/issues/50070))
-
[`af9ced1`](https://togithub.com/Microsoft/TypeScript/commit/af9ced11f50c8ac15079d2f88f8961f1e5b62f7f)
LEGO: Merge pull request 50825
-
[`a8e13f7`](https://togithub.com/Microsoft/TypeScript/commit/a8e13f7340c5229426072d443fa511bba82a0054)
Fixed an issue with destructured bindings from a generic union
constraint not being narrowed correctly
([#​50221](https://togithub.com/Microsoft/TypeScript/issues/50221))
-
[`08af0b6`](https://togithub.com/Microsoft/TypeScript/commit/08af0b6bf0041fef52ca8c1b69d6d4a3db439196)
Update package-lock.json
-
[`0df46e8`](https://togithub.com/Microsoft/TypeScript/commit/0df46e873322b8eeb271a442eaf034d91ae68770)
Fix test around RegExp match vs. exec results
([#​50813](https://togithub.com/Microsoft/TypeScript/issues/50813))
-
[`906510e`](https://togithub.com/Microsoft/TypeScript/commit/906510e0f30590a4c8fdc892905ccb8dbe512e3d)
Fixes for pr
-
[`2970c5d`](https://togithub.com/Microsoft/TypeScript/commit/2970c5d1671b2376711cd55594c4597d6da7d8c3)
make `RegExpExecArray` always include index 0
([#​50713](https://togithub.com/Microsoft/TypeScript/issues/50713))
-
[`0507192`](https://togithub.com/Microsoft/TypeScript/commit/05071920a03f8ea530fe01f79f2537c999ec8b02)
Accepting baselines
-
[`29e50b3`](https://togithub.com/Microsoft/TypeScript/commit/29e50b314900d22b08f6472918f59ae2b40aba08)
Rewording documentation
-
[`01cae69`](https://togithub.com/Microsoft/TypeScript/commit/01cae69e3403a831bc5c752b95c8b7547dd95821)
fix(50796): omit questionToken in object literal method completions
([#​50802](https://togithub.com/Microsoft/TypeScript/issues/50802))
-
[`3b84f76`](https://togithub.com/Microsoft/TypeScript/commit/3b84f76fb23bd39d14c7243e5cd495fd207916c0)
Fix crash caused by incorrect bounds check (regression in 4.8)
([#​50797](https://togithub.com/Microsoft/TypeScript/issues/50797))
-
[`7e51306`](https://togithub.com/Microsoft/TypeScript/commit/7e51306d30b72ce474054c3f3047f57d90dca41a)
Update package-lock.json
-
[`8b35c13`](https://togithub.com/Microsoft/TypeScript/commit/8b35c1300e14ebc026b4f1621db8f6f1bba30833)
The error "Object is possibly null or undefined" is ambiguous.
([#​49797](https://togithub.com/Microsoft/TypeScript/issues/49797))
-
[`a3f51b3`](https://togithub.com/Microsoft/TypeScript/commit/a3f51b3b8278b7dc5f59d83f35458338f57c81c7)
Update user baselines +cc
[@​sandersn](https://togithub.com/sandersn)
([#​43554](https://togithub.com/Microsoft/TypeScript/issues/43554))
-
[`ba10a0d`](https://togithub.com/Microsoft/TypeScript/commit/ba10a0d7c06df259e620645a8d6fd9a5262d8b5d)
Removing duplicated code
-
[`ec6ae1c`](https://togithub.com/Microsoft/TypeScript/commit/ec6ae1c4d0f48f15cd01b1502d0b2e5ac387dcf5)
Partially revert
[#​41044](https://togithub.com/Microsoft/TypeScript/issues/41044),
restoring parameter destructurings in d.ts files
([#​50779](https://togithub.com/Microsoft/TypeScript/issues/50779))
-
[`28232ca`](https://togithub.com/Microsoft/TypeScript/commit/28232ca4b8833957cdf8d592f085fb80d97ef604)
LEGO: Merge pull request 50783
-
[`49cfa1d`](https://togithub.com/Microsoft/TypeScript/commit/49cfa1db17b593191601736a11cbf165d42510a0)
Update package-lock.json
-
[`4110b80`](https://togithub.com/Microsoft/TypeScript/commit/4110b80fbb24f2ac6dd284ef3511ca69ac6db517)
Fix equality narrowing and comparable relation for intersections with {}
([#​50735](https://togithub.com/Microsoft/TypeScript/issues/50735))
-
[`b23f1d6`](https://togithub.com/Microsoft/TypeScript/commit/b23f1d6b59beabde1072d14b7fb65781ce209c15)
LEGO: Merge pull request 50771
-
[`618fb2d`](https://togithub.com/Microsoft/TypeScript/commit/618fb2d8b92357d564ddb8596296ecaba5468002)
Update package-lock.json
-
[`08b91f6`](https://togithub.com/Microsoft/TypeScript/commit/08b91f6b827e9ee98407c0eb969579ab77fa9f0c)
fix(50717): tsc crashes when it sees a JSDoc tag inside an
[@​override](https://togithub.com/override) annotation
([#​50724](https://togithub.com/Microsoft/TypeScript/issues/50724))
-
[`60963d7`](https://togithub.com/Microsoft/TypeScript/commit/60963d7216266bca6ef3236f43913de703fe5c7a)
Discriminant of type `never` should never be matched
([#​50755](https://togithub.com/Microsoft/TypeScript/issues/50755))
-
[`e37ea53`](https://togithub.com/Microsoft/TypeScript/commit/e37ea53715a725dd13699dc1be5190c6ebd0d8f8)
Update package-lock.json
-
[`a88c366`](https://togithub.com/Microsoft/TypeScript/commit/a88c36655b575d3039f187e64016b971efc0f173)
Fix test baselining for tsserver host timeouts
([#​50748](https://togithub.com/Microsoft/TypeScript/issues/50748))
-
[`6d38487`](https://togithub.com/Microsoft/TypeScript/commit/6d384876e5adeffd6e04cf4e6dd7ea5fc0dd0584)
Fix workflow typo
([#​50746](https://togithub.com/Microsoft/TypeScript/issues/50746))
-
[`6b890f9`](https://togithub.com/Microsoft/TypeScript/commit/6b890f93c491d3496dfd7909592c1df8a771fcd0)
Handle more places where package direcroy is converted to canonical file
path
([#​50740](https://togithub.com/Microsoft/TypeScript/issues/50740))
-
[`f5f2923`](https://togithub.com/Microsoft/TypeScript/commit/f5f2923c7d0f0963a78b9c5f233b635d4e78ae91)
Revert removal of nonInferrableAnyType
([#​50691](https://togithub.com/Microsoft/TypeScript/issues/50691))
-
[`7120b52`](https://togithub.com/Microsoft/TypeScript/commit/7120b520cfe7b92d2b4bbfd679f1f5bd0c559c2c)
Update twoslash workflow
([#​50738](https://togithub.com/Microsoft/TypeScript/issues/50738))
-
[`68d526c`](https://togithub.com/Microsoft/TypeScript/commit/68d526c200a0a5c5102458689
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, 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.
🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/Unleash/unleash).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zOTMuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM5My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-06-10 12:24:17 +02:00
"typescript" : "5.4.5" ,
2023-12-01 15:53:05 +01:00
"use-query-params" : "^2.2.1" ,
2024-03-21 02:11:34 +01:00
"vanilla-jsoneditor" : "^0.23.0" ,
chore(deps): update dependency vite to v5.4.12 [security] (#9131)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`5.4.11` ->
`5.4.12`](https://renovatebot.com/diffs/npm/vite/5.4.11/5.4.12) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.11/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.11/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
### GitHub Vulnerability Alerts
####
[CVE-2025-24010](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-vg6x-rcgg-rjx6)
### Summary
Vite allowed any websites to send any requests to the development server
and read the response due to default CORS settings and lack of
validation on the Origin header for WebSocket connections.
### Upgrade Path
Users that does not match either of the following conditions should be
able to upgrade to a newer version of Vite that fixes the vulnerability
without any additional configuration.
- Using the backend integration feature
- Using a reverse proxy in front of Vite
- Accessing the development server via a domain other than `localhost`
or `*.localhost`
- Using a plugin / framework that connects to the WebSocket server on
their own from the browser
#### Using the backend integration feature
If you are using the backend integration feature and not setting
[`server.origin`](https://vite.dev/config/server-options.html#server-origin),
you need to add the origin of the backend server to the
[`server.cors.origin`](https://redirect.github.com/expressjs/cors#configuration-options)
option. Make sure to set a specific origin rather than `*`, otherwise
any origin can access your development server.
#### Using a reverse proxy in front of Vite
If you are using a reverse proxy in front of Vite and sending requests
to Vite with a hostname other than `localhost` or `*.localhost`, you
need to add the hostname to the new
[`server.allowedHosts`](https://vite.dev/config/server-options.html#server-allowedhosts)
option. For example, if the reverse proxy is sending requests to
`http://vite:5173`, you need to add `vite` to the `server.allowedHosts`
option.
#### Accessing the development server via a domain other than
`localhost` or `*.localhost`
You need to add the hostname to the new
[`server.allowedHosts`](https://vite.dev/config/server-options.html#server-allowedhosts)
option. For example, if you are accessing the development server via
`http://foo.example.com:8080`, you need to add `foo.example.com` to the
`server.allowedHosts` option.
#### Using a plugin / framework that connects to the WebSocket server on
their own from the browser
If you are using a plugin / framework, try upgrading to a newer version
of Vite that fixes the vulnerability. If the WebSocket connection
appears not to be working, the plugin / framework may have a code that
connects to the WebSocket server on their own from the browser.
In that case, you can either:
- fix the plugin / framework code to the make it compatible with the new
version of Vite
- set `legacy.skipWebSocketTokenCheck: true` to opt-out the fix for [2]
while the plugin / framework is incompatible with the new version of
Vite
- When enabling this option, **make sure that you are aware of the
security implications** described in the impact section of [2] above.
### Mitigation without upgrading Vite
#### [1]: Permissive default CORS settings
Set `server.cors` to `false` or limit `server.cors.origin` to trusted
origins.
#### [2]: Lack of validation on the Origin header for WebSocket
connections
There aren't any mitigations for this.
#### [3]: Lack of validation on the Host header for HTTP requests
Use Chrome 94+ or use HTTPS for the development server.
### Details
There are three causes that allowed malicious websites to send any
requests to the development server:
#### [1]: Permissive default CORS settings
Vite sets the
[`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)
header depending on
[`server.cors`](https://vite.dev/config/server-options.html#server-cors)
option. The default value was `true` which sets
`Access-Control-Allow-Origin: *`. This allows websites on any origin to
`fetch` contents served on the development server.
Attack scenario:
1. The attacker serves a malicious web page
(`http://malicious.example.com`).
2. The user accesses the malicious web page.
3. The attacker sends a `fetch('http://127.0.0.1:5173/main.js')` request
by JS in that malicious web page. This request is normally blocked by
same-origin policy, but that's not the case for the reasons above.
4. The attacker gets the content of `http://127.0.0.1:5173/main.js`.
#### [2]: Lack of validation on the Origin header for WebSocket
connections
Vite starts a WebSocket server to handle HMR and other functionalities.
This WebSocket server [did not perform validation on the Origin
header](https://redirect.github.com/vitejs/vite/blob/v6.0.7/packages/vite/src/node/server/ws.ts#L145-L157)
and was vulnerable to Cross-Site WebSocket Hijacking (CSWSH) attacks.
With that attack, an attacker can read and write messages on the
WebSocket connection. Vite only sends some information over the
WebSocket connection ([list of the file paths that changed, the file
content where the errored happened,
etc.](https://redirect.github.com/vitejs/vite/blob/v6.0.7/packages/vite/types/hmrPayload.d.ts#L12-L72)),
but plugins can send arbitrary messages and may include more sensitive
information.
Attack scenario:
1. The attacker serves a malicious web page
(`http://malicious.example.com`).
2. The user accesses the malicious web page.
3. The attacker runs `new WebSocket('http://127.0.0.1:5173',
'vite-hmr')` by JS in that malicious web page.
4. The user edits some files.
5. Vite sends some HMR messages over WebSocket.
6. The attacker gets the content of the HMR messages.
#### [3]: Lack of validation on the Host header for HTTP requests
Unless
[`server.https`](https://vite.dev/config/server-options.html#server-https)
is set, Vite starts the development server on HTTP. Non-HTTPS servers
are vulnerable to DNS rebinding attacks without validation on the Host
header. But Vite did not perform validation on the Host header. By
exploiting this vulnerability, an attacker can send arbitrary requests
to the development server bypassing the same-origin policy.
1. The attacker serves a malicious web page that is served on **HTTP**
(`http://malicious.example.com:5173`) (HTTPS won't work).
2. The user accesses the malicious web page.
3. The attacker changes the DNS to point to 127.0.0.1 (or other private
addresses).
4. The attacker sends a `fetch('/main.js')` request by JS in that
malicious web page.
5. The attacker gets the content of `http://127.0.0.1:5173/main.js`
bypassing the same origin policy.
### Impact
#### [1]: Permissive default CORS settings
Users with the default `server.cors` option may:
- get the source code stolen by malicious websites
- give the attacker access to functionalities that are not supposed to
be exposed externally
- Vite core does not have any functionality that causes changes
somewhere else when receiving a request, but plugins may implement those
functionalities and servers behind `server.proxy` may have those
functionalities.
#### [2]: Lack of validation on the Origin header for WebSocket
connections
All users may get the file paths of the files that changed and the file
content where the error happened be stolen by malicious websites.
For users that is using a plugin that sends messages over WebSocket,
that content may be stolen by malicious websites.
For users that is using a plugin that has a functionality that is
triggered by messages over WebSocket, that functionality may be
exploited by malicious websites.
#### [3]: Lack of validation on the Host header for HTTP requests
Users using HTTP for the development server and using a browser that is
not Chrome 94+ may:
- get the source code stolen by malicious websites
- give the attacker access to functionalities that are not supposed to
be exposed externally
- Vite core does not have any functionality that causes changes
somewhere else when receiving a request, but plugins may implement those
functionalities and servers behind `server.proxy` may have those
functionalities.
Chrome 94+ users are not affected for [3], because [sending a request to
a private network page from public non-HTTPS page is
forbidden](https://developer.chrome.com/blog/private-network-access-update#chrome_94)
since Chrome 94.
### Related Information
Safari has [a bug that blocks requests to loopback addresses from HTTPS
origins](https://bugs.webkit.org/show_bug.cgi?id=171934). This means
when the user is using Safari and Vite is listening on lookback
addresses, there's another condition of "the malicious web page is
served on HTTP" to make [1] and [2] to work.
### PoC
#### [2]: Lack of validation on the Origin header for WebSocket
connections
1. I used the `react` template which utilizes HMR functionality.
```
npm create vite@latest my-vue-app-react -- --template react
```
2. Then on a malicious server, serve the following POC html:
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>vite CSWSH</title>
</head>
<body>
<div id="logs"></div>
<script>
const div = document.querySelectorAll('#logs')[0];
const ws = new WebSocket('ws://localhost:5173','vite-hmr');
ws.onmessage = event => {
const logLine = document.createElement('p');
logLine.innerHTML = event.data;
div.append(logLine);
};
</script>
</body>
</html>
```
3. Kick off Vite
```
npm run dev
```
4. Load the development server (open `http://localhost:5173/`) as well
as the malicious page in the browser.
5. Edit `src/App.jsx` file and intentionally place a syntax error
6. Notice how the malicious page can view the websocket messages and a
snippet of the source code is exposed
Here's a video demonstrating the POC:
https://github.com/user-attachments/assets/a4ad05cd-0b34-461c-9ff6-d7c8663d6961
---
### Release Notes
<details>
<summary>vitejs/vite (vite)</summary>
###
[`v5.4.12`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.12)
[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v5.4.11...v5.4.12)
Please refer to
[CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
for details.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone Europe/Madrid,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 23:19:51 +01:00
"vite" : "5.4.12" ,
2023-12-20 14:48:18 +01:00
"vite-plugin-env-compatible" : "2.0.1" ,
2023-10-01 02:51:52 +02:00
"vite-plugin-svgr" : "3.3.0" ,
2024-03-21 00:49:05 +01:00
"vite-tsconfig-paths" : "4.3.2" ,
2024-03-22 19:14:17 +01:00
"vitest" : "1.4.0" ,
2024-01-10 04:23:31 +01:00
"whatwg-fetch" : "3.6.20"
2017-02-23 22:18:23 +01:00
} ,
2022-10-14 11:44:59 +02:00
"resolutions" : {
2025-01-21 23:13:06 +01:00
"@codemirror/state" : "6.5.1" ,
chore(deps): update dependency @xmldom/xmldom to ^0.9.0 (#8105)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [@xmldom/xmldom](https://redirect.github.com/xmldom/xmldom) |
[`^0.8.4` ->
`^0.9.0`](https://renovatebot.com/diffs/npm/@xmldom%2fxmldom/0.8.10/0.9.0)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/@xmldom%2fxmldom/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@xmldom%2fxmldom/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@xmldom%2fxmldom/0.8.10/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@xmldom%2fxmldom/0.8.10/0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>xmldom/xmldom (@​xmldom/xmldom)</summary>
###
[`v0.9.0`](https://redirect.github.com/xmldom/xmldom/blob/HEAD/CHANGELOG.md#090)
[Compare
Source](https://redirect.github.com/xmldom/xmldom/compare/0.8.10...0.9.0)
-
[Discussion](https://redirect.github.com/xmldom/xmldom/discussions/435)
- [Summary on
dev.to](https://dev.to/karfau/release-090-of-xmldomxmldom-4106)
##### Features
- feat: expose all DOM level 2 element prototypes
[`#637`](https://redirect.github.com/xmldom/xmldom/pull/637) /
[`#40`](https://redirect.github.com/xmldom/xmldom/issues/40)
- feat: add iterator function to NodeList and NamedNodeMap
[`#634`](https://redirect.github.com/xmldom/xmldom/pull/634) /
[`#633`](https://redirect.github.com/xmldom/xmldom/issues/633)
##### Fixed
- parse empty/whitspace only doctype internal subset
[`#692`](https://redirect.github.com/xmldom/xmldom/pull/692)
- avoid prototype clash in namespace prefix
[`#554`](https://redirect.github.com/xmldom/xmldom/pull/554)
- report fatalError when doctype is inside elements
[`#550`](https://redirect.github.com/xmldom/xmldom/pull/550)
##### Other
- test: add fuzz target and regression tests
[`#556`](https://redirect.github.com/xmldom/xmldom/pull/556)
- chore: improve .gitignore and provide .envrc.template
[`#697`](https://redirect.github.com/xmldom/xmldom/pull/697)
- chore: Apply security best practices
[`#546`](https://redirect.github.com/xmldom/xmldom/pull/546)
- ci: check test coverage in PRs
[`#524`](https://redirect.github.com/xmldom/xmldom/pull/524)
- docs: add missing commas to readme
[`#566`](https://redirect.github.com/xmldom/xmldom/pull/566)
- docs: click to copy install command in readme
[`#644`](https://redirect.github.com/xmldom/xmldom/pull/644)
- docs: enhance jsdoc comments
[`#511`](https://redirect.github.com/xmldom/xmldom/pull/511)
Thank you, [@​kboshold](https://redirect.github.com/kboshold),
[@​edi9999](https://redirect.github.com/edi9999),
[@​apupier](https://redirect.github.com/apupier),
[@​shunkica](https://redirect.github.com/shunkica),
[@​homer0](https://redirect.github.com/homer0),
[@​jhauga](https://redirect.github.com/jhauga),
[@​UdayKharatmol](https://redirect.github.com/UdayKharatmol), for
your contributions
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 7pm every weekday,before 5am
every weekday" in timezone Europe/Madrid, Automerge - At any time (no
schedule defined).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-06 00:51:07 +02:00
"@xmldom/xmldom" : "^0.9.0" ,
2024-12-05 02:18:48 +01:00
"jsonpath-plus" : "10.2.0" ,
2023-01-17 13:33:52 +01:00
"json5" : "^2.2.2" ,
chore(deps): update dependency vite to v5.4.12 [security] (#9131)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`5.4.11` ->
`5.4.12`](https://renovatebot.com/diffs/npm/vite/5.4.11/5.4.12) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.11/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.11/5.4.12?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
### GitHub Vulnerability Alerts
####
[CVE-2025-24010](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-vg6x-rcgg-rjx6)
### Summary
Vite allowed any websites to send any requests to the development server
and read the response due to default CORS settings and lack of
validation on the Origin header for WebSocket connections.
### Upgrade Path
Users that does not match either of the following conditions should be
able to upgrade to a newer version of Vite that fixes the vulnerability
without any additional configuration.
- Using the backend integration feature
- Using a reverse proxy in front of Vite
- Accessing the development server via a domain other than `localhost`
or `*.localhost`
- Using a plugin / framework that connects to the WebSocket server on
their own from the browser
#### Using the backend integration feature
If you are using the backend integration feature and not setting
[`server.origin`](https://vite.dev/config/server-options.html#server-origin),
you need to add the origin of the backend server to the
[`server.cors.origin`](https://redirect.github.com/expressjs/cors#configuration-options)
option. Make sure to set a specific origin rather than `*`, otherwise
any origin can access your development server.
#### Using a reverse proxy in front of Vite
If you are using a reverse proxy in front of Vite and sending requests
to Vite with a hostname other than `localhost` or `*.localhost`, you
need to add the hostname to the new
[`server.allowedHosts`](https://vite.dev/config/server-options.html#server-allowedhosts)
option. For example, if the reverse proxy is sending requests to
`http://vite:5173`, you need to add `vite` to the `server.allowedHosts`
option.
#### Accessing the development server via a domain other than
`localhost` or `*.localhost`
You need to add the hostname to the new
[`server.allowedHosts`](https://vite.dev/config/server-options.html#server-allowedhosts)
option. For example, if you are accessing the development server via
`http://foo.example.com:8080`, you need to add `foo.example.com` to the
`server.allowedHosts` option.
#### Using a plugin / framework that connects to the WebSocket server on
their own from the browser
If you are using a plugin / framework, try upgrading to a newer version
of Vite that fixes the vulnerability. If the WebSocket connection
appears not to be working, the plugin / framework may have a code that
connects to the WebSocket server on their own from the browser.
In that case, you can either:
- fix the plugin / framework code to the make it compatible with the new
version of Vite
- set `legacy.skipWebSocketTokenCheck: true` to opt-out the fix for [2]
while the plugin / framework is incompatible with the new version of
Vite
- When enabling this option, **make sure that you are aware of the
security implications** described in the impact section of [2] above.
### Mitigation without upgrading Vite
#### [1]: Permissive default CORS settings
Set `server.cors` to `false` or limit `server.cors.origin` to trusted
origins.
#### [2]: Lack of validation on the Origin header for WebSocket
connections
There aren't any mitigations for this.
#### [3]: Lack of validation on the Host header for HTTP requests
Use Chrome 94+ or use HTTPS for the development server.
### Details
There are three causes that allowed malicious websites to send any
requests to the development server:
#### [1]: Permissive default CORS settings
Vite sets the
[`Access-Control-Allow-Origin`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin)
header depending on
[`server.cors`](https://vite.dev/config/server-options.html#server-cors)
option. The default value was `true` which sets
`Access-Control-Allow-Origin: *`. This allows websites on any origin to
`fetch` contents served on the development server.
Attack scenario:
1. The attacker serves a malicious web page
(`http://malicious.example.com`).
2. The user accesses the malicious web page.
3. The attacker sends a `fetch('http://127.0.0.1:5173/main.js')` request
by JS in that malicious web page. This request is normally blocked by
same-origin policy, but that's not the case for the reasons above.
4. The attacker gets the content of `http://127.0.0.1:5173/main.js`.
#### [2]: Lack of validation on the Origin header for WebSocket
connections
Vite starts a WebSocket server to handle HMR and other functionalities.
This WebSocket server [did not perform validation on the Origin
header](https://redirect.github.com/vitejs/vite/blob/v6.0.7/packages/vite/src/node/server/ws.ts#L145-L157)
and was vulnerable to Cross-Site WebSocket Hijacking (CSWSH) attacks.
With that attack, an attacker can read and write messages on the
WebSocket connection. Vite only sends some information over the
WebSocket connection ([list of the file paths that changed, the file
content where the errored happened,
etc.](https://redirect.github.com/vitejs/vite/blob/v6.0.7/packages/vite/types/hmrPayload.d.ts#L12-L72)),
but plugins can send arbitrary messages and may include more sensitive
information.
Attack scenario:
1. The attacker serves a malicious web page
(`http://malicious.example.com`).
2. The user accesses the malicious web page.
3. The attacker runs `new WebSocket('http://127.0.0.1:5173',
'vite-hmr')` by JS in that malicious web page.
4. The user edits some files.
5. Vite sends some HMR messages over WebSocket.
6. The attacker gets the content of the HMR messages.
#### [3]: Lack of validation on the Host header for HTTP requests
Unless
[`server.https`](https://vite.dev/config/server-options.html#server-https)
is set, Vite starts the development server on HTTP. Non-HTTPS servers
are vulnerable to DNS rebinding attacks without validation on the Host
header. But Vite did not perform validation on the Host header. By
exploiting this vulnerability, an attacker can send arbitrary requests
to the development server bypassing the same-origin policy.
1. The attacker serves a malicious web page that is served on **HTTP**
(`http://malicious.example.com:5173`) (HTTPS won't work).
2. The user accesses the malicious web page.
3. The attacker changes the DNS to point to 127.0.0.1 (or other private
addresses).
4. The attacker sends a `fetch('/main.js')` request by JS in that
malicious web page.
5. The attacker gets the content of `http://127.0.0.1:5173/main.js`
bypassing the same origin policy.
### Impact
#### [1]: Permissive default CORS settings
Users with the default `server.cors` option may:
- get the source code stolen by malicious websites
- give the attacker access to functionalities that are not supposed to
be exposed externally
- Vite core does not have any functionality that causes changes
somewhere else when receiving a request, but plugins may implement those
functionalities and servers behind `server.proxy` may have those
functionalities.
#### [2]: Lack of validation on the Origin header for WebSocket
connections
All users may get the file paths of the files that changed and the file
content where the error happened be stolen by malicious websites.
For users that is using a plugin that sends messages over WebSocket,
that content may be stolen by malicious websites.
For users that is using a plugin that has a functionality that is
triggered by messages over WebSocket, that functionality may be
exploited by malicious websites.
#### [3]: Lack of validation on the Host header for HTTP requests
Users using HTTP for the development server and using a browser that is
not Chrome 94+ may:
- get the source code stolen by malicious websites
- give the attacker access to functionalities that are not supposed to
be exposed externally
- Vite core does not have any functionality that causes changes
somewhere else when receiving a request, but plugins may implement those
functionalities and servers behind `server.proxy` may have those
functionalities.
Chrome 94+ users are not affected for [3], because [sending a request to
a private network page from public non-HTTPS page is
forbidden](https://developer.chrome.com/blog/private-network-access-update#chrome_94)
since Chrome 94.
### Related Information
Safari has [a bug that blocks requests to loopback addresses from HTTPS
origins](https://bugs.webkit.org/show_bug.cgi?id=171934). This means
when the user is using Safari and Vite is listening on lookback
addresses, there's another condition of "the malicious web page is
served on HTTP" to make [1] and [2] to work.
### PoC
#### [2]: Lack of validation on the Origin header for WebSocket
connections
1. I used the `react` template which utilizes HMR functionality.
```
npm create vite@latest my-vue-app-react -- --template react
```
2. Then on a malicious server, serve the following POC html:
```html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>vite CSWSH</title>
</head>
<body>
<div id="logs"></div>
<script>
const div = document.querySelectorAll('#logs')[0];
const ws = new WebSocket('ws://localhost:5173','vite-hmr');
ws.onmessage = event => {
const logLine = document.createElement('p');
logLine.innerHTML = event.data;
div.append(logLine);
};
</script>
</body>
</html>
```
3. Kick off Vite
```
npm run dev
```
4. Load the development server (open `http://localhost:5173/`) as well
as the malicious page in the browser.
5. Edit `src/App.jsx` file and intentionally place a syntax error
6. Notice how the malicious page can view the websocket messages and a
snippet of the source code is exposed
Here's a video demonstrating the POC:
https://github.com/user-attachments/assets/a4ad05cd-0b34-461c-9ff6-d7c8663d6961
---
### Release Notes
<details>
<summary>vitejs/vite (vite)</summary>
###
[`v5.4.12`](https://redirect.github.com/vitejs/vite/releases/tag/v5.4.12)
[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v5.4.11...v5.4.12)
Please refer to
[CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v5.4.12/packages/vite/CHANGELOG.md)
for details.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "" in timezone Europe/Madrid,
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Enabled.
♻ **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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Unleash/unleash).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xMDcuMCIsInVwZGF0ZWRJblZlciI6IjM5LjEwNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-21 23:19:51 +01:00
"vite" : "5.4.12" ,
2024-08-05 02:53:57 +02:00
"semver" : "7.6.3" ,
2024-07-30 11:15:04 +02:00
"ws" : "^8.18.0" ,
2024-12-23 21:18:05 +01:00
"@types/react" : "18.3.17"
2022-10-14 11:44:59 +02:00
} ,
2017-02-23 22:18:23 +01:00
"jest" : {
"moduleNameMapper" : {
2022-02-04 11:32:02 +01:00
"\\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$" : "<rootDir>/src/__mocks__/fileMock.js" ,
"\\.svg" : "<rootDir>/src/__mocks__/svgMock.js" ,
2017-02-23 22:18:23 +01:00
"\\.(css|scss)$" : "identity-obj-proxy"
2022-02-04 11:32:02 +01:00
}
2021-04-07 09:04:48 +02:00
} ,
"browserslist" : {
2024-06-27 12:52:43 +02:00
"production" : [
">0.2%" ,
"not dead" ,
"not op_mini all"
] ,
2021-04-07 09:04:48 +02:00
"development" : [
"last 1 chrome version" ,
"last 1 firefox version" ,
"last 1 safari version"
2021-02-05 14:33:32 +01:00
]
2024-06-27 12:52:43 +02:00
} ,
2024-12-04 08:39:50 +01:00
"packageManager" : "yarn@4.5.3" ,
2024-08-13 15:28:03 +02:00
"dependencies" : {
"json-2-csv" : "^5.5.5"
}
2016-11-10 14:26:24 +01:00
}