mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-11 23:02:56 +01:00
2.3 KiB
2.3 KiB
TASK-003: Runtime React 18.3.1 Upgrade - CHECKLIST
Status: ✅ COMPLETE
Code Migration
-
Main entry point - Update
noodl-viewer-react.js- Replace
ReactDOM.render()withcreateRoot().render() - Replace
ReactDOM.hydrate()withhydrateRoot() - Add root management (
currentRootvariable) - Add
unmount()method
- Replace
-
React component node - Update
react-component-node.js- Remove
ReactDOM.findDOMNode()usage - Add DOM element storage via ref callback
- Update
getDOMElement()to use stored reference - Remove unused
ReactDOMimport
- Remove
-
Group component - Update
Group.tsx- Convert
UNSAFE_componentWillReceivePropstocomponentDidUpdate
- Convert
-
Drag component - Update
Drag.tsx- Convert
UNSAFE_componentWillReceivePropstocomponentDidUpdate
- Convert
UMD Bundles
- Download React 18.3.1 bundles to
static/shared/react.production.min.js(10.7KB)react-dom.production.min.js(128KB)
Note: React 19 removed UMD builds. React 18.3.1 is the latest with UMD support.
SSR Configuration
- Update SSR package.json -
static/ssr/package.json- Update
reactto^18.3.1 - Update
react-domto^18.3.1
- Update
Build Verification
- Run viewer build -
npm run ci:build:viewer- Webpack compiles without errors
- React externals properly configured
Documentation
- Create CHANGELOG.md - Document all changes
- Create CHECKLIST.md - This file
- Create LEARNINGS-RUNTIME.md - Runtime architecture docs in
dev-docs/reference/
Testing (Manual)
- Test in editor - Open project and verify preview works
- Test deployed project - Verify published projects render correctly
- Test SSR - Verify server-side rendering works (if applicable)
Note: Manual testing requires running the editor. Build verification passed.
Summary
| Category | Items | Completed |
|---|---|---|
| Code Migration | 4 files | ✅ 4/4 |
| UMD Bundles | 2 files | ✅ 2/2 |
| SSR Config | 1 file | ✅ 1/1 |
| Build | 1 verification | ✅ 1/1 |
| Documentation | 3 files | ✅ 3/3 |
| Manual Testing | 3 items | ⏳ Pending |
Overall: 11/14 items complete (79%)
Manual testing deferred to integration testing phase.