Skip to content

Commit b9521e0

Browse files
authored
fix: allow module in --config (#8864)
1 parent 0e858ba commit b9521e0

File tree

6 files changed

+26
-1
lines changed

6 files changed

+26
-1
lines changed

packages/vitest/src/node/create.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import type { VitestRunMode } from './types/config'
88
import { resolve } from 'node:path'
99
import { deepClone, slash } from '@vitest/utils/helpers'
1010
import * as find from 'empathic/find'
11+
import { resolveModule } from 'local-pkg'
1112
import { mergeConfig } from 'vite'
1213
import { configFiles } from '../constants'
1314
import { Vitest } from './core'
@@ -27,7 +28,7 @@ export async function createVitest(
2728
= options.config === false
2829
? false
2930
: options.config
30-
? resolve(root, options.config)
31+
? (resolveModule(options.config, { paths: [root] }) ?? resolve(root, options.config))
3132
: find.any(configFiles, { cwd: root })
3233

3334
options.config = configPath

pnpm-lock.yaml

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export default {}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"name": "@test/test-dep-config",
3+
"type": "module",
4+
"private": true,
5+
"main": "./index.js"
6+
}

test/config/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
"test": "vitest --typecheck.enabled"
77
},
88
"devDependencies": {
9+
"@test/test-dep-config": "link:./deps/test-dep-config",
910
"@vitest/browser-playwright": "workspace:*",
1011
"@vitest/browser-preview": "workspace:*",
1112
"@vitest/browser-webdriverio": "workspace:*",
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { resolve } from 'pathe'
2+
import { expect, test } from 'vitest'
3+
import { createVitest } from 'vitest/node'
4+
5+
test('can pass down the config as a module', async () => {
6+
const vitest = await createVitest('test', {
7+
config: '@test/test-dep-config',
8+
})
9+
10+
expect(vitest.vite.config.configFile).toBe(
11+
resolve(import.meta.dirname, '../deps/test-dep-config/index.js'),
12+
)
13+
})

0 commit comments

Comments
 (0)