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,18 +5,9 @@ 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.PrepareController = void 0;
19
- const choki = require("chokidar");
10
+ const chokidar_1 = require("chokidar");
20
11
  const events_1 = require("events");
21
12
  const _ = require("lodash");
22
13
  const path = require("path");
@@ -51,256 +42,240 @@ class PrepareController extends events_1.EventEmitter {
51
42
  this.webpackCompilerHandler = null;
52
43
  this.pausedFileWatch = false;
53
44
  }
54
- prepare(prepareData) {
55
- return __awaiter(this, void 0, void 0, function* () {
56
- const projectData = this.$projectDataService.getProjectData(prepareData.projectDir);
57
- if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
58
- yield this.$markingModeService.handleMarkingModeFullDeprecation({
59
- projectDir: projectData.projectDir,
60
- });
61
- }
62
- yield this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
63
- return this.prepareCore(prepareData, projectData);
64
- });
45
+ async prepare(prepareData) {
46
+ const projectData = this.$projectDataService.getProjectData(prepareData.projectDir);
47
+ if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
48
+ await this.$markingModeService.handleMarkingModeFullDeprecation({
49
+ projectDir: projectData.projectDir,
50
+ });
51
+ }
52
+ await this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
53
+ return this.prepareCore(prepareData, projectData);
65
54
  }
