@gjsify/react-native 0.46.0 → 0.48.0

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 (53) hide show
  1. package/PROPS.md +319 -92
  2. package/README.md +94 -0
  3. package/SUPPORT.md +14 -9
  4. package/lib/esm/accessibility.js +1 -0
  5. package/lib/esm/apis/alert.js +1 -1
  6. package/lib/esm/app-registry.js +1 -1
  7. package/lib/esm/child-facts.js +1 -0
  8. package/lib/esm/components.js +1 -1
  9. package/lib/esm/generated/own-exports.js +1 -1
  10. package/lib/esm/generated/unsupported-react-native.js +1 -1
  11. package/lib/esm/index.js +1 -1
  12. package/lib/esm/lists/controller.js +1 -1
  13. package/lib/esm/primitives/accessibility.js +1 -0
  14. package/lib/esm/primitives/answers.js +1 -1
  15. package/lib/esm/primitives/defaults.js +1 -1
  16. package/lib/esm/primitives/errors.js +1 -1
  17. package/lib/esm/primitives/index.js +1 -1
  18. package/lib/esm/primitives/resolve.js +1 -1
  19. package/lib/esm/primitives/style.js +1 -1
  20. package/lib/esm/primitives/table.js +1 -1
  21. package/lib/esm/prop-table.js +1 -1
  22. package/lib/esm/router/chrome.js +1 -0
  23. package/lib/esm/router/navigation.js +1 -1
  24. package/lib/esm/router/per-route-cache.js +1 -0
  25. package/lib/esm/router/stack.js +1 -1
  26. package/lib/esm/router/tabs.js +1 -1
  27. package/lib/esm/solid/index.js +1 -1
  28. package/lib/esm/support-table.js +1 -1
  29. package/lib/esm/window-chrome.js +1 -0
  30. package/lib/types/accessibility.d.ts +10 -0
  31. package/lib/types/app-registry.d.ts +95 -5
  32. package/lib/types/app-registry.spec.d.ts +2 -0
  33. package/lib/types/child-facts.d.ts +45 -0
  34. package/lib/types/child-facts.spec.d.ts +2 -0
  35. package/lib/types/components.d.ts +34 -1
  36. package/lib/types/generated/unsupported-react-native.d.ts +8 -4
  37. package/lib/types/index.d.ts +3 -3
  38. package/lib/types/primitives/accessibility.d.ts +112 -0
  39. package/lib/types/primitives/answers.d.ts +18 -0
  40. package/lib/types/primitives/errors.d.ts +9 -0
  41. package/lib/types/primitives/resolve.d.ts +10 -0
  42. package/lib/types/primitives/style.d.ts +23 -0
  43. package/lib/types/primitives/table.d.ts +13 -1
  44. package/lib/types/prop-table.d.ts +29 -0
  45. package/lib/types/router/chrome.d.ts +106 -0
  46. package/lib/types/router/errors.d.ts +3 -1
  47. package/lib/types/router/per-route-cache.d.ts +21 -0
  48. package/lib/types/router/stack.d.ts +6 -1
  49. package/lib/types/solid/index.d.ts +2 -1
  50. package/lib/types/support-table.d.ts +1 -1
  51. package/lib/types/window-chrome.d.ts +39 -0
  52. package/package.json +7 -7
  53. package/react-native-surface.json +18 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/react-native",
3
- "version": "0.46.0",
3
+ "version": "0.48.0",
4
4
  "description": "The React Native view vocabulary rendered onto GTK4/Adwaita, over @gjsify/gtk-host",
5
5
  "type": "module",
6
6
  "module": "lib/esm/index.js",
@@ -120,8 +120,8 @@
120
120
  "react-native"
121
121
  ],
122
122
  "dependencies": {
123
- "@gjsify/adwaita-app": "^0.46.0",
124
- "@gjsify/gtk-host": "^0.46.0"
123
+ "@gjsify/adwaita-app": "^0.48.0",
124
+ "@gjsify/gtk-host": "^0.48.0"
125
125
  },
126
126
  "peerDependencies": {
127
127
  "@react-navigation/core": "^7.21.13",
@@ -152,9 +152,9 @@
152
152
  "@girs/gdk-4.0": "4.6.0",
153
153
  "@girs/gjs": "4.6.0",
154
154
  "@girs/gtk-4.0": "4.6.0",
155
- "@gjsify/cli": "^0.46.0",
156
- "@gjsify/rolldown-plugin-gjsify": "^0.46.0",
157
- "@gjsify/unit": "^0.46.0",
155
+ "@gjsify/cli": "^0.48.0",
156
+ "@gjsify/rolldown-plugin-gjsify": "^0.48.0",
157
+ "@gjsify/unit": "^0.48.0",
158
158
  "@react-navigation/core": "^7.21.13",
159
159
  "@react-navigation/routers": "^7.6.4",
160
160
  "@types/node": "^25.9.2",
@@ -173,7 +173,7 @@
173
173
  },
