Add config extends and entry point exclusion

Profiles may inherit from another config file (extends: <path>): the
first profile of the referenced file is merged underneath (scalars from
the overlay win, slices concatenate base-first and de-duplicate, chains
resolve recursively, cycles are detected).

esbuild.excludeEntryPoints removes merged entry points by glob (** spans
path separators, * stays within a segment), applied after path
resolution so patterns and entries match in the same shape.

Lets product editions/flavors (e.g. the wmd4x Range Trader Pro edition)
build only their own entry set on top of a shared, merge-clean base
config. Includes unit tests and template docs.
This commit is contained in:
pk
2026-10-11 15:58:56 +02:00
parent dca493bfdc
commit 49c88da564
5 changed files with 365 additions and 16 deletions
+8
View File
@@ -1,6 +1,14 @@
# A profile may inherit from another config file: the first profile of the
# referenced file is merged underneath this one (slices concatenate base-first,
# scalars from this profile win when set). Chains resolve recursively.
# extends: ./.gowebbuild.base.yaml
- esbuild:
entryPoints:
- frontend/the-app.js
# Entry points matching any of these patterns are removed after the
# merge. ** spans path separators, * stays within one segment.
# excludeEntryPoints:
# - ./frontend/src/apps/experimental/**
outdir: ./frontend-dist
sourcemap: 1
format: 3