nativescript 8.9.0-dev.2 → 8.9.0-dev.4

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 (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -5,15 +5,6 @@ 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
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.ProjectConfigService = void 0;
19
10
  const constants = require("../constants");
@@ -160,65 +151,66 @@ export default {
160
151
  getValue(key, defaultValue) {
161
152
  return _.get(this.readConfig(), key, defaultValue);
162
153
  }
163
- setValue(key, value) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- const { hasTSConfig, hasNSConfig, TSConfigPath, JSConfigPath, usingNSConfig, NSConfigPath, } = this.detectProjectConfigs();
166
- const configFilePath = TSConfigPath || JSConfigPath;
167
- if (this.forceUsingLegacyConfig ||
168
- (usingNSConfig && !this.forceUsingNewConfig)) {
169
- try {
170
- this.$logger.trace("Project Config Service -> setValue writing to legacy config.");
171
- const NSConfig = hasNSConfig ? this.$fs.readJson(NSConfigPath) : {};
172
- _.set(NSConfig, key, value);
173
- this.$fs.writeJson(NSConfigPath, NSConfig);
174
- return true;
175
- }
176
- catch (error) {
177
- this.$logger.trace(`Failed to setValue on legacy config. Error is ${error.message}`, error);
178
- return false;
179
- }
180
- }
181
- if (!this.$fs.exists(configFilePath)) {
182
- this.writeDefaultConfig(this.projectHelper.projectDir);
183
- }
184
- if (!Array.isArray(value) && typeof value === "object") {
185
- let allSuccessful = true;
186
- for (const prop of this.flattenObjectToPaths(value)) {
187
- if (!(yield this.setValue(prop.key, prop.value))) {
188
- allSuccessful = false;
189
- }
190
- }
191
- return allSuccessful;
192
- }
193
- const configContent = this.$fs.readText(configFilePath);
154
+ async setValue(key, value) {
155
+ const { hasTSConfig, hasNSConfig, TSConfigPath, JSConfigPath, usingNSConfig, NSConfigPath, } = this.detectProjectConfigs();
156
+ const configFilePath = TSConfigPath || JSConfigPath;
157
+ if (this.forceUsingLegacyConfig ||
158
+ (usingNSConfig && !this.forceUsingNewConfig)) {
194
159
  try {
195
- const transformer = new config_transformer_1.ConfigTransformer(configContent);
196
- const newContent = transformer.setValue(key, value);
197
- const prettierOptions = (yield (0, prettier_1.resolveConfig)(this.projectHelper.projectDir, { editorconfig: true })) || {
198
- semi: false,
199
- singleQuote: true,
200
- };
201
- this.$logger.trace("updating config, prettier options: ", prettierOptions);
202
- this.$fs.writeFile(configFilePath, (0, prettier_1.format)(newContent, Object.assign(Object.assign({}, prettierOptions), { parser: "typescript",
203
- // note: we don't use plugins here, since we are only formatting ts files, and they are supported by default
204
- // and this also causes issues with certain plugins, like prettier-plugin-tailwindcss.
205
- plugins: [] })));
160
+ this.$logger.trace("Project Config Service -> setValue writing to legacy config.");
161
+ const NSConfig = hasNSConfig ? this.$fs.readJson(NSConfigPath) : {};
162
+ _.set(NSConfig, key, value);
163
+ this.$fs.writeJson(NSConfigPath, NSConfig);
164
+ return true;
206
165
  }
207
166
  catch (error) {
208
- this.$logger.error(`Failed to update config.` + error);
167
+ this.$logger.trace(`Failed to setValue on legacy config. Error is ${error.message}`, error);
168
+ return false;
209
169
  }
210
- finally {
211
- // verify config is updated correctly
212
- if (!Array.isArray(this.getValue(key)) && this.getValue(key) !== value) {
213
- this.$logger.error(`${os_1.EOL}Failed to update ${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}.${os_1.EOL}`);
214
- this.$logger.printMarkdown(`Please manually update \`${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}\` and set \`${key}\` to \`${value}\`.${os_1.EOL}`);
215
- // restore original content
216
- this.$fs.writeFile(configFilePath, configContent);
217
- return false;
170
+ }
171
+ if (!this.$fs.exists(configFilePath)) {
172
+ this.writeDefaultConfig(this.projectHelper.projectDir);
173
+ }
174
+ if (!Array.isArray(value) && typeof value === "object") {
175
+ let allSuccessful = true;
176
+ for (const prop of this.flattenObjectToPaths(value)) {
177
+ if (!(await this.setValue(prop.key, prop.value))) {
178
+ allSuccessful = false;
218
179
  }
219
- return true;
220
180
  }
221
- });
181
+ return allSuccessful;
182
+ }
183
+ const configContent = this.$fs.readText(configFilePath);
184
+ try {
185
+ const transformer = new config_transformer_1.ConfigTransformer(configContent);
186
+ const newContent = transformer.setValue(key, value);
187
+ const prettierOptions = (await (0, prettier_1.resolveConfig)(this.projectHelper.projectDir, { editorconfig: true })) || {
188
+ semi: false,
189
+ singleQuote: true,
190
+ };
191
+ this.$logger.trace("updating config, prettier options: ", prettierOptions);
192
+ this.$fs.writeFile(configFilePath, await (0, prettier_1.format)(newContent, {
193
+ ...prettierOptions,
194
+ parser: "typescript",
195
+ // note: we don't use plugins here, since we are only formatting ts files, and they are supported by default
196
+ // and this also causes issues with certain plugins, like prettier-plugin-tailwindcss.
197
+ plugins: [],
198
+ }));
199
+ }
200
+ catch (error) {
201
+ this.$logger.error(`Failed to update config.` + error);
202
+ }
203
+ finally {
204
+ // verify config is updated correctly
205
+ if (!Array.isArray(this.getValue(key)) && this.getValue(key) !== value) {
206
+ this.$logger.error(`${os_1.EOL}Failed to update ${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}.${os_1.EOL}`);
207
+ this.$logger.printMarkdown(`Please manually update \`${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}\` and set \`${key}\` to \`${value}\`.${os_1.EOL}`);
208
+ // restore original content
209
+ this.$fs.writeFile(configFilePath, configContent);
210
+ return false;
211
+ }
212
+ return true;
213
+ }
222
214
  }
223
215
  writeDefaultConfig(projectDir, appId) {
224
216
  const TSConfigPath = path.resolve(projectDir, constants_1.CONFIG_FILE_NAME_TS);
@@ -291,35 +283,33 @@ export default {
291
283
  return _.defaultsDeep({}, ...additionalData, NSConfig);
292
284
  // return Object.assign({}, ...additionalData, NSConfig);
293
285
  }
294
- writeLegacyNSConfigIfNeeded(projectDir, runtimePackage) {
295
- return __awaiter(this, void 0, void 0, function* () {
296
- const { usingNSConfig } = this.detectProjectConfigs(projectDir);
297
- if (usingNSConfig) {
298
- return;
299
- }
300
- if (runtimePackage.version &&
301
- semver.gte(semver.coerce(runtimePackage.version), "7.0.0-rc.5")) {
302
- // runtimes >= 7.0.0-rc.5 support passing appPath and appResourcesPath through gradle project flags
303
- // so writing an nsconfig is not necessary.
304
- return;
305
- }
306
- const runtimePackageDisplay = `${runtimePackage.name}${runtimePackage.version ? " v" + runtimePackage.version : ""}`;
307
- this.$logger.info();
308
- this.$logger.printMarkdown(`
286
+ async writeLegacyNSConfigIfNeeded(projectDir, runtimePackage) {
287
+ const { usingNSConfig } = this.detectProjectConfigs(projectDir);
288
+ if (usingNSConfig) {
289
+ return;
290
+ }
291
+ if (runtimePackage.version &&
292
+ semver.gte(semver.coerce(runtimePackage.version), "7.0.0-rc.5")) {
293
+ // runtimes >= 7.0.0-rc.5 support passing appPath and appResourcesPath through gradle project flags
294
+ // so writing an nsconfig is not necessary.
295
+ return;
296
+ }
297
+ const runtimePackageDisplay = `${runtimePackage.name}${runtimePackage.version ? " v" + runtimePackage.version : ""}`;
298
+ this.$logger.info();
299
+ this.$logger.printMarkdown(`
309
300
  Using __${runtimePackageDisplay}__ which requires \`nsconfig.json\` to be present.
310
301
  Writing \`nsconfig.json\` based on the values set in \`${constants_1.CONFIG_FILE_NAME_DISPLAY}\`.
311
302
  You may add \`nsconfig.json\` to \`.gitignore\` as the CLI will regenerate it as necessary.`);
312
- const nsConfigPath = path.join(projectDir || this.projectHelper.projectDir, "nsconfig.json");
313
- this.$fs.writeJson(nsConfigPath, {
314
- _info1: `Auto Generated for backwards compatibility with the currently used runtime.`,
315
- _info2: `Do not edit this file manually, as any changes will be ignored.`,
316
- _info3: `Config changes should be done in ${constants_1.CONFIG_FILE_NAME_DISPLAY} instead.`,
317
- appPath: this.getValue("appPath"),
318
- appResourcesPath: this.getValue("appResourcesPath"),
319
- });
320
- // mark the file for cleanup after the CLI exits
321
- yield this.$cleanupService.addCleanupDeleteAction(nsConfigPath);
303
+ const nsConfigPath = path.join(projectDir || this.projectHelper.projectDir, "nsconfig.json");
304
+ this.$fs.writeJson(nsConfigPath, {
305
+ _info1: `Auto Generated for backwards compatibility with the currently used runtime.`,
306
+ _info2: `Do not edit this file manually, as any changes will be ignored.`,
307
+ _info3: `Config changes should be done in ${constants_1.CONFIG_FILE_NAME_DISPLAY} instead.`,
308
+ appPath: this.getValue("appPath"),
309
+ appResourcesPath: this.getValue("appResourcesPath"),
322
310
  });
311
+ // mark the file for cleanup after the CLI exits
312
+ await this.$cleanupService.addCleanupDeleteAction(nsConfigPath);
323
313
  }
324
314
  // todo: move into config manipulation
325
315
  flattenObjectToPaths(obj, basePath) {
@@ -347,6 +337,7 @@ You may add \`nsconfig.json\` to \`.gitignore\` as the CLI will regenerate it as
347
337
  }, []);
348
338
  }
349
339
  }
340
+ exports.ProjectConfigService = ProjectConfigService;
350
341
  __decorate([
351
342
  (0, decorators_1.cache)() // @cache should prevent the message being printed multiple times
352
343
  ], ProjectConfigService.prototype, "warnUsingLegacyNSConfig", null);
@@ -359,6 +350,5 @@ __decorate([
359
350
  __decorate([
360
351
  (0, decorators_1.exported)("projectConfigService")
361
352
  ], ProjectConfigService.prototype, "setValue", null);
362
- exports.ProjectConfigService = ProjectConfigService;
363
353
  yok_1.injector.register("projectConfigService", ProjectConfigService);
364
354
  //# sourceMappingURL=project-config-service.js.map
@@ -5,15 +5,6 @@ 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
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.ProjectDataService = void 0;
19
10
  const path = require("path");
@@ -90,73 +81,67 @@ class ProjectDataService {
90
81
  this.projectDataCache[projectDir].initializeProjectDataFromContent(packageJsonContent, projectDir);
91
82
  return this.projectDataCache[projectDir];
92
83
  }
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
- });
84
+ async getAssetsStructure(opts) {
85
+ const iOSAssetStructure = await this.getIOSAssetsStructure(opts);
86
+ const androidAssetStructure = await this.getAndroidAssetsStructure(opts);
87
+ this.$logger.trace("iOS Assets structure:", JSON.stringify(iOSAssetStructure, null, 2));
88
+ this.$logger.trace("Android Assets structure:", JSON.stringify(androidAssetStructure, null, 2));
89
+ return {
90
+ ios: iOSAssetStructure,
91
+ android: androidAssetStructure,
92
+ };
104
93
  }
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
- });
94
+ async getIOSAssetsStructure(opts) {
95
+ const projectDir = opts.projectDir;
96
+ const projectData = this.getProjectData(projectDir);
97
+ const basePath = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants_1.AssetConstants.iOSAssetsDirName);
98
+ const pathToIcons = path.join(basePath, constants_1.AssetConstants.iOSIconsDirName);
99
+ const icons = await this.getIOSAssetSubGroup(pathToIcons);
100
+ const pathToSplashBackgrounds = path.join(basePath, constants_1.AssetConstants.iOSSplashBackgroundsDirName);
101
+ const splashBackgrounds = await this.getIOSAssetSubGroup(pathToSplashBackgrounds);
102
+ const pathToSplashCenterImages = path.join(basePath, constants_1.AssetConstants.iOSSplashCenterImagesDirName);
103
+ const splashCenterImages = await this.getIOSAssetSubGroup(pathToSplashCenterImages);
104
+ const pathToSplashImages = path.join(basePath, constants_1.AssetConstants.iOSSplashImagesDirName);
105
+ const splashImages = await this.getIOSAssetSubGroup(pathToSplashImages);
106
+ return {
107
+ icons,
108
+ splashBackgrounds,
109
+ splashCenterImages,
110
+ splashImages,
111
+ };
125
112
  }
126
113
  removeNSConfigProperty(projectDir, propertyName) {
127
114
  this.$logger.trace(`Removing "${propertyName}" property from nsconfig.`);
128
115
  this.updateNsConfigValue(projectDir, null, [propertyName]);
129
116
  this.$logger.trace(`"${propertyName}" property successfully removed.`);
130
117
  }
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
- });
118
+ async getAndroidAssetsStructure(opts) {
119
+ // TODO: Use image-size package to get the width and height of an image.
120
+ // TODO: Parse the splash_screen.xml in nodpi directory and get from it the names of the background and center image.
121
+ // TODO: Parse the AndroidManifest.xml to get the name of the icon.
122
+ // This way we'll not use the image-definitions.json and the method will return the real android structure.
123
+ const projectDir = opts.projectDir;
124
+ const projectData = this.getProjectData(projectDir);
125
+ const pathToAndroidDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.Android);
126
+ const hasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.appResourcesDirectoryPath);
127
+ const basePath = hasMigrated
128
+ ? path.join(pathToAndroidDir, constants_1.SRC_DIR, constants_1.MAIN_DIR, constants_1.RESOURCES_DIR)
129
+ : pathToAndroidDir;
130
+ let useLegacy = false;
131
+ try {
132
+ const manifest = this.$fs.readText(path.resolve(basePath, "../AndroidManifest.xml"));
133
+ useLegacy = !manifest.includes(`android:icon="@mipmap/ic_launcher"`);
134
+ }
135
+ catch (err) {
136
+ // ignore
137
+ }
138
+ const content = this.getImageDefinitions()[useLegacy ? "android_legacy" : "android"];
139
+ return {
140
+ icons: this.getAndroidAssetSubGroup(content.icons, basePath),
141
+ splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
142
+ splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
143
+ splashImages: null,
144
+ };
160
145
  }
161
146
  getAppExecutableFiles(projectDir) {
162
147
  const projectData = this.getProjectData(projectDir);
@@ -223,70 +208,68 @@ class ProjectDataService {
223
208
  const imageDefinitions = this.$fs.readJson(pathToImageDefinitions);
224
209
  return imageDefinitions;
225
210
  }
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);
240
- }
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;
249
- }
211
+ async getIOSAssetSubGroup(dirPath) {
212
+ const pathToContentJson = path.join(dirPath, constants_1.AssetConstants.iOSResourcesFileName);
213
+ const content = (this.$fs.exists(pathToContentJson) &&
214
+ this.$fs.readJson(pathToContentJson)) || { images: [] };
215
+ const finalContent = { images: [] };
216
+ const imageDefinitions = this.getImageDefinitions().ios;
217
+ _.each(content && content.images, (image) => {
218
+ let foundMatchingDefinition = false;
219
+ // In some cases the image may not be available, it will just be described.
220
+ // When this happens, the filename will be empty.
221
+ // So we'll keep the path empty as well.
222
+ if (image.filename) {
223
+ image.path = path.join(dirPath, image.filename);
224
+ }
225
+ if (image.size) {
226
+ // size is basically <width>x<height>
227
+ const [width, height] = image.size
228
+ .toString()
229
+ .split(constants_1.AssetConstants.sizeDelimiter);
230
+ if (width && height) {
231
+ image.width = +width;
232
+ image.height = +height;
250
233
  }
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);
234
+ }
235
+ // Find the image size based on the hardcoded values in the image-definitions.json
236
+ _.each(imageDefinitions, (assetSubGroup) => {
237
+ const assetItem = _.find(assetSubGroup, (assetElement) => assetElement.filename === image.filename &&
238
+ path.basename(assetElement.directory) === path.basename(dirPath));
239
+ if (assetItem) {
240
+ foundMatchingDefinition = true;
241
+ if (!image.width || !image.height) {
242
+ image.width = assetItem.width;
243
+ image.height = assetItem.height;
244
+ image.size =
245
+ image.size ||
246
+ `${assetItem.width}${constants_1.AssetConstants.sizeDelimiter}${assetItem.height}`;
285
247
  }
248
+ image.resizeOperation =
249
+ image.resizeOperation || assetItem.resizeOperation;
250
+ image.overlayImageScale =
251
+ image.overlayImageScale || assetItem.overlayImageScale;
252
+ image.scale = image.scale || assetItem.scale;
253
+ image.rgba = assetItem.rgba;
254
+ finalContent.images.push(image);
255
+ // break each
256
+ return false;
286
257
  }
287
258
  });
288
- return finalContent;
259
+ if (!foundMatchingDefinition) {
260
+ if (image.height && image.width) {
261
+ 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");
262
+ finalContent.images.push(image);
263
+ }
264
+ else if (image.filename) {
265
+ 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.`);
266
+ }
267
+ else {
268
+ this.$logger.trace(`Unable to detect data for image generation of image`, image);
269
+ }
270
+ }
289
271
  });
272
+ return finalContent;
290
273
  }
291
274
  getAndroidAssetSubGroup(assetItems, basePath) {
292
275
  const assetSubGroup = {
@@ -463,6 +446,7 @@ class ProjectDataService {
463
446
  return JSON.stringify(config);
464
447
  }
465
448
  }
449
+ exports.ProjectDataService = ProjectDataService;
466
450
  ProjectDataService.DEPENDENCIES_KEY_NAME = "dependencies";
467
451
  __decorate([
468
452
  (0, decorators_1.exported)("projectDataService")
@@ -497,6 +481,5 @@ __decorate([
497
481
  __decorate([
498
482
  (0, decorators_1.exported)("projectDataService")
499
483
  ], ProjectDataService.prototype, "getNsConfigDefaultContent", null);
500
- exports.ProjectDataService = ProjectDataService;
501
484
  yok_1.injector.register("projectDataService", ProjectDataService);
502
485
  //# sourceMappingURL=project-data-service.js.map
@@ -1,13 +1,4 @@
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
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.ProjectNameService = void 0;
13
4
  const helpers_1 = require("../common/helpers");
@@ -19,48 +10,42 @@ class ProjectNameService {
19
10
  this.$logger = $logger;
20
11
  this.$prompter = $prompter;
21
12
  }
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);
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.");
36
24
  }
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);
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.");
42
30
  }
43
- return projectName;
44
- });
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;
45
34
  }
46
35
  checkIfNameStartsWithLetter(projectName) {
47
36
  const startsWithLetterExpression = /^[a-zA-Z]/;
48
37
  return startsWithLetterExpression.test(projectName);
49
38
  }
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
- });
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);
58
45
  }
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
- });
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?");
64
49
  }
65
50
  }
66
51
  exports.ProjectNameService = ProjectNameService;