{"id":18575,"library":"mono-bundler","title":"Mono Bundler","description":"Monorepo bundler based on rollup.js and vercel/ncc. Current stable version 1.43.92 supports configurable workspace packages, loader file generation, hash file names, and legacy browser support via Babel polyfills. It wraps rollup and ncc to provide a unified configuration for monorepos with glob-based package discovery. Maintained by hoevelmanns. Release cadence is irregular; latest version from 2024. Differentiator: bundler integration for monorepos that avoids manual per-package rollup configs, but remains experimental and may lack community adoption compared to tools like Nx or Turborepo.","status":"active","version":"1.43.92","language":"javascript","source_language":"en","source_url":"https://github.com/hoevelmanns/mono-bundler","tags":["javascript","monorepo","bundler","typescript"],"install":[{"cmd":"npm install mono-bundler","lang":"bash","label":"npm"},{"cmd":"yarn add mono-bundler","lang":"bash","label":"yarn"},{"cmd":"pnpm add mono-bundler","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Core bundler engine; mono-bundler wraps rollup options","package":"rollup","optional":false},{"reason":"Provides Node.js single-file compilation for packages","package":"@vercel/ncc","optional":false}],"imports":[{"note":"ESM-only; will error with require() due to missing default export in Node <14 or CJS context","wrong":"const monoBundler = require('mono-bundler')","symbol":"default","correct":"import monoBundler from 'mono-bundler'"},{"note":"Helper to define configuration with TypeScript type inference","wrong":null,"symbol":"defineConfig","correct":"import { defineConfig } from 'mono-bundler'"},{"note":"Type-only import; using value import will fail at runtime because BundleConfig is not a value","wrong":"import { BundleConfig } from 'mono-bundler'","symbol":"BundleConfig","correct":"import type { BundleConfig } from 'mono-bundler'"}],"quickstart":{"code":"// mono.config.js\nexport default {\n  packages: ['packages/*'],\n  createLoaders: true,\n  hashFileNames: true,\n  legacyBrowserSupport: false,\n  plugins: [],\n  // rollup input\n  input: 'src/index.js',\n  output: {\n    dir: 'dist',\n    format: 'esm'\n  }\n};\n// Run: mono -c","lang":"javascript","description":"Shows minimal mono.config.js with package globs, loaders, and rollup output options; run with `mono -c`"},"warnings":[{"fix":"Lock to patch version and review changelog before upgrading.","message":"The package is experimental; breaking changes may occur without major version bump.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Remove legacyBrowserSupport and add @rollup/plugin-babel manually.","message":"legacyBrowserSupport option will be removed in v2.0.0; use babel config directly.","severity":"deprecated","affected_versions":">=1.0.0 <2.0.0"},{"fix":"Use Node >=14 when using ESM imports or modern rollup plugins.","message":"Requires Node >=10, but some features need Node >=14 due to ESM usage.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Run `rm -rf dist` before each build or use rollup's 'clean' output option.","message":"hashFileNames generates long hashes; clear cache after each build to avoid stale files.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Use absolute paths or relative from root; consider using 'packages: ['.']' as fallback.","message":"When using pnpm workspaces, glob patterns may not find packages correctly.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run `npm install mono-bundler` and ensure package.json has 'type': 'module'.","cause":"Package not installed or ESM resolution issue.","error":"Error: Cannot find module 'mono-bundler'"},{"fix":"Change to `import monoBundler from 'mono-bundler'` and use ESM context.","cause":"Imported via require() but package is ESM-only.","error":"TypeError: monoBundler is not a function"},{"fix":"Remove legacyBrowserSupport from config and add @rollup/plugin-babel.","cause":"Using deprecated legacyBrowserSupport option.","error":"Error: The 'legacyBrowserSupport' option is deprecated. Please configure Babel manually."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}