Overview of father
masterfather is an NPM package development tool designed to help developers build, bundle, and publish NPM packages more efficiently and with higher quality.
Key features include:
- Dual Build Modes: Supports both Bundless (for ESModule and CommonJS outputs) and Bundle (for UMD outputs) modes.
- Multiple Build Cores: The Bundle mode uses Webpack. The Bundless mode supports esbuild, Babel, and SWC, which can be switched via configuration.
- Type Generation: Automatically generates
.d.tstype definitions for TypeScript modules during both source builds and dependency pre-bundling. - Persistent Caching: Supports persistent caching for all output types to speed up incremental builds.
- Project Health Checks: Performs checks for common NPM package development pitfalls to ensure stable releases.
- Micro-generators: Adds common engineering capabilities to projects, such as setting up Jest for testing.
- Dependency Pre-bundling (Experimental): Provides out-of-the-box dependency pre-bundling to improve stability for Node.js frameworks/libraries by insulating them from upstream dependency updates.