system-apps/apps/ui/rollup.config.js
2024-11-01 23:53:45 +08:00

61 lines
1.6 KiB
JavaScript

import resolve from '@rollup/plugin-node-resolve';
import typescript from '@rollup/plugin-typescript';
import commonjs from '@rollup/plugin-commonjs';
import postcss from 'rollup-plugin-postcss';
import autoprefixer from 'autoprefixer';
import cssnano from 'cssnano';
import terser from '@rollup/plugin-terser';
import postcssImport from 'postcss-import';
const isApps = process.env.TYPE === 'apps';
const entrys = ['index'];
/**
* @type {import('rollup').RollupOptions[]}
*/
const configs = entrys.map((entry) => ({
input: `./src/${entry}.ts`, // 修改输入文件为 TypeScript 文件
output: {
file: `./dist/${entry}.js`,
// dir: 'dist',
format: 'es', // 输出格式为 ES Module
},
plugins: [
resolve({
browser: true, // 处理浏览器版本的依赖
}),
commonjs(),
typescript({
tsconfig: './tsconfig.json',
compilerOptions: {
declaration: !isApps, // 生成声明文件
declarationDir: './dist', // 声明文件输出目录
// outDir: './types', //
},
}), // 添加 TypeScript 插件
terser(), // 压缩输出的 ES Module 文件
],
}));
const entryCss = ['index'];
const configsCss = entryCss.map((entry) => ({
input: `./src/${entry}.css`, // 修改输入文件为 TypeScript 文件
output: {
file: `./dist/${entry}.css`,
},
include: ['src/**/*.css'],
plugins: [
// resolve(),
postcss({
// extract: true,
extract: true,
plugins: [
postcssImport(), // 处理 @import 语句
autoprefixer(),
],
}),
],
}));
export default [...configs, ...configsCss];