If you haven't already set your NPM author info, now you should:
npm set init.author.name "Your Name"
npm set init.author.email "[email protected]"
npm set init.author.url "https:/yourblog.com"
npm adduser
Then create a package.json
and publish it:
cd /path/to/your-project
npm init
# Bump the version number in package.json (and git tag) before each publish
# (npm also has `npm version major|minor|patch`)
npm version patch -m "an optional description"
npm publish --access=public ./
Tip: Use your @
:
npmjs.org is pretty crowded these days, but every user (and organization) has a scope.
I recommend using it.
Your username: npm whoami
Your scope: @
+ <your-username>
Your next package: @<username>/<packagename>
Example: @root/async-router
Tip: Check Dependencies:
# Note you may want to use one of these to make sure:
# 1. Your real dependencies are listed in package.json
# 2. Your development only dependencies are in the devDependencies section
# depcheck: https://www.npmjs.com/package/depcheck
# dependency-check: https://www.npmjs.com/package/dependency-check
If you don't want something to install by default
npm publish ./ --tag beta
If you published a bugfix as v1.0.7 and need to set v1.1.3 back to latest
git checkout v1.0.7
npm publish ./
git checkout v1.1.3
npm dist-tag add [email protected] latest
To remove a tag
npm dist-tag rm foobar beta
If you haven't already installed node + npm, or you'd like the latest version:
macOS, Linux:
curl -fsS https://webinstall.dev/node | bash
Windows 10/11:
curl.exe -fsSA "MS" https://webinstall.dev/node | powershell
- https://docs.npmjs.com/files/package.json (original)
- https://docs.npmjs.com/using-npm/developers.html (original)
- http://blog.izs.me/post/1675072029/10-cool-things-you-probably-didnt-realize-npm-could-do
If this helped you, and if you or someone you know is just getting into development, check out my upcoming online course: