Awesome npm

Awesome npm resources and tips
npm is a package manager for the JavaScript programming language and comes bundled in the Node.js runtime.
Please read the contribution guidelines before contributing.
Contents
Articles
- Small focused modules
- Unix philosophy and Node.js - Write programs that do one thing and do it well.
- Writing small modules
- Semver: A Primer (Must read!)
- Semver: Tilde and Caret
- Offline installation of npm packages
- Task automation with npm run
- How to use npm as a build tool
- Install npm packages globally without sudo on macOS and Linux
- Optimizing the footprint of an npm package
- The Art of Node - An introduction to Node.js and client-side development with npm.
- Why npm scripts? - An introduction to npm scripts with common packages and scripts, as well as a boilerplate project.
Tools
Web
- npms - Superb package search with deep analysis of package quality using a myriad of metrics.
- NodeICO - Package badges.
- Libraries.io - Package discovery.
- npm-stat - Statistics charts for packages.
- npmgraph - Visualization of dependencies.
- npm trends - Compare package download counts over time.
- npm-top - npm users by downloads.
- npm semver calculator - Visually explore what versions of a package a semver range matches.
- ghub.io - Redirects to the GitHub repo of an npm package.
- moiva - Discover and compare packages.
Browser extensions
- Octo-Linker - Chrome extension to navigate across npm packages on GitHub with ease.
- npm-hub - Chrome extension to explore npm dependencies on GitHub repos.
- github-npm-stats - View npm download stats on GitHub.
- npm-search-update - Chrome extension to quickly search for dependencies and monitor changes from the npm registry.
CLI
- zsh-better-npm-completion - Better ZSH completion for npm.
- npkill - Easily find and remove old and heavy node_modules folders.
Packages
Publishing
- np - A better
npm publish. - publish-please - Publish packages safely and gracefully.
- npm-release - Making releasing to npm so easy a kitten could probably do it™.
- pkgfiles - List all files which would be published in a package.
- release-it - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.
- semantic-release - Fully automated package publishing.
Registry
- npm-name - Check whether a package name is available on npm.
- package-json - Get the package.json of a package from the npm registry.
- latest-version - Get the latest version of an npm package.