From 3f20cf5a9056c8101f952f7fddef4fcf553185da Mon Sep 17 00:00:00 2001 From: Vladimir Date: Mon, 23 Jan 2023 10:14:22 +0100 Subject: [PATCH] revert!: don't rely on environment for interopDefault (#2682) Closes https://github.com/vitest-dev/vitest/issues/2610 --- packages/vitest/src/runtime/execute.ts | 6 ----- test/core/test/module-dom.test.ts | 33 -------------------------- test/core/test/module.test.ts | 16 ++++++++----- 3 files changed, 10 insertions(+), 45 deletions(-) delete mode 100644 test/core/test/module-dom.test.ts diff --git a/packages/vitest/src/runtime/execute.ts b/packages/vitest/src/runtime/execute.ts index de3c5bffe4b3..32e6cac41b89 100644 --- a/packages/vitest/src/runtime/execute.ts +++ b/packages/vitest/src/runtime/execute.ts @@ -71,10 +71,4 @@ export class VitestRunner extends ViteNodeRunner { __vitest_mocker__: this.mocker, }) } - - shouldInterop(path: string, mod: any) { - if (this.options.interopDefault === false) - return false - return (this.options.interopDefault || getCurrentEnvironment() !== 'node') && super.shouldInterop(path, mod) - } } diff --git a/test/core/test/module-dom.test.ts b/test/core/test/module-dom.test.ts deleted file mode 100644 index 97d80fc762a7..000000000000 --- a/test/core/test/module-dom.test.ts +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @vitest-environment jsdom - */ - -import { describe, expect, it } from 'vitest' -// @ts-expect-error is not typed with imports -import * as nestedDefaultCjs from '../src/cjs/nested-default-cjs' -// @ts-expect-error is not typed with imports -import * as nestedDefaultExternalCjs from '../src/external/nested-default-cjs' -// @ts-expect-error is not typed with imports -import * as moduleDefaultCjs from '../src/external/default-cjs' - -describe('validating nested defaults in isolation', () => { - it.each([ - nestedDefaultCjs, - nestedDefaultExternalCjs, - ])('nested default should be resolved, because environment is not node', (mod) => { - expect(mod).toHaveProperty('default') - expect(mod.default).not.toHaveProperty('default') - expect(mod.default.a).toBe('a') - expect(mod.default.b).toBe('b') - expect(mod.a).toBe('a') - expect(mod.b).toBe('b') - }) - - it('externalized "module.exports" CJS module interops default', () => { - expect(moduleDefaultCjs).toHaveProperty('default') - expect(moduleDefaultCjs.default).toHaveProperty('a') - expect(moduleDefaultCjs.default.a).toBe('a') - expect(moduleDefaultCjs).toHaveProperty('a') - expect(moduleDefaultCjs.a).toBe('a') - }) -}) diff --git a/test/core/test/module.test.ts b/test/core/test/module.test.ts index b96b1620da92..c1bb7cde2ae6 100644 --- a/test/core/test/module.test.ts +++ b/test/core/test/module.test.ts @@ -30,17 +30,21 @@ describe('validating nested defaults in isolation', () => { it.each([ nestedDefaultCjs, nestedDefaultExternalCjs, - ])('nested default should stay, because environment is node', (mod) => { + ])('nested default should be resolved', (mod) => { expect(mod).toHaveProperty('default') - expect(mod.default).toHaveProperty('default') - expect(mod.default.default.a).toBe('a') - expect(mod.default.default.b).toBe('b') + expect(mod.default).not.toHaveProperty('default') + expect(mod.default.a).toBe('a') + expect(mod.default.b).toBe('b') + expect(mod.a).toBe('a') + expect(mod.b).toBe('b') }) - it('don\'t interop external module.exports, because environment is node', () => { + it('externalized "module.exports" CJS module interops default', () => { expect(moduleDefaultCjs).toHaveProperty('default') expect(moduleDefaultCjs.default).toHaveProperty('a') - expect(moduleDefaultCjs).not.toHaveProperty('a') + expect(moduleDefaultCjs.default.a).toBe('a') + expect(moduleDefaultCjs).toHaveProperty('a') + expect(moduleDefaultCjs.a).toBe('a') }) })