Nocturnal Pumpkin Maelstrom

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

    6.33.10 • 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


    npm i @jaccomeijer/jmmake

    DownloadsWeekly Downloads






    Unpacked Size

    628 kB

    Total Files


    Last publish


    • jaccomeijer