153 lines
3.5 KiB
JavaScript
153 lines
3.5 KiB
JavaScript
// rollup.config.js
|
|
|
|
import typescript from '@rollup/plugin-typescript';
|
|
import resolve from '@rollup/plugin-node-resolve';
|
|
import commonjs from '@rollup/plugin-commonjs';
|
|
import { dts } from 'rollup-plugin-dts';
|
|
import alias from '@rollup/plugin-alias';
|
|
|
|
const createAlias = () => {
|
|
return alias({
|
|
entries: [
|
|
{ find: 'http', replacement: 'node:http' },
|
|
{ find: 'https', replacement: 'node:https' },
|
|
{ find: 'fs', replacement: 'node:fs' },
|
|
{ find: 'path', replacement: 'node:path' },
|
|
{ find: 'crypto', replacement: 'node:crypto' },
|
|
{ find: 'zlib', replacement: 'node:zlib' },
|
|
{ find: 'stream', replacement: 'node:stream' },
|
|
{ find: 'net', replacement: 'node:net' },
|
|
{ find: 'tty', replacement: 'node:tty' },
|
|
{ find: 'tls', replacement: 'node:tls' },
|
|
{ find: 'buffer', replacement: 'node:buffer' },
|
|
{ find: 'timers', replacement: 'node:timers' },
|
|
// { find: 'string_decoder', replacement: 'node:string_decoder' },
|
|
{ find: 'dns', replacement: 'node:dns' },
|
|
{ find: 'domain', replacement: 'node:domain' },
|
|
{ find: 'os', replacement: 'node:os' },
|
|
{ find: 'events', replacement: 'node:events' },
|
|
{ find: 'url', replacement: 'node:url' },
|
|
{ find: 'assert', replacement: 'node:assert' },
|
|
{ find: 'util', replacement: 'node:util' },
|
|
],
|
|
});
|
|
};
|
|
/**
|
|
* @type {import('rollup').RollupOptions}
|
|
*/
|
|
export default [
|
|
{
|
|
input: 'src/index.ts', // TypeScript 入口文件
|
|
output: {
|
|
file: 'dist/router.js', // 输出文件
|
|
format: 'es', // 输出格式设置为 ES 模块
|
|
},
|
|
plugins: [
|
|
createAlias(),
|
|
resolve({
|
|
browser: true,
|
|
}), // 使用 @rollup/plugin-node-resolve 解析 node_modules 中的模块
|
|
commonjs(),
|
|
typescript(), // 使用 @rollup/plugin-typescript 处理 TypeScript 文件
|
|
],
|
|
},
|
|
{
|
|
input: 'src/index.ts',
|
|
output: {
|
|
file: 'dist/router.d.ts',
|
|
format: 'es',
|
|
},
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: 'src/browser.ts',
|
|
output: {
|
|
file: 'dist/router-browser.js',
|
|
format: 'es',
|
|
},
|
|
plugins: [
|
|
resolve({
|
|
browser: true,
|
|
}),
|
|
commonjs(),
|
|
typescript(),
|
|
],
|
|
},
|
|
{
|
|
input: 'src/browser.ts',
|
|
output: {
|
|
file: 'dist/router-browser.d.ts',
|
|
format: 'es',
|
|
},
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: 'src/sign.ts',
|
|
output: {
|
|
file: 'dist/router-sign.js',
|
|
format: 'es',
|
|
},
|
|
plugins: [
|
|
createAlias(),
|
|
resolve({
|
|
browser: false,
|
|
}),
|
|
commonjs(),
|
|
typescript(),
|
|
],
|
|
},
|
|
{
|
|
input: 'src/sign.ts',
|
|
output: {
|
|
file: 'dist/router-sign.d.ts',
|
|
format: 'es',
|
|
},
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: 'src/router-simple.ts',
|
|
output: {
|
|
file: 'dist/router-simple.js',
|
|
format: 'es',
|
|
},
|
|
plugins: [
|
|
resolve({
|
|
browser: false,
|
|
}),
|
|
commonjs(),
|
|
typescript(),
|
|
],
|
|
},
|
|
{
|
|
input: 'src/router-simple.ts',
|
|
output: {
|
|
file: 'dist/router-simple.d.ts',
|
|
format: 'es',
|
|
},
|
|
plugins: [dts()],
|
|
},
|
|
{
|
|
input: 'src/router-simple-lib.ts',
|
|
output: {
|
|
file: 'dist/router-simple-lib.js',
|
|
format: 'es',
|
|
},
|
|
plugins: [
|
|
resolve({
|
|
browser: false,
|
|
}),
|
|
commonjs(),
|
|
typescript(),
|
|
],
|
|
external: ['xml2js'],
|
|
},
|
|
{
|
|
input: 'src/router-simple-lib.ts',
|
|
output: {
|
|
file: 'dist/router-simple-lib.d.ts',
|
|
format: 'es',
|
|
},
|
|
plugins: [dts()],
|
|
},
|
|
];
|