pkgroll
github.com
Spec sheet
- Purpose
- pkgroll is a zero-config JavaScript package bundler powered by Rollup that builds from entry points defined in package.json.Read 9 Oct 2026 · github.com
- Intended users
- The README describes pkgroll as a bundler for Node.js package maintainers who want to publish ESM and CommonJS outputs.Read 9 Oct 2026 · github.com
- Aliases
- Aliases can be configured through package.json imports or tsconfig.json compilerOptions.paths.Read 9 Oct 2026 · github.com
- Binary size note
- The README says binary files imported as bytes are inlined as array literals, increasing bundle size by about four times.Read 8 Oct 2026 · github.com
- Build engine
- pkgroll uses Rollup for bundling and esbuild for TypeScript and JavaScript transformation and minification.Read 8 Oct 2026 · github.com
- Bundling engine
- Pkgroll uses Rollup for bundling and esbuild for TypeScript and JavaScript transformation and minification.Read 9 Oct 2026 · github.com
- Configuration
- The README says no configuration is necessary and documents options including target, tsconfig path, source maps, and filtering package.json entry points.Read 9 Oct 2026 · github.com
- Core features
- Listed features include package.json exports entry points, dependency externalization, minification, TypeScript and declaration bundling, watch mode, and CLI hashbang insertion.Read 8 Oct 2026 · github.com
- Dependency handling
- Dependencies in dependencies, peerDependencies, and optionalDependencies are externalized, while devDependencies are bundled.Read 8 Oct 2026 · github.com
- Entry points
- It reads package entry points from package.json properties including main, module, types, and exports.Read 9 Oct 2026 · github.com
- Features
- Listed features include dependency externalization, minification, TypeScript support with declaration bundling, watch mode, and CLI outputs with automatic hashbang insertion.Read 9 Oct 2026 · github.com
- Import attributes
- It supports importing non-JavaScript file contents as text or bytes at build time, with bytes imports inlined into the bundle.Read 8 Oct 2026 · github.com
- Install
- The README gives `npm install --save-dev pkgroll` as the installation command.Read 8 Oct 2026 · github.com
- License extraction
- The --license option collects license information for bundled devDependencies and writes it to a LICENSE file.Read 9 Oct 2026 · github.com
- License output
- The --license option collects license information from bundled devDependencies and writes it to a LICENSE file; it is skipped in watch mode.Read 8 Oct 2026 · github.com
- Native module limit
- Native addon handling applies to direct .node imports; packages that load native modules dynamically through bindings or node-pre-gyp need separate handling.Read 8 Oct 2026 · github.com
- Native modules
- Directly imported .node files are copied to dist/natives, while packages that dynamically load native modules via bindings or node-pre-gyp require separate handling.Read 9 Oct 2026 · github.com
- Outputs
- It produces ESM, CommonJS, and TypeScript declaration outputs.Read 9 Oct 2026 · github.com
- Package manager support
- In addition to package.json, pkgroll supports pnpm's package.yaml.Read 9 Oct 2026 · github.com
- Package metadata
- It also supports pnpm's package.yaml in addition to package.json.Read 8 Oct 2026 · github.com
- TypeScript 7 limit
- The README says TypeScript 7 lacks the compiler API needed for declaration bundling and instructs users to install @typescript/typescript6 alongside it for that purpose.Read 9 Oct 2026 · github.com
Where Specifiction places it
- JavaScript Build Tools#25 of 277.1