Skip to content

Commit 1379bdb

Browse files
authored
test: use readDepOptimizationMetadata (vitejs#18900)
1 parent e5f5301 commit 1379bdb

File tree

3 files changed

+25
-27
lines changed

3 files changed

+25
-27
lines changed

playground/environment-react-ssr/__tests__/environment-react-ssr.spec.ts

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ import fs from 'node:fs'
22
import path from 'node:path'
33
import { stripVTControlCharacters } from 'node:util'
44
import { describe, expect, onTestFinished, test } from 'vitest'
5-
import type { DepOptimizationMetadata } from 'vite'
65
import {
76
isBuild,
87
page,
8+
readDepOptimizationMetadata,
99
readFile,
1010
serverLogs,
1111
testDir,
@@ -21,8 +21,7 @@ test('basic', async () => {
2121

2222
describe.runIf(!isBuild)('pre-bundling', () => {
2323
test('client', async () => {
24-
const meta = await readFile('node_modules/.vite/deps/_metadata.json')
25-
const metaJson: DepOptimizationMetadata = JSON.parse(meta)
24+
const metaJson = readDepOptimizationMetadata()
2625

2726
expect(metaJson.optimized['react']).toBeTruthy()
2827
expect(metaJson.optimized['react-dom/client']).toBeTruthy()
@@ -32,8 +31,7 @@ describe.runIf(!isBuild)('pre-bundling', () => {
3231
})
3332

3433
test('ssr', async () => {
35-
const meta = await readFile('node_modules/.vite/deps_ssr/_metadata.json')
36-
const metaJson: DepOptimizationMetadata = JSON.parse(meta)
34+
const metaJson = readDepOptimizationMetadata('ssr')
3735

3836
expect(metaJson.optimized['react']).toBeTruthy()
3937
expect(metaJson.optimized['react-dom/server']).toBeTruthy()
@@ -45,17 +43,12 @@ describe.runIf(!isBuild)('pre-bundling', () => {
4543
test('deps reload', async () => {
4644
const envs = ['client', 'server'] as const
4745

48-
const getMeta = (env: (typeof envs)[number]): DepOptimizationMetadata => {
49-
const meta = readFile(
50-
`node_modules/.vite/deps${env === 'client' ? '' : '_ssr'}/_metadata.json`,
51-
)
52-
return JSON.parse(meta)
53-
}
54-
55-
expect(getMeta('client').optimized['react-fake-client']).toBeFalsy()
56-
expect(getMeta('client').optimized['react-fake-server']).toBeFalsy()
57-
expect(getMeta('server').optimized['react-fake-server']).toBeFalsy()
58-
expect(getMeta('server').optimized['react-fake-client']).toBeFalsy()
46+
const clientMeta = readDepOptimizationMetadata('client')
47+
const ssrMeta = readDepOptimizationMetadata('ssr')
48+
expect(clientMeta.optimized['react-fake-client']).toBeFalsy()
49+
expect(clientMeta.optimized['react-fake-server']).toBeFalsy()
50+
expect(ssrMeta.optimized['react-fake-server']).toBeFalsy()
51+
expect(ssrMeta.optimized['react-fake-client']).toBeFalsy()
5952

6053
envs.forEach((env) => {
6154
const filePath = path.resolve(testDir, `src/entry-${env}.tsx`)
@@ -84,9 +77,11 @@ describe.runIf(!isBuild)('pre-bundling', () => {
8477
'react-fake-server, react-fake-client',
8578
)
8679

87-
expect(getMeta('client').optimized['react-fake-client']).toBeTruthy()
88-
expect(getMeta('client').optimized['react-fake-server']).toBeFalsy()
89-
expect(getMeta('server').optimized['react-fake-server']).toBeTruthy()
90-
expect(getMeta('server').optimized['react-fake-client']).toBeFalsy()
80+
const clientMetaNew = readDepOptimizationMetadata('client')
81+
const ssrMetaNew = readDepOptimizationMetadata('ssr')
82+
expect(clientMetaNew.optimized['react-fake-client']).toBeTruthy()
83+
expect(clientMetaNew.optimized['react-fake-server']).toBeFalsy()
84+
expect(ssrMetaNew.optimized['react-fake-server']).toBeTruthy()
85+
expect(ssrMetaNew.optimized['react-fake-client']).toBeFalsy()
9186
})
9287
})
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { expect, test } from 'vitest'
2-
import { isBuild, page, readFile } from '~utils'
2+
import { isBuild, page, readDepOptimizationMetadata } from '~utils'
33

44
test('optimized dep', async () => {
55
expect(await page.textContent('.optimized-dep')).toBe('[success]')
@@ -10,8 +10,8 @@ test('vue + vuex', async () => {
1010
})
1111

1212
test.runIf(!isBuild)('metadata', async () => {
13-
const meta = await readFile('node_modules/.vite/deps/_metadata.json')
14-
expect(meta).toMatch(`"@vitejs/test-dep-no-discovery"`)
15-
expect(meta).not.toMatch(`"vue"`)
16-
expect(meta).not.toMatch(`"vuex"`)
13+
const meta = readDepOptimizationMetadata()
14+
expect(Object.keys(meta.optimized)).toContain('@vitejs/test-dep-no-discovery')
15+
expect(Object.keys(meta.optimized)).not.toContain('vue')
16+
expect(Object.keys(meta.optimized)).not.toContain('vuex')
1717
})

playground/test-utils.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -201,10 +201,13 @@ export function readManifest(base = ''): Manifest {
201201
)
202202
}
203203

204-
export function readDepOptimizationMetadata(): DepOptimizationMetadata {
204+
export function readDepOptimizationMetadata(
205+
environmentName = 'client',
206+
): DepOptimizationMetadata {
207+
const suffix = environmentName === 'client' ? '' : `_${environmentName}`
205208
return JSON.parse(
206209
fs.readFileSync(
207-
path.join(testDir, 'node_modules/.vite/deps/_metadata.json'),
210+
path.join(testDir, `node_modules/.vite/deps${suffix}/_metadata.json`),
208211
'utf-8',
209212
),
210213
)

0 commit comments

Comments
 (0)