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