diff --git a/build/npm/v2-jf/init.js b/build/npm/v2-jf/init.js index fcfa5405f..7f939af59 100644 --- a/build/npm/v2-jf/init.js +++ b/build/npm/v2-jf/init.js @@ -30,7 +30,7 @@ function downloadWithProxy(myUrl) { method: "CONNECT", path: myUrlParts.hostname + ":443", }) - .on("connect", function (res, socket, head) { + .on("connect", function (res, socket, _) { get( { host: myUrlParts.hostname, @@ -115,7 +115,7 @@ function writeToFile(response) { }) .on("error", function (err) { console.error(err); - }); + }); } function getArchitecture() { @@ -153,4 +153,4 @@ function getFileName() { executable += ".exe"; } return executable; -} +} \ No newline at end of file diff --git a/build/npm/v2-jf/package-lock.json b/build/npm/v2-jf/package-lock.json index dc1f2b5ee..e108bcd28 100644 --- a/build/npm/v2-jf/package-lock.json +++ b/build/npm/v2-jf/package-lock.json @@ -1,5 +1,5 @@ { "name": "jfrog-cli-v2-jf", "version": "2.49.2", - "lockfileVersion": 1, + "lockfileVersion": 2, } diff --git a/build/npm/v2/bin/jfrog b/build/npm/v2/bin/jfrog old mode 100644 new mode 100755 diff --git a/build/npm/v2/init.js b/build/npm/v2/init.js index a07ace35b..12dbb34bf 100644 --- a/build/npm/v2/init.js +++ b/build/npm/v2/init.js @@ -1,70 +1,91 @@ validateNpmVersion(); -var https = require('https'); -var http = require('http'); -var url = require('url'); -var fs = require('fs'); -var packageJson = require('./package.json'); -var fileName = getFileName(); -var filePath = "bin/" + fileName; -var version = packageJson.version; -var pkgName = "jfrog-cli-" + getArchitecture(); +const {get} = require("https"); +const {request} = require("http"); +const {URL} = require("url"); +const {createWriteStream, chmodSync} = require("fs"); +const packageJson = require("./package.json"); +const fileName = getFileName(); +const filePath = "bin/" + fileName; +const version = packageJson.version; +const pkgName = "jfrog-cli-" + getArchitecture(); downloadCli(); function validateNpmVersion() { if (!isValidNpmVersion()) { - throw new Error("JFrog CLI can be installed using npm version 5.0.0 or above."); + throw new Error( + "JFrog CLI can be installed using npm version 5.0.0 or above." + ); } } function downloadWithProxy(myUrl) { - var proxyparts = url.parse(process.env.https_proxy); - var myUrlParts = url.parse(myUrl); + const proxyParts = new URL(process.env.https_proxy); + const myUrlParts = new URL(myUrl); - http.request({ - host: proxyparts.hostname, - port: proxyparts.port, - method: 'CONNECT', - path: myUrlParts.hostname + ':443' - }).on('connect', function (res, socket, head) { - https.get({ - host: myUrlParts.hostname, - socket: socket, - path: myUrlParts.path, - agent: false - }, function (res) { - if (res.statusCode == 301 || res.statusCode == 302) { - downloadWithProxy(res.headers.location); - } else if (res.statusCode == 200) { - writeToFile(res); - } else { - console.log('Unexpected status code ' + res.statusCode + ' during JFrog CLI download'); - } - }).on('error', function (err) { - console.error(err); - }); - }).end(); + request({ + host: proxyParts.hostname, + port: proxyParts.port, + method: "CONNECT", + path: myUrlParts.hostname + ":443", + }) + .on("connect", function (res, socket, _) { + get( + { + host: myUrlParts.hostname, + socket: socket, + path: myUrlParts.path, + agent: false, + }, + function (res) { + if (res.statusCode === 301 || res.statusCode === 302) { + downloadWithProxy(res.headers.location); + } else if (res.statusCode === 200) { + writeToFile(res); + } else { + console.log( + "Unexpected status code " + + res.statusCode + + " during JFrog CLI download" + ); + } + } + ).on("error", function (err) { + console.error(err); + }); + }) + .end(); } function download(url) { - https.get(url, function (res) { - if (res.statusCode == 301 || res.statusCode == 302) { + get(url, function (res) { + if (res.statusCode === 301 || res.statusCode === 302) { download(res.headers.location); - } else if (res.statusCode == 200) { + } else if (res.statusCode === 200) { writeToFile(res); } else { - console.log('Unexpected status code ' + res.statusCode + ' during JFrog CLI download'); + console.log( + "Unexpected status code " + + res.statusCode + + " during JFrog CLI download" + ); } - }).on('error', function (err) { + }).on("error", function (err) { console.error(err); }); } function downloadCli() { console.log("Downloading JFrog CLI " + version); - var startUrl = 'https://releases.jfrog.io/artifactory/jfrog-cli/v2/' + version + '/' + pkgName + '/' + fileName; - // We detect outbount proxy by looking at the environment variable + const startUrl = + "https://releases.jfrog.io/artifactory/jfrog-cli/v2/" + + version + + "/" + + pkgName + + "/" + + fileName; + // We detect outbound proxy by looking at the environment variable if (process.env.https_proxy && process.env.https_proxy.length > 0) { downloadWithProxy(startUrl); } else { @@ -73,58 +94,61 @@ function downloadCli() { } function isValidNpmVersion() { - var child_process = require('child_process'); - var npmVersionCmdOut = child_process.execSync("npm version -json"); - var npmVersion = JSON.parse(npmVersionCmdOut).npm; + const child_process = require("child_process"); + const npmVersionCmdOut = child_process.execSync("npm version -json"); + const npmVersion = JSON.parse(npmVersionCmdOut).npm; // Supported since version 5.0.0 return parseInt(npmVersion.charAt(0)) > 4; } function writeToFile(response) { - var file = fs.createWriteStream(filePath); - response.on('data', function (chunk) { - file.write(chunk); - }).on('end', function () { - file.end(); - if (!process.platform.startsWith("win")) { - fs.chmodSync(filePath, 0555); - } - }).on('error', function (err) { - console.error(err); - }); + const file = createWriteStream(filePath); + response + .on("data", function (chunk) { + file.write(chunk); + }) + .on("end", function () { + file.end(); + if (!process.platform.startsWith("win")) { + chmodSync(filePath, 755); + } + }) + .on("error", function (err) { + console.error(err); + }); } function getArchitecture() { const platform = process.platform; - if (platform.startsWith('win')) { + if (platform.startsWith("win")) { // Windows architecture: - return 'windows-amd64'; + return "windows-amd64"; } const arch = process.arch; - if (platform.includes('darwin')) { + if (platform.includes("darwin")) { // macOS architecture: - return arch === 'arm64' ? 'mac-arm64' : 'mac-386'; + return arch === "arm64" ? "mac-arm64" : "mac-386"; } // linux architecture: switch (arch) { - case 'x64': - return 'linux-amd64'; - case 'arm64': - return 'linux-arm64'; - case 'arm': - return 'linux-arm'; - case 's390x': - return 'linux-s390x'; - case 'ppc64': - return 'linux-ppc64'; + case "x64": + return "linux-amd64"; + case "arm64": + return "linux-arm64"; + case "arm": + return "linux-arm"; + case "s390x": + return "linux-s390x"; + case "ppc64": + return "linux-ppc64"; default: - return 'linux-386'; + return "linux-386"; } } function getFileName() { - var executable = "jfrog"; + let executable = "jfrog"; if (process.platform.startsWith("win")) { executable += ".exe"; } diff --git a/build/npm/v2/package-lock.json b/build/npm/v2/package-lock.json index 11ea6d8f7..f7ba33a94 100644 --- a/build/npm/v2/package-lock.json +++ b/build/npm/v2/package-lock.json @@ -1,5 +1,5 @@ { "name": "jfrog-cli-v2", "version": "2.49.2", - "lockfileVersion": 1, + "lockfileVersion": 2, }