From 0b084499436c0433119709e95cbbb98e9477058a Mon Sep 17 00:00:00 2001 From: Rodge Fu Date: Fri, 20 Sep 2024 09:30:54 +0800 Subject: [PATCH] Use shell for execution of .cmd (tsp-server.cmd) (#4430) fixes #4343. shell needs to be used for executing .cmd file in newer nodejs version (a breaking change from nodejs security release). more detail can be found in the issue. --- .../use-shell-for-cmd-2024-8-13-11-39-59.md | 7 ++++++ packages/typespec-vscode/src/extension.ts | 10 ++++----- packages/typespec-vscode/src/utils.ts | 22 +++++++++++++++++++ 3 files changed, 34 insertions(+), 5 deletions(-) create mode 100644 .chronus/changes/use-shell-for-cmd-2024-8-13-11-39-59.md diff --git a/.chronus/changes/use-shell-for-cmd-2024-8-13-11-39-59.md b/.chronus/changes/use-shell-for-cmd-2024-8-13-11-39-59.md new file mode 100644 index 0000000000..b3e569d0fa --- /dev/null +++ b/.chronus/changes/use-shell-for-cmd-2024-8-13-11-39-59.md @@ -0,0 +1,7 @@ +--- +changeKind: fix +packages: + - typespec-vscode +--- + +Use "shell" when spawning execution of .cmd file(i.e. tsp-server.cmd) in windows diff --git a/packages/typespec-vscode/src/extension.ts b/packages/typespec-vscode/src/extension.ts index 129d477717..5a58080e14 100644 --- a/packages/typespec-vscode/src/extension.ts +++ b/packages/typespec-vscode/src/extension.ts @@ -10,7 +10,7 @@ import { } from "vscode-languageclient/node.js"; import logger from "./extension-logger.js"; import { TypeSpecLogOutputChannel } from "./typespec-log-output-channel.js"; -import { normalizeSlash } from "./utils.js"; +import { normalizeSlash, useShellInExec } from "./utils.js"; let client: LanguageClient | undefined; /** @@ -233,7 +233,7 @@ async function resolveTypeSpecCli(absoluteTargetPath: string): Promise