any-prebuilt

1.0.210 • Public • Published

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

Dependents (1)

Package Sidebar

Install

npm i any-prebuilt

Weekly Downloads

85

Version

1.0.210

License

MIT

Unpacked Size

56.4 kB

Total Files

34

Last publish

Collaborators

  • kanekotic