uvpm-cli

A CLI for the Ultra Violet Package Manger server

Usage no npm install needed!

<script type="module">
  import uvpmCli from 'https://cdn.skypack.dev/uvpm-cli';
</script>

README

uvpm-cli

A CLI for interacting with an Ultra-Violet Package Manger server.

Build Status codecov

Getting Started

  1. Install Node.js
  2. Get a UVPM Server domain or set one up yourself

Simply run the following command to install the CLI globally.

npm install -g uvpm-cli

Example Workflow

Navigate to the repo you wish to use UVPM with. Then run the following commands to get started from you CLI.

# Set the server where you've setup a UVPM installation
uvpm server ROUTE_TO_YOUR_UVPM_SERVER

# Login to the server for an authentication token
uvpm login

# Create a uvpm.json file for configuration
uvpm init

# Install a particular package as a dependency and write it to the config
uvpm install MY_PACKAGE --save

# Publish the package for other packages to use
uvpm publish

# Search for the recently published package with fuzzy searching
search MY_PACKAGE

Commands

A list of all supported commands. You can also type uvpm --help for additional documentation.

Dependency Management

Install

Add a package to your project and update the uvpm.json file.

uvpm install YOUR_PACKAGE_NAME --save

Uninstall

Remove a package from your project and update the uvpm.json file.

uvpm uninstall YOUR_PACKAGE_NAME --save

Search Published Packages

Prints a listing of all available versions based upon a fuzzy search.

uvpm search YOUR_PACKAGE_NAME

View a package

View a published package with all associated versions.

uvpm view YOUR_PACKAGE_NAME

Clearing the cache

Sometimes the cache might become corrupted or you unpublished a package somewhere so its no longer accurate. Dump it with the following command.

uvpm cache-clear

Authentication

Set the server

Set the current server URL for HTTP calls. Required for most commands.

uvpm server http://MY_SERVER.com

Login

Attempt to authenticate a user and store login credentials.

uvpm login

Logout

De-authenticate the current user.

uvpm logout

Register

Attempt to register a user (does not log you in).

uvpm register

Who Am I

Print the currently authenticated user.

uvpm whoami

Publishing

Increment Version

Increment the current version in your uvpm.json file based upon the Semver specification.

uvpm version [minor|major|patch]

Publish

Publish your current repository based upon your uvpm.json configurations.

uvpm publish

Unpublish

Unpublish your current repository based upon your uvpm.json configurations.

uvpm unpublish MY_PACKAGE_NAME
# or
uvpm unpublish MY_PACKAGE_NAME SPECIFIC_VERSION

Generators

init

Generates a uvpm.json file from where the command is run. Automatically fails if a file already exists.

uvpm init

Development

If you wish to further develop this code here's how.

Run npm run start to actively recompile while developing.

Running tests

Run npm run test to run the testing environment.

Linking local repo for global testing

You might want to globally uninstall your UVPM CLI before trying this.

  1. Clone this repo
  2. Navigate to the root
  3. Run npm link to globally link the repo
  4. You can now run uvpm [COMMAND] statements against your development code
  5. Run npm run build whenever you want the CLI to have a latest copy of the source
  6. Run npm unlink to unlink the repo