How to Test an npm package locally
I needed a way to test my npm
package locally before publishing it.
Suppose we had a package.json
that looked like this:
{
"name": "my-package-name",
"version": "1.0.0",
"description": "",
"main": "index.js"
}
Let’s say this file lives at ~/my-package-name/package.json
.
First, we can navigate to this directory in the terminal.
cd ~/my-package-name
Then, we can run:
npm link
This command creates a global, symbolic link that is accessible by any project. It essentially functions as a global npm
module.
For instance, we can run create-react-app
anywhere after running npm install -g create-react-app
.
Similarly, we can run npm link my-package-name
anywhere after running npm link
in ~/my-package-name
.
Let’s go to the project that we want to use to test this package.
cd ~/some_project
Then, link-install this package.
npm link my-package-name
Note that the name of the link will be the name
in package.json
, not the directory name.
Because of the symbolic link, changes in ~/my-package-name
will be reflected in ~/some_project
, no need to rebuild every iteration.
const mypackagename = require("my-package-name");
import mypackagename from "my-package-name";