Input: importee.js
Output (Vite)
__vite_ssr_exports__.default = {}
Output (Oxc)
Object.defineProperty(__vite_ssr_exports__, "default", {
enumerable: true,
configurable: true,
get() {
return {};
}
});
This transform causes distinct objects to be returned for each default import variable access since import side is transformed in this way:
Input: importer.js
import test from "./importee.js"
test === test;
Ouptut:
const __vite_ssr_import_0__ = await __vi_import_0__('/xxx/importee.js')
__vite_ssr_import_0__.default === __vite_ssr_import_0__.default; // should be true, but false
The issue is discovered when testing on rolldown-vite on vitest vitest-dev/vitest#7646.
Input: importee.js
Output (Vite)
Output (Oxc)
This transform causes distinct objects to be returned for each default import variable access since import side is transformed in this way:
Input: importer.js
Ouptut:
The issue is discovered when testing on rolldown-vite on vitest vitest-dev/vitest#7646.