{"_id":"@discordjs/node-pre-gyp","_rev":"4206904","name":"@discordjs/node-pre-gyp","description":"Node.js native addon binary install tool","dist-tags":{"latest":"0.4.5"},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"time":{"modified":"2026-03-04T17:03:48.000Z","created":"2020-05-02T00:02:31.285Z","0.4.5":"2022-10-20T03:46:20.095Z","0.4.4":"2022-07-03T15:28:05.906Z","0.4.3":"2022-07-03T15:20:02.586Z","0.4.2":"2021-11-12T12:58:33.966Z","0.4.1":"2021-08-18T09:40:29.626Z","0.4.0":"2021-06-10T15:01:11.953Z","0.3.2":"2021-03-19T12:25:38.809Z","0.3.1":"2021-03-19T12:10:30.318Z","0.3.0":"2021-03-19T12:06:46.857Z","0.2.0":"2021-01-24T12:51:05.332Z","0.1.0":"2020-05-02T00:02:31.285Z"},"users":{},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"versions":{"0.4.5":{"name":"@discordjs/node-pre-gyp","version":"0.4.5","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^2.0.0","https-proxy-agent":"^5.0.0","make-dir":"^3.1.0","node-fetch":"^2.6.7","nopt":"^5.0.0","npmlog":"^5.0.1","rimraf":"^3.0.2","semver":"^7.3.5","tar":"^6.1.11"},"devDependencies":{"eslint":"^8.2.0","eslint-config-aqua":"^9.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.4.1"},"gitHead":"5012ad7fed9fb13e38591855d52f111833cd3f8c","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.4.5","_nodeVersion":"16.18.0","_npmVersion":"8.19.2","dist":{"shasum":"b33e38cedd821268c75923641783c68fcd1b55ae","size":31769,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.4.5.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.4.5.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.4.5_1666237579948_0.9624017261896072"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-10-20T03:51:40.691Z","publish_time":1666237580095,"_cnpm_publish_time":1666237580095},"0.4.4":{"name":"@discordjs/node-pre-gyp","version":"0.4.4","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^2.0.0","https-proxy-agent":"^5.0.0","make-dir":"^3.1.0","node-fetch":"^2.6.7","nopt":"^5.0.0","npmlog":"^5.0.1","rimraf":"^3.0.2","semver":"^7.3.5","tar":"^6.1.11"},"devDependencies":{"eslint":"^8.2.0","eslint-config-aqua":"^9.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.4.1"},"gitHead":"648f758262be5c2d85cc6b65666219966f85ce58","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.4.4","_nodeVersion":"16.15.1","_npmVersion":"8.12.2","dist":{"shasum":"33eea1038784ffc5715ef775e4f9d6cffaa96c73","size":31759,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.4.4.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.4.4.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.4.4_1656862085749_0.15429320110660694"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-03T18:16:54.684Z","publish_time":1656862085906,"_cnpm_publish_time":1656862085906},"0.4.3":{"name":"@discordjs/node-pre-gyp","version":"0.4.3","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^2.0.0","https-proxy-agent":"^5.0.0","make-dir":"^3.1.0","node-fetch":"^2.6.7","nopt":"^5.0.0","npmlog":"^5.0.1","rimraf":"^3.0.2","semver":"^7.3.5","tar":"^6.1.11"},"devDependencies":{"eslint":"^8.2.0","eslint-config-aqua":"^9.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.4.1"},"gitHead":"b12f4ae2ca5f03d7a20c538a5c75129f7b70ee2c","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.4.3","_nodeVersion":"16.15.1","_npmVersion":"8.12.2","dist":{"shasum":"f1461ecefeab0e2456f9e25f34c205f00fdf4f66","size":31757,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.4.3.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.4.3.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.4.3_1656861602097_0.9584220351819623"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-07-03T18:16:53.915Z","deprecated":"no longer supported","publish_time":1656861602586,"_cnpm_publish_time":1656861602586},"0.4.2":{"name":"@discordjs/node-pre-gyp","version":"0.4.2","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts","lint:fix":"eslint lib scripts --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","https-proxy-agent":"^5.0.0","make-dir":"^3.1.0","node-fetch":"^2.6.5","nopt":"^5.0.0","npmlog":"^5.0.1","rimraf":"^3.0.2","semver":"^7.3.5","tar":"^6.1.11"},"devDependencies":{"eslint":"^8.2.0","eslint-config-aqua":"^9.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^4.0.0","prettier":"^2.4.1"},"gitHead":"9bcf321aa2fbcb1dab543f61c368ea1cde8afad3","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.4.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.1","dist":{"shasum":"37dd27f8d353eeb87372fcce059c5249550b37ab","size":31658,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.4.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.4.2.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.4.2_1636721913813_0.727790679735427"},"_hasShrinkwrap":false,"publish_time":1636721913966,"_cnpm_publish_time":1636721913966,"_cnpmcore_publish_time":"2021-12-16T20:21:49.803Z","deprecated":"no longer supported"},"0.4.1":{"name":"@discordjs/node-pre-gyp","version":"0.4.1","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","https-proxy-agent":"^5.0.0","make-dir":"^3.1.0","node-fetch":"^2.6.1","nopt":"^5.0.0","npmlog":"^5.0.0","rimraf":"^3.0.2","semver":"^7.3.5","tar":"^6.1.8"},"devDependencies":{"eslint":"^7.32.0","eslint-config-aqua":"^9.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","prettier":"^2.3.2"},"gitHead":"a2b508da6b597462d312deed10503203db8420f1","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.4.1","_nodeVersion":"16.6.1","_npmVersion":"7.20.5","dist":{"shasum":"93c8d1dc391aef8ff116b6daa7bbeffd152f1018","size":31572,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.4.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.4.1.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.4.1_1629279629461_0.4129878988658011"},"_hasShrinkwrap":false,"publish_time":1629279629626,"_cnpm_publish_time":1629279629626,"_cnpmcore_publish_time":"2021-12-16T20:21:50.083Z","deprecated":"no longer supported"},"0.4.0":{"name":"@discordjs/node-pre-gyp","version":"0.4.0","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","https-proxy-agent":"^5.0.0","make-dir":"^3.1.0","node-fetch":"^2.6.1","nopt":"^5.0.0","npmlog":"^4.1.2","rimraf":"^3.0.2","semver":"^7.3.5","tar":"^6.1.0"},"devDependencies":{"eslint":"^7.28.0","eslint-config-aqua":"^9.0.2","eslint-config-prettier":"^8.3.0","eslint-plugin-prettier":"^3.4.0","prettier":"^2.3.1"},"gitHead":"383494a67f139492bcab8784bc83015ebbd044ea","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.4.0","_nodeVersion":"16.3.0","_npmVersion":"7.16.0","dist":{"shasum":"32740b1ff362c86a280877df9637313c7bf250ee","size":31522,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.4.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.4.0.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.4.0_1623337271821_0.940694040783723"},"_hasShrinkwrap":false,"publish_time":1623337271953,"_cnpm_publish_time":1623337271953,"_cnpmcore_publish_time":"2021-12-16T20:21:50.423Z","deprecated":"no longer supported"},"0.3.2":{"name":"@discordjs/node-pre-gyp","version":"0.3.2","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","http-proxy-agent":"^4.0.1","make-dir":"^3.1.0","node-fetch":"^2.6.1","nopt":"^5.0.0","npmlog":"^4.1.2","rimraf":"^3.0.2","semver":"^7.3.4","tar":"^6.1.0"},"devDependencies":{"@mapbox/cloudfriend":"^4.6.0","action-walk":"^2.2.0","aws-sdk":"^2.867.0","eslint":"^7.21.0","eslint-config-aqua":"^8.1.2","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","nock":"^12.0.3","node-gyp":"^7.1.2","prettier":"^2.2.1","prism-media":"^1.2.8","tape":"^5.2.2","typescript":"^4.2.3"},"gitHead":"8384989d6fab78110ac5a079736a86dc9423a388","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.3.2","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"shasum":"e882e803b2be444fb557c3b46d9bbe75a053bc9c","size":32428,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.3.2.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.3.2.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.3.2_1616156738614_0.2220031298625651"},"_hasShrinkwrap":false,"publish_time":1616156738809,"_cnpm_publish_time":1616156738809,"_cnpmcore_publish_time":"2021-12-16T20:21:50.936Z","deprecated":"no longer supported"},"0.3.1":{"name":"@discordjs/node-pre-gyp","version":"0.3.1","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","http-proxy-agent":"^4.0.1","make-dir":"^3.1.0","node-fetch":"^2.6.1","nopt":"^5.0.0","npmlog":"^4.1.2","rimraf":"^3.0.2","semver":"^7.3.4","tar":"^6.1.0"},"devDependencies":{"@mapbox/cloudfriend":"^4.6.0","action-walk":"^2.2.0","aws-sdk":"^2.867.0","eslint":"^7.21.0","eslint-config-aqua":"^8.1.2","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","nock":"^12.0.3","node-gyp":"^7.1.2","prettier":"^2.2.1","prism-media":"^1.2.8","tape":"^5.2.2","typescript":"^4.2.3"},"eslintConfig":{"extends":"aqua/prettier/node","rules":{"strict":0,"func-names":0,"no-multi-assign":0,"eqeqeq":0,"no-eq-null":0,"func-name-matching":0,"no-implicit-coercion":0,"prefer-rest-params":0,"prefer-spread":0,"no-use-before-define":0,"no-var":0,"block-scoped-var":0,"no-redeclare":0,"no-undef":0}},"gitHead":"4465db5500cf338b6f6252df31f874213f2135fd","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.3.1","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"shasum":"a2133ec96e0d926b4501ba3b8ca8e8970b038f71","size":41798,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.3.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.3.1.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.3.1_1616155830092_0.5124762695627092"},"_hasShrinkwrap":false,"publish_time":1616155830318,"_cnpm_publish_time":1616155830318,"_cnpmcore_publish_time":"2021-12-16T20:21:51.273Z","deprecated":"no longer supported"},"0.3.0":{"name":"@discordjs/node-pre-gyp","version":"0.3.0","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","mkdirp":"^0.5.5","needle":"^2.6.0","nopt":"^5.0.0","npmlog":"^4.1.2","rimraf":"^3.0.2","semver":"^7.3.4","tar":"^6.1.0"},"devDependencies":{"@mapbox/cloudfriend":"^4.6.0","action-walk":"^2.2.0","aws-sdk":"^2.867.0","eslint":"^7.21.0","eslint-config-aqua":"^8.1.2","eslint-config-prettier":"^8.1.0","eslint-plugin-prettier":"^3.3.1","nock":"^12.0.3","node-gyp":"^7.1.2","prettier":"^2.2.1","prism-media":"^1.2.8","tape":"^5.2.2","typescript":"^4.2.3"},"eslintConfig":{"extends":"aqua/prettier/node","rules":{"strict":0,"func-names":0,"no-multi-assign":0,"eqeqeq":0,"no-eq-null":0,"func-name-matching":0,"no-implicit-coercion":0,"prefer-rest-params":0,"prefer-spread":0,"no-use-before-define":0,"no-var":0,"block-scoped-var":0,"no-redeclare":0,"no-undef":0}},"gitHead":"259fc3cc534b95eb239feb9498840bdccb821fae","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.3.0","_nodeVersion":"15.11.0","_npmVersion":"7.6.0","dist":{"shasum":"c347d1a67b4c2b9d44a6d703ecb3da3584a8aa30","size":41782,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.3.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.3.0.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.3.0_1616155606682_0.2552812966568523"},"_hasShrinkwrap":false,"publish_time":1616155606857,"_cnpm_publish_time":1616155606857,"_cnpmcore_publish_time":"2021-12-16T20:21:51.537Z","deprecated":"no longer supported"},"0.2.0":{"name":"@discordjs/node-pre-gyp","version":"0.2.0","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","mkdirp":"^0.5.5","needle":"^2.6.0","nopt":"^5.0.0","npmlog":"^4.1.2","rc":"^1.2.8","rimraf":"^3.0.2","semver":"^7.3.4","tar":"^6.1.0"},"devDependencies":{"eslint":"^7.18.0","eslint-config-aqua":"^8.0.0","eslint-config-prettier":"^7.2.0","eslint-plugin-prettier":"^3.3.1","node-gyp":"^7.1.2","prettier":"^2.2.1","prism-media":"^1.2.3","typescript":"^4.1.3"},"gitHead":"d2bc03ca617abbe2a658e86783236bb430550042","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.2.0","_nodeVersion":"15.4.0","_npmVersion":"7.2.0","dist":{"shasum":"25e9bcb38cb12cc3807edf1d7502443b29082104","size":32122,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.2.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.2.0.tgz"},"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.2.0_1611492665226_0.981165152357709"},"_hasShrinkwrap":false,"publish_time":1611492665332,"_cnpm_publish_time":1611492665332,"_cnpmcore_publish_time":"2021-12-16T20:21:51.846Z","deprecated":"no longer supported"},"0.1.0":{"name":"@discordjs/node-pre-gyp","version":"0.1.0","description":"Node.js native addon binary install tool","main":"./lib/node-pre-gyp.js","bin":{"node-pre-gyp":"bin/node-pre-gyp"},"author":{"name":"Dane Springmeyer","email":"dane@mapbox.com"},"license":"BSD-3-Clause","scripts":{"lint":"eslint lib scripts test","lint:fix":"eslint lib scripts test --fix","update-crosswalk":"node scripts/abi_crosswalk.js","test":"tape test/*test.js"},"keywords":["native","addon","module","c","c++","bindings","binary"],"repository":{"type":"git","url":"git+https://github.com/discordjs/node-pre-gyp.git"},"dependencies":{"detect-libc":"^1.0.3","mkdirp":"^0.5.5","needle":"^2.4.1","nopt":"^4.0.3","npm-packlist":"^1.4.8","npmlog":"^4.1.2","rc":"^1.2.8","rimraf":"^3.0.2","semver":"^7.3.0","tar":"^6.0.2"},"devDependencies":{"eslint":"^6.8.0","eslint-config-aqua":"^7.2.3","eslint-config-prettier":"^6.11.0","eslint-plugin-prettier":"^3.1.3","nock":"^12.0.3","node-gyp":"^6.1.0","prettier":"^2.0.5","prism-media":"^1.2.1","tape":"^5.0.0","typescript":"^3.8.3"},"eslintConfig":{"extends":"aqua/prettier/node","rules":{"strict":0,"func-names":0,"no-multi-assign":0,"eqeqeq":0,"no-eq-null":0,"func-name-matching":0,"no-implicit-coercion":0,"prefer-rest-params":0,"prefer-spread":0,"no-use-before-define":0,"no-var":0,"block-scoped-var":0,"no-redeclare":0,"no-undef":0}},"gitHead":"392149606a4c7bf6bb7b32471f113151dc6b1618","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","_id":"@discordjs/node-pre-gyp@0.1.0","_nodeVersion":"14.1.0","_npmVersion":"6.14.4","dist":{"shasum":"762b3b40be8567186bd7e79084befec4738a9e89","size":33867,"noattachment":false,"key":"/@discordjs/node-pre-gyp/-/@discordjs/node-pre-gyp-0.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@discordjs/node-pre-gyp/download/@discordjs/node-pre-gyp-0.1.0.tgz"},"maintainers":[{"name":"crawl","email":""},{"name":"hydrabolt","email":""}],"_npmUser":{"name":"crawl","email":"icrawltogo@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/node-pre-gyp_0.1.0_1588377751190_0.052470943908158985"},"_hasShrinkwrap":false,"publish_time":1588377751285,"_cnpm_publish_time":1588377751285,"_cnpmcore_publish_time":"2021-12-16T20:21:52.152Z","deprecated":"no longer supported"}},"readme":"# @discordjs/node-pre-gyp ![Test](https://github.com/discordjs/node-pre-gyp/workflows/Test/badge.svg)\n\n> node-pre-gyp makes it easy to publish and install Node.js C++ addons from binaries\n\n`@discordjs/node-pre-gyp` stands between [npm](https://github.com/npm/npm) and [node-gyp](https://github.com/Tootallnate/node-gyp) and offers a cross-platform method of binary deployment.\n\n# Features\n\n- A command line tool called `node-pre-gyp` that can install your package's C++ module from a binary.\n- A variety of developer targeted commands for packaging, testing, and publishing binaries.\n- A JavaScript module that can dynamically require your installed binary: `require('@discordjs/node-pre-gyp').find`\n\nFor a hello world example of a module packaged with `node-pre-gyp` see <https://github.com/springmeyer/node-addon-example> and [the wiki ](https://github.com/mapbox/node-pre-gyp/wiki/Modules-using-node-pre-gyp) for real world examples.\n\n# Credits\n\n- The module is modeled after [node-gyp](https://github.com/Tootallnate/node-gyp) by [@Tootallnate](https://github.com/Tootallnate)\n- Motivation for initial development came from [@ErisDS](https://github.com/ErisDS) and the [Ghost Project](https://github.com/TryGhost/Ghost).\n- Development is sponsored by [Mapbox](https://www.mapbox.com/)\n\n# FAQ\n\nSee the [Frequently Ask Questions](https://github.com/mapbox/node-pre-gyp/wiki/FAQ).\n\n# Usage\n\n## Commands\n\nView all possible commands:\n\n    node-pre-gyp --help\n\n- clean - Remove the entire folder containing the compiled .node module\n- install - Install pre-built binary for module\n- reinstall - Run \"clean\" and \"install\" at once\n- build - Compile the module by dispatching to node-gyp or nw-gyp\n- rebuild - Run \"clean\" and \"build\" at once\n- package - Pack binary into tarball\n- testpackage - Test that the staged package is valid\n\nYou can also chain commands:\n\n```bash\nnode-pre-gyp clean build package\n```\n\n## Options\n\nOptions include:\n\n- `-C/--directory`: run the command in this directory\n- `--build-from-source`: build from source instead of using pre-built binary\n- `--update-binary`: reinstall by replacing previously installed local binary with remote binary\n- `--runtime=electron`: customize the runtime: `node` and `electron` are the valid options\n- `--fallback-to-build`: fallback to building from source if pre-built binary is not available\n- `--target=0.4.0`: Pass the target node or node-webkit version to compile against\n- `--target_arch=ia32`: Pass the target arch and override the host `arch`. Any value that is [supported by Node.js](https://nodejs.org/api/os.html#osarch) is valid.\n- `--target_platform=win32`: Pass the target platform and override the host `platform`. Valid values are `linux`, `darwin`, `win32`, `sunos`, `freebsd`, `openbsd`, and `aix`.\n\nBoth `--build-from-source` and `--fallback-to-build` can be passed alone or they can provide values. You can pass `--fallback-to-build=false` to override the option as declared in package.json. In addition to being able to pass `--build-from-source` you can also pass `--build-from-source=myapp` where `myapp` is the name of your module.\n\nFor example: `npm install --build-from-source=myapp`. This is useful if:\n\n- `myapp` is referenced in the package.json of a larger app and therefore `myapp` is being installed as a dependency with `npm install`.\n- The larger app also depends on other modules installed with `node-pre-gyp`\n- You only want to trigger a source compile for `myapp` and the other modules.\n\n# Configuring\n\nThis is a guide to configuring your module to use node-pre-gyp.\n\n## 1) Add new entries to your `package.json`\n\n- Add `node-pre-gyp` to `dependencies`\n- Add a custom `install` script\n- Declare a `binary` object\n\nThis looks like:\n\n```json\n\"dependencies\"  : {\n  \"@discordjs/node-pre-gyp\": \"0.1.x\"\n},\n\"scripts\": {\n  \"install\": \"node-pre-gyp install --fallback-to-build\"\n},\n\"binary\": {\n  \"module_name\": \"your_module\",\n  \"module_path\": \"./lib/binding/\",\n  \"host\": \"https://your_module.s3-us-west-1.amazonaws.com\"\n}\n```\n\nFor a full example see [node-addon-examples's package.json](https://github.com/springmeyer/node-addon-example/blob/master/package.json).\n\nLet's break this down:\n\n- Dependencies need to list `node-pre-gyp`\n- Your `scripts` section should override the `install` target with `\"install\": \"node-pre-gyp install --fallback-to-build\"`. This allows node-pre-gyp to be used instead of the default npm behavior of always source compiling with `node-gyp` directly.\n- Your package.json should contain a `binary` section describing key properties you provide to allow node-pre-gyp to package optimally. They are detailed below.\n\n### The `binary` object has three required properties\n\n### module_name\n\nThe name of your native node module. This value must:\n\n- Match the name passed to [the NODE_MODULE macro](http://nodejs.org/api/addons.html#addons_hello_world)\n- Must be a valid C variable name (e.g. it cannot contain `-`)\n- Should not include the `.node` extension.\n\n### module_path\n\nThe location your native module is placed after a build. This should be an empty directory without other Javascript files. This entire directory will be packaged in the binary tarball. When installing from a remote package this directory will be overwritten with the contents of the tarball.\n\nNote: This property supports variables based on [Versioning](#versioning).\n\n### host\n\nA url to the remote location where you've published tarball binaries (must be `https` not `http`).\n\n### remote_path\n\nIt **is recommended** that you customize this property. This is an extra path to use for publishing and finding remote tarballs. The default value for `remote_path` is `\"\"` meaning that if you do not provide it then all packages will be published at the base of the `host`. It is recommended to provide a value like `./{name}/v{version}` to help organize remote packages in the case that you choose to publish multiple node addons to the same `host`.\n\nNote: This property supports variables based on [Versioning](#versioning).\n\n### package_name\n\nIt is **not recommended** to override this property unless you are also overriding the `remote_path`. This is the versioned name of the remote tarball containing the binary `.node` module and any supporting files you've placed inside the `module_path` directory. Unless you specify `package_name` in your `package.json` then it defaults to `{module_name}-v{version}-{node_abi}-{platform}-{arch}.tar.gz` which allows your binary to work across node versions, platforms, and architectures. If you are using `remote_path` that is also versioned by `./{module_name}/v{version}` then you could remove these variables from the `package_name` and just use: `{node_abi}-{platform}-{arch}.tar.gz`. Then your remote tarball will be looked up at, for example, `https://example.com/your-module/v0.1.0/node-v11-linux-x64.tar.gz`.\n\nAvoiding the version of your module in the `package_name` and instead only embedding in a directory name can be useful when you want to make a quick tag of your module that does not change any C++ code.\n\nNote: This property supports variables based on [Versioning](#versioning).\n\n## 2) Add a new target to binding.gyp\n\n`node-pre-gyp` calls out to `node-gyp` to compile the module and passes variables along like [module_name](#module_name) and [module_path](#module_path).\n\nA new target must be added to `binding.gyp` that moves the compiled `.node` module from `./build/Release/module_name.node` into the directory specified by `module_path`.\n\nAdd a target like this at the end of your `targets` list:\n\n```json\n{\n\t\"target_name\": \"action_after_build\",\n\t\"type\": \"none\",\n\t\"dependencies\": [\"<(module_name)\"],\n\t\"copies\": [\n\t\t{\n\t\t\t\"files\": [\"<(PRODUCT_DIR)/<(module_name).node\"],\n\t\t\t\"destination\": \"<(module_path)\"\n\t\t}\n\t]\n}\n```\n\nFor a full example see [node-addon-example's binding.gyp](https://github.com/springmeyer/node-addon-example/blob/2ff60a8ded7f042864ad21db00c3a5a06cf47075/binding.gyp).\n\n## 3) Dynamically require your `.node`\n\nInside the main js file that requires your addon module you are likely currently doing:\n\n```js\nconst binding = require('../build/Release/binding.node');\n```\n\nor:\n\n```js\nconst bindings = require('./bindings');\n```\n\nChange those lines to:\n\n```js\nconst binary = require('@discordjs/node-pre-gyp');\nconst path = require('path');\nconst binding_path = binary.find(path.resolve(path.join(__dirname, './package.json')));\nconst binding = require(binding_path);\n```\n\nFor a full example see [node-addon-example's index.js](https://github.com/springmeyer/node-addon-example/blob/2ff60a8ded7f042864ad21db00c3a5a06cf47075/index.js#L1-L4)\n\n## 4) Build and package your app\n\nNow build your module from source:\n\n```bash\nnpm install --build-from-source\n```\n\nThe `--build-from-source` tells `node-pre-gyp` to not look for a remote package and instead dispatch to node-gyp to build.\n\nNow `node-pre-gyp` should now also be installed as a local dependency so the command line tool it offers can be found at `./node_modules/.bin/node-pre-gyp`.\n\n## 5) Test\n\nNow `npm test` should work just as it did before.\n\n## 6) Publish the tarball\n\nThen package your app:\n\n    ./node_modules/.bin/node-pre-gyp package\n\nOnce packaged you can also host your binaries. To do this requires:\n\n- You manually publish the binary created by the `package` command to an `https` endpoint\n- Ensure that the `host` value points to your custom `https` endpoint.\n\n## 7) You're done!\n\nNow publish your module to the npm registry. Users will now be able to install your module from a binary.\n\nWhat will happen is this:\n\n1. `npm install <your package>` will pull from the npm registry\n2. npm will run the `install` script which will call out to `node-pre-gyp`\n3. `node-pre-gyp` will fetch the binary `.node` module and unpack in the right place\n4. Assuming that all worked, you are done\n\nIf a a binary was not available for a given platform and `--fallback-to-build` was used then `node-gyp rebuild` will be called to try to source compile the module.\n\n## N-API Considerations\n\n[Node-API](https://nodejs.org/api/n-api.html#n_api_node_api), which was previously known as N-API, is an ABI-stable alternative to previous technologies such as [nan](https://github.com/nodejs/nan) which are tied to a specific Node runtime engine. Node-API is Node runtime engine agnostic and guarantees modules created today will continue to run, without changes, into the future.\n\nUsing `node-pre-gyp` with Node-API projects requires a handful of additional configuration values and imposes some additional requirements.\n\nThe most significant difference is that an Node-API module can be coded to target multiple Node-API versions. Therefore, an Node-API module must declare in its `package.json` file which Node-API versions the module is designed to run against. In addition, since multiple builds may be required for a single module, path and file names must be specified in way that avoids naming conflicts.\n\n## The `napi_versions` array property\n\nA Node-API module must declare in its `package.json` file, the Node-API versions the module is intended to support. This is accomplished by including an `napi-versions` array property in the `binary` object. For example:\n\n```json\n\"binary\": {\n  \"module_name\": \"your_module\",\n  \"module_path\": \"your_module_path\",\n  \"host\": \"https://your_bucket.s3-us-west-1.amazonaws.com\",\n  \"napi_versions\": [1,3]\n}\n```\n\nIf the `napi_versions` array property is _not_ present, `node-pre-gyp` operates as it always has. Including the `napi_versions` array property instructs `node-pre-gyp` that this is a Node-API module build.\n\nWhen the `napi_versions` array property is present, `node-pre-gyp` fires off multiple operations, one for each of the Node-API versions in the array. In the example above, two operations are initiated, one for Node-API version 1 and second for Node-API version 3. How this version number is communicated is described next.\n\n## The `napi_build_version` value\n\nFor each of the Node-API module operations `node-pre-gyp` initiates, it ensures that the `napi_build_version` is set appropriately.\n\nThis value is of importance in two areas:\n\n1. The C/C++ code which needs to know against which Node-API version it should compile.\n2. `node-pre-gyp` itself which must assign appropriate path and file names to avoid collisions.\n\n## Defining `NAPI_VERSION` for the C/C++ code\n\nThe `napi_build_version` value is communicated to the C/C++ code by adding this code to the `binding.gyp` file:\n\n```json\n\"defines\": [\n    \"NAPI_VERSION=<(napi_build_version)\",\n]\n```\n\nThis ensures that `NAPI_VERSION`, an integer value, is declared appropriately to the C/C++ code for each build.\n\n> Note that earlier versions of this document recommended defining the symbol `NAPI_BUILD_VERSION`. `NAPI_VERSION` is preferred because it used by the Node-API C/C++ headers to configure the specific Node-API versions being requested.\n\n## Path and file naming requirements in `package.json`\n\nSince `node-pre-gyp` fires off multiple operations for each request, it is essential that path and file names be created in such a way as to avoid collisions. This is accomplished by imposing additional path and file naming requirements.\n\nSpecifically, when performing Node-API builds, the `{napi_build_version}` text configuration value _must_ be present in the `module_path` property. In addition, the `{napi_build_version}` text configuration value _must_ be present in either the `remote_path` or `package_name` property. (No problem if it's in both.)\n\nHere's an example:\n\n```json\n\"binary\": {\n  \"module_name\": \"your_module\",\n  \"module_path\": \"./lib/binding/napi-v{napi_build_version}\",\n  \"remote_path\": \"./{module_name}/v{version}/{configuration}/\",\n  \"package_name\": \"{platform}-{arch}-napi-v{napi_build_version}.tar.gz\",\n  \"host\": \"https://your_bucket.s3-us-west-1.amazonaws.com\",\n  \"napi_versions\": [1,3]\n}\n```\n\n## Supporting both N-API and NAN builds\n\nYou may have a legacy native add-on that you wish to continue supporting for those versions of Node that do not support Node-API, as you add Node-API support for later Node versions. This can be accomplished by specifying the `node_napi_label` configuration value in the package.json `binary.package_name` property.\n\nPlacing the configuration value `node_napi_label` in the package.json `binary.package_name` property instructs `node-pre-gyp` to build all viable Node-API binaries supported by the current Node instance. If the current Node instance does not support Node-API, `node-pre-gyp` will request a traditional, non-Node-API build.\n\nThe configuration value `node_napi_label` is set by `node-pre-gyp` to the type of build created, `napi` or `node`, and the version number. For Node-API builds, the string contains the Node-API version nad has values like `napi-v3`. For traditional, non-Node-API builds, the string contains the ABI version with values like `node-v46`.\n\nHere's how the `binary` configuration above might be changed to support both Node-API and NAN builds:\n\n```json\n\"binary\": {\n  \"module_name\": \"your_module\",\n  \"module_path\": \"./lib/binding/{node_napi_label}\",\n  \"remote_path\": \"./{module_name}/v{version}/{configuration}/\",\n  \"package_name\": \"{platform}-{arch}-{node_napi_label}.tar.gz\",\n  \"host\": \"https://your_bucket.s3-us-west-1.amazonaws.com\",\n  \"napi_versions\": [1,3]\n}\n```\n\nThe C/C++ symbol `NAPI_VERSION` can be used to distinguish Node-API and non-Node-API builds. The value of `NAPI_VERSION` is set to the integer Node-API version for Node-API builds and is set to `0` for non-Node-API builds.\n\nFor example:\n\n```C\n#if NAPI_VERSION\n// Node-API code goes here\n#else\n// NAN code goes here\n#endif\n```\n\n## Two additional configuration values\n\nThe following two configuration values, which were implemented in previous versions of `node-pre-gyp`, continue to exist, but have been replaced by the `node_napi_label` configuration value described above.\n\n1. `napi_version` If Node-API is supported by the currently executing Node instance, this value is the Node-API version number supported by Node. If Node-API is not supported, this value is an empty string.\n\n2. `node_abi_napi` If the value returned for `napi_version` is non empty, this value is `'napi'`. If the value returned for `napi_version` is empty, this value is the value returned for `node_abi`.\n\nThese values are present for use in the `binding.gyp` file and may be used as `{napi_version}` and `{node_abi_napi}` for text substituion in the `binary` properties of the `package.json` file.\n\n# Versioning\n\nThe `binary` properties of `module_path`, `remote_path`, and `package_name` support variable substitution. The strings are evaluated by `node-pre-gyp` depending on your system and any custom build flags you passed.\n\n- `node_abi`: The node C++ `ABI` number. This value is available in Javascript as `process.versions.modules` as of [`>= v0.10.4 >= v0.11.7`](https://github.com/joyent/node/commit/ccabd4a6fa8a6eb79d29bc3bbe9fe2b6531c2d8e) and in C++ as the `NODE_MODULE_VERSION` define much earlier. For versions of Node before this was available we fallback to the V8 major and minor version.\n- `platform` matches node's `process.platform` like `linux`, `darwin`, and `win32` unless the user passed the `--target_platform` option to override.\n- `arch` matches node's `process.arch` like `x64` or `ia32` unless the user passes the `--target_arch` option to override.\n- `libc` matches `require('detect-libc').family` like `glibc` or `musl` unless the user passes the `--target_libc` option to override.\n- `libc_version` matches `require('detect-libc').version`\n- `configuration` - Either 'Release' or 'Debug' depending on if `--debug` is passed during the build.\n- `module_name` - the `binary.module_name` attribute from `package.json`.\n- `version` - the semver `version` value for your module from `package.json` (NOTE: ignores the `semver.build` property).\n- `major`, `minor`, `patch`, and `prelease` match the individual semver values for your module's `version`\n- `build` - the sevmer `build` value. For example it would be `this.that` if your package.json `version` was `v1.0.0+this.that`\n- `prerelease` - the semver `prerelease` value. For example it would be `alpha.beta` if your package.json `version` was `v1.0.0-alpha.beta`\n\nThe options are visible in the code at <https://github.com/mapbox/node-pre-gyp/blob/612b7bca2604508d881e1187614870ba19a7f0c5/lib/util/versioning.js#L114-L127>\n\n# Download binary files from a mirror\n\nS3 is broken in China for the well known reason.\n\nUsing the `npm` config argument: `--{module_name}_binary_host_mirror` can download binary files through a mirror, `-` in `module_name` will be replaced with `_`.\n\ne.g.: Install [v8-profiler](https://www.npmjs.com/package/v8-profiler) from `npm`.\n\n```bash\n$ npm install v8-profiler --profiler_binary_host_mirror=https://npm.taobao.org/mirrors/node-inspector/\n```\n\ne.g.: Install [canvas-prebuilt](https://www.npmjs.com/package/canvas-prebuilt) from `npm`.\n\n```bash\n$ npm install canvas-prebuilt --canvas_prebuilt_binary_host_mirror=https://npm.taobao.org/mirrors/canvas-prebuilt/\n```\n","_attachments":{},"homepage":"https://github.com/discordjs/node-pre-gyp#readme","bugs":{"url":"https://github.com/discordjs/node-pre-gyp/issues"},"license":"BSD-3-Clause"}