Files
moeplayer/rollup.config.js
王阳 639c37248d CSS 类名 ck- → moe-,版本号改为构建时从 package.json 注入
- 三个皮肤 CSS 与 src/core/moeplayerEmbed.js 共 3452 处替换,track- 等词内命中已保护
- 右键菜单 version:X3 改为 __MOE_VERSION__ 占位,@rollup/plugin-replace 构建时注入
- 版本号升级为 0.1.0,随 package.json 维护
2026-07-21 11:35:51 +08:00

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: /^!|软件名称|版权/
}
})
]
}
]
};