@octanejs/cli 0.0.8 → 0.0.9
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.
- package/package.json +1 -1
- package/src/data/octane-data.json +407 -92
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"bindings": [
|
|
3
3
|
{
|
|
4
4
|
"name": "@octanejs/alien-signals",
|
|
5
|
-
"version": "0.0.
|
|
5
|
+
"version": "0.0.15",
|
|
6
6
|
"category": "Shared state",
|
|
7
7
|
"upstream": {
|
|
8
8
|
"package": "react-alien-signals",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"name": "@octanejs/animejs",
|
|
23
|
-
"version": "0.0.
|
|
23
|
+
"version": "0.0.19",
|
|
24
24
|
"category": "UI and interaction",
|
|
25
25
|
"upstream": {
|
|
26
26
|
"package": "animejs",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
{
|
|
41
41
|
"name": "@octanejs/apollo-client",
|
|
42
|
-
"version": "0.1.
|
|
42
|
+
"version": "0.1.44",
|
|
43
43
|
"category": "AI, data, and routing",
|
|
44
44
|
"upstream": { "package": "@apollo/client", "version": "4.2.6" },
|
|
45
45
|
"surface": "Complete published client adapter surface: all 18 @apollo/client/react runtime exports and their Apollo 4.2.6 TypeScript declarations, framework-neutral root/testing exports, an Octane MockedProvider, and the Octane-native /react/ssr prerenderStatic entry.",
|
|
@@ -53,22 +53,42 @@
|
|
|
53
53
|
},
|
|
54
54
|
{
|
|
55
55
|
"name": "@octanejs/aria",
|
|
56
|
-
"version": "0.0.
|
|
56
|
+
"version": "0.0.43",
|
|
57
57
|
"category": "UI and interaction",
|
|
58
58
|
"upstream": { "package": "react-aria", "version": "3.50.0" },
|
|
59
|
-
"surface": "
|
|
59
|
+
"surface": "The `@octanejs/aria/components` entry point matches the complete named public surface of `react-aria-components@1.19.0`: 280 runtime exports and 313 type exports, checked in both directions with no missing or extra names. This includes calendar/date/time, color, drag-and-drop, DropZone/FileTrigger, toast, data hooks, and virtualized layout APIs in addition to the previously ported primitives, overlays, collections, Tree, and Table. The root behavior-hook and `/stately` entries remain curated React Aria 3.50.0 / React Stately 3.48.0 surfaces rather than separate full-export claims.",
|
|
60
60
|
"divergences": [
|
|
61
61
|
"`native-input-event-wiring`: Text-input DOM wiring uses Octane's native `onInput` per keystroke instead of React's synthetic `onChange`; public value-level callbacks are unchanged.",
|
|
62
62
|
"`ref-as-prop`: React `forwardRef` wrappers become Octane ref-as-prop components.",
|
|
63
|
+
"React Server Components are not part of the Octane binding.",
|
|
63
64
|
"`valid-hoisted-identifiers`: The i18n server serializer keeps hoisted-string identifiers valid past 26 entries instead of emitting invalid JavaScript identifiers.",
|
|
64
65
|
"`server-rtl-direction`: The SSR locale direction derives from the injected locale via `isRTL` rather than being hard-coded to `ltr`."
|
|
65
66
|
],
|
|
66
|
-
"ssr": "Dedicated Node-mode coverage verifies SSRProvider, hydration-safe labelled relationships, server snapshots, and injected LTR/RTL locales; real Vite-compiled Octane server markup is hydrated in place and remains interactive.
|
|
67
|
-
"verified": "2026-08-
|
|
67
|
+
"ssr": "Dedicated Node-mode coverage verifies SSRProvider, hydration-safe labelled relationships, server snapshots, and injected LTR/RTL locales; real Vite-compiled Octane server markup is hydrated in place and remains interactive. The newly completed advanced component families have client behavior and type/export coverage but do not yet extend the package's existing SSR evidence.",
|
|
68
|
+
"verified": "2026-08-18"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"name": "@octanejs/auto-animate",
|
|
72
|
+
"version": "0.0.5",
|
|
73
|
+
"category": "UI and interaction",
|
|
74
|
+
"upstream": {
|
|
75
|
+
"package": "@formkit/auto-animate",
|
|
76
|
+
"version": "0.10.0",
|
|
77
|
+
"source": "https://github.com/formkit/auto-animate/tree/b6a6feebf75c198dd85f280c549bc0303f9e7aa8",
|
|
78
|
+
"license": "MIT"
|
|
79
|
+
},
|
|
80
|
+
"surface": "Vanilla autoAnimate core is reused from @formkit/auto-animate@0.10.0. The React useAutoAnimate hook is ported at ./react. Vue, Preact, Solid, Angular, Nuxt, Marko, and Qwik entry points are explicit gaps.",
|
|
81
|
+
"divergences": [
|
|
82
|
+
"Consumers import from @octanejs/auto-animate and @octanejs/auto-animate/react rather than @formkit/auto-animate and @formkit/auto-animate/react.",
|
|
83
|
+
"useAutoAnimate treats a compiler-injected symbol in the options position as omitted options.",
|
|
84
|
+
"Vue, Preact, Solid, Angular, Nuxt, Marko, and Qwik bindings are not ported."
|
|
85
|
+
],
|
|
86
|
+
"ssr": "The vanilla core is DOM-only; the hook attaches in a ref callback and destroys the controller on unmount. No server DOM mutations.",
|
|
87
|
+
"verified": "2026-08-20"
|
|
68
88
|
},
|
|
69
89
|
{
|
|
70
90
|
"name": "@octanejs/base-ui",
|
|
71
|
-
"version": "0.1.
|
|
91
|
+
"version": "0.1.47",
|
|
72
92
|
"category": "UI and interaction",
|
|
73
93
|
"upstream": { "package": "@base-ui/react", "version": "1.6.0" },
|
|
74
94
|
"surface": "Alpha, in progress: 35 of 43 upstream subpaths. The implemented surface has a complete byte-exact upstream inventory, 98 same-fixture React/Octane differential cases, and 49 Accordion, Collapsible, and Tabs adapted cases. This is bounded evidence and remains recorded-unverified because eight public subpaths and most of the canonical runtime/type suite are not yet adapted. Menu covers all 20 upstream parts, Toast all 11 parts, Collapsible all 3 parts, Accordion all 5 parts, and Tabs 4 of 5 parts (Indicator unported); their detailed gaps and evidence are recorded in UPSTREAM.md and audit/react-parity.json.",
|
|
@@ -81,9 +101,28 @@
|
|
|
81
101
|
"ssr": "Dedicated Node-mode tests cover server snapshots, accessible separators, edge-aligned slider visibility, and closed dialogs; hydration adopts Vite-compiled Octane server markup, transitions to the client snapshot, and preserves interaction. Open overlays and remaining components are not yet covered.",
|
|
82
102
|
"verified": "2026-08-01"
|
|
83
103
|
},
|
|
104
|
+
{
|
|
105
|
+
"name": "@octanejs/calendar",
|
|
106
|
+
"version": "0.0.5",
|
|
107
|
+
"category": "UI and interaction",
|
|
108
|
+
"upstream": {
|
|
109
|
+
"package": "react-calendar",
|
|
110
|
+
"version": "6.0.1",
|
|
111
|
+
"source": "https://github.com/wojtekmaj/react-calendar/tree/dc73f86f68239cb694650b66e0795a2f7f9323ed/packages/react-calendar",
|
|
112
|
+
"license": "MIT"
|
|
113
|
+
},
|
|
114
|
+
"surface": "Public react-calendar 6.0.1 runtime and type surface: default and named Calendar, CenturyView, DecadeView, MonthView, YearView, Navigation, CalendarProps, and all types exported by the upstream root. The three framework-neutral shared suites run without weakened assertions; representative Calendar and tile cases are adapted to Octane.",
|
|
115
|
+
"divergences": [
|
|
116
|
+
"Component refs are ordinary Octane props. Calendar ref exposes the upstream imperative handle; inputRef remains the DOM wrapper ref.",
|
|
117
|
+
"Callbacks receive native MouseEvent objects, which persist without React's synthetic event.persist() method.",
|
|
118
|
+
"Renderable public types use OctaneNode instead of React.ReactNode."
|
|
119
|
+
],
|
|
120
|
+
"ssr": "Supported. Pass locale explicitly when server and browser locale defaults may differ.",
|
|
121
|
+
"verified": "2026-08-20"
|
|
122
|
+
},
|
|
84
123
|
{
|
|
85
124
|
"name": "@octanejs/cmdk",
|
|
86
|
-
"version": "0.1.
|
|
125
|
+
"version": "0.1.32",
|
|
87
126
|
"category": "UI and interaction",
|
|
88
127
|
"upstream": { "package": "cmdk", "version": "1.1.1" },
|
|
89
128
|
"surface": "Complete against the published `cmdk@1.1.1` public surface: `Command` (the root itself) and the `CommandRoot` named export, `Command.Input`, `Command.List`, `Command.Item`, `Command.Group`, `Command.Separator`, `Command.Dialog`, `Command.Empty`, `Command.Loading`, the flat `CommandX` aliases, `useCommandState`, and `defaultFilter` — with the DOM-authoritative store and item/group registration, `useValue` text-content inference, `onInput`-driven search, score filtering plus item and group DOM sorting, keyboard navigation (arrows/Home/End/vim/Enter), controlled `value`/`onValueChange`/`loop`/`shouldFilter`/custom `filter`/`forceMount`, the `--cmdk-list-height` ResizeObserver, and a Radix-backed `Command.Dialog`. `asChild` is the one unsupported prop (see divergences).",
|
|
@@ -114,7 +153,7 @@
|
|
|
114
153
|
},
|
|
115
154
|
{
|
|
116
155
|
"name": "@octanejs/colorful",
|
|
117
|
-
"version": "0.0.
|
|
156
|
+
"version": "0.0.15",
|
|
118
157
|
"category": "UI and interaction",
|
|
119
158
|
"upstream": { "package": "react-colorful", "version": "5.8.0" },
|
|
120
159
|
"surface": "Complete against the published react-colorful 5.8.0 root runtime and type surface: all 14 picker variants, HexColorInput, setNonce, six public color types, controlled updates, mouse/touch/keyboard input, commit callbacks, ARIA state, and automatic closest-root styling.",
|
|
@@ -124,9 +163,34 @@
|
|
|
124
163
|
"ssr": "All pickers and HexColorInput render deterministically without browser globals, hydrate by adopting existing nodes, install styles only on the client, and become interactive after hydration.",
|
|
125
164
|
"verified": "2026-08-03"
|
|
126
165
|
},
|
|
166
|
+
{
|
|
167
|
+
"name": "@octanejs/content-loader",
|
|
168
|
+
"version": "0.0.5",
|
|
169
|
+
"category": "UI and interaction",
|
|
170
|
+
"upstream": {
|
|
171
|
+
"package": "react-content-loader",
|
|
172
|
+
"version": "7.1.2",
|
|
173
|
+
"source": "https://github.com/danilowoz/react-content-loader/tree/c8a6b6c6669d7e663f9d7e1efecec08e876b0e5d",
|
|
174
|
+
"license": "MIT"
|
|
175
|
+
},
|
|
176
|
+
"surface": "Web runtime at react-content-loader 7.1.2: default ContentLoader, Facebook, Instagram, Code, List, and BulletList presets, and IContentLoaderProps. ./native is an explicit gap.",
|
|
177
|
+
"divergences": [
|
|
178
|
+
"Consumers import from @octanejs/content-loader instead of react-content-loader.",
|
|
179
|
+
"The React Native ./native entry is not published because Octane has no React Native renderer.",
|
|
180
|
+
"React test-renderer and shallow-renderer observations are asserted through mounted SVG DOM without changing their numeric expectations.",
|
|
181
|
+
"useId values use Octane's opaque identifier format.",
|
|
182
|
+
"Octane serializes SVG/CSS url() functions with quotes while React's test renderer reports the unquoted form; uniqueKey/baseUrl relationships are unchanged.",
|
|
183
|
+
"Octane inserts empty comment holes between children; snapshots compare the public SVG tree after stripping those markers.",
|
|
184
|
+
"rtl=false uses an empty style object instead of null so the style spread typechecks.",
|
|
185
|
+
"IContentLoaderProps.style is an object map rather than Octane's string-or-object SVG style union, matching React SVGAttributes.",
|
|
186
|
+
"Git package.json at the pin SHA advertises 6.2.1; npm published 7.1.2 from that SHA."
|
|
187
|
+
],
|
|
188
|
+
"ssr": "Supported. uniqueKey pins clip and gradient identifiers; otherwise useId remains opaque and request-local.",
|
|
189
|
+
"verified": "2026-08-20"
|
|
190
|
+
},
|
|
127
191
|
{
|
|
128
192
|
"name": "@octanejs/day-picker",
|
|
129
|
-
"version": "0.0.
|
|
193
|
+
"version": "0.0.15",
|
|
130
194
|
"category": "UI and interaction",
|
|
131
195
|
"upstream": {
|
|
132
196
|
"package": "react-day-picker",
|
|
@@ -142,7 +206,7 @@
|
|
|
142
206
|
},
|
|
143
207
|
{
|
|
144
208
|
"name": "@octanejs/devtools",
|
|
145
|
-
"version": "0.0.
|
|
209
|
+
"version": "0.0.37",
|
|
146
210
|
"category": "Styling, tests, and devtools",
|
|
147
211
|
"upstream": { "package": "octane", "version": "workspace" },
|
|
148
212
|
"surface": "Octane-native DevTools plugin (not an upstream port): renders live runtime diagnostics into a TanStack Devtools host via @tanstack/devtools-event-client. P1 ships the Components tree + state inspector.",
|
|
@@ -152,7 +216,7 @@
|
|
|
152
216
|
},
|
|
153
217
|
{
|
|
154
218
|
"name": "@octanejs/dexie",
|
|
155
|
-
"version": "0.1.
|
|
219
|
+
"version": "0.1.42",
|
|
156
220
|
"category": "AI, data, and routing",
|
|
157
221
|
"upstream": { "package": "dexie-react-hooks", "version": "4.4.0" },
|
|
158
222
|
"surface": "Port of the public dexie-react-hooks surface: useObservable, useLiveQuery, useSuspendingObservable, useSuspendingLiveQuery, usePermissions, and useDocument, with Dexie's framework-neutral API re-exported from the package root.",
|
|
@@ -166,7 +230,7 @@
|
|
|
166
230
|
},
|
|
167
231
|
{
|
|
168
232
|
"name": "@octanejs/dnd-kit",
|
|
169
|
-
"version": "0.1.
|
|
233
|
+
"version": "0.1.44",
|
|
170
234
|
"category": "UI and interaction",
|
|
171
235
|
"upstream": { "package": "@dnd-kit/react", "version": "0.5.0" },
|
|
172
236
|
"surface": "Complete modern dnd-kit React-adapter surface: DragDropProvider, DragOverlay, useDraggable/useDroppable, manager/monitor/operation hooks, PointerSensor/KeyboardSensor re-exports, the public signal-hook utilities, useSortable, and all four upstream entry points.",
|
|
@@ -179,7 +243,7 @@
|
|
|
179
243
|
},
|
|
180
244
|
{
|
|
181
245
|
"name": "@octanejs/draggable",
|
|
182
|
-
"version": "0.0.
|
|
246
|
+
"version": "0.0.15",
|
|
183
247
|
"category": "UI and interaction",
|
|
184
248
|
"upstream": { "package": "react-draggable", "version": "4.7.1" },
|
|
185
249
|
"surface": "Complete against the published react-draggable 4.7.1 root runtime and type surface: default Draggable, named DraggableCore, controlled and uncontrolled positioning, bounds, grid, axis, offsets, mouse and touch gestures, and all eight public types.",
|
|
@@ -192,7 +256,7 @@
|
|
|
192
256
|
},
|
|
193
257
|
{
|
|
194
258
|
"name": "@octanejs/drei",
|
|
195
|
-
"version": "0.0.
|
|
259
|
+
"version": "0.0.15",
|
|
196
260
|
"category": "Web 3D",
|
|
197
261
|
"upstream": { "package": "@react-three/drei", "version": "10.7.7" },
|
|
198
262
|
"surface": "Complete port of the pinned @react-three/drei 10.7.7 public web API (commit b8b99fd4ca1dfb8d821335671320512daa6efea4): 379 source exports and 217 runtime exports are accounted for by the executable crosswalk, with 299 parity assertions across 105 test files.",
|
|
@@ -204,7 +268,7 @@
|
|
|
204
268
|
},
|
|
205
269
|
{
|
|
206
270
|
"name": "@octanejs/dropzone",
|
|
207
|
-
"version": "0.0.
|
|
271
|
+
"version": "0.0.15",
|
|
208
272
|
"category": "Forms and content",
|
|
209
273
|
"upstream": { "package": "react-dropzone", "version": "20.0.0" },
|
|
210
274
|
"surface": "Exact mapped port of the react-dropzone 20.0.0 root runtime and type namespace at canonical commit 01fc05c5996bf615caf812627f7491375e647c7d. The binding preserves the default Dropzone component, useDropzone, ErrorCode, all public types, root package conditions, and ./package.json export. Runtime coverage executes 218 pristine canonical React cases plus 109 adapted, differential, SSR, hydration, browser, and evidence cases.",
|
|
@@ -217,7 +281,7 @@
|
|
|
217
281
|
},
|
|
218
282
|
{
|
|
219
283
|
"name": "@octanejs/electron",
|
|
220
|
-
"version": "0.0.
|
|
284
|
+
"version": "0.0.27",
|
|
221
285
|
"category": "Desktop",
|
|
222
286
|
"upstream": { "package": "electron", "version": "43.2.0" },
|
|
223
287
|
"surface": "Process-split Electron bindings: ./main registers ipcMain handlers, ./main/native re-exports main-only Electron APIs (Menu, Tray, session, protocol, BrowserWindow, …), ./preload exposes Electron IPC and desktop helpers via contextBridge, and the renderer entry provides Octane hooks (useInvoke, useInvokeState, useIpcEvent, useNativeTheme, useWindowState) plus promise helpers for app/window/dialog/shell/clipboard/screen. Menu/Tray/session/protocol stay intentional main-only under contextIsolation.",
|
|
@@ -235,7 +299,7 @@
|
|
|
235
299
|
},
|
|
236
300
|
{
|
|
237
301
|
"name": "@octanejs/embla-carousel",
|
|
238
|
-
"version": "0.0.
|
|
302
|
+
"version": "0.0.15",
|
|
239
303
|
"category": "UI and interaction",
|
|
240
304
|
"upstream": {
|
|
241
305
|
"package": "embla-carousel-react",
|
|
@@ -249,17 +313,39 @@
|
|
|
249
313
|
},
|
|
250
314
|
{
|
|
251
315
|
"name": "@octanejs/floating-ui",
|
|
252
|
-
"version": "0.1.
|
|
316
|
+
"version": "0.1.48",
|
|
253
317
|
"category": "UI and interaction",
|
|
254
318
|
"upstream": { "package": "@floating-ui/react", "version": "0.27.19" },
|
|
255
|
-
"surface": "
|
|
256
|
-
"divergences": [
|
|
257
|
-
|
|
258
|
-
|
|
319
|
+
"surface": "Complete @floating-ui/react 0.27.19 export surface: positioning (`useFloating`, ref-aware `arrow`, and the framework-neutral middleware re-exports), floating tree and list primitives, every interaction hook, portals/overlays/focus management/arrows/composites, transitions, both delay-group APIs, and the deprecated `inner`/`useInnerOffset` pair. Runtime parity is executable and bounded: 272 adapted assertions pass compatibly, 29 remain executable expected-failure negative controls, and 6 upstream-declared skips are non-evidence.",
|
|
320
|
+
"divergences": [
|
|
321
|
+
"`ref-as-prop`: React forwardRef component APIs become Octane ref-as-prop APIs.",
|
|
322
|
+
"Twenty-nine upstream assertions remain executable expected-failure controls across ref/focus/effect scheduling, dynamic-child registration, iframe realms, render counts, React-only context fixtures, and list registration; audit/expected-failures.json names every case.",
|
|
323
|
+
"The combined Octane entry point cannot preserve every @floating-ui/react-dom-only type narrowing; the one-for-one adapted type program records those diagnostics explicitly."
|
|
324
|
+
],
|
|
325
|
+
"ssr": "No dedicated SSR/hydration lane; the supported claims are client positioning and interactions.",
|
|
326
|
+
"verified": "2026-08-26"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"name": "@octanejs/formisch",
|
|
330
|
+
"version": "0.0.4",
|
|
331
|
+
"category": "Forms and content",
|
|
332
|
+
"upstream": {
|
|
333
|
+
"package": "@formisch/react",
|
|
334
|
+
"version": "1.0.0-rc.0",
|
|
335
|
+
"commit": "4c494fd8cf105efd04a4b179e9c090595a0bf041"
|
|
336
|
+
},
|
|
337
|
+
"surface": "Ports the Formisch React adapter surface while vendoring its React-selected core and modular methods into one React-free Octane package.",
|
|
338
|
+
"divergences": [
|
|
339
|
+
"Octane native text controls use `onInput`; selects, checkboxes, and radios use native `onChange`.",
|
|
340
|
+
"React synthetic event and renderable types are replaced with native DOM events and OctaneNode.",
|
|
341
|
+
"React StrictMode-specific delayed signal cleanup is omitted in favor of Octane lifecycle cleanup."
|
|
342
|
+
],
|
|
343
|
+
"ssr": "Supported and tested: sequential requests stay isolated, hydration adopts existing form controls, and native input updates activate after hydration.",
|
|
344
|
+
"verified": "2026-07-30"
|
|
259
345
|
},
|
|
260
346
|
{
|
|
261
347
|
"name": "@octanejs/gsap",
|
|
262
|
-
"version": "0.0.
|
|
348
|
+
"version": "0.0.18",
|
|
263
349
|
"category": "UI and interaction",
|
|
264
350
|
"upstream": {
|
|
265
351
|
"package": "@gsap/react",
|
|
@@ -278,7 +364,7 @@
|
|
|
278
364
|
},
|
|
279
365
|
{
|
|
280
366
|
"name": "@octanejs/hook-form",
|
|
281
|
-
"version": "0.1.
|
|
367
|
+
"version": "0.1.46",
|
|
282
368
|
"category": "Forms and content",
|
|
283
369
|
"upstream": { "package": "react-hook-form", "version": "7.81.0" },
|
|
284
370
|
"surface": "Complete port of react-hook-form 7.81.0 (tag commit 46b217e034dd92f7aa3cb3a478815556b416b299). The automated parity check runs all 1,193 original tests against the pinned React package as a pristine baseline; the Octane port separately runs byte-locked, unfiltered DOM and server suites with exact collected/executed inventories containing 1,187 entries representing 1,178 unique file/full-name identities. The nine duplicate entries are repeated titles within the DOM inventory; the server inventory is disjoint. Coverage includes `useForm`, `useController`, `useFieldArray`, `useFormState`, `useWatch`, `useFormContext`/`FormProvider`, schema resolvers, and all validation modes.",
|
|
@@ -289,9 +375,30 @@
|
|
|
289
375
|
"ssr": "Supported and tested — the upstream `*.server.test.tsx` suite runs via `octane/server` with byte-identical markup.",
|
|
290
376
|
"verified": "2026-08-01"
|
|
291
377
|
},
|
|
378
|
+
{
|
|
379
|
+
"name": "@octanejs/html-react-parser",
|
|
380
|
+
"version": "0.0.5",
|
|
381
|
+
"category": "Forms and content",
|
|
382
|
+
"upstream": {
|
|
383
|
+
"package": "html-react-parser",
|
|
384
|
+
"version": "6.1.7",
|
|
385
|
+
"source": "https://github.com/remarkablemark/html-react-parser/tree/v6.1.7",
|
|
386
|
+
"license": "MIT"
|
|
387
|
+
},
|
|
388
|
+
"surface": "Public runtime surface at html-react-parser 6.1.7: default parse, attributesToProps, domToReact, htmlToDOM, HTMLReactParserOptions, and re-exported domhandler node classes. library defaults to Octane createElement/cloneElement/isValidElement.",
|
|
389
|
+
"divergences": [
|
|
390
|
+
"Consumers import from @octanejs/html-react-parser instead of html-react-parser.",
|
|
391
|
+
"Default element library is Octane, not React.",
|
|
392
|
+
"PRESERVE_CUSTOM_ATTRIBUTES is hardcoded true because Octane matches React 16+ DOM attributes while octane.version is 0.x.",
|
|
393
|
+
"Public types use ElementDescriptor/OctaneNode instead of React JSX.Element/ReactNode.",
|
|
394
|
+
"Octane serializes style objects through CSSOM, so custom-element style attribute spelling can differ from React snapshots while the parsed style object stays identical."
|
|
395
|
+
],
|
|
396
|
+
"ssr": "Parsing is string-to-element-tree and is SSR-safe. Rendering the tree uses Octane server renderToStaticMarkup.",
|
|
397
|
+
"verified": "2026-08-20"
|
|
398
|
+
},
|
|
292
399
|
{
|
|
293
400
|
"name": "@octanejs/i18next",
|
|
294
|
-
"version": "0.1.
|
|
401
|
+
"version": "0.1.44",
|
|
295
402
|
"category": "Forms and content",
|
|
296
403
|
"upstream": { "package": "react-i18next", "version": "17.0.9" },
|
|
297
404
|
"surface": "Complete runtime port of react-i18next 17.0.9: useTranslation, I18nextProvider/context, Trans/TransWithoutContext, IcuTrans/IcuTransWithoutContext, Translation, the withTranslation/withSSR HOCs, useSSR, namespace reporting, initialization/default helpers, and the root ICU helper exports over the unchanged i18next core.",
|
|
@@ -305,8 +412,25 @@
|
|
|
305
412
|
"verified": "2026-08-02"
|
|
306
413
|
},
|
|
307
414
|
{
|
|
308
|
-
"name": "@octanejs/
|
|
415
|
+
"name": "@octanejs/image-crop",
|
|
309
416
|
"version": "0.0.5",
|
|
417
|
+
"category": "UI and interaction",
|
|
418
|
+
"upstream": {
|
|
419
|
+
"package": "react-image-crop",
|
|
420
|
+
"version": "11.1.2",
|
|
421
|
+
"commit": "2cd4d49b36ec9a29a63b27394ec29ade5646dc99"
|
|
422
|
+
},
|
|
423
|
+
"surface": "ReactCrop, default and Component aliases, crop types, aspect/centering/conversion/containment/nudge utilities, browser canvas/image helpers, pointer and keyboard crop interactions, selection addons, circular masks, rule-of-thirds overlays, and stylesheet compatibility exports.",
|
|
424
|
+
"divergences": [
|
|
425
|
+
"Event callbacks receive native DOM PointerEvent objects because Octane has no synthetic event layer.",
|
|
426
|
+
"The upstream Sass source compatibility path resolves to the precompiled CSS artifact."
|
|
427
|
+
],
|
|
428
|
+
"ssr": "ReactCrop renders its static wrapper, media child, mask, and selection markup without reading browser globals during render; crop interaction remains client-only.",
|
|
429
|
+
"verified": "2026-08-20"
|
|
430
|
+
},
|
|
431
|
+
{
|
|
432
|
+
"name": "@octanejs/inertia",
|
|
433
|
+
"version": "0.0.18",
|
|
310
434
|
"category": "AI, data, and routing",
|
|
311
435
|
"upstream": { "package": "@inertiajs/react", "version": "3.6.1" },
|
|
312
436
|
"surface": "Octane Inertia 3.6.1 adapter foundation: framework-neutral router, HTTP client, progress, and server exports reuse @inertiajs/core unchanged; page, remember, poll, prefetch, form-state, router-submit, direct-HTTP, precognition, and layout-property hooks are ported to Octane.",
|
|
@@ -316,22 +440,36 @@
|
|
|
316
440
|
"ssr": "The framework-neutral Inertia server entry is exposed. Hook initialization is request-local and covered in the server runtime; Octane page rendering and hydration are completed by the adapter SSR unit.",
|
|
317
441
|
"verified": "2026-07-30"
|
|
318
442
|
},
|
|
443
|
+
{
|
|
444
|
+
"name": "@octanejs/ink",
|
|
445
|
+
"version": "0.0.12",
|
|
446
|
+
"category": "Terminal UI",
|
|
447
|
+
"upstream": { "package": "ink", "version": "7.1.1" },
|
|
448
|
+
"surface": "Complete against Ink 7.1.1's published exports: terminal render roots, Yoga-backed Box and Text primitives, Static/Transform/Newline/Spacer, application and stream hooks, input/paste/focus/cursor/animation/window-size/metrics hooks, measurement helpers, DOM element types, and Kitty keyboard protocol helpers.",
|
|
449
|
+
"divergences": [
|
|
450
|
+
"Octane programmatic roots accept a component and props separately instead of a pre-created React element.",
|
|
451
|
+
"The concurrent render option remains accepted for source compatibility, but scheduling is owned by Octane rather than React Concurrent Mode.",
|
|
452
|
+
"Components are authored as .ink.tsrx and require @octanejs/ink's renderer configuration and JSX intrinsics."
|
|
453
|
+
],
|
|
454
|
+
"ssr": "Ink is a native terminal renderer. renderToString uses the same Octane universal host driver and Yoga/ANSI renderer without a terminal session.",
|
|
455
|
+
"verified": "2026-08-10"
|
|
456
|
+
},
|
|
319
457
|
{
|
|
320
458
|
"name": "@octanejs/input-otp",
|
|
321
|
-
"version": "0.0.
|
|
459
|
+
"version": "0.0.15",
|
|
322
460
|
"category": "Forms and content",
|
|
323
|
-
"upstream": { "package": "input-otp", "version": "1.
|
|
324
|
-
"surface": "Complete against input-otp@1.
|
|
461
|
+
"upstream": { "package": "input-otp", "version": "1.5.0" },
|
|
462
|
+
"surface": "Complete against input-otp@1.5.0: OTPInput, OTPInputContext, the three exported regexp patterns, public props and slot types including nonce, controlled and uncontrolled values, one-input accessibility and mobile-autofill markup, default spellcheck off, translation opt-out, render/context projection, keyboard selection and deletion, paste transformation, completion callbacks, overflow-aware password-manager displacement, SSR, and hydration.",
|
|
325
463
|
"divergences": [
|
|
326
464
|
"Octane's native per-edit `input` event drives the hidden text input internally; the public callback remains the source-compatible `onChange(newValue)`.",
|
|
327
465
|
"Refs are ordinary Octane ref props rather than React `forwardRef`; consumer ref behavior is unchanged."
|
|
328
466
|
],
|
|
329
467
|
"ssr": "Supported and tested — rendering is deterministic and browser-global-free; hydration adopts the server input and cleanup removes owned listeners, observers, timers, and styles.",
|
|
330
|
-
"verified": "2026-08-
|
|
468
|
+
"verified": "2026-08-20"
|
|
331
469
|
},
|
|
332
470
|
{
|
|
333
471
|
"name": "@octanejs/intersection-observer",
|
|
334
|
-
"version": "0.0.
|
|
472
|
+
"version": "0.0.15",
|
|
335
473
|
"category": "UI and interaction",
|
|
336
474
|
"upstream": {
|
|
337
475
|
"package": "react-intersection-observer",
|
|
@@ -353,7 +491,7 @@
|
|
|
353
491
|
},
|
|
354
492
|
{
|
|
355
493
|
"name": "@octanejs/jotai",
|
|
356
|
-
"version": "0.1.
|
|
494
|
+
"version": "0.1.46",
|
|
357
495
|
"category": "Shared state",
|
|
358
496
|
"upstream": { "package": "jotai", "version": "2.20.2" },
|
|
359
497
|
"surface": "Complete 1:1 port: the framework-agnostic vanilla core (`jotai/vanilla`, `/vanilla/utils`, `/vanilla/internals`) is reused verbatim; the React layer (`Provider`, `useStore`, `useAtom`, `useAtomValue`, `useSetAtom`) and `react/utils` (`useResetAtom`, `useReducerAtom`, `useAtomCallback`, `useHydrateAtoms`) are ported onto octane hooks, preserving upstream's useReducer force-update + effect-subscription implementation, async atoms via octane's `use()`.",
|
|
@@ -363,7 +501,7 @@
|
|
|
363
501
|
},
|
|
364
502
|
{
|
|
365
503
|
"name": "@octanejs/lexical",
|
|
366
|
-
"version": "0.1.
|
|
504
|
+
"version": "0.1.48",
|
|
367
505
|
"category": "Forms and content",
|
|
368
506
|
"upstream": { "package": "@lexical/react", "version": "0.46.0" },
|
|
369
507
|
"surface": "The 35 legacy `@lexical/react` modules represented by this port cover composer + contexts, the editable surface, plain/rich text, the plugin/menu set, and the `useLexical*` hooks. The 0.46.0 extension subsystem, collaboration plugin, and tree view remain excluded as itemized in UPSTREAM.md.",
|
|
@@ -376,7 +514,7 @@
|
|
|
376
514
|
},
|
|
377
515
|
{
|
|
378
516
|
"name": "@octanejs/livestore",
|
|
379
|
-
"version": "0.0.
|
|
517
|
+
"version": "0.0.19",
|
|
380
518
|
"category": "AI, data, and routing",
|
|
381
519
|
"upstream": { "package": "@livestore/react", "version": "0.4.0" },
|
|
382
520
|
"surface": "Ports the complete stable renderer surface (registry provider/access, Suspense store loading and augmentation, reactive queries, client documents, and sync status) plus the exported experimental LiveList over LiveStore's unchanged 0.4.0 framework-neutral packages.",
|
|
@@ -390,7 +528,7 @@
|
|
|
390
528
|
},
|
|
391
529
|
{
|
|
392
530
|
"name": "@octanejs/lucide",
|
|
393
|
-
"version": "0.1.
|
|
531
|
+
"version": "0.1.44",
|
|
394
532
|
"category": "UI and interaction",
|
|
395
533
|
"upstream": { "package": "lucide-react", "version": "1.24.0" },
|
|
396
534
|
"surface": "Complete against the published `lucide-react@1.24.0` runtime surface: every canonical icon and alias, the `icons` namespace, `Icon`, `createLucideIcon`, `LucideProvider`, `useLucideContext`, `DynamicIcon`, `iconNames`, `dynamicIconImports`, and per-icon subpath imports.",
|
|
@@ -403,7 +541,7 @@
|
|
|
403
541
|
},
|
|
404
542
|
{
|
|
405
543
|
"name": "@octanejs/mantine-hooks",
|
|
406
|
-
"version": "0.1.
|
|
544
|
+
"version": "0.1.30",
|
|
407
545
|
"category": "UI and interaction",
|
|
408
546
|
"upstream": { "package": "@mantine/hooks", "version": "9.5.0" },
|
|
409
547
|
"surface": "Complete @mantine/hooks 9.5.0 runtime export surface: state, timing, storage, viewport, input, focus, pointer, observer, hotkey, scrolling, collapse, drag, splitter, mask, and utility hooks.",
|
|
@@ -417,7 +555,7 @@
|
|
|
417
555
|
},
|
|
418
556
|
{
|
|
419
557
|
"name": "@octanejs/markdown",
|
|
420
|
-
"version": "0.0.
|
|
558
|
+
"version": "0.0.15",
|
|
421
559
|
"category": "Forms and content",
|
|
422
560
|
"upstream": { "package": "react-markdown", "version": "10.1.0" },
|
|
423
561
|
"surface": "Complete react-markdown 10.1.0 root runtime and public type surface: Markdown, MarkdownAsync, MarkdownHooks, defaultUrlTransform, and all six exported type families.",
|
|
@@ -431,7 +569,7 @@
|
|
|
431
569
|
},
|
|
432
570
|
{
|
|
433
571
|
"name": "@octanejs/mdx",
|
|
434
|
-
"version": "0.1.
|
|
572
|
+
"version": "0.1.46",
|
|
435
573
|
"category": "Forms and content",
|
|
436
574
|
"upstream": { "package": "@mdx-js/mdx", "version": "3.1.1" },
|
|
437
575
|
"surface": "The full compile-don't-interpret pipeline: `.mdx`/`.md` → `@mdx-js/mdx` (reused verbatim) → octane compiler, via the `octaneMdx()` Vite plugin plus the `./compile` and `./server` entries; compiler warnings propagate through direct and Vite compile surfaces with authored `.mdx` ranges; `@mdx-js/react`'s provider layer (`MDXProvider`/`useMDXComponents`) is ported onto octane context. The octane website runs on it.",
|
|
@@ -443,7 +581,7 @@
|
|
|
443
581
|
},
|
|
444
582
|
{
|
|
445
583
|
"name": "@octanejs/mobx",
|
|
446
|
-
"version": "0.1.
|
|
584
|
+
"version": "0.1.30",
|
|
447
585
|
"category": "Shared state",
|
|
448
586
|
"upstream": { "package": "mobx-react-lite", "version": "4.1.1", "core": "mobx@6.16.1" },
|
|
449
587
|
"surface": "The framework-independent MobX core is re-exported verbatim. The function-component binding includes observer, Observer, useObserver, useLocalObservable, enableStaticRendering, isUsingStaticRendering, and the deprecated useStaticRendering alias.",
|
|
@@ -457,7 +595,7 @@
|
|
|
457
595
|
},
|
|
458
596
|
{
|
|
459
597
|
"name": "@octanejs/monaco-editor",
|
|
460
|
-
"version": "0.0.
|
|
598
|
+
"version": "0.0.17",
|
|
461
599
|
"category": "Forms and content",
|
|
462
600
|
"upstream": {
|
|
463
601
|
"package": "@monaco-editor/react",
|
|
@@ -477,7 +615,7 @@
|
|
|
477
615
|
},
|
|
478
616
|
{
|
|
479
617
|
"name": "@octanejs/motion",
|
|
480
|
-
"version": "0.1.
|
|
618
|
+
"version": "0.1.48",
|
|
481
619
|
"category": "UI and interaction",
|
|
482
620
|
"upstream": { "package": "motion", "version": "12.42.2" },
|
|
483
621
|
"surface": "Core surface: `motion.<tag>` (animate, gestures, variants with propagation/stagger, drag, layout basics), `AnimatePresence`, `MotionConfig`, live `useReducedMotion`, reduced-motion enforcement, `LayoutGroup` layoutId namespaces, `LazyMotion` with `domAnimation`/`domMax`, the `m` proxy and complete `./react-m` named host entry, plus the motion-value hooks (`useMotionValue`, `useScroll`, `useTransform`, `useSpring`, `useAnimate`, `useMotionValueEvent`); motion-dom's animation engine and gesture primitives are reused verbatim.",
|
|
@@ -491,7 +629,7 @@
|
|
|
491
629
|
},
|
|
492
630
|
{
|
|
493
631
|
"name": "@octanejs/nuqs",
|
|
494
|
-
"version": "0.1.
|
|
632
|
+
"version": "0.1.38",
|
|
495
633
|
"category": "AI, data, and routing",
|
|
496
634
|
"upstream": { "package": "nuqs", "version": "2.9.1" },
|
|
497
635
|
"surface": "Full vendored port: the framework-agnostic core (`parsers`/`parseAs*`/`createParser`, `createSerializer`, `createLoader`, `createStandardSchemaV1`, the throttle/debounce update queues, sync emitter and URL encoding) is vendored verbatim from nuqs 2.9.1; the React layer (`useQueryState`, `useQueryStates`, the `useSyncExternalStores` helper and the adapter context) is ported onto octane's hooks — same `useState`/`useEffect`/`useSyncExternalStore` implementation shape as upstream, so re-render and URL-reconciliation behaviour matches nuqs on React. Adapters ported: `@octanejs/nuqs/adapters/react` (`NuqsAdapter`, `enableHistorySync`), `/adapters/custom` (`unstable_createAdapterProvider`), `/adapters/testing` (`NuqsTestingAdapter`, `withNuqsTestingAdapter`). Server surface (`@octanejs/nuqs/server`) exposes `createLoader`/`createSerializer`/parsers/`createStandardSchemaV1`.",
|
|
@@ -504,9 +642,26 @@
|
|
|
504
642
|
"ssr": "The react-free server entry has a dedicated Node lane for parsing and serialising search params. Client hydration remains outside the supported evidence claim.",
|
|
505
643
|
"verified": "2026-08-02"
|
|
506
644
|
},
|
|
645
|
+
{
|
|
646
|
+
"name": "@octanejs/opentui",
|
|
647
|
+
"version": "0.0.4",
|
|
648
|
+
"category": "Terminal",
|
|
649
|
+
"upstream": { "package": "@opentui/react", "version": "0.5.8" },
|
|
650
|
+
"surface": "Technical-preview OpenTUI 0.5.8 renderer: renderer-local TSRX intrinsics for the complete built-in catalogue and text modifiers, custom `extend()` renderables, component-plus-props roots, OpenTUI prop/style/event application, refs and retained visibility, same-renderer `RootRenderable` portals, terminal error fallback, `act`/`flushSync`, all public hooks, `TimeToFirstDraw`, the core slot/plugin registry adapted to universal renderables, and an FFI-backed test utility. Native behavioral coverage exercises terminal frames, state and prop updates, host identity, keyboard and resize hooks, multi-argument select callbacks, subscription cleanup, portals, slots, errors, and teardown under Bun.",
|
|
651
|
+
"divergences": [
|
|
652
|
+
"Octane owns reconciliation, components, hooks, context, scheduling, errors, refs, and effects instead of embedding React Reconciler.",
|
|
653
|
+
"Components are authored in `.opentui.tsrx`; the package does not export React `createElement` or accept React element trees. Programmatic roots render an Octane component plus props.",
|
|
654
|
+
"Refs are ordinary Octane props and may be composed with `ref={[a, b]}`; there is no `forwardRef` layer.",
|
|
655
|
+
"Slot plugins return universal renderables and plugin errors use source `octane` instead of `react`. `createReactSlotRegistry` and the upstream `React*` type names remain migration aliases for the canonical Octane-named API.",
|
|
656
|
+
"React DevTools and OpenTUI's React runtime-plugin bundling subpaths are not ported. Applications configure the Octane compiler with `opentuiRenderers`.",
|
|
657
|
+
"Portal targets are explicitly limited to borrowed `RootRenderable` instances from the same `CliRenderer` context and are never destroyed by the binding."
|
|
658
|
+
],
|
|
659
|
+
"ssr": "Unsupported. OpenTUI is a native terminal renderer; `.opentui.tsrx` modules are rejected from server graphs and have no HTML hydration contract.",
|
|
660
|
+
"verified": "2026-08-25"
|
|
661
|
+
},
|
|
507
662
|
{
|
|
508
663
|
"name": "@octanejs/pdf",
|
|
509
|
-
"version": "0.0.
|
|
664
|
+
"version": "0.0.15",
|
|
510
665
|
"category": "Forms and content",
|
|
511
666
|
"upstream": { "package": "react-pdf", "version": "10.4.1" },
|
|
512
667
|
"surface": "Complete against the documented react-pdf 10.4.1 root contract: Document, Page, Thumbnail, Outline, all three context hooks, PasswordResponses, pdfjs, all ten root types, both documented layer styles, and the unchanged PDF.js worker import.",
|
|
@@ -519,7 +674,7 @@
|
|
|
519
674
|
},
|
|
520
675
|
{
|
|
521
676
|
"name": "@octanejs/phosphor-icons",
|
|
522
|
-
"version": "0.0.
|
|
677
|
+
"version": "0.0.29",
|
|
523
678
|
"category": "UI and interaction",
|
|
524
679
|
"upstream": { "package": "@phosphor-icons/react", "version": "2.1.10" },
|
|
525
680
|
"surface": "All 1,512 canonical icons from @phosphor-icons/core@2.1.1, including the upstream deprecated Icon-suffixed aliases, six weights, IconContext, IconBase, root exports, and per-icon imports.",
|
|
@@ -533,7 +688,7 @@
|
|
|
533
688
|
},
|
|
534
689
|
{
|
|
535
690
|
"name": "@octanejs/popper",
|
|
536
|
-
"version": "0.0.
|
|
691
|
+
"version": "0.0.15",
|
|
537
692
|
"category": "UI and interaction",
|
|
538
693
|
"upstream": { "package": "react-popper", "version": "2.3.0" },
|
|
539
694
|
"surface": "Complete against the published react-popper 2.3.0 root runtime and type surface: Manager, Reference, Popper, usePopper, render-function refs and styles, explicit and virtual references, arrows, hide data, lifecycle actions, Popper modifiers, and all public types.",
|
|
@@ -546,7 +701,7 @@
|
|
|
546
701
|
},
|
|
547
702
|
{
|
|
548
703
|
"name": "@octanejs/radix",
|
|
549
|
-
"version": "0.1.
|
|
704
|
+
"version": "0.1.48",
|
|
550
705
|
"category": "UI and interaction",
|
|
551
706
|
"upstream": { "package": "radix-ui", "version": "1.6.4" },
|
|
552
707
|
"surface": "Surface-present against the unified `radix-ui@1.6.4` component exports. Sixteen repo-authored differential cases compare representative primitives and interactions against the real package; the complete 38-file canonical upstream suite is preserved but not adapted, so the binding remains recorded-unverified.",
|
|
@@ -559,7 +714,7 @@
|
|
|
559
714
|
},
|
|
560
715
|
{
|
|
561
716
|
"name": "@octanejs/rainbowkit",
|
|
562
|
-
"version": "0.0.
|
|
717
|
+
"version": "0.0.29",
|
|
563
718
|
"category": "Web3",
|
|
564
719
|
"upstream": { "package": "@rainbow-me/rainbowkit", "version": "2.2.11" },
|
|
565
720
|
"surface": "Octane-native RainbowKitProvider, ConnectButton and ConnectButton.Custom, WalletButton, connect/account/chain modal hooks, connector selection, account/chain actions, native accessible dialogs, and light/dark/midnight themes.",
|
|
@@ -575,7 +730,7 @@
|
|
|
575
730
|
},
|
|
576
731
|
{
|
|
577
732
|
"name": "@octanejs/react-error-boundary",
|
|
578
|
-
"version": "0.1.
|
|
733
|
+
"version": "0.1.30",
|
|
579
734
|
"category": "UI and interaction",
|
|
580
735
|
"upstream": { "package": "react-error-boundary", "version": "6.1.2" },
|
|
581
736
|
"surface": "Complete against the published react-error-boundary 6.1.2 function/type surface adapted to Octane: ErrorBoundary, ErrorBoundaryContext, getErrorMessage, fallback variants, onError/onReset callbacks, resetKeys, useErrorBoundary (including error), withErrorBoundary, OnErrorCallback, and UseErrorBoundaryApi.",
|
|
@@ -589,7 +744,7 @@
|
|
|
589
744
|
},
|
|
590
745
|
{
|
|
591
746
|
"name": "@octanejs/react-map-gl",
|
|
592
|
-
"version": "0.0.
|
|
747
|
+
"version": "0.0.21",
|
|
593
748
|
"category": "Data-heavy screens",
|
|
594
749
|
"upstream": { "package": "@vis.gl/react-mapbox", "version": "8.1.2 (b1e46fcf)" },
|
|
595
750
|
"surface": "Complete against the pinned @vis.gl/react-mapbox 8.1.2 public surface — the package react-map-gl/mapbox re-exports: Map (and default), Marker, Popup, Source, Layer, AttributionControl, FullscreenControl, GeolocateControl, NavigationControl, ScaleControl, useControl, MapProvider, useMap, and every published type. The framework-neutral half of upstream (the Mapbox engine, proxy transform, map ref, and six utils) is reused byte-for-byte and validated by upstream's own specs run against both source trees.",
|
|
@@ -605,7 +760,7 @@
|
|
|
605
760
|
},
|
|
606
761
|
{
|
|
607
762
|
"name": "@octanejs/recharts",
|
|
608
|
-
"version": "0.1.
|
|
763
|
+
"version": "0.1.46",
|
|
609
764
|
"category": "Data-heavy screens",
|
|
610
765
|
"upstream": { "package": "recharts", "version": "3.9.2" },
|
|
611
766
|
"surface": "Broad runtime support across cartesian, polar, hierarchical, tooltip, legend, responsive-container, shape, and chart-state surfaces. `Brush` and `Treemap` remain intentionally unsupported.",
|
|
@@ -617,7 +772,7 @@
|
|
|
617
772
|
},
|
|
618
773
|
{
|
|
619
774
|
"name": "@octanejs/redux",
|
|
620
|
-
"version": "0.1.
|
|
775
|
+
"version": "0.1.46",
|
|
621
776
|
"category": "Shared state",
|
|
622
777
|
"upstream": { "package": "react-redux", "version": "9.3.0" },
|
|
623
778
|
"surface": "The hooks + `Provider` surface of react-redux 9.3.0 (`useSelector`, `useDispatch`, `useStore`, and the custom-context factory variants) on octane's `useSyncExternalStore`; works with any Redux 5 / Redux Toolkit store. Upstream runtime-export completeness is pinned by test.",
|
|
@@ -631,7 +786,7 @@
|
|
|
631
786
|
},
|
|
632
787
|
{
|
|
633
788
|
"name": "@octanejs/redux-toolkit",
|
|
634
|
-
"version": "0.1.
|
|
789
|
+
"version": "0.1.44",
|
|
635
790
|
"category": "Shared state",
|
|
636
791
|
"upstream": { "package": "@reduxjs/toolkit", "version": "2.12.0" },
|
|
637
792
|
"surface": "Complete four-entry-point port: the framework-agnostic Toolkit and RTK Query core are re-exported verbatim; `/query/react` provides generated query, lazy-query, mutation, infinite-query, prefetch hooks and `ApiProvider`; `/react` provides the dynamic-middleware dispatch-hook integration.",
|
|
@@ -644,7 +799,7 @@
|
|
|
644
799
|
},
|
|
645
800
|
{
|
|
646
801
|
"name": "@octanejs/remix-router",
|
|
647
|
-
"version": "0.1.
|
|
802
|
+
"version": "0.1.45",
|
|
648
803
|
"category": "AI, data, and routing",
|
|
649
804
|
"upstream": { "package": "react-router", "version": "8.2.0" },
|
|
650
805
|
"surface": "All planned port phases are shipped and the pinned runtime export namespace is complete: the framework-agnostic router core, data/declarative/DOM/mutation/guard layers, static SSR, and cookie/session runtime are implemented on Octane. Framework-mode and RSC names remain throwing scope stubs. Selected vendored-core suites, local conformance, and nine exact shared-fixture scenarios provide bounded evidence rather than exhaustive React parity.",
|
|
@@ -658,9 +813,21 @@
|
|
|
658
813
|
"ssr": "Shipped: StaticRouter/StaticRouterProvider/createStaticHandler/createStaticRouter render through octane/server (remix-router-ssr vitest project compiles the whole graph in server mode; markup matches react-dom/server byte-for-byte after framework-marker stripping). Block-children <Routes> is CLIENT-only (the registration collector runs in layout effects) — use descriptor children or route objects for SSR.",
|
|
659
814
|
"verified": "2026-08-02"
|
|
660
815
|
},
|
|
816
|
+
{
|
|
817
|
+
"name": "@octanejs/resizable-panels",
|
|
818
|
+
"version": "0.0.7",
|
|
819
|
+
"category": "UI and interaction",
|
|
820
|
+
"upstream": { "package": "react-resizable-panels", "version": "4.12.2" },
|
|
821
|
+
"surface": "Group, Panel, Separator, persistence hooks, refs, imperative APIs, layout constraints, pointer and keyboard interaction, ARIA, cursor handling, and ResizeObserver behavior are implemented against react-resizable-panels 4.12.2.",
|
|
822
|
+
"divergences": [
|
|
823
|
+
"useId(undefined) fallback cannot reproduce React's mocked ':r123:' seam; adapted upstream case asserts a non-empty Octane id and is recorded as react-resizable-panels-useId-fallback."
|
|
824
|
+
],
|
|
825
|
+
"ssr": "Deterministic server rendering and live hydration adoption are covered by dedicated executable projects.",
|
|
826
|
+
"verified": "2026-08-02"
|
|
827
|
+
},
|
|
661
828
|
{
|
|
662
829
|
"name": "@octanejs/rxjs",
|
|
663
|
-
"version": "0.1.
|
|
830
|
+
"version": "0.1.28",
|
|
664
831
|
"category": "Shared state",
|
|
665
832
|
"upstream": {
|
|
666
833
|
"package": "@react-rxjs/core + @react-rxjs/utils",
|
|
@@ -676,7 +843,7 @@
|
|
|
676
843
|
},
|
|
677
844
|
{
|
|
678
845
|
"name": "@octanejs/shadcn",
|
|
679
|
-
"version": "0.0.
|
|
846
|
+
"version": "0.0.34",
|
|
680
847
|
"category": "UI and interaction",
|
|
681
848
|
"upstream": {
|
|
682
849
|
"package": "shadcn-ui/ui (radix base)",
|
|
@@ -702,8 +869,8 @@
|
|
|
702
869
|
"verified": "2026-08-02"
|
|
703
870
|
},
|
|
704
871
|
{
|
|
705
|
-
"name": "@octanejs/solana-
|
|
706
|
-
"version": "0.0.
|
|
872
|
+
"name": "@octanejs/solana-kit",
|
|
873
|
+
"version": "0.0.18",
|
|
707
874
|
"category": "Web3",
|
|
708
875
|
"upstream": {
|
|
709
876
|
"package": "@solana/react",
|
|
@@ -724,7 +891,7 @@
|
|
|
724
891
|
},
|
|
725
892
|
{
|
|
726
893
|
"name": "@octanejs/sonner",
|
|
727
|
-
"version": "0.1.
|
|
894
|
+
"version": "0.1.44",
|
|
728
895
|
"category": "UI and interaction",
|
|
729
896
|
"upstream": { "package": "sonner", "version": "2.0.7" },
|
|
730
897
|
"surface": "Complete against the published `sonner@2.0.7` public surface: `Toaster`, the callable `toast` API and all methods, `useSonner`, promise lifecycle, multiple toaster targeting, stacked layout, themes, styling, focus management, timers, and swipe dismissal.",
|
|
@@ -738,7 +905,7 @@
|
|
|
738
905
|
},
|
|
739
906
|
{
|
|
740
907
|
"name": "@octanejs/spring",
|
|
741
|
-
"version": "0.0.
|
|
908
|
+
"version": "0.0.15",
|
|
742
909
|
"category": "UI and interaction",
|
|
743
910
|
"upstream": { "package": "@react-spring/web", "version": "10.1.2" },
|
|
744
911
|
"surface": "Stable React Spring web target at the package root and Parallax through the ./parallax subpath. The port provides spring values, controllers, interpolation, Octane hooks and render-prop components, animated DOM hosts, browser observers, SSR-safe initial rendering, and Parallax scrolling.",
|
|
@@ -749,9 +916,28 @@
|
|
|
749
916
|
"ssr": "Initial and immediate values render on the server; browser observers and frame work start after client commit.",
|
|
750
917
|
"verified": "2026-08-02"
|
|
751
918
|
},
|
|
919
|
+
{
|
|
920
|
+
"name": "@octanejs/stick-to-bottom",
|
|
921
|
+
"version": "0.0.5",
|
|
922
|
+
"category": "UI and interaction",
|
|
923
|
+
"upstream": {
|
|
924
|
+
"package": "use-stick-to-bottom",
|
|
925
|
+
"version": "1.1.6",
|
|
926
|
+
"source": "https://github.com/stackblitz/use-stick-to-bottom/tree/8d6a19a0ca6ab632830588073e6a29312a06a088",
|
|
927
|
+
"license": "MIT"
|
|
928
|
+
},
|
|
929
|
+
"surface": "Public runtime surface at use-stick-to-bottom 1.1.6: useStickToBottom, StickToBottom, StickToBottom.Content, useStickToBottomContext, and related types.",
|
|
930
|
+
"divergences": [
|
|
931
|
+
"Consumers import from @octanejs/stick-to-bottom instead of use-stick-to-bottom.",
|
|
932
|
+
"Ref objects are structural { current } / callback refs rather than React.RefObject.",
|
|
933
|
+
"The plain TypeScript useStickToBottom hook forwards compiler-injected slots; a symbol in the options position is treated as empty options."
|
|
934
|
+
],
|
|
935
|
+
"ssr": "Scroll/resize listeners attach in ref callbacks. Initial isAtBottom follows options.initial. Overflow auto is applied in a layout/effect.",
|
|
936
|
+
"verified": "2026-08-20"
|
|
937
|
+
},
|
|
752
938
|
{
|
|
753
939
|
"name": "@octanejs/streamdown",
|
|
754
|
-
"version": "0.1.
|
|
940
|
+
"version": "0.1.28",
|
|
755
941
|
"category": "Forms and content",
|
|
756
942
|
"upstream": { "package": "streamdown", "version": "2.5.0" },
|
|
757
943
|
"surface": "Complete Streamdown 2.5.0 root runtime and public type surface, plus the official code 1.1.1, math 1.0.2, Mermaid 1.0.2, and CJK 1.0.3 plugins exposed through ./code, ./math, ./mermaid, and ./cjk.",
|
|
@@ -767,7 +953,7 @@
|
|
|
767
953
|
},
|
|
768
954
|
{
|
|
769
955
|
"name": "@octanejs/styled-components",
|
|
770
|
-
"version": "0.1.
|
|
956
|
+
"version": "0.1.41",
|
|
771
957
|
"category": "Styling, tests, and devtools",
|
|
772
958
|
"upstream": { "package": "styled-components", "version": "6.4.3" },
|
|
773
959
|
"surface": "Full v6 web API, ported from the upstream 6.4.3 sources: `styled` with every HTML/SVG tag shortcut, `.attrs`/`.withConfig` chaining, `css`, `keyframes`, `createGlobalStyle`, `createTheme`, `ThemeProvider`/`ThemeContext`/`ThemeConsumer`/`useTheme`/`withTheme`, `StyleSheetManager`/`StyleSheetContext`/`StyleSheetConsumer` (targets, namespaces, vendor prefixing, stylis plugins, `shouldForwardProp`), `ServerStyleSheet`, `isStyledComponent`, `version`, and `__PRIVATE__`. Component selectors, folding (`styled(Styled)`), transient `$` props, `as`/`forwardedAs`, and the grouped CSSOM sheet engine (with upstream `data-styled` rehydration) all behave as upstream. The React Native surface and the RSC-only `stylisPluginRSC` are not ported.",
|
|
@@ -786,7 +972,7 @@
|
|
|
786
972
|
},
|
|
787
973
|
{
|
|
788
974
|
"name": "@octanejs/stylex",
|
|
789
|
-
"version": "0.1.
|
|
975
|
+
"version": "0.1.48",
|
|
790
976
|
"category": "Styling, tests, and devtools",
|
|
791
977
|
"upstream": { "package": "@stylexjs/stylex", "version": "0.19.0" },
|
|
792
978
|
"surface": "Full compile-time integration: re-exports the StyleX runtime API (`create`, `props`, `attrs`, `keyframes`, `defineVars`, `createTheme`) and registers as an import source; the `/vite` plugin runs the StyleX compiler over octane's compiled output and emits one static atomic stylesheet (`virtual:stylex.css`) with zero StyleX runtime in the bundle.",
|
|
@@ -799,7 +985,7 @@
|
|
|
799
985
|
},
|
|
800
986
|
{
|
|
801
987
|
"name": "@octanejs/swr",
|
|
802
|
-
"version": "0.0.
|
|
988
|
+
"version": "0.0.15",
|
|
803
989
|
"category": "AI, data, and routing",
|
|
804
990
|
"upstream": { "package": "swr", "version": "2.4.2" },
|
|
805
991
|
"surface": "Mapped port of SWR 2.4.2: root useSWR/config/cache/mutate/preload, infinite, immutable, remote mutation, subscription, _internal, and the published react-server condition branches. The harness executes the pinned pristine React suite plus selected adapted Octane cases, repo-authored adapted type probes, and differential/export oracles. Provenance remains recorded-unverified until the exhaustive adapted crosswalk lands.",
|
|
@@ -812,7 +998,7 @@
|
|
|
812
998
|
},
|
|
813
999
|
{
|
|
814
1000
|
"name": "@octanejs/syntax-highlighter",
|
|
815
|
-
"version": "0.0.
|
|
1001
|
+
"version": "0.0.15",
|
|
816
1002
|
"category": "Forms and content",
|
|
817
1003
|
"upstream": { "package": "react-syntax-highlighter", "version": "16.1.1" },
|
|
818
1004
|
"surface": "Complete against react-syntax-highlighter 16.1.1: default, Light, Prism, async and async-light components; static registration and language lists; custom renderers and tags; all pinned Highlight.js and Prism languages and styles; and all ESM/CJS deep-import aliases.",
|
|
@@ -825,7 +1011,7 @@
|
|
|
825
1011
|
},
|
|
826
1012
|
{
|
|
827
1013
|
"name": "@octanejs/tanstack-ai",
|
|
828
|
-
"version": "0.0.
|
|
1014
|
+
"version": "0.0.43",
|
|
829
1015
|
"category": "AI, data, and routing",
|
|
830
1016
|
"upstream": { "package": "@tanstack/ai-react", "version": "0.17.0" },
|
|
831
1017
|
"surface": "Ports the @tanstack/ai-react 0.17.0 hook surface (useChat, useRealtimeChat, useGeneration, useGenerateImage/Audio/Speech/Video, useTranscription, useSummarize, useAudioRecorder, useMcpAppBridge) while reusing @tanstack/ai 0.41.0 and @tanstack/ai-client 0.21.0 unchanged and mirroring all 30 @tanstack/ai-client convenience re-exports from the upstream index.",
|
|
@@ -842,9 +1028,24 @@
|
|
|
842
1028
|
"ssr": "Supported and tested: useChat renders its initial message snapshot through octane/server without a DOM.",
|
|
843
1029
|
"verified": "2026-08-09"
|
|
844
1030
|
},
|
|
1031
|
+
{
|
|
1032
|
+
"name": "@octanejs/tanstack-db",
|
|
1033
|
+
"version": "0.0.12",
|
|
1034
|
+
"category": "AI, data, and routing",
|
|
1035
|
+
"upstream": { "package": "@tanstack/db", "version": "0.7.0" },
|
|
1036
|
+
"surface": "Re-exports `@tanstack/db@0.7.0` unchanged and ports the React live-query binding surface of `@tanstack/react-db@0.1.96` (`useLiveQuery`, `useLiveInfiniteQuery`, `useLiveSuspenseQuery`, `useLiveQueryEffect`, `usePacedMutations`) onto Octane hooks. `useLiveQuery`/`useLiveSuspenseQuery` are driven by db's shared `createLiveQueryObserver`; `useLiveInfiniteQuery` by the coordinated `createLiveQueryWindowController`.",
|
|
1037
|
+
"divergences": [
|
|
1038
|
+
"`useLiveSuspenseQuery` consumes the preload promise through Octane's `use(thenable)` instead of throwing it, although Octane supports both forms. Because Octane keys `use()` by dynamic call-order index (not compiler slot), this binding calls `use()` unconditionally — exactly once per render, handing it an already-resolved thenable on the ready/stale paths — so a sibling `use()` or a second `useLiveSuspenseQuery` in the same component keeps a stable thenable index. Observable behavior (fallback then data) matches.",
|
|
1039
|
+
"`useLiveQuery`/`useLiveInfiniteQuery` subscribe wrappers defer an initial `onStoreChange` to a microtask so an already-ready collection (or a synchronous subscribe-time window growth) is reflected in the first committed snapshot. Octane's `useSyncExternalStore` re-checks the store snapshot before, not after, the subscribe call (React re-checks after), so this nudge stands in for React's post-subscribe reconciliation. Pinned by the `eager-onstorechange` test.",
|
|
1040
|
+
"`useLiveInfiniteQuery` rejects a pre-created collection that lacks an `orderBy` synchronously during render (detected via `getWindow()` returning a window object), so the error is observable to the caller, rather than letting `setWindow()` throw later inside a passive subscribe effect that Octane swallows.",
|
|
1041
|
+
"StrictMode double-invocation is not applicable: Octane has no development double-invoke of component setup/cleanup."
|
|
1042
|
+
],
|
|
1043
|
+
"ssr": "Not yet exercised: no server-render tests are included for the live-query hooks.",
|
|
1044
|
+
"verified": "2026-08-13"
|
|
1045
|
+
},
|
|
845
1046
|
{
|
|
846
1047
|
"name": "@octanejs/tanstack-devtools",
|
|
847
|
-
"version": "0.0.
|
|
1048
|
+
"version": "0.0.43",
|
|
848
1049
|
"category": "Styling, tests, and devtools",
|
|
849
1050
|
"upstream": { "package": "@tanstack/react-devtools", "version": "0.10.7" },
|
|
850
1051
|
"surface": "Surface-present for the pinned adapter's runtime entrypoint, with additive framework-neutral core re-exports. A same-fixture differential covers mount, config synchronization, plugin/title/trigger portals, and teardown. Upstream has no runtime suite; its test:types source compile is recorded as present type evidence with required pristine/adapted type lanes. Provenance is verified; core-version drift and Octane-specific type names/core re-exports stay as explicit divergences.",
|
|
@@ -859,7 +1060,7 @@
|
|
|
859
1060
|
},
|
|
860
1061
|
{
|
|
861
1062
|
"name": "@octanejs/tanstack-form",
|
|
862
|
-
"version": "0.0.
|
|
1063
|
+
"version": "0.0.43",
|
|
863
1064
|
"category": "Forms and content",
|
|
864
1065
|
"upstream": { "package": "@tanstack/react-form", "version": "1.33.2" },
|
|
865
1066
|
"surface": "Ports the complete @tanstack/react-form 1.33.2 adapter surface (`useForm`, `useField`, form and field groups, hook contexts and component composition) while re-exporting @tanstack/form-core 1.33.2 unchanged and using @octanejs/tanstack-store for subscriptions.",
|
|
@@ -873,7 +1074,7 @@
|
|
|
873
1074
|
},
|
|
874
1075
|
{
|
|
875
1076
|
"name": "@octanejs/tanstack-hotkeys",
|
|
876
|
-
"version": "0.0.
|
|
1077
|
+
"version": "0.0.38",
|
|
877
1078
|
"category": "UI and interaction",
|
|
878
1079
|
"upstream": { "package": "@tanstack/react-hotkeys", "version": "0.10.0" },
|
|
879
1080
|
"surface": "Surface-present for all 22 `@tanstack/react-hotkeys@0.10.0` adapter exports plus the byte-identical `@tanstack/hotkeys@0.8.0` core re-export. The pinned 41-case upstream runtime suite runs pristine and adapted as verified vitest-full lanes; type suites compile upstream source with tsc and the Octane surface with tsrx-tsc.",
|
|
@@ -885,7 +1086,7 @@
|
|
|
885
1086
|
},
|
|
886
1087
|
{
|
|
887
1088
|
"name": "@octanejs/tanstack-pacer",
|
|
888
|
-
"version": "0.0.
|
|
1089
|
+
"version": "0.0.38",
|
|
889
1090
|
"category": "UI and interaction",
|
|
890
1091
|
"upstream": { "package": "@tanstack/react-pacer", "version": "0.22.1" },
|
|
891
1092
|
"surface": "Surface-present for all 15 runtime/type entrypoints from `@tanstack/react-pacer@0.22.1`, plus the byte-identical `@tanstack/pacer@0.21.1` core re-export. Repo-authored adapted-octane and differential lanes cover a representative debounce/throttle/batching/teardown lifecycle; upstream has no runtime suite and insufficient type evidence, so provenance remains `recorded-unverified` with nearly every export still `surface-present-unverified`.",
|
|
@@ -897,7 +1098,7 @@
|
|
|
897
1098
|
},
|
|
898
1099
|
{
|
|
899
1100
|
"name": "@octanejs/tanstack-query",
|
|
900
|
-
"version": "0.1.
|
|
1101
|
+
"version": "0.1.48",
|
|
901
1102
|
"category": "AI, data, and routing",
|
|
902
1103
|
"upstream": { "package": "@tanstack/react-query", "version": "5.101.3" },
|
|
903
1104
|
"surface": "Complete: 58/58 runtime exports plus the full TypeScript surface; the export surface is byte-identical to upstream in both directions (locked by test), and `@tanstack/query-core` is re-exported verbatim.",
|
|
@@ -909,7 +1110,7 @@
|
|
|
909
1110
|
},
|
|
910
1111
|
{
|
|
911
1112
|
"name": "@octanejs/tanstack-router",
|
|
912
|
-
"version": "0.1.
|
|
1113
|
+
"version": "0.1.48",
|
|
913
1114
|
"category": "AI, data, and routing",
|
|
914
1115
|
"upstream": { "package": "@tanstack/react-router", "version": "1.170.18" },
|
|
915
1116
|
"surface": "Octane's TanStack Router binding: typed route factories and hooks, the full Match pipeline and lifecycle, file routes with TSRX-aware generator integration, full Link navigation/preloading/masking behavior, blocking, Await/deferred hydration, scroll restoration, lazy routes, not-found handling, document/head assets, and client/server SSR entries.",
|
|
@@ -923,7 +1124,7 @@
|
|
|
923
1124
|
},
|
|
924
1125
|
{
|
|
925
1126
|
"name": "@octanejs/tanstack-router-ssr-query",
|
|
926
|
-
"version": "0.0.
|
|
1127
|
+
"version": "0.0.38",
|
|
927
1128
|
"category": "AI, data, and routing",
|
|
928
1129
|
"upstream": { "package": "@tanstack/react-router-ssr-query", "version": "1.167.1" },
|
|
929
1130
|
"surface": "Surface-present for the pinned adapter's only runtime entrypoint (`Options` and `setupRouterSsrQueryIntegration`). The metadata-only `./package.json` subpath is intentionally omitted. A representative differential covers provider-backed SSR, existing-wrapper preservation, setup mutations, and the wrapping control; upstream has no runtime suite, and type evidence is the upstream source compile plus the adapted Octane compile, so verification remains recorded-unverified.",
|
|
@@ -933,7 +1134,7 @@
|
|
|
933
1134
|
},
|
|
934
1135
|
{
|
|
935
1136
|
"name": "@octanejs/tanstack-store",
|
|
936
|
-
"version": "0.0.
|
|
1137
|
+
"version": "0.0.43",
|
|
937
1138
|
"category": "Shared state",
|
|
938
1139
|
"upstream": { "package": "@tanstack/react-store", "version": "0.11.0" },
|
|
939
1140
|
"surface": "Re-exports `@tanstack/store@0.11.0` unchanged and implements the stable React binding surface (`useSelector`, `useAtom`, `useCreateAtom`, `useCreateStore`, `createStoreContext`, and deprecated `useStore`) on Octane hooks.",
|
|
@@ -945,7 +1146,7 @@
|
|
|
945
1146
|
},
|
|
946
1147
|
{
|
|
947
1148
|
"name": "@octanejs/tanstack-table",
|
|
948
|
-
"version": "0.1.
|
|
1149
|
+
"version": "0.1.46",
|
|
949
1150
|
"category": "Data-heavy screens",
|
|
950
1151
|
"upstream": { "package": "@tanstack/react-table", "version": "9.0.0-beta.58" },
|
|
951
1152
|
"surface": "Complete port of the v9 adapter: the framework-agnostic `@tanstack/table-core` (constructTable + every tree-shakeable feature and row model) is reused verbatim, and the adapter — `useTable`, `Subscribe`, `flexRender`/`FlexRender`, `createTableHook`, `createTableHookContexts` — is transcribed onto octane hooks. Table state lives in TanStack Store atoms via the `coreReactivityFeature` bindings, and `useSelector` drives re-renders from the selected slice. Every store primitive (hooks, `createAtom`, `batch`, `shallow`, and the atom/store types) is imported from @octanejs/tanstack-store, which re-exports all of @tanstack/store — the binding takes no direct dependency on the store core, so there is only one path to it and atom identity cannot be split across duplicate copies.",
|
|
@@ -958,7 +1159,7 @@
|
|
|
958
1159
|
},
|
|
959
1160
|
{
|
|
960
1161
|
"name": "@octanejs/tanstack-virtual",
|
|
961
|
-
"version": "0.1.
|
|
1162
|
+
"version": "0.1.46",
|
|
962
1163
|
"category": "Data-heavy screens",
|
|
963
1164
|
"upstream": { "package": "@tanstack/react-virtual", "version": "3.14.5" },
|
|
964
1165
|
"surface": "Complete 1:1 port: the framework-agnostic `@tanstack/virtual-core` (Virtualizer + observers + windowing math) is reused verbatim; the React adapter (`useVirtualizer`, `useWindowVirtualizer`, incl. `useFlushSync` and the experimental `directDomUpdates` surface) is transcribed onto octane hooks, preserving upstream's force-update + flushSync-on-sync-scroll wiring and layout-effect lifecycle.",
|
|
@@ -970,7 +1171,7 @@
|
|
|
970
1171
|
},
|
|
971
1172
|
{
|
|
972
1173
|
"name": "@octanejs/tauri",
|
|
973
|
-
"version": "0.0.
|
|
1174
|
+
"version": "0.0.32",
|
|
974
1175
|
"category": "Desktop",
|
|
975
1176
|
"upstream": { "package": "@tauri-apps/api", "version": "2.11.1" },
|
|
976
1177
|
"surface": "Octane hooks over the framework-neutral Tauri IPC surface: useInvoke (suspending command), useInvokeState (pending/success/error with refetch), and useTauriEvent (event subscription with lifecycle-safe teardown). The rest of @tauri-apps/api — window, webview, menu, tray, path, dpi, image, and the plugin packages — is already framework-neutral and is imported directly rather than re-exported here.",
|
|
@@ -988,7 +1189,7 @@
|
|
|
988
1189
|
},
|
|
989
1190
|
{
|
|
990
1191
|
"name": "@octanejs/testing-library",
|
|
991
|
-
"version": "0.1.
|
|
1192
|
+
"version": "0.1.46",
|
|
992
1193
|
"category": "Styling, tests, and devtools",
|
|
993
1194
|
"upstream": { "package": "@testing-library/react", "version": "16.3.2" },
|
|
994
1195
|
"surface": "`render`/`rerender`/`cleanup`/`renderHook` + `act` over the verbatim `@testing-library/dom` (every query, `screen`, `within`, `waitFor`, `fireEvent`, `prettyDOM`, `configure`), with commit timing wired to octane's scheduler via the dom-library's `eventWrapper`/`asyncWrapper` config.",
|
|
@@ -1001,7 +1202,7 @@
|
|
|
1001
1202
|
},
|
|
1002
1203
|
{
|
|
1003
1204
|
"name": "@octanejs/textarea-autosize",
|
|
1004
|
-
"version": "0.0.
|
|
1205
|
+
"version": "0.0.15",
|
|
1005
1206
|
"category": "UI and interaction",
|
|
1006
1207
|
"upstream": { "package": "react-textarea-autosize", "version": "8.5.9" },
|
|
1007
1208
|
"surface": "Complete against the published react-textarea-autosize 8.5.9 default component and named TextareaAutosizeProps and TextareaHeightChangeMeta types, including native textarea props, row clamps, measurement caching, height callbacks, refs, environmental listeners, form reset, SSR, and browser sizing.",
|
|
@@ -1014,7 +1215,7 @@
|
|
|
1014
1215
|
},
|
|
1015
1216
|
{
|
|
1016
1217
|
"name": "@octanejs/three",
|
|
1017
|
-
"version": "0.1.
|
|
1218
|
+
"version": "0.1.42",
|
|
1018
1219
|
"category": "Web 3D",
|
|
1019
1220
|
"upstream": { "package": "@react-three/fiber", "version": "9.6.1 (2a528745)" },
|
|
1020
1221
|
"surface": "Technical-preview Milestones 0–10 surface: renderer configuration and the DOM Canvas boundary, compiler ABI and renderer-local Three intrinsic types, catalogue and both extend forms, primitive/args construction, Three prop application, attachment, ordered placement/recreation, retained visibility, lifecycle/ref delivery, ownership-aware disposal, promise-returning HTMLCanvasElement and OffscreenCanvas roots, Octane act/flushSync scheduling, callback-aware unmountComponentAtNode, callable root state, scene/camera/raycaster and resize/DPR/viewport configuration, shadows/colors, one shared frame loop, controlled WebXR loop handoff, context-restore invalidation, compatible/reconstructing HMR, global effects, useStore/useThree/useFrame/useGraph and managed-instance helpers, the ray/pointer event system with DOM sources and custom managers, a keyed useLoader cache with preload/clear and GLTF graph augmentation, retained Suspense/Activity behavior, client Three-to-DOM pending/error projection, same-renderer createPortal targets with state/event enclaves and physical Three event bubbling, client-only Canvas shell streaming and production Vite/Rsbuild hydration adoption with the matching raw Rspack graph split, the explicit-target low-level DOMRegion boundary, a deterministic testing harness, an asynchronously acknowledged structured-clone transport proof, a checked public API/subpath matrix, Three r156/current compatibility lanes, a packed external consumer, real WebGL failure/recovery coverage, and semantic-checksummed renderer and shipped-size benchmarks.",
|
|
@@ -1035,7 +1236,7 @@
|
|
|
1035
1236
|
},
|
|
1036
1237
|
{
|
|
1037
1238
|
"name": "@octanejs/tiptap",
|
|
1038
|
-
"version": "0.0.
|
|
1239
|
+
"version": "0.0.43",
|
|
1039
1240
|
"category": "Forms and content",
|
|
1040
1241
|
"upstream": { "package": "@tiptap/react", "version": "3.28.0" },
|
|
1041
1242
|
"surface": "Complete @tiptap/react 3.28.0 adapter surface across the root and ./menus entries: @tiptap/core re-exports, editor hooks and contexts, the EditorContent portal bridge, compound Tiptap API, ReactRenderer, custom NodeView/MarkView renderers and helpers, BubbleMenu, and FloatingMenu.",
|
|
@@ -1050,9 +1251,29 @@
|
|
|
1050
1251
|
"ssr": "Covered across the complete surface: hooks use null server snapshots and suppress editor construction without a DOM, static NodeView/MarkView helpers render without a DOM renderer, detached menu targets are client-only, and hydration adopts deferred server shells before mounting live custom views and menus.",
|
|
1051
1252
|
"verified": "2026-08-02"
|
|
1052
1253
|
},
|
|
1254
|
+
{
|
|
1255
|
+
"name": "@octanejs/to-print",
|
|
1256
|
+
"version": "0.0.5",
|
|
1257
|
+
"category": "UI and interaction",
|
|
1258
|
+
"upstream": {
|
|
1259
|
+
"package": "react-to-print",
|
|
1260
|
+
"version": "3.3.0",
|
|
1261
|
+
"source": "https://github.com/MatthewHerbst/react-to-print/tree/853666f180006b68b533f216e58f974cc791a97f",
|
|
1262
|
+
"license": "MIT"
|
|
1263
|
+
},
|
|
1264
|
+
"surface": "Public runtime surface at react-to-print 3.3.0: useReactToPrint and its option/content/fn types. Print pipeline utilities are ported unchanged aside from Octane ref and event types.",
|
|
1265
|
+
"divergences": [
|
|
1266
|
+
"Consumers import from @octanejs/to-print instead of react-to-print.",
|
|
1267
|
+
"contentRef is a structural { current } ref object rather than React.RefObject.",
|
|
1268
|
+
"The print callback accepts a native Event or a content getter; React.UIEvent is not used.",
|
|
1269
|
+
"The plain TypeScript useReactToPrint hook forwards compiler-injected slots; a symbol in the options position is treated as empty options."
|
|
1270
|
+
],
|
|
1271
|
+
"ssr": "The hook is client-only: it constructs an iframe and calls window.print (or a custom print function). Calling it during SSR has no DOM target.",
|
|
1272
|
+
"verified": "2026-08-20"
|
|
1273
|
+
},
|
|
1053
1274
|
{
|
|
1054
1275
|
"name": "@octanejs/transition-group",
|
|
1055
|
-
"version": "0.0.
|
|
1276
|
+
"version": "0.0.15",
|
|
1056
1277
|
"category": "UI and interaction",
|
|
1057
1278
|
"upstream": {
|
|
1058
1279
|
"package": "react-transition-group",
|
|
@@ -1070,7 +1291,7 @@
|
|
|
1070
1291
|
},
|
|
1071
1292
|
{
|
|
1072
1293
|
"name": "@octanejs/usehooks-ts",
|
|
1073
|
-
"version": "0.0.
|
|
1294
|
+
"version": "0.0.30",
|
|
1074
1295
|
"category": "UI and interaction",
|
|
1075
1296
|
"upstream": {
|
|
1076
1297
|
"package": "usehooks-ts",
|
|
@@ -1088,7 +1309,7 @@
|
|
|
1088
1309
|
},
|
|
1089
1310
|
{
|
|
1090
1311
|
"name": "@octanejs/valtio",
|
|
1091
|
-
"version": "0.1.
|
|
1312
|
+
"version": "0.1.32",
|
|
1092
1313
|
"category": "Shared state",
|
|
1093
1314
|
"upstream": { "package": "valtio", "version": "2.3.2" },
|
|
1094
1315
|
"surface": "The framework-agnostic `valtio/vanilla` core and `valtio/vanilla/utils` are re-exported verbatim; `useSnapshot` and the `useProxy` utility are ported to Octane.",
|
|
@@ -1100,7 +1321,7 @@
|
|
|
1100
1321
|
},
|
|
1101
1322
|
{
|
|
1102
1323
|
"name": "@octanejs/vaul",
|
|
1103
|
-
"version": "0.0.
|
|
1324
|
+
"version": "0.0.15",
|
|
1104
1325
|
"category": "UI and interaction",
|
|
1105
1326
|
"upstream": {
|
|
1106
1327
|
"package": "vaul",
|
|
@@ -1116,7 +1337,7 @@
|
|
|
1116
1337
|
},
|
|
1117
1338
|
{
|
|
1118
1339
|
"name": "@octanejs/visx",
|
|
1119
|
-
"version": "0.1.
|
|
1340
|
+
"version": "0.1.43",
|
|
1120
1341
|
"category": "Data-heavy screens",
|
|
1121
1342
|
"upstream": { "package": "@visx/visx", "version": "4.0.0 + master@485c035" },
|
|
1122
1343
|
"surface": "Complete current Visx 4.x web runtime surface: the exact 35-namespace aggregate, all 40 feature entry points, and the eight public a11y/react, a11y/server, axis/react, scale/react, shape/react, theme/react, tooltip/floating, and voronoi/react subpaths. Released-only packages chord, delaunay, react-spring, sankey, and stats remain directly importable exactly as upstream specifies.",
|
|
@@ -1132,7 +1353,7 @@
|
|
|
1132
1353
|
},
|
|
1133
1354
|
{
|
|
1134
1355
|
"name": "@octanejs/wagmi",
|
|
1135
|
-
"version": "0.0.
|
|
1356
|
+
"version": "0.0.29",
|
|
1136
1357
|
"category": "Web3",
|
|
1137
1358
|
"upstream": { "package": "wagmi", "version": "3.7.4" },
|
|
1138
1359
|
"surface": "WagmiProvider and createConfig over @wagmi/core 3.6.4, with config, connection, connect, disconnect, switch-connection, switch-chain, connectors, connections, chains, balance, contract read/simulate/write, transaction send/wait, and message-signing hooks.",
|
|
@@ -1146,9 +1367,28 @@
|
|
|
1146
1367
|
"ssr": "WagmiProvider supports ssr:true and initialState through @wagmi/core hydrate. parseHydratedState accepts only a versioned, 16 KiB-bounded public-state hint and rejects malformed or privileged material; a hydrated connection is never authority for signing or submission.",
|
|
1147
1368
|
"verified": "2026-08-02"
|
|
1148
1369
|
},
|
|
1370
|
+
{
|
|
1371
|
+
"name": "@octanejs/waypoint",
|
|
1372
|
+
"version": "0.0.4",
|
|
1373
|
+
"category": "UI and interaction",
|
|
1374
|
+
"upstream": {
|
|
1375
|
+
"package": "react-waypoint",
|
|
1376
|
+
"version": "6.0.0",
|
|
1377
|
+
"source": "https://github.com/brigade/react-waypoint/tree/v6.0.0",
|
|
1378
|
+
"license": "MIT"
|
|
1379
|
+
},
|
|
1380
|
+
"surface": "Waypoint component and position constants at react-waypoint 6.0.0, with vertical/horizontal geometry, offsets, ancestor selection, rapid-crossing callbacks, refs, SSR, and hydration behavior.",
|
|
1381
|
+
"divergences": [
|
|
1382
|
+
"Public node and prop types use Octane structural types and do not import React.",
|
|
1383
|
+
"The upstream class lifecycle is expressed with Octane hooks and refs-as-props.",
|
|
1384
|
+
"A custom child must be supplied through the children prop so it remains an inspectable descriptor; nested TSRX children compile to an opaque render block."
|
|
1385
|
+
],
|
|
1386
|
+
"ssr": "Supported. The marker renders on the server and measurement/listeners begin after client mount.",
|
|
1387
|
+
"verified": "2026-08-24"
|
|
1388
|
+
},
|
|
1149
1389
|
{
|
|
1150
1390
|
"name": "@octanejs/window",
|
|
1151
|
-
"version": "0.0.
|
|
1391
|
+
"version": "0.0.15",
|
|
1152
1392
|
"category": "Data-heavy screens",
|
|
1153
1393
|
"upstream": { "package": "react-window", "version": "2.3.0" },
|
|
1154
1394
|
"surface": "Provisional complete exact port of the react-window 2.3.0 root surface: List, Grid, getScrollbarSize, useDynamicRowHeight, four imperative-ref hooks, and all eight public types. The byte-locked pristine React suite and generated Octane adaptation each execute all 14 upstream files and all 117 cases; shared differential, SSR, hydration, and assertion-level public type lanes are required by the React parity manifest. Final Chromium/Firefox browser and executable CommonJS package-condition evidence remain pending shared infrastructure PRs #548 and #550.",
|
|
@@ -1159,9 +1399,58 @@
|
|
|
1159
1399
|
"ssr": "Supported and tested — defaultHeight/defaultWidth produce deterministic bounded List and Grid markup without browser globals, and hydration adopts the server nodes before live scrolling and measurement.",
|
|
1160
1400
|
"verified": "2026-08-03"
|
|
1161
1401
|
},
|
|
1402
|
+
{
|
|
1403
|
+
"name": "@octanejs/wouter",
|
|
1404
|
+
"version": "0.0.5",
|
|
1405
|
+
"category": "AI, data, and routing",
|
|
1406
|
+
"upstream": {
|
|
1407
|
+
"package": "wouter",
|
|
1408
|
+
"version": "3.10.0",
|
|
1409
|
+
"source": "https://github.com/molefrog/wouter/tree/708c23639d4174ba7deda06c40c8208118899da7",
|
|
1410
|
+
"license": "Unlicense"
|
|
1411
|
+
},
|
|
1412
|
+
"surface": "Wouter 3.10.0 main router surface plus browser, hash, and memory location subpaths, ported to Octane with manual trailing hook-slot forwarding.",
|
|
1413
|
+
"divergences": [
|
|
1414
|
+
"Link accepts ref as an ordinary Octane prop; forwardRef is not used.",
|
|
1415
|
+
"Switch inspects explicit element descriptors, while nested TSRX children are opaque and must be supplied as descriptor arrays or createElement results.",
|
|
1416
|
+
"Octane useSyncExternalStore replaces the upstream shim and requires forwarded compiler hook slots.",
|
|
1417
|
+
"The React Native use-sync-external-store shim and Wouter's separate Preact package are not exported."
|
|
1418
|
+
],
|
|
1419
|
+
"ssr": "Router ssrPath, ssrSearch, and redirect context behavior is ported and covered by tests/ssr.test.ts.",
|
|
1420
|
+
"verified": "2026-08-20"
|
|
1421
|
+
},
|
|
1422
|
+
{
|
|
1423
|
+
"name": "@octanejs/xstate",
|
|
1424
|
+
"version": "0.0.7",
|
|
1425
|
+
"category": "Shared state",
|
|
1426
|
+
"upstream": { "package": "@xstate/react", "version": "6.1.0" },
|
|
1427
|
+
"surface": "Complete @xstate/react 6.1.0 export surface — `useActor`, `useActorRef`, `useSelector`, `createActorContext`, `shallowEqual`, and the deprecated `useMachine` alias — ported onto Octane hooks. The framework-agnostic `xstate` actor core is reused unchanged as a peer dependency and is not re-exported, exactly as upstream. Upstream's two npm-only dependencies are replaced by in-repo ports: `use-sync-external-store/shim/with-selector` by a local port of React's selector shim, and `use-isomorphic-layout-effect` by a slot-forwarding equivalent.",
|
|
1428
|
+
"divergences": [
|
|
1429
|
+
"`useSyncExternalStore` does not re-read `getSnapshot` at commit when the rendered value was unchanged. Octane's synchronous renderer closes the concurrent-interleaving window React guards there, so a store that mutates without notifying between render and commit is not re-caught. Any actor that notifies — which xstate always does — is unaffected.",
|
|
1430
|
+
"During server rendering `getServerSnapshot` is optional and falls back to `getSnapshot`, where React throws. `useSelector` and `useActor` always supply one, so this is only reachable through a hand-rolled actor-like object.",
|
|
1431
|
+
"Upstream's suite runs every `useActor`, `useActorRef`, and `useSelector` case twice, once under `StrictMode`. Octane has no StrictMode double-invoke, so the non-strict render, effect, and observer counts are the ported expectations; the strict pass is not applicable.",
|
|
1432
|
+
"`stopRootWithRehydration` is retained verbatim even though its motivating case (React Strict Effects double-invoking the start/stop effect) cannot occur on Octane, because it also governs unmount-then-remount, which stays observable."
|
|
1433
|
+
],
|
|
1434
|
+
"ssr": "Supported: `useSelector` and `useActor` read their actor snapshot through `getServerSnapshot` during server rendering and the first hydration read, so server markup matches the initial actor snapshot. Effects never run on the server, so actors are not started there.",
|
|
1435
|
+
"verified": "2026-08-15"
|
|
1436
|
+
},
|
|
1437
|
+
{
|
|
1438
|
+
"name": "@octanejs/xstate-store",
|
|
1439
|
+
"version": "0.0.7",
|
|
1440
|
+
"category": "Shared state",
|
|
1441
|
+
"upstream": { "package": "@xstate/store-react", "version": "2.0.0" },
|
|
1442
|
+
"surface": "Complete @xstate/store-react 2.0.0 export surface — `useSelector`, `useStore`, `useAtom`, `useAtomState`, and `createStoreHook` — ported onto Octane hooks, plus the full `@xstate/store@4.2.3` core re-exported unchanged (`createStore`, `createAtom`, `fromStore`, `shallowEqual`, and every type), exactly as upstream re-exports it.",
|
|
1443
|
+
"divergences": [
|
|
1444
|
+
"Upstream calls hooks inside `if` branches in `useSelector` and `useAtom`, which React tolerates only because the branch is stable per call site. Octane keys hooks by call site rather than call order, so the shape is legal here; if a call site does flip branches, Octane keeps independent hook cells per branch and unsubscribes the abandoned one instead of corrupting hook order.",
|
|
1445
|
+
"`useSyncExternalStore` does not re-read `getSnapshot` at commit when the rendered value was unchanged. Octane's synchronous renderer closes the concurrent-interleaving window React guards there; any store that notifies is unaffected.",
|
|
1446
|
+
"During server rendering `getServerSnapshot` is optional and falls back to `getSnapshot`, where React throws. Every hook here supplies one."
|
|
1447
|
+
],
|
|
1448
|
+
"ssr": "Supported: selectors, stores, and atoms read their current snapshot during server rendering through `getServerSnapshot`, and the binding has no browser-only initialization.",
|
|
1449
|
+
"verified": "2026-08-15"
|
|
1450
|
+
},
|
|
1162
1451
|
{
|
|
1163
1452
|
"name": "@octanejs/zag",
|
|
1164
|
-
"version": "0.0.
|
|
1453
|
+
"version": "0.0.15",
|
|
1165
1454
|
"category": "UI and interaction",
|
|
1166
1455
|
"upstream": { "package": "@zag-js/react", "version": "1.42.0" },
|
|
1167
1456
|
"surface": "Complete port of the @zag-js/react@1.42.0 public adapter surface: useMachine, normalizeProps, Portal, the @zag-js/core mergeProps re-export, and the framework useSyncExternalStore re-export. The framework-agnostic @zag-js/core, @zag-js/store, @zag-js/types, and @zag-js/utils packages are reused unchanged.",
|
|
@@ -1176,7 +1465,7 @@
|
|
|
1176
1465
|
},
|
|
1177
1466
|
{
|
|
1178
1467
|
"name": "@octanejs/zustand",
|
|
1179
|
-
"version": "0.1.
|
|
1468
|
+
"version": "0.1.48",
|
|
1180
1469
|
"category": "Shared state",
|
|
1181
1470
|
"upstream": { "package": "zustand", "version": "5.0.14" },
|
|
1182
1471
|
"surface": "Complete 1:1 port: the framework-agnostic vanilla store is reused verbatim; `create`/`useStore`, `shallow`/`useShallow`, the traditional equality-fn variants, and all middleware (persist, devtools, subscribeWithSelector, combine, redux).",
|
|
@@ -1192,6 +1481,8 @@
|
|
|
1192
1481
|
"@base-ui-components/react": "@octanejs/base-ui",
|
|
1193
1482
|
"@dnd-kit/react": "@octanejs/dnd-kit",
|
|
1194
1483
|
"@floating-ui/react": "@octanejs/floating-ui",
|
|
1484
|
+
"@formisch/react": "@octanejs/formisch",
|
|
1485
|
+
"@formkit/auto-animate": "@octanejs/auto-animate",
|
|
1195
1486
|
"@gsap/react": "@octanejs/gsap",
|
|
1196
1487
|
"@inertiajs/react": "@octanejs/inertia",
|
|
1197
1488
|
"@lexical/react": "@octanejs/lexical",
|
|
@@ -1199,6 +1490,7 @@
|
|
|
1199
1490
|
"@mantine/hooks": "@octanejs/mantine-hooks",
|
|
1200
1491
|
"@mdx-js/react": "@octanejs/mdx",
|
|
1201
1492
|
"@monaco-editor/react": "@octanejs/monaco-editor",
|
|
1493
|
+
"@opentui/react": "@octanejs/opentui",
|
|
1202
1494
|
"@phosphor-icons/react": "@octanejs/phosphor-icons",
|
|
1203
1495
|
"@rainbow-me/rainbowkit": "@octanejs/rainbowkit",
|
|
1204
1496
|
"@react-rxjs/core": "@octanejs/rxjs",
|
|
@@ -1208,13 +1500,14 @@
|
|
|
1208
1500
|
"@react-three/drei": "@octanejs/drei",
|
|
1209
1501
|
"@react-three/fiber": "@octanejs/three",
|
|
1210
1502
|
"@reduxjs/toolkit": "@octanejs/redux-toolkit",
|
|
1211
|
-
"@solana/react": "@octanejs/solana-
|
|
1503
|
+
"@solana/react": "@octanejs/solana-kit",
|
|
1212
1504
|
"@streamdown/cjk": "@octanejs/streamdown",
|
|
1213
1505
|
"@streamdown/code": "@octanejs/streamdown",
|
|
1214
1506
|
"@streamdown/math": "@octanejs/streamdown",
|
|
1215
1507
|
"@streamdown/mermaid": "@octanejs/streamdown",
|
|
1216
1508
|
"@stylexjs/stylex": "@octanejs/stylex",
|
|
1217
1509
|
"@tanstack/ai-react": "@octanejs/tanstack-ai",
|
|
1510
|
+
"@tanstack/react-db": "@octanejs/tanstack-db",
|
|
1218
1511
|
"@tanstack/react-devtools": "@octanejs/tanstack-devtools",
|
|
1219
1512
|
"@tanstack/react-form": "@octanejs/tanstack-form",
|
|
1220
1513
|
"@tanstack/react-hotkeys": "@octanejs/tanstack-hotkeys",
|
|
@@ -1277,12 +1570,16 @@
|
|
|
1277
1570
|
"@visx/wordcloud": "@octanejs/visx",
|
|
1278
1571
|
"@visx/xychart": "@octanejs/visx",
|
|
1279
1572
|
"@visx/zoom": "@octanejs/visx",
|
|
1573
|
+
"@xstate/react": "@octanejs/xstate",
|
|
1574
|
+
"@xstate/store-react": "@octanejs/xstate-store",
|
|
1280
1575
|
"@zag-js/react": "@octanejs/zag",
|
|
1281
1576
|
"animejs": "@octanejs/animejs",
|
|
1282
1577
|
"cmdk": "@octanejs/cmdk",
|
|
1283
1578
|
"dexie-react-hooks": "@octanejs/dexie",
|
|
1284
1579
|
"embla-carousel-react": "@octanejs/embla-carousel",
|
|
1285
1580
|
"framer-motion": "@octanejs/motion",
|
|
1581
|
+
"html-react-parser": "@octanejs/html-react-parser",
|
|
1582
|
+
"ink": "@octanejs/ink",
|
|
1286
1583
|
"input-otp": "@octanejs/input-otp",
|
|
1287
1584
|
"jotai": "@octanejs/jotai",
|
|
1288
1585
|
"lucide-react": "@octanejs/lucide",
|
|
@@ -1294,13 +1591,16 @@
|
|
|
1294
1591
|
"react-alien-signals": "@octanejs/alien-signals",
|
|
1295
1592
|
"react-aria": "@octanejs/aria",
|
|
1296
1593
|
"react-aria-components": "@octanejs/aria",
|
|
1594
|
+
"react-calendar": "@octanejs/calendar",
|
|
1297
1595
|
"react-colorful": "@octanejs/colorful",
|
|
1596
|
+
"react-content-loader": "@octanejs/content-loader",
|
|
1298
1597
|
"react-day-picker": "@octanejs/day-picker",
|
|
1299
1598
|
"react-draggable": "@octanejs/draggable",
|
|
1300
1599
|
"react-dropzone": "@octanejs/dropzone",
|
|
1301
1600
|
"react-error-boundary": "@octanejs/react-error-boundary",
|
|
1302
1601
|
"react-hook-form": "@octanejs/hook-form",
|
|
1303
1602
|
"react-i18next": "@octanejs/i18next",
|
|
1603
|
+
"react-image-crop": "@octanejs/image-crop",
|
|
1304
1604
|
"react-intersection-observer": "@octanejs/intersection-observer",
|
|
1305
1605
|
"react-map-gl": "@octanejs/react-map-gl",
|
|
1306
1606
|
"react-map-gl/mapbox": "@octanejs/react-map-gl",
|
|
@@ -1308,12 +1608,15 @@
|
|
|
1308
1608
|
"react-pdf": "@octanejs/pdf",
|
|
1309
1609
|
"react-popper": "@octanejs/popper",
|
|
1310
1610
|
"react-redux": "@octanejs/redux",
|
|
1611
|
+
"react-resizable-panels": "@octanejs/resizable-panels",
|
|
1311
1612
|
"react-router": "@octanejs/remix-router",
|
|
1312
1613
|
"react-router-dom": "@octanejs/remix-router",
|
|
1313
1614
|
"react-stately": "@octanejs/aria",
|
|
1314
1615
|
"react-syntax-highlighter": "@octanejs/syntax-highlighter",
|
|
1315
1616
|
"react-textarea-autosize": "@octanejs/textarea-autosize",
|
|
1617
|
+
"react-to-print": "@octanejs/to-print",
|
|
1316
1618
|
"react-transition-group": "@octanejs/transition-group",
|
|
1619
|
+
"react-waypoint": "@octanejs/waypoint",
|
|
1317
1620
|
"react-window": "@octanejs/window",
|
|
1318
1621
|
"recharts": "@octanejs/recharts",
|
|
1319
1622
|
"shadcn": "@octanejs/shadcn",
|
|
@@ -1321,10 +1624,12 @@
|
|
|
1321
1624
|
"streamdown": "@octanejs/streamdown",
|
|
1322
1625
|
"styled-components": "@octanejs/styled-components",
|
|
1323
1626
|
"swr": "@octanejs/swr",
|
|
1627
|
+
"use-stick-to-bottom": "@octanejs/stick-to-bottom",
|
|
1324
1628
|
"usehooks-ts": "@octanejs/usehooks-ts",
|
|
1325
1629
|
"valtio": "@octanejs/valtio",
|
|
1326
1630
|
"vaul": "@octanejs/vaul",
|
|
1327
1631
|
"wagmi": "@octanejs/wagmi",
|
|
1632
|
+
"wouter": "@octanejs/wouter",
|
|
1328
1633
|
"zustand": "@octanejs/zustand"
|
|
1329
1634
|
},
|
|
1330
1635
|
"errorCodes": {
|
|
@@ -1604,6 +1909,16 @@
|
|
|
1604
1909
|
"message": "prerenderToNodeStream requires a Node.js runtime with process.getBuiltinModule; use prerender() in non-Node environments.",
|
|
1605
1910
|
"runtime": ["server"],
|
|
1606
1911
|
"status": "active"
|
|
1912
|
+
},
|
|
1913
|
+
"58": {
|
|
1914
|
+
"message": "Unsupported native-read compiler/runtime version.",
|
|
1915
|
+
"runtime": ["client", "server"],
|
|
1916
|
+
"status": "active"
|
|
1917
|
+
},
|
|
1918
|
+
"59": {
|
|
1919
|
+
"message": "%s requires an active server component.",
|
|
1920
|
+
"runtime": ["server"],
|
|
1921
|
+
"status": "active"
|
|
1607
1922
|
}
|
|
1608
1923
|
}
|
|
1609
1924
|
}
|