chore: solidify guide P1 snapshot
This commit is contained in:
44
scripts/copy-h5-nav-assets.cjs
Normal file
44
scripts/copy-h5-nav-assets.cjs
Normal file
@@ -0,0 +1,44 @@
|
||||
const fs = require('node:fs')
|
||||
const path = require('node:path')
|
||||
|
||||
const projectRoot = path.resolve(__dirname, '..')
|
||||
const sourceDir = path.join(projectRoot, 'static', 'nav-assets')
|
||||
const h5Root = path.join(projectRoot, 'dist', 'build', 'h5')
|
||||
const targetDir = path.join(h5Root, 'static', 'nav-assets')
|
||||
const faviconSource = path.join(projectRoot, 'public', 'favicon.svg')
|
||||
const faviconTarget = path.join(h5Root, 'favicon.svg')
|
||||
|
||||
if (!fs.existsSync(h5Root)) {
|
||||
throw new Error(`H5 build output not found: ${h5Root}`)
|
||||
}
|
||||
|
||||
if (!fs.existsSync(sourceDir)) {
|
||||
throw new Error(`Navigation assets not found: ${sourceDir}`)
|
||||
}
|
||||
|
||||
const copyDirectory = (source, target) => {
|
||||
fs.mkdirSync(target, { recursive: true })
|
||||
|
||||
for (const entry of fs.readdirSync(source, { withFileTypes: true })) {
|
||||
const sourcePath = path.join(source, entry.name)
|
||||
const targetPath = path.join(target, entry.name)
|
||||
|
||||
if (entry.isDirectory()) {
|
||||
copyDirectory(sourcePath, targetPath)
|
||||
continue
|
||||
}
|
||||
|
||||
if (entry.isFile()) {
|
||||
fs.copyFileSync(sourcePath, targetPath)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fs.rmSync(targetDir, { recursive: true, force: true })
|
||||
copyDirectory(sourceDir, targetDir)
|
||||
|
||||
if (fs.existsSync(faviconSource)) {
|
||||
fs.copyFileSync(faviconSource, faviconTarget)
|
||||
}
|
||||
|
||||
console.log(`Copied navigation assets to ${path.relative(projectRoot, targetDir)}`)
|
||||
Reference in New Issue
Block a user