diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 7a09959136..e852a9a1bf 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -51,6 +51,7 @@ extends: type: windows variables: ob_outputDirectory: $(Build.SourcesDirectory)/out + ob_sdl_codeSignValidation_excludes: -|**\*.js # Node.js JavaScript signatures are not supported steps: - pwsh: | $version = (Get-Content -Raw -Path package.json | ConvertFrom-Json).version @@ -96,19 +97,12 @@ extends: - pwsh: Invoke-Build Build -Configuration $(BuildConfiguration) displayName: Build - task: onebranch.pipeline.signing@1 - displayName: Sign 1st-party extension files + displayName: Sign 1st-party example PowerShell files inputs: command: sign - signing_environment: external_distribution - search_root: $(Build.SourcesDirectory)/dist - files_to_sign: '**/*.js' - - task: onebranch.pipeline.signing@1 - displayName: Sign 1st-party example files - inputs: - command: sign - signing_environment: external_distribution + signing_profile: external_distribution search_root: $(Build.SourcesDirectory)/examples - files_to_sign: '**/*.js;**/*.ps1;**/*.psd1;**/*.psm1' + files_to_sign: '**/*.ps1;**/*.psd1;**/*.psm1' - pwsh: Invoke-Build Package displayName: Create package - job: test diff --git a/CHANGELOG.md b/CHANGELOG.md index 87b96d3912..3b61960d97 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # PowerShell Extension Release History +## v2024.2.1 +### Tuesday, April 16, 2024 + +With PowerShell Editor Services [v3.20.0](https://github.com/PowerShell/PowerShellEditorServices/releases/tag/v3.20.0)! + +Hotfix for incorrect signing certificate, sorry about that! + +Also removed Plaster integration as we were unable to correctly sign it since we no longer own it. + +See more details at the GitHub Release for [v2024.2.1](https://github.com/PowerShell/vscode-powershell/releases/tag/v2024.2.1). + ## v2024.2.0 ### Monday, April 08, 2024 diff --git a/package-lock.json b/package-lock.json index e683ba5a67..f9723e2aa2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "powershell", - "version": "2024.3.1", + "version": "2024.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "powershell", - "version": "2024.3.1", + "version": "2024.2.0", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@vscode/extension-telemetry": "0.9.6", @@ -28,8 +28,8 @@ "@types/ungap__structured-clone": "1.2.0", "@types/uuid": "9.0.8", "@types/vscode": "1.82.0", - "@typescript-eslint/eslint-plugin": "7.5.0", - "@typescript-eslint/parser": "7.5.0", + "@typescript-eslint/eslint-plugin": "7.6.0", + "@typescript-eslint/parser": "7.6.0", "@ungap/structured-clone": "1.2.0", "@vscode/debugprotocol": "1.65.0", "@vscode/test-electron": "2.3.9", @@ -45,7 +45,7 @@ "rewire": "7.0.0", "sinon": "17.0.1", "source-map-support": "0.5.21", - "typescript": "5.4.3" + "typescript": "5.4.4" }, "engines": { "vscode": "^1.82.0" @@ -973,23 +973,23 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.5.0.tgz", - "integrity": "sha1-HcUv5IRU1bVL4tXwiWgEUvFiilo=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.6.0.tgz", + "integrity": "sha1-H131zaSQoLy2+90zguGfEkECQkI=", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.5.0", - "@typescript-eslint/type-utils": "7.5.0", - "@typescript-eslint/utils": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/type-utils": "7.6.0", + "@typescript-eslint/utils": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1009,16 +1009,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/parser/-/parser-7.5.0.tgz", - "integrity": "sha1-Hu/zYwmsIlPJBd1KiLS3G3KjWO0=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/parser/-/parser-7.6.0.tgz", + "integrity": "sha1-Cspd4wRdaLNuiJA9Fa3a8T0ECpU=", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.5.0", - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/typescript-estree": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", "debug": "^4.3.4" }, "engines": { @@ -1038,14 +1038,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-7.5.0.tgz", - "integrity": "sha1-cPCnNhQwqxBDpflzhtoqDYsvTVY=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/scope-manager/-/scope-manager-7.6.0.tgz", + "integrity": "sha1-Hply9lQhC9dQCzH+rbYaIz9bXp0=", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0" + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1056,16 +1056,16 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/type-utils/-/type-utils-7.5.0.tgz", - "integrity": "sha1-qPqkAyMto6OQFlU4fHCCER9pLPk=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/type-utils/-/type-utils-7.6.0.tgz", + "integrity": "sha1-ZE91B183mCfSX+BxPiUszU5KQow=", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.5.0", - "@typescript-eslint/utils": "7.5.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "@typescript-eslint/utils": "7.6.0", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1084,9 +1084,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/types/-/types-7.5.0.tgz", - "integrity": "sha1-CihLze88uFDsn9V5kt+fKda94bw=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/types/-/types-7.6.0.tgz", + "integrity": "sha1-U9unwwyH5fEKcxBUJm3ZBfH7rjg=", "dev": true, "license": "MIT", "engines": { @@ -1098,20 +1098,20 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-7.5.0.tgz", - "integrity": "sha1-qlAxxRGHRCD2te3ZD45AIVJe53Y=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/typescript-estree/-/typescript-estree-7.6.0.tgz", + "integrity": "sha1-ESo3dVY3mf0/ARiQrIMi+AgwrBc=", "dev": true, "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/visitor-keys": "7.5.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/visitor-keys": "7.6.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1127,19 +1127,19 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/utils/-/utils-7.5.0.tgz", - "integrity": "sha1-u9ljZH+76f/qAz9CwPt+ibsZyFg=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/utils/-/utils-7.6.0.tgz", + "integrity": "sha1-5ADXgigLb3JMihIEJp2YTHkgIoI=", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.5.0", - "@typescript-eslint/types": "7.5.0", - "@typescript-eslint/typescript-estree": "7.5.0", - "semver": "^7.5.4" + "@types/json-schema": "^7.0.15", + "@types/semver": "^7.5.8", + "@typescript-eslint/scope-manager": "7.6.0", + "@typescript-eslint/types": "7.6.0", + "@typescript-eslint/typescript-estree": "7.6.0", + "semver": "^7.6.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1153,14 +1153,14 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.5.0", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-7.5.0.tgz", - "integrity": "sha1-irysZvk+8gsJPoekAMLSHjptVe4=", + "version": "7.6.0", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/@typescript-eslint/visitor-keys/-/visitor-keys-7.6.0.tgz", + "integrity": "sha1-0c4TFFhEN5Ah4fm9ECwdeJRvTnY=", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.5.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "7.6.0", + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -3594,9 +3594,9 @@ } }, "node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha1-puAMPeRMOlQr+q5wq/wiQgptqCU=", + "version": "9.0.4", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha1-jknHMdF0nL7AUFDuUUUUezJJalE=", "dev": true, "license": "ISC", "dependencies": { @@ -5019,9 +5019,9 @@ } }, "node_modules/typescript": { - "version": "5.4.3", - "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/typescript/-/typescript-5.4.3.tgz", - "integrity": "sha1-XG/t1Mh77gHNelKKMBRVIfjg/v8=", + "version": "5.4.4", + "resolved": "https://pkgs.dev.azure.com/mscodehub/PowerShellCore/_packaging/PowerShellCore_PublicPackages/npm/registry/typescript/-/typescript-5.4.4.tgz", + "integrity": "sha1-6yRx57Cl8Td1I3AKIWadzjDC2VI=", "dev": true, "license": "Apache-2.0", "bin": { diff --git a/package.json b/package.json index ea8dd54a86..105fc3df21 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "powershell", "displayName": "PowerShell", - "version": "2024.2.0", + "version": "2024.2.1", "preview": false, "publisher": "ms-vscode", "description": "Develop PowerShell modules, commands and scripts in Visual Studio Code!", @@ -55,7 +55,6 @@ "activationEvents": [ "onDebugResolve:PowerShell", "onLanguage:powershell", - "onCommand:PowerShell.NewProjectFromTemplate", "onCommand:PowerShell.OpenExamplesFolder", "onCommand:PowerShell.PickPSHostProcess", "onCommand:PowerShell.PickRunspace", @@ -93,8 +92,8 @@ "@types/ungap__structured-clone": "1.2.0", "@types/uuid": "9.0.8", "@types/vscode": "1.82.0", - "@typescript-eslint/eslint-plugin": "7.5.0", - "@typescript-eslint/parser": "7.5.0", + "@typescript-eslint/eslint-plugin": "7.6.0", + "@typescript-eslint/parser": "7.6.0", "@ungap/structured-clone": "1.2.0", "@vscode/debugprotocol": "1.65.0", "@vscode/test-electron": "2.3.9", @@ -110,7 +109,7 @@ "rewire": "7.0.0", "sinon": "17.0.1", "source-map-support": "0.5.21", - "typescript": "5.4.3" + "typescript": "5.4.4" }, "extensionDependencies": [ "vscode.powershell" @@ -276,11 +275,6 @@ "title": "Show Extension Terminal", "category": "PowerShell" }, - { - "command": "PowerShell.NewProjectFromTemplate", - "title": "Create New Project from Plaster Template", - "category": "PowerShell" - }, { "command": "PowerShell.RunPesterTestsFromFile", "title": "Run Pester tests", @@ -916,7 +910,7 @@ "powershell.developer.bundledModulesPath": { "type": "string", "default": "../../PowerShellEditorServices/module", - "markdownDescription": "Specifies an alternative path to the folder containing modules that are bundled with the PowerShell extension, that is: PowerShell Editor Services, PSScriptAnalyzer, Plaster, and PSReadLine. **This setting is only meant for extension developers and requires the extension to be run in development mode!**" + "markdownDescription": "Specifies an alternative path to the folder containing modules that are bundled with the PowerShell extension, that is: PowerShell Editor Services, PSScriptAnalyzer and PSReadLine. **This setting is only meant for extension developers and requires the extension to be run in development mode!**" }, "powershell.developer.editorServicesLogLevel": { "type": "string", diff --git a/src/extension.ts b/src/extension.ts index 82a4353e63..01a4ee4a1c 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -15,7 +15,6 @@ import { GenerateBugReportFeature } from "./features/GenerateBugReport"; import { GetCommandsFeature } from "./features/GetCommands"; import { HelpCompletionFeature } from "./features/HelpCompletion"; import { ISECompatibilityFeature } from "./features/ISECompatibility"; -import { NewFileOrProjectFeature } from "./features/NewFileOrProject"; import { OpenInISEFeature } from "./features/OpenInISE"; import { PesterTestsFeature } from "./features/PesterTests"; import { RemoteFilesFeature } from "./features/RemoteFiles"; @@ -149,7 +148,6 @@ export async function activate(context: vscode.ExtensionContext): Promise { await this.showProjectTemplates(); }); - } - - public dispose(): void { - this.command.dispose(); - } - - // eslint-disable-next-line @typescript-eslint/no-empty-function - public override onLanguageClientSet(_languageClient: LanguageClient): void {} - - private async showProjectTemplates(includeInstalledModules = false): Promise { - const template = await vscode.window.showQuickPick( - this.getProjectTemplates(includeInstalledModules), - { - placeHolder: "Choose a template to create a new project", - ignoreFocusOut: true - }); - - if (template === undefined) { - return; - } else if (template.label.startsWith(this.loadIcon)) { - await this.showProjectTemplates(true); - } else if (template.template) { - await this.createProjectFromTemplate(template.template); - } - } - - private async getProjectTemplates(includeInstalledModules: boolean): Promise { - const client = await LanguageClientConsumer.getLanguageClient(); - const response = await client.sendRequest( - GetProjectTemplatesRequestType, - { includeInstalledModules }); - - if (response.needsModuleInstall) { - // TODO: Offer to install Plaster - void this.logger.writeAndShowError("Plaster is not installed!"); - return Promise.reject(new Error("Plaster needs to be installed")); - } - - let templates = response.templates.map( - (template) => { - return { - label: template.title, - description: `v${template.version} by ${template.author}, tags: ${template.tags}`, - detail: template.description, - template, - }; - }); - - if (!includeInstalledModules) { - templates = - [({ - label: this.loadIcon, - description: "Load additional templates from installed modules", - template: undefined, - } as ITemplateQuickPickItem)] - .concat(templates); - } else { - templates = - [({ - label: this.loadIcon, - description: "Refresh template list", - template: undefined, - } as ITemplateQuickPickItem)] - .concat(templates); - } - - return templates; - } - - private async createProjectFromTemplate(template: ITemplateDetails): Promise { - const destinationPath = await vscode.window.showInputBox( - { - placeHolder: "Enter an absolute path to the folder where the project should be created", - ignoreFocusOut: true - }); - - if (destinationPath !== undefined) { - await vscode.commands.executeCommand("PowerShell.ShowSessionConsole"); - - const client = await LanguageClientConsumer.getLanguageClient(); - const result = await client.sendRequest( - NewProjectFromTemplateRequestType, - { templatePath: template.templatePath, destinationPath }); - - if (result.creationSuccessful) { - await this.openWorkspacePath(destinationPath); - } else { - void this.logger.writeAndShowError("Project creation failed, read the Output window for more details."); - } - } else { - await this.logger.writeAndShowErrorWithActions( - "New Project: You must enter an absolute folder path to continue. Try again?", - [ - { - prompt: "Yes", - action: async (): Promise => { await this.createProjectFromTemplate(template); } - }, - { - prompt: "No", - action: undefined - } - ] - ); - } - } - - private async openWorkspacePath(workspacePath: string): Promise { - // Open the created project in a new window - await vscode.commands.executeCommand( - "vscode.openFolder", - vscode.Uri.file(workspacePath), - true); - } -} - -interface ITemplateQuickPickItem extends vscode.QuickPickItem { - template?: ITemplateDetails; -} - -interface ITemplateDetails { - title: string; - version: string; - author: string; - description: string; - tags: string; - templatePath: string; -} - -export const GetProjectTemplatesRequestType = - new RequestType( - "powerShell/getProjectTemplates"); - -interface IGetProjectTemplatesRequestArgs { - includeInstalledModules: boolean; -} - -interface IGetProjectTemplatesResponseBody { - needsModuleInstall: boolean; - templates: ITemplateDetails[]; -} - -// eslint-disable-next-line @typescript-eslint/no-empty-interface -interface INewProjectFromTemplateRequestArguments { -} - -export const NewProjectFromTemplateRequestType = - new RequestType( - "powerShell/newProjectFromTemplate"); - -interface INewProjectFromTemplateResponseBody { - creationSuccessful: boolean; -} diff --git a/test/features/DebugSession.test.ts b/test/features/DebugSession.test.ts index f69ab2fdab..934e42ed60 100644 --- a/test/features/DebugSession.test.ts +++ b/test/features/DebugSession.test.ts @@ -414,7 +414,13 @@ describe("DebugSessionFeature", () => { const config = await debugSessionFeature.resolveDebugConfigurationWithSubstitutedVariables(undefined, attachConfig); - assert.deepStrictEqual(config!.dotnetAttachConfig, foundDotnetConfig); + // This config will only be present if the C# extension is installed. + if (extensions.getExtension("ms-dotnettools.csharp")) { + assert.ok(config); + assert.deepStrictEqual(config.dotnetAttachConfig, foundDotnetConfig); + } else { + assert.ok(!config); + } }); }); diff --git a/test/features/UpdatePowerShell.test.ts b/test/features/UpdatePowerShell.test.ts index 622af58867..7d080b3078 100644 --- a/test/features/UpdatePowerShell.test.ts +++ b/test/features/UpdatePowerShell.test.ts @@ -111,9 +111,10 @@ describe("UpdatePowerShell feature", function () { }; const updater = new UpdatePowerShell(settings, testLogger, version); // @ts-expect-error method is private. - const tag: string | undefined = await updater.maybeGetNewRelease(); + const tag: string = await updater.maybeGetNewRelease() ?? ""; // NOTE: This will need to be updated each time an LTS is released. - assert(tag?.startsWith("v7.4")); + // Also sometimes the prior LTS is more recently updated than the latest LTS. + assert(tag.startsWith("v7.4") || tag.startsWith("v7.2")); }); it("Would update to stable", async function() { diff --git a/test/runTests.ts b/test/runTests.ts index 092408a111..e5771854b3 100644 --- a/test/runTests.ts +++ b/test/runTests.ts @@ -105,9 +105,10 @@ function InstallExtension(vscodeExePath: string, extensionIdOrVSIXPath: string): }); if (installResult.status !== 0) { - console.error(installResult.stderr); - throw new Error(`Failed to install extension: ${installResult.stderr}`); + console.error(`Failed to install extension: ${installResult.stderr}`); + console.log("Binary Module Tests will fail if not skipped!"); } + return installResult.stdout; } diff --git a/test/runTestsInner.ts b/test/runTestsInner.ts index 77257bb7d1..ea3d46f0ef 100644 --- a/test/runTestsInner.ts +++ b/test/runTestsInner.ts @@ -35,10 +35,6 @@ function runTestsInner(testsRoot: string): Promise { } const mocha = new Mocha(config); - // if (process.env.TF_BUILD) { - // console.log("Detected Azure DevOps, disabling color output as ANSI escapes do not make Azure Devops happy."); - // config.color = false; - // } // Test if files is empty const files = globSync(config.spec, { cwd: rootDir });