diff --git a/openflare_server/web/scripts/prepare-static-export.mjs b/openflare_server/web/scripts/prepare-static-export.mjs index 295d2654..c0c70322 100644 --- a/openflare_server/web/scripts/prepare-static-export.mjs +++ b/openflare_server/web/scripts/prepare-static-export.mjs @@ -1,14 +1,19 @@ -import { cpSync, existsSync, mkdirSync, rmSync } from 'node:fs'; -import { resolve } from 'node:path'; - -const root = process.cwd(); -const outDir = resolve(root, 'out'); -const buildDir = resolve(root, 'build'); +import { cpSync, existsSync, mkdirSync, renameSync, rmSync } from 'node:fs'; +import { resolve } from 'node:path'; + +const root = process.cwd(); +const outDir = resolve(root, 'out'); +const buildDir = resolve(root, 'build'); if (!existsSync(outDir)) { throw new Error('Missing Next.js export output: out/'); } - -rmSync(buildDir, { recursive: true, force: true }); -mkdirSync(buildDir, { recursive: true }); -cpSync(outDir, buildDir, { recursive: true }); + +rmSync(buildDir, { recursive: true, force: true }); + +try { + renameSync(outDir, buildDir); +} catch (error) { + mkdirSync(buildDir, { recursive: true }); + cpSync(outDir, buildDir, { recursive: true }); +}