in src/Cli/func/Actions/LocalActions/CreateFunctionAction.cs [390:414]
private bool InferAndUpdateLanguage(WorkerRuntime workerRuntime)
{
switch (workerRuntime)
{
case WorkerRuntime.Dotnet:
// use fsproj as an indication that we have a F# project
Language = FileSystemHelpers.GetFiles(Environment.CurrentDirectory, searchPattern: "*.fsproj").Any() ? Constants.Languages.FSharp : Constants.Languages.CSharp;
return true;
case WorkerRuntime.DotnetIsolated:
// use fsproj as an indication that we have a F# project
Language = FileSystemHelpers.GetFiles(Environment.CurrentDirectory, searchPattern: "*.fsproj").Any() ? Constants.Languages.FSharpIsolated : Constants.Languages.CSharpIsolated;
return true;
case WorkerRuntime.Node:
// use tsconfig.json as an indicator that we have a TypeScript project
Language = FileSystemHelpers.FileExists(Path.Combine(Environment.CurrentDirectory, "tsconfig.json")) ? Constants.Languages.TypeScript : Constants.Languages.JavaScript;
return true;
case WorkerRuntime.None:
case WorkerRuntime.Python:
case WorkerRuntime.Java:
case WorkerRuntime.Powershell:
case WorkerRuntime.Custom:
default:
return false;
}
}