- isDevelopmentBuild && {
- file: 'lib.min/index.js',
- format: 'cjs',
- sourcemap: !!isDevelopmentBuild,
- plugins: [terser({ numWorkers: 2 })]
+ {
+ format: 'esm',
+ ...(isDevelopmentBuild && {
+ dir: 'lib',
+ sourcemap: true,
+ entryFileNames: '[name].mjs',
+ preserveModules: true,
+ preserveModulesRoot: 'src'
+ }),
+ ...(!isDevelopmentBuild && {
+ file: 'lib/index.mjs',
+ plugins: [terser({ maxWorkers })]
+ })