diff options
| author | pack <pack@packgekko.xyz> | 2026-08-09 10:54:08 +0000 |
|---|---|---|
| committer | pack <pack@packgekko.xyz> | 2026-08-09 10:54:08 +0000 |
| commit | d3adc16a08d95d6e331de55d7d3bf05a66a874a8 (patch) | |
| tree | a2dabd199501e67c547c2ce79e1374ca3aa55443 /node_modules/prebuild-install/download.js | |
| parent | 55a4f1fc869e41aca748c63d3018f0448b1606e0 (diff) | |
| download | crud-d3adc16a08d95d6e331de55d7d3bf05a66a874a8.tar.gz | |
stop tracking node_modules/
Diffstat (limited to '')
| -rw-r--r-- | node_modules/prebuild-install/download.js | 142 |
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 |