Documentation
¶
Overview ¶
v2/cmd/forge/plugins/build.go
v2/cmd/forge/plugins/client.go
v2/cmd/forge/plugins/client_check.go
v2/cmd/forge/plugins/client_config.go
v2/cmd/forge/plugins/client_diff.go
v2/cmd/forge/plugins/client_watch.go
v2/cmd/forge/plugins/cloud.go
cmd/forge/plugins/contributor.go
cmd/forge/plugins/dashboard.go
cmd/forge/plugins/dashboard_templates.go
v2/cmd/forge/plugins/deploy.go
v2/cmd/forge/plugins/dev.go
v2/cmd/forge/plugins/dev_docker.go
v2/cmd/forge/plugins/dev_shared.go
v2/cmd/forge/plugins/doctor.go
v2/cmd/forge/plugins/extension.go
v2/cmd/forge/plugins/generate.go
v2/cmd/forge/plugins/infra.go
v2/cmd/forge/plugins/init.go
v2/cmd/forge/plugins/version.go
Index ¶
- func NewBuildPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewClientPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewCloudPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewContributorPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewDashboardPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewDatabasePlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewDeployPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewDevPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewDoctorPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewExtensionPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewGeneratePlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewInfraPlugin(cfg *config.ForgeConfig) cli.Plugin
- func NewInitPlugin(cfg *config.ForgeConfig) cli.Plugin
- func SaveClientConfig(config *ClientConfig, path string) error
- type AppInfo
- type AstroAdapter
- func (a *AstroAdapter) DefaultBuildCmd(mode string) string
- func (a *AstroAdapter) DefaultDevCmd() string
- func (a *AstroAdapter) DefaultDistDir(mode string) string
- func (a *AstroAdapter) DefaultSSREntry() string
- func (a *AstroAdapter) Name() string
- func (a *AstroAdapter) ValidateBuild(distDir string) error
- type BuildPlugin
- type CLIAppInfo
- type ClientConfig
- type ClientGenConfig
- type ClientPlugin
- type CloudPlugin
- type CommandFlag
- type ContributorPlugin
- type CustomAdapter
- func (a *CustomAdapter) DefaultBuildCmd(_ string) string
- func (a *CustomAdapter) DefaultDevCmd() string
- func (a *CustomAdapter) DefaultDistDir(_ string) string
- func (a *CustomAdapter) DefaultSSREntry() string
- func (a *CustomAdapter) Name() string
- func (a *CustomAdapter) ValidateBuild(distDir string) error
- type DashboardPlugin
- type DatabasePlugin
- type DeployPlugin
- type DevPlugin
- type DoctorPlugin
- type ExtensionPlugin
- type FrameworkAdapter
- type GeneratePlugin
- type GenerationDefaults
- type InfraPlugin
- type InitPlugin
- type NextjsAdapter
- func (a *NextjsAdapter) DefaultBuildCmd(mode string) string
- func (a *NextjsAdapter) DefaultDevCmd() string
- func (a *NextjsAdapter) DefaultDistDir(mode string) string
- func (a *NextjsAdapter) DefaultSSREntry() string
- func (a *NextjsAdapter) Name() string
- func (a *NextjsAdapter) ValidateBuild(distDir string) error
- type SourceConfig
- type SourceEntry
- type StreamingExtConfig
- type TargetInfo
- type TemplAdapter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBuildPlugin ¶
func NewBuildPlugin(cfg *config.ForgeConfig) cli.Plugin
NewBuildPlugin creates a new build plugin.
func NewClientPlugin ¶
func NewClientPlugin(cfg *config.ForgeConfig) cli.Plugin
NewClientPlugin creates a new client plugin.
func NewCloudPlugin ¶
func NewCloudPlugin(cfg *config.ForgeConfig) cli.Plugin
NewCloudPlugin creates a new cloud plugin.
func NewContributorPlugin ¶
func NewContributorPlugin(cfg *config.ForgeConfig) cli.Plugin
NewContributorPlugin creates a new contributor plugin.
func NewDashboardPlugin ¶
func NewDashboardPlugin(cfg *config.ForgeConfig) cli.Plugin
NewDashboardPlugin creates a new dashboard plugin.
func NewDatabasePlugin ¶
func NewDatabasePlugin(cfg *config.ForgeConfig) cli.Plugin
NewDatabasePlugin creates a new database plugin.
func NewDeployPlugin ¶
func NewDeployPlugin(cfg *config.ForgeConfig) cli.Plugin
NewDeployPlugin creates a new deploy plugin.
func NewDevPlugin ¶
func NewDevPlugin(cfg *config.ForgeConfig) cli.Plugin
NewDevPlugin creates a new development plugin.
func NewDoctorPlugin ¶
func NewDoctorPlugin(cfg *config.ForgeConfig) cli.Plugin
NewDoctorPlugin creates a new doctor plugin.
func NewExtensionPlugin ¶
func NewExtensionPlugin(cfg *config.ForgeConfig) cli.Plugin
NewExtensionPlugin creates a new extension plugin.
func NewGeneratePlugin ¶
func NewGeneratePlugin(cfg *config.ForgeConfig) cli.Plugin
NewGeneratePlugin creates a new generate plugin.
func NewInfraPlugin ¶
func NewInfraPlugin(cfg *config.ForgeConfig) cli.Plugin
NewInfraPlugin creates a new infrastructure plugin.
func NewInitPlugin ¶
func NewInitPlugin(cfg *config.ForgeConfig) cli.Plugin
NewInitPlugin creates a new init plugin.
func SaveClientConfig ¶
func SaveClientConfig(config *ClientConfig, path string) error
SaveClientConfig saves a client configuration to a file.
Types ¶
type AppInfo ¶
type AppInfo struct {
Name string
Path string
Type string
AppConfig *config.AppConfig // App-level .forge.yaml configuration
}
AppInfo represents a discoverable app.
type AstroAdapter ¶
type AstroAdapter struct{}
AstroAdapter provides Astro-specific build configuration.
func (*AstroAdapter) DefaultBuildCmd ¶
func (a *AstroAdapter) DefaultBuildCmd(mode string) string
func (*AstroAdapter) DefaultDevCmd ¶
func (a *AstroAdapter) DefaultDevCmd() string
func (*AstroAdapter) DefaultDistDir ¶
func (a *AstroAdapter) DefaultDistDir(mode string) string
func (*AstroAdapter) DefaultSSREntry ¶
func (a *AstroAdapter) DefaultSSREntry() string
func (*AstroAdapter) Name ¶
func (a *AstroAdapter) Name() string
func (*AstroAdapter) ValidateBuild ¶
func (a *AstroAdapter) ValidateBuild(distDir string) error
type BuildPlugin ¶
type BuildPlugin struct {
// contains filtered or unexported fields
}
BuildPlugin handles build operations.
func (*BuildPlugin) Commands ¶
func (p *BuildPlugin) Commands() []cli.Command
func (*BuildPlugin) Dependencies ¶
func (p *BuildPlugin) Dependencies() []string
func (*BuildPlugin) Description ¶
func (p *BuildPlugin) Description() string
func (*BuildPlugin) Initialize ¶
func (p *BuildPlugin) Initialize() error
func (*BuildPlugin) Name ¶
func (p *BuildPlugin) Name() string
func (*BuildPlugin) Version ¶
func (p *BuildPlugin) Version() string
type CLIAppInfo ¶
CLIAppInfo represents a discovered CLI application.
type ClientConfig ¶
type ClientConfig struct {
// Source configuration
Source SourceConfig `yaml:"source"`
// Default generation settings
Defaults GenerationDefaults `yaml:"defaults"`
// Streaming extension configuration
Streaming StreamingExtConfig `yaml:"streaming,omitempty"`
// Multiple client configurations
Clients []ClientGenConfig `yaml:"clients,omitempty"`
}
ClientConfig represents the .forge-client.yml configuration file.
func DefaultClientConfig ¶
func DefaultClientConfig() *ClientConfig
DefaultClientConfig returns a default client configuration.
func LoadClientConfig ¶
func LoadClientConfig(startDir string) (*ClientConfig, error)
LoadClientConfig loads .forge-client.yml from the current directory or parent.
type ClientGenConfig ¶
type ClientGenConfig struct {
Name string `yaml:"name"`
Language string `yaml:"language"`
Output string `yaml:"output"`
Package string `yaml:"package,omitempty"`
BaseURL string `yaml:"base_url,omitempty"`
Module string `yaml:"module,omitempty"`
// Include and Exclude carve this client's surface out of the shared
// specification, with the same matching rules as defaults.include -- a path
// prefix, a glob, or a trailing "/**" -- and Exclude applied second.
//
// These are why a clients: block is worth having rather than N invocations
// of the CLI. One gateway fronting several services publishes one merged
// document, and each consumer wants the routes of one service: without a
// per-client filter every generated client carries every service's surface
// under a different package name.
//
// Unset means this client inherits defaults.include/defaults.exclude. A
// client that sets either one replaces the corresponding default outright
// rather than appending to it -- an inherited include is a floor a client
// could not get below, and "this client sees only /studio" has to be
// expressible next to a default that names something else.
Include []string `yaml:"include,omitempty"`
Exclude []string `yaml:"exclude,omitempty"`
// Hooks overrides defaults.hooks for this client. A pointer because false
// and unset differ here: the whole point is to let one client opt out of a
// layer the defaults turned on.
Hooks *bool `yaml:"hooks,omitempty"`
// StripPrefix names the prefix this client's OWN service was merged under.
//
// Per client rather than shared, because a defaults.strip_prefix of
// "Studio_" applied to the portal client would strip nothing from it and
// leave the stutter in place.
//
// Declaring it does two jobs. It strips this client's own typenames, and it
// tells every SIBLING client that this prefix is a service prefix, so the
// foreign copies of these types that turn up in their documents strip too.
// See clientStripPrefixes in client_multi.go.
StripPrefix string `yaml:"strip_prefix,omitempty"`
// StripPrefixes overrides the prefix set for this client outright, for the
// case where the derived set is wrong: two services whose types genuinely
// collide once stripped, where the fix is to strip fewer of them here.
//
// See clientStripPrefixes for how this composes with the derived set.
StripPrefixes []string `yaml:"strip_prefixes,omitempty"`
// Override feature flags
Auth *bool `yaml:"auth,omitempty"`
Streaming *bool `yaml:"streaming,omitempty"`
}
ClientGenConfig defines configuration for generating a specific client.
type ClientPlugin ¶
type ClientPlugin struct {
// contains filtered or unexported fields
}
ClientPlugin handles client code generation.
func (*ClientPlugin) Commands ¶
func (p *ClientPlugin) Commands() []cli.Command
func (*ClientPlugin) Dependencies ¶
func (p *ClientPlugin) Dependencies() []string
func (*ClientPlugin) Description ¶
func (p *ClientPlugin) Description() string
func (*ClientPlugin) Initialize ¶
func (p *ClientPlugin) Initialize() error
func (*ClientPlugin) Name ¶
func (p *ClientPlugin) Name() string
func (*ClientPlugin) Version ¶
func (p *ClientPlugin) Version() string
type CloudPlugin ¶
type CloudPlugin struct {
// contains filtered or unexported fields
}
CloudPlugin handles Forge Cloud operations.
func (*CloudPlugin) Commands ¶
func (p *CloudPlugin) Commands() []cli.Command
func (*CloudPlugin) Dependencies ¶
func (p *CloudPlugin) Dependencies() []string
func (*CloudPlugin) Description ¶
func (p *CloudPlugin) Description() string
func (*CloudPlugin) Initialize ¶
func (p *CloudPlugin) Initialize() error
func (*CloudPlugin) Name ¶
func (p *CloudPlugin) Name() string
func (*CloudPlugin) Version ¶
func (p *CloudPlugin) Version() string
type CommandFlag ¶
type CommandFlag struct {
Name string
ShortName string
Type string // "string", "bool", "int", "float", "stringSlice"
Description string
}
CommandFlag represents a parsed flag specification for command generation.
type ContributorPlugin ¶
type ContributorPlugin struct {
// contains filtered or unexported fields
}
ContributorPlugin handles dashboard contributor scaffolding, building, and dev.
func (*ContributorPlugin) Commands ¶
func (p *ContributorPlugin) Commands() []cli.Command
func (*ContributorPlugin) Dependencies ¶
func (p *ContributorPlugin) Dependencies() []string
func (*ContributorPlugin) Description ¶
func (p *ContributorPlugin) Description() string
func (*ContributorPlugin) Initialize ¶
func (p *ContributorPlugin) Initialize() error
func (*ContributorPlugin) Name ¶
func (p *ContributorPlugin) Name() string
func (*ContributorPlugin) Version ¶
func (p *ContributorPlugin) Version() string
type CustomAdapter ¶
type CustomAdapter struct{}
CustomAdapter provides a pass-through adapter for custom frameworks.
func (*CustomAdapter) DefaultBuildCmd ¶
func (a *CustomAdapter) DefaultBuildCmd(_ string) string
func (*CustomAdapter) DefaultDevCmd ¶
func (a *CustomAdapter) DefaultDevCmd() string
func (*CustomAdapter) DefaultDistDir ¶
func (a *CustomAdapter) DefaultDistDir(_ string) string
func (*CustomAdapter) DefaultSSREntry ¶
func (a *CustomAdapter) DefaultSSREntry() string
func (*CustomAdapter) Name ¶
func (a *CustomAdapter) Name() string
func (*CustomAdapter) ValidateBuild ¶
func (a *CustomAdapter) ValidateBuild(distDir string) error
type DashboardPlugin ¶
type DashboardPlugin struct {
// contains filtered or unexported fields
}
DashboardPlugin scaffolds a standalone dashboard shell for deployments that build their own UI and serve it themselves, as an alternative to the prebuilt shell Forge embeds and serves at {BasePath}/ui by default.
This is a separate namespace from `forge contributor`, which scaffolds a Go-side dashboard *contributor* (a backend extension that reports pages, widgets and settings into the embedded shell). `forge dashboard` scaffolds the shell itself, for the WithShellSource(ShellExternal) case where nobody on the Forge side is building it for you.
func (*DashboardPlugin) Commands ¶
func (p *DashboardPlugin) Commands() []cli.Command
func (*DashboardPlugin) Dependencies ¶
func (p *DashboardPlugin) Dependencies() []string
func (*DashboardPlugin) Description ¶
func (p *DashboardPlugin) Description() string
func (*DashboardPlugin) Initialize ¶
func (p *DashboardPlugin) Initialize() error
func (*DashboardPlugin) Name ¶
func (p *DashboardPlugin) Name() string
func (*DashboardPlugin) Version ¶
func (p *DashboardPlugin) Version() string
type DatabasePlugin ¶
type DatabasePlugin struct {
// contains filtered or unexported fields
}
DatabasePlugin handles database operations.
func (*DatabasePlugin) Commands ¶
func (p *DatabasePlugin) Commands() []cli.Command
func (*DatabasePlugin) Dependencies ¶
func (p *DatabasePlugin) Dependencies() []string
func (*DatabasePlugin) Description ¶
func (p *DatabasePlugin) Description() string
func (*DatabasePlugin) Initialize ¶
func (p *DatabasePlugin) Initialize() error
func (*DatabasePlugin) Name ¶
func (p *DatabasePlugin) Name() string
func (*DatabasePlugin) Version ¶
func (p *DatabasePlugin) Version() string
type DeployPlugin ¶
type DeployPlugin struct {
// contains filtered or unexported fields
}
DeployPlugin handles deployment operations.
func (*DeployPlugin) Commands ¶
func (p *DeployPlugin) Commands() []cli.Command
func (*DeployPlugin) Dependencies ¶
func (p *DeployPlugin) Dependencies() []string
func (*DeployPlugin) Description ¶
func (p *DeployPlugin) Description() string
func (*DeployPlugin) Initialize ¶
func (p *DeployPlugin) Initialize() error
func (*DeployPlugin) Name ¶
func (p *DeployPlugin) Name() string
func (*DeployPlugin) Version ¶
func (p *DeployPlugin) Version() string
type DevPlugin ¶
type DevPlugin struct {
// contains filtered or unexported fields
}
DevPlugin handles development commands.
func (*DevPlugin) Dependencies ¶
func (*DevPlugin) Description ¶
func (*DevPlugin) Initialize ¶
type DoctorPlugin ¶
type DoctorPlugin struct {
// contains filtered or unexported fields
}
DoctorPlugin provides system diagnostics.
func (*DoctorPlugin) Commands ¶
func (p *DoctorPlugin) Commands() []cli.Command
func (*DoctorPlugin) Dependencies ¶
func (p *DoctorPlugin) Dependencies() []string
func (*DoctorPlugin) Description ¶
func (p *DoctorPlugin) Description() string
func (*DoctorPlugin) Initialize ¶
func (p *DoctorPlugin) Initialize() error
func (*DoctorPlugin) Name ¶
func (p *DoctorPlugin) Name() string
func (*DoctorPlugin) Version ¶
func (p *DoctorPlugin) Version() string
type ExtensionPlugin ¶
type ExtensionPlugin struct {
// contains filtered or unexported fields
}
ExtensionPlugin handles extension operations.
func (*ExtensionPlugin) Commands ¶
func (p *ExtensionPlugin) Commands() []cli.Command
func (*ExtensionPlugin) Dependencies ¶
func (p *ExtensionPlugin) Dependencies() []string
func (*ExtensionPlugin) Description ¶
func (p *ExtensionPlugin) Description() string
func (*ExtensionPlugin) Initialize ¶
func (p *ExtensionPlugin) Initialize() error
func (*ExtensionPlugin) Name ¶
func (p *ExtensionPlugin) Name() string
func (*ExtensionPlugin) Version ¶
func (p *ExtensionPlugin) Version() string
type FrameworkAdapter ¶
type FrameworkAdapter interface {
// Name returns the framework identifier ("astro", "nextjs", "custom").
Name() string
// DefaultBuildCmd returns the default build command for the given mode.
DefaultBuildCmd(mode string) string
// DefaultDevCmd returns the default dev server command.
DefaultDevCmd() string
// DefaultDistDir returns the default build output directory for the given mode.
DefaultDistDir(mode string) string
// DefaultSSREntry returns the default SSR entry point.
DefaultSSREntry() string
// ValidateBuild checks that the build output exists and is valid.
ValidateBuild(distDir string) error
}
FrameworkAdapter provides framework-specific defaults and build commands for dashboard contributors.
func GetFrameworkAdapter ¶
func GetFrameworkAdapter(frameworkType string) (FrameworkAdapter, error)
GetFrameworkAdapter returns the adapter for the given framework type.
type GeneratePlugin ¶
type GeneratePlugin struct {
// contains filtered or unexported fields
}
GeneratePlugin handles code generation.
func (*GeneratePlugin) Commands ¶
func (p *GeneratePlugin) Commands() []cli.Command
func (*GeneratePlugin) Dependencies ¶
func (p *GeneratePlugin) Dependencies() []string
func (*GeneratePlugin) Description ¶
func (p *GeneratePlugin) Description() string
func (*GeneratePlugin) Initialize ¶
func (p *GeneratePlugin) Initialize() error
func (*GeneratePlugin) Name ¶
func (p *GeneratePlugin) Name() string
func (*GeneratePlugin) Version ¶
func (p *GeneratePlugin) Version() string
type GenerationDefaults ¶
type GenerationDefaults struct {
Language string `yaml:"language"`
Output string `yaml:"output"`
Package string `yaml:"package"`
BaseURL string `yaml:"base_url,omitempty"`
Module string `yaml:"module,omitempty"`
// Hooks emits the operation manifest (ops.ts) and typed hook facades
// (hooks.ts) delegating to @forge-go/client-core over the generated client.
Hooks bool `yaml:"hooks"`
// ReactQuery is the former name of Hooks, still read so an existing
// .forge-client.yml keeps working; either key enables the layer, and using
// this one prints a deprecation notice. See resolveHooks in client.go.
//
// Deprecated: use hooks. The generated code has not been TanStack Query
// since the hook facades replaced it.
ReactQuery bool `yaml:"react_query"`
// Include keeps only endpoints whose path matches a pattern; Exclude drops
// matches and is applied second. Both accept a path prefix, a glob, or a
// trailing "/**". A specification usually describes more than any one
// consumer talks to, and these are how a client binds only its own surface.
Include []string `yaml:"include,omitempty"`
Exclude []string `yaml:"exclude,omitempty"`
// Feature flags
Auth bool `yaml:"auth"`
Streaming bool `yaml:"streaming"`
// Streaming features
Reconnection bool `yaml:"reconnection"`
Heartbeat bool `yaml:"heartbeat"`
StateManagement bool `yaml:"state_management"`
// Enhanced features
UseFetch bool `yaml:"use_fetch"`
DualPackage bool `yaml:"dual_package"`
GenerateTests bool `yaml:"generate_tests"`
GenerateLinting bool `yaml:"generate_linting"`
GenerateCI bool `yaml:"generate_ci"`
ErrorTaxonomy bool `yaml:"error_taxonomy"`
Interceptors bool `yaml:"interceptors"`
Pagination bool `yaml:"pagination"`
// Output control
ClientOnly bool `yaml:"client_only"` // Generate only client source files
// FieldNaming selects the client-side identifier style for schema
// properties: "camel", "pascal", "snake", or "preserve". Empty means
// unset -- the generator's own per-language default applies (camel for
// typescript, preserve otherwise; see client.GeneratorConfig.FieldNaming's
// doc comment). Mirrors --field-naming; the CLI flag, when passed, wins
// over this.
FieldNaming string `yaml:"field_naming,omitempty"`
// StripPrefix removes a leading service prefix from schema names, operation
// ids, entity typenames and cache tags. Mirrors --strip-prefix; the flag,
// when passed, wins. A clients: entry's own strip_prefix wins over both,
// which is the usual case -- each client strips its own service's prefix.
StripPrefix string `yaml:"strip_prefix,omitempty"`
// StripPrefixes are additional prefixes stripped from every client, on top
// of whichever prefix that client owns.
//
// Rarely needed with a clients: block, which already tells the generator
// every prefix in play -- see clientStripPrefixes. This is for the prefix
// no client declares: a service the gateway fronts and describes but that
// nobody generates a client for, whose types still turn up inside the
// documents of the services that talk to it.
StripPrefixes []string `yaml:"strip_prefixes,omitempty"`
// FieldOverrides maps a wire name (or "SchemaName.wire_name" for a
// schema-scoped override) to an explicit client-side name, exactly like
// client.GeneratorConfig.FieldOverrides. Mirrors --field-overrides; the
// CLI flag, when passed, wins over this.
FieldOverrides map[string]string `yaml:"field_overrides,omitempty"`
}
GenerationDefaults defines default settings for client generation.
type InfraPlugin ¶
type InfraPlugin struct {
// contains filtered or unexported fields
}
InfraPlugin handles infrastructure deployment operations.
func (*InfraPlugin) Commands ¶
func (p *InfraPlugin) Commands() []cli.Command
func (*InfraPlugin) Dependencies ¶
func (p *InfraPlugin) Dependencies() []string
func (*InfraPlugin) Description ¶
func (p *InfraPlugin) Description() string
func (*InfraPlugin) Initialize ¶
func (p *InfraPlugin) Initialize() error
func (*InfraPlugin) Name ¶
func (p *InfraPlugin) Name() string
func (*InfraPlugin) Version ¶
func (p *InfraPlugin) Version() string
type InitPlugin ¶
type InitPlugin struct {
// contains filtered or unexported fields
}
InitPlugin handles project initialization.
func (*InitPlugin) Commands ¶
func (p *InitPlugin) Commands() []cli.Command
func (*InitPlugin) Dependencies ¶
func (p *InitPlugin) Dependencies() []string
func (*InitPlugin) Description ¶
func (p *InitPlugin) Description() string
func (*InitPlugin) Initialize ¶
func (p *InitPlugin) Initialize() error
func (*InitPlugin) Name ¶
func (p *InitPlugin) Name() string
func (*InitPlugin) Version ¶
func (p *InitPlugin) Version() string
type NextjsAdapter ¶
type NextjsAdapter struct{}
NextjsAdapter provides Next.js-specific build configuration.
func (*NextjsAdapter) DefaultBuildCmd ¶
func (a *NextjsAdapter) DefaultBuildCmd(mode string) string
func (*NextjsAdapter) DefaultDevCmd ¶
func (a *NextjsAdapter) DefaultDevCmd() string
func (*NextjsAdapter) DefaultDistDir ¶
func (a *NextjsAdapter) DefaultDistDir(mode string) string
func (*NextjsAdapter) DefaultSSREntry ¶
func (a *NextjsAdapter) DefaultSSREntry() string
func (*NextjsAdapter) Name ¶
func (a *NextjsAdapter) Name() string
func (*NextjsAdapter) ValidateBuild ¶
func (a *NextjsAdapter) ValidateBuild(distDir string) error
type SourceConfig ¶
type SourceConfig struct {
// Type: "file", "url", "auto"
Type string `yaml:"type"`
// Path to spec file (when type=file). Read as a one-element Sources list
// when Sources is empty, so an existing .forge-client.yml keeps working.
Path string `yaml:"path,omitempty"`
// URL to fetch spec (when type=url). Same one-element handling as Path.
URL string `yaml:"url,omitempty"`
// Sources lists several documents to parse and merge. When set it wins
// over the scalar Path and URL keys above.
Sources []SourceEntry `yaml:"sources,omitempty"`
// Auto-discovery paths (when type=auto)
AutoDiscoverPaths []string `yaml:"auto_discover_paths,omitempty"`
}
SourceConfig defines where to get the API specification.
Sources is one ordered list rather than parallel path and url arrays, because merge precedence depends on order and parallel arrays leave the relative order of a file source and a URL source undefined.
func (SourceConfig) Entries ¶
func (s SourceConfig) Entries() []SourceEntry
Entries normalises this configuration into the list of documents to read.
type SourceEntry ¶
type SourceEntry struct {
// Type: "file" or "url".
Type string `yaml:"type"`
Path string `yaml:"path,omitempty"`
URL string `yaml:"url,omitempty"`
}
SourceEntry is one specification document to read.
type StreamingExtConfig ¶
type StreamingExtConfig struct {
// Enable room management client
Rooms bool `yaml:"rooms"`
// Enable presence tracking client
Presence bool `yaml:"presence"`
// Enable typing indicator client
Typing bool `yaml:"typing"`
// Enable pub/sub channel client
Channels bool `yaml:"channels"`
// Enable message history support
History bool `yaml:"history"`
}
StreamingExtConfig defines streaming extension features configuration.
type TargetInfo ¶
type TargetInfo struct {
Name string
Type string // "app" or "extension"
IsExtension bool
Path string
}
TargetInfo represents an app or extension that can receive a controller.
type TemplAdapter ¶
type TemplAdapter struct{}
TemplAdapter provides templ-specific build configuration. Templ contributors are Go-native — they compile directly into the Go binary without requiring Node.js, npm, or a separate build output directory.
func (*TemplAdapter) DefaultBuildCmd ¶
func (a *TemplAdapter) DefaultBuildCmd(_ string) string
func (*TemplAdapter) DefaultDevCmd ¶
func (a *TemplAdapter) DefaultDevCmd() string
func (*TemplAdapter) DefaultDistDir ¶
func (a *TemplAdapter) DefaultDistDir(_ string) string
func (*TemplAdapter) DefaultSSREntry ¶
func (a *TemplAdapter) DefaultSSREntry() string
func (*TemplAdapter) Name ¶
func (a *TemplAdapter) Name() string
func (*TemplAdapter) ValidateBuild ¶
func (a *TemplAdapter) ValidateBuild(_ string) error
Source Files
¶
- build.go
- client.go
- client_check.go
- client_config.go
- client_diff.go
- client_multi.go
- client_watch.go
- cloud.go
- contributor.go
- contributor_adapters.go
- contributor_templates.go
- dashboard.go
- dashboard_templates.go
- database.go
- database_go_migrations.go
- database_grove.go
- deploy.go
- dev.go
- dev_docker.go
- dev_shared.go
- dev_unix.go
- doctor.go
- extension.go
- generate.go
- infra.go
- init.go
- version.go