{"slug": "sindresorhus--awesome-npm", "title": "Npm", "description": "Awesome npm resources and tips", "github_url": "https://github.com/sindresorhus/awesome-npm", "stars": "4.6K", "tag": "Programming Languages", "entry_count": 114, "subcategory_count": 21, "subcategories": [{"name": "General", "parent": "", "entries": [{"name": "Articles", "url": "#articles", "description": ""}, {"name": "Tools", "url": "#tools", "description": ""}, {"name": "Packages", "url": "#packages", "description": ""}, {"name": "Clients", "url": "#clients", "description": ""}, {"name": "Tips", "url": "#tips", "description": ""}, {"name": "FAQ", "url": "#faq", "description": ""}, {"name": "Community", "url": "#community", "description": ""}, {"name": "Documentation", "url": "#documentation", "description": ""}, {"name": "Support", "url": "#support", "description": ""}, {"name": "Related", "url": "#related", "description": ""}, {"name": "Small focused modules", "url": "https://github.com/sindresorhus/ama/issues/10#issuecomment-117766328", "description": "", "stars": "145"}, {"name": "Unix philosophy and Node.js", "url": "http://blog.izs.me/post/48281998870/unix-philosophy-and-nodejs", "description": "Write programs that do one thing and do it well."}, {"name": "Writing small modules", "url": "https://web.archive.org/web/20180302125059/https://substack.net/how_I_write_modules", "description": ""}, {"name": "Semver: A Primer", "url": "https://nodesource.com/blog/semver-a-primer/", "description": ""}, {"name": "Semver: Tilde and Caret", "url": "https://nodesource.com/blog/semver-tilde-and-caret/", "description": ""}, {"name": "Offline installation of npm packages", "url": "https://addyosmani.com/blog/using-npm-offline/", "description": ""}, {"name": "Task automation with npm run", "url": "https://web.archive.org/web/20180302164842/http://substack.net/task_automation_with_npm_run", "description": ""}, {"name": "How to use npm as a build tool", "url": "https://www.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/", "description": ""}, {"name": "Install npm packages globally without sudo on macOS and Linux", "url": "https://github.com/sindresorhus/guides/blob/main/npm-global-without-sudo.md", "description": "", "stars": "2.5k"}, {"name": "Optimizing the footprint of an npm package", "url": "https://medium.com/@goldglovecb/npm-needs-a-personal-trainer-537e0f8859c6", "description": ""}, {"name": "The Art of Node", "url": "https://github.com/maxogden/art-of-node#modules", "description": "An introduction to Node.js and client-side development with npm.", "stars": "9.9k"}, {"name": "Why npm scripts?", "url": "https://css-tricks.com/why-npm-scripts/", "description": "An introduction to npm scripts with common packages and scripts, as well as a boilerplate project."}]}, {"name": "Web", "parent": "Tools", "entries": [{"name": "npms", "url": "https://npms.io", "description": "Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about)."}, {"name": "NodeICO", "url": "https://nodei.co/", "description": "Package badges."}, {"name": "Libraries.io", "url": "https://libraries.io/npm", "description": "Package discovery."}, {"name": "npm-stat", "url": "http://npm-stat.com", "description": "Statistics charts for packages."}, {"name": "npmgraph", "url": "http://npm.anvaka.com", "description": "Visualization of dependencies."}, {"name": "npm trends", "url": "http://www.npmtrends.com", "description": "Compare package download counts over time."}, {"name": "npm-top", "url": "https://gist.github.com/bcoe/dcc961b869bbf6685002", "description": "npm users by downloads."}, {"name": "npm semver calculator", "url": "http://semver.npmjs.com", "description": "Visually explore what versions of a package a semver range matches."}, {"name": "ghub.io", "url": "https://ghub.io", "description": "Redirects to the GitHub repo of an npm package."}, {"name": "moiva", "url": "https://moiva.io", "description": "Discover and compare packages."}]}, {"name": "Browser extensions", "parent": "Tools", "entries": [{"name": "Octo-Linker", "url": "https://chrome.google.com/webstore/detail/octo-linker/jlmafbaeoofdegohdhinkhilhclaklkp", "description": "Chrome extension to navigate across npm packages on GitHub with ease."}, {"name": "npm-hub", "url": "https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj", "description": "Chrome extension to explore npm dependencies on GitHub repos."}, {"name": "github-npm-stats", "url": "https://chrome.google.com/webstore/detail/github-npm-stats/oomfflokggoffaiagenekchfnpighcef", "description": "View npm download stats on GitHub."}, {"name": "npm-search-update", "url": "https://chrome.google.com/webstore/detail/npm-search-update/kagpoplamlmaonpddimnnigiojimihnh", "description": "Chrome extension to quickly search for dependencies and monitor changes from the npm registry."}]}, {"name": "CLI", "parent": "Tools", "entries": [{"name": "zsh-better-npm-completion", "url": "https://github.com/lukechilds/zsh-better-npm-completion", "description": "Better ZSH completion for npm.", "stars": "491"}, {"name": "npkill", "url": "https://github.com/voidcosmos/npkill", "description": "Easily find and remove old and heavy node\\_modules folders.", "stars": "9k"}]}, {"name": "Publishing", "parent": "Packages", "entries": [{"name": "np", "url": "https://github.com/sindresorhus/np", "description": "A better `npm publish`.", "stars": "7.7k"}, {"name": "publish-please", "url": "https://github.com/inikulin/publish-please", "description": "Publish packages safely and gracefully.", "stars": "738"}, {"name": "npm-release", "url": "https://github.com/phuu/npm-release", "description": "Making releasing to npm so easy a kitten could probably do it\u2122.", "stars": "103"}, {"name": "pkgfiles", "url": "https://github.com/timoxley/pkgfiles", "description": "List all files which would be published in a package.", "stars": "85"}, {"name": "release-it", "url": "https://github.com/webpro/release-it", "description": "Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.", "stars": "8.7k"}, {"name": "semantic-release", "url": "https://github.com/semantic-release/semantic-release", "description": "Fully automated package publishing.", "stars": "23k"}]}, {"name": "Registry", "parent": "Packages", "entries": [{"name": "npm-name", "url": "https://github.com/sindresorhus/npm-name-cli", "description": "Check whether a package name is available on npm.", "stars": "287"}, {"name": "package-json", "url": "https://github.com/sindresorhus/package-json", "description": "Get the package.json of a package from the npm registry.", "stars": "245"}, {"name": "latest-version", "url": "https://github.com/sindresorhus/latest-version-cli", "description": "Get the latest version of an npm package.", "stars": "52"}, {"name": "npm-keyword", "url": "https://github.com/sindresorhus/npm-keyword", "description": "Get a list of npm packages with a certain keyword.", "stars": "52"}, {"name": "npm-user", "url": "https://github.com/sindresorhus/npm-user", "description": "Get user info of an npm user.", "stars": "57"}, {"name": "npm-email", "url": "https://github.com/sindresorhus/npm-email", "description": "Get the email of an npm user.", "stars": "32"}, {"name": "npm-user-packages", "url": "https://github.com/kevva/npm-user-packages-cli", "description": "Get packages by an npm user.", "stars": "5"}, {"name": "dpn", "url": "https://github.com/gillstrom/dpn", "description": "Get the dependents of a user's npm packages.", "stars": "27"}, {"name": "npm-stats", "url": "https://github.com/hughsk/npm-stats", "description": "Get data from an npm registry.", "stars": "51"}, {"name": "npm-cli-login", "url": "https://github.com/postmanlabs/npm-cli-login", "description": "Log in to npm.", "stars": "119"}, {"name": "nrm", "url": "https://github.com/Pana/nrm", "description": "Registry manager.", "stars": "3k"}, {"name": "npm-register", "url": "https://github.com/dickeyxxx/npm-register", "description": "Easy to set up and maintain npm registry and proxy.", "stars": "485"}, {"name": "verdaccio", "url": "https://github.com/verdaccio/verdaccio", "description": "Lightweight private npm proxy registry.", "stars": "17k"}, {"name": "cloudsmith", "url": "https://cloudsmith.io/l/npm-registry/", "description": "A fully managed package management SaaS with support for public and private npm registries (and many others)."}, {"name": "RepoFlow", "url": "https://www.repoflow.io", "description": "A simple and easy-to-use package management platform, available for both cloud and self-hosted deployments."}]}, {"name": "Other", "parent": "Packages", "entries": [{"name": "npm-home", "url": "https://github.com/sindresorhus/npm-home", "description": "Open the npm page of a package.", "stars": "199"}, {"name": "gh-home", "url": "https://github.com/sindresorhus/gh-home", "description": "Open the GitHub page of a package.", "stars": "191"}, {"name": "david", "url": "https://github.com/alanshaw/david", "description": "Check if your package dependencies are out of date.", "stars": "967"}, {"name": "npm-check", "url": "https://github.com/dylang/npm-check", "description": "Check for outdated, incorrect, and unused dependencies, as well as interactive update.", "stars": "6.6k"}, {"name": "npm-upgrade", "url": "https://github.com/th0r/npm-upgrade", "description": "Update outdated npm dependencies interactively.", "stars": "337"}, {"name": "npm-shrinkwrap", "url": "https://github.com/uber/npm-shrinkwrap", "description": "A consistent shrinkwrap tool.", "stars": "771"}, {"name": "npm-windows-upgrade", "url": "https://github.com/felixrieseberg/npm-windows-upgrade", "description": "Upgrade npm on Windows.", "stars": "2.5k"}, {"name": "generator-nm", "url": "https://github.com/sindresorhus/generator-nm", "description": "Scaffold out an npm package.", "stars": "739"}, {"name": "package-up", "url": "https://github.com/sindresorhus/package-up", "description": "Find the closest package.json file.", "stars": "165"}, {"name": "read-package-up", "url": "https://github.com/sindresorhus/read-package-up", "description": "Read the closest package.json file.", "stars": "267"}, {"name": "normalize-package-data", "url": "https://github.com/npm/normalize-package-data", "description": "Normalize package metadata.", "stars": "203"}, {"name": "package-config", "url": "https://github.com/sindresorhus/package-config", "description": "Get namespaced config from the closest package.json.", "stars": "120"}, {"name": "npm-run-path", "url": "https://github.com/sindresorhus/npm-run-path", "description": "Run locally installed binaries in the terminal by name like with global ones.", "stars": "105"}, {"name": "local-npm", "url": "https://github.com/nolanlawson/local-npm", "description": "Use npm [offline](https://addyosmani.com/blog/using-npm-offline/).", "stars": "1.2k"}, {"name": "npe", "url": "https://github.com/zeke/npe", "description": "CLI for inspecting and editing properties in package.json.", "stars": "92"}, {"name": "engine-deps", "url": "https://github.com/samccone/engine-deps", "description": "Manage Node.js version specific dependencies with ease.", "stars": "20"}, {"name": "enpeem-search", "url": "https://github.com/amovah/enpeem-search", "description": "Search packages by scraping the npm web search.", "stars": "4"}, {"name": "npm-issues", "url": "https://github.com/seanzarrin/npm-issues", "description": "Search known issues of all your packages at once.", "stars": "48"}, {"name": "john", "url": "https://github.com/davej/john", "description": "Make npm3's flat dependencies easier to find and sort.", "stars": "42"}, {"name": "ntl", "url": "https://github.com/ruyadorno/ntl", "description": "Interactive CLI menu to list & run npm tasks.", "stars": "951"}, {"name": "decheck", "url": "https://github.com/egoist/decheck", "description": "Explore dependencies of npm packages in the command-line.", "stars": "9"}, {"name": "shrinkpack", "url": "https://github.com/JamieMason/shrinkpack", "description": "Lock down your dependencies and install offline.", "stars": "802"}, {"name": "redrun", "url": "https://github.com/coderaiser/redrun", "description": "Expand scripts from package.json to improve execution speed.", "stars": "126"}, {"name": "package-size", "url": "https://github.com/egoist/package-size", "description": "Get the bundle size of an npm package.", "stars": "427"}, {"name": "synp", "url": "https://github.com/imsnif/synp", "description": "Convert yarn.lock to package-lock.json and vice versa.", "stars": "783"}, {"name": "npm-run-all", "url": "https://github.com/mysticatea/npm-run-all", "description": "CLI tool to run multiple npm-scripts in parallel or serial.", "stars": "5.8k"}, {"name": "onchange", "url": "https://github.com/Qard/onchange", "description": "Watch files and folders and run a command when something changed.", "stars": "828"}, {"name": "cli-error-notifier", "url": "https://github.com/micromata/cli-error-notifier", "description": "Sends native desktop notifications when npm scripts fail.", "stars": "72"}, {"name": "luna", "url": "https://github.com/rvpanoz/luna", "description": "App to manage npm dependencies.", "stars": "1k"}, {"name": "emma-cli", "url": "https://github.com/maticzav/emma-cli", "description": "Interactive CLI package search utility.", "stars": "1.2k"}, {"name": "lockfile-lint", "url": "https://github.com/lirantal/lockfile-lint", "description": "Lint lockfiles for improved security and trust policies to mitigate malicious package injection and insecure lockfile resources.", "stars": "829"}, {"name": "yarn", "url": "https://github.com/yarnpkg/yarn", "description": "Fast, reliable, and secure dependency management.", "stars": "42k"}, {"name": "npm", "url": "https://github.com/npm/cli", "description": "The official client.", "stars": "9.3k"}, {"name": "pnpm", "url": "https://github.com/pnpm/pnpm", "description": "Fast, disk space efficient package manager.", "stars": "33k"}]}, {"name": "Update to the latest npm version", "parent": "Tips", "entries": []}, {"name": "Command aliases", "parent": "Tips", "entries": []}, {"name": "Shell aliases", "parent": "Tips", "entries": []}, {"name": "Don't add to package.json when installing", "parent": "Tips", "entries": []}, {"name": "Run scripts", "parent": "Tips", "entries": []}, {"name": "Lifecycle scripts", "parent": "Tips", "entries": []}, {"name": "Run script with `npx`", "parent": "Tips", "entries": []}, {"name": "Run commands with different Node.js versions", "parent": "Tips", "entries": []}, {"name": "Link local packages", "parent": "Tips", "entries": []}, {"name": "Install a package from GitHub", "parent": "Tips", "entries": []}, {"name": "Install a specific version of a package", "parent": "Tips", "entries": []}, {"name": "List top-level installed packages and their version", "parent": "Tips", "entries": []}, {"name": "Command help", "parent": "Tips", "entries": []}, {"name": "Standalone version of a package", "parent": "Tips", "entries": [{"name": "Check in node\\_modules vs. shrinkwrap", "url": "http://stackoverflow.com/questions/11459733/check-in-node-modules-vs-shrinkwrap", "description": ""}, {"name": "What is the difference between Bower and npm?", "url": "http://stackoverflow.com/questions/18641899/what-is-the-difference-between-bower-and-npm", "description": ""}, {"name": "What does `^` mean in package.json versioning?", "url": "http://stackoverflow.com/questions/22137778/what-does-mean-in-package-json-versioning", "description": ""}, {"name": "Find the version of an installed npm package", "url": "http://stackoverflow.com/questions/10972176/find-the-version-of-an-installed-npm-package", "description": ""}, {"name": "What's the difference between dependencies, devDependencies, and peerDependencies in package.json?", "url": "http://stackoverflow.com/questions/18875674/whats-the-difference-between-dependencies-devdependencies-and-peerdependencies", "description": ""}, {"name": "`#npm` on Freenode", "url": "http://webchat.freenode.net/?channels=npm", "description": ""}, {"name": "Stack Overflow", "url": "https://stackoverflow.com/questions/tagged/npm", "description": ""}, {"name": "Reddit", "url": "https://www.reddit.com/r/npm", "description": ""}, {"name": "Twitter", "url": "https://twitter.com/npmjs", "description": ""}, {"name": "Blog", "url": "https://blog.npmjs.org", "description": ""}, {"name": "Official", "url": "https://docs.npmjs.com", "description": ""}, {"name": "Troubleshooting", "url": "https://github.com/npm/npm/wiki/Troubleshooting", "description": "", "stars": "18k"}, {"name": "Semantic versioning", "url": "https://docs.npmjs.com/getting-started/semantic-versioning", "description": ""}, {"name": "Fixing npm permissions", "url": "https://docs.npmjs.com/getting-started/fixing-npm-permissions", "description": ""}, {"name": "package.json", "url": "https://docs.npmjs.com/files/package.json", "description": ""}, {"name": "npm run script", "url": "https://docs.npmjs.com/cli/run-script", "description": ""}, {"name": "Stats API", "url": "https://github.com/npm/download-counts", "description": "", "stars": "331"}, {"name": "npm.community", "url": "https://npm.community/c/support", "description": ""}, {"name": "Twitter", "url": "https://twitter.com/npm_support", "description": ""}, {"name": "Contact form", "url": "https://www.npmjs.com/support", "description": ""}, {"name": "awesome-nodejs", "url": "https://github.com/sindresorhus/awesome-nodejs", "description": "", "stars": "64k"}]}], "name": ""}