96 lines
2.3 KiB
JavaScript
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: []
|
|
}
|
|
];
|