TypeScript icon, indicating that this package has built-in type declarations

6.33.12 • Public • Published


Node build tool for npm packages in a git repository. Npm 7 workspaces are supported. Heavy lifting is done by the @npmcli/arborist package.

Npm workspace

The build tool works with git repostiories that contain npm packages. Either with or witout workspaces.

Github token

Creating Github releases requires a token with write access to the repository.

export GITHUB_TOKEN=paste_token_here

You can rename template.env.development into .env.development and save the token in there.


npm install -g @jaccomeijer/jmmake

Run without installing

npx @jaccomeijer/jmmake build

List all packages in a repository

Lists the workspaces of a package. Without workspaces the repository itself is listed.

jmmake list

Build all packages in a repository

The build command runs npm run build in all package folders. The command does not publish, push or release.

jmmake build

Version a package in a repository

The version command updates all related packages in a repository. The command does not publish, push or release.


jmmake version @org/package-name

Publish a package in a repository

The publish command publishes the package to the npm repository. The command also pushes and releases to git.

jmmake publish @org/package-name

Release a package in a repository

The release command combines the three commands above. The command will build, version and publish the package.

jmmake release @org/package-name

Sync and sort package.json for all workspaces

Read values from the root package.json and write them to the package.json of all workspaces.

These fields values are synced:

  • author
  • bugs
  • contributors
  • engines
  • homepage
  • keywords
  • license
  • publishConfig
  • repository

This key order is used:

  • name
  • version
  • private
  • description
  • keywords
  • homepage
  • bugs
  • repository
  • license
  • author
  • contributors
  • exports
  • typesVersions
  • main
  • files
  • bin
  • publishConfig
  • workspaces
  • scripts
  • dependencies
  • devDependencies
  • peerDependencies
  • engines
  • browserslist
jmmake sync

Link packages from another repository into the working directory

Creates symlinks in the ./node_modules folder for the package found at the path specified.

jmmake link ../link/this/repository


DownloadsWeekly Downloads






Unpacked Size

458 kB

Total Files


Last publish


  • jaccomeijer