GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Fully migrate `pr-checks` to ESM by mbg · Pull Request #4200 · github/codeql-action

Conversation

@mbg

@mbg mbg commented Oct 6, 2026

Copy link
Copy Markdown
Member

The scripts in pr-checks are independent of the main codebase and are run in CI (or locally) using npx. All CI workflows that use scripts from pr-checks install Node24. We recently moved some of the scripts over to ESM, but kept CJS by default. This PR migrates the entire pr-checks project to ESM.

Risk assessment

For internal use only. Please select the risk level of this change:

  • Low risk: Changes are fully under feature flags, or have been fully tested and validated in pre-production environments and are highly observable, or are documentation or test only.

Which use cases does this change impact?

Environments:

  • Testing/None - This change does not impact any CodeQL workflows in production.

How did/will you validate this change?

  • Unit tests - I am depending on unit test coverage (i.e. tests in .test.ts files).
  • Other - The changed scripts only affect workflows, so if something does go wrong it will be easily visible.

If something goes wrong after this change is released, what are the mitigation and rollback strategies?

  • Development/testing only - This change cannot cause any failures in production.

How will you know if something goes wrong after this change is released?

  • Other - Workflow outcomes.

Are there any special considerations for merging or releasing this change?

  • No special considerations - This change can be merged at any time.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Consider adding a changelog entry for this change.
  • Confirm the readme and docs have been updated if necessary.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
mbg added 7 commits October 6, 2026 18:03
@mbg
Bump @types/node to v24 for pr-checks
36f377b
All scripts in `pr-checks` are run with Node24
@mbg
Add nvmrc for pr-checks
4c98a0b
@mbg
Add compatibility definitions to config.ts
b813f91
@mbg
Replace require check with import.meta.main
f5b4c32
@mbg
Set type: module for pr-checks
1b38bb1
@mbg
Replace .mts extensions
4c932d9
@mbg
Replace __dirname in sync-back.ts
a2374c3
@mbg mbg self-assigned this Oct 6, 2026
@github-actions github-actions Bot added the size/S Should be easy to review label Oct 6, 2026
mbg added 3 commits October 6, 2026 18:28
@mbg
Replace .mts with .ts in comments and workflows
0f3412f
@mbg
Remove .mts patterns from configurations
0a44f18
@mbg
Replace __dirname in sync.ts
a71b0c6
@mbg
mbg marked this pull request as ready for review October 6, 2026 17:32
@mbg
mbg requested a review from a team as a code owner October 6, 2026 17:32
Copilot AI balanced review requested due to automatic review settings October 6, 2026 17:32
Copilot started reviewing on behalf of mbg October 6, 2026 17:32
View session
Copilot AI reviewed Oct 6, 2026
View reviewed changes

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The migration consistently updates module configuration, entry-point detection, paths, dependencies, tests, and workflow references.

Review effort: Balanced
Findings: None

What changed in this PR

Migrates the independent pr-checks tooling from CommonJS to ESM while retaining tsx execution in CI and local development.

Changes:

  • Enables ESM and Node.js 24 for pr-checks.
  • Replaces CommonJS entry-point and directory detection.
  • Renames remaining ESM-specific files to .ts and updates configuration and workflows.
File Description
.github/​workflows/​pr-checks.yml Uses the renamed changenotes script.
eslint.config.mjs Removes obsolete .mts patterns.
package-lock.json Locks updated Node.js type dependencies.
pr-checks/​.nvmrc Selects Node.js 24.
pr-checks/​bundle-changelog.ts Uses the ESM main-module check.
pr-checks/​bundle-metadata.ts Uses the ESM main-module check.
pr-checks/​changelog/​validate.test.ts Imports the renamed validator.
pr-checks/​changelog/​validate.ts Converts the validator to TypeScript ESM.
pr-checks/​changenotes.ts Updates validator imports and usage text.
pr-checks/​check-repo-size.ts Uses the ESM main-module check.
pr-checks/​config.ts Derives filesystem paths from import.meta.url.
pr-checks/​package.json Enables ESM and Node.js 24 typings.
pr-checks/​prepare-changelog.ts Uses the ESM main-module check.
pr-checks/​release-branches.ts Uses the ESM main-module check.
pr-checks/​rollback-changelog.ts Uses the ESM main-module check.
pr-checks/​sync-back.ts Uses shared ESM-safe paths and entry detection.
pr-checks/​sync-checks.ts Uses the ESM main-module check.
pr-checks/​sync.ts Uses shared ESM-safe repository paths.
pr-checks/​tsconfig.json Removes obsolete .mts inclusion.
pr-checks/​update-ghes-versions.ts Uses the ESM main-module check.
pr-checks/​update-release-branch.ts Uses the ESM main-module check.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mbg
mbg requested a review from mario-campos October 6, 2026 17:36
mario-campos
mario-campos approved these changes Oct 6, 2026
View reviewed changes

@mario-campos mario-campos left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@mbg
mbg added this pull request to the merge queue Oct 6, 2026
Merged via the queue into main with commit d208ec7 Oct 6, 2026
235 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@mbg
mbg deleted the mbg/esm/migrate-pr-checks branch October 6, 2026 19:36
This was referenced Oct 8, 2026
Merge main into releases/v4 #4214
Merged
Merge releases/v4 into releases/v3 #4216
Merged
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

Copilot code review Copilot
Copilot review effort
Applies to this pull request for everyone.Learn more about Copilot code review.
Copilot left review comments
@mario-campos mario-campos mario-campos approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

@mbg mbg

Labels

size/S Should be easy to review

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@mbg @mario-campos
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.