-
Notifications
You must be signed in to change notification settings - Fork 66
Expand file tree
/
Copy pathvitest.node.config.ts
More file actions
112 lines (111 loc) · 3.03 KB
/
Copy pathvitest.node.config.ts
File metadata and controls
112 lines (111 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import { resolve } from 'node:path'
import { defineProject, mergeConfig } from 'vitest/config'
import { rootDir, sharedProjectConfig } from './vitest-shared.ts'
export default mergeConfig(
sharedProjectConfig,
defineProject({
ssr: {
// Inline so the `cloudflare:workers` alias below applies inside these
// packages; the OAuth provider (aliased below from its generated
// deferred module) imports `WorkerEntrypoint` at module top.
noExternal: [
'@cloudflare/codemode',
'@cloudflare/workers-oauth-provider',
],
},
resolve: {
alias: [
{
find: '#worker/og/og-image-assets.ts',
replacement: resolve(
rootDir,
'packages/worker/src/og/og-image-assets.node.ts',
),
},
{
find: /\/og\/og-image-assets\.ts$/,
replacement: resolve(
rootDir,
'packages/worker/src/og/og-image-assets.node.ts',
),
},
{
find: '#worker/og/og-resvg-wasm.ts',
replacement: resolve(
rootDir,
'packages/worker/src/og/og-resvg-wasm.node.ts',
),
},
{
find: /\/og\/og-resvg-wasm\.ts$/,
replacement: resolve(
rootDir,
'packages/worker/src/og/og-resvg-wasm.node.ts',
),
},
{
find: '#worker/og/og-binary-assets.ts',
replacement: resolve(
rootDir,
'packages/worker/src/og/og-binary-assets.node.ts',
),
},
{
find: /\/og\/og-binary-assets\.ts$/,
replacement: resolve(
rootDir,
'packages/worker/src/og/og-binary-assets.node.ts',
),
},
{
find: '@sentry/cloudflare',
replacement: resolve(
rootDir,
'packages/worker/src/test-support/sentry-cloudflare-stub.ts',
),
},
{
find: 'cloudflare:workers',
replacement: resolve(
rootDir,
'packages/worker/src/test-support/cloudflare-workers-stub.ts',
),
},
{
find: 'cloudflare:workflows',
replacement: resolve(
rootDir,
'packages/worker/src/test-support/cloudflare-workflows-stub.ts',
),
},
// The generated deferred module lives under a `node_modules/`
// path, which vite-node would externalize (so the
// `cloudflare:workers` alias above would not reach it). Point node
// tests at the installed package instead; `ssr.noExternal` inlines
// it so the alias applies.
{
find: './node_modules/.kody-generated/oauth-provider.mjs',
replacement: '@cloudflare/workers-oauth-provider',
},
],
},
test: {
name: 'node-unit',
environment: 'node',
include: ['**/*.node.test.ts'],
globalSetup: [
resolve(rootDir, 'tools/vitest-global-setup-worker-bundler-modules.ts'),
resolve(rootDir, 'tools/vitest-global-setup-guide-catalog-modules.ts'),
],
// Merged with the shared setupFiles (console spies). Routes the
// audit-log sink through a shared spy; see test-support/audit-log-spy.ts.
setupFiles: [
resolve(rootDir, 'packages/worker/src/test-support/audit-log-spy.ts'),
resolve(
rootDir,
'packages/worker/src/test-support/cloudflare-global-stub.ts',
),
],
},
}),
)