aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/prebuild-install/asset.js
diff options
context:
space:
mode:
authorpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
committerpack <pack@packgekko.xyz>2026-08-09 10:37:07 +0000
commit55a4f1fc869e41aca748c63d3018f0448b1606e0 (patch)
treed132d1d01772b6d53faee3e63c534dea5706b78a /node_modules/prebuild-install/asset.js
downloadcrud-55a4f1fc869e41aca748c63d3018f0448b1606e0.tar.gz
first commit
Diffstat (limited to '')
-rw-r--r--node_modules/prebuild-install/asset.js44
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