diff --git a/tools/tsp-client/src/utils.ts b/tools/tsp-client/src/utils.ts index 20766ad2349..9205d8615a6 100644 --- a/tools/tsp-client/src/utils.ts +++ b/tools/tsp-client/src/utils.ts @@ -2,10 +2,10 @@ import { joinPaths, normalizeSlashes } from "@typespec/compiler"; import { randomUUID } from "node:crypto"; import { access, constants, mkdir, writeFile } from "node:fs/promises"; import { dirname, join } from "node:path"; -import { fileURLToPath } from "node:url"; import { Logger } from "./log.js"; import { TspLocation } from "./typespec.js"; import { normalizeDirectory } from "./fs.js"; +import { createRequire } from "module"; export function formatAdditionalDirectories(additionalDirectories?: string[]): string { let additionalDirOutput = "\n"; @@ -61,7 +61,8 @@ export function getServiceDir(configYaml: any, emitter: string): string { */ export async function getPathToDependency(dependency: string): Promise { // Example: /home/user/foo/node_modules/@autorest/bar/dist/index.js - const entrypoint = fileURLToPath(import.meta.resolve(dependency)); + const require = createRequire(import.meta.url); + const entrypoint = require.resolve(dependency); // Walk up directory tree to first folder containing "package.json" let currentDir = dirname(entrypoint);