Skip to content

fix(ssr): ssrTransform incorrectly rewrites meta identifier inside import.meta when a binding named meta exists#22019

Merged
sapphi-red merged 2 commits intomainfrom
copilot/fix-ssrtransform-import-meta-issue
Mar 25, 2026
Merged

fix(ssr): ssrTransform incorrectly rewrites meta identifier inside import.meta when a binding named meta exists#22019
sapphi-red merged 2 commits intomainfrom
copilot/fix-ssrtransform-import-meta-issue

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 25, 2026

When an imported binding was named meta, ssrTransform would incorrectly replace the meta in import.meta with the import binding accessor, corrupting the output.

Root Cause

isRefIdentifier had no guard for MetaProperty parent nodes. The meta identifier in import.meta has a MetaProperty parent, but the function only excluded MemberExpression non-computed properties — so meta was treated as a rewritable reference.

Fix

  • Added a MetaProperty parent check to isRefIdentifier, returning false to prevent rewriting identifiers that are part of import.meta.
// Before — broken
import { meta } from './meta';
console.log(import.meta.url, `Hello, ${meta}!`);
// Transformed to (wrong):
// console.log(__vite_ssr_import_meta__.url, `Hello, ${__vite_ssr_import_0__.meta}!`)
// ^ meta in import.meta was also getting rewritten incorrectly

// After — correct
// console.log(__vite_ssr_import_meta__.url, `Hello, ${__vite_ssr_import_0__.meta}!`)
Original prompt

This section details on the original issue you should resolve

<issue_title>ssrTransform fails to transform import.meta when there is imported variable named meta</issue_title>
<issue_description>### Describe the bug

ssrTransform fails to transform code below:

import { meta } from './meta';

