diff options
Diffstat (limited to 'runner/js/target_npm.go')
| -rw-r--r-- | runner/js/target_npm.go | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/runner/js/target_npm.go b/runner/js/target_npm.go new file mode 100644 index 0000000..8319fad --- /dev/null +++ b/runner/js/target_npm.go @@ -0,0 +1,42 @@ +package js + +import ( + "github.com/ewy1/pik/model" + "github.com/ewy1/pik/runner" + "os/exec" + "path/filepath" +) + +type Npm struct { + runner.BaseTarget + Name string + Cmd string +} + +func (n *Npm) Icon() string { + return "\uE60B" +} + +func (n *Npm) Description(src *model.HydratedSource) string { + return n.Cmd +} + +func (n *Npm) Target() model.Target { + return n +} + +func (n *Npm) Create(s *model.Source) *exec.Cmd { + return exec.Command(Js.Npm, "run", n.Name) +} + +func (n *Npm) Label() string { + return n.Name +} + +func (n *Npm) Hydrate(src *model.Source) (model.HydratedTarget, error) { + return n, nil +} + +func (n *Npm) File(src *model.Source) string { + return filepath.Join(src.Path, "package.json") +} |
