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.
- Create new project
npm init
- Add this package as dependency
npm install any-prebuilt --save
- Create
postinstall.jsfile with content:
require('any-prebuilt').install(require('./package.json').prebuilt)- Create
index.jsfile with content:
var anyPrebuilt = require('any-prebuilt')
anyPrebuilt.initialize(__dirname, require('./package.json').prebuilt)
module.exports.path = anyPrebuilt.path- On the
package.jsonadd 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 .jsonadd 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.
Hours graphic by Freepik from Flaticon is licensed under CC BY 3.0. Made with Logo Maker