diff --git a/core/node_os.go b/core/node_os.go index c323e6d..06eb0db 100644 --- a/core/node_os.go +++ b/core/node_os.go @@ -18,6 +18,19 @@ func getJsOs(vm *goja.Runtime, running func() bool) *goja.Object { } return data }) + jsos.Set("readFileSync", func(path string) string { + data, err := os.ReadFile(path) + if err != nil { + panic(Error(vm, err)) + } + return string(data) + }) + jsos.Set("writeFileSync", func(path, content string) { + err := os.WriteFile(path, []byte(content), 0644) + if err != nil { + panic(Error(vm, err)) + } + }) jsos.Set("walkFilePath", func(root string, callback func(path string, info os.FileInfo) bool) { err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if !running() { diff --git a/core/plugin_utils.go b/core/plugin_utils.go index fefed76..b26cc01 100644 --- a/core/plugin_utils.go +++ b/core/plugin_utils.go @@ -436,6 +436,7 @@ func SetPluginMethod(vm *goja.Runtime, uuid string, on_start bool, running func( osjs := getJsOs(vm, running) vm.Set("os", osjs) + vm.Set("fs", osjs) } func EncryptPlugin(script string) string {