github.com/wawandco/oxpecker@v1.5.7-0.20210910201653-5958d4afdd89/tools/webpack/dev.go (about)

     1  package webpack
     2  
     3  import (
     4  	"context"
     5  	"os"
     6  	"os/exec"
     7  
     8  	"github.com/wawandco/oxpecker/internal/log"
     9  )
    10  
    11  func (w Plugin) Develop(ctx context.Context, root string) error {
    12  	var cmd *exec.Cmd
    13  
    14  	switch w.packageManagerType(root) {
    15  	case javascriptPackageManagerYarn:
    16  		cmd = exec.CommandContext(ctx, "yarn", "run", "dev")
    17  	case javascriptPackageManagerNPM:
    18  		cmd = exec.CommandContext(ctx, "npm", "run", "dev")
    19  	case javascriptPackageManagerNone:
    20  		log.Warn("did not find yarn.lock nor package-lock.json, skipping webpack build.")
    21  
    22  		return nil
    23  	}
    24  
    25  	cmd.Env = append(
    26  		os.Environ(),
    27  		"NODE_ENV=development",
    28  	)
    29  
    30  	cmd.Stdout = os.Stdout
    31  	cmd.Stderr = os.Stderr
    32  	cmd.Stdin = os.Stdin
    33  
    34  	return cmd.Run()
    35  }