01412a0a94
- Add build.dev.json to override publish.url for dev environment
- Add build:dev and build:uat scripts; each sets its own feed URL
- copy-to-nas.js now accepts env argument; outputs to
electron-update/{dev|uat}/ locally and on NAS
- docker-compose volume mounts updated to serve from env subdirs
- Remove stale artifacts from electron-update root
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
64 lines
1.7 KiB
JavaScript
64 lines
1.7 KiB
JavaScript
const fs = require('fs')
|
|
const path = require('path')
|
|
|
|
const env = process.argv[2] || 'uat'
|
|
const srcDir = path.join(__dirname, '..', 'dist')
|
|
// 项目根目录下的 electron-update/{env},用于 docker volume 挂载给 nginx
|
|
const localUpdateDir = path.join(__dirname, '..', '..', 'electron-update', env)
|
|
// NAS 共享路径
|
|
const nasDir = path.join('\\\\JIULUGNAS\\personal_folder\\CodeSpace\\GameGroup2\\electron-update', env)
|
|
|
|
function ensureDir(dir) {
|
|
try {
|
|
if (!fs.existsSync(dir)) {
|
|
fs.mkdirSync(dir, { recursive: true })
|
|
}
|
|
return true
|
|
} catch (err) {
|
|
console.error(`[copy-to-nas] failed to create dir ${dir}:`, err.message)
|
|
return false
|
|
}
|
|
}
|
|
|
|
function copyFilesTo(destDir, label) {
|
|
if (!fs.existsSync(srcDir)) {
|
|
console.log(`[copy-to-nas] dist not found, skipping ${label}`)
|
|
return
|
|
}
|
|
|
|
const files = fs.readdirSync(srcDir).filter((f) => {
|
|
const ext = path.extname(f).toLowerCase()
|
|
return (
|
|
ext === '.exe' ||
|
|
ext === '.yml' ||
|
|
ext === '.blockmap' ||
|
|
ext === '.nupkg' ||
|
|
ext === '.yaml'
|
|
)
|
|
})
|
|
|
|
if (files.length === 0) {
|
|
console.log(`[copy-to-nas] no update files found in dist, skipping ${label}`)
|
|
return
|
|
}
|
|
|
|
if (!ensureDir(destDir)) return
|
|
|
|
for (const file of files) {
|
|
const src = path.join(srcDir, file)
|
|
const dest = path.join(destDir, file)
|
|
try {
|
|
fs.copyFileSync(src, dest)
|
|
console.log(`[copy-to-nas] copied ${file} -> ${destDir}`)
|
|
} catch (err) {
|
|
console.error(`[copy-to-nas] failed to copy ${file} to ${label}:`, err.message)
|
|
}
|
|
}
|
|
}
|
|
|
|
// 复制到本地目录(供 docker volume 挂载)
|
|
copyFilesTo(localUpdateDir, 'local')
|
|
|
|
// 复制到 NAS
|
|
copyFilesTo(nasDir, 'NAS')
|