Files
rustfs-console/scripts/prepare-static-basepath.js
T

44 lines
1.2 KiB
JavaScript

import fs from "node:fs"
import path from "node:path"
const OUT_DIR = path.resolve(process.cwd(), "out")
const basePathRaw = process.env.NEXT_PUBLIC_BASE_PATH ?? "/rustfs/console"
function normalizeBasePath(input) {
const value = String(input || "").trim()
if (!value || value === "/") return ""
return value.replace(/^\/+/, "").replace(/\/+$/, "")
}
function main() {
const basePath = normalizeBasePath(basePathRaw)
if (!basePath) {
console.log("[prepare-static-basepath] skipped: empty basePath")
return
}
if (!fs.existsSync(OUT_DIR)) {
console.log("[prepare-static-basepath] skipped: out directory not found")
return
}
const targetDir = path.join(OUT_DIR, basePath)
const firstSegment = basePath.split("/")[0]
fs.rmSync(targetDir, { recursive: true, force: true })
fs.mkdirSync(targetDir, { recursive: true })
for (const entry of fs.readdirSync(OUT_DIR)) {
if (entry === firstSegment) continue
fs.cpSync(path.join(OUT_DIR, entry), path.join(targetDir, entry), {
recursive: true,
force: true,
errorOnExist: false,
})
}
console.log(`[prepare-static-basepath] prepared ${targetDir}`)
}
main()