any-prebuilt

wrapper for prebuilt packages

Usage no npm install needed!

<script type="module">
  import anyPrebuilt from 'https://cdn.skypack.dev/any-prebuilt';
</script>

README

logomakr_3dkn9b">

Build Status codecov npm GitHub license Maintenance Donate

Mission

Easy generator or integration of prebuilt packages for use with npm or yarn. It helps fetchs prebuilt binaries from github releases that will be bind as part of your package.

Generate a prebuilt package

  1. Create new project
npm init
  1. Add this package as dependency
npm install any-prebuilt --save
  1. Create postinstall.js file with content:
require('any-prebuilt').install(require('./package.json').prebuilt)
  1. Create index.js file with content:
var anyPrebuilt = require('any-prebuilt')
anyPrebuilt.initialize(__dirname, require('./package.json').prebuilt)
module.exports.path = anyPrebuilt.path
  1. On the package.json add a prebuilt element (you can also add this to any other file that provides a jason object to both index and postinstall.js).
  "prebuilt": {
    "arch": <string>, // Target architecture (supported: `ia32` / `x64`. Default value: machine's architecture)
    "platform": <string>, //Target platform (supported: `win` / `osx` / `linux`. Default value: machine's platform)
    "version": <string>, //Target version (format: `vX.Y.Z`. Default value: latest)
    "targetDir": <string>, //Target directory (where to install the binaries. Default value: `./bin`)
    "targetBin": <string>, //Target binary (the precompiled binary to be required in node. No default value)
    "user": <string>, // user or Organization (format: string. Is `required`)
    "repo": <string>, //Origin repo (format: string. Is `required`)
    "token": <string> //Github token (format: string. `required` if private repo)
  }
  1. In your package .json add the next script:
"scripts": {
    "postinstall": "node postinstall.js"
  }

As seen before this can be configured using a json object but also can be configured or overrided using the next enviroment variables PREBUILT_ARCH, PREBUILT_PLATFORM, PREBUILT_VERSION, PREBUILT_BINARY, PREBUILT_TOKEN, PREBUILT_REPO, PREBUILT_USER and PREBUILT_TARGET_DIR environment variables.

Logo

Hours graphic by Freepik from Flaticon is licensed under CC BY 3.0. Made with Logo Maker