standard-monorepo
Goal
The goal is to create a library that will help you and your team manage js monorepos. We assume that you run github flow with rebase enabled and provide everything available in the CLI programatically.
standard-monorepo should be all you need to run a js monorepo effectively, no need to setup commitlint, fiddle with lerna and optimise CI environments.
Roadmap v1
Usage
$ npm install -g standard-monorepo
$ standard-monorepo COMMAND
running command...
$ standard-monorepo (-v|--version|version)
standard-monorepo/0.3.1 darwin-x64 node-v14.15.1
$ standard-monorepo --help [COMMAND]
USAGE
$ standard-monorepo COMMAND
...
Commands
standard-monorepo circular-deps
USAGE
$ standard-monorepo circular-deps
OPTIONS
-h, --help show CLI help
--max=max maximum allowed individual circular dependencies
--maxTotalPaths=maxTotalPaths maximum allowed circular dependencies paths
EXAMPLES
$ standard-monorepo circular-deps
$ standard-monorepo circular-deps --max=5 --maxTotalPaths=10 # default is 0 for both
See code: src/commands/circular-deps.ts
standard-monorepo commit [COMMIT]
USAGE
$ standard-monorepo commit [COMMIT]
ARGUMENTS
COMMIT The commit message
OPTIONS
-h, --help show CLI help
-s, --scope should include scope in the commit message
EXAMPLES
$ standard-monorepo commit # this will create a prompt like commitizen
$ standard-monorepo commit --scope # this will create a prompt like commitizen
$ standard-monorepo commit "feat: did things"
$ standard-monorepo commit "feat!: did things"
$ standard-monorepo commit "feat(ABC-123): did things" --scope
$ standard-monorepo commit "feat!(ABC-123): did things" --scope
"husky": {
"hooks": {
"commit-msg": "standard-monorepo commit $HUSKY_GIT_PARAMS"
}
}
See code: src/commands/commit.ts
standard-monorepo help [COMMAND]
USAGE
$ standard-monorepo help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
standard-monorepo list
USAGE
$ standard-monorepo list
OPTIONS
-h, --help show CLI help
--only=only [default: name,version,private,location] fields to return for each package
EXAMPLES
$ standard-monorepo list
$ standard-monorepo list >> list.json
$ standard-monorepo list --only="name,version,private,location"
$ standard-monorepo list
--only="name,version,private,location,dependencies,devDependencies,peerDependencies,optionalDependencies"
See code: src/commands/list.ts