compiler

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 8, 2026 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BindBackendHandlers added in v0.1.5

func BindBackendHandlers(app manifest.Manifest) manifest.Manifest

BindBackendHandlers discovers same-package Go handlers for act and api blocks. Discovery is intentionally non-fatal: missing packages, missing functions, and unsupported signatures are reported as binding metadata so generated apps can emit clear 501 responses.

func DiscoverGoEndpointComments added in v0.1.5

func DiscoverGoEndpointComments(app manifest.Manifest) (manifest.Manifest, error)

DiscoverGoEndpointComments merges optional //gowdk:act and //gowdk:api comments from selected feature-package Go files into the manifest.

func ValidateBackendBindingPolicy added in v0.1.5

func ValidateBackendBindingPolicy(config gowdk.Config, app manifest.Manifest) error

ValidateBackendBindingPolicy enforces build-mode rules for declared backend endpoints after same-package Go handler binding metadata has been produced.

func ValidateContractReferences added in v0.1.5

func ValidateContractReferences(refs []gwdkir.ContractReference) error

ValidateContractReferences converts linked contract-reference metadata into compiler diagnostics for CLI validation paths.

func ValidateManifest

func ValidateManifest(config gowdk.Config, app manifest.Manifest) error

ValidateManifest checks render-mode invariants that must hold before codegen.

Types

type ContractEndpointBinding added in v0.1.5

type ContractEndpointBinding struct {
	Name        string
	Kind        gwdkir.ContractKind
	Status      gwdkir.ContractBindingStatus
	Message     string
	ImportAlias string
	ImportPath  string
	Type        string
	Result      string
	Roles       []string
	Handler     string
	Register    string
}

ContractEndpointBinding describes a command/query contract exposed through a generated backend endpoint.

type EndpointBinding added in v0.1.5

type EndpointBinding struct {
	Kind              EndpointKind
	EndpointSource    string
	Source            string
	SourceSpan        manifest.SourceSpan
	Package           string
	PackagePath       string
	PackageName       string
	Symbol            string
	Method            string
	Route             string
	PageID            string
	Handler           string
	BindingStatus     manifest.BackendBindingStatus
	BindingMessage    string
	BindingImportPath string
	BindingPackage    string
	BindingFunction   string
	BindingSignature  manifest.BackendSignatureKind
	BindingInputType  string
	Contract          ContractEndpointBinding
}

EndpointBinding is backend action/API metadata. Endpoints are not route kinds; they hang off the generated app/runtime backend layer.

type EndpointKind added in v0.1.5

type EndpointKind string

EndpointKind describes backend endpoint behavior separate from page/file routes.

const (
	EndpointAction   EndpointKind = "action"
	EndpointAPI      EndpointKind = "api"
	EndpointFragment EndpointKind = "fragment"
	EndpointCommand  EndpointKind = "command"
	EndpointQuery    EndpointKind = "query"
)

type RouteBinding added in v0.1.5

type RouteBinding struct {
	Kind    RouteKind
	Method  string
	Route   string
	PageID  string
	Cache   string
	Handler string
}

RouteBinding is route-level metadata. Route kinds are intentionally limited to static files, SPA routes, SSR routes, and hybrid routes.

type RouteInfo added in v0.1.5

type RouteInfo struct {
	Code    string
	PageID  string
	Route   string
	Message string
}

RouteInfo is non-fatal route metadata surfaced by CLI inspection commands.

type RouteKind added in v0.1.5

type RouteKind string

RouteKind describes route behavior in the CLI routes report.

const (
	RouteStatic RouteKind = "static"
	RouteSPA    RouteKind = "spa"
	RouteSSR    RouteKind = "ssr"
	RouteHybrid RouteKind = "hybrid"
)

type RouteMetadata added in v0.1.5

type RouteMetadata struct {
	Routes    []RouteBinding
	Endpoints []EndpointBinding
	Info      []RouteInfo
}

RouteMetadata is route and endpoint metadata used by the CLI routes report.

func BuildRouteMetadata added in v0.1.5

func BuildRouteMetadata(config gowdk.Config, app manifest.Manifest) (RouteMetadata, error)

BuildRouteMetadata converts a validated manifest into route and endpoint metadata for CLI reporting.

func BuildRouteMetadataFromIR added in v0.1.5

func BuildRouteMetadataFromIR(config gowdk.Config, ir gwdkir.Program) RouteMetadata

BuildRouteMetadataFromIR converts stable compiler IR into CLI route and endpoint metadata.

type ValidationError

type ValidationError struct {
	Code          string
	PageID        string
	ComponentName string
	Source        string
	Span          manifest.SourceSpan
	Message       string
}

func ValidatePage

func ValidatePage(config gowdk.Config, page manifest.Page) []ValidationError

func (ValidationError) Error

func (err ValidationError) Error() string

type ValidationErrors

type ValidationErrors []ValidationError

func (ValidationErrors) Error

func (errs ValidationErrors) Error() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL