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
package/lib/config.js CHANGED
@@ -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.StaticConfig = exports.Configuration = void 0;
13
4
  const path = require("path");
@@ -70,16 +61,14 @@ class StaticConfig {
70
61
  get PATH_TO_BOOTSTRAP() {
71
62
  return path.join(__dirname, "bootstrap.js");
72
63
  }
73
- getAdbFilePath() {
74
- return __awaiter(this, void 0, void 0, function* () {
75
- if (!this._adbFilePath) {
76
- const androidToolsInfo = this.$injector.resolve("androidToolsInfo");
77
- this._adbFilePath =
78
- (yield androidToolsInfo.getPathToAdbFromAndroidHome()) ||
79
- (yield this.getAdbFilePathCore());
80
- }
81
- return this._adbFilePath;
82
- });
64
+ async getAdbFilePath() {
65
+ if (!this._adbFilePath) {
66
+ const androidToolsInfo = this.$injector.resolve("androidToolsInfo");
67
+ this._adbFilePath =
68
+ (await androidToolsInfo.getPathToAdbFromAndroidHome()) ||
69
+ (await this.getAdbFilePathCore());
70
+ }
71
+ return this._adbFilePath;
83
72
  }
84
73
  get USER_AGENT_NAME() {
85
74
  if (!this._userAgent) {
@@ -99,23 +88,21 @@ class StaticConfig {
99
88
  get HTML_COMMON_HELPERS_DIR() {
100
89
  return path.join(__dirname, "common", "docs", "helpers");
101
90
  }
102
- getAdbFilePathCore() {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- const $childProcess = this.$injector.resolve("$childProcess");
105
- try {
106
- // Do NOT use the adb wrapper because it will end blow up with Segmentation fault because the wrapper uses this method!!!
107
- const proc = yield $childProcess.spawnFromEvent("adb", ["version"], "exit", undefined, { throwError: false });
108
- if (proc.stderr) {
109
- return yield this.spawnPrivateAdb();
110
- }
91
+ async getAdbFilePathCore() {
92
+ const $childProcess = this.$injector.resolve("$childProcess");
93
+ try {
94
+ // Do NOT use the adb wrapper because it will end blow up with Segmentation fault because the wrapper uses this method!!!
95
+ const proc = await $childProcess.spawnFromEvent("adb", ["version"], "exit", undefined, { throwError: false });
96
+ if (proc.stderr) {
97
+ return await this.spawnPrivateAdb();
111
98
  }
112
- catch (e) {
113
- if (e.code === "ENOENT") {
114
- return yield this.spawnPrivateAdb();
115
- }
99
+ }
100
+ catch (e) {
101
+ if (e.code === "ENOENT") {
102
+ return await this.spawnPrivateAdb();
116
103
  }
117
- return "adb";
118
- });
104
+ }
105
+ return "adb";
119
106
  }
120
107
  /*
121
108
  Problem:
@@ -128,29 +115,27 @@ class StaticConfig {
128
115
  - Tie common lib version to updates of adb, so that when we integrate a newer adb we can use it
129
116
  - Adb is named differently on OSes and may have additional files. The code is hairy to accommodate these differences
130
117
  */
131
- spawnPrivateAdb() {
132
- return __awaiter(this, void 0, void 0, function* () {
133
- const $fs = this.$injector.resolve("$fs"), $childProcess = this.$injector.resolve("$childProcess"), $hostInfo = this.$injector.resolve("$hostInfo");
134
- // prepare the directory to host our copy of adb
135
- const defaultAdbDirPath = path.join(__dirname, "common", "resources", "platform-tools", "android", process.platform);
136
- const pathToPackageJson = path.join(__dirname, "..", "package.json");
137
- const nsCliVersion = require(pathToPackageJson).version;
138
- const tmpDir = path.join(os.tmpdir(), `nativescript-cli-${nsCliVersion}`);
139
- $fs.createDirectory(tmpDir);
140
- // copy the adb and associated files
141
- const targetAdb = path.join(tmpDir, "adb");
142
- // In case directory is missing or it's empty, copy the new adb
143
- if (!$fs.exists(tmpDir) || !$fs.readDirectory(tmpDir).length) {
144
- shelljs.cp(path.join(defaultAdbDirPath, "*"), tmpDir); // deliberately ignore copy errors
145
- // adb loses its executable bit when packed inside electron asar file. Manually fix the issue
146
- if (!$hostInfo.isWindows) {
147
- shelljs.chmod("+x", targetAdb);
148
- }
118
+ async spawnPrivateAdb() {
119
+ const $fs = this.$injector.resolve("$fs"), $childProcess = this.$injector.resolve("$childProcess"), $hostInfo = this.$injector.resolve("$hostInfo");
120
+ // prepare the directory to host our copy of adb
121
+ const defaultAdbDirPath = path.join(__dirname, "common", "resources", "platform-tools", "android", process.platform);
122
+ const pathToPackageJson = path.join(__dirname, "..", "package.json");
123
+ const nsCliVersion = require(pathToPackageJson).version;
124
+ const tmpDir = path.join(os.tmpdir(), `nativescript-cli-${nsCliVersion}`);
125
+ $fs.createDirectory(tmpDir);
126
+ // copy the adb and associated files
127
+ const targetAdb = path.join(tmpDir, "adb");
128
+ // In case directory is missing or it's empty, copy the new adb
129
+ if (!$fs.exists(tmpDir) || !$fs.readDirectory(tmpDir).length) {
130
+ shelljs.cp(path.join(defaultAdbDirPath, "*"), tmpDir); // deliberately ignore copy errors
131
+ // adb loses its executable bit when packed inside electron asar file. Manually fix the issue
132
+ if (!$hostInfo.isWindows) {
133
+ shelljs.chmod("+x", targetAdb);
149
134
  }
150
- // let adb start its global server
151
- yield $childProcess.spawnFromEvent(targetAdb, ["start-server"], "exit");
152
- return targetAdb;
153
- });
135
+ }
136
+ // let adb start its global server
137
+ await $childProcess.spawnFromEvent(targetAdb, ["start-server"], "exit");
138
+ return targetAdb;
154
139
  }
155
140
  }
156
141
  exports.StaticConfig = StaticConfig;
package/lib/constants.js CHANGED
@@ -76,23 +76,23 @@ exports.IOS_WATCHAPP_FOLDER = "watchapp";
76
76
  exports.IOS_WATCHAPP_EXTENSION_FOLDER = "watchextension";
77
77
  class MetadataFilteringConstants {
78
78
  }
79
+ exports.MetadataFilteringConstants = MetadataFilteringConstants;
79
80
  MetadataFilteringConstants.NATIVE_API_USAGE_FILE_NAME = "native-api-usage.json";
80
81
  MetadataFilteringConstants.WHITELIST_FILE_NAME = "whitelist.mdg";
81
82
  MetadataFilteringConstants.BLACKLIST_FILE_NAME = "blacklist.mdg";
82
- exports.MetadataFilteringConstants = MetadataFilteringConstants;
83
83
  class PackageVersion {
84
84
  }
85
+ exports.PackageVersion = PackageVersion;
85
86
  PackageVersion.NEXT = "next";
86
87
  PackageVersion.LATEST = "latest";
87
88
  PackageVersion.RC = "rc";
88
- exports.PackageVersion = PackageVersion;
89
89
  const liveSyncOperation = "LiveSync Operation";
90
90
  class LiveSyncTrackActionNames {
91
91
  }
92
+ exports.LiveSyncTrackActionNames = LiveSyncTrackActionNames;
92
93
  LiveSyncTrackActionNames.LIVESYNC_OPERATION = liveSyncOperation;
93
94
  LiveSyncTrackActionNames.LIVESYNC_OPERATION_BUILD = `${liveSyncOperation} - Build`;
94
95
  LiveSyncTrackActionNames.DEVICE_INFO = `Device Info for ${liveSyncOperation}`;
95
- exports.LiveSyncTrackActionNames = LiveSyncTrackActionNames;
96
96
  exports.PackageJsonKeysToKeep = [
97
97
  "name",
98
98
  "main",
@@ -118,13 +118,14 @@ exports.TemplatesV2PackageJsonKeysToRemove = [
118
118
  ];
119
119
  class SaveOptions {
120
120
  }
121
+ exports.SaveOptions = SaveOptions;
121
122
  SaveOptions.PRODUCTION = "save";
122
123
  SaveOptions.DEV = "save-dev";
123
124
  SaveOptions.OPTIONAL = "save-optional";
124
125
  SaveOptions.EXACT = "save-exact";
125
- exports.SaveOptions = SaveOptions;
126
126
  class ReleaseType {
127
127
  }
128
+ exports.ReleaseType = ReleaseType;
128
129
  ReleaseType.MAJOR = "major";
129
130
  ReleaseType.PREMAJOR = "premajor";
130
131
  ReleaseType.MINOR = "minor";
@@ -132,7 +133,6 @@ ReleaseType.PREMINOR = "preminor";
132
133
  ReleaseType.PATCH = "patch";
133
134
  ReleaseType.PREPATCH = "prepatch";
134
135
  ReleaseType.PRERELEASE = "prerelease";
135
- exports.ReleaseType = ReleaseType;
136
136
  exports.RESERVED_TEMPLATE_NAMES = {
137
137
  default: "@nativescript/template-hello-world",
138
138
  javascript: "@nativescript/template-hello-world",
@@ -158,6 +158,7 @@ exports.RESERVED_TEMPLATE_NAMES = {
158
158
  exports.ANALYTICS_LOCAL_TEMPLATE_PREFIX = "localTemplate_";
159
159
  class ITMSConstants {
160
160
  }
161
+ exports.ITMSConstants = ITMSConstants;
161
162
  ITMSConstants.ApplicationMetadataFile = "metadata.xml";
162
163
  ITMSConstants.VerboseLoggingLevels = {
163
164
  Informational: "informational",
@@ -166,7 +167,6 @@ ITMSConstants.VerboseLoggingLevels = {
166
167
  ITMSConstants.iTMSExecutableName = "iTMSTransporter";
167
168
  ITMSConstants.iTMSDirectoryName = "itms";
168
169
  ITMSConstants.altoolExecutableName = "altool";
169
- exports.ITMSConstants = ITMSConstants;
170
170
  class ItunesConnectApplicationTypesClass {
171
171
  constructor() {
172
172
  this.iOS = "iOS App";
@@ -192,6 +192,7 @@ exports.TsFlavorName = "Plain TypeScript";
192
192
  exports.JsFlavorName = "Plain JavaScript";
193
193
  class ProjectTypes {
194
194
  }
195
+ exports.ProjectTypes = ProjectTypes;
195
196
  ProjectTypes.NgFlavorName = exports.NgFlavorName;
196
197
  ProjectTypes.VueFlavorName = exports.VueFlavorName;
197
198
  ProjectTypes.TsFlavorName = "Pure TypeScript";
@@ -199,7 +200,6 @@ ProjectTypes.JsFlavorName = "Pure JavaScript";
199
200
  ProjectTypes.ReactFlavorName = "React";
200
201
  ProjectTypes.SolidFlavorName = "Solid";
201
202
  ProjectTypes.SvelteFlavorName = "Svelte";
202
- exports.ProjectTypes = ProjectTypes;
203
203
  exports.BUILD_OUTPUT_EVENT_NAME = "buildOutput";
204
204
  exports.CONNECTION_ERROR_EVENT_NAME = "connectionError";
205
205
  exports.USER_INTERACTION_NEEDED_EVENT_NAME = "userInteractionNeeded";
@@ -218,10 +218,10 @@ exports.PREPARE_READY_EVENT_NAME = "prepareReadyEvent";
218
218
  exports.WEBPACK_COMPILATION_COMPLETE = "webpackCompilationComplete";
219
219
  class DebugCommandErrors {
220
220
  }
221
+ exports.DebugCommandErrors = DebugCommandErrors;
221
222
  DebugCommandErrors.UNABLE_TO_USE_FOR_DEVICE_AND_EMULATOR = "The options --for-device and --emulator cannot be used simultaneously. Please use only one of them.";
222
223
  DebugCommandErrors.NO_DEVICES_EMULATORS_FOUND_FOR_OPTIONS = "Unable to find device or emulator for specified options.";
223
224
  DebugCommandErrors.UNSUPPORTED_DEVICE_OS_FOR_DEBUGGING = "Unsupported device OS for debugging";
224
- exports.DebugCommandErrors = DebugCommandErrors;
225
225
  exports.AnalyticsEventLabelDelimiter = "__";
226
226
  /**
227
227
  * Used in ProjectDataService to concatenate the names of the properties inside nativescript key of package.json.
@@ -230,6 +230,7 @@ exports.NATIVESCRIPT_PROPS_INTERNAL_DELIMITER = "**|__**";
230
230
  exports.CLI_RESOURCES_DIR_NAME = "resources";
231
231
  class AssetConstants {
232
232
  }
233
+ exports.AssetConstants = AssetConstants;
233
234
  AssetConstants.iOSResourcesFileName = "Contents.json";
234
235
  AssetConstants.iOSAssetsDirName = "Assets.xcassets";
235
236
  AssetConstants.iOSIconsDirName = "AppIcon.appiconset";
@@ -241,15 +242,14 @@ AssetConstants.assets = "assets";
241
242
  AssetConstants.sizeDelimiter = "x";
242
243
  AssetConstants.defaultScale = 1;
243
244
  AssetConstants.defaultOverlayImageScale = 0.8;
244
- exports.AssetConstants = AssetConstants;
245
245
  // https://en.wikipedia.org/wiki/Darwin_(operating_system)#Release_history
246
246
  class MacOSVersions {
247
247
  }
248
+ exports.MacOSVersions = MacOSVersions;
248
249
  MacOSVersions.Sierra = "10.12";
249
250
  MacOSVersions.HighSierra = "10.13";
250
251
  MacOSVersions.Mojave = "10.14";
251
252
  MacOSVersions.Catalina = "10.15";
252
- exports.MacOSVersions = MacOSVersions;
253
253
  exports.MacOSDeprecationStringFormat = "NativeScript does not support macOS %s and some functionality may not work. Please, upgrade to the latest macOS version.";
254
254
  exports.XcodeDeprecationStringFormat = "The current Xcode version %s will not be supported in the next release of NativeScript. Consider updating your Xcode to latest official version.";
255
255
  // export class TemplateVersions {
@@ -262,42 +262,42 @@ exports.XcodeDeprecationStringFormat = "The current Xcode version %s will not be
262
262
  // }
263
263
  class Hooks {
264
264
  }
265
- Hooks.createProject = "createProject";
266
265
  exports.Hooks = Hooks;
266
+ Hooks.createProject = "createProject";
267
267
  class AndroidBuildDefaults {
268
268
  }
269
+ exports.AndroidBuildDefaults = AndroidBuildDefaults;
269
270
  AndroidBuildDefaults.GradleVersion = "7.4.0";
270
271
  AndroidBuildDefaults.GradleAndroidPluginVersion = "7.1.2";
271
- exports.AndroidBuildDefaults = AndroidBuildDefaults;
272
272
  exports.PACKAGE_PLACEHOLDER_NAME = "__PACKAGE__";
273
273
  class AddPlaformErrors {
274
274
  }
275
- AddPlaformErrors.InvalidFrameworkPathStringFormat = "Invalid frameworkPath: %s. Please ensure the specified frameworkPath exists.";
276
275
  exports.AddPlaformErrors = AddPlaformErrors;
276
+ AddPlaformErrors.InvalidFrameworkPathStringFormat = "Invalid frameworkPath: %s. Please ensure the specified frameworkPath exists.";
277
277
  exports.PLUGIN_BUILD_DATA_FILENAME = "plugin-data.json";
278
278
  exports.PLUGINS_BUILD_DATA_FILENAME = ".ns-plugins-build-data.json";
279
279
  exports.PODFILE_NAME = "Podfile";
280
280
  exports.EXTENSION_PROVISIONING_FILENAME = "provisioning.json";
281
281
  class IosProjectConstants {
282
282
  }
283
+ exports.IosProjectConstants = IosProjectConstants;
283
284
  IosProjectConstants.XcodeProjExtName = ".xcodeproj";
284
285
  IosProjectConstants.XcodeSchemeExtName = ".xcscheme";
285
- exports.IosProjectConstants = IosProjectConstants;
286
286
  class BundleValidatorMessages {
287
287
  }
288
- BundleValidatorMessages.MissingBundlePlugin = "Passing --bundle requires a bundling plugin. No bundling plugin found or the specified bundling plugin is invalid.";
289
288
  exports.BundleValidatorMessages = BundleValidatorMessages;
289
+ BundleValidatorMessages.MissingBundlePlugin = "Passing --bundle requires a bundling plugin. No bundling plugin found or the specified bundling plugin is invalid.";
290
290
  class AndroidBundleValidatorMessages {
291
291
  }
292
+ exports.AndroidBundleValidatorMessages = AndroidBundleValidatorMessages;
292
293
  AndroidBundleValidatorMessages.AAB_NOT_SUPPORTED_BY_COMMNAND_MESSAGE = "This command does not support --aab (Android App Bundle) parameter.";
293
294
  AndroidBundleValidatorMessages.NOT_SUPPORTED_RUNTIME_VERSION = "Android App Bundle (--aab) option requires NativeScript Android Runtime (tns-android) version %s and above.";
294
295
  AndroidBundleValidatorMessages.NOT_SUPPORTED_ANDROID_VERSION = "Cannot use the Android App Bundle (--aab) option on device '%s' with Android '%s'. The --aab options is supported on Android '%s' and above.";
295
- exports.AndroidBundleValidatorMessages = AndroidBundleValidatorMessages;
296
296
  class AndroidAppBundleMessages {
297
297
  }
298
+ exports.AndroidAppBundleMessages = AndroidAppBundleMessages;
298
299
  AndroidAppBundleMessages.ANDROID_APP_BUNDLE_DOCS_MESSAGE = "What is Android App Bundle: https://docs.nativescript.org/tooling/publishing/android-app-bundle";
299
300
  AndroidAppBundleMessages.ANDROID_APP_BUNDLE_PUBLISH_DOCS_MESSAGE = "How to use Android App Bundle for publishing: https://docs.nativescript.org/tooling/publishing/publishing-android-apps#android-app-bundle";
300
- exports.AndroidAppBundleMessages = AndroidAppBundleMessages;
301
301
  exports.RunOnDeviceEvents = {
302
302
  runOnDeviceStopped: "runOnDeviceStopped",
303
303
  // In case we name it error, EventEmitter expects instance of Error to be raised and will also raise uncaught exception in case there's no handler
@@ -310,19 +310,19 @@ var IOSDeviceTargets;
310
310
  (function (IOSDeviceTargets) {
311
311
  IOSDeviceTargets["ios"] = "1,2";
312
312
  IOSDeviceTargets[IOSDeviceTargets["watchos"] = 4] = "watchos";
313
- })(IOSDeviceTargets = exports.IOSDeviceTargets || (exports.IOSDeviceTargets = {}));
313
+ })(IOSDeviceTargets || (exports.IOSDeviceTargets = IOSDeviceTargets = {}));
314
314
  var IOSNativeTargetProductTypes;
315
315
  (function (IOSNativeTargetProductTypes) {
316
316
  IOSNativeTargetProductTypes["watchApp"] = "com.apple.product-type.application.watchapp2";
317
317
  IOSNativeTargetProductTypes["watchExtension"] = "com.apple.product-type.watchkit2-extension";
318
318
  IOSNativeTargetProductTypes["appExtension"] = "com.apple.product-type.app-extension";
319
- })(IOSNativeTargetProductTypes = exports.IOSNativeTargetProductTypes || (exports.IOSNativeTargetProductTypes = {}));
319
+ })(IOSNativeTargetProductTypes || (exports.IOSNativeTargetProductTypes = IOSNativeTargetProductTypes = {}));
320
320
  var IOSNativeTargetTypes;
321
321
  (function (IOSNativeTargetTypes) {
322
322
  IOSNativeTargetTypes["watchApp"] = "watch_app";
323
323
  IOSNativeTargetTypes["watchExtension"] = "watch_extension";
324
324
  IOSNativeTargetTypes["appExtension"] = "app_extension";
325
- })(IOSNativeTargetTypes = exports.IOSNativeTargetTypes || (exports.IOSNativeTargetTypes = {}));
325
+ })(IOSNativeTargetTypes || (exports.IOSNativeTargetTypes = IOSNativeTargetTypes = {}));
326
326
  const pathToLoggerAppendersDir = (0, path_1.join)(__dirname, "common", "logger", "appenders");
327
327
  exports.LoggerAppenders = {
328
328
  emitAppender: (0, path_1.join)(pathToLoggerAppendersDir, "emit-appender"),
@@ -334,7 +334,7 @@ var DeviceConnectionType;
334
334
  DeviceConnectionType[DeviceConnectionType["USB"] = 1] = "USB";
335
335
  DeviceConnectionType[DeviceConnectionType["Wifi"] = 2] = "Wifi";
336
336
  DeviceConnectionType[DeviceConnectionType["Local"] = 10] = "Local";
337
- })(DeviceConnectionType = exports.DeviceConnectionType || (exports.DeviceConnectionType = {}));
337
+ })(DeviceConnectionType || (exports.DeviceConnectionType = DeviceConnectionType = {}));
338
338
  var LoggerLevel;
339
339
  (function (LoggerLevel) {
340
340
  /**
@@ -384,13 +384,13 @@ var LoggerLevel;
384
384
  * If you do not specify anything in your configuration, the default values are used (ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < MARK < OFF)
385
385
  */
386
386
  LoggerLevel["OFF"] = "OFF";
387
- })(LoggerLevel = exports.LoggerLevel || (exports.LoggerLevel = {}));
387
+ })(LoggerLevel || (exports.LoggerLevel = LoggerLevel = {}));
388
388
  var LoggerConfigData;
389
389
  (function (LoggerConfigData) {
390
390
  LoggerConfigData["useStderr"] = "useStderr";
391
391
  LoggerConfigData["wrapMessageWithBorders"] = "wrapMessageWithBorders";
392
392
  LoggerConfigData["skipNewLine"] = "skipNewLine";
393
- })(LoggerConfigData = exports.LoggerConfigData || (exports.LoggerConfigData = {}));
393
+ })(LoggerConfigData || (exports.LoggerConfigData = LoggerConfigData = {}));
394
394
  exports.EMIT_APPENDER_EVENT_NAME = "logData";
395
395
  var PackageManagers;
396
396
  (function (PackageManagers) {
@@ -399,5 +399,5 @@ var PackageManagers;
399
399
  PackageManagers["yarn"] = "yarn";
400
400
  PackageManagers["yarn2"] = "yarn2";
401
401
  PackageManagers["bun"] = "bun";
402
- })(PackageManagers = exports.PackageManagers || (exports.PackageManagers = {}));
402
+ })(PackageManagers || (exports.PackageManagers = PackageManagers = {}));
403
403
  //# sourceMappingURL=constants.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.BuildController = void 0;
13
4
  const constants = require("../constants");
@@ -33,100 +24,92 @@ class BuildController extends events_1.EventEmitter {
33
24
  get $platformsDataService() {
34
25
  return this.$injector.resolve("platformsDataService");
35
26
  }
36
- prepareAndBuild(buildData) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- yield this.$prepareController.prepare(buildData);
39
- const result = yield this.build(buildData);
40
- return result;
41
- });
27
+ async prepareAndBuild(buildData) {
28
+ await this.$prepareController.prepare(buildData);
29
+ const result = await this.build(buildData);
30
+ return result;
42
31
  }
43
- build(buildData) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- this.$logger.info("Building project...");
46
- const startTime = perf_hooks_1.performance.now();
47
- const platform = buildData.platform.toLowerCase();
48
- const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
49
- const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
50
- const action = "Build" /* constants.TrackActionNames.Build */;
51
- const isForDevice = this.$mobileHelper.isAndroidPlatform(platform)
52
- ? null
53
- : buildData && buildData.buildForDevice;
54
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
55
- action,
56
- isForDevice,
57
- platform,
58
- projectDir: projectData.projectDir,
59
- additionalData: `${buildData.release ? constants_1.Configurations.Release : constants_1.Configurations.Debug}_${buildData.clean
60
- ? "Clean" /* constants.BuildStates.Clean */
61
- : "Incremental" /* constants.BuildStates.Incremental */}`,
62
- });
63
- if (buildData.clean) {
64
- yield platformData.platformProjectService.cleanProject(platformData.projectRoot);
65
- }
66
- const handler = (data) => {
67
- this.emit(constants.BUILD_OUTPUT_EVENT_NAME, data);
68
- this.$logger.info(data.data.toString(), {
69
- [constants.LoggerConfigData.skipNewLine]: true,
70
- });
71
- };
72
- yield (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, platformData.platformProjectService, handler, platformData.platformProjectService.buildProject(platformData.projectRoot, projectData, buildData));
73
- const buildInfoFileDir = platformData.getBuildOutputPath(buildData);
74
- this.$buildInfoFileService.saveLocalBuildInfo(platformData, buildInfoFileDir);
75
- const endTime = perf_hooks_1.performance.now();
76
- const buildTime = (endTime - startTime) / 1000;
77
- this.$logger.info("Project successfully built.");
78
- this.$logger.info(`Build time: ${buildTime.toFixed(3)} s.`);
79
- const result = yield this.$buildArtifactsService.getLatestAppPackagePath(platformData, buildData);
80
- if (buildData.copyTo) {
81
- this.$buildArtifactsService.copyLatestAppPackage(buildData.copyTo, platformData, buildData);
82
- }
83
- else {
84
- this.$logger.info(`The build result is located at: ${result}`);
85
- }
86
- return result;
32
+ async build(buildData) {
33
+ this.$logger.info("Building project...");
34
+ const startTime = perf_hooks_1.performance.now();
35
+ const platform = buildData.platform.toLowerCase();
36
+ const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
37
+ const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
38
+ const action = "Build" /* constants.TrackActionNames.Build */;
39
+ const isForDevice = this.$mobileHelper.isAndroidPlatform(platform)
40
+ ? null
41
+ : buildData && buildData.buildForDevice;
42
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
43
+ action,
44
+ isForDevice,
45
+ platform,
46
+ projectDir: projectData.projectDir,
47
+ additionalData: `${buildData.release ? constants_1.Configurations.Release : constants_1.Configurations.Debug}_${buildData.clean
48
+ ? "Clean" /* constants.BuildStates.Clean */
49
+ : "Incremental" /* constants.BuildStates.Incremental */}`,
87
50
  });
51
+ if (buildData.clean) {
52
+ await platformData.platformProjectService.cleanProject(platformData.projectRoot);
53
+ }
54
+ const handler = (data) => {
55
+ this.emit(constants.BUILD_OUTPUT_EVENT_NAME, data);
56
+ this.$logger.info(data.data.toString(), {
57
+ [constants.LoggerConfigData.skipNewLine]: true,
58
+ });
59
+ };
60
+ await (0, helpers_1.attachAwaitDetach)(constants.BUILD_OUTPUT_EVENT_NAME, platformData.platformProjectService, handler, platformData.platformProjectService.buildProject(platformData.projectRoot, projectData, buildData));
61
+ const buildInfoFileDir = platformData.getBuildOutputPath(buildData);
62
+ this.$buildInfoFileService.saveLocalBuildInfo(platformData, buildInfoFileDir);
63
+ const endTime = perf_hooks_1.performance.now();
64
+ const buildTime = (endTime - startTime) / 1000;
65
+ this.$logger.info("Project successfully built.");
66
+ this.$logger.info(`Build time: ${buildTime.toFixed(3)} s.`);
67
+ const result = await this.$buildArtifactsService.getLatestAppPackagePath(platformData, buildData);
68
+ if (buildData.copyTo) {
69
+ this.$buildArtifactsService.copyLatestAppPackage(buildData.copyTo, platformData, buildData);
70
+ }
71
+ else {
72
+ this.$logger.info(`The build result is located at: ${result}`);
73
+ }
74
+ return result;
88
75
  }
89
- buildIfNeeded(buildData) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- let result = null;
92
- const shouldBuildPlatform = yield this.shouldBuild(buildData);
93
- if (shouldBuildPlatform) {
94
- result = yield this.build(buildData);
95
- }
96
- return result;
97
- });
76
+ async buildIfNeeded(buildData) {
77
+ let result = null;
78
+ const shouldBuildPlatform = await this.shouldBuild(buildData);
79
+ if (shouldBuildPlatform) {
80
+ result = await this.build(buildData);
81
+ }
82
+ return result;
98
83
  }
99
- shouldBuild(buildData) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
102
- const platformData = this.$platformsDataService.getPlatformData(buildData.platform, projectData);
103
- const outputPath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
104
- const changesInfo = this.$projectChangesService.currentChanges ||
105
- (yield this.$projectChangesService.checkForChanges(platformData, projectData, buildData));
106
- if (changesInfo.changesRequireBuild) {
107
- return true;
108
- }
109
- if (!this.$fs.exists(outputPath)) {
110
- return true;
111
- }
112
- const validBuildOutputData = platformData.getValidBuildOutputData(buildData);
113
- const packages = this.$buildArtifactsService.getAllAppPackages(outputPath, validBuildOutputData);
114
- if (packages.length === 0) {
115
- return true;
116
- }
117
- const prepareInfo = this.$projectChangesService.getPrepareInfo(platformData);
118
- const buildInfo = this.$buildInfoFileService.getLocalBuildInfo(platformData, buildData);
119
- if (!prepareInfo || !buildInfo) {
120
- return true;
121
- }
122
- if (buildData.clean) {
123
- return true;
124
- }
125
- if (prepareInfo.time === buildInfo.prepareTime) {
126
- return false;
127
- }
128
- return prepareInfo.changesRequireBuildTime !== buildInfo.prepareTime;
129
- });
84
+ async shouldBuild(buildData) {
85
+ const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
86
+ const platformData = this.$platformsDataService.getPlatformData(buildData.platform, projectData);
87
+ const outputPath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
88
+ const changesInfo = this.$projectChangesService.currentChanges ||
89
+ (await this.$projectChangesService.checkForChanges(platformData, projectData, buildData));
90
+ if (changesInfo.changesRequireBuild) {
91
+ return true;
92
+ }
93
+ if (!this.$fs.exists(outputPath)) {
94
+ return true;
95
+ }
96
+ const validBuildOutputData = platformData.getValidBuildOutputData(buildData);
97
+ const packages = this.$buildArtifactsService.getAllAppPackages(outputPath, validBuildOutputData);
98
+ if (packages.length === 0) {
99
+ return true;
100
+ }
101
+ const prepareInfo = this.$projectChangesService.getPrepareInfo(platformData);
102
+ const buildInfo = this.$buildInfoFileService.getLocalBuildInfo(platformData, buildData);
103
+ if (!prepareInfo || !buildInfo) {
104
+ return true;
105
+ }
106
+ if (buildData.clean) {
107
+ return true;
108
+ }
109
+ if (prepareInfo.time === buildInfo.prepareTime) {
110
+ return false;
111
+ }
112
+ return prepareInfo.changesRequireBuildTime !== buildInfo.prepareTime;
130
113
  }
131
114
  }
132
115
  exports.BuildController = BuildController;