Skip to content

Conversation

@sapphi-red
Copy link
Member

It seems fs.cpSync has a bug that affects Windows non-ascii paths (nodejs/node#58768), that causes the file to be written to a different path (and then the process crashes). It also has a bug for dereference: true flag (nodejs/node#59168), which we should have set (mentioned in #21019 (comment)).

This PR reverts #21019 to solve these issues. We can re-apply it after all the fixes lands in all the Node versions we support.

fixes #21065
fixes #21077

@sapphi-red sapphi-red added the p4-important Violate documented behavior or significantly improves performance (priority) label Nov 7, 2025
Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
@sapphi-red sapphi-red merged commit 728c8ee into vitejs:main Nov 7, 2025
16 checks passed
@sapphi-red sapphi-red deleted the fix/revert-21019 branch November 7, 2025 06:25
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 8, 2025
| datasource | package | from   | to    |
| ---------- | ------- | ------ | ----- |
| npm        | vite    | 7.1.10 | 7.2.2 |


## [v7.2.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-722-2025-11-07-small)

##### Bug Fixes

- revert "refactor: use fs.cpSync ([#21019](vitejs/vite#21019))" ([#21081](vitejs/vite#21081)) ([728c8ee](vitejs/vite@728c8ee))


## [v7.2.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-721-2025-11-06-small)

##### Bug Fixes

- **worker:** some worker asset was missing ([#21074](vitejs/vite#21074)) ([82d2d6c](vitejs/vite@82d2d6c))

##### Code Refactoring

- **build:** rename `indexOfMatchInSlice` to `findPreloadMarker` ([#21054](vitejs/vite#21054)) ([f83264f](vitejs/vite@f83264f))


## [v7.2.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#720-2025-11-05)

##### Bug Fixes

- **css:** fallback to sass when sass-embedded platform binary is missing ([#21002](vitejs/vite#21002)) ([b1fd616](vitejs/vite@b1fd616))
- **module-runner:** make `getBuiltins` response JSON serializable ([#21029](vitejs/vite#21029)) ([ad5b3bf](vitejs/vite@ad5b3bf))
- **types:** add undefined to optional properties for exactOptionalProperties type compatibility ([#21040](vitejs/vite#21040)) ([2833c55](vitejs/vite@2833c55))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#21047](vitejs/vite#21047)) ([e3a6a83](vitejs/vite@e3a6a83))


## [v7.1.12](https://github.com/vitejs/vite/releases/tag/v7.1.12)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md) for details.


## [v7.1.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)

##### Bug Fixes

- **dev:** trim trailing slash before `server.fs.deny` check ([#20968](vitejs/vite#20968)) ([f479cc5](vitejs/vite@f479cc5))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#20966](vitejs/vite#20966)) ([6fb41a2](vitejs/vite@6fb41a2))

##### Code Refactoring

- use subpath imports for types module reference ([#20921](vitejs/vite#20921)) ([d0094af](vitejs/vite@d0094af))

##### Build System

- remove cjs reference in files field ([#20945](vitejs/vite#20945)) ([ef411ce](vitejs/vite@ef411ce))
- remove hash from built filenames ([#20946](vitejs/vite#20946)) ([a817307](vitejs/vite@a817307))
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 8, 2025
| datasource | package | from   | to    |
| ---------- | ------- | ------ | ----- |
| npm        | vite    | 7.1.10 | 7.2.2 |


## [v7.2.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-722-2025-11-07-small)

##### Bug Fixes

- revert "refactor: use fs.cpSync ([#21019](vitejs/vite#21019))" ([#21081](vitejs/vite#21081)) ([728c8ee](vitejs/vite@728c8ee))


## [v7.2.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-721-2025-11-06-small)

##### Bug Fixes

- **worker:** some worker asset was missing ([#21074](vitejs/vite#21074)) ([82d2d6c](vitejs/vite@82d2d6c))

##### Code Refactoring

- **build:** rename `indexOfMatchInSlice` to `findPreloadMarker` ([#21054](vitejs/vite#21054)) ([f83264f](vitejs/vite@f83264f))


## [v7.2.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#720-2025-11-05)

##### Bug Fixes

- **css:** fallback to sass when sass-embedded platform binary is missing ([#21002](vitejs/vite#21002)) ([b1fd616](vitejs/vite@b1fd616))
- **module-runner:** make `getBuiltins` response JSON serializable ([#21029](vitejs/vite#21029)) ([ad5b3bf](vitejs/vite@ad5b3bf))
- **types:** add undefined to optional properties for exactOptionalProperties type compatibility ([#21040](vitejs/vite#21040)) ([2833c55](vitejs/vite@2833c55))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#21047](vitejs/vite#21047)) ([e3a6a83](vitejs/vite@e3a6a83))


## [v7.1.12](https://github.com/vitejs/vite/releases/tag/v7.1.12)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md) for details.


## [v7.1.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)

##### Bug Fixes

- **dev:** trim trailing slash before `server.fs.deny` check ([#20968](vitejs/vite#20968)) ([f479cc5](vitejs/vite@f479cc5))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#20966](vitejs/vite#20966)) ([6fb41a2](vitejs/vite@6fb41a2))

##### Code Refactoring

- use subpath imports for types module reference ([#20921](vitejs/vite#20921)) ([d0094af](vitejs/vite@d0094af))

##### Build System

- remove cjs reference in files field ([#20945](vitejs/vite#20945)) ([ef411ce](vitejs/vite@ef411ce))
- remove hash from built filenames ([#20946](vitejs/vite#20946)) ([a817307](vitejs/vite@a817307))
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Nov 9, 2025
| datasource | package | from   | to    |
| ---------- | ------- | ------ | ----- |
| npm        | vite    | 7.1.10 | 7.2.2 |


## [v7.2.2](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-722-2025-11-07-small)

##### Bug Fixes

- revert "refactor: use fs.cpSync ([#21019](vitejs/vite#21019))" ([#21081](vitejs/vite#21081)) ([728c8ee](vitejs/vite@728c8ee))


## [v7.2.1](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-721-2025-11-06-small)

##### Bug Fixes

- **worker:** some worker asset was missing ([#21074](vitejs/vite#21074)) ([82d2d6c](vitejs/vite@82d2d6c))

##### Code Refactoring

- **build:** rename `indexOfMatchInSlice` to `findPreloadMarker` ([#21054](vitejs/vite#21054)) ([f83264f](vitejs/vite@f83264f))


## [v7.2.0](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#720-2025-11-05)

##### Bug Fixes

- **css:** fallback to sass when sass-embedded platform binary is missing ([#21002](vitejs/vite#21002)) ([b1fd616](vitejs/vite@b1fd616))
- **module-runner:** make `getBuiltins` response JSON serializable ([#21029](vitejs/vite#21029)) ([ad5b3bf](vitejs/vite@ad5b3bf))
- **types:** add undefined to optional properties for exactOptionalProperties type compatibility ([#21040](vitejs/vite#21040)) ([2833c55](vitejs/vite@2833c55))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies ([#21047](vitejs/vite#21047)) ([e3a6a83](vitejs/vite@e3a6a83))


## [v7.1.12](https://github.com/vitejs/vite/releases/tag/v7.1.12)

Please refer to [CHANGELOG.md](https://github.com/vitejs/vite/blob/v7.1.12/packages/vite/CHANGELOG.md) for details.


## [v7.1.11](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)

##### Bug Fixes

- **dev:** trim trailing slash before `server.fs.deny` check ([#20968](vitejs/vite#20968)) ([f479cc5](vitejs/vite@f479cc5))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies ([#20966](vitejs/vite#20966)) ([6fb41a2](vitejs/vite@6fb41a2))

##### Code Refactoring

- use subpath imports for types module reference ([#20921](vitejs/vite#20921)) ([d0094af](vitejs/vite@d0094af))

##### Build System

- remove cjs reference in files field ([#20945](vitejs/vite#20945)) ([ef411ce](vitejs/vite@ef411ce))
- remove hash from built filenames ([#20946](vitejs/vite#20946)) ([a817307](vitejs/vite@a817307))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

p4-important Violate documented behavior or significantly improves performance (priority)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vite creates an unexpected directory when building in version 7.2.0 and 7.2.1 vite 7.2.0 version run 'vite build' does not generate a directory named dist, 7.1.12 version is normal

2 participants