diff --git a/.github/ISSUE_TEMPLATE/BUG_REPORT_NITRO_CORE.yml b/.github/ISSUE_TEMPLATE/BUG_REPORT_NITRO_CORE.yml
index d8d4e7a256..3154cc869b 100644
--- a/.github/ISSUE_TEMPLATE/BUG_REPORT_NITRO_CORE.yml
+++ b/.github/ISSUE_TEMPLATE/BUG_REPORT_NITRO_CORE.yml
@@ -70,7 +70,7 @@ body:
attributes:
label: Can you reproduce this issue in the Nitro Example app here?
description: >
- Try to build the example app (`example/`) and see if the issue is reproduceable here.
+ Try to build the example app (`apps/example/`) and see if the issue is reproduceable here.
**Note:** If you don't try this in the example app, I most likely won't help you with your issue.
options:
- I didn't try (⚠️ your issue might get ignored & closed if you don't try this)
diff --git a/.github/ISSUE_TEMPLATE/BUILD_ERROR.yml b/.github/ISSUE_TEMPLATE/BUILD_ERROR.yml
index c9b2aaec02..5b004fa7b3 100644
--- a/.github/ISSUE_TEMPLATE/BUILD_ERROR.yml
+++ b/.github/ISSUE_TEMPLATE/BUILD_ERROR.yml
@@ -76,7 +76,7 @@ body:
attributes:
label: Can you build the Nitro Modules Example app?
description: >
- Try to build the example app (`example/`) and see if the issue is reproduceable here.
+ Try to build the example app (`apps/example/`) and see if the issue is reproduceable here.
**Note:** If you don't try to build the example app, I most likely won't help you with your issue.
options:
- I didn't try (⚠️ your issue might get ignored & closed if you don't try this)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 69ace38278..8664687931 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -14,7 +14,7 @@ updates:
- "/packages/react-native-nitro-test/android/"
- "/packages/react-native-nitro-test-external/android/"
- "/packages/template/android/"
- - "/example/android/"
+ - "/apps/example/android/"
schedule:
interval: "daily"
labels:
@@ -47,7 +47,7 @@ updates:
- "/packages/react-native-nitro-test/"
- "/packages/react-native-nitro-test-external/"
- "/packages/template/"
- - "/example/"
+ - "/apps/example/"
schedule:
interval: "daily"
labels:
diff --git a/.github/workflows/build-android-release.yml b/.github/workflows/build-android-release.yml
index 072a1c6755..4785a1065a 100644
--- a/.github/workflows/build-android-release.yml
+++ b/.github/workflows/build-android-release.yml
@@ -26,10 +26,10 @@ jobs:
java-package: jdk
- name: Set minSdk in build.gradle to 26
- run: sed -i "s/minSdkVersion = 24/minSdkVersion = 26/g" example/android/build.gradle
+ run: sed -i "s/minSdkVersion = 24/minSdkVersion = 26/g" apps/example/android/build.gradle
- - name: Run Gradle Build for example/android/
- working-directory: example/android
+ - name: Run Gradle Build for apps/example/android/
+ working-directory: apps/example/android
run: |
./gradlew clean :app:assembleRelease --no-daemon --no-build-cache
@@ -39,11 +39,11 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
- asset_path: example/android/app/build/outputs/apk/release/app-release.apk
+ asset_path: apps/example/android/app/build/outputs/apk/release/app-release.apk
asset_name: "NitroExample-${{ github.event.release.tag_name }}.apk"
asset_content_type: application/vnd.android.package-archive
# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
- working-directory: example/android
+ working-directory: apps/example/android
run: ./gradlew --stop
diff --git a/.github/workflows/build-android.yml b/.github/workflows/build-android.yml
index c45ec033e9..e1ce2bd9dc 100644
--- a/.github/workflows/build-android.yml
+++ b/.github/workflows/build-android.yml
@@ -6,7 +6,7 @@ on:
- main
paths:
- '.github/workflows/build-android.yml'
- - 'example/android/**'
+ - 'apps/example/android/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/android/**'
- 'packages/react-native-nitro-test/cpp/**'
@@ -21,7 +21,7 @@ on:
pull_request:
paths:
- '.github/workflows/build-android.yml'
- - 'example/android/**'
+ - 'apps/example/android/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/android/**'
- 'packages/react-native-nitro-test/cpp/**'
@@ -55,7 +55,7 @@ jobs:
run: bun install
- name: Set minSdk in build.gradle
- run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" example/android/build.gradle
+ run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" apps/example/android/build.gradle
- name: Setup JDK 17
uses: actions/setup-java@v5.7.0
@@ -70,17 +70,17 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
- example/android/.gradle
- example/android/app/.cxx
+ apps/example/android/.gradle
+ apps/example/android/app/.cxx
key: ${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.TARGET_ANDROID_ARCH }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.TARGET_ANDROID_ARCH }}-
${{ runner.os }}-gradle-
- - name: Run Gradle Build for example/android/
- working-directory: example/android
+ - name: Run Gradle Build for apps/example/android/
+ working-directory: apps/example/android
run: ./gradlew :app:assembleDebug --no-daemon --build-cache -PreactNativeArchitectures=${{ env.TARGET_ANDROID_ARCH }}
# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
- working-directory: example/android
+ working-directory: apps/example/android
run: ./gradlew --stop
diff --git a/.github/workflows/build-ios-release.yml b/.github/workflows/build-ios-release.yml
index de9fa0f6df..1be1b852d0 100644
--- a/.github/workflows/build-ios-release.yml
+++ b/.github/workflows/build-ios-release.yml
@@ -23,16 +23,16 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
- working-directory: example
+ working-directory: apps/example
- name: Select Xcode 26.5
run: sudo xcode-select -s "/Applications/Xcode_26.5.app/Contents/Developer"
- name: Install Pods
- working-directory: example
+ working-directory: apps/example
run: bun pods
- name: Build App (Release, Simulator)
- working-directory: example/ios
+ working-directory: apps/example/ios
run: |
set -o pipefail
xcodebuild \
@@ -50,8 +50,8 @@ jobs:
- name: Package .app for Simulator
run: |
- cd example/ios/build/Build/Products/Release-iphonesimulator
- zip -r ../../../../../../NitroExample-Release-Simulator.zip NitroExample.app
+ cd apps/example/ios/build/Build/Products/Release-iphonesimulator
+ zip -r "$GITHUB_WORKSPACE/NitroExample-Release-Simulator.zip" NitroExample.app
- name: Upload .app to Release
uses: actions/upload-release-asset@v1
diff --git a/.github/workflows/build-ios.yml b/.github/workflows/build-ios.yml
index 0097c1992f..dc23ffaad6 100644
--- a/.github/workflows/build-ios.yml
+++ b/.github/workflows/build-ios.yml
@@ -6,7 +6,7 @@ on:
- main
paths:
- '.github/workflows/build-ios.yml'
- - 'example/ios/**'
+ - 'apps/example/ios/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'packages/react-native-nitro-test/cpp/**'
@@ -22,7 +22,7 @@ on:
pull_request:
paths:
- '.github/workflows/build-ios.yml'
- - 'example/ios/**'
+ - 'apps/example/ios/**'
- '**/nitrogen/generated/shared/**'
- '**/nitrogen/generated/ios/**'
- 'packages/react-native-nitro-test/cpp/**'
@@ -81,7 +81,7 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
- working-directory: example
+ working-directory: apps/example
- name: Select Xcode ${{ env.XCODE_VERSION }}
run: sudo xcode-select -s "/Applications/Xcode_${{ env.XCODE_VERSION }}.app/Contents/Developer"
@@ -89,24 +89,24 @@ jobs:
- name: Restore Pods cache
uses: actions/cache@v6
with:
- path: example/ios/Pods
- key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-pods-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
+ path: apps/example/ios/Pods
+ key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-pods-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-pods-
- name: Install Pods
- working-directory: example
+ working-directory: apps/example
run: bun pods
- name: Restore DerivedData cache
uses: actions/cache@v6
with:
- path: example/ios/build
- key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-xcode${{ env.XCODE_VERSION }}-dd-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
+ path: apps/example/ios/build
+ key: ${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-xcode${{ env.XCODE_VERSION }}-dd-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-${{ matrix.use_frameworks }}-xcode${{ env.XCODE_VERSION }}-dd-
- name: Build App
- working-directory: example/ios
+ working-directory: apps/example/ios
run: |
set -o pipefail
xcodebuild \
diff --git a/.github/workflows/harness-android.yml b/.github/workflows/harness-android.yml
index 60bec40f43..0391f25351 100644
--- a/.github/workflows/harness-android.yml
+++ b/.github/workflows/harness-android.yml
@@ -27,7 +27,7 @@ on:
- main
paths:
- ".github/workflows/harness-android.yml"
- - "example/android/**"
+ - "apps/example/android/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/android/**"
- "packages/react-native-nitro-test/cpp/**"
@@ -40,16 +40,16 @@ on:
- "**/bun.lock"
- "**/react-native.config.js"
- "**/nitro.json"
- - "example/__tests__/**"
- - "example/src/getTests.ts"
- - "example/src/testing/**"
- - "example/jest.harness.config.mjs"
- - "example/package.json"
- - "example/rn-harness.config.mjs"
+ - "apps/example/__tests__/**"
+ - "apps/example/src/getTests.ts"
+ - "apps/example/src/testing/**"
+ - "apps/example/jest.harness.config.mjs"
+ - "apps/example/package.json"
+ - "apps/example/rn-harness.config.mjs"
pull_request:
paths:
- ".github/workflows/harness-android.yml"
- - "example/android/**"
+ - "apps/example/android/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/android/**"
- "packages/react-native-nitro-test/cpp/**"
@@ -62,12 +62,12 @@ on:
- "**/bun.lock"
- "**/react-native.config.js"
- "**/nitro.json"
- - "example/__tests__/**"
- - "example/src/getTests.ts"
- - "example/src/testing/**"
- - "example/jest.harness.config.mjs"
- - "example/package.json"
- - "example/rn-harness.config.mjs"
+ - "apps/example/__tests__/**"
+ - "apps/example/src/getTests.ts"
+ - "apps/example/src/testing/**"
+ - "apps/example/jest.harness.config.mjs"
+ - "apps/example/package.json"
+ - "apps/example/rn-harness.config.mjs"
env:
# Device configuration - can be overridden by workflow_dispatch inputs
@@ -111,7 +111,7 @@ jobs:
run: bun install
- name: Set minSdk in build.gradle
- run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" example/android/build.gradle
+ run: sed -i "s/minSdkVersion = 24/minSdkVersion = ${{ matrix.min-sdk }}/g" apps/example/android/build.gradle
- name: Setup JDK 17
uses: actions/setup-java@v5.7.0
@@ -126,25 +126,25 @@ jobs:
path: |
~/.gradle/caches
~/.gradle/wrapper
- example/android/.gradle
- example/android/app/.cxx
+ apps/example/android/.gradle
+ apps/example/android/app/.cxx
key: ${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.DEVICE_ARCH }}-${{ matrix.sanitizer.name }}-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', '**/CMakeLists.txt', '**/*.cmake') }}
restore-keys: |
${{ runner.os }}-gradle-${{ matrix.min-sdk }}-${{ env.DEVICE_ARCH }}-${{ matrix.sanitizer.name }}-
${{ runner.os }}-gradle-
- name: Build Android app
- working-directory: example/android
+ working-directory: apps/example/android
run: ./gradlew :app:assembleDebug --no-daemon --build-cache -PreactNativeArchitectures=${{ env.DEVICE_ARCH }} -PnitroSanitizer=${{ matrix.sanitizer.gradle_property }}
- name: Run Harness E2E tests
uses: callstackincubator/react-native-harness@v1.4.1
with:
runner: android
- projectRoot: example
+ projectRoot: apps/example
app: android/app/build/outputs/apk/debug/app-debug.apk
packageManager: bun
# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
- working-directory: example/android
+ working-directory: apps/example/android
run: ./gradlew --stop
diff --git a/.github/workflows/harness-ios.yml b/.github/workflows/harness-ios.yml
index 861c57566e..b482f9b6f7 100644
--- a/.github/workflows/harness-ios.yml
+++ b/.github/workflows/harness-ios.yml
@@ -27,7 +27,7 @@ on:
- main
paths:
- ".github/workflows/harness-ios.yml"
- - "example/ios/**"
+ - "apps/example/ios/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/ios/**"
- "packages/react-native-nitro-test/cpp/**"
@@ -42,16 +42,16 @@ on:
- "**/*.podspec"
- "**/react-native.config.js"
- "**/nitro.json"
- - "example/__tests__/**"
- - "example/src/getTests.ts"
- - "example/src/testing/**"
- - "example/jest.harness.config.mjs"
- - "example/package.json"
- - "example/rn-harness.config.mjs"
+ - "apps/example/__tests__/**"
+ - "apps/example/src/getTests.ts"
+ - "apps/example/src/testing/**"
+ - "apps/example/jest.harness.config.mjs"
+ - "apps/example/package.json"
+ - "apps/example/rn-harness.config.mjs"
pull_request:
paths:
- ".github/workflows/harness-ios.yml"
- - "example/ios/**"
+ - "apps/example/ios/**"
- "**/nitrogen/generated/shared/**"
- "**/nitrogen/generated/ios/**"
- "packages/react-native-nitro-test/cpp/**"
@@ -66,12 +66,12 @@ on:
- "**/*.podspec"
- "**/react-native.config.js"
- "**/nitro.json"
- - "example/__tests__/**"
- - "example/src/getTests.ts"
- - "example/src/testing/**"
- - "example/jest.harness.config.mjs"
- - "example/package.json"
- - "example/rn-harness.config.mjs"
+ - "apps/example/__tests__/**"
+ - "apps/example/src/getTests.ts"
+ - "apps/example/src/testing/**"
+ - "apps/example/jest.harness.config.mjs"
+ - "apps/example/package.json"
+ - "apps/example/rn-harness.config.mjs"
env:
# Device configuration - can be overridden by workflow_dispatch inputs
@@ -124,7 +124,7 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
- working-directory: example
+ working-directory: apps/example
- name: Select Xcode ${{ env.XCODE_VERSION }}
run: sudo xcode-select -s "/Applications/Xcode_${{ env.XCODE_VERSION }}.app/Contents/Developer"
@@ -132,24 +132,24 @@ jobs:
- name: Restore Pods cache
uses: actions/cache@v6
with:
- path: example/ios/Pods
- key: ${{ runner.os }}-${{ runner.arch }}-pods-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
+ path: apps/example/ios/Pods
+ key: ${{ runner.os }}-${{ runner.arch }}-pods-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-pods-
- name: Install Pods
- working-directory: example
+ working-directory: apps/example
run: bun pods
- name: Restore DerivedData cache
uses: actions/cache@v6
with:
- path: example/ios/build
- key: ${{ runner.os }}-${{ runner.arch }}-xcode${{ env.XCODE_VERSION }}-${{ matrix.sanitizer.name }}-dd-${{ hashFiles('bun.lock', 'example/Gemfile.lock', 'example/ios/Podfile.lock') }}
+ path: apps/example/ios/build
+ key: ${{ runner.os }}-${{ runner.arch }}-xcode${{ env.XCODE_VERSION }}-${{ matrix.sanitizer.name }}-dd-${{ hashFiles('bun.lock', 'apps/example/Gemfile.lock', 'apps/example/ios/Podfile.lock') }}
restore-keys: |
${{ runner.os }}-${{ runner.arch }}-xcode${{ env.XCODE_VERSION }}-${{ matrix.sanitizer.name }}-dd-
- name: Build iOS app
- working-directory: example/ios
+ working-directory: apps/example/ios
run: |
set -o pipefail
CLANG="$(xcrun -f clang)"
@@ -176,6 +176,6 @@ jobs:
uses: callstackincubator/react-native-harness@v1.4.1
with:
runner: ios
- projectRoot: example
+ projectRoot: apps/example
app: ios/build/Build/Products/Debug-iphonesimulator/NitroExample.app
packageManager: bun
diff --git a/.github/workflows/lint-typescript.yml b/.github/workflows/lint-typescript.yml
index b327884bd9..9873e78a61 100644
--- a/.github/workflows/lint-typescript.yml
+++ b/.github/workflows/lint-typescript.yml
@@ -53,8 +53,8 @@ jobs:
- name: Install npm dependencies (bun)
run: bun install
- - name: Run ESLint CI in example/
- working-directory: example
+ - name: Run ESLint CI in apps/example/
+ working-directory: apps/example
run: bun lint-ci
- name: Run ESLint CI in packages/nitrogen
working-directory: packages/nitrogen
@@ -69,8 +69,8 @@ jobs:
working-directory: packages/react-native-nitro-modules
run: bun lint-ci
- - name: Run ESLint with auto-fix in example/
- working-directory: example
+ - name: Run ESLint with auto-fix in apps/example/
+ working-directory: apps/example
run: bun lint
- name: Run ESLint with auto-fix in packages/nitrogen
working-directory: packages/nitrogen
diff --git a/.github/workflows/update-lockfiles.yml b/.github/workflows/update-lockfiles.yml
index dc31ab314d..6ba8291beb 100644
--- a/.github/workflows/update-lockfiles.yml
+++ b/.github/workflows/update-lockfiles.yml
@@ -33,7 +33,7 @@ jobs:
with:
ruby-version: 2.7.2
bundler-cache: true
- working-directory: example/ios
+ working-directory: apps/example/ios
- name: Select Xcode 26.2
run: sudo xcode-select -s "/Applications/Xcode_26.2.app/Contents/Developer"
@@ -41,18 +41,18 @@ jobs:
- run: |
bun install
- cd example
+ cd apps/example
bundle install
bun pods
- cd ..
+ cd "$GITHUB_WORKSPACE"
cd docs
bun install
cd ..
git add bun.lock
- git add example/ios/Podfile.lock
- git add example/Gemfile.lock
+ git add apps/example/ios/Podfile.lock
+ git add apps/example/Gemfile.lock
git config --global user.name 'dependabot[bot]'
git config --global user.email 'dependabot[bot]@users.noreply.github.com'
diff --git a/.gitignore b/.gitignore
index d7fb41f434..fae0fc49b2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -45,10 +45,10 @@ android.iml
# Cocoapods
#
-example/ios/Pods
+apps/*/ios/Pods
# Ruby
-example/vendor/
+apps/*/vendor/
# node.js
#
@@ -88,7 +88,7 @@ lib/
tsconfig.tsbuildinfo
# React Native Harness
-example/.harness/
+apps/*/.harness/
# Claude Code local settings
.claude/settings.local.json
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index df19b2bc3a..945a0285d9 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -21,7 +21,7 @@ Either is welcome. A clean, deterministic repro is often more valuable than a gu
Nitro is a Bun monorepo:
-- [example/](example) — React Native example app that hosts the runtime test harness.
+- [apps/example/](apps/example) — React Native example app that hosts the runtime test harness.
- [packages/nitrogen/](packages/nitrogen) — the `nitrogen` code generator.
- [packages/react-native-nitro-modules/](packages/react-native-nitro-modules) — the core Nitro C++ library.
- [packages/react-native-nitro-test/](packages/react-native-nitro-test) — a Nitro module full of specs used as compile-time and runtime tests.
@@ -47,7 +47,7 @@ bun lint-all # run all linters (JS/TS, C++, Swift, Kotlin)
The most useful thing you can contribute for a bug you can't fix yourself is a **PR that makes CI go red**. If you can reproduce your bug inside this repo as:
- a **compile error** — add the minimal spec to [packages/react-native-nitro-test/src/specs/](packages/react-native-nitro-test/src/specs) that causes nitrogen output to fail to build, or
-- a **runtime error** — add the minimal failing assertion to [example/src/getTests.ts](example/src/getTests.ts) so the Harness workflows ([harness-ios.yml](.github/workflows/harness-ios.yml), [harness-android.yml](.github/workflows/harness-android.yml)) catch it,
+- a **runtime error** — add the minimal failing assertion to [apps/example/src/getTests.ts](apps/example/src/getTests.ts) so the Harness workflows ([harness-ios.yml](.github/workflows/harness-ios.yml), [harness-android.yml](.github/workflows/harness-android.yml)) catch it,
then open a PR with just that change. Don't attempt a fix. A red CI run that deterministically pins the bug is often more valuable than a guessed patch — once the repro is in, the actual fix can be taken from there.
@@ -59,7 +59,7 @@ The rules from ["Writing good tests"](#writing-good-tests) below still apply to
### 1. Runtime test
-A runtime test lives in [example/src/getTests.ts](example/src/getTests.ts) and exercises a spec from [packages/react-native-nitro-test/src/specs/](packages/react-native-nitro-test/src/specs). It runs:
+A runtime test lives in [apps/example/src/getTests.ts](apps/example/src/getTests.ts) and exercises a spec from [packages/react-native-nitro-test/src/specs/](packages/react-native-nitro-test/src/specs). It runs:
- locally in the example app via the "Run Tests" screen / `getTests`, and
- in CI on both iOS and Android via the **Harness** workflows ([harness-ios.yml](.github/workflows/harness-ios.yml), [harness-android.yml](.github/workflows/harness-android.yml)).
diff --git a/example/.bundle/config b/apps/example/.bundle/config
similarity index 100%
rename from example/.bundle/config
rename to apps/example/.bundle/config
diff --git a/example/.gitattributes b/apps/example/.gitattributes
similarity index 100%
rename from example/.gitattributes
rename to apps/example/.gitattributes
diff --git a/example/.watchmanconfig b/apps/example/.watchmanconfig
similarity index 100%
rename from example/.watchmanconfig
rename to apps/example/.watchmanconfig
diff --git a/example/Gemfile b/apps/example/Gemfile
similarity index 100%
rename from example/Gemfile
rename to apps/example/Gemfile
diff --git a/example/Gemfile.lock b/apps/example/Gemfile.lock
similarity index 100%
rename from example/Gemfile.lock
rename to apps/example/Gemfile.lock
diff --git a/example/README.md b/apps/example/README.md
similarity index 100%
rename from example/README.md
rename to apps/example/README.md
diff --git a/example/__tests__/nitro.harness.ts b/apps/example/__tests__/nitro.harness.ts
similarity index 100%
rename from example/__tests__/nitro.harness.ts
rename to apps/example/__tests__/nitro.harness.ts
diff --git a/example/__tests__/nitro.views.harness.tsx b/apps/example/__tests__/nitro.views.harness.tsx
similarity index 100%
rename from example/__tests__/nitro.views.harness.tsx
rename to apps/example/__tests__/nitro.views.harness.tsx
diff --git a/example/android/app/build.gradle b/apps/example/android/app/build.gradle
similarity index 96%
rename from example/android/app/build.gradle
rename to apps/example/android/app/build.gradle
index 4b8e3dfb3b..5d3b812baa 100644
--- a/example/android/app/build.gradle
+++ b/apps/example/android/app/build.gradle
@@ -11,11 +11,11 @@ react {
// The root of your project, i.e. where "package.json" lives. Default is '..'
// root = file("../")
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
- reactNativeDir = file("../../../node_modules/react-native")
+ reactNativeDir = file("../../../../node_modules/react-native")
// The folder where the react-native Codegen package is. Default is ../node_modules/@react-native/codegen
- codegenDir = file("../../../node_modules/@react-native/codegen")
+ codegenDir = file("../../../../node_modules/@react-native/codegen")
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
- cliFile = file("../../../node_modules/react-native/cli.js")
+ cliFile = file("../../../../node_modules/react-native/cli.js")
/* Variants */
// The list of variants to that are debuggable. For those we're going to
@@ -45,7 +45,7 @@ react {
/* Hermes Commands */
// The hermes compiler command to run. By default it is 'hermesc'
- hermesCommand = "$rootDir/../../node_modules/hermes-compiler/hermesc/%OS-BIN%/hermesc"
+ hermesCommand = "$rootDir/../../../node_modules/hermes-compiler/hermesc/%OS-BIN%/hermesc"
//
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
// hermesFlags = ["-O", "-output-source-map"]
diff --git a/example/android/app/debug.keystore b/apps/example/android/app/debug.keystore
similarity index 100%
rename from example/android/app/debug.keystore
rename to apps/example/android/app/debug.keystore
diff --git a/example/android/app/proguard-rules.pro b/apps/example/android/app/proguard-rules.pro
similarity index 100%
rename from example/android/app/proguard-rules.pro
rename to apps/example/android/app/proguard-rules.pro
diff --git a/example/android/app/src/debug/AndroidManifest.xml b/apps/example/android/app/src/debug/AndroidManifest.xml
similarity index 100%
rename from example/android/app/src/debug/AndroidManifest.xml
rename to apps/example/android/app/src/debug/AndroidManifest.xml
diff --git a/example/android/app/src/main/AndroidManifest.xml b/apps/example/android/app/src/main/AndroidManifest.xml
similarity index 100%
rename from example/android/app/src/main/AndroidManifest.xml
rename to apps/example/android/app/src/main/AndroidManifest.xml
diff --git a/example/android/app/src/main/ic_launcher-playstore.png b/apps/example/android/app/src/main/ic_launcher-playstore.png
similarity index 100%
rename from example/android/app/src/main/ic_launcher-playstore.png
rename to apps/example/android/app/src/main/ic_launcher-playstore.png
diff --git a/example/android/app/src/main/java/com/nitroexample/MainActivity.kt b/apps/example/android/app/src/main/java/com/nitroexample/MainActivity.kt
similarity index 100%
rename from example/android/app/src/main/java/com/nitroexample/MainActivity.kt
rename to apps/example/android/app/src/main/java/com/nitroexample/MainActivity.kt
diff --git a/example/android/app/src/main/java/com/nitroexample/MainApplication.kt b/apps/example/android/app/src/main/java/com/nitroexample/MainApplication.kt
similarity index 100%
rename from example/android/app/src/main/java/com/nitroexample/MainApplication.kt
rename to apps/example/android/app/src/main/java/com/nitroexample/MainApplication.kt
diff --git a/example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModule.kt b/apps/example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModule.kt
similarity index 100%
rename from example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModule.kt
rename to apps/example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModule.kt
diff --git a/example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModulePackage.kt b/apps/example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModulePackage.kt
similarity index 100%
rename from example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModulePackage.kt
rename to apps/example/android/app/src/main/java/com/nitroexample/exampleturbomodule/ExampleTurboModulePackage.kt
diff --git a/example/android/app/src/main/res/drawable/rn_edit_text_material.xml b/apps/example/android/app/src/main/res/drawable/rn_edit_text_material.xml
similarity index 100%
rename from example/android/app/src/main/res/drawable/rn_edit_text_material.xml
rename to apps/example/android/app/src/main/res/drawable/rn_edit_text_material.xml
diff --git a/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/apps/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 100%
rename from example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to apps/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
diff --git a/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/apps/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
similarity index 100%
rename from example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
rename to apps/example/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/apps/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp
rename to apps/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp
diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/apps/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
rename to apps/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp
diff --git a/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/apps/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
rename to apps/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/apps/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp
rename to apps/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp
diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp b/apps/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
rename to apps/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp
diff --git a/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/apps/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
rename to apps/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/apps/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
rename to apps/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp
diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/apps/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
rename to apps/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp
diff --git a/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/apps/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
rename to apps/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/apps/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
rename to apps/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp b/apps/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
rename to apps/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp
diff --git a/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/apps/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
rename to apps/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/apps/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
rename to apps/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp b/apps/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
rename to apps/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp
diff --git a/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/apps/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
similarity index 100%
rename from example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
rename to apps/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
diff --git a/example/android/app/src/main/res/values/ic_launcher_background.xml b/apps/example/android/app/src/main/res/values/ic_launcher_background.xml
similarity index 100%
rename from example/android/app/src/main/res/values/ic_launcher_background.xml
rename to apps/example/android/app/src/main/res/values/ic_launcher_background.xml
diff --git a/example/android/app/src/main/res/values/strings.xml b/apps/example/android/app/src/main/res/values/strings.xml
similarity index 100%
rename from example/android/app/src/main/res/values/strings.xml
rename to apps/example/android/app/src/main/res/values/strings.xml
diff --git a/example/android/app/src/main/res/values/styles.xml b/apps/example/android/app/src/main/res/values/styles.xml
similarity index 100%
rename from example/android/app/src/main/res/values/styles.xml
rename to apps/example/android/app/src/main/res/values/styles.xml
diff --git a/example/android/build.gradle b/apps/example/android/build.gradle
similarity index 100%
rename from example/android/build.gradle
rename to apps/example/android/build.gradle
diff --git a/example/android/gradle.properties b/apps/example/android/gradle.properties
similarity index 100%
rename from example/android/gradle.properties
rename to apps/example/android/gradle.properties
diff --git a/example/android/gradle/wrapper/gradle-wrapper.jar b/apps/example/android/gradle/wrapper/gradle-wrapper.jar
similarity index 100%
rename from example/android/gradle/wrapper/gradle-wrapper.jar
rename to apps/example/android/gradle/wrapper/gradle-wrapper.jar
diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/apps/example/android/gradle/wrapper/gradle-wrapper.properties
similarity index 100%
rename from example/android/gradle/wrapper/gradle-wrapper.properties
rename to apps/example/android/gradle/wrapper/gradle-wrapper.properties
diff --git a/example/android/gradlew b/apps/example/android/gradlew
similarity index 100%
rename from example/android/gradlew
rename to apps/example/android/gradlew
diff --git a/example/android/gradlew.bat b/apps/example/android/gradlew.bat
similarity index 100%
rename from example/android/gradlew.bat
rename to apps/example/android/gradlew.bat
diff --git a/example/android/settings.gradle b/apps/example/android/settings.gradle
similarity index 57%
rename from example/android/settings.gradle
rename to apps/example/android/settings.gradle
index 2e74e1f7b0..78b83166d6 100644
--- a/example/android/settings.gradle
+++ b/apps/example/android/settings.gradle
@@ -1,8 +1,8 @@
-pluginManagement { includeBuild("../../node_modules/@react-native/gradle-plugin") }
+pluginManagement { includeBuild("../../../node_modules/@react-native/gradle-plugin") }
plugins { id("com.facebook.react.settings") }
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
rootProject.name = 'NitroExample'
include ':app'
-includeBuild('../../node_modules/@react-native/gradle-plugin')
+includeBuild('../../../node_modules/@react-native/gradle-plugin')
diff --git a/example/app.json b/apps/example/app.json
similarity index 100%
rename from example/app.json
rename to apps/example/app.json
diff --git a/example/babel.config.js b/apps/example/babel.config.js
similarity index 100%
rename from example/babel.config.js
rename to apps/example/babel.config.js
diff --git a/example/index.js b/apps/example/index.js
similarity index 100%
rename from example/index.js
rename to apps/example/index.js
diff --git a/example/ios/.xcode.env b/apps/example/ios/.xcode.env
similarity index 100%
rename from example/ios/.xcode.env
rename to apps/example/ios/.xcode.env
diff --git a/example/ios/Example Turbo Module/MGLExampleTurboModule.h b/apps/example/ios/Example Turbo Module/MGLExampleTurboModule.h
similarity index 100%
rename from example/ios/Example Turbo Module/MGLExampleTurboModule.h
rename to apps/example/ios/Example Turbo Module/MGLExampleTurboModule.h
diff --git a/example/ios/Example Turbo Module/MGLExampleTurboModule.mm b/apps/example/ios/Example Turbo Module/MGLExampleTurboModule.mm
similarity index 100%
rename from example/ios/Example Turbo Module/MGLExampleTurboModule.mm
rename to apps/example/ios/Example Turbo Module/MGLExampleTurboModule.mm
diff --git a/example/ios/File.swift b/apps/example/ios/File.swift
similarity index 100%
rename from example/ios/File.swift
rename to apps/example/ios/File.swift
diff --git a/example/ios/NitroExample.xcodeproj/project.pbxproj b/apps/example/ios/NitroExample.xcodeproj/project.pbxproj
similarity index 99%
rename from example/ios/NitroExample.xcodeproj/project.pbxproj
rename to apps/example/ios/NitroExample.xcodeproj/project.pbxproj
index 0a5013453e..acfac9976e 100644
--- a/example/ios/NitroExample.xcodeproj/project.pbxproj
+++ b/apps/example/ios/NitroExample.xcodeproj/project.pbxproj
@@ -532,7 +532,7 @@
"$(inherited)",
" ",
);
- REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) DEBUG";
SWIFT_ENABLE_EXPLICIT_MODULES = NO;
@@ -615,7 +615,7 @@
"$(inherited)",
" ",
);
- REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
+ REACT_NATIVE_PATH = "${PODS_ROOT}/../../../../node_modules/react-native";
SDKROOT = iphoneos;
SWIFT_ENABLE_EXPLICIT_MODULES = NO;
SWIFT_OBJC_INTEROP_MODE = objcxx;
diff --git a/example/ios/NitroExample.xcodeproj/xcshareddata/xcschemes/NitroExample.xcscheme b/apps/example/ios/NitroExample.xcodeproj/xcshareddata/xcschemes/NitroExample.xcscheme
similarity index 100%
rename from example/ios/NitroExample.xcodeproj/xcshareddata/xcschemes/NitroExample.xcscheme
rename to apps/example/ios/NitroExample.xcodeproj/xcshareddata/xcschemes/NitroExample.xcscheme
diff --git a/example/ios/NitroExample.xcworkspace/contents.xcworkspacedata b/apps/example/ios/NitroExample.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from example/ios/NitroExample.xcworkspace/contents.xcworkspacedata
rename to apps/example/ios/NitroExample.xcworkspace/contents.xcworkspacedata
diff --git a/example/ios/NitroExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/apps/example/ios/NitroExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from example/ios/NitroExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to apps/example/ios/NitroExample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/example/ios/NitroExample/AppDelegate.swift b/apps/example/ios/NitroExample/AppDelegate.swift
similarity index 100%
rename from example/ios/NitroExample/AppDelegate.swift
rename to apps/example/ios/NitroExample/AppDelegate.swift
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/100.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/100.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/100.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/100.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/1024.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/1024.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/1024.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/1024.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/114.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/114.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/114.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/114.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/120.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/120.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/120.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/120.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/128.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/128.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/128.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/128.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/144.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/144.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/144.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/144.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/152.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/152.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/152.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/152.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/16.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/16.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/16.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/16.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/167.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/167.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/167.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/167.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/180.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/180.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/180.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/180.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/20.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/20.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/20.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/20.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/256.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/256.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/256.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/256.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/29.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/29.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/29.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/29.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/32.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/32.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/32.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/32.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/40.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/40.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/40.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/40.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/50.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/50.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/50.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/50.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/512.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/512.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/512.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/512.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/57.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/57.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/57.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/57.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/58.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/58.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/58.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/58.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/60.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/60.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/60.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/60.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/64.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/64.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/64.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/64.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/72.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/72.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/72.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/72.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/76.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/76.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/76.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/76.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/80.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/80.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/80.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/80.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/87.png b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/87.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/87.png
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/87.png
diff --git a/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/Contents.json b/apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/Contents.json
rename to apps/example/ios/NitroExample/Images.xcassets/AppIcon.appiconset/Contents.json
diff --git a/example/ios/NitroExample/Images.xcassets/Contents.json b/apps/example/ios/NitroExample/Images.xcassets/Contents.json
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/Contents.json
rename to apps/example/ios/NitroExample/Images.xcassets/Contents.json
diff --git a/example/ios/NitroExample/Images.xcassets/nos.imageset/Contents.json b/apps/example/ios/NitroExample/Images.xcassets/nos.imageset/Contents.json
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/nos.imageset/Contents.json
rename to apps/example/ios/NitroExample/Images.xcassets/nos.imageset/Contents.json
diff --git a/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 1.png b/apps/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 1.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 1.png
rename to apps/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 1.png
diff --git a/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 2.png b/apps/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 2.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 2.png
rename to apps/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192 2.png
diff --git a/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192.png b/apps/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192.png
similarity index 100%
rename from example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192.png
rename to apps/example/ios/NitroExample/Images.xcassets/nos.imageset/android-chrome-192x192.png
diff --git a/example/ios/NitroExample/Info.plist b/apps/example/ios/NitroExample/Info.plist
similarity index 100%
rename from example/ios/NitroExample/Info.plist
rename to apps/example/ios/NitroExample/Info.plist
diff --git a/example/ios/NitroExample/LaunchScreen.storyboard b/apps/example/ios/NitroExample/LaunchScreen.storyboard
similarity index 100%
rename from example/ios/NitroExample/LaunchScreen.storyboard
rename to apps/example/ios/NitroExample/LaunchScreen.storyboard
diff --git a/example/ios/NitroExample/PrivacyInfo.xcprivacy b/apps/example/ios/NitroExample/PrivacyInfo.xcprivacy
similarity index 100%
rename from example/ios/NitroExample/PrivacyInfo.xcprivacy
rename to apps/example/ios/NitroExample/PrivacyInfo.xcprivacy
diff --git a/example/ios/Podfile b/apps/example/ios/Podfile
similarity index 100%
rename from example/ios/Podfile
rename to apps/example/ios/Podfile
diff --git a/example/ios/Podfile.lock b/apps/example/ios/Podfile.lock
similarity index 81%
rename from example/ios/Podfile.lock
rename to apps/example/ios/Podfile.lock
index 45ffa9af84..a60350b635 100644
--- a/example/ios/Podfile.lock
+++ b/apps/example/ios/Podfile.lock
@@ -2002,253 +2002,253 @@ PODS:
- Yoga (0.0.0)
DEPENDENCIES:
- - FBLazyVector (from `../../node_modules/react-native/Libraries/FBLazyVector`)
- - "HarnessUI (from `../../node_modules/@react-native-harness/ui`)"
- - hermes-engine (from `../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
- - NitroModules (from `../../node_modules/react-native-nitro-modules`)
- - NitroTest (from `../../node_modules/react-native-nitro-test`)
- - NitroTestExternal (from `../../node_modules/react-native-nitro-test-external`)
- - RCTDeprecation (from `../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
- - RCTRequired (from `../../node_modules/react-native/Libraries/Required`)
- - RCTSwiftUI (from `../../node_modules/react-native/ReactApple/RCTSwiftUI`)
- - RCTSwiftUIWrapper (from `../../node_modules/react-native/ReactApple/RCTSwiftUIWrapper`)
- - RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`)
- - React (from `../../node_modules/react-native/`)
- - React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`)
- - React-Core (from `../../node_modules/react-native/`)
- - React-Core-prebuilt (from `../../node_modules/react-native/React-Core-prebuilt.podspec`)
- - React-Core/RCTWebSocket (from `../../node_modules/react-native/`)
- - React-CoreModules (from `../../node_modules/react-native/React/CoreModules`)
- - React-cxxreact (from `../../node_modules/react-native/ReactCommon/cxxreact`)
- - React-debug (from `../../node_modules/react-native/ReactCommon/react/debug`)
- - React-defaultsnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
- - React-domnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
- - React-Fabric (from `../../node_modules/react-native/ReactCommon`)
- - React-FabricComponents (from `../../node_modules/react-native/ReactCommon`)
- - React-FabricImage (from `../../node_modules/react-native/ReactCommon`)
- - React-featureflags (from `../../node_modules/react-native/ReactCommon/react/featureflags`)
- - React-featureflagsnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
- - React-graphics (from `../../node_modules/react-native/ReactCommon/react/renderer/graphics`)
- - React-hermes (from `../../node_modules/react-native/ReactCommon/hermes`)
- - React-idlecallbacksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
- - React-ImageManager (from `../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
- - React-intersectionobservernativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver`)
- - React-jserrorhandler (from `../../node_modules/react-native/ReactCommon/jserrorhandler`)
- - React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`)
- - React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`)
- - React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector-modern`)
- - React-jsinspectorcdp (from `../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`)
- - React-jsinspectornetwork (from `../../node_modules/react-native/ReactCommon/jsinspector-modern/network`)
- - React-jsinspectortracing (from `../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`)
- - React-jsitooling (from `../../node_modules/react-native/ReactCommon/jsitooling`)
- - React-jsitracing (from `../../node_modules/react-native/ReactCommon/hermes/executor/`)
- - React-logger (from `../../node_modules/react-native/ReactCommon/logger`)
- - React-Mapbuffer (from `../../node_modules/react-native/ReactCommon`)
- - React-microtasksnativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
- - React-mutationobservernativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver`)
- - react-native-safe-area-context (from `../../node_modules/react-native-safe-area-context`)
- - "react-native-segmented-control (from `../../node_modules/@react-native-segmented-control/segmented-control`)"
- - React-NativeModulesApple (from `../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
- - React-networking (from `../../node_modules/react-native/ReactCommon/react/networking`)
- - React-oscompat (from `../../node_modules/react-native/ReactCommon/oscompat`)
- - React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`)
- - React-performancecdpmetrics (from `../../node_modules/react-native/ReactCommon/react/performance/cdpmetrics`)
- - React-performancetimeline (from `../../node_modules/react-native/ReactCommon/react/performance/timeline`)
- - React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`)
- - React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`)
- - React-RCTAppDelegate (from `../../node_modules/react-native/Libraries/AppDelegate`)
- - React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`)
- - React-RCTFabric (from `../../node_modules/react-native/React`)
- - React-RCTFBReactNativeSpec (from `../../node_modules/react-native/React`)
- - React-RCTImage (from `../../node_modules/react-native/Libraries/Image`)
- - React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`)
- - React-RCTNetwork (from `../../node_modules/react-native/Libraries/Network`)
- - React-RCTRuntime (from `../../node_modules/react-native/React/Runtime`)
- - React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`)
- - React-RCTText (from `../../node_modules/react-native/Libraries/Text`)
- - React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`)
- - React-rendererconsistency (from `../../node_modules/react-native/ReactCommon/react/renderer/consistency`)
- - React-renderercss (from `../../node_modules/react-native/ReactCommon/react/renderer/css`)
- - React-rendererdebug (from `../../node_modules/react-native/ReactCommon/react/renderer/debug`)
- - React-RuntimeApple (from `../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
- - React-RuntimeCore (from `../../node_modules/react-native/ReactCommon/react/runtime`)
- - React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`)
- - React-RuntimeHermes (from `../../node_modules/react-native/ReactCommon/react/runtime`)
- - React-runtimescheduler (from `../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
- - React-timing (from `../../node_modules/react-native/ReactCommon/react/timing`)
- - React-utils (from `../../node_modules/react-native/ReactCommon/react/utils`)
- - React-webperformancenativemodule (from `../../node_modules/react-native/ReactCommon/react/nativemodule/webperformance`)
+ - FBLazyVector (from `../../../node_modules/react-native/Libraries/FBLazyVector`)
+ - "HarnessUI (from `../../../node_modules/@react-native-harness/ui`)"
+ - hermes-engine (from `../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
+ - NitroModules (from `../../../node_modules/react-native-nitro-modules`)
+ - NitroTest (from `../../../node_modules/react-native-nitro-test`)
+ - NitroTestExternal (from `../../../node_modules/react-native-nitro-test-external`)
+ - RCTDeprecation (from `../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation`)
+ - RCTRequired (from `../../../node_modules/react-native/Libraries/Required`)
+ - RCTSwiftUI (from `../../../node_modules/react-native/ReactApple/RCTSwiftUI`)
+ - RCTSwiftUIWrapper (from `../../../node_modules/react-native/ReactApple/RCTSwiftUIWrapper`)
+ - RCTTypeSafety (from `../../../node_modules/react-native/Libraries/TypeSafety`)
+ - React (from `../../../node_modules/react-native/`)
+ - React-callinvoker (from `../../../node_modules/react-native/ReactCommon/callinvoker`)
+ - React-Core (from `../../../node_modules/react-native/`)
+ - React-Core-prebuilt (from `../../../node_modules/react-native/React-Core-prebuilt.podspec`)
+ - React-Core/RCTWebSocket (from `../../../node_modules/react-native/`)
+ - React-CoreModules (from `../../../node_modules/react-native/React/CoreModules`)
+ - React-cxxreact (from `../../../node_modules/react-native/ReactCommon/cxxreact`)
+ - React-debug (from `../../../node_modules/react-native/ReactCommon/react/debug`)
+ - React-defaultsnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/defaults`)
+ - React-domnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/dom`)
+ - React-Fabric (from `../../../node_modules/react-native/ReactCommon`)
+ - React-FabricComponents (from `../../../node_modules/react-native/ReactCommon`)
+ - React-FabricImage (from `../../../node_modules/react-native/ReactCommon`)
+ - React-featureflags (from `../../../node_modules/react-native/ReactCommon/react/featureflags`)
+ - React-featureflagsnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags`)
+ - React-graphics (from `../../../node_modules/react-native/ReactCommon/react/renderer/graphics`)
+ - React-hermes (from `../../../node_modules/react-native/ReactCommon/hermes`)
+ - React-idlecallbacksnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks`)
+ - React-ImageManager (from `../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios`)
+ - React-intersectionobservernativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver`)
+ - React-jserrorhandler (from `../../../node_modules/react-native/ReactCommon/jserrorhandler`)
+ - React-jsi (from `../../../node_modules/react-native/ReactCommon/jsi`)
+ - React-jsiexecutor (from `../../../node_modules/react-native/ReactCommon/jsiexecutor`)
+ - React-jsinspector (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern`)
+ - React-jsinspectorcdp (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp`)
+ - React-jsinspectornetwork (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern/network`)
+ - React-jsinspectortracing (from `../../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing`)
+ - React-jsitooling (from `../../../node_modules/react-native/ReactCommon/jsitooling`)
+ - React-jsitracing (from `../../../node_modules/react-native/ReactCommon/hermes/executor/`)
+ - React-logger (from `../../../node_modules/react-native/ReactCommon/logger`)
+ - React-Mapbuffer (from `../../../node_modules/react-native/ReactCommon`)
+ - React-microtasksnativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks`)
+ - React-mutationobservernativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver`)
+ - react-native-safe-area-context (from `../../../node_modules/react-native-safe-area-context`)
+ - "react-native-segmented-control (from `../../../node_modules/@react-native-segmented-control/segmented-control`)"
+ - React-NativeModulesApple (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
+ - React-networking (from `../../../node_modules/react-native/ReactCommon/react/networking`)
+ - React-oscompat (from `../../../node_modules/react-native/ReactCommon/oscompat`)
+ - React-perflogger (from `../../../node_modules/react-native/ReactCommon/reactperflogger`)
+ - React-performancecdpmetrics (from `../../../node_modules/react-native/ReactCommon/react/performance/cdpmetrics`)
+ - React-performancetimeline (from `../../../node_modules/react-native/ReactCommon/react/performance/timeline`)
+ - React-RCTActionSheet (from `../../../node_modules/react-native/Libraries/ActionSheetIOS`)
+ - React-RCTAnimation (from `../../../node_modules/react-native/Libraries/NativeAnimation`)
+ - React-RCTAppDelegate (from `../../../node_modules/react-native/Libraries/AppDelegate`)
+ - React-RCTBlob (from `../../../node_modules/react-native/Libraries/Blob`)
+ - React-RCTFabric (from `../../../node_modules/react-native/React`)
+ - React-RCTFBReactNativeSpec (from `../../../node_modules/react-native/React`)
+ - React-RCTImage (from `../../../node_modules/react-native/Libraries/Image`)
+ - React-RCTLinking (from `../../../node_modules/react-native/Libraries/LinkingIOS`)
+ - React-RCTNetwork (from `../../../node_modules/react-native/Libraries/Network`)
+ - React-RCTRuntime (from `../../../node_modules/react-native/React/Runtime`)
+ - React-RCTSettings (from `../../../node_modules/react-native/Libraries/Settings`)
+ - React-RCTText (from `../../../node_modules/react-native/Libraries/Text`)
+ - React-RCTVibration (from `../../../node_modules/react-native/Libraries/Vibration`)
+ - React-rendererconsistency (from `../../../node_modules/react-native/ReactCommon/react/renderer/consistency`)
+ - React-renderercss (from `../../../node_modules/react-native/ReactCommon/react/renderer/css`)
+ - React-rendererdebug (from `../../../node_modules/react-native/ReactCommon/react/renderer/debug`)
+ - React-RuntimeApple (from `../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios`)
+ - React-RuntimeCore (from `../../../node_modules/react-native/ReactCommon/react/runtime`)
+ - React-runtimeexecutor (from `../../../node_modules/react-native/ReactCommon/runtimeexecutor`)
+ - React-RuntimeHermes (from `../../../node_modules/react-native/ReactCommon/react/runtime`)
+ - React-runtimescheduler (from `../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
+ - React-timing (from `../../../node_modules/react-native/ReactCommon/react/timing`)
+ - React-utils (from `../../../node_modules/react-native/ReactCommon/react/utils`)
+ - React-webperformancenativemodule (from `../../../node_modules/react-native/ReactCommon/react/nativemodule/webperformance`)
- ReactAppDependencyProvider (from `build/generated/ios/ReactAppDependencyProvider`)
- ReactCodegen (from `build/generated/ios/ReactCodegen`)
- - ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`)
- - ReactNativeDependencies (from `../../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`)
- - RNScreens (from `../../node_modules/react-native-screens`)
- - Yoga (from `../../node_modules/react-native/ReactCommon/yoga`)
+ - ReactCommon/turbomodule/core (from `../../../node_modules/react-native/ReactCommon`)
+ - ReactNativeDependencies (from `../../../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec`)
+ - RNScreens (from `../../../node_modules/react-native-screens`)
+ - Yoga (from `../../../node_modules/react-native/ReactCommon/yoga`)
EXTERNAL SOURCES:
FBLazyVector:
- :path: "../../node_modules/react-native/Libraries/FBLazyVector"
+ :path: "../../../node_modules/react-native/Libraries/FBLazyVector"
HarnessUI:
- :path: "../../node_modules/@react-native-harness/ui"
+ :path: "../../../node_modules/@react-native-harness/ui"
hermes-engine:
- :podspec: "../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
+ :podspec: "../../../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec"
:tag: hermes-v250829098.0.10
NitroModules:
- :path: "../../node_modules/react-native-nitro-modules"
+ :path: "../../../node_modules/react-native-nitro-modules"
NitroTest:
- :path: "../../node_modules/react-native-nitro-test"
+ :path: "../../../node_modules/react-native-nitro-test"
NitroTestExternal:
- :path: "../../node_modules/react-native-nitro-test-external"
+ :path: "../../../node_modules/react-native-nitro-test-external"
RCTDeprecation:
- :path: "../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
+ :path: "../../../node_modules/react-native/ReactApple/Libraries/RCTFoundation/RCTDeprecation"
RCTRequired:
- :path: "../../node_modules/react-native/Libraries/Required"
+ :path: "../../../node_modules/react-native/Libraries/Required"
RCTSwiftUI:
- :path: "../../node_modules/react-native/ReactApple/RCTSwiftUI"
+ :path: "../../../node_modules/react-native/ReactApple/RCTSwiftUI"
RCTSwiftUIWrapper:
- :path: "../../node_modules/react-native/ReactApple/RCTSwiftUIWrapper"
+ :path: "../../../node_modules/react-native/ReactApple/RCTSwiftUIWrapper"
RCTTypeSafety:
- :path: "../../node_modules/react-native/Libraries/TypeSafety"
+ :path: "../../../node_modules/react-native/Libraries/TypeSafety"
React:
- :path: "../../node_modules/react-native/"
+ :path: "../../../node_modules/react-native/"
React-callinvoker:
- :path: "../../node_modules/react-native/ReactCommon/callinvoker"
+ :path: "../../../node_modules/react-native/ReactCommon/callinvoker"
React-Core:
- :path: "../../node_modules/react-native/"
+ :path: "../../../node_modules/react-native/"
React-Core-prebuilt:
- :podspec: "../../node_modules/react-native/React-Core-prebuilt.podspec"
+ :podspec: "../../../node_modules/react-native/React-Core-prebuilt.podspec"
React-CoreModules:
- :path: "../../node_modules/react-native/React/CoreModules"
+ :path: "../../../node_modules/react-native/React/CoreModules"
React-cxxreact:
- :path: "../../node_modules/react-native/ReactCommon/cxxreact"
+ :path: "../../../node_modules/react-native/ReactCommon/cxxreact"
React-debug:
- :path: "../../node_modules/react-native/ReactCommon/react/debug"
+ :path: "../../../node_modules/react-native/ReactCommon/react/debug"
React-defaultsnativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/defaults"
React-domnativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/dom"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/dom"
React-Fabric:
- :path: "../../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/ReactCommon"
React-FabricComponents:
- :path: "../../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/ReactCommon"
React-FabricImage:
- :path: "../../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/ReactCommon"
React-featureflags:
- :path: "../../node_modules/react-native/ReactCommon/react/featureflags"
+ :path: "../../../node_modules/react-native/ReactCommon/react/featureflags"
React-featureflagsnativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/featureflags"
React-graphics:
- :path: "../../node_modules/react-native/ReactCommon/react/renderer/graphics"
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/graphics"
React-hermes:
- :path: "../../node_modules/react-native/ReactCommon/hermes"
+ :path: "../../../node_modules/react-native/ReactCommon/hermes"
React-idlecallbacksnativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/idlecallbacks"
React-ImageManager:
- :path: "../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/imagemanager/platform/ios"
React-intersectionobservernativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/intersectionobserver"
React-jserrorhandler:
- :path: "../../node_modules/react-native/ReactCommon/jserrorhandler"
+ :path: "../../../node_modules/react-native/ReactCommon/jserrorhandler"
React-jsi:
- :path: "../../node_modules/react-native/ReactCommon/jsi"
+ :path: "../../../node_modules/react-native/ReactCommon/jsi"
React-jsiexecutor:
- :path: "../../node_modules/react-native/ReactCommon/jsiexecutor"
+ :path: "../../../node_modules/react-native/ReactCommon/jsiexecutor"
React-jsinspector:
- :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern"
+ :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern"
React-jsinspectorcdp:
- :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp"
+ :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern/cdp"
React-jsinspectornetwork:
- :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern/network"
+ :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern/network"
React-jsinspectortracing:
- :path: "../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing"
+ :path: "../../../node_modules/react-native/ReactCommon/jsinspector-modern/tracing"
React-jsitooling:
- :path: "../../node_modules/react-native/ReactCommon/jsitooling"
+ :path: "../../../node_modules/react-native/ReactCommon/jsitooling"
React-jsitracing:
- :path: "../../node_modules/react-native/ReactCommon/hermes/executor/"
+ :path: "../../../node_modules/react-native/ReactCommon/hermes/executor/"
React-logger:
- :path: "../../node_modules/react-native/ReactCommon/logger"
+ :path: "../../../node_modules/react-native/ReactCommon/logger"
React-Mapbuffer:
- :path: "../../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/ReactCommon"
React-microtasksnativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/microtasks"
React-mutationobservernativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/mutationobserver"
react-native-safe-area-context:
- :path: "../../node_modules/react-native-safe-area-context"
+ :path: "../../../node_modules/react-native-safe-area-context"
react-native-segmented-control:
- :path: "../../node_modules/@react-native-segmented-control/segmented-control"
+ :path: "../../../node_modules/@react-native-segmented-control/segmented-control"
React-NativeModulesApple:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
React-networking:
- :path: "../../node_modules/react-native/ReactCommon/react/networking"
+ :path: "../../../node_modules/react-native/ReactCommon/react/networking"
React-oscompat:
- :path: "../../node_modules/react-native/ReactCommon/oscompat"
+ :path: "../../../node_modules/react-native/ReactCommon/oscompat"
React-perflogger:
- :path: "../../node_modules/react-native/ReactCommon/reactperflogger"
+ :path: "../../../node_modules/react-native/ReactCommon/reactperflogger"
React-performancecdpmetrics:
- :path: "../../node_modules/react-native/ReactCommon/react/performance/cdpmetrics"
+ :path: "../../../node_modules/react-native/ReactCommon/react/performance/cdpmetrics"
React-performancetimeline:
- :path: "../../node_modules/react-native/ReactCommon/react/performance/timeline"
+ :path: "../../../node_modules/react-native/ReactCommon/react/performance/timeline"
React-RCTActionSheet:
- :path: "../../node_modules/react-native/Libraries/ActionSheetIOS"
+ :path: "../../../node_modules/react-native/Libraries/ActionSheetIOS"
React-RCTAnimation:
- :path: "../../node_modules/react-native/Libraries/NativeAnimation"
+ :path: "../../../node_modules/react-native/Libraries/NativeAnimation"
React-RCTAppDelegate:
- :path: "../../node_modules/react-native/Libraries/AppDelegate"
+ :path: "../../../node_modules/react-native/Libraries/AppDelegate"
React-RCTBlob:
- :path: "../../node_modules/react-native/Libraries/Blob"
+ :path: "../../../node_modules/react-native/Libraries/Blob"
React-RCTFabric:
- :path: "../../node_modules/react-native/React"
+ :path: "../../../node_modules/react-native/React"
React-RCTFBReactNativeSpec:
- :path: "../../node_modules/react-native/React"
+ :path: "../../../node_modules/react-native/React"
React-RCTImage:
- :path: "../../node_modules/react-native/Libraries/Image"
+ :path: "../../../node_modules/react-native/Libraries/Image"
React-RCTLinking:
- :path: "../../node_modules/react-native/Libraries/LinkingIOS"
+ :path: "../../../node_modules/react-native/Libraries/LinkingIOS"
React-RCTNetwork:
- :path: "../../node_modules/react-native/Libraries/Network"
+ :path: "../../../node_modules/react-native/Libraries/Network"
React-RCTRuntime:
- :path: "../../node_modules/react-native/React/Runtime"
+ :path: "../../../node_modules/react-native/React/Runtime"
React-RCTSettings:
- :path: "../../node_modules/react-native/Libraries/Settings"
+ :path: "../../../node_modules/react-native/Libraries/Settings"
React-RCTText:
- :path: "../../node_modules/react-native/Libraries/Text"
+ :path: "../../../node_modules/react-native/Libraries/Text"
React-RCTVibration:
- :path: "../../node_modules/react-native/Libraries/Vibration"
+ :path: "../../../node_modules/react-native/Libraries/Vibration"
React-rendererconsistency:
- :path: "../../node_modules/react-native/ReactCommon/react/renderer/consistency"
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/consistency"
React-renderercss:
- :path: "../../node_modules/react-native/ReactCommon/react/renderer/css"
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/css"
React-rendererdebug:
- :path: "../../node_modules/react-native/ReactCommon/react/renderer/debug"
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/debug"
React-RuntimeApple:
- :path: "../../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
+ :path: "../../../node_modules/react-native/ReactCommon/react/runtime/platform/ios"
React-RuntimeCore:
- :path: "../../node_modules/react-native/ReactCommon/react/runtime"
+ :path: "../../../node_modules/react-native/ReactCommon/react/runtime"
React-runtimeexecutor:
- :path: "../../node_modules/react-native/ReactCommon/runtimeexecutor"
+ :path: "../../../node_modules/react-native/ReactCommon/runtimeexecutor"
React-RuntimeHermes:
- :path: "../../node_modules/react-native/ReactCommon/react/runtime"
+ :path: "../../../node_modules/react-native/ReactCommon/react/runtime"
React-runtimescheduler:
- :path: "../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
+ :path: "../../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
React-timing:
- :path: "../../node_modules/react-native/ReactCommon/react/timing"
+ :path: "../../../node_modules/react-native/ReactCommon/react/timing"
React-utils:
- :path: "../../node_modules/react-native/ReactCommon/react/utils"
+ :path: "../../../node_modules/react-native/ReactCommon/react/utils"
React-webperformancenativemodule:
- :path: "../../node_modules/react-native/ReactCommon/react/nativemodule/webperformance"
+ :path: "../../../node_modules/react-native/ReactCommon/react/nativemodule/webperformance"
ReactAppDependencyProvider:
:path: build/generated/ios/ReactAppDependencyProvider
ReactCodegen:
:path: build/generated/ios/ReactCodegen
ReactCommon:
- :path: "../../node_modules/react-native/ReactCommon"
+ :path: "../../../node_modules/react-native/ReactCommon"
ReactNativeDependencies:
- :podspec: "../../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec"
+ :podspec: "../../../node_modules/react-native/third-party-podspecs/ReactNativeDependencies.podspec"
RNScreens:
- :path: "../../node_modules/react-native-screens"
+ :path: "../../../node_modules/react-native-screens"
Yoga:
- :path: "../../node_modules/react-native/ReactCommon/yoga"
+ :path: "../../../node_modules/react-native/ReactCommon/yoga"
SPEC CHECKSUMS:
FBLazyVector: 24e62c765683b8d89006a88a2c8f5cf019f0074d
diff --git a/example/jest.harness.config.mjs b/apps/example/jest.harness.config.mjs
similarity index 100%
rename from example/jest.harness.config.mjs
rename to apps/example/jest.harness.config.mjs
diff --git a/example/metro.config.js b/apps/example/metro.config.js
similarity index 91%
rename from example/metro.config.js
rename to apps/example/metro.config.js
index 03a7555d6f..c4eb422777 100644
--- a/example/metro.config.js
+++ b/apps/example/metro.config.js
@@ -1,8 +1,8 @@
const { getDefaultConfig, mergeConfig } = require('@react-native/metro-config')
const path = require('path')
-const pak = require('../package.json')
+const pak = require('../../package.json')
-const root = path.resolve(__dirname, '..')
+const root = path.resolve(__dirname, '../..')
const modules = Object.keys({ ...pak.peerDependencies })
/**
diff --git a/example/package.json b/apps/example/package.json
similarity index 100%
rename from example/package.json
rename to apps/example/package.json
diff --git a/example/react-native.config.js b/apps/example/react-native.config.js
similarity index 100%
rename from example/react-native.config.js
rename to apps/example/react-native.config.js
diff --git a/example/rn-harness.config.mjs b/apps/example/rn-harness.config.mjs
similarity index 100%
rename from example/rn-harness.config.mjs
rename to apps/example/rn-harness.config.mjs
diff --git a/example/src/App.tsx b/apps/example/src/App.tsx
similarity index 100%
rename from example/src/App.tsx
rename to apps/example/src/App.tsx
diff --git a/example/src/Testers.ts b/apps/example/src/Testers.ts
similarity index 100%
rename from example/src/Testers.ts
rename to apps/example/src/Testers.ts
diff --git a/example/src/components/KeyboardDismissBackground.tsx b/apps/example/src/components/KeyboardDismissBackground.tsx
similarity index 100%
rename from example/src/components/KeyboardDismissBackground.tsx
rename to apps/example/src/components/KeyboardDismissBackground.tsx
diff --git a/example/src/components/TestCase.tsx b/apps/example/src/components/TestCase.tsx
similarity index 100%
rename from example/src/components/TestCase.tsx
rename to apps/example/src/components/TestCase.tsx
diff --git a/example/src/getTests.ts b/apps/example/src/getTests.ts
similarity index 100%
rename from example/src/getTests.ts
rename to apps/example/src/getTests.ts
diff --git a/example/src/img/dna.png b/apps/example/src/img/dna.png
similarity index 100%
rename from example/src/img/dna.png
rename to apps/example/src/img/dna.png
diff --git a/example/src/img/map.png b/apps/example/src/img/map.png
similarity index 100%
rename from example/src/img/map.png
rename to apps/example/src/img/map.png
diff --git a/example/src/img/rocket.png b/apps/example/src/img/rocket.png
similarity index 100%
rename from example/src/img/rocket.png
rename to apps/example/src/img/rocket.png
diff --git a/example/src/img/terminal.webp b/apps/example/src/img/terminal.webp
similarity index 100%
rename from example/src/img/terminal.webp
rename to apps/example/src/img/terminal.webp
diff --git a/example/src/logPrototypeChain.ts b/apps/example/src/logPrototypeChain.ts
similarity index 100%
rename from example/src/logPrototypeChain.ts
rename to apps/example/src/logPrototypeChain.ts
diff --git a/example/src/screens/BenchmarksScreen.tsx b/apps/example/src/screens/BenchmarksScreen.tsx
similarity index 100%
rename from example/src/screens/BenchmarksScreen.tsx
rename to apps/example/src/screens/BenchmarksScreen.tsx
diff --git a/example/src/screens/EvalScreen.tsx b/apps/example/src/screens/EvalScreen.tsx
similarity index 100%
rename from example/src/screens/EvalScreen.tsx
rename to apps/example/src/screens/EvalScreen.tsx
diff --git a/example/src/screens/HybridObjectTestsScreen.tsx b/apps/example/src/screens/HybridObjectTestsScreen.tsx
similarity index 100%
rename from example/src/screens/HybridObjectTestsScreen.tsx
rename to apps/example/src/screens/HybridObjectTestsScreen.tsx
diff --git a/example/src/screens/ViewScreen.tsx b/apps/example/src/screens/ViewScreen.tsx
similarity index 100%
rename from example/src/screens/ViewScreen.tsx
rename to apps/example/src/screens/ViewScreen.tsx
diff --git a/example/src/testing/State.ts b/apps/example/src/testing/State.ts
similarity index 100%
rename from example/src/testing/State.ts
rename to apps/example/src/testing/State.ts
diff --git a/example/src/testing/backends/harness.ts b/apps/example/src/testing/backends/harness.ts
similarity index 100%
rename from example/src/testing/backends/harness.ts
rename to apps/example/src/testing/backends/harness.ts
diff --git a/example/src/testing/backends/throwing.ts b/apps/example/src/testing/backends/throwing.ts
similarity index 100%
rename from example/src/testing/backends/throwing.ts
rename to apps/example/src/testing/backends/throwing.ts
diff --git a/example/src/testing/createTestRunner.ts b/apps/example/src/testing/createTestRunner.ts
similarity index 100%
rename from example/src/testing/createTestRunner.ts
rename to apps/example/src/testing/createTestRunner.ts
diff --git a/example/src/testing/index.ts b/apps/example/src/testing/index.ts
similarity index 100%
rename from example/src/testing/index.ts
rename to apps/example/src/testing/index.ts
diff --git a/example/src/testing/types.ts b/apps/example/src/testing/types.ts
similarity index 100%
rename from example/src/testing/types.ts
rename to apps/example/src/testing/types.ts
diff --git a/example/src/turbo-module/ExampleTurboModule.ts b/apps/example/src/turbo-module/ExampleTurboModule.ts
similarity index 100%
rename from example/src/turbo-module/ExampleTurboModule.ts
rename to apps/example/src/turbo-module/ExampleTurboModule.ts
diff --git a/example/src/turbo-module/NativeExampleTurboModule.ts b/apps/example/src/turbo-module/NativeExampleTurboModule.ts
similarity index 100%
rename from example/src/turbo-module/NativeExampleTurboModule.ts
rename to apps/example/src/turbo-module/NativeExampleTurboModule.ts
diff --git a/example/src/useColors.ts b/apps/example/src/useColors.ts
similarity index 100%
rename from example/src/useColors.ts
rename to apps/example/src/useColors.ts
diff --git a/example/src/utils.ts b/apps/example/src/utils.ts
similarity index 100%
rename from example/src/utils.ts
rename to apps/example/src/utils.ts
diff --git a/example/tsconfig.json b/apps/example/tsconfig.json
similarity index 100%
rename from example/tsconfig.json
rename to apps/example/tsconfig.json
diff --git a/bun.lock b/bun.lock
index adcb2b0ab4..b4316d0c4c 100644
--- a/bun.lock
+++ b/bun.lock
@@ -28,35 +28,7 @@
"typescript-eslint": "^8.60.0",
},
},
- "docs": {
- "name": "nitro",
- "version": "0.0.0",
- "dependencies": {
- "@docusaurus/core": "3.10.2",
- "@docusaurus/faster": "3.10.2",
- "@docusaurus/plugin-sitemap": "3.10.2",
- "@docusaurus/plugin-vercel-analytics": "3.10.2",
- "@docusaurus/preset-classic": "3.10.2",
- "@docusaurus/theme-mermaid": "3.10.2",
- "@mdx-js/react": "^3.1.1",
- "cheerio": "^1.2.0",
- "clsx": "^2.1.1",
- "esbuild-register": "^3.6.0",
- "prism-react-renderer": "^2.4.1",
- "react": "19.2.3",
- "react-dom": "19.2.3",
- "satori": "^0.33.3",
- "sharp": "^0.35.4",
- },
- "devDependencies": {
- "@docusaurus/module-type-aliases": "3.10.2",
- "@docusaurus/tsconfig": "3.10.2",
- "@docusaurus/types": "3.10.2",
- "docusaurus-plugin-llms": "^0.6.0",
- "typescript": "~6.0.3",
- },
- },
- "example": {
+ "apps/example": {
"name": "react-native-nitro-example",
"version": "0.37.1",
"dependencies": {
@@ -94,6 +66,34 @@
"upng-js": "2.1.0",
},
},
+ "docs": {
+ "name": "nitro",
+ "version": "0.0.0",
+ "dependencies": {
+ "@docusaurus/core": "3.10.2",
+ "@docusaurus/faster": "3.10.2",
+ "@docusaurus/plugin-sitemap": "3.10.2",
+ "@docusaurus/plugin-vercel-analytics": "3.10.2",
+ "@docusaurus/preset-classic": "3.10.2",
+ "@docusaurus/theme-mermaid": "3.10.2",
+ "@mdx-js/react": "^3.1.1",
+ "cheerio": "^1.2.0",
+ "clsx": "^2.1.1",
+ "esbuild-register": "^3.6.0",
+ "prism-react-renderer": "^2.4.1",
+ "react": "19.2.3",
+ "react-dom": "19.2.3",
+ "satori": "^0.33.3",
+ "sharp": "^0.35.4",
+ },
+ "devDependencies": {
+ "@docusaurus/module-type-aliases": "3.10.2",
+ "@docusaurus/tsconfig": "3.10.2",
+ "@docusaurus/types": "3.10.2",
+ "docusaurus-plugin-llms": "^0.6.0",
+ "typescript": "~6.0.3",
+ },
+ },
"packages/nitrogen": {
"name": "nitrogen",
"version": "0.37.1",
@@ -3635,7 +3635,7 @@
"react-native-monorepo-config": ["react-native-monorepo-config@0.3.5", "", { "dependencies": { "escape-string-regexp": "^5.0.0", "fast-glob": "^3.3.3" } }, "sha512-Xdu7k0s4V2FHn2OGnlr3D22Dgt5ij0ek9yzloPoLkHh3rL/jUQbPrawieKsAbkqoenv/7pfPJwMlPT27bvN1fg=="],
- "react-native-nitro-example": ["react-native-nitro-example@workspace:example"],
+ "react-native-nitro-example": ["react-native-nitro-example@workspace:apps/example"],
"react-native-nitro-modules": ["react-native-nitro-modules@workspace:packages/react-native-nitro-modules"],
diff --git a/docs/docs/guides/running-example-app.md b/docs/docs/guides/running-example-app.md
index fdeb637a10..e40bff87ec 100644
--- a/docs/docs/guides/running-example-app.md
+++ b/docs/docs/guides/running-example-app.md
@@ -20,7 +20,7 @@ This guide will help you understand the [Nitro Example app](https://github.com/m
## The Example app's purpose
-Nitro's development always targets the example app (under `example/`). It narrows down user bugs by the following criteria;
+Nitro's development always targets the example app (under `apps/example/`). It narrows down user bugs by the following criteria;
- If you have a bug in your code, but the same code works in the Nitro example app, it's a **user error** and won't/can't be fixed.
- If you have a bug in your code that can also be reproduced inside the Nitro example app, it's a **Nitro bug**, which might get fixed in a future PR.
@@ -88,7 +88,7 @@ Then, simply clone (potentially also fork?) the Nitro repository and install its
#### iOS
- To run the iOS app of Nitro Example, open `example/ios/NitroExample.xcworkspace` in Xcode, and hit run.
+ To run the iOS app of Nitro Example, open `apps/example/ios/NitroExample.xcworkspace` in Xcode, and hit run.
The `bun bootstrap` command should have ensured that Pods are installed.
@@ -100,7 +100,7 @@ Then, simply clone (potentially also fork?) the Nitro repository and install its
open -a "Android Studio"
```
- Then, open `example/android/` in Android Studio.
+ Then, open `apps/example/android/` in Android Studio.
@@ -120,7 +120,7 @@ Then, simply clone (potentially also fork?) the Nitro repository and install its
open -a "Android Studio"
```
- Then, open `example/android/` in Android Studio.
+ Then, open `apps/example/android/` in Android Studio.
diff --git a/docs/docs/resources/contributing.md b/docs/docs/resources/contributing.md
index 31e634ddae..82675a9337 100644
--- a/docs/docs/resources/contributing.md
+++ b/docs/docs/resources/contributing.md
@@ -14,7 +14,7 @@ This page covers **environment setup and reproduction** — how to run Nitro loc
The nitro repo is a Bun monorepo, and is set up like this:
-- `example/`: A react-native app that uses `react-native-nitro-modules` and `react-native-nitro-test`.
+- `apps/example/`: A react-native app that uses `react-native-nitro-modules` and `react-native-nitro-test`.
- `packages/`
- `/nitrogen/`: The Node app that generates Nitro bindings. On npm, it is called `nitrogen`.
- `/react-native-nitro-modules/`: The core Nitro Modules library which contains mostly C++ code.
@@ -52,23 +52,23 @@ bun run build
If you want to work on the iOS codebase, you also need to install the Pods:
```sh
-cd example
+cd apps/example
bundle install
bun pods
```
### 4. Run the app
-After installing all dependencies, you can run the React Native app in `example/`:
+After installing all dependencies, you can run the React Native app in `apps/example/`:
- 1. Open `example/ios/NitroExample.xcworkspace` in Xcode
+ 1. Open `apps/example/ios/NitroExample.xcworkspace` in Xcode
2. Select your target (iPhone Simulator)
3. Click Run
- 1. Open `example/android` in Android Studio
+ 1. Open `apps/example/android` in Android Studio
2. Click Gradle Sync
3. Click Run
@@ -76,7 +76,7 @@ After installing all dependencies, you can run the React Native app in `example/
## Reproduce something in the Nitro Example app
-With most issue reports, it is required to reproduce the issue in the Nitro example app (`example/`).
+With most issue reports, it is required to reproduce the issue in the Nitro example app (`apps/example/`).
Whether it's a build error, a nitrogen error, or a runtime error, there needs to be a way to reproduce it here.
Usually, you can reproduce issues like this:
@@ -92,12 +92,12 @@ See [You don't need to ship a fix](https://github.com/margelo/nitro/blob/main/CO
### Reproduce a build error
-If you encounter a build error, compare your setup to the setup in `example/`.
-For example, if you have a different setting in your `Podfile`, try changing it here in Nitro `example/` as well to see if it builds here. Submit a PR with the change required to make it fail, and see if the CI fails to build. That alone is enough — you don't need to also fix it.
+If you encounter a build error, compare your setup to the setup in `apps/example/`.
+For example, if you have a different setting in your `Podfile`, try changing it here in Nitro `apps/example/` as well to see if it builds here. Submit a PR with the change required to make it fail, and see if the CI fails to build. That alone is enough — you don't need to also fix it.
### Reproduce a nitrogen bug
-The Nitro `example/` app uses a Nitro Module (`packages/react-native-nitro-test/`) which acts as an example and contains a lot of test code, like `src/specs/TestObject.nitro.ts` ([link](https://github.com/margelo/nitro/blob/main/packages/react-native-nitro-test/src/specs/TestObject.nitro.ts)). If you change something in `TestObject.nitro.ts`, make sure to run nitrogen from the repo root:
+The Nitro `apps/example/` app uses a Nitro Module (`packages/react-native-nitro-test/`) which acts as an example and contains a lot of test code, like `src/specs/TestObject.nitro.ts` ([link](https://github.com/margelo/nitro/blob/main/packages/react-native-nitro-test/src/specs/TestObject.nitro.ts)). If you change something in `TestObject.nitro.ts`, make sure to run nitrogen from the repo root:
```sh
bun specs
@@ -109,7 +109,7 @@ When adding a reproduction, follow the rules in [CONTRIBUTING.md](https://github
### Reproduce a runtime error
-Submit a PR that demonstrates this runtime error or crash in the Nitro `example/` app — ideally with a new assertion in [`example/src/getTests.ts`](https://github.com/margelo/nitro/blob/main/example/src/getTests.ts) so the regression is caught by the Harness CI workflows (iOS and Android). A PR that only adds the failing assertion and makes Harness go red is enough on its own; you don't have to land the fix.
+Submit a PR that demonstrates this runtime error or crash in the Nitro `apps/example/` app — ideally with a new assertion in [`apps/example/src/getTests.ts`](https://github.com/margelo/nitro/blob/main/apps/example/src/getTests.ts) so the regression is caught by the Harness CI workflows (iOS and Android). A PR that only adds the failing assertion and makes Harness go red is enough on its own; you don't have to land the fix.
## Run Nitro Docs
diff --git a/eslint.config.mjs b/eslint.config.mjs
index 617df697b3..50436bf3fa 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -74,5 +74,5 @@ export default [
packageConfig('packages/nitrogen', true, false),
packageConfig('packages/react-native-nitro-test'),
packageConfig('packages/react-native-nitro-test-external'),
- packageConfig('example'),
+ packageConfig('apps/example'),
]
diff --git a/package.json b/package.json
index 8ecbb165ed..5c42f59a0f 100644
--- a/package.json
+++ b/package.json
@@ -12,13 +12,13 @@
"packages/nitrogen",
"packages/react-native-nitro-test",
"packages/react-native-nitro-test-external",
- "example",
+ "apps/*",
"docs"
],
"scripts": {
"postinstall": "bun run build",
"build": "bun nitro build && bun nitrogen build && bun nitro-test-external build && bun nitro-test build",
- "bootstrap": "bun i && bun run build && cd example && bundle install && bun pods",
+ "bootstrap": "bun i && bun run build && cd apps/example && bundle install && bun pods",
"typecheck": "bun --filter=\"**\" typecheck",
"lint": "bun nitro lint && bun nitrogen lint && bun nitro-test lint && bun example lint",
"lint-cpp": "./scripts/clang-format.sh",
@@ -33,7 +33,7 @@
"nitrogen": "bun --cwd packages/nitrogen",
"nitro-test": "bun --cwd packages/react-native-nitro-test",
"nitro-test-external": "bun --cwd packages/react-native-nitro-test-external",
- "example": "bun --cwd example"
+ "example": "bun --cwd apps/example"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.5",
@@ -86,7 +86,7 @@
"path": "version"
},
{
- "file": "example/package.json",
+ "file": "apps/example/package.json",
"path": "version"
}
]
diff --git a/packages/react-native-nitro-test/README.md b/packages/react-native-nitro-test/README.md
index 7f0bab1ed1..61f7a72041 100644
--- a/packages/react-native-nitro-test/README.md
+++ b/packages/react-native-nitro-test/README.md
@@ -4,7 +4,7 @@ NitroTest is an example nitro module we use for testing various Nitro features.
## Usage
-NitroTest is installed in the [`example/`](../../example) app.
+NitroTest is installed in the [`apps/example/`](../../apps/example) app.
The main C++ testing hybrid object is exported;
```ts