├── .env ├── .gitignore ├── README.md ├── app.json ├── app ├── api │ └── hello+api.ts └── index.tsx ├── assets ├── fonts │ └── SpaceMono-Regular.ttf └── images │ ├── adaptive-icon.png │ ├── favicon.png │ ├── icon.png │ └── splash.png ├── babel.config.js ├── components └── native-module.tsx ├── index.ts ├── ios ├── .gitignore ├── .xcode.env ├── Podfile ├── Podfile.lock ├── Podfile.properties.json ├── jun21.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ │ └── xcschemes │ │ └── jun21.xcscheme ├── jun21.xcworkspace │ ├── contents.xcworkspacedata │ └── xcshareddata │ │ ├── IDEWorkspaceChecks.plist │ │ └── swiftpm │ │ └── Package.resolved └── jun21 │ ├── AppDelegate.h │ ├── AppDelegate.mm │ ├── Images.xcassets │ ├── AppIcon.appiconset │ │ ├── App-Icon-1024x1024@1x.png │ │ └── Contents.json │ ├── Contents.json │ ├── SplashScreen.imageset │ │ ├── Contents.json │ │ └── image.png │ └── SplashScreenBackground.imageset │ │ ├── Contents.json │ │ └── image.png │ ├── Info.plist │ ├── PrivacyInfo.xcprivacy │ ├── SplashScreen.storyboard │ ├── Supporting │ └── Expo.plist │ ├── jun21-Bridging-Header.h │ ├── jun21.entitlements │ ├── main.m │ ├── native-module.swift │ └── noop-file.swift ├── package.json ├── patches └── react-native+0.74.2.patch ├── server.js ├── tsconfig.json └── yarn.lock /.env: -------------------------------------------------------------------------------- 1 | EXPO_USE_FAST_RESOLVER=1 -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Learn more https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files 2 | 3 | # dependencies 4 | node_modules/ 5 | 6 | # Expo 7 | .expo/ 8 | dist/ 9 | web-build/ 10 | 11 | # Native 12 | *.orig.* 13 | *.jks 14 | *.p8 15 | *.p12 16 | *.key 17 | *.mobileprovision 18 | 19 | # Metro 20 | .metro-health-check* 21 | 22 | # debug 23 | npm-debug.* 24 | yarn-debug.* 25 | yarn-error.* 26 | 27 | # macOS 28 | .DS_Store 29 | *.pem 30 | 31 | # local env files 32 | .env*.local 33 | 34 | # typescript 35 | *.tsbuildinfo 36 | 37 | # @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb 38 | # The following patterns were generated by expo-cli 39 | 40 | expo-env.d.ts 41 | # @end expo-cli -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # A more Reacty React Native experiment 2 | 3 | TL;DR: Import-less native views and modules, ex: [`app/index.tsx`](https://github.com/EvanBacon/react-native-swift-macros-demo/blob/e70f40867d236d4279fb11310179db3c07bacc6b/app/index.tsx#L3C4-L10C6) 4 | 5 | ```js 6 | export default function Home() { 7 | return ( 8 |
native?.calendar.openModal()}>Hey
17 |Hey
28 |