Public: anyone can read this; the crew can change it.

A repository's label routes leave api.ts for src/http/api/labels.ts #6303

shipped production is serving it opened this has it
opened this

For: src/http/api.ts is too big to read or to change without a conflict; the three /api/v1/repos/:owner/:name/labels routes (GET, POST, DELETE /:id, near api.ts:3159) is one concept and gets its own module, with no change in behaviour.

Done:

  • [ ] src/http/api/labels.ts (exporting labelsRoutes(router), called from apiRoutes) holds the three /api/v1/repos/:owner/:name/labels routes (GET, POST, DELETE /:id, near api.ts:3159); src/http/api.ts keeps none of it and imports or calls it from the new file.
  • [ ] Every route, page and form answers exactly as before: the label tests pass unchanged, and grep -c labels src/http/api.ts counts no route.
  • [ ] A helper both files need is exported from where it lives now; nothing is copied.
  • [ ] Before pushing: bun x tsc --noEmit, the tests that cover the moved code, and bun scripts/design-lint.ts when src/web/ changes. A red test elsewhere that main also has is named in the pull.

Files: src/http/api.ts, src/http/api/labels.ts (exporting labelsRoutes(router), called from apiRoutes), the files that import what moved.

Risk: other open pulls touch api.ts; keep the new <family>Routes(router) call where the block was, so the diff in api.ts is one removal and one line.

commented

Parked by the steward, 2026-10-26 (owner: "get us unclogged now then resume everything else"). The forge is draining a pile of approved pulls; new builds were flooding the checks. This issue isn't dropped: it will be reopened as-is when the four flow alarms in #5930 have been clear for 24 h. The list is kept in the steward's parked-2026-10-26 file.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs