Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
6a195bc
fix: `typeorm` missing in `bun.lockb`
chrispader Nov 3, 2025
1a6af09
chore: add npm `prepare` script
chrispader Nov 3, 2025
9f91898
Update bun.lockb
chrispader Nov 3, 2025
0477ec8
Update bun.lockb
chrispader Nov 3, 2025
81e9748
chore: build package on `prepublishOnly`
chrispader Nov 3, 2025
24d7d26
chore: add `typeorm` dependency top-level
chrispader Nov 3, 2025
b0e1233
fix: eslint jest error in CI
chrispader Nov 3, 2025
f1afddb
chore: use prettier in VS Code
chrispader Nov 3, 2025
f7943cb
fix: typescript-eslint setup
chrispader Nov 3, 2025
908cd60
fix: add back prettier/recommended eslint config
chrispader Nov 3, 2025
6a3f4c9
chore: add `eslint-plugin-eslint-comments`
chrispader Nov 3, 2025
6cbf842
chore: add `eslint-plugin-react`
chrispader Nov 3, 2025
a7da636
chore: add `eslint-plugin-react-hooks`
chrispader Nov 3, 2025
8a1db20
chore: add `eslint-plugin-react-native`
chrispader Nov 3, 2025
613b279
chore: add `@react-native/eslint-plugin`
chrispader Nov 3, 2025
437bbeb
revert package changes
chrispader Nov 3, 2025
af236a0
Update bun.lockb
chrispader Nov 3, 2025
77b9273
revert: eslint changes
chrispader Nov 3, 2025
c118bee
Update lint-typescript.yml
chrispader Nov 3, 2025
710e75a
chore: remove lint-ci script
chrispader Nov 3, 2025
dc7e3cf
update ci deps
chrispader Nov 3, 2025
602258f
chore: update jest
chrispader Nov 3, 2025
ba3a04b
chore: add `eslint-plugin-jest`
chrispader Nov 3, 2025
4d73620
Revert "chore: add `eslint-plugin-jest`"
chrispader Nov 3, 2025
aba9508
Update lint-typescript.yml
chrispader Nov 3, 2025
c5ac13b
Revert "Update lint-typescript.yml"
chrispader Nov 3, 2025
0ef24ba
chore: update deps
chrispader Nov 3, 2025
0d43d3e
chore: fix bun dependencies
chrispader Nov 3, 2025
ef53dd0
fix: eslint errors
chrispader Nov 3, 2025
e068882
chore: set strict typeorm version
chrispader Nov 3, 2025
48f4454
chore: rename typecheck script
chrispader Nov 3, 2025
9caa59e
fix: typescript errors
chrispader Nov 3, 2025
fd8e262
Update lint-typescript.yml
chrispader Nov 3, 2025
fe09726
chore: update TS setup
chrispader Nov 3, 2025
b9b05e0
chore: upgrade RN version to v82
chrispader Nov 3, 2025
37af3fb
fix: invalid `android/build.gradle`
chrispader Nov 3, 2025
6f8e07a
fix: invalid android package name
chrispader Nov 3, 2025
59c8bce
chore: update bun version
chrispader Nov 3, 2025
ad9944b
chore: remove old architecture jobs
chrispader Nov 3, 2025
11c41a2
chore: more old architecture artifact removal
chrispader Nov 3, 2025
a6e4a92
chore: copy bun node_modules after install
chrispader Nov 3, 2025
86c981d
fix: cp recursively
chrispader Nov 3, 2025
327960a
Update build-android.yml
chrispader Nov 3, 2025
f3bc98d
Create bunfig.toml
chrispader Nov 3, 2025
dd6c65f
Revert "fix: cp recursively"
chrispader Nov 3, 2025
e47bd8e
Revert "chore: copy bun node_modules after install"
chrispader Nov 3, 2025
f8640c4
Update build-android-release.yml
chrispader Nov 3, 2025
5ff4423
Merge branch 'main' into chore/update-rn-version-to-v82
chrispader Nov 3, 2025
035b631
chore: update package entry files
chrispader Nov 3, 2025
a85f513
Merge branch 'main' into chore/update-rn-version-to-v82
chrispader Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/build-android-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ on:
types: [published]

jobs:
build_release:
name: Build Android Example App (release, new architecture)
build:
name: Build Android Example App (release)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
45 changes: 4 additions & 41 deletions .github/workflows/build-android.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,55 +27,18 @@ on:
- "**/nitro.json"

