waveconfig

package
v0.85.0-pre.2 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: BSD-3-Clause Imports: 12 Imported by: 0

Documentation

Overview

Package waveconfig provides JSON parsing with filesystem-path invariants that can be applied to typed configuration structs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func MustReadFile

func MustReadFile(fileSystem fs.FS, filePath string) []byte

MustReadFile wraps fs.ReadFile and panics on error.

Types

type CSSEntryFiles

type CSSEntryFiles struct {
	Critical    string `json:"Critical,omitempty"`
	NonCritical string `json:"NonCritical,omitempty"`
}

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 StaticAssetDirs struct {
	Private string `json:"Private"`
	Public  string `json:"Public"`
}

type ViteConfig

type ViteConfig struct {
	JSPackageManagerBaseCmd string `json:"JSPackageManagerBaseCmd"`
	JSPackageManagerCmdDir  string `json:"JSPackageManagerCmdDir,omitempty"`
	DefaultPort             int    `json:"DefaultPort,omitempty"`
	ViteConfigFile          string `json:"ViteConfigFile,omitempty"`
}

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.

Jump to

Keyboard shortcuts

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