Skip to content

aramtech/verde

Repository files navigation

verde

a CLI tool for vendoring utilities.

Project goals

  • To make it easy to vendor and share code between projects without having to resort to a full fledged package management solutions.
  • To allow the user to control where the code is hosted and how it's fetched, synced and versioned.
  • To support hot patches and changes to the code on the fly.

Installation

To install verde use npm and run the following command

$ npm i [email protected]:aramtech/verde.git --global

This will install verde from this github repository, you can then test it via:

$ verde list

no tool found!.

Vendoring

To turn a directory with TypeScript/JavaScript modules into a vendored utility run:

$ verde init <utility-name> -d [description]

This will create a utils.json file, which is a simple config file that contains:

{
    "name": "<utility-name>",
    "version": "0.1.0",
    "hash": "(a hash of the contents of all files of the utility)",
    "private": true,
    "description": ""
}
  1. name: The name of the utility.
  2. deps: The dependencies of the utility.
  3. version: The utility's version.
  4. private: Whether the utility is private to this project.

You can list the utilities in a given project by running:

$ verde list

* [email protected] | Utilities for manipulating with strings
* [email protected] | Utilities for integrating with odoo *private*

You can remove a utility from your project by running:

$ verde remove string-utils

[email protected] Was removed successfully

You can push a utility to github by running:

$ verde push string-utils

[email protected] Was pushed to github successfully

You can pull a utility from github by running:

$ verde pull string-utils

[email protected] was added to the project successfully

You can make a utility private by running:

$ verde hide string-utils

You can make it public again by running:

verde reveal string-utils

About

a code vendoring tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published