1.0.0 • Published 4 years ago

mhpm v1.0.0

Weekly downloads
2
License
ISC
Repository
github
Last release
4 years ago

mhpm

MunchkinHalfling's Package Manager

This is a package manager for client-side JavaScript.

Getting Started

To include MHPM, put the following into your <head>:

<script src="https://raw.githack.com/munchkinhalfling/mhpm/master/mhpm.js"></script>

Then, you need to set up your script as asynchronous, like so: (this is so you can use await to load packages)

<script>
  (async () => {
    // code...
  })();
</script>

Then, in a script, you can import any package in the repository file with the following:

// ...
const MyModule = await Package.load("Package Name");
// ...

You can also load packages from specific configuration files (described below) not listed in the repository file with the following:

const MyUnlistedModule = await Package.loadFromConfig("https://path/to/mhpm-config.json");

Creating Packages

First, create a GitHub repo or something else for your package. Then, create an mhpm-config.json file that has the following syntax:

{
  "name": "package name goes here",
  "version": "(optional) package version",
  "dependencies": ["Required, even if it's an empty list"],
  "pkgfile": "(REQUIRED) javascript file of the package (see below)"
}

Then, create a JavaScript file (the path/URL goes in the pkgfile field) that follows the following syntax:

(function(/* dependencies (in order) */) {
  // code/private variables
  return {
    // exported variables go here
  };
}) //NOTICE: NO SEMICOLON (it must be an anonymous function)

After that, go into the repository file and add an entry in the pkgs array that has the following format:

{
  "name": "package name (REQUIRED)",
  "conf-file": "path to the configuration file made in the first step"
}

Then send me a pull request!