feat(vite): add v8 coverage support to vitest generator (#18114)
This commit is contained in:
parent
2dc6656f4b
commit
36dae70fb0
@ -32,8 +32,8 @@
|
|||||||
},
|
},
|
||||||
"coverageProvider": {
|
"coverageProvider": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["c8", "istanbul"],
|
"enum": ["v8", "c8", "istanbul"],
|
||||||
"default": "c8",
|
"default": "v8",
|
||||||
"description": "Coverage provider to use."
|
"description": "Coverage provider to use."
|
||||||
},
|
},
|
||||||
"testTarget": {
|
"testTarget": {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
export interface VitestGeneratorSchema {
|
export interface VitestGeneratorSchema {
|
||||||
project: string;
|
project: string;
|
||||||
uiFramework: 'react' | 'none';
|
uiFramework: 'react' | 'none';
|
||||||
coverageProvider: 'c8' | 'istanbul';
|
coverageProvider: 'v8' | 'c8' | 'istanbul';
|
||||||
inSourceTests?: boolean;
|
inSourceTests?: boolean;
|
||||||
skipViteConfig?: boolean;
|
skipViteConfig?: boolean;
|
||||||
testTarget?: string;
|
testTarget?: string;
|
||||||
|
|||||||
@ -9,7 +9,9 @@
|
|||||||
"project": {
|
"project": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The name of the project to test.",
|
"description": "The name of the project to test.",
|
||||||
"$default": { "$source": "projectName" }
|
"$default": {
|
||||||
|
"$source": "projectName"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"uiFramework": {
|
"uiFramework": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@ -29,8 +31,8 @@
|
|||||||
},
|
},
|
||||||
"coverageProvider": {
|
"coverageProvider": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"enum": ["c8", "istanbul"],
|
"enum": ["v8", "c8", "istanbul"],
|
||||||
"default": "c8",
|
"default": "v8",
|
||||||
"description": "Coverage provider to use."
|
"description": "Coverage provider to use."
|
||||||
},
|
},
|
||||||
"testTarget": {
|
"testTarget": {
|
||||||
|
|||||||
@ -22,6 +22,7 @@ import initGenerator from '../init/init';
|
|||||||
import {
|
import {
|
||||||
vitestCoverageC8Version,
|
vitestCoverageC8Version,
|
||||||
vitestCoverageIstanbulVersion,
|
vitestCoverageIstanbulVersion,
|
||||||
|
vitestCoverageV8Version,
|
||||||
} from '../../utils/versions';
|
} from '../../utils/versions';
|
||||||
|
|
||||||
import { addTsLibDependencies } from '@nx/js';
|
import { addTsLibDependencies } from '@nx/js';
|
||||||
@ -64,16 +65,14 @@ export async function vitestGenerator(
|
|||||||
createFiles(tree, schema, root);
|
createFiles(tree, schema, root);
|
||||||
updateTsConfig(tree, schema, root);
|
updateTsConfig(tree, schema, root);
|
||||||
|
|
||||||
|
const coverageProviderDependency = getCoverageProviderDependency(
|
||||||
|
schema.coverageProvider
|
||||||
|
);
|
||||||
|
|
||||||
const installCoverageProviderTask = addDependenciesToPackageJson(
|
const installCoverageProviderTask = addDependenciesToPackageJson(
|
||||||
tree,
|
tree,
|
||||||
{},
|
{},
|
||||||
schema.coverageProvider === 'istanbul'
|
coverageProviderDependency
|
||||||
? {
|
|
||||||
'@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,
|
|
||||||
}
|
|
||||||
: {
|
|
||||||
'@vitest/coverage-c8': vitestCoverageC8Version,
|
|
||||||
}
|
|
||||||
);
|
);
|
||||||
tasks.push(installCoverageProviderTask);
|
tasks.push(installCoverageProviderTask);
|
||||||
|
|
||||||
@ -150,5 +149,24 @@ function createFiles(
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCoverageProviderDependency(
|
||||||
|
coverageProvider: VitestGeneratorSchema['coverageProvider']
|
||||||
|
) {
|
||||||
|
switch (coverageProvider) {
|
||||||
|
case 'c8':
|
||||||
|
return {
|
||||||
|
'@vitest/coverage-c8': vitestCoverageC8Version,
|
||||||
|
};
|
||||||
|
case 'istanbul':
|
||||||
|
return {
|
||||||
|
'@vitest/coverage-istanbul': vitestCoverageIstanbulVersion,
|
||||||
|
};
|
||||||
|
default:
|
||||||
|
return {
|
||||||
|
'@vitest/coverage-v8': vitestCoverageV8Version,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export default vitestGenerator;
|
export default vitestGenerator;
|
||||||
export const vitestSchematic = convertNxGenerator(vitestGenerator);
|
export const vitestSchematic = convertNxGenerator(vitestGenerator);
|
||||||
|
|||||||
@ -11,4 +11,5 @@ export const edgeRuntimeVmVersion = '~3.0.2';
|
|||||||
|
|
||||||
// Coverage providers
|
// Coverage providers
|
||||||
export const vitestCoverageC8Version = '~0.32.0';
|
export const vitestCoverageC8Version = '~0.32.0';
|
||||||
|
export const vitestCoverageV8Version = '~0.32.0';
|
||||||
export const vitestCoverageIstanbulVersion = '~0.32.0';
|
export const vitestCoverageIstanbulVersion = '~0.32.0';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user