nativescript 8.9.0-dev.1 → 8.9.0-dev.2

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 (404) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/project.d.ts +26 -0
  190. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  191. package/lib/detached-processes/cleanup-process.js +43 -30
  192. package/lib/detached-processes/file-log-service.js +2 -1
  193. package/lib/device-path-provider.js +35 -23
  194. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  195. package/lib/device-sockets/ios/notification.js +4 -1
  196. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  197. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  198. package/lib/helpers/deploy-command-helper.js +50 -44
  199. package/lib/helpers/key-command-helper.js +17 -6
  200. package/lib/helpers/livesync-command-helper.js +155 -137
  201. package/lib/helpers/network-connectivity-validator.js +18 -6
  202. package/lib/helpers/options-track-helper.js +19 -7
  203. package/lib/helpers/package-path-helper.js +1 -0
  204. package/lib/helpers/platform-command-helper.js +127 -101
  205. package/lib/helpers/version-validator-helper.js +1 -0
  206. package/lib/key-commands/bootstrap.js +3 -2
  207. package/lib/key-commands/index.js +205 -154
  208. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  209. package/lib/nativescript-cli-lib.js +1 -0
  210. package/lib/nativescript-cli.js +24 -6
  211. package/lib/node/pbxproj-dom-xcode.js +1 -0
  212. package/lib/node/xcode.js +1 -0
  213. package/lib/node-package-manager.js +114 -81
  214. package/lib/options.js +156 -122
  215. package/lib/package-installation-manager.js +172 -130
  216. package/lib/package-manager.js +88 -63
  217. package/lib/platform-command-param.js +16 -4
  218. package/lib/pnpm-package-manager.js +81 -59
  219. package/lib/project-data.js +13 -1
  220. package/lib/providers/project-files-provider.js +2 -1
  221. package/lib/resolvers/livesync-service-resolver.js +1 -0
  222. package/lib/services/analytics/analytics-broker-process.js +32 -19
  223. package/lib/services/analytics/analytics-broker.js +31 -17
  224. package/lib/services/analytics/analytics-service.js +210 -170
  225. package/lib/services/analytics/google-analytics-provider.js +59 -43
  226. package/lib/services/analytics-settings-service.js +37 -15
  227. package/lib/services/android/android-bundle-tool-service.js +61 -43
  228. package/lib/services/android/gradle-build-args-service.js +23 -9
  229. package/lib/services/android/gradle-build-service.js +36 -22
  230. package/lib/services/android/gradle-command-service.js +36 -22
  231. package/lib/services/android-device-debug-service.js +123 -90
  232. package/lib/services/android-plugin-build-service.js +260 -205
  233. package/lib/services/android-project-service.js +241 -129
  234. package/lib/services/android-resources-migration-service.js +71 -51
  235. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  236. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  237. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  238. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  239. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  240. package/lib/services/build-artifacts-service.js +22 -10
  241. package/lib/services/build-data-service.js +1 -0
  242. package/lib/services/build-info-file-service.js +36 -20
  243. package/lib/services/cleanup-service.js +81 -48
  244. package/lib/services/cocoapods-platform-manager.js +9 -0
  245. package/lib/services/cocoapods-service.js +153 -112
  246. package/lib/services/debug-data-service.js +1 -0
  247. package/lib/services/debug-service-base.js +7 -0
  248. package/lib/services/device/device-install-app-service.js +72 -54
  249. package/lib/services/doctor-service.js +135 -101
  250. package/lib/services/extensibility-service.js +108 -81
  251. package/lib/services/files-hash-service.js +44 -26
  252. package/lib/services/hmr-status-service.js +3 -1
  253. package/lib/services/info-service.js +1 -0
  254. package/lib/services/initialize-service.js +54 -37
  255. package/lib/services/ios/export-options-plist-service.js +55 -38
  256. package/lib/services/ios/ios-signing-service.js +191 -168
  257. package/lib/services/ios/spm-service.js +70 -46
  258. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  259. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  260. package/lib/services/ios/xcodebuild-service.js +72 -52
  261. package/lib/services/ios-debugger-port-service.js +38 -24
  262. package/lib/services/ios-device-debug-service.js +103 -75
  263. package/lib/services/ios-entitlements-service.js +43 -31
  264. package/lib/services/ios-extensions-service.js +30 -18
  265. package/lib/services/ios-log-filter.js +20 -0
  266. package/lib/services/ios-native-target-service.js +6 -4
  267. package/lib/services/ios-project-service.js +605 -437
  268. package/lib/services/ios-provision-service.js +132 -108
  269. package/lib/services/ios-watch-app-service.js +33 -21
  270. package/lib/services/ip-service.js +55 -38
  271. package/lib/services/itmstransporter-service.js +153 -129
  272. package/lib/services/karma-execution.js +2 -0
  273. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  274. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  275. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  276. package/lib/services/livesync/android-livesync-service.js +36 -14
  277. package/lib/services/livesync/android-livesync-tool.js +117 -90
  278. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  279. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  280. package/lib/services/livesync/ios-livesync-service.js +60 -42
  281. package/lib/services/livesync/livesync-socket.js +1 -0
  282. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  283. package/lib/services/livesync-process-data-service.js +1 -0
  284. package/lib/services/log-parser-service.js +2 -1
  285. package/lib/services/log-source-map-service.js +56 -30
  286. package/lib/services/marking-mode-service.js +33 -17
  287. package/lib/services/metadata-filtering-service.js +1 -0
  288. package/lib/services/npm-config-service.js +5 -1
  289. package/lib/services/pacote-service.js +71 -49
  290. package/lib/services/performance-service.js +4 -2
  291. package/lib/services/platform/add-platform-service.js +119 -51
  292. package/lib/services/platform/platform-validation-service.js +34 -22
  293. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  294. package/lib/services/platform-environment-requirements.js +43 -27
  295. package/lib/services/platform-project-service-base.js +1 -0
  296. package/lib/services/platforms-data-service.js +1 -0
  297. package/lib/services/plugins-service.js +168 -125
  298. package/lib/services/prepare-data-service.js +1 -0
  299. package/lib/services/project-backup-service.js +5 -1
  300. package/lib/services/project-changes-service.js +152 -124
  301. package/lib/services/project-cleanup-service.js +79 -64
  302. package/lib/services/project-config-service.js +111 -73
  303. package/lib/services/project-data-service.js +154 -108
  304. package/lib/services/project-name-service.js +44 -28
  305. package/lib/services/project-service.js +113 -84
  306. package/lib/services/project-templates-service.js +68 -52
  307. package/lib/services/qr-code-terminal-service.js +1 -0
  308. package/lib/services/require-service.js +1 -0
  309. package/lib/services/start-service.js +60 -41
  310. package/lib/services/temp-service.js +22 -8
  311. package/lib/services/terminal-spinner-service.js +28 -15
  312. package/lib/services/test-execution-service.js +79 -59
  313. package/lib/services/test-initialization-service.js +6 -2
  314. package/lib/services/timeline-profiler-service.js +2 -1
  315. package/lib/services/user-settings-service.js +1 -0
  316. package/lib/services/versions-service.js +140 -119
  317. package/lib/services/watch-ignore-list-service.js +1 -0
  318. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  319. package/lib/services/xcconfig-service.js +21 -8
  320. package/lib/services/xcproj-service.js +1 -0
  321. package/lib/shared-event-bus.js +6 -0
  322. package/lib/sys-info.js +63 -45
  323. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  324. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  325. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  326. package/lib/yarn-package-manager.js +79 -59
  327. package/lib/yarn2-package-manager.js +82 -60
  328. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  329. package/node_modules/@npmcli/move-file/README.md +69 -0
  330. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  342. package/node_modules/@npmcli/move-file/package.json +47 -0
  343. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  344. package/node_modules/balanced-match/LICENSE.md +21 -0
  345. package/node_modules/balanced-match/README.md +97 -0
  346. package/node_modules/balanced-match/index.js +62 -0
  347. package/node_modules/balanced-match/package.json +48 -0
  348. package/node_modules/concat-map/.travis.yml +4 -0
  349. package/node_modules/concat-map/LICENSE +18 -0
  350. package/node_modules/concat-map/README.markdown +62 -0
  351. package/node_modules/concat-map/example/map.js +6 -0
  352. package/node_modules/concat-map/index.js +13 -0
  353. package/node_modules/concat-map/package.json +43 -0
  354. package/node_modules/concat-map/test/map.js +39 -0
  355. package/node_modules/fs.realpath/LICENSE +43 -0
  356. package/node_modules/fs.realpath/README.md +33 -0
  357. package/node_modules/fs.realpath/index.js +66 -0
  358. package/node_modules/fs.realpath/old.js +303 -0
  359. package/node_modules/fs.realpath/package.json +26 -0
  360. package/node_modules/inflight/LICENSE +15 -0
  361. package/node_modules/inflight/README.md +37 -0
  362. package/node_modules/inflight/inflight.js +54 -0
  363. package/node_modules/inflight/package.json +29 -0
  364. package/node_modules/inherits/LICENSE +16 -0
  365. package/node_modules/inherits/README.md +42 -0
  366. package/node_modules/inherits/inherits.js +9 -0
  367. package/node_modules/inherits/inherits_browser.js +27 -0
  368. package/node_modules/inherits/package.json +29 -0
  369. package/node_modules/once/LICENSE +15 -0
  370. package/node_modules/once/README.md +79 -0
  371. package/node_modules/once/once.js +42 -0
  372. package/node_modules/once/package.json +33 -0
  373. package/node_modules/path-is-absolute/index.js +20 -0
  374. package/node_modules/path-is-absolute/license +21 -0
  375. package/node_modules/path-is-absolute/package.json +43 -0
  376. package/node_modules/path-is-absolute/readme.md +59 -0
  377. package/node_modules/rimraf/LICENSE +15 -0
  378. package/node_modules/rimraf/README.md +101 -0
  379. package/node_modules/rimraf/bin.js +68 -0
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  385. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  386. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  387. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  388. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  389. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  394. package/node_modules/rimraf/package.json +32 -0
  395. package/node_modules/rimraf/rimraf.js +360 -0
  396. package/node_modules/stringify-package/LICENSE +13 -0
  397. package/node_modules/stringify-package/README.md +55 -0
  398. package/node_modules/stringify-package/index.js +18 -0
  399. package/node_modules/stringify-package/package.json +38 -0
  400. package/node_modules/wrappy/LICENSE +15 -0
  401. package/node_modules/wrappy/README.md +36 -0
  402. package/node_modules/wrappy/package.json +29 -0
  403. package/node_modules/wrappy/wrappy.js +33 -0
  404. package/package.json +79 -64
