- 三个皮肤 CSS 与 src/core/moeplayerEmbed.js 共 3452 处替换,track- 等词内命中已保护 - 右键菜单 version:X3 改为 __MOE_VERSION__ 占位,@rollup/plugin-replace 构建时注入 - 版本号升级为 0.1.0,随 package.json 维护
61 lines
1.7 KiB
JavaScript
61 lines
1.7 KiB
JavaScript
/*
|
|
* rollup 构建配置
|
|
* 功能:把 src/ 下的 ES Module 打包成与旧版等价的 UMD 产物
|
|
* 1. moeplayer/js/moeplayer.js —— 未压缩版
|
|
* 2. moeplayer/js/moeplayer.min.js —— terser 压缩版(保留版权注释)
|
|
* 运行时依赖(hls.js/flv.js/mpegts.js)的拷贝由 scripts/copy-libs.js 完成
|
|
* 用法:npm run build
|
|
*/
|
|
import terser from '@rollup/plugin-terser';
|
|
import replace from '@rollup/plugin-replace';
|
|
import { readFileSync } from 'fs';
|
|
|
|
// 版本号从 package.json 注入,源码中用 __MOE_VERSION__ 占位
|
|
const pkg = JSON.parse(readFileSync(new URL('./package.json', import.meta.url), 'utf8'));
|
|
|
|
// 产物头部版权注释(与 src/index.js 顶部一致)
|
|
const banner = `/*
|
|
* 软件名称:MoePlayer
|
|
* 版本:X3
|
|
* 版权:MoePlayer 项目(fork 自 ckplayer, www.ckplayer.com)
|
|
* 开源协议:MIT
|
|
*/`;
|
|
|
|
const outputBase = {
|
|
format: 'umd',
|
|
name: 'MoePlayer',
|
|
// 仅导出 moeplayerEmbed 函数本身,与旧 UMD 的 module.exports = factory() 行为一致
|
|
exports: 'default',
|
|
banner
|
|
};
|
|
|
|
export default {
|
|
input: 'src/index.js',
|
|
// 关闭 tree-shaking:完整保留所有工具函数(含暂未被引用的),与旧单文件内容一致
|
|
treeshake: false,
|
|
plugins: [
|
|
replace({
|
|
preventAssignment: true,
|
|
values: { __MOE_VERSION__: JSON.stringify(pkg.version) }
|
|
})
|
|
],
|
|
output: [
|
|
{
|
|
...outputBase,
|
|
file: 'moeplayer/js/moeplayer.js'
|
|
},
|
|
{
|
|
...outputBase,
|
|
file: 'moeplayer/js/moeplayer.min.js',
|
|
plugins: [
|
|
terser({
|
|
format: {
|
|
// 保留文件头部的版权注释
|
|
comments: /^!|软件名称|版权/
|
|
}
|
|
})
|
|
]
|
|
}
|
|
]
|
|
};
|