diff --git a/.nvmrc b/.nvmrc index b6b41bda00..6e907bd313 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -16.17 +18.15 diff --git a/package-lock.json b/package-lock.json index 72abbf6f98..5fd8ea3707 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,17 +14,16 @@ "@azure/storage-blob": "^12.14.0", "@microsoft/compose-language-service": "^0.2.0", "@microsoft/vscode-azext-azureappservice": "~2.0", - "@microsoft/vscode-azext-azureauth": "^1.3.0", + "@microsoft/vscode-azext-azureauth": "^1.4.0", "@microsoft/vscode-azext-azureutils": "^2.0.0", "@microsoft/vscode-azext-utils": "^2.1.1", "@microsoft/vscode-container-client": "^0.1.1", - "@microsoft/vscode-docker-registries": "^0.1.7", + "@microsoft/vscode-docker-registries": "^0.1.8", "dayjs": "^1.11.7", "dockerfile-language-server-nodejs": "^0.11.0", "fs-extra": "^11.1.1", "gradle-to-js": "^2.0.1", "handlebars": "^4.7.7", - "node-fetch": "^2.6.9", "semver": "^7.5.2", "tar": "^6.1.13", "vscode-languageclient": "^8.1.0", @@ -36,10 +35,9 @@ "@types/fs-extra": "^11.0.1", "@types/glob": "^7.2.0", "@types/mocha": "^10.0.1", - "@types/node": "^16.18.24", - "@types/node-fetch": "^2.6.3", + "@types/node": "18.x", "@types/semver": "^7.3.13", - "@types/vscode": "1.75.0", + "@types/vscode": "1.82.0", "@types/xml2js": "^0.4.11", "@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/parser": "^5.59.0", @@ -59,7 +57,7 @@ "webpack-cli": "^5.0.1" }, "engines": { - "vscode": "^1.75.0" + "vscode": "^1.82.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -733,13 +731,12 @@ } }, "node_modules/@microsoft/vscode-azext-azureauth": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-azureauth/-/vscode-azext-azureauth-1.3.0.tgz", - "integrity": "sha512-4iLqfEiwdqRyg/FWYOg88udi4nxY+/ytVrq3KEoPyCzFyFvt27HtjF8u8IYFqo1IhajDQVVJ2Vd++OpXt0lTfA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-azext-azureauth/-/vscode-azext-azureauth-1.4.0.tgz", + "integrity": "sha512-lUFSJPyVJ1E1Fsa3rWm368zIRudS9SNcnXyLgWI/INNfK4sFZ622K8TpvF+93Lht/JI6K2R7+EUZ1El7/gzeUA==", "dependencies": { "@azure/arm-subscriptions": "^5.1.0", - "@azure/ms-rest-azure-env": "^2.0.0", - "cross-fetch": "^4.0.0" + "@azure/ms-rest-azure-env": "^2.0.0" } }, "node_modules/@microsoft/vscode-azext-azureutils": { @@ -813,12 +810,11 @@ } }, "node_modules/@microsoft/vscode-docker-registries": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@microsoft/vscode-docker-registries/-/vscode-docker-registries-0.1.7.tgz", - "integrity": "sha512-oMyUXCwwb3EKO/VBUEx6aDnd8mCJV+tIKNGddwaR++KLmRUSJn9aZLoseFeccjl2bpt1za5tW9SWt8PJiUFKoA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@microsoft/vscode-docker-registries/-/vscode-docker-registries-0.1.8.tgz", + "integrity": "sha512-GZ6mINW4aesBCFArQc4Qum60rS6I0NdgPJj5piZiIZgNIzKToc9rB2WQY/v/dTf8+WrVgR6n46hoV537r7LPXw==", "dependencies": { - "dayjs": "^1.11.7", - "node-fetch": "^2.6.11" + "dayjs": "^1.11.7" } }, "node_modules/@nodelib/fs.scandir": { @@ -975,9 +971,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.18.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.24.tgz", - "integrity": "sha512-zvSN2Esek1aeLdKDYuntKAYjti9Z2oT4I8bfkLLhIxHlv3dwZ5vvATxOc31820iYm4hQRCwjUgDpwSMFjfTUnw==" + "version": "18.18.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.18.9.tgz", + "integrity": "sha512-0f5klcuImLnG4Qreu9hPj/rEfFq6YRc5n2mAjSsH+ec/mJL+3voBH0+8T7o8RpFjH7ovc+TRsL/c7OYIQsPTfQ==", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/node-fetch": { "version": "2.6.3", @@ -1016,9 +1015,9 @@ } }, "node_modules/@types/vscode": { - "version": "1.75.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.75.0.tgz", - "integrity": "sha512-SAr0PoOhJS6FUq5LjNr8C/StBKALZwDVm3+U4pjF/3iYkt3GioJOPV/oB1Sf1l7lROe4TgrMyL5N1yaEgTWycw==", + "version": "1.82.0", + "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.82.0.tgz", + "integrity": "sha512-VSHV+VnpF8DEm8LNrn8OJ8VuUNcBzN3tMvKrNpbhhfuVjFm82+6v44AbDhLvVFgCzn6vs94EJNTp7w8S6+Q1Rw==", "dev": true }, "node_modules/@types/xml2js": { @@ -2252,14 +2251,6 @@ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", "dev": true }, - "node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -6149,6 +6140,11 @@ "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", "dev": true }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, "node_modules/universalify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", diff --git a/package.json b/package.json index 789db6e0d5..a49085f048 100644 --- a/package.json +++ b/package.json @@ -2929,7 +2929,7 @@ ] }, "engines": { - "vscode": "^1.75.0" + "vscode": "^1.82.0" }, "capabilities": { "virtualWorkspaces": false, @@ -2971,10 +2971,9 @@ "@types/fs-extra": "^11.0.1", "@types/glob": "^7.2.0", "@types/mocha": "^10.0.1", - "@types/node": "^16.18.24", - "@types/node-fetch": "^2.6.3", + "@types/node": "18.x", "@types/semver": "^7.3.13", - "@types/vscode": "1.75.0", + "@types/vscode": "1.82.0", "@types/xml2js": "^0.4.11", "@typescript-eslint/eslint-plugin": "^5.59.0", "@typescript-eslint/parser": "^5.59.0", @@ -2999,17 +2998,16 @@ "@azure/storage-blob": "^12.14.0", "@microsoft/compose-language-service": "^0.2.0", "@microsoft/vscode-azext-azureappservice": "~2.0", - "@microsoft/vscode-azext-azureauth": "^1.3.0", + "@microsoft/vscode-azext-azureauth": "^1.4.0", "@microsoft/vscode-azext-azureutils": "^2.0.0", "@microsoft/vscode-azext-utils": "^2.1.1", "@microsoft/vscode-container-client": "^0.1.1", - "@microsoft/vscode-docker-registries": "^0.1.7", + "@microsoft/vscode-docker-registries": "^0.1.8", "dayjs": "^1.11.7", "dockerfile-language-server-nodejs": "^0.11.0", "fs-extra": "^11.1.1", "gradle-to-js": "^2.0.1", "handlebars": "^4.7.7", - "node-fetch": "^2.6.9", "semver": "^7.5.2", "tar": "^6.1.13", "vscode-languageclient": "^8.1.0", diff --git a/src/utils/httpRequest.ts b/src/utils/httpRequest.ts index 38d6a28253..bf8117ec0a 100644 --- a/src/utils/httpRequest.ts +++ b/src/utils/httpRequest.ts @@ -4,7 +4,6 @@ *--------------------------------------------------------------------------------------------*/ import * as fse from 'fs-extra'; -import { default as fetch, Request, RequestInit, Response } from 'node-fetch'; import { URL, URLSearchParams } from 'url'; import { l10n } from 'vscode'; @@ -133,7 +132,10 @@ export interface ResponseLike { export async function streamToFile(downloadUrl: string, fileName: string): Promise { const response = await fetch(downloadUrl); const writeStream = fse.createWriteStream(fileName); - response.body.pipe(writeStream); + + for await (const chunk of response.body) { + writeStream.write(chunk); + } return new Promise((resolve, reject) => { writeStream.on('close', () => {