cordova-13/scripts/dist.ts
2024-12-16 21:30:38 +08:00

54 lines
1.4 KiB
TypeScript

import { mkdir, copyFile, access } from 'node:fs/promises'
import { join } from 'node:path'
import { fileURLToPath } from 'node:url'
import consola from 'consola'
const __dirname = fileURLToPath(new URL('.', import.meta.url))
const root = join(__dirname, '..')
// 检查文件是否存在的辅助函数
async function fileExists(path: string): Promise<boolean> {
try {
await access(path)
return true
} catch {
return false
}
}
async function main() {
// 确保 dist 目录存在
try {
await mkdir(join(root, 'dist'))
consola.info('dist directory created')
} catch (err) {
consola.info('dist directory already exists')
}
// 定义 APK 文件路径
const apkPaths = {
debug: {
source: join(root, 'platforms/android/app/build/outputs/apk/debug/app-debug.apk'),
target: join(root, 'dist/app-debug.apk')
},
release: {
source: join(root, 'platforms/android/app/build/outputs/apk/release/app-release.apk'),
target: join(root, 'dist/app-release.apk')
}
}
// 尝试复制 debug 和 release 版本的 APK
for (const [type, paths] of Object.entries(apkPaths)) {
if (await fileExists(paths.source)) {
try {
await copyFile(paths.source, paths.target)
consola.success(`${type} APK copied to dist/app-${type}.apk`)
} catch (err) {
consola.warn(`Failed to copy ${type} APK:`, err)
}
}
}
}
main()