UNPKG

typescript

Version:

TypeScript is a language for application scale JavaScript development

32 lines • 1.14 kB
/** * Shared utilities for the TypeScript API client. */ import { existsSync } from "node:fs"; import { fileURLToPath } from "node:url"; import getExePath from "../../lib/getExePath.js"; export function isSpawnOptions(options) { return !("pipe" in options); } export function resolveExePath(options) { return options.tsserverPath ?? getExePath(); } export function getAPIProcessArgs(options, async) { const args = ["--api"]; if (async) args.push("--async"); args.push("--cwd", options.cwd ?? process.cwd()); args.push(`--useCaseSensitiveFileNames=${options.useCaseSensitiveFileNames ?? inferUseCaseSensitiveFileNames()}`); if (options.runExternalCode) args.push("--runExternalCode"); if (options.collectTiming) args.push("--timing"); return args; } function inferUseCaseSensitiveFileNames() { if (process.platform === "win32") { return false; } const fileName = fileURLToPath(import.meta.url); return !existsSync(fileName.replace(/\w/g, char => char === char.toUpperCase() ? char.toLowerCase() : char.toUpperCase())); } //# sourceMappingURL=options.js.map