Skip to content

Commit 4c5cf91

Browse files
authored
test: ssr external / resolveId test (#18327)
1 parent 18f1dad commit 4c5cf91

File tree

6 files changed

+65
-4
lines changed

6 files changed

+65
-4
lines changed

packages/vite/src/node/__tests__/environment.spec.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@ import path from 'node:path'
22
import { describe, expect, onTestFinished, test } from 'vitest'
33
import type { RollupOutput } from 'rollup'
44
import { createServer } from '../server'
5-
import { defineConfig } from '../config'
5+
import type { InlineConfig } from '../config'
66
import { createBuilder } from '../build'
77
import { createServerModuleRunner } from '../ssr/runtime/serverModuleRunner'
88

99
describe('custom environment conditions', () => {
10-
function getConfig() {
11-
return defineConfig({
10+
function getConfig(): InlineConfig {
11+
return {
12+
configFile: false,
1213
root: import.meta.dirname,
1314
logLevel: 'error',
1415
server: {
@@ -116,7 +117,7 @@ describe('custom environment conditions', () => {
116117
},
117118
},
118119
},
119-
})
120+
}
120121
}
121122

122123
test('dev', async () => {
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import dep from '@vitejs/test-dep-conditions/with-module'
2+
export default dep
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default 'dir/index.default.js'
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default 'dir/index.module.js'

packages/vite/src/node/__tests__/fixtures/test-dep-conditions/package.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
"worker": "./index.worker.js",
1212
"browser": "./index.browser.js",
1313
"default": "./index.default.js"
14+
},
15+
"./with-module": {
16+
"module": "./dir/index.module.js",
17+
"default": "./dir/index.default.js"
1418
}
1519
}
1620
}
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { describe, expect, onTestFinished, test } from 'vitest'
2+
import { createServer } from '../server'
3+
import { createServerModuleRunner } from '../ssr/runtime/serverModuleRunner'
4+
5+
describe('import and resolveId', () => {
6+
async function createTestServer() {
7+
const server = await createServer({
8+
configFile: false,
9+
root: import.meta.dirname,
10+
logLevel: 'error',
11+
server: {
12+
middlewareMode: true,
13+
},
14+
})
15+
onTestFinished(() => server.close())
16+
const runner = createServerModuleRunner(server.environments.ssr, {
17+
hmr: {
18+
logger: false,
19+
},
20+
sourcemapInterceptor: false,
21+
})
22+
return { server, runner }
23+
}
24+
25+
test('import first', async () => {
26+
const { server, runner } = await createTestServer()
27+
const mod = await runner.import(
28+
'/fixtures/test-dep-conditions-app/entry-with-module',
29+
)
30+
const resolved = await server.environments.ssr.pluginContainer.resolveId(
31+
'@vitejs/test-dep-conditions/with-module',
32+
)
33+
expect([mod.default, resolved?.id]).toEqual([
34+
'dir/index.default.js',
35+
expect.stringContaining('dir/index.module.js'),
36+
])
37+
})
38+
39+
test('resolveId first', async () => {
40+
const { server, runner } = await createTestServer()
41+
const resolved = await server.environments.ssr.pluginContainer.resolveId(
42+
'@vitejs/test-dep-conditions/with-module',
43+
)
44+
const mod = await runner.import(
45+
'/fixtures/test-dep-conditions-app/entry-with-module',
46+
)
47+
expect([mod.default, resolved?.id]).toEqual([
48+
'dir/index.default.js',
49+
expect.stringContaining('dir/index.module.js'),
50+
])
51+
})
52+
})

0 commit comments

Comments
 (0)