Educational React Native project demonstrating manual JSI integration with a C++ HostObject.
- Node.js >= 20
- pnpm 10+
- Xcode (iOS) / Android Studio (Android)
pnpm install
cd ios && pod install && cd ..
pnpm startIn another terminal:
pnpm ios
# or
pnpm androidOn app launch, JSIExampleInstaller.install() runs automatically and registers global.MathOperationsProxy. Tap All Math Operations to exercise the native JSI bindings from JavaScript.
This project follows npm-security-best-practices:
pnpm-workspace.yaml:strictDepBuilds,blockExoticSubdeps,minimumReleaseAge,trustPolicy.npmrc:ignore-scripts=true,allow-git=none,node-linker=hoisted- CI uses
pnpm install --frozen-lockfileandpnpm audit
Avoid blind upgrades:
# Avoid
pnpm update
npx npm-check-updates -u
# Prefer
npx npm-check-updates --interactive
pnpm audit --fixpnpm install:ci
pnpm audit| Script | Description |
|---|---|
pnpm start |
Start Metro |
pnpm ios |
Run iOS app |
pnpm android |
Run Android app |
pnpm test |
Run Jest tests |
pnpm lint |
Run ESLint |
pnpm install:ci |
Deterministic install (frozen lockfile) |
pnpm audit |
Security audit |