LazyCodet

a

14:35:29 12/5/2025 - 0 views -
Programming

How to Automatically Run a Build Before Publishing Your npm Package

​When you share a package on npm, you often need to "build" your project first to prepare it for others to use. By adding a simple line to your package.json file, you can make sure the build step happens automatically before publishing. This guide explains how to set it up in an easy way.

Why Run a Build Before Publishing?

Many projects need a "build" step to turn your code into a format others can use. For example, this might mean converting TypeScript to JavaScript or bundling files. By setting up a prepublishOnly script, npm will automatically run your build command before your package is published, saving you from manual steps or mistakes.

Step-by-Step Guide

Open Your package.json File

Find the package.json file in your project folder. This file holds details about your project, including commands (called scripts) that npm can run.

Add the prepublishOnly Command

In the scripts package.json section of , add this line:

"scripts": {
  "prepublishOnly": "npm run build"
}

This tells npm to run your build build scripts command before publishing. You need to already have a command defined in the section. For example:

"scripts": {
  "build": "node --experimental-vm-modules node_modules/jest/bin/jest.js && vue-tsc && vite build",
  "prepublishOnly": "npm run build"
}

Try a Practice Publish

To test the process without actually publishing, use:

npm publish --dry-run

This runs the prepublishOnly build script and shows what would happen during a real publish. Check that the command runs and the right files are ready.

Publish Your Package

When you’re ready, publish your package to npm:

npm publish

The prepublishOnly npm run build script will automatically run first, ensuring your package is ready.

Conclusion

By adding "prepublishOnly": "npm run build" package.json to your , you ensure your project is built automatically before it’s published to npm. This small step makes publishing smoother and helps avoid errors, so you can share your work with confidence!