console.log(import.meta.url, `Hello, ${meta}!`);
Error message
Error: Cannot split a chunk that has already been edited (1:19 – "import.meta")
    at MagicString._splitChunk (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:4738:10)
    at MagicString._split (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:4729:43)
    at MagicString.update (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:4553:8)
    at onIdentifier (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:11324:75)
    at eval (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:11436:37)
    at walk (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:11435:14)
    at ssrTransformScript (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:11301:2)
    at async loadAndTransform (file:///home/projects/vitejs-vite-5acvpgpu/node_modules/.pnpm/vite@8.0.2/node_modules/vite/dist/node/chunks/node.js:24317:64)

Looks like it hits the below s.update(id.start, id.end, binding) call and tries to replace meta in import.meta with something else. Need to handle a MetaProperty parent.

s.update(id.start, id.end, binding)

For context, I encountered this bug while using Storybook Vitest addon.

Reproduction

https://stackblitz.com/edit/vitejs-vite-5acvpgpu?file=repro.ts

Steps to reproduce

vite.config.ts:

import { defineConfig } from "vite";

export default defineConfig({
  environments: {
    ssr: {},
  },
  builder: {
    async buildApp() { }
  }
})

repro.ts:

import { createServer } from "vite"

const server = await createServer()
const result = await server.environments.ssr.transformRequest("src/index.ts");

console.log(result?.code);

await server.close();

src/index.ts:

import { meta } from './meta';

console.log(import.meta.url, `Hello, ${meta}!`);

Run node repro.ts to see the error.

System Info

Both Vite 7 and 8 have this issue.

System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 22.22.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.8.2 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm

Used Package Manager

npm

Logs

No response

Validations

Comments on the Issue (you are @copilot in this section)


💬 Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished.

…ed variable named meta

Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com>
Agent-Logs-Url: https://github.com/vitejs/vite/sessions/27c82719-20e6-40fc-a484-c983e3586fd2
Copilot AI changed the title [WIP] Fix ssrTransform failure with imported variable named meta fix(ssr): ssrTransform incorrectly rewrites meta identifier inside import.meta when a binding named meta exists Mar 25, 2026
Copilot AI requested a review from sapphi-red March 25, 2026 05:24
@sapphi-red sapphi-red added p3-minor-bug An edge case that only affects very specific usage (priority) feat: ssr labels Mar 25, 2026
@sapphi-red sapphi-red marked this pull request as ready for review March 25, 2026 05:58
@sapphi-red sapphi-red merged commit cff5f0c into main Mar 25, 2026
30 of 31 checks passed
@sapphi-red sapphi-red deleted the copilot/fix-ssrtransform-import-meta-issue branch March 25, 2026 06:09
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Mar 31, 2026
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 7.3.1 | 8.0.3 |


## [v8.0.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)

##### Features

- update rolldown to 1.0.0-rc.12 ([#22024](vitejs/vite#22024)) ([84164ef](vitejs/vite@84164ef))

##### Bug Fixes

- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#22017](vitejs/vite#22017)) ([5464190](vitejs/vite@5464190))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#21985](vitejs/vite#21985)) ([77c95bf](vitejs/vite@77c95bf))
- **module-runner:** skip re-import if the runner is closed ([#22020](vitejs/vite#22020)) ([ee2c2cd](vitejs/vite@ee2c2cd))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#22018](vitejs/vite#22018)) ([ddfe20d](vitejs/vite@ddfe20d))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#22019](vitejs/vite#22019)) ([cff5f0c](vitejs/vite@cff5f0c))

##### Miscellaneous Chores

- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#22027](vitejs/vite#22027)) ([7e56003](vitejs/vite@7e56003))

##### Tests

- **html:** add tests for `getCssFilesForChunk` ([#22016](vitejs/vite#22016)) ([43fbbf9](vitejs/vite@43fbbf9))


## [v8.0.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)

##### Features

- update rolldown to 1.0.0-rc.11 ([#21998](vitejs/vite#21998)) ([ff91c31](vitejs/vite@ff91c31))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21988](vitejs/vite#21988)) ([9b7d150](vitejs/vite@9b7d150))

##### Miscellaneous Chores

- **deps:** update dependency [@vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#21992](vitejs/vite#21992)) ([b2dd65b](vitejs/vite@b2dd65b))


## [v8.0.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-801-2026-03-19-small)

##### Features

- update rolldown to 1.0.0-rc.10 ([#21932](vitejs/vite#21932)) ([b3c067d](vitejs/vite@b3c067d))

##### Bug Fixes

- **bundled-dev:** properly disable `inlineConst` optimization ([#21865](vitejs/vite#21865)) ([6d97142](vitejs/vite@6d97142))
- **css:** lightningcss minify failed when `build.target: 'es6'` ([#21933](vitejs/vite#21933)) ([5fcce46](vitejs/vite@5fcce46))
- **deps:** update all non-major dependencies ([#21878](vitejs/vite#21878)) ([6dbbd7f](vitejs/vite@6dbbd7f))
- **dev:** always use ESM Oxc runtime ([#21829](vitejs/vite#21829)) ([d323ed7](vitejs/vite@d323ed7))
- **dev:** handle concurrent restarts in `_createServer` ([#21810](vitejs/vite#21810)) ([40bc729](vitejs/vite@40bc729))
- handle `+` symbol in package subpath exports during dep optimization ([#21886](vitejs/vite#21886)) ([86db93d](vitejs/vite@86db93d))
- improve `no-cors` request block error ([#21902](vitejs/vite#21902)) ([5ba688b](vitejs/vite@5ba688b))
- use precise regexes for transform filter to avoid backtracking ([#21800](vitejs/vite#21800)) ([dbe41bd](vitejs/vite@dbe41bd))
- **worker:** `require(json)` result should not be wrapped ([#21847](vitejs/vite#21847)) ([0672fd2](vitejs/vite@0672fd2))
- **worker:** make worker output consistent with client and SSR ([#21871](vitejs/vite#21871)) ([69454d7](vitejs/vite@69454d7))

##### Miscellaneous Chores

- add changelog rearrange script ([#21835](vitejs/vite#21835)) ([efef073](vitejs/vite@efef073))
- **deps:** bump required `@vitejs/devtools` version to 0.1+ ([#21925](vitejs/vite#21925)) ([12932f5](vitejs/vite@12932f5))
- **deps:** update rolldown-related dependencies ([#21787](vitejs/vite#21787)) ([1af1d3a](vitejs/vite@1af1d3a))
- rearrange 8.0 changelog ([8e05b61](vitejs/vite@8e05b61))
- rearrange 8.0 changelog ([#21834](vitejs/vite#21834)) ([86edeee](vitejs/vite@86edeee))


## [v8.0.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#800-2026-03-12)

##### Features

- update rolldown to 1.0.0-rc.9 ([#21813](vitejs/vite#21813)) ([f05be0e](vitejs/vite@f05be0e))
- warn when `vite-tsconfig-paths` plugin is detected ([#21781](vitejs/vite#21781)) ([ada493e](vitejs/vite@ada493e))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#21786](vitejs/vite#21786)) ([eaa4352](vitejs/vite@eaa4352))
MrNaif2018 pushed a commit to bitcart/bitcart-frontend that referenced this pull request Apr 6, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`0.81.0` → `0.84.2`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.81.0/0.84.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.84.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.81.0/0.84.2?slim=true) |
| [@lingui/babel-plugin-lingui-macro](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/babel-plugin-lingui-macro)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fbabel-plugin-lingui-macro/5.9.3/5.9.4?slim=true) |
| [@lingui/cli](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/cli)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fcli/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fcli/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fcli/5.9.3/5.9.4?slim=true) |
| [@lingui/conf](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/conf)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fconf/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fconf/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fconf/5.9.3/5.9.4?slim=true) |
| [@lingui/core](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/core)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fcore/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fcore/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fcore/5.9.3/5.9.4?slim=true) |
| [@lingui/react](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/react)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2freact/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2freact/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2freact/5.9.3/5.9.4?slim=true) |
| [@lingui/vite-plugin](https://lingui.dev) ([source](https://github.com/lingui/js-lingui/tree/HEAD/packages/vite-plugin)) | [`5.9.3` → `5.9.4`](https://renovatebot.com/diffs/npm/@lingui%2fvite-plugin/5.9.3/5.9.4) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@lingui%2fvite-plugin/5.9.4?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@lingui%2fvite-plugin/5.9.3/5.9.4?slim=true) |
| [@tanstack/react-query](https://tanstack.com/query) ([source](https://github.com/TanStack/query/tree/HEAD/packages/react-query)) | [`5.95.0` → `5.95.2`](https://renovatebot.com/diffs/npm/@tanstack%2freact-query/5.95.0/5.95.2) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@tanstack%2freact-query/5.95.2?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@tanstack%2freact-query/5.95.0/5.95.2?slim=true) |
| [dependency-cruiser](https://github.com/sverweij/dependency-cruiser) | [`17.3.9` → `17.3.10`](https://renovatebot.com/diffs/npm/dependency-cruiser/17.3.9/17.3.10) | ![age](https://developer.mend.io/api/mc/badges/age/npm/dependency-cruiser/17.3.10?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/dependency-cruiser/17.3.9/17.3.10?slim=true) |
| [lucide-react](https://lucide.dev) ([source](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)) | [`1.6.0` → `1.7.0`](https://renovatebot.com/diffs/npm/lucide-react/1.6.0/1.7.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/lucide-react/1.7.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/lucide-react/1.6.0/1.7.0?slim=true) |
| [nx](https://nx.dev) ([source](https://github.com/nrwl/nx/tree/HEAD/packages/nx)) | [`22.6.1` → `22.6.3`](https://renovatebot.com/diffs/npm/nx/22.6.1/22.6.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/nx/22.6.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/nx/22.6.1/22.6.3?slim=true) |
| [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm)) | [`10.32.1+sha512.a706938f0e89ac1456b6563eab4edf1d1faf3368d1191fc5c59790e96dc918e4456ab2e67d613de1043d2e8c81f87303e6b40d4ffeca9df15ef1ad567348f2be` → `10.33.0`](https://renovatebot.com/diffs/npm/pnpm/10.32.1/10.33.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/pnpm/10.33.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/pnpm/10.32.1/10.33.0?slim=true) |
| [tsdown](http://tsdown.dev/) ([source](https://github.com/rolldown/tsdown)) | [`0.21.5` → `0.21.7`](https://renovatebot.com/diffs/npm/tsdown/0.21.5/0.21.7) | ![age](https://developer.mend.io/api/mc/badges/age/npm/tsdown/0.21.7?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/tsdown/0.21.5/0.21.7?slim=true) |
| [vite](https://vite.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`8.0.1` → `8.0.3`](https://renovatebot.com/diffs/npm/vite/8.0.1/8.0.3) | ![age](https://developer.mend.io/api/mc/badges/age/npm/vite/8.0.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/8.0.1/8.0.3?slim=true) |

---

### Release Notes

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.84.2`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.2)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.1...@effect/language-service@0.84.2)

##### Patch Changes

- [#&#8203;706](Effect-TS/language-service#706) [`3c0bea6`](Effect-TS/language-service@3c0bea6) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `getTypeAtLocation` to ignore type-only heritage expressions like `interface X extends Effect.Effect<...>` so the language service no longer triggers bogus TS2689 diagnostics.

### [`v0.84.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.1)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.84.0...@effect/language-service@0.84.1)

##### Patch Changes

- [#&#8203;703](Effect-TS/language-service#703) [`dea43b8`](Effect-TS/language-service@dea43b8) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix `effectFnImplicitAny` so it does not report false positives when an `Effect.fn` or `Effect.fnUntraced` callback gets its contextual function type from a union member.

  For example, nested `HttpRouter.add(...)` handlers now correctly recognize the inferred `request` type and produce no diagnostics when the parameter is not actually implicit `any`.

- [#&#8203;702](Effect-TS/language-service#702) [`0af9b98`](Effect-TS/language-service@0af9b98) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add Effect v4 support for the `runEffectInsideEffect` diagnostic so it suggests and fixes `Effect.run*With` usage based on `Effect.services`.

  Update the generated metadata, schema, README entry, and v4 harness examples/snapshots to document and verify the new behavior.

### [`v0.84.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.84.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.83.1...@effect/language-service@0.84.0)

##### Minor Changes

- [#&#8203;696](Effect-TS/language-service#696) [`78e78d5`](Effect-TS/language-service@78e78d5) Thanks [@&#8203;cevr](https://github.com/cevr)! - Add paired globalDate/globalDateInEffect, globalConsole/globalConsoleInEffect, globalFetch/globalFetchInEffect, globalRandom/globalRandomInEffect, and globalTimers/globalTimersInEffect diagnostics

  Ten new opt-in diagnostics that flag global/DOM APIs both outside and inside Effect generators:

  - `globalFetch` / `globalFetchInEffect` — `fetch()` → HttpClient
  - `globalDate` / `globalDateInEffect` — `Date.now()`, `new Date()` → Clock/DateTime
  - `globalConsole` / `globalConsoleInEffect` — `console.log/warn/error/info/debug/trace` → Effect.log/Logger
  - `globalRandom` / `globalRandomInEffect` — `Math.random()` → Random service
  - `globalTimers` / `globalTimersInEffect` — `setTimeout/setInterval` → Effect.sleep/Schedule

  All default to `off`. Enable both variants for full coverage inside and outside Effect generators. Shadow-safe (e.g. `const console = yield* Console` won't false-positive).

### [`v0.83.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.83.1)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.83.0...@effect/language-service@0.83.1)

##### Patch Changes

- [#&#8203;698](Effect-TS/language-service#698) [`b11c184`](Effect-TS/language-service@b11c184) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 workspace dependencies to `4.0.0-beta.38`.

### [`v0.83.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.83.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.82.0...@effect/language-service@0.83.0)

##### Minor Changes

- [#&#8203;695](Effect-TS/language-service#695) [`f057090`](Effect-TS/language-service@f057090) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add a `config` CLI command for updating diagnostic rule severities without rerunning the full setup flow.

- [#&#8203;693](Effect-TS/language-service#693) [`b5054e3`](Effect-TS/language-service@b5054e3) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add setup CLI preset management for diagnostic severities, including preset metadata, preset-aware customization, and a dedicated `config` command for adjusting rule severities without rerunning full setup.

### [`v0.82.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.82.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/language-service@0.81.0...@effect/language-service@0.82.0)

##### Minor Changes

- [#&#8203;689](Effect-TS/language-service#689) [`aed2074`](Effect-TS/language-service@aed2074) Thanks [@&#8203;f15u](https://github.com/f15u)! - Adds ability to reference `$schema` from local installation

- [#&#8203;692](Effect-TS/language-service#692) [`57fcf35`](Effect-TS/language-service@57fcf35) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectFnImplicitAny` diagnostic to mirror `noImplicitAny` for unannotated `Effect.fn` and `Effect.fnUntraced` callback parameters, and support `// @&#8203;strict` in diagnostic example files so test fixtures can enable strict compiler options.

##### Patch Changes

- [#&#8203;687](Effect-TS/language-service#687) [`72827c0`](Effect-TS/language-service@72827c0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Allow the leaking requirements diagnostic to suppress specific leaked services with `@effect-expect-leaking` comments on the enclosing declaration.

- [#&#8203;690](Effect-TS/language-service#690) [`77906a9`](Effect-TS/language-service@77906a9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Fix the class self mismatch diagnostic so it also reports invalid `ServiceMap.Service` self type parameters.

- [#&#8203;691](Effect-TS/language-service#691) [`0e16db0`](Effect-TS/language-service@0e16db0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Include start and end in json diagnostics command

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/babel-plugin-lingui-macro)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/babel-plugin-lingui-macro/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/babel-plugin-lingui-macro](https://github.com/lingui/babel-plugin-lingui-macro)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/cli)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/cli/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

##### Bug Fixes

- really keep catalog extra from previous catalog ([#&#8203;2479](lingui/js-lingui#2479)) ([c939113](lingui/js-lingui@c939113))

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/conf)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/conf/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/conf](https://github.com/lingui/conf)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/core)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/core/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/core](https://github.com/lingui/core)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/react)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/react/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/react](https://github.com/lingui/react)

</details>

<details>
<summary>lingui/js-lingui (@&#8203;lingui/vite-plugin)</summary>

### [`v5.9.4`](https://github.com/lingui/js-lingui/blob/HEAD/packages/vite-plugin/CHANGELOG.md#594-2026-03-27)

[Compare Source](lingui/js-lingui@v5.9.3...v5.9.4)

**Note:** Version bump only for package [@&#8203;lingui/vite-plugin](https://github.com/lingui/vite-plugin)

</details>

<details>
<summary>TanStack/query (@&#8203;tanstack/react-query)</summary>

### [`v5.95.2`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5952)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.95.1...@tanstack/react-query@5.95.2)

##### Patch Changes

- Updated dependencies \[[`cd5a35b`](TanStack/query@cd5a35b)]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.95.2

### [`v5.95.1`](https://github.com/TanStack/query/blob/HEAD/packages/react-query/CHANGELOG.md#5951)

[Compare Source](https://github.com/TanStack/query/compare/@tanstack/react-query@5.95.0...@tanstack/react-query@5.95.1)

##### Patch Changes

- Updated dependencies \[[`1f1775c`](TanStack/query@1f1775c)]:
  - [@&#8203;tanstack/query-core](https://github.com/tanstack/query-core)@&#8203;5.95.1

</details>

<details>
<summary>sverweij/dependency-cruiser (dependency-cruiser)</summary>

### [`v17.3.10`](https://github.com/sverweij/dependency-cruiser/releases/tag/v17.3.10)

[Compare Source](sverweij/dependency-cruiser@v17.3.9...v17.3.10)

#### 👷 maintenance

- [`e401673`](sverweij/dependency-cruiser@e401673d) chore(npm): updates external dependencies
  Includes a bump of picomatch that has a vulnerability that is irrelevant for dependency-cruiser's context, but that nonetheless might trigger security scanners.

</details>

<details>
<summary>lucide-icons/lucide (lucide-react)</summary>

### [`v1.7.0`](https://github.com/lucide-icons/lucide/releases/tag/1.7.0): Version 1.7.0

[Compare Source](lucide-icons/lucide@1.6.0...1.7.0)

#### What's Changed

- fix(lucide-react): Fix dynamic imports by [@&#8203;ericfennis](https://github.com/ericfennis) in [#&#8203;4210](lucide-icons/lucide#4210)
- feat(icons): added `map-pin-search` icon by [@&#8203;TonySullivan](https://github.com/TonySullivan) in [#&#8203;4125](lucide-icons/lucide#4125)

#### New Contributors

- [@&#8203;TonySullivan](https://github.com/TonySullivan) made their first contribution in [#&#8203;4125](lucide-icons/lucide#4125)

**Full Changelog**: <lucide-icons/lucide@1.6.0...1.7.0>

</details>

<details>
<summary>nrwl/nx (nx)</summary>

### [`v22.6.3`](https://github.com/nrwl/nx/releases/tag/22.6.3)

[Compare Source](nrwl/nx@22.6.2...22.6.3)

#### 22.6.3 (2026-03-27)

##### 🚀 Features

- **misc:** a/b test cloud prompt copy in create-nx-workspace ([#&#8203;35039](nrwl/nx#35039))

##### 🩹 Fixes

- **js:** add {projectRoot} prefix to d.ts fileset in typescript plugin ([#&#8203;35037](nrwl/nx#35037))
- **misc:** use namespace import for chalk v4 compatibility ([7c9f873bd1](nrwl/nx@7c9f873bd1))
- **misc:** handle non-interactive mode and add template shorthand names for CNW ([#&#8203;35045](nrwl/nx#35045))

##### ❤️ Thank You

- FrozenPandaz [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- Jack Hsu [@&#8203;jaysoo](https://github.com/jaysoo)
- Jason Jean [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)

### [`v22.6.2`](https://github.com/nrwl/nx/releases/tag/22.6.2)

[Compare Source](nrwl/nx@22.6.1...22.6.2)

#### 22.6.2 (2026-03-26)

##### 🚀 Features

- **core:** auto-open browser for Cloud setup URL during create-nx-workspace ([#&#8203;35014](nrwl/nx#35014))
- **repo:** add nx-labs repo target and use glob pattern for update-all-repos ([#&#8203;34999](nrwl/nx#34999))

##### 🩹 Fixes

- **angular:** update duplicate migration keys ([#&#8203;34961](nrwl/nx#34961))
- **angular-rspack:** ensure rebuild chunks emitted summary accurate ([#&#8203;34979](nrwl/nx#34979), [#&#8203;34936](nrwl/nx#34936))
- **bundling:** disable swc input source map resolution ([#&#8203;35010](nrwl/nx#35010), [#&#8203;32671](nrwl/nx#32671))
- **core:** split-target should handle projects with colons in name better ([#&#8203;34725](nrwl/nx#34725))
- **core:** prevent TUI crash when task output arrives after completion ([#&#8203;34785](nrwl/nx#34785), [#&#8203;34677](nrwl/nx#34677))
- **core:** respect --parallel limit for discrete task concurrency ([#&#8203;34721](nrwl/nx#34721), [#&#8203;34117](nrwl/nx#34117), [#&#8203;31494](nrwl/nx#31494))
- **core:** use scroll-offset-based scrollbar positioning in TUI ([#&#8203;34689](nrwl/nx#34689))
- **core:** skip import-equals namespace aliases in native scanner ([#&#8203;34947](nrwl/nx#34947), [#&#8203;34644](nrwl/nx#34644))
- **core:** include command name on all telemetry events ([#&#8203;34949](nrwl/nx#34949))
- **core:** skip workspace context setup when global bin hands off to local ([#&#8203;34953](nrwl/nx#34953), [#&#8203;34914](nrwl/nx#34914))
- **core:** use upsert to prevent FK constraint violations in task DB ([#&#8203;34977](nrwl/nx#34977))
- **core:** runtime inputs shouldn't be cached at task\_hasher layer and filesets should be in the hash\_plans layer ([#&#8203;34971](nrwl/nx#34971), [#&#8203;30170](nrwl/nx#30170))
- **core:** show better log message when isolated plugin shuts down after hook completion ([#&#8203;34922](nrwl/nx#34922))
- **core:** handle owners and conformance project refs on move/remove ([#&#8203;34815](nrwl/nx#34815))
- **core:** resolve published nx migrate package resolution ([#&#8203;35013](nrwl/nx#35013), [#&#8203;34111](nrwl/nx#34111))
- **core:** prevent batch executor error on prematurely completed tasks ([#&#8203;35015](nrwl/nx#35015))
- **core:** add timeouts to GitHub push flow to prevent CLI hangs ([#&#8203;35011](nrwl/nx#35011), [#&#8203;34482](nrwl/nx#34482))
- **devkit:** prevent double install in generators for TS solution workspaces ([#&#8203;34891](nrwl/nx#34891))
- **devkit:** add startTime and endTime to TaskResult interface ([#&#8203;34996](nrwl/nx#34996))
- **gradle:** ignore test enums when atomizing ([#&#8203;34974](nrwl/nx#34974))
- **js:** pass configName to typecheck command in TS plugin ([#&#8203;34989](nrwl/nx#34989), [#&#8203;34274](nrwl/nx#34274))
- **js:** add input on .d.ts files within dependency projects ([#&#8203;34968](nrwl/nx#34968))
- **linter:** prepend framework configs before baseConfig in flat config generation ([#&#8203;34898](nrwl/nx#34898), [#&#8203;28381](nrwl/nx#28381), [#&#8203;32923](nrwl/nx#32923))
- **misc:** make webinar banner theme-aware with light mode support ([#&#8203;35029](nrwl/nx#35029))
- **module-federation:** enable ESM output for Angular rspack MF plugin ([#&#8203;34839](nrwl/nx#34839), [#&#8203;34584](nrwl/nx#34584), [#&#8203;33992](nrwl/nx#33992))
- **nx-cloud:** remove invalid images ([#&#8203;34997](nrwl/nx#34997), [#&#8203;34970](nrwl/nx#34970))
- **nx-dev:** build nx-dev in-place to fix ai package resolution ([#&#8203;34730](nrwl/nx#34730), [#&#8203;34669](nrwl/nx#34669))
- **nx-dev:** improve docs search ranking and metrics ([#&#8203;34992](nrwl/nx#34992))
- **release:** fall back to gh user search for author usernames ([#&#8203;34904](nrwl/nx#34904))
- **repo:** skip flaky Cypress HMR e2e tests ([#&#8203;34969](nrwl/nx#34969))
- **repo:** resolve FreeBSD build disk space issue ([#&#8203;35030](nrwl/nx#35030))
- **vite:** add support for Vite 8 ([#&#8203;34850](nrwl/nx#34850), [#&#8203;34849](nrwl/nx#34849))
- **vitest:** resolve addPlugin default in init generator ([#&#8203;34990](nrwl/nx#34990))

##### ❤️ Thank You

- AgentEnder [@&#8203;AgentEnder](https://github.com/AgentEnder)
- AI-JamesHenry [@&#8203;AI-JamesHenry](https://github.com/AI-JamesHenry)
- Amp
- barbados-clemens [@&#8203;barbados-clemens](https://github.com/barbados-clemens)
- Caleb Ukle
- Charlie Croom
- Claude Opus 4.6
- Colum Ferry [@&#8203;Coly010](https://github.com/Coly010)
- Craigory Coppola [@&#8203;AgentEnder](https://github.com/AgentEnder)
- FrozenPandaz [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- Jack Baker
- Jack Hsu [@&#8203;jaysoo](https://github.com/jaysoo)
- Jason Jean [@&#8203;FrozenPandaz](https://github.com/FrozenPandaz)
- jaysoo [@&#8203;jaysoo](https://github.com/jaysoo)
- Leosvel Pérez Espinosa [@&#8203;leosvelperez](https://github.com/leosvelperez)
- Louie Weng [@&#8203;lourw](https://github.com/lourw)
- Robert Sidzinka
- Steven Nance

</details>

<details>
<summary>pnpm/pnpm (pnpm)</summary>

### [`v10.33.0`](https://github.com/pnpm/pnpm/releases/tag/v10.33.0): pnpm 10.33

[Compare Source](pnpm/pnpm@v10.32.1...v10.33.0)

#### Minor Changes

- Added a new `dedupePeers` setting that reduces peer dependency duplication. When enabled, peer dependency suffixes use version-only identifiers (`name@version`) instead of full dep paths, eliminating nested suffixes like `(foo@1.0.0(bar@2.0.0))`. This dramatically reduces the number of package instances in projects with many recursive peer dependencies [#&#8203;11070](pnpm/pnpm#11070).

#### Patch Changes

- Fail on incompatible lockfiles in CI when frozen lockfile mode is enabled, while preserving non-frozen CI fallback behavior.

- When package metadata is malformed or can't be fetched, the error thrown will now show the originating error.

- Fixed intermittent failures when multiple `pnpm dlx` calls run concurrently for the same package. When the global virtual store is enabled, the importer now verifies file content before skipping a rename, avoiding destructive swap-renames that break concurrent processes. Also tolerates EPERM during bin creation on Windows and properly propagates `enableGlobalVirtualStore` through the install pipeline.

- Fixed handling of non-string version selectors in `hoistPeers`, preventing invalid peer dependency specifiers.

- Improve the non-interactive modules purge error hint to include the `confirmModulesPurge=false` workaround.

  When pnpm needs to recreate `node_modules` but no TTY is available, the error now suggests either setting `CI=true` or disabling the purge confirmation prompt via `confirmModulesPurge=false`.

  Adds a regression test for the non-TTY flow.

- Fixed false "Command not found" errors on Windows when a command exists in PATH but exits with a non-zero code. Also fixed path resolution for `--filter` contexts where the command runs in a different package directory.

- When a pnpm-lock.yaml contains two documents, ignore the first one. pnpm v11 will write two lockfile documents into pnpm-lock.yaml in order to store pnpm version integrities and config dependency resolutions.

- Fixed a bug preventing the `clearCache` function returned by `createNpmResolver` from properly clearing metadata cache.

<!-- sponsors -->

#### Platinum Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a>
      </td>
    </tr>
  </tbody>
</table>

#### Gold Sponsors

<table>
  <tbody>
    <tr>
      <td align="center" valign="middle">
        <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" />
            <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" />
            <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" />
            <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" />
            <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" />
            <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" />
          </picture>
        </a>
      </td>
    </tr>
    <tr>
      <td align="center" valign="middle">
        <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" />
            <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" />
          </picture>
        </a>
      </td>
      <td align="center" valign="middle">
        <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank">
          <picture>
            <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" />
            <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" />
            <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" />
          </picture>
        </a>
      </td>
    </tr>
  </tbody>
</table>

<!-- sponsors end -->

</details>

<details>
<summary>rolldown/tsdown (tsdown)</summary>

### [`v0.21.7`](https://github.com/rolldown/tsdown/releases/tag/v0.21.7)

[Compare Source](rolldown/tsdown@v0.21.6...v0.21.7)

#####    🚀 Features

- Add `module` option for attw and publint to allow passing imported modules directly  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(31e90)</samp>](rolldown/tsdown@31e90c1)

#####    🐞 Bug Fixes

- **deps**: Add skipNodeModulesBundle dep subpath e2e tests and fix docs  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(deff7)</samp>](rolldown/tsdown@deff72c)

#####     [View changes on GitHub](rolldown/tsdown@v0.21.6...v0.21.7)

### [`v0.21.6`](https://github.com/rolldown/tsdown/releases/tag/v0.21.6)

[Compare Source](rolldown/tsdown@v0.21.5...v0.21.6)

#####    🚀 Features

- Upgrade rolldown to v1.0.0-rc.12  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(51292)</samp>](rolldown/tsdown@512926d)
- **config**:
  - Pass root config to workspace config functions  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(76169)</samp>](rolldown/tsdown@7616960)
  - Use mergeConfig for workspace config merging and support variadic overrides  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(148aa)</samp>](rolldown/tsdown@148aaaa)
- **dts**:
  - Add `cjsReexport` option to eliminate dual module type hazard  -  by [@&#8203;mandarini](https://github.com/mandarini) and [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;856](rolldown/tsdown#856) [<samp>(875c1)</samp>](rolldown/tsdown@875c1b3)
- **exports**:
  - Add `bin` option to auto-generate package.json bin field  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;869](rolldown/tsdown#869) [<samp>(7ebd6)</samp>](rolldown/tsdown@7ebd62d)

#####    🐞 Bug Fixes

- **css**:
  - Compile preprocessor langs in virtual CSS modules  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;865](rolldown/tsdown#865) [<samp>(7b2e0)</samp>](rolldown/tsdown@7b2e0f9)
  - Strip `.module` from CSS output filenames  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;866](rolldown/tsdown#866) [<samp>(03ade)</samp>](rolldown/tsdown@03ade19)
  - Default splitting to true in unbundle mode for CSS inject  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;867](rolldown/tsdown#867) [<samp>(a4da6)</samp>](rolldown/tsdown@a4da6af)
  - Split CSS plugin into pre/post phases for scoped CSS support  -  by [@&#8203;sxzz](https://github.com/sxzz) in [#&#8203;870](rolldown/tsdown#870) [<samp>(ff0c4)</samp>](rolldown/tsdown@ff0c45a)
- **entry**:
  - Correctly output relative paths in logger output  -  by [@&#8203;sxzz](https://github.com/sxzz) [<samp>(00050)</samp>](rolldown/tsdown@0005096)

#####     [View changes on GitHub](rolldown/tsdown@v0.21.5...v0.21.6)

</details>

<details>
<summary>vitejs/vite (vite)</summary>

### [`v8.0.3`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-803-2026-03-26-small)

[Compare Source](vitejs/vite@v8.0.2...v8.0.3)

##### Features

- update rolldown to 1.0.0-rc.12 ([#&#8203;22024](vitejs/vite#22024)) ([84164ef](vitejs/vite@84164ef))

##### Bug Fixes

- **html:** cache unfiltered CSS list to prevent missing styles across entries ([#&#8203;22017](vitejs/vite#22017)) ([5464190](vitejs/vite@5464190))
- **module-runner:** handle non-ascii characters in base64 sourcemaps ([#&#8203;21985](vitejs/vite#21985)) ([77c95bf](vitejs/vite@77c95bf))
- **module-runner:** skip re-import if the runner is closed ([#&#8203;22020](vitejs/vite#22020)) ([ee2c2cd](vitejs/vite@ee2c2cd))
- **optimizer:** scan is not resolving sub path import if used in a glob import ([#&#8203;22018](vitejs/vite#22018)) ([ddfe20d](vitejs/vite@ddfe20d))
- **ssr:** ssrTransform incorrectly rewrites `meta` identifier inside `import.meta` when a binding named `meta` exists ([#&#8203;22019](vitejs/vite#22019)) ([cff5f0c](vitejs/vite@cff5f0c))

##### Miscellaneous Chores

- **deps:** bump picomatch from 4.0.3 to 4.0.4 ([#&#8203;22027](vitejs/vite#22027)) ([7e56003](vitejs/vite@7e56003))

##### Tests

- **html:** add tests for `getCssFilesForChunk` ([#&#8203;22016](vitejs/vite#22016)) ([43fbbf9](vitejs/vite@43fbbf9))

### [`v8.0.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-802-2026-03-23-small)

[Compare Source](vitejs/vite@v8.0.1...v8.0.2)

##### Features

- update rolldown to 1.0.0-rc.11 ([#&#8203;21998](vitejs/vite#21998)) ([ff91c31](vitejs/vite@ff91c31))

##### Bug Fixes

- **deps:** update all non-major dependencies ([#&#8203;21988](vitejs/vite#21988)) ([9b7d150](vitejs/vite@9b7d150))

##### Miscellaneous Chores

- **deps:** update dependency [@&#8203;vitejs/devtools](https://github.com/vitejs/devtools) to ^0.1.5 ([#&#8203;21992](vitejs/vite#21992)) ([b2dd65b](vitejs/vite@b2dd65b))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) in timezone UTC, 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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIwLjAuMC1zZW1hbnRpYy1yZWxlYXNlIiwidXBkYXRlZEluVmVyIjoiMC4wLjAtc2VtYW50aWMtcmVsZWFzZSIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->

Reviewed-on: https://git.bitcart.ai/bitcart/bitcart-frontend/pulls/181
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat: ssr p3-minor-bug An edge case that only affects very specific usage (priority)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ssrTransform fails to transform import.meta when there is imported variable named meta

2 participants