0.0.3 • Published 4 months ago

@omy.dev/omy-build-tool v0.0.3

Weekly downloads
-
License
MIT
Repository
gitlab
Last release
4 months ago

OMY BUILD TOOL

WARNING: This package is under development and not recommended for general use as breaking changes will be introduced.

Universal dev workspace and build management tool

This is a cli tool to manage a workspace consisting of heterogenous git repos


Usage Guide

─────────────────────────────────────────────────────────────────
omy --help
─────────────────────────────────────────────────────────────────
omy <cmd> [args]

Commands:
  omy ws   Workspace management subcommand
  omy run  Run a target defined in workspace.json

Options:
  --version  Show version number                    [boolean]
  --help     Show help                              [boolean]
─────────────────────────────────────────────────────────────────

Workspace Management

─────────────────────────────────────────────────────────────────
omy ws --help
─────────────────────────────────────────────────────────────────
omy ws

Workspace management subcommand

Commands:
  omy ws init            Initialize workspace in current empty directory
  omy ws add package     Add package to workspace
  omy ws remove package  Remove package from workspace

Options:
  --version  Show version number                       [boolean]
  --help     Show help                                 [boolean]
─────────────────────────────────────────────────────────────────

Initialize workspace in an empty directory

─────────────────────────────────────────────────────────────────
omy ws init
─────────────────────────────────────────────────────────────────

✔ Created workspace.json file at /path/to/my-worspace
✔ Initialized workspace at /path/to/my-worspace
─────────────────────────────────────────────────────────────────

─────────────────────────────────────────────────────────────────
cat workspace.json 
───────┬─────────────────────────────────────────────────────────
       │ File: workspace.json
───────┼─────────────────────────────────────────────────────────
   1   │ {
   2   │     "name": "my-worspace",
   3   │     "packages": {}
   4   │ }
───────┴─────────────────────────────────────────────────────────

Add a package to workspace

─────────────────────────────────────────────────────────────────
omy ws add package --name my-service \
    --url git@github.com/user/my-service.git
─────────────────────────────────────────────────────────────────

...
─────────────────────────────────────────────────────────────────

─────────────────────────────────────────────────────────────────
cat workspace.json
───────┬─────────────────────────────────────────────────────────
       │ File: workspace.json
───────┼─────────────────────────────────────────────────────────
   1   │ {
   2   │     "name": "my-workspace",
   3   │     "packages": {
   4   │         "my-service": {
   5   │             "url": "git@github.com/user/my-service.git"
   6   │         }
   7   │     },
   8   │ }
───────┴─────────────────────────────────────────────────────────

Remove a package to workspace

─────────────────────────────────────────────────────────────
omy ws remove package --name my-service
─────────────────────────────────────────────────────────────

...
─────────────────────────────────────────────────────────────

Run workspace defined targets

─────────────────────────────────────────────────────────────────
omy run --help
─────────────────────────────────────────────────────────────────
omy run

Run a target defined in workspace.json

Positionals:
  package, p  run task within that package [string] [default: "$WORKSPACE_ROOT"]

Options:
  --version  Show version number                      [boolean]
  --help     Show help                                [boolean]
─────────────────────────────────────────────────────────────────

Run a target in current workspace

─────────────────────────────────────────────────────────────
omy run release
─────────────────────────────────────────────────────────────

RELEASE @ my-service
─────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────────────
cat workspace.json
───────┬─────────────────────────────────────────────────────────
       │ File: workspace.json
───────┼─────────────────────────────────────────────────────────
   1   │ {
   2   │     "name": "my-workspace",
   3   │     "packages": {
   4   │         "my-service": {
   5   │             "url": "git@github.com/user/my-service.git"
   6   │         }
   7   │     },
   8   │     "run": {
   9   │         "release": "omy run echo:release -p my-service",
  10   │         "echo:release": "echo RELEASE @ `pwd`"
  11   │     }
  12   │ }
───────┴─────────────────────────────────────────────────────────

0.0.3

4 months ago

0.0.2

4 months ago

0.0.1

4 months ago