A better npm publish tool with interactive UI, safety checks, and automated release workflow.
np is a command-line tool that enhances the npm package publishing process by automating versioning, testing, and deployment steps. It provides safety checks to prevent common mistakes like publishing from the wrong branch or with unpulled changes, ensuring reliable and consistent releases. The tool integrates with Git and npm to handle everything from version bumps to GitHub release drafts.
Node.js package maintainers and open-source developers who regularly publish packages to npm and want a safer, automated release workflow.
Developers choose np over manual npm publishing because it enforces best practices, reduces human error, and streamlines the entire release process with an interactive UI and comprehensive safety checks.
A better npm publish
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Verifies publishing from correct branches, clean working directories, and supported Node.js/npm versions, preventing errors like accidental pre-release publishing under the latest dist-tag.
Automates testing, version bumping, Git tagging, publishing to npm, and pushing commits, streamlining the entire release process with minimal manual intervention.
Provides a step-by-step guide through publishing via an interactive UI, reducing confusion and ensuring users follow best practices.
Automatically reverts changes if publishing fails, protecting against broken releases and maintaining project integrity.
The README explicitly states that monorepos are not supported, limiting its utility for complex projects with multiple packages.
Designed for local interactive use, making it awkward for automated CI environments; the README notes it's 'not an ideal environment' for np.
On macOS, additional SSH configuration is required to prevent hangs during the prerequisite step, adding overhead for some users.