17 lines
679 B
JavaScript
17 lines
679 B
JavaScript
// Copies sw.js + workbox-*.js from dist/server/ to dist/client/ after build.
|
|
// @astrojs/node standalone only serves static files from dist/client/, but
|
|
// @vite-pwa/astro generates the service worker into dist/server/ during the
|
|
// SSR Vite build pass.
|
|
import { copyFile, readdir } from "node:fs/promises";
|
|
import { join } from "node:path";
|
|
|
|
const serverDir = "dist/server";
|
|
const clientDir = "dist/client";
|
|
|
|
const files = await readdir(serverDir).catch(() => []);
|
|
for (const file of files) {
|
|
if (file === "sw.js" || file.startsWith("workbox-")) {
|
|
await copyFile(join(serverDir, file), join(clientDir, file));
|
|
console.log(`[copy-sw] ${file} → dist/client/`);
|
|
}
|
|
}
|