mirror of
https://github.com/DayuanJiang/next-ai-draw-io.git
synced 2026-01-02 14:22:28 +08:00
42 lines
1.3 KiB
JavaScript
42 lines
1.3 KiB
JavaScript
|
|
#!/usr/bin/env node
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Prepare standalone directory for Electron packaging
|
||
|
|
* Copies the Next.js standalone output to a temp directory
|
||
|
|
* that electron-builder can properly include
|
||
|
|
*/
|
||
|
|
|
||
|
|
import { cpSync, rmSync, existsSync, mkdirSync } from "node:fs"
|
||
|
|
import { join } from "node:path"
|
||
|
|
import { fileURLToPath } from "node:url"
|
||
|
|
|
||
|
|
const __dirname = fileURLToPath(new URL(".", import.meta.url))
|
||
|
|
const rootDir = join(__dirname, "..")
|
||
|
|
|
||
|
|
const standaloneDir = join(rootDir, ".next", "standalone")
|
||
|
|
const staticDir = join(rootDir, ".next", "static")
|
||
|
|
const targetDir = join(rootDir, "electron-standalone")
|
||
|
|
|
||
|
|
console.log("Preparing Electron build...")
|
||
|
|
|
||
|
|
// Clean target directory
|
||
|
|
if (existsSync(targetDir)) {
|
||
|
|
console.log("Cleaning previous build...")
|
||
|
|
rmSync(targetDir, { recursive: true })
|
||
|
|
}
|
||
|
|
|
||
|
|
// Create target directory
|
||
|
|
mkdirSync(targetDir, { recursive: true })
|
||
|
|
|
||
|
|
// Copy standalone (includes node_modules)
|
||
|
|
console.log("Copying standalone directory...")
|
||
|
|
cpSync(standaloneDir, targetDir, { recursive: true })
|
||
|
|
|
||
|
|
// Copy static files
|
||
|
|
console.log("Copying static files...")
|
||
|
|
const targetStaticDir = join(targetDir, ".next", "static")
|
||
|
|
mkdirSync(targetStaticDir, { recursive: true })
|
||
|
|
cpSync(staticDir, targetStaticDir, { recursive: true })
|
||
|
|
|
||
|
|
console.log("Done! Files prepared in electron-standalone/")
|