Table of Contents

    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
    
    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