fix: nodejs wrapper передаёт require в new Function (v1.3.95)

This commit is contained in:
“Naeel”
2026-05-19 16:48:19 +04:00
parent 27dbe3bccb
commit fe8870af71
5 changed files with 20 additions and 16 deletions
+11 -9
View File
@@ -33,18 +33,20 @@ func TestBuildJSDeployZipExportsMainAndHandler(t *testing.T) {
files[file.Name] = string(content)
}
if files["package.json"] != `{"type":"module"}` {
t.Fatalf("package.json = %q, want ESM marker", files["package.json"])
}
mainJS := files["main.js"]
if !strings.Contains(mainJS, `export { __invoke as main, __invoke as handler };`) {
t.Fatalf("main.js does not export both main and handler: %s", mainJS)
if mainJS == "" {
t.Fatalf("main.js not found in zip, files: %v", files)
}
if !strings.Contains(mainJS, `export default __invoke;`) {
t.Fatalf("main.js does not export default invoke: %s", mainJS)
if !strings.Contains(mainJS, `new Function('module', 'exports', 'require',`) {
t.Fatalf("main.js does not pass require to new Function: %s", mainJS)
}
if !strings.Contains(mainJS, `__mod.exports, require)`) {
t.Fatalf("main.js does not forward require: %s", mainJS)
}
if !strings.Contains(mainJS, `module.exports = __invoke`) {
t.Fatalf("main.js does not export __invoke via module.exports: %s", mainJS)
}
if !strings.Contains(mainJS, `_fn.default || _fn.handler || _fn.main`) {
t.Fatalf("main.js lost user export resolution: %s", mainJS)
}
}
}