import * as os from 'node:os'
+import { env } from 'node:process'
import { dts } from 'rollup-plugin-dts'
import terser from '@rollup/plugin-terser'
import typescript from '@rollup/plugin-typescript'
return availableParallelism
}
-const isDevelopmentBuild = process.env.BUILD === 'development'
-const isAnalyzeBuild = process.env.ANALYZE
-const isDocumentationBuild = process.env.DOCUMENTATION
+const isDevelopmentBuild = env.BUILD === 'development'
+const isAnalyzeBuild = env.ANALYZE
+const isDocumentationBuild = env.DOCUMENTATION
+const sourcemap = env.SOURCEMAP !== 'false'
const maxWorkers = Math.floor(availableParallelism() / 2)
format: 'cjs',
...(isDevelopmentBuild && {
dir: './lib',
- sourcemap: true,
preserveModules: true,
preserveModulesRoot: './src'
}),
...(!isDevelopmentBuild && {
file: './lib/index.js',
plugins: [terser({ maxWorkers })]
+ }),
+ ...(sourcemap && {
+ sourcemap
})
},
{
format: 'esm',
...(isDevelopmentBuild && {
dir: './lib',
- sourcemap: true,
entryFileNames: '[name].mjs',
chunkFileNames: '[name]-[hash].mjs',
preserveModules: true,
...(!isDevelopmentBuild && {
file: './lib/index.mjs',
plugins: [terser({ maxWorkers })]
+ }),
+ ...(sourcemap && {
+ sourcemap
})
}
],
],
plugins: [
typescript({
- tsconfig: isDevelopmentBuild
- ? './tsconfig.development.json'
- : './tsconfig.production.json'
+ tsconfig: './tsconfig.build.json',
+ compilerOptions: {
+ sourceMap: sourcemap
+ }
}),
del({
targets: ['./lib/*']