Component call patch
Purpose
v0.1.4 adds calls to reusable components from
GX template entries. Uppercase tags
resolve to typed Go component functions, and
component props are validated from Go types.
Lowercase HTML tags keep resolving through the safe Element
path. Reusable behavior belongs in uppercase function components such as
<Button>.
Scope
- Resolve uppercase component tags deterministically.
- Compile uppercase tags to ordinary Go callable component calls that return
gx.Node. - Support typed component props.
- Reject unknown components, missing required props, and invalid prop types before render.
- Let template entries reuse existing Go component functions.
- Keep GX component body markup, body children, callback props, resources, effects, lifecycle hooks, and browser hydration outside this version.
Public Result
Authors can define reusable tags as Go functions, call them from a
template entry, and validate them with the same
source tools introduced in earlier patches. The notice.gx and
noticeExample names come from the valid fixture in
component functions:
bus gx fmt --check notice.gx
bus gx lint --format json notice.gx
bus gx compile notice.gx --output notice.go
The command surface remains source-oriented. This patch does not add GX component body markup, component body children, callback props, resources, effects, lifecycle hooks, browser hydration, or a separate runtime template document format.