mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-23 13:51:20 -08:00
refactor(build): [SITE-BUILD-01] stage outputs and stabilize documentation builds
This commit is contained in:
1 parent
078cd9ef72
commit
a468cb2c39
72 files changed
+2396
-748
No files matched your search
+3
-47
@@ -1,51 +1,7 @@
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import process from 'node:process'
|
||||
import cpy from 'cpy'
|
||||
import { glob } from 'glob'
|
||||
import { build as viteBuild } from 'vite'
|
||||
import { getViteBuildConfig, toPascalCase } from './utils.js'
|
||||
import { buildLanguages } from './site-build/i18n.ts'
|
||||
|
||||
const basePath = 'packages/artplayer'
|
||||
const i18nSrcDir = path.join(basePath, 'src/i18n')
|
||||
const distDir = path.join(basePath, 'dist/i18n')
|
||||
const compiledPath = path.resolve('docs/compiled/i18n')
|
||||
|
||||
const entries = glob.sync('*.{js,ts}', {
|
||||
cwd: i18nSrcDir,
|
||||
ignore: ['index.{js,ts}', 'publish.{js,ts}', 'zh-cn.{js,ts}', '*.d.ts'],
|
||||
}).map(f => path.join(i18nSrcDir, f))
|
||||
|
||||
async function buildI18n() {
|
||||
if (fs.existsSync(distDir)) {
|
||||
fs.rmSync(distDir, { recursive: true, force: true })
|
||||
}
|
||||
fs.mkdirSync(distDir, { recursive: true })
|
||||
|
||||
for (const entry of entries) {
|
||||
const baseName = path.basename(entry, path.extname(entry))
|
||||
const globalName = `artplayerI18n${toPascalCase(baseName)}`
|
||||
|
||||
// Build UMD and ESM formats
|
||||
for (const [format, ext] of [['umd', '.js'], ['es', '.mjs']]) {
|
||||
const config = getViteBuildConfig({
|
||||
entry,
|
||||
outDir: distDir,
|
||||
name: globalName,
|
||||
format,
|
||||
fileName: `${baseName}${ext}`,
|
||||
})
|
||||
await viteBuild(config)
|
||||
}
|
||||
|
||||
console.log(`✅ Built i18n: ${baseName}`)
|
||||
}
|
||||
|
||||
await cpy(path.join(distDir, '*'), compiledPath, { flat: true })
|
||||
console.log('✨ Finished building i18n')
|
||||
}
|
||||
|
||||
buildI18n().catch((err) => {
|
||||
console.error('❌ Build i18n failed:', err)
|
||||
await buildLanguages(process.cwd()).catch((error) => {
|
||||
console.error(error)
|
||||
process.exitCode = 1
|
||||
})
|
||||
Reference in new issue
Block a user