any-prebuilt
v1.0.229
Published
wrapper for prebuilt packages
Downloads
143
Maintainers
Readme
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
- Create new project
npm init
- Add this package as dependency
npm install any-prebuilt --save
- Create
postinstall.js
file with content:
require('any-prebuilt').install(require('./package.json').prebuilt)
- Create
index.js
file with content:
var anyPrebuilt = require('any-prebuilt')
anyPrebuilt.initialize(__dirname, require('./package.json').prebuilt)
module.exports.path = anyPrebuilt.path
- 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)
}
- 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