Update Petrinaut toolchain: Vite 8.0.16, tsgo 20260607, React 19.2.7#8863
Update Petrinaut toolchain: Vite 8.0.16, tsgo 20260607, React 19.2.7#8863kube wants to merge 1 commit into
Conversation
PR SummaryMedium Risk Overview Petrinaut stack ( Monorepo-wide: Build config: Comments in Yarn constraints: Reviewed by Cursor Bugbot for commit c4a6738. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Pull request overview
Updates the Petrinaut (and related) frontend toolchain dependency set, aligning the monorepo on React 19.2.7 and moving Petrinaut build/test tooling forward (Vite 8.0.16, Storybook 10.4.2, rolldown 1.0.3, jsdom 29.1.1, and tsgo via @typescript/native-preview 20260607).
Changes:
- Bump React / React DOM from 19.2.6 → 19.2.7 across the repo (including root
resolutions). - Upgrade Petrinaut / Petrinaut Core / Petrinaut Website toolchain deps (Vite/Vitest, Storybook, rolldown + dts plugin, jsdom,
@typescript/native-preview) and add explicit@babel/corefor the React Compiler Babel pass. - Extend Yarn constraints ignore list for Petrinaut-ahead dependencies and add comments documenting the continued need for the
enforce: "pre"DTS remap in Vite 8.
Reviewed changes
Copilot reviewed 17 out of 18 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Locks updated versions for React 19.2.7 and the Petrinaut toolchain bumps (Vite/Vitest/Storybook/rolldown/jsdom/TS). |
| yarn.config.cjs | Extends constraints ignore list for Petrinaut-ahead dependencies (rolldown-plugin-dts, native-preview, @types/react, typescript, jsdom, etc.). |
| package.json | Updates root resolutions for react/react-dom to 19.2.7. |
| libs/@local/hash-isomorphic-utils/package.json | Bumps React to 19.2.7. |
| libs/@local/advanced-types/package.json | Bumps React to 19.2.7. |
| libs/@hashintel/type-editor/package.json | Bumps React/React DOM to 19.2.7. |
| libs/@hashintel/query-editor/package.json | Bumps React/React DOM to 19.2.7. |
| libs/@hashintel/petrinaut/vite.config.ts | Adds documentation about why the enforce: "pre" DTS remap must remain under Vite 8. |
| libs/@hashintel/petrinaut/package.json | Updates Petrinaut toolchain deps (Vite/Vitest/Storybook/rolldown/jsdom/native-preview) and adds @babel/core. |
| libs/@hashintel/petrinaut-core/vite.config.ts | Adds documentation about why the enforce: "pre" DTS remap must remain under Vite 8. |
| libs/@hashintel/petrinaut-core/package.json | Updates Petrinaut Core toolchain deps and bumps TypeScript to 6.0.3 for the in-browser LSP runtime. |
| libs/@hashintel/ds-components/package.json | Bumps React/React DOM to 19.2.7. |
| libs/@hashintel/design-system/package.json | Bumps React/React DOM to 19.2.7. |
| libs/@hashintel/block-design-system/package.json | Bumps React/React DOM to 19.2.7. |
| libs/@blockprotocol/type-system/typescript/package.json | Bumps React to 19.2.7. |
| apps/plugin-browser/package.json | Bumps React/React DOM to 19.2.7. |
| apps/petrinaut-website/package.json | Updates Petrinaut Website deps (React + Vite/plugin-react/native-preview) and adds @babel/core. |
| apps/hash-frontend/package.json | Bumps React/React DOM to 19.2.7. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8863 +/- ##
=======================================
Coverage 59.15% 59.15%
=======================================
Files 1346 1346
Lines 130117 130117
Branches 5883 5883
=======================================
+ Hits 76975 76976 +1
+ Misses 52237 52236 -1
Partials 905 905 Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Merging this PR will improve performance by 18.18%
|
| Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|
| ⚡ | bit_matrix/dense/iter_row[64] |
170 ns | 140.8 ns | +20.71% |
| ⚡ | bit_matrix/dense/iter_row[200] |
215 ns | 185.8 ns | +15.7% |
Tip
Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.
Comparing cf/petrinaut-setup-updates-june (c4a6738) with main (dfe8234)
- Bump vite, @vitejs/plugin-react, storybook, rolldown 1.0.3 (matches vite's internal pin), rolldown-plugin-dts 0.25.2, @rolldown/plugin-babel and @typescript/native-preview across @hashintel/petrinaut, @hashintel/petrinaut-core, @apps/petrinaut-website and @hashintel/refractive; vitest 4.1.8 + jsdom 29 where tests exist - typescript 5.9.3 -> 6.0.3 for the petrinaut-core in-browser LSP runtime - react/react-dom 19.2.6 -> 19.2.7 monorepo-wide (required by the root resolutions pin that guarantees a single React copy) - Add explicit @babel/core devDep for the React Compiler babel pass - yarn constraints: ignore @types/react, typescript and jsdom forks (refractive was aligned instead of ignored for the toolchain packages) - Document why the dts fake-js `enforce: "pre"` remap must stay: the upstream-recommended `oxc.exclude` setup (rolldown-plugin-dts#201) emits dts chunks without their local declarations React Compiler stays on babel-plugin-react-compiler: the Rust port is in oxc 0.135 but not yet shipped in rolldown (rolldown#9671 still draft) nor reachable from stable Vite. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
b7f57f6 to
c4a6738
Compare
Benchmark results
|
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 2002 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 1001 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 3314 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 1526 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 2078 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 1033 | Flame Graph |
policy_resolution_medium
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 102 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 51 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 269 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 107 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 133 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 63 | Flame Graph |
policy_resolution_none
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 2 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 8 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 3 | Flame Graph |
policy_resolution_small
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| resolve_policies_for_actor | user: empty, selectivity: high, policies: 52 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: empty, selectivity: medium, policies: 25 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: high, policies: 94 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: seeded, selectivity: medium, policies: 26 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: high, policies: 66 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: low, policies: 1 | Flame Graph | |
| resolve_policies_for_actor | user: system, selectivity: medium, policies: 29 | Flame Graph |
read_scaling_complete
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id;one_depth | 1 entities | Flame Graph | |
| entity_by_id;one_depth | 10 entities | Flame Graph | |
| entity_by_id;one_depth | 25 entities | Flame Graph | |
| entity_by_id;one_depth | 5 entities | Flame Graph | |
| entity_by_id;one_depth | 50 entities | Flame Graph | |
| entity_by_id;two_depth | 1 entities | Flame Graph | |
| entity_by_id;two_depth | 10 entities | Flame Graph | |
| entity_by_id;two_depth | 25 entities | Flame Graph | |
| entity_by_id;two_depth | 5 entities | Flame Graph | |
| entity_by_id;two_depth | 50 entities | Flame Graph | |
| entity_by_id;zero_depth | 1 entities | Flame Graph | |
| entity_by_id;zero_depth | 10 entities | Flame Graph | |
| entity_by_id;zero_depth | 25 entities | Flame Graph | |
| entity_by_id;zero_depth | 5 entities | Flame Graph | |
| entity_by_id;zero_depth | 50 entities | Flame Graph |
read_scaling_linkless
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | 1 entities | Flame Graph | |
| entity_by_id | 10 entities | Flame Graph | |
| entity_by_id | 100 entities | Flame Graph | |
| entity_by_id | 1000 entities | Flame Graph | |
| entity_by_id | 10000 entities | Flame Graph |
representative_read_entity
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/block/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/book/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/building/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/organization/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/page/v/2
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/person/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/playlist/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/song/v/1
|
Flame Graph | |
| entity_by_id | entity type ID: https://blockprotocol.org/@alice/types/entity-type/uk-address/v/1
|
Flame Graph |
representative_read_entity_type
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| get_entity_type_by_id | Account ID: bf5a9ef5-dc3b-43cf-a291-6210c0321eba
|
Flame Graph |
representative_read_multiple_entities
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| entity_by_property | traversal_paths=0 | 0 | |
| entity_by_property | traversal_paths=255 | 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true | |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false | |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true | |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true | |
| entity_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true | |
| link_by_source_by_property | traversal_paths=0 | 0 | |
| link_by_source_by_property | traversal_paths=255 | 1,resolve_depths=inherit:1;values:255;properties:255;links:127;link_dests:126;type:true | |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:0;link_dests:0;type:false | |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:0;links:1;link_dests:0;type:true | |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:0;properties:2;links:1;link_dests:0;type:true | |
| link_by_source_by_property | traversal_paths=2 | 1,resolve_depths=inherit:0;values:2;properties:2;links:1;link_dests:0;type:true |
scenarios
| Function | Value | Mean | Flame graphs |
|---|---|---|---|
| full_test | query-limited | Flame Graph | |
| full_test | query-unlimited | Flame Graph | |
| linked_queries | query-limited | Flame Graph | |
| linked_queries | query-unlimited | Flame Graph |
🌟 What is the purpose of this PR?
enforce: "pre"remap must stay: the upstream-recommendedoxc.excludesetup (rolldown-plugin-dts#201) emits dts chunks without their local declarationsReact Compiler stays on babel-plugin-react-compiler: the Rust port is in oxc 0.135 but not yet shipped in rolldown (rolldown#9671 still draft) nor reachable from stable Vite.
🔗 Related links
🚫 Blocked by
🔍 What does this change?
Pre-Merge Checklist 🚀
🚢 Has this modified a publishable library?
This PR:
📜 Does this require a change to the docs?
The changes in this PR:
🕸️ Does this require a change to the Turbo Graph?
The changes in this PR:
turbo.json's have been updated to reflect this🐾 Next steps
🛡 What tests cover this?
❓ How to test this?
📹 Demo