Skip to content

Commit 29299f3

Browse files
authored
fix!: remove deprecated node loader (#4371)
1 parent 9527e65 commit 29299f3

File tree

11 files changed

+460
-846
lines changed

11 files changed

+460
-846
lines changed

docs/config/index.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ Directory to save cache files.
192192

193193
### deps
194194

195-
- **Type:** `{ optimizer?, registerNodeLoader?, ... }`
195+
- **Type:** `{ optimizer?, ... }`
196196

197197
Handling for dependencies resolution.
198198

@@ -278,15 +278,6 @@ By default, files inside `node_modules` are externalized and not transformed, un
278278
At the moment, this option only works with [`vmThreads`](#vmthreads) pool.
279279
:::
280280

281-
#### deps.registerNodeLoader<NonProjectOption />
282-
283-
- **Type:** `boolean`
284-
- **Default:** `false`
285-
286-
Use [experimental Node loader](https://nodejs.org/api/esm.html#loaders) to resolve imports inside externalized files, using Vite resolve algorithm.
287-
288-
If disabled, your `alias` and `<plugin>.resolveId` won't affect imports inside externalized packages (by default, `node_modules`).
289-
290281
#### deps.interopDefault
291282

292283
- **Type:** `boolean`

examples/solid/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
"coverage": "vitest --coverage"
77
},
88
"dependencies": {
9-
"solid-js": "^1.4.3"
9+
"solid-js": "^1.8.3"
1010
},
1111
"devDependencies": {
12+
"@solidjs/testing-library": "^0.8.4",
1213
"@testing-library/jest-dom": "^5.16.4",
1314
"jsdom": "latest",
14-
"solid-testing-library": "^0.5.0",
1515
"vite": "latest",
16-
"vite-plugin-solid": "^2.5.0",
16+
"vite-plugin-solid": "^2.7.2",
1717
"vitest": "latest"
1818
}
1919
}

examples/solid/test/Hello.test.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { describe, expect, test } from 'vitest'
2-
import { fireEvent, render } from 'solid-testing-library'
2+
import { fireEvent, render } from '@solidjs/testing-library'
33
import { Hello } from '../components/Hello'
44

55
describe('<Hello />', () => {

examples/solid/vite.config.mjs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ export default defineConfig({
1313
isolate: false,
1414
},
1515
},
16+
deps: {
17+
optimizer: {
18+
web: {
19+
exclude: ['solid-js'],
20+
},
21+
},
22+
},
1623
},
1724
plugins: [solid()],
1825
resolve: {

packages/vitest/rollup.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ const entries = [
2626
'src/runtime/worker.ts',
2727
'src/runtime/vm.ts',
2828
'src/runtime/child.ts',
29-
'src/runtime/loader.ts',
3029
'src/runtime/entry.ts',
3130
'src/runtime/entry-vm.ts',
3231
'src/integrations/spy.ts',

packages/vitest/src/node/config.ts

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -198,16 +198,6 @@ export function resolveConfig(
198198
?? resolve(resolved.root, resolved.runner)
199199
}
200200

201-
if (resolved.deps.registerNodeLoader) {
202-
const transformMode = resolved.environment === 'happy-dom' || resolved.environment === 'jsdom' ? 'web' : 'ssr'
203-
console.warn(
204-
c.yellow(
205-
`${c.inverse(c.yellow(' Vitest '))} "deps.registerNodeLoader" is deprecated.`
206-
+ `If you rely on aliases inside external packages, use "deps.optimizer.${transformMode}.include" instead.`,
207-
),
208-
)
209-
}
210-
211201
resolved.testNamePattern = resolved.testNamePattern
212202
? resolved.testNamePattern instanceof RegExp
213203
? resolved.testNamePattern

packages/vitest/src/node/pool.ts

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,4 @@
1-
import { pathToFileURL } from 'node:url'
21
import mm from 'micromatch'
3-
import { resolve } from 'pathe'
4-
import { distDir, rootDir } from '../paths'
52
import type { Pool } from '../types'
63
import type { Vitest } from './core'
74
import { createChildProcessPool } from './pools/child'
@@ -27,9 +24,6 @@ export interface PoolProcessOptions {
2724
env: Record<string, string>
2825
}
2926

30-
const loaderPath = pathToFileURL(resolve(distDir, './loader.js')).href
31-
const suppressLoaderWarningsPath = resolve(rootDir, './suppress-warnings.cjs')
32-
3327
export function createPool(ctx: Vitest): ProcessPool {
3428
const pools: Record<Pool, ProcessPool | null> = {
3529
forks: null,
@@ -74,19 +68,10 @@ export function createPool(ctx: Vitest): ProcessPool {
7468

7569
const options: PoolProcessOptions = {
7670
...ctx.projectFiles,
77-
execArgv: ctx.config.deps.registerNodeLoader
78-
? [
79-
...execArgv,
80-
'--require',
81-
suppressLoaderWarningsPath,
82-
'--experimental-loader',
83-
loaderPath,
84-
...conditions,
85-
]
86-
: [
87-
...execArgv,
88-
...conditions,
89-
],
71+
execArgv: [
72+
...execArgv,
73+
...conditions,
74+
],
9075
env: {
9176
TEST: 'true',
9277
VITEST: 'true',

packages/vitest/src/runtime/loader.ts

Lines changed: 0 additions & 95 deletions
This file was deleted.

packages/vitest/src/types/config.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -181,13 +181,6 @@ interface DepsOptions {
181181
*/
182182
fallbackCJS?: boolean
183183

184-
/**
185-
* Use experimental Node loader to resolve imports inside node_modules using Vite resolve algorithm.
186-
* @default false
187-
* @deprecated If you rely on aliases inside external packages, use `deps.optimizer.{web,ssr}.include` instead.
188-
*/
189-
registerNodeLoader?: boolean
190-
191184
/**
192185
* A list of directories relative to the config file that should be treated as module directories.
193186
*
@@ -805,7 +798,7 @@ export type ProjectConfig = Omit<
805798
| 'coverage'
806799
> & {
807800
sequencer?: Omit<SequenceOptions, 'sequencer' | 'seed'>
808-
deps?: Omit<DepsOptions, 'registerNodeLoader' | 'moduleDirectories'>
801+
deps?: Omit<DepsOptions, 'moduleDirectories'>
809802
}
810803

811804
export type RuntimeConfig = Pick<

0 commit comments

Comments
 (0)