@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
@@ -10,19 +10,7 @@ import {
10
10
  TouchableOpacity,
11
11
  Linking,
12
12
  } from 'react-native';
13
-
14
- import Checkmark from './icons/checkmark.svg';
15
- import Book from './icons/book.svg';
16
- import ChevronRight from './icons/chevron-right.svg';
17
- import Blog from './icons/blog.svg';
18
- import Courses from './icons/courses.svg';
19
- import YouTube from './icons/youtube.svg';
20
- import Pointer from './icons/pointer.svg';
21
- import VSCode from './icons/vscode.svg';
22
- import NxCloud from './icons/nx-cloud.svg';
23
- import GitHub from './icons/github.svg';
24
- import Terminal from './icons/terminal.svg';
25
- import Heart from './icons/heart.svg';
13
+ import Svg, { Path } from 'react-native-svg';
26
14
 
27
15
  export const App = () => {
28
16
  const [whatsNextYCoord, setWhatsNextYCoord] = useState<number>(0);
@@ -48,11 +36,20 @@ export const App = () => {
48
36
  <View style={styles.section}>
49
37
  <View style={styles.hero}>
50
38
  <View style={styles.heroTitle}>
51
- <Checkmark
39
+ <Svg
52
40
  width={32}
53
41
  height={32}
54
42
  stroke="hsla(162, 47%, 50%, 1)"
55
- />
43
+ fill="none"
44
+ viewBox="0 0 24 24"
45
+ >
46
+ <Path
47
+ strokeLinecap="round"
48
+ strokeLinejoin="round"
49
+ strokeWidth="2"
50
+ d="M9 12l2 2 4-4M7.835 4.697a3.42 3.42 0 001.946-.806 3.42 3.42 0 014.438 0 3.42 3.42 0 001.946.806 3.42 3.42 0 013.138 3.138 3.42 3.42 0 00.806 1.946 3.42 3.42 0 010 4.438 3.42 3.42 0 00-.806 1.946 3.42 3.42 0 01-3.138 3.138 3.42 3.42 0 00-1.946.806 3.42 3.42 0 01-4.438 0 3.42 3.42 0 00-1.946-.806 3.42 3.42 0 01-3.138-3.138 3.42 3.42 0 00-.806-1.946 3.42 3.42 0 010-4.438 3.42 3.42 0 00.806-1.946 3.42 3.42 0 013.138-3.138z"
51
+ />
52
+ </Svg>
56
53
  <Text style={[styles.textLg, styles.heroTitleText]}>
57
54
  You're up and running
58
55
  </Text>
@@ -85,65 +82,156 @@ export const App = () => {
85
82
  )
86
83
  }
87
84
  >
88
- <Book width={24} height={24} stroke="#000000" />
85
+ <Svg
86
+ width={24}
87
+ height={24}
88
+ stroke="#000000"
89
+ fill="none"
90
+ viewBox="0 0 24 24"
91
+ >
92
+ <Path
93
+ strokeLinecap="round"
94
+ strokeLinejoin="round"
95
+ strokeWidth="2"
96
+ d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"
97
+ />
98
+ </Svg>
89
99
  <View style={styles.listItemTextContainer}>
90
100
  <Text style={[styles.textMd]}>Documentation</Text>
91
101
  <Text style={[styles.text2XS, styles.textSubtle]}>
92
102
  Everything is in there
93
103
  </Text>
94
104
  </View>
95
- <ChevronRight width={18} height={18} stroke="#000000" />
105
+ <Svg
106
+ width={18}
107
+ height={18}
108
+ stroke="#000000"
109
+ fill="none"
110
+ viewBox="0 0 24 24"
111
+ >
112
+ <Path
113
+ strokeLinecap="round"
114
+ strokeLinejoin="round"
115
+ strokeWidth="2"
116
+ d="M9 5l7 7-7 7"
117
+ />
118
+ </Svg>
96
119
  </TouchableOpacity>
97
120
  <TouchableOpacity
98
121
  style={[styles.listItem, styles.learning]}
99
122
  onPress={() =>
100
- Linking.openURL(
101
- 'https://blog.nrwl.io/?utm_source=nx-project'
102
- )
123
+ Linking.openURL('https://blog.nrwl.io/?utm_source=nx-project')
103
124
  }
104
125
  >
105
- <Blog width={24} height={24} stroke="#000000" />
126
+ <Svg
127
+ width={24}
128
+ height={24}
129
+ stroke="#000000"
130
+ fill="none"
131
+ viewBox="0 0 24 24"
132
+ >
133
+ <Path
134
+ strokeLinecap="round"
135
+ strokeLinejoin="round"
136
+ strokeWidth="2"
137
+ d="M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"
138
+ />
139
+ </Svg>
106
140
  <View style={styles.listItemTextContainer}>
107
141
  <Text style={[styles.textMd]}>Blog</Text>
108
142
  <Text style={[styles.text2XS, styles.textSubtle]}>
109
143
  Changelog, features & events
110
144
  </Text>
111
145
  </View>
112
- <ChevronRight width={18} height={18} stroke="#000000" />
146
+ <Svg
147
+ width={18}
148
+ height={18}
149
+ stroke="#000000"
150
+ fill="none"
151
+ viewBox="0 0 24 24"
152
+ >
153
+ <Path
154
+ strokeLinecap="round"
155
+ strokeLinejoin="round"
156
+ strokeWidth="2"
157
+ d="M9 5l7 7-7 7"
158
+ />
159
+ </Svg>
113
160
  </TouchableOpacity>
114
161
  <TouchableOpacity
115
162
  style={[styles.listItem, styles.learning]}
116
163
  onPress={() =>
117
164
  Linking.openURL(
118
- 'https://www.youtube.com/c/Nrwl_io/videos?utm_source=nx-project'
165
+ 'https://www.youtube.com/@NxDevtools/videos?utm_source=nx-project'
119
166
  )
120
167
  }
121
168
  >
122
- <YouTube width={24} height={24} fill="#000000" />
169
+ <Svg width={24} height={24} fill="#000000" viewBox="0 0 24 24">
170
+ <Path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z" />
171
+ </Svg>
123
172
  <View style={styles.listItemTextContainer}>
124
173
  <Text style={[styles.textMd]}>Youtube channel</Text>
125
174
  <Text style={[styles.text2XS, styles.textSubtle]}>
126
175
  Nx Show, talks & tutorials
127
176
  </Text>
128
177
  </View>
129
- <ChevronRight width={18} height={18} stroke="#000000" />
178
+ <Svg
179
+ width={18}
180
+ height={18}
181
+ stroke="#000000"
182
+ fill="none"
183
+ viewBox="0 0 24 24"
184
+ >
185
+ <Path
186
+ strokeLinecap="round"
187
+ strokeLinejoin="round"
188
+ strokeWidth="2"
189
+ d="M9 5l7 7-7 7"
190
+ />
191
+ </Svg>
130
192
  </TouchableOpacity>
131
193
  <TouchableOpacity
132
194
  style={[styles.listItem, styles.learning]}
133
195
  onPress={() =>
134
196
  Linking.openURL(
135
- 'https://nx.dev/react-tutorial/01-create-application?utm_source=nx-project'
197
+ 'https://nx.dev/react-tutorial/1-code-generation?utm_source=nx-project'
136
198
  )
137
199
  }
138
200
  >
139
- <Pointer width={24} height={24} stroke="#000000" />
201
+ <Svg
202
+ width={24}
203
+ height={24}
204
+ stroke="#000000"
205
+ fill="none"
206
+ viewBox="0 0 24 24"
207
+ >
208
+ <Path
209
+ strokeLinecap="round"
210
+ strokeLinejoin="round"
211
+ strokeWidth="2"
212
+ d="M15 15l-2 5L9 9l11 4-5 2zm0 0l5 5M7.188 2.239l.777 2.897M5.136 7.965l-2.898-.777M13.95 4.05l-2.122 2.122m-5.657 5.656l-2.12 2.122"
213
+ />
214
+ </Svg>
140
215
  <View style={styles.listItemTextContainer}>
141
216
  <Text style={[styles.textMd]}>Interactive tutorials</Text>
142
217
  <Text style={[styles.text2XS, styles.textSubtle]}>
143
218
  Create an app, step by step
144
219
  </Text>
145
220
  </View>
146
- <ChevronRight width={18} height={18} stroke="#000000" />
221
+ <Svg
222
+ width={18}
223
+ height={18}
224
+ stroke="#000000"
225
+ fill="none"
226
+ viewBox="0 0 24 24"
227
+ >
228
+ <Path
229
+ strokeLinecap="round"
230
+ strokeLinejoin="round"
231
+ strokeWidth="2"
232
+ d="M9 5l7 7-7 7"
233
+ ></Path>
234
+ </Svg>
147
235
  </TouchableOpacity>
148
236
  <TouchableOpacity
149
237
  style={[styles.listItem, styles.learning]}
@@ -153,14 +241,42 @@ export const App = () => {
153
241
  )
154
242
  }
