import { cp, mkdir, rm } from 'node:fs/promises'; import { fileURLToPath } from 'node:url'; import { basename } from 'node:path'; const root = new URL('../', import.meta.url); const output = new URL('dist/', root); const publicFiles = ['index.html', 'assets', 'favicon.ico', 'favicon.svg', 'sitemap.xml', 'robots.txt', 'site.webmanifest']; await rm(output, { recursive: true, force: true }); await mkdir(output, { recursive: true }); for (const filename of publicFiles) { await cp(new URL(filename, root), new URL(filename, output), { recursive: true, filter: (source) => !basename(source).startsWith('.'), }); } console.log(`Static site built at ${fileURLToPath(output)}`);