mirror of
https://github.com/zoriya/v10.git
synced 2026-08-05 05:37:21 +00:00
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
import { cpSync, existsSync, mkdirSync, rmSync, statSync } from 'node:fs';
|
|
import { dirname, join } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
|
|
function findWorkspaceRoot(start) {
|
|
let dir = start;
|
|
while (dir !== dirname(dir)) {
|
|
if (existsSync(join(dir, 'pnpm-workspace.yaml'))) return dir;
|
|
dir = dirname(dir);
|
|
}
|
|
throw new Error('Could not find pnpm-workspace.yaml — is this script running inside the monorepo?');
|
|
}
|
|
|
|
const WORKSPACE_ROOT = findWorkspaceRoot(__dirname);
|
|
const SITE_DIST = join(WORKSPACE_ROOT, 'site', 'dist');
|
|
const CLI_DOCS = join(__dirname, '..', 'docs');
|
|
|
|
if (!existsSync(SITE_DIST)) {
|
|
console.warn('⚠ site/dist not found — skipping docs copy. Build the site first.');
|
|
process.exit(1);
|
|
}
|
|
|
|
// Clean and recreate docs dir
|
|
rmSync(CLI_DOCS, { recursive: true, force: true });
|
|
mkdirSync(CLI_DOCS, { recursive: true });
|
|
|
|
for (const framework of ['html', 'react']) {
|
|
const src = join(SITE_DIST, 'docs', 'framework', framework);
|
|
if (!existsSync(src)) continue;
|
|
|
|
const dest = join(CLI_DOCS, framework);
|
|
cpSync(src, dest, {
|
|
recursive: true,
|
|
filter: (path) => {
|
|
if (statSync(path).isDirectory()) return true;
|
|
return path.endsWith('.md') || path.endsWith('.txt');
|
|
},
|
|
});
|
|
}
|
|
|
|
console.log('✓ Docs copied to packages/cli/docs/');
|