-
Notifications
You must be signed in to change notification settings - Fork 212
feat: add fabric option #273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
type?: 'module-legacy' | 'module-turbo' | 'module-mixed' | 'view' | 'library'; | ||
type?: | ||
| 'module-legacy' | ||
| 'module-new-arch' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@satya164 , I changed 'xxx-turbo' => 'xxx-new-arch' to avoid any confusion.
Fabric will refer to view, turbomodule will refer to module. Since the fact fabric is a new renderer, I would like to use new-arch
postfix for the new arch
@@ -53,7 +53,7 @@ | |||
"@release-it/conventional-changelog": "^5.0.0", | |||
"@types/jest": "^28.1.2", | |||
"@types/react": "~17.0.21", | |||
"@types/react-native": "0.68.0", | |||
"@types/react-native": <%-/* TODO: bump version of rn to 0.69.0 */ project.newArchitecture ? '"0.69.5"':'"0.68.0"'-%>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will adjust this todo after merge #271
<% if (project.turbomodule) { -%> | ||
libreact_codegen_<%- project.name -%> \ | ||
<% if (project.newArchitecture) { -%> | ||
libreact_codegen_<%- project.view ? project.name+'View': project.name -%> \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will not be needed in RN 70
...native-library/templates/example/example/android/app/src/main/jni/MainComponentsRegistry.cpp
Outdated
Show resolved
Hide resolved
...ary/templates/java-view-mixed-library/android/src/legacy/{%- project.name %}ViewManager.java
Outdated
Show resolved
Hide resolved
…emplate # Conflicts: # packages/create-react-native-library/templates/example-legacy/example/$.bundle/config # packages/create-react-native-library/templates/example-legacy/example/$.ruby-version # packages/create-react-native-library/templates/example-legacy/example/$package.json # packages/create-react-native-library/templates/example-legacy/example/$yarn.lock # packages/create-react-native-library/templates/example-legacy/example/Gemfile # packages/create-react-native-library/templates/example-legacy/example/Gemfile.lock # packages/create-react-native-library/templates/example-legacy/example/android/app/build.gradle # packages/create-react-native-library/templates/example-legacy/example/android/app/debug.keystore # packages/create-react-native-library/templates/example-legacy/example/android/app/proguard-rules.pro # packages/create-react-native-library/templates/example-legacy/example/android/app/src/debug/AndroidManifest.xml # packages/create-react-native-library/templates/example-legacy/example/android/app/src/debug/java/com/example/{%- project.package %}/ReactNativeFlipper.java # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/AndroidManifest.xml # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/java/com/example/{%- project.package %}/MainActivity.java # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/java/com/example/{%- project.package %}/MainApplication.java # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/java/com/example/{%- project.package %}/newarchitecture/MainApplicationReactNativeHost.java # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/java/com/example/{%- project.package %}/newarchitecture/components/MainComponentsRegistry.java # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/java/com/example/{%- project.package %}/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/Android.mk # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/MainApplicationModuleProvider.cpp # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/MainApplicationModuleProvider.h # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/MainComponentsRegistry.cpp # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/MainComponentsRegistry.h # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/jni/OnLoad.cpp # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/drawable/rn_edit_text_material.xml # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-hdpi/ic_launcher.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-mdpi/ic_launcher.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/values/strings.xml # packages/create-react-native-library/templates/example-legacy/example/android/app/src/main/res/values/styles.xml # packages/create-react-native-library/templates/example-legacy/example/android/build.gradle # packages/create-react-native-library/templates/example-legacy/example/android/gradle.properties # packages/create-react-native-library/templates/example-legacy/example/android/gradle/wrapper/gradle-wrapper.jar # packages/create-react-native-library/templates/example-legacy/example/android/gradle/wrapper/gradle-wrapper.properties # packages/create-react-native-library/templates/example-legacy/example/android/gradlew # packages/create-react-native-library/templates/example-legacy/example/android/gradlew.bat # packages/create-react-native-library/templates/example-legacy/example/android/settings.gradle # packages/create-react-native-library/templates/example-legacy/example/index.ts # packages/create-react-native-library/templates/example-legacy/example/index.tsx # packages/create-react-native-library/templates/example-legacy/example/ios/Podfile # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example.xcodeproj/project.pbxproj # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example.xcodeproj/xcshareddata/xcschemes/{%- project.name %}Example.xcscheme # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example.xcworkspace/contents.xcworkspacedata # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/AppDelegate.h # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/AppDelegate.mm # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/Images.xcassets/AppIcon.appiconset/Contents.json # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/Images.xcassets/Contents.json # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/Info.plist # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/LaunchScreen.storyboard # packages/create-react-native-library/templates/example-legacy/example/ios/{%- project.name %}Example/main.m # packages/create-react-native-library/templates/example-new/example/patches/react-native+0.68.2.patch # packages/create-react-native-library/templates/example-new/example/patches/react-native+0.70.0.patch
There is an issue Issue ./create-react-native-library test ✘ PIPE 5s
✔ What is the name of the npm package? … react-native-test
✔ What is the description for the package? … sdf
✔ What is the name of package author? … Burak
✔ What is the email address for the package author? … burak.guner@callstack.com
✔ What is the URL for the package author? … https://
✔ What is the URL for the repository? … https://
✔ What type of library do you want to develop? › Native fabric view with backward compat (experimental)
create-react-native-library <name>
create a react native library
Options:
--help Show help [boolean]
--version Show version number [boolean]
--slug Name of the npm package [string]
--description Description of the npm package [string]
--author-name Name of the package author [string]
--author-email Email address of the package author [string]
--author-url URL for the package author [string]
--repo-url URL for the repository [string]
--languages Languages you want to use
[choices: "java-objc", "java-swift", "kotlin-objc", "kotlin-swift", "cpp",
"js"]
--type Type of library you want to develop[choices: "module", "view"]
--example Type of example app [choices: "expo", "native"]
[Error: ENOENT: no such file or directory, scandir '/Users/burakguner/kod/react-native-builder-bob/packages/create-react-native-library/templates/java-view-mixed-library'] {
errno: -2,
code: 'ENOENT',
syscall: 'scandir',
path: '/Users/burakguner/kod/react-native-builder-bob/packages/create-react-native-library/templates/java-view-mixed-library'
} Steps to reproduce
|
packages/create-react-native-library/templates/common/$package.json
Outdated
Show resolved
Hide resolved
b94e81b
to
cf3f675
Compare
# Conflicts: # packages/create-react-native-library/src/index.ts # packages/create-react-native-library/templates/common/$package.json # packages/create-react-native-library/templates/example-legacy/example/index.js # packages/create-react-native-library/templates/example-legacy/example/react-native.config.js # packages/create-react-native-library/templates/example/example/react-native.config.js # packages/create-react-native-library/templates/java-library-new/android/src/main/java/com/{%- project.package %}/{%- project.name %}Module.java # packages/create-react-native-library/templates/java-library-new/android/src/main/java/com/{%- project.package %}/{%- project.name %}Package.java # packages/create-react-native-library/templates/java-library-new/android/src/main/java/com/{%- project.package_dir %}/{%- project.name %}Module.java # packages/create-react-native-library/templates/java-library-new/android/src/main/java/com/{%- project.package_dir %}/{%- project.name %}Package.java # packages/create-react-native-library/templates/java-library-turbo/android/src/main/java/com/{%- project.package %}/{%- project.name %}Package.java # packages/create-react-native-library/templates/java-view-legacy/android/src/main/java/com/{%- project.package %}/{%- project.name %}Package.java # packages/create-react-native-library/templates/java-view-legacy/android/src/main/java/com/{%- project.package %}/{%- project.name %}ViewManager.java # packages/create-react-native-library/templates/java-view-legacy/android/src/main/java/com/{%- project.package_dir %}/{%- project.name %}Package.java # packages/create-react-native-library/templates/java-view-legacy/android/src/main/java/com/{%- project.package_dir %}/{%- project.name %}ViewManager.java # packages/create-react-native-library/templates/java-view-library/android/src/main/java/com/{%- project.package %}/{%- project.name %}Package.java # packages/create-react-native-library/templates/kotlin-view-legacy/android/src/main/java/com/{%- project.package %}/{%- project.name %}Package.kt # packages/create-react-native-library/templates/kotlin-view-legacy/android/src/main/java/com/{%- project.package %}/{%- project.name %}ViewManager.kt # packages/create-react-native-library/templates/kotlin-view-legacy/android/src/main/java/com/{%- project.package_dir %}/{%- project.name %}Package.kt # packages/create-react-native-library/templates/kotlin-view-legacy/android/src/main/java/com/{%- project.package_dir %}/{%- project.name %}ViewManager.kt # packages/create-react-native-library/templates/kotlin-view-library/android/src/main/java/com/{%- project.package %}/{%- project.name %}ViewManager.kt # packages/create-react-native-library/templates/native-common/example/react-native.config.js
packages/create-react-native-library/templates/common/CONTRIBUTING.md
Outdated
Show resolved
Hide resolved
|
||
// ... | ||
|
||
const result = await multiply(3, 7); | ||
``` | ||
|
||
<% } -%> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avoid adding new lines here
packages/create-react-native-library/templates/objc-view-mixed/ios/{%- project.name %}View.mm
Outdated
Show resolved
Hide resolved
.../create-react-native-library/templates/objc-view-mixed/ios/{%- project.name %}ViewManager.mm
Outdated
Show resolved
Hide resolved
- Fix eslint issues - move hexStringColor to Utils
@satya164 Any news when this will be released? |
🔜 |
Summary
Close #238
Test plan