155
243
  >
156
- <Courses width={24} height={24} stroke="#000000" />
244
+ <Svg
245
+ width={24}
246
+ height={24}
247
+ stroke="#000000"
248
+ fill="none"
249
+ viewBox="0 0 24 24"
250
+ >
251
+ <Path d="M12 14l9-5-9-5-9 5 9 5z"></Path>
252
+ <Path d="M12 14l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14z"></Path>
253
+ <Path
254
+ strokeLinecap="round"
255
+ strokeLinejoin="round"
256
+ strokeWidth="2"
257
+ d="M12 14l9-5-9-5-9 5 9 5zm0 0l6.16-3.422a12.083 12.083 0 01.665 6.479A11.952 11.952 0 0012 20.055a11.952 11.952 0 00-6.824-2.998 12.078 12.078 0 01.665-6.479L12 14zm-4 6v-7.5l4-2.222"
258
+ ></Path>
259
+ </Svg>
157
260
  <View style={styles.listItemTextContainer}>
158
261
  <Text style={[styles.textMd]}>Video courses</Text>
159
262
  <Text style={[styles.text2XS, styles.textSubtle]}>
160
263
  Nx custom courses
161
264
  </Text>
162
265
  </View>
163
- <ChevronRight width={18} height={18} stroke="#000000" />
266
+ <Svg
267
+ width={18}
268
+ height={18}
269
+ stroke="#000000"
270
+ fill="none"
271
+ viewBox="0 0 24 24"
272
+ >
273
+ <Path
274
+ strokeLinecap="round"
275
+ strokeLinejoin="round"
276
+ strokeWidth="2"
277
+ d="M9 5l7 7-7 7"
278
+ ></Path>
279
+ </Svg>
164
280
  </TouchableOpacity>
