1
0
forked from x/icebergs
icebergs/misc/node/npm.go
2023-03-28 14:21:27 +08:00

28 lines
639 B
Go

package node
import (
"path"
"shylinux.com/x/ice"
"shylinux.com/x/icebergs/base/cli"
"shylinux.com/x/icebergs/base/nfs"
kit "shylinux.com/x/toolkits"
)
type npm struct {
ice.Code
require string `name:"require" http:"/require/modules/"`
list string `name:"list auto"`
}
func (s npm) Require(m *ice.Message, arg ...string) {
p := path.Join(ice.USR_MODULES, path.Join(arg...))
kit.If(!nfs.Exists(m, p), func() { m.Cmd(cli.SYSTEM, "npm", "install", arg[0], kit.Dict(cli.CMD_DIR, ice.USR)) })
m.RenderDownload(p)
}
func (s npm) List(m *ice.Message) {
m.Cmdy(nfs.DIR, ice.USR_MODULES)
}
func init() { ice.CodeCtxCmd(npm{}) }