wrapper for prebuilt packages
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
test
.gitignore
.travis.yml
LICENSE
README.md
index.js
package.json
upgrade.sh
yarn.lock

README.md

logomakr_3dkn9b

Build Status Coverage Status 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