Repository navigation
feat(jsi): add standalone @nativescript/ios-jsi and @nativescript/android-jsi packages - #76
NathanWalker wants to merge 5 commits into
Conversation
…roid-jsi packages
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… without CocoaPods
|
Hello Nathan, i like the enthusiasm here but I believe these should be in a separate repo, not part of the runtimes repo at all. Runtimes are strictly just Nativescript Even if you still wanted, this should have landed in the v8 runtime repo because it's v8 only AFAIK which is something I am against too. Keep this in a separate repo outside v8 or the runtimes repo. |
|
Do you feel https://github.com/NativeScript/plugins or https://github.com/NativeScript/ui-kit is better place? |
|
@NathanWalker This repo is the wrong home for it. jsi::Runtime is React Native's abstraction. This repo is the NativeScript runtimes. If you want this to exist, put it in its own repo and depend on a published runtime version. Then you can move as fast as you like without the runtime holding you back, or the other way round. |
Summary
Extracts
facebook::jsiandrnv8::V8Runtimeinto two standalone, opt-in packages so the core@nativescript/iosand@nativescript/androidruntime binaries remain completely free of JSI bloat:@nativescript/ios-jsi(packages/ios-jsi):Package.swift) wired vianativescript.config.ts(SPMPackages) with zero CocoaPods required.facebook::jsiandrnv8::V8Runtimefor iOS.NativeScriptJSIRuntime(),tns::GetJSIRuntime(), and Objective-C/SwiftJSIRuntime.runtime()/JSIRuntime.runtimePointer()keyed perv8::Isolate::GetCurrent()(supporting both main thread and Worker isolates) without depending on internal NativeScript runtime headers.@nativescript/android-jsi(packages/android-jsi):facebook::jsiandrnv8::V8Runtime(libnativescript-jsi.so) for Android.libNativeScript.soruntime in the process and keysstd::shared_ptr<facebook::jsi::Runtime>perv8::Isolate::GetCurrent().NativeScriptJSIRuntime(),tns::GetJSIRuntime(), andorg.nativescript.jsi.JSIRuntimeJNI helpers.