diff --git a/ci/azure-pipelines-extensions.yml b/ci/azure-pipelines-extensions.yml index 745cf42bf..19481ce1a 100644 --- a/ci/azure-pipelines-extensions.yml +++ b/ci/azure-pipelines-extensions.yml @@ -79,13 +79,13 @@ extends: failOnStderr: true displayName: 'Code Checks' - task: NodeTool@0 - displayName: 'Use Node 10.24.1' + displayName: 'Use Node 20.x' inputs: - versionSpec: 10.24.1 + versionSpec: 20.x - powershell: 'node getUpdatedPaths.js' displayName: 'PowerShell Script' - task: Npm@1 - displayName: 'npm install' + displayName: 'npm i' inputs: verbose: false - task: gulp@0 diff --git a/gulpfile.js b/gulpfile.js index b358cf058..ac3ab9aae 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -7,7 +7,7 @@ const cp = require('child_process'); const admZip = require('adm-zip'); const del = require('del'); const fs = require('fs-extra'); -const mocha = require('gulp-mocha'); +// const mocha = require('gulp-mocha'); const minimist = require('minimist'); const request = require('request'); const semver = require('semver'); @@ -21,11 +21,13 @@ const args = require('yargs').argv; // gulp modules const gts = require('gulp-typescript'); const gulp = require('gulp'); +const { spawn } = require('child_process'); const gutil = require('gulp-util'); const pkgm = require('./package'); const util = require('./package-utils'); +const cmd = process.platform === 'win32' ? 'npx.cmd' : 'npx'; // validation var NPM_MIN_VER = '3.0.0'; var MIN_NODE_VER = '4.0.0'; @@ -77,6 +79,33 @@ function errorHandler(error) { var rootTsconfigPath = './base.tsconfig.json'; +function runMocha(files) { + const tfBuild = ('' + process.env['TF_BUILD']).toLowerCase() === 'true'; + return new Promise((resolve, reject) => { + const cmd = process.platform === 'win32' ? 'npx.cmd' : 'npx'; + + const args = [ + 'mocha', + ...files, + '--reporter', 'spec', + '--ui', 'bdd', + tfBuild ? '--no-color' : '--color', + '--ignore', '**/node_modules/**' + ]; + + const proc = spawn(cmd, args, { + stdio: 'inherit', + shell: true + }); + + proc.on('close', (code) => { + code === 0 + ? resolve() + : reject(new Error(`Mocha failed with exit code ${code}`)); + }); + }); +} + gulp.task("clean", function() { return del([_buildRoot, _packageRoot, nugetPath, _taskModuleBuildRoot]); }); @@ -147,16 +176,16 @@ gulp.task('copy:TaskModuleTest', gulp.series('compile:TaskModuleTest', function .pipe(gulp.dest(TaskModulesTestRoot)); })); -gulp.task("TaskModuleTest", gulp.series('copy:TaskModuleTest', function() { +gulp.task("TaskModuleTest", gulp.series('copy:TaskModuleTest', function () { process.env['TASK_TEST_TEMP'] = TaskModulesTestTemp; shell.rm('-rf', TaskModulesTestTemp); shell.mkdir('-p', TaskModulesTestTemp); - var testSuitePath = path.join(TaskModulesTestRoot, options.suite + '/L0.js'); - var tfBuild = ('' + process.env['TF_BUILD']).toLowerCase() == 'true' + const testSuitePath = path.join(TaskModulesTestRoot, options.suite, 'L0.js'); + console.log(testSuitePath); - gulp.src([testSuitePath]) - .pipe(mocha({ reporter: 'spec', ui: 'bdd', useColors: !tfBuild })); + // IMPORTANT: return the Promise so gulp knows when task finishes + return runMocha([testSuitePath]); })); gulp.task('prepublish:TaskModulePublish', function (done) { @@ -790,35 +819,46 @@ gulp.task('testLib_NodeModules', gulp.series('testLib', function () { gulp.task('testResources', gulp.parallel('testLib_NodeModules', 'ps1tests', 'tstests', 'copyTestData')); -gulp.task("test", gulp.series("testResources", function(){ - process.env['TASK_TEST_TEMP'] =path.join(__dirname, _testTemp); +gulp.task("test", gulp.series("testResources", function () { + process.env['TASK_TEST_TEMP'] = path.join(__dirname, _testTemp); shell.rm('-rf', _testTemp); shell.mkdir('-p', _testTemp); - - if (options.suite.indexOf("ArtifactEngine") >= 0 && options.e2e) { - var suitePath = path.join(_testRoot, "Extensions/" + options.suite + "/**/*e2e.js"); + // ---- ArtifactEngine E2E ---- + if (options.suite.indexOf("ArtifactEngine") >= 0 && options.e2e) { + const suitePath = path.join(_testRoot, "Extensions", options.suite, "**/*e2e.js"); console.log(suitePath); - var tfBuild = ('' + process.env['TF_BUILD']).toLowerCase() == 'true' - return gulp.src([suitePath]) - .pipe(mocha({ reporter: 'spec', ui: 'bdd', useColors: !tfBuild })); + return runMocha([suitePath]); } - - if (options.suite.indexOf("ArtifactEngine") >= 0 && options.perf) { - var suitePath = path.join(_testRoot, "Extensions/" + options.suite + "/**/*perf.js"); + // ---- ArtifactEngine PERF ---- + if (options.suite.indexOf("ArtifactEngine") >= 0 && options.perf) { + const suitePath = path.join(_testRoot, "Extensions", options.suite, "**/*perf.js"); console.log(suitePath); - var tfBuild = ('' + process.env['TF_BUILD']).toLowerCase() == 'true' - return gulp.src([suitePath]) - .pipe(mocha({ reporter: 'spec', ui: 'bdd', useColors: !tfBuild })); + return runMocha([suitePath]); } - - var suitePath = path.join(_testRoot,"Extensions/" + options.suite + "/Tests/Tasks", options.suite + '/_suite.js'); + // ---- Default Suite ---- + const suitePath = path.join( + _testRoot, + "Extensions", + options.suite, + "Tests/Tasks", + options.suite, + "_suite.js" + ); + const suitePath2 = path.join( + _testRoot, + "Extensions", + options.suite, + "**/*Tests.js" + ); console.log(suitePath); - var suitePath2 = path.join(_testRoot, "Extensions/" + options.suite + "/**/*Tests.js"); console.log(suitePath2); - var tfBuild = ('' + process.env['TF_BUILD']).toLowerCase() == 'true' - var ignorePath = "!" + path.join(_testRoot, "Extensions", "/**/UIContribution{,/**}"); - return gulp.src([ suitePath, suitePath2, ignorePath ], { allowEmpty: true }) - .pipe(mocha({ reporter: 'spec', ui: 'bdd', useColors: !tfBuild })); + const ignorePath = path.join(_testRoot, "Extensions", "**/UIContribution/**"); + return runMocha([ + suitePath, + suitePath2, + '--ignore', + ignorePath + ]); })); //----------------------------------------------------------------------------------------------------------------- diff --git a/package-lock.json b/package-lock.json index e1afb2c65..5f0d0e9b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32,7 +32,7 @@ "del": "^2.2.0", "fs-extra": "^0.28.0", "gulp": "^4.0.2", - "gulp-mocha": "^6.0.0", + "gulp-mocha": "^10.0.1", "gulp-typescript": "^5.0.1", "gulp-unzip": "^1.1.0", "gulp-util": "^3.0.7", @@ -1362,13 +1362,6 @@ "node": ">= 0.8" } }, - "node_modules/commander": { - "version": "2.15.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/commander/-/commander-2.15.1.tgz", - "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", - "dev": true, - "license": "MIT" - }, "node_modules/component-emitter": { "version": "1.3.1", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/component-emitter/-/component-emitter-1.3.1.tgz", @@ -1467,13 +1460,16 @@ } }, "node_modules/dargs": { - "version": "5.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/dargs/-/dargs-5.1.0.tgz", - "integrity": "sha1-7H6lDHhWTNNsnV7Bj2Yyn63ieCk=", + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/dargs/-/dargs-8.1.0.tgz", + "integrity": "sha1-o0hZ6lCcvORUheWqNW/vcL/McnI=", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/dashdash": { @@ -1747,6 +1743,19 @@ "dev": true, "license": "MIT" }, + "node_modules/easy-transform-stream": { + "version": "1.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/easy-transform-stream/-/easy-transform-stream-1.0.1.tgz", + "integrity": "sha1-+v/dGDmgPRTXbmlL0uYxVVGmohU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -1938,92 +1947,79 @@ } }, "node_modules/execa": { - "version": "0.10.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/execa/-/execa-0.10.0.tgz", - "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=", + "version": "8.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/execa/-/execa-8.0.1.tgz", + "integrity": "sha1-UfallDtYD5Y8PKnGMheW24zDm4w=", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^6.0.0", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=4" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "6.0.6", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha1-MNDvoHEt2361p24ehyG/+vprXVc=", + "node_modules/execa/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha1-QmZaKE+a4NreO6QevDfrS4UvOig=", "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, + "license": "Apache-2.0", "engines": { - "node": ">=4.8" + "node": ">=16.17.0" } }, - "node_modules/execa/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "node_modules/execa/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha1-YKkFUNXLCyOcymXYk7GlOymHHsw=", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa/node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/execa/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha1-fCTBjtH9LpvKS9JoBqM2E8d9NLQ=", "dev": true, "license": "MIT", "dependencies": { - "shebang-regex": "^1.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "node_modules/execa/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha1-UolMMT+/8xiDUoCu1g/3Hr8SuP0=", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha1-qaF2f4r4QVURTqq9c/mSc8j1mtk=", - "dev": true, - "license": "ISC" - }, - "node_modules/execa/node_modules/which": { - "version": "1.3.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/which/-/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" + "node": ">=12" }, - "bin": { - "which": "bin/which" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/expand-brackets": { @@ -2602,13 +2598,16 @@ } }, "node_modules/get-stream": { - "version": "3.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "version": "8.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha1-3vnf1xdCzXdUp3Ye1DdJon0C7KI=", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/get-value": { @@ -3116,16 +3115,6 @@ "dev": true, "license": "ISC" }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/growl/-/growl-1.10.5.tgz", - "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.x" - } - }, "node_modules/gulp": { "version": "4.0.2", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gulp/-/gulp-4.0.2.tgz", @@ -3222,48 +3211,166 @@ } }, "node_modules/gulp-mocha": { - "version": "6.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gulp-mocha/-/gulp-mocha-6.0.0.tgz", - "integrity": "sha1-gPMrxwXOMHR/NV3bjM2Wocc77xM=", + "version": "10.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gulp-mocha/-/gulp-mocha-10.0.1.tgz", + "integrity": "sha1-uNmVn0J4tjtAZKPXCS0r/nY+vJs=", "dev": true, "license": "MIT", "dependencies": { - "dargs": "^5.1.0", - "execa": "^0.10.0", - "mocha": "^5.2.0", - "npm-run-path": "^2.0.2", - "plugin-error": "^1.0.1", - "supports-color": "^5.4.0", - "through2": "^2.0.3" + "dargs": "^8.1.0", + "execa": "^8.0.1", + "gulp-plugin-extras": "^0.3.0", + "mocha": "^10.2.0", + "supports-color": "^9.4.0" }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + }, + "peerDependencies": { + "gulp": ">=4" + }, + "peerDependenciesMeta": { + "gulp": { + "optional": true + } + } + }, + "node_modules/gulp-mocha/node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", + "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/gulp-mocha/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-mocha/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/gulp-mocha/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha1-VPxTI3phPYVMe9N0Y6rRffhyFOc=", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/gulp-mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/gulp-mocha/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/gulp-mocha/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", + "dev": true, + "license": "MIT" + }, "node_modules/gulp-mocha/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "version": "4.4.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/debug/-/debug-4.4.3.tgz", + "integrity": "sha1-xq5DLZvZZiWC/OCHCbA4xY6ePWo=", "dev": true, "license": "MIT", "dependencies": { - "ms": "2.0.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/gulp-mocha/node_modules/diff": { - "version": "3.5.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-3.5.0.tgz", - "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=", + "version": "5.2.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/diff/-/diff-5.2.2.tgz", + "integrity": "sha1-CkdCeXKB0Jz6aZt56jLSdyNiO60=", "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, + "node_modules/gulp-mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gulp-mocha/node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/gulp-mocha/node_modules/glob": { - "version": "7.1.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "version": "8.1.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/glob/-/glob-8.1.0.tgz", + "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "license": "ISC", @@ -3271,96 +3378,242 @@ "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "minimatch": "^5.0.1", + "once": "^1.3.0" }, "engines": { - "node": "*" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/gulp-mocha/node_modules/he": { - "version": "1.1.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", + "node_modules/gulp-mocha/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", "dev": true, "license": "MIT", - "bin": { - "he": "bin/he" + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-mocha/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, "node_modules/gulp-mocha/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "version": "5.1.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimatch/-/minimatch-5.1.8.tgz", + "integrity": "sha1-MqFuvMzWQhxnRDCssZm4gGxoFps=", "dev": true, "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/gulp-mocha/node_modules/minimist": { - "version": "0.0.8", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "node_modules/gulp-mocha/node_modules/mocha": { + "version": "10.8.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-10.8.2.tgz", + "integrity": "sha1-jYNC0BbtQRsSpCnrcxuCX5Ya+5Y=", "dev": true, - "license": "MIT" + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", + "chokidar": "^3.5.3", + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + } }, - "node_modules/gulp-mocha/node_modules/mkdirp": { - "version": "0.5.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)", + "node_modules/gulp-mocha/node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", "dev": true, "license": "MIT", "dependencies": { - "minimist": "0.0.8" + "has-flag": "^4.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/gulp-mocha/node_modules/mocha": { - "version": "5.2.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/mocha/-/mocha-5.2.0.tgz", - "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "node_modules/gulp-mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/ms/-/ms-2.1.3.tgz", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", + "dev": true, + "license": "MIT" + }, + "node_modules/gulp-mocha/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "dev": true, "license": "MIT", "dependencies": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "engines": { + "node": ">=8" + } + }, + "node_modules/gulp-mocha/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 4.0.0" + "node": ">=8" } }, "node_modules/gulp-mocha/node_modules/supports-color": { - "version": "5.4.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-5.4.0.tgz", - "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "version": "9.4.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/supports-color/-/supports-color-9.4.0.tgz", + "integrity": "sha1-F7/PaGKI9THbPeoyFVEGIcy1WVQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/gulp-mocha/node_modules/workerpool": { + "version": "6.5.1", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/gulp-mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "dev": true, "license": "MIT", "dependencies": { - "has-flag": "^3.0.0" + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/gulp-mocha/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/gulp-mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gulp-mocha/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/gulp-plugin-extras": { + "version": "0.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/gulp-plugin-extras/-/gulp-plugin-extras-0.3.0.tgz", + "integrity": "sha1-rSwV631xU6dVVsWe6B2EaT7EIzA=", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/vinyl": "^2.0.9", + "chalk": "^5.3.0", + "easy-transform-stream": "^1.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gulp-plugin-extras/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha1-sSOLbiPqM3r3HH+KKV21rwwViuo=", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/gulp-typescript": { @@ -4127,13 +4380,16 @@ } }, "node_modules/is-stream": { - "version": "1.1.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "version": "3.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha1-5r/XqmvvafT0cs6btoHj5XtDGaw=", "dev": true, "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-typedarray": { @@ -5686,13 +5942,6 @@ "dev": true, "license": "ISC" }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", - "dev": true, - "license": "MIT" - }, "node_modules/node_modules/@isaacs/cliui/node_modules/ansi-regex": { "integrity": "sha1-YCFu6kZNhkWXzigyAAc4oFiWUME=", "extraneous": true @@ -7834,26 +8083,32 @@ } }, "node_modules/npm-run-path": { - "version": "2.0.2", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "version": "5.3.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha1-4jNT0Ou5MX8XTpNBfkpNgtAknp8=", "dev": true, "license": "MIT", "dependencies": { - "path-key": "^2.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/npm-run-path/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "version": "4.0.0", + "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha1-KVWI3DruZBVPh3rbnXgLgcVUvxg=", "dev": true, "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/number-is-nan": { @@ -8104,16 +8359,6 @@ "node": ">=0.10.0" } }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/p-limit/-/p-limit-3.1.0.tgz", @@ -9755,16 +10000,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-eof": { - "version": "1.0.0", - "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://pkgs.dev.azure.com/mseng/PipelineTools/_packaging/PipelineTools_PublicPackages/npm/registry/strip-final-newline/-/strip-final-newline-2.0.0.tgz", diff --git a/package.json b/package.json index 7178a4589..d2f20986d 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "del": "^2.2.0", "fs-extra": "^0.28.0", "gulp": "^4.0.2", - "gulp-mocha": "^6.0.0", + "gulp-mocha": "^10.0.1", "gulp-typescript": "^5.0.1", "gulp-unzip": "^1.1.0", "gulp-util": "^3.0.7",