You can publish any directory that has a package.json
file, for example, a node module. (To understand the difference between node modules and other types of packages, click [here]
(https://docs.npmjs.com/getting-started/packages).
To publish, you must be a user on the npm registry. If you aren't a user, create an account by using npm adduser
. If you created a user account on the site, use npm login
to access your account from your terminal.
Test:
-
Type
npm whoami
from a terminal to see if you are already logged in (technically, this also means that your credentials have been stored locally). -
Check that your username has been added to the registry at https://npmjs.com/~username.
For example,
https://www.npmjs.com/~carolynawombat
Note that everything in the directory will be included unless it is ignored by a local .gitignore
or .npmignore
file. To learn how to use these commands, see npm-developers
.
Read Working with package.json to be sure that the details you want are reflected in your package.
Choose a unique name for your package. Try to choose a descriptive name that:
- isn't already owned by somebody else
- is not spelled like another name, except with typos
- will not confuse others about the authorship
- meets npm policy guidelines. For example, do not name your package something offensive, and don't use someone else's trademarked name.
Note: The first 3 caveats don't apply if you are using scopes.
Use npm publish
to publish the package.
Go to https://npmjs.com/package/<package>
. You should see the information for your new package.
Now that you've published your first package (congratulations!) it's a great time to review npm's code of conduct in case you have questions about site etiquette or other npm policies.
When you make changes, you can update the package using
npm version <update_type>
where <update_type> is one of the semantic versioning release types, patch, minor, or major.
This command will change the version number in package.json
.
Note: this will also add a tag with the updated release number to your git repository if you have linked one to your npm account.
After updating the version number, run npm publish
again.
Test: Go to https://npmjs.com/package/<package>
. The package number should be updated.
The README displayed on the site will not be updated unless a new version of your package is published, so you need to run npm version patch
and npm publish
to update the documentation displayed on the site.
##Learn More
To find out more about node modules and packages, see here.
To learn about semantic versioning, click here.
To learn more about tags, click here.
To learn more about package.json
files, click here.
To learn more about naming, including how npm protects you against typosquat confusion, click here