97 lines
2.2 KiB
JavaScript
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: [],
|
|
}
|
|
];
|