@nrwl/react-native 14.8.7 → 14.9.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (188) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE +22 -22
  3. package/README.md +6 -27
  4. package/migrations.json +268 -0
  5. package/package.json +13 -13
  6. package/plugins/metro-resolver.js +16 -5
  7. package/plugins/metro-resolver.js.map +1 -1
  8. package/project.json +5 -35
  9. package/src/executors/build-android/build-android.impl.js +3 -4
  10. package/src/executors/build-android/build-android.impl.js.map +1 -1
  11. package/src/executors/build-android/build-android.impl.ts +4 -4
  12. package/src/executors/build-android/schema.json +4 -1
  13. package/src/executors/bundle/bundle.impl.js +2 -2
  14. package/src/executors/bundle/bundle.impl.js.map +1 -1
  15. package/src/executors/bundle/bundle.impl.ts +4 -3
  16. package/src/executors/bundle/schema.d.ts +1 -1
  17. package/src/executors/bundle/schema.json +5 -1
  18. package/src/executors/ensure-symlink/ensure-symlink.impl.js +1 -1
  19. package/src/executors/ensure-symlink/ensure-symlink.impl.js.map +1 -1
  20. package/src/executors/ensure-symlink/ensure-symlink.impl.ts +2 -1
  21. package/src/executors/ensure-symlink/schema.json +2 -0
  22. package/src/executors/run-android/run-android.impl.js +8 -4
  23. package/src/executors/run-android/run-android.impl.js.map +1 -1
  24. package/src/executors/run-android/run-android.impl.ts +8 -3
  25. package/src/executors/run-android/schema.d.ts +1 -0
  26. package/src/executors/run-android/schema.json +11 -2
  27. package/src/executors/run-ios/run-ios.impl.js +1 -1
  28. package/src/executors/run-ios/run-ios.impl.js.map +1 -1
  29. package/src/executors/run-ios/run-ios.impl.ts +2 -1
  30. package/src/executors/run-ios/schema.json +21 -7
  31. package/src/executors/start/schema.json +4 -1
  32. package/src/executors/start/start.impl.js +2 -2
  33. package/src/executors/start/start.impl.js.map +1 -1
  34. package/src/executors/start/start.impl.ts +3 -2
  35. package/src/executors/storybook/schema.json +2 -0
  36. package/src/executors/storybook/storybook.impl.js +1 -1
  37. package/src/executors/storybook/storybook.impl.js.map +1 -1
  38. package/src/executors/storybook/storybook.impl.ts +2 -1
  39. package/src/executors/sync-deps/schema.json +2 -0
  40. package/src/executors/sync-deps/sync-deps.impl.js +1 -1
  41. package/src/executors/sync-deps/sync-deps.impl.js.map +1 -1
  42. package/src/executors/sync-deps/sync-deps.impl.ts +2 -1
  43. package/src/generators/application/application.d.ts +1 -1
  44. package/src/generators/application/application.js +6 -8
  45. package/src/generators/application/application.js.map +1 -1
  46. package/src/generators/application/application.spec.ts +124 -5
  47. package/src/generators/application/files/app/.ruby-version +1 -0
  48. package/src/generators/application/files/app/Gemfile.template +6 -0
  49. package/src/generators/application/files/app/android/app/build.gradle.template +71 -217
  50. package/src/generators/application/files/app/android/app/src/androidTest/java/com/__lowerCaseName__/DetoxTest.java.template +2 -8
  51. package/src/generators/application/files/app/android/app/src/debug/java/com/__lowerCaseName__/ReactNativeFlipper.java.template +4 -2
  52. package/src/generators/application/files/app/android/app/src/main/AndroidManifest.xml.template +3 -3
  53. package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainActivity.java.template +13 -26
  54. package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainApplication.java.template +19 -48
  55. package/src/generators/application/files/app/android/app/src/release/java/com/__lowerCaseName__/ReactNativeFlipper.java.template +20 -0
  56. package/src/generators/application/files/app/android/build.gradle.template +13 -36
  57. package/src/generators/application/files/app/android/gradle.properties +4 -0
  58. package/src/generators/application/files/app/android/settings.gradle.template +2 -17
  59. package/src/generators/application/files/app/ios/Podfile.template +21 -5
  60. package/src/generators/application/files/app/ios/__className__/AppDelegate.h +2 -4
  61. package/src/generators/application/files/app/ios/__className__/AppDelegate.mm.template +12 -109
  62. package/src/generators/application/files/app/ios/__className__/Info.plist.template +2 -2
  63. package/src/generators/application/files/app/ios/__className__.xcodeproj/project.pbxproj.template +4 -2
  64. package/src/generators/application/files/app/ios/__className__.xcworkspace/{contents.xcworkspacedata → xcshareddata/contents.xcworkspacedata} +1 -1
  65. package/src/generators/application/files/app/src/app/App.tsx.template +224 -38
  66. package/src/generators/application/files/app/tsconfig.app.json.template +2 -2
  67. package/src/generators/application/files/app/tsconfig.json.template +3 -2
  68. package/src/generators/application/lib/add-detox.js +1 -1
  69. package/src/generators/application/lib/add-detox.js.map +1 -1
  70. package/src/generators/application/lib/add-project.js +2 -8
  71. package/src/generators/application/lib/add-project.js.map +1 -1
  72. package/src/generators/application/lib/create-application-files.js +2 -2
  73. package/src/generators/application/lib/create-application-files.js.map +1 -1
  74. package/src/generators/application/lib/nomalize-options.spec.ts +1 -1
  75. package/src/generators/application/lib/normalize-options.js +1 -1
  76. package/src/generators/application/lib/normalize-options.js.map +1 -1
  77. package/src/generators/application/schema.d.ts +1 -0
  78. package/src/generators/application/schema.json +14 -7
  79. package/src/generators/component/component.js +6 -2
  80. package/src/generators/component/component.js.map +1 -1
  81. package/src/generators/component/component.spec.ts +1 -1
  82. package/src/generators/component/lib/add-import.d.ts +1 -1
  83. package/src/generators/component/lib/add-import.js +7 -3
  84. package/src/generators/component/lib/add-import.js.map +1 -1
  85. package/src/generators/component/schema.json +3 -3
  86. package/src/generators/component-story/component-story.spec.ts +9 -14
  87. package/src/generators/init/init.d.ts +3 -3
  88. package/src/generators/init/init.js +16 -9
  89. package/src/generators/init/init.js.map +1 -1
  90. package/src/generators/init/init.spec.ts +1 -1
  91. package/src/generators/init/lib/gitignore-entries.d.ts +1 -1
  92. package/src/generators/init/lib/gitignore-entries.js +17 -9
  93. package/src/generators/init/lib/gitignore-entries.js.map +1 -1
  94. package/src/generators/init/schema.d.ts +1 -0
  95. package/src/generators/init/schema.json +8 -1
  96. package/src/generators/library/files/lib/tsconfig.json__tmpl__ +1 -1
  97. package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +3 -4
  98. package/src/generators/library/library.js +8 -24
  99. package/src/generators/library/library.js.map +1 -1
  100. package/src/generators/library/library.spec.ts +14 -1
  101. package/src/generators/library/schema.d.ts +1 -1
  102. package/src/generators/library/schema.json +14 -10
  103. package/src/generators/stories/stories-app.spec.ts +1 -1
  104. package/src/generators/stories/stories-lib.spec.ts +1 -1
  105. package/src/generators/stories/stories.js +6 -4
  106. package/src/generators/stories/stories.js.map +1 -1
  107. package/src/generators/storybook-configuration/configuration.js +3 -2
  108. package/src/generators/storybook-configuration/configuration.js.map +1 -1
  109. package/src/generators/storybook-configuration/configuration.spec.ts +10 -6
  110. package/src/generators/storybook-configuration/files/app/storybook.ts.template +4 -4
  111. package/src/generators/storybook-configuration/lib/add-resolver-main-fields-to-metro-config.spec.ts +1 -1
  112. package/src/generators/storybook-configuration/lib/create-storybook-files.js +5 -6
  113. package/src/generators/storybook-configuration/lib/create-storybook-files.js.map +1 -1
  114. package/src/generators/storybook-configuration/lib/replace-app-import-with-storybook-toggle.spec.ts +1 -1
  115. package/src/generators/storybook-configuration/schema.json +6 -3
  116. package/src/generators/upgrade-native/schema.json +2 -1
  117. package/src/generators/upgrade-native/upgrade-native.d.ts +5 -1
  118. package/src/generators/upgrade-native/upgrade-native.js +10 -13
  119. package/src/generators/upgrade-native/upgrade-native.js.map +1 -1
  120. package/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.spec.ts +1 -1
  121. package/src/migrations/update-12-5-0/update-jest-for-react-native.js +1 -1
  122. package/src/migrations/update-12-5-0/update-jest-for-react-native.js.map +1 -1
  123. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.js +2 -2
  124. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.js.map +1 -1
  125. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.spec.ts +1 -1
  126. package/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.spec.ts +1 -1
  127. package/src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0.spec.ts +1 -1
  128. package/src/migrations/update-14-0-0/update-entry-file-bundle-14-0-0.spec.ts +1 -1
  129. package/src/migrations/update-14-0-2/change-main-to-class-name-14-0-2.spec.ts +1 -1
  130. package/src/migrations/update-14-2-1/rename-blockList-metro-config.spec.ts +1 -1
  131. package/src/migrations/update-14-5-5/add-exclude-sync-deps.spec.ts +1 -1
  132. package/src/migrations/update-14-5-8/change-searchDir-storybook.spec.ts +1 -1
  133. package/src/migrations/update-14-6-0/remove-jest-transform.js +1 -1
  134. package/src/migrations/update-14-6-0/remove-jest-transform.js.map +1 -1
  135. package/src/migrations/update-14-6-0/remove-jest-transform.spec.ts +1 -1
  136. package/src/migrations/update-15-0-0/add-babel-inputs.d.ts +2 -0
  137. package/src/migrations/update-15-0-0/add-babel-inputs.js +11 -0
  138. package/src/migrations/update-15-0-0/add-babel-inputs.js.map +1 -0
  139. package/src/migrations/update-15-0-0/add-babel-inputs.spec.ts +73 -0
  140. package/src/utils/add-jest.d.ts +1 -1
  141. package/src/utils/add-jest.js +3 -2
  142. package/src/utils/add-jest.js.map +1 -1
  143. package/src/utils/add-linting.d.ts +3 -2
  144. package/src/utils/add-linting.js +16 -17
  145. package/src/utils/add-linting.js.map +1 -1
  146. package/src/utils/add-linting.spec.ts +2 -17
  147. package/src/utils/chmod-android-gradle-files.d.ts +3 -0
  148. package/src/utils/chmod-android-gradle-files.js +24 -0
  149. package/src/utils/chmod-android-gradle-files.js.map +1 -0
  150. package/src/utils/find-all-npm-dependencies.spec.ts +1 -1
  151. package/src/utils/pod-install-task.js +1 -1
  152. package/src/utils/pod-install-task.js.map +1 -1
  153. package/src/utils/versions.d.ts +17 -13
  154. package/src/utils/versions.js +18 -14
  155. package/src/utils/versions.js.map +1 -1
  156. package/src/generators/application/files/app/android/app/_BUCK.template +0 -55
  157. package/src/generators/application/files/app/android/app/build_defs.bzl +0 -19
  158. package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/newarchitecture/MainApplicationReactNativeHost.java.template +0 -116
  159. package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/newarchitecture/components/MainComponentsRegistry.java.template +0 -36
  160. package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java.template +0 -48
  161. package/src/generators/application/files/app/android/app/src/main/jni/CMakeLists.txt.template +0 -6
  162. package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -32
  163. package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
  164. package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
  165. package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h.template +0 -38
  166. package/src/generators/application/files/app/android/app/src/main/jni/MainComponentsRegistry.cpp +0 -65
  167. package/src/generators/application/files/app/android/app/src/main/jni/MainComponentsRegistry.h.template +0 -32
  168. package/src/generators/application/files/app/android/app/src/main/jni/OnLoad.cpp +0 -11
  169. package/src/generators/application/files/app/ios/__className__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  170. package/src/generators/application/files/app/src/app/icons/blog.svg +0 -1
  171. package/src/generators/application/files/app/src/app/icons/book.svg +0 -1
  172. package/src/generators/application/files/app/src/app/icons/checkmark.svg +0 -1
  173. package/src/generators/application/files/app/src/app/icons/chevron-right.svg +0 -1
  174. package/src/generators/application/files/app/src/app/icons/courses.svg +0 -1
  175. package/src/generators/application/files/app/src/app/icons/github.svg +0 -1
  176. package/src/generators/application/files/app/src/app/icons/heart.svg +0 -1
  177. package/src/generators/application/files/app/src/app/icons/logo.png +0 -0
  178. package/src/generators/application/files/app/src/app/icons/nx-cloud.svg +0 -1
  179. package/src/generators/application/files/app/src/app/icons/pointer.svg +0 -1
  180. package/src/generators/application/files/app/src/app/icons/terminal.svg +0 -1
  181. package/src/generators/application/files/app/src/app/icons/vscode.svg +0 -1
  182. package/src/generators/application/files/app/src/app/icons/youtube.svg +0 -1
  183. package/src/generators/init/lib/init-root-babel-config.d.ts +0 -2
  184. package/src/generators/init/lib/init-root-babel-config.js +0 -20
  185. package/src/generators/init/lib/init-root-babel-config.js.map +0 -1
  186. package/src/utils/chmod-task.d.ts +0 -2
  187. package/src/utils/chmod-task.js +0 -18
  188. package/src/utils/chmod-task.js.map +0 -1
@@ -2,40 +2,39 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addLinting = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
6
5
  const linter_1 = require("@nrwl/linter");
7
6
  const devkit_1 = require("@nrwl/devkit");
8
- const react_1 = require("@nrwl/react");
7
+ const lint_1 = require("@nrwl/react/src/utils/lint");
9
8
  function addLinting(host, options) {
10
9
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
10
  if (options.linter === linter_1.Linter.None) {
12
11
  return () => { };
13
12
  }
13
+ const tasks = [];
14
14
  const lintTask = yield (0, linter_1.lintProjectGenerator)(host, {
15
15
  linter: options.linter,
16
16
  project: options.projectName,
17
17
  tsConfigPaths: options.tsConfigPaths,
18
18
  eslintFilePatterns: [`${options.projectRoot}/**/*.{ts,tsx,js,jsx}`],
19
19
  skipFormat: true,
20
+ skipPackageJson: options.skipPackageJson,
20
21
  });
21
- if (options.linter === linter_1.Linter.TsLint) {
22
- return () => { };
23
- }
24
- const reactEslintJson = (0, react_1.createReactEslintJson)(options.projectRoot, options.setParserOptionsProject);
22
+ tasks.push(lintTask);
25
23
  (0, devkit_1.updateJson)(host, (0, devkit_1.joinPathFragments)(options.projectRoot, '.eslintrc.json'), (json) => {
26
- var _a;
27
- json = reactEslintJson;
28
- json.ignorePatterns = ['!**/*', 'public', '.cache', 'node_modules'];
29
- // Find the override that handles both TS and JS files.
30
- const commonOverride = (_a = json.overrides) === null || _a === void 0 ? void 0 : _a.find((o) => ['*.ts', '*.tsx', '*.js', '*.jsx'].every((ext) => o.files.includes(ext)));
31
- if (commonOverride) {
32
- commonOverride.rules = commonOverride.rules || {};
33
- commonOverride.rules['@typescript-eslint/ban-ts-comment'] = 'off';
34
- }
24
+ json = (0, lint_1.extendReactEslintJson)(json);
25
+ json.ignorePatterns = [
26
+ ...json.ignorePatterns,
27
+ 'public',
28
+ '.cache',
29
+ 'node_modules',
30
+ ];
35
31
  return json;
36
32
  });
37
- const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, react_1.extraEslintDependencies.dependencies, react_1.extraEslintDependencies.devDependencies);
38
- return (0, run_tasks_in_serial_1.runTasksInSerial)(lintTask, installTask);
33
+ if (!options.skipPackageJson) {
34
+ const installTask = yield (0, devkit_1.addDependenciesToPackageJson)(host, lint_1.extraEslintDependencies.dependencies, lint_1.extraEslintDependencies.devDependencies);
35
+ tasks.push(installTask);
36
+ }
37
+ return (0, devkit_1.runTasksInSerial)(...tasks);
39
38
  });
