mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-09 03:17:46 -08:00
52 lines
1.5 KiB
JavaScript
52 lines
1.5 KiB
JavaScript
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'
|
|
|
|
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)
|
|
process.exitCode = 1
|
|
})
|