• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

valkyrjaio / valkyrja-ts / 31075449790
100%

Build:
DEFAULT BRANCH: 26.x
Ran 06 Aug 2026 05:53AM UTC
Jobs 1
Files 332
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Aug 2026 05:52AM UTC coverage: 100.0%. Remained the same
31075449790

push

github

web-flow
[Cli] fix: Name the CLI routing config service id for the contract it binds (#180)

# Description

`CliRoutingServiceId.CliRoutingConfig` names a class that this
repository does not have. The key reads
`Valkyrja.Cli.Routing.Data.CliRoutingConfig`, and the only class of that
name is the contract
`CliRoutingConfigContract` in
`src/Valkyrja/Cli/Routing/Data/Contract/CliRoutingConfigContract.ts`.

A binding key is the import path of the class that it names, so a
developer who reads this key looks for
`Cli/Routing/Data/CliRoutingConfig.ts` and finds nothing. The rule is in

[`CONTAINER_BINDINGS.md`](https://github.com/valkyrjaio/architecture/blob/26.x/CONTAINER_BINDINGS.md):
the key copies
the directory path of the source file, and the `Contract` segment goes
because the class name ends in `Contract`
already. `Cli/Routing/Data/Contract/CliRoutingConfigContract.ts`
therefore gives
`Valkyrja.Cli.Routing.Data.CliRoutingConfigContract`.

The constant name changes with it. Every other contract key in this
class is named for its class —
`RouterContract`, `RouteCollectionContract`, `RouteCollectorContract`,
`RouteContract` — so the constant that names
`CliRoutingConfigContract` reads `CliRoutingConfigContract`.


[valkyrjaio/architecture#171](https://github.com/valkyrjaio/architecture/pull/171)
found this key while it corrected
the documented format, and recorded it as the one divergence that
[#179](https://github.com/valkyrjaio/valkyrja-ts/pull/179) left open.
This pull request closes it.

## Scope

Nothing reads the constant. A repository-wide search for
`CliRoutingServiceId.CliRoutingConfig` returns no hit, and no
provider publishes the key, so the rename touches one line and no
consumer moves. After this change every binding key
in the repository matches its own source path.

## Verification

The full CI gate passes: Prettier reports no change, `tsc --noEmit` is
clean on `tsconfig.json` and
`tsconfig.tests.json`, ESLint is clean, and 1270 tests across 304 fil... (continued)

1735 of 1735 branches covered (100.0%)

Branch coverage included in aggregate %.

1 of 1 new or added line in 1 file covered. (100.0%)

3765 of 3765 relevant lines covered (100.0%)

28.9 hits per line

Jobs
ID Job ID Ran Files Coverage
1 31075449790.1 06 Aug 2026 05:53AM UTC 332
100.0
GitHub Action Run
Source Files on build 31075449790
  • Tree
  • List 332
  • Changed 1
  • Source Changed 1
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31075449790
  • ac79ef10 on github
  • Prev Build on 26.x (#31064185322)
  • Next Build on 26.x (#31092396079)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc