diff --git a/packages/vite-node/src/client.ts b/packages/vite-node/src/client.ts index c44310e9d..a236dbd16 100644 --- a/packages/vite-node/src/client.ts +++ b/packages/vite-node/src/client.ts @@ -168,7 +168,7 @@ export class ViteNodeRunner { exports.default = value }, get exports() { - return exports.default + return exports }, } diff --git a/test/core/src/module-cjs.ts b/test/core/src/module-cjs.ts new file mode 100644 index 000000000..33f691900 --- /dev/null +++ b/test/core/src/module-cjs.ts @@ -0,0 +1,2 @@ +module.exports.a = 1 +module.exports.b = 2 diff --git a/test/core/src/module-esm.ts b/test/core/src/module-esm.ts new file mode 100644 index 000000000..770f66a1f --- /dev/null +++ b/test/core/src/module-esm.ts @@ -0,0 +1,3 @@ +const c = 1 +export default c +export const d = 2 diff --git a/test/core/test/module.test.ts b/test/core/test/module.test.ts new file mode 100644 index 000000000..f0b6c9b97 --- /dev/null +++ b/test/core/test/module.test.ts @@ -0,0 +1,15 @@ +import { expect, it } from 'vitest' +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-expect-error +import { a, b } from '../src/module-cjs' +import c, { d } from '../src/module-esm' + +it('should work when using cjs module', () => { + expect(a).toBe(1) + expect(b).toBe(2) +}) + +it('should work when using esm module', () => { + expect(c).toBe(1) + expect(d).toBe(2) +})