Skip to content

Commit 9e8fb4a

Browse files
committed
Set NODE_PATH environment variable
1 parent d881836 commit 9e8fb4a

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

tool.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,13 +658,27 @@ func runNode(script string, args []string, dir string) error {
658658
node.Stdin = os.Stdin
659659
node.Stdout = os.Stdout
660660
node.Stderr = os.Stderr
661+
node.Env = setNodeEnv(dir)
661662
err := node.Run()
662663
if _, ok := err.(*exec.ExitError); err != nil && !ok {
663664
err = fmt.Errorf("could not run Node.js: %s", err.Error())
664665
}
665666
return err
666667
}
667668

669+
func setNodeEnv(dir string) []string {
670+
nodePath := dir + "/node_modules"
671+
672+
env := os.Environ()
673+
for i,e := range env {
674+
if strings.HasPrefix(e, "NODE_PATH=") {
675+
env[i] = e + ":" + nodePath
676+
return env
677+
}
678+
}
679+
return append(env, "NODE_PATH=" + nodePath)
680+
}
681+
668682
type testFuncs struct {
669683
Tests []testFunc
670684
Benchmarks []testFunc

0 commit comments

Comments
 (0)