@ecopages/react 0.2.0-alpha.32 → 0.2.0-alpha.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/package.json +3 -3
package/CHANGELOG.md ADDED
@@ -0,0 +1,50 @@
1
+ # Changelog
2
+
3
+ All notable changes to `@ecopages/react` are documented here.
4
+
5
+ > **Note:** Changelog tracking begins at version `0.2.0`. Changes prior to this release are not recorded here but are available in the git history.
6
+
7
+ ## [UNRELEASED] — TBD
8
+
9
+ ### Bug Fixes
10
+
11
+ - Fixed router-managed React HMR page entries to reload the active route with a cleared persisted-layout cache so shared layout edits apply while the current page stays mounted.
12
+ - Fixed router-managed React HMR handlers to forward the active page HMR entry when reloading the current route through React Router.
13
+ - Fixed production React route hydration bundles to inline React runtime dependencies and import the router through the emitted page browser graph instead of a published import-map key.
14
+ - Removed the redundant React page props bootstrap script so route hydration relies on the canonical `__ECO_PAGE_DATA__` payload.
15
+ - Fixed React hydration, Fast Refresh, module loading, doctype handling, island asset reuse, and mixed-renderer foreign-subtree resolution across Bun, Vite, and Nitro flows.
16
+ - Restored direct `ReactPlugin` construction so the exported class still accepts the public plugin options shape.
17
+ - Fixed React foreign-subtree payload compatibility coverage and removed the plugin/renderer integration-name import cycle.
18
+
19
+ ### Features
20
+
21
+ - Added built-in React MDX support and reachability-based hydration analysis for React page bundles.
22
+
23
+ ### Refactoring
24
+
25
+ - Collapsed React route hydration into one page-owned entry module that re-exports the page component and bundles runtime dependencies in production.
26
+ - Removed the router adapter `importMapKey` contract so both development and production route hydration follow the router bundle import path instead of split import-map and bundle-path models.
27
+ - Replaced the positional `ReactHmrStrategy` constructor with an options object so React HMR wiring can evolve without argument-order churn.
28
+ - Renamed the remaining React runtime alias internals away from `specifierMap` terminology now that import-map-era core seams are gone.
29
+ - Consolidated React bundling, hydration, and runtime state behind shared service boundaries and `window.__ECO_PAGES__`.
30
+ - Moved React plugin option/default resolution into the factory and replaced renderer static config with instance-owned runtime wiring.
31
+ - Extracted React page-payload and locals serialization into a dedicated service to keep the renderer focused on orchestration.
32
+ - Centralized recursive React component-config traversal so module discovery and MDX SSR-lazy asset collection no longer reimplement graph walking.
33
+ - Moved MDX config dependency resolution out of the renderer into a dedicated React service.
34
+ - Collected shared React plugin and renderer config types into a dedicated module while keeping renderer-local runtime types close to implementation.
35
+
36
+ ### Tests
37
+
38
+ - Added Vitest browser coverage for the React `dynamic()` utility using React Testing Library.
39
+ - Added browser execution coverage for the generated React hydration bootstrap, including router ownership registration and page-root cleanup.
40
+ - Added renderer-level coverage for the foreign-subtree payload compatibility contract, including non-attachable fragment roots.
41
+
42
+ ### Documentation
43
+
44
+ - Updated the README to document React-owned mixed boundaries and React MDX setup.
45
+
46
+ ---
47
+
48
+ ## Migration Notes
49
+
50
+ - React MDX support is built in and no longer requires installing `@ecopages/mdx` just to enable React MDX routes.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecopages/react",
3
- "version": "0.2.0-alpha.32",
3
+ "version": "0.2.0-alpha.34",
4
4
  "description": "React integration for Ecopages",
5
5
  "keywords": [
6
6
  "ecopages",
@@ -53,14 +53,14 @@
53
53
  "directory": "packages/integrations/react"
54
54
  },
55
55
  "peerDependencies": {
56
- "@ecopages/core": "0.2.0-alpha.32",
56
+ "@ecopages/core": "0.2.0-alpha.34",
57
57
  "@types/react": "^19",
58
58
  "@types/react-dom": "^19",
59
59
  "react": "^19",
60
60
  "react-dom": "^19"
61
61
  },
62
62
  "dependencies": {
63
- "@ecopages/file-system": "0.2.0-alpha.32",
63
+ "@ecopages/file-system": "0.2.0-alpha.34",
64
64
  "@ecopages/logger": "^0.2.3",
65
65
  "@mdx-js/esbuild": "^3.0.1",
66
66
  "@mdx-js/mdx": "^3.1.0",