Skip to content

buildCompilerConfig

buildCompilerConfig(options): Record<string, unknown>

Defined in: packages/simply-cicd-core/src/build/utamPageObjects.ts:197

The utam.config.json the compiler is invoked with.

Generated per build rather than read from the repo because the compiler has no flag for version — the only way to stamp the Salesforce version into the output is through the config file, so it cannot be a static artifact. A project’s own config is merged underneath: the command owns the root, the masks, the output directories, module, version, and copyright; the project keeps everything else (profiles, lint, interruptCompilerOnError, …).

The compiler reads the staged copy of the sources, never the repo, because it writes everything relative to its root: output as path.join(pageObjectsRootDir, outputDir) (which appends an absolute path rather than honouring it), and its lint report, error report, and profiles config beside or under the root. Rooted in the staging directory, all of it stays there.

A relative lint.lintingOutputFile in the project’s config is resolved against the working directory, which is what a path written in the repo means; the compiler would otherwise resolve it inside source/, which is published.

CompilerConfigOptions

Record<string, unknown>