Skip to content

chore: upgrade Node.js version to 24 across the project#648

Merged
softmarshmallow merged 3 commits intomainfrom
canary
Apr 8, 2026
Merged

chore: upgrade Node.js version to 24 across the project#648
softmarshmallow merged 3 commits intomainfrom
canary

Conversation

@softmarshmallow
Copy link
Copy Markdown
Member

@softmarshmallow softmarshmallow commented Apr 8, 2026

Summary by CodeRabbit

  • Chores

    • Updated minimum Node.js runtime requirement to v24 LTS across the project.
    • Updated CI/CD workflow to dynamically source Node.js version configuration.
  • Documentation

    • Reorganized and improved internal documentation structure.
    • Added new documentation tags for better content organization and discoverability.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
blog Ready Ready Preview, Comment Apr 8, 2026 0:49am
docs Ready Ready Preview, Comment Apr 8, 2026 0:49am
grida Ready Ready Preview, Comment Apr 8, 2026 0:49am
viewer Ready Ready Preview, Comment Apr 8, 2026 0:49am
3 Skipped Deployments
Project Deployment Actions Updated (UTC)
backgrounds Ignored Ignored Preview Apr 8, 2026 0:49am
code Ignored Ignored Apr 8, 2026 0:49am
legacy Ignored Ignored Apr 8, 2026 0:49am

Request Review

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 8, 2026

Walkthrough

Upgraded Node.js runtime version from 22 to 24 LTS across the project, including .nvmrc, package.json engine constraints, and @types/node dependencies. Updated CI workflow to source Node version from .nvmrc. Reorganized documentation structure by removing README files and updating internal links. Modified Docusaurus configuration and added new documentation tags.

Changes

Cohort / File(s) Summary
Node.js version & runtime constraints
.nvmrc, AGENTS.md, package.json, apps/blog/package.json, apps/docs/package.json
Updated Node.js version from 22.x to 24.14.0; bumped engines.node constraints from >=18.0 or >=22.0.0 to >=24.0.0 across multiple package.json files.
TypeScript Node types
apps/backgrounds/package.json, apps/viewer/package.json, crates/grida-canvas-wasm/package.json, editor/package.json, packages/grida-canvas-transparency-grid/package.json, packages/grida-fonts/package.json
Updated @types/node devDependency from ^22 to ^24 in six package.json files.
CI workflow configuration
.github/workflows/realease-desktop-app.yml
Switched Node.js version setup from fixed node-version: 22 to dynamic node-version-file: .nvmrc to source version from .nvmrc.
Docusaurus configuration & build
apps/docs/docusaurus.config.ts, apps/docs/scripts/docs-site-gen/copy-docs.js
Restructured onBrokenMarkdownLinks config from top-level to nested markdown.hooks structure; converted async copy operation to sync workflow with explicit directory clearing via fse.emptyDirSync() before copy.
Documentation structure & links
docs/@designto-code/README.md, docs/@designto-code/flags/--empty-content.md, docs/@designto-code/flags/--hash.md, docs/@designto-code/flags/--id.md, docs/@designto-code/flags/--ignore.md, docs/@designto-code/flags/--overflow.md, docs/@designto-code/flags/--scroll.md, docs/wg/feat-2d/wasm-load-scene-optimization.md
Removed top-level README from @designto-code directory; updated internal documentation links from README-based paths (./--flag/README.md) to direct file paths (./--flag.md); corrected relative paths in wg documentation.
Documentation landing pages & indexing
docs/@designto-code/index.md, docs/support/README.md, docs/support/index.mdx, docs/tags.yml
Moved landing-page content from removed README to index.md with YAML frontmatter; replaced support/README.md with indexed content in support/index.mdx; added 12 new documentation tags for 2D features, HTML/CSS, LOD, frame budgeting, benchmarking, tray, scene graph, format, HTML, markdown, paint, and data layout.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~35 minutes

Possibly related PRs

  • chore: jest -> vitest /editor #492: Modifies editor/package.json devDependencies and test infrastructure alongside the @types/node version bump included in this PR.
  • [Ops] add AGENTS.md #337: Updates AGENTS.md to document Node.js runtime versions, directly overlapping with this PR's Node.js 22→24 documentation change.

Suggested labels

org

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately and clearly describes the main objective of the PR: upgrading Node.js from version 22 to 24 across the entire project, which is reflected consistently throughout the changeset.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch canary

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

cursoragent and others added 2 commits April 8, 2026 11:46
- Move onBrokenMarkdownLinks to markdown.hooks (v4 migration path)
- Empty docs sync destination before copy to drop stale files and fix duplicate routes
- Define missing doc tags in tags.yml; fix wasm-load-scene research link path
- Fix @designto-code flag cross-links to sibling .md files; merge README into index for @designto-code and support

Co-authored-by: Universe <universe@grida.co>
fix(docs): reduce Docusaurus build warnings
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
apps/docs/scripts/docs-site-gen/copy-docs.js (1)

9-9: ⚠️ Potential issue | 🟡 Minor

Fix typos to pass CI checks.

The pipeline is failing due to typos in this comment. overriteoverwrite and summurysummary.

✏️ Proposed fix
- * overrite conflicting directories and files under that directory, and print summury of the result.
+ * overwrite conflicting directories and files under that directory, and print summary of the result.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@apps/docs/scripts/docs-site-gen/copy-docs.js` at line 9, Fix the typos in the
comment string shown in the diff: replace "overrite" with "overwrite" and
"summury" with "summary" so the comment reads "...overwrite conflicting
directories and files under that directory, and print summary of the result."
Update the exact comment text in the file where this diff appears.
🧹 Nitpick comments (1)
docs/support/index.mdx (1)

1-11: Consider adding frontmatter for MDX compatibility.

The file uses a .mdx extension but contains no JSX/MDX features. To prevent potential build issues with angle brackets and opt out of unnecessary MDX parsing, consider adding format: md to the frontmatter.

📝 Suggested frontmatter addition
+---
+format: md
+---
+
 # Support

Based on learnings: For MDX compatibility, add format: md frontmatter to documentation files that don't use JSX/MDX features to opt out of MDX parsing and prevent build issues with angle brackets.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/support/index.mdx` around lines 1 - 11, Add YAML frontmatter at the top
of this MDX file to opt out of MDX parsing: insert a frontmatter block (---)
containing format: md before the "Support" header so the parser treats the file
as plain Markdown; ensure the frontmatter is closed with --- and followed by a
blank line, leaving the existing content (the "Support" heading and body)
unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/tags.yml`:
- Around line 194-197: The YAML tag key "lod" and label "LOD" are tripping the
typos linter; either add "lod" and "LOD" to the typos allowlist or rename the
tag to a full-word form. To fix, update the tags entry by replacing the key
"lod" and label "LOD" with a spelled-out identifier like "level_of_detail" and
label "Level of Detail" (and update permalink to something like
"/level-of-detail"), or alternatively add "lod" and "LOD" to your typo whitelist
configuration so the linter accepts the acronym.

---

Outside diff comments:
In `@apps/docs/scripts/docs-site-gen/copy-docs.js`:
- Line 9: Fix the typos in the comment string shown in the diff: replace
"overrite" with "overwrite" and "summury" with "summary" so the comment reads
"...overwrite conflicting directories and files under that directory, and print
summary of the result." Update the exact comment text in the file where this
diff appears.

---

Nitpick comments:
In `@docs/support/index.mdx`:
- Around line 1-11: Add YAML frontmatter at the top of this MDX file to opt out
of MDX parsing: insert a frontmatter block (---) containing format: md before
the "Support" header so the parser treats the file as plain Markdown; ensure the
frontmatter is closed with --- and followed by a blank line, leaving the
existing content (the "Support" heading and body) unchanged.
🪄 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: CHILL

Plan: Pro

Run ID: 70384b1d-9857-4a76-9c94-3ec6e4a95e69

📥 Commits

Reviewing files that changed from the base of the PR and between 16bb78d and 26ac317.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (26)
  • .github/workflows/realease-desktop-app.yml
  • .nvmrc
  • AGENTS.md
  • apps/backgrounds/package.json
  • apps/blog/package.json
  • apps/docs/docusaurus.config.ts
  • apps/docs/package.json
  • apps/docs/scripts/docs-site-gen/copy-docs.js
  • apps/viewer/package.json
  • crates/grida-canvas-wasm/package.json
  • docs/@designto-code/README.md
  • docs/@designto-code/flags/--empty-content.md
  • docs/@designto-code/flags/--hash.md
  • docs/@designto-code/flags/--id.md
  • docs/@designto-code/flags/--ignore.md
  • docs/@designto-code/flags/--overflow.md
  • docs/@designto-code/flags/--scroll.md
  • docs/@designto-code/index.md
  • docs/support/README.md
  • docs/support/index.mdx
  • docs/tags.yml
  • docs/wg/feat-2d/wasm-load-scene-optimization.md
  • editor/package.json
  • package.json
  • packages/grida-canvas-transparency-grid/package.json
  • packages/grida-fonts/package.json
💤 Files with no reviewable changes (2)
  • docs/@designto-code/README.md
  • docs/support/README.md

Comment thread docs/tags.yml
Comment on lines +194 to +197
lod:
label: LOD
permalink: /lod
description: Level-of-detail strategies for scene content and rendering.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix typo-lint blocker for lod tag.

typos is failing on this segment, so this PR cannot merge as-is. Either allowlist lod/LOD in typo config, or rename this tag to a fully spelled term to avoid lint failures.

✅ File-local fix option (avoid acronym in key/label)
-lod:
-  label: LOD
+level-of-detail:
+  label: Level of detail
   permalink: /lod
   description: Level-of-detail strategies for scene content and rendering.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
lod:
label: LOD
permalink: /lod
description: Level-of-detail strategies for scene content and rendering.
level-of-detail:
label: Level of detail
permalink: /lod
description: Level-of-detail strategies for scene content and rendering.
🧰 Tools
🪛 GitHub Actions: typos

[error] 194-194: typos: lod should be load


[error] 195-195: typos: LOD should be LOAD

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/tags.yml` around lines 194 - 197, The YAML tag key "lod" and label "LOD"
are tripping the typos linter; either add "lod" and "LOD" to the typos allowlist
or rename the tag to a full-word form. To fix, update the tags entry by
replacing the key "lod" and label "LOD" with a spelled-out identifier like
"level_of_detail" and label "Level of Detail" (and update permalink to something
like "/level-of-detail"), or alternatively add "lod" and "LOD" to your typo
whitelist configuration so the linter accepts the acronym.

@softmarshmallow softmarshmallow merged commit bce19d3 into main Apr 8, 2026
18 checks 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.

2 participants