itty-packager
Build, lint, and release TypeScript packages with zero configuration.
itty-packager is a modern CLI tool that simplifies the development workflow for TypeScript libraries. It provides four essential commands that handle the entire lifecycle from development to publishing, all optimized for modern JavaScript package distribution.
What does it do?
itty-packager streamlines your TypeScript package development by providing:
- Zero-config TypeScript building with automatic ESM/CJS hybrid output support
- Manages your package.json exports for automatically tree-shakeable named exports
- Built-in ESLint linting with sane defaults, but using your own local config
- Complete release management with version bumping, git tagging, npm publishing, etc.
The Commands
itty build
Compiles TypeScript files to optimized JavaScript bundles using Rollup. Automatically generates package.json exports, supports multiple output formats (ESM/CJS), includes minification and sourcemaps, and creates TypeScript declaration files.
itty lint
Runs ESLint with TypeScript-optimized rules and automatic configuration. Falls back to built-in config when no local ESLint config exists, supports fixing issues automatically, and provides clean, actionable output.
itty prepare
Runs lint, test, and build in sequence - the perfect pre-release workflow. Skips missing steps gracefully, provides clear progress indicators, and supports verbose output for debugging.
itty release
Complete release automation with version bumping, git operations, and npm publishing. Supports semantic versioning, interactive commit messages, dry-run mode, and automatic rollback on failure.
Quick Start
# Install globally or use with npx
npm install -g itty-packager
# In your TypeScript project
itty build # Build your project
itty lint # Lint your code
itty prepare # Run full pre-release sequence
itty release --minor # Release with version bump