Skip to content

feat: load strict JSON configuration files - #19

Merged
glennmichael123 merged 2 commits into
mainfrom
codex/issue-12-config
Sep 29, 2026
Merged

glennmichael123 merged 2 commits into
mainfrom
codex/issue-12-config

Conversation

@glennmichael123

Copy link
Copy Markdown
Contributor

Closes #12.

Loads --config <file> before execution, applies configuration as defaults, and reparses explicit CLI flags so the CLI wins. Configuration is now strict JSON: unknown/duplicate keys, wrong types, unsupported extensions, and invalid reporter/job/port/timeout/debounce values fail clearly. Parsed strings remain owned for the loader lifetime.

The advertised formats are aligned with reality in help and documentation: JSON is supported; TOML and YAML are explicitly not yet supported.

End-to-end build checks invoke the real CLI to prove config-driven discovery, CLI-over-config filter precedence, and invalid-config exit behavior.

This PR is stacked on #18 so its diff stays scoped to issue #12. Merge #18 first, then retarget this PR to main.

Verification:

  • zig fmt --check .
  • zig build
  • zig build test
  • zig build examples
  • zig build -Dtarget=x86_64-linux-gnu

@glennmichael123
glennmichael123 changed the base branch from codex/issue-3-test-coverage to main September 29, 2026 16:03
@glennmichael123
glennmichael123 merged commit 8558407 into main Sep 29, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Load --config files and align JSON, TOML, and YAML support claims

1 participant