Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
bento
command
Command bento is a TypeScript runtime built in Go.
|
Command bento is a TypeScript runtime built in Go. |
|
pkg
|
|
|
build
Package build is bento's ahead-of-time path: it type-checks an entry module with the real frontend, lowers it to a Go program, and compiles that program to a native binary with the Go toolchain.
|
Package build is bento's ahead-of-time path: it type-checks an entry module with the real frontend, lowers it to a Go program, and compiles that program to a native binary with the Go toolchain. |
|
cli
Package cli is bento's command surface: the cobra tree, the global flags, and the fang-rendered help and errors.
|
Package cli is bento's command surface: the cobra tree, the global flags, and the fang-rendered help and errors. |
|
engine
Package engine defines the JavaScript engine service provider interface that the rest of bento runs on top of.
|
Package engine defines the JavaScript engine service provider interface that the rest of bento runs on top of. |
|
engine/quickjs
Package quickjs is the default bento JavaScript engine backend.
|
Package quickjs is the default bento JavaScript engine backend. |
|
frontend
Package frontend turns TypeScript and modern JavaScript source into the JavaScript dialect the engine executes.
|
Package frontend turns TypeScript and modern JavaScript source into the JavaScript dialect the engine executes. |
|
frontend/adapter
Package adapter is the only bento package that is allowed to import microsoft/typescript-go.
|
Package adapter is the only bento package that is allowed to import microsoft/typescript-go. |
|
goimport
Package goimport owns bento's Go interoperability: it turns a go: import specifier into a Go import path plus an optional module version, and it is the home of the .d.ts generation and the value marshaling that let a TypeScript program call a pure-Go library as a direct Go call (Spec 2075, document 16).
|
Package goimport owns bento's Go interoperability: it turns a go: import specifier into a Go import path plus an optional module version, and it is the home of the .d.ts generation and the value marshaling that let a TypeScript program call a pure-Go library as a direct Go call (Spec 2075, document 16). |
|
goimport/anyfixture
Package anyfixture is a go: import fixture for the section 6.12 any crossing.
|
Package anyfixture is a go: import fixture for the section 6.12 any crossing. |
|
goimport/bridge
Package bridge is the runtime helper package a go: import's emitted code calls to marshal values across the interop boundary (16_go_interop.md section 9.4).
|
Package bridge is the runtime helper package a go: import's emitted code calls to marshal values across the interop boundary (16_go_interop.md section 9.4). |
|
goimport/cgodepfixture
Package cgodepfixture is a cgo-detection fixture for document 16 section 9.5.
|
Package cgodepfixture is a cgo-detection fixture for document 16 section 9.5. |
|
goimport/funcfixture
Package funcfixture is a go: import fixture for the section 6.9 and 7.6 callback crossing.
|
Package funcfixture is a go: import fixture for the section 6.9 and 7.6 callback crossing. |
|
goimport/mapfixture
Package mapfixture is a go: import fixture for the section 6.5 map crossing.
|
Package mapfixture is a go: import fixture for the section 6.5 map crossing. |
|
goimport/optfixture
Package optfixture is a go: import fixture for the section 6.13 opaque handle crossing.
|
Package optfixture is a go: import fixture for the section 6.13 opaque handle crossing. |
|
goimport/structfixture
Package structfixture is a tiny Go package the go: struct-crossing tests import.
|
Package structfixture is a tiny Go package the go: struct-crossing tests import. |
|
loop
Package loop is bento's event loop.
|
Package loop is bento's event loop. |
|
lower
Package lower is bento's ahead-of-time type lowering: it turns the resolved, flow-narrowed types the frontend hands it (pkg/frontend) into the Go source the Go toolchain then compiles.
|
Package lower is bento's ahead-of-time type lowering: it turns the resolved, flow-narrowed types the frontend hands it (pkg/frontend) into the Go source the Go toolchain then compiles. |
|
lower/conformance
Package conformance is the fixture corpus for the ahead-of-time lowerer.
|
Package conformance is the fixture corpus for the ahead-of-time lowerer. |
|
node
Package node implements bento's Node.js core module layer.
|
Package node implements bento's Node.js core module layer. |
|
partition
Package partition is bento's partitioner: it reads a fully checked TypeScript program through the frontend and decides, for every function and module, whether it runs as ahead-of-time compiled Go, as interpreted engine code, or as speculatively compiled code guarded at runtime.
|
Package partition is bento's partitioner: it reads a fully checked TypeScript program through the frontend and decides, for every function and module, whether it runs as ahead-of-time compiled Go, as interpreted engine code, or as speculatively compiled code guarded at runtime. |
|
resolve
Package resolve turns an import specifier into a concrete module on disk.
|
Package resolve turns an import specifier into a concrete module on disk. |
|
runtime
Package runtime wires an engine and an event loop into a working JavaScript host and runs a program.
|
Package runtime wires an engine and an event loop into a working JavaScript host and runs a program. |
|
value
Package value is bento's shared value model: the Go types that represent JavaScript values on both the compiled (typed) and interpreted (dynamic) sides, so a value computed by lowered Go and a value computed by the engine are the same object.
|
Package value is bento's shared value model: the Go types that represent JavaScript values on both the compiled (typed) and interpreted (dynamic) sides, so a value computed by lowered Go and a value computed by the engine are the same object. |
Click to show internal directories.
Click to hide internal directories.