config

package
v0.5.15 Latest Latest
Warning

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

Go to latest
Published: Apr 24, 2024 License: MPL-2.0 Imports: 22 Imported by: 2

Documentation

Index

Constants

View Source
const BOILERPLATE_CONFIG_FILE = "boilerplate.yml"
View Source
const MaxReferenceDepth = 20

Variables

This section is empty.

Functions

func BoilerplateConfigPath added in v0.3.0

func BoilerplateConfigPath(templateFolder string) string

Return the default path for a boilerplate.yml config file in the given folder

func EnforceRequiredVersion added in v0.4.3

func EnforceRequiredVersion(boilerplateConfig *BoilerplateConfig) error

EnforceRequiredVersion enforces any required_version string that is configured on the boilerplate config by checking against the current version of the CLI.

func GetValueForVariable added in v0.5.8

func GetValueForVariable(
	variable variables.Variable,
	variablesInConfig map[string]variables.Variable,
	valuesForPreviousVariables map[string]interface{},
	opts *options.BoilerplateOptions,
	referenceDepth int,
) (interface{}, error)

func GetVariables

func GetVariables(opts *options.BoilerplateOptions, boilerplateConfig, rootBoilerplateConfig *BoilerplateConfig, thisDep variables.Dependency) (map[string]interface{}, error)

Get a value for each of the variables specified in boilerplateConfig, other than those already in existingVariables. The value for a variable can come from the user (if the non-interactive option isn't set), the default value in the config, or a command line option.

Types

type BoilerplateConfig

type BoilerplateConfig struct {
	RequiredVersion *string
	Variables       []variables.Variable
	Dependencies    []variables.Dependency
	Hooks           variables.Hooks
	Partials        []string
	SkipFiles       []variables.SkipFile
	Engines         []variables.Engine
}

The contents of a boilerplate.yml config file

func LoadBoilerplateConfig added in v0.3.0

func LoadBoilerplateConfig(opts *options.BoilerplateOptions) (*BoilerplateConfig, error)

Load the boilerplate.yml config contents for the folder specified in the given options

func ParseBoilerplateConfig

func ParseBoilerplateConfig(configContents []byte) (*BoilerplateConfig, error)

Parse the given configContents as a boilerplate.yml config file

func (*BoilerplateConfig) GetVariablesMap added in v0.5.8

func (config *BoilerplateConfig) GetVariablesMap() map[string]variables.Variable

GetVariablesMap returns a map that maps variable names to the variable config.

func (*BoilerplateConfig) MarshalYAML added in v0.3.6

func (config *BoilerplateConfig) MarshalYAML() (interface{}, error)

Implement the go-yaml marshaler interface so that the config can be marshaled into yaml. We use a custom marshaler instead of defining the fields as tags so that we skip the attributes that are empty.

func (*BoilerplateConfig) UnmarshalYAML added in v0.3.0

func (config *BoilerplateConfig) UnmarshalYAML(unmarshal func(interface{}) error) error

Implement the go-yaml unmarshal interface for BoilerplateConfig. We can't let go-yaml handle this itself because:

  1. Variable is an interface
  2. We need to provide Defaults for optional fields, such as "type"
  3. We want to validate the variable as part of the unmarshalling process so we never have invalid Variable or Dependency classes floating around

type BoilerplateConfigNotFound added in v0.3.0

type BoilerplateConfigNotFound string

func (BoilerplateConfigNotFound) Error added in v0.3.0

func (err BoilerplateConfigNotFound) Error() string

type CyclicalReference added in v0.3.0

type CyclicalReference struct {
	VariableName  string
	ReferenceName string
}

func (CyclicalReference) Error added in v0.3.0

func (err CyclicalReference) Error() string

type InvalidBoilerplateVersion added in v0.4.3

type InvalidBoilerplateVersion struct {
	CurrentVersion     *goversion.Version
	VersionConstraints goversion.Constraints
}

func (InvalidBoilerplateVersion) Error added in v0.4.3

func (err InvalidBoilerplateVersion) Error() string

type KeyAndOrderPair added in v0.5.8

type KeyAndOrderPair struct {
	Key   string
	Order int
}

Custom types A KeyAndOrderPair is a composite of the user-defined order and the user's variable name

type MissingReference added in v0.3.0

type MissingReference struct {
	VariableName  string
	ReferenceName string
}

func (MissingReference) Error added in v0.3.0

func (err MissingReference) Error() string

type MissingVariableWithNonInteractiveMode

type MissingVariableWithNonInteractiveMode string

func (MissingVariableWithNonInteractiveMode) Error

func (variableName MissingVariableWithNonInteractiveMode) Error() string

Jump to

Keyboard shortcuts

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