Generate documentation
[poolifier.git] / rollup.config.mjs
index bac8f614a5524bd3983969c29ef1d4b36f6fb202..e1bdac21fe03b621fa5b4e81d2c73b3e2ef5be52 100644 (file)
@@ -1,10 +1,12 @@
-import typescript from 'rollup-plugin-typescript2'
+import terser from '@rollup/plugin-terser'
+import typescript from '@rollup/plugin-typescript'
 import analyze from 'rollup-plugin-analyzer'
-import { terser } from 'rollup-plugin-terser'
+import command from 'rollup-plugin-command'
 import del from 'rollup-plugin-delete'
 
 const isDevelopmentBuild = process.env.BUILD === 'development'
 const isAnalyze = process.env.ANALYZE
+const isDocumentation = process.env.DOCUMENTATION
 
 export default {
   input: 'src/index.ts',
@@ -14,18 +16,19 @@ export default {
     sourcemap: !!isDevelopmentBuild,
     ...(isDevelopmentBuild && { preserveModules: true }),
     ...(isDevelopmentBuild && { preserveModulesRoot: 'src' }),
-    ...(!isDevelopmentBuild && { plugins: [terser({ numWorkers: 2 })] })
+    ...(!isDevelopmentBuild && { plugins: [terser({ maxWorkers: 2 })] })
   },
-  external: ['async_hooks', 'cluster', 'events', 'worker_threads'],
+  external: ['async_hooks', 'cluster', 'events', 'os', 'worker_threads'],
   plugins: [
     typescript({
       tsconfig: isDevelopmentBuild
         ? 'tsconfig.development.json'
-        : 'tsconfig.json'
+        : 'tsconfig.production.json'
     }),
     del({
       targets: ['lib/*']
     }),
-    isAnalyze && analyze()
+    isAnalyze && analyze(),
+    isDocumentation && command('npm run typedoc')
   ]
 }