MonoRepo Package Manager.
This is the CLI tool that runs the npm command for each monorepo projects.
Inspired by mariuslundgard/monorepo.
It was created to execute a simple npm command in order of dependencies.
npm i -D mrpm
pkgroot
+--packages
| +--subpkg1
| | `--package.json
| `--subpkg2
| `--package.json
`--package.json
pkgroot/package.json
{
//...
"private": true,
//...
"scripts": {
"test": "mrpm run test",
"build": "mrpm run build",
//...
},
//...
}
pkgroot/packages/subpkg1/package.json
or
pkgroot/packages/subpkg2/package.json
{
// If `private` is set to `true`, it will be excluded from `publish`
// "private": true,
//...
"scripts": {
"test": "...",
"build": "...",
//...
},
//...
}
npm install
for each monorepo projects.
mrpm install
npm update
for each monorepo projects.
mrpm update
npm publish
for each monorepo projects.
mrpm publish
npm run
script for each monorepo projects.
mrpm run xxx
npm prune
for each monorepo projects.
mrpm prune
--mrpm-max-workers=<num>
Specifies the maximum number of workers the worker-pool will spawn for running commands.
Example of Deploy with Travis CI.
package.json
.travis.yml
deploy.sh
{
//...
"private": true,
//...
"scripts": {
//...
"publish:all": "mrpm publish",
//...
},
"devDependencies": {
"mrpm": "x.x.x"
}
}
language: node_js
node_js:
- "node"
deploy:
provider: script
script: sh $TRAVIS_BUILD_DIR/deploy.sh
#!/usr/bin/env bash
npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
npm run publish:all