Conversation
WalkthroughThe changes update CI/CD workflows to use newer Node.js setup actions with explicit Yarn 4.12.0 configuration, add Yarn configuration files, bump Calcit framework to version 0.12.14 along with related dependencies, update Vite to version 8, and restructure Cirru metadata syntax and hints throughout the codebase. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ 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 |
There was a problem hiding this comment.
Pull request overview
This PR upgrades the project’s Calcit + Yarn toolchain to a newer workflow, updates JS build tooling to Vite 8, and adjusts CI to use Corepack with immutable installs.
Changes:
- Migrates from Yarn classic lockfile to Yarn Berry (v4) with Corepack-based installs.
- Upgrades Calcit tooling/config (including dependency versions) and updates generated
compact.cirrusyntax to match the new compiler expectations. - Updates GitHub Actions workflows to use the new install/build steps (Corepack +
yarn install --immutable+cr js+ Vite build).
Reviewed changes
Copilot reviewed 6 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
yarn.lock |
Replaced Yarn v1 lockfile with Yarn Berry lockfile (lockfileVersion 8) to support Yarn 4 workflow. |
package.json |
Pins Yarn via packageManager, upgrades Vite to ^8.0.8, upgrades @calcit/procs, and adds a combined build script. |
deps.cirru |
Updates Calcit version and dependency pins to align with the upgraded toolchain. |
compact.cirru |
Updates generated Calcit compact output format and async hint syntax for compatibility with newer tooling. |
calcit.cirru |
Removes the old Calcit config/artifact (replaced by compact workflow). |
.yarnrc.yml |
Configures Yarn to use node-modules linker. |
.gitignore |
Ignores Yarn-generated gzip state files under .yarn/. |
.github/workflows/upload.yaml |
Updates CI to use actions/setup-node@v6, enables Corepack, installs immutably, and compiles via cr js. |
.github/workflows/npm-publish.yaml |
Updates publish workflow to use Corepack + immutable Yarn install before yarn compile. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In @.github/workflows/upload.yaml:
- Around line 30-33: Replace the hardcoded run command "yarn vite build
--base=./" in the CI step named "Build web assets" with the repository script
invocation "yarn build" so the workflow uses the canonical build script from
package.json and avoids command drift; update the step's run value to "yarn
build" and keep the step name unchanged.
In `@compact.cirru`:
- Around line 93-103: The async handler dispatch! is calling set-renderer!
without awaiting it, causing fire-and-forget updates and dropped rejections;
update the :tab branch inside dispatch! (and the other async handler that calls
set-renderer!) to use js-await before invoking set-renderer! and ensure the
enclosing functions remain marked async (hint-fn ... {:async true}) so the
promise is awaited and rejections propagate; locate calls to set-renderer! in
dispatch! and the second async handler and prefix them with js-await (or
equivalent await) so renderer switches happen in-order and errors are not lost.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 367946b0-9ae5-44ec-a654-60178cb43262
⛔ Files ignored due to path filters (1)
yarn.lockis excluded by!**/yarn.lock,!**/*.lock
📒 Files selected for processing (8)
.github/workflows/npm-publish.yaml.github/workflows/upload.yaml.gitignore.yarnrc.ymlcalcit.cirrucompact.cirrudeps.cirrupackage.json
Summary
Validation
Summary by CodeRabbit