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

0.9.0 • Public • Published

standard-monorepo

oclif Version Downloads/week License

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

  • [x] Conventional commits Also supports a "--scope" flag and validates against a JIRA ticket number

    • [x] Lint (Similar to commitlint, without the configuration)
      $ standard-monorepo commit "feat: did things"
      > [SUCCESS] Commit message meets the conventional commit standard
      $ standard-monorepo commit "did things"
      ›   Error: [FAIL]
      
      ›   ####################################
      ›   did things
      ›   ####################################
      
      
      ›   Make sure you follow the conventional commit format and provide the correct scope flag for your needs.
    • [x] Prompt (Similar to commitizen, without the configuration)
  • [x] Detect packages (yarn workspaces glob)

  • [x] Circular Dependencies

    • [x] Find circular dependencies
    • [x] "--max" and "--max-total-paths" flags to prevent addicional circular dependencies or paths being introduced (if below they will output warnings instead of a failure)
    $ standard-monorepo circular-deps --max=1 --max-total-paths=55
    
    Found 2 circular dependencies in the project, please fix these as soon as possible.
    
        |> Maximum circular dependencies allowed is 1 "--max", found: 2
    
        |> Maximum circular dependencies *paths* allowed is 55 "--max-total-paths", found: 5
    
        #######################################################################
    
        |> foo ->
            bar ->
    
    
        |> a ->
            b ->
             c ->
  • [x] Print what packages have changed since a git ref. See standard-monorepo list

  • [ ] CI helpers (github actions / gitlab ci / circle ci / etc) so that we only build/test what has changed

  • [ ] Run command (Similar to lerna exec "echo hello" --stream and lerna exec "echo hello" --parallel)

  • [ ] Watch command (Something that doesn't exist in the ecosystem at the moment)

  • [ ] Publish (Similar to lerna publish --conventional-commits)

Usage

$ npm install -g standard-monorepo
$ standard-monorepo COMMAND
running command...
$ standard-monorepo (-v|--version|version)
standard-monorepo/0.9.0 linux-x64 node-v12.22.12
$ standard-monorepo --help [COMMAND]
USAGE
  $ standard-monorepo COMMAND
...

Commands

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

Readme

Keywords

none

Package Sidebar

Install

npm i standard-monorepo

Weekly Downloads

4,785

Version

0.9.0

License

MIT

Unpacked Size

109 kB

Total Files

51

Last publish

Collaborators

  • flaviouk