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

  • AnalyzeOff

    No analysis output

  • AnalyzeOn

    Basic analysis (–analyze)

  • AnalyzeVerbose

    Verbose 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 name field.

    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

  • CheckDependencyPlacement

    Warn if pontil_build is in [dependencies] instead of [dev_dependencies].

Minification options for esbuild.

pub type Minify {
  MinifyAll
  MinifyNone
  MinifySelected(options: List(String))
}

Constructors

  • MinifyAll

    Apply all minification (–minify)

  • MinifyNone

    No 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 const default_esbuild_version: String

The default esbuild version

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.

Search Document