jobs:
build_new:
name: Build Android Example App (new architecture)
build:
name: Build Android Example App
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: oven-sh/setup-bun@v2

- name: Install npm dependencies (bun)
run: bun install

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: 17
java-package: jdk

- name: Restore Gradle cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle-
- name: Run Gradle Build for example/android/
working-directory: example/android
run: ./gradlew assembleDebug --no-daemon --build-cache

# Gradle cache doesn't like daemons
- name: Stop Gradle Daemon
working-directory: example/android
run: ./gradlew --stop

build_old:
name: Build Android Example App (old architecture)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2

- name: Install npm dependencies (bun)
run: bun install

- name: Disable new architecture in gradle.properties
run: sed -i "s/newArchEnabled=true/newArchEnabled=false/g" example/android/gradle.properties

- name: Setup JDK 17
uses: actions/setup-java@v4
uses: actions/setup-java@v5
with:
distribution: "zulu"
java-version: 17
Expand Down
51 changes: 2 additions & 49 deletions .github/workflows/build-ios.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ env:
USE_CCACHE: 1

jobs:
build_new:
name: Build iOS Example App (new architecture)
build:
name: Build iOS Example App
runs-on: macOS-15
steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -74,50 +74,3 @@ jobs:
-destination 'platform=iOS Simulator,name=iPhone 16' \
build \
CODE_SIGNING_ALLOWED=NO"

build_old:
name: Build iOS Example App (old architecture)
runs-on: macOS-15
steps:
- uses: actions/checkout@v4
- uses: oven-sh/setup-bun@v2

- name: Install npm dependencies (bun)
run: bun install

- name: Disable new architecture in Podfile
run: sed -i "" "s/ENV\['RCT_NEW_ARCH_ENABLED'\] = '1'/ENV['RCT_NEW_ARCH_ENABLED'] = '0'/g" example/ios/Podfile

- name: Restore buildcache
uses: mikehardy/buildcache-action@v2
continue-on-error: true

- name: Setup Ruby (bundle)
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.7.2
bundler-cache: true
working-directory: example/ios

