make-manifest

Writes a manifest.json using package.json, github commit shas and command line options

Usage no npm install needed!

<script type="module">
  import makeManifest from 'https://cdn.skypack.dev/make-manifest';
</script>

README

make-manifest

Generates a manfiest.json similar to...

{
  "name": "make-manifest",
  "version": "0.1.0",
  "timestamp": "2016-07-05T00:21:41.308Z",
  "scm": {
    "remote": "git@github.com:guidesmiths/make-manifest.git",
    "branch": "master",
    "commit": "98d5460ad979b1b0300c6cf9fee4799abddf0ab6"
  }
}

Why?

It's good practice to ship some basic information about your application build in case you need to rebuild or debug it from source. It can also be useful to guarantee at least one new layer if you're deploying your application within a docker image. Copying a freshly generated manifest in the last step of your Dockerfile will achieve this.

Usage

  Usage: make-manifest [options]

  Options:

    -h, --help           output usage information
    -V, --version        output the version number
    -x --extra [string]  colon separated key value pair

Example

./bin/make-manifest --extra "build.url: $CIRCLE_BUILD_URL" --extra "build.number: $CIRCLE_BUILD_NUM"
{
  "name": "make-manifest",
  "version": "0.1.0",
  "timestamp": "2016-07-05T00:21:41.308Z",
  "scm": {
    "remote": "git@github.com:guidesmiths/make-manifest.git",
    "branch": "master",
    "commit": "98d5460ad979b1b0300c6cf9fee4799abddf0ab6"
  },
  "build": {
    "url": "https://circleci.com/gh/guidesmiths/make-manifest/48",
    "number": "48"
  }
}