4.1.0 • Published 4 years ago
mrpm v4.1.0
mrpm
MonoRepo Package Manager.
This is the CLI tool that runs the npm command for each monorepo projects.
Inspired by mariuslundgard/monorepo.
Why?
It was created to execute a simple npm command in order of dependencies.
Usage
install
npm i -D mrpmExample of dir & package.json
pkgroot
+--packages
| +--subpkg1
| | `--package.json
| `--subpkg2
| `--package.json
`--package.jsonpkgroot/package.json
{
//...
"private": true,
//...
"scripts": {
"test": "mrpm run test",
"build": "mrpm run build",
//...
},
//...
}pkgroot/packages/subpkg1/package.json orpkgroot/packages/subpkg2/package.json
{
// If `private` is set to `true`, it will be excluded from `publish`
// "private": true,
//...
"scripts": {
"test": "...",
"build": "...",
//...
},
//...
}Example of commands
npm installfor each monorepo projects.
mrpm installnpm updatefor each monorepo projects.
mrpm updatenpm publishfor each monorepo projects.
mrpm publishnpm runscript for each monorepo projects.
mrpm run xxxnpm prunefor each monorepo projects.
mrpm pruneOptions
--mrpm-max-workers=<num>
Specifies the maximum number of workers the worker-pool will spawn for running commands.
Example of Deploy with Travis CI.
files
package.json.travis.ymldeploy.sh
package.json
{
//...
"private": true,
//...
"scripts": {
//...
"publish:all": "mrpm publish",
//...
},
"devDependencies": {
"mrpm": "x.x.x"
}
}.travis.yml
language: node_js
node_js:
- "node"
deploy:
provider: script
script: sh $TRAVIS_BUILD_DIR/deploy.shdeploy.sh
#!/usr/bin/env bash
npm config set //registry.npmjs.org/:_authToken $NPM_TOKEN
npm run publish:all