mirror of
https://github.com/hanzoai/goa.git
synced 2026-09-30 21:55:10 +00:00
One Module/Engine interface with a JSON-in/JSON-out calling convention runs four pure-Go engines behind a Pool that makes single-threaded interpreters serve requests as parallel goroutines: native plain Go handlers, zero overhead goja + esbuild JavaScript and TypeScript (TS transpiled to ES2020) gpython Python, no cgo and no GIL -> true goroutine parallelism wazero Rust/WASM via a trivial string ABI Services mount from a manifest (lang + source + routes), so any Go, Python, Rust or JS backend collapses into a single static CGO_ENABLED=0 binary served on the zip/gofiber app. A Go-backed json stdlib shim lets Python backends keep importing the real module names while running at Go speed. Examples and tests cover every engine; the Rust guest is a real wasm32 fixture exercised end to end.
19 lines
501 B
AMPL
19 lines
501 B
AMPL
module github.com/hanzoai/goa
|
|
|
|
go 1.25.0
|
|
|
|
require (
|
|
github.com/dop251/goja v0.0.0-20260627200808-0b76000cabdb
|
|
github.com/evanw/esbuild v0.28.1
|
|
github.com/go-python/gpython v0.2.0
|
|
github.com/tetratelabs/wazero v1.12.0
|
|
)
|
|
|
|
require (
|
|
github.com/dlclark/regexp2/v2 v2.2.1 // indirect
|
|
github.com/go-sourcemap/sourcemap v2.1.3+incompatible // indirect
|
|
github.com/google/pprof v0.0.0-20230207041349-798e818bf904 // indirect
|
|
golang.org/x/sys v0.44.0 // indirect
|
|
golang.org/x/text v0.3.8 // indirect
|
|
)
|