0.0.1 ā€¢ Published 3 years ago

@boiler-dev/boiler v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

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

DirectoryFilenameContents
Project (.)boiler.jsonPackage file paths (by package name)
Home (~).boiler.jsonProject 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.