mirror of
https://gitee.com/nocobase/nocobase.git
synced 2025-05-05 13:39:24 +08:00
* chore: vitest coverage * chore: vitest coverage config * chore: vitest coverage config * chore: vitest coverage config * chore: report storage dir * chore: exclude lib dir * chore: coverage report dir * fix: client and server coverage * fix: bug * fix: coverage storage dir --------- Co-authored-by: dream2023 <1098626505@qq.com>
45 lines
1.3 KiB
JavaScript
45 lines
1.3 KiB
JavaScript
const { run } = require('../util');
|
|
const fg = require('fast-glob');
|
|
|
|
const coreClientPackages = ['packages/core/client', 'packages/core/sdk'];
|
|
const isCore = (dir) => dir.startsWith('packages/core');
|
|
|
|
const getPackagesDir = (isClient) => {
|
|
if (process.argv.length > 3 && !process.argv[3].startsWith('-')) {
|
|
return [process.argv[3]];
|
|
}
|
|
|
|
const allPackageJson = fg.sync(['packages/*/*/package.json', 'packages/*/*/*/package.json'], {
|
|
cwd: process.cwd(),
|
|
onlyFiles: true,
|
|
});
|
|
const res = allPackageJson.map((pkg) => pkg.replace('/package.json', ''));
|
|
return isClient
|
|
? res.filter((dir) => (isCore(dir) ? coreClientPackages.includes(dir) : true))
|
|
: res.filter((dir) => (isCore(dir) ? !coreClientPackages.includes(dir) : true));
|
|
};
|
|
|
|
module.exports = (cli) => {
|
|
cli.command('test-coverage:server').action(async () => {
|
|
const packageRoots = getPackagesDir(false);
|
|
for (const dir of packageRoots) {
|
|
try {
|
|
await run('yarn', ['test:server', '--coverage', dir]);
|
|
} catch (e) {
|
|
continue;
|
|
}
|
|
}
|
|
});
|
|
|
|
cli.command('test-coverage:client').action(async () => {
|
|
const packageRoots = getPackagesDir(true);
|
|
for (const dir of packageRoots) {
|
|
try {
|
|
await run('yarn', ['test:client', '--coverage', dir]);
|
|
} catch (e) {
|
|
continue;
|
|
}
|
|
}
|
|
});
|
|
};
|