Skip to content

fix(ssr): handle uninitialized export access as undefined #19959

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
May 2, 2025

Conversation

hi-ogawa
Copy link
Collaborator

@hi-ogawa hi-ogawa commented Apr 29, 2025

Description

Export hoisting #18983 made an cyclic import handling to match better with esm (meaning valid cyclic imports are accepted and invalid ones are correctly rejected), but it turns out to be too strict for Vitest users which tends to import arbitrary files as first entry. The behavior change was too drastic for the patch release 6.3.3 at least, so in this PR, I added try/catch to make invalid exports to be fallback to undefined. Note that this should still make valid cyclic imports to work, which was the original motivation of #18983.

I confirmed provided reproductions are fixed with pr package (except there is a case like #19929 (comment), which is due to another fix #19841, so they are still expected to be addressed on user side).

On Vitest side, there might be more complicated scenarios with mocking, so I couldn't actually tell whether it's an cyclic imports issues. We'll revisit whether we should remove try/catch after investigating that further.

sheremet-va
sheremet-va previously approved these changes May 1, 2025
Copy link

pkg-pr-new bot commented May 1, 2025

Open in StackBlitz

npm i https://pkg.pr.new/vite@19959

commit: adbfb90

hi-ogawa added a commit to hi-ogawa/lerna-lite that referenced this pull request May 1, 2025
@hi-ogawa hi-ogawa marked this pull request as ready for review May 2, 2025 00:21
@hi-ogawa
Copy link
Collaborator Author

hi-ogawa commented May 2, 2025

/ecosystem-ci run

@vite-ecosystem-ci
Copy link

hi-ogawa and others added 2 commits May 2, 2025 16:21
Co-authored-by: patak <[email protected]>
Co-authored-by: patak <[email protected]>
@patak-dev patak-dev merged commit fd38d07 into vitejs:main May 2, 2025
16 checks passed
@hi-ogawa hi-ogawa deleted the fix-tolerate-no-init-as-undefined branch May 2, 2025 07:39
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 10, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 11, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 17, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 18, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 24, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
moonlitusun pushed a commit to moonlitusun/vite that referenced this pull request May 25, 2025
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 25, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request May 31, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 1, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 6, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 8, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 14, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jun 22, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jul 5, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jul 13, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jul 27, 2025
| datasource | package | from  | to    |
| ---------- | ------- | ----- | ----- |
| npm        | vite    | 6.3.2 | 6.3.5 |


## [v6.3.5](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small635-2025-05-05-small)

-   fix(ssr): handle uninitialized export access as undefined ([#19959](vitejs/vite#19959)) ([fd38d07](vitejs/vite@fd38d07)), closes [#19959](vitejs/vite#19959)


## [v6.3.4](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small634-2025-04-30-small)

-   fix: check static serve file inside sirv ([#19965](vitejs/vite#19965)) ([c22c43d](vitejs/vite@c22c43d)), closes [#19965](vitejs/vite#19965)
-   fix(optimizer): return plain object when using `require` to import externals in optimized dependenci ([efc5eab](vitejs/vite@efc5eab)), closes [#19940](vitejs/vite#19940)
-   refactor: remove duplicate plugin context type ([#19935](vitejs/vite#19935)) ([d6d01c2](vitejs/vite@d6d01c2)), closes [#19935](vitejs/vite#19935)


## [v6.3.3](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small633-2025-04-24-small)

-   fix: ignore malformed uris in tranform middleware ([#19853](vitejs/vite#19853)) ([e4d5201](vitejs/vite@e4d5201)), closes [#19853](vitejs/vite#19853)
-   fix(assets): ensure ?no-inline is not included in the asset url in the production environment ([#1949](vitejs/vite#1949) ([16a73c0](vitejs/vite@16a73c0)), closes [#19496](vitejs/vite#19496)
-   fix(css): resolve relative imports in sass properly on Windows ([#19920](vitejs/vite#19920)) ([ffab442](vitejs/vite@ffab442)), closes [#19920](vitejs/vite#19920)
-   fix(deps): update all non-major dependencies ([#19899](vitejs/vite#19899)) ([a4b500e](vitejs/vite@a4b500e)), closes [#19899](vitejs/vite#19899)
-   fix(ssr): fix execution order of re-export ([#19841](vitejs/vite#19841)) ([ed29dee](vitejs/vite@ed29dee)), closes [#19841](vitejs/vite#19841)
-   fix(ssr): fix live binding of default export declaration and hoist exports getter ([#19842](vitejs/vite#19842)) ([80a91ff](vitejs/vite@80a91ff)), closes [#19842](vitejs/vite#19842)
-   perf: skip sourcemap generation for renderChunk hook of import-analysis-build plugin ([#19921](vitejs/vite#19921)) ([55cfd04](vitejs/vite@55cfd04)), closes [#19921](vitejs/vite#19921)
-   test(ssr): test `ssrTransform` re-export deps and test stacktrace with first line ([#19629](vitejs/vite#19629)) ([9399cda](vitejs/vite@9399cda)), closes [#19629](vitejs/vite#19629)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Vitest with Vite 6.3.x regressed and started failing v6.3.3 ReferenceError: Cannot access '__vite_ssr_export_default__' before initialization
3 participants