Skip to content

chore: format-gate the remaining ungated first-party TS/JS (cli/tui/launcher configs, test-servers/src, vitest.shared.mts) #1789

Description

@cliffhall

Summary

Follow-up to #1778 / PR #1788, which format-gated clients/web's server/ + top-level configs and the root scripts/**. A review of #1788 surfaced that the same class of first-party TS/JS is still ungated by prettier elsewhere. Running the repo's pinned prettier (3.8.1) over the rest of the first-party surface currently reports 11 dirty files:

[warn] clients/cli/eslint.config.js
[warn] clients/cli/tsup.config.ts
[warn] clients/cli/vitest.config.ts
[warn] clients/launcher/eslint.config.js
[warn] clients/launcher/vitest.config.ts
[warn] clients/tui/eslint.config.js
[warn] clients/tui/tsup.config.ts
[warn] test-servers/src/modern-tasks.ts
[warn] test-servers/src/test-server-fixtures.ts
[warn] test-servers/src/test-server-http.ts
[warn] vitest.shared.mts

Why each is currently ungated:

This was deliberately out of #1778's letter (that issue enumerated exactly the three things #1788 fixed), but the motivating lesson — the ungated set silently grows and style gets matched by hand — applies here too.

Proposal

Mirror the #1788 approach:

  • Widen clients/cli, clients/tui, clients/launcher format / format:check to include their top-level configs (a quoted "*.{ts,js}" glob, as clients/web now does).
  • Add a root format:shared / format:check:shared covering test-servers/src/**/*.ts and the root vitest.shared.mts, wired into the root format and into validate:core.
  • Run prettier --write once over the newly-covered files, then confirm npm run validate / npm run ci stays green.

Notes


Additional file (surfaced in the PR #1788 round-2 review): the repo-root eslint.config.js is also ungated — format:check:core covers core/**, format:check:scripts covers scripts/**, and each client's prettier is scoped to its own dir, so nothing reaches it. It does not appear in the --list-different list above only because it is prettier-clean today, which is exactly how a file becomes the next straggler. Fold it into the proposed root format:shared / format:check:shared scope alongside test-servers/src/** and vitest.shared.mts.

Metadata

Metadata

Assignees

Labels

v2Issues and PRs for v2

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions