// 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;