Skip to content

Migrate owned compiler tools to the TypeScript 7.1 API - #397

Open
soleil-colza wants to merge 2 commits into
mainfrom
codex/typescript-71-api-20261029
Open

soleil-colza wants to merge 2 commits into
mainfrom
codex/typescript-71-api-20261029

Conversation

@soleil-colza

@soleil-colza soleil-colza commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

The runtime-manifest privacy test and handler-lifetime harness still use the legacy compiler API. Move them to the TypeScript 7.1 Beta synchronous client and AST entry point, with explicit disposal of compiler processes and retained source files.

Add the native compiler under a development-only typescript-api alias. Keep TypeScript 6 explicitly selected for package typechecking, the legacy VFS resolver proof, and lint compatibility. Production dependencies and request processing are unchanged.

Validation:

  • 59 targeted adapter privacy/VFS tests passed.
  • Adapter and next-matrix package typechecks passed.
  • Local handler-lifetime proof passed all five lanes with zero failures and zero external requests.
  • Changed-file formatting and git diff --check passed.
  • Two independent source reviews found no actionable issues.
  • The handler-lifetime file's targeted ESLint check passed after the CI correction.

Full gates run in CI. No benchmarks or deployed Cloudflare tests were run.

Reference: TypeScript 7.1 Beta API.

Review status:

  • Initial CI found unicorn/no-unnecessary-parameters in the handler-lifetime helpers. The helpers now capture the same single module-scoped compiler. Targeted ESLint, typecheck, the five-lane local proof, formatting and independent review passed after this correction.
  • Final head (643e7f8a): all CI gates passed. Sentry and Greptile completed with no findings. Independent review of the final compiler-lifetime change found no issues.
  • Codex completed review of the final head with no findings after a manual retry. No inline findings or review submissions remain.
  • CodeRabbit's manual retry completed full analysis of the final head successfully, with no actionable or nitpick findings. All inline comments, submitted reviews and conversation comments were checked.
  • cubic could not analyze this change because its monthly review line allowance is exhausted; its check is neutral and reports that reviews resume on November 1, 2026.

Summary by cubic

Migrates the runtime-manifest privacy test and handler-lifetime harness from the legacy TypeScript compiler API to the TypeScript 7.1 Beta synchronous client and AST entry point.

  • Adds the native 7.1 compiler as a development-only typescript-api alias; TypeScript 6 remains selected for package typechecking, legacy VFS proof, and lint.
  • A single module-scoped compiler instance and parsed source files are now explicitly disposed via using declarations.
  • Production dependencies, request processing, and the handler-lifetime proof behavior are unchanged; the proof still passes all five lanes with zero external requests.

Written for commit 643e7f8. Summary will update on new commits.

View guided diff Turn on auto-fix

Summary by CodeRabbit

  • Chores
    • Updated TypeScript tooling configuration across internal packages and tools.
    • No end-user-visible changes were reported.

@arkor-deploy

arkor-deploy Bot commented Oct 29, 2026

Copy link
Copy Markdown

Arkor — Preview deployments for arkorlab-upwind

Use the checkbox below to choose whether this pull request gets preview deployments.

  • Build and deploy previews for this pull request

Checking this builds the latest commit and future pushes. Unchecking stops queued and future builds; a running build can finish and an existing preview stays available.

@coderabbitai

coderabbitai Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Walkthrough

The workspace adds typescript-api to its dependency catalog. The adapter privacy test and next-matrix tool use its APIs. Both packages invoke the TypeScript compiler through its installed package path.

Changes: TypeScript API adoption

Layer / File(s) Summary
Add the API dependency and update compiler scripts
pnpm-workspace.yaml, packages/adapter/package.json, tools/next-matrix/package.json
The workspace catalog adds typescript-api, and both packages add it as a development dependency. Their compiler scripts invoke the installed TypeScript compiler path.
Use typescript-api to parse the runtime manifest
packages/adapter/test/runtime-manifest-privacy.test.ts
The test uses typescript-api to parse the runtime manifest and traverse its AST. Its existing privacy assertions remain unchanged.
Use typescript-api for module transpilation
tools/next-matrix/src/node-handler-lifetime.ts
The compiled helper uses an API instance rooted at ROOT to transpile modules with the ES2023 target and ESNext module setting.

Priority: Low

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Refactor

Suggested reviewers: k-taro56

Merge Risk: Minimal · up to 643e7

The dependency and compiler API migrations preserve the covered development workflows without an established merge-blocking failure.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "Migrate owned compiler tools to the TypeScript 7.1 API" matches the main change. The changeset moves the runtime-manifest privacy test and the handler-lifetime harness from the legacy TypeS…
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentat…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Title check

Explanation

The title "Migrate owned compiler tools to the TypeScript 7.1 API" matches the main change. The changeset moves the runtime-manifest privacy test and the handler-lifetime harness from the legacy TypeScript compiler API to the TypeScript 7.1 API through a typescript-api alias. The title is specific and concise. It does not name the dependency alias or the test files, which is acceptable because the title covers the primary change.

Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 1 functions across 2 files. (3 skipped: 3 unsupported.)

Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T00:46:45.333795Z 643e7f8 Manual request
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@greptile-apps

greptile-apps Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Low impact] The PR appears safe to merge; the follow-up preserves the compiler's lifetime and all helper calls.

Summary

Moves the privacy test and handler-lifetime proof to the TypeScript 7.1 synchronous API.

  • The privacy check and lifetime proof use TypeScript 7.1.

Reviews (2) · Last reviewed commit: "Share the lifetime proof compiler withou..." · Reviewed by Greptile

Copy link
Copy Markdown
Contributor Author

@codex review

Copy link
Copy Markdown
Contributor Author

@codex

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: 643e7f8a55

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copy link
Copy Markdown
Contributor Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

This branch has not been deployed

No deployments
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.

1 participant