pontil_build/config
Configuration for pontil_build, parsed from gleam.toml.
All bundle configuration lives under [tools.pontil_build.bundle].
Types
Analysis output options.
pub type Analyze {
AnalyzeOff
AnalyzeOn
AnalyzeVerbose
}
Constructors
-
AnalyzeOffNo analysis output
-
AnalyzeOnBasic analysis (–analyze)
-
AnalyzeVerboseVerbose analysis (–analyze=verbose)
Bundle configuration parsed from gleam.toml.
pub type BundleConfig {
BundleConfig(
project_name: String,
entry: String,
outdir: String,
outfile: String,
autoinstall: Bool,
esbuild_version: String,
minify: Minify,
analyze: Analyze,
legal_comments: String,
raw: List(String),
)
}
Constructors
-
BundleConfig( project_name: String, entry: String, outdir: String, outfile: String, autoinstall: Bool, esbuild_version: String, minify: Minify, analyze: Analyze, legal_comments: String, raw: List(String), )Arguments
- project_name
-
Project name from gleam.toml
namefield. - entry
-
Entry point gleam file, relative to src/. Default: {name}.gleam
- outdir
-
Output directory. Default: “dist”
- outfile
-
Output filename override. Default: {name}.cjs
- autoinstall
-
Auto-download esbuild if missing. Default: True
- esbuild_version
-
esbuild version to download. Default: “0.28.0”
- minify
-
Minification settings. Default: MinifyAll
- analyze
-
Analysis output. Default: AnalyzeOff
- legal_comments
-
Legal comments handling. Default: “external”
- raw
-
Extra raw esbuild flags. Default: []
Optional checks to run during configuration parsing.
pub type Check {
CheckDependencyPlacement
}
Constructors
-
CheckDependencyPlacementWarn if pontil_build is in [dependencies] instead of [dev_dependencies].
Minification options for esbuild.
pub type Minify {
MinifyAll
MinifyNone
MinifySelected(options: List(String))
}
Constructors
-
MinifyAllApply all minification (–minify)
-
MinifyNoneNo minification
-
MinifySelected(options: List(String))Granular minification (–minify-whitespace, –minify-syntax, –minify-identifiers)
Values
pub fn analyze_flags(analyze: Analyze) -> List(String)
Convert analyze config to esbuild CLI flags.
pub fn legal_comments_flag(value: String) -> List(String)
Convert legal_comments config to esbuild CLI flag.
pub fn minify_flags(minify: Minify) -> List(String)
Convert minify config to esbuild CLI flags.
pub fn parse(
content content: String,
checks checks: List(Check),
) -> Result(BundleConfig, error.BuildError)
Parse bundle configuration from a TOML string.
pub fn read(
checks: List(Check),
) -> Result(BundleConfig, error.BuildError)
Read and parse bundle configuration from gleam.toml.