@@ -5,6 +5,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
+ return new (P || (P = Promise))(function (resolve, reject) {
11
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
15
+ });
16
+ };
8
17
  Object.defineProperty(exports, "__esModule", { value: true });
9
18
  exports.ProjectDataService = void 0;
10
19
  const path = require("path");
@@ -27,12 +36,14 @@ class ProjectDataService {
27
36
  this.$injector = $injector;
28
37
  this.projectDataCache = {};
29
38
  try {
39
+ // add the ProjectData of the default projectDir to the projectData cache
30
40
  const projectData = this.$injector.resolve("projectData");
31
41
  projectData.initializeProjectData();
32
42
  this.defaultProjectDir = projectData.projectDir;
33
43
  this.projectDataCache[this.defaultProjectDir] = projectData;
34
44
  }
35
45
  catch (e) {
46
+ // the CLI is required as a lib from a non-project folder
36
47
  }
37
48
  }
38
49
  get $pluginsService() {
@@ -61,6 +72,8 @@ class ProjectDataService {
61
72
  delete projectFileInfo.projectData[ProjectDataService.DEPENDENCIES_KEY_NAME][dependencyName];
62
73
  this.$fs.writeJson(projectFileInfo.projectFilePath, projectFileInfo.projectData);
63
74
  }
75
+ // TODO: Add tests
76
+ // TODO: Remove $projectData and replace it with $projectDataService.getProjectData
64
77
  getProjectData(projectDir) {
65
78
  projectDir = projectDir || this.defaultProjectDir;
66
79
  this.projectDataCache[projectDir] =
@@ -77,62 +90,73 @@ class ProjectDataService {
77
90
  this.projectDataCache[projectDir].initializeProjectDataFromContent(packageJsonContent, projectDir);
78
91
  return this.projectDataCache[projectDir];
79
92
  }
80
- async getAssetsStructure(opts) {
81
- const iOSAssetStructure = await this.getIOSAssetsStructure(opts);
82
- const androidAssetStructure = await this.getAndroidAssetsStructure(opts);
83
- this.$logger.trace("iOS Assets structure:", JSON.stringify(iOSAssetStructure, null, 2));
84
- this.$logger.trace("Android Assets structure:", JSON.stringify(androidAssetStructure, null, 2));
85
- return {
86
- ios: iOSAssetStructure,
87
- android: androidAssetStructure,
88
- };
93
+ getAssetsStructure(opts) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const iOSAssetStructure = yield this.getIOSAssetsStructure(opts);
96
+ const androidAssetStructure = yield this.getAndroidAssetsStructure(opts);
97
+ this.$logger.trace("iOS Assets structure:", JSON.stringify(iOSAssetStructure, null, 2));
98
+ this.$logger.trace("Android Assets structure:", JSON.stringify(androidAssetStructure, null, 2));
99
+ return {
100
+ ios: iOSAssetStructure,
101
+ android: androidAssetStructure,
102
+ };
103
+ });
89
104
  }