40
39
  }
41
40
  exports.addLinting = addLinting;
@@ -1 +1 @@
1
- {"version":3,"file":"add-linting.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/add-linting.ts"],"names":[],"mappings":";;;;AAAA,2FAAqF;AACrF,yCAA4D;AAC5D,yCAKsB;AACtB,uCAA6E;AAW7E,SAAsB,UAAU,CAAC,IAAU,EAAE,OAAyB;;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,IAAI,EAAE;YAClC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,kBAAkB,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC;YACnE,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,MAAM,EAAE;YACpC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,MAAM,eAAe,GAAG,IAAA,6BAAqB,EAC3C,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,uBAAuB,CAChC,CAAC;QAEF,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EACxD,CAAC,IAAyB,EAAE,EAAE;;YAC5B,IAAI,GAAG,eAAe,CAAC;YACvB,IAAI,CAAC,cAAc,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEpE,uDAAuD;YACvD,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,SAAS,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACzE,CAAC;YACF,IAAI,cAAc,EAAE;gBAClB,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClD,cAAc,CAAC,KAAK,CAAC,mCAAmC,CAAC,GAAG,KAAK,CAAC;aACnE;YAED,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,IAAA,qCAA4B,EACpD,IAAI,EACJ,+BAAuB,CAAC,YAAY,EACpC,+BAAuB,CAAC,eAAe,CACxC,CAAC;QAEF,OAAO,IAAA,sCAAgB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;CAAA;AAjDD,gCAiDC"}
1
+ {"version":3,"file":"add-linting.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/add-linting.ts"],"names":[],"mappings":";;;;AAAA,yCAA4D;AAC5D,yCAOsB;AACtB,qDAGoC;AAYpC,SAAsB,UAAU,CAAC,IAAU,EAAE,OAAyB;;QACpE,IAAI,OAAO,CAAC,MAAM,KAAK,eAAM,CAAC,IAAI,EAAE;YAClC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QACD,MAAM,KAAK,GAAwB,EAAE,CAAC;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAoB,EAAC,IAAI,EAAE;YAChD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,kBAAkB,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,uBAAuB,CAAC;YACnE,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,OAAO,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErB,IAAA,mBAAU,EACR,IAAI,EACJ,IAAA,0BAAiB,EAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EACxD,CAAC,IAAyB,EAAE,EAAE;YAC5B,IAAI,GAAG,IAAA,4BAAqB,EAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,cAAc,GAAG;gBACpB,GAAG,IAAI,CAAC,cAAc;gBACtB,QAAQ;gBACR,QAAQ;gBACR,cAAc;aACf,CAAC;YAEF,OAAO,IAAI,CAAC;QACd,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YAC5B,MAAM,WAAW,GAAG,MAAM,IAAA,qCAA4B,EACpD,IAAI,EACJ,8BAAuB,CAAC,YAAY,EACpC,8BAAuB,CAAC,eAAe,CACxC,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,yBAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AA5CD,gCA4CC"}
@@ -8,14 +8,14 @@ describe('Add Linting', () => {
8
8
  let tree: Tree;
9
9
 
10
10
  beforeEach(async () => {
11
- tree = createTreeWithEmptyWorkspace();
11
+ tree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
12
12
  await libraryGenerator(tree, {
13
13
  name: 'my-lib',
14
14
  linter: Linter.None,
15
15
  });
16
16
  });
17
17
 
18
- it('should add update `workspace.json` file properly when eslint is passed', () => {
18
+ it('should add update configuration when eslint is passed', () => {
19
19
  addLinting(tree, {
20
20
  projectName: 'my-lib',
21
21
  linter: Linter.EsLint,
@@ -28,21 +28,6 @@ describe('Add Linting', () => {
28
28
  expect(project.targets.lint.executor).toEqual('@nrwl/linter:eslint');
29
29
  });
30
30
 
31
- it('should add update `workspace.json` file properly when tslint is passed', () => {
32
- addLinting(tree, {
33
- projectName: 'my-lib',
34
- linter: Linter.TsLint,
35
- tsConfigPaths: ['libs/my-lib/tsconfig.lib.json'],
36
- projectRoot: 'libs/my-lib',
37
- });
38
- const project = readProjectConfiguration(tree, 'my-lib');
39
-
40
- expect(project.targets.lint).toBeDefined();
41
- expect(project.targets.lint.executor).toEqual(
42
- '@angular-devkit/build-angular:tslint'
43
- );
44
- });
45
-
46
31
  it('should not add lint target when "none" is passed', async () => {
47
32
  addLinting(tree, {
48
33
  projectName: 'my-lib',
@@ -0,0 +1,3 @@
1
+ import { GeneratorCallback } from '@nrwl/devkit';
2
+ export declare function chmodAndroidGradlewFiles(androidFolder: string): void;
3
+ export declare function chmodAndroidGradlewFilesTask(androidFolder: string): GeneratorCallback;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.chmodAndroidGradlewFilesTask = exports.chmodAndroidGradlewFiles = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
7
+ function chmodAndroidGradlewFiles(androidFolder) {
8
+ (0, fs_1.chmodSync)((0, path_1.join)(androidFolder, 'gradlew'), 0o775);
9
+ (0, fs_1.chmodSync)((0, path_1.join)(androidFolder, 'gradlew.bat'), 0o775);
10
+ }
11
+ exports.chmodAndroidGradlewFiles = chmodAndroidGradlewFiles;
12
+ function chmodAndroidGradlewFilesTask(androidFolder) {
13
+ return () => {
14
+ devkit_1.logger.info(`chmod android gradlew files under ${androidFolder}`);
15
+ try {
16
+ chmodAndroidGradlewFiles(androidFolder);
17
+ }
18
+ catch (_a) {
19
+ throw new Error(`chmod failed gradlew file under ${androidFolder}`);
20
+ }
21
+ };
22
+ }
23
+ exports.chmodAndroidGradlewFilesTask = chmodAndroidGradlewFilesTask;
24
+ //# sourceMappingURL=chmod-android-gradle-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chmod-android-gradle-files.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/chmod-android-gradle-files.ts"],"names":[],"mappings":";;;AAAA,yCAAyD;AACzD,2BAA+B;AAC/B,+BAA4B;AAE5B,SAAgB,wBAAwB,CAAC,aAAqB;IAC5D,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,aAAa,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACjD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,aAAa,EAAE,aAAa,CAAC,EAAE,KAAK,CAAC,CAAC;AACvD,CAAC;AAHD,4DAGC;AAED,SAAgB,4BAA4B,CAC1C,aAAqB;IAErB,OAAO,GAAG,EAAE;QACV,eAAM,CAAC,IAAI,CAAC,qCAAqC,aAAa,EAAE,CAAC,CAAC;QAClE,IAAI;YACF,wBAAwB,CAAC,aAAa,CAAC,CAAC;SACzC;QAAC,WAAM;YACN,MAAM,IAAI,KAAK,CAAC,mCAAmC,aAAa,EAAE,CAAC,CAAC;SACrE;IACH,CAAC,CAAC;AACJ,CAAC;AAXD,oEAWC"}
@@ -24,7 +24,7 @@ test('findAllNpmDependencies', () => {
24
24
  name: 'lib3',
25
25
  data: { files: [] },
26
26
  },
27
- },
27
+ } as any,
28
28
  externalNodes: {
29
29
  'npm:react-native-image-picker': {
30
30
  type: 'npm',
@@ -40,7 +40,7 @@ function podInstall(iosDirectory) {
40
40
  const result = (0, child_process_1.execSync)('pod install', {
41
41
  cwd: iosDirectory,
42
42
  });
43
- devkit_1.logger.info(result.toString);
43
+ devkit_1.logger.info(result.toString());
44
44
  if (result.toString().includes('Pod installation complete')) {
45
45
  resolve();
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pod-install-task.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/pod-install-task.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,2BAA8B;AAC9B,+BAA+B;AAC/B,yCAAyD;AAEzD,MAAM,sBAAsB,GAAG;UACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;;;;EAIjC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC;;;EAG5C,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC;CACjE,CAAC;AAEF;;;;GAIG;AACH,SAAgB,aAAa,CAC3B,YAAoB,EACpB,UAAmB,IAAI;IAEvB,OAAO,GAAG,EAAE;QACV,IAAI,IAAA,aAAQ,GAAE,KAAK,QAAQ,EAAE;YAC3B,eAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO;SACR;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO;SACR;QAED,eAAM,CAAC,IAAI,CAAC,iCAAiC,YAAY,GAAG,CAAC,CAAC;QAE9D,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAnBD,sCAmBC;AAED,SAAgB,UAAU,CAAC,YAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,aAAa,EAAE;YACrC,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC;QACH,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YAC3D,OAAO,EAAE,CAAC;SACX;aAAM;YACL,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAZD,gCAYC"}
1
+ {"version":3,"file":"pod-install-task.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/pod-install-task.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,2BAA8B;AAC9B,+BAA+B;AAC/B,yCAAyD;AAEzD,MAAM,sBAAsB,GAAG;UACrB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;;;;EAIjC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC;;;EAG5C,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC;CACjE,CAAC;AAEF;;;;GAIG;AACH,SAAgB,aAAa,CAC3B,YAAoB,EACpB,UAAmB,IAAI;IAEvB,OAAO,GAAG,EAAE;QACV,IAAI,IAAA,aAAQ,GAAE,KAAK,QAAQ,EAAE;YAC3B,eAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO;SACR;QAED,IAAI,CAAC,OAAO,EAAE;YACZ,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACtC,OAAO;SACR;QAED,eAAM,CAAC,IAAI,CAAC,iCAAiC,YAAY,GAAG,CAAC,CAAC;QAE9D,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC,CAAC;AACJ,CAAC;AAnBD,sCAmBC;AAED,SAAgB,UAAU,CAAC,YAAoB;IAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,aAAa,EAAE;YACrC,GAAG,EAAE,YAAY;SAClB,CAAC,CAAC;QACH,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/B,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;YAC3D,OAAO,EAAE,CAAC;SACX;aAAM;YACL,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAZD,gCAYC"}
@@ -1,16 +1,20 @@
1
1
  export declare const nxVersion: any;
2
- export declare const reactNativeVersion = "0.70.1";
3
- export declare const typesReactNativeVersion = "0.70.3";
4
- export declare const typesNodeVersion = "16.11.7";
5
- export declare const metroVersion = "0.72.2";
6
- export declare const reactNativeCommunityCli = "9.1.1";
7
- export declare const reactNativeCommunityCliIos = "9.1.0";
8
- export declare const reactNativeCommunityCliAndroid = "9.1.0";
9
- export declare const reactNativeConfigVersion = "1.4.6";
10
- export declare const reactNativeAsyncStorageAsyncStorageVersion = "1.17.10";
11
- export declare const testingLibraryReactNativeVersion = "11.1.0";
12
- export declare const testingLibraryJestNativeVersion = "4.0.12";
2
+ export declare const reactNativeVersion = "0.71.4";
3
+ export declare const typesReactNativeVersion = "0.71.3";
4
+ export declare const typesNodeVersion = "18.14.4";
5
+ export declare const metroVersion = "0.74.1";
6
+ export declare const reactNativeCommunityCli = "10.2.0";
7
+ export declare const reactNativeCommunityCliIos = "10.2.0";
8
+ export declare const reactNativeCommunityCliAndroid = "10.2.0";
9
+ export declare const reactVersion = "18.2.0";
10
+ export declare const reactDomVersion = "18.2.0";
11
+ export declare const reactTestRendererVersion = "18.2.0";
12
+ export declare const typesReactVersion = "18.0.28";
13
+ export declare const reactNativeConfigVersion = "1.5.0";
14
+ export declare const reactNativeAsyncStorageAsyncStorageVersion = "1.17.11";
15
+ export declare const testingLibraryReactNativeVersion = "11.5.2";
16
+ export declare const testingLibraryJestNativeVersion = "5.4.2";
13
17
  export declare const jestReactNativeVersion = "18.0.0";
14
18
  export declare const reactNativeSvgTransformerVersion = "1.0.0";
15
- export declare const reactNativeSvgVersion = "13.2.0";
16
- export declare const babelRuntimeVersion = "7.19.0";
19
+ export declare const reactNativeSvgVersion = "13.8.0";
20
+ export declare const babelRuntimeVersion = "7.21.0";
@@ -1,20 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.babelRuntimeVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.jestReactNativeVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.reactNativeAsyncStorageAsyncStorageVersion = exports.reactNativeConfigVersion = exports.reactNativeCommunityCliAndroid = exports.reactNativeCommunityCliIos = exports.reactNativeCommunityCli = exports.metroVersion = exports.typesNodeVersion = exports.typesReactNativeVersion = exports.reactNativeVersion = exports.nxVersion = void 0;
3
+ exports.babelRuntimeVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.jestReactNativeVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.reactNativeAsyncStorageAsyncStorageVersion = exports.reactNativeConfigVersion = exports.typesReactVersion = exports.reactTestRendererVersion = exports.reactDomVersion = exports.reactVersion = exports.reactNativeCommunityCliAndroid = exports.reactNativeCommunityCliIos = exports.reactNativeCommunityCli = exports.metroVersion = exports.typesNodeVersion = exports.typesReactNativeVersion = exports.reactNativeVersion = exports.nxVersion = void 0;
4
4
  exports.nxVersion = require('../../package.json').version;
5
- exports.reactNativeVersion = '0.70.1';
6
- exports.typesReactNativeVersion = '0.70.3';
7
- exports.typesNodeVersion = '16.11.7';
8
- exports.metroVersion = '0.72.2';
9
- exports.reactNativeCommunityCli = '9.1.1';
10
- exports.reactNativeCommunityCliIos = '9.1.0';
11
- exports.reactNativeCommunityCliAndroid = '9.1.0';
12
- exports.reactNativeConfigVersion = '1.4.6';
13
- exports.reactNativeAsyncStorageAsyncStorageVersion = '1.17.10';
14
- exports.testingLibraryReactNativeVersion = '11.1.0';
15
- exports.testingLibraryJestNativeVersion = '4.0.12';
5
+ exports.reactNativeVersion = '0.71.4';
6
+ exports.typesReactNativeVersion = '0.71.3';
7
+ exports.typesNodeVersion = '18.14.4';
8
+ exports.metroVersion = '0.74.1';
9
+ exports.reactNativeCommunityCli = '10.2.0';
10
+ exports.reactNativeCommunityCliIos = '10.2.0';
11
+ exports.reactNativeCommunityCliAndroid = '10.2.0';
12
+ exports.reactVersion = '18.2.0';
13
+ exports.reactDomVersion = '18.2.0';
14
+ exports.reactTestRendererVersion = '18.2.0';
15
+ exports.typesReactVersion = '18.0.28';
16
+ exports.reactNativeConfigVersion = '1.5.0';
17
+ exports.reactNativeAsyncStorageAsyncStorageVersion = '1.17.11';
18
+ exports.testingLibraryReactNativeVersion = '11.5.2';
19
+ exports.testingLibraryJestNativeVersion = '5.4.2';
16
20
  exports.jestReactNativeVersion = '18.0.0';
17
21
  exports.reactNativeSvgTransformerVersion = '1.0.0';
18
- exports.reactNativeSvgVersion = '13.2.0';
19
- exports.babelRuntimeVersion = '7.19.0';
22
+ exports.reactNativeSvgVersion = '13.8.0';
23
+ exports.babelRuntimeVersion = '7.21.0';
20
24
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAElD,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAE7B,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAClC,QAAA,0BAA0B,GAAG,OAAO,CAAC;AACrC,QAAA,8BAA8B,GAAG,OAAO,CAAC;AAEzC,QAAA,wBAAwB,GAAG,OAAO,CAAC;AACnC,QAAA,0CAA0C,GAAG,SAAS,CAAC;AAEvD,QAAA,gCAAgC,GAAG,QAAQ,CAAC;AAC5C,QAAA,+BAA+B,GAAG,QAAQ,CAAC;AAE3C,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAElC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAEjC,QAAA,mBAAmB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC;AAElD,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,gBAAgB,GAAG,SAAS,CAAC;AAE7B,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AACnC,QAAA,0BAA0B,GAAG,QAAQ,CAAC;AACtC,QAAA,8BAA8B,GAAG,QAAQ,CAAC;AAE1C,QAAA,YAAY,GAAG,QAAQ,CAAC;AACxB,QAAA,eAAe,GAAG,QAAQ,CAAC;AAC3B,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AACpC,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAE9B,QAAA,wBAAwB,GAAG,OAAO,CAAC;AACnC,QAAA,0CAA0C,GAAG,SAAS,CAAC;AAEvD,QAAA,gCAAgC,GAAG,QAAQ,CAAC;AAC5C,QAAA,+BAA+B,GAAG,OAAO,CAAC;AAE1C,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAElC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAEjC,QAAA,mBAAmB,GAAG,QAAQ,CAAC"}
@@ -1,55 +0,0 @@
1
- # To learn about Buck see [Docs](https://buckbuild.com/).
2
- # To run your application with Buck:
3
- # - install Buck
4
- # - `npm start` - to start the packager
5
- # - `cd android`
6
- # - `keytool -genkey -v -keystore keystores/debug.keystore -storepass android -alias androiddebugkey -keypass android -dname "CN=Android Debug,O=Android,C=US"`
7
- # - `./gradlew :app:copyDownloadableDepsToLibs` - make all Gradle compile dependencies available to Buck
8
- # - `buck install -r android/app` - compile, install and run application
9
- #
10
-
11
- load(":build_defs.bzl", "create_aar_targets", "create_jar_targets")
12
-
13
- lib_deps = []
14
-
15
- create_aar_targets(glob(["libs/*.aar"]))
16
-
17
- create_jar_targets(glob(["libs/*.jar"]))
18
-
19
- android_library(
20
- name = "all-libs",
21
- exported_deps = lib_deps,
22
- )
23
-
24
- android_library(
25
- name = "app-code",
26
- srcs = glob([
27
- "src/main/java/**/*.java",
28
- ]),
29
- deps = [
30
- ":all-libs",
31
- ":build_config",
32
- ":res",
33
- ],
34
- )
35
-
36
- android_build_config(
37
- name = "build_config",
38
- package = "com.<%= lowerCaseName %>",
39
- )
40
-
41
- android_resource(
42
- name = "res",
43
- package = "com.<%= lowerCaseName %>",
44
- res = "src/main/res",
45
- )
46
-
47
- android_binary(
48
- name = "app",
49
- keystore = "//android/keystores:debug",
50
- manifest = "src/main/AndroidManifest.xml",
51
- package_type = "debug",
52
- deps = [
53
- ":app-code",
54
- ],
55
- )
@@ -1,19 +0,0 @@
1
- """Helper definitions to glob .aar and .jar targets"""
2
-
3
- def create_aar_targets(aarfiles):
4
- for aarfile in aarfiles:
5
- name = "aars__" + aarfile[aarfile.rindex("/") + 1:aarfile.rindex(".aar")]
6
- lib_deps.append(":" + name)
7
- android_prebuilt_aar(
8
- name = name,
9
- aar = aarfile,
10
- )
11
-
12
- def create_jar_targets(jarfiles):
13
- for jarfile in jarfiles:
14
- name = "jars__" + jarfile[jarfile.rindex("/") + 1:jarfile.rindex(".jar")]
15
- lib_deps.append(":" + name)
16
- prebuilt_jar(
17
- name = name,
18
- binary_jar = jarfile,
19
- )
@@ -1,116 +0,0 @@
1
- package com.<%= lowerCaseName %>.newarchitecture;
2
-
3
- import android.app.Application;
4
- import androidx.annotation.NonNull;
5
- import com.facebook.react.PackageList;
6
- import com.facebook.react.ReactInstanceManager;
7
- import com.facebook.react.ReactNativeHost;
8
- import com.facebook.react.ReactPackage;
9
- import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
10
- import com.facebook.react.bridge.JSIModulePackage;
11
- import com.facebook.react.bridge.JSIModuleProvider;
12
- import com.facebook.react.bridge.JSIModuleSpec;
13
- import com.facebook.react.bridge.JSIModuleType;
14
- import com.facebook.react.bridge.JavaScriptContextHolder;
15
- import com.facebook.react.bridge.ReactApplicationContext;
16
- import com.facebook.react.bridge.UIManager;
17
- import com.facebook.react.fabric.ComponentFactory;
18
- import com.facebook.react.fabric.CoreComponentsRegistry;
19
- import com.facebook.react.fabric.FabricJSIModuleProvider;
20
- import com.facebook.react.fabric.ReactNativeConfig;
21
- import com.facebook.react.uimanager.ViewManagerRegistry;
22
- import com.<%= lowerCaseName %>.BuildConfig;
23
- import com.<%= lowerCaseName %>.newarchitecture.components.MainComponentsRegistry;
24
- import com.<%= lowerCaseName %>.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate;
25
- import java.util.ArrayList;
26
- import java.util.List;
27
-
28
- /**
29
- * A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both
30
- * TurboModule delegates and the Fabric Renderer.
31
- *
32
- * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
33
- * `newArchEnabled` property). Is ignored otherwise.
34
- */
35
- public class MainApplicationReactNativeHost extends ReactNativeHost {
36
- public MainApplicationReactNativeHost(Application application) {
37
- super(application);
38
- }
39
-
40
- @Override
41
- public boolean getUseDeveloperSupport() {
42
- return BuildConfig.DEBUG;
43
- }
44
-
45
- @Override
46
- protected List<ReactPackage> getPackages() {
47
- List<ReactPackage> packages = new PackageList(this).getPackages();
48
- // Packages that cannot be autolinked yet can be added manually here, for example:
49
- // packages.add(new MyReactNativePackage());
50
- // TurboModules must also be loaded here providing a valid TurboReactPackage implementation:
51
- // packages.add(new TurboReactPackage() { ... });
52
- // If you have custom Fabric Components, their ViewManagers should also be loaded here
53
- // inside a ReactPackage.
54
- return packages;
55
- }
56
-
57
- @Override
58
- protected String getJSMainModuleName() {
59
- return "<%= entryFile %>";
60
- }
61
-
62
- @NonNull
63
- @Override
64
- protected ReactPackageTurboModuleManagerDelegate.Builder
65
- getReactPackageTurboModuleManagerDelegateBuilder() {
66
- // Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary
67
- // for the new architecture and to use TurboModules correctly.
68
- return new MainApplicationTurboModuleManagerDelegate.Builder();
69
- }
70
-
71
- @Override
72
- protected JSIModulePackage getJSIModulePackage() {
73
- return new JSIModulePackage() {
74
- @Override
75
- public List<JSIModuleSpec> getJSIModules(
76
- final ReactApplicationContext reactApplicationContext,
77
- final JavaScriptContextHolder jsContext) {
78
- final List<JSIModuleSpec> specs = new ArrayList<>();
79
-
80
- // Here we provide a new JSIModuleSpec that will be responsible of providing the
81
- // custom Fabric Components.
82
- specs.add(
83
- new JSIModuleSpec() {
84
- @Override
85
- public JSIModuleType getJSIModuleType() {
86
- return JSIModuleType.UIManager;
87
- }
88
-
89
- @Override
90
- public JSIModuleProvider<UIManager> getJSIModuleProvider() {
91
- final ComponentFactory componentFactory = new ComponentFactory();
92
- CoreComponentsRegistry.register(componentFactory);
93
-
94
- // Here we register a Components Registry.
95
- // The one that is generated with the template contains no components
96
- // and just provides you the one from React Native core.
97
- MainComponentsRegistry.register(componentFactory);
98
-
99
- final ReactInstanceManager reactInstanceManager = getReactInstanceManager();
100
-
101
- ViewManagerRegistry viewManagerRegistry =
102
- new ViewManagerRegistry(
103
- reactInstanceManager.getOrCreateViewManagers(reactApplicationContext));
104
-
105
- return new FabricJSIModuleProvider(
106
- reactApplicationContext,
107
- componentFactory,
108
- ReactNativeConfig.DEFAULT_CONFIG,
109
- viewManagerRegistry);
110
- }
111
- });
112
- return specs;
113
- }
114
- };
115
- }
116
- }
@@ -1,36 +0,0 @@
1
- package com.<%= lowerCaseName %>.newarchitecture.components;
2
-
3
- import com.facebook.jni.HybridData;
4
- import com.facebook.proguard.annotations.DoNotStrip;
5
- import com.facebook.react.fabric.ComponentFactory;
6
- import com.facebook.soloader.SoLoader;
7
-
8
- /**
9
- * Class responsible to load the custom Fabric Components. This class has native methods and needs a
10
- * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
11
- * folder for you).
12
- *
13
- * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
14
- * `newArchEnabled` property). Is ignored otherwise.
15
- */
16
- @DoNotStrip
17
- public class MainComponentsRegistry {
18
- static {
19
- SoLoader.loadLibrary("fabricjni");
20
- }
21
-
22
- @DoNotStrip private final HybridData mHybridData;
23
-
24
- @DoNotStrip
25
- private native HybridData initHybrid(ComponentFactory componentFactory);
26
-
27
- @DoNotStrip
28
- private MainComponentsRegistry(ComponentFactory componentFactory) {
29
- mHybridData = initHybrid(componentFactory);
30
- }
31
-
32
- @DoNotStrip
33
- public static MainComponentsRegistry register(ComponentFactory componentFactory) {
34
- return new MainComponentsRegistry(componentFactory);
35
- }
36
- }
@@ -1,48 +0,0 @@
1
- package com.<%= lowerCaseName %>.newarchitecture.modules;
2
-
3
- import com.facebook.jni.HybridData;
4
- import com.facebook.react.ReactPackage;
5
- import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
6
- import com.facebook.react.bridge.ReactApplicationContext;
7
- import com.facebook.soloader.SoLoader;
8
- import java.util.List;
9
-
10
- /**
11
- * Class responsible to load the TurboModules. This class has native methods and needs a
12
- * corresponding C++ implementation/header file to work correctly (already placed inside the jni/
13
- * folder for you).
14
- *
15
- * <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
16
- * `newArchEnabled` property). Is ignored otherwise.
17
- */
18
- public class MainApplicationTurboModuleManagerDelegate
19
- extends ReactPackageTurboModuleManagerDelegate {
20
-
21
- private static volatile boolean sIsSoLibraryLoaded;
22
-
23
- protected MainApplicationTurboModuleManagerDelegate(
24
- ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) {
25
- super(reactApplicationContext, packages);
26
- }
27
-
28
- protected native HybridData initHybrid();
29
-
30
- native boolean canCreateTurboModule(String moduleName);
31
-
32
- public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder {
33
- protected MainApplicationTurboModuleManagerDelegate build(
34
- ReactApplicationContext context, List<ReactPackage> packages) {
35
- return new MainApplicationTurboModuleManagerDelegate(context, packages);
36
- }
37
- }
38
-
39
- @Override
40
- protected synchronized void maybeLoadOtherSoLibraries() {
41
- if (!sIsSoLibraryLoaded) {
42
- // If you change the name of your application .so file in the Android.mk file,
43
- // make sure you update the name here as well.
44
- SoLoader.loadLibrary("<%= lowerCaseName %>_appmodules");
45
- sIsSoLibraryLoaded = true;
46
- }
47
- }
48
- }
@@ -1,6 +0,0 @@
1
-
2
- cmake_minimum_required(VERSION 3.13)
3
- # Define the library name here.
4
- project(<%= lowerCaseName %>_appmodules)
5
- # This file includes all the necessary to let you build your application with the New Architecture.
6
- include(${REACT_ANDROID_DIR}/cmake-utils/ReactNative-application.cmake)
@@ -1,32 +0,0 @@
1
- #include "MainApplicationModuleProvider.h"
2
-
3
- #include <rncli.h>
4
- #include <rncore.h>
5
-
6
- namespace facebook {
7
- namespace react {
8
-
9
- std::shared_ptr<TurboModule> MainApplicationModuleProvider(
10
- const std::string &moduleName,
11
- const JavaTurboModule::InitParams &params) {
12
- // Here you can provide your own module provider for TurboModules coming from
13
- // either your application or from external libraries. The approach to follow
14
- // is similar to the following (for a library called `samplelibrary`:
15
- //
16
- // auto module = samplelibrary_ModuleProvider(moduleName, params);
17
- // if (module != nullptr) {
18
- // return module;
19
- // }
20
- // return rncore_ModuleProvider(moduleName, params);
21
-
22
- // Module providers autolinked by RN CLI
23
- auto rncli_module = rncli_ModuleProvider(moduleName, params);
24
- if (rncli_module != nullptr) {
25
- return rncli_module;
26
- }
27
-
28
- return rncore_ModuleProvider(moduleName, params);
29
- }
30
-
31
- } // namespace react
32
- } // namespace facebook
@@ -1,16 +0,0 @@
1
- #pragma once
2
-
3
- #include <memory>
4
- #include <string>
5
-
6
- #include <ReactCommon/JavaTurboModule.h>
7
-
8
- namespace facebook {
9
- namespace react {
10
-
11
- std::shared_ptr<TurboModule> MainApplicationModuleProvider(
12
- const std::string &moduleName,
13
- const JavaTurboModule::InitParams &params);
14
-
15
- } // namespace react
16
- } // namespace facebook
@@ -1,45 +0,0 @@
1
- #include "MainApplicationTurboModuleManagerDelegate.h"
2
- #include "MainApplicationModuleProvider.h"
3
-
4
- namespace facebook {
5
- namespace react {
6
-
7
- jni::local_ref<MainApplicationTurboModuleManagerDelegate::jhybriddata>
8
- MainApplicationTurboModuleManagerDelegate::initHybrid(
9
- jni::alias_ref<jhybridobject>) {
10
- return makeCxxInstance();
11
- }
12
-
13
- void MainApplicationTurboModuleManagerDelegate::registerNatives() {
14
- registerHybrid({
15
- makeNativeMethod(
16
- "initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid),
17
- makeNativeMethod(
18
- "canCreateTurboModule",
19
- MainApplicationTurboModuleManagerDelegate::canCreateTurboModule),
20
- });
21
- }
22
-
23
- std::shared_ptr<TurboModule>
24
- MainApplicationTurboModuleManagerDelegate::getTurboModule(
25
- const std::string &name,
26
- const std::shared_ptr<CallInvoker> &jsInvoker) {
27
- // Not implemented yet: provide pure-C++ NativeModules here.
28
- return nullptr;
29
- }
30
-
31
- std::shared_ptr<TurboModule>
32
- MainApplicationTurboModuleManagerDelegate::getTurboModule(
33
- const std::string &name,
34
- const JavaTurboModule::InitParams &params) {
35
- return MainApplicationModuleProvider(name, params);
36
- }
37
-
38
- bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
39
- const std::string &name) {
40
- return getTurboModule(name, nullptr) != nullptr ||
41
- getTurboModule(name, {.moduleName = name}) != nullptr;
42
- }
43
-
44
- } // namespace react
45
- } // namespace facebook