Skip to content

chore(client-typescript): add a Prettier lint gate to the TypeScript client CI - #1622

Merged
erni-a merged 1 commit into
mainfrom
chore/ts-client-lint-gate
Sep 20, 2026
Merged

erni-a merged 1 commit into
mainfrom
chore/ts-client-lint-gate

Conversation

@erni-a

@erni-a erni-a commented Sep 19, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #1403.

The Python client CI runs ruff before pytest; the TypeScript client CI ran only tsc and node --test, so nothing caught formatting drift. This takes the smaller of the two routes the issue offers, Prettier --check, not ESLint: one dev dependency, one config key, and the source is about 300 lines, which does not justify a rule set to maintain. ESLint stays available as a later step if the client grows.

  • clients/typescript/.prettierrc: printWidth: 110, matching the line-length = 110 the repo's ruff config already uses for Python, so both clients wrap at the same column. Everything else is Prettier's default.
  • package.json: prettier ^3.6 as a devDependency (pinned through the lockfile, so CI and local runs agree), plus lint and format scripts so contributors run exactly what CI runs.
  • client-typescript-ci.yml: a Lint (prettier) step before Build + test, mirroring the Python workflow's ordering.
  • src/: the reformat the first run reports. No logic change.

npm install and the Node-20-only matrix are left alone; #973 tracks them. Stacked on #1621 (same workflow file); merge that first and this rebases clean.

Related Issue

Closes #1403.

Type of Change

  • Other: CI gate for the TypeScript client

How Has This Been Tested?

  • npm run lint fails on main's source and passes after the reformat.
  • npm test: tsc clean, 31/31 pass on Node 20.
  • .prettierrc is not in the package files list, so the published tarball is unchanged.
  • The workflow is path-scoped to clients/typescript/**, so this PR triggers it and the new step is visible in the job log.

Checklist

  • I have read CONTRIBUTING.md
  • Tests: existing suite covers the reformatted code; the lint step is the new gate
  • Every commit is signed off (DCO)
  • Not user-facing, no CHANGELOG entry

@erni-a
erni-a requested a review from a team as a code owner September 19, 2026 15:06
@github-actions

Copy link
Copy Markdown
Contributor

Claude Code Review — skipped: PR author 'erni-a' is not a public member of the 'caura-ai' org

arkash20
arkash20 previously approved these changes Sep 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Claude Code Review — skipped: PR author 'erni-a' is not a public member of the 'caura-ai' org

@erni-a
erni-a requested a review from arkash20 September 20, 2026 04:41
@erni-a

erni-a commented Sep 20, 2026

Copy link
Copy Markdown
Contributor Author

Rebased onto main after #1561 (User-Agent header) touched the same test file and package.json. Conflicts resolved by taking main's versions and re-applying the lint-gate edits; tsc clean, 33/33 pass, lint clean. The force-push dismissed the earlier approval, so re-requesting review, @arkash20. Diff vs main is unchanged in intent: workflow step, .prettierrc, package.json scripts + prettier devDependency, and the reformat.

…client CI

Closes #1403.

The Python client CI runs ruff before pytest; the TypeScript client CI
ran only tsc + node --test, so formatting drift was never caught. Take
the smaller of the two routes the issue offers: Prettier --check, not
ESLint. It needs one dev dependency and one config key, and the source
is ~300 lines, which does not justify a rule set to maintain.

  - clients/typescript/.prettierrc: printWidth 110, matching the
    line-length = 110 the repo's ruff config already uses for Python,
    so both clients wrap at the same column. Everything else is
    Prettier's default.
  - package.json: prettier ^3.6 as a devDependency (pinned through the
    lockfile, so CI and local runs agree), plus lint and format scripts
    so contributors run exactly what CI runs.
  - client-typescript-ci.yml: a Lint (prettier) step before Build +
    test, mirroring the Python workflow's ordering.
  - src/: the reformat the first run reports. No logic change; tsc
    clean and 31/31 tests pass.

npm install and the Node-20-only matrix stay as they are; #973 tracks
them.

Signed-off-by: erni <erni@caura.ai>
@erni-a
erni-a force-pushed the chore/ts-client-lint-gate branch from 1c32eb0 to 0693669 Compare September 20, 2026 04:47
@github-actions

Copy link
Copy Markdown
Contributor

Claude Code Review — skipped: PR author 'erni-a' is not a public member of the 'caura-ai' org

@erni-a
erni-a merged commit 5a714dd into main Sep 20, 2026
15 checks passed
@erni-a
erni-a deleted the chore/ts-client-lint-gate branch September 20, 2026 04:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

chore(ci): TypeScript client has no lint gate, while the Python client CI runs ruff

2 participants