90
- async getIOSAssetsStructure(opts) {
91
- const projectDir = opts.projectDir;
92
- const projectData = this.getProjectData(projectDir);
93
- const basePath = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants_1.AssetConstants.iOSAssetsDirName);
94
- const pathToIcons = path.join(basePath, constants_1.AssetConstants.iOSIconsDirName);
95
- const icons = await this.getIOSAssetSubGroup(pathToIcons);
96
- const pathToSplashBackgrounds = path.join(basePath, constants_1.AssetConstants.iOSSplashBackgroundsDirName);
97
- const splashBackgrounds = await this.getIOSAssetSubGroup(pathToSplashBackgrounds);
98
- const pathToSplashCenterImages = path.join(basePath, constants_1.AssetConstants.iOSSplashCenterImagesDirName);
99
- const splashCenterImages = await this.getIOSAssetSubGroup(pathToSplashCenterImages);
100
- const pathToSplashImages = path.join(basePath, constants_1.AssetConstants.iOSSplashImagesDirName);
101
- const splashImages = await this.getIOSAssetSubGroup(pathToSplashImages);
102
- return {
103
- icons,
104
- splashBackgrounds,
105
- splashCenterImages,
106
- splashImages,
107
- };
105
+ getIOSAssetsStructure(opts) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ const projectDir = opts.projectDir;
108
+ const projectData = this.getProjectData(projectDir);
109
+ const basePath = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants_1.AssetConstants.iOSAssetsDirName);
110
+ const pathToIcons = path.join(basePath, constants_1.AssetConstants.iOSIconsDirName);
111
+ const icons = yield this.getIOSAssetSubGroup(pathToIcons);
112
+ const pathToSplashBackgrounds = path.join(basePath, constants_1.AssetConstants.iOSSplashBackgroundsDirName);
113
+ const splashBackgrounds = yield this.getIOSAssetSubGroup(pathToSplashBackgrounds);
114
+ const pathToSplashCenterImages = path.join(basePath, constants_1.AssetConstants.iOSSplashCenterImagesDirName);
115
+ const splashCenterImages = yield this.getIOSAssetSubGroup(pathToSplashCenterImages);
116
+ const pathToSplashImages = path.join(basePath, constants_1.AssetConstants.iOSSplashImagesDirName);
117
+ const splashImages = yield this.getIOSAssetSubGroup(pathToSplashImages);
118
+ return {
119
+ icons,
120
+ splashBackgrounds,
121
+ splashCenterImages,
122
+ splashImages,
123
+ };
124
+ });
108
125
  }
