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