diff --git a/config/utils.js b/config/utils.js index a5a6fe28..078ce7c7 100644 --- a/config/utils.js +++ b/config/utils.js @@ -8,11 +8,9 @@ const exec = require("gulp-exec"); const dateformat = require("dateformat"); const orderedStreams = require("ordered-read-streams"); const gulpRename = require("gulp-rename"); -const gulpDownload = require("gulp-download"); const map = require("map-stream"); const { globSync: glob } = require("glob"); const sonarqubeScanner = require("sonarqube-scanner").default; -const collect = require("gulp-collect"); const Vinyl = require("vinyl"); const { resolveRelativePath, SOURCE_DIR, DIST_DIR, BUILD_DIR } = require("./paths"); @@ -41,16 +39,6 @@ function run(cl, options = {}) { } exports.run = run; -// Return a stream that downloads the file if urlOrPath is a link, or copies it otherwise (if it is a relaitve path) -function downloadOrCopy(urlOrPath) { - if (urlOrPath.startsWith("http")) { - return gulpDownload(urlOrPath); - } else { - return gulp.src(urlOrPath); - } -} -exports.downloadOrCopy = downloadOrCopy; - function npmInstall(packagePath) { const cwd = process.cwd(); run(`cd ${path.dirname(packagePath)} && npm install && cd ${cwd}`); diff --git a/gulpfile.js b/gulpfile.js index 5b3dd436..2919c70b 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,6 +1,7 @@ const { rimraf } = require("rimraf"); const path = require("path"); const gulp = require("gulp"); +const log = require("fancy-log"); const gulpFile = require("gulp-file"); const fs = require("fs-extra"); const yargs = require("yargs"); @@ -8,11 +9,12 @@ const gulpJsonEditor = require("gulp-json-editor"); const gulpRename = require("gulp-rename"); const gulpArtifactoryUpload = require("gulp-artifactory-upload"); const ts = require("gulp-typescript"); -const gulpUtil = require("gulp-util"); const { globSync: glob } = require("glob"); +const { Readable } = require("stream"); +const { finished } = require("stream/promises"); const orderedStreams = require("ordered-read-streams"); const typescript = require("typescript"); -const decompress = require("gulp-decompress"); +const decompress = require("decompress"); const needle = require("needle"); const esbuild = require("esbuild"); const { @@ -31,7 +33,6 @@ const { getBuildInfo, npmInstallTask, cycloneDxPipe, - downloadOrCopy, getVersionWithCirrusBuildNumber, run, runSonarQubeScanner, @@ -123,44 +124,37 @@ gulp.task("build:bundle", async () => { /** * Build all scanners needed by tasks */ -gulp.task("build:download-scanners", () => { +gulp.task("build:download-scanners", async () => { + async function downloadScanner(url, outDir) { + await fs.mkdirp(outDir); + const outPath = path.join(outDir, url.match(/[^/]+$/)[0]); + const stream = fs.createWriteStream(outPath); + const { body } = await fetch(url); + await finished(Readable.fromWeb(body).pipe(stream)); + await decompress(outPath, outDir); + } + const configJss = glob([path.join(BUILD_TS_DIR, "common", "*", "config.js")]); - const streams = []; for (const configJs of configJss) { // eslint-disable-next-line import/no-dynamic-require const { scanner } = require(configJs); - streams.push( - downloadOrCopy(scanner.classicUrl) - .pipe(decompress()) - .pipe( - gulp.dest( - path.join(BUILD_SCANNER_DIR, BUILD_SCANNER_NET_FRAMEWORK_DIRNAME, scanner.cliVersion), - ), - ), + await downloadScanner( + scanner.cliUrl, + path.join(BUILD_SCANNER_DIR, BUILD_SCANNER_NET_FRAMEWORK_DIRNAME, scanner.cliVersion), ); - streams.push( - downloadOrCopy(scanner.dotnetUrl) - .pipe(decompress()) - .pipe( - gulp.dest( - path.join(BUILD_SCANNER_DIR, BUILD_SCANNER_NET_DOTNET_DIRNAME, scanner.msBuildVersion), - ), - ), + await downloadScanner( + scanner.dotnetUrl, + path.join(BUILD_SCANNER_DIR, BUILD_SCANNER_NET_DOTNET_DIRNAME, scanner.msBuildVersion), ); if (scanner.cliUrl) { - streams.push( - downloadOrCopy(scanner.cliUrl) - .pipe(decompress()) - .pipe( - gulp.dest(path.join(BUILD_SCANNER_DIR, BUILD_SCANNER_CLI_DIRNAME, scanner.cliVersion)), - ), + await downloadScanner( + scanner.cliUrl, + path.join(BUILD_SCANNER_DIR, BUILD_SCANNER_CLI_DIRNAME, scanner.cliVersion), ); } } - - return orderedStreams(streams); }); /** @@ -502,12 +496,12 @@ gulp.task("upload:cyclonedx", () => { gulp.task("upload:vsix:sonarqube", () => { if (process.env.CIRRUS_BRANCH !== "master" && !process.env.CIRRUS_PR) { - gulpUtil.log("Not on master nor PR, skip upload:vsix"); - return gulpUtil.noop; + log("Not on master nor PR, skip upload:vsix"); + return Promise.resolve(); } if (process.env.CIRRUS_PR && process.env.DEPLOY_PULL_REQUEST === "false") { - gulpUtil.log("On PR, but artifacts should not be deployed, skip upload:vsix"); - return gulpUtil.noop; + log("On PR, but artifacts should not be deployed, skip upload:vsix"); + return Promise.resolve(); } const name = `${packageJSON.name}-sq`; @@ -554,19 +548,19 @@ gulp.task("upload:vsix:sonarqube", () => { }, }), ) - .on("error", gulpUtil.log); + .on("error", log); }), ); }); gulp.task("upload:vsix:sonarcloud", () => { if (process.env.CIRRUS_BRANCH !== "master" && !process.env.CIRRUS_PR) { - gulpUtil.log("Not on master nor PR, skip upload:vsix"); - return gulpUtil.noop; + log("Not on master nor PR, skip upload:vsix"); + return Promise.resolve(); } if (process.env.CIRRUS_PR && process.env.DEPLOY_PULL_REQUEST === "false") { - gulpUtil.log("On PR, but artifacts should not be deployed, skip upload:vsix"); - return gulpUtil.noop; + log("On PR, but artifacts should not be deployed, skip upload:vsix"); + return Promise.resolve(); } const name = `${packageJSON.name}-sc`; @@ -613,18 +607,18 @@ gulp.task("upload:vsix:sonarcloud", () => { }, }), ) - .on("error", gulpUtil.log); + .on("error", log); }), ); }); gulp.task("upload:buildinfo", async () => { if (process.env.CIRRUS_BRANCH !== "master" && !process.env.CIRRUS_PR) { - gulpUtil.log("Not on master nor PR, skip upload:buildinfo"); + log("Not on master nor PR, skip upload:buildinfo"); return; } if (process.env.CIRRUS_PR && process.env.DEPLOY_PULL_REQUEST === "false") { - gulpUtil.log("On PR, but artifacts should not be deployed, skip upload:buildinfo"); + log("On PR, but artifacts should not be deployed, skip upload:buildinfo"); return; } @@ -662,7 +656,7 @@ gulp.task( gulp.task("promote", async () => { if (process.env.CIRRUS_BRANCH !== "master" && !process.env.CIRRUS_PR) { - gulpUtil.log("Not on master nor PR, skip promote"); + log("Not on master nor PR, skip promote"); return; } diff --git a/package-lock.json b/package-lock.json index cb70b3f7..e6719d77 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,23 +17,21 @@ "@types/yargs": "17.0.33", "@typescript-eslint/parser": "8.1.0", "dateformat": "4.6.3", + "decompress": "4.2.1", "esbuild": "0.23.0", "eslint": "8.57.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-promise": "7.1.0", + "fancy-log": "2.0.0", "fs-extra": "11.2.0", "glob": "11.0.0", "gulp": "5.0.0", "gulp-artifactory-upload": "1.4.0", - "gulp-collect": "0.1.0", - "gulp-decompress": "3.0.0", - "gulp-download": "0.0.1", "gulp-exec": "5.0.0", "gulp-file": "0.4.0", "gulp-json-editor": "2.6.0", "gulp-rename": "2.0.0", "gulp-typescript": "5.0.1", - "gulp-util": "3.0.8", "jest": "29.7.0", "jest-when": "3.6.0", "map-stream": "0.1.0", @@ -612,6 +610,29 @@ "dev": true, "optional": true }, + "node_modules/@cyclonedx/cyclonedx-library/node_modules/libxmljs2": { + "version": "0.33.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/libxmljs2/-/libxmljs2-0.33.0.tgz", + "integrity": "sha512-Hw74f2/3rbpxc6tkTqe3yrs4v2Tx0rEukrYxaNkXSVKK540i2eqlQxzf1jjG+RlwMuv66WxkkuZHM/OQq6km4w==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "bindings": "~1.5.0", + "nan": "~2.18.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@cyclonedx/cyclonedx-library/node_modules/nan": { + "version": "2.18.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/nan/-/nan-2.18.0.tgz", + "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", + "dev": true, + "optional": true + }, "node_modules/@cyclonedx/cyclonedx-npm": { "version": "1.19.3", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/@cyclonedx/cyclonedx-npm/-/cyclonedx-npm-1.19.3.tgz", @@ -1935,6 +1956,19 @@ "node-pre-gyp": "bin/node-pre-gyp" } }, + "node_modules/@mapbox/node-pre-gyp/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, "node_modules/@mapbox/node-pre-gyp/node_modules/glob": { "version": "7.2.3", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/glob/-/glob-7.2.3.tgz", @@ -1954,6 +1988,20 @@ "node": "*" } }, + "node_modules/@mapbox/node-pre-gyp/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "optional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/@mapbox/node-pre-gyp/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/make-dir/-/make-dir-3.1.0.tgz", @@ -2400,8 +2448,9 @@ }, "node_modules/abbrev": { "version": "1.1.1", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true, - "license": "ISC", "optional": true }, "node_modules/acorn": { @@ -2434,19 +2483,6 @@ "node": ">=6.0" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "optional": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "dev": true, @@ -2543,8 +2579,9 @@ }, "node_modules/ansi-gray": { "version": "0.1.1", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", "dev": true, - "license": "MIT", "dependencies": { "ansi-wrap": "0.1.0" }, @@ -2552,22 +2589,6 @@ "node": ">=0.10.0" } }, - "node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansi-styles": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ansi-wrap": { "version": "0.1.0", "dev": true, @@ -2626,17 +2647,6 @@ "dev": true, "license": "MIT" }, - "node_modules/archive-type": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "file-type": "^4.2.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/archiver": { "version": "2.0.3", "dev": true, @@ -2782,14 +2792,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array-differ": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array-each": { "version": "1.0.1", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/array-each/-/array-each-1.0.1.tgz", @@ -2835,14 +2837,6 @@ "node": ">=8" } }, - "node_modules/array-uniq": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/array.prototype.findlastindex": { "version": "1.2.3", "dev": true, @@ -3018,31 +3012,6 @@ "dev": true, "license": "MIT" }, - "node_modules/axios": { - "version": "1.6.8", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/axios/-/axios-1.6.8.tgz", - "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/azure-devops-node-api": { "version": "10.2.2", "dev": true, @@ -3259,14 +3228,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/beeper": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -3372,12 +3333,13 @@ } }, "node_modules/buffer": { - "version": "5.2.1", + "version": "5.7.1", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "license": "MIT", "dependencies": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, "node_modules/buffer-alloc": { @@ -4054,8 +4016,9 @@ }, "node_modules/decompress": { "version": "4.2.1", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/decompress/-/decompress-4.2.1.tgz", + "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", "dev": true, - "license": "MIT", "dependencies": { "decompress-tar": "^4.0.0", "decompress-tarbz2": "^4.0.0", @@ -4325,35 +4288,6 @@ "node": ">=6.0.0" } }, - "node_modules/duplexer2": { - "version": "0.0.2", - "dev": true, - "license": "BSD", - "dependencies": { - "readable-stream": "~1.1.9" - } - }, - "node_modules/duplexer2/node_modules/isarray": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/duplexer2/node_modules/readable-stream": { - "version": "1.1.14", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/duplexer2/node_modules/string_decoder": { - "version": "0.10.31", - "dev": true, - "license": "MIT" - }, "node_modules/duplexify": { "version": "3.7.1", "dev": true, @@ -4486,6 +4420,17 @@ "dev": true, "license": "MIT" }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, "node_modules/end-of-stream": { "version": "1.4.4", "dev": true, @@ -5328,17 +5273,15 @@ } }, "node_modules/fancy-log": { - "version": "1.3.3", + "version": "2.0.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" + "color-support": "^1.1.3" }, "engines": { - "node": ">= 0.10" + "node": ">=10.13.0" } }, "node_modules/fast-deep-equal": { @@ -5453,14 +5396,6 @@ "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/file-type": { - "version": "4.4.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/file-uri-to-path": { "version": "1.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", @@ -5808,39 +5743,6 @@ "node": ">=14.14" } }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "optional": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/fs-minipass/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "optional": true - }, "node_modules/fs-mkdirp-stream": { "version": "1.0.0", "dev": true, @@ -6241,17 +6143,6 @@ "node": ">=10" } }, - "node_modules/glogg": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "sparkles": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/gopd": { "version": "1.0.1", "dev": true, @@ -6310,6 +6201,21 @@ "node": ">= 0.10.0" } }, + "node_modules/gulp-artifactory-upload/node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "dev": true, + "dependencies": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/gulp-artifactory-upload/node_modules/isarray": { "version": "0.0.1", "dev": true, @@ -6474,94 +6380,22 @@ "node": ">=10" } }, - "node_modules/gulp-collect": { - "version": "0.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/gulp-decompress": { - "version": "3.0.0", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/gulp-decompress/-/gulp-decompress-3.0.0.tgz", - "integrity": "sha512-F7plBXKgjS2yBWRNqhLnPR5peOWbmKU1dTUHgUSATo4/Eet9FJC55S0mc13S+WptNvEx0cR8DMlFU7zGZJuYDQ==", + "node_modules/gulp-exec": { + "version": "5.0.0", "dev": true, + "license": "MIT", "dependencies": { - "archive-type": "^4.0.0", - "decompress": "^4.0.0", "plugin-error": "^1.0.1", - "readable-stream": "^3.4.0", - "vinyl": "^2.1.0" - }, - "engines": { - "node": ">=10" + "through2": "^3.0.1" } }, - "node_modules/gulp-decompress/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/gulp-exec/node_modules/through2": { + "version": "3.0.2", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/gulp-decompress/node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-decompress/node_modules/vinyl": { - "version": "2.2.1", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/vinyl/-/vinyl-2.2.1.tgz", - "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", - "dev": true, - "dependencies": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/gulp-download": { - "version": "0.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "gulp-util": "latest", - "request": "latest", - "request-progress": "latest", - "through": "latest" - } - }, - "node_modules/gulp-exec": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "plugin-error": "^1.0.1", - "through2": "^3.0.1" - } - }, - "node_modules/gulp-exec/node_modules/through2": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "inherits": "^2.0.4", + "readable-stream": "2 || 3" } }, "node_modules/gulp-file": { @@ -6751,113 +6585,6 @@ "node": ">= 0.10" } }, - "node_modules/gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha512-q5oWPc12lwSFS9h/4VIjG+1NuNDlJ48ywV2JKItY4Ycc/n1fXJeYPVQsfu5ZrhQi7FGSDBalwUCLar/GyHXKGw==", - "deprecated": "gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5", - "dev": true, - "dependencies": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/gulp-util/node_modules/chalk": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-util/node_modules/clone": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/gulp-util/node_modules/clone-stats": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/gulp-util/node_modules/dateformat": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/gulp-util/node_modules/object-assign": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-util/node_modules/strip-ansi": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gulp-util/node_modules/through2": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/gulp-util/node_modules/vinyl": { - "version": "0.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - }, - "engines": { - "node": ">= 0.9" - } - }, "node_modules/gulp/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -7025,17 +6752,6 @@ "node": ">=10.13.0" } }, - "node_modules/gulplog": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "glogg": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/har-schema": { "version": "2.0.0", "dev": true, @@ -7075,17 +6791,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "dev": true, @@ -7102,17 +6807,6 @@ "node": ">=8" } }, - "node_modules/has-gulplog": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "sparkles": "^1.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/has-property-descriptors": { "version": "1.0.0", "dev": true, @@ -7219,20 +6913,6 @@ "npm": ">=1.3.7" } }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dev": true, - "optional": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/human-signals": { "version": "2.1.0", "dev": true, @@ -9333,29 +9013,6 @@ "node": ">=6" } }, - "node_modules/libxmljs2": { - "version": "0.33.0", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/libxmljs2/-/libxmljs2-0.33.0.tgz", - "integrity": "sha512-Hw74f2/3rbpxc6tkTqe3yrs4v2Tx0rEukrYxaNkXSVKK540i2eqlQxzf1jjG+RlwMuv66WxkkuZHM/OQq6km4w==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.11", - "bindings": "~1.5.0", - "nan": "~2.18.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/libxmljs2/node_modules/nan": { - "version": "2.18.0", - "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/nan/-/nan-2.18.0.tgz", - "integrity": "sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==", - "dev": true, - "optional": true - }, "node_modules/lie": { "version": "3.3.0", "dev": true, @@ -9427,79 +9084,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash._basecopy": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._basetostring": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._basevalues": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._getnative": { - "version": "3.9.1", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._isiterateecall": { - "version": "3.0.9", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._reescape": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._reevaluate": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._reinterpolate": { - "version": "3.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash._root": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.escape": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._root": "^3.0.0" - } - }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.isarray": { - "version": "3.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.keys": { - "version": "3.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, "node_modules/lodash.memoize": { "version": "4.1.2", "dev": true, @@ -9510,36 +9094,6 @@ "dev": true, "license": "MIT" }, - "node_modules/lodash.restparam": { - "version": "3.6.1", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.template": { - "version": "3.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "node_modules/lodash.templatesettings": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - }, "node_modules/lru-cache": { "version": "4.1.5", "dev": true, @@ -10027,14 +9581,6 @@ "dev": true, "license": "MIT" }, - "node_modules/multipipe": { - "version": "0.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer2": "0.0.2" - } - }, "node_modules/mute-stdout": { "version": "2.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/mute-stdout/-/mute-stdout-2.0.0.tgz", @@ -10508,8 +10054,9 @@ }, "node_modules/parse-node-version": { "version": "1.0.1", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } @@ -11059,13 +10606,6 @@ "dev": true, "license": "ISC" }, - "node_modules/replace-ext": { - "version": "0.0.1", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/replace-homedir": { "version": "2.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/replace-homedir/-/replace-homedir-2.0.0.tgz", @@ -11107,13 +10647,17 @@ "node": ">= 6" } }, - "node_modules/request-progress": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", - "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "node_modules/request/node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", "dev": true, "dependencies": { - "throttleit": "^1.0.0" + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" } }, "node_modules/require-directory": { @@ -11372,8 +10916,9 @@ }, "node_modules/set-blocking": { "version": "2.0.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "dev": true, - "license": "ISC", "optional": true }, "node_modules/set-function-name": { @@ -11526,6 +11071,17 @@ "node": ">= 18" } }, + "node_modules/sonarqube-scanner/node_modules/axios": { + "version": "1.6.8", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/sonarqube-scanner/node_modules/commander": { "version": "12.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/commander/-/commander-12.0.0.tgz", @@ -11535,6 +11091,20 @@ "node": ">=18" } }, + "node_modules/sonarqube-scanner/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/sonarqube-scanner/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/lru-cache/-/lru-cache-6.0.0.tgz", @@ -11605,14 +11175,6 @@ "node": ">=0.10.0" } }, - "node_modules/sparkles": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, "node_modules/spdx-correct": { "version": "3.1.0", "dev": true, @@ -11928,14 +11490,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "dev": true, @@ -12001,6 +11555,32 @@ "node": ">= 0.8.0" } }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "optional": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/yallist/-/yallist-4.0.0.tgz", @@ -12126,11 +11706,6 @@ "node": ">=0.4.0" } }, - "node_modules/throttleit": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -12178,8 +11753,9 @@ }, "node_modules/time-stamp": { "version": "1.1.0", + "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -12254,18 +11830,6 @@ "xtend": "~4.0.1" } }, - "node_modules/tough-cookie": { - "version": "2.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://repox.jfrog.io/artifactory/api/npm/npm/tr46/-/tr46-0.0.3.tgz", diff --git a/package.json b/package.json index fd8eb062..fd84f311 100644 --- a/package.json +++ b/package.json @@ -31,23 +31,21 @@ "@types/yargs": "17.0.33", "@typescript-eslint/parser": "8.1.0", "dateformat": "4.6.3", + "decompress": "4.2.1", "esbuild": "0.23.0", "eslint": "8.57.0", "eslint-plugin-import": "2.29.1", "eslint-plugin-promise": "7.1.0", + "fancy-log": "2.0.0", "fs-extra": "11.2.0", "glob": "11.0.0", "gulp": "5.0.0", "gulp-artifactory-upload": "1.4.0", - "gulp-collect": "0.1.0", - "gulp-decompress": "3.0.0", - "gulp-download": "0.0.1", "gulp-exec": "5.0.0", "gulp-file": "0.4.0", "gulp-json-editor": "2.6.0", "gulp-rename": "2.0.0", "gulp-typescript": "5.0.1", - "gulp-util": "3.0.8", "jest": "29.7.0", "jest-when": "3.6.0", "map-stream": "0.1.0",