Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Build and use npm package locally

Tags:

npm

angular

I made some custom modifications in the ngx-mask package and need to test it locally.

How to overwrite the installed npm package?

Currently the package is declared as a dependency in packages.json file as:

"ngx-mask": "^7.8.9"

I do prefer not to fork the original package and not to use github for this, if possible.

like image 880
Beetlejuice Avatar asked Apr 07 '19 15:04

Beetlejuice


2 Answers

If you have made these changes on your machine. (I'm assuming you have)

  1. Run a build of the ngx-mask package that you changed.

  2. run npm pack from that package's root folder. This creates a .tgz zip file of your package with your custom modifications.

  3. copy that file into the root (you could put it wherever but root makes things easy) of your project.

  4. in your package.json replace the version number ngx mask to the following "ngx-mask": "file:my-packed-file.tgz"

  5. Run an npm install using your new package.json

you should have your modified copy loaded in as a dependency in node_modules.

like image 178
James Avatar answered Nov 03 '22 07:11

James


The 'npm link' command was made for this.

In your test repo (where you use the ngx-mask package) run:

npm link /path/to/your/locally/modified/ngx-mask/package

This will install your locally modified ngx-mask into your test repo.

When you are done testing your local version of the ngx-mask package, you can simply unlink it. To unlink the local version of ngx-mask, in your test repo run:

npm unlink --no-save /path/to/your/locally/modified/ngx-mask/package

If you want to re-install the registry version of the ngx-mask package run:

npm install
like image 45
rouble Avatar answered Nov 03 '22 05:11

rouble