-
-
Notifications
You must be signed in to change notification settings - Fork 7.7k
Closed
Labels
feat: ssrp3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)
Description
Describe the bug
We had a report on Vitest vitest-dev/vitest#5851 and it looks like the issue is in Vite's SSR transform.
// file-2.js
const something = "Something";
export { something as "arbitrary string" };
export { something as normalIdentifier };# [OK] import from node
$ node repro-node.js
[Module: null prototype] {
'arbitrary string': 'Something',
normalIdentifier: 'Something'
}
# [NOT OK] import from Vite ssrLoadModule
$ node repro-vite.js
{
undefined: [Getter],
normalIdentifier: [Getter],
[Symbol(Symbol.toStringTag)]: 'Module'
}
# [OK] import from Vite client
$ pnpm devlinks
- spec Normative: Arbitrary module namespace identifier names tc39/ecma262#2154
- typescript support Implement "Arbitrary Module Namespace Identifiers" microsoft/TypeScript#58640
- vitest issue String exports aren't resolved on wildcard imports vitest-dev/vitest#5851
Reproduction
Steps to reproduce
Also on stackblitz https://stackblitz.com/github/hi-ogawa/reproductions/tree/main/vite-ssr-arbitrary-module-namespace-identifier
System Info
(stackblitz)
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: 18.20.3 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.2.3 - /usr/local/bin/npm
pnpm: 8.15.6 - /usr/local/bin/pnpm
npmPackages:
vite: ^5.2.13 => 5.2.13Used Package Manager
pnpm
Logs
No response
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.
Metadata
Metadata
Assignees
Labels
feat: ssrp3-minor-bugAn edge case that only affects very specific usage (priority)An edge case that only affects very specific usage (priority)