98 references to TypeScriptAppHostToolchain
aspire (61)
Projects\GuestAppHostProject.cs (1)
2052var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, _environment, _logger);
Projects\TypeScriptAppHostToolchainResolver.cs (48)
39public static TypeScriptAppHostToolchain Resolve(DirectoryInfo appHostDirectory, IEnvironment environment, ILogger? logger) 54if (TryGetToolchainFromPackageJson(candidateDirectory, out var configuredToolchain, out var reason)) 61return CreateLockFileResolution(TypeScriptAppHostToolchain.Bun, BunLockFileName, candidateDirectory); 66return CreateLockFileResolution(TypeScriptAppHostToolchain.Bun, BunBinaryLockFileName, candidateDirectory); 71return CreateLockFileResolution(TypeScriptAppHostToolchain.Pnpm, PnpmLockFileName, candidateDirectory); 82return CreateLockFileResolution(TypeScriptAppHostToolchain.Yarn, YarnLockFileName, candidateDirectory); 87return CreateLockFileResolution(TypeScriptAppHostToolchain.Yarn, YarnConfigFileName, candidateDirectory); 92return CreateLockFileResolution(TypeScriptAppHostToolchain.Npm, PackageLockFileName, candidateDirectory); 96return new(TypeScriptAppHostToolchain.Npm, $"no package manager marker found in {appHostDirectory.FullName} or an eligible parent directory"); 99public static string[] GetRequiredCommands(TypeScriptAppHostToolchain toolchain) 103TypeScriptAppHostToolchain.Npm => ["npm", "npx"], 108public static string GetCommandName(TypeScriptAppHostToolchain toolchain) 112TypeScriptAppHostToolchain.Npm => "npm", 113TypeScriptAppHostToolchain.Bun => "bun", 114TypeScriptAppHostToolchain.Yarn => "yarn", 115TypeScriptAppHostToolchain.Pnpm => "pnpm", 120public static string GetInstallCommand(TypeScriptAppHostToolchain toolchain) 125public static string GetDisplayName(TypeScriptAppHostToolchain toolchain) 129TypeScriptAppHostToolchain.Npm => "Node.js", 130TypeScriptAppHostToolchain.Bun => "Bun", 131TypeScriptAppHostToolchain.Yarn => "Yarn", 132TypeScriptAppHostToolchain.Pnpm => "pnpm", 137public static RuntimeSpec ApplyToRuntimeSpec(RuntimeSpec baseRuntimeSpec, TypeScriptAppHostToolchain toolchain) 139if (toolchain == TypeScriptAppHostToolchain.Npm) 164private static CommandSpec CreateInstallCommand(TypeScriptAppHostToolchain toolchain) 170string[] args = toolchain == TypeScriptAppHostToolchain.Pnpm 181private static CommandSpec[] CreatePreExecuteCommands(TypeScriptAppHostToolchain toolchain, string tsConfigFileName) 187TypeScriptAppHostToolchain.Bun => new CommandSpec 192TypeScriptAppHostToolchain.Yarn => new CommandSpec 197TypeScriptAppHostToolchain.Pnpm => new CommandSpec 207private static CommandSpec CreateExecuteCommand(TypeScriptAppHostToolchain toolchain, string tsConfigFileName) 211TypeScriptAppHostToolchain.Bun => new CommandSpec 216TypeScriptAppHostToolchain.Yarn => new CommandSpec 221TypeScriptAppHostToolchain.Pnpm => new CommandSpec 230private static CommandSpec CreateWatchCommand(TypeScriptAppHostToolchain toolchain, string tsConfigFileName) 234TypeScriptAppHostToolchain.Bun => new CommandSpec 249TypeScriptAppHostToolchain.Yarn => new CommandSpec 264TypeScriptAppHostToolchain.Pnpm => new CommandSpec 297private static bool TryGetToolchainFromPackageJson(DirectoryInfo appHostDirectory, out TypeScriptAppHostToolchain toolchain, out string reason) 321if (toolchain == TypeScriptAppHostToolchain.Yarn && IsYarnClassicPackageManager(packageManager)) 340private static bool TryParseToolchain(string packageManagerName, out TypeScriptAppHostToolchain toolchain) 342TypeScriptAppHostToolchain? result = packageManagerName.ToLowerInvariant() switch 344"npm" => TypeScriptAppHostToolchain.Npm, 345"bun" => TypeScriptAppHostToolchain.Bun, 346"yarn" => TypeScriptAppHostToolchain.Yarn, 347"pnpm" => TypeScriptAppHostToolchain.Pnpm, 438private static TypeScriptAppHostToolchainResolution CreateLockFileResolution(TypeScriptAppHostToolchain toolchain, string markerName, DirectoryInfo directory) 444internal readonly record struct TypeScriptAppHostToolchainResolution(TypeScriptAppHostToolchain Toolchain, string Reason);
Scaffolding\ScaffoldingService.cs (10)
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}", 396private static void AddRootTypeScriptAppHostDelegateScript(JsonObject scripts, TypeScriptAppHostToolchain toolchain, string relativeAppHostDirectory, string scriptName, ref List<string>? preservedScriptNames) 425var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, _environment, _logger); 531var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, _environment, _logger);
Utils\EnvironmentChecker\TypeScriptAppHostToolingCheck.cs (1)
58TypeScriptAppHostToolchain toolchain;
Utils\MissingJavaScriptToolWarning.cs (1)
44var toolchain = TypeScriptAppHostToolchainResolver.Resolve(directory, environment, logger: null);
Aspire.Cli.Tests (37)
Commands\TypeScriptAppHostToolingCheckTests.cs (12)
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))] 30var toolchain = Enum.Parse<TypeScriptAppHostToolchain>(toolchainName); 53[InlineData("npm@10.5.0", nameof(TypeScriptAppHostToolchain.Npm), "Node.js", "https://nodejs.org/en/download")] 54[InlineData("bun@1.2.0", nameof(TypeScriptAppHostToolchain.Bun), "Bun", "https://bun.sh/docs/installation")] 55[InlineData("yarn@4.14.1", nameof(TypeScriptAppHostToolchain.Yarn), "Yarn", "https://yarnpkg.com/getting-started/install")] 56[InlineData("pnpm@10.12.1", nameof(TypeScriptAppHostToolchain.Pnpm), "pnpm", "https://pnpm.io/installation")] 63var toolchain = Enum.Parse<TypeScriptAppHostToolchain>(toolchainName);
Projects\TypeScriptAppHostToolchainResolverTests.cs (23)
20var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 22Assert.Equal(TypeScriptAppHostToolchain.Bun, toolchain); 32var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 34Assert.Equal(TypeScriptAppHostToolchain.Pnpm, toolchain); 55var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 57Assert.Equal(TypeScriptAppHostToolchain.Yarn, toolchain); 102Assert.Equal(TypeScriptAppHostToolchain.Npm, resolution.Toolchain); 116Assert.Equal(TypeScriptAppHostToolchain.Yarn, resolution.Toolchain); 127var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 129Assert.Equal(TypeScriptAppHostToolchain.Npm, toolchain); 138var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger: null); 140Assert.Equal(TypeScriptAppHostToolchain.Npm, toolchain); 153var toolchain = TypeScriptAppHostToolchainResolver.Resolve(workspace.WorkspaceRoot, new TestEnvironment(), logger); 155Assert.Equal(TypeScriptAppHostToolchain.Yarn, toolchain); 170var toolchain = TypeScriptAppHostToolchainResolver.Resolve(appHostDirectory, new TestEnvironment(), logger: null); 172Assert.Equal(TypeScriptAppHostToolchain.Pnpm, toolchain); 186Assert.Equal(TypeScriptAppHostToolchain.Bun, resolution.Toolchain); 202Assert.Equal(TypeScriptAppHostToolchain.Pnpm, resolution.Toolchain); 214var toolchain = TypeScriptAppHostToolchainResolver.Resolve(appHostDirectory, new TestEnvironment(), logger: null); 216Assert.Equal(TypeScriptAppHostToolchain.Npm, toolchain); 286var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Bun); 320var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Yarn); 336var runtimeSpec = TypeScriptAppHostToolchainResolver.ApplyToRuntimeSpec(baseRuntimeSpec, TypeScriptAppHostToolchain.Pnpm);
Scaffolding\ScaffoldingServiceTests.cs (2)
123TypeScriptAppHostToolchain.Pnpm, 175TypeScriptAppHostToolchain.Npm,