174
174
  "osNotes": {
175
175
  "darwin": "Platform.OS reads the host OS, so this package owes an OS claim (ADR 0018). MEASURED 2026-08-31 by gtk-os-suites.yml on darwin-arm64 (macOS 26.5.2) and darwin-x64 (macOS 15.7.9), on Node against the published @gjsify/gtk-runtime-darwin-* closure with no Homebrew GTK on the host — the combination ADR 0024 § 4 puts a shipped .app on. The layer this package renders through, @gjsify/gtk-host, is GATING and green there: 2274 of 2274 on both arches. Its OWN suite ran as a probe and reported 2 of 857 on each arch — BY NAME the same two that failed on Linux under the node target (#1438), so darwin added nothing to that set. #1438 is now CLOSED in the engine — node-gi realizes a classed GType on the `$gtype` read and runs a class-struct static on the class it was CALLED on — and the Linux node leg measures 1222 of 1222. This leg does NOT yet, and the reason is the pairing rather than the operating system: the fix is in the addon's C++, and gtk-os-suites.yml installs the PUBLISHED `@gjsify/node-gi` prebuild here on purpose (ADR 0024 § 4 asks what a stranger's download does). MEASURED at the same commit on 2026-09-02: 1 of 1220 on both darwin arches against 1222 of 1222 on Linux with a locally built addon — the same `popped` assertion, the one #1438 fixed. So the step stays a probe and this claim stays `partial` until the first release carrying that engine fix; promote on the first run after it where the only failures left are darwin's own. Nothing else is known to stand in the way: the widgets are GTK4/Adwaita and the style partition is pure TS.",
176
- "win32": "As darwin for why a claim is owed, and one step further: there is no GJS host on Windows at all (ADR 0024 § 4), so the only route is Node + @gjsify/node-gi + @gjsify/gtk-runtime-win32-x64 — which gtk-os-suites.yml installs from npm and MEASURED on 2026-08-31. The closure is sound and GATING: the published bundle verifies (33 backed typelibs, windowing=true, decode probe) and check-batteries.mjs loads Gtk + Adw with no gvsbuild GTK on the host. The suite reported 7 of 848 — and that NUMBER is the misleading part, so here is its attribution: 2 were the #1438 baseline that was red on every OS and 1 a knock-on of one of them (the same `popped` seam), all three CLOSED in the engine since — and still counted on this leg, which runs the PUBLISHED addon and so cannot see an unreleased C++ fix (measured, same as darwin, 2026-09-02); 2 are inherited from @gjsify/gtk-host's table declaring GTK's Unix print stack (#1446, and gtk-host itself is 6 of 2264 there against 2274/2274 on both darwin arches), and 2 are POSIX-shaped ASSERTIONS rather than defects: the Image/ImageBackground vectors round-trip '/nonexistent-gjsify-vector.png' through Gio.File.new_for_path (src/components.ts) and assert get_path() returns it unchanged, but get_path() answers the NATIVE path, so GLib correctly returns '\\\\nonexistent-gjsify-vector.png'. The URI reading is excluded by the code: the assertion calls get_path(), not get_uri(). So this layer's own win32-specific defect count is ZERO, and `partial` records unmeasured ground rather than a Windows wall. Only win32-x64 is measurable at all — gvsbuild publishes no arm64 GTK. Promote when the engine fix for #1438 is released, #1446 closes and the two assertions stop being POSIX-shaped."
176
+ "win32": "As darwin for why a claim is owed, and one step further: there is no GJS host on Windows at all (ADR 0024 § 4), so the only route is Node + @gjsify/node-gi + @gjsify/gtk-runtime-win32-x64 — which gtk-os-suites.yml installs from npm and MEASURED on 2026-08-31. The closure is sound and GATING: the published bundle verifies (33 backed typelibs, windowing=true, decode probe) and check-batteries.mjs loads Gtk + Adw with no gvsbuild GTK on the host. The suite reported 7 of 848 — and that NUMBER is the misleading part, so here is its attribution: 2 were the #1438 baseline that was red on every OS and 1 a knock-on of one of them (the same `popped` seam), all three CLOSED in the engine since — and still counted on this leg, which runs the PUBLISHED addon and so cannot see an unreleased C++ fix (measured, same as darwin, 2026-09-02); 2 are inherited from @gjsify/gtk-host's table declaring GTK's Unix print stack (#1446, and gtk-host itself is 6 of 2264 there against 2274/2274 on both darwin arches), and 2 were POSIX-shaped ASSERTIONS rather than defects — the Image/ImageBackground vectors round-tripped '/nonexistent-gjsify-vector.png' through Gio.File.new_for_path (src/components.ts) and asserted get_path() returned it unchanged, but get_path() answers the NATIVE path, so GLib correctly returned '\\\\nonexistent-gjsify-vector.png'. FIXED in #1556: both now compare with Gio.File.equal plus the basename, which is the same claim in every separator. Fixing them found a real win32 defect beside them, also fixed there: normaliseSource read a DRIVE LETTER as a URI scheme (RFC 3986 admits a single ALPHA), so 'C:\\\\images\\\\logo.png' was refused as a 'c:' URI on the one OS that spells absolute paths that way. So this layer's own win32-specific defect count is ZERO, and `partial` records unmeasured ground rather than a Windows wall. Only win32-x64 is measurable at all — gvsbuild publishes no arm64 GTK. Promote when the engine fix for #1438 is released and #1446 closes; the assertions are no longer in the way."
177
177
  },
