sofpm

Sophon Package Installer and Publishing Library

Usage no npm install needed!

<script type="module">
  import sofpm from 'https://cdn.skypack.dev/sofpm';
</script>

README

Sophon Package Manager / Javascript

Join the chat at https://gitter.im/sofpm/Lobby

Overview

This package provides utilities for publishing and consuming Sophon packages based on the Sophon Package Manager specification. It is meant to be integrated directly into development tools to support their use of the Sophon Package Management ecosystem.

Usage

// Require and configure SofPM relative to a package location on disk.
// `host` and `registry` must conform to Javascript Host and Registry interface.
// A "host" is a service that holds the files, like IPFS. A "registry" is a
// service that records package versions that have been published and their
// associated lockfile on the host.
var SofPM = require("sofpm");
var config = SofPM.configure(package_directory, host, registry);

// Install a single package into the current package, denoted by name and version.
// Returns a promise.
SofPM.installDependency(config, package_name, version_range);

// Install all dependencies of the current package.
// Returns a promise.
SofPM.installPackage(config);

// Publish the current package.
// Returns a promise.
// `contract_metadata` is information about published contracts you'd like include
// in this package. See lockfile spec for more information.
SofPM.publishPackage(config, contract_metadata);

Running Tests

$ npm test

Contributors

Initial author: Tim Coulter (@tcoulter)

This is a joint effort by Susyknot, Populus, Dapple and Eris.