container/rollup.config.js

79 lines
2.2 KiB
JavaScript

// rollup.config.js
import typescript from '@rollup/plugin-typescript';
import resolve from '@rollup/plugin-node-resolve';
import commonjs from '@rollup/plugin-commonjs';
import copy from 'rollup-plugin-copy';
import { dts } from 'rollup-plugin-dts';
import terser from '@rollup/plugin-terser';
/**
* @type {import('rollup').RollupOptions}
*/
const config1 = {
input: 'src/index.ts', // TypeScript 入口文件
output: {
file: 'dist/container.js', // 输出文件
format: 'es', // 输出格式设置为 ES 模块
},
plugins: [
resolve(), // 使用 @rollup/plugin-node-resolve 解析 node_modules 中的模块
commonjs(), //
terser({
format: {
comments: false, // 移除注释
},
compress: {
drop_console: true, // 移除 console.log
drop_debugger: true, // 移除 debugger
},
}),
typescript({
allowImportingTsExtensions: true,
noEmit: true,
declaration: false,
}), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件
],
};
const config1Dts = {
input: 'src/index.ts', // TypeScript 入口文件
output: {
file: 'dist/container.d.ts', // 输出文件
format: 'es', // 输出格式设置为 ES 模块
},
plugins: [
dts(), // 生成 .d.ts 类型声明文件
],
};
const config2 = {
input: 'src/edit.ts', // TypeScript 入口文件
output: {
file: 'dist/container-edit.js', // 输出文件
format: 'es', // 输出格式设置为 ES 模块
},
plugins: [
resolve(), // 使用 @rollup/plugin-node-resolve 解析 node_modules 中的模块
commonjs(), //
typescript({
allowImportingTsExtensions: true,
noEmit: true,
declaration: false,
}), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件
// 复制/src/container.css 到dist/container.css
// copy({
// targets: [{ src: 'src/container.css', dest: 'dist' }],
// }),
],
};
const config2Dts = {
input: 'src/edit.ts', // TypeScript 入口文件
output: {
file: 'dist/container-edit.d.ts', // 输出文件
format: 'es', // 输出格式设置为 ES 模块
},
plugins: [
dts(), // 生成 .d.ts 类型声明文件
],
};
export default [config1, config2, config1Dts, config2Dts];