Publishing npm Package
Naming your Package
The first step towards publishing is to name your package.
It is recommended to keep the package name simple, easy to remember and relevant to its functionality. A few popular npm packages are:
-
express
-
request
-
async
Note: Package names should be unique. To check if a package name has been taken, plug the package name to the following URL: https://www.npmjs.com/package/packagename.
Creating a User
To publish a package, you need to have access to the npm Registry.
- Create a User directly from the CLI. Enter the username, password and e-mail address, when prompted.
npm adduser
- Check if user details have been stored locally:
npm config ls
- To check if the user is created on the registry, go to https://www.npmjs.com/~username
Publishing the Package
Once you create the user, execute npm publish command from the package folder. This will upload the package into the npm registry.
- Unless ignored by a local .gitignore or .npmignore file, everything in the directory will be included
.
-
The package will not be published if there is an existing package with the same name.
-
To check if the package is published, go to [https://www.npmjs.com/package/packagename](https://www.npmjs.com/package/package name).
More on Publishing npm Packages
Watch this video to understand further about how to publish an npm package.
Updating the Package
You can update the package using
npm version <update_type>
Here, update_type is one of the semantic versioning release types- patch/minor/major.
-
This command updates the version number in package.json.
-
Once the version number is updated, use npm publish to update the package.
-
To check if the updated package is published, go to https://www.npmjs.com/package/packagename.
Note: The README displayed on the site will not be updated unless a new version of a package is published. So you need to run npm version patch and npm publish to have a documentation fix displayed on the site.
Package Documentation
Every package should have a README.md file, where you will explain what the package is for and give instructions on how to use it.
This is useful for others to get a quick understanding of the package and to decide on which package to use.
Also, the content in the README.md needs to be in Markdown for better readability.
Sample README.md file
####Here is a sample README file
# addsub-package
A Node.js package that does simple arithmetic addition and subtraction.
## Usage
First, install the package using npm
npm install addsub-package --save
Next, require the package and use it as:
[Comment: Please check this sentence]
var isNullOrEmpty = require('addsub-package');
console.log(isNullOrEmpty(3,4)); // 7
## License
Apache 2.0