Package Exports
- @slimio/nodejs-downloader
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@slimio/nodejs-downloader) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nodejs-downloader
Node.js binary and headers downloader
Getting Started
This package is available in the Node Package Repository and can be easily installed with npm or yarn.
$ npm i @slimio/nodejs-downloader
# or
$ yarn add @slimio/nodejs-downloaderUsage example
const {
getNodeRelease,
downloadNodeFile,
extract,
constants: { File }
} = require("@slimio/nodejs-downloader");
// CONSTANTS
const DOWNLOAD = join(__dirname, "download");
async function main() {
const nodeRelease = await getNodeRelease("v8.0.0");
console.log(nodeRelease);
// Download Node.js headers (of current Node.js version).
const tarFile = await downloadNodeFile(File.Headers, {
dest: DOWNLOAD
});
// Extract tar.gz
const dirHeaders = await extract(tarFile);
console.log(dirHeaders);
}
main().catch(console.error);API
getNodeRelease(version: String): Release
Retrieve information about a given Node.js release.
const { getNodeRelease } = require("@slimio/nodejs-downloader");
async function main() {
const release = await getNodeRelease("v8.0.0");
console.log(release);
}
main().catch(console.error);Stdout will look like this:
{ name: "N/A",
version: 'v8.0.0',
date: 2017-05-30T00:00:00.000Z,
files:
Set {
'aix-ppc64',
'headers',
'linux-arm64',
'linux-armv6l',
'linux-armv7l',
'linux-ppc64le',
'linux-s390x',
'linux-x64',
'linux-x86',
'osx-x64-pkg',
'osx-x64-tar',
'src',
'sunos-x64',
'sunos-x86',
'win-x64-7z',
'win-x64-exe',
'win-x64-msi',
'win-x64-zip',
'win-x86-7z',
'win-x86-exe',
'win-x86-msi',
'win-x86-zip' },
npm: '5.0.0',
v8: '5.8.283.41',
uv: '1.11.0',
zlib: '1.2.11',
openssl: '1.0.2k',
modules: 57,
lts: false }downloadNodeFile(file?: String, options?: DownloadOptions): String
Download a given release Node.js file... Use the constant File of the module to known all available Node.js files !
- Default value for
versionis the result ofprocess.version. - Default value for
destis the result ofprocess.cwd().
const { downloadNodeFile, constants: { File } } = require("@slimio/nodejs-downloader");
async function main() {
const tarFile = await downloadNodeFile(File.Headers, {
version: "v11.0.0",
dest: "./headers"
});
console.log(tarFile);
}
main().catch(console.error);extract(file: String): String
Extract .tar.gz and .zip file. This method help you to extract Node.js files !
Following the downloadNodeFile example:
const tarFile = await downloadNodeFile(File.Headers, {
version: "v11.0.0",
dest: "./headers"
});
const dirName = await extract(tarFile);
console.log(dirName);Roadmap v0.2.0
- Add
.zipsupport to extract method. - Fix security issue with
tar-fspackage. - Complete the file list (not all files are supported).
LICENCE
MIT