feat!: migrate to ESM and bump major version to 4.0.0#741
Conversation
Summary of ChangesHello @llun, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request implements a substantial modernization of the project by migrating its core architecture to ECMAScript Modules (ESM). This transition impacts the project's runtime, GitHub Action entrypoint, and build configurations, leading to a major version increment to 4.0.0. The changes also involve streamlining the development toolchain by replacing SWC-based transpilation with Highlights
Changelog
Activity
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request is a great step forward in modernizing the project by migrating to ESM. The changes are logical and well-implemented, especially the switch to tsx and the updates to package.json and tsconfig.json. I've added a couple of suggestions to improve robustness and consistency which you might want to consider.
There was a problem hiding this comment.
Pull request overview
This PR performs a breaking migration of the GitHub Action and local runtime to ESM, updates the action entrypoint, replaces SWC runtime hooks with tsx, and bumps the package to v4.0.0 alongside dependency and documentation updates.
Changes:
- Switch action runtime/entrypoint to ESM (
type: module,action.mjs) and updateaction.ymlto use Node 24. - Replace
@swc-node/registerusage withtsxfor load/test execution paths. - Update TypeScript module settings and refresh docs/examples for
llun/feeds@4.0.0, plus dependency/lockfile updates.
Reviewed changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Updates dependency graph/lockfile for new major runtime/tooling dependencies (notably tsx). |
| tsconfig.json | Adjusts TS module + resolution settings for ESM/bundler behavior. |
| readme.md | Updates docs to reflect Node 24 runtime and v4 usage/examples; clarifies storageType default. |
| package.json | Bumps major version, enables ESM via type: module, switches scripts to tsx. |
| next.config.ts | Removes @actions/core input dependency and derives base path from action env vars. |
| action/repository.ts | Updates publish cleanup list to include new/renamed config/action artifacts. |
| action.yml | Updates runs.using to node24 and entrypoint to action.mjs. |
| action.mjs | Converts action entrypoint to ESM imports and executes TS via node --import tsx. |
Comments suppressed due to low confidence (2)
action.mjs:62
executeResult.errorwon’t catchindex.tsruntime failures that exit with a non-zero code. UseexecuteResult.status !== 0(and/orsignal) to decide when to throw so the action fails correctly if the site builder script errors.
action.mjs:56- Same issue as above:
yarn installfailures typically show up as a non-zerostatus, notresult.error. Update the failure check to handle non-zero exit codes so the action aborts reliably when dependencies can’t be installed.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
type: module,action.mjs)tsxfor load/test scripts3.3.0to4.0.0llun/feeds@4.0.0Verification
yarn test(44 passed)yarn build(successful Next.js static build)