postjs/rollup.config.js
2025-06-28 23:26:48 +08:00

97 lines
2.2 KiB
JavaScript

import typescript from '@rollup/plugin-typescript';
import postcss from 'rollup-plugin-postcss';
import { terser } from 'terser';
const input = 'src/index.ts';
const outputDir = 'dist';
export default [
// ESM
{
input,
output: {
file: `${outputDir}/post.esm.js`,
format: 'esm',
sourcemap: true,
},
plugins: [
typescript(),
postcss({
extract: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
})
],
external: [], // 所有依赖都内置
},
// CJS
{
input,
output: {
file: `${outputDir}/postjs.cjs.js`,
format: 'cjs',
sourcemap: true,
exports: 'default',
},
plugins: [
typescript(),
postcss({
extract: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
})
],
external: [],
},
// UMD
{
input,
output: {
file: `${outputDir}/post.js`,
format: 'umd',
name: 'postjs',
sourcemap: true,
exports: 'default',
},
plugins: [
typescript(),
postcss({
extract: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
})
],
external: [],
},
// UMD minified
{
input,
output: {
file: `${outputDir}/post.min.js`,
format: 'umd',
name: 'postjs',
sourcemap: true,
exports: 'default',
plugins: [terser()],
},
plugins: [
typescript(),
postcss({
extract: true,
minimize: true,
use: [
['sass', { includePaths: ['./src/styles'] }]
]
}),
terser()
],
external: [],
}
];