109
126
  removeNSConfigProperty(projectDir, propertyName) {
110
127
  this.$logger.trace(`Removing "${propertyName}" property from nsconfig.`);
111
128
  this.updateNsConfigValue(projectDir, null, [propertyName]);
112
129
  this.$logger.trace(`"${propertyName}" property successfully removed.`);
113
130
  }
114
- async getAndroidAssetsStructure(opts) {
115
- const projectDir = opts.projectDir;
116
- const projectData = this.getProjectData(projectDir);
117
- const pathToAndroidDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.Android);
118
- const hasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.appResourcesDirectoryPath);
119
- const basePath = hasMigrated
120
- ? path.join(pathToAndroidDir, constants_1.SRC_DIR, constants_1.MAIN_DIR, constants_1.RESOURCES_DIR)
121
- : pathToAndroidDir;
122
- let useLegacy = false;
123
- try {
124
- const manifest = this.$fs.readText(path.resolve(basePath, "../AndroidManifest.xml"));
125
- useLegacy = !manifest.includes(`android:icon="@mipmap/ic_launcher"`);
126
- }
127
- catch (err) {
128
- }
129
- const content = this.getImageDefinitions()[useLegacy ? "android_legacy" : "android"];
130
- return {
131
- icons: this.getAndroidAssetSubGroup(content.icons, basePath),
132
- splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
133
- splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
134
- splashImages: null,
135
- };
131
+ getAndroidAssetsStructure(opts) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ // TODO: Use image-size package to get the width and height of an image.
134
+ // TODO: Parse the splash_screen.xml in nodpi directory and get from it the names of the background and center image.
135
+ // TODO: Parse the AndroidManifest.xml to get the name of the icon.
136
+ // This way we'll not use the image-definitions.json and the method will return the real android structure.
137
+ const projectDir = opts.projectDir;
138
+ const projectData = this.getProjectData(projectDir);
139
+ const pathToAndroidDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.Android);
140
+ const hasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.appResourcesDirectoryPath);
141
+ const basePath = hasMigrated
142
+ ? path.join(pathToAndroidDir, constants_1.SRC_DIR, constants_1.MAIN_DIR, constants_1.RESOURCES_DIR)
143
+ : pathToAndroidDir;
144
+ let useLegacy = false;
145
+ try {
146
+ const manifest = this.$fs.readText(path.resolve(basePath, "../AndroidManifest.xml"));
147
+ useLegacy = !manifest.includes(`android:icon="@mipmap/ic_launcher"`);
148
+ }
149
+ catch (err) {
150
+ // ignore
151
+ }
152
+ const content = this.getImageDefinitions()[useLegacy ? "android_legacy" : "android"];
153
+ return {
154
+ icons: this.getAndroidAssetSubGroup(content.icons, basePath),
155
+ splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
156
+ splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
157
+ splashImages: null,
158
+ };
159
+ });
136
160
  }
