@hela/core
v5.0.0
Published
Powerful, simple and fast software development and management system. Support for monorepos and non-monorepo setups. Supports multiple fixed and/or multiple independent-versioned projects in one repo.
Downloads
270
Maintainers
Readme
The Hela Project
Hela v4. Powerful, simple and fast software development and management system.
More docs soon
Highlights
- Support for monorepos and non-monorepo setups
- Supports multiple fixed and/or multiple independent-versioned projects
- example is this repo:
@hela
,*asia*
and*xaxa*
packages are fixed, the others are not - it doesn't really matter, you can do whatever mix you want, hence the composable functions and commands
- example is this repo:
- Similar to
lerna
or other monorepo tools - Familiar syntax and user experience
- Smaller, faster, more powerful
- Works with or without
git
- Seamlessly works with NPM Workspaces or Yarn Workspaces
- Use
hela publish <...packages>
to publish - Use
hela version <semver> <...packages>
beforehela publish
to just bump - Development since 2017, last rewrite 2022 was from the ground up
- Shareable configs and presets, like
@hela/preset-workspaces
and@hela/preset-tunnckocore
Try
You can try @tunnckoCore's config @hela/preset-tunnckocore
which includes:
- all commands from
@hela/preset-workspaces
- plus,
lint
,test
, andformat
- how? in
package.json
pass"hela": "@hela/preset-tunnckocore"
- or create a
hela.config.js
file (accepts ESM) - which can just
export default import('@hela/preset-tunnckocore');
Install
This is ESM-only module and requires Node.js v16+
npm i -D @hela/cli @hela/preset-workspaces
then in your package.json
(automatically reads the workspaces
field, below
are just example ones)
{
"hela": "@hela/preset-workspaces",
"workspaces": [
"packages/*",
"@scoped/*",
"xaxa/*",
"modules/*"
]
}
Note: Keep in mind it also support nested monorepos, just define them first, like so:
{
"hela": "@hela/preset-workspaces",
"workspaces": [
"packages/@tunnckocore/*",
"packages/*",
"modules/xaxa/*",
"modules/*"
]
}
and print the help
hela --help
Usage:
$ hela <command> [options]
Commands:
init Resolve workspaces and packages information
affected [name] List affected workspaces of change in `name` package
filter <...patterns> List all packages matching a given filter pattern
publish <...packages> Publish given package names, using `npm publish -ws`.
workspaces [name] Load workspace graph file, or list resolved workspace(s)
version <semver> <...names> Bump version of packages given in --filter flag
For more info, run any command with the `--help` flag:
$ hela init --help
$ hela affected --help
Flags:
-h, --help Display help message
-v, --version Display version
--cwd some global flag (default: "/home/tunnckocore/opensource")
--verbose Print more verbose output (default: false)
--showStack Show more detailed info when errors (default: false)
-c, --config Path to config file (default: "hela.config.js")
# initialize monorepo setup
hela init --verbose
hela filter --help
hela publish --help
hela version --help