chore(gha): migrate action bundler to esbuild - #456
Conversation
Bumps [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm) from 3.1084.0 to 3.1092.0. - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ssm/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.1092.0/clients/client-ssm) --- updated-dependencies: - dependency-name: "@aws-sdk/client-ssm" dependency-version: 3.1092.0 dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [typescript](https://github.com/microsoft/TypeScript) from 6.0.3 to 7.0.2. - [Release notes](https://github.com/microsoft/TypeScript/releases) - [Commits](https://github.com/microsoft/TypeScript/commits) --- updated-dependencies: - dependency-name: typescript dependency-version: 7.0.2 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…s-sdk/client-ssm-3.1092.0
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…ks/nodejs/aws-sdk/client-ssm-3.1092.0' into macalbert-fix-dependabot-pipelines
…pt-7.0.2' into macalbert-fix-dependabot-pipelines
TypeScript 7 removes the compiler API required by ncc and ts-node. Compile first, bundle with esbuild, and use tsx for scripts that run TypeScript directly. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Warning Review limit reached
Next review available in: 12 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
WalkthroughThe pull request replaces GitHub Action bundling with esbuild, adds its build runner and ADR, and migrates local TypeScript execution from ts-node to tsx across scripts, CDK configuration, dependencies, tests, and documentation. ChangesGitHub Action build tooling
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related PRs
Suggested labels: Suggested reviewers: 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
The ESM bundle targets Node 22, so the composite action must ensure\nthat runtime before execution. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
This PR updates the GitHub Action bundling workflow to stay compatible with TypeScript 7.0.2, replacing the previous @vercel/ncc + ts-node setup with an esbuild-based bundling step and tsx for direct TypeScript execution across development tooling (including CDK and local install scripts).
Changes:
- Switch the GHA bundle pipeline from
@vercel/nccto esbuild (aftertsc) and update root scripts accordingly. - Replace
ts-nodeexecution paths withtsx(CDK app, local install script, E2E harness). - Update documentation/ADRs and the GHA changelog entry to reflect the bundler/tooling decision; bump workspace TypeScript catalog to
^7.0.2.
Reviewed changes
Copilot reviewed 15 out of 17 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
package.json |
Updates build:gha to run tsc then esbuild; replaces ts-node usage with tsx; adds esbuild dev dependency. |
pnpm-workspace.yaml |
Bumps catalog TypeScript to ^7.0.2 and replaces ts-node catalog entry with tsx. |
pnpm-lock.yaml |
Lockfile refresh reflecting TypeScript 7, removal of @vercel/ncc/ts-node, and addition of esbuild. |
scripts/build-github-action.mjs |
New esbuild bundling script that produces github-action/dist/index.js. |
scripts/pack-and-install.ts |
Switches the script shebang for TypeScript execution under tsx. |
scripts/README.md |
Updates contributor documentation to reflect tsx usage and esbuild bundling. |
src/iac/package.json |
Replaces ts-node devDependency with tsx for IaC package tooling. |
src/iac/cdk.json |
Updates CDK app execution from ts-node to pnpm exec tsx. |
e2e/cli.test.ts |
Updates E2E setup to run the pack/install script via pnpm exec tsx. |
docs/changelogs/gha.md |
Adds unreleased changelog entry describing esbuild bundling + tsx migration. |
docs/adr/0010-github-action-bundler.md |
Adds an ADR documenting the decision to bundle with esbuild and switch to tsx. |
docs/adr/0006-monorepo-structure.md |
Updates monorepo ADR table to reflect esbuild bundling for the GHA component. |
CONTRIBUTING.md |
Updates contributor docs to reference esbuild for pnpm build:gha. |
.github/skills/common-security/SKILL.md |
Updates internal security guidance to reflect esbuild bundling for GHA. |
.github/copilot-instructions.md |
Updates Copilot repo instructions to reflect esbuild bundling for GHA. |
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
The package manager is pnpm, so the documented workflow must match. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 15 out of 17 changed files in this pull request and generated 2 comments.
Files not reviewed (1)
- pnpm-lock.yaml: Generated file
Comments suppressed due to low confidence (1)
scripts/README.md:25
- This usage example still says
npm run build, butlocal:installnow runspnpm build && tsx …(root package.json). The “Behind the scene it runs” block is no longer accurate and mixes package managers; update it to match the actual scripts.
```bash
npm run build
pnpm exec tsx scripts/pack-and-install.ts
</details>
An immutable action revision prevents a moving tag from changing runtime setup. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Summary
Updates TypeScript to 7.0.2 and replaces the GitHub Action tooling that is incompatible with TypeScript 7.
The action remains a single committed bundle, with TypeScript preserving type checking and decorator metadata before esbuild packages the compiled output.
Changes
@vercel/nccwith esbuild for the GitHub Action bundle.ts-nodewithtsxin direct TypeScript execution paths.github-action/dist/index.jsand update the dependency lockfile.Testing
pnpm build:gha,pnpm verify:gha, and the GitHub Action bundle smoke check locallypnpm lint, the website build, the CDK build, and focused GHA and website tests locallyRelated
#422
Summary by CodeRabbit
tsx.