Documentation
¶
Overview ¶
Package waveconfig provides JSON parsing with filesystem-path invariants that can be applied to typed configuration structs.
Index ¶
- func MustReadFile(fileSystem fs.FS, filePath string) []byte
- type CSSEntryFiles
- type CoreConfig
- type HookCallbackTimeoutConfig
- type HookCommandTimeoutConfig
- type ParsedConfig
- func (parsedConfig *ParsedConfig) Clone() *ParsedConfig
- func (parsedConfig *ParsedConfig) CriticalCSSEntry() string
- func (parsedConfig *ParsedConfig) HealthcheckEndpoint() string
- func (parsedConfig *ParsedConfig) NonCriticalCSSEntry() string
- func (parsedConfig *ParsedConfig) PublicPathPrefix() string
- func (parsedConfig *ParsedConfig) UsingBrowser() bool
- func (parsedConfig *ParsedConfig) UsingVite() bool
- func (parsedConfig *ParsedConfig) ViteManifestPath() string
- func (parsedConfig *ParsedConfig) WatchRoot() string
- type StaticAssetDirs
- type ViteConfig
- type WatchConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type CSSEntryFiles ¶
type CoreConfig ¶
type CoreConfig struct {
ConfigLocation string `json:"ConfigLocation,omitempty"`
DevBuildHook string `json:"DevBuildHook,omitempty"`
DevBuildHookTimeoutMilliseconds int `json:"DevBuildHookTimeoutMilliseconds,omitempty"`
ProdBuildHook string `json:"ProdBuildHook,omitempty"`
ProdBuildHookTimeoutMilliseconds int `json:"ProdBuildHookTimeoutMilliseconds,omitempty"`
MainAppEntry string `json:"MainAppEntry"`
DistDir string `json:"DistDir"`
StaticAssetDirs StaticAssetDirs `json:"StaticAssetDirs"`
CSSEntryFiles CSSEntryFiles `json:"CSSEntryFiles,omitempty"`
PublicPathPrefix string `json:"PublicPathPrefix,omitempty"`
ServerOnlyMode bool `json:"ServerOnlyMode,omitempty"`
SequentialGoBuild bool `json:"SequentialGoBuild,omitempty"`
}
CoreConfig contains framework/runtime core configuration.
type HookCallbackTimeoutConfig ¶
type HookCallbackTimeoutConfig struct {
PreCallbackTimeoutMilliseconds int `json:"PreCallbackTimeoutMilliseconds,omitempty"`
ConcurrentCallbackTimeoutMilliseconds int `json:"ConcurrentCallbackTimeoutMilliseconds,omitempty"`
ConcurrentNoWaitCallbackTimeoutMilliseconds int `json:"ConcurrentNoWaitCallbackTimeoutMilliseconds,omitempty"`
PostCallbackTimeoutMilliseconds int `json:"PostCallbackTimeoutMilliseconds,omitempty"`
}
HookCallbackTimeoutConfig configures callback timeout overrides per hook stage.
type HookCommandTimeoutConfig ¶
type HookCommandTimeoutConfig struct {
PreCommandTimeoutMilliseconds int `json:"PreCommandTimeoutMilliseconds,omitempty"`
ConcurrentCommandTimeoutMilliseconds int `json:"ConcurrentCommandTimeoutMilliseconds,omitempty"`
ConcurrentNoWaitCommandTimeoutMilliseconds int `json:"ConcurrentNoWaitCommandTimeoutMilliseconds,omitempty"`
PostCommandTimeoutMilliseconds int `json:"PostCommandTimeoutMilliseconds,omitempty"`
}
HookCommandTimeoutConfig configures command timeout overrides per hook stage.
type ParsedConfig ¶
type ParsedConfig struct {
Core *CoreConfig `json:"Core"`
Vite *ViteConfig `json:"Vite,omitempty"`
Watch *WatchConfig `json:"Watch,omitempty"`
Dist distLayout `json:"-"`
}
ParsedConfig is the parsed and validated Wave configuration payload.
func ParseConfigFile ¶
func ParseConfigFile(path string) (*ParsedConfig, error)
func ParseConfigJSON ¶
func ParseConfigJSON(data []byte) (*ParsedConfig, error)
func (*ParsedConfig) Clone ¶
func (parsedConfig *ParsedConfig) Clone() *ParsedConfig
func (*ParsedConfig) CriticalCSSEntry ¶
func (parsedConfig *ParsedConfig) CriticalCSSEntry() string
func (*ParsedConfig) HealthcheckEndpoint ¶
func (parsedConfig *ParsedConfig) HealthcheckEndpoint() string
func (*ParsedConfig) NonCriticalCSSEntry ¶
func (parsedConfig *ParsedConfig) NonCriticalCSSEntry() string
func (*ParsedConfig) PublicPathPrefix ¶
func (parsedConfig *ParsedConfig) PublicPathPrefix() string
PublicPathPrefix returns the normalized configured public path prefix. The root prefix is represented as "/".
func (*ParsedConfig) UsingBrowser ¶
func (parsedConfig *ParsedConfig) UsingBrowser() bool
func (*ParsedConfig) UsingVite ¶
func (parsedConfig *ParsedConfig) UsingVite() bool
func (*ParsedConfig) ViteManifestPath ¶
func (parsedConfig *ParsedConfig) ViteManifestPath() string
ViteManifestPath returns the expected private output path for the Vite manifest produced during builds.
func (*ParsedConfig) WatchRoot ¶
func (parsedConfig *ParsedConfig) WatchRoot() string
type StaticAssetDirs ¶
type ViteConfig ¶
type WatchConfig ¶
type WatchConfig struct {
WatchRoot string `json:"WatchRoot,omitempty"`
HealthcheckEndpoint string `json:"HealthcheckEndpoint,omitempty"`
HookStageFailurePolicy string `json:"HookStageFailurePolicy,omitempty"`
HookCommandTimeouts HookCommandTimeoutConfig `json:"HookCommandTimeouts"`
HookCallbackTimeouts HookCallbackTimeoutConfig `json:"HookCallbackTimeouts"`
Include []wavewatch.WatchedFile `json:"Include,omitempty"`
Exclude struct {
Dirs []string `json:"Dirs,omitempty"`
Files []string `json:"Files,omitempty"`
} `json:"Exclude,omitempty"`
}
WatchConfig configures dev watch behavior and hooks.