Skip to content
SPECIFICTION
Get listed

pkgroll

github.com

Linux
Visit github.com
Spec score 7.1 #25 of 27 in JavaScript Build Tools

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

Alternatives to pkgrollAll alternatives →