Repository navigation
feat: load strict JSON configuration files - #19
Merged
Merged
Conversation
glennmichael123
force-pushed
the
codex/issue-3-test-coverage
branch
from
September 29, 2026 15:56
9486b0f to
6bd4ec2
Compare
glennmichael123
force-pushed
the
codex/issue-12-config
branch
from
September 29, 2026 16:03
e153304 to
36a1d6f
Compare
glennmichael123
changed the base branch from
codex/issue-3-test-coverage
to
main
September 29, 2026 16:03
glennmichael123
force-pushed
the
codex/issue-12-config
branch
from
September 29, 2026 16:04
36a1d6f to
759090e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 buildzig build testzig build exampleszig build -Dtarget=x86_64-linux-gnu