165
281
  </View>
166
282
  </View>
@@ -173,7 +289,14 @@ export const App = () => {
173
289
  }
174
290
  >
175
291
  <View style={[styles.listItem, styles.shadowBox]}>
176
- <VSCode width={48} height={48} fill="rgba(0, 122, 204, 1)" />
292
+ <Svg
293
+ width={48}
294
+ height={48}
295
+ fill="rgba(0, 122, 204, 1)"
296
+ viewBox="0 0 24 24"
297
+ >
298
+ <Path d="M23.15 2.587L18.21.21a1.494 1.494 0 0 0-1.705.29l-9.46 8.63-4.12-3.128a.999.999 0 0 0-1.276.057L.327 7.261A1 1 0 0 0 .326 8.74L3.899 12 .326 15.26a1 1 0 0 0 .001 1.479L1.65 17.94a.999.999 0 0 0 1.276.057l4.12-3.128 9.46 8.63a1.492 1.492 0 0 0 1.704.29l4.942-2.377A1.5 1.5 0 0 0 24 20.06V3.939a1.5 1.5 0 0 0-.85-1.352zm-5.146 14.861L10.826 12l7.178-5.448v10.896z" />
299
+ </Svg>
177
300
  <View style={styles.listItemTextContainer}>
178
301
  <Text
179
302
  style={[
@@ -199,7 +322,16 @@ export const App = () => {
199
322
  >
200
323
  <View style={styles.shadowBox}>
201
324
  <View style={[styles.listItem, styles.marginBottomMd]}>
202
- <NxCloud width={48} height={48} />
325
+ <Svg width={48} height={48} viewBox="0 0 120 120" fill="none">
326
+ <Path
327
+ d="M120 15V30C103.44 30 90 43.44 90 60C90 76.56 76.56 90 60 90C43.44 90 30 103.44 30 120H15C6.72 120 0 113.28 0 105V15C0 6.72 6.72 0 15 0H105C113.28 0 120 6.72 120 15Z"
328
+ fill="#0E2039"
329
+ />
330
+ <Path
331
+ d="M120 30V105C120 113.28 113.28 120 105 120H30C30 103.44 43.44 90 60 90C76.56 90 90 76.56 90 60C90 43.44 103.44 30 120 30Z"
332
+ fill="white"
333
+ />
334
+ </Svg>
203
335
  <View style={styles.listItemTextContainer}>
204
336
  <Text
205
337
  style={[
@@ -228,7 +360,9 @@ export const App = () => {
228
360
  }
229
361
  >
230
362
  <View style={[styles.listItem, styles.shadowBox]}>
231
- <GitHub width={48} height={48} fill="#000000" />
363
+ <Svg width={48} height={48} fill="#000000" viewBox="0 0 24 24">
364
+ <Path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12" />
365
+ </Svg>
232
366
  <View style={styles.listItemTextContainer}>
233
367
  <Text
234
368
  style={[
@@ -263,7 +397,20 @@ export const App = () => {
263
397
  Here are some things you can do with Nx:
264
398
  </Text>
265
399
  <View style={styles.listItem}>
266
- <Terminal width={24} height={24} stroke="#000000" />
400
+ <Svg
401
+ width={24}
402
+ height={24}
403
+ stroke="#000000"
404
+ fill="none"
405
+ viewBox="0 0 24 24"
406
+ >
407
+ <Path
408
+ strokeLinecap="round"
409
+ strokeLinejoin="round"
410
+ strokeWidth="2"
411
+ d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
412
+ />
413
+ </Svg>
267
414
  <View style={styles.listItemTextContainer}>
268
415
  <Text style={styles.textSm}>Add UI library</Text>
269
416
  </View>
@@ -293,7 +440,20 @@ export const App = () => {
293
440
  </Text>
294
441
  </View>
295
442
  <View style={styles.listItem}>
296
- <Terminal width={24} height={24} stroke="#000000" />
443
+ <Svg
444
+ width={24}
445
+ height={24}
446
+ stroke="#000000"
447
+ fill="none"
448
+ viewBox="0 0 24 24"
449
+ >
450
+ <Path
451
+ strokeLinecap="round"
452
+ strokeLinejoin="round"
453
+ strokeWidth="2"
454
+ d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
455
+ />
456
+ </Svg>
297
457
  <View style={styles.listItemTextContainer}>
298
458
  <Text style={styles.textSm}>
299
459
  View interactive project graph
@@ -306,7 +466,20 @@ export const App = () => {
306
466
  </Text>
307
467
  </View>
308
468
  <View style={styles.listItem}>
309
- <Terminal width={24} height={24} stroke="#000000" />
469
+ <Svg
470
+ width={24}
471
+ height={24}
472
+ stroke="#000000"
473
+ fill="none"
474
+ viewBox="0 0 24 24"
475
+ >
476
+ <Path
477
+ strokeLinecap="round"
478
+ strokeLinejoin="round"
479
+ strokeWidth="2"
480
+ d="M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"
481
+ />
482
+ </Svg>
310
483
  <View style={styles.listItemTextContainer}>
311
484
  <Text style={styles.textSm}>Run affected commands</Text>
312
485
  </View>
@@ -349,7 +522,20 @@ export const App = () => {
349
522
  </View>
350
523
  <View style={[styles.listItem, styles.love]}>
351
524
  <Text style={styles.textSubtle}>Carefully crafted with </Text>
352
- <Heart width={24} height={24} fill="rgba(252, 165, 165, 1)" />
525
+ <Svg
526
+ width={24}
527
+ height={24}
528
+ fill="rgba(252, 165, 165, 1)"
529
+ stroke="none"
530
+ viewBox="0 0 24 24"
531
+ >
532
+ <Path
533
+ strokeLinecap="round"
534
+ strokeLinejoin="round"
535
+ strokeWidth="2"
536
+ d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
537
+ />
538
+ </Svg>
353
539
  </View>
354
540
  </View>
355
541
  </ScrollView>
@@ -418,7 +604,7 @@ const styles = StyleSheet.create({
418
604
  color: '#6b7280',
419
605
  },
420
606
  section: {
421
- marginVertical: 12,
607
+ marginVertical: 24,
422
608
  marginHorizontal: 12,
423
609
  },
424
610
  shadowBox: {
@@ -4,6 +4,6 @@
4
4
  "outDir": "<%= offsetFromRoot %>dist/out-tsc",
5
5
  "types": ["node"]
6
6
  },
7
- "exclude": ["jest.config.ts", "**/*.spec.ts", "**/*.spec.tsx", "test-setup.ts"],
8
- "include": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"]
7
+ "exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.spec.tsx", "test-setup.ts"],
8
+ "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.js", "src/**/*.jsx"]
9
9
  }
@@ -5,9 +5,10 @@
5
5
  "jsx": "react-native",
6
6
  "lib": ["dom", "esnext"],
7
7
  "moduleResolution": "node",
8
- "noEmit": true,
9
8
  "skipLibCheck": true,
10
- "resolveJsonModule": true
9
+ "resolveJsonModule": true,
10
+ "composite": true,
11
+ "declaration": true
11
12
  },
12
13
  "files": [
13
14
  "../../node_modules/@nrwl/react-native/typings/svg.d.ts"
@@ -9,7 +9,7 @@ function addDetox(host, options) {
9
9
  if ((options === null || options === void 0 ? void 0 : options.e2eTestRunner) !== 'detox') {
10
10
  return () => { };
11
11
  }
12
- return (0, detox_1.detoxApplicationGenerator)(host, Object.assign(Object.assign({}, options), { linter: linter_1.Linter.EsLint, name: `${options.name}-e2e`, directory: options.directory, project: options.projectName, framework: 'react-native' }));
12
+ return (0, detox_1.detoxApplicationGenerator)(host, Object.assign(Object.assign({}, options), { linter: linter_1.Linter.EsLint, e2eName: `${options.name}-e2e`, e2eDirectory: options.directory, appProject: options.projectName, appDisplayName: options.displayName, appName: options.name, framework: 'react-native' }));
13
13
  });
14
14
  }
15
15
  exports.addDetox = addDetox;
@@ -1 +1 @@
1
- {"version":3,"file":"add-detox.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/add-detox.ts"],"names":[],"mappings":";;;;AAAA,uCAAwD;AAGxD,yCAAsC;AAEtC,SAAsB,QAAQ,CAAC,IAAU,EAAE,OAAyB;;QAClE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,OAAO,EAAE;YACtC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,IAAA,iCAAyB,EAAC,IAAI,kCAChC,OAAO,KACV,MAAM,EAAE,eAAM,CAAC,MAAM,EACrB,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,MAAM,EAC3B,SAAS,EAAE,OAAO,CAAC,SAAS,EAC5B,OAAO,EAAE,OAAO,CAAC,WAAW,EAC5B,SAAS,EAAE,cAAc,IACzB,CAAC;IACL,CAAC;CAAA;AAbD,4BAaC"}
1
+ {"version":3,"file":"add-detox.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/add-detox.ts"],"names":[],"mappings":";;;;AAAA,uCAAwD;AAGxD,yCAAsC;AAEtC,SAAsB,QAAQ,CAAC,IAAU,EAAE,OAAyB;;QAClE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,MAAK,OAAO,EAAE;YACtC,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;SACjB;QAED,OAAO,IAAA,iCAAyB,EAAC,IAAI,kCAChC,OAAO,KACV,MAAM,EAAE,eAAM,CAAC,MAAM,EACrB,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,MAAM,EAC9B,YAAY,EAAE,OAAO,CAAC,SAAS,EAC/B,UAAU,EAAE,OAAO,CAAC,WAAW,EAC/B,cAAc,EAAE,OAAO,CAAC,WAAW,EACnC,OAAO,EAAE,OAAO,CAAC,IAAI,EACrB,SAAS,EAAE,cAAc,IACzB,CAAC;IACL,CAAC;CAAA;AAfD,4BAeC"}
@@ -11,11 +11,6 @@ function addProject(host, options) {
11
11
  tags: options.parsedTags,
12
12
  };
13
13
  (0, devkit_1.addProjectConfiguration)(host, options.projectName, Object.assign({}, project));
14
- const workspace = (0, devkit_1.readWorkspaceConfiguration)(host);
15
- if (!workspace.defaultProject) {
16
- workspace.defaultProject = options.projectName;
17
- (0, devkit_1.updateWorkspaceConfiguration)(host, workspace);
18
- }
19
14
  }
20
15
  exports.addProject = addProject;
21
16
  function getTargets(options) {
@@ -38,7 +33,6 @@ function getTargets(options) {
38
33
  };
39
34
  architect['bundle-ios'] = {
40
35
  executor: '@nrwl/react-native:bundle',
41
- outputs: [`${options.appProjectRoot}/build`],
42
36
  options: {
43
37
  entryFile: options.entryFile,
44
38
  platform: 'ios',
@@ -52,8 +46,8 @@ function getTargets(options) {
52
46
  architect['build-android'] = {
53
47
  executor: '@nrwl/react-native:build-android',
54
48
  outputs: [
55
- `${options.appProjectRoot}/android/app/build/outputs/bundle`,
56
- `${options.appProjectRoot}/android/app/build/outputs/apk`,
49
+ `{projectRoot}/android/app/build/outputs/bundle`,
50
+ `{projectRoot}/android/app/build/outputs/apk`,
57
51
  ],
58
52
  options: {},
59
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"add-project.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/add-project.ts"],"names":[],"mappings":";;;AAAA,yCAOsB;AAGtB,SAAgB,UAAU,CAAC,IAAU,EAAE,OAAyB;IAC9D,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,OAAO,CAAC,cAAc;QAC5B,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,MAAM;QAC3C,WAAW,EAAE,aAAa;QAC1B,OAAO,oBAAO,UAAU,CAAC,OAAO,CAAC,CAAE;QACnC,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC;IAEF,IAAA,gCAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,oBAC5C,OAAO,EACV,CAAC;IAEH,MAAM,SAAS,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;QAC7B,SAAS,CAAC,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;QAE/C,IAAA,qCAA4B,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;KAC/C;AACH,CAAC;AApBD,gCAoBC;AAED,SAAS,UAAU,CAAC,OAAyB;IAC3C,MAAM,SAAS,GAA2C,EAAE,CAAC;IAE7D,SAAS,CAAC,KAAK,GAAG;QAChB,QAAQ,EAAE,0BAA0B;QACpC,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,SAAS,CAAC,KAAK,GAAG;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,OAAO,EAAE,YAAY,OAAO,CAAC,IAAI,EAAE;SACpC;KACF,CAAC;IAEF,SAAS,CAAC,SAAS,CAAC,GAAG;QACrB,QAAQ,EAAE,4BAA4B;QACtC,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,YAAY,CAAC,GAAG;QACxB,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,QAAQ,CAAC;QAC5C,OAAO,EAAE;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,QAAQ,OAAO,CAAC,cAAc,oBAAoB;SACjE;KACF,CAAC;IAEF,SAAS,CAAC,aAAa,CAAC,GAAG;QACzB,QAAQ,EAAE,gCAAgC;QAC1C,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,eAAe,CAAC,GAAG;QAC3B,QAAQ,EAAE,kCAAkC;QAC5C,OAAO,EAAE;YACP,GAAG,OAAO,CAAC,cAAc,mCAAmC;YAC5D,GAAG,OAAO,CAAC,cAAc,gCAAgC;SAC1D;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,gBAAgB,CAAC,GAAG;QAC5B,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,QAAQ,OAAO,CAAC,cAAc,wBAAwB;SACrE;KACF,CAAC;IAEF,SAAS,CAAC,WAAW,CAAC,GAAG;QACvB,QAAQ,EAAE,8BAA8B;QACxC,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,gBAAgB,CAAC,GAAG;QAC5B,QAAQ,EAAE,mCAAmC;QAC7C,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"add-project.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/add-project.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAGtB,SAAgB,UAAU,CAAC,IAAU,EAAE,OAAyB;IAC9D,MAAM,OAAO,GAAyB;QACpC,IAAI,EAAE,OAAO,CAAC,cAAc;QAC5B,UAAU,EAAE,GAAG,OAAO,CAAC,cAAc,MAAM;QAC3C,WAAW,EAAE,aAAa;QAC1B,OAAO,oBAAO,UAAU,CAAC,OAAO,CAAC,CAAE;QACnC,IAAI,EAAE,OAAO,CAAC,UAAU;KACzB,CAAC;IAEF,IAAA,gCAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,WAAW,oBAC5C,OAAO,EACV,CAAC;AACL,CAAC;AAZD,gCAYC;AAED,SAAS,UAAU,CAAC,OAAyB;IAC3C,MAAM,SAAS,GAA2C,EAAE,CAAC;IAE7D,SAAS,CAAC,KAAK,GAAG;QAChB,QAAQ,EAAE,0BAA0B;QACpC,OAAO,EAAE;YACP,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,SAAS,CAAC,KAAK,GAAG;QAChB,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE;YACP,OAAO,EAAE,YAAY,OAAO,CAAC,IAAI,EAAE;SACpC;KACF,CAAC;IAEF,SAAS,CAAC,SAAS,CAAC,GAAG;QACrB,QAAQ,EAAE,4BAA4B;QACtC,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,YAAY,CAAC,GAAG;QACxB,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,QAAQ,OAAO,CAAC,cAAc,oBAAoB;SACjE;KACF,CAAC;IAEF,SAAS,CAAC,aAAa,CAAC,GAAG;QACzB,QAAQ,EAAE,gCAAgC;QAC1C,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,eAAe,CAAC,GAAG;QAC3B,QAAQ,EAAE,kCAAkC;QAC5C,OAAO,EAAE;YACP,gDAAgD;YAChD,6CAA6C;SAC9C;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,gBAAgB,CAAC,GAAG;QAC5B,QAAQ,EAAE,2BAA2B;QACrC,OAAO,EAAE;YACP,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,QAAQ,OAAO,CAAC,cAAc,wBAAwB;SACrE;KACF,CAAC;IAEF,SAAS,CAAC,WAAW,CAAC,GAAG;QACvB,QAAQ,EAAE,8BAA8B;QACxC,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,SAAS,CAAC,gBAAgB,CAAC,GAAG;QAC5B,QAAQ,EAAE,mCAAmC;QAC7C,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createApplicationFiles = void 0;
4
4
  const devkit_1 = require("@nrwl/devkit");
5
- const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
5
+ const js_1 = require("@nrwl/js");
6
6
  const path_1 = require("path");
7
7
  function createApplicationFiles(host, options) {
8
- (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files/app'), options.appProjectRoot, Object.assign(Object.assign({}, options), { entryFileIos: 'src/main', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.appProjectRoot), rootTsConfigPath: (0, typescript_1.getRelativePathToRootTsConfig)(host, options.appProjectRoot) }));
8
+ (0, devkit_1.generateFiles)(host, (0, path_1.join)(__dirname, '../files/app'), options.appProjectRoot, Object.assign(Object.assign({}, options), { entryFileIos: 'src/main', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.appProjectRoot), rootTsConfigPath: (0, js_1.getRelativePathToRootTsConfig)(host, options.appProjectRoot) }));
9
9
  if (options.unitTestRunner === 'none') {
10
10
  host.delete((0, path_1.join)(options.appProjectRoot, `/src/app/App.spec.tsx`));
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create-application-files.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/create-application-files.ts"],"names":[],"mappings":";;;AAAA,yCAAyE;AACzE,yEAAyF;AACzF,+BAA4B;AAG5B,SAAgB,sBAAsB,CAAC,IAAU,EAAE,OAAyB;IAC1E,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,kCACtE,OAAO,KACV,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,cAAc,CAAC,EACtD,gBAAgB,EAAE,IAAA,0CAA6B,EAC7C,IAAI,EACJ,OAAO,CAAC,cAAc,CACvB,IACD,CAAC;IACH,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;QACrC,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;KACpE;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,MAAM,EAAE;QACpC,IAAI,CAAC,MAAM,CACT,IAAA,WAAI,EACF,OAAO,CAAC,kBAAkB,EAC1B,iCAAiC,OAAO,CAAC,aAAa,iBAAiB,CACxE,CACF,CAAC;KACH;IACD,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AAxBD,wDAwBC"}
1
+ {"version":3,"file":"create-application-files.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/create-application-files.ts"],"names":[],"mappings":";;;AAAA,yCAAyE;AACzE,iCAAyD;AACzD,+BAA4B;AAG5B,SAAgB,sBAAsB,CAAC,IAAU,EAAE,OAAyB;IAC1E,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,WAAI,EAAC,SAAS,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,kCACtE,OAAO,KACV,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,IAAA,uBAAc,EAAC,OAAO,CAAC,cAAc,CAAC,EACtD,gBAAgB,EAAE,IAAA,kCAA6B,EAC7C,IAAI,EACJ,OAAO,CAAC,cAAc,CACvB,IACD,CAAC;IACH,IAAI,OAAO,CAAC,cAAc,KAAK,MAAM,EAAE;QACrC,IAAI,CAAC,MAAM,CAAC,IAAA,WAAI,EAAC,OAAO,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC;KACpE;IACD,IAAI,OAAO,CAAC,aAAa,KAAK,MAAM,EAAE;QACpC,IAAI,CAAC,MAAM,CACT,IAAA,WAAI,EACF,OAAO,CAAC,kBAAkB,EAC1B,iCAAiC,OAAO,CAAC,aAAa,iBAAiB,CACxE,CACF,CAAC;KACH;IACD,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AAxBD,wDAwBC"}
@@ -8,7 +8,7 @@ describe('Normalize Options', () => {
8
8
  let appTree: Tree;
9
9
 
10
10
  beforeEach(() => {
11
- appTree = createTreeWithEmptyWorkspace();
11
+ appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
12
12
  });
13
13
 
14
14
  it('should normalize options with name in kebab case', () => {
@@ -12,7 +12,7 @@ function normalizeOptions(host, options) {
12
12
  const projectDirectory = directoryName
13
13
  ? `${directoryName}/${fileName}`
14
14
  : fileName;
15
- const appProjectName = projectDirectory.replace(new RegExp('/', 'g'), '-');
15
+ const appProjectName = projectDirectory.replace(/\//g, '-');
16
16
  const appProjectRoot = (0, devkit_1.joinPathFragments)(appsDir, projectDirectory);
17
17
  const iosProjectRoot = (0, path_1.join)(appProjectRoot, 'ios');
18
18
  const androidProjectRoot = (0, path_1.join)(appProjectRoot, 'android');
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AACtB,+BAA4B;AAc5B,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;IAEf,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS;QACrC,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,gBAAgB,GAAG,aAAa;QACpC,CAAC,CAAC,GAAG,aAAa,IAAI,QAAQ,EAAE;QAChC,CAAC,CAAC,QAAQ,CAAC;IAEb,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAE3E,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IAE9D;;;;;OAKG;IACH,uCACK,OAAO,KACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM,EAChD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,EAC/C,IAAI,EAAE,QAAQ,EACd,SAAS,EACT,aAAa,EAAE,SAAS,CAAC,WAAW,EAAE,EACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS,EAC7C,WAAW,EAAE,cAAc,EAC3B,cAAc;QACd,cAAc;QACd,kBAAkB;QAClB,UAAU;QACV,SAAS,IACT;AACJ,CAAC;AA/CD,4CA+CC"}
1
+ {"version":3,"file":"normalize-options.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/application/lib/normalize-options.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AACtB,+BAA4B;AAc5B,SAAgB,gBAAgB,CAC9B,IAAU,EACV,OAAe;IAEf,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAA,cAAK,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS;QACrC,CAAC,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ;QACnC,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,gBAAgB,GAAG,aAAa;QACpC,CAAC,CAAC,GAAG,aAAa,IAAI,QAAQ,EAAE;QAChC,CAAC,CAAC,QAAQ,CAAC;IAEb,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,IAAA,0BAAiB,EAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACpE,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACnD,MAAM,kBAAkB,GAAG,IAAA,WAAI,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAE3D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI;QAC7B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC;IAE9D;;;;;OAKG;IACH,uCACK,OAAO,KACV,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,MAAM,EAChD,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,OAAO,EAC/C,IAAI,EAAE,QAAQ,EACd,SAAS,EACT,aAAa,EAAE,SAAS,CAAC,WAAW,EAAE,EACtC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,SAAS,EAC7C,WAAW,EAAE,cAAc,EAC3B,cAAc;QACd,cAAc;QACd,kBAAkB;QAClB,UAAU;QACV,SAAS,IACT;AACJ,CAAC;AA/CD,4CA+CC"}
@@ -15,4 +15,5 @@ export interface Schema {
15
15
  setParserOptionsProject?: boolean;
16
16
  e2eTestRunner?: 'detox' | 'none';
17
17
  install: boolean; // default is true
18
+ skipPackageJson?: boolean; //default is false
18
19
  }
@@ -6,11 +6,11 @@
6
6
  "description": "Create a React Application for Nx.",
7
7
  "examples": [
8
8
  {
9
- "command": "nx g app myapp --directory=nested",
9
+ "command": "nx g @nrwl/react-native:app myapp --directory=nested",
10
10
  "description": "Generate `apps/nested/myapp`"
11
11
  },
12
12
  {
13
- "command": "nx g app myapp --classComponent",
13
+ "command": "nx g @nrwl/react-native:app myapp --classComponent",
14
14
  "description": "Use class components instead of functional components"
15
15
  }
16
16
  ],
@@ -31,18 +31,18 @@
31
31
  },
32
32
  "directory": {
33
33
  "description": "The directory of the new application.",
34
- "type": "string",
35
- "alias": "d"
34
+ "type": "string"
36
35
  },
37
36
  "skipFormat": {
38
37
  "description": "Skip formatting files",
39
38
  "type": "boolean",
40
- "default": false
39
+ "default": false,
40
+ "x-priority": "internal"
41
41
  },
42
42
  "linter": {
43
43
  "description": "The tool to use for running lint checks.",
44
44
  "type": "string",
45
- "enum": ["eslint", "tslint"],
45
+ "enum": ["eslint"],
46
46
  "default": "eslint"
47
47
  },
48
48
  "unitTestRunner": {
@@ -75,7 +75,14 @@
75
75
  "install": {
76
76
  "type": "boolean",
77
77
  "description": "Runs `pod install` for native modules before building iOS app.",
78
- "default": true
78
+ "default": true,
79
+ "x-priority": "internal"
80
+ },
81
+ "skipPackageJson": {
82
+ "description": "Do not add dependencies to `package.json`.",
83
+ "type": "boolean",
84
+ "default": false,
85
+ "x-priority": "internal"
79
86
  }
80
87
  },
81
88
  "required": []
@@ -2,10 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.reactNativeComponentSchematic = exports.reactNativeComponentGenerator = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const ts = require("typescript");
6
5
  const devkit_1 = require("@nrwl/devkit");
7
6
  const normalize_options_1 = require("./lib/normalize-options");
8
7
  const add_import_1 = require("./lib/add-import");
8
+ const ensure_typescript_1 = require("@nrwl/js/src/utils/typescript/ensure-typescript");
9
9
  function reactNativeComponentGenerator(host, schema) {
10
10
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
11
  const options = yield (0, normalize_options_1.normalizeOptions)(host, schema);
@@ -31,14 +31,18 @@ function createComponentFiles(host, options) {
31
31
  (0, devkit_1.toJS)(host);
32
32
  }
33
33
  }
34
+ let tsModule;
34
35
  function addExportsToBarrel(host, options) {
36
+ if (!tsModule) {
37
+ tsModule = (0, ensure_typescript_1.ensureTypescript)();
38
+ }
35
39
  const workspace = (0, devkit_1.getProjects)(host);
36
40
  const isApp = workspace.get(options.project).projectType === 'application';
37
41
  if (options.export && !isApp) {
38
42
  const indexFilePath = (0, devkit_1.joinPathFragments)(options.projectSourceRoot, options.js ? 'index.js' : 'index.ts');
39
43
  const indexSource = host.read(indexFilePath, 'utf-8');
40
44
  if (indexSource !== null) {
41
- const indexSourceFile = ts.createSourceFile(indexFilePath, indexSource, ts.ScriptTarget.Latest, true);
45
+ const indexSourceFile = tsModule.createSourceFile(indexFilePath, indexSource, tsModule.ScriptTarget.Latest, true);
42
46
  const changes = (0, devkit_1.applyChangesToString)(indexSource, (0, add_import_1.addImport)(indexSourceFile, `export * from './${options.directory}/${options.fileName}';`));
43
47
  host.write(indexFilePath, changes);
44
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/component/component.ts"],"names":[],"mappings":";;;;AAAA,iCAAiC;AAEjC,yCASsB;AACtB,+DAA6E;AAC7E,iDAA6C;AAE7C,SAAsB,6BAA6B,CACjD,IAAU,EACV,MAAc;;QAEd,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAElC,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAVD,sEAUC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,OAAyB;IACjE,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,SAAS,CAClB,CAAC;IAEF,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,kCACpE,OAAO,KACV,IAAI,EAAE,EAAE,IACR,CAAC;IAEH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAClD,UAAU,GAAG,IAAI,CAAC;SACnB;QAED,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACrB;KACF;IAED,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAU,EAAE,OAAyB;IAC/D,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,aAAa,CAAC;IAE3E,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAA,0BAAiB,EACrC,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,MAAM,eAAe,GAAG,EAAE,CAAC,gBAAgB,CACzC,aAAa,EACb,WAAW,EACX,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,CACL,CAAC;YACF,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAClC,WAAW,EACX,IAAA,sBAAS,EACP,eAAe,EACf,oBAAoB,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,IAAI,CAC9D,CACF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;SACpC;KACF;AACH,CAAC;AAED,kBAAe,6BAA6B,CAAC;AAChC,QAAA,6BAA6B,GAAG,IAAA,2BAAkB,EAC7D,6BAA6B,CAC9B,CAAC"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/component/component.ts"],"names":[],"mappings":";;;;AACA,yCASsB;AACtB,+DAA6E;AAC7E,iDAA6C;AAC7C,uFAAmF;AAEnF,SAAsB,6BAA6B,CACjD,IAAU,EACV,MAAc;;QAEd,MAAM,OAAO,GAAG,MAAM,IAAA,oCAAgB,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACrD,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEpC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAElC,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAVD,sEAUC;AAED,SAAS,oBAAoB,CAAC,IAAU,EAAE,OAAyB;IACjE,MAAM,YAAY,GAAG,IAAA,0BAAiB,EACpC,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,SAAS,CAClB,CAAC;IAEF,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAA,0BAAiB,EAAC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,kCACpE,OAAO,KACV,IAAI,EAAE,EAAE,IACR,CAAC;IAEH,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,IAAI,OAAO,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;YAClD,UAAU,GAAG,IAAI,CAAC;SACnB;QAED,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACrB;KACF;IAED,IAAI,OAAO,CAAC,EAAE,EAAE;QACd,IAAA,aAAI,EAAC,IAAI,CAAC,CAAC;KACZ;AACH,CAAC;AAED,IAAI,QAAqC,CAAC;AAC1C,SAAS,kBAAkB,CAAC,IAAU,EAAE,OAAyB;IAC/D,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,IAAA,oCAAgB,GAAE,CAAC;KAC/B;IACD,MAAM,SAAS,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,aAAa,CAAC;IAE3E,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;QAC5B,MAAM,aAAa,GAAG,IAAA,0BAAiB,EACrC,OAAO,CAAC,iBAAiB,EACzB,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CACrC,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACtD,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAgB,CAC/C,aAAa,EACb,WAAW,EACX,QAAQ,CAAC,YAAY,CAAC,MAAM,EAC5B,IAAI,CACL,CAAC;YACF,MAAM,OAAO,GAAG,IAAA,6BAAoB,EAClC,WAAW,EACX,IAAA,sBAAS,EACP,eAAe,EACf,oBAAoB,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,IAAI,CAC9D,CACF,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;SACpC;KACF;AACH,CAAC;AAED,kBAAe,6BAA6B,CAAC;AAChC,QAAA,6BAA6B,GAAG,IAAA,2BAAkB,EAC7D,6BAA6B,CAC9B,CAAC"}