+import { cpus } from 'node:os'
import terser from '@rollup/plugin-terser'
import typescript from '@rollup/plugin-typescript'
import analyze from 'rollup-plugin-analyzer'
const isAnalyzeBuild = process.env.ANALYZE
const isDocumentationBuild = process.env.DOCUMENTATION
+const maxWorkers = cpus().length / 2
+
export default {
input: 'src/index.ts',
strictDeprecations: true,
output: [
{
format: 'cjs',
- sourcemap: !!isDevelopmentBuild,
...(isDevelopmentBuild && {
dir: 'lib',
+ sourcemap: true,
preserveModules: true,
preserveModulesRoot: 'src'
}),
...(!isDevelopmentBuild && {
file: 'lib/index.js',
- plugins: [terser({ maxWorkers: 2 })]
+ plugins: [terser({ maxWorkers })]
})
},
{
format: 'esm',
- sourcemap: !!isDevelopmentBuild,
...(isDevelopmentBuild && {
dir: 'lib',
+ sourcemap: true,
entryFileNames: '[name].mjs',
preserveModules: true,
preserveModulesRoot: 'src'
}),
...(!isDevelopmentBuild && {
file: 'lib/index.mjs',
- plugins: [terser({ maxWorkers: 2 })]
+ plugins: [terser({ maxWorkers })]
})
}
],
'node:cluster',
'node:crypto',
'node:events',
+ 'node:fs',
'node:os',
+ 'node:perf_hooks',
'node:worker_threads'
],
plugins: [