Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Publish compiler Go packages and automate upstream updates - #1

Merged
zshannon merged 4 commits into
mainfrom
zcs/publish-compiler-packages
Sep 8, 2026
Merged

zshannon merged 4 commits into
mainfrom
zcs/publish-compiler-packages

Conversation

@zshannon

@zshannon zshannon commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Make every TypeScript compiler package importable through the generated public/ Go module, preserving original upstream source and fork ancestry.

After this PR is merged:

  1. Every Monday at 17:00 UTC, check Microsoft upstream and open or update a merge PR. Preserve our workflow files and regenerate public packages. Explicitly run compiler checks on the update branch.
  2. Every push to main, including merged PRs, validates and publishes the matching TypeScript version: 7.0.2 → Go v7.0.2, or 7.1.0-devv7.1.0-dev. Already-published versions remain unchanged; no retagging or independent version counter.
  3. Keep only our validation, upstream-sync, and release workflows.

The bot uses the built-in GitHub token. The owner enabled Actions PR creation; no App or extra secrets are required. Use a merge commit for upstream PRs to retain Microsoft ancestry. Normal operation needs no separate release branch; zcs/compiler-7.0.2 is only an earlier historical release snapshot.

Validation passed locally: compiler/tracing/project/watcher regressions; generated module freshness; real public Go module download and external parser/typechecker/version assertions; Linux builds; nine upstream-merge cases; seven release-workflow fixture cases covering stable/development versions, mismatches, immutable tags, and remote failures. Independent code review passed.

Server extraction and its esbuild/Oxc/Docker automation remain the next phase.

@zshannon zshannon changed the title Publish compiler Go packages with upstream TypeScript versions Publish compiler Go packages and automate upstream updates Sep 8, 2026
@zshannon
zshannon marked this pull request as ready for review September 8, 2026 20:32
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 8, 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-09-08T20:42:34.943150Z 9e9c043 Draft marked ready
ℹ️ 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.

@chatgpt-codex-connector

Copy link
Copy Markdown

💡 Codex Review

- name: Test compiler regressions
run: GOWORK=off go -C tsc test ./internal/compiler ./internal/tracing ./internal/project ./internal/lsp/lspwatcher

P1 Badge Run the complete compiler test suite

This is now the only source regression command after the full CI workflow was deleted, so it executes tests for just four packages; as go help test documents, it tests “the packages named by the import paths.” Tests in checker, parser, binder, emit transforms, module resolution, and thousands of other compiler packages—including the changed internal/checker/tracer_test.go—will never run. Consequently, a weekly upstream merge can pass validation and be published while breaking most of the exported compiler surface; run the source module's complete test suite (and retain the existing baseline/generation checks) before release.


"github.com/microsoft/TypeScript/tsc/internal/fswatch"

P2 Badge Rewrite the copied fswatch import example

External consumers following this newly published package README are told to import the original tsc/internal/fswatch path, which Go rejects from outside the Microsoft module tree. The example needs to use github.com/zshannon/TypeScript/public/v7/fswatch (and the exporter should rewrite copied textual documentation) so the documented public-package flow actually compiles.

ℹ️ 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".

zshannon commented Sep 8, 2026

Copy link
Copy Markdown
Owner Author

Decision on the two review findings: neither is a merge blocker for this fork, and we are not expanding this PR to address them.

  1. Full compiler suite: this fork relies on Microsoft's upstream compiler testing. Our validation is intentionally focused on what we change: package export generation, import rewriting, embedded assets, external consumption, and targeted compiler modifications. Running the entire upstream suite could provide additional assurance against integration regressions, but we are accepting that tradeoff rather than making it a release requirement or restoring upstream CI. The finding identifies reduced coverage, not a demonstrated regression.

  2. Copied fswatch README: the upstream internal import in the example is stale for external consumers, but it does not affect the exported package's functionality. Rewriting copied documentation is not a requirement for this fork's intended use, so we are leaving it as non-blocking documentation cleanup.

The scope remains publishing usable compiler packages with focused validation of the fork's changes.

@zshannon
zshannon merged commit 6a8058f into main Sep 8, 2026
1 check passed
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