herdr/website/scripts/prepare-docs.mjs

32 lines
824 B
JavaScript

import { cp, mkdir } from 'node:fs/promises';
import { dirname, resolve } from 'node:path';
import { fileURLToPath } from 'node:url';
const websiteDir = dirname(fileURLToPath(import.meta.url));
const repoRoot = resolve(websiteDir, '../..');
const publicDir = resolve(repoRoot, 'website/public');
await preparePublicAssets();
async function preparePublicAssets() {
await mkdir(publicDir, { recursive: true });
for (const file of [
'install.sh',
'latest.json',
'robots.txt',
'sitemap.xml',
'favicon.ico',
'_headers',
'_redirects',
]) {
await cp(resolve(repoRoot, 'website', file), resolve(publicDir, file));
}
for (const directory of ['assets', 'css']) {
await cp(resolve(repoRoot, 'website', directory), resolve(publicDir, directory), {
recursive: true,
});
}
}