@xcritical/boltify
v1.0.3
Published
A tool for managing JavaScript projects with multiple packages based on Bolt.
Downloads
3
Readme
Boltify
A tool for managing projects with multiple packages based on Bolt.
What are workspaces?
A workspace is like any other node package: It's just a directory with its
own package.json
.
Workspaces are grouped into a single "project". A project is also just a node package at the root of your repository. This is sometimes referred to as a "monorepo", but we prefer the term "multi-package repo".
project
├── package.json
├── workspace-one
│ ├── package.json
│ └── index.js
└── workspace-two
├── package.json
└── index.js
Put another way, workspaces are just like any other package, except they are nested within a larger project/repo. Each workspace can have its own code and scripts. Workspaces can also be grouped into sub-directories for further organization.
Note: This idea is not new, other tools like Lerna have existed for awhile and are used by many projects. Boltify is a fresh take on the idea.
Commands
Note: Boltify is under active development and some of these commands have not yet been implemented.
| Command | Description | Status |
| --------------------------------------- | ------------------------------------------------------------------------- |--------|
| boltify version
| Updates the version of your package(s) |✅|
| └ boltify version --only [name glob]
| Filter package(s) by name |✅|
| └ boltify version --ignore [name glob]
| Filter out package(s) by name |✅|
| └ boltify version --only-fs [file glob]
| Filter package(s) by file path |✅|
| └ boltify version --ignore-fs [file glob]
| Filter out package(s) by file path |✅|
| └ boltify version --no-git-tag-version
| New tag(s) will not be added and pushed |✅|
| └ boltify version --no-push
| New tag(s) will not be pushed |✅|
| boltify run [script]
| Run a script in a package |✅|
| └ boltify run --only [name glob]
| Filter package(s) by name |✅|
| └ boltify run --ignore [name glob]
| Filter out package(s) by name |✅|
| └ boltify run --only-fs [file glob]
| Filter package(s) by file path |✅|
| └ boltify run --ignore-fs [file glob]
| Filter out package(s) by file path |✅|
| └ boltify run --since ref
| Filter package(s) that have been updated since the specified ref
|✅|
| boltify workspaces/ws
| Show package(s): ||
| └ boltify ws --only [name glob]
| Filter package(s) by name |✅|
| └ boltify ws --ignore [name glob]
| Filter out package(s) by name |✅|
| └ boltify ws --only-fs [file glob]
| Filter package(s) by file path |✅|
| └ boltify ws --ignore-fs [file glob]
| Filter out package(s) by file path |✅|
| └ boltify ws --since ref
| Filter package(s) that have been updated since the specified ref
|✅|