postjs/rollup.config.js
2025-06-29 00:03:28 +08:00

96 lines
2.3 KiB
JavaScript

import typescript from '@rollup/plugin-typescript';
import postcss from 'rollup-plugin-postcss';
import terser from '@rollup/plugin-terser';
const input = 'src/index.ts';
const outputDir = 'dist';
export default [
// ESM 单文件输出
{
input: input,
output: {
file: `${outputDir}/post.esm.js`,
format: 'esm',
sourcemap: true
},
plugins: [
typescript(),
postcss({
inject: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
})
],
external: []
},
// CJS 单文件输出
{
input: input,
output: {
file: `${outputDir}/postjs.cjs.js`,
format: 'cjs',
sourcemap: true,
exports: 'default'
},
plugins: [
typescript(),
postcss({
inject: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
})
],
external: []
},
// UMD 未压缩(单文件,含样式)
{
input: input,
output: {
file: `${outputDir}/post.js`,
format: 'umd',
name: 'postjs',
sourcemap: true,
exports: 'default'
},
plugins: [
typescript(),
postcss({
inject: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
})
],
external: []
},
// UMD 压缩版(单文件,含样式)
{
input: input,
output: {
file: `${outputDir}/post.min.js`,
format: 'umd',
name: 'postjs',
sourcemap: true,
exports: 'default'
},
plugins: [
typescript(),
postcss({
inject: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
}),
terser()
],
external: []
}
];