mirror of
https://gitee.com/newgateway/vtj.git
synced 2026-05-07 19:59:38 +08:00
55 lines
1.8 KiB
JavaScript
55 lines
1.8 KiB
JavaScript
import { join } from 'path';
|
|
import { rm, readdir } from 'fs/promises';
|
|
const PACKAGES_PATH = 'packages';
|
|
const APPS_PATH = 'apps';
|
|
const PLATFORMS_PATH = 'platforms';
|
|
const DIRS = ['lib', 'cdn', 'types', 'dist', 'coverage', 'temp'];
|
|
const FILES = ['tsconfig.tsbuildinfo', 'package-lock.json', 'pnpm-lock.yaml'];
|
|
|
|
async function getPackages(dir) {
|
|
return await readdir(dir);
|
|
}
|
|
|
|
async function cleanDir(list, parentPath) {
|
|
for (let pkg of list) {
|
|
for (let dir of DIRS) {
|
|
const dirpath = join(parentPath, pkg, dir);
|
|
try {
|
|
await rm(dirpath, { recursive: true, force: true });
|
|
} catch (e) {}
|
|
}
|
|
for (let file of FILES) {
|
|
const filepath = join(parentPath, pkg, file);
|
|
try {
|
|
await rm(filepath, { recursive: true, force: true });
|
|
} catch (e) {}
|
|
}
|
|
}
|
|
await rm('node_modules', { recursive: true, force: true });
|
|
|
|
for (let file of FILES) {
|
|
try {
|
|
await rm(file, { recursive: true, force: true });
|
|
} catch (e) {}
|
|
}
|
|
}
|
|
|
|
async function cleanOther() {
|
|
await rm('.nx', { recursive: true, force: true });
|
|
await rm('create-vtj/dist', { recursive: true, force: true });
|
|
await rm('create-vtj/node_modules', { recursive: true, force: true });
|
|
await rm('dev/dist', { recursive: true, force: true });
|
|
await rm('dev/node_modules', { recursive: true, force: true });
|
|
await rm('docs/dist', { recursive: true, force: true });
|
|
await rm('docs/node_modules', { recursive: true, force: true });
|
|
await rm('docs/cache', { recursive: true, force: true });
|
|
await rm('docs/.vitepress/cache', { recursive: true, force: true });
|
|
}
|
|
|
|
console.log('开始清理...');
|
|
await cleanDir(await getPackages(PACKAGES_PATH), PACKAGES_PATH);
|
|
await cleanDir(await getPackages(PLATFORMS_PATH), PLATFORMS_PATH);
|
|
await cleanDir(await getPackages(APPS_PATH), APPS_PATH);
|
|
await cleanOther();
|
|
console.log('开始完成!');
|