From 4d05ffc69265df73f866b8fa390e31cb76d619ed Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 16 May 2024 14:40:04 -0700 Subject: [PATCH 01/39] Update CODE_OF_CONDUCT.md --- CODE_OF_CONDUCT.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index dddfa22df2..686e5e7a09 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,8 +1,10 @@ -# Code of Conduct +# Microsoft Open Source Code of Conduct -This project has adopted the [Microsoft Open Source Code of Conduct][conduct-code]. -For more information see the [Code of Conduct FAQ][conduct-FAQ] or contact [opencode@microsoft.com][conduct-email] with any additional questions or comments. +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). -[conduct-code]: http://opensource.microsoft.com/codeofconduct/ -[conduct-FAQ]: http://opensource.microsoft.com/codeofconduct/faq/ -[conduct-email]: mailto:opencode@microsoft.com +Resources: + +- [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/) +- [Microsoft Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) +- Contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with questions or concerns +- Employees can reach out at [aka.ms/opensource/moderation-support](https://aka.ms/opensource/moderation-support) From 7d2a2be38ef06c75af59db9ae18c5813b73c3a36 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 21:45:03 +0000 Subject: [PATCH 02/39] --- updated-dependencies: - dependency-name: "@vscode/test-electron" dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 11 ++++++----- package.json | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 72bfb35dec..96857d9120 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "powershell", - "version": "2024.2.1", + "version": "2024.2.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "powershell", - "version": "2024.2.1", + "version": "2024.2.2", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@vscode/extension-telemetry": "^0.9.6", @@ -32,7 +32,7 @@ "@typescript-eslint/parser": "^7.8.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.65.0", - "@vscode/test-electron": "^2.3.9", + "@vscode/test-electron": "^2.3.10", "@vscode/vsce": "^2.26.1", "esbuild": "^0.20.2", "eslint": "^8.57.0", @@ -1265,9 +1265,10 @@ } }, "node_modules/@vscode/test-electron": { - "version": "2.3.9", - "integrity": "sha1-9hGBOSY0tAhBHkMCrvbhzS3UFHQ=", + "version": "2.3.10", + "integrity": "sha1-xj4kN+xNZf9Wx8/LTfzrDog+9HM=", "dev": true, + "license": "MIT", "dependencies": { "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", diff --git a/package.json b/package.json index cdfca6c936..100367bbd9 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "@typescript-eslint/parser": "^7.8.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.65.0", - "@vscode/test-electron": "^2.3.9", + "@vscode/test-electron": "^2.3.10", "@vscode/vsce": "^2.26.1", "esbuild": "^0.20.2", "eslint": "^8.57.0", From 31712d90b5ea1fc9198328d7d8c5624b9ee47a91 Mon Sep 17 00:00:00 2001 From: Paige Seivertson Date: Fri, 17 May 2024 03:50:10 -0400 Subject: [PATCH 03/39] Fix lang server tracing option to use markdownDescription --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 100367bbd9..6574f5095d 100644 --- a/package.json +++ b/package.json @@ -1009,7 +1009,7 @@ "verbose" ], "default": "off", - "description": "Traces the communication between VS Code and the PowerShell Editor Services language server. **This setting is only meant for extension developers!**" + "markdownDescription": "Traces the communication between VS Code and the PowerShell Editor Services language server. **This setting is only meant for extension developers!**" } } }, From 7b47ce94eba666a07f469cd40591aa10d8c687a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 21:44:55 +0000 Subject: [PATCH 04/39] --- updated-dependencies: - dependency-name: sinon dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- package-lock.json | 31 +++++++++++++++++++------------ package.json | 2 +- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 96857d9120..077f202298 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,7 +43,7 @@ "mocha-multi-reporters": "^1.5.1", "mock-fs": "^5.2.0", "rewire": "^7.0.0", - "sinon": "^17.0.1", + "sinon": "^18.0.0", "source-map-support": "^0.5.21", "typescript": "^5.4.5" }, @@ -944,6 +944,7 @@ "version": "3.0.1", "integrity": "sha1-ECk1fkTKkBphVYX20nc428iQhM0=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -952,6 +953,7 @@ "version": "11.2.2", "integrity": "sha1-UAY8w1dPSie9hFMYCgQXHIXMlpk=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -977,7 +979,8 @@ "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", "integrity": "sha1-WYGo2xi1a6OO8O+32ZWxKqe1GRg=", - "dev": true + "dev": true, + "license": "(Unlicense OR Apache-2.0)" }, "node_modules/@tootallnate/once": { "version": "1.1.2", @@ -3125,7 +3128,8 @@ "node_modules/just-extend": { "version": "6.2.0", "integrity": "sha1-uBar+z1n7oYEgudAFWRnJVgWOUc=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/jwa": { "version": "2.0.0", @@ -3635,9 +3639,10 @@ "dev": true }, "node_modules/nise": { - "version": "5.1.9", - "integrity": "sha1-DLc7XkSZ1zgjGkc82JvYr7thgTk=", + "version": "6.0.0", + "integrity": "sha1-rlb8y12RIDc2PDs/Keu/oovei0g=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", @@ -3882,7 +3887,8 @@ "node_modules/path-to-regexp": { "version": "6.2.2", "integrity": "sha1-MkN3qD5QScvsrcVVTWpjqaSGazY=", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", @@ -4338,16 +4344,17 @@ } }, "node_modules/sinon": { - "version": "17.0.1", - "integrity": "sha1-JrjvcZJhv430P5JZJMzMlnSOQHo=", + "version": "18.0.0", + "integrity": "sha1-acopPbw+glkKiw1GyX9j68Hl/AE=", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@sinonjs/commons": "^3.0.0", + "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.5", - "supports-color": "^7.2.0" + "diff": "^5.2.0", + "nise": "^6.0.0", + "supports-color": "^7" }, "funding": { "type": "opencollective", diff --git a/package.json b/package.json index 6574f5095d..b47390c1a7 100644 --- a/package.json +++ b/package.json @@ -107,7 +107,7 @@ "mocha-multi-reporters": "^1.5.1", "mock-fs": "^5.2.0", "rewire": "^7.0.0", - "sinon": "^17.0.1", + "sinon": "^18.0.0", "source-map-support": "^0.5.21", "typescript": "^5.4.5" }, From da7d9759cc2108827829a794175b4d4da4f79847 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 22:51:53 +0000 Subject: [PATCH 05/39] --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: "@typescript-eslint/parser" dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint - dependency-name: esbuild dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint ... Signed-off-by: dependabot[bot] --- package-lock.json | 478 +++++++--------------------------------------- package.json | 6 +- 2 files changed, 77 insertions(+), 407 deletions(-) diff --git a/package-lock.json b/package-lock.json index 077f202298..fe8b7c368a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,13 +28,13 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.8.0", - "@typescript-eslint/parser": "^7.8.0", + "@typescript-eslint/eslint-plugin": "^7.9.0", + "@typescript-eslint/parser": "^7.9.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.65.0", "@vscode/test-electron": "^2.3.10", "@vscode/vsce": "^2.26.1", - "esbuild": "^0.20.2", + "esbuild": "^0.21.3", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "glob": "^10.3.12", @@ -287,343 +287,14 @@ "uuid": "dist/bin/uuid" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "integrity": "sha1-pw9KwRxqHfwYuLuxMoQVXZM7lTc=", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "integrity": "sha1-O0iMSa7p1JHCyPmKkJt4WHDW6ZU=", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "integrity": "sha1-2xySAqW8kuoEx7aEDxu+Cev55rk=", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "integrity": "sha1-OxYoAp5VdiSdKy12ZpblB2hEn5g=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "integrity": "sha1-boUXoEXd2GrjDGYIyEdevAxAALs=", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "integrity": "sha1-kO0Jjh+d2Kk4FpWyB+HP9FVAoNA=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "integrity": "sha1-1xUC0e6JoRMDJ+iQNkZmx2CiqRE=", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "integrity": "sha1-ql6ljZwd2a9oi4tvY+8NPWDOpTw=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "integrity": "sha1-drO5jLH4eTb7w38HPvq61J3NiJw=", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "integrity": "sha1-BVtjcl32eDebD2250PqFRjdVsuU=", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "integrity": "sha1-wOXnh8KFJk5d/Hp58EuLTu/a1/o=", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "integrity": "sha1-phhOYr183GPgwESLg4AQAWUyGcU=", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "integrity": "sha1-0I45zob0Xvj8iFSdKcYris9WSao=", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "integrity": "sha1-jSUvC3dW/9bRy95epn/4/SBDfyA=", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "integrity": "sha1-Gfbc2xRAna5gf2bKEYHdTp24EwA=", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "integrity": "sha1-PIMMkPGl190Uc9VZXqTruSCYhoU=", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "integrity": "sha1-huyjUgOvwNneBpTGTsCrCjePb/8=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "integrity": "sha1-53HI6w4Pbhh3/9QiADa5iu1ZFeY=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "integrity": "sha1-mnla5LTjfmdPD01xbz4ibdfDm68=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "integrity": "sha1-ffI7YaSXuKwYne9uJalWc8rtsD8=", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, "node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "integrity": "sha1-8a5av5ygUq4RwbyAb7TA9Rm6z5A=", + "version": "0.21.3", + "integrity": "sha1-xsPAsaHfxjJ+9NtqpPtu/Z31Mfc=", "cpu": [ "arm64" ], "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "integrity": "sha1-JB/mLDTY6EYc1wgneBPh0LpVziM=", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "integrity": "sha1-nJB7IeMKUtuVm6T4C7AaDMQD1cw=", - "cpu": [ - "x64" - ], - "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -990,11 +661,6 @@ "node": ">= 6" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "integrity": "sha1-WWoXRyM2lNUPatinhp/Lb1bPWEE=", - "dev": true - }, "node_modules/@types/mocha": { "version": "10.0.6", "integrity": "sha1-gYVR05ETCBBIvd2++WcBtOi7nRs=", @@ -1064,20 +730,19 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.8.0", - "integrity": "sha1-x44wn+lny03gW4XNyHb7lfjgG28=", + "version": "7.9.0", + "integrity": "sha1-CTuW/E40IibmXV8Y+chwgeCwSjE=", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.8.0", - "@typescript-eslint/type-utils": "7.8.0", - "@typescript-eslint/utils": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0", - "debug": "^4.3.4", + "@typescript-eslint/scope-manager": "7.9.0", + "@typescript-eslint/type-utils": "7.9.0", + "@typescript-eslint/utils": "7.9.0", + "@typescript-eslint/visitor-keys": "7.9.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { @@ -1098,14 +763,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.8.0", - "integrity": "sha1-Hh2zDIq4Msr/7l835nfby5NX3cg=", + "version": "7.9.0", + "integrity": "sha1-+zugG3Xg5ly3gDejYJYbADAfbHA=", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.8.0", - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/typescript-estree": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0", + "@typescript-eslint/scope-manager": "7.9.0", + "@typescript-eslint/types": "7.9.0", + "@typescript-eslint/typescript-estree": "7.9.0", + "@typescript-eslint/visitor-keys": "7.9.0", "debug": "^4.3.4" }, "engines": { @@ -1125,12 +791,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.8.0", - "integrity": "sha1-uxkJbRHsa4f7ZkDZId8ZuBPgIEc=", + "version": "7.9.0", + "integrity": "sha1-HdPmOkQR2zVqnQQOdYZIUbXyYZs=", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0" + "@typescript-eslint/types": "7.9.0", + "@typescript-eslint/visitor-keys": "7.9.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1141,12 +808,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.8.0", - "integrity": "sha1-neFm8YKm5NHF2nbpSIDpGDHj4m8=", + "version": "7.9.0", + "integrity": "sha1-9SMmLhtmymVUC3ploSIttS4KkMk=", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.8.0", - "@typescript-eslint/utils": "7.8.0", + "@typescript-eslint/typescript-estree": "7.9.0", + "@typescript-eslint/utils": "7.9.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1167,9 +835,10 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.8.0", - "integrity": "sha1-H9JXezrYg7dpVG4tHvN5+SmnCR0=", + "version": "7.9.0", + "integrity": "sha1-tY5IXkv7oFVlnH5oOtT18IIa4uw=", "dev": true, + "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -1179,12 +848,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.8.0", - "integrity": "sha1-sCipImhgtm5iPB7lXMJGS5XSmHw=", + "version": "7.9.0", + "integrity": "sha1-M5XidlYGDcMTprQGw6KYtyloXgc=", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/visitor-keys": "7.8.0", + "@typescript-eslint/types": "7.9.0", + "@typescript-eslint/visitor-keys": "7.9.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1206,17 +876,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.8.0", - "integrity": "sha1-V6efnAwHQOrS9iLkRM+u65/QR80=", + "version": "7.9.0", + "integrity": "sha1-G5ajTu/cocggyxu8J1HYSLRUCJk=", "dev": true, + "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.15", - "@types/semver": "^7.5.8", - "@typescript-eslint/scope-manager": "7.8.0", - "@typescript-eslint/types": "7.8.0", - "@typescript-eslint/typescript-estree": "7.8.0", - "semver": "^7.6.0" + "@typescript-eslint/scope-manager": "7.9.0", + "@typescript-eslint/types": "7.9.0", + "@typescript-eslint/typescript-estree": "7.9.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1230,11 +898,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.8.0", - "integrity": "sha1-coWquZHai+5BGkLtvV23YNIv3ZE=", + "version": "7.9.0", + "integrity": "sha1-ghYmVuM5w97wKJX1yFRvaIjZueo=", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.8.0", + "@typescript-eslint/types": "7.9.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -2129,10 +1798,11 @@ } }, "node_modules/esbuild": { - "version": "0.20.2", - "integrity": "sha1-nWsjhlYXZu5rWlUZbG12bSjIfqE=", + "version": "0.21.3", + "integrity": "sha1-y7ELEAx2iwz7NdYdnnAyRVNDfDg=", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2140,29 +1810,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "@esbuild/aix-ppc64": "0.21.3", + "@esbuild/android-arm": "0.21.3", + "@esbuild/android-arm64": "0.21.3", + "@esbuild/android-x64": "0.21.3", + "@esbuild/darwin-arm64": "0.21.3", + "@esbuild/darwin-x64": "0.21.3", + "@esbuild/freebsd-arm64": "0.21.3", + "@esbuild/freebsd-x64": "0.21.3", + "@esbuild/linux-arm": "0.21.3", + "@esbuild/linux-arm64": "0.21.3", + "@esbuild/linux-ia32": "0.21.3", + "@esbuild/linux-loong64": "0.21.3", + "@esbuild/linux-mips64el": "0.21.3", + "@esbuild/linux-ppc64": "0.21.3", + "@esbuild/linux-riscv64": "0.21.3", + "@esbuild/linux-s390x": "0.21.3", + "@esbuild/linux-x64": "0.21.3", + "@esbuild/netbsd-x64": "0.21.3", + "@esbuild/openbsd-x64": "0.21.3", + "@esbuild/sunos-x64": "0.21.3", + "@esbuild/win32-arm64": "0.21.3", + "@esbuild/win32-ia32": "0.21.3", + "@esbuild/win32-x64": "0.21.3" } }, "node_modules/escalade": { diff --git a/package.json b/package.json index b47390c1a7..a31fbf4c0a 100644 --- a/package.json +++ b/package.json @@ -92,13 +92,13 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.8.0", - "@typescript-eslint/parser": "^7.8.0", + "@typescript-eslint/eslint-plugin": "^7.9.0", + "@typescript-eslint/parser": "^7.9.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.65.0", "@vscode/test-electron": "^2.3.10", "@vscode/vsce": "^2.26.1", - "esbuild": "^0.20.2", + "esbuild": "^0.21.3", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "glob": "^10.3.12", From 658e76a4077f7fa3c4286a65294a8b56f7360a29 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 23:28:34 +0000 Subject: [PATCH 06/39] Bump glob from 10.3.12 to 10.3.15 Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.12 to 10.3.15. - [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md) - [Commits](https://github.com/isaacs/node-glob/compare/v10.3.12...v10.3.15) --- updated-dependencies: - dependency-name: glob dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 24 ++++++++++++++---------- package.json | 2 +- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index fe8b7c368a..06b2b3b8b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "esbuild": "^0.21.3", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.3.12", + "glob": "^10.3.15", "mocha": "^10.4.0", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", @@ -2318,21 +2318,22 @@ "optional": true }, "node_modules/glob": { - "version": "10.3.12", - "integrity": "sha1-OmXDY8LpmY0iAzjoil9qyXMClgs=", + "version": "10.3.15", + "integrity": "sha1-5yvGG8MDjJBgX13UhUPcZ6rztQ0=", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^2.3.6", "minimatch": "^9.0.1", "minipass": "^7.0.4", - "path-scurry": "^1.10.2" + "path-scurry": "^1.11.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3142,9 +3143,10 @@ } }, "node_modules/minipass": { - "version": "7.0.4", - "integrity": "sha1-284DdA9QpHhrqZTB+5CIRNJ7A4w=", + "version": "7.1.1", + "integrity": "sha1-9/ha/1mqIvEQsg4naSRlzzv4lIE=", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -3532,15 +3534,16 @@ } }, "node_modules/path-scurry": { - "version": "1.10.2", - "integrity": "sha1-j2NX6xI51fodqLn3DpwIBnVFi6c=", + "version": "1.11.1", + "integrity": "sha1-eWCmaIiFlKByCxKpEdGnQqufEdI=", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -3550,6 +3553,7 @@ "version": "10.2.2", "integrity": "sha1-SCBrwRTBJSlAxBsltBr1tUWsqHg=", "dev": true, + "license": "ISC", "engines": { "node": "14 || >=16.14" } diff --git a/package.json b/package.json index a31fbf4c0a..6aa82c8fdb 100644 --- a/package.json +++ b/package.json @@ -101,7 +101,7 @@ "esbuild": "^0.21.3", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.3.12", + "glob": "^10.3.15", "mocha": "^10.4.0", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", From a56206ba27a2de66d0c0330e9db28acb02f57dd3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 23:28:37 +0000 Subject: [PATCH 07/39] Bump semver from 7.6.0 to 7.6.2 Bumps [semver](https://github.com/npm/node-semver) from 7.6.0 to 7.6.2. - [Release notes](https://github.com/npm/node-semver/releases) - [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-semver/compare/v7.6.0...v7.6.2) --- updated-dependencies: - dependency-name: semver dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 06b2b3b8b4..30a4f7c014 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@vscode/extension-telemetry": "^0.9.6", "node-fetch": "^2.7.0", - "semver": "^7.6.0", + "semver": "^7.6.2", "untildify": "^4.0.0", "uuid": "^9.0.1", "vscode-languageclient": "^9.0.1", @@ -3022,6 +3022,7 @@ "node_modules/lru-cache": { "version": "6.0.0", "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", + "dev": true, "dependencies": { "yallist": "^4.0.0" }, @@ -3884,11 +3885,9 @@ "dev": true }, "node_modules/semver": { - "version": "7.6.0", - "integrity": "sha1-Gkak20v/zM2Xt0O1AFyDJfI9Ti0=", - "dependencies": { - "lru-cache": "^6.0.0" - }, + "version": "7.6.2", + "integrity": "sha1-Hjs0dZ+Jbo8U1hNHMs55iusMbhM=", + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4688,7 +4687,8 @@ }, "node_modules/yallist": { "version": "4.0.0", - "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=" + "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", + "dev": true }, "node_modules/yargs": { "version": "16.2.0", diff --git a/package.json b/package.json index 6aa82c8fdb..e26afd3ed7 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,7 @@ "dependencies": { "@vscode/extension-telemetry": "^0.9.6", "node-fetch": "^2.7.0", - "semver": "^7.6.0", + "semver": "^7.6.2", "untildify": "^4.0.0", "uuid": "^9.0.1", "vscode-languageclient": "^9.0.1", From 509c9a38ab7bda8f36e5a27d6689f6093558b401 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Tue, 9 Apr 2024 13:41:53 -0700 Subject: [PATCH 08/39] Check if the Terminal Shell Integration setting is changed Because if it is, we'll need to restart the Extension Terminal (unless it was hidden at startup). Also add a test to ensure we can find VS Code's script (in case its location changes upstream). --- src/session.ts | 38 +++++++++++++++++++++++--------------- src/utils.ts | 2 ++ test/core/paths.test.ts | 7 ++++++- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/session.ts b/src/session.ts index 238becbf04..d9667ef7a0 100644 --- a/src/session.ts +++ b/src/session.ts @@ -89,6 +89,7 @@ export class SessionManager implements Middleware { private sessionDetails: IEditorServicesSessionDetails | undefined; private sessionsFolder: vscode.Uri; private sessionStatus: SessionStatus = SessionStatus.NotStarted; + private shellIntegrationEnabled = false; private startCancellationTokenSource: vscode.CancellationTokenSource | undefined; private suppressRestartPrompt = false; private versionDetails: IPowerShellVersionDetails | undefined; @@ -109,6 +110,7 @@ export class SessionManager implements Middleware { // We have to override the scheme because it defaults to // 'vscode-userdata' which breaks UNC paths. this.sessionsFolder = vscode.Uri.joinPath(extensionContext.globalStorageUri.with({ scheme: "file" }), "sessions"); + this.platformDetails = getPlatformDetails(); this.HostName = hostName; this.DisplayName = displayName; @@ -189,6 +191,9 @@ export class SessionManager implements Middleware { // Migrate things. await this.migrateWhitespaceAroundPipeSetting(); + // Update non-PowerShell settings. + this.shellIntegrationEnabled = vscode.workspace.getConfiguration("terminal.integrated.shellIntegration").get("enabled") ?? false; + // Find the PowerShell executable to use for the server. this.PowerShellExeDetails = await this.findPowerShell(); @@ -447,19 +452,23 @@ export class SessionManager implements Middleware { private async onConfigurationUpdated(): Promise { const settings = getSettings(); + const shellIntegrationEnabled = vscode.workspace.getConfiguration("terminal.integrated.shellIntegration").get("enabled"); this.logger.updateLogLevel(settings.developer.editorServicesLogLevel); // Detect any setting changes that would affect the session. - if (!this.suppressRestartPrompt && this.sessionStatus === SessionStatus.Running && - (settings.cwd !== this.sessionSettings.cwd - || settings.powerShellDefaultVersion !== this.sessionSettings.powerShellDefaultVersion - || settings.developer.editorServicesLogLevel !== this.sessionSettings.developer.editorServicesLogLevel - || settings.developer.bundledModulesPath !== this.sessionSettings.developer.bundledModulesPath - || settings.developer.editorServicesWaitForDebugger !== this.sessionSettings.developer.editorServicesWaitForDebugger - || settings.developer.setExecutionPolicy !== this.sessionSettings.developer.setExecutionPolicy - || settings.integratedConsole.useLegacyReadLine !== this.sessionSettings.integratedConsole.useLegacyReadLine - || settings.integratedConsole.startInBackground !== this.sessionSettings.integratedConsole.startInBackground - || settings.integratedConsole.startLocation !== this.sessionSettings.integratedConsole.startLocation)) { + if (!this.suppressRestartPrompt + && this.sessionStatus === SessionStatus.Running + && ((shellIntegrationEnabled !== this.shellIntegrationEnabled + && !settings.integratedConsole.startInBackground) + || settings.cwd !== this.sessionSettings.cwd + || settings.powerShellDefaultVersion !== this.sessionSettings.powerShellDefaultVersion + || settings.developer.editorServicesLogLevel !== this.sessionSettings.developer.editorServicesLogLevel + || settings.developer.bundledModulesPath !== this.sessionSettings.developer.bundledModulesPath + || settings.developer.editorServicesWaitForDebugger !== this.sessionSettings.developer.editorServicesWaitForDebugger + || settings.developer.setExecutionPolicy !== this.sessionSettings.developer.setExecutionPolicy + || settings.integratedConsole.useLegacyReadLine !== this.sessionSettings.integratedConsole.useLegacyReadLine + || settings.integratedConsole.startInBackground !== this.sessionSettings.integratedConsole.startInBackground + || settings.integratedConsole.startLocation !== this.sessionSettings.integratedConsole.startLocation)) { this.logger.writeVerbose("Settings changed, prompting to restart..."); const response = await vscode.window.showInformationMessage( @@ -610,10 +619,6 @@ export class SessionManager implements Middleware { }); }; - // When Terminal Shell Integration is enabled, we pass the path to the script that the server should execute. - // Passing an empty string implies integration is disabled. - const shellIntegrationEnabled = vscode.workspace.getConfiguration("terminal.integrated.shellIntegration").get("enabled"); - const shellIntegrationScript = path.join(vscode.env.appRoot, "out", "vs", "workbench", "contrib", "terminal", "browser", "media", "shellIntegration.ps1"); const clientOptions: LanguageClientOptions = { documentSelector: this.documentSelector, @@ -624,10 +629,13 @@ export class SessionManager implements Middleware { // TODO: fileEvents: vscode.workspace.createFileSystemWatcher('**/.eslintrc') }, // NOTE: Some settings are only applicable on startup, so we send them during initialization. + // When Terminal Shell Integration is enabled, we pass the path to the script that the server should execute. + // Passing an empty string implies integration is disabled. initializationOptions: { enableProfileLoading: this.sessionSettings.enableProfileLoading, initialWorkingDirectory: await validateCwdSetting(this.logger), - shellIntegrationScript: shellIntegrationEnabled ? shellIntegrationScript : "", + shellIntegrationScript: this.shellIntegrationEnabled + ? utils.ShellIntegrationScript : "", }, errorHandler: { // Override the default error handler to prevent it from diff --git a/src/utils.ts b/src/utils.ts index 182612194e..9ae6e8f03a 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -7,6 +7,8 @@ import vscode = require("vscode"); export const PowerShellLanguageId = "powershell"; +export const ShellIntegrationScript = path.join(vscode.env.appRoot, "out", "vs", "workbench", "contrib", "terminal", "browser", "media", "shellIntegration.ps1"); + export function escapeSingleQuotes(p: string): string { return p.replace(new RegExp("'", "g"), "''"); } diff --git a/test/core/paths.test.ts b/test/core/paths.test.ts index 628034a581..15f60f5bd1 100644 --- a/test/core/paths.test.ts +++ b/test/core/paths.test.ts @@ -5,7 +5,7 @@ import assert from "assert"; import * as vscode from "vscode"; import { IPowerShellExtensionClient } from "../../src/features/ExternalApi"; import utils = require("../utils"); -import { checkIfDirectoryExists } from "../../src/utils"; +import { checkIfDirectoryExists, checkIfFileExists, ShellIntegrationScript } from "../../src/utils"; describe("Path assumptions", function () { let globalStorageUri: vscode.Uri; @@ -21,4 +21,9 @@ describe("Path assumptions", function () { it("Creates the log folder at the correct path", async function () { assert(await checkIfDirectoryExists(vscode.Uri.joinPath(globalStorageUri, "logs"))); }); + + it("Finds the Terminal Shell Integration Script", async function () { + // If VS Code changes the location of the script, we need to know ASAP (as it's not a public API). + assert(await checkIfFileExists(ShellIntegrationScript)); + }); }); From 0609e2985251db748db5213723c0acfca5259ae8 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Wed, 22 May 2024 12:02:59 -0700 Subject: [PATCH 09/39] Disable Dependabot It's having weird bugs and we're giving up on it. --- .github/dependabot.yml | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 941d4d9781..0000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,25 +0,0 @@ -version: 2 -updates: -- package-ecosystem: npm - directory: "/" - labels: [ ] - schedule: - interval: weekly - open-pull-requests-limit: 10 - groups: - eslint: - patterns: - - "esbuild" - - "eslint" - - "@typescript-eslint/*" - types: - patterns: - - "@types/*" - ignore: - - dependency-name: "untildify" - versions: [ "5.x" ] -- package-ecosystem: github-actions - directory: "/" - labels: [ ] - schedule: - interval: weekly From 5691aff1767e71b840aa326957cb391aad0e2626 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Wed, 22 May 2024 13:19:42 -0700 Subject: [PATCH 10/39] Pin `@types/node` correctly and document how to update --- docs/development.md | 22 ++ package-lock.json | 535 ++++++++++++++++++++++++++++++++++---------- package.json | 8 +- 3 files changed, 443 insertions(+), 122 deletions(-) diff --git a/docs/development.md b/docs/development.md index 5cac5bcf9e..08e665485e 100644 --- a/docs/development.md +++ b/docs/development.md @@ -22,6 +22,28 @@ [fork]: https://help.github.com/articles/fork-a-repo/ +## Tracking Upstream Dependencies + +As a VS Code extension, we first rely on the `engine` field of `package.json` to +state the lowest version of VS Code we support. This extension in particular +must not update past what Azure Data Studio supports, which can be found in the +[`vscodeVersion`][] field of their `product.json` file. We periodically check +that for updates, and when available update our own. + +When our `engine` field is updated the development dependency `@types/vscode` +must be updated to match. Note that it uses `~` (not `^`) so as to accept new +patches with `npm update` but not new minor versions. Then we check that version +of VS Code's own `package.json` file for their [`electron`][] dependency. The +major version of [Electron][] will tell us which [Node.js][] is included, which +dictates which version of Node.js the extension is eventually run with. This +lets us finally update our `@types/node` development dependency to match, our +developer machines if necessary, and the CI and OneBranch pipeline tasks. + +[`vscodeVersion`]: https://github.com/microsoft/azuredatastudio/blob/4970733324ef8254b7c22a5dc55af7f8a1dea93f/product.json#L50 +[`electron`]: https://github.com/microsoft/vscode/blob/8b617bd08fd9e3fc94d14adb8d358b56e3f72314/package.json#L153 +[Electron]: https://www.electronjs.org/blog/electron-25-0 +[Node.js]: https://nodejs.org/en/download/package-manager + ### Building the Code #### From Visual Studio Code diff --git a/package-lock.json b/package-lock.json index 30a4f7c014..1fcd7c7448 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,7 +20,7 @@ "devDependencies": { "@types/mocha": "^10.0.6", "@types/mock-fs": "^4.13.4", - "@types/node": "^18.19.31", + "@types/node": "~18.15.0", "@types/node-fetch": "^2.6.11", "@types/rewire": "^2.5.30", "@types/semver": "^7.5.8", @@ -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.9.0", - "@typescript-eslint/parser": "^7.9.0", + "@typescript-eslint/eslint-plugin": "^7.10.0", + "@typescript-eslint/parser": "^7.10.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.65.0", "@vscode/test-electron": "^2.3.10", @@ -37,7 +37,7 @@ "esbuild": "^0.21.3", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.3.15", + "glob": "^10.3.16", "mocha": "^10.4.0", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", @@ -248,30 +248,30 @@ } }, "node_modules/@azure/msal-browser": { - "version": "3.13.0", - "integrity": "sha1-3FLF1JV8MyCeijQ6jDH89mIoUCQ=", + "version": "3.14.0", + "integrity": "sha1-HLXKtDiplDISqlDEA9Efd1x4eyE=", "dev": true, "dependencies": { - "@azure/msal-common": "14.9.0" + "@azure/msal-common": "14.10.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "14.9.0", - "integrity": "sha1-zhiVtO78yqDmqqOduGlhHq7E438=", + "version": "14.10.0", + "integrity": "sha1-IVRJcmcXtT1UmVPbd1YsrWy4Qhw=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.7.0", - "integrity": "sha1-hkGrhGcE3U/L7tMK75RUTF/s+jA=", + "version": "2.8.1", + "integrity": "sha1-re0o037qLnJ4yb1E8gFmRzkPI5w=", "dev": true, "dependencies": { - "@azure/msal-common": "14.9.0", + "@azure/msal-common": "14.10.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -287,6 +287,306 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.3", + "integrity": "sha1-eNPm3NGcHLkfOUAUPoba0QlK7oE=", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.3", + "integrity": "sha1-f9qS4yMQQ8Bx6mqnbJKszqhkOf0=", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.3", + "integrity": "sha1-XupWwh1hc0lC4FCEDYget77cOZM=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.3", + "integrity": "sha1-Yl0Tm96BuB9U/0k7E4HKD1QCAPM=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.3", + "integrity": "sha1-+iXzikP/TEaVidHck0SNU01/MTs=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.3", + "integrity": "sha1-LkULghTxeaVrRVmy8QcGDit5LH4=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.3", + "integrity": "sha1-9rKeB7ziXFRfb3uwMdO+am6h3FA=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.3", + "integrity": "sha1-Gl2iv4n41nECgg2JPScaJwrlV1E=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.3", + "integrity": "sha1-hypHbKGKliqYcAAkxEenknnbHUU=", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.3", + "integrity": "sha1-NV9mJMGsb19ohBoyeskLmMZ5Ymw=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.3", + "integrity": "sha1-2nE+uA/2wBHtAapN7rtfx1iQYEY=", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.3", + "integrity": "sha1-p8XcnpYQCQGNI+xTpDuqjAPFodU=", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.3", + "integrity": "sha1-uXVD89hlU2VynzcC7Qf25Bvl5I4=", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.3", + "integrity": "sha1-I7kGTVvAvyihFaL5z2nzsBzf4Bw=", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.3", + "integrity": "sha1-TyU2Mn9tREwFc701u9OmeJfb1do=", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.3", + "integrity": "sha1-BebzoSoNzWBnLyXoeJqDzTr/pIc=", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.3", + "integrity": "sha1-mU00fn9TDDNijjXkjM3o8pmtvLY=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.3", + "integrity": "sha1-MJ2MMjYy6ccO6Sz1QU+mW1634A4=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.3", + "integrity": "sha1-KIIPlDH+APKwSqxXURdUIT/wYOs=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.3", + "integrity": "sha1-off5i4W9Ih/g9UXQGrwOYSOuYNw=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/win32-arm64": { "version": "0.21.3", "integrity": "sha1-xsPAsaHfxjJ+9NtqpPtu/Z31Mfc=", @@ -294,7 +594,36 @@ "arm64" ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.3", + "integrity": "sha1-RxuNLK0b1kee7lrPBLuiwOTTfiQ=", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.3", + "integrity": "sha1-iZwDV2xMKMgyKPDmTfoQ7a6ZyaI=", + "cpu": [ + "x64" + ], + "dev": true, "optional": true, "os": [ "win32" @@ -467,10 +796,10 @@ } }, "node_modules/@microsoft/1ds-core-js": { - "version": "4.2.0", - "integrity": "sha1-rdN5AzaBS+ahKFEnSMUccxmerlE=", + "version": "4.2.1", + "integrity": "sha1-LMtjdrR5QzmZ7MKCRXOUHkHr++Q=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.2.0", + "@microsoft/applicationinsights-core-js": "3.2.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.1 < 2.x", @@ -478,10 +807,10 @@ } }, "node_modules/@microsoft/1ds-post-js": { - "version": "4.2.0", - "integrity": "sha1-HZtYBnXiTozprbyBw9muSgghaA4=", + "version": "4.2.1", + "integrity": "sha1-LeI53hJpsaiRgmXsKMsOOcQQsP8=", "dependencies": { - "@microsoft/1ds-core-js": "4.2.0", + "@microsoft/1ds-core-js": "4.2.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.1 < 2.x", @@ -489,11 +818,11 @@ } }, "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "3.2.0", - "integrity": "sha1-STn6htz/sY5HKy2bEt/Vou+yTc4=", + "version": "3.2.1", + "integrity": "sha1-+ogrga7VpA5Hp49tmW5e0BuilYY=", "dependencies": { - "@microsoft/applicationinsights-common": "3.2.0", - "@microsoft/applicationinsights-core-js": "3.2.0", + "@microsoft/applicationinsights-common": "3.2.1", + "@microsoft/applicationinsights-core-js": "3.2.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.1 < 2.x", @@ -504,10 +833,10 @@ } }, "node_modules/@microsoft/applicationinsights-common": { - "version": "3.2.0", - "integrity": "sha1-NcfwT+hcA6HQr/kTUNGjuQ9oGOA=", + "version": "3.2.1", + "integrity": "sha1-EzYDrNpx+iCqH4PxMHXIFK3N4ZA=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.2.0", + "@microsoft/applicationinsights-core-js": "3.2.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-utils": ">= 0.11.1 < 2.x" @@ -517,8 +846,8 @@ } }, "node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.2.0", - "integrity": "sha1-LQIGdP+Y72X0JR0ywaPt+H6S/f0=", + "version": "3.2.1", + "integrity": "sha1-lgVHkwz2QkumM/lJCt84JEPMZaA=", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", @@ -537,12 +866,12 @@ } }, "node_modules/@microsoft/applicationinsights-web-basic": { - "version": "3.2.0", - "integrity": "sha1-l6DJ0rwEczHsAzYEQBAjVXf8Yn0=", + "version": "3.2.1", + "integrity": "sha1-VF8GIXAskJKglCycxTh4qM1asuE=", "dependencies": { - "@microsoft/applicationinsights-channel-js": "3.2.0", - "@microsoft/applicationinsights-common": "3.2.0", - "@microsoft/applicationinsights-core-js": "3.2.0", + "@microsoft/applicationinsights-channel-js": "3.2.1", + "@microsoft/applicationinsights-common": "3.2.1", + "@microsoft/applicationinsights-core-js": "3.2.1", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.1 < 2.x", @@ -615,7 +944,6 @@ "version": "3.0.1", "integrity": "sha1-ECk1fkTKkBphVYX20nc428iQhM0=", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -624,7 +952,6 @@ "version": "11.2.2", "integrity": "sha1-UAY8w1dPSie9hFMYCgQXHIXMlpk=", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -650,8 +977,7 @@ "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", "integrity": "sha1-WYGo2xi1a6OO8O+32ZWxKqe1GRg=", - "dev": true, - "license": "(Unlicense OR Apache-2.0)" + "dev": true }, "node_modules/@tootallnate/once": { "version": "1.1.2", @@ -675,12 +1001,9 @@ } }, "node_modules/@types/node": { - "version": "18.19.31", - "integrity": "sha1-t9SgD3y4JrYKVDzr29pdGJquzc0=", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } + "version": "18.15.13", + "integrity": "sha1-9kJ3w0EVDJeeQrAOSsKJKQyd9Gk=", + "dev": true }, "node_modules/@types/node-fetch": { "version": "2.6.11", @@ -730,16 +1053,15 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.9.0", - "integrity": "sha1-CTuW/E40IibmXV8Y+chwgeCwSjE=", + "version": "7.10.0", + "integrity": "sha1-B4VKI28Qe7Rcv09iuJR0y+phf1A=", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.9.0", - "@typescript-eslint/type-utils": "7.9.0", - "@typescript-eslint/utils": "7.9.0", - "@typescript-eslint/visitor-keys": "7.9.0", + "@typescript-eslint/scope-manager": "7.10.0", + "@typescript-eslint/type-utils": "7.10.0", + "@typescript-eslint/utils": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -763,15 +1085,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.9.0", - "integrity": "sha1-+zugG3Xg5ly3gDejYJYbADAfbHA=", + "version": "7.10.0", + "integrity": "sha1-5qwcunvAQApEWefrWyMRW9cazPs=", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/scope-manager": "7.9.0", - "@typescript-eslint/types": "7.9.0", - "@typescript-eslint/typescript-estree": "7.9.0", - "@typescript-eslint/visitor-keys": "7.9.0", + "@typescript-eslint/scope-manager": "7.10.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/typescript-estree": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0", "debug": "^4.3.4" }, "engines": { @@ -791,13 +1112,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.9.0", - "integrity": "sha1-HdPmOkQR2zVqnQQOdYZIUbXyYZs=", + "version": "7.10.0", + "integrity": "sha1-BUonsQkBmTN6Oc91X4PZ8s4mVGs=", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.9.0", - "@typescript-eslint/visitor-keys": "7.9.0" + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -808,13 +1128,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.9.0", - "integrity": "sha1-9SMmLhtmymVUC3ploSIttS4KkMk=", + "version": "7.10.0", + "integrity": "sha1-inWszOhR0KMxqpMxJo72TpswAnA=", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "7.9.0", - "@typescript-eslint/utils": "7.9.0", + "@typescript-eslint/typescript-estree": "7.10.0", + "@typescript-eslint/utils": "7.10.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -835,10 +1154,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.9.0", - "integrity": "sha1-tY5IXkv7oFVlnH5oOtT18IIa4uw=", + "version": "7.10.0", + "integrity": "sha1-2pIwnJeTKjoDN2L9X6qLBn3oTjs=", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -848,13 +1166,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.9.0", - "integrity": "sha1-M5XidlYGDcMTprQGw6KYtyloXgc=", + "version": "7.10.0", + "integrity": "sha1-bc3F3jFJkWpqWZ+ond5cRxuIuLs=", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "@typescript-eslint/types": "7.9.0", - "@typescript-eslint/visitor-keys": "7.9.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/visitor-keys": "7.10.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -876,15 +1193,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.9.0", - "integrity": "sha1-G5ajTu/cocggyxu8J1HYSLRUCJk=", + "version": "7.10.0", + "integrity": "sha1-juQ+VgjJ9DlSTqrqjeWzWLFcUbM=", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.9.0", - "@typescript-eslint/types": "7.9.0", - "@typescript-eslint/typescript-estree": "7.9.0" + "@typescript-eslint/scope-manager": "7.10.0", + "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/typescript-estree": "7.10.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -898,12 +1214,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.9.0", - "integrity": "sha1-ghYmVuM5w97wKJX1yFRvaIjZueo=", + "version": "7.10.0", + "integrity": "sha1-KvLpHnOnXda3C0SGxIrp04pIWng=", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "7.9.0", + "@typescript-eslint/types": "7.10.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -940,7 +1255,6 @@ "version": "2.3.10", "integrity": "sha1-xj4kN+xNZf9Wx8/LTfzrDog+9HM=", "dev": true, - "license": "MIT", "dependencies": { "http-proxy-agent": "^4.0.1", "https-proxy-agent": "^5.0.0", @@ -1213,11 +1527,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", + "version": "3.0.3", + "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -1474,8 +1788,8 @@ } }, "node_modules/cockatiel": { - "version": "3.1.2", - "integrity": "sha1-SGPXqSw8IteKyMauNRN8d/gZJOs=", + "version": "3.1.3", + "integrity": "sha1-uxd0pJihfnOd2ZTVZhDcZTiwKFg=", "dev": true, "engines": { "node": ">=16" @@ -1802,7 +2116,6 @@ "integrity": "sha1-y7ELEAx2iwz7NdYdnnAyRVNDfDg=", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -2174,8 +2487,8 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", + "version": "7.1.1", + "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -2318,13 +2631,12 @@ "optional": true }, "node_modules/glob": { - "version": "10.3.15", - "integrity": "sha1-5yvGG8MDjJBgX13UhUPcZ6rztQ0=", + "version": "10.3.16", + "integrity": "sha1-v2Z51dUSecjPrk/r4NBR0qS/TG8=", "dev": true, - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", + "jackspeak": "^3.1.2", "minimatch": "^9.0.1", "minipass": "^7.0.4", "path-scurry": "^1.11.0" @@ -2698,8 +3010,8 @@ "dev": true }, "node_modules/jackspeak": { - "version": "2.3.6", - "integrity": "sha1-ZH7MRyI4ruSwasDkYazCGoxQXKg=", + "version": "3.1.2", + "integrity": "sha1-6tpn6pSca3HeUPGwnJKpYYl7kKs=", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -2799,8 +3111,7 @@ "node_modules/just-extend": { "version": "6.2.0", "integrity": "sha1-uBar+z1n7oYEgudAFWRnJVgWOUc=", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/jwa": { "version": "2.0.0", @@ -3067,11 +3378,11 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "integrity": "sha1-vImZp8u/d83InxMvbkZwUbSQkMY=", + "version": "4.0.7", + "integrity": "sha1-M+gZDZ/kdKmJVSX1YY7uE21GwuU=", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -3147,7 +3458,6 @@ "version": "7.1.1", "integrity": "sha1-9/ha/1mqIvEQsg4naSRlzzv4lIE=", "dev": true, - "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -3315,7 +3625,6 @@ "version": "6.0.0", "integrity": "sha1-rlb8y12RIDc2PDs/Keu/oovei0g=", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", @@ -3538,7 +3847,6 @@ "version": "1.11.1", "integrity": "sha1-eWCmaIiFlKByCxKpEdGnQqufEdI=", "dev": true, - "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -3554,7 +3862,6 @@ "version": "10.2.2", "integrity": "sha1-SCBrwRTBJSlAxBsltBr1tUWsqHg=", "dev": true, - "license": "ISC", "engines": { "node": "14 || >=16.14" } @@ -3562,8 +3869,7 @@ "node_modules/path-to-regexp": { "version": "6.2.2", "integrity": "sha1-MkN3qD5QScvsrcVVTWpjqaSGazY=", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/path-type": { "version": "4.0.0", @@ -3887,7 +4193,6 @@ "node_modules/semver": { "version": "7.6.2", "integrity": "sha1-Hjs0dZ+Jbo8U1hNHMs55iusMbhM=", - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4020,7 +4325,6 @@ "version": "18.0.0", "integrity": "sha1-acopPbw+glkKiw1GyX9j68Hl/AE=", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^11.2.2", @@ -4396,11 +4700,6 @@ "integrity": "sha1-BHhqH1idxsCfdh/F9FuJ6TUTZEE=", "dev": true }, - "node_modules/undici-types": { - "version": "5.26.5", - "integrity": "sha1-vNU5iT0AtW6WT9JlekhmsiGmVhc=", - "dev": true - }, "node_modules/untildify": { "version": "4.0.0", "integrity": "sha1-K8lHuVNlJIfkYAlJ+wkeOujNkZs=", diff --git a/package.json b/package.json index e26afd3ed7..2e9346a795 100644 --- a/package.json +++ b/package.json @@ -84,7 +84,7 @@ "devDependencies": { "@types/mocha": "^10.0.6", "@types/mock-fs": "^4.13.4", - "@types/node": "^18.19.31", + "@types/node": "~18.15.0", "@types/node-fetch": "^2.6.11", "@types/rewire": "^2.5.30", "@types/semver": "^7.5.8", @@ -92,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.9.0", - "@typescript-eslint/parser": "^7.9.0", + "@typescript-eslint/eslint-plugin": "^7.10.0", + "@typescript-eslint/parser": "^7.10.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.65.0", "@vscode/test-electron": "^2.3.10", @@ -101,7 +101,7 @@ "esbuild": "^0.21.3", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.3.15", + "glob": "^10.3.16", "mocha": "^10.4.0", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", From 5c8a7a69426f739d7d8db7321b9209df625a63d4 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 6 Jun 2024 16:05:57 -0700 Subject: [PATCH 11/39] Update SECURITY.md --- SECURITY.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index f7b89984f0..f941d308b1 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,18 +1,18 @@ - + ## Security -Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/). +Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin) and [PowerShell](https://github.com/PowerShell). -If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below. +If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below. ## Reporting Security Issues **Please do not report security vulnerabilities through public GitHub issues.** -Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report). +Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report). -If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc). +If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp). You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc). @@ -28,7 +28,7 @@ Please include the requested information listed below (as much as you can provid This information will help us triage your report more quickly. -If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs. +If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs. ## Preferred Languages @@ -36,6 +36,6 @@ We prefer all communications to be in English. ## Policy -Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd). +Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd). - \ No newline at end of file + From ef038c80a261b79ac18593c0ec0b218129d0bc64 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 6 Jun 2024 16:09:21 -0700 Subject: [PATCH 12/39] Update README.md --- README.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 9d8db9cd2f..3c9398d92c 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,10 @@ button and choosing **Install Another Version**. Please our [support](SUPPORT.md) document. +## Code of Conduct + +Please see our [Code of Conduct](CODE_OF_CONDUCT.md) before participating in this project. + ## Contributing to the Code Check out the [development documentation](docs/development.md) for more details @@ -100,7 +104,7 @@ on how to contribute to this extension! ## Security Note -For any security issues, please see [here](./SECURITY.md). +For any security issues, please see [here](SECURITY.md). ## Maintainers @@ -109,6 +113,7 @@ For any security issues, please see [here](./SECURITY.md). - Andy Jordan - [@andyleejordan](https://github.com/andyleejordan) - Patrick Meinecke - [@SeeminglyScience](https://github.com/SeeminglyScience) - Sydney Smith - [@SydneyhSmith](https://github.com/SydneyhSmith) +- Justin Grote - [@JustinGrote](https://github.com/JustinGrote) ### Emeriti @@ -120,15 +125,5 @@ For any security issues, please see [here](./SECURITY.md). ## License This extension is [licensed under the MIT License](LICENSE.txt). Please see the -[third-party notices](Third%20Party%20Notices.txt) file for details on the third-party +[third-party notices](NOTICE.txt) file for details on the third-party binaries that we include with releases of this project. - -## [Code of Conduct][conduct-md] - -This project has adopted the [Microsoft Open Source Code of Conduct][conduct-code]. -For more information see the [Code of Conduct FAQ][conduct-FAQ] or contact [opencode@microsoft.com][conduct-email] with any additional questions or comments. - -[conduct-code]: http://opensource.microsoft.com/codeofconduct/ -[conduct-FAQ]: http://opensource.microsoft.com/codeofconduct/faq/ -[conduct-email]: mailto:opencode@microsoft.com -[conduct-md]: https://github.com/PowerShell/vscode-powershell/blob/main/CODE_OF_CONDUCT.md From 5e35bcd2c7830dca555b880c2bf362fcf9fe02dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Olav=20R=C3=B8nnestad=20Birkeland?= <6450056+o-l-a-v@users.noreply.github.com> Date: Mon, 17 Jun 2024 09:22:52 +0200 Subject: [PATCH 13/39] Added info about new logs location --- docs/troubleshooting.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/troubleshooting.md b/docs/troubleshooting.md index de9428eac5..3c341a6e19 100644 --- a/docs/troubleshooting.md +++ b/docs/troubleshooting.md @@ -267,13 +267,12 @@ your logs for any sensitive information you would not like to share online!** "powershell.developer.editorServicesLogLevel": "Normal" ``` -* Logs are located at - `~/.vscode[-insiders]/extensions/ms-vscode.powershell[-preview]-/logs`. - For example: `~/.vscode/extensions/ms-vscode.powershell-2019.5.1/logs`. +* Logs are located at: + * Unix: `~/.config/Code/User/globalStorage/ms-vscode.powershell/logs`. + * Windows: `%APPDATA%\Code\User\globalStorage\ms-vscode.powershell\logs` * In VS Code you can open and read the logs directly from the [Command Palette][] - (Ctrl+Shift+P) with `PowerShell: Open PowerShell - Extension Logs Folder`. + (Ctrl+Shift+P) with `PowerShell: Open PowerShell Extension Logs Folder`. > NOTE: Don't forget to also attach the [Language Server Protocol payload > logs](#provide-language-server-protocol-payload-logs)! From f48a81a632e493fb4d742381d582beb638496ec1 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 20 Jun 2024 11:39:31 -0700 Subject: [PATCH 14/39] Enable CodeQL in OneBranch And rely on GitHub's automatic action. --- .github/workflows/codeql-analysis.yml | 40 ----------------------- .pipelines/vscode-powershell-Official.yml | 9 +++++ 2 files changed, 9 insertions(+), 40 deletions(-) delete mode 100644 .github/workflows/codeql-analysis.yml diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml deleted file mode 100644 index 3d38ea5c1b..0000000000 --- a/.github/workflows/codeql-analysis.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: CodeQL Analysis - -on: - push: - branches: [ main ] - pull_request: - # The branches below must be a subset of the branches above - branches: [ main ] - paths-ignore: [ '**/*.md' ] - schedule: - - cron: '25 9 * * 0' - -jobs: - analyze: - name: analyze - strategy: - fail-fast: false - matrix: - language: [ typescript ] - runs-on: ubuntu-latest - permissions: - actions: read - contents: read - security-events: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - - - name: Autobuild - uses: github/codeql-action/autobuild@v3 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: '/language:${{matrix.language}}' diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 983877977d..cb1a1c989d 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -10,6 +10,14 @@ trigger: none +schedules: +- cron: '25 9 * * 3' + displayName: Weekly CodeQL + branches: + include: + - main + always: true + parameters: - name: debug displayName: Enable debug output @@ -144,6 +152,7 @@ extends: displayName: Run tests - stage: release dependsOn: build + condition: ne(variables['Build.Reason'], 'Schedule') variables: version: $[ stageDependencies.build.main.outputs['package.version'] ] vsixVersion: $[ stageDependencies.build.main.outputs['package.vsixVersion'] ] From 488c54e977808c9683ec3d8a4e4f2b4378931683 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Fri, 12 Jul 2024 16:02:20 -0700 Subject: [PATCH 15/39] Update packages via `npm update` And fix slight test API change. --- package-lock.json | 997 ++++++++++++++++++++++++++++++---------------- package.json | 20 +- test/runTests.ts | 6 +- 3 files changed, 661 insertions(+), 362 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1fcd7c7448..1d55ceaac9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,7 +18,7 @@ "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { - "@types/mocha": "^10.0.6", + "@types/mocha": "^10.0.7", "@types/mock-fs": "^4.13.4", "@types/node": "~18.15.0", "@types/node-fetch": "^2.6.11", @@ -28,24 +28,24 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.10.0", - "@typescript-eslint/parser": "^7.10.0", + "@typescript-eslint/eslint-plugin": "^7.16.0", + "@typescript-eslint/parser": "^7.16.0", "@ungap/structured-clone": "^1.2.0", - "@vscode/debugprotocol": "^1.65.0", - "@vscode/test-electron": "^2.3.10", - "@vscode/vsce": "^2.26.1", - "esbuild": "^0.21.3", + "@vscode/debugprotocol": "^1.66.0", + "@vscode/test-electron": "^2.4.1", + "@vscode/vsce": "^2.30.0", + "esbuild": "^0.21.5", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.3.16", - "mocha": "^10.4.0", + "glob": "^10.4.5", + "mocha": "^10.6.0", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", "mock-fs": "^5.2.0", "rewire": "^7.0.0", "sinon": "^18.0.0", "source-map-support": "^0.5.21", - "typescript": "^5.4.5" + "typescript": "^5.5.3" }, "engines": { "vscode": "^1.82.0" @@ -115,8 +115,8 @@ } }, "node_modules/@azure/core-rest-pipeline": { - "version": "1.16.0", - "integrity": "sha1-YxFy4v4DRs9EENHI4BrZjYSXOOI=", + "version": "1.16.2", + "integrity": "sha1-P3GwnkWmWSbMWYR4tPG80P5nv0s=", "dev": true, "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -143,41 +143,6 @@ "node": ">=18.0.0" } }, - "node_modules/@azure/core-rest-pipeline/node_modules/agent-base": { - "version": "7.1.1", - "integrity": "sha1-vb3tffsJa3UaKgh+7rlmRyWy4xc=", - "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@azure/core-rest-pipeline/node_modules/http-proxy-agent": { - "version": "7.0.2", - "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@azure/core-rest-pipeline/node_modules/https-proxy-agent": { - "version": "7.0.4", - "integrity": "sha1-jpe4QaAprY3chzHyZZW62GjLQWg=", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@azure/core-tracing": { "version": "1.1.2", "integrity": "sha1-Bl2rTgk/thiZmIoc28gn2a2QtO4=", @@ -190,8 +155,8 @@ } }, "node_modules/@azure/core-util": { - "version": "1.9.0", - "integrity": "sha1-Rpr9fmRS1TiLGJ+Q0z93VrCyENE=", + "version": "1.9.1", + "integrity": "sha1-BeqVBcXN8pxVzPmaZIxm3dZ4WQs=", "dev": true, "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -213,19 +178,19 @@ } }, "node_modules/@azure/identity": { - "version": "4.2.0", - "integrity": "sha1-rK7i9QeFzId3jsfu3MINbnLB2iM=", + "version": "4.3.0", + "integrity": "sha1-6NprO/HfTeFRHoE6cWaktbSpnKE=", "dev": true, "dependencies": { "@azure/abort-controller": "^1.0.0", "@azure/core-auth": "^1.5.0", - "@azure/core-client": "^1.4.0", + "@azure/core-client": "^1.9.2", "@azure/core-rest-pipeline": "^1.1.0", "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.3.0", "@azure/logger": "^1.0.0", "@azure/msal-browser": "^3.11.1", - "@azure/msal-node": "^2.6.6", + "@azure/msal-node": "^2.9.2", "events": "^3.0.0", "jws": "^4.0.0", "open": "^8.0.0", @@ -237,8 +202,8 @@ } }, "node_modules/@azure/logger": { - "version": "1.1.2", - "integrity": "sha1-P0uHbO+tMo3BSv+LhQ1jthHiSdw=", + "version": "1.1.3", + "integrity": "sha1-Caj9SFC5EShldW6S1ei3KO5Fc0U=", "dev": true, "dependencies": { "tslib": "^2.6.2" @@ -248,30 +213,30 @@ } }, "node_modules/@azure/msal-browser": { - "version": "3.14.0", - "integrity": "sha1-HLXKtDiplDISqlDEA9Efd1x4eyE=", + "version": "3.19.0", + "integrity": "sha1-9szoeTjc2IOZM75wEfUdwnwcKi8=", "dev": true, "dependencies": { - "@azure/msal-common": "14.10.0" + "@azure/msal-common": "14.13.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "14.10.0", - "integrity": "sha1-IVRJcmcXtT1UmVPbd1YsrWy4Qhw=", + "version": "14.13.0", + "integrity": "sha1-c3e0kJpG0Z6pHa3SSvdwXmqpR68=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.8.1", - "integrity": "sha1-re0o037qLnJ4yb1E8gFmRzkPI5w=", + "version": "2.11.0", + "integrity": "sha1-xlsT/UAHqDqOt4DT0Yfl0zTMlEQ=", "dev": true, "dependencies": { - "@azure/msal-common": "14.10.0", + "@azure/msal-common": "14.13.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -288,8 +253,8 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.21.3", - "integrity": "sha1-eNPm3NGcHLkfOUAUPoba0QlK7oE=", + "version": "0.21.5", + "integrity": "sha1-xxhKMmUz/N8bjuBzPiHHE7l1V18=", "cpu": [ "ppc64" ], @@ -303,8 +268,8 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.21.3", - "integrity": "sha1-f9qS4yMQQ8Bx6mqnbJKszqhkOf0=", + "version": "0.21.5", + "integrity": "sha1-mwQ4T7dxkm36bXrQQyTssqubLig=", "cpu": [ "arm" ], @@ -318,8 +283,8 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.21.3", - "integrity": "sha1-XupWwh1hc0lC4FCEDYget77cOZM=", + "version": "0.21.5", + "integrity": "sha1-Cdm0NXeA2p6jp9+4M6Hx/0ObQFI=", "cpu": [ "arm64" ], @@ -333,8 +298,8 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.21.3", - "integrity": "sha1-Yl0Tm96BuB9U/0k7E4HKD1QCAPM=", + "version": "0.21.5", + "integrity": "sha1-KZGOwtt1TO3LbBsE3ozWVHr2Rh4=", "cpu": [ "x64" ], @@ -348,8 +313,8 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.21.3", - "integrity": "sha1-+iXzikP/TEaVidHck0SNU01/MTs=", + "version": "0.21.5", + "integrity": "sha1-5JW1OWYOUWkPOSivUKdvsKbM/yo=", "cpu": [ "arm64" ], @@ -363,8 +328,8 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.21.3", - "integrity": "sha1-LkULghTxeaVrRVmy8QcGDit5LH4=", + "version": "0.21.5", + "integrity": "sha1-wTg4+lc3KDmr3dyR1xVCzuouHiI=", "cpu": [ "x64" ], @@ -378,8 +343,8 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.21.3", - "integrity": "sha1-9rKeB7ziXFRfb3uwMdO+am6h3FA=", + "version": "0.21.5", + "integrity": "sha1-ZGuYmqIL+J/Qcd1dv61po1QuVQ4=", "cpu": [ "arm64" ], @@ -393,8 +358,8 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.21.3", - "integrity": "sha1-Gl2iv4n41nECgg2JPScaJwrlV1E=", + "version": "0.21.5", + "integrity": "sha1-qmFc/ICvlU00WJBuOMoiwYz1wmE=", "cpu": [ "x64" ], @@ -408,8 +373,8 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.21.3", - "integrity": "sha1-hypHbKGKliqYcAAkxEenknnbHUU=", + "version": "0.21.5", + "integrity": "sha1-/G/RGorKVsH284lPK+oEefj2Jrk=", "cpu": [ "arm" ], @@ -423,8 +388,8 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.21.3", - "integrity": "sha1-NV9mJMGsb19ohBoyeskLmMZ5Ymw=", + "version": "0.21.5", + "integrity": "sha1-cKxvoU9ct+H3+Ie8/7aArQmSK1s=", "cpu": [ "arm64" ], @@ -438,8 +403,8 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.21.3", - "integrity": "sha1-2nE+uA/2wBHtAapN7rtfx1iQYEY=", + "version": "0.21.5", + "integrity": "sha1-MnH1Oz+T49CT1RjRZJ1taNNG7eI=", "cpu": [ "ia32" ], @@ -453,8 +418,8 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.21.3", - "integrity": "sha1-p8XcnpYQCQGNI+xTpDuqjAPFodU=", + "version": "0.21.5", + "integrity": "sha1-7WLgQjjFcCauqDHFoTC3PA+fJt8=", "cpu": [ "loong64" ], @@ -468,8 +433,8 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.21.3", - "integrity": "sha1-uXVD89hlU2VynzcC7Qf25Bvl5I4=", + "version": "0.21.5", + "integrity": "sha1-55uOtIvzsQb63sGsgkD7l7TmTL4=", "cpu": [ "mips64el" ], @@ -483,8 +448,8 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.21.3", - "integrity": "sha1-I7kGTVvAvyihFaL5z2nzsBzf4Bw=", + "version": "0.21.5", + "integrity": "sha1-XyIDhgoUO5kZ04PvdXNSH7FUw+Q=", "cpu": [ "ppc64" ], @@ -498,8 +463,8 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.21.3", - "integrity": "sha1-TyU2Mn9tREwFc701u9OmeJfb1do=", + "version": "0.21.5", + "integrity": "sha1-B7yv2ZMi1a9i9hjLnmqbf0u4Jdw=", "cpu": [ "riscv64" ], @@ -513,8 +478,8 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.21.3", - "integrity": "sha1-BebzoSoNzWBnLyXoeJqDzTr/pIc=", + "version": "0.21.5", + "integrity": "sha1-t8z2hnUdaj5EuGJ6uryL4+9i2N4=", "cpu": [ "s390x" ], @@ -528,8 +493,8 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.21.3", - "integrity": "sha1-mU00fn9TDDNijjXkjM3o8pmtvLY=", + "version": "0.21.5", + "integrity": "sha1-bY8Mdo4HDmQwmvgAS7lOaKsrs7A=", "cpu": [ "x64" ], @@ -543,8 +508,8 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.21.3", - "integrity": "sha1-MJ2MMjYy6ccO6Sz1QU+mW1634A4=", + "version": "0.21.5", + "integrity": "sha1-u+Qw9g03jsuI3sshnGAmZzh6YEc=", "cpu": [ "x64" ], @@ -558,8 +523,8 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.21.3", - "integrity": "sha1-KIIPlDH+APKwSqxXURdUIT/wYOs=", + "version": "0.21.5", + "integrity": "sha1-mdHPKTcnlWDSEEgh9czOIgyyr3A=", "cpu": [ "x64" ], @@ -573,8 +538,8 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.21.3", - "integrity": "sha1-off5i4W9Ih/g9UXQGrwOYSOuYNw=", + "version": "0.21.5", + "integrity": "sha1-CHQVEsENUpVmurqDe0/gUsjzSHs=", "cpu": [ "x64" ], @@ -588,8 +553,8 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.21.3", - "integrity": "sha1-xsPAsaHfxjJ+9NtqpPtu/Z31Mfc=", + "version": "0.21.5", + "integrity": "sha1-Z1tzhTmEESQHNQFhRKsumaYPx10=", "cpu": [ "arm64" ], @@ -603,8 +568,8 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.21.3", - "integrity": "sha1-RxuNLK0b1kee7lrPBLuiwOTTfiQ=", + "version": "0.21.5", + "integrity": "sha1-G/w86YqmypoJaeTSr3IUTFnBGTs=", "cpu": [ "ia32" ], @@ -618,8 +583,8 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.21.3", - "integrity": "sha1-iZwDV2xMKMgyKPDmTfoQ7a6ZyaI=", + "version": "0.21.5", + "integrity": "sha1-rK01HVgtFXuxRVNdsqb/U91RS1w=", "cpu": [ "x64" ], @@ -647,8 +612,8 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.0", - "integrity": "sha1-VI9t5VaFfIu3O77nDDXcgqLnTWM=", + "version": "4.11.0", + "integrity": "sha1-sP/QMStKP9LW93I35ySKWtOmgK4=", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -796,63 +761,63 @@ } }, "node_modules/@microsoft/1ds-core-js": { - "version": "4.2.1", - "integrity": "sha1-LMtjdrR5QzmZ7MKCRXOUHkHr++Q=", + "version": "4.3.0", + "integrity": "sha1-XIgGFM41L8ZsNK5/uxbN255cL6w=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.2.1", + "@microsoft/applicationinsights-core-js": "3.3.0", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.1 < 2.x", - "@nevware21/ts-utils": ">= 0.11.1 < 2.x" + "@nevware21/ts-async": ">= 0.5.2 < 2.x", + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" } }, "node_modules/@microsoft/1ds-post-js": { - "version": "4.2.1", - "integrity": "sha1-LeI53hJpsaiRgmXsKMsOOcQQsP8=", + "version": "4.3.0", + "integrity": "sha1-FP9w3FgEsPqcIyMPe2U6D7obLcM=", "dependencies": { - "@microsoft/1ds-core-js": "4.2.1", + "@microsoft/1ds-core-js": "4.3.0", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.1 < 2.x", - "@nevware21/ts-utils": ">= 0.11.1 < 2.x" + "@nevware21/ts-async": ">= 0.5.2 < 2.x", + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" } }, "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "3.2.1", - "integrity": "sha1-+ogrga7VpA5Hp49tmW5e0BuilYY=", + "version": "3.3.0", + "integrity": "sha1-/KhHqeFLa4L4tXoP64i2CKV9mrE=", "dependencies": { - "@microsoft/applicationinsights-common": "3.2.1", - "@microsoft/applicationinsights-core-js": "3.2.1", + "@microsoft/applicationinsights-common": "3.3.0", + "@microsoft/applicationinsights-core-js": "3.3.0", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.1 < 2.x", - "@nevware21/ts-utils": ">= 0.11.1 < 2.x" + "@nevware21/ts-async": ">= 0.5.2 < 2.x", + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { "tslib": "*" } }, "node_modules/@microsoft/applicationinsights-common": { - "version": "3.2.1", - "integrity": "sha1-EzYDrNpx+iCqH4PxMHXIFK3N4ZA=", + "version": "3.3.0", + "integrity": "sha1-+136Im/n4ISeRJd8u51NvOSb+Co=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.2.1", + "@microsoft/applicationinsights-core-js": "3.3.0", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-utils": ">= 0.11.1 < 2.x" + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { "tslib": "*" } }, "node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.2.1", - "integrity": "sha1-lgVHkwz2QkumM/lJCt84JEPMZaA=", + "version": "3.3.0", + "integrity": "sha1-tOTaO9ScPRQQf3vrYVLVIUMkshQ=", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.1 < 2.x", - "@nevware21/ts-utils": ">= 0.11.1 < 2.x" + "@nevware21/ts-async": ">= 0.5.2 < 2.x", + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { "tslib": "*" @@ -866,16 +831,16 @@ } }, "node_modules/@microsoft/applicationinsights-web-basic": { - "version": "3.2.1", - "integrity": "sha1-VF8GIXAskJKglCycxTh4qM1asuE=", + "version": "3.3.0", + "integrity": "sha1-5/xTINX49zfZT+PNs5Jy1hqtXiI=", "dependencies": { - "@microsoft/applicationinsights-channel-js": "3.2.1", - "@microsoft/applicationinsights-common": "3.2.1", - "@microsoft/applicationinsights-core-js": "3.2.1", + "@microsoft/applicationinsights-channel-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.0", + "@microsoft/applicationinsights-core-js": "3.3.0", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", - "@nevware21/ts-async": ">= 0.5.1 < 2.x", - "@nevware21/ts-utils": ">= 0.11.1 < 2.x" + "@nevware21/ts-async": ">= 0.5.2 < 2.x", + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { "tslib": "*" @@ -889,15 +854,15 @@ } }, "node_modules/@nevware21/ts-async": { - "version": "0.5.1", - "integrity": "sha1-P1X6UiKwr1pbsBn2cJLNzWpfguY=", + "version": "0.5.2", + "integrity": "sha1-pBiD3GzMRma98VbpLzXzAD/T9vA=", "dependencies": { - "@nevware21/ts-utils": ">= 0.11.2 < 2.x" + "@nevware21/ts-utils": ">= 0.11.3 < 2.x" } }, "node_modules/@nevware21/ts-utils": { - "version": "0.11.2", - "integrity": "sha1-WDbzOMCR9HNYKY2h93pnqIIZpqU=" + "version": "0.11.3", + "integrity": "sha1-0PAyrelUBYWjCmRT2WLeYTVm2FY=" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -979,17 +944,9 @@ "integrity": "sha1-WYGo2xi1a6OO8O+32ZWxKqe1GRg=", "dev": true }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "integrity": "sha1-zLkURTYBeaBOf+av94wA/8Hur4I=", - "dev": true, - "engines": { - "node": ">= 6" - } - }, "node_modules/@types/mocha": { - "version": "10.0.6", - "integrity": "sha1-gYVR05ETCBBIvd2++WcBtOi7nRs=", + "version": "10.0.7", + "integrity": "sha1-TGIAkPKMp/kFqUtwb3TcW1e0Ty8=", "dev": true }, "node_modules/@types/mock-fs": { @@ -1053,15 +1010,15 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.10.0", - "integrity": "sha1-B4VKI28Qe7Rcv09iuJR0y+phf1A=", + "version": "7.16.0", + "integrity": "sha1-s1Y5JzQeyhUSShjG+UIV93n1wCo=", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/type-utils": "7.10.0", - "@typescript-eslint/utils": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/type-utils": "7.16.0", + "@typescript-eslint/utils": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1085,14 +1042,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.10.0", - "integrity": "sha1-5qwcunvAQApEWefrWyMRW9cazPs=", + "version": "7.16.0", + "integrity": "sha1-U/roES+MkSAkrqe0mc9zdEh69tg=", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/typescript-estree": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0", + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "debug": "^4.3.4" }, "engines": { @@ -1112,12 +1069,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.10.0", - "integrity": "sha1-BUonsQkBmTN6Oc91X4PZ8s4mVGs=", + "version": "7.16.0", + "integrity": "sha1-6wdXr1cgycU8gBDXoDVa4n4Xt+U=", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0" + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1128,12 +1085,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.10.0", - "integrity": "sha1-inWszOhR0KMxqpMxJo72TpswAnA=", + "version": "7.16.0", + "integrity": "sha1-7FKxkyuPtEoVo+ICCOC9SdC2vQA=", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.10.0", - "@typescript-eslint/utils": "7.10.0", + "@typescript-eslint/typescript-estree": "7.16.0", + "@typescript-eslint/utils": "7.16.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1154,8 +1111,8 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.10.0", - "integrity": "sha1-2pIwnJeTKjoDN2L9X6qLBn3oTjs=", + "version": "7.16.0", + "integrity": "sha1-YKGdfnprHKosBvrIYIKdFioDbtI=", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1166,12 +1123,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.10.0", - "integrity": "sha1-bc3F3jFJkWpqWZ+ond5cRxuIuLs=", + "version": "7.16.0", + "integrity": "sha1-mKx3nVJvqyp4HlYZySUPPjOGfAk=", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/visitor-keys": "7.10.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/visitor-keys": "7.16.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1193,14 +1150,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.10.0", - "integrity": "sha1-juQ+VgjJ9DlSTqrqjeWzWLFcUbM=", + "version": "7.16.0", + "integrity": "sha1-s43Azhd46BguInyY2R00GESaoX8=", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.10.0", - "@typescript-eslint/types": "7.10.0", - "@typescript-eslint/typescript-estree": "7.10.0" + "@typescript-eslint/scope-manager": "7.16.0", + "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/typescript-estree": "7.16.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1214,11 +1171,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.10.0", - "integrity": "sha1-KvLpHnOnXda3C0SGxIrp04pIWng=", + "version": "7.16.0", + "integrity": "sha1-odmfp6N4eWLW4O/UNlde+EDiOwY=", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.10.0", + "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1235,8 +1192,8 @@ "dev": true }, "node_modules/@vscode/debugprotocol": { - "version": "1.65.0", - "integrity": "sha1-MEqeD08oJaZttGRxSNSy7GNy8X4=", + "version": "1.66.0", + "integrity": "sha1-4xHudpYFPn17DTDhOElojCI58qg=", "dev": true }, "node_modules/@vscode/extension-telemetry": { @@ -1252,25 +1209,27 @@ } }, "node_modules/@vscode/test-electron": { - "version": "2.3.10", - "integrity": "sha1-xj4kN+xNZf9Wx8/LTfzrDog+9HM=", + "version": "2.4.1", + "integrity": "sha1-XCdgZAv2ku+9qhi6/NNftRloiUE=", "dev": true, "dependencies": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", + "http-proxy-agent": "^7.0.2", + "https-proxy-agent": "^7.0.5", "jszip": "^3.10.1", - "semver": "^7.5.2" + "ora": "^7.0.1", + "semver": "^7.6.2" }, "engines": { "node": ">=16" } }, "node_modules/@vscode/vsce": { - "version": "2.26.1", - "integrity": "sha1-xPE7BCJeXNFtCoDrW7mLlkUc5DE=", + "version": "2.30.0", + "integrity": "sha1-egwWsg71KfopH+nTx/5RoqYT93M=", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", + "@vscode/vsce-sign": "^2.0.0", "azure-devops-node-api": "^12.5.0", "chalk": "^2.4.2", "cheerio": "^1.0.0-rc.9", @@ -1304,6 +1263,131 @@ "keytar": "^7.7.0" } }, + "node_modules/@vscode/vsce-sign": { + "version": "2.0.4", + "integrity": "sha1-tL8VXRbypLrcBp34UNyG91YSSEI=", + "dev": true, + "hasInstallScript": true, + "optionalDependencies": { + "@vscode/vsce-sign-alpine-arm64": "2.0.2", + "@vscode/vsce-sign-alpine-x64": "2.0.2", + "@vscode/vsce-sign-darwin-arm64": "2.0.2", + "@vscode/vsce-sign-darwin-x64": "2.0.2", + "@vscode/vsce-sign-linux-arm": "2.0.2", + "@vscode/vsce-sign-linux-arm64": "2.0.2", + "@vscode/vsce-sign-linux-x64": "2.0.2", + "@vscode/vsce-sign-win32-arm64": "2.0.2", + "@vscode/vsce-sign-win32-x64": "2.0.2" + } + }, + "node_modules/@vscode/vsce-sign-alpine-arm64": { + "version": "2.0.2", + "integrity": "sha1-SszEheVapv8EsZW0f3IurVfapY4=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-alpine-x64": { + "version": "2.0.2", + "integrity": "sha1-Skt7UFtMwPWFljlIl8SaC84OVAw=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "alpine" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-arm64": { + "version": "2.0.2", + "integrity": "sha1-EKpp/rf4Gj3GjCQgOMoD6v8ZwS4=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-darwin-x64": { + "version": "2.0.2", + "integrity": "sha1-MxVSjz6hAHpkizMgv/NqM6ngeqU=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm": { + "version": "2.0.2", + "integrity": "sha1-QUL9qD5xMLMa7diqgeTapjNDI8I=", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-arm64": { + "version": "2.0.2", + "integrity": "sha1-zlxc/JnjRUtPt3BAWBK0a9bcqHA=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-linux-x64": { + "version": "2.0.2", + "integrity": "sha1-WauT8yLvs89JFm1OLoEnicMRdCg=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@vscode/vsce-sign-win32-arm64": { + "version": "2.0.2", + "integrity": "sha1-0JVwShSwQEwLb2lumInppRsxqGw=", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@vscode/vsce-sign-win32-x64": { + "version": "2.0.2", + "integrity": "sha1-KU6nK0T+3WlNSfXO9MVb84dtwlc=", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@vscode/vsce/node_modules/brace-expansion": { "version": "1.1.11", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", @@ -1344,8 +1428,8 @@ } }, "node_modules/acorn": { - "version": "8.11.3", - "integrity": "sha1-ceCxThOk7BYHJLOPt7DyM7G4HXo=", + "version": "8.12.1", + "integrity": "sha1-cWFr3MviXielRDngBG6JynbfIkg=", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1363,14 +1447,14 @@ } }, "node_modules/agent-base": { - "version": "6.0.2", - "integrity": "sha1-Sf/1hXfP7j83F2/qtMIuAPhtf3c=", + "version": "7.1.1", + "integrity": "sha1-vb3tffsJa3UaKgh+7rlmRyWy4xc=", "dev": true, "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" } }, "node_modules/ajv": { @@ -1389,8 +1473,8 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "integrity": "sha1-y7muJWv3UK8eqzRPIpqif+lLo0g=", + "version": "4.1.3", + "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", "dev": true, "engines": { "node": ">=6" @@ -1475,8 +1559,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "optional": true + ] }, "node_modules/binary-extensions": { "version": "2.3.0", @@ -1490,12 +1573,11 @@ } }, "node_modules/bl": { - "version": "4.1.0", - "integrity": "sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo=", + "version": "5.1.0", + "integrity": "sha1-GDcV9njHGI7O+f5HXZAglABiQnM=", "dev": true, - "optional": true, "dependencies": { - "buffer": "^5.5.0", + "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } @@ -1504,7 +1586,6 @@ "version": "3.6.2", "integrity": "sha1-VqmzbqllwAxak+8x6xEaDxEFaWc=", "dev": true, - "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -1543,8 +1624,8 @@ "dev": true }, "node_modules/buffer": { - "version": "5.7.1", - "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=", + "version": "6.0.3", + "integrity": "sha1-Ks5XhFnMj74qcKqo9S7mO2p0xsY=", "dev": true, "funding": [ { @@ -1560,10 +1641,9 @@ "url": "https://feross.org/support" } ], - "optional": true, "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "ieee754": "^1.2.1" } }, "node_modules/buffer-crc32": { @@ -1671,15 +1751,9 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", - "integrity": "sha1-HPN8hwe5Mr0a8a4iwEMuKs0ZA70=", + "version": "3.6.0", + "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1692,6 +1766,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -1713,6 +1790,31 @@ "dev": true, "optional": true }, + "node_modules/cli-cursor": { + "version": "4.0.0", + "integrity": "sha1-POz+NzS/T+Aqg2HL3A9v4oxqV+o=", + "dev": true, + "dependencies": { + "restore-cursor": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "integrity": "sha1-F3Oo9LnE1qwxVj31Oz/B15Ri/kE=", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/cliui": { "version": "7.0.4", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", @@ -1877,8 +1979,8 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "integrity": "sha1-Exn2V5NX8jONMzfSzdSRS7XcyGU=", + "version": "4.3.5", + "integrity": "sha1-6DRE7Ouf7dSh2lbWca4kRqAabh4=", "dev": true, "dependencies": { "ms": "2.1.2" @@ -1974,8 +2076,8 @@ } }, "node_modules/diff": { - "version": "5.0.0", - "integrity": "sha1-ftatdthZ0DB4fsNYVfWx2vMdhSs=", + "version": "5.2.0", + "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", "dev": true, "engines": { "node": ">=0.3.1" @@ -2112,8 +2214,8 @@ } }, "node_modules/esbuild": { - "version": "0.21.3", - "integrity": "sha1-y7ELEAx2iwz7NdYdnnAyRVNDfDg=", + "version": "0.21.5", + "integrity": "sha1-nKMBsSCSKVm3ZjYNisgw2g0CmX0=", "dev": true, "hasInstallScript": true, "bin": { @@ -2123,29 +2225,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.21.3", - "@esbuild/android-arm": "0.21.3", - "@esbuild/android-arm64": "0.21.3", - "@esbuild/android-x64": "0.21.3", - "@esbuild/darwin-arm64": "0.21.3", - "@esbuild/darwin-x64": "0.21.3", - "@esbuild/freebsd-arm64": "0.21.3", - "@esbuild/freebsd-x64": "0.21.3", - "@esbuild/linux-arm": "0.21.3", - "@esbuild/linux-arm64": "0.21.3", - "@esbuild/linux-ia32": "0.21.3", - "@esbuild/linux-loong64": "0.21.3", - "@esbuild/linux-mips64el": "0.21.3", - "@esbuild/linux-ppc64": "0.21.3", - "@esbuild/linux-riscv64": "0.21.3", - "@esbuild/linux-s390x": "0.21.3", - "@esbuild/linux-x64": "0.21.3", - "@esbuild/netbsd-x64": "0.21.3", - "@esbuild/openbsd-x64": "0.21.3", - "@esbuild/sunos-x64": "0.21.3", - "@esbuild/win32-arm64": "0.21.3", - "@esbuild/win32-ia32": "0.21.3", - "@esbuild/win32-x64": "0.21.3" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, "node_modules/escalade": { @@ -2364,8 +2466,8 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "integrity": "sha1-bOF3ON6Fd2lO3XNhxXGCrIyw2ws=", + "version": "1.6.0", + "integrity": "sha1-kUGSNPgE2FKoLc7sPhbNwiz52uc=", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -2539,8 +2641,8 @@ "dev": true }, "node_modules/foreground-child": { - "version": "3.1.1", - "integrity": "sha1-HRc+d2110ncv7Qjv5KDeHqGxLQ0=", + "version": "3.2.1", + "integrity": "sha1-dnAEzPOlsw3zm+2QcYurQ/4KWfc=", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -2631,22 +2733,20 @@ "optional": true }, "node_modules/glob": { - "version": "10.3.16", - "integrity": "sha1-v2Z51dUSecjPrk/r4NBR0qS/TG8=", + "version": "10.4.5", + "integrity": "sha1-9NnwuQ/9urCcnXf18ptCYlF7CVY=", "dev": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -2801,28 +2901,27 @@ } }, "node_modules/http-proxy-agent": { - "version": "4.0.1", - "integrity": "sha1-ioyO9/WTLM+VPClsqCkblap0qjo=", + "version": "7.0.2", + "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", "dev": true, "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/https-proxy-agent": { - "version": "5.0.1", - "integrity": "sha1-xZ7yJKBP6LdU89sAY6Jeow0ABdY=", + "version": "7.0.5", + "integrity": "sha1-notQE4cymeEfq2/VSEBdotbGArI=", "dev": true, "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/ieee754": { @@ -2842,8 +2941,7 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "optional": true + ] }, "node_modules/ignore": { "version": "5.3.1", @@ -2953,6 +3051,17 @@ "node": ">=0.10.0" } }, + "node_modules/is-interactive": { + "version": "2.0.0", + "integrity": "sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA=", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", @@ -3010,15 +3119,12 @@ "dev": true }, "node_modules/jackspeak": { - "version": "3.1.2", - "integrity": "sha1-6tpn6pSca3HeUPGwnJKpYYl7kKs=", + "version": "3.4.3", + "integrity": "sha1-iDOp2Jq0rN5hiJQr0cU7Y5DtWoo=", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -3053,8 +3159,8 @@ "dev": true }, "node_modules/jsonc-parser": { - "version": "3.2.1", - "integrity": "sha1-AxkEVxzPkp12cO6MVHVFCByzfxo=", + "version": "3.3.1", + "integrity": "sha1-8qUktPf9EePXkeVZl3rWC5i3mLQ=", "dev": true }, "node_modules/jsonwebtoken": { @@ -3419,6 +3525,14 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/mimic-response": { "version": "3.1.0", "integrity": "sha1-LR1Zr5wbEpgVrMwsRqAipc4fo8k=", @@ -3432,8 +3546,8 @@ } }, "node_modules/minimatch": { - "version": "9.0.4", - "integrity": "sha1-jknHMdF0nL7AUFDuUUUUezJJalE=", + "version": "9.0.5", + "integrity": "sha1-10+d1rV9g9jpjPuCEzsDl4vJKeU=", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3455,8 +3569,8 @@ } }, "node_modules/minipass": { - "version": "7.1.1", - "integrity": "sha1-9/ha/1mqIvEQsg4naSRlzzv4lIE=", + "version": "7.1.2", + "integrity": "sha1-k6libOXl5mvU24aEnnUV6SNApwc=", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -3469,30 +3583,30 @@ "optional": true }, "node_modules/mocha": { - "version": "10.4.0", - "integrity": "sha1-7QPblu6c/G0gxW+OKvB7lh264mE=", - "dev": true, - "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.3", - "debug": "4.3.4", - "diff": "5.0.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.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "version": "10.6.0", + "integrity": "sha1-Rl/GbFJhMIjhABiYmjuY1eEZVLk=", + "dev": true, + "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", @@ -3563,8 +3677,8 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "integrity": "sha1-+5Ai91KBJRh8kr2em2NmvhzzQVs=", + "version": "5.1.6", + "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3634,8 +3748,8 @@ } }, "node_modules/node-abi": { - "version": "3.62.0", - "integrity": "sha1-AXlY7RIPiaOhSnJT2oEPXXJOPzY=", + "version": "3.65.0", + "integrity": "sha1-ypLVWTiOHpyrFoChjBoYdXzaydM=", "dev": true, "optional": true, "dependencies": { @@ -3689,9 +3803,12 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "integrity": "sha1-uWxhCTJMz+9rEiFqlWyk3C/5S8I=", + "version": "1.13.2", + "integrity": "sha1-3qAIhGf7mR5nr0BYFHokgkowQ/8=", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -3704,6 +3821,20 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/open": { "version": "8.4.2", "integrity": "sha1-W1/+Ko95Pc0qrXPlUMuHtZywhPk=", @@ -3736,6 +3867,111 @@ "node": ">= 0.8.0" } }, + "node_modules/ora": { + "version": "7.0.1", + "integrity": "sha1-zdUw7Nhl/jnkUaDnaXhlZpyxGTA=", + "dev": true, + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^4.0.0", + "cli-spinners": "^2.9.0", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^1.3.0", + "log-symbols": "^5.1.0", + "stdin-discarder": "^0.1.0", + "string-width": "^6.1.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.0.1", + "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "integrity": "sha1-Z8IKfr73Dn85cKAfkPohDLaGA4U=", + "dev": true, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/emoji-regex": { + "version": "10.3.0", + "integrity": "sha1-dpmLkmhAnrPa496YklTUVucM/iM=", + "dev": true + }, + "node_modules/ora/node_modules/is-unicode-supported": { + "version": "1.3.0", + "integrity": "sha1-2CSYS2FsKSouGYIH1KYJmDhC9xQ=", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/log-symbols": { + "version": "5.1.0", + "integrity": "sha1-og47ml9T+sauuOK7IsB88sjxbZM=", + "dev": true, + "dependencies": { + "chalk": "^5.0.0", + "is-unicode-supported": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/string-width": { + "version": "6.1.0", + "integrity": "sha1-lkiNbtI/mtXYLRNSKvnkxMP9dRg=", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^10.2.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/p-limit": { "version": "3.1.0", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", @@ -3764,6 +4000,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "integrity": "sha1-5QHNMJSyeEletCWNTJ9tWsMBnwA=", + "dev": true + }, "node_modules/pako": { "version": "1.0.11", "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", @@ -3859,12 +4100,9 @@ } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "integrity": "sha1-SCBrwRTBJSlAxBsltBr1tUWsqHg=", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "integrity": "sha1-QQ/IoXtw5ZgBPfJXwkRrfzOD8Rk=", + "dev": true }, "node_modules/path-to-regexp": { "version": "6.2.2", @@ -3953,8 +4191,8 @@ } }, "node_modules/qs": { - "version": "6.12.1", - "integrity": "sha1-OUIhEcp8vbcEJVQcuiDH17IWWZo=", + "version": "6.12.3", + "integrity": "sha1-5DzgPIUhucf9fx8T5RTlyjdyd1Q=", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -4074,6 +4312,26 @@ "node": ">=4" } }, + "node_modules/restore-cursor": { + "version": "4.0.0", + "integrity": "sha1-UZVgpDGJdQlt725gnUQQDtqkzLk=", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "integrity": "sha1-qaF2f4r4QVURTqq9c/mSc8j1mtk=", + "dev": true + }, "node_modules/reusify": { "version": "1.0.4", "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", @@ -4186,8 +4444,8 @@ ] }, "node_modules/sax": { - "version": "1.3.0", - "integrity": "sha1-pdvnfbO+BcnR7neF29PqneUVk9A=", + "version": "1.4.1", + "integrity": "sha1-RMyJiDd/EmME07P8EBDHM7kp7w8=", "dev": true }, "node_modules/semver": { @@ -4201,8 +4459,8 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "integrity": "sha1-765diPRdeSQUHai1w6en5mP+/rg=", + "version": "6.0.2", + "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -4338,14 +4596,6 @@ "url": "https://opencollective.com/sinon" } }, - "node_modules/sinon/node_modules/diff": { - "version": "5.2.0", - "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/sinon/node_modules/has-flag": { "version": "4.0.0", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", @@ -4401,6 +4651,20 @@ "node": "*" } }, + "node_modules/stdin-discarder": { + "version": "0.1.0", + "integrity": "sha1-IrPkADk6jijr9T+ZWPOIBiLv3iE=", + "dev": true, + "dependencies": { + "bl": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/stoppable": { "version": "1.1.0", "integrity": "sha1-MtpWjoPqSIsI5NfqLDvMnXUBXVs=", @@ -4556,6 +4820,41 @@ "node": ">=6" } }, + "node_modules/tar-stream/node_modules/bl": { + "version": "4.1.0", + "integrity": "sha1-RRU1JkGCvsL7vIOmKrmM8R2fezo=", + "dev": true, + "optional": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/tar-stream/node_modules/buffer": { + "version": "5.7.1", + "integrity": "sha1-umLnwTEzBTWCGXFghRqPZI6Z7tA=", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "optional": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/tar-stream/node_modules/readable-stream": { "version": "3.6.2", "integrity": "sha1-VqmzbqllwAxak+8x6xEaDxEFaWc=", @@ -4615,8 +4914,8 @@ } }, "node_modules/tslib": { - "version": "2.6.2", - "integrity": "sha1-cDrClCXns3zW/UVukkBNRtHz5K4=" + "version": "2.6.3", + "integrity": "sha1-BDj4EK16ntzeeiQcPYDbaTyMv+A=" }, "node_modules/tunnel": { "version": "0.0.6", @@ -4679,8 +4978,8 @@ } }, "node_modules/typescript": { - "version": "5.4.5", - "integrity": "sha1-QszvLFcf29D2cYsdH15uXvAG9hE=", + "version": "5.5.3", + "integrity": "sha1-4bCjw5QZCDigsWjncbCtVqCvD6o=", "dev": true, "bin": { "tsc": "bin/tsc", @@ -4830,8 +5129,8 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "integrity": "sha1-RvwVDBfYJrhqAI5aRQhlZ3fpw0M=", + "version": "6.5.1", + "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", "dev": true }, "node_modules/wrap-ansi": { @@ -5007,8 +5306,8 @@ } }, "node_modules/yargs-parser": { - "version": "20.2.4", - "integrity": "sha1-tCiQ8UVmeW+Fro46JSkNIF8VSlQ=", + "version": "20.2.9", + "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", "dev": true, "engines": { "node": ">=10" diff --git a/package.json b/package.json index 2e9346a795..5d2c7fde9d 100644 --- a/package.json +++ b/package.json @@ -82,7 +82,7 @@ "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { - "@types/mocha": "^10.0.6", + "@types/mocha": "^10.0.7", "@types/mock-fs": "^4.13.4", "@types/node": "~18.15.0", "@types/node-fetch": "^2.6.11", @@ -92,24 +92,24 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.10.0", - "@typescript-eslint/parser": "^7.10.0", + "@typescript-eslint/eslint-plugin": "^7.16.0", + "@typescript-eslint/parser": "^7.16.0", "@ungap/structured-clone": "^1.2.0", - "@vscode/debugprotocol": "^1.65.0", - "@vscode/test-electron": "^2.3.10", - "@vscode/vsce": "^2.26.1", - "esbuild": "^0.21.3", + "@vscode/debugprotocol": "^1.66.0", + "@vscode/test-electron": "^2.4.1", + "@vscode/vsce": "^2.30.0", + "esbuild": "^0.21.5", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.3.16", - "mocha": "^10.4.0", + "glob": "^10.4.5", + "mocha": "^10.6.0", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", "mock-fs": "^5.2.0", "rewire": "^7.0.0", "sinon": "^18.0.0", "source-map-support": "^0.5.21", - "typescript": "^5.4.5" + "typescript": "^5.5.3" }, "extensionDependencies": [ "vscode.powershell" diff --git a/test/runTests.ts b/test/runTests.ts index e5771854b3..87a27182bd 100644 --- a/test/runTests.ts +++ b/test/runTests.ts @@ -5,7 +5,7 @@ // https://github.com/microsoft/vscode-extension-samples/tree/main/helloworld-test-sample/src/test import * as path from "path"; -import { ConsoleReporter, downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath, runTests } from "@vscode/test-electron"; +import { makeConsoleReporter, downloadAndUnzipVSCode, resolveCliArgsFromVSCodeExecutablePath, runTests } from "@vscode/test-electron"; import { existsSync } from "fs"; import { spawnSync } from "child_process"; @@ -38,7 +38,7 @@ async function main(): Promise { const vsCodeVersion = process.env.__TEST_VSCODE_VERSION ?? "insiders"; /** Install a temporary vscode. This must be done ahead of RunTests in order to install extensions ahead of time. @see https://github.com/microsoft/vscode-test/blob/addc23e100b744de598220adbbf0761da870eda9/README.md?plain=1#L71-L89 **/ - const testVSCodePath = await downloadAndUnzipVSCode(vsCodeVersion, undefined, new ConsoleReporter(true)); + const testVSCodePath = await downloadAndUnzipVSCode(vsCodeVersion, undefined, await makeConsoleReporter()); InstallExtension(testVSCodePath, "ms-dotnettools.csharp"); const launchArgs = [ @@ -108,7 +108,7 @@ function InstallExtension(vscodeExePath: string, extensionIdOrVSIXPath: string): console.error(`Failed to install extension: ${installResult.stderr}`); console.log("Binary Module Tests will fail if not skipped!"); } - + return installResult.stdout; } From d69ee8a49557004358a0af4e5a4dd653357d26b9 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Mon, 15 Jul 2024 17:31:14 -0700 Subject: [PATCH 16/39] Fix ghost terminals after using "Developer: Restart Extension Host" When this features restarts us, we're unable to clean up our terminals because we're gone before we can finish disposing. Therefore we must search for stale terminals and dispose them. --- src/process.ts | 17 +++++++++++++++-- src/session.ts | 7 +++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/process.ts b/src/process.ts index 8d36333121..6cd38e059a 100644 --- a/src/process.ts +++ b/src/process.ts @@ -14,6 +14,8 @@ export class PowerShellProcess { // This is used to warn the user that the extension is taking longer than expected to startup. private static warnUserThreshold = 30; + private static title = "PowerShell Extension"; + public onExited: vscode.Event; private onExitedEmitter?: vscode.EventEmitter; @@ -25,7 +27,7 @@ export class PowerShellProcess { constructor( public exePath: string, private bundledModulesPath: string, - private title: string, + private isTemp: boolean, private logger: ILogger, private startPsesArgs: string, private sessionFilePath: vscode.Uri, @@ -99,7 +101,7 @@ export class PowerShellProcess { // Launch PowerShell in the integrated terminal const terminalOptions: vscode.TerminalOptions = { - name: this.title, + name: this.isTemp ? `${PowerShellProcess.title} (TEMP)` : PowerShellProcess.title, shellPath: this.exePath, shellArgs: powerShellArgs, cwd: await validateCwdSetting(this.logger), @@ -127,6 +129,17 @@ export class PowerShellProcess { return await this.waitForSessionFile(cancellationToken); } + // This function is used to clean-up stale PowerShell Extension terminals, + // which can happen with `restartExtensionHost` is called because we are + // unable to finish diposing before we're gone. + public static cleanUpTerminals(): void { + for (const terminal of vscode.window.terminals) { + if (terminal.name.startsWith(PowerShellProcess.title)) { + terminal.dispose(); + } + } + } + // This function should only be used after a failure has occurred because it is slow! public async getVersionCli(): Promise { const exec = promisify(cp.execFile); diff --git a/src/session.ts b/src/session.ts index d9667ef7a0..73186237fe 100644 --- a/src/session.ts +++ b/src/session.ts @@ -350,7 +350,7 @@ export class SessionManager implements Middleware { new PowerShellProcess( this.PowerShellExeDetails.exePath, bundledModulesPath, - "[TEMP] PowerShell Extension", + true, this.logger, this.getEditorServicesArgs(bundledModulesPath, this.PowerShellExeDetails) + "-DebugServiceOnly ", this.getNewSessionFilePath(), @@ -528,11 +528,14 @@ export class SessionManager implements Middleware { cancellationToken: vscode.CancellationToken): Promise { const bundledModulesPath = await this.getBundledModulesPath(); + + // Dispose any stale terminals from previous killed sessions. + PowerShellProcess.cleanUpTerminals(); const languageServerProcess = new PowerShellProcess( powerShellExeDetails.exePath, bundledModulesPath, - "PowerShell Extension", + false, this.logger, this.getEditorServicesArgs(bundledModulesPath, powerShellExeDetails), this.getNewSessionFilePath(), From efd6fd56a46cc44d51ea7c80644a2baa3eb75559 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Wed, 21 Aug 2024 13:23:00 -0700 Subject: [PATCH 17/39] Reorganize build and packages to allow for omitting dev tools New requirements in our release pipeline require us to omit the installation of quite a few of our (optional) dev tools, as their post-install tasks reach out to the public NPM registry and so are blocked. By moving everything except `esbuild` and `vsce` to `optionalDependencies` (and reorganzing the build script) we can run the linter and tests outside of the secure container. Since OneBranch and GitHub Actions are now using PowerShell 7.4, the module setup script had to be updated. Because OneBranch now runs without releasing, the downloaded drop had to change (skipping a zip and extraction). --- .pipelines/vscode-powershell-Official.yml | 43 +- package-lock.json | 602 +++++++++++----------- package.json | 6 +- tools/installPSResources.ps1 | 12 +- vscode-powershell.build.ps1 | 60 ++- 5 files changed, 358 insertions(+), 365 deletions(-) diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index cb1a1c989d..6102c30db7 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -27,7 +27,7 @@ parameters: variables: system.debug: ${{ parameters.debug }} BuildConfiguration: Release - WindowsContainerImage: onebranch.azurecr.io/windows/ltsc2019/vse2022:latest + WindowsContainerImage: onebranch.azurecr.io/windows/ltsc2022/vse2022:latest resources: repositories: @@ -41,6 +41,8 @@ resources: trigger: branches: - main + stages: + - release extends: # https://aka.ms/obpipelines/templates @@ -50,6 +52,10 @@ extends: asyncSdl: enabled: true forStages: [build] + featureFlags: + WindowsHostVersion: + Version: 2022 + Network: Netlock stages: - stage: build jobs: @@ -75,15 +81,6 @@ extends: inputs: system: Custom customVersion: $(package.version) - - task: UseNode@1 - displayName: Use Node 18.x - inputs: - version: 18.x - - task: PowerShell@2 - displayName: Install PSResources - inputs: - pwsh: true - filePath: tools/installPSResources.ps1 - task: DownloadPipelineArtifact@2 displayName: Download PowerShellEditorServices inputs: @@ -91,14 +88,14 @@ extends: project: PowerShellCore definition: 2905 specificBuildWithTriggering: true - artifact: drop_release_github - itemPattern: PowerShellEditorServices.zip - - task: ExtractFiles@1 - displayName: Extract PowerShellEditorServices module - inputs: - archiveFilePatterns: $(Pipeline.Workspace)/PowerShellEditorServices.zip - destinationFolder: $(Build.SourcesDirectory)/modules - - pwsh: Invoke-Build Build -Configuration $(BuildConfiguration) + branchName: refs/heads/main + artifact: drop_build_main + targetPath: $(Build.SourcesDirectory)/modules + - pwsh: | + Register-PSRepository -Name CFS -SourceLocation "https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/powershell/nuget/v2" -InstallationPolicy Trusted + Install-Module -Name InvokeBuild -Repository CFS -RequiredVersion 5.11.3 -Verbose + Invoke-Build Build -Configuration $(BuildConfiguration) + # TODO: When the OneBuild container updates to 7.4, update to PSResourceGet displayName: Build - task: onebranch.pipeline.signing@1 displayName: Sign 1st-party example PowerShell files @@ -141,13 +138,9 @@ extends: project: PowerShellCore definition: 2905 specificBuildWithTriggering: true - artifact: drop_release_github - itemPattern: PowerShellEditorServices.zip - - task: ExtractFiles@1 - displayName: Extract PowerShellEditorServices module - inputs: - archiveFilePatterns: $(Pipeline.Workspace)/PowerShellEditorServices.zip - destinationFolder: $(Build.SourcesDirectory)/modules + branchName: refs/heads/main + artifact: drop_build_main + targetPath: $(Build.SourcesDirectory)/modules - pwsh: Invoke-Build Test -Configuration $(BuildConfiguration) displayName: Run tests - stage: release diff --git a/package-lock.json b/package-lock.json index 1d55ceaac9..157b63dd84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,13 @@ "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { + "@vscode/vsce": "^2.30.0", + "esbuild": "^0.21.5" + }, + "engines": { + "vscode": "^1.82.0" + }, + "optionalDependencies": { "@types/mocha": "^10.0.7", "@types/mock-fs": "^4.13.4", "@types/node": "~18.15.0", @@ -33,8 +40,6 @@ "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.66.0", "@vscode/test-electron": "^2.4.1", - "@vscode/vsce": "^2.30.0", - "esbuild": "^0.21.5", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "glob": "^10.4.5", @@ -46,9 +51,6 @@ "sinon": "^18.0.0", "source-map-support": "^0.5.21", "typescript": "^5.5.3" - }, - "engines": { - "vscode": "^1.82.0" } }, "node_modules/@azure/abort-controller": { @@ -600,7 +602,7 @@ "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "integrity": "sha1-ojUU6Pua8SadX3eIqlVnmNYca1k=", - "dev": true, + "optional": true, "dependencies": { "eslint-visitor-keys": "^3.3.0" }, @@ -614,7 +616,7 @@ "node_modules/@eslint-community/regexpp": { "version": "4.11.0", "integrity": "sha1-sP/QMStKP9LW93I35ySKWtOmgK4=", - "dev": true, + "optional": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } @@ -622,7 +624,7 @@ "node_modules/@eslint/eslintrc": { "version": "2.1.4", "integrity": "sha1-OIomnw8lwbatwxe1osVXFIlMcK0=", - "dev": true, + "optional": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -644,7 +646,7 @@ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { "version": "1.1.11", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, + "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -653,7 +655,7 @@ "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -664,7 +666,7 @@ "node_modules/@eslint/js": { "version": "8.57.0", "integrity": "sha1-pUF66EJ4c/HdCLcLNXS0U+Z7X38=", - "dev": true, + "optional": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } @@ -672,7 +674,7 @@ "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", "integrity": "sha1-145IGgOfdWbsyWYLTqf+ax/sRCs=", - "dev": true, + "optional": true, "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -685,7 +687,7 @@ "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { "version": "1.1.11", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, + "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -694,7 +696,7 @@ "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { "version": "3.1.2", "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -705,7 +707,7 @@ "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "integrity": "sha1-r1smkaIrRL6EewyoFkHF+2rQFyw=", - "dev": true, + "optional": true, "engines": { "node": ">=12.22" }, @@ -717,12 +719,12 @@ "node_modules/@humanwhocodes/object-schema": { "version": "2.0.3", "integrity": "sha1-Siho111taWPkI7z5C3/RvjQ0CdM=", - "dev": true + "optional": true }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "integrity": "sha1-s3Znt7wYHBaHgiWbq0JHT79StVA=", - "dev": true, + "optional": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -738,7 +740,7 @@ "node_modules/@isaacs/cliui/node_modules/ansi-regex": { "version": "6.0.1", "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -749,7 +751,7 @@ "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -867,7 +869,7 @@ "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "integrity": "sha1-dhnC6yGyVIP20WdUi0z9WnSIw9U=", - "dev": true, + "optional": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -879,7 +881,7 @@ "node_modules/@nodelib/fs.stat": { "version": "2.0.5", "integrity": "sha1-W9Jir5Tp0lvR5xsF3u1Eh2oiLos=", - "dev": true, + "optional": true, "engines": { "node": ">= 8" } @@ -887,7 +889,7 @@ "node_modules/@nodelib/fs.walk": { "version": "1.2.8", "integrity": "sha1-6Vc36LtnRt3t9pxVaVNJTxlv5po=", - "dev": true, + "optional": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -899,7 +901,6 @@ "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "integrity": "sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM=", - "dev": true, "optional": true, "engines": { "node": ">=14" @@ -908,7 +909,7 @@ "node_modules/@sinonjs/commons": { "version": "3.0.1", "integrity": "sha1-ECk1fkTKkBphVYX20nc428iQhM0=", - "dev": true, + "optional": true, "dependencies": { "type-detect": "4.0.8" } @@ -916,7 +917,7 @@ "node_modules/@sinonjs/fake-timers": { "version": "11.2.2", "integrity": "sha1-UAY8w1dPSie9hFMYCgQXHIXMlpk=", - "dev": true, + "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -924,7 +925,7 @@ "node_modules/@sinonjs/samsam": { "version": "8.0.0", "integrity": "sha1-DUiMke+z+hRC4mq+qBdZ38i1rGA=", - "dev": true, + "optional": true, "dependencies": { "@sinonjs/commons": "^2.0.0", "lodash.get": "^4.4.2", @@ -934,7 +935,7 @@ "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { "version": "2.0.0", "integrity": "sha1-/UylsGNVQwfoMntFZL1W07c5JKM=", - "dev": true, + "optional": true, "dependencies": { "type-detect": "4.0.8" } @@ -942,17 +943,17 @@ "node_modules/@sinonjs/text-encoding": { "version": "0.7.2", "integrity": "sha1-WYGo2xi1a6OO8O+32ZWxKqe1GRg=", - "dev": true + "optional": true }, "node_modules/@types/mocha": { "version": "10.0.7", "integrity": "sha1-TGIAkPKMp/kFqUtwb3TcW1e0Ty8=", - "dev": true + "optional": true }, "node_modules/@types/mock-fs": { "version": "4.13.4", "integrity": "sha1-5z7bS0iJ1E0j8eoC1u6+UKowsJo=", - "dev": true, + "optional": true, "dependencies": { "@types/node": "*" } @@ -960,12 +961,12 @@ "node_modules/@types/node": { "version": "18.15.13", "integrity": "sha1-9kJ3w0EVDJeeQrAOSsKJKQyd9Gk=", - "dev": true + "optional": true }, "node_modules/@types/node-fetch": { "version": "2.6.11", "integrity": "sha1-mzm3hmXa4OgqCPAvSWfWLGb5XSQ=", - "dev": true, + "optional": true, "dependencies": { "@types/node": "*", "form-data": "^4.0.0" @@ -974,17 +975,17 @@ "node_modules/@types/rewire": { "version": "2.5.30", "integrity": "sha1-da8QbSlOyIriEij+/jqlee/sJ24=", - "dev": true + "optional": true }, "node_modules/@types/semver": { "version": "7.5.8", "integrity": "sha1-gmioxXo+Sr0lwWXs02I323lIpV4=", - "dev": true + "optional": true }, "node_modules/@types/sinon": { "version": "17.0.3", "integrity": "sha1-mqfmLwoyO56tF37SOjbqdXFBpfo=", - "dev": true, + "optional": true, "dependencies": { "@types/sinonjs__fake-timers": "*" } @@ -992,27 +993,27 @@ "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.5", "integrity": "sha1-X9NZL/EMHpaV03cCDAMxFswoifI=", - "dev": true + "optional": true }, "node_modules/@types/ungap__structured-clone": { "version": "1.2.0", "integrity": "sha1-Ern9SrPmqCKS1gBISSsF63W0pI8=", - "dev": true + "optional": true }, "node_modules/@types/uuid": { "version": "9.0.8", "integrity": "sha1-dUW6T8PAA9bHVvZR878WPY8PKbo=", - "dev": true + "optional": true }, "node_modules/@types/vscode": { "version": "1.82.0", "integrity": "sha1-ibCyEXnc9ejO4WZKmgXF9sYNONA=", - "dev": true + "optional": true }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "7.16.0", "integrity": "sha1-s1Y5JzQeyhUSShjG+UIV93n1wCo=", - "dev": true, + "optional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -1044,7 +1045,7 @@ "node_modules/@typescript-eslint/parser": { "version": "7.16.0", "integrity": "sha1-U/roES+MkSAkrqe0mc9zdEh69tg=", - "dev": true, + "optional": true, "dependencies": { "@typescript-eslint/scope-manager": "7.16.0", "@typescript-eslint/types": "7.16.0", @@ -1071,7 +1072,7 @@ "node_modules/@typescript-eslint/scope-manager": { "version": "7.16.0", "integrity": "sha1-6wdXr1cgycU8gBDXoDVa4n4Xt+U=", - "dev": true, + "optional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0" @@ -1087,7 +1088,7 @@ "node_modules/@typescript-eslint/type-utils": { "version": "7.16.0", "integrity": "sha1-7FKxkyuPtEoVo+ICCOC9SdC2vQA=", - "dev": true, + "optional": true, "dependencies": { "@typescript-eslint/typescript-estree": "7.16.0", "@typescript-eslint/utils": "7.16.0", @@ -1113,7 +1114,7 @@ "node_modules/@typescript-eslint/types": { "version": "7.16.0", "integrity": "sha1-YKGdfnprHKosBvrIYIKdFioDbtI=", - "dev": true, + "optional": true, "engines": { "node": "^18.18.0 || >=20.0.0" }, @@ -1125,7 +1126,7 @@ "node_modules/@typescript-eslint/typescript-estree": { "version": "7.16.0", "integrity": "sha1-mKx3nVJvqyp4HlYZySUPPjOGfAk=", - "dev": true, + "optional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "@typescript-eslint/visitor-keys": "7.16.0", @@ -1152,7 +1153,7 @@ "node_modules/@typescript-eslint/utils": { "version": "7.16.0", "integrity": "sha1-s43Azhd46BguInyY2R00GESaoX8=", - "dev": true, + "optional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@typescript-eslint/scope-manager": "7.16.0", @@ -1173,7 +1174,7 @@ "node_modules/@typescript-eslint/visitor-keys": { "version": "7.16.0", "integrity": "sha1-odmfp6N4eWLW4O/UNlde+EDiOwY=", - "dev": true, + "optional": true, "dependencies": { "@typescript-eslint/types": "7.16.0", "eslint-visitor-keys": "^3.4.3" @@ -1189,12 +1190,12 @@ "node_modules/@ungap/structured-clone": { "version": "1.2.0", "integrity": "sha1-dWZBrbWHhRtcyz4JXa8nrlgchAY=", - "dev": true + "optional": true }, "node_modules/@vscode/debugprotocol": { "version": "1.66.0", "integrity": "sha1-4xHudpYFPn17DTDhOElojCI58qg=", - "dev": true + "optional": true }, "node_modules/@vscode/extension-telemetry": { "version": "0.9.6", @@ -1211,7 +1212,7 @@ "node_modules/@vscode/test-electron": { "version": "2.4.1", "integrity": "sha1-XCdgZAv2ku+9qhi6/NNftRloiUE=", - "dev": true, + "optional": true, "dependencies": { "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.5", @@ -1430,7 +1431,7 @@ "node_modules/acorn": { "version": "8.12.1", "integrity": "sha1-cWFr3MviXielRDngBG6JynbfIkg=", - "dev": true, + "optional": true, "bin": { "acorn": "bin/acorn" }, @@ -1441,7 +1442,7 @@ "node_modules/acorn-jsx": { "version": "5.3.2", "integrity": "sha1-ftW7VZCLOy8bxVxq8WU7rafweTc=", - "dev": true, + "optional": true, "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -1449,7 +1450,7 @@ "node_modules/agent-base": { "version": "7.1.1", "integrity": "sha1-vb3tffsJa3UaKgh+7rlmRyWy4xc=", - "dev": true, + "devOptional": true, "dependencies": { "debug": "^4.3.4" }, @@ -1460,7 +1461,7 @@ "node_modules/ajv": { "version": "6.12.6", "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "dev": true, + "optional": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -1475,7 +1476,7 @@ "node_modules/ansi-colors": { "version": "4.1.3", "integrity": "sha1-N2ETQOsiQ+cMxgTK011jJw1IeBs=", - "dev": true, + "optional": true, "engines": { "node": ">=6" } @@ -1483,7 +1484,7 @@ "node_modules/ansi-regex": { "version": "5.0.1", "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -1502,7 +1503,7 @@ "node_modules/anymatch": { "version": "3.1.3", "integrity": "sha1-eQxYsZuhcgqEIFtXxhjVrYUklz4=", - "dev": true, + "optional": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1514,12 +1515,12 @@ "node_modules/argparse": { "version": "2.0.1", "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", - "dev": true + "devOptional": true }, "node_modules/array-union": { "version": "2.1.0", "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -1527,7 +1528,7 @@ "node_modules/asynckit": { "version": "0.4.0", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "devOptional": true }, "node_modules/azure-devops-node-api": { "version": "12.5.0", @@ -1545,7 +1546,6 @@ "node_modules/base64-js": { "version": "1.5.1", "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", - "dev": true, "funding": [ { "type": "github", @@ -1559,12 +1559,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "optional": true }, "node_modules/binary-extensions": { "version": "2.3.0", "integrity": "sha1-9uFKl4WNMnJSIAJC1Mz+UixEVSI=", - "dev": true, + "optional": true, "engines": { "node": ">=8" }, @@ -1575,7 +1576,7 @@ "node_modules/bl": { "version": "5.1.0", "integrity": "sha1-GDcV9njHGI7O+f5HXZAglABiQnM=", - "dev": true, + "optional": true, "dependencies": { "buffer": "^6.0.3", "inherits": "^2.0.4", @@ -1585,7 +1586,7 @@ "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", "integrity": "sha1-VqmzbqllwAxak+8x6xEaDxEFaWc=", - "dev": true, + "optional": true, "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -1610,7 +1611,7 @@ "node_modules/braces": { "version": "3.0.3", "integrity": "sha1-SQMy9AkZRSJy1VqEgK3AxEE1h4k=", - "dev": true, + "optional": true, "dependencies": { "fill-range": "^7.1.1" }, @@ -1621,12 +1622,11 @@ "node_modules/browser-stdout": { "version": "1.3.1", "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=", - "dev": true + "optional": true }, "node_modules/buffer": { "version": "6.0.3", "integrity": "sha1-Ks5XhFnMj74qcKqo9S7mO2p0xsY=", - "dev": true, "funding": [ { "type": "github", @@ -1641,6 +1641,7 @@ "url": "https://feross.org/support" } ], + "optional": true, "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -1662,7 +1663,7 @@ "node_modules/buffer-from": { "version": "1.1.2", "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", - "dev": true + "optional": true }, "node_modules/call-bind": { "version": "1.0.7", @@ -1685,7 +1686,7 @@ "node_modules/callsites": { "version": "3.1.0", "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=", - "dev": true, + "optional": true, "engines": { "node": ">=6" } @@ -1693,7 +1694,7 @@ "node_modules/camelcase": { "version": "6.3.0", "integrity": "sha1-VoW5XrIJrJwMF3Rnd4ychN9Yupo=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, @@ -1753,7 +1754,7 @@ "node_modules/chokidar": { "version": "3.6.0", "integrity": "sha1-GXxsxmnvKo3F57TZfuTgksPrDVs=", - "dev": true, + "optional": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1776,7 +1777,7 @@ "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, + "optional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -1793,7 +1794,7 @@ "node_modules/cli-cursor": { "version": "4.0.0", "integrity": "sha1-POz+NzS/T+Aqg2HL3A9v4oxqV+o=", - "dev": true, + "optional": true, "dependencies": { "restore-cursor": "^4.0.0" }, @@ -1807,7 +1808,7 @@ "node_modules/cli-spinners": { "version": "2.9.2", "integrity": "sha1-F3Oo9LnE1qwxVj31Oz/B15Ri/kE=", - "dev": true, + "optional": true, "engines": { "node": ">=6" }, @@ -1818,7 +1819,7 @@ "node_modules/cliui": { "version": "7.0.4", "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dev": true, + "optional": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -1828,7 +1829,7 @@ "node_modules/cliui/node_modules/ansi-styles": { "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, + "optional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -1842,7 +1843,7 @@ "node_modules/cliui/node_modules/color-convert": { "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, + "optional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -1853,17 +1854,17 @@ "node_modules/cliui/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true + "optional": true }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true + "optional": true }, "node_modules/cliui/node_modules/string-width": { "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -1876,7 +1877,7 @@ "node_modules/cliui/node_modules/wrap-ansi": { "version": "7.0.0", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, + "optional": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -1913,7 +1914,7 @@ "node_modules/combined-stream": { "version": "1.0.8", "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", - "dev": true, + "devOptional": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -1932,17 +1933,17 @@ "node_modules/concat-map": { "version": "0.0.1", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "devOptional": true }, "node_modules/core-util-is": { "version": "1.0.3", "integrity": "sha1-pgQtNjTCsn6TKPg3uWX6yDgI24U=", - "dev": true + "optional": true }, "node_modules/cross-spawn": { "version": "7.0.3", "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "dev": true, + "optional": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1981,7 +1982,7 @@ "node_modules/debug": { "version": "4.3.5", "integrity": "sha1-6DRE7Ouf7dSh2lbWca4kRqAabh4=", - "dev": true, + "devOptional": true, "dependencies": { "ms": "2.1.2" }, @@ -1997,7 +1998,7 @@ "node_modules/decamelize": { "version": "4.0.0", "integrity": "sha1-qkcte/Zg6xXzSU79UxyrfypwmDc=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, @@ -2032,7 +2033,7 @@ "node_modules/deep-is": { "version": "0.1.4", "integrity": "sha1-pvLc5hL63S7x9Rm3NVHxfoUZmDE=", - "dev": true + "optional": true }, "node_modules/define-data-property": { "version": "1.1.4", @@ -2061,7 +2062,7 @@ "node_modules/delayed-stream": { "version": "1.0.0", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.4.0" } @@ -2078,7 +2079,7 @@ "node_modules/diff": { "version": "5.2.0", "integrity": "sha1-Jt7QR80RebeLlTfV73JVA84a5TE=", - "dev": true, + "optional": true, "engines": { "node": ">=0.3.1" } @@ -2086,7 +2087,7 @@ "node_modules/dir-glob": { "version": "3.0.1", "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", - "dev": true, + "optional": true, "dependencies": { "path-type": "^4.0.0" }, @@ -2097,7 +2098,7 @@ "node_modules/doctrine": { "version": "3.0.0", "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", - "dev": true, + "optional": true, "dependencies": { "esutils": "^2.0.2" }, @@ -2159,7 +2160,7 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "integrity": "sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s=", - "dev": true + "optional": true }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", @@ -2172,7 +2173,7 @@ "node_modules/emoji-regex": { "version": "9.2.2", "integrity": "sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI=", - "dev": true + "optional": true }, "node_modules/end-of-stream": { "version": "1.4.4", @@ -2253,7 +2254,7 @@ "node_modules/escalade": { "version": "3.1.2", "integrity": "sha1-VAdumrKepb89jx7WKs/7uIJy3yc=", - "dev": true, + "optional": true, "engines": { "node": ">=6" } @@ -2269,7 +2270,7 @@ "node_modules/eslint": { "version": "8.57.0", "integrity": "sha1-x4am/Q4LaJQar2JFlvuYcIkZVmg=", - "dev": true, + "optional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -2323,7 +2324,7 @@ "node_modules/eslint-plugin-header": { "version": "3.1.1", "integrity": "sha1-bOUSQy1XZ1Jl+sRykrUNHv8RrNY=", - "dev": true, + "optional": true, "peerDependencies": { "eslint": ">=7.7.0" } @@ -2331,7 +2332,7 @@ "node_modules/eslint-scope": { "version": "7.2.2", "integrity": "sha1-3rT5JWM5DzIAaJSvYqItuhxGQj8=", - "dev": true, + "optional": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2346,7 +2347,7 @@ "node_modules/eslint-visitor-keys": { "version": "3.4.3", "integrity": "sha1-DNcv6FUOPC6uFWqWpN3c0cisWAA=", - "dev": true, + "optional": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2357,7 +2358,7 @@ "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, + "optional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -2371,7 +2372,7 @@ "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, + "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2380,7 +2381,7 @@ "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "dev": true, + "optional": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -2395,7 +2396,7 @@ "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, + "optional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -2406,12 +2407,12 @@ "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true + "optional": true }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, @@ -2422,7 +2423,7 @@ "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -2430,7 +2431,7 @@ "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2441,7 +2442,7 @@ "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, + "optional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -2452,7 +2453,7 @@ "node_modules/espree": { "version": "9.6.1", "integrity": "sha1-oqF7jkNGkKVDLy+AGM5x0zGkjG8=", - "dev": true, + "optional": true, "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -2468,7 +2469,7 @@ "node_modules/esquery": { "version": "1.6.0", "integrity": "sha1-kUGSNPgE2FKoLc7sPhbNwiz52uc=", - "dev": true, + "optional": true, "dependencies": { "estraverse": "^5.1.0" }, @@ -2479,7 +2480,7 @@ "node_modules/esrecurse": { "version": "4.3.0", "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, + "optional": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -2490,7 +2491,7 @@ "node_modules/estraverse": { "version": "5.3.0", "integrity": "sha1-LupSkHAvJquP5TcDcP+GyWXSESM=", - "dev": true, + "optional": true, "engines": { "node": ">=4.0" } @@ -2498,7 +2499,7 @@ "node_modules/esutils": { "version": "2.0.3", "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=", - "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -2523,12 +2524,12 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true + "optional": true }, "node_modules/fast-glob": { "version": "3.3.2", "integrity": "sha1-qQRQHlfP3S/83tRemaVP71XkYSk=", - "dev": true, + "optional": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2543,7 +2544,7 @@ "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, + "optional": true, "dependencies": { "is-glob": "^4.0.1" }, @@ -2554,17 +2555,17 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", - "dev": true + "optional": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true + "optional": true }, "node_modules/fastq": { "version": "1.17.1", "integrity": "sha1-KlI/B6TnsegaQrkbi/IlQQd1O0c=", - "dev": true, + "optional": true, "dependencies": { "reusify": "^1.0.4" } @@ -2580,7 +2581,7 @@ "node_modules/file-entry-cache": { "version": "6.0.1", "integrity": "sha1-IRst2WWcsDlLBz5zI6w8kz1SICc=", - "dev": true, + "optional": true, "dependencies": { "flat-cache": "^3.0.4" }, @@ -2591,7 +2592,7 @@ "node_modules/fill-range": { "version": "7.1.1", "integrity": "sha1-RCZdPKwH4+p9wkdRY4BkN1SgUpI=", - "dev": true, + "optional": true, "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2602,7 +2603,7 @@ "node_modules/find-up": { "version": "5.0.0", "integrity": "sha1-TJKBnstwg1YeT0okCoa+UZj1Nvw=", - "dev": true, + "optional": true, "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -2617,7 +2618,7 @@ "node_modules/flat": { "version": "5.0.2", "integrity": "sha1-jKb+MyBp/6nTJMMnGYxZglnOskE=", - "dev": true, + "optional": true, "bin": { "flat": "cli.js" } @@ -2625,7 +2626,7 @@ "node_modules/flat-cache": { "version": "3.2.0", "integrity": "sha1-LAwtUEDJmxYydxqdEFclwBFTY+4=", - "dev": true, + "optional": true, "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -2638,12 +2639,12 @@ "node_modules/flatted": { "version": "3.3.1", "integrity": "sha1-IdtHBymmc01JlwAvQ5yzCJh/Vno=", - "dev": true + "optional": true }, "node_modules/foreground-child": { "version": "3.2.1", "integrity": "sha1-dnAEzPOlsw3zm+2QcYurQ/4KWfc=", - "dev": true, + "optional": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -2658,7 +2659,7 @@ "node_modules/form-data": { "version": "4.0.0", "integrity": "sha1-k5Gdrq82HuUpWEubMWZNwSyfpFI=", - "dev": true, + "devOptional": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -2677,12 +2678,11 @@ "node_modules/fs.realpath": { "version": "1.0.0", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "devOptional": true }, "node_modules/fsevents": { "version": "2.3.3", "integrity": "sha1-ysZAd4XQNnWipeGlMFxpezR9kNY=", - "dev": true, "hasInstallScript": true, "optional": true, "os": [ @@ -2703,7 +2703,7 @@ "node_modules/get-caller-file": { "version": "2.0.5", "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true, + "optional": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -2735,7 +2735,7 @@ "node_modules/glob": { "version": "10.4.5", "integrity": "sha1-9NnwuQ/9urCcnXf18ptCYlF7CVY=", - "dev": true, + "optional": true, "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^3.1.2", @@ -2754,7 +2754,7 @@ "node_modules/glob-parent": { "version": "6.0.2", "integrity": "sha1-bSN9mQg5UMeSkPJMdkKj3poo+eM=", - "dev": true, + "optional": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -2765,7 +2765,7 @@ "node_modules/globals": { "version": "13.24.0", "integrity": "sha1-hDKhnXjODB6DOUnDats0VAC7EXE=", - "dev": true, + "optional": true, "dependencies": { "type-fest": "^0.20.2" }, @@ -2779,7 +2779,7 @@ "node_modules/globby": { "version": "11.1.0", "integrity": "sha1-vUvpi7BC+D15b344EZkfvoKg00s=", - "dev": true, + "optional": true, "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2809,7 +2809,7 @@ "node_modules/graphemer": { "version": "1.4.0", "integrity": "sha1-+y8dVeDjoYSa7/yQxPoN1ToOZsY=", - "dev": true + "optional": true }, "node_modules/has-flag": { "version": "3.0.0", @@ -2866,7 +2866,7 @@ "node_modules/he": { "version": "1.2.0", "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true, + "optional": true, "bin": { "he": "bin/he" } @@ -2903,7 +2903,7 @@ "node_modules/http-proxy-agent": { "version": "7.0.2", "integrity": "sha1-mosfJGhmwChQlIZYX2K48sGMJw4=", - "dev": true, + "devOptional": true, "dependencies": { "agent-base": "^7.1.0", "debug": "^4.3.4" @@ -2915,7 +2915,7 @@ "node_modules/https-proxy-agent": { "version": "7.0.5", "integrity": "sha1-notQE4cymeEfq2/VSEBdotbGArI=", - "dev": true, + "devOptional": true, "dependencies": { "agent-base": "^7.0.2", "debug": "4" @@ -2927,7 +2927,6 @@ "node_modules/ieee754": { "version": "1.2.1", "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", - "dev": true, "funding": [ { "type": "github", @@ -2941,12 +2940,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "optional": true }, "node_modules/ignore": { "version": "5.3.1", "integrity": "sha1-UHPlVM1CxbM7OUN19Ti4WT401O8=", - "dev": true, + "optional": true, "engines": { "node": ">= 4" } @@ -2954,12 +2954,12 @@ "node_modules/immediate": { "version": "3.0.6", "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true + "optional": true }, "node_modules/import-fresh": { "version": "3.3.0", "integrity": "sha1-NxYsJfy566oublPVtNiM4X2eDCs=", - "dev": true, + "optional": true, "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -2974,7 +2974,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, + "optional": true, "engines": { "node": ">=0.8.19" } @@ -2982,7 +2982,7 @@ "node_modules/inflight": { "version": "1.0.6", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, + "devOptional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2991,7 +2991,7 @@ "node_modules/inherits": { "version": "2.0.4", "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true + "devOptional": true }, "node_modules/ini": { "version": "1.3.8", @@ -3002,7 +3002,7 @@ "node_modules/is-binary-path": { "version": "2.1.0", "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, + "optional": true, "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3027,7 +3027,7 @@ "node_modules/is-extglob": { "version": "2.1.1", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -3035,7 +3035,7 @@ "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -3043,7 +3043,7 @@ "node_modules/is-glob": { "version": "4.0.3", "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "dev": true, + "optional": true, "dependencies": { "is-extglob": "^2.1.1" }, @@ -3054,7 +3054,7 @@ "node_modules/is-interactive": { "version": "2.0.0", "integrity": "sha1-QMV2FFk4JtoRAK3mBZd41ZfxbpA=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -3065,7 +3065,7 @@ "node_modules/is-number": { "version": "7.0.0", "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true, + "optional": true, "engines": { "node": ">=0.12.0" } @@ -3073,7 +3073,7 @@ "node_modules/is-path-inside": { "version": "3.0.3", "integrity": "sha1-0jE2LlOgf/Kw4Op/7QSRYf/RYoM=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -3081,7 +3081,7 @@ "node_modules/is-plain-obj": { "version": "2.1.0", "integrity": "sha1-ReQuN/zPH0Dajl927iFRWEDAkoc=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -3089,7 +3089,7 @@ "node_modules/is-unicode-supported": { "version": "0.1.0", "integrity": "sha1-PybHaoCVk7Ur+i7LVxDtJ3m1Iqc=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, @@ -3111,17 +3111,17 @@ "node_modules/isarray": { "version": "1.0.0", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "optional": true }, "node_modules/isexe": { "version": "2.0.0", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "optional": true }, "node_modules/jackspeak": { "version": "3.4.3", "integrity": "sha1-iDOp2Jq0rN5hiJQr0cU7Y5DtWoo=", - "dev": true, + "optional": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -3135,7 +3135,7 @@ "node_modules/js-yaml": { "version": "4.1.0", "integrity": "sha1-wftl+PUBeQHN0slRhkuhhFihBgI=", - "dev": true, + "optional": true, "dependencies": { "argparse": "^2.0.1" }, @@ -3146,17 +3146,17 @@ "node_modules/json-buffer": { "version": "3.0.1", "integrity": "sha1-kziAKjDTtmBfvgYT4JQAjKjAWhM=", - "dev": true + "optional": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true + "optional": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true + "optional": true }, "node_modules/jsonc-parser": { "version": "3.3.1", @@ -3206,7 +3206,7 @@ "node_modules/jszip": { "version": "3.10.1", "integrity": "sha1-NK7nDrGOofrsL1iSCKFX0f6wkcI=", - "dev": true, + "optional": true, "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -3217,7 +3217,7 @@ "node_modules/just-extend": { "version": "6.2.0", "integrity": "sha1-uBar+z1n7oYEgudAFWRnJVgWOUc=", - "dev": true + "optional": true }, "node_modules/jwa": { "version": "2.0.0", @@ -3252,7 +3252,7 @@ "node_modules/keyv": { "version": "4.5.4", "integrity": "sha1-qHmpnilFL5QkOfKkBeOvizHU3pM=", - "dev": true, + "optional": true, "dependencies": { "json-buffer": "3.0.1" } @@ -3268,7 +3268,7 @@ "node_modules/levn": { "version": "0.4.1", "integrity": "sha1-rkViwAdHO5MqYgDUAyaN0v/8at4=", - "dev": true, + "optional": true, "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3280,7 +3280,7 @@ "node_modules/lie": { "version": "3.3.0", "integrity": "sha1-3Pgt7lRfRgdNryAMfBxaCOD0D2o=", - "dev": true, + "optional": true, "dependencies": { "immediate": "~3.0.5" } @@ -3296,7 +3296,7 @@ "node_modules/locate-path": { "version": "6.0.0", "integrity": "sha1-VTIeswn+u8WcSAHZMackUqaB0oY=", - "dev": true, + "optional": true, "dependencies": { "p-locate": "^5.0.0" }, @@ -3310,12 +3310,12 @@ "node_modules/lodash": { "version": "4.17.21", "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true + "optional": true }, "node_modules/lodash.get": { "version": "4.4.2", "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=", - "dev": true + "optional": true }, "node_modules/lodash.includes": { "version": "4.3.0", @@ -3350,7 +3350,7 @@ "node_modules/lodash.merge": { "version": "4.6.2", "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=", - "dev": true + "optional": true }, "node_modules/lodash.once": { "version": "4.1.1", @@ -3360,7 +3360,7 @@ "node_modules/log-symbols": { "version": "4.1.0", "integrity": "sha1-P727lbRoOsn8eFER55LlWNSr1QM=", - "dev": true, + "optional": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -3375,7 +3375,7 @@ "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, + "optional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -3389,7 +3389,7 @@ "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "dev": true, + "optional": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -3404,7 +3404,7 @@ "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, + "optional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -3415,12 +3415,12 @@ "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true + "optional": true }, "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -3428,7 +3428,7 @@ "node_modules/log-symbols/node_modules/supports-color": { "version": "7.2.0", "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, + "optional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3478,7 +3478,7 @@ "node_modules/merge2": { "version": "1.4.1", "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", - "dev": true, + "optional": true, "engines": { "node": ">= 8" } @@ -3486,7 +3486,7 @@ "node_modules/micromatch": { "version": "4.0.7", "integrity": "sha1-M+gZDZ/kdKmJVSX1YY7uE21GwuU=", - "dev": true, + "optional": true, "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -3509,7 +3509,7 @@ "node_modules/mime-db": { "version": "1.52.0", "integrity": "sha1-u6vNwChZ9JhzAchW4zh85exDv3A=", - "dev": true, + "devOptional": true, "engines": { "node": ">= 0.6" } @@ -3517,7 +3517,7 @@ "node_modules/mime-types": { "version": "2.1.35", "integrity": "sha1-OBqHG2KnNEUGYK497uRIE/cNlZo=", - "dev": true, + "devOptional": true, "dependencies": { "mime-db": "1.52.0" }, @@ -3528,7 +3528,7 @@ "node_modules/mimic-fn": { "version": "2.1.0", "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true, + "optional": true, "engines": { "node": ">=6" } @@ -3548,7 +3548,7 @@ "node_modules/minimatch": { "version": "9.0.5", "integrity": "sha1-10+d1rV9g9jpjPuCEzsDl4vJKeU=", - "dev": true, + "optional": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3571,7 +3571,7 @@ "node_modules/minipass": { "version": "7.1.2", "integrity": "sha1-k6libOXl5mvU24aEnnUV6SNApwc=", - "dev": true, + "optional": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -3585,7 +3585,7 @@ "node_modules/mocha": { "version": "10.6.0", "integrity": "sha1-Rl/GbFJhMIjhABiYmjuY1eEZVLk=", - "dev": true, + "optional": true, "dependencies": { "ansi-colors": "^4.1.3", "browser-stdout": "^1.3.1", @@ -3619,7 +3619,7 @@ "node_modules/mocha-explorer-launcher-scripts": { "version": "0.4.0", "integrity": "sha1-kVauKTxShWU3XHnD+5O2tbEIgSY=", - "dev": true, + "optional": true, "dependencies": { "vscode-test-adapter-remoting-util": "^0.13.0" } @@ -3627,7 +3627,7 @@ "node_modules/mocha-multi-reporters": { "version": "1.5.1", "integrity": "sha1-xzSGvtVRnh1Zyc45rHqXkmAOVnY=", - "dev": true, + "optional": true, "dependencies": { "debug": "^4.1.1", "lodash": "^4.17.15" @@ -3642,7 +3642,7 @@ "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "integrity": "sha1-FLqDpdNz49MR5a/KKc9b+tllvzQ=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, @@ -3653,7 +3653,7 @@ "node_modules/mocha/node_modules/glob": { "version": "8.1.0", "integrity": "sha1-04j2Vlk+9wjuPjRkD9+5mp/Rwz4=", - "dev": true, + "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3671,7 +3671,7 @@ "node_modules/mocha/node_modules/has-flag": { "version": "4.0.0", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -3679,7 +3679,7 @@ "node_modules/mocha/node_modules/minimatch": { "version": "5.1.6", "integrity": "sha1-HPy4z1Ui6mmVLNKvla4JR38SKpY=", - "dev": true, + "optional": true, "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3690,12 +3690,12 @@ "node_modules/mocha/node_modules/ms": { "version": "2.1.3", "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "dev": true + "optional": true }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", - "dev": true, + "optional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -3709,7 +3709,7 @@ "node_modules/mock-fs": { "version": "5.2.0", "integrity": "sha1-NQKpSZyEwKEhjuS/kq5b8uqbK14=", - "dev": true, + "optional": true, "engines": { "node": ">=12.0.0" } @@ -3717,7 +3717,7 @@ "node_modules/ms": { "version": "2.1.2", "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true + "devOptional": true }, "node_modules/mute-stream": { "version": "0.0.8", @@ -3733,12 +3733,12 @@ "node_modules/natural-compare": { "version": "1.4.0", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true + "optional": true }, "node_modules/nise": { "version": "6.0.0", "integrity": "sha1-rlb8y12RIDc2PDs/Keu/oovei0g=", - "dev": true, + "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", @@ -3786,7 +3786,7 @@ "node_modules/normalize-path": { "version": "3.0.0", "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -3816,7 +3816,7 @@ "node_modules/once": { "version": "1.4.0", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, + "devOptional": true, "dependencies": { "wrappy": "1" } @@ -3824,7 +3824,7 @@ "node_modules/onetime": { "version": "5.1.2", "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", - "dev": true, + "optional": true, "dependencies": { "mimic-fn": "^2.1.0" }, @@ -3854,7 +3854,7 @@ "node_modules/optionator": { "version": "0.9.4", "integrity": "sha1-fqHBpdkddk+yghOciP4R4YKjpzQ=", - "dev": true, + "optional": true, "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -3870,7 +3870,7 @@ "node_modules/ora": { "version": "7.0.1", "integrity": "sha1-zdUw7Nhl/jnkUaDnaXhlZpyxGTA=", - "dev": true, + "optional": true, "dependencies": { "chalk": "^5.3.0", "cli-cursor": "^4.0.0", @@ -3892,7 +3892,7 @@ "node_modules/ora/node_modules/ansi-regex": { "version": "6.0.1", "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -3903,7 +3903,7 @@ "node_modules/ora/node_modules/chalk": { "version": "5.3.0", "integrity": "sha1-Z8IKfr73Dn85cKAfkPohDLaGA4U=", - "dev": true, + "optional": true, "engines": { "node": "^12.17.0 || ^14.13 || >=16.0.0" }, @@ -3914,12 +3914,12 @@ "node_modules/ora/node_modules/emoji-regex": { "version": "10.3.0", "integrity": "sha1-dpmLkmhAnrPa496YklTUVucM/iM=", - "dev": true + "optional": true }, "node_modules/ora/node_modules/is-unicode-supported": { "version": "1.3.0", "integrity": "sha1-2CSYS2FsKSouGYIH1KYJmDhC9xQ=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -3930,7 +3930,7 @@ "node_modules/ora/node_modules/log-symbols": { "version": "5.1.0", "integrity": "sha1-og47ml9T+sauuOK7IsB88sjxbZM=", - "dev": true, + "optional": true, "dependencies": { "chalk": "^5.0.0", "is-unicode-supported": "^1.1.0" @@ -3945,7 +3945,7 @@ "node_modules/ora/node_modules/string-width": { "version": "6.1.0", "integrity": "sha1-lkiNbtI/mtXYLRNSKvnkxMP9dRg=", - "dev": true, + "optional": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^10.2.1", @@ -3961,7 +3961,7 @@ "node_modules/ora/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -3975,7 +3975,7 @@ "node_modules/p-limit": { "version": "3.1.0", "integrity": "sha1-4drMvnjQ0TiMoYxk/qOOPlfjcGs=", - "dev": true, + "optional": true, "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3989,7 +3989,7 @@ "node_modules/p-locate": { "version": "5.0.0", "integrity": "sha1-g8gxXGeFAF470CGDlBHJ4RDm2DQ=", - "dev": true, + "optional": true, "dependencies": { "p-limit": "^3.0.2" }, @@ -4003,17 +4003,17 @@ "node_modules/package-json-from-dist": { "version": "1.0.0", "integrity": "sha1-5QHNMJSyeEletCWNTJ9tWsMBnwA=", - "dev": true + "optional": true }, "node_modules/pako": { "version": "1.0.11", "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", - "dev": true + "optional": true }, "node_modules/parent-module": { "version": "1.0.1", "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", - "dev": true, + "optional": true, "dependencies": { "callsites": "^3.0.0" }, @@ -4063,7 +4063,7 @@ "node_modules/path-exists": { "version": "4.0.0", "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -4071,7 +4071,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.10.0" } @@ -4079,7 +4079,7 @@ "node_modules/path-key": { "version": "3.1.1", "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -4087,7 +4087,7 @@ "node_modules/path-scurry": { "version": "1.11.1", "integrity": "sha1-eWCmaIiFlKByCxKpEdGnQqufEdI=", - "dev": true, + "optional": true, "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" @@ -4102,17 +4102,17 @@ "node_modules/path-scurry/node_modules/lru-cache": { "version": "10.4.3", "integrity": "sha1-QQ/IoXtw5ZgBPfJXwkRrfzOD8Rk=", - "dev": true + "optional": true }, "node_modules/path-to-regexp": { "version": "6.2.2", "integrity": "sha1-MkN3qD5QScvsrcVVTWpjqaSGazY=", - "dev": true + "optional": true }, "node_modules/path-type": { "version": "4.0.0", "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -4125,7 +4125,7 @@ "node_modules/picomatch": { "version": "2.3.1", "integrity": "sha1-O6ODNzNkbZ0+SZWUbBNlpn+wekI=", - "dev": true, + "optional": true, "engines": { "node": ">=8.6" }, @@ -4162,7 +4162,7 @@ "node_modules/prelude-ls": { "version": "1.2.1", "integrity": "sha1-3rxkidem5rDnYRiIzsiAM30xY5Y=", - "dev": true, + "optional": true, "engines": { "node": ">= 0.8.0" } @@ -4170,7 +4170,7 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", - "dev": true + "optional": true }, "node_modules/pump": { "version": "3.0.0", @@ -4185,7 +4185,7 @@ "node_modules/punycode": { "version": "2.3.1", "integrity": "sha1-AnQi4vrsCyXhVJw+G9gwm5EztuU=", - "dev": true, + "optional": true, "engines": { "node": ">=6" } @@ -4207,7 +4207,6 @@ "node_modules/queue-microtask": { "version": "1.2.3", "integrity": "sha1-SSkii7xyTfrEPg77BYyve2z7YkM=", - "dev": true, "funding": [ { "type": "github", @@ -4221,12 +4220,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "optional": true }, "node_modules/randombytes": { "version": "2.1.0", "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, + "optional": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -4269,7 +4269,7 @@ "node_modules/readable-stream": { "version": "2.3.8", "integrity": "sha1-kRJegEK7obmIf0k0X2J3Anzovps=", - "dev": true, + "optional": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4283,12 +4283,12 @@ "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true + "optional": true }, "node_modules/readdirp": { "version": "3.6.0", "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "dev": true, + "optional": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -4299,7 +4299,7 @@ "node_modules/require-directory": { "version": "2.1.1", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -4307,7 +4307,7 @@ "node_modules/resolve-from": { "version": "4.0.0", "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=", - "dev": true, + "optional": true, "engines": { "node": ">=4" } @@ -4315,7 +4315,7 @@ "node_modules/restore-cursor": { "version": "4.0.0", "integrity": "sha1-UZVgpDGJdQlt725gnUQQDtqkzLk=", - "dev": true, + "optional": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -4330,12 +4330,12 @@ "node_modules/restore-cursor/node_modules/signal-exit": { "version": "3.0.7", "integrity": "sha1-qaF2f4r4QVURTqq9c/mSc8j1mtk=", - "dev": true + "optional": true }, "node_modules/reusify": { "version": "1.0.4", "integrity": "sha1-kNo4Kx4SbvwCFG6QhFqI2xKSXXY=", - "dev": true, + "optional": true, "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4344,7 +4344,7 @@ "node_modules/rewire": { "version": "7.0.0", "integrity": "sha1-QdtUgjcMiHWP/Jpxn3ySp2H6j78=", - "dev": true, + "optional": true, "dependencies": { "eslint": "^8.47.0" } @@ -4352,7 +4352,7 @@ "node_modules/rimraf": { "version": "3.0.2", "integrity": "sha1-8aVAK6YiCtUswSgrrBrjqkn9Bho=", - "dev": true, + "optional": true, "dependencies": { "glob": "^7.1.3" }, @@ -4366,7 +4366,7 @@ "node_modules/rimraf/node_modules/brace-expansion": { "version": "1.1.11", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, + "optional": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4375,7 +4375,7 @@ "node_modules/rimraf/node_modules/glob": { "version": "7.2.3", "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", - "dev": true, + "optional": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4394,7 +4394,7 @@ "node_modules/rimraf/node_modules/minimatch": { "version": "3.1.2", "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", - "dev": true, + "optional": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4405,7 +4405,6 @@ "node_modules/run-parallel": { "version": "1.2.0", "integrity": "sha1-ZtE2jae9+SHrnZW9GpIp5/IaQ+4=", - "dev": true, "funding": [ { "type": "github", @@ -4420,6 +4419,7 @@ "url": "https://feross.org/support" } ], + "optional": true, "dependencies": { "queue-microtask": "^1.2.2" } @@ -4427,7 +4427,7 @@ "node_modules/safe-buffer": { "version": "5.2.1", "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true, + "devOptional": true, "funding": [ { "type": "github", @@ -4461,7 +4461,7 @@ "node_modules/serialize-javascript": { "version": "6.0.2", "integrity": "sha1-3voeBVyDv21Z6oBdjahiJU62psI=", - "dev": true, + "optional": true, "dependencies": { "randombytes": "^2.1.0" } @@ -4485,12 +4485,12 @@ "node_modules/setimmediate": { "version": "1.0.5", "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true + "optional": true }, "node_modules/shebang-command": { "version": "2.0.0", "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, + "optional": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4501,7 +4501,7 @@ "node_modules/shebang-regex": { "version": "3.0.0", "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -4526,7 +4526,7 @@ "node_modules/signal-exit": { "version": "4.1.0", "integrity": "sha1-lSGIwcvVRgcOLdIND0HArgUwywQ=", - "dev": true, + "optional": true, "engines": { "node": ">=14" }, @@ -4582,7 +4582,7 @@ "node_modules/sinon": { "version": "18.0.0", "integrity": "sha1-acopPbw+glkKiw1GyX9j68Hl/AE=", - "dev": true, + "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.1", "@sinonjs/fake-timers": "^11.2.2", @@ -4599,7 +4599,7 @@ "node_modules/sinon/node_modules/has-flag": { "version": "4.0.0", "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -4607,7 +4607,7 @@ "node_modules/sinon/node_modules/supports-color": { "version": "7.2.0", "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, + "optional": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -4618,7 +4618,7 @@ "node_modules/slash": { "version": "3.0.0", "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", - "dev": true, + "optional": true, "engines": { "node": ">=8" } @@ -4626,7 +4626,7 @@ "node_modules/source-map": { "version": "0.6.1", "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -4634,7 +4634,7 @@ "node_modules/source-map-support": { "version": "0.5.21", "integrity": "sha1-BP58f54e0tZiIzwoyys1ufY/bk8=", - "dev": true, + "optional": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -4643,7 +4643,7 @@ "node_modules/split": { "version": "1.0.1", "integrity": "sha1-YFvZvjA6pZ+zX5Ip++oN3snqB9k=", - "dev": true, + "optional": true, "dependencies": { "through": "2" }, @@ -4654,7 +4654,7 @@ "node_modules/stdin-discarder": { "version": "0.1.0", "integrity": "sha1-IrPkADk6jijr9T+ZWPOIBiLv3iE=", - "dev": true, + "optional": true, "dependencies": { "bl": "^5.0.0" }, @@ -4677,7 +4677,7 @@ "node_modules/string_decoder": { "version": "1.1.1", "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, + "optional": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -4685,12 +4685,12 @@ "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true + "optional": true }, "node_modules/string-width": { "version": "5.1.2", "integrity": "sha1-FPja7G2B5yIdKjV+Zoyrc728p5Q=", - "dev": true, + "optional": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4707,7 +4707,7 @@ "name": "string-width", "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4720,12 +4720,12 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true + "optional": true }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.0.1", "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -4736,7 +4736,7 @@ "node_modules/string-width/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4750,7 +4750,7 @@ "node_modules/strip-ansi": { "version": "6.0.1", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4762,7 +4762,7 @@ "name": "strip-ansi", "version": "6.0.1", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4773,7 +4773,7 @@ "node_modules/strip-json-comments": { "version": "3.1.1", "integrity": "sha1-MfEoGzgyYwQ0gxwxDAHMzajL4AY=", - "dev": true, + "optional": true, "engines": { "node": ">=8" }, @@ -4872,12 +4872,12 @@ "node_modules/text-table": { "version": "0.2.0", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true + "optional": true }, "node_modules/through": { "version": "2.3.8", "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "optional": true }, "node_modules/tmp": { "version": "0.2.3", @@ -4890,7 +4890,7 @@ "node_modules/to-regex-range": { "version": "5.0.1", "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, + "optional": true, "dependencies": { "is-number": "^7.0.0" }, @@ -4905,7 +4905,7 @@ "node_modules/ts-api-utils": { "version": "1.3.0", "integrity": "sha1-S0kOJxKfHo5oa0XMSrY3FNxg7qE=", - "dev": true, + "optional": true, "engines": { "node": ">=16" }, @@ -4940,7 +4940,7 @@ "node_modules/type-check": { "version": "0.4.0", "integrity": "sha1-B7ggO/pwVsBlcFDjzNLDdzC6uPE=", - "dev": true, + "optional": true, "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4951,7 +4951,7 @@ "node_modules/type-detect": { "version": "4.0.8", "integrity": "sha1-dkb7XxiHHPu3dJ5pvTmmOI63RQw=", - "dev": true, + "optional": true, "engines": { "node": ">=4" } @@ -4959,7 +4959,7 @@ "node_modules/type-fest": { "version": "0.20.2", "integrity": "sha1-G/IH9LKPkVg2ZstfvTJ4hzAc1fQ=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, @@ -4980,7 +4980,7 @@ "node_modules/typescript": { "version": "5.5.3", "integrity": "sha1-4bCjw5QZCDigsWjncbCtVqCvD6o=", - "dev": true, + "optional": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5009,7 +5009,7 @@ "node_modules/uri-js": { "version": "4.4.1", "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", - "dev": true, + "optional": true, "dependencies": { "punycode": "^2.1.0" } @@ -5022,7 +5022,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "optional": true }, "node_modules/uuid": { "version": "9.0.1", @@ -5079,7 +5079,7 @@ "node_modules/vscode-test-adapter-api": { "version": "1.9.0", "integrity": "sha1-D9Ff7Z8mFZZwmWyz349WGJAKAHk=", - "dev": true, + "optional": true, "engines": { "vscode": "^1.23.0" } @@ -5087,7 +5087,7 @@ "node_modules/vscode-test-adapter-remoting-util": { "version": "0.13.0", "integrity": "sha1-5BNv1y0pK1dul6ZvRLdPkB9PJj8=", - "dev": true, + "optional": true, "dependencies": { "split": "^1.0.1", "tslib": "^2.0.0", @@ -5109,7 +5109,7 @@ "node_modules/which": { "version": "2.0.2", "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, + "optional": true, "dependencies": { "isexe": "^2.0.0" }, @@ -5123,7 +5123,7 @@ "node_modules/word-wrap": { "version": "1.2.5", "integrity": "sha1-0sRcbdT7zmIaZvE2y+Mor9BBCzQ=", - "dev": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -5131,12 +5131,12 @@ "node_modules/workerpool": { "version": "6.5.1", "integrity": "sha1-Bg9zs50Mr5fG22TaAEzQG0wJlUQ=", - "dev": true + "optional": true }, "node_modules/wrap-ansi": { "version": "8.1.0", "integrity": "sha1-VtwiNo7lcPrOG0mBmXXZuaXq0hQ=", - "dev": true, + "optional": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5153,7 +5153,7 @@ "name": "wrap-ansi", "version": "7.0.0", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, + "optional": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5169,7 +5169,7 @@ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, + "optional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5183,7 +5183,7 @@ "node_modules/wrap-ansi-cjs/node_modules/color-convert": { "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, + "optional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5194,17 +5194,17 @@ "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true + "optional": true }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true + "optional": true }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5217,7 +5217,7 @@ "node_modules/wrap-ansi/node_modules/ansi-regex": { "version": "6.0.1", "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -5228,7 +5228,7 @@ "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", "integrity": "sha1-DmIyDPmcIa//OzASGSVGqsv7BcU=", - "dev": true, + "optional": true, "engines": { "node": ">=12" }, @@ -5239,7 +5239,7 @@ "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "dev": true, + "optional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -5253,7 +5253,7 @@ "node_modules/wrappy": { "version": "1.0.2", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "devOptional": true }, "node_modules/xml2js": { "version": "0.5.0", @@ -5278,7 +5278,7 @@ "node_modules/y18n": { "version": "5.0.8", "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "dev": true, + "optional": true, "engines": { "node": ">=10" } @@ -5291,7 +5291,7 @@ "node_modules/yargs": { "version": "16.2.0", "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dev": true, + "optional": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -5308,7 +5308,7 @@ "node_modules/yargs-parser": { "version": "20.2.9", "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "dev": true, + "optional": true, "engines": { "node": ">=10" } @@ -5316,7 +5316,7 @@ "node_modules/yargs-unparser": { "version": "2.0.0", "integrity": "sha1-8TH5ImkRrl2a04xDL+gJNmwjJes=", - "dev": true, + "optional": true, "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -5330,12 +5330,12 @@ "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true + "optional": true }, "node_modules/yargs/node_modules/string-width": { "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, + "optional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5365,7 +5365,7 @@ "node_modules/yocto-queue": { "version": "0.1.0", "integrity": "sha1-ApTrPe4FAo0x7hpfosVWpqrxChs=", - "dev": true, + "optional": true, "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 5d2c7fde9d..57cbd1b3b7 100644 --- a/package.json +++ b/package.json @@ -82,6 +82,10 @@ "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { + "@vscode/vsce": "^2.30.0", + "esbuild": "^0.21.5" + }, + "optionalDependencies": { "@types/mocha": "^10.0.7", "@types/mock-fs": "^4.13.4", "@types/node": "~18.15.0", @@ -97,8 +101,6 @@ "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.66.0", "@vscode/test-electron": "^2.4.1", - "@vscode/vsce": "^2.30.0", - "esbuild": "^0.21.5", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "glob": "^10.4.5", diff --git a/tools/installPSResources.ps1 b/tools/installPSResources.ps1 index 0602324b77..bfb03d59cb 100644 --- a/tools/installPSResources.ps1 +++ b/tools/installPSResources.ps1 @@ -1,11 +1,11 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. -Set-PSRepository -Name PSGallery -InstallationPolicy Trusted | Out-Null -if ($PSVersionTable.PSVersion.Major -lt 6) { - throw "The build script requires PowerShell 7!" +if ($PSVersionTable.PSVersion -lt [Version]"7.4") { + throw "The build script requires PowerShell 7.4 or higher!" } -# TODO: Switch to Install-PSResource when CI uses PowerShell 7.4 -Install-Module -Name InvokeBuild -Scope CurrentUser -Install-Module -Name platyPS -Scope CurrentUser +Register-PSResourceRepository -PSGallery -Trusted -Force + +Install-PSResource -Name InvokeBuild -Scope CurrentUser +Install-PSResource -Name platyPS -Scope CurrentUser diff --git a/vscode-powershell.build.ps1 b/vscode-powershell.build.ps1 index c2c8ae59fd..f6b93a1458 100644 --- a/vscode-powershell.build.ps1 +++ b/vscode-powershell.build.ps1 @@ -17,20 +17,19 @@ function Get-EditorServicesPath { } # NOTE: The ErrorActionPreference for both Invoke-Build and Azure DevOps # scripts is Stop, but we want to continue and return false here. - return Resolve-Path "$psesRepoPath/PowerShellEditorServices.build.ps1" -ErrorAction Continue + return Resolve-Path "$psesRepoPath/PowerShellEditorServices.build.ps1" -ErrorAction SilentlyContinue } #region Setup tasks -task RestoreNodeModules -If { !(Test-Path ./node_modules) } { - Write-Host "`n### Restoring vscode-powershell dependencies`n" -ForegroundColor Green - # When in a CI build use the --loglevel=error parameter so that - # package install warnings don't cause PowerShell to throw up - if ($env:CI -or $env:TF_BUILD) { - Invoke-BuildExec { & npm ci --loglevel=error } - } else { - Invoke-BuildExec { & npm install } - } +task RestoreNode -If { !(Test-Path ./node_modules/esbuild) } { + Write-Build DarkGreen "Restoring build dependencies" + Invoke-BuildExec { & npm ci --omit=optional } +} + +task RestoreNodeOptional -If { !(Test-Path ./node_modules/eslint) } { + Write-Build DarkMagenta "Restoring build, test, and lint dependencies" + Invoke-BuildExec { & npm ci --include=optional } } task RestoreEditorServices -If (Get-EditorServicesPath) { @@ -39,61 +38,60 @@ task RestoreEditorServices -If (Get-EditorServicesPath) { # When debugging, we always rebuild PSES and ensure its symlinked so # that developers always have the latest local bits. if ((Get-Item ./modules -ErrorAction SilentlyContinue).LinkType -ne "SymbolicLink") { - Write-Host "`n### Creating symbolic link to PSES" -ForegroundColor Green + Write-Build DarkMagenta "Creating symbolic link to PSES" Remove-BuildItem ./modules New-Item -ItemType SymbolicLink -Path ./modules -Target "$(Split-Path (Get-EditorServicesPath))/module" } - Write-Host "`n### Building PSES`n" -ForegroundColor Green + Write-Build DarkGreen "Building PSES" Invoke-Build Build (Get-EditorServicesPath) -Configuration $Configuration } "Release" { # When releasing, we ensure the bits are not symlinked but copied, # and only if they don't already exist. if ((Get-Item ./modules -ErrorAction SilentlyContinue).LinkType -eq "SymbolicLink") { - Write-Host "`n### Deleting PSES symbolic link" -ForegroundColor Green + Write-Build DarkRed "Deleting PSES symbolic link" Remove-BuildItem ./modules } if (!(Test-Path ./modules)) { # We only build if it hasn't been built at all. if (!(Test-Path "$(Split-Path (Get-EditorServicesPath))/module/PowerShellEditorServices/bin")) { - Write-Host "`n### Building PSES`n" -ForegroundColor Green + Write-Build DarkGreen "Building PSES" Invoke-Build Build (Get-EditorServicesPath) -Configuration $Configuration } - Write-Host "`n### Copying PSES`n" -ForegroundColor Green + Write-Build DarkGreen "Copying PSES" Copy-Item -Recurse -Force "$(Split-Path (Get-EditorServicesPath))/module" ./modules } } } } -task Restore RestoreEditorServices, RestoreNodeModules - #endregion #region Clean tasks task Clean { - Write-Host "`n### Cleaning vscode-powershell`n" -ForegroundColor Green + Write-Build DarkMagenta "Cleaning vscode-powershell" Remove-BuildItem *.js, *.js.map, ./dist, ./modules, ./node_modules, ./out } task CleanEditorServices -If (Get-EditorServicesPath) { - Write-Host "`n### Cleaning PowerShellEditorServices`n" -ForegroundColor Green + Write-Build DarkMagenta "Cleaning PowerShellEditorServices" Invoke-Build Clean (Get-EditorServicesPath) } #endregion #region Build tasks +task Lint RestoreNodeOptional, { + Write-Build DarkMagenta "Linting TypeScript" + Invoke-BuildExec { & npm run lint } +} -task Build Restore, { - Write-Host "`n### Building vscode-powershell`n" -ForegroundColor Green +task Build RestoreEditorServices, RestoreNode, { + Write-Build DarkGreen "Building vscode-powershell" Assert-Build (Test-Path ./modules/PowerShellEditorServices/bin) "Extension requires PSES" - Write-Host "`n### Linting TypeScript`n" -ForegroundColor Green - Invoke-BuildExec { & npm run lint } - # TODO: When supported we should use `esbuild` for the tests too. Although # we now use `esbuild` to transpile, bundle, and minify the extension, we # still use `tsc` to transpile everything in `src` and `test` because the VS @@ -109,15 +107,15 @@ task Build Restore, { #endregion #region Test tasks -task Test Build, { - Write-Host "`n### Running extension tests" -ForegroundColor Green +task Test Lint, Build, { + Write-Build DarkMagenta "Running extension tests" Invoke-BuildExec { & npm run test } # Reset the state of files modified by tests Invoke-BuildExec { git checkout package.json test/TestEnvironment.code-workspace } } task TestEditorServices -If (Get-EditorServicesPath) { - Write-Host "`n### Testing PowerShellEditorServices`n" -ForegroundColor Green + Write-Build DarkMagenta "Testing PowerShellEditorServices" Invoke-Build Test (Get-EditorServicesPath) } @@ -126,7 +124,7 @@ task TestEditorServices -If (Get-EditorServicesPath) { task Package { [semver]$version = $((Get-Content -Raw -Path package.json | ConvertFrom-Json).version) - Write-Host "`n### Packaging powershell-$version.vsix`n" -ForegroundColor Green + Write-Build DarkGreen "Packaging powershell-$version.vsix" Remove-BuildItem ./out New-Item -ItemType Directory -Force out | Out-Null @@ -136,13 +134,13 @@ task Package { # we might have built in Debug configuration, not Release, and still want to # package it. So delete the symlink and copy what we just built. if ((Get-Item ./modules -ErrorAction SilentlyContinue).LinkType -eq "SymbolicLink") { - Write-Host "`n### PSES is a symbolic link, replacing with copy!" -ForegroundColor Green + Write-Build DarkRed "PSES is a symbolic link, replacing with copy!" Remove-BuildItem ./modules Copy-Item -Recurse -Force "$(Split-Path (Get-EditorServicesPath))/module" ./modules } if ($version.Minor % 2 -ne 0) { - Write-Host "`n### This is a pre-release!`n" -ForegroundColor Green + Write-Build DarkRed "This is a pre-release!" Invoke-BuildExec { & npm run package -- --pre-release } } else { Invoke-BuildExec { & npm run package } @@ -151,4 +149,4 @@ task Package { #endregion -task . Build, Test, Package +task . Test, Package From a1490e5de0bab1f0741f0609dc04db863c5df98d Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 14:52:30 -0700 Subject: [PATCH 18/39] Find shell integration script for VS Code 1.94+ It got moved. --- src/utils.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/utils.ts b/src/utils.ts index 9ae6e8f03a..7ea266e9c7 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -4,10 +4,17 @@ import os = require("os"); import path = require("path"); import vscode = require("vscode"); +import { satisfies } from "semver"; export const PowerShellLanguageId = "powershell"; -export const ShellIntegrationScript = path.join(vscode.env.appRoot, "out", "vs", "workbench", "contrib", "terminal", "browser", "media", "shellIntegration.ps1"); +// Path to the shell integration script in the VS Code installation +// See https://github.com/microsoft/vscode/pull/227244 +const shellIntegrationMoved = satisfies(vscode.version, ">=1.94", { includePrerelease: true }); +export const ShellIntegrationScript = path.join(vscode.env.appRoot, "out", "vs", "workbench", "contrib", "terminal", + shellIntegrationMoved ? "common" : "browser", + shellIntegrationMoved ? "scripts" : "media", + "shellIntegration.ps1"); export function escapeSingleQuotes(p: string): string { return p.replace(new RegExp("'", "g"), "''"); From a5a2a5005d01e9c08f74bb4ed1189f2aed681f3c Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:01:16 -0700 Subject: [PATCH 19/39] Update packages --- package-lock.json | 616 ++++++++++++++++++++++++++++------------------ package.json | 18 +- 2 files changed, 380 insertions(+), 254 deletions(-) diff --git a/package-lock.json b/package-lock.json index 157b63dd84..7a5fd70c98 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,16 +9,16 @@ "version": "2024.2.2", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { - "@vscode/extension-telemetry": "^0.9.6", + "@vscode/extension-telemetry": "^0.9.7", "node-fetch": "^2.7.0", - "semver": "^7.6.2", + "semver": "^7.6.3", "untildify": "^4.0.0", "uuid": "^9.0.1", "vscode-languageclient": "^9.0.1", "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { - "@vscode/vsce": "^2.30.0", + "@vscode/vsce": "^3.1.0", "esbuild": "^0.21.5" }, "engines": { @@ -35,22 +35,22 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@ungap/structured-clone": "^1.2.0", - "@vscode/debugprotocol": "^1.66.0", + "@vscode/debugprotocol": "^1.67.0", "@vscode/test-electron": "^2.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "glob": "^10.4.5", - "mocha": "^10.6.0", + "mocha": "^10.7.3", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", "mock-fs": "^5.2.0", "rewire": "^7.0.0", - "sinon": "^18.0.0", + "sinon": "^18.0.1", "source-map-support": "^0.5.21", - "typescript": "^5.5.3" + "typescript": "^5.6.2" } }, "node_modules/@azure/abort-controller": { @@ -65,8 +65,8 @@ } }, "node_modules/@azure/core-auth": { - "version": "1.7.2", - "integrity": "sha1-VYt8t90SsAvuwHrl31kH103x69k=", + "version": "1.8.0", + "integrity": "sha1-KBtKbTMJw+exW82WfwHUx5rkodY=", "dev": true, "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -117,12 +117,12 @@ } }, "node_modules/@azure/core-rest-pipeline": { - "version": "1.16.2", - "integrity": "sha1-P3GwnkWmWSbMWYR4tPG80P5nv0s=", + "version": "1.17.0", + "integrity": "sha1-Vdr6EJNVPFSe1tjbymmqUFx7OqM=", "dev": true, "dependencies": { "@azure/abort-controller": "^2.0.0", - "@azure/core-auth": "^1.4.0", + "@azure/core-auth": "^1.8.0", "@azure/core-tracing": "^1.0.1", "@azure/core-util": "^1.9.0", "@azure/logger": "^1.0.0", @@ -157,8 +157,8 @@ } }, "node_modules/@azure/core-util": { - "version": "1.9.1", - "integrity": "sha1-BeqVBcXN8pxVzPmaZIxm3dZ4WQs=", + "version": "1.10.0", + "integrity": "sha1-zzFjOC1ANDlyhIyRSGmGTfXUS9s=", "dev": true, "dependencies": { "@azure/abort-controller": "^2.0.0", @@ -180,8 +180,8 @@ } }, "node_modules/@azure/identity": { - "version": "4.3.0", - "integrity": "sha1-6NprO/HfTeFRHoE6cWaktbSpnKE=", + "version": "4.4.1", + "integrity": "sha1-SQ+irSZ4Yimvo2QRiSu1Pfo0eNM=", "dev": true, "dependencies": { "@azure/abort-controller": "^1.0.0", @@ -191,7 +191,7 @@ "@azure/core-tracing": "^1.0.0", "@azure/core-util": "^1.3.0", "@azure/logger": "^1.0.0", - "@azure/msal-browser": "^3.11.1", + "@azure/msal-browser": "^3.14.0", "@azure/msal-node": "^2.9.2", "events": "^3.0.0", "jws": "^4.0.0", @@ -204,8 +204,8 @@ } }, "node_modules/@azure/logger": { - "version": "1.1.3", - "integrity": "sha1-Caj9SFC5EShldW6S1ei3KO5Fc0U=", + "version": "1.1.4", + "integrity": "sha1-Ijy/K0JN+mZHjOmk9XX1nG83l2g=", "dev": true, "dependencies": { "tslib": "^2.6.2" @@ -215,30 +215,30 @@ } }, "node_modules/@azure/msal-browser": { - "version": "3.19.0", - "integrity": "sha1-9szoeTjc2IOZM75wEfUdwnwcKi8=", + "version": "3.23.0", + "integrity": "sha1-RGqvJoJH5ZQ/Rk8AfTqjoEq/6Vs=", "dev": true, "dependencies": { - "@azure/msal-common": "14.13.0" + "@azure/msal-common": "14.14.2" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "14.13.0", - "integrity": "sha1-c3e0kJpG0Z6pHa3SSvdwXmqpR68=", + "version": "14.14.2", + "integrity": "sha1-WDtKycCJlTcY16Xi87jfLU27F/Q=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.11.0", - "integrity": "sha1-xlsT/UAHqDqOt4DT0Yfl0zTMlEQ=", + "version": "2.13.1", + "integrity": "sha1-8UQ3EnW3w8vlZHYrhHcqlzJFekc=", "dev": true, "dependencies": { - "@azure/msal-common": "14.13.0", + "@azure/msal-common": "14.14.2", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -724,7 +724,7 @@ "node_modules/@isaacs/cliui": { "version": "8.0.2", "integrity": "sha1-s3Znt7wYHBaHgiWbq0JHT79StVA=", - "optional": true, + "devOptional": true, "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -738,9 +738,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "optional": true, + "version": "6.1.0", + "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", + "devOptional": true, "engines": { "node": ">=12" }, @@ -751,7 +751,7 @@ "node_modules/@isaacs/cliui/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -763,10 +763,10 @@ } }, "node_modules/@microsoft/1ds-core-js": { - "version": "4.3.0", - "integrity": "sha1-XIgGFM41L8ZsNK5/uxbN255cL6w=", + "version": "4.3.2", + "integrity": "sha1-4Qsocf796Wja2r8tk1vh+cxiI2M=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-core-js": "3.3.2", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -774,10 +774,10 @@ } }, "node_modules/@microsoft/1ds-post-js": { - "version": "4.3.0", - "integrity": "sha1-FP9w3FgEsPqcIyMPe2U6D7obLcM=", + "version": "4.3.2", + "integrity": "sha1-MLASqzayr5GuetbwKxEq67pJp94=", "dependencies": { - "@microsoft/1ds-core-js": "4.3.0", + "@microsoft/1ds-core-js": "4.3.2", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -785,36 +785,36 @@ } }, "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "3.3.0", - "integrity": "sha1-/KhHqeFLa4L4tXoP64i2CKV9mrE=", + "version": "3.3.2", + "integrity": "sha1-vXJ6rCH5zMIchVMCjBHrji40PMc=", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-common": "3.3.2", + "@microsoft/applicationinsights-core-js": "3.3.2", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { - "tslib": "*" + "tslib": ">= 1.0.0" } }, "node_modules/@microsoft/applicationinsights-common": { - "version": "3.3.0", - "integrity": "sha1-+136Im/n4ISeRJd8u51NvOSb+Co=", + "version": "3.3.2", + "integrity": "sha1-Y7i63rWsqwixugBRXeud3wTksBA=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-core-js": "3.3.2", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { - "tslib": "*" + "tslib": ">= 1.0.0" } }, "node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.3.0", - "integrity": "sha1-tOTaO9ScPRQQf3vrYVLVIUMkshQ=", + "version": "3.3.2", + "integrity": "sha1-dK3oOUYWTLAAa47dy7IwHEzgadQ=", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", @@ -822,7 +822,7 @@ "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { - "tslib": "*" + "tslib": ">= 1.0.0" } }, "node_modules/@microsoft/applicationinsights-shims": { @@ -833,19 +833,19 @@ } }, "node_modules/@microsoft/applicationinsights-web-basic": { - "version": "3.3.0", - "integrity": "sha1-5/xTINX49zfZT+PNs5Jy1hqtXiI=", + "version": "3.3.2", + "integrity": "sha1-7tRwrWxPJXwryO+V2/R/dQirNh0=", "dependencies": { - "@microsoft/applicationinsights-channel-js": "3.3.0", - "@microsoft/applicationinsights-common": "3.3.0", - "@microsoft/applicationinsights-core-js": "3.3.0", + "@microsoft/applicationinsights-channel-js": "3.3.2", + "@microsoft/applicationinsights-common": "3.3.2", + "@microsoft/applicationinsights-core-js": "3.3.2", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" }, "peerDependencies": { - "tslib": "*" + "tslib": ">= 1.0.0" } }, "node_modules/@microsoft/dynamicproto-js": { @@ -941,8 +941,8 @@ } }, "node_modules/@sinonjs/text-encoding": { - "version": "0.7.2", - "integrity": "sha1-WYGo2xi1a6OO8O+32ZWxKqe1GRg=", + "version": "0.7.3", + "integrity": "sha1-KCBG8D6IbjUrLV9dpet1XgFFfz8=", "optional": true }, "node_modules/@types/mocha": { @@ -1011,15 +1011,15 @@ "optional": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.0", - "integrity": "sha1-s1Y5JzQeyhUSShjG+UIV93n1wCo=", + "version": "7.18.0", + "integrity": "sha1-sW088+52v1cv31EeecJIvexhnqM=", "optional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/type-utils": "7.16.0", - "@typescript-eslint/utils": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1043,14 +1043,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.16.0", - "integrity": "sha1-U/roES+MkSAkrqe0mc9zdEh69tg=", + "version": "7.18.0", + "integrity": "sha1-g5KNDxt/SvqXQJjGS1zm+QUflqA=", "optional": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -1070,12 +1070,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.0", - "integrity": "sha1-6wdXr1cgycU8gBDXoDVa4n4Xt+U=", + "version": "7.18.0", + "integrity": "sha1-ySjnqfwsCz7ZKrMRLGFNa9mVHIM=", "optional": true, "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1086,12 +1086,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.16.0", - "integrity": "sha1-7FKxkyuPtEoVo+ICCOC9SdC2vQA=", + "version": "7.18.0", + "integrity": "sha1-IWX/ruALH7vdLUCqhSMtq2mY9Ts=", "optional": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.0", - "@typescript-eslint/utils": "7.16.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1112,8 +1112,8 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.16.0", - "integrity": "sha1-YKGdfnprHKosBvrIYIKdFioDbtI=", + "version": "7.18.0", + "integrity": "sha1-uQpXzN6nF5f//6AyHnRPN57IOMk=", "optional": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1124,12 +1124,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.0", - "integrity": "sha1-mKx3nVJvqyp4HlYZySUPPjOGfAk=", + "version": "7.18.0", + "integrity": "sha1-tYaNSGxRzo8xIwm6eb258zGzeTE=", "optional": true, "dependencies": { - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/visitor-keys": "7.16.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1151,14 +1151,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.16.0", - "integrity": "sha1-s43Azhd46BguInyY2R00GESaoX8=", + "version": "7.18.0", + "integrity": "sha1-vKAc3nf5X8ao1bDby/s9bKS+RR8=", "optional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.0", - "@typescript-eslint/types": "7.16.0", - "@typescript-eslint/typescript-estree": "7.16.0" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1172,11 +1172,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.0", - "integrity": "sha1-odmfp6N4eWLW4O/UNlde+EDiOwY=", + "version": "7.18.0", + "integrity": "sha1-BWRim2Ek1nYHN40PAzKgSVsl59c=", "optional": true, "dependencies": { - "@typescript-eslint/types": "7.16.0", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1193,17 +1193,17 @@ "optional": true }, "node_modules/@vscode/debugprotocol": { - "version": "1.66.0", - "integrity": "sha1-4xHudpYFPn17DTDhOElojCI58qg=", + "version": "1.67.0", + "integrity": "sha1-y+72+ejktemjBGj6pvQsluTUIEA=", "optional": true }, "node_modules/@vscode/extension-telemetry": { - "version": "0.9.6", - "integrity": "sha1-lwQZht2uGugNPexXfkrhB+gSLz8=", + "version": "0.9.7", + "integrity": "sha1-OG4IwfmDUL1aNozPJ5pQGgzW3Wc=", "dependencies": { - "@microsoft/1ds-core-js": "^4.1.2", - "@microsoft/1ds-post-js": "^4.1.2", - "@microsoft/applicationinsights-web-basic": "^3.1.2" + "@microsoft/1ds-core-js": "^4.3.0", + "@microsoft/1ds-post-js": "^4.3.0", + "@microsoft/applicationinsights-web-basic": "^3.3.0" }, "engines": { "vscode": "^1.75.0" @@ -1225,8 +1225,8 @@ } }, "node_modules/@vscode/vsce": { - "version": "2.30.0", - "integrity": "sha1-egwWsg71KfopH+nTx/5RoqYT93M=", + "version": "3.1.0", + "integrity": "sha1-4h1JV1RpxzWpTrmbxBBbe+c0nJs=", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", @@ -1237,17 +1237,17 @@ "cockatiel": "^3.1.2", "commander": "^6.2.1", "form-data": "^4.0.0", - "glob": "^7.0.6", + "glob": "^11.0.0", "hosted-git-info": "^4.0.2", "jsonc-parser": "^3.2.0", "leven": "^3.1.0", - "markdown-it": "^12.3.2", + "markdown-it": "^14.1.0", "mime": "^1.3.4", "minimatch": "^3.0.3", "parse-semver": "^1.1.1", "read": "^1.0.7", "semver": "^7.5.2", - "tmp": "^0.2.1", + "tmp": "^0.2.3", "typed-rest-client": "^1.8.4", "url-join": "^4.0.1", "xml2js": "^0.5.0", @@ -1258,7 +1258,7 @@ "vsce": "vsce" }, "engines": { - "node": ">= 16" + "node": ">= 20" }, "optionalDependencies": { "keytar": "^7.7.0" @@ -1389,32 +1389,65 @@ "win32" ] }, - "node_modules/@vscode/vsce/node_modules/brace-expansion": { - "version": "1.1.11", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "node_modules/@vscode/vsce/node_modules/glob": { + "version": "11.0.0", + "integrity": "sha1-YDHfDXtl6qHMubKbXO0WzqZY534=", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@vscode/vsce/node_modules/glob": { - "version": "7.2.3", - "integrity": "sha1-uN8PuAK7+o6JvR2Ti04WV47UTys=", + "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "integrity": "sha1-zgUhhWtFPIbiXyxMDQPm/33cRAs=", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@vscode/vsce/node_modules/jackspeak": { + "version": "4.0.1", + "integrity": "sha1-n8pM6WGvYIPiWcN26eNUFDH1KHs=", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/@vscode/vsce/node_modules/lru-cache": { + "version": "11.0.1", + "integrity": "sha1-OnMvv+24LFunvKZWStP0Kvy24Uc=", + "dev": true, + "engines": { + "node": "20 || >=22" } }, "node_modules/@vscode/vsce/node_modules/minimatch": { @@ -1428,6 +1461,30 @@ "node": "*" } }, + "node_modules/@vscode/vsce/node_modules/minimatch/node_modules/brace-expansion": { + "version": "1.1.11", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@vscode/vsce/node_modules/path-scurry": { + "version": "2.0.0", + "integrity": "sha1-nwUiifI62L+Tl6KgQl57hhXFhYA=", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/acorn": { "version": "8.12.1", "integrity": "sha1-cWFr3MviXielRDngBG6JynbfIkg=", @@ -1484,7 +1541,7 @@ "node_modules/ansi-regex": { "version": "5.0.1", "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "optional": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -1716,20 +1773,24 @@ } }, "node_modules/cheerio": { - "version": "1.0.0-rc.12", - "integrity": "sha1-eIv3RmUGsca/X65R0kosTWLkdoM=", + "version": "1.0.0", + "integrity": "sha1-Ht5IlagvJuivcQCflhqbjLYNaoE=", "dev": true, "dependencies": { "cheerio-select": "^2.1.0", "dom-serializer": "^2.0.0", "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "htmlparser2": "^8.0.1", - "parse5": "^7.0.0", - "parse5-htmlparser2-tree-adapter": "^7.0.0" + "domutils": "^3.1.0", + "encoding-sniffer": "^0.2.0", + "htmlparser2": "^9.1.0", + "parse5": "^7.1.2", + "parse5-htmlparser2-tree-adapter": "^7.0.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^6.19.5", + "whatwg-mimetype": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": ">=18.17" }, "funding": { "url": "https://github.com/cheeriojs/cheerio?sponsor=1" @@ -1891,8 +1952,8 @@ } }, "node_modules/cockatiel": { - "version": "3.1.3", - "integrity": "sha1-uxd0pJihfnOd2ZTVZhDcZTiwKFg=", + "version": "3.2.1", + "integrity": "sha1-V1+Te8QECiCuJzUqbQfJxadBmB8=", "dev": true, "engines": { "node": ">=16" @@ -1943,7 +2004,7 @@ "node_modules/cross-spawn": { "version": "7.0.3", "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "optional": true, + "devOptional": true, "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1980,11 +2041,11 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "integrity": "sha1-6DRE7Ouf7dSh2lbWca4kRqAabh4=", + "version": "4.3.7", + "integrity": "sha1-h5RbQVGgEddtlaGY1xEchlw2ClI=", "devOptional": true, "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2160,7 +2221,7 @@ "node_modules/eastasianwidth": { "version": "0.2.0", "integrity": "sha1-aWzi7Aqg5uqTo5f/zySqeEDIJ8s=", - "optional": true + "devOptional": true }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", @@ -2173,7 +2234,19 @@ "node_modules/emoji-regex": { "version": "9.2.2", "integrity": "sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI=", - "optional": true + "devOptional": true + }, + "node_modules/encoding-sniffer": { + "version": "0.2.0", + "integrity": "sha1-eZVp1m1EO6voKvGMn0A0mDZe8dU=", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } }, "node_modules/end-of-stream": { "version": "1.4.4", @@ -2252,8 +2325,8 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "integrity": "sha1-VAdumrKepb89jx7WKs/7uIJy3yc=", + "version": "3.2.0", + "integrity": "sha1-ARo/aYVroYnf+n3I/M6Z0qh5A+U=", "optional": true, "engines": { "node": ">=6" @@ -2642,9 +2715,9 @@ "optional": true }, "node_modules/foreground-child": { - "version": "3.2.1", - "integrity": "sha1-dnAEzPOlsw3zm+2QcYurQ/4KWfc=", - "optional": true, + "version": "3.3.0", + "integrity": "sha1-CshkTAbkMUOfhWHbjs8pp7VRnHc=", + "devOptional": true, "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -2678,7 +2751,7 @@ "node_modules/fs.realpath": { "version": "1.0.0", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "devOptional": true + "optional": true }, "node_modules/fsevents": { "version": "2.3.3", @@ -2883,8 +2956,8 @@ } }, "node_modules/htmlparser2": { - "version": "8.0.2", - "integrity": "sha1-8AIVFwWzg+YkM7XPRm9bcW7a7CE=", + "version": "9.1.0", + "integrity": "sha1-zbSY2KdaUfc5th0/cYE2w2m8jCM=", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -2896,8 +2969,8 @@ "dependencies": { "domelementtype": "^2.3.0", "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" + "domutils": "^3.1.0", + "entities": "^4.5.0" } }, "node_modules/http-proxy-agent": { @@ -2924,6 +2997,17 @@ "node": ">= 14" } }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "integrity": "sha1-pS+AvzjaGVLrXGgXkHGYcaGnJQE=", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", @@ -2944,8 +3028,8 @@ "optional": true }, "node_modules/ignore": { - "version": "5.3.1", - "integrity": "sha1-UHPlVM1CxbM7OUN19Ti4WT401O8=", + "version": "5.3.2", + "integrity": "sha1-PNQOcp82Q/2HywTlC/DrcivFlvU=", "optional": true, "engines": { "node": ">= 4" @@ -2982,7 +3066,7 @@ "node_modules/inflight": { "version": "1.0.6", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "devOptional": true, + "optional": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2991,7 +3075,7 @@ "node_modules/inherits": { "version": "2.0.4", "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "devOptional": true + "optional": true }, "node_modules/ini": { "version": "1.3.8", @@ -3035,7 +3119,7 @@ "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "optional": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -3116,7 +3200,7 @@ "node_modules/isexe": { "version": "2.0.0", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "optional": true + "devOptional": true }, "node_modules/jackspeak": { "version": "3.4.3", @@ -3286,11 +3370,11 @@ } }, "node_modules/linkify-it": { - "version": "3.0.3", - "integrity": "sha1-qYuvRM5FpVDvtNScdp0HUkzC+i4=", + "version": "5.0.0", + "integrity": "sha1-nvI4v6bccL2Of5VytS02mvVptCE=", "dev": true, "dependencies": { - "uc.micro": "^1.0.1" + "uc.micro": "^2.0.0" } }, "node_modules/locate-path": { @@ -3448,31 +3532,24 @@ } }, "node_modules/markdown-it": { - "version": "12.3.2", - "integrity": "sha1-v5Kskig/6YP+Tej/ir+1rXLNDJA=", + "version": "14.1.0", + "integrity": "sha1-PDxZkog8Yz20cUzLTXtZNdmLfUU=", "dev": true, "dependencies": { "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" + "entities": "^4.4.0", + "linkify-it": "^5.0.0", + "mdurl": "^2.0.0", + "punycode.js": "^2.3.1", + "uc.micro": "^2.1.0" }, "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it/node_modules/entities": { - "version": "2.1.0", - "integrity": "sha1-mS0xKc999ocLlsV4WMJJoSD4uLU=", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "markdown-it": "bin/markdown-it.mjs" } }, "node_modules/mdurl": { - "version": "1.0.1", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "version": "2.0.0", + "integrity": "sha1-gGduwEMwJd0+F+6YPQ/o3loiN+A=", "dev": true }, "node_modules/merge2": { @@ -3484,8 +3561,8 @@ } }, "node_modules/micromatch": { - "version": "4.0.7", - "integrity": "sha1-M+gZDZ/kdKmJVSX1YY7uE21GwuU=", + "version": "4.0.8", + "integrity": "sha1-1m+hjzpHB2eJMgubGvMr2G2fogI=", "optional": true, "dependencies": { "braces": "^3.0.3", @@ -3571,7 +3648,7 @@ "node_modules/minipass": { "version": "7.1.2", "integrity": "sha1-k6libOXl5mvU24aEnnUV6SNApwc=", - "optional": true, + "devOptional": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -3583,8 +3660,8 @@ "optional": true }, "node_modules/mocha": { - "version": "10.6.0", - "integrity": "sha1-Rl/GbFJhMIjhABiYmjuY1eEZVLk=", + "version": "10.7.3", + "integrity": "sha1-rjIAPKu9UrWa7OF4RgVqaOtLB1I=", "optional": true, "dependencies": { "ansi-colors": "^4.1.3", @@ -3687,11 +3764,6 @@ "node": ">=10" } }, - "node_modules/mocha/node_modules/ms": { - "version": "2.1.3", - "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", - "optional": true - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "integrity": "sha1-zW/BfihQDP9WwbhsCn/UpUpzAFw=", @@ -3715,8 +3787,8 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", + "version": "2.1.3", + "integrity": "sha1-V0yBOM4dK1hh8LRFedut1gxmFbI=", "devOptional": true }, "node_modules/mute-stream": { @@ -3736,20 +3808,20 @@ "optional": true }, "node_modules/nise": { - "version": "6.0.0", - "integrity": "sha1-rlb8y12RIDc2PDs/Keu/oovei0g=", + "version": "6.0.1", + "integrity": "sha1-WCo0eSmCiSTZ5OnJP3VJgAzQkSw=", "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.0", "@sinonjs/fake-timers": "^11.2.2", "@sinonjs/text-encoding": "^0.7.2", "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" + "path-to-regexp": "^8.1.0" } }, "node_modules/node-abi": { - "version": "3.65.0", - "integrity": "sha1-ypLVWTiOHpyrFoChjBoYdXzaydM=", + "version": "3.67.0", + "integrity": "sha1-HRWZB/GNGOGICdu7XfR+0kJqCN8=", "dev": true, "optional": true, "dependencies": { @@ -3816,7 +3888,7 @@ "node_modules/once": { "version": "1.4.0", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "devOptional": true, + "optional": true, "dependencies": { "wrappy": "1" } @@ -3890,8 +3962,8 @@ } }, "node_modules/ora/node_modules/ansi-regex": { - "version": "6.0.1", - "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", + "version": "6.1.0", + "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "optional": true, "engines": { "node": ">=12" @@ -3912,8 +3984,8 @@ } }, "node_modules/ora/node_modules/emoji-regex": { - "version": "10.3.0", - "integrity": "sha1-dpmLkmhAnrPa496YklTUVucM/iM=", + "version": "10.4.0", + "integrity": "sha1-A1U6/qgLOXV0nPyzb3dsomjkE9Q=", "optional": true }, "node_modules/ora/node_modules/is-unicode-supported": { @@ -4003,7 +4075,7 @@ "node_modules/package-json-from-dist": { "version": "1.0.0", "integrity": "sha1-5QHNMJSyeEletCWNTJ9tWsMBnwA=", - "optional": true + "devOptional": true }, "node_modules/pako": { "version": "1.0.11", @@ -4060,6 +4132,17 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "integrity": "sha1-18IOrcN5aNJy4sAmYP/5LdJ+YOE=", + "dev": true, + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/path-exists": { "version": "4.0.0", "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", @@ -4071,7 +4154,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "devOptional": true, + "optional": true, "engines": { "node": ">=0.10.0" } @@ -4079,7 +4162,7 @@ "node_modules/path-key": { "version": "3.1.1", "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "optional": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -4105,9 +4188,12 @@ "optional": true }, "node_modules/path-to-regexp": { - "version": "6.2.2", - "integrity": "sha1-MkN3qD5QScvsrcVVTWpjqaSGazY=", - "optional": true + "version": "8.1.0", + "integrity": "sha1-TWh2Bu0L6O1RK6gC65TWIMsahvA=", + "optional": true, + "engines": { + "node": ">=16" + } }, "node_modules/path-type": { "version": "4.0.0", @@ -4173,8 +4259,8 @@ "optional": true }, "node_modules/pump": { - "version": "3.0.0", - "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "version": "3.0.2", + "integrity": "sha1-g28+3WvC7lmSVskk/+DYhXPdy/g=", "dev": true, "optional": true, "dependencies": { @@ -4190,9 +4276,17 @@ "node": ">=6" } }, + "node_modules/punycode.js": { + "version": "2.3.1", + "integrity": "sha1-a1PlatdViCNOefSv+pCXLH3Yzbc=", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/qs": { - "version": "6.12.3", - "integrity": "sha1-5DzgPIUhucf9fx8T5RTlyjdyd1Q=", + "version": "6.13.0", + "integrity": "sha1-bKO9WEOffiRWVXmJl3h7DYilGQY=", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -4443,14 +4537,19 @@ } ] }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", + "dev": true + }, "node_modules/sax": { "version": "1.4.1", "integrity": "sha1-RMyJiDd/EmME07P8EBDHM7kp7w8=", "dev": true }, "node_modules/semver": { - "version": "7.6.2", - "integrity": "sha1-Hjs0dZ+Jbo8U1hNHMs55iusMbhM=", + "version": "7.6.3", + "integrity": "sha1-mA97VVC8F1+03AlAMIVif56zMUM=", "bin": { "semver": "bin/semver.js" }, @@ -4490,7 +4589,7 @@ "node_modules/shebang-command": { "version": "2.0.0", "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "optional": true, + "devOptional": true, "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4501,7 +4600,7 @@ "node_modules/shebang-regex": { "version": "3.0.0", "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "optional": true, + "devOptional": true, "engines": { "node": ">=8" } @@ -4526,7 +4625,7 @@ "node_modules/signal-exit": { "version": "4.1.0", "integrity": "sha1-lSGIwcvVRgcOLdIND0HArgUwywQ=", - "optional": true, + "devOptional": true, "engines": { "node": ">=14" }, @@ -4580,12 +4679,12 @@ } }, "node_modules/sinon": { - "version": "18.0.0", - "integrity": "sha1-acopPbw+glkKiw1GyX9j68Hl/AE=", + "version": "18.0.1", + "integrity": "sha1-RkM0zf6izdxe2ppOp+Lj8MepHF4=", "optional": true, "dependencies": { "@sinonjs/commons": "^3.0.1", - "@sinonjs/fake-timers": "^11.2.2", + "@sinonjs/fake-timers": "11.2.2", "@sinonjs/samsam": "^8.0.0", "diff": "^5.2.0", "nise": "^6.0.0", @@ -4690,7 +4789,7 @@ "node_modules/string-width": { "version": "5.1.2", "integrity": "sha1-FPja7G2B5yIdKjV+Zoyrc728p5Q=", - "optional": true, + "devOptional": true, "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4707,7 +4806,7 @@ "name": "string-width", "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "optional": true, + "devOptional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4720,12 +4819,12 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "optional": true + "devOptional": true }, "node_modules/string-width/node_modules/ansi-regex": { - "version": "6.0.1", - "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "optional": true, + "version": "6.1.0", + "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", + "devOptional": true, "engines": { "node": ">=12" }, @@ -4736,7 +4835,7 @@ "node_modules/string-width/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4750,7 +4849,7 @@ "node_modules/strip-ansi": { "version": "6.0.1", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4762,7 +4861,7 @@ "name": "strip-ansi", "version": "6.0.1", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4914,8 +5013,8 @@ } }, "node_modules/tslib": { - "version": "2.6.3", - "integrity": "sha1-BDj4EK16ntzeeiQcPYDbaTyMv+A=" + "version": "2.7.0", + "integrity": "sha1-2bQMXECrWehzjyl98wh78aJpDAE=" }, "node_modules/tunnel": { "version": "0.0.6", @@ -4978,8 +5077,8 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "integrity": "sha1-4bCjw5QZCDigsWjncbCtVqCvD6o=", + "version": "5.6.2", + "integrity": "sha1-0d5ntr73fEGCP4It+PCzvP9gpaA=", "optional": true, "bin": { "tsc": "bin/tsc", @@ -4990,15 +5089,23 @@ } }, "node_modules/uc.micro": { - "version": "1.0.6", - "integrity": "sha1-nEEagCpAmpH8bPdAgbq6NLJEmaw=", + "version": "2.1.0", + "integrity": "sha1-+NP30OxMPeo1p+PI76TLi0XJ5+4=", "dev": true }, "node_modules/underscore": { - "version": "1.13.6", - "integrity": "sha1-BHhqH1idxsCfdh/F9FuJ6TUTZEE=", + "version": "1.13.7", + "integrity": "sha1-lw4zljr5p92iKPF+voOZ5fvmOhA=", "dev": true }, + "node_modules/undici": { + "version": "6.19.8", + "integrity": "sha1-AC18iij4zDpE/zPD1L5NheFdQOE=", + "dev": true, + "engines": { + "node": ">=18.17" + } + }, "node_modules/untildify": { "version": "4.0.0", "integrity": "sha1-K8lHuVNlJIfkYAlJ+wkeOujNkZs=", @@ -5098,6 +5205,25 @@ "version": "3.0.1", "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "integrity": "sha1-0PTvdpkF1CbhaI8+NDgambYLduU=", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "integrity": "sha1-vBv5SphdxQOI1UqSWKxAXDyi/Ao=", + "dev": true, + "engines": { + "node": ">=18" + } + }, "node_modules/whatwg-url": { "version": "5.0.0", "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", @@ -5109,7 +5235,7 @@ "node_modules/which": { "version": "2.0.2", "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "optional": true, + "devOptional": true, "dependencies": { "isexe": "^2.0.0" }, @@ -5136,7 +5262,7 @@ "node_modules/wrap-ansi": { "version": "8.1.0", "integrity": "sha1-VtwiNo7lcPrOG0mBmXXZuaXq0hQ=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5153,7 +5279,7 @@ "name": "wrap-ansi", "version": "7.0.0", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5169,7 +5295,7 @@ "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "optional": true, + "devOptional": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5183,7 +5309,7 @@ "node_modules/wrap-ansi-cjs/node_modules/color-convert": { "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "optional": true, + "devOptional": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5194,17 +5320,17 @@ "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "optional": true + "devOptional": true }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "optional": true + "devOptional": true }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "optional": true, + "devOptional": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5215,9 +5341,9 @@ } }, "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "6.0.1", - "integrity": "sha1-MYPjj66aZdfLXlOUXNWJfQJgoGo=", - "optional": true, + "version": "6.1.0", + "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", + "devOptional": true, "engines": { "node": ">=12" }, @@ -5228,7 +5354,7 @@ "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "6.2.1", "integrity": "sha1-DmIyDPmcIa//OzASGSVGqsv7BcU=", - "optional": true, + "devOptional": true, "engines": { "node": ">=12" }, @@ -5239,7 +5365,7 @@ "node_modules/wrap-ansi/node_modules/strip-ansi": { "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", - "optional": true, + "devOptional": true, "dependencies": { "ansi-regex": "^6.0.1" }, @@ -5253,7 +5379,7 @@ "node_modules/wrappy": { "version": "1.0.2", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "devOptional": true + "optional": true }, "node_modules/xml2js": { "version": "0.5.0", diff --git a/package.json b/package.json index 57cbd1b3b7..e9159f1203 100644 --- a/package.json +++ b/package.json @@ -73,16 +73,16 @@ "onWalkthrough:PowerShell" ], "dependencies": { - "@vscode/extension-telemetry": "^0.9.6", + "@vscode/extension-telemetry": "^0.9.7", "node-fetch": "^2.7.0", - "semver": "^7.6.2", + "semver": "^7.6.3", "untildify": "^4.0.0", "uuid": "^9.0.1", "vscode-languageclient": "^9.0.1", "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { - "@vscode/vsce": "^2.30.0", + "@vscode/vsce": "^3.1.0", "esbuild": "^0.21.5" }, "optionalDependencies": { @@ -96,22 +96,22 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.16.0", - "@typescript-eslint/parser": "^7.16.0", + "@typescript-eslint/eslint-plugin": "^7.18.0", + "@typescript-eslint/parser": "^7.18.0", "@ungap/structured-clone": "^1.2.0", - "@vscode/debugprotocol": "^1.66.0", + "@vscode/debugprotocol": "^1.67.0", "@vscode/test-electron": "^2.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", "glob": "^10.4.5", - "mocha": "^10.6.0", + "mocha": "^10.7.3", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", "mock-fs": "^5.2.0", "rewire": "^7.0.0", - "sinon": "^18.0.0", + "sinon": "^18.0.1", "source-map-support": "^0.5.21", - "typescript": "^5.5.3" + "typescript": "^5.6.2" }, "extensionDependencies": [ "vscode.powershell" From 164dafd24fb5dbb563fb89ec482be84b395995f4 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:08:06 -0700 Subject: [PATCH 20/39] Fix ESLint --- .eslintrc.json | 34 ++----- package-lock.json | 155 ++++++++++-------------------- package.json | 4 +- src/controls/checkboxQuickPick.ts | 2 +- src/features/CodeActions.ts | 2 +- src/features/HelpCompletion.ts | 2 +- 6 files changed, 64 insertions(+), 135 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 0cb0892db2..369478b085 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -33,42 +33,28 @@ "error", "always" ], - "@typescript-eslint/explicit-function-return-type": [ - "error" - ], + "@typescript-eslint/explicit-function-return-type": "error", + "@typescript-eslint/no-empty-object-type": "off", "@typescript-eslint/no-floating-promises": [ "error", { "ignoreVoid": true } ], - "@typescript-eslint/no-non-null-assertion": [ - "off" - ], + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-require-imports": "off", "@typescript-eslint/no-unused-vars": [ "error", { "argsIgnorePattern": "^_" } ], - "@typescript-eslint/no-unsafe-argument": [ - "off" - ], - "@typescript-eslint/no-unsafe-assignment": [ - "off" - ], - "@typescript-eslint/no-unsafe-call": [ - "off" - ], - "@typescript-eslint/no-unsafe-member-access": [ - "off" - ], - "@typescript-eslint/no-unsafe-return": [ - "off" - ], - "@typescript-eslint/restrict-template-expressions": [ - "off" - ], + "@typescript-eslint/no-unsafe-argument": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/no-unsafe-return": "off", + "@typescript-eslint/restrict-template-expressions": "off", "@typescript-eslint/prefer-nullish-coalescing": [ "error", { diff --git a/package-lock.json b/package-lock.json index 7a5fd70c98..b550ba1fc3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,8 +35,8 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.67.0", "@vscode/test-electron": "^2.4.1", @@ -1011,30 +1011,30 @@ "optional": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.18.0", - "integrity": "sha1-sW088+52v1cv31EeecJIvexhnqM=", + "version": "8.5.0", + "integrity": "sha1-fBhjaTqYNxcDaG4cD6xk/8V2zbE=", "optional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/type-utils": "7.18.0", - "@typescript-eslint/utils": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/type-utils": "8.5.0", + "@typescript-eslint/utils": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1043,25 +1043,25 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.18.0", - "integrity": "sha1-g5KNDxt/SvqXQJjGS1zm+QUflqA=", + "version": "8.5.0", + "integrity": "sha1-1ZDh758x8m1COZmtP2h3IyR+a8w=", "optional": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -1070,15 +1070,15 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.18.0", - "integrity": "sha1-ySjnqfwsCz7ZKrMRLGFNa9mVHIM=", + "version": "8.5.0", + "integrity": "sha1-OFNB3mW5dvArKVuKylS7T/1rXwc=", "optional": true, "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0" + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1086,25 +1086,22 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.18.0", - "integrity": "sha1-IWX/ruALH7vdLUCqhSMtq2mY9Ts=", + "version": "8.5.0", + "integrity": "sha1-YhWyOqOdu9jd4KTvnuD3RUEMKbE=", "optional": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.18.0", - "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/typescript-estree": "8.5.0", + "@typescript-eslint/utils": "8.5.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "eslint": "^8.56.0" - }, "peerDependenciesMeta": { "typescript": { "optional": true @@ -1112,11 +1109,11 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.18.0", - "integrity": "sha1-uQpXzN6nF5f//6AyHnRPN57IOMk=", + "version": "8.5.0", + "integrity": "sha1-RGXZkzHRJ2+PsgMOT5xz/gGgW/k=", "optional": true, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1124,21 +1121,21 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.18.0", - "integrity": "sha1-tYaNSGxRzo8xIwm6eb258zGzeTE=", + "version": "8.5.0", + "integrity": "sha1-bldYzy9jqobp3fpOKE4uC4G4dVc=", "optional": true, "dependencies": { - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/visitor-keys": "7.18.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/visitor-keys": "8.5.0", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", "ts-api-utils": "^1.3.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1151,36 +1148,36 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.18.0", - "integrity": "sha1-vKAc3nf5X8ao1bDby/s9bKS+RR8=", + "version": "8.5.0", + "integrity": "sha1-TU/+2W0GVFRqN/qluEvc4W2VFjQ=", "optional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.18.0", - "@typescript-eslint/types": "7.18.0", - "@typescript-eslint/typescript-estree": "7.18.0" + "@typescript-eslint/scope-manager": "8.5.0", + "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/typescript-estree": "8.5.0" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.56.0" + "eslint": "^8.57.0 || ^9.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.18.0", - "integrity": "sha1-BWRim2Ek1nYHN40PAzKgSVsl59c=", + "version": "8.5.0", + "integrity": "sha1-EwKN87hm0uPi4sxBk88sHg4ExL8=", "optional": true, "dependencies": { - "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/types": "8.5.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": "^18.18.0 || >=20.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1574,14 +1571,6 @@ "integrity": "sha1-JG9Q88p4oyQPbJl+ipvR6sSeSzg=", "devOptional": true }, - "node_modules/array-union": { - "version": "2.1.0", - "integrity": "sha1-t5hCCtvrHego2ErNii4j0+/oXo0=", - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/asynckit": { "version": "0.4.0", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", @@ -2145,17 +2134,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "integrity": "sha1-Vtv3PZkqSpO6FYT0U0Bj/S5BcX8=", - "optional": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", @@ -2849,25 +2827,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "11.1.0", - "integrity": "sha1-vUvpi7BC+D15b344EZkfvoKg00s=", - "optional": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/gopd": { "version": "1.0.1", "integrity": "sha1-Kf923mnax0ibfAkYpXiOVkd8Myw=", @@ -4195,14 +4154,6 @@ "node": ">=16" } }, - "node_modules/path-type": { - "version": "4.0.0", - "integrity": "sha1-hO0BwKe6OAr+CdkKjBgNzZ0DBDs=", - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pend": { "version": "1.2.0", "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", @@ -4714,14 +4665,6 @@ "node": ">=8" } }, - "node_modules/slash": { - "version": "3.0.0", - "integrity": "sha1-ZTm+hwwWWtvVJAIg2+Nh8bxNRjQ=", - "optional": true, - "engines": { - "node": ">=8" - } - }, "node_modules/source-map": { "version": "0.6.1", "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", diff --git a/package.json b/package.json index e9159f1203..85e907a99f 100644 --- a/package.json +++ b/package.json @@ -96,8 +96,8 @@ "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^7.18.0", - "@typescript-eslint/parser": "^7.18.0", + "@typescript-eslint/eslint-plugin": "^8.5.0", + "@typescript-eslint/parser": "^8.5.0", "@ungap/structured-clone": "^1.2.0", "@vscode/debugprotocol": "^1.67.0", "@vscode/test-electron": "^2.4.1", diff --git a/src/controls/checkboxQuickPick.ts b/src/controls/checkboxQuickPick.ts index 1ec18b5b3e..e318992365 100644 --- a/src/controls/checkboxQuickPick.ts +++ b/src/controls/checkboxQuickPick.ts @@ -73,7 +73,7 @@ async function showInner( } function getItemIndex(items: ICheckboxQuickPickItem[], itemLabel: string): number { - const trimmedLabel = itemLabel.substr(itemLabel.indexOf("]") + 2); + const trimmedLabel = itemLabel.substring(itemLabel.indexOf("]") + 2); return items.findIndex((item) => item.label === trimmedLabel); } diff --git a/src/features/CodeActions.ts b/src/features/CodeActions.ts index 1673b3e39f..23aac14986 100644 --- a/src/features/CodeActions.ts +++ b/src/features/CodeActions.ts @@ -32,7 +32,7 @@ export class CodeActionsFeature implements vscode.Disposable { } if (ruleId.startsWith("PS")) { - ruleId = ruleId.substr(2); + ruleId = ruleId.substring(2); } await vscode.commands.executeCommand("vscode.open", vscode.Uri.parse(pssaDocBaseURL + ruleId)); diff --git a/src/features/HelpCompletion.ts b/src/features/HelpCompletion.ts index 426da44df8..a5dc47459d 100644 --- a/src/features/HelpCompletion.ts +++ b/src/features/HelpCompletion.ts @@ -175,7 +175,7 @@ class HelpCompletionProvider extends LanguageClientConsumer { // Trim the last empty line and join the strings. const lines: string[] = result.content; const text = lines - .map((x) => x.trimLeft()) + .map((x) => x.trimStart()) .join(this.getEOL(doc.eol)); const snippetString = new SnippetString(text); From 63d19ed5a929917fd870ce399242279ea7bf8375 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:18:31 -0700 Subject: [PATCH 21/39] Fix glob and @types/node --- package-lock.json | 189 +++++++++++++++++++++------------------------- package.json | 4 +- 2 files changed, 88 insertions(+), 105 deletions(-) diff --git a/package-lock.json b/package-lock.json index b550ba1fc3..cb2c021036 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "optionalDependencies": { "@types/mocha": "^10.0.7", "@types/mock-fs": "^4.13.4", - "@types/node": "~18.15.0", + "@types/node": "^18.19.50", "@types/node-fetch": "^2.6.11", "@types/rewire": "^2.5.30", "@types/semver": "^7.5.8", @@ -42,7 +42,7 @@ "@vscode/test-electron": "^2.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.4.5", + "glob": "^11.0.0", "mocha": "^10.7.3", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", @@ -725,6 +725,7 @@ "version": "8.0.2", "integrity": "sha1-s3Znt7wYHBaHgiWbq0JHT79StVA=", "devOptional": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -741,6 +742,7 @@ "version": "6.1.0", "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "devOptional": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -752,6 +754,7 @@ "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -901,6 +904,7 @@ "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "integrity": "sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM=", + "license": "MIT", "optional": true, "engines": { "node": ">=14" @@ -959,9 +963,13 @@ } }, "node_modules/@types/node": { - "version": "18.15.13", - "integrity": "sha1-9kJ3w0EVDJeeQrAOSsKJKQyd9Gk=", - "optional": true + "version": "18.19.50", + "integrity": "sha1-hlKzTufA5+IASz8IGSKBgI1Bv1o=", + "license": "MIT", + "optional": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/node-fetch": { "version": "2.6.11", @@ -1386,67 +1394,6 @@ "win32" ] }, - "node_modules/@vscode/vsce/node_modules/glob": { - "version": "11.0.0", - "integrity": "sha1-YDHfDXtl6qHMubKbXO0WzqZY534=", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": { - "version": "10.0.1", - "integrity": "sha1-zgUhhWtFPIbiXyxMDQPm/33cRAs=", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@vscode/vsce/node_modules/jackspeak": { - "version": "4.0.1", - "integrity": "sha1-n8pM6WGvYIPiWcN26eNUFDH1KHs=", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/@vscode/vsce/node_modules/lru-cache": { - "version": "11.0.1", - "integrity": "sha1-OnMvv+24LFunvKZWStP0Kvy24Uc=", - "dev": true, - "engines": { - "node": "20 || >=22" - } - }, "node_modules/@vscode/vsce/node_modules/minimatch": { "version": "3.1.2", "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", @@ -1467,21 +1414,6 @@ "concat-map": "0.0.1" } }, - "node_modules/@vscode/vsce/node_modules/path-scurry": { - "version": "2.0.0", - "integrity": "sha1-nwUiifI62L+Tl6KgQl57hhXFhYA=", - "dev": true, - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/acorn": { "version": "8.12.1", "integrity": "sha1-cWFr3MviXielRDngBG6JynbfIkg=", @@ -2212,7 +2144,8 @@ "node_modules/emoji-regex": { "version": "9.2.2", "integrity": "sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI=", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/encoding-sniffer": { "version": "0.2.0", @@ -2784,20 +2717,24 @@ "optional": true }, "node_modules/glob": { - "version": "10.4.5", - "integrity": "sha1-9NnwuQ/9urCcnXf18ptCYlF7CVY=", - "optional": true, + "version": "11.0.0", + "integrity": "sha1-YDHfDXtl6qHMubKbXO0WzqZY534=", + "devOptional": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" + "path-scurry": "^2.0.0" }, "bin": { "glob": "dist/esm/bin.mjs" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -2813,6 +2750,21 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "integrity": "sha1-zgUhhWtFPIbiXyxMDQPm/33cRAs=", + "devOptional": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/globals": { "version": "13.24.0", "integrity": "sha1-hDKhnXjODB6DOUnDats0VAC7EXE=", @@ -3162,12 +3114,16 @@ "devOptional": true }, "node_modules/jackspeak": { - "version": "3.4.3", - "integrity": "sha1-iDOp2Jq0rN5hiJQr0cU7Y5DtWoo=", - "optional": true, + "version": "4.0.1", + "integrity": "sha1-n8pM6WGvYIPiWcN26eNUFDH1KHs=", + "devOptional": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, + "engines": { + "node": "20 || >=22" + }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -4127,24 +4083,29 @@ } }, "node_modules/path-scurry": { - "version": "1.11.1", - "integrity": "sha1-eWCmaIiFlKByCxKpEdGnQqufEdI=", - "optional": true, + "version": "2.0.0", + "integrity": "sha1-nwUiifI62L+Tl6KgQl57hhXFhYA=", + "devOptional": true, + "license": "BlueOak-1.0.0", "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { - "node": ">=16 || 14 >=14.18" + "node": "20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "integrity": "sha1-QQ/IoXtw5ZgBPfJXwkRrfzOD8Rk=", - "optional": true + "version": "11.0.1", + "integrity": "sha1-OnMvv+24LFunvKZWStP0Kvy24Uc=", + "devOptional": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, "node_modules/path-to-regexp": { "version": "8.1.0", @@ -4733,6 +4694,7 @@ "version": "5.1.2", "integrity": "sha1-FPja7G2B5yIdKjV+Zoyrc728p5Q=", "devOptional": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4750,6 +4712,7 @@ "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "devOptional": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4762,12 +4725,14 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.1.0", "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "devOptional": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -4779,6 +4744,7 @@ "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4805,6 +4771,7 @@ "version": "6.0.1", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5049,6 +5016,12 @@ "node": ">=18.17" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "integrity": "sha1-vNU5iT0AtW6WT9JlekhmsiGmVhc=", + "license": "MIT", + "optional": true + }, "node_modules/untildify": { "version": "4.0.0", "integrity": "sha1-K8lHuVNlJIfkYAlJ+wkeOujNkZs=", @@ -5206,6 +5179,7 @@ "version": "8.1.0", "integrity": "sha1-VtwiNo7lcPrOG0mBmXXZuaXq0hQ=", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5223,6 +5197,7 @@ "version": "7.0.0", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5239,6 +5214,7 @@ "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "devOptional": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5253,6 +5229,7 @@ "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "devOptional": true, + "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5263,17 +5240,20 @@ "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "devOptional": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5287,6 +5267,7 @@ "version": "6.1.0", "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "devOptional": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5298,6 +5279,7 @@ "version": "6.2.1", "integrity": "sha1-DmIyDPmcIa//OzASGSVGqsv7BcU=", "devOptional": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -5309,6 +5291,7 @@ "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", "devOptional": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, diff --git a/package.json b/package.json index 85e907a99f..325d573c30 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "optionalDependencies": { "@types/mocha": "^10.0.7", "@types/mock-fs": "^4.13.4", - "@types/node": "~18.15.0", + "@types/node": "^18.19.50", "@types/node-fetch": "^2.6.11", "@types/rewire": "^2.5.30", "@types/semver": "^7.5.8", @@ -103,7 +103,7 @@ "@vscode/test-electron": "^2.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", - "glob": "^10.4.5", + "glob": "^11.0.0", "mocha": "^10.7.3", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", From 56809a123a56998550ce8ea1774a8c44f465785e Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Mon, 23 Sep 2024 15:06:17 -0700 Subject: [PATCH 22/39] Allow release stage only on manual build So pushes can trigger the pipeline automatically. --- .pipelines/vscode-powershell-Official.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 6102c30db7..c3f1bd946e 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -8,7 +8,8 @@ # Support: https://aka.ms/onebranchsup # ################################################################################# -trigger: none +trigger: +- main schedules: - cron: '25 9 * * 3' @@ -145,7 +146,7 @@ extends: displayName: Run tests - stage: release dependsOn: build - condition: ne(variables['Build.Reason'], 'Schedule') + condition: eq(variables['Build.Reason'], 'Manual') variables: version: $[ stageDependencies.build.main.outputs['package.version'] ] vsixVersion: $[ stageDependencies.build.main.outputs['package.vsixVersion'] ] From 94debb46d00cb67b28376587cbb5157cdfae991e Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 12:42:30 -0700 Subject: [PATCH 23/39] Update `installPSResources.ps1` for CFS --- .pipelines/vscode-powershell-Official.yml | 18 ++++++++++-------- tools/installPSResources.ps1 | 14 ++++++++------ vscode-powershell.build.ps1 | 6 +++--- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index c3f1bd946e..4253129dd7 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -54,6 +54,7 @@ extends: enabled: true forStages: [build] featureFlags: + EnableCDPxPAT: false WindowsHostVersion: Version: 2022 Network: Netlock @@ -94,9 +95,10 @@ extends: targetPath: $(Build.SourcesDirectory)/modules - pwsh: | Register-PSRepository -Name CFS -SourceLocation "https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/powershell/nuget/v2" -InstallationPolicy Trusted - Install-Module -Name InvokeBuild -Repository CFS -RequiredVersion 5.11.3 -Verbose - Invoke-Build Build -Configuration $(BuildConfiguration) - # TODO: When the OneBuild container updates to 7.4, update to PSResourceGet + Install-Module -Repository CFS -Name Microsoft.PowerShell.PSResourceGet + ./tools/installPSResources.ps1 -PSRepository CFS + displayName: Install PSResources + - pwsh: Invoke-Build Build -Configuration $(BuildConfiguration) displayName: Build - task: onebranch.pipeline.signing@1 displayName: Sign 1st-party example PowerShell files @@ -127,11 +129,6 @@ extends: inputs: packageType: sdk version: 8.x - - task: PowerShell@2 - displayName: Install PSResources - inputs: - pwsh: true - filePath: tools/installPSResources.ps1 - task: DownloadPipelineArtifact@2 displayName: Download PowerShellEditorServices inputs: @@ -142,6 +139,11 @@ extends: branchName: refs/heads/main artifact: drop_build_main targetPath: $(Build.SourcesDirectory)/modules + - pwsh: | + Register-PSRepository -Name CFS -SourceLocation "https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/powershell/nuget/v2" -InstallationPolicy Trusted + Install-Module -Repository CFS -Name Microsoft.PowerShell.PSResourceGet + ./tools/installPSResources.ps1 -PSRepository CFS + displayName: Install PSResources - pwsh: Invoke-Build Test -Configuration $(BuildConfiguration) displayName: Run tests - stage: release diff --git a/tools/installPSResources.ps1 b/tools/installPSResources.ps1 index bfb03d59cb..e98910d70a 100644 --- a/tools/installPSResources.ps1 +++ b/tools/installPSResources.ps1 @@ -1,11 +1,13 @@ # Copyright (c) Microsoft Corporation. # Licensed under the MIT License. +param( + [ValidateSet("PSGallery", "CFS")] + [string]$PSRepository = "PSGallery" +) -if ($PSVersionTable.PSVersion -lt [Version]"7.4") { - throw "The build script requires PowerShell 7.4 or higher!" +if ($PSRepository -eq "CFS" -and -not (Get-PSResourceRepository -Name CFS -ErrorAction SilentlyContinue)) { + Register-PSResourceRepository -Name CFS -Uri "https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/powershell/nuget/v3/index.json" } -Register-PSResourceRepository -PSGallery -Trusted -Force - -Install-PSResource -Name InvokeBuild -Scope CurrentUser -Install-PSResource -Name platyPS -Scope CurrentUser +Install-PSResource -Repository $PSRepository -TrustRepository -Name InvokeBuild +Install-PSResource -Repository $PSRepository -TrustRepository -Name platyPS diff --git a/vscode-powershell.build.ps1 b/vscode-powershell.build.ps1 index f6b93a1458..8f297ba4fe 100644 --- a/vscode-powershell.build.ps1 +++ b/vscode-powershell.build.ps1 @@ -7,7 +7,7 @@ param( [string]$EditorServicesRepoPath = $null ) -#Requires -Modules @{ ModuleName = "InvokeBuild"; ModuleVersion = "3.0.0" } +#Requires -Modules @{ ModuleName = "InvokeBuild"; ModuleVersion = "5.0.0" } function Get-EditorServicesPath { $psesRepoPath = if ($EditorServicesRepoPath) { @@ -77,7 +77,7 @@ task Clean { } task CleanEditorServices -If (Get-EditorServicesPath) { - Write-Build DarkMagenta "Cleaning PowerShellEditorServices" + Write-Build DarkMagenta "Cleaning PSES" Invoke-Build Clean (Get-EditorServicesPath) } @@ -115,7 +115,7 @@ task Test Lint, Build, { } task TestEditorServices -If (Get-EditorServicesPath) { - Write-Build DarkMagenta "Testing PowerShellEditorServices" + Write-Build DarkMagenta "Testing PSES" Invoke-Build Test (Get-EditorServicesPath) } From d762d906e4fa47c1a4443f4cd47a4b3937ffcc4f Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 17:35:01 -0700 Subject: [PATCH 24/39] Use Node.js 20.x in OneBranch --- .github/workflows/ci-test.yml | 2 +- .pipelines/vscode-powershell-Official.yml | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci-test.yml b/.github/workflows/ci-test.yml index aa92b8ab3c..6dbf114432 100644 --- a/.github/workflows/ci-test.yml +++ b/.github/workflows/ci-test.yml @@ -46,7 +46,7 @@ jobs: - uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 cache: npm cache-dependency-path: vscode-powershell/package-lock.json diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 4253129dd7..1116b0cf76 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -57,7 +57,7 @@ extends: EnableCDPxPAT: false WindowsHostVersion: Version: 2022 - Network: Netlock + Network: KS3 stages: - stage: build jobs: @@ -83,6 +83,10 @@ extends: inputs: system: Custom customVersion: $(package.version) + - task: UseNode@1 + displayName: Use Node 20.x + inputs: + version: 20.x - task: DownloadPipelineArtifact@2 displayName: Download PowerShellEditorServices inputs: @@ -121,9 +125,9 @@ extends: skipComponentGovernanceDetection: true steps: - task: UseNode@1 - displayName: Use Node 18.x + displayName: Use Node 20.x inputs: - version: 18.x + version: 20.x - task: UseDotNet@2 displayName: Use .NET 8.x SDK inputs: @@ -199,6 +203,10 @@ extends: steps: - download: current displayName: Download artifacts + - task: UseNode@1 + displayName: Use Node 20.x + inputs: + version: 20.x - pwsh: npm ci displayName: Install NPM packages (for vsce) - task: AzureCLI@2 From 41b7e30e134151b41dcc2a6ac706e778a0610b7a Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 12 Sep 2024 16:23:12 -0700 Subject: [PATCH 25/39] Setup VSIX signing --- .pipelines/vscode-powershell-Official.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 1116b0cf76..54b2a3564e 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -113,6 +113,18 @@ extends: files_to_sign: '**/*.ps1;**/*.psd1;**/*.psm1' - pwsh: Invoke-Build Package displayName: Create package + - pwsh: | + npx vsce generate-manifest --packagePath out/powershell-$(package.vsixVersion).vsix + cp out/powershell-$(package.vsixVersion).manifest out/powershell-$(package.vsixVersion).signature.p7s + displayName: Generate VSIX manifest + - task: onebranch.pipeline.signing@1 + displayName: Sign VSIX manifest + inputs: + command: sign + cp_code: 'CP-401405-VSCodePublisherSign' + search_root: $(Build.SourcesDirectory)/out + files_to_sign: | + *.signature.p7s; - job: test displayName: Build and run tests pool: @@ -220,6 +232,10 @@ extends: '--azure-credential' '--packagePath' '$(drop)/powershell-$(vsixVersion).vsix' + '--manifestPath' + '$(drop)/powershell-$(vsixVersion).manifest' + '--signaturePath' + '$(drop)/powershell-$(vsixVersion).signature.p7s' if ([bool]::Parse('$(prerelease)')) { '--pre-release' } ) npm run publish -- @publishArgs From 7847bae25f897bed7a67b3b50d488879db871519 Mon Sep 17 00:00:00 2001 From: Arie Heinrich Date: Mon, 7 Oct 2024 23:38:58 +0200 Subject: [PATCH 26/39] Fix "Suppress a PSScriptAnalyzer rule on a parameter" snippet (#5034) --- snippets/PowerShell.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snippets/PowerShell.json b/snippets/PowerShell.json index 5ed99e184d..a4bf015d90 100644 --- a/snippets/PowerShell.json +++ b/snippets/PowerShell.json @@ -505,7 +505,7 @@ "description": "Suppress a PSScriptAnalyzer rule on a parameter. More: https://docs.microsoft.com/en-us/powershell/utility-modules/psscriptanalyzer/overview?view=ps-modules#suppressing-rules", "body": [ "[Diagnostics.CodeAnalysis.SuppressMessageAttribute(<#Category#>'${1:PSUseDeclaredVarsMoreThanAssignments}',", - "\t<#ParameterName#>'${0:${TM_SELECTED_TEXT:ParamName}}", + "\t<#ParameterName#>'${0:${TM_SELECTED_TEXT:ParamName}}',", "\tJustification = '${0:${TM_SELECTED_TEXT:Reason for suppressing}}'", ")]" ] From bdd5923c4d39354893b7af6fea18e48211494101 Mon Sep 17 00:00:00 2001 From: ian-mor <78066011+ian-mor@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:41:58 -0500 Subject: [PATCH 27/39] Add "`foreach` with `Write-Progress`" snippet (#4423) --------- Co-authored-by: Ian Morozoff Co-authored-by: Justin Grote Co-authored-by: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> --- snippets/PowerShell.json | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/snippets/PowerShell.json b/snippets/PowerShell.json index a4bf015d90..bd478f1ff3 100644 --- a/snippets/PowerShell.json +++ b/snippets/PowerShell.json @@ -161,6 +161,25 @@ "}" ] }, + "Foreach with Progress": { + "prefix": "foreach-progress", + "description": "Insert a foreach loop with Write-Progress initialized", + "body": [ +\\$progPercent = \"{0:n2}\" -f ([math]::round(\\$i/\\$array.count,4) * 100)", + +Write-Progress -Activity \"${3:activityName}\" -Status \"\\$i of \\$array.count - \\$progPercent% Complete:\" -PercentComplete \\$progPercent", + "\\$i = 1", + "foreach ($${2:item} in $${1:array}) {", + " \\$progPercent = \"{0:n2}\" -f ([math]::round(\\$i/\\$total,4) * 100)", + " Write-Progress -Activity \"${3:activityName}\" -Status \"\\$i of \\$total - \\$progPercent% Complete:\" -PercentComplete \\$progPercent", + " # Insert Code Here", + " ${0}", + " ", + " \\$i++", + "}", + "" + ] + }, "ForEach-Object -Parallel": { "prefix": "foreach-parallel", "description": "[PS 7+] Process multiple objects in parallel using runspaces. This has some limitations compared to a regular ForEach-Object. More: Get-Help ForEach-Object", From 35cbd00da3b5abcecacde1aa845041f0f161d37f Mon Sep 17 00:00:00 2001 From: 1ES Gardener Date: Thu, 19 Sep 2024 20:08:28 +0000 Subject: [PATCH 28/39] Enable NuGet Central Package Management --- Directory.Build.props | 5 +++++ Directory.Packages.props | 5 +++++ test/mocks/BinaryModule/BinaryModule.csproj | 2 +- 3 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 Directory.Build.props create mode 100644 Directory.Packages.props diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 0000000000..193280892b --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,5 @@ + + + true + + diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 0000000000..38021b41e3 --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,5 @@ + + + + + diff --git a/test/mocks/BinaryModule/BinaryModule.csproj b/test/mocks/BinaryModule/BinaryModule.csproj index 52ec116dda..5f9e3d340d 100644 --- a/test/mocks/BinaryModule/BinaryModule.csproj +++ b/test/mocks/BinaryModule/BinaryModule.csproj @@ -5,7 +5,7 @@ - + All From 78f3a36c62aa58a1be4443e159dc448aa6984d12 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 10 Oct 2024 11:30:37 -0700 Subject: [PATCH 29/39] Add setting to use either `.` or `&` when launching script (#5059) Co-authored-by: LucasArona --- package.json | 16 +++++++++++++++- src/features/DebugSession.ts | 1 + src/settings.ts | 6 ++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 325d573c30..38a09f7406 100644 --- a/package.json +++ b/package.json @@ -462,7 +462,7 @@ "name": "PowerShell Launch Script", "type": "PowerShell", "request": "launch", - "script": "^\"enter path or command to execute e.g.: \\${workspaceFolder}/src/foo.ps1 or Invoke-Pester\"", + "script": "^\"Enter path or command to execute, for example, \\${workspaceFolder}/src/foo.ps1 or Invoke-Pester\"", "cwd": "^\"\\${cwd}\"" } }, @@ -909,6 +909,20 @@ "default": false, "markdownDescription": "Creates a temporary PowerShell Extension Terminal for each debugging session. This is useful for debugging PowerShell classes and binary modules." }, + "powershell.debugging.executeMode": { + "type": "string", + "enum": [ + "DotSource", + "Call" + ], + "default": "DotSource", + "markdownEnumDescriptions": [ + "Use the Dot-Source operator `.` to launch the script, for example, `. 'C:\\Data\\MyScript.ps1'`", + "Use the Call operator `&` to launch the script, for example, `& 'C:\\Data\\MyScript.ps1'`" + ], + "markdownDescription": "Sets the operator used to launch scripts." + + }, "powershell.developer.bundledModulesPath": { "type": "string", "default": "../../PowerShellEditorServices/module", diff --git a/src/features/DebugSession.ts b/src/features/DebugSession.ts index 1788ae7589..748c867849 100644 --- a/src/features/DebugSession.ts +++ b/src/features/DebugSession.ts @@ -290,6 +290,7 @@ export class DebugSessionFeature extends LanguageClientConsumer const settings = getSettings(); config.createTemporaryIntegratedConsole ??= settings.debugging.createTemporaryIntegratedConsole; + config.executeMode ??= settings.debugging.executeMode; if (config.request === "attach") { resolvedConfig = await this.resolveAttachDebugConfiguration(config); } else if (config.request === "launch") { diff --git a/src/settings.ts b/src/settings.ts index 878cac9036..9c2ef38452 100644 --- a/src/settings.ts +++ b/src/settings.ts @@ -76,6 +76,11 @@ export enum StartLocation { Panel = "Panel" } +export enum ExecuteMode{ + Call = "Call", + DotSource = "DotSource" +} + export type PowerShellAdditionalExePathSettings = Record; class CodeFormattingSettings extends PartialSettings { @@ -107,6 +112,7 @@ class ScriptAnalysisSettings extends PartialSettings { class DebuggingSettings extends PartialSettings { createTemporaryIntegratedConsole = false; + executeMode = ExecuteMode.DotSource; } class DeveloperSettings extends PartialSettings { From 68a073a390caae9170b13c4d79b71cab6a1c2776 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 10 Oct 2024 12:54:56 -0700 Subject: [PATCH 30/39] Bump packages (#5061) * Remove superfluous activation events * Bump engine and Node.js Since the shell integration script moved, our minimum supported VS Code version is now 1.94. Also, we don't have to support ADS any more. This also means Electron bumps to 30.x which brings Node.js to 20.x * Bump Node.js packages * Bump VS Code and Node types --- docs/development.md | 9 +- package-lock.json | 316 ++++++++++++++++++++------------------------ package.json | 36 ++--- 3 files changed, 157 insertions(+), 204 deletions(-) diff --git a/docs/development.md b/docs/development.md index 08e665485e..28b55750ab 100644 --- a/docs/development.md +++ b/docs/development.md @@ -25,10 +25,7 @@ ## Tracking Upstream Dependencies As a VS Code extension, we first rely on the `engine` field of `package.json` to -state the lowest version of VS Code we support. This extension in particular -must not update past what Azure Data Studio supports, which can be found in the -[`vscodeVersion`][] field of their `product.json` file. We periodically check -that for updates, and when available update our own. +state the lowest version of VS Code we support. When our `engine` field is updated the development dependency `@types/vscode` must be updated to match. Note that it uses `~` (not `^`) so as to accept new @@ -40,8 +37,8 @@ lets us finally update our `@types/node` development dependency to match, our developer machines if necessary, and the CI and OneBranch pipeline tasks. [`vscodeVersion`]: https://github.com/microsoft/azuredatastudio/blob/4970733324ef8254b7c22a5dc55af7f8a1dea93f/product.json#L50 -[`electron`]: https://github.com/microsoft/vscode/blob/8b617bd08fd9e3fc94d14adb8d358b56e3f72314/package.json#L153 -[Electron]: https://www.electronjs.org/blog/electron-25-0 +[`electron`]: https://github.com/microsoft/vscode/blob/384ff7382de624fb94dbaf6da11977bba1ecd427/package.json#L159 +[Electron]: https://www.electronjs.org/blog/electron-30-0 [Node.js]: https://nodejs.org/en/download/package-manager ### Building the Code diff --git a/package-lock.json b/package-lock.json index cb2c021036..f185d2941a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "2024.2.2", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { + "@types/vscode": "~1.94.0", "@vscode/extension-telemetry": "^0.9.7", "node-fetch": "^2.7.0", "semver": "^7.6.3", @@ -18,27 +19,27 @@ "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { - "@vscode/vsce": "^3.1.0", + "@vscode/vsce": "^3.1.1", "esbuild": "^0.21.5" }, "engines": { - "vscode": "^1.82.0" + "vscode": "^1.94.0" }, "optionalDependencies": { - "@types/mocha": "^10.0.7", + "@types/mocha": "^10.0.9", "@types/mock-fs": "^4.13.4", - "@types/node": "^18.19.50", + "@types/node": "^20.16.11", "@types/node-fetch": "^2.6.11", "@types/rewire": "^2.5.30", "@types/semver": "^7.5.8", "@types/sinon": "^17.0.3", "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", - "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", + "@types/vscode": "~1.94.0", + "@typescript-eslint/eslint-plugin": "^8.8.1", + "@typescript-eslint/parser": "^8.8.1", "@ungap/structured-clone": "^1.2.0", - "@vscode/debugprotocol": "^1.67.0", + "@vscode/debugprotocol": "^1.68.0", "@vscode/test-electron": "^2.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", @@ -46,11 +47,11 @@ "mocha": "^10.7.3", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", - "mock-fs": "^5.2.0", + "mock-fs": "^5.3.0", "rewire": "^7.0.0", "sinon": "^18.0.1", "source-map-support": "^0.5.21", - "typescript": "^5.6.2" + "typescript": "^5.6.3" } }, "node_modules/@azure/abort-controller": { @@ -146,8 +147,8 @@ } }, "node_modules/@azure/core-tracing": { - "version": "1.1.2", - "integrity": "sha1-Bl2rTgk/thiZmIoc28gn2a2QtO4=", + "version": "1.2.0", + "integrity": "sha1-e+XVPDUi1jnPGQQsvNsZ9xvDWrI=", "dev": true, "dependencies": { "tslib": "^2.6.2" @@ -215,30 +216,30 @@ } }, "node_modules/@azure/msal-browser": { - "version": "3.23.0", - "integrity": "sha1-RGqvJoJH5ZQ/Rk8AfTqjoEq/6Vs=", + "version": "3.26.1", + "integrity": "sha1-L0No15l2gtsw3KUuMvysNj+g760=", "dev": true, "dependencies": { - "@azure/msal-common": "14.14.2" + "@azure/msal-common": "14.15.0" }, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-common": { - "version": "14.14.2", - "integrity": "sha1-WDtKycCJlTcY16Xi87jfLU27F/Q=", + "version": "14.15.0", + "integrity": "sha1-DiesC7iP4QD0+NFgW2TVwmhjalU=", "dev": true, "engines": { "node": ">=0.8.0" } }, "node_modules/@azure/msal-node": { - "version": "2.13.1", - "integrity": "sha1-8UQ3EnW3w8vlZHYrhHcqlzJFekc=", + "version": "2.15.0", + "integrity": "sha1-UL+OaSpmVgJ8Bzp12HeopHiq/f0=", "dev": true, "dependencies": { - "@azure/msal-common": "14.14.2", + "@azure/msal-common": "14.15.0", "jsonwebtoken": "^9.0.0", "uuid": "^8.3.0" }, @@ -614,8 +615,8 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "integrity": "sha1-sP/QMStKP9LW93I35ySKWtOmgK4=", + "version": "4.11.1", + "integrity": "sha1-pUe638cZ6z5fS1VjJeVC++nXoY8=", "optional": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -725,7 +726,6 @@ "version": "8.0.2", "integrity": "sha1-s3Znt7wYHBaHgiWbq0JHT79StVA=", "devOptional": true, - "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -742,7 +742,6 @@ "version": "6.1.0", "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "devOptional": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -754,7 +753,6 @@ "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -766,10 +764,10 @@ } }, "node_modules/@microsoft/1ds-core-js": { - "version": "4.3.2", - "integrity": "sha1-4Qsocf796Wja2r8tk1vh+cxiI2M=", + "version": "4.3.3", + "integrity": "sha1-+HAkGN3vebFBfwQNlGpJ4XOlBFQ=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.2", + "@microsoft/applicationinsights-core-js": "3.3.3", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -777,10 +775,10 @@ } }, "node_modules/@microsoft/1ds-post-js": { - "version": "4.3.2", - "integrity": "sha1-MLASqzayr5GuetbwKxEq67pJp94=", + "version": "4.3.3", + "integrity": "sha1-FR9adD1ZmOgCkZII7wqcX1Xv+HQ=", "dependencies": { - "@microsoft/1ds-core-js": "4.3.2", + "@microsoft/1ds-core-js": "4.3.3", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -788,11 +786,11 @@ } }, "node_modules/@microsoft/applicationinsights-channel-js": { - "version": "3.3.2", - "integrity": "sha1-vXJ6rCH5zMIchVMCjBHrji40PMc=", + "version": "3.3.3", + "integrity": "sha1-bukPn7WxMzMgMxNTs/VBOFM0cY4=", "dependencies": { - "@microsoft/applicationinsights-common": "3.3.2", - "@microsoft/applicationinsights-core-js": "3.3.2", + "@microsoft/applicationinsights-common": "3.3.3", + "@microsoft/applicationinsights-core-js": "3.3.3", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -803,10 +801,10 @@ } }, "node_modules/@microsoft/applicationinsights-common": { - "version": "3.3.2", - "integrity": "sha1-Y7i63rWsqwixugBRXeud3wTksBA=", + "version": "3.3.3", + "integrity": "sha1-jEcJ7AqYANxwrZJYD9c7HCZOOVQ=", "dependencies": { - "@microsoft/applicationinsights-core-js": "3.3.2", + "@microsoft/applicationinsights-core-js": "3.3.3", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-utils": ">= 0.11.3 < 2.x" @@ -816,8 +814,8 @@ } }, "node_modules/@microsoft/applicationinsights-core-js": { - "version": "3.3.2", - "integrity": "sha1-dK3oOUYWTLAAa47dy7IwHEzgadQ=", + "version": "3.3.3", + "integrity": "sha1-Z+C6y7gwv7dYzEo3BhqC31KkCRQ=", "dependencies": { "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", @@ -836,12 +834,12 @@ } }, "node_modules/@microsoft/applicationinsights-web-basic": { - "version": "3.3.2", - "integrity": "sha1-7tRwrWxPJXwryO+V2/R/dQirNh0=", + "version": "3.3.3", + "integrity": "sha1-twQmd5FzzT/OdF2k/AYrmdUAFMA=", "dependencies": { - "@microsoft/applicationinsights-channel-js": "3.3.2", - "@microsoft/applicationinsights-common": "3.3.2", - "@microsoft/applicationinsights-core-js": "3.3.2", + "@microsoft/applicationinsights-channel-js": "3.3.3", + "@microsoft/applicationinsights-common": "3.3.3", + "@microsoft/applicationinsights-core-js": "3.3.3", "@microsoft/applicationinsights-shims": "3.0.1", "@microsoft/dynamicproto-js": "^2.0.3", "@nevware21/ts-async": ">= 0.5.2 < 2.x", @@ -866,8 +864,8 @@ } }, "node_modules/@nevware21/ts-utils": { - "version": "0.11.3", - "integrity": "sha1-0PAyrelUBYWjCmRT2WLeYTVm2FY=" + "version": "0.11.4", + "integrity": "sha1-sLfqRs/xO51lrFMbWebc2N7AGGk=" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -901,15 +899,6 @@ "node": ">= 8" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "integrity": "sha1-p36nQvqyV3UUVDTrHSMoz1ATrDM=", - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, "node_modules/@sinonjs/commons": { "version": "3.0.1", "integrity": "sha1-ECk1fkTKkBphVYX20nc428iQhM0=", @@ -927,21 +916,21 @@ } }, "node_modules/@sinonjs/samsam": { - "version": "8.0.0", - "integrity": "sha1-DUiMke+z+hRC4mq+qBdZ38i1rGA=", + "version": "8.0.2", + "integrity": "sha1-5Dhr9mj/NslZSeVaONxfWJL8Jok=", "optional": true, "dependencies": { - "@sinonjs/commons": "^2.0.0", + "@sinonjs/commons": "^3.0.1", "lodash.get": "^4.4.2", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" } }, - "node_modules/@sinonjs/samsam/node_modules/@sinonjs/commons": { - "version": "2.0.0", - "integrity": "sha1-/UylsGNVQwfoMntFZL1W07c5JKM=", + "node_modules/@sinonjs/samsam/node_modules/type-detect": { + "version": "4.1.0", + "integrity": "sha1-3rJFPo8I3K566YxiaxPd2wFVkGw=", "optional": true, - "dependencies": { - "type-detect": "4.0.8" + "engines": { + "node": ">=4" } }, "node_modules/@sinonjs/text-encoding": { @@ -950,8 +939,8 @@ "optional": true }, "node_modules/@types/mocha": { - "version": "10.0.7", - "integrity": "sha1-TGIAkPKMp/kFqUtwb3TcW1e0Ty8=", + "version": "10.0.9", + "integrity": "sha1-EB6dqI0sAuWsiVKYLCOyJFJNZio=", "optional": true }, "node_modules/@types/mock-fs": { @@ -963,12 +952,11 @@ } }, "node_modules/@types/node": { - "version": "18.19.50", - "integrity": "sha1-hlKzTufA5+IASz8IGSKBgI1Bv1o=", - "license": "MIT", + "version": "20.16.11", + "integrity": "sha1-m1RMPnFrFXesEucPkUUZPzJ1CzM=", "optional": true, "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/node-fetch": { @@ -1014,20 +1002,20 @@ "optional": true }, "node_modules/@types/vscode": { - "version": "1.82.0", - "integrity": "sha1-ibCyEXnc9ejO4WZKmgXF9sYNONA=", + "version": "1.94.0", + "integrity": "sha1-zNIRG27KumrU2hnC1SSCj6c64lA=", "optional": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.5.0", - "integrity": "sha1-fBhjaTqYNxcDaG4cD6xk/8V2zbE=", + "version": "8.8.1", + "integrity": "sha1-k2S3VtTXi8vfb9PpNF5pJMaK03E=", "optional": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/type-utils": "8.5.0", - "@typescript-eslint/utils": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", + "@typescript-eslint/scope-manager": "8.8.1", + "@typescript-eslint/type-utils": "8.8.1", + "@typescript-eslint/utils": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1051,14 +1039,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.5.0", - "integrity": "sha1-1ZDh758x8m1COZmtP2h3IyR+a8w=", + "version": "8.8.1", + "integrity": "sha1-WVK6KoO9UgJLhy8/3I7S02Ngc7g=", "optional": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/typescript-estree": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", + "@typescript-eslint/scope-manager": "8.8.1", + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/typescript-estree": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1", "debug": "^4.3.4" }, "engines": { @@ -1078,12 +1066,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.5.0", - "integrity": "sha1-OFNB3mW5dvArKVuKylS7T/1rXwc=", + "version": "8.8.1", + "integrity": "sha1-tL6hwHharr/jxKsFntrqHEl35/8=", "optional": true, "dependencies": { - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0" + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1094,12 +1082,12 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.5.0", - "integrity": "sha1-YhWyOqOdu9jd4KTvnuD3RUEMKbE=", + "version": "8.8.1", + "integrity": "sha1-MfWexG6ToCtAn7TUBqNopZ+tMG4=", "optional": true, "dependencies": { - "@typescript-eslint/typescript-estree": "8.5.0", - "@typescript-eslint/utils": "8.5.0", + "@typescript-eslint/typescript-estree": "8.8.1", + "@typescript-eslint/utils": "8.8.1", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1117,8 +1105,8 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.5.0", - "integrity": "sha1-RGXZkzHRJ2+PsgMOT5xz/gGgW/k=", + "version": "8.8.1", + "integrity": "sha1-6+heD6So4yokpWra3wYBA77xO9E=", "optional": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1129,12 +1117,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.5.0", - "integrity": "sha1-bldYzy9jqobp3fpOKE4uC4G4dVc=", + "version": "8.8.1", + "integrity": "sha1-NGSfTijTLuSRUhk7x97cDnjl0ew=", "optional": true, "dependencies": { - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/visitor-keys": "8.5.0", + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/visitor-keys": "8.8.1", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1156,14 +1144,14 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.5.0", - "integrity": "sha1-TU/+2W0GVFRqN/qluEvc4W2VFjQ=", + "version": "8.8.1", + "integrity": "sha1-nilID7+iZMJpRiU9qnIYH58FPJ0=", "optional": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.5.0", - "@typescript-eslint/types": "8.5.0", - "@typescript-eslint/typescript-estree": "8.5.0" + "@typescript-eslint/scope-manager": "8.8.1", + "@typescript-eslint/types": "8.8.1", + "@typescript-eslint/typescript-estree": "8.8.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1177,11 +1165,11 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.5.0", - "integrity": "sha1-EwKN87hm0uPi4sxBk88sHg4ExL8=", + "version": "8.8.1", + "integrity": "sha1-D7EoDzgRSfw0Xf3in3VC/05Yf8U=", "optional": true, "dependencies": { - "@typescript-eslint/types": "8.5.0", + "@typescript-eslint/types": "8.8.1", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1198,8 +1186,8 @@ "optional": true }, "node_modules/@vscode/debugprotocol": { - "version": "1.67.0", - "integrity": "sha1-y+72+ejktemjBGj6pvQsluTUIEA=", + "version": "1.68.0", + "integrity": "sha1-5Vi6av/hvnr/TsgkWZ8xa2HZpp0=", "optional": true }, "node_modules/@vscode/extension-telemetry": { @@ -1230,8 +1218,8 @@ } }, "node_modules/@vscode/vsce": { - "version": "3.1.0", - "integrity": "sha1-4h1JV1RpxzWpTrmbxBBbe+c0nJs=", + "version": "3.1.1", + "integrity": "sha1-sYtEeW2eW3pIo6Hon5Pe+cOzOLk=", "dev": true, "dependencies": { "@azure/identity": "^4.1.0", @@ -1394,6 +1382,15 @@ "win32" ] }, + "node_modules/@vscode/vsce/node_modules/brace-expansion": { + "version": "1.1.11", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/@vscode/vsce/node_modules/minimatch": { "version": "3.1.2", "integrity": "sha1-Gc0ZS/0+Qo8EmnCBfAONiatL41s=", @@ -1405,15 +1402,6 @@ "node": "*" } }, - "node_modules/@vscode/vsce/node_modules/minimatch/node_modules/brace-expansion": { - "version": "1.1.11", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/acorn": { "version": "8.12.1", "integrity": "sha1-cWFr3MviXielRDngBG6JynbfIkg=", @@ -2144,8 +2132,7 @@ "node_modules/emoji-regex": { "version": "9.2.2", "integrity": "sha1-hAyIA7DYBH9P8M+WMXazLU7z7XI=", - "devOptional": true, - "license": "MIT" + "devOptional": true }, "node_modules/encoding-sniffer": { "version": "0.2.0", @@ -2641,8 +2628,8 @@ } }, "node_modules/form-data": { - "version": "4.0.0", - "integrity": "sha1-k5Gdrq82HuUpWEubMWZNwSyfpFI=", + "version": "4.0.1", + "integrity": "sha1-uhB22qqlv9fpnBpssCqgpc/5DUg=", "devOptional": true, "dependencies": { "asynckit": "^0.4.0", @@ -2720,7 +2707,6 @@ "version": "11.0.0", "integrity": "sha1-YDHfDXtl6qHMubKbXO0WzqZY534=", "devOptional": true, - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", "jackspeak": "^4.0.1", @@ -2754,7 +2740,6 @@ "version": "10.0.1", "integrity": "sha1-zgUhhWtFPIbiXyxMDQPm/33cRAs=", "devOptional": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3114,10 +3099,9 @@ "devOptional": true }, "node_modules/jackspeak": { - "version": "4.0.1", - "integrity": "sha1-n8pM6WGvYIPiWcN26eNUFDH1KHs=", + "version": "4.0.2", + "integrity": "sha1-EflGijcwxv9vVoI6gg1+O+m+8BU=", "devOptional": true, - "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, @@ -3126,9 +3110,6 @@ }, "funding": { "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/js-yaml": { @@ -3694,8 +3675,8 @@ } }, "node_modules/mock-fs": { - "version": "5.2.0", - "integrity": "sha1-NQKpSZyEwKEhjuS/kq5b8uqbK14=", + "version": "5.3.0", + "integrity": "sha1-ffyVzlUor/jhD6EXFhuR2BKeDp4=", "optional": true, "engines": { "node": ">=12.0.0" @@ -3723,20 +3704,28 @@ "optional": true }, "node_modules/nise": { - "version": "6.0.1", - "integrity": "sha1-WCo0eSmCiSTZ5OnJP3VJgAzQkSw=", + "version": "6.1.1", + "integrity": "sha1-eOqTzEm+Ei5Ey3yP31l7Dod4tko=", "optional": true, "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", + "@sinonjs/commons": "^3.0.1", + "@sinonjs/fake-timers": "^13.0.1", + "@sinonjs/text-encoding": "^0.7.3", "just-extend": "^6.2.0", "path-to-regexp": "^8.1.0" } }, + "node_modules/nise/node_modules/@sinonjs/fake-timers": { + "version": "13.0.2", + "integrity": "sha1-P/6Iq7BiBnpYD9+6cGrQBDWg8qY=", + "optional": true, + "dependencies": { + "@sinonjs/commons": "^3.0.1" + } + }, "node_modules/node-abi": { - "version": "3.67.0", - "integrity": "sha1-HRWZB/GNGOGICdu7XfR+0kJqCN8=", + "version": "3.68.0", + "integrity": "sha1-jzf7Auz09D6+aUCQ3LUuDEzEuiU=", "dev": true, "optional": true, "dependencies": { @@ -3988,8 +3977,8 @@ } }, "node_modules/package-json-from-dist": { - "version": "1.0.0", - "integrity": "sha1-5QHNMJSyeEletCWNTJ9tWsMBnwA=", + "version": "1.0.1", + "integrity": "sha1-TxRxoBCCeob5TP2bByfjbSZ95QU=", "devOptional": true }, "node_modules/pako": { @@ -4086,7 +4075,6 @@ "version": "2.0.0", "integrity": "sha1-nwUiifI62L+Tl6KgQl57hhXFhYA=", "devOptional": true, - "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^11.0.0", "minipass": "^7.1.2" @@ -4102,14 +4090,13 @@ "version": "11.0.1", "integrity": "sha1-OnMvv+24LFunvKZWStP0Kvy24Uc=", "devOptional": true, - "license": "ISC", "engines": { "node": "20 || >=22" } }, "node_modules/path-to-regexp": { - "version": "8.1.0", - "integrity": "sha1-TWh2Bu0L6O1RK6gC65TWIMsahvA=", + "version": "8.2.0", + "integrity": "sha1-c5kMwp5Xo/8qDZFAlRVt9dt56LQ=", "optional": true, "engines": { "node": ">=16" @@ -4694,7 +4681,6 @@ "version": "5.1.2", "integrity": "sha1-FPja7G2B5yIdKjV+Zoyrc728p5Q=", "devOptional": true, - "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -4712,7 +4698,6 @@ "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "devOptional": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4725,14 +4710,12 @@ "node_modules/string-width-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "devOptional": true, - "license": "MIT" + "devOptional": true }, "node_modules/string-width/node_modules/ansi-regex": { "version": "6.1.0", "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "devOptional": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -4744,7 +4727,6 @@ "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -4771,7 +4753,6 @@ "version": "6.0.1", "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4987,8 +4968,8 @@ } }, "node_modules/typescript": { - "version": "5.6.2", - "integrity": "sha1-0d5ntr73fEGCP4It+PCzvP9gpaA=", + "version": "5.6.3", + "integrity": "sha1-XzRJ4xydlP67F94DzAgd1W2B21s=", "optional": true, "bin": { "tsc": "bin/tsc", @@ -5009,17 +4990,16 @@ "dev": true }, "node_modules/undici": { - "version": "6.19.8", - "integrity": "sha1-AC18iij4zDpE/zPD1L5NheFdQOE=", + "version": "6.20.0", + "integrity": "sha1-O5TZZ2k3WepiWjt4sglyE/MEBaE=", "dev": true, "engines": { "node": ">=18.17" } }, "node_modules/undici-types": { - "version": "5.26.5", - "integrity": "sha1-vNU5iT0AtW6WT9JlekhmsiGmVhc=", - "license": "MIT", + "version": "6.19.8", + "integrity": "sha1-NREcnRQ3q4OnzcCrri8m2I7aCgI=", "optional": true }, "node_modules/untildify": { @@ -5179,7 +5159,6 @@ "version": "8.1.0", "integrity": "sha1-VtwiNo7lcPrOG0mBmXXZuaXq0hQ=", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5197,7 +5176,6 @@ "version": "7.0.0", "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5214,7 +5192,6 @@ "version": "4.3.0", "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", "devOptional": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5229,7 +5206,6 @@ "version": "2.0.1", "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", "devOptional": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5240,20 +5216,17 @@ "node_modules/wrap-ansi-cjs/node_modules/color-name": { "version": "1.1.4", "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "devOptional": true, - "license": "MIT" + "devOptional": true }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "devOptional": true, - "license": "MIT" + "devOptional": true }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", "devOptional": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5267,7 +5240,6 @@ "version": "6.1.0", "integrity": "sha1-lexAnGlhnWyxuLNPFLZg7yjr1lQ=", "devOptional": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -5279,7 +5251,6 @@ "version": "6.2.1", "integrity": "sha1-DmIyDPmcIa//OzASGSVGqsv7BcU=", "devOptional": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -5291,7 +5262,6 @@ "version": "7.1.0", "integrity": "sha1-1bZWjKaJ2FYTcLBwdoXSJDT6/0U=", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, diff --git a/package.json b/package.json index 38a09f7406..b92a6288ff 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "publisher": "ms-vscode", "description": "Develop PowerShell modules, commands and scripts in Visual Studio Code!", "engines": { - "vscode": "^1.82.0" + "vscode": "^1.94.0" }, "author": "Microsoft Corporation", "license": "SEE LICENSE IN LICENSE.txt", @@ -55,22 +55,9 @@ "activationEvents": [ "onDebugResolve:PowerShell", "onLanguage:powershell", - "onCommand:PowerShell.OpenExamplesFolder", "onCommand:PowerShell.PickPSHostProcess", "onCommand:PowerShell.PickRunspace", - "onCommand:PowerShell.SpecifyScriptArgs", - "onCommand:PowerShell.ShowSessionConsole", - "onCommand:PowerShell.ShowSessionMenu", - "onCommand:PowerShell.RestartSession", - "onCommand:PowerShell.ShowLogs", - "onCommand:PowerShell.OpenLogFolder", - "onCommand:PowerShell.GenerateBugReport", - "onCommand:PowerShell.OpenExamplesFolder", - "onCommand:PowerShell.EnableISEMode", - "onCommand:PowerShell.DisableISEMode", - "onCommand:PowerShell.ToggleISEMode", - "onView:PowerShellCommands", - "onWalkthrough:PowerShell" + "onCommand:PowerShell.SpecifyScriptArgs" ], "dependencies": { "@vscode/extension-telemetry": "^0.9.7", @@ -82,24 +69,24 @@ "vscode-languageserver-protocol": "^3.17.5" }, "devDependencies": { - "@vscode/vsce": "^3.1.0", + "@vscode/vsce": "^3.1.1", "esbuild": "^0.21.5" }, "optionalDependencies": { - "@types/mocha": "^10.0.7", + "@types/mocha": "^10.0.9", "@types/mock-fs": "^4.13.4", - "@types/node": "^18.19.50", + "@types/node": "^20.16.11", "@types/node-fetch": "^2.6.11", "@types/rewire": "^2.5.30", "@types/semver": "^7.5.8", "@types/sinon": "^17.0.3", "@types/ungap__structured-clone": "^1.2.0", "@types/uuid": "^9.0.8", - "@types/vscode": "~1.82.0", - "@typescript-eslint/eslint-plugin": "^8.5.0", - "@typescript-eslint/parser": "^8.5.0", + "@types/vscode": "~1.94.0", + "@typescript-eslint/eslint-plugin": "^8.8.1", + "@typescript-eslint/parser": "^8.8.1", "@ungap/structured-clone": "^1.2.0", - "@vscode/debugprotocol": "^1.67.0", + "@vscode/debugprotocol": "^1.68.0", "@vscode/test-electron": "^2.4.1", "eslint": "^8.57.0", "eslint-plugin-header": "^3.1.1", @@ -107,11 +94,11 @@ "mocha": "^10.7.3", "mocha-explorer-launcher-scripts": "^0.4.0", "mocha-multi-reporters": "^1.5.1", - "mock-fs": "^5.2.0", + "mock-fs": "^5.3.0", "rewire": "^7.0.0", "sinon": "^18.0.1", "source-map-support": "^0.5.21", - "typescript": "^5.6.2" + "typescript": "^5.6.3" }, "extensionDependencies": [ "vscode.powershell" @@ -921,7 +908,6 @@ "Use the Call operator `&` to launch the script, for example, `& 'C:\\Data\\MyScript.ps1'`" ], "markdownDescription": "Sets the operator used to launch scripts." - }, "powershell.developer.bundledModulesPath": { "type": "string", From e61b6122e7e551b07361b51713f07729751e9365 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Thu, 10 Oct 2024 14:55:05 -0700 Subject: [PATCH 31/39] Set expected shell integration environment variables (#5062) --- src/process.ts | 16 ++++++++++++++++ src/session.ts | 2 ++ 2 files changed, 18 insertions(+) diff --git a/src/process.ts b/src/process.ts index 6cd38e059a..d363c8e2ee 100644 --- a/src/process.ts +++ b/src/process.ts @@ -28,6 +28,7 @@ export class PowerShellProcess { public exePath: string, private bundledModulesPath: string, private isTemp: boolean, + private shellIntegrationEnabled: boolean, private logger: ILogger, private startPsesArgs: string, private sessionFilePath: vscode.Uri, @@ -99,12 +100,27 @@ export class PowerShellProcess { // Make sure no old session file exists await this.deleteSessionFile(this.sessionFilePath); + // When VS Code shell integration is enabled, the script expects certain + // variables to be added to the environment. + let envMixin = undefined; + if (this.shellIntegrationEnabled) { + envMixin = { + "VSCODE_INJECTION": "1", + // There is no great way to check if we are running stable VS + // Code. Since this is used to disable experimental features, we + // default to stable unless we're definitely running Insiders. + "VSCODE_STABLE": vscode.env.appName.includes("Insiders") ? "0" : "1", + // Maybe one day we can set VSCODE_NONCE... + }; + } + // Launch PowerShell in the integrated terminal const terminalOptions: vscode.TerminalOptions = { name: this.isTemp ? `${PowerShellProcess.title} (TEMP)` : PowerShellProcess.title, shellPath: this.exePath, shellArgs: powerShellArgs, cwd: await validateCwdSetting(this.logger), + env: envMixin, iconPath: new vscode.ThemeIcon("terminal-powershell"), isTransient: true, hideFromUser: this.sessionSettings.integratedConsole.startInBackground, diff --git a/src/session.ts b/src/session.ts index 73186237fe..a127f456ce 100644 --- a/src/session.ts +++ b/src/session.ts @@ -351,6 +351,7 @@ export class SessionManager implements Middleware { this.PowerShellExeDetails.exePath, bundledModulesPath, true, + false, this.logger, this.getEditorServicesArgs(bundledModulesPath, this.PowerShellExeDetails) + "-DebugServiceOnly ", this.getNewSessionFilePath(), @@ -536,6 +537,7 @@ export class SessionManager implements Middleware { powerShellExeDetails.exePath, bundledModulesPath, false, + this.shellIntegrationEnabled, this.logger, this.getEditorServicesArgs(bundledModulesPath, powerShellExeDetails), this.getNewSessionFilePath(), From 9cd6b910fc8b4f7f4430c827a33d86a53967d5d7 Mon Sep 17 00:00:00 2001 From: Justin Grote Date: Thu, 17 Oct 2024 16:47:57 -0700 Subject: [PATCH 32/39] Enable ability to trace DAP messages at client side (#5064) * Enable ability to trace DAP messages at client side * Update setting description --------- Co-authored-by: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> --- package.json | 7 ++- src/features/DebugSession.ts | 79 ++++++++++++++++++++++++++++-- src/session.ts | 3 +- test/features/DebugSession.test.ts | 2 +- 4 files changed, 84 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index b92a6288ff..a18d5c2ffc 100644 --- a/package.json +++ b/package.json @@ -1011,7 +1011,12 @@ "verbose" ], "default": "off", - "markdownDescription": "Traces the communication between VS Code and the PowerShell Editor Services language server. **This setting is only meant for extension developers!**" + "markdownDescription": "Traces the communication between VS Code and the PowerShell Editor Services [LSP Server](https://microsoft.github.io/language-server-protocol/). **only for extension developers and issue troubleshooting!**" + }, + "powershell.trace.dap": { + "type": "boolean", + "default": false, + "markdownDescription": "Traces the communication between VS Code and the PowerShell Editor Services [DAP Server](https://microsoft.github.io/debug-adapter-protocol/). **This setting is only meant for extension developers and issue troubleshooting!**" } } }, diff --git a/src/features/DebugSession.ts b/src/features/DebugSession.ts index 748c867849..17b8fb9831 100644 --- a/src/features/DebugSession.ts +++ b/src/features/DebugSession.ts @@ -22,7 +22,10 @@ import { InputBoxOptions, QuickPickItem, QuickPickOptions, - DebugConfigurationProviderTriggerKind + DebugConfigurationProviderTriggerKind, + DebugAdapterTrackerFactory, + DebugAdapterTracker, + LogOutputChannel } from "vscode"; import type { DebugProtocol } from "@vscode/debugprotocol"; import { NotificationType, RequestType } from "vscode-languageclient"; @@ -126,6 +129,7 @@ export class DebugSessionFeature extends LanguageClientConsumer private tempSessionDetails: IEditorServicesSessionDetails | undefined; private commands: Disposable[] = []; private handlers: Disposable[] = []; + private adapterName = "PowerShell"; constructor(context: ExtensionContext, private sessionManager: SessionManager, private logger: ILogger) { super(); @@ -165,12 +169,17 @@ export class DebugSessionFeature extends LanguageClientConsumer DebugConfigurationProviderTriggerKind.Dynamic ]; + for (const triggerKind of triggers) { context.subscriptions.push( - debug.registerDebugConfigurationProvider("PowerShell", this, triggerKind)); + debug.registerDebugConfigurationProvider(this.adapterName, this, triggerKind) + ); } - context.subscriptions.push(debug.registerDebugAdapterDescriptorFactory("PowerShell", this)); + context.subscriptions.push( + debug.registerDebugAdapterTrackerFactory(this.adapterName, new PowerShellDebugAdapterTrackerFactory(this.adapterName)), + debug.registerDebugAdapterDescriptorFactory(this.adapterName, this) + ); } public override onLanguageClientSet(languageClient: LanguageClient): void { @@ -595,6 +604,70 @@ export class DebugSessionFeature extends LanguageClientConsumer } } +class PowerShellDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory, Disposable { + disposables: Disposable[] = []; + dapLogEnabled: boolean = workspace.getConfiguration("powershell").get("trace.dap") ?? false; + constructor(private adapterName = "PowerShell") { + this.disposables.push(workspace.onDidChangeConfiguration(change => { + if ( + change.affectsConfiguration("powershell.trace.dap") + ) { + this.dapLogEnabled = workspace.getConfiguration("powershell").get("trace.dap") ?? false; + if (this.dapLogEnabled) { + // Trigger the output pane to appear. This gives the user time to position it before starting a debug. + this.log?.show(true); + } + } + })); + } + + /* We want to use a shared output log for separate debug sessions as usually only one is running at a time and we + * dont need an output window for every debug session. We also want to leave it active so user can copy and paste + * even on run end. When user changes the setting and disables it getter will return undefined, which will result + * in a noop for the logging activities, effectively pausing logging but not disposing the output channel. If the + * user re-enables, then logging resumes. + */ + _log: LogOutputChannel | undefined; + get log(): LogOutputChannel | undefined { + if (this.dapLogEnabled && this._log === undefined) { + this._log = window.createOutputChannel(`${this.adapterName} Trace - DAP`, { log: true }); + this.disposables.push(this._log); + } + return this.dapLogEnabled ? this._log : undefined; + } + + createDebugAdapterTracker(session: DebugSession): DebugAdapterTracker { + const sessionInfo = `${this.adapterName} Debug Session: ${session.name} [${session.id}]`; + return { + onWillStartSession: () => this.log?.info(`Starting ${sessionInfo}. Set log level to trace to see DAP messages beyond errors`), + onWillStopSession: () => this.log?.info(`Stopping ${sessionInfo}`), + onExit: code => this.log?.info(`${sessionInfo} exited with code ${code}`), + onWillReceiveMessage: (m): void => { + this.log?.debug(`▶️${m.seq} ${m.type}: ${m.command}`); + if (m.arguments && (Array.isArray(m.arguments) ? m.arguments.length > 0 : Object.keys(m.arguments).length > 0)) { + this.log?.trace(`${m.seq}: ` + JSON.stringify(m.arguments, undefined, 2)); + } + }, + onDidSendMessage: (m):void => { + const responseSummary = m.request_seq !== undefined + ? `${m.success ? "✅" : "❌"}${m.request_seq} ${m.type}(${m.seq}): ${m.command}` + : `◀️${m.seq} ${m.type}: ${m.event ?? m.command}`; + this.log?.debug( + responseSummary + ); + if (m.body && (Array.isArray(m.body) ? m.body.length > 0 : Object.keys(m.body).length > 0)) { + this.log?.trace(`${m.seq}: ` + JSON.stringify(m.body, undefined, 2)); + } + }, + onError: e => this.log?.error(e), + }; + } + + dispose(): void { + this.disposables.forEach(d => d.dispose()); + } +} + export class SpecifyScriptArgsFeature implements Disposable { private command: Disposable; private context: ExtensionContext; diff --git a/src/session.ts b/src/session.ts index a127f456ce..71164b4564 100644 --- a/src/session.ts +++ b/src/session.ts @@ -623,8 +623,6 @@ export class SessionManager implements Middleware { }); }); }; - - const clientOptions: LanguageClientOptions = { documentSelector: this.documentSelector, synchronize: { @@ -660,6 +658,7 @@ export class SessionManager implements Middleware { }, revealOutputChannelOn: RevealOutputChannelOn.Never, middleware: this, + traceOutputChannel: vscode.window.createOutputChannel("PowerShell Trace - LSP", {log: true}), }; const languageClient = new LanguageClient("powershell", "PowerShell Editor Services Client", connectFunc, clientOptions); diff --git a/test/features/DebugSession.test.ts b/test/features/DebugSession.test.ts index 5a237fe881..e27ef85274 100644 --- a/test/features/DebugSession.test.ts +++ b/test/features/DebugSession.test.ts @@ -69,7 +69,7 @@ describe("DebugSessionFeature", () => { createDebugSessionFeatureStub({context: context}); assert.ok(registerFactoryStub.calledOnce, "Debug adapter factory method called"); assert.ok(registerProviderStub.calledTwice, "Debug config provider registered for both Initial and Dynamic"); - assert.equal(context.subscriptions.length, 3, "DebugSessionFeature disposables populated"); + assert.equal(context.subscriptions.length, 4, "DebugSessionFeature disposables populated"); // TODO: Validate the registration content, such as the language name }); }); From 2f0cb56d983614797f23577bf407855509397be3 Mon Sep 17 00:00:00 2001 From: Justin Grote Date: Mon, 21 Oct 2024 13:43:36 -0600 Subject: [PATCH 33/39] Cap Github Action Jobs at 10 minutes (#5066) Currently jobs run for 360 minutes if something gets stuck. This lowers that limit to something more reasonable. --- .github/workflows/ci-test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-test.yml b/.github/workflows/ci-test.yml index 6dbf114432..1b448c7eb4 100644 --- a/.github/workflows/ci-test.yml +++ b/.github/workflows/ci-test.yml @@ -20,6 +20,7 @@ jobs: DOTNET_NOLOGO: true DOTNET_GENERATE_ASPNET_CERTIFICATE: false DISPLAY: ':99.0' + timeout-minutes: 10 steps: - name: Checkout PowerShellEditorServices uses: actions/checkout@v4 From 64f32d3c33281c368aabae068f448f38872d98f8 Mon Sep 17 00:00:00 2001 From: Justin Grote Date: Tue, 29 Oct 2024 11:51:42 -0700 Subject: [PATCH 34/39] Replace require with extension handling (#5071) --- src/extension.ts | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index 01a4ee4a1c..0cb8f3f52e 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -26,10 +26,6 @@ import { LogLevel, getSettings } from "./settings"; import { PowerShellLanguageId } from "./utils"; import { LanguageClientConsumer } from "./languageClientConsumer"; -// The most reliable way to get the name and version of the current extension. -// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-var-requires -const PackageJSON: any = require("../package.json"); - // The 1DS telemetry key, which is just shared among all Microsoft extensions // (and isn't sensitive). const TELEMETRY_KEY = "0c6ae279ed8443289764825290e4f9e2-1a736e7c-1324-4338-be46-fc2a58ae4d14-7255"; @@ -117,15 +113,23 @@ export async function activate(context: vscode.ExtensionContext): Promise Date: Tue, 29 Oct 2024 15:14:25 -0700 Subject: [PATCH 35/39] Extract artifact from upstream pipeline (#5072) Since drop_build_main now includes the zip archive among other things. --- .pipelines/vscode-powershell-Official.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 54b2a3564e..7e6b17ce50 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -96,7 +96,11 @@ extends: specificBuildWithTriggering: true branchName: refs/heads/main artifact: drop_build_main - targetPath: $(Build.SourcesDirectory)/modules + - task: ExtractFiles@1 + displayName: Extract PowerShellEditorServices + inputs: + archiveFilePatterns: $(Pipeline.Workspace)/PowerShellEditorServices.zip + destinationFolder: $(Build.SourcesDirectory)/modules - pwsh: | Register-PSRepository -Name CFS -SourceLocation "https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/powershell/nuget/v2" -InstallationPolicy Trusted Install-Module -Repository CFS -Name Microsoft.PowerShell.PSResourceGet @@ -154,7 +158,11 @@ extends: specificBuildWithTriggering: true branchName: refs/heads/main artifact: drop_build_main - targetPath: $(Build.SourcesDirectory)/modules + - task: ExtractFiles@1 + displayName: Extract PowerShellEditorServices + inputs: + archiveFilePatterns: $(Pipeline.Workspace)/PowerShellEditorServices.zip + destinationFolder: $(Build.SourcesDirectory)/modules - pwsh: | Register-PSRepository -Name CFS -SourceLocation "https://pkgs.dev.azure.com/powershell/PowerShell/_packaging/powershell/nuget/v2" -InstallationPolicy Trusted Install-Module -Repository CFS -Name Microsoft.PowerShell.PSResourceGet From e8eadb2725d46176a1fa86a22dd73145ca86e348 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Wed, 30 Oct 2024 12:24:39 -0700 Subject: [PATCH 36/39] v2024.5.0-preview: Call-operator support and various bug fixes (#5075) --- CHANGELOG.md | 9 +++++++++ package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d072a033b5..ff6d6551e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # PowerShell Extension Release History +## v2024.5.0-preview +### Wednesday, October 30, 2024 + +With PowerShell Editor Services [v3.21.0](https://github.com/PowerShell/PowerShellEditorServices/releases/tag/v3.21.0)! + +Call-operator support and various bug fixes + +See more details at the GitHub Release for [v2024.5.0-preview](https://github.com/PowerShell/vscode-powershell/releases/tag/v2024.5.0-preview). + ## v2024.2.2 ### Friday, May 03, 2024 diff --git a/package.json b/package.json index a18d5c2ffc..cc9a640759 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "powershell", "displayName": "PowerShell", - "version": "2024.2.2", + "version": "2024.5.0", "preview": false, "publisher": "ms-vscode", "description": "Develop PowerShell modules, commands and scripts in Visual Studio Code!", From 4e3db83772bfa1b155a6b4c6534886642b09deaf Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Wed, 30 Oct 2024 15:57:44 -0700 Subject: [PATCH 37/39] Fix GitHub release task Since ADO now releases from a commit that does not exist on GitHub. --- .pipelines/vscode-powershell-Official.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.pipelines/vscode-powershell-Official.yml b/.pipelines/vscode-powershell-Official.yml index 7e6b17ce50..cea5d0b6d3 100644 --- a/.pipelines/vscode-powershell-Official.yml +++ b/.pipelines/vscode-powershell-Official.yml @@ -193,6 +193,7 @@ extends: inputs: gitHubConnection: GitHub repositoryName: PowerShell/vscode-powershell + target: main assets: $(drop)/powershell-$(vsixVersion).vsix tagSource: userSpecifiedTag tag: v$(version) From dbae6ab3821ee6adcbc4db4eceaa9122019ae12a Mon Sep 17 00:00:00 2001 From: Justin Grote Date: Thu, 31 Oct 2024 10:43:57 -0700 Subject: [PATCH 38/39] Fix: Change DAP send/receive glyph to keep things aligned in the logs (#5076) --- src/features/DebugSession.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/features/DebugSession.ts b/src/features/DebugSession.ts index 17b8fb9831..f9e4feae07 100644 --- a/src/features/DebugSession.ts +++ b/src/features/DebugSession.ts @@ -643,7 +643,7 @@ class PowerShellDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory onWillStopSession: () => this.log?.info(`Stopping ${sessionInfo}`), onExit: code => this.log?.info(`${sessionInfo} exited with code ${code}`), onWillReceiveMessage: (m): void => { - this.log?.debug(`▶️${m.seq} ${m.type}: ${m.command}`); + this.log?.debug(`➡️${m.seq} ${m.type}: ${m.command}`); if (m.arguments && (Array.isArray(m.arguments) ? m.arguments.length > 0 : Object.keys(m.arguments).length > 0)) { this.log?.trace(`${m.seq}: ` + JSON.stringify(m.arguments, undefined, 2)); } @@ -651,7 +651,7 @@ class PowerShellDebugAdapterTrackerFactory implements DebugAdapterTrackerFactory onDidSendMessage: (m):void => { const responseSummary = m.request_seq !== undefined ? `${m.success ? "✅" : "❌"}${m.request_seq} ${m.type}(${m.seq}): ${m.command}` - : `◀️${m.seq} ${m.type}: ${m.event ?? m.command}`; + : `⬅️${m.seq} ${m.type}: ${m.event ?? m.command}`; this.log?.debug( responseSummary ); From 18b7263bbd3e5c6343484e3b00369eecfa425ee4 Mon Sep 17 00:00:00 2001 From: Andy Jordan <2226434+andyleejordan@users.noreply.github.com> Date: Mon, 4 Nov 2024 15:56:12 -0800 Subject: [PATCH 39/39] v2024.4.0: Call-operator support and various bug fixes (#5083) --- CHANGELOG.md | 11 ++++++++++- package.json | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff6d6551e5..a2e4a57b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,20 @@ # PowerShell Extension Release History +## v2024.4.0 +### Monday, November 04, 2024 + +With PowerShell Editor Services [v3.21.0](https://github.com/PowerShell/PowerShellEditorServices/releases/tag/v3.21.0)! + +Call-operator support and various bug fixes. + +See more details at the GitHub Release for [v2024.4.0](https://github.com/PowerShell/vscode-powershell/releases/tag/v2024.4.0). + ## v2024.5.0-preview ### Wednesday, October 30, 2024 With PowerShell Editor Services [v3.21.0](https://github.com/PowerShell/PowerShellEditorServices/releases/tag/v3.21.0)! -Call-operator support and various bug fixes +Call-operator support and various bug fixes. See more details at the GitHub Release for [v2024.5.0-preview](https://github.com/PowerShell/vscode-powershell/releases/tag/v2024.5.0-preview). diff --git a/package.json b/package.json index cc9a640759..55b397dab6 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "powershell", "displayName": "PowerShell", - "version": "2024.5.0", + "version": "2024.4.0", "preview": false, "publisher": "ms-vscode", "description": "Develop PowerShell modules, commands and scripts in Visual Studio Code!",