AI Workshop: learn to build apps with AI →
npm: How to test an npm package locally

Join the AI Workshop and learn to build real-world apps with AI. A hands-on, practical program to level up your skills.


To develop and test your own npm package locally, use npm link.

Example: a package named flaviocopes-common-database. Create a package.json with the module name and its dependencies:

{
  "name": "flaviocopes-common-database",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "pg": "^8.0.2",
    "sequelize": "^5.21.6"
  }
}

From the package directory, run:

npm link

This creates a symbolic link in the global npm modules folder (e.g. /usr/local/lib/node_modules/) pointing to your local package directory.

Then, in another project where you want to use this package, run:

npm link flaviocopes-common-database

You can now import it in your Node.js code with require():

const database = require('flaviocopes-common-database')

Lessons in this unit:

0: Introduction
1: How to use or execute a package installed using npm
2: npm dependencies and devDependencies
3: How to fix the "Missing write access" error when using npm
4: npm can install packages in the parent folder
5: Install an older version of an npm package
6: Find the installed version of an npm package
7: ▶︎ How to test an npm package locally
8: npm global or local packages
9: What are peer dependencies in a Node module?
10: `npm run dev` is a long-running program
11: Semantic Versioning using npm
12: Uninstalling npm packages with `npm uninstall`
13: An introduction to the npm package manager
14: The npx Node Package Runner
15: The package.json guide
16: The package-lock.json file
17: What is pnpm?
18: Should you commit the node_modules folder to Git?
19: Update all the Node dependencies to their latest version
20: Where does npm install the packages?
21: Bumping Node.js dependencies
22: Run package.json scripts upon any file changes in a folder