66
- stopWatchers(projectDir, platform) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- const platformLowerCase = platform.toLowerCase();
69
- if (this.watchersData &&
70
- this.watchersData[projectDir] &&
71
- this.watchersData[projectDir][platformLowerCase] &&
72
- this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher) {
73
- yield this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher.close();
74
- this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher =
75
- null;
76
- }
77
- if (this.watchersData &&
78
- this.watchersData[projectDir] &&
79
- this.watchersData[projectDir][platformLowerCase] &&
80
- this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess) {
81
- yield this.$webpackCompilerService.stopWebpackCompiler(platformLowerCase);
82
- this.$webpackCompilerService.removeListener(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
83
- this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess = false;
84
- }
85
- });
55
+ async stopWatchers(projectDir, platform) {
56
+ const platformLowerCase = platform.toLowerCase();
57
+ if (this.watchersData &&
58
+ this.watchersData[projectDir] &&
59
+ this.watchersData[projectDir][platformLowerCase] &&
60
+ this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher) {
61
+ await this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher.close();
62
+ this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher =
63
+ null;
64
+ }
65
+ if (this.watchersData &&
66
+ this.watchersData[projectDir] &&
67
+ this.watchersData[projectDir][platformLowerCase] &&
68
+ this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess) {
69
+ await this.$webpackCompilerService.stopWebpackCompiler(platformLowerCase);
70
+ this.$webpackCompilerService.removeListener(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
71
+ this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess = false;
72
+ }
86
73
  }
87
- prepareCore(prepareData, projectData) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- yield this.$projectService.ensureAppResourcesExist(projectData.projectDir);
90
- yield this.$platformController.addPlatformIfNeeded(prepareData, projectData);
91
- yield this.trackRuntimeVersion(prepareData.platform, projectData);
92
- this.$logger.info("Preparing project...");
93
- // we need to mark the ~/package.json (used by core modules)
94
- // as external for us to be able to write the config to it
95
- // in writeRuntimePackageJson() below, because otherwise
96
- // webpack will inline it into the bundle/vendor chunks
97
- prepareData.env = prepareData.env || {};
98
- prepareData.env.externals = prepareData.env.externals || [];
99
- prepareData.env.externals.push("~/package.json");
100
- prepareData.env.externals.push("package.json");
101
- if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
102
- yield this.$projectConfigService.writeLegacyNSConfigIfNeeded(projectData.projectDir, this.$projectDataService.getRuntimePackage(projectData.projectDir, prepareData.platform));
103
- }
104
- let result = null;
105
- const platformData = this.$platformsDataService.getPlatformData(prepareData.platform, projectData);
106
- if (prepareData.watch) {
107
- result = yield this.startWatchersWithPrepare(platformData, projectData, prepareData);
108
- }
109
- else {
110
- yield this.$webpackCompilerService.compileWithoutWatch(platformData, projectData, prepareData);
111
- const hasNativeChanges = yield this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
112
- result = {
113
- hasNativeChanges,
114
- platform: prepareData.platform.toLowerCase(),
115
- };
116
- }
117
- yield this.writeRuntimePackageJson(projectData, platformData, prepareData);
118
- yield this.$projectChangesService.savePrepareInfo(platformData, projectData, prepareData);
119
- this.$logger.info(`Project successfully prepared (${prepareData.platform.toLowerCase()})`);
120
- return result;
121
- });
74
+ async prepareCore(prepareData, projectData) {
75
+ await this.$projectService.ensureAppResourcesExist(projectData.projectDir);
76
+ await this.$platformController.addPlatformIfNeeded(prepareData, projectData);
77
+ await this.trackRuntimeVersion(prepareData.platform, projectData);
78
+ this.$logger.info("Preparing project...");
79
+ // we need to mark the ~/package.json (used by core modules)
80
+ // as external for us to be able to write the config to it
81
+ // in writeRuntimePackageJson() below, because otherwise
82
+ // webpack will inline it into the bundle/vendor chunks
83
+ prepareData.env = prepareData.env || {};
84
+ prepareData.env.externals = prepareData.env.externals || [];
85
+ prepareData.env.externals.push("~/package.json");
86
+ prepareData.env.externals.push("package.json");
87
+ if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
88
+ await this.$projectConfigService.writeLegacyNSConfigIfNeeded(projectData.projectDir, this.$projectDataService.getRuntimePackage(projectData.projectDir, prepareData.platform));
89
+ }
90
+ let result = null;
91
+ const platformData = this.$platformsDataService.getPlatformData(prepareData.platform, projectData);
92
+ if (prepareData.watch) {
93
+ result = await this.startWatchersWithPrepare(platformData, projectData, prepareData);
94
+ }
95
+ else {
96
+ await this.$webpackCompilerService.compileWithoutWatch(platformData, projectData, prepareData);
97
+ const hasNativeChanges = await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
98
+ result = {
99
+ hasNativeChanges,
100
+ platform: prepareData.platform.toLowerCase(),
101
+ };
102
+ }
103
+ await this.writeRuntimePackageJson(projectData, platformData, prepareData);
104
+ await this.$projectChangesService.savePrepareInfo(platformData, projectData, prepareData);
105
+ this.$logger.info(`Project successfully prepared (${prepareData.platform.toLowerCase()})`);
106
+ return result;
122
107
  }
