122 references to TypeScriptAppHostToolchain
aspire (76)
Projects\GuestAppHostProject.cs (1)
2079var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, _environment, _logger);
Projects\TypeScriptAppHostToolchainResolver.cs (60)
43public static TypeScriptAppHostToolchain Resolve(DirectoryInfo appHostDirectory, IEnvironment environment, ILogger? logger) 58if (TryGetToolchainFromPackageJson(candidateDirectory, out var configuredToolchain, out var reason)) 65return CreateLockFileResolution(TypeScriptAppHostToolchain.Bun, BunLockFileName, candidateDirectory); 70return CreateLockFileResolution(TypeScriptAppHostToolchain.Bun, BunBinaryLockFileName, candidateDirectory); 75return CreateLockFileResolution(TypeScriptAppHostToolchain.Pnpm, PnpmLockFileName, candidateDirectory); 86return CreateLockFileResolution(TypeScriptAppHostToolchain.Yarn, YarnLockFileName, candidateDirectory); 91return CreateLockFileResolution(TypeScriptAppHostToolchain.Yarn, YarnConfigFileName, candidateDirectory); 96return CreateLockFileResolution(TypeScriptAppHostToolchain.Deno, DenoLockFileName, candidateDirectory); 101return CreateLockFileResolution(TypeScriptAppHostToolchain.Deno, DenoJsonFileName, candidateDirectory); 106return CreateLockFileResolution(TypeScriptAppHostToolchain.Deno, DenoJsoncFileName, candidateDirectory); 111return CreateLockFileResolution(TypeScriptAppHostToolchain.Npm, PackageLockFileName, candidateDirectory); 115return new(TypeScriptAppHostToolchain.Npm, $"no package manager marker found in {appHostDirectory.FullName} or an eligible parent directory"); 118public static string[] GetRequiredCommands(TypeScriptAppHostToolchain toolchain) 122TypeScriptAppHostToolchain.Npm => ["npm", "npx"], 127public static string GetCommandName(TypeScriptAppHostToolchain toolchain) 131TypeScriptAppHostToolchain.Npm => "npm", 132TypeScriptAppHostToolchain.Bun => "bun", 133TypeScriptAppHostToolchain.Yarn => "yarn", 134TypeScriptAppHostToolchain.Pnpm => "pnpm", 135TypeScriptAppHostToolchain.Deno => "deno", 140public static string GetInstallCommand(TypeScriptAppHostToolchain toolchain) 145public static string GetDisplayName(TypeScriptAppHostToolchain toolchain) 149TypeScriptAppHostToolchain.Npm => "Node.js", 150TypeScriptAppHostToolchain.Bun => "Bun", 151TypeScriptAppHostToolchain.Yarn => "Yarn", 152TypeScriptAppHostToolchain.Pnpm => "pnpm", 153TypeScriptAppHostToolchain.Deno => "Deno", 158public static RuntimeSpec ApplyToRuntimeSpec(RuntimeSpec baseRuntimeSpec, TypeScriptAppHostToolchain toolchain) 160if (toolchain == TypeScriptAppHostToolchain.Npm) 179ExtensionLaunchCapability = toolchain == TypeScriptAppHostToolchain.Deno 185CertificateBundleEnvironmentVariable = toolchain == TypeScriptAppHostToolchain.Deno 192private static CommandSpec CreateInstallCommand(TypeScriptAppHostToolchain toolchain) 198string[] args = toolchain == TypeScriptAppHostToolchain.Pnpm 209private static CommandSpec[] CreatePreExecuteCommands(TypeScriptAppHostToolchain toolchain, string tsConfigFileName) 215TypeScriptAppHostToolchain.Bun => new CommandSpec 220TypeScriptAppHostToolchain.Yarn => new CommandSpec 225TypeScriptAppHostToolchain.Pnpm => new CommandSpec 233TypeScriptAppHostToolchain.Deno => new CommandSpec 243private static CommandSpec CreateExecuteCommand(TypeScriptAppHostToolchain toolchain, string tsConfigFileName) 247TypeScriptAppHostToolchain.Bun => new CommandSpec 252TypeScriptAppHostToolchain.Yarn => new CommandSpec 257TypeScriptAppHostToolchain.Pnpm => new CommandSpec 266TypeScriptAppHostToolchain.Deno => new CommandSpec 275private static CommandSpec CreateWatchCommand(TypeScriptAppHostToolchain toolchain, string tsConfigFileName) 279TypeScriptAppHostToolchain.Bun => new CommandSpec 294TypeScriptAppHostToolchain.Yarn => new CommandSpec 309TypeScriptAppHostToolchain.Pnpm => new CommandSpec 327TypeScriptAppHostToolchain.Deno => new CommandSpec 350private static bool TryGetToolchainFromPackageJson(DirectoryInfo appHostDirectory, out TypeScriptAppHostToolchain toolchain, out string reason) 374if (toolchain == TypeScriptAppHostToolchain.Yarn && IsYarnClassicPackageManager(packageManager)) 379if (toolchain == TypeScriptAppHostToolchain.Deno && IsDenoPreV2PackageManager(packageManager)) 400private static bool TryParseToolchain(string packageManagerName, out TypeScriptAppHostToolchain toolchain) 402TypeScriptAppHostToolchain? result = packageManagerName.ToLowerInvariant() switch 404"npm" => TypeScriptAppHostToolchain.Npm, 405"bun" => TypeScriptAppHostToolchain.Bun, 406"yarn" => TypeScriptAppHostToolchain.Yarn, 407"pnpm" => TypeScriptAppHostToolchain.Pnpm, 408"deno" => TypeScriptAppHostToolchain.Deno, 514private static TypeScriptAppHostToolchainResolution CreateLockFileResolution(TypeScriptAppHostToolchain toolchain, string markerName, DirectoryInfo directory) 520internal readonly record struct TypeScriptAppHostToolchainResolution(TypeScriptAppHostToolchain Toolchain, string Reason);
Scaffolding\ScaffoldingService.cs (11)
325internal static IReadOnlyList<string> AddRootTypeScriptAppHostDelegateScripts(JsonObject scripts, TypeScriptAppHostToolchain toolchain, string relativeAppHostDirectory) 338var toolchain = TypeScriptAppHostToolchainResolver.Resolve(appHostDirectory, environment, logger); 384private static string CreateRootDelegateScript(TypeScriptAppHostToolchain toolchain, string relativeAppHostDirectory, string scriptName) 388TypeScriptAppHostToolchain.Npm => $"npm --prefix {relativeAppHostDirectory} run {scriptName}", 389TypeScriptAppHostToolchain.Pnpm => $"pnpm --dir {relativeAppHostDirectory} run {scriptName}", 390TypeScriptAppHostToolchain.Yarn => $"yarn --cwd {relativeAppHostDirectory} run {scriptName}", 391TypeScriptAppHostToolchain.Bun => $"bun --cwd {relativeAppHostDirectory} run {scriptName}", 394TypeScriptAppHostToolchain.Deno => $"deno task --cwd {relativeAppHostDirectory} {scriptName}", 399private static void AddRootTypeScriptAppHostDelegateScript(JsonObject scripts, TypeScriptAppHostToolchain toolchain, string relativeAppHostDirectory, string scriptName, ref List<string>? preservedScriptNames) 428var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, _environment, _logger); 537var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, _environment, _logger);
Utils\EnvironmentChecker\TypeScriptAppHostToolingCheck.cs (3)
71TypeScriptAppHostToolchain toolchain; 109if (toolchain == TypeScriptAppHostToolchain.Deno) 139if (toolchain == TypeScriptAppHostToolchain.Deno)
Utils\MissingJavaScriptToolWarning.cs (1)
45var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, environment, logger: null);
Aspire.Cli.Tests (46)
Commands\TypeScriptAppHostToolingCheckTests.cs (14)
24[InlineData("npm@10.5.0", nameof(TypeScriptAppHostToolchain.Npm))] 25[InlineData("bun@1.2.0", nameof(TypeScriptAppHostToolchain.Bun))] 26[InlineData("yarn@4.14.1", nameof(TypeScriptAppHostToolchain.Yarn))] 27[InlineData("pnpm@10.12.1", nameof(TypeScriptAppHostToolchain.Pnpm))] 28[InlineData("deno@2.9.0", nameof(TypeScriptAppHostToolchain.Deno))] 31var toolchain = Enum.Parse<TypeScriptAppHostToolchain>(toolchainName); 54[InlineData("npm@10.5.0", nameof(TypeScriptAppHostToolchain.Npm), "Node.js", "https://nodejs.org/en/download")] 55[InlineData("bun@1.2.0", nameof(TypeScriptAppHostToolchain.Bun), "Bun", "https://bun.sh/docs/installation")] 56[InlineData("yarn@4.14.1", nameof(TypeScriptAppHostToolchain.Yarn), "Yarn", "https://yarnpkg.com/getting-started/install")] 57[InlineData("pnpm@10.12.1", nameof(TypeScriptAppHostToolchain.Pnpm), "pnpm", "https://pnpm.io/installation")] 58[InlineData("deno@2.9.0", nameof(TypeScriptAppHostToolchain.Deno), "Deno", "https://docs.deno.com/runtime/getting_started/installation/")] 65var toolchain = Enum.Parse<TypeScriptAppHostToolchain>(toolchainName);
Projects\TypeScriptAppHostToolchainResolverTests.cs (29)
20var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 22Assert.Equal(TypeScriptAppHostToolchain.Bun, toolchain); 31var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 33Assert.Equal(TypeScriptAppHostToolchain.Deno, toolchain); 62Assert.Equal(TypeScriptAppHostToolchain.Deno, resolution.Toolchain); 75Assert.Equal(TypeScriptAppHostToolchain.Deno, resolution.Toolchain); 88Assert.Equal(TypeScriptAppHostToolchain.Deno, resolution.Toolchain); 99var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 101Assert.Equal(TypeScriptAppHostToolchain.Pnpm, toolchain); 122var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 124Assert.Equal(TypeScriptAppHostToolchain.Yarn, toolchain); 169Assert.Equal(TypeScriptAppHostToolchain.Npm, resolution.Toolchain); 183Assert.Equal(TypeScriptAppHostToolchain.Yarn, resolution.Toolchain); 194var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 196Assert.Equal(TypeScriptAppHostToolchain.Npm, toolchain); 205var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 207Assert.Equal(TypeScriptAppHostToolchain.Npm, toolchain); 220var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger); 222Assert.Equal(TypeScriptAppHostToolchain.Yarn, toolchain); 237var toolchain = TypeScriptAppHostToolchainResolver.Resolve(appHostDirectory, new TestEnvironment(), logger: null); 239Assert.Equal(TypeScriptAppHostToolchain.Pnpm, toolchain); 253Assert.Equal(TypeScriptAppHostToolchain.Bun, resolution.Toolchain); 269Assert.Equal(TypeScriptAppHostToolchain.Pnpm, resolution.Toolchain); 281var toolchain = TypeScriptAppHostToolchainResolver.Resolve(appHostDirectory, new TestEnvironment(), logger: null); 283Assert.Equal(TypeScriptAppHostToolchain.Npm, toolchain); 353var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Bun); 387var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Yarn); 403var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Pnpm); 422var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Deno);
Scaffolding\ScaffoldingServiceTests.cs (3)
123TypeScriptAppHostToolchain.Pnpm, 140TypeScriptAppHostToolchain.Deno, 191TypeScriptAppHostToolchain.Npm,