feat: replace esbuild with Rollup, add CJS/UMD bundles and deep import support
Build pipeline now consists of two passes: 1. tsc --outDir dist — individual ESM modules for deep imports 2. rollup -c — bundled ESM, CJS, and UMD (minified + unminified) Package.json changes: - main/dist/index.cjs (CJS for require()) - module/dist/index.js (ESM for bundlers) - types/dist/index.d.ts (bundled declarations via rollup-plugin-dts) - unpkg/dist/index.umd.js (CDN entry) - exports map with ./dist/* wildcard for deep imports - sideEffects: true since every component calls customElements.define - files: [dist, README.md] tsconfig.json: adds declarationMap: true for Go-to-Definition to source. Dependencies: removed esbuild, added rollup, @rollup/plugin-typescript, @rollup/plugin-terser, rollup-plugin-dts, tslib.main
parent
6906505a53
commit
3ec2d07115
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,25 @@
|
||||
import typescript from '@rollup/plugin-typescript';
|
||||
import terser from '@rollup/plugin-terser';
|
||||
import dts from 'rollup-plugin-dts';
|
||||
|
||||
export default [
|
||||
{
|
||||
input: 'src/index.ts',
|
||||
external: ['leaflet'],
|
||||
plugins: [typescript({ declaration: false, declarationMap: false })],
|
||||
output: [
|
||||
{ format: 'es', file: 'dist/index.js' },
|
||||
{ format: 'es', file: 'dist/index.min.js', plugins: [terser()] },
|
||||
{ format: 'cjs', file: 'dist/index.cjs' },
|
||||
{ format: 'cjs', file: 'dist/index.min.cjs', plugins: [terser()] },
|
||||
{ format: 'umd', name: 'LeafletComponents', file: 'dist/index.umd.js', globals: { leaflet: 'L' } },
|
||||
{ format: 'umd', name: 'LeafletComponents', file: 'dist/index.umd.min.js', globals: { leaflet: 'L' }, plugins: [terser()] },
|
||||
],
|
||||
},
|
||||
{
|
||||
input: 'src/index.ts',
|
||||
external: ['leaflet'],
|
||||
plugins: [dts()],
|
||||
output: { format: 'es', file: 'dist/index.d.ts' },
|
||||
},
|
||||
];
|
||||
Loading…
Reference in New Issue