aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/prebuild-install/download.js
diff options
context:
space:
mode:
authorpack <pack@packgekko.xyz>2026-08-09 10:54:08 +0000
committerpack <pack@packgekko.xyz>2026-08-09 10:54:08 +0000
commitd3adc16a08d95d6e331de55d7d3bf05a66a874a8 (patch)
treea2dabd199501e67c547c2ce79e1374ca3aa55443 /node_modules/prebuild-install/download.js
parent55a4f1fc869e41aca748c63d3018f0448b1606e0 (diff)
downloadcrud-d3adc16a08d95d6e331de55d7d3bf05a66a874a8.tar.gz
stop tracking node_modules/
Diffstat (limited to '')
-rw-r--r--node_modules/prebuild-install/download.js142
1 files changed, 0 insertions, 142 deletions
diff --git a/node_modules/prebuild-install/download.js b/node_modules/prebuild-install/download.js
deleted file mode 100644
index 26f04b0..0000000
--- a/node_modules/prebuild-install/download.js
+++ /dev/null
@@ -1,142 +0,0 @@
-const path = require('path')
-const fs = require('fs')
-const get = require('simple-get')
-const pump = require('pump')
-const tfs = require('tar-fs')
-const zlib = require('zlib')
-const util = require('./util')
-const error = require('./error')
-const proxy = require('./proxy')
-const mkdirp = require('mkdirp-classic')
-
-function downloadPrebuild (downloadUrl, opts, cb) {
- let cachedPrebuild = util.cachedPrebuild(downloadUrl)
- const localPrebuild = util.localPrebuild(downloadUrl, opts)
- const tempFile = util.tempFile(cachedPrebuild)
- const log = opts.log || util.noopLogger
-
- if (opts.nolocal) return download()
-
- log.info('looking for local prebuild @', localPrebuild)
- fs.access(localPrebuild, fs.R_OK | fs.W_OK, function (err) {
- if (err && err.code === 'ENOENT') {
- return download()
- }
-
- log.info('found local prebuild')
- cachedPrebuild = localPrebuild
- unpack()
- })
-
- function download () {
- ensureNpmCacheDir(function (err) {
- if (err) return onerror(err)
-
- log.info('looking for cached prebuild @', cachedPrebuild)
- fs.access(cachedPrebuild, fs.R_OK | fs.W_OK, function (err) {
- if (!(err && err.code === 'ENOENT')) {
- log.info('found cached prebuild')
- return unpack()
- }
-
- log.http('request', 'GET ' + downloadUrl)
- const reqOpts = proxy({ url: downloadUrl }, opts)
-
- if (opts.token) {
- reqOpts.headers = {
- 'User-Agent': 'simple-get',
- Accept: 'application/octet-stream',
- Authorization: 'token ' + opts.token
- }
- }
-
- const req = get(reqOpts, function (err, res) {
- if (err) return onerror(err)
- log.http(res.statusCode, downloadUrl)
- if (res.statusCode !== 200) return onerror()
- mkdirp(util.prebuildCache(), function () {
- log.info('downloading to @', tempFile)
- pump(res, fs.createWriteStream(tempFile), function (err) {
- if (err) return onerror(err)
- fs.rename(tempFile, cachedPrebuild, function (err) {
- if (err) return cb(err)
- log.info('renaming to @', cachedPrebuild)
- unpack()
- })
- })
- })
- })
-
- req.setTimeout(30 * 1000, function () {
- req.abort()
- })
- })
-
- function onerror (err) {
- fs.unlink(tempFile, function () {
- cb(err || error.noPrebuilts(opts))
- })
- }
- })
- }
-
- function unpack () {
- let binaryName
-
- const updateName = opts.updateName || function (entry) {
- if (/\.node$/i.test(entry.name)) binaryName = entry.name
- }
-
- log.info('unpacking @', cachedPrebuild)
-
- const options = {
- readable: true,
- writable: true,
- hardlinkAsFilesFallback: true
- }
- const extract = tfs.extract(opts.path, options).on('entry', updateName)
-
- pump(fs.createReadStream(cachedPrebuild), zlib.createGunzip(), extract,
- function (err) {
- if (err) return cb(err)
-
- let resolved
- if (binaryName) {
- try {
- resolved = path.resolve(opts.path || '.', binaryName)
- } catch (err) {
- return cb(err)
- }
- log.info('unpack', 'resolved to ' + resolved)
-
- if (opts.runtime === 'node' && opts.platform === process.platform && opts.abi === process.versions.modules && opts.arch === process.arch) {
- try {
- require(resolved)
- } catch (err) {
- return cb(err)
- }
- log.info('unpack', 'required ' + resolved + ' successfully')
- }
- }
-
- cb(null, resolved)
- })
- }
-
- function ensureNpmCacheDir (cb) {
- const cacheFolder = util.npmCache()
- fs.access(cacheFolder, fs.R_OK | fs.W_OK, function (err) {
- if (err && err.code === 'ENOENT') {
- return makeNpmCacheDir()
- }
- cb(err)
- })
-
- function makeNpmCacheDir () {
- log.info('npm cache directory missing, creating it...')
- mkdirp(cacheFolder, cb)
- }
- }
-}
-
-module.exports = downloadPrebuild