()
| 5 | console.log('🚀 使用 Rollup 构建npm包...'); |
| 6 | |
| 7 | async function main() { |
| 8 | try { |
| 9 | // 清理旧的dist目录 |
| 10 | if (fs.existsSync('./dist')) { |
| 11 | console.log('🧹 清理旧的构建文件...'); |
| 12 | execSync('rimraf ./dist', { stdio: 'inherit' }); |
| 13 | } |
| 14 | |
| 15 | // 执行Rollup构建 |
| 16 | console.log('📦 执行 Rollup 构建...'); |
| 17 | execSync('npx rollup -c rollup.config.cjs', { stdio: 'inherit' }); |
| 18 | |
| 19 | // 生成package.json |
| 20 | console.log('📋 生成 package.json...'); |
| 21 | generatePackageJson(); |
| 22 | |
| 23 | // 复制其他文件 |
| 24 | console.log('📁 复制必要文件...'); |
| 25 | copyFiles(); |
| 26 | |
| 27 | // 输出构建结果 |
| 28 | showBuildResults(); |
| 29 | |
| 30 | console.log('✅ 构建完成!'); |
| 31 | console.log('\n🚀 发布命令:'); |
| 32 | console.log('cd dist && npm publish'); |
| 33 | |
| 34 | } catch (error) { |
| 35 | console.error('❌ 构建失败:', error.message); |
| 36 | process.exit(1); |
| 37 | } |
| 38 | } |
| 39 | |
| 40 | function generatePackageJson() { |
| 41 | const sourcePackage = JSON.parse(fs.readFileSync('./package.json', 'utf8')); |
no test coverage detected