@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/boilerCLI
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 listConfiguration
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.
4 years ago