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: [], } ];