in pkg/nodejs/npm.go [212:239]
func DefaultStartCommand(ctx *gcp.Context, pjs *PackageJSON) ([]string, error) {
if pjs == nil {
return []string{"node", "index.js"}, nil
}
if angularStart := ExtractAngularStartCommand(pjs); angularStart != "" {
return strings.Fields(angularStart), nil
}
if _, ok := pjs.Scripts["start"]; ok {
return []string{"npm", "run", "start"}, nil
}
if nuxt, err := NuxtStartCommand(ctx); err != nil || nuxt != nil {
return nuxt, err
}
if svelteKit, err := SvelteKitStartCommand(ctx); err != nil || svelteKit != nil {
return svelteKit, err
}
exists, err := ctx.FileExists(ctx.ApplicationRoot(), "server.js")
if err != nil {
return nil, err
}
if exists {
return []string{"npm", "run", "start"}, nil
}
if pjs.Main != "" {
return []string{"node", pjs.Main}, nil
}
return []string{"node", "index.js"}, nil
}