From d4679d4a07f2f30bfa069fd356c7a873b264aee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C4=B0lker=20G=C3=B6ktu=C4=9F=20=C3=96ZT=C3=9CRK?= Date: Fri, 31 Jul 2020 11:24:19 +0300 Subject: [PATCH] services/serve: use cmdrunner to run npm dev for user's frontend --- starport/services/serve/serve.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/starport/services/serve/serve.go b/starport/services/serve/serve.go index 135b66cc66..76746ab243 100644 --- a/starport/services/serve/serve.go +++ b/starport/services/serve/serve.go @@ -9,7 +9,6 @@ import ( "log" "net/http" "os" - "os/exec" "path/filepath" "time" @@ -26,12 +25,17 @@ type App struct { } func Serve(ctx context.Context, app App, verbose bool) error { - cmdNpm := exec.CommandContext(ctx, "npm", "run", "dev") - cmdNpm.Dir = filepath.Join(app.Path, "frontend") - cmdNpm.Start() + go cmdrunner. + New(). + Run(ctx, step.New( + step.Exec("npm", "run", "dev"), + step.Workdir(filepath.Join(app.Path, "frontend")), + )) + serveCtx, cancel := context.WithCancel(ctx) startServe(serveCtx, app, verbose) // TODO handle error go runDevServer(app, verbose) + w := watcher.New() w.SetMaxEvents(1) go func() {