123
- startWatchersWithPrepare(platformData, projectData, prepareData) {
124
- return __awaiter(this, void 0, void 0, function* () {
125
- if (!this.watchersData[projectData.projectDir]) {
126
- this.watchersData[projectData.projectDir] = {};
127
- }
128
- if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase]) {
129
- this.watchersData[projectData.projectDir][platformData.platformNameLowerCase] = {
130
- nativeFilesWatcher: null,
131
- hasWebpackCompilerProcess: false,
132
- prepareArguments: {
133
- platformData,
134
- projectData,
135
- prepareData,
136
- },
137
- };
138
- }
139
- yield this.startJSWatcherWithPrepare(platformData, projectData, prepareData); // -> start watcher + initial compilation
140
- const hasNativeChanges = yield this.startNativeWatcherWithPrepare(platformData, projectData, prepareData); // -> start watcher + initial prepare
141
- const result = {
108
+ async startWatchersWithPrepare(platformData, projectData, prepareData) {
109
+ if (!this.watchersData[projectData.projectDir]) {
110
+ this.watchersData[projectData.projectDir] = {};
111
+ }
112
+ if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase]) {
113
+ this.watchersData[projectData.projectDir][platformData.platformNameLowerCase] = {
114
+ nativeFilesWatcher: null,
115
+ hasWebpackCompilerProcess: false,
116
+ prepareArguments: {
117
+ platformData,
118
+ projectData,
119
+ prepareData,
120
+ },
121
+ };
122
+ }
123
+ await this.startJSWatcherWithPrepare(platformData, projectData, prepareData); // -> start watcher + initial compilation
124
+ const hasNativeChanges = await this.startNativeWatcherWithPrepare(platformData, projectData, prepareData); // -> start watcher + initial prepare
125
+ const result = {
126
+ platform: platformData.platformNameLowerCase,
127
+ hasNativeChanges,
128
+ };
129
+ const hasPersistedDataWithNativeChanges = this.persistedData.find((data) => data.platform === result.platform && data.hasNativeChanges);
130
+ if (hasPersistedDataWithNativeChanges) {
131
+ result.hasNativeChanges = true;
132
+ }
133
+ // TODO: Do not persist this in `this` context. Also it should be per platform.
134
+ this.isInitialPrepareReady = true;
135
+ if (this.persistedData && this.persistedData.length) {
136
+ this.emitPrepareEvent({
137
+ files: [],
138
+ staleFiles: [],
139
+ hasOnlyHotUpdateFiles: false,
140
+ hasNativeChanges: result.hasNativeChanges,
141
+ hmrData: null,
142
142
  platform: platformData.platformNameLowerCase,
143
- hasNativeChanges,
143
+ });
144
+ }
145
+ return result;
146
+ }
147
+ async startJSWatcherWithPrepare(platformData, projectData, prepareData) {
148
+ if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess) {
149
+ const handler = (data) => {
150
+ if (data.platform.toLowerCase() === platformData.platformNameLowerCase) {
151
+ if (this.isFileWatcherPaused())
152
+ return;
153
+ this.emitPrepareEvent({ ...data, hasNativeChanges: false });
154
+ }
144
155
  };
145
- const hasPersistedDataWithNativeChanges = this.persistedData.find((data) => data.platform === result.platform && data.hasNativeChanges);
146
- if (hasPersistedDataWithNativeChanges) {
147
- result.hasNativeChanges = true;
156
+ this.webpackCompilerHandler = handler.bind(this);
157
+ this.$webpackCompilerService.on(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
158
+ this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess = true;
159
+ await this.$webpackCompilerService.compileWithWatch(platformData, projectData, prepareData);
160
+ }
161
+ }
162
+ async startNativeWatcherWithPrepare(platformData, projectData, prepareData) {
163
+ let newNativeWatchStarted = false;
164
+ let hasNativeChanges = false;
165
+ if (prepareData.watchNative) {
166
+ newNativeWatchStarted = await this.startNativeWatcher(platformData, projectData);
167
+ }
168
+ if (newNativeWatchStarted) {
169
+ hasNativeChanges =
170
+ await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
171
+ }
172
+ return hasNativeChanges;
173
+ }
174
+ async startNativeWatcher(platformData, projectData) {
175
+ if (this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher) {
176
+ return false;
177
+ }
178
+ const patterns = await this.getWatcherPatterns(platformData, projectData);
179
+ const watcherOptions = {
180
+ ignoreInitial: true,
181
+ cwd: projectData.projectDir,
182
+ awaitWriteFinish: {
183
+ pollInterval: 100,
184
+ stabilityThreshold: 500,
185
+ },
186
+ ignored: ["**/.*", ".*"], // hidden files
187
+ };
188
+ const watcher = (0, chokidar_1.watch)(patterns, watcherOptions).on("all", async (event, filePath) => {
189
+ if (this.isFileWatcherPaused())
190
+ return;
191
+ filePath = path.join(projectData.projectDir, filePath);
192
+ if (this.$watchIgnoreListService.isFileInIgnoreList(filePath)) {
193
+ this.$watchIgnoreListService.removeFileFromIgnoreList(filePath);
148
194
  }
149
- // TODO: Do not persist this in `this` context. Also it should be per platform.
150
- this.isInitialPrepareReady = true;
151
- if (this.persistedData && this.persistedData.length) {
195
+ else {
196
+ this.$logger.info(`Chokidar raised event ${event} for ${filePath}.`);
197
+ await this.writeRuntimePackageJson(projectData, platformData);
152
198
  this.emitPrepareEvent({
153
199
  files: [],
154
200
  staleFiles: [],
155
201
  hasOnlyHotUpdateFiles: false,
156
- hasNativeChanges: result.hasNativeChanges,
157
202
  hmrData: null,
203
+ hasNativeChanges: true,
158
204
  platform: platformData.platformNameLowerCase,
159
205
  });
160
206
  }
161
- return result;
162
207
  });
208
+ this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher = watcher;
209
+ return true;
163
210
  }
164
- startJSWatcherWithPrepare(platformData, projectData, prepareData) {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess) {
167
- const handler = (data) => {
168
- if (data.platform.toLowerCase() === platformData.platformNameLowerCase) {
169
- if (this.isFileWatcherPaused())
170
- return;
171
- this.emitPrepareEvent(Object.assign(Object.assign({}, data), { hasNativeChanges: false }));
172
- }
173
- };
174
- this.webpackCompilerHandler = handler.bind(this);
175
- this.$webpackCompilerService.on(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
176
- this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess = true;
177
- yield this.$webpackCompilerService.compileWithWatch(platformData, projectData, prepareData);
178
- }
179
- });
180
- }
181
- startNativeWatcherWithPrepare(platformData, projectData, prepareData) {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- let newNativeWatchStarted = false;
184
- let hasNativeChanges = false;
185
- if (prepareData.watchNative) {
186
- newNativeWatchStarted = yield this.startNativeWatcher(platformData, projectData);
187
- }
188
- if (newNativeWatchStarted) {
189
- hasNativeChanges =
190
- yield this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
191
- }
192
- return hasNativeChanges;
193
- });
194
- }
195
- startNativeWatcher(platformData, projectData) {
196
- return __awaiter(this, void 0, void 0, function* () {
197
- if (this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher) {
198
- return false;
199
- }
200
- const patterns = yield this.getWatcherPatterns(platformData, projectData);
201
- const watcherOptions = {
202
- ignoreInitial: true,
203
- cwd: projectData.projectDir,
204
- awaitWriteFinish: {
205
- pollInterval: 100,
206
- stabilityThreshold: 500,
207
- },
208
- ignored: ["**/.*", ".*"], // hidden files
209
- };
210
- const watcher = choki
211
- .watch(patterns, watcherOptions)
212
- .on("all", (event, filePath) => __awaiter(this, void 0, void 0, function* () {
213
- if (this.isFileWatcherPaused())
214
- return;
215
- filePath = path.join(projectData.projectDir, filePath);
216
- if (this.$watchIgnoreListService.isFileInIgnoreList(filePath)) {
217
- this.$watchIgnoreListService.removeFileFromIgnoreList(filePath);
218
- }
219
- else {
220
- this.$logger.info(`Chokidar raised event ${event} for ${filePath}.`);
221
- yield this.writeRuntimePackageJson(projectData, platformData);
222
- this.emitPrepareEvent({
223
- files: [],
224
- staleFiles: [],
225
- hasOnlyHotUpdateFiles: false,
226
- hmrData: null,
227
- hasNativeChanges: true,
228
- platform: platformData.platformNameLowerCase,
229
- });
230
- }
231
- }));
232
- this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher = watcher;
233
- return true;
234
- });
235
- }
236
- getWatcherPatterns(platformData, projectData) {
237
- return __awaiter(this, void 0, void 0, function* () {
238
- const dependencies = this.$nodeModulesDependenciesBuilder
239
- .getProductionDependencies(projectData.projectDir, projectData.ignoredDependencies)
240
- .filter((dep) => dep.nativescript);
241
- const pluginsNativeDirectories = dependencies.map((dep) => path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase));
242
- const pluginsPackageJsonFiles = dependencies.map((dep) => path.join(dep.directory, constants_1.PACKAGE_JSON_FILE_NAME));
243
- const patterns = [
244
- path.join(projectData.projectDir, constants_1.PACKAGE_JSON_FILE_NAME),
245
- path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_JS),
246
- path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_TS),
247
- path.join(projectData.getAppDirectoryPath(), constants_1.PACKAGE_JSON_FILE_NAME),
248
- path.join(projectData.getAppResourcesRelativeDirectoryPath(), platformData.normalizedPlatformName),
249
- ]
250
- .concat(pluginsNativeDirectories)
251
- .concat(pluginsPackageJsonFiles);
252
- return patterns;
253
- });
211
+ async getWatcherPatterns(platformData, projectData) {
212
+ const dependencies = this.$nodeModulesDependenciesBuilder
213
+ .getProductionDependencies(projectData.projectDir, projectData.ignoredDependencies)
214
+ .filter((dep) => dep.nativescript);
215
+ const pluginsNativeDirectories = dependencies.map((dep) => path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase));
216
+ const pluginsPackageJsonFiles = dependencies.map((dep) => path.join(dep.directory, constants_1.PACKAGE_JSON_FILE_NAME));
217
+ const patterns = [
218
+ path.join(projectData.projectDir, constants_1.PACKAGE_JSON_FILE_NAME),
219
+ path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_JS),
220
+ path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_TS),
221
+ path.join(projectData.getAppDirectoryPath(), constants_1.PACKAGE_JSON_FILE_NAME),
222
+ path.join(projectData.getAppResourcesRelativeDirectoryPath(), platformData.normalizedPlatformName),
223
+ ]
224
+ .concat(pluginsNativeDirectories)
225
+ .concat(pluginsPackageJsonFiles);
226
+ return patterns;
254
227
  }
