31 lines
718 B
TypeScript
31 lines
718 B
TypeScript
// rollup.config.ts
|
|
import type { Plugin, RollupOptions } from 'rollup';
|
|
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
|
|
|
const cdnRewritePlugin: Plugin = {
|
|
name: 'rewrite-lodash-to-cdn',
|
|
resolveId(id) {
|
|
if (id === 'lodash-es') {
|
|
return 'https://esm.sh/lodash-es@5';
|
|
}
|
|
if (id.startsWith('lodash-es/')) {
|
|
const [, sub] = id.split('/', 2);
|
|
return `https://esm.sh/lodash-es@5/${sub}`;
|
|
}
|
|
return null;
|
|
},
|
|
};
|
|
|
|
const config: RollupOptions = {
|
|
input: 'src/index.ts',
|
|
output: {
|
|
dir: 'dist',
|
|
format: 'esm',
|
|
},
|
|
plugins: [cdnRewritePlugin, nodeResolve({ browser: true })],
|
|
external(id) {
|
|
return id.startsWith('https://');
|
|
},
|
|
};
|
|
|
|
export default config; |