178
178
  "runtimes": {
179
179
  "gjs": "polyfill",
@@ -2,15 +2,19 @@
2
2
  "$comment": [
3
3
  "The public export names of react-native, read from the installed package's index.js",
4
4
  "rather than from documentation. src/support-table.ts must have exactly these keys.",
5
+ "SORTED, so a version bump diffs as the names that changed rather than as the order",
6
+ "upstream happens to declare them in. The comparison is set-based either way.",
7
+ "ONE VERSION IN THE TREE: this records the release the workspace RESOLVES, so the",
8
+ "drift half of scripts/check-rn-surface.mjs compares like with like and fails on a",
9
+ "real difference. When the two do diverge -- someone bumps the dev dependency and",
10
+ "forgets this file -- the check prints both versions and the difference between the",
11
+ "releases rather than failing, because that is what it is.",
5
12
  "Committed rather than derived at check time because react-native pulls ~170 MB of",
6
13
  "dependencies (hermes-compiler alone is 47 MB) and every workspace install would pay it",
7
- "for one list of strings. scripts/check-rn-surface.mjs compares the table against this",
8
- "file always, and additionally re-derives this file from a real react-native install",
9
- "when one is resolvable -- so the gate is stronger where the package is present and says",
10
- "so where it is not."
14
+ "for one list of strings."
11
15
  ],
12
- "reactNativeVersion": "0.85.3",
13
- "readOn": "2026-08-26",
16
+ "reactNativeVersion": "0.87.1",
17
+ "readOn": "2026-09-04",
14
18
  "exports": [
15
19
  "AccessibilityInfo",
16
20
  "ActionSheetIOS",
@@ -20,6 +24,7 @@
20
24
  "AppRegistry",
21
25
  "AppState",
22
26
  "Appearance",
27
+ "AssetRegistry",
23
28
  "BackHandler",
24
29
  "Button",
25
30
  "Clipboard",
@@ -37,7 +42,6 @@
37
42
  "Image",
38
43
  "ImageBackground",
39
44
  "InputAccessoryView",
40
- "InteractionManager",
41
45
  "Keyboard",
42
46
  "KeyboardAvoidingView",
43
47
  "LayoutAnimation",
@@ -46,7 +50,6 @@
46
50
  "Modal",
47
51
  "NativeAppEventEmitter",
48
52
  "NativeComponentRegistry",
49
- "NativeDialogManagerAndroid",
50
53
  "NativeEventEmitter",
51
54
  "NativeModules",
52
55
  "Networking",
@@ -73,7 +76,6 @@
73
76
  "Text",
74
77
  "TextInput",
75
78
  "ToastAndroid",
76
- "Touchable",
77
79
  "TouchableHighlight",
78
80
  "TouchableNativeFeedback",
79
81
  "TouchableOpacity",
@@ -93,11 +95,18 @@
93
95
  "processColor",
94
96
  "registerCallableModule",
95
97
  "requireNativeComponent",
98
+ "unstable_DEFAULT_INITIAL_NUM_TO_RENDER",
96
99
  "unstable_NativeText",
97
100
  "unstable_NativeView",
98
101
  "unstable_TextAncestorContext",
102
+ "unstable_VirtualArray",
103
+ "unstable_VirtualColumn",
104
+ "unstable_VirtualColumnGenerator",
105
+ "unstable_VirtualRow",
99
106
  "unstable_VirtualView",
100
107
  "unstable_batchedUpdates",
108
+ "unstable_createVirtualCollectionView",
109
+ "unstable_getScrollParent",
101
110
  "useAnimatedColor",
102
111
  "useAnimatedValue",
103
112
  "useAnimatedValueXY",