fix(testing): resolve full paths to vite configs for vitest (#17396)
This commit is contained in:
parent
aa6b6394bb
commit
ca38a2390b
@ -53,7 +53,7 @@ export async function* vitestExecutor(
|
|||||||
) {
|
) {
|
||||||
const projectRoot =
|
const projectRoot =
|
||||||
context.projectsConfigurations.projects[context.projectName].root;
|
context.projectsConfigurations.projects[context.projectName].root;
|
||||||
registerTsConfigPaths(resolve(projectRoot, 'tsconfig.json'));
|
registerTsConfigPaths(resolve(workspaceRoot, projectRoot, 'tsconfig.json'));
|
||||||
|
|
||||||
const { startVitest } = await (Function(
|
const { startVitest } = await (Function(
|
||||||
'return import("vitest/node")'
|
'return import("vitest/node")'
|
||||||
@ -111,15 +111,23 @@ async function getSettings(
|
|||||||
: ({} as CoverageOptions);
|
: ({} as CoverageOptions);
|
||||||
|
|
||||||
const viteConfigPath = options.config
|
const viteConfigPath = options.config
|
||||||
? joinPathFragments(context.root, options.config)
|
? options.config // config is expected to be from the workspace root
|
||||||
: findViteConfig(joinPathFragments(context.root, projectRoot));
|
: findViteConfig(joinPathFragments(context.root, projectRoot));
|
||||||
|
|
||||||
|
const resolvedProjectRoot = resolve(workspaceRoot, projectRoot);
|
||||||
|
const resolvedViteConfigPath = resolve(
|
||||||
|
workspaceRoot,
|
||||||
|
projectRoot,
|
||||||
|
relative(resolvedProjectRoot, viteConfigPath)
|
||||||
|
);
|
||||||
|
|
||||||
const resolved = await loadConfigFromFile(
|
const resolved = await loadConfigFromFile(
|
||||||
{
|
{
|
||||||
mode: options.mode,
|
mode: options.mode,
|
||||||
command: 'serve',
|
command: 'serve',
|
||||||
},
|
},
|
||||||
viteConfigPath
|
resolvedViteConfigPath,
|
||||||
|
resolvedProjectRoot
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!viteConfigPath || !resolved?.config?.['test']) {
|
if (!viteConfigPath || !resolved?.config?.['test']) {
|
||||||
@ -138,7 +146,8 @@ You can manually set the config in the project, ${
|
|||||||
// when running nx from the project root, the root will get appended to the cwd.
|
// when running nx from the project root, the root will get appended to the cwd.
|
||||||
// creating an invalid path and no tests will be found.
|
// creating an invalid path and no tests will be found.
|
||||||
// instead if we are not at the root, let the cwd be root.
|
// instead if we are not at the root, let the cwd be root.
|
||||||
root: offset === '' ? projectRoot : '',
|
root: offset === '' ? resolvedProjectRoot : workspaceRoot,
|
||||||
|
config: resolvedViteConfigPath,
|
||||||
reporters: [
|
reporters: [
|
||||||
...(options.reporters ?? []),
|
...(options.reporters ?? []),
|
||||||
...((resolved?.config?.['test']?.reporters as string[]) ?? []),
|
...((resolved?.config?.['test']?.reporters as string[]) ?? []),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user