- name: Restore Pods cache
uses: actions/cache@v4
with:
path: example/ios/Pods
key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock', '**/Gemfile.lock') }}
restore-keys: |
${{ runner.os }}-pods-
- name: Install Pods
working-directory: example/ios
run: pod install
- name: Build App
working-directory: example/ios
run: "set -o pipefail && xcodebuild \
CC=clang CPLUSPLUS=clang++ LD=clang LDPLUSPLUS=clang++ \
-derivedDataPath build -UseModernBuildSystem=YES \
-workspace NitroSQLiteExample.xcworkspace \
-scheme NitroSQLiteExample \
-sdk iphonesimulator \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 16' \
build \
CODE_SIGNING_ALLOWED=NO"
302 changes: 111 additions & 191 deletions bun.lock

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion bunfig.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
[install]
# Opt out from isolated installs
linker = "hoisted"
linkWorkspacePackages = true
3 changes: 3 additions & 0 deletions config/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"extends": "@tsconfig/react-native/tsconfig.json",
"include": ["**/*.ts", "**/*.tsx"],
"exclude": [
"**/node_modules",
"**/Pods",
"**/lib",
"**/.eslintrc.js",
"**/.prettierrc.js",
Expand All @@ -15,6 +17,7 @@
"allowUnreachableCode": false,
"allowUnusedLabels": false,
"esModuleInterop": true,
"experimentalDecorators": true,
"forceConsistentCasingInFileNames": true,
"jsx": "react",
"lib": ["ESNext"],
Expand Down
9 changes: 8 additions & 1 deletion example/Gemfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
source 'https://rubygems.org'

# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
ruby '3.3.0'
ruby ">= 2.6.10"

# Exclude problematic versions of cocoapods and activesupport that causes build failures.
gem 'cocoapods', '>= 1.13', '!= 1.15.0', '!= 1.15.1'
gem 'activesupport', '>= 6.1.7.5', '!= 7.1.0'
gem 'xcodeproj', '< 1.26.0'
gem 'concurrent-ruby', '< 1.3.4'

# Ruby 3.4.0 has removed some libraries from the standard library.
gem 'bigdecimal'
gem 'logger'
gem 'benchmark'
gem 'mutex_m'
58 changes: 29 additions & 29 deletions example/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,21 @@ GEM
base64
nkf
rexml
activesupport (7.1.3.3)
base64
bigdecimal
activesupport (6.1.7.10)
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
zeitwerk (~> 2.3)
addressable (2.8.7)
public_suffix (>= 2.0.2, < 7.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
bigdecimal (3.1.8)
base64 (0.3.0)
benchmark (0.5.0)
bigdecimal (3.3.1)
claide (1.1.0)
cocoapods (1.15.2)
addressable (~> 2.8)
Expand Down Expand Up @@ -62,55 +59,58 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.3)
connection_pool (2.4.1)
drb (2.2.1)
concurrent-ruby (1.3.3)
escape (0.0.4)
ethon (0.16.0)
ethon (0.15.0)
ffi (>= 1.15.0)
ffi (1.16.3)
ffi (1.17.2)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.14.5)
httpclient (2.9.0)
mutex_m
i18n (1.14.7)
concurrent-ruby (~> 1.0)
json (2.7.2)
minitest (5.23.1)
json (2.7.6)
logger (1.7.0)
minitest (5.25.4)
molinillo (0.8.0)
mutex_m (0.2.0)
mutex_m (0.3.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
nkf (0.2.0)
public_suffix (4.0.7)
rexml (3.2.8)
strscan (>= 3.0.9)
rexml (3.4.4)
ruby-macho (2.5.1)
strscan (3.1.0)
typhoeus (1.4.1)
ethon (>= 0.9.0)
typhoeus (1.5.0)
ethon (>= 0.9.0, < 0.16.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.24.0)
xcodeproj (1.25.1)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
rexml (>= 3.3.6, < 4.0)
zeitwerk (2.6.18)

PLATFORMS
ruby

DEPENDENCIES
activesupport (>= 6.1.7.5, != 7.1.0)
benchmark
bigdecimal
cocoapods (>= 1.13, != 1.15.1, != 1.15.0)
concurrent-ruby (< 1.3.4)
logger
mutex_m
xcodeproj (< 1.26.0)

RUBY VERSION
ruby 3.3.0p0
ruby 2.6.10p210

BUNDLED WITH
2.5.10
1.17.2
9 changes: 0 additions & 9 deletions example/android/app/src/debug/AndroidManifest.xml

This file was deleted.

1 change: 1 addition & 0 deletions example/android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="${usesCleartextTraffic}"
android:supportsRtl="true">
<activity
android:name=".MainActivity"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,44 +1,27 @@
package com.margelo.rnnitrosqlite.example;
package com.margelo.rnnitrosqlite.example

import android.app.Application
import com.facebook.react.PackageList
import com.facebook.react.ReactApplication
import com.facebook.react.ReactHost
import com.facebook.react.ReactNativeHost
import com.facebook.react.ReactPackage
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load
import com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative
import com.facebook.react.defaults.DefaultReactHost.getDefaultReactHost
import com.facebook.react.defaults.DefaultReactNativeHost
import com.facebook.react.soloader.OpenSourceMergedSoMapping
import com.facebook.soloader.SoLoader

class MainApplication : Application(), ReactApplication {

override val reactNativeHost: ReactNativeHost =
object : DefaultReactNativeHost(this) {
override fun getPackages(): List<ReactPackage> =
PackageList(this).packages.apply {
// Packages that cannot be autolinked yet can be added manually here, for example:
// add(MyReactNativePackage())
}

override fun getJSMainModuleName(): String = "index"

override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG

override val isNewArchEnabled: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
override val isHermesEnabled: Boolean = BuildConfig.IS_HERMES_ENABLED
}

override val reactHost: ReactHost
get() = getDefaultReactHost(applicationContext, reactNativeHost)
override val reactHost: ReactHost by lazy {
getDefaultReactHost(
context = applicationContext,
packageList =
PackageList(this).packages.apply {
// Packages that cannot be autolinked yet can be added manually here, for example:
// add(MyReactNativePackage())
},
)
}

override fun onCreate() {
super.onCreate()
SoLoader.init(this, OpenSourceMergedSoMapping)
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
// If you opted-in for the New Architecture, we load the native entry point for this app.
load()
}
loadReactNative(this)
}
}
Loading
Loading