{"id":25549,"library":"esroll","title":"esroll","description":"Build tool combining esbuild and rollup for bundling TypeScript and JavaScript with declaration generation and API documentation. Current stable version is 1.2.3, released with active development and regular updates. Requires Node >=24. It integrates esbuild's fast bundling with rollup's plugin ecosystem and adds declaratino generation via API Extractor and docgen. Differentiators include unified pipeline, built-in doc generation, and first-class TypeScript support.","status":"active","version":"1.2.3","language":"javascript","source_language":"en","source_url":"https://github.com/escapace/esroll","tags":["javascript","typescript"],"install":[{"cmd":"npm install esroll","lang":"bash","label":"npm"},{"cmd":"yarn add esroll","lang":"bash","label":"yarn"},{"cmd":"pnpm add esroll","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"core bundling engine","package":"esbuild","optional":false},{"reason":"additional bundling and plugin system","package":"rollup","optional":false}],"imports":[{"note":"ESM-only since v1.0.0","wrong":"const { build } = require('esroll')","symbol":"build","correct":"import { build } from 'esroll'"},{"note":"Default export is the main API function (equivalent to build)","wrong":"import * as esroll from 'esroll'","symbol":"default","correct":"import esroll from 'esroll'"},{"note":"Options type import for TypeScript users","wrong":"imort { Options } from 'esroll'","symbol":"type","correct":"import type { Options } from 'esroll'"}],"quickstart":{"code":"import { build } from 'esroll';\n\nawait build({\n  entryPoints: ['src/index.ts'],\n  outdir: 'dist',\n  format: 'esm',\n  dts: true,\n  doc: true,\n});\n\n// Output: ESM bundle + .d.ts declarations + API documentation","lang":"typescript","description":"Shows basic usage of esroll to bundle a TypeScript entry point with declaration generation and API docs."},"warnings":[{"fix":"Use v0.x if Node <24, or upgrade Node to >=24.","message":"Node >=24 required; earlier versions are not supported.","severity":"breaking","affected_versions":"<1.0.0"},{"fix":"Use `dts: true` and `doc: true` instead.","message":"The options `declaration` and `docs` have been renamed to `dts` and `doc` respectively.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Ensure `sourcemap` option is set in both esbuild and rollup configs.","message":"Sourcemaps from esbuild may be lost during rollup handoff if not properly configured.","severity":"gotcha","affected_versions":">=1.2.0"},{"fix":"Only use .ts, .tsx, .js, .jsx, .mjs, .cjs as entry points.","message":"Bundle may fail or produce unexpected output when using non-standard file extensions.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"npm install esroll --save-dev","cause":"Package not installed or module resolution misconfigured.","error":"Error: Cannot find module 'esroll'"},{"fix":"Use `import { build } from 'esroll'` (ESM) instead of `const { build } = require('esroll')` (CJS).","cause":"Using named import incorrectly or mixing ESM/CJS.","error":"TypeError: esroll.build is not a function"},{"fix":"Check that `entryPoints` array contains valid paths relative to cwd.","cause":"Entry point file path is incorrect or missing.","error":"Error: RollupError: Could not resolve entry module"},{"fix":"Fix the TypeScript/JS error indicated in the message.","cause":"Syntax error or missing dependency in source code.","error":"Error: esbuild: Build failed with 1 error:..."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}