@boiler-dev/boiler v0.0.1
boiler
š„ Local package manager
Why
Boiler is a faster, less formal alternative to remote package managers.
- Local ā Only depends on the local filesystem.
- Hackable ā Modify package files anywhere they're installed.
- Repairable ā Easily copy changes back to the package source.
- Informal ā No versioning except your own optional version control.
Boiler aims to keep code reusable and updatable ("move fast and break things") while removing risks associated with rigid code separation ("version and package everything").
Install
npm install @boiler-dev/boiler
CLI
boiler create
ā Create a package (a named group of file or directory sources).boiler install
ā Install package files using an identical directory structure as the source.boiler push
ā Push local package changes back to the source.boiler list
ā List available and installed packages.
Create package
npx boiler create [package-name] [path...]
ā ļø Paths must be within the current project's root directory.
Install packages
npx boiler install [package-name...]
Push packages
npx boiler push [package-name...]
List packages
npx boiler list
Configuration
CLI commands look for project configuration in the current working directory, and then its parent directories.
If a project configuration is found, that directory is considered the project root path. Otherwise, the current working directory becomes the home to a new project configuration file.
Additionally, the CLI uses a configuration file in the home directory.
Locations
Directory | Filename | Contents |
---|---|---|
Project (. ) | boiler.json | Package file paths (by package name) |
Home (~ ) | .boiler.json | Project directory paths (by package name) |
Format
{
"packages": {
"package-name": {
// Project
"installedPaths": [] // Installed package file paths (relative)
"sourcePaths": [] // Source package file paths (relative)
// Home
"projectPaths": [] // Project directory paths (absolute)
}
}
}
Register existing projects
Running boiler
within any project (even without arguments) will register that project in the home configuration and make its packages available for installation.
Safety
Boiler only modifies a file if it is (1) tracked in git and (2) has no uncommitted changes.
If both conditions are not met, you are prompted to confirm or deny any changes.
3 years ago