137
161
  getAppExecutableFiles(projectDir) {
138
162
  const projectData = this.getProjectData(projectDir);
@@ -148,6 +172,8 @@ class ProjectDataService {
148
172
  }
149
173
  if (fstat.isDirectory()) {
150
174
  if (filePath === pathToProjectNodeModules) {
175
+ // we do not want to get the files from node_modules directory of the project.
176
+ // We'll get here only when you have nativescript.config with appDirectoryPath set to "."
151
177
  return false;
152
178
  }
153
179
  return true;
@@ -162,6 +188,9 @@ class ProjectDataService {
162
188
  }
163
189
  }
164
190
  updateNsConfigValue(projectDir, updateObject, propertiesToRemove) {
191
+ // todo: figure out a way to update js/ts configs
192
+ // most likely needs an ast parser/writer
193
+ // should be delegated to the config service
165
194
  const nsConfigPath = path.join(projectDir, constants.CONFIG_FILE_NAME_JS);
166
195
  const currentNsConfig = this.getNsConfig(nsConfigPath);
167
196
  let newNsConfig = currentNsConfig;
@@ -194,62 +223,70 @@ class ProjectDataService {
194
223
  const imageDefinitions = this.$fs.readJson(pathToImageDefinitions);
195
224
  return imageDefinitions;
196
225
  }
197
- async getIOSAssetSubGroup(dirPath) {
198
- const pathToContentJson = path.join(dirPath, constants_1.AssetConstants.iOSResourcesFileName);
199
- const content = (this.$fs.exists(pathToContentJson) &&
200
- this.$fs.readJson(pathToContentJson)) || { images: [] };
201
- const finalContent = { images: [] };
202
- const imageDefinitions = this.getImageDefinitions().ios;
203
- _.each(content && content.images, (image) => {
204
- let foundMatchingDefinition = false;
205
- if (image.filename) {
206
- image.path = path.join(dirPath, image.filename);
207
- }
208
- if (image.size) {
209
- const [width, height] = image.size
210
- .toString()
211
- .split(constants_1.AssetConstants.sizeDelimiter);
212
- if (width && height) {
213
- image.width = +width;
214
- image.height = +height;
226
+ getIOSAssetSubGroup(dirPath) {
227
+ return __awaiter(this, void 0, void 0, function* () {
228
+ const pathToContentJson = path.join(dirPath, constants_1.AssetConstants.iOSResourcesFileName);
229
+ const content = (this.$fs.exists(pathToContentJson) &&
230
+ this.$fs.readJson(pathToContentJson)) || { images: [] };
231
+ const finalContent = { images: [] };
232
+ const imageDefinitions = this.getImageDefinitions().ios;
233
+ _.each(content && content.images, (image) => {
234
+ let foundMatchingDefinition = false;
235
+ // In some cases the image may not be available, it will just be described.
236
+ // When this happens, the filename will be empty.
237
+ // So we'll keep the path empty as well.
238
+ if (image.filename) {
239
+ image.path = path.join(dirPath, image.filename);
215
240
  }
216
- }
217
- _.each(imageDefinitions, (assetSubGroup) => {
218
- const assetItem = _.find(assetSubGroup, (assetElement) => assetElement.filename === image.filename &&
219
- path.basename(assetElement.directory) === path.basename(dirPath));
220
- if (assetItem) {
221
- foundMatchingDefinition = true;
222
- if (!image.width || !image.height) {
223
- image.width = assetItem.width;
224
- image.height = assetItem.height;
225
- image.size =
226
- image.size ||
227
- `${assetItem.width}${constants_1.AssetConstants.sizeDelimiter}${assetItem.height}`;
241
+ if (image.size) {
242
+ // size is basically <width>x<height>
243
+ const [width, height] = image.size
244
+ .toString()
245
+ .split(constants_1.AssetConstants.sizeDelimiter);
246
+ if (width && height) {
247
+ image.width = +width;
248
+ image.height = +height;
228
249
  }
229
- image.resizeOperation =
230
- image.resizeOperation || assetItem.resizeOperation;
231
- image.overlayImageScale =
232
- image.overlayImageScale || assetItem.overlayImageScale;
233
- image.scale = image.scale || assetItem.scale;
234
- image.rgba = assetItem.rgba;
235
- finalContent.images.push(image);
236
- return false;
237
- }
238
- });
239
- if (!foundMatchingDefinition) {
240
- if (image.height && image.width) {
241
- this.$logger.trace("Missing data for image", image, " in CLI's resource file, but we will try to generate images based on the size from Contents.json");
242
- finalContent.images.push(image);
243
250
  }
244
- else if (image.filename) {
245
- this.$logger.warn(`Didn't find a matching image definition for file ${path.join(path.basename(dirPath), image.filename)}. This file will be skipped from resources generation.`);
246
- }
247
- else {
248
- this.$logger.trace(`Unable to detect data for image generation of image`, image);
251
+ // Find the image size based on the hardcoded values in the image-definitions.json
252
+ _.each(imageDefinitions, (assetSubGroup) => {
253
+ const assetItem = _.find(assetSubGroup, (assetElement) => assetElement.filename === image.filename &&
254
+ path.basename(assetElement.directory) === path.basename(dirPath));
255
+ if (assetItem) {
256
+ foundMatchingDefinition = true;
257
+ if (!image.width || !image.height) {
258
+ image.width = assetItem.width;
259
+ image.height = assetItem.height;
260
+ image.size =
261
+ image.size ||
262
+ `${assetItem.width}${constants_1.AssetConstants.sizeDelimiter}${assetItem.height}`;
263
+ }
264
+ image.resizeOperation =
265
+ image.resizeOperation || assetItem.resizeOperation;
266
+ image.overlayImageScale =
267
+ image.overlayImageScale || assetItem.overlayImageScale;
268
+ image.scale = image.scale || assetItem.scale;
269
+ image.rgba = assetItem.rgba;
270
+ finalContent.images.push(image);
271
+ // break each
272
+ return false;
273
+ }
274
+ });
275
+ if (!foundMatchingDefinition) {
276
+ if (image.height && image.width) {
277
+ this.$logger.trace("Missing data for image", image, " in CLI's resource file, but we will try to generate images based on the size from Contents.json");
278
+ finalContent.images.push(image);
279
+ }
280
+ else if (image.filename) {
281
+ this.$logger.warn(`Didn't find a matching image definition for file ${path.join(path.basename(dirPath), image.filename)}. This file will be skipped from resources generation.`);
282
+ }
283
+ else {
284
+ this.$logger.trace(`Unable to detect data for image generation of image`, image);
285
+ }
249
286
  }
250
- }
287
+ });
288
+ return finalContent;
251
289
  });
252
- return finalContent;
253
290
  }
254
291
  getAndroidAssetSubGroup(assetItems, basePath) {
255
292
  const assetSubGroup = {
@@ -335,13 +372,16 @@ class ProjectDataService {
335
372
  getRuntimePackage(projectDir, platform) {
336
373
  platform = platform.toLowerCase();
337
374
  const packageJson = this.$fs.readJson(path.join(projectDir, constants.PACKAGE_JSON_FILE_NAME));
338
- const runtimeName = platform === "android"
375
+ const runtimeName = platform === "android" /* PlatformTypes.android */
339
376
  ? constants.TNS_ANDROID_RUNTIME_NAME
340
377
  : constants.TNS_IOS_RUNTIME_NAME;
341
378
  if (packageJson &&
342
379
  packageJson.nativescript &&
343
380
  packageJson.nativescript[runtimeName] &&
344
381
  packageJson.nativescript[runtimeName].version) {
382
+ // if we have a nativescript key with a runtime version in package.json
383
+ // that means we are dealing with a legacy project, and should respect
384
+ // that information
345
385
  return {
346
386
  name: runtimeName,
347
387
  version: packageJson.nativescript[runtimeName].version,
@@ -353,19 +393,19 @@ class ProjectDataService {
353
393
  const runtimePackage = this.$pluginsService
354
394
  .getDependenciesFromPackageJson(projectDir)
355
395
  .devDependencies.find((d) => {
356
- if (platform === "ios") {
396
+ if (platform === "ios" /* constants.PlatformTypes.ios */) {
357
397
  return [
358
398
  constants.SCOPED_IOS_RUNTIME_NAME,
359
399
  constants.TNS_IOS_RUNTIME_NAME,
360
400
  ].includes(d.name);
361
401
  }
362
- else if (platform === "android") {
402
+ else if (platform === "android" /* constants.PlatformTypes.android */) {
363
403
  return [
364
404
  constants.SCOPED_ANDROID_RUNTIME_NAME,
365
405
  constants.TNS_ANDROID_RUNTIME_NAME,
366
406
  ].includes(d.name);
367
407
  }
368
- else if (platform === "visionos") {
408
+ else if (platform === "visionos" /* constants.PlatformTypes.visionos */) {
369
409
  return d.name === constants.SCOPED_VISIONOS_RUNTIME_NAME;
370
410
  }
371
411
  });
@@ -373,12 +413,14 @@ class ProjectDataService {
373
413
  const coerced = semver.coerce(runtimePackage.version);
374
414
  const isRange = !!coerced && coerced.version !== runtimePackage.version;
375
415
  const isTag = !coerced;
416
+ // in case we are using a local tgz for the runtime or a range like ~8.0.0, ^8.0.0 etc. or a tag like JSC
376
417
  if (runtimePackage.version.includes("tgz") || isRange || isTag) {
377
418
  try {
378
419
  const runtimePackageJsonPath = (0, package_path_helper_1.resolvePackageJSONPath)(runtimePackage.name, {
379
420
  paths: [projectDir],
380
421
  });
381
422
  if (!runtimePackageJsonPath) {
423
+ // caught below
382
424
  throw new Error("Runtime package.json not found.");
383
425
  }
384
426
  runtimePackage.version = this.$fs.readJson(runtimePackageJsonPath).version;
@@ -395,20 +437,21 @@ class ProjectDataService {
395
437
  }
396
438
  return runtimePackage;
397
439
  }
440
+ // default to the scoped runtimes
398
441
  this.$logger.trace("Could not find an installed runtime, falling back to default runtimes");
399
- if (platform === "ios") {
442
+ if (platform === "ios" /* constants.PlatformTypes.ios */) {
400
443
  return {
401
444
  name: constants.SCOPED_IOS_RUNTIME_NAME,
402
445
  version: null,
403
446
  };
404
447
  }
405
- else if (platform === "android") {
448
+ else if (platform === "android" /* constants.PlatformTypes.android */) {
406
449
  return {
407
450
  name: constants.SCOPED_ANDROID_RUNTIME_NAME,
408
451
  version: null,
409
452
  };
410
453
  }
411
- else if (platform === "visionos") {
454
+ else if (platform === "visionos" /* constants.PlatformTypes.visionos */) {
412
455
  return {
413
456
  name: constants.SCOPED_VISIONOS_RUNTIME_NAME,
414
457
  version: null,
@@ -420,7 +463,6 @@ class ProjectDataService {
420
463
  return JSON.stringify(config);
421
464
  }
422
465
  }
423
- exports.ProjectDataService = ProjectDataService;
424
466
  ProjectDataService.DEPENDENCIES_KEY_NAME = "dependencies";
425
467
  __decorate([
426
468
  (0, decorators_1.exported)("projectDataService")
@@ -443,9 +485,11 @@ __decorate([
443
485
  return projectDir + ":" + platform;
444
486
  },
445
487
  shouldCache(result) {
488
+ // don't cache coerced versions
446
489
  if (result._coerced) {
447
490
  return false;
448
491
  }
492
+ // only cache if version is defined
449
493
  return !!result.version;
450
494
  },
451
495
  })
@@ -453,4 +497,6 @@ __decorate([
453
497
  __decorate([
454
498
  (0, decorators_1.exported)("projectDataService")
455
499
  ], ProjectDataService.prototype, "getNsConfigDefaultContent", null);
500
+ exports.ProjectDataService = ProjectDataService;
456
501
  yok_1.injector.register("projectDataService", ProjectDataService);
502
+ //# sourceMappingURL=project-data-service.js.map
@@ -1,4 +1,13 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
2
11
  Object.defineProperty(exports, "__esModule", { value: true });
3
12
  exports.ProjectNameService = void 0;
4
13
  const helpers_1 = require("../common/helpers");
@@ -10,43 +19,50 @@ class ProjectNameService {
10
19
  this.$logger = $logger;
11
20
  this.$prompter = $prompter;
12
21
  }
13
- async ensureValidName(projectName, validateOptions) {
14
- if (validateOptions && validateOptions.force) {
15
- return projectName;
16
- }
17
- if (!this.$projectNameValidator.validate(projectName)) {
18
- return await this.promptForNewName("The project name is invalid.", projectName, validateOptions);
19
- }
20
- const userCanInteract = (0, helpers_1.isInteractive)();
21
- if (!this.checkIfNameStartsWithLetter(projectName)) {
22
- if (!userCanInteract) {
23
- this.$errors.fail("The project name does not start with letter and will fail to build for Android. If You want to create project with this name add --force to the create command.");
22
+ ensureValidName(projectName, validateOptions) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ if (validateOptions && validateOptions.force) {
25
+ return projectName;
26
+ }
27
+ if (!this.$projectNameValidator.validate(projectName)) {
28
+ return yield this.promptForNewName("The project name is invalid.", projectName, validateOptions);
29
+ }
30
+ const userCanInteract = (0, helpers_1.isInteractive)();
31
+ if (!this.checkIfNameStartsWithLetter(projectName)) {
32
+ if (!userCanInteract) {
33
+ this.$errors.fail("The project name does not start with letter and will fail to build for Android. If You want to create project with this name add --force to the create command.");
34
+ }
35
+ return yield this.promptForNewName("The project name does not start with letter and will fail to build for Android.", projectName, validateOptions);
24
36
  }
25
- return await this.promptForNewName("The project name does not start with letter and will fail to build for Android.", projectName, validateOptions);
26
- }
27
- if (projectName.toUpperCase() === "APP") {
28
- if (!userCanInteract) {
29
- this.$errors.fail("You cannot build applications named 'app' in Xcode. Consider creating a project with different name. If You want to create project with this name add --force to the create command.");
37
+ if (projectName.toUpperCase() === "APP") {
38
+ if (!userCanInteract) {
39
+ this.$errors.fail("You cannot build applications named 'app' in Xcode. Consider creating a project with different name. If You want to create project with this name add --force to the create command.");
40
+ }
41
+ return yield this.promptForNewName("You cannot build applications named 'app' in Xcode. Consider creating a project with different name.", projectName, validateOptions);
30
42
  }
31
- return await this.promptForNewName("You cannot build applications named 'app' in Xcode. Consider creating a project with different name.", projectName, validateOptions);
32
- }
33
- return projectName;
43
+ return projectName;
44
+ });
34
45
  }
35
46
  checkIfNameStartsWithLetter(projectName) {
36
47
  const startsWithLetterExpression = /^[a-zA-Z]/;
37
48
  return startsWithLetterExpression.test(projectName);
38
49
  }
39
- async promptForNewName(warningMessage, projectName, validateOptions) {
40
- if (await this.promptForForceNameConfirm(warningMessage)) {
41
- return projectName;
42
- }
43
- const newProjectName = await this.$prompter.getString("Enter the new project name:");
44
- return await this.ensureValidName(newProjectName, validateOptions);
50
+ promptForNewName(warningMessage, projectName, validateOptions) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (yield this.promptForForceNameConfirm(warningMessage)) {
53
+ return projectName;
54
+ }
55
+ const newProjectName = yield this.$prompter.getString("Enter the new project name:");
56
+ return yield this.ensureValidName(newProjectName, validateOptions);
57
+ });
45
58
  }
46
- async promptForForceNameConfirm(warningMessage) {
47
- this.$logger.warn(warningMessage);
48
- return await this.$prompter.confirm("Do you want to create the project with this name?");
59
+ promptForForceNameConfirm(warningMessage) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ this.$logger.warn(warningMessage);
62
+ return yield this.$prompter.confirm("Do you want to create the project with this name?");
63
+ });
49
64
  }
50
65
  }
51
66
  exports.ProjectNameService = ProjectNameService;
52
67
  yok_1.injector.register("projectNameService", ProjectNameService);
68
+ //# sourceMappingURL=project-name-service.js.map