{"_id":"@reactvision/react-native-visionos","_rev":"4-850b2d40aab74f8eed9496d9f6146eda","name":"@reactvision/react-native-visionos","dist-tags":{"latest":"0.86.4"},"versions":{"0.86.2":{"name":"@reactvision/react-native-visionos","version":"0.86.2","keywords":["react","react-native","android","ios","mobile","cross-platform","app-framework","mobile-development"],"license":"MIT","_id":"@reactvision/react-native-visionos@0.86.2","maintainers":[{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},{"name":"oliedis","email":"oliver@reactvision.xyz"}],"homepage":"https://github.com/ReactVision/react-native-visionos#readme","bugs":{"url":"https://github.com/ReactVision/react-native-visionos/issues"},"bin":{"react-native":"cli.js"},"dist":{"shasum":"6b82adc21f256bc8adf6684f07c0bff9e84f89c7","tarball":"https://registry.npmjs.org/@reactvision/react-native-visionos/-/react-native-visionos-0.86.2.tgz","fileCount":4600,"integrity":"sha512-SizP2Io996S+teQG1pLBXIfDtLRWCuE3EBrgZdmgQPM8LN/D9YDOWC1XjxmTr9pb+X8B3qp6l0L8Agl6FCuXjA==","signatures":[{"sig":"MEUCIFDEe5G+fa+M286tXMIeanaH+jTc/MIKOCqsGQpBkgr+AiEA3EU9D80nAKo8yaKUIfTxmKTDGSoufpLFNdKyCPWQGuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20366327},"main":"./index.js","types":"types","engines":{"node":"^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./index.js","react-native-strict-api":"./types_generated/index.d.ts"},"./*":{"types":"./*.d.ts","default":"./*.js","react-native-strict-api":null},"./*.js":{"default":"./*.js","react-native-strict-api":null},"./src/*":{"default":"./src/*.js","react-native-strict-api":null},"./sdks/*":null,"./React/*":null,"./types/*":null,"./gradle/*":null,"./scripts/*":"./scripts/*","./ReactApple/*":null,"./package.json":"./package.json","./types/*.d.ts":{"default":"./types/*.d.ts","react-native-strict-api":null},"./ReactCommon/*":null,"./ReactAndroid/*":null,"./Libraries/*.d.ts":{"default":"./Libraries/*.d.ts","react-native-strict-api":null},"./src/fb_internal/*":"./src/fb_internal/*","./types_generated/*":null,"./third-party-podspecs/*":null},"gitHead":"4ab8aedcf9f1592c28229af179167d6b35f41bea","scripts":{"prepack":"node ./scripts/prepack.js","featureflags":"node ./scripts/featureflags/index.js"},"_npmUser":{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},"deprecated":"Broken codegen: use 0.86.3 or later","jest-junit":{"outputName":"js-test-results.xml","outputDirectory":"reports/junit"},"repository":{"url":"git+https://github.com/ReactVision/react-native-visionos.git","type":"git","directory":"packages/react-native"},"_npmVersion":"11.17.0","description":"React Native for visionOS","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^7.5.10","anser":"^1.4.9","yargs":"^17.6.2","semver":"^7.1.3","promise":"^8.3.0","base64-js":"^1.5.1","commander":"^12.0.0","invariant":"^2.2.4","scheduler":"0.27.0","ansi-regex":"^5.0.0","nullthrows":"^1.1.1","tinyglobby":"^0.2.15","memoize-one":"^5.0.0","whatwg-fetch":"^3.0.0","metro-runtime":"^0.84.3","pretty-format":"^29.7.0","react-refresh":"^0.14.0","hermes-compiler":"250829098.0.16","abort-controller":"^3.0.0","metro-source-map":"^0.84.3","stacktrace-parser":"^0.1.10","flow-enums-runtime":"^0.0.6","react-devtools-core":"^6.1.5","regenerator-runtime":"^0.13.2","@react-native/codegen":"0.86.2","@react-native/js-polyfills":"0.86.2","@react-native/gradle-plugin":"0.86.2","@react-native/assets-registry":"0.86.2","@react-native/normalize-colors":"0.86.2","@react-native/virtualized-lists":"0.86.2","babel-plugin-syntax-hermes-parser":"0.36.0","@react-native/community-cli-plugin":"0.86.2"},"codegenConfig":{"libraries":[{"ios":{"modules":{"AppState":{"unstableRequiresMainQueueSetup":true},"Appearance":{"unstableRequiresMainQueueSetup":true},"DeviceInfo":{"unstableRequiresMainQueueSetup":true},"StatusBarManager":{"unstableRequiresMainQueueSetup":true},"PlatformConstants":{"unstableRequiresMainQueueSetup":true},"AccessibilityManager":{"unstableRequiresMainQueueSetup":true}}},"name":"FBReactNativeSpec","type":"all","android":{},"jsSrcsDir":"src"},{"ios":{},"name":"FBReactNativeSpec_visionOS","type":"modules","android":{},"jsSrcsDir":"visionos_modules"}]},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3","@types/react":"^19.1.1","@react-native/jest-preset":"0.86.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"@react-native/jest-preset":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-native-visionos_0.86.2_1788900569080_0.4197251153393873","host":"s3://npm-registry-packages-npm-production"}},"0.86.3":{"name":"@reactvision/react-native-visionos","version":"0.86.3","keywords":["react","react-native","android","ios","mobile","cross-platform","app-framework","mobile-development"],"license":"MIT","_id":"@reactvision/react-native-visionos@0.86.3","maintainers":[{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},{"name":"oliedis","email":"oliver@reactvision.xyz"}],"homepage":"https://github.com/ReactVision/react-native-visionos#readme","bugs":{"url":"https://github.com/ReactVision/react-native-visionos/issues"},"bin":{"react-native":"cli.js"},"dist":{"shasum":"b61f0c3699b685cc8ff3e898af6be6d25dddcb5c","tarball":"https://registry.npmjs.org/@reactvision/react-native-visionos/-/react-native-visionos-0.86.3.tgz","fileCount":4600,"integrity":"sha512-t6i0W9mzF2klIa9sr4PeE1Or52K2t7PkMitooOwQuBXeDU6EVoL1d/+8OgTqyogQY2m7dhQzJuV8sU2HYrGQnA==","signatures":[{"sig":"MEUCIFOfdDEr/x0b9zuJySthN8BKkmWXbOieBr5eEjFXBW4oAiEA9mSmqYKikUnYlBA49dSLQU6XYNs8N9ZVoXB4Rzgl9W4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20366592},"main":"./index.js","types":"types","engines":{"node":"^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./index.js","react-native-strict-api":"./types_generated/index.d.ts"},"./*":{"types":"./*.d.ts","default":"./*.js","react-native-strict-api":null},"./*.js":{"default":"./*.js","react-native-strict-api":null},"./src/*":{"default":"./src/*.js","react-native-strict-api":null},"./sdks/*":null,"./React/*":null,"./types/*":null,"./gradle/*":null,"./scripts/*":"./scripts/*","./ReactApple/*":null,"./package.json":"./package.json","./types/*.d.ts":{"default":"./types/*.d.ts","react-native-strict-api":null},"./ReactCommon/*":null,"./ReactAndroid/*":null,"./Libraries/*.d.ts":{"default":"./Libraries/*.d.ts","react-native-strict-api":null},"./src/fb_internal/*":"./src/fb_internal/*","./types_generated/*":null,"./third-party-podspecs/*":null},"gitHead":"fb733364fa038245bc61df6ab2a1c2b6f4a9bc52","scripts":{"prepack":"node ./scripts/prepack.js","featureflags":"node ./scripts/featureflags/index.js"},"_npmUser":{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},"jest-junit":{"outputName":"js-test-results.xml","outputDirectory":"reports/junit"},"repository":{"url":"git+https://github.com/ReactVision/react-native-visionos.git","type":"git","directory":"packages/react-native"},"_npmVersion":"11.17.0","description":"React Native for visionOS","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ws":"^7.5.10","anser":"^1.4.9","yargs":"^17.6.2","semver":"^7.1.3","promise":"^8.3.0","base64-js":"^1.5.1","commander":"^12.0.0","invariant":"^2.2.4","scheduler":"0.27.0","ansi-regex":"^5.0.0","nullthrows":"^1.1.1","tinyglobby":"^0.2.15","memoize-one":"^5.0.0","whatwg-fetch":"^3.0.0","metro-runtime":"^0.84.3","pretty-format":"^29.7.0","react-refresh":"^0.14.0","hermes-compiler":"250829098.0.16","abort-controller":"^3.0.0","metro-source-map":"^0.84.3","stacktrace-parser":"^0.1.10","flow-enums-runtime":"^0.0.6","react-devtools-core":"^6.1.5","regenerator-runtime":"^0.13.2","@react-native/codegen":"0.86.2","@react-native/js-polyfills":"0.86.2","@react-native/gradle-plugin":"0.86.2","@react-native/assets-registry":"0.86.2","@react-native/normalize-colors":"0.86.2","@react-native/virtualized-lists":"0.86.2","babel-plugin-syntax-hermes-parser":"0.36.0","@react-native/community-cli-plugin":"0.86.2"},"codegenConfig":{"libraries":[{"ios":{"modules":{"AppState":{"unstableRequiresMainQueueSetup":true},"Appearance":{"unstableRequiresMainQueueSetup":true},"DeviceInfo":{"unstableRequiresMainQueueSetup":true},"StatusBarManager":{"unstableRequiresMainQueueSetup":true},"PlatformConstants":{"unstableRequiresMainQueueSetup":true},"AccessibilityManager":{"unstableRequiresMainQueueSetup":true}}},"name":"FBReactNativeSpec","type":"all","android":{},"jsSrcsDir":"src"},{"ios":{},"name":"FBReactNativeSpec_visionOS","type":"modules","android":{},"jsSrcsDir":"visionos_modules"}]},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3","@types/react":"^19.1.1","@react-native/jest-preset":"0.86.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"@react-native/jest-preset":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-native-visionos_0.86.3_1788907070614_0.6583081455607351","host":"s3://npm-registry-packages-npm-production"}},"0.86.4":{"_id":"@reactvision/react-native-visionos@0.86.4","bin":{"react-native":"cli.js"},"bugs":{"url":"https://github.com/ReactVision/react-native-visionos/issues"},"dist":{"shasum":"21795909f76eb1038f37a017265479dbcaa3b3ad","tarball":"https://registry.npmjs.org/@reactvision/react-native-visionos/-/react-native-visionos-0.86.4.tgz","fileCount":4604,"integrity":"sha512-WqGLQkLtwMMR7fplm4peuJTjEVi8SzWhCIY9SSRfhku8gdgI7y6zfmBFfs8lOVAvF3KIj2X2M10LBqi6NmaD5Q==","signatures":[{"sig":"MEYCIQDi7CMyL5SMQeWR+ZKXFfUm5Ymx6RkCy8TS7ouggHu3WQIhAKBCZ/0zONdkRx+VLT+nDkbmxDxd2Jp8ZzhuEk79HWpd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDox6Jv4A4phu4CAAMs4mpKqLjNjk1guHlBJS0/F+zw2QIhALemMcDwKUCBNJuPhukTdCifdTevBeqR/ZLEYWBHNHjD"}],"unpackedSize":20389611},"main":"./index.js","name":"@reactvision/react-native-visionos","types":"types","engines":{"node":"^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0"},"exports":{".":{"types":"./types/index.d.ts","default":"./index.js","react-native-strict-api":"./types_generated/index.d.ts"},"./*":{"types":"./*.d.ts","default":"./*.js","react-native-strict-api":null},"./*.js":{"default":"./*.js","react-native-strict-api":null},"./src/*":{"default":"./src/*.js","react-native-strict-api":null},"./sdks/*":null,"./React/*":null,"./types/*":null,"./gradle/*":null,"./scripts/*":"./scripts/*","./ReactApple/*":null,"./package.json":"./package.json","./types/*.d.ts":{"default":"./types/*.d.ts","react-native-strict-api":null},"./ReactCommon/*":null,"./ReactAndroid/*":null,"./Libraries/*.d.ts":{"default":"./Libraries/*.d.ts","react-native-strict-api":null},"./src/fb_internal/*":"./src/fb_internal/*","./types_generated/*":null,"./third-party-podspecs/*":null},"gitHead":"8c4102e3819ea502e72a7606d8e5edffa8d6efdc","license":"MIT","scripts":{"prepack":"node ./scripts/prepack.js","featureflags":"node ./scripts/featureflags/index.js"},"version":"0.86.4","_npmUser":{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},"homepage":"https://github.com/ReactVision/react-native-visionos#readme","keywords":["react","react-native","android","ios","mobile","cross-platform","app-framework","mobile-development"],"jest-junit":{"outputName":"js-test-results.xml","outputDirectory":"reports/junit"},"repository":{"url":"git+https://github.com/ReactVision/react-native-visionos.git","type":"git","directory":"packages/react-native"},"_npmVersion":"11.17.0","description":"React Native for visionOS","directories":{},"maintainers":[{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},{"name":"oliedis","email":"oliver@reactvision.xyz"}],"_nodeVersion":"24.19.0","dependencies":{"ws":"^7.5.10","anser":"^1.4.9","yargs":"^17.6.2","semver":"^7.1.3","promise":"^8.3.0","base64-js":"^1.5.1","commander":"^12.0.0","invariant":"^2.2.4","scheduler":"0.27.0","ansi-regex":"^5.0.0","nullthrows":"^1.1.1","tinyglobby":"^0.2.15","memoize-one":"^5.0.0","whatwg-fetch":"^3.0.0","metro-runtime":"^0.84.3","pretty-format":"^29.7.0","react-refresh":"^0.14.0","hermes-compiler":"250829098.0.16","abort-controller":"^3.0.0","metro-source-map":"^0.84.3","stacktrace-parser":"^0.1.10","flow-enums-runtime":"^0.0.6","react-devtools-core":"^6.1.5","regenerator-runtime":"^0.13.2","@react-native/codegen":"0.86.2","@react-native/js-polyfills":"0.86.2","@react-native/gradle-plugin":"0.86.2","@react-native/assets-registry":"0.86.2","@react-native/normalize-colors":"0.86.2","@react-native/virtualized-lists":"0.86.2","babel-plugin-syntax-hermes-parser":"0.36.0","@react-native/community-cli-plugin":"0.86.2"},"codegenConfig":{"libraries":[{"ios":{"modules":{"AppState":{"unstableRequiresMainQueueSetup":true},"Appearance":{"unstableRequiresMainQueueSetup":true},"DeviceInfo":{"unstableRequiresMainQueueSetup":true},"StatusBarManager":{"unstableRequiresMainQueueSetup":true},"PlatformConstants":{"unstableRequiresMainQueueSetup":true},"AccessibilityManager":{"unstableRequiresMainQueueSetup":true}}},"name":"FBReactNativeSpec","type":"all","android":{},"jsSrcsDir":"src"},{"ios":{},"name":"FBReactNativeSpec_visionOS","type":"modules","android":{},"jsSrcsDir":"visionos_modules"}]},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"peerDependencies":{"react":"^19.2.3","@types/react":"^19.1.1","@react-native/jest-preset":"0.86.2"},"peerDependenciesMeta":{"@types/react":{"optional":true},"@react-native/jest-preset":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-native-visionos_0.86.4_1789871957467_0.3764594215068564"},"reactNativeUpstreamVersion":"0.86.3"}},"time":{"created":"2026-09-08T20:49:28.848Z","modified":"2026-09-20T02:39:17.851Z","0.86.2":"2026-09-08T20:49:29.337Z","0.86.3":"2026-09-08T22:37:50.810Z","0.86.4":"2026-09-20T02:39:17.672Z"},"bugs":{"url":"https://github.com/ReactVision/react-native-visionos/issues"},"license":"MIT","homepage":"https://github.com/ReactVision/react-native-visionos#readme","keywords":["react","react-native","android","ios","mobile","cross-platform","app-framework","mobile-development"],"repository":{"url":"git+https://github.com/ReactVision/react-native-visionos.git","type":"git","directory":"packages/react-native"},"description":"React Native for visionOS","maintainers":[{"name":"doranteseduardo","email":"eduardo.dorantes.07@icloud.com"},{"name":"oliedis","email":"oliver@reactvision.xyz"}],"readme":"<p align=\"center\" style=\"background-colour: #CCCCCC;\">\n  <a href=\"https://www.reactvision.xyz/\">\n    <img src=\"https://avatars.githubusercontent.com/u/74572641?s=200&v=4\" alt=\"ReactVision logo\" width=\"120px\" height=\"120px\">\n  </a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://www.npmjs.com/package/@reactvision/react-native-visionos\">\n    <img src=\"https://img.shields.io/npm/v/@reactvision/react-native-visionos\" alt=\"npm version\">\n  </a>\n  <a href=\"https://github.com/ReactVision/react-native-visionos/blob/main/LICENSE\">\n    <img src=\"https://img.shields.io/badge/license-MIT-blue.svg\" alt=\"MIT licensed\">\n  </a>\n  <a href=\"https://discord.gg/yqqEGUjK\">\n    <img src=\"https://img.shields.io/discord/774471080713781259?label=Discord\" alt=\"Discord\">\n  </a>\n</p>\n\n# React Native for visionOS, By ReactVision\n\nReact Native for visionOS lets you build Apple Vision Pro apps with React Native. It is an\n**out-of-tree platform**: your project keeps its `ios/` and `android/` folders and gains a\n`visionos/` one, all three driven by the same JavaScript.\n\nThis fork exists so that [ViroReact](https://github.com/ReactVision/viro) can render spatial scenes\non visionOS. It is useful on its own for any React Native app targeting the platform.\n\nMIT licensed and free forever.\n\n## Attribution\n\nThis work stands on two others, and neither is ours:\n\n- **React Native** is built by Meta and its contributors. This repository is a fork of it, and every\n  commit of that history is preserved here.\n- **visionOS support** was created by [Callstack](https://github.com/callstack/react-native-visionos).\n  The platform, the Swift app scaffolding, the `visionos` resolver — that design is theirs. ReactVision\n  continues it from React Native 0.86 onward.\n\n## Supported versions\n\n| React Native | Package | Status |\n| --- | --- | --- |\n| 0.86.x | `@reactvision/react-native-visionos@0.86.x` | ✅ Current |\n| 0.79.6 and earlier | `@callstack/react-native-visionos` | Callstack's releases |\n\nThe package version tracks the React Native line it is built from — `0.86.x` is React Native 0.86\nwith visionOS support added. Install it *alongside* `react-native`, not instead of it.\n\nThe patch numbers are independent, and deliberately so: this package's own fixes ship without waiting\nfor an upstream release, so **0.86.4 is built from upstream 0.86.3**. `reactNativeUpstreamVersion` in\n`packages/react-native/package.json` names the release the prebuilt artifacts come from, because the\nCore and Dependencies xcframeworks are fetched from Maven under *that* number and Gradle resolves\n`com.facebook.react:react-android` the same way. Without the split, a patch upstream has not made\npoints every lookup at a version nobody published — which fails quietly, by falling back to building\nReact Native from source.\n\n## Installation\n\n```bash\nnpm install @reactvision/react-native-visionos\n```\n\nThen create the `visionos/` folder once, and build:\n\n```bash\nnpx expo prebuild\ncd visionos && pod install\n```\n\n`Platform.OS` is `\"ios\"` on visionOS — the platform keeps the iOS identity so that the ecosystem's\niOS code paths work unchanged. Branch on the platform only where you genuinely need to.\n\n## Using it with ViroReact\n\nIf you want 3D, AR or VR content rather than 2D UI, this fork is the foundation and\n[ViroReact](https://github.com/ReactVision/viro) is the renderer on top. Its config plugin wires up\neverything this platform needs — pods, the Metro resolver, the immersive space scene, the Xcode\nbundling phase — so a Viro project needs no manual visionOS setup.\n\nSee the ViroReact visionOS guide for the full walkthrough.\n\n## What this adds to React Native\n\n- A `visionos` platform target, resolved through `@callstack/out-of-tree-platforms`\n- SwiftUI app scaffolding with `WindowGroup` and `ImmersiveSpace` scenes\n- `WindowManager` and `XR` native modules for opening windows and immersive spaces from JavaScript\n- visionOS-aware podspecs and build settings across React Native's own pods\n\n## Documentation\n\nReact Native's own documentation applies unchanged for everything that is not visionOS-specific:\n<https://reactnative.dev/docs/getting-started>\n\nFor ViroReact and spatial rendering: <https://viro-community.readme.io/docs/overview>\n\n## Community\n\nDiscord is the best place to find the team and other developers building with ReactVision:\n\n<a href=\"https://discord.gg/A6TaFNqwVc\">\n  <img src=\"https://discordapp.com/api/guilds/774471080713781259/widget.png?style=banner2\" />\n</a>\n\n## Contributing\n\nIssues and pull requests are welcome. Changes that belong upstream — in React Native itself, or in\nCallstack's visionOS work — are better sent there, and this fork will pick them up on the next\nrebase.\n\n## Find Out More\n\n- Website: <https://reactvision.xyz>\n- ViroReact: <https://reactvision.xyz/viro-react>\n- ReactVision Studio: <https://studio.reactvision.xyz>\n- Blog: <https://updates.reactvision.xyz>\n\n## A little history…\n\nReact Native was open-sourced by Meta in 2015. Callstack added visionOS as an out-of-tree platform in\n2024, carrying it to React Native 0.79. ReactVision picked it up from 0.86 to keep ViroReact shipping\non Apple Vision Pro, and maintains this fork in the open.\n\n---\n\nMIT licensed. React Native is © Meta Platforms, Inc. and affiliates; visionOS support is © Callstack\nand © ReactVision, Inc.\n","readmeFilename":"README.md"}