255
228
  /**
256
229
  * TODO: move this logic to the webpack side of things - WIP and deprecate here with a webpack version check...
257
230
  */
258
- writeRuntimePackageJson(projectData, platformData, prepareData = null) {
259
- return __awaiter(this, void 0, void 0, function* () {
260
- const configInfo = this.$projectConfigService.detectProjectConfigs(projectData.projectDir);
261
- if (configInfo.usingNSConfig) {
262
- return;
263
- }
264
- this.$logger.info("Updating runtime package.json with configuration values...");
265
- const nsConfig = this.$projectConfigService.readConfig(projectData.projectDir);
266
- const packageData = Object.assign(Object.assign(Object.assign({}, _.pick(projectData.packageJsonData, ["name"])), nsConfig), { main: "bundle" });
267
- if (platformData.platformNameLowerCase === "ios" &&
268
- packageData.ios &&
269
- packageData.ios.discardUncaughtJsExceptions) {
270
- packageData.discardUncaughtJsExceptions =
271
- packageData.ios.discardUncaughtJsExceptions;
272
- }
273
- if (platformData.platformNameLowerCase === "android" &&
274
- packageData.android &&
275
- packageData.android.discardUncaughtJsExceptions) {
276
- packageData.discardUncaughtJsExceptions =
277
- packageData.android.discardUncaughtJsExceptions;
278
- }
279
- let packagePath;
280
- if (this.$mobileHelper.isApplePlatform(platformData.platformNameLowerCase)) {
281
- packagePath = path.join(platformData.projectRoot, projectData.projectName, "app", "package.json");
282
- }
283
- else {
284
- packagePath = path.join(platformData.projectRoot, this.$options.hostProjectModuleName, "src", this.$options.hostProjectPath ? "nativescript" : "main", "assets", "app", "package.json");
285
- }
286
- try {
287
- // this will read the package.json that is already emitted by
288
- // the GenerateNativeScriptEntryPointsPlugin webpack plugin
289
- const emittedPackageData = this.$fs.readJson(packagePath);
290
- // since ns7 we only care about the main key from the emitted
291
- // package.json, the rest is coming from the new config.
292
- if (emittedPackageData === null || emittedPackageData === void 0 ? void 0 : emittedPackageData.main) {
293
- packageData.main = emittedPackageData.main;
294
- }
295
- }
296
- catch (error) {
297
- this.$logger.trace("Failed to read emitted package.json. Error is: ", error);
298
- }
299
- if (prepareData === null || prepareData === void 0 ? void 0 : prepareData.uniqueBundle) {
300
- packageData.main = `${packageData.main}.${prepareData.uniqueBundle}`;
231
+ async writeRuntimePackageJson(projectData, platformData, prepareData = null) {
232
+ const configInfo = this.$projectConfigService.detectProjectConfigs(projectData.projectDir);
233
+ if (configInfo.usingNSConfig) {
234
+ return;
235
+ }
236
+ this.$logger.info("Updating runtime package.json with configuration values...");
237
+ const nsConfig = this.$projectConfigService.readConfig(projectData.projectDir);
238
+ const packageData = {
239
+ ..._.pick(projectData.packageJsonData, ["name"]),
240
+ ...nsConfig,
241
+ main: "bundle",
242
+ };
243
+ if (platformData.platformNameLowerCase === "ios" &&
244
+ packageData.ios &&
245
+ packageData.ios.discardUncaughtJsExceptions) {
246
+ packageData.discardUncaughtJsExceptions =
247
+ packageData.ios.discardUncaughtJsExceptions;
248
+ }
249
+ if (platformData.platformNameLowerCase === "android" &&
250
+ packageData.android &&
251
+ packageData.android.discardUncaughtJsExceptions) {
252
+ packageData.discardUncaughtJsExceptions =
253
+ packageData.android.discardUncaughtJsExceptions;
254
+ }
255
+ let packagePath;
256
+ if (this.$mobileHelper.isApplePlatform(platformData.platformNameLowerCase)) {
257
+ packagePath = path.join(platformData.projectRoot, projectData.projectName, "app", "package.json");
258
+ }
259
+ else {
260
+ packagePath = path.join(platformData.projectRoot, this.$options.hostProjectModuleName, "src", this.$options.hostProjectPath ? "nativescript" : "main", "assets", "app", "package.json");
261
+ }
262
+ try {
263
+ // this will read the package.json that is already emitted by
264
+ // the GenerateNativeScriptEntryPointsPlugin webpack plugin
265
+ const emittedPackageData = this.$fs.readJson(packagePath);
266
+ // since ns7 we only care about the main key from the emitted
267
+ // package.json, the rest is coming from the new config.
268
+ if (emittedPackageData === null || emittedPackageData === void 0 ? void 0 : emittedPackageData.main) {
269
+ packageData.main = emittedPackageData.main;
301
270
  }
302
- this.$fs.writeJson(packagePath, packageData);
303
- });
271
+ }
272
+ catch (error) {
273
+ this.$logger.trace("Failed to read emitted package.json. Error is: ", error);
274
+ }
275
+ if (prepareData === null || prepareData === void 0 ? void 0 : prepareData.uniqueBundle) {
276
+ packageData.main = `${packageData.main}.${prepareData.uniqueBundle}`;
277
+ }
278
+ this.$fs.writeJson(packagePath, packageData);
304
279
  }
305
280
  emitPrepareEvent(filesChangeEventData) {
306
281
  if (this.isInitialPrepareReady) {
@@ -310,47 +285,44 @@ class PrepareController extends events_1.EventEmitter {
310
285
  this.persistedData.push(filesChangeEventData);
311
286
  }
312
287
  }
313
- trackRuntimeVersion(platform, projectData) {
314
- return __awaiter(this, void 0, void 0, function* () {
315
- const { version } = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
316
- if (!version) {
317
- this.$logger.trace(`Unable to get runtime version for project directory: ${projectData.projectDir} and platform ${platform}.`);
318
- return;
319
- }
320
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
321
- action: "Using Runtime Version" /* TrackActionNames.UsingRuntimeVersion */,
322
- additionalData: `${platform.toLowerCase()}${constants_1.AnalyticsEventLabelDelimiter}${version}`,
323
- });
288
+ async trackRuntimeVersion(platform, projectData) {
289
+ const { version } = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
290
+ if (!version) {
291
+ this.$logger.trace(`Unable to get runtime version for project directory: ${projectData.projectDir} and platform ${platform}.`);
292
+ return;
293
+ }
294
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
295
+ action: "Using Runtime Version" /* TrackActionNames.UsingRuntimeVersion */,
296
+ additionalData: `${platform.toLowerCase()}${constants_1.AnalyticsEventLabelDelimiter}${version}`,
324
297
  });
325
298
  }
326
299
  isFileWatcherPaused() {
327
300
  return this.pausedFileWatch;
328
301
  }
329
- toggleFileWatcher() {
330
- return __awaiter(this, void 0, void 0, function* () {
331
- this.pausedFileWatch = !this.pausedFileWatch;
332
- const watchers = Object.values(this.watchersData);
333
- if (this.pausedFileWatch) {
334
- for (const watcher of watchers) {
335
- for (const platform in watcher) {
336
- yield this.$webpackCompilerService.stopWebpackCompiler(platform);
337
- watcher[platform].hasWebpackCompilerProcess = false;
338
- }
302
+ async toggleFileWatcher() {
303
+ this.pausedFileWatch = !this.pausedFileWatch;
304
+ const watchers = Object.values(this.watchersData);
305
+ if (this.pausedFileWatch) {
306
+ for (const watcher of watchers) {
307
+ for (const platform in watcher) {
308
+ await this.$webpackCompilerService.stopWebpackCompiler(platform);
309
+ watcher[platform].hasWebpackCompilerProcess = false;
339
310
  }
340
311
  }
341
- else {
342
- for (const watcher of watchers) {
343
- for (const platform in watcher) {
344
- const args = watcher[platform].prepareArguments;
345
- watcher[platform].hasWebpackCompilerProcess = true;
346
- yield this.$webpackCompilerService.compileWithWatch(args.platformData, args.projectData, args.prepareData);
347
- }
312
+ }
313
+ else {
314
+ for (const watcher of watchers) {
315
+ for (const platform in watcher) {
316
+ const args = watcher[platform].prepareArguments;
317
+ watcher[platform].hasWebpackCompilerProcess = true;
318
+ await this.$webpackCompilerService.compileWithWatch(args.platformData, args.projectData, args.prepareData);
348
319
  }
349
320
  }
350
- return this.pausedFileWatch;
351
- });
321
+ }
322
+ return this.pausedFileWatch;
352
323
  }
353
324
  }
325
+ exports.PrepareController = PrepareController;
354
326
  __decorate([
355
327
  (0, decorators_1.performanceLog)(),
356
328
  (0, helpers_1.hook)("prepare")
@@ -364,6 +336,5 @@ __decorate([
364
336
  __decorate([
365
337
  (0, decorators_1.cache)()
366
338
  ], PrepareController.prototype, "trackRuntimeVersion", null);
367
- exports.PrepareController = PrepareController;
368
339
  yok_1.injector.register("prepareController", PrepareController);
369
340
  //# sourceMappingURL=prepare-controller.js.map