in src/BuildScriptGenerator/Node/NodePlatform.cs [602:651]
private void GetAppOutputDirPath(dynamic packageJson, Dictionary<string, string> buildProperties)
{
if (packageJson == null || packageJson.scripts == null || packageJson.scripts["build"] == null)
{
return;
}
var buildNode = packageJson.scripts["build"] as JValue;
var buildCommand = buildNode.Value as string;
if (string.IsNullOrEmpty(buildCommand))
{
return;
}
string outputDirPath = null;
if (buildCommand.Contains("ng build", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = "dist";
}
else if (buildCommand.Contains("gatsby build", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = "public";
}
else if (buildCommand.Contains("react-scripts build", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = "build";
}
else if (buildCommand.Contains("next build", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = ".next";
}
else if (buildCommand.Contains("nuxt build", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = ".nuxt";
}
else if (buildCommand.Contains("vue-cli-service build", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = "dist";
}
else if (buildCommand.Contains("hexo generate", StringComparison.OrdinalIgnoreCase))
{
outputDirPath = "public";
}
if (!string.IsNullOrEmpty(outputDirPath))
{
buildProperties[NodeManifestFilePropertyKeys.OutputDirPath] = outputDirPath;
}
}