diff options
| author | pack <pack@packgekko.xyz> | 2026-08-09 10:37:07 +0000 |
|---|---|---|
| committer | pack <pack@packgekko.xyz> | 2026-08-09 10:37:07 +0000 |
| commit | 55a4f1fc869e41aca748c63d3018f0448b1606e0 (patch) | |
| tree | d132d1d01772b6d53faee3e63c534dea5706b78a /node_modules/prebuild-install/asset.js | |
| download | crud-55a4f1fc869e41aca748c63d3018f0448b1606e0.tar.gz | |
first commit
Diffstat (limited to 'node_modules/prebuild-install/asset.js')
| -rw-r--r-- | node_modules/prebuild-install/asset.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/prebuild-install/asset.js b/node_modules/prebuild-install/asset.js new file mode 100644 index 0000000..7a58e8b --- /dev/null +++ b/node_modules/prebuild-install/asset.js @@ -0,0 +1,44 @@ +const get = require('simple-get') +const util = require('./util') +const proxy = require('./proxy') + +function findAssetId (opts, cb) { + const downloadUrl = util.getDownloadUrl(opts) + const apiUrl = util.getApiUrl(opts) + const log = opts.log || util.noopLogger + + log.http('request', 'GET ' + apiUrl) + const reqOpts = proxy({ + url: apiUrl, + json: true, + headers: { + 'User-Agent': 'simple-get', + Authorization: 'token ' + opts.token + } + }, opts) + + const req = get.concat(reqOpts, function (err, res, data) { + if (err) return cb(err) + log.http(res.statusCode, apiUrl) + if (res.statusCode !== 200) return cb(err) + + // Find asset id in release + for (const release of data) { + if (release.tag_name === opts['tag-prefix'] + opts.pkg.version) { + for (const asset of release.assets) { + if (asset.browser_download_url === downloadUrl) { + return cb(null, asset.id) + } + } + } + } + + cb(new Error('Could not find GitHub release for version')) + }) + + req.setTimeout(30 * 1000, function () { + req.abort() + }) +} + +module.exports = findAssetId |