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

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions