Skip to content

Commit

Permalink
switch to node-fetch-native
Browse files Browse the repository at this point in the history
  • Loading branch information
benmccann committed Dec 9, 2024
1 parent bd7cf69 commit 8381a1f
Show file tree
Hide file tree
Showing 4 changed files with 96 additions and 44 deletions.
10 changes: 5 additions & 5 deletions lib/install.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ const existsAsync = fs.exists || path.exists;
const versioning = require('./util/versioning.js');
const napi = require('./util/napi.js');
// for fetching binaries
const fetch = require('node-fetch');
const { fetch } = require('node-fetch-native');
const { createProxy } = require('node-fetch-native/proxy');
const tar = require('tar');

let npgVersion = 'unknown';
Expand Down Expand Up @@ -53,14 +54,13 @@ function place_binary(uri, targetDir, opts, callback) {
process.env.http_proxy ||
process.env.HTTP_PROXY ||
process.env.npm_config_proxy;
let agent;
let proxy;
if (proxyUrl) {
const { HttpsProxyAgent } = require('https-proxy-agent');
agent = new HttpsProxyAgent(proxyUrl);
proxy = createProxy({ url: proxyUrl });
log.log('download', `proxy agent configured using: "${proxyUrl}"`);
}

fetch(sanitized, { agent })
fetch(sanitized, { ...proxy })
.then((res) => {
if (!res.ok) {
throw new Error(`response status ${res.status} ${res.statusText} on ${sanitized}`);
Expand Down
116 changes: 83 additions & 33 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
"dependencies": {
"consola": "^3.2.3",
"detect-libc": "^2.0.0",
"https-proxy-agent": "^7.0.5",
"node-fetch": "^2.6.7",
"node-fetch-native": "^1.6.4",
"nopt": "^8.0.0",
"semver": "^7.5.3",
"tar": "^7.4.0"
Expand All @@ -39,7 +38,7 @@
"eslint": "^8.57.0",
"eslint-plugin-n": "^17.9.0",
"mock-aws-s3": "^4.0.2",
"nock": "^13.5.4",
"nock": "^14.0.0-beta.19",
"node-addon-api": "^8.1.0",
"nyc": "^17.0.0",
"tape": "^5.5.2",
Expand Down
9 changes: 6 additions & 3 deletions test/proxy-bcrypt.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ const { createUnzip } = require('zlib');
const os = require('os');

const tar = require('tar-fs');
const { HttpsProxyAgent } = require('https-proxy-agent');
const fetch = require('node-fetch');
const { fetch } = require('node-fetch-native');
const { createProxy } = require('node-fetch-native/proxy');
const { rimraf } = require('rimraf');

const test = require('tape');
Expand Down Expand Up @@ -44,7 +44,10 @@ test('setup proxy server', (t) => {
proxy.startServer({ port: proxyPort });
process.env.https_proxy = process.env.http_proxy = proxyServer;

options.agent = new HttpsProxyAgent(proxyServer);
options = {

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (18.x, macos-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (18.x, ubuntu-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (18.x, windows-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (20.x, macos-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (20.x, ubuntu-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (20.x, windows-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (22.x, macos-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (22.x, ubuntu-latest)

'options' is constant

Check failure on line 47 in test/proxy-bcrypt.test.js

View workflow job for this annotation

GitHub Actions / ci (22.x, windows-latest)

'options' is constant
options,
...createProxy({ url: proxyServer })
};

// make sure the download directory deleted then create an empty one
rimraf(downloadDir).then(() => {
Expand Down

0 comments on commit 8381a1f

Please sign in to comment.