func DefaultStartCommand()

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
}