@akylas/nativescript-cli 8.7.2 → 8.8.3

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 (295) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
  3. package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
  4. package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
  5. package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
  6. package/docs/man_pages/project/configuration/native/native-add.md +31 -0
  7. package/docs/man_pages/project/configuration/native/native.md +31 -0
  8. package/lib/.d.ts +2 -0
  9. package/lib/android-tools-info.js +9 -20
  10. package/lib/base-package-manager.js +47 -64
  11. package/lib/bootstrap.js +8 -0
  12. package/lib/bun-package-manager.js +65 -88
  13. package/lib/color.js +2 -2
  14. package/lib/commands/add-platform.js +14 -30
  15. package/lib/commands/apple-login.js +18 -29
  16. package/lib/commands/appstore-list.js +34 -45
  17. package/lib/commands/appstore-upload.js +55 -68
  18. package/lib/commands/build.js +57 -86
  19. package/lib/commands/clean.js +161 -176
  20. package/lib/commands/command-base.js +14 -27
  21. package/lib/commands/config.js +51 -70
  22. package/lib/commands/create-project.js +210 -229
  23. package/lib/commands/debug.js +66 -88
  24. package/lib/commands/deploy.js +28 -44
  25. package/lib/commands/embedding/embed.js +72 -0
  26. package/lib/commands/extensibility/install-extension.js +5 -16
  27. package/lib/commands/extensibility/list-extensions.js +13 -24
  28. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  29. package/lib/commands/fonts.js +30 -41
  30. package/lib/commands/generate-assets.js +13 -28
  31. package/lib/commands/generate-help.js +2 -13
  32. package/lib/commands/generate.js +17 -26
  33. package/lib/commands/info.js +2 -13
  34. package/lib/commands/install.js +34 -49
  35. package/lib/commands/list-platforms.js +14 -25
  36. package/lib/commands/migrate.js +15 -26
  37. package/lib/commands/native-add.js +277 -0
  38. package/lib/commands/platform-clean.js +19 -32
  39. package/lib/commands/plugin/add-plugin.js +12 -25
  40. package/lib/commands/plugin/build-plugin.js +34 -45
  41. package/lib/commands/plugin/create-plugin.js +110 -133
  42. package/lib/commands/plugin/list-plugins.js +22 -33
  43. package/lib/commands/plugin/remove-plugin.js +20 -33
  44. package/lib/commands/plugin/update-plugin.js +20 -33
  45. package/lib/commands/post-install.js +20 -33
  46. package/lib/commands/prepare.js +28 -35
  47. package/lib/commands/preview.js +49 -62
  48. package/lib/commands/remove-platform.js +7 -18
  49. package/lib/commands/resources/resources-update.js +13 -26
  50. package/lib/commands/run.js +55 -76
  51. package/lib/commands/start.js +6 -19
  52. package/lib/commands/test-init.js +123 -134
  53. package/lib/commands/test.js +66 -89
  54. package/lib/commands/typings.js +126 -142
  55. package/lib/commands/update-platform.js +22 -35
  56. package/lib/commands/update.js +30 -43
  57. package/lib/common/child-process.js +53 -72
  58. package/lib/common/codeGeneration/code-entity.js +1 -1
  59. package/lib/common/codeGeneration/code-printer.js +1 -1
  60. package/lib/common/command-params.js +7 -18
  61. package/lib/common/commands/analytics.js +27 -40
  62. package/lib/common/commands/autocompletion.js +39 -56
  63. package/lib/common/commands/device/device-log-stream.js +12 -23
  64. package/lib/common/commands/device/get-file.js +22 -33
  65. package/lib/common/commands/device/list-applications.js +12 -23
  66. package/lib/common/commands/device/list-devices.js +72 -87
  67. package/lib/common/commands/device/list-files.js +23 -34
  68. package/lib/common/commands/device/put-file.js +22 -33
  69. package/lib/common/commands/device/run-application.js +12 -25
  70. package/lib/common/commands/device/stop-application.js +11 -22
  71. package/lib/common/commands/device/uninstall-application.js +6 -17
  72. package/lib/common/commands/generate-messages.js +17 -28
  73. package/lib/common/commands/help.js +20 -33
  74. package/lib/common/commands/package-manager-get.js +6 -17
  75. package/lib/common/commands/package-manager-set.js +9 -20
  76. package/lib/common/commands/post-install.js +2 -13
  77. package/lib/common/commands/preuninstall.js +23 -38
  78. package/lib/common/commands/proxy/proxy-base.js +8 -19
  79. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  80. package/lib/common/commands/proxy/proxy-get.js +3 -14
  81. package/lib/common/commands/proxy/proxy-set.js +87 -100
  82. package/lib/common/constants.js +11 -11
  83. package/lib/common/decorators.js +10 -22
  84. package/lib/common/dispatchers.js +79 -96
  85. package/lib/common/errors.js +89 -104
  86. package/lib/common/file-system.js +106 -127
  87. package/lib/common/header.js +1 -2
  88. package/lib/common/helpers.js +149 -178
  89. package/lib/common/host-info.js +37 -50
  90. package/lib/common/http-client.js +93 -108
  91. package/lib/common/logger/appenders/cli-appender.js +1 -2
  92. package/lib/common/logger/appenders/emit-appender.js +1 -2
  93. package/lib/common/logger/layouts/cli-layout.js +1 -2
  94. package/lib/common/logger/logger.js +1 -1
  95. package/lib/common/mobile/android/android-application-manager.js +121 -142
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  98. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  99. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  100. package/lib/common/mobile/android/android-device.js +74 -91
  101. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  102. package/lib/common/mobile/android/android-log-filter.js +1 -1
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  107. package/lib/common/mobile/android/logcat-helper.js +108 -118
  108. package/lib/common/mobile/application-manager-base.js +84 -107
  109. package/lib/common/mobile/device-log-provider-base.js +7 -18
  110. package/lib/common/mobile/emulator-helper.js +1 -0
  111. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  112. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  113. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  114. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  115. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  116. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  117. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  118. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  119. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  120. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  121. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  122. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  123. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  124. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  125. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  126. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  127. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  128. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  129. package/lib/common/mobile/mobile-helper.js +15 -26
  130. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  131. package/lib/common/opener.js +2 -2
  132. package/lib/common/plist-parser.js +2 -2
  133. package/lib/common/prompter.js +90 -105
  134. package/lib/common/queue.js +9 -20
  135. package/lib/common/services/auto-completion-service.js +39 -52
  136. package/lib/common/services/cancellation.js +17 -28
  137. package/lib/common/services/commands-service.js +146 -169
  138. package/lib/common/services/help-service.js +132 -157
  139. package/lib/common/services/hooks-service.js +93 -108
  140. package/lib/common/services/ios-notification-service.js +21 -34
  141. package/lib/common/services/json-file-settings-service.js +52 -71
  142. package/lib/common/services/lock-service.js +35 -52
  143. package/lib/common/services/message-contract-generator.js +35 -46
  144. package/lib/common/services/micro-templating-service.js +4 -15
  145. package/lib/common/services/net-service.js +90 -107
  146. package/lib/common/services/project-files-manager.js +10 -23
  147. package/lib/common/services/proxy-service.js +13 -24
  148. package/lib/common/services/qr.js +13 -24
  149. package/lib/common/services/settings-service.js +1 -1
  150. package/lib/common/services/xcode-select-service.js +20 -35
  151. package/lib/common/utils.js +7 -0
  152. package/lib/common/validators/project-name-validator.js +1 -1
  153. package/lib/common/validators/validation-result.js +1 -1
  154. package/lib/common/verify-node-version.js +2 -3
  155. package/lib/common/yok.js +23 -36
  156. package/lib/config.js +7 -58
  157. package/lib/constants.js +24 -24
  158. package/lib/controllers/build-controller.js +82 -99
  159. package/lib/controllers/debug-controller.js +107 -128
  160. package/lib/controllers/deploy-controller.js +17 -22
  161. package/lib/controllers/migrate-controller.js +727 -800
  162. package/lib/controllers/platform-controller.js +72 -83
  163. package/lib/controllers/prepare-controller.js +264 -250
  164. package/lib/controllers/run-controller.js +392 -406
  165. package/lib/controllers/update-controller-base.js +16 -29
  166. package/lib/controllers/update-controller.js +94 -119
  167. package/lib/data/build-data.js +2 -0
  168. package/lib/data/prepare-data.js +5 -1
  169. package/lib/declarations.d.ts +14 -3
  170. package/lib/definitions/android-plugin-migrator.d.ts +1 -0
  171. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  172. package/lib/definitions/livesync.d.ts +1 -1
  173. package/lib/definitions/platform.d.ts +1 -0
  174. package/lib/definitions/prepare.d.ts +3 -0
  175. package/lib/definitions/project.d.ts +5 -0
  176. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  177. package/lib/detached-processes/cleanup-process.js +16 -25
  178. package/lib/device-path-provider.js +23 -34
  179. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  180. package/lib/device-sockets/ios/notification.js +1 -1
  181. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  182. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  183. package/lib/helpers/deploy-command-helper.js +45 -49
  184. package/lib/helpers/key-command-helper.js +4 -13
  185. package/lib/helpers/livesync-command-helper.js +137 -152
  186. package/lib/helpers/network-connectivity-validator.js +6 -17
  187. package/lib/helpers/options-track-helper.js +6 -17
  188. package/lib/helpers/platform-command-helper.js +102 -114
  189. package/lib/key-commands/index.js +161 -211
  190. package/lib/nativescript-cli.js +5 -14
  191. package/lib/node-package-manager.js +81 -104
  192. package/lib/options.js +12 -14
  193. package/lib/package-installation-manager.js +130 -165
  194. package/lib/package-manager.js +63 -86
  195. package/lib/platform-command-param.js +4 -15
  196. package/lib/pnpm-package-manager.js +59 -78
  197. package/lib/project-data.js +5 -2
  198. package/lib/providers/project-files-provider.js +2 -2
  199. package/lib/services/analytics/analytics-broker-process.js +13 -22
  200. package/lib/services/analytics/analytics-broker.js +17 -30
  201. package/lib/services/analytics/analytics-service.js +161 -198
  202. package/lib/services/analytics/google-analytics-provider.js +41 -56
  203. package/lib/services/analytics-settings-service.js +15 -32
  204. package/lib/services/android/android-bundle-tool-service.js +43 -60
  205. package/lib/services/android/gradle-build-args-service.js +13 -23
  206. package/lib/services/android/gradle-build-service.js +34 -47
  207. package/lib/services/android/gradle-command-service.js +23 -32
  208. package/lib/services/android-device-debug-service.js +90 -117
  209. package/lib/services/android-plugin-build-service.js +233 -247
  210. package/lib/services/android-project-service.js +180 -219
  211. package/lib/services/android-resources-migration-service.js +51 -64
  212. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  213. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  214. package/lib/services/assets-generation/assets-generation-service.js +100 -113
  215. package/lib/services/build-artifacts-service.js +9 -20
  216. package/lib/services/build-info-file-service.js +20 -35
  217. package/lib/services/cleanup-service.js +47 -76
  218. package/lib/services/cocoapods-service.js +118 -133
  219. package/lib/services/device/device-install-app-service.js +73 -90
  220. package/lib/services/doctor-service.js +99 -118
  221. package/lib/services/extensibility-service.js +81 -100
  222. package/lib/services/files-hash-service.js +28 -44
  223. package/lib/services/hmr-status-service.js +1 -1
  224. package/lib/services/initialize-service.js +37 -50
  225. package/lib/services/ios/export-options-plist-service.js +38 -51
  226. package/lib/services/ios/ios-signing-service.js +161 -180
  227. package/lib/services/ios/spm-service.js +40 -53
  228. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  229. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  230. package/lib/services/ios/xcodebuild-service.js +50 -69
  231. package/lib/services/ios-debugger-port-service.js +23 -36
  232. package/lib/services/ios-device-debug-service.js +75 -102
  233. package/lib/services/ios-entitlements-service.js +31 -42
  234. package/lib/services/ios-extensions-service.js +18 -29
  235. package/lib/services/ios-project-service.js +418 -440
  236. package/lib/services/ios-provision-service.js +108 -129
  237. package/lib/services/ios-watch-app-service.js +21 -32
  238. package/lib/services/ip-service.js +38 -53
  239. package/lib/services/itmstransporter-service.js +129 -152
  240. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  241. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  242. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
  243. package/lib/services/livesync/android-livesync-service.js +16 -37
  244. package/lib/services/livesync/android-livesync-tool.js +89 -112
  245. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  246. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  247. package/lib/services/livesync/ios-livesync-service.js +44 -60
  248. package/lib/services/livesync/platform-livesync-service-base.js +96 -120
  249. package/lib/services/log-parser-service.js +1 -1
  250. package/lib/services/log-source-map-service.js +33 -43
  251. package/lib/services/marking-mode-service.js +15 -28
  252. package/lib/services/npm-config-service.js +1 -1
  253. package/lib/services/pacote-service.js +49 -64
  254. package/lib/services/performance-service.js +1 -1
  255. package/lib/services/platform/add-platform-service.js +53 -69
  256. package/lib/services/platform/platform-validation-service.js +22 -33
  257. package/lib/services/platform/prepare-native-platform-service.js +50 -60
  258. package/lib/services/platform-environment-requirements.js +29 -38
  259. package/lib/services/plugins-service.js +128 -147
  260. package/lib/services/project-backup-service.js +1 -1
  261. package/lib/services/project-changes-service.js +129 -139
  262. package/lib/services/project-cleanup-service.js +64 -77
  263. package/lib/services/project-config-service.js +71 -80
  264. package/lib/services/project-data-service.js +116 -139
  265. package/lib/services/project-name-service.js +28 -43
  266. package/lib/services/project-service.js +84 -103
  267. package/lib/services/project-templates-service.js +52 -67
  268. package/lib/services/start-service.js +41 -59
  269. package/lib/services/temp-service.js +8 -21
  270. package/lib/services/terminal-spinner-service.js +13 -24
  271. package/lib/services/test-execution-service.js +59 -72
  272. package/lib/services/test-initialization-service.js +2 -2
  273. package/lib/services/timeline-profiler-service.js +1 -1
  274. package/lib/services/versions-service.js +119 -138
  275. package/lib/services/webpack/webpack-compiler-service.js +212 -224
  276. package/lib/services/xcconfig-service.js +8 -19
  277. package/lib/services/xcproj-service.js +12 -0
  278. package/lib/sys-info.js +45 -62
  279. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  280. package/lib/yarn-package-manager.js +59 -78
  281. package/lib/yarn2-package-manager.js +60 -79
  282. package/package.json +59 -57
  283. package/vendor/aab-tool/README.txt +1 -1
  284. package/vendor/aab-tool/bundletool.jar +0 -0
  285. package/vendor/gradle-app/app/build.gradle +12 -4
  286. package/vendor/gradle-plugin/build.gradle +12 -4
  287. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  288. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  289. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  290. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  291. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  292. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  293. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  294. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  295. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.PrepareController = void 0;
19
10
  const choki = require("chokidar");
@@ -24,13 +15,15 @@ const decorators_1 = require("../common/decorators");
24
15
  const helpers_1 = require("../common/helpers");
25
16
  const yok_1 = require("../common/yok");
26
17
  const constants_1 = require("../constants");
18
+ const resolve_package_path_1 = require("@rigor789/resolve-package-path");
27
19
  class PrepareController extends events_1.EventEmitter {
28
- constructor($platformController, $hooksService, $fs, $logger, $mobileHelper, $nodeModulesDependenciesBuilder, $platformsDataService, $pluginsService, $prepareNativePlatformService, $projectChangesService, $projectDataService, $webpackCompilerService, $watchIgnoreListService, $analyticsService, $markingModeService, $projectConfigService, $projectService) {
20
+ constructor($platformController, $hooksService, $fs, $logger, $options, $mobileHelper, $nodeModulesDependenciesBuilder, $platformsDataService, $pluginsService, $prepareNativePlatformService, $projectChangesService, $projectDataService, $webpackCompilerService, $watchIgnoreListService, $analyticsService, $markingModeService, $projectConfigService, $projectService) {
29
21
  super();
30
22
  this.$platformController = $platformController;
31
23
  this.$hooksService = $hooksService;
32
24
  this.$fs = $fs;
33
25
  this.$logger = $logger;
26
+ this.$options = $options;
34
27
  this.$mobileHelper = $mobileHelper;
35
28
  this.$nodeModulesDependenciesBuilder = $nodeModulesDependenciesBuilder;
36
29
  this.$platformsDataService = $platformsDataService;
@@ -50,242 +43,267 @@ class PrepareController extends events_1.EventEmitter {
50
43
  this.webpackCompilerHandler = null;
51
44
  this.pausedFileWatch = false;
52
45
  }
53
- prepare(prepareData) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- const projectData = this.$projectDataService.getProjectData(prepareData.projectDir);
56
- if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
57
- yield this.$markingModeService.handleMarkingModeFullDeprecation({
58
- projectDir: projectData.projectDir,
59
- });
60
- }
61
- yield this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
62
- return this.prepareCore(prepareData, projectData);
63
- });
46
+ async prepare(prepareData) {
47
+ const projectData = this.$projectDataService.getProjectData(prepareData.projectDir);
48
+ if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
49
+ await this.$markingModeService.handleMarkingModeFullDeprecation({
50
+ projectDir: projectData.projectDir,
51
+ });
52
+ }
53
+ await this.$pluginsService.ensureAllDependenciesAreInstalled(projectData);
54
+ return this.prepareCore(prepareData, projectData);
64
55
  }
65
- stopWatchers(projectDir, platform) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- const platformLowerCase = platform.toLowerCase();
68
- if (this.watchersData &&
69
- this.watchersData[projectDir] &&
70
- this.watchersData[projectDir][platformLowerCase] &&
71
- this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher) {
72
- yield this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher.close();
73
- this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher =
74
- null;
75
- }
76
- if (this.watchersData &&
77
- this.watchersData[projectDir] &&
78
- this.watchersData[projectDir][platformLowerCase] &&
79
- this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess) {
80
- yield this.$webpackCompilerService.stopWebpackCompiler(platformLowerCase);
81
- this.$webpackCompilerService.removeListener(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
82
- this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess = false;
83
- }
84
- });
56
+ async stopWatchers(projectDir, platform) {
57
+ const platformLowerCase = platform.toLowerCase();
58
+ if (this.watchersData &&
59
+ this.watchersData[projectDir] &&
60
+ this.watchersData[projectDir][platformLowerCase] &&
61
+ this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher) {
62
+ await this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher.close();
63
+ this.watchersData[projectDir][platformLowerCase].nativeFilesWatcher =
64
+ null;
65
+ }
66
+ if (this.watchersData &&
67
+ this.watchersData[projectDir] &&
68
+ this.watchersData[projectDir][platformLowerCase] &&
69
+ this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess) {
70
+ await this.$webpackCompilerService.stopWebpackCompiler(platformLowerCase);
71
+ this.$webpackCompilerService.removeListener(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
72
+ this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess = false;
73
+ }
85
74
  }
86
- prepareCore(prepareData, projectData) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- yield this.$projectService.ensureAppResourcesExist(projectData.projectDir);
89
- yield this.$platformController.addPlatformIfNeeded(prepareData, projectData);
90
- yield this.trackRuntimeVersion(prepareData.platform, projectData);
91
- this.$logger.info("Preparing project...");
92
- prepareData.env = prepareData.env || {};
93
- prepareData.env.externals = prepareData.env.externals || [];
94
- prepareData.env.externals.push("~/package.json");
95
- prepareData.env.externals.push("package.json");
96
- if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
97
- yield this.$projectConfigService.writeLegacyNSConfigIfNeeded(projectData.projectDir, this.$projectDataService.getRuntimePackage(projectData.projectDir, prepareData.platform));
98
- }
99
- let result = null;
100
- const platformData = this.$platformsDataService.getPlatformData(prepareData.platform, projectData);
101
- if (prepareData.watch) {
102
- result = yield this.startWatchersWithPrepare(platformData, projectData, prepareData);
103
- }
104
- else {
105
- yield this.$webpackCompilerService.compileWithoutWatch(platformData, projectData, prepareData);
106
- const hasNativeChanges = yield this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
107
- result = {
108
- hasNativeChanges,
109
- platform: prepareData.platform.toLowerCase(),
110
- };
111
- }
112
- yield this.writeRuntimePackageJson(projectData, platformData);
113
- yield this.$projectChangesService.savePrepareInfo(platformData, projectData, prepareData);
114
- this.$logger.info(`Project successfully prepared (${prepareData.platform.toLowerCase()})`);
115
- return result;
116
- });
75
+ async prepareCore(prepareData, projectData) {
76
+ await this.$projectService.ensureAppResourcesExist(projectData.projectDir);
77
+ await this.$platformController.addPlatformIfNeeded(prepareData, projectData);
78
+ await this.trackRuntimeVersion(prepareData.platform, projectData);
79
+ this.$logger.info("Preparing project...");
80
+ prepareData.env = prepareData.env || {};
81
+ prepareData.env.externals = prepareData.env.externals || [];
82
+ prepareData.env.externals.push("~/package.json");
83
+ prepareData.env.externals.push("package.json");
84
+ if (this.$mobileHelper.isAndroidPlatform(prepareData.platform)) {
85
+ await this.$projectConfigService.writeLegacyNSConfigIfNeeded(projectData.projectDir, this.$projectDataService.getRuntimePackage(projectData.projectDir, prepareData.platform));
86
+ }
87
+ let result = null;
88
+ const platformData = this.$platformsDataService.getPlatformData(prepareData.platform, projectData);
89
+ if (prepareData.watch) {
90
+ result = await this.startWatchersWithPrepare(platformData, projectData, prepareData);
91
+ }
92
+ else {
93
+ await this.$webpackCompilerService.compileWithoutWatch(platformData, projectData, prepareData);
94
+ const hasNativeChanges = await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
95
+ result = {
96
+ hasNativeChanges,
97
+ platform: prepareData.platform.toLowerCase(),
98
+ };
99
+ }
100
+ await this.writeRuntimePackageJson(projectData, platformData);
101
+ await this.$projectChangesService.savePrepareInfo(platformData, projectData, prepareData);
102
+ this.$logger.info(`Project successfully prepared (${prepareData.platform.toLowerCase()})`);
103
+ return result;
117
104
  }
118
- startWatchersWithPrepare(platformData, projectData, prepareData) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- if (!this.watchersData[projectData.projectDir]) {
121
- this.watchersData[projectData.projectDir] = {};
122
- }
123
- if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase]) {
124
- this.watchersData[projectData.projectDir][platformData.platformNameLowerCase] = {
125
- nativeFilesWatcher: null,
126
- hasWebpackCompilerProcess: false,
127
- prepareArguments: {
128
- platformData,
129
- projectData,
130
- prepareData,
131
- },
132
- };
133
- }
134
- yield this.startJSWatcherWithPrepare(platformData, projectData, prepareData);
135
- const hasNativeChanges = yield this.startNativeWatcherWithPrepare(platformData, projectData, prepareData);
136
- const result = {
105
+ async startWatchersWithPrepare(platformData, projectData, prepareData) {
106
+ if (!this.watchersData[projectData.projectDir]) {
107
+ this.watchersData[projectData.projectDir] = {};
108
+ }
109
+ if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase]) {
110
+ this.watchersData[projectData.projectDir][platformData.platformNameLowerCase] = {
111
+ nativeFilesWatcher: null,
112
+ hasWebpackCompilerProcess: false,
113
+ prepareArguments: {
114
+ platformData,
115
+ projectData,
116
+ prepareData,
117
+ },
118
+ };
119
+ }
120
+ await this.startJSWatcherWithPrepare(platformData, projectData, prepareData);
121
+ const hasNativeChanges = await this.startNativeWatcherWithPrepare(platformData, projectData, prepareData);
122
+ const result = {
123
+ platform: platformData.platformNameLowerCase,
124
+ hasNativeChanges,
125
+ };
126
+ const hasPersistedDataWithNativeChanges = this.persistedData.find((data) => data.platform === result.platform && data.hasNativeChanges);
127
+ if (hasPersistedDataWithNativeChanges) {
128
+ result.hasNativeChanges = true;
129
+ }
130
+ this.isInitialPrepareReady = true;
131
+ if (this.persistedData && this.persistedData.length) {
132
+ this.emitPrepareEvent({
133
+ files: [],
134
+ staleFiles: [],
135
+ hasOnlyHotUpdateFiles: false,
136
+ hasNativeChanges: result.hasNativeChanges,
137
+ hmrData: null,
137
138
  platform: platformData.platformNameLowerCase,
138
- hasNativeChanges,
139
+ });
140
+ }
141
+ return result;
142
+ }
143
+ async startJSWatcherWithPrepare(platformData, projectData, prepareData) {
144
+ if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess) {
145
+ const handler = (data) => {
146
+ var _a;
147
+ if (data.platform.toLowerCase() === platformData.platformNameLowerCase) {
148
+ if (this.isFileWatcherPaused())
149
+ return;
150
+ this.emitPrepareEvent({
151
+ ...data,
152
+ files: (_a = data.files) !== null && _a !== void 0 ? _a : [],
153
+ hasNativeChanges: false,
154
+ });
155
+ }
139
156
  };
140
- const hasPersistedDataWithNativeChanges = this.persistedData.find((data) => data.platform === result.platform && data.hasNativeChanges);
141
- if (hasPersistedDataWithNativeChanges) {
142
- result.hasNativeChanges = true;
157
+ this.webpackCompilerHandler = handler.bind(this);
158
+ this.$webpackCompilerService.on(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
159
+ this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess = true;
160
+ await this.$webpackCompilerService.compileWithWatch(platformData, projectData, prepareData);
161
+ }
162
+ }
163
+ async startNativeWatcherWithPrepare(platformData, projectData, prepareData) {
164
+ let newNativeWatchStarted = false;
165
+ let hasNativeChanges = false;
166
+ if (prepareData.watchNative) {
167
+ newNativeWatchStarted = await this.startNativeWatcher(platformData, projectData);
168
+ }
169
+ if (newNativeWatchStarted) {
170
+ hasNativeChanges =
171
+ await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
172
+ }
173
+ return hasNativeChanges;
174
+ }
175
+ async startNativeWatcher(platformData, projectData) {
176
+ if (this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher) {
177
+ return false;
178
+ }
179
+ const patterns = await this.getWatcherPatterns(platformData, projectData);
180
+ const watcherOptions = {
181
+ ignoreInitial: true,
182
+ cwd: projectData.projectDir,
183
+ awaitWriteFinish: {
184
+ pollInterval: 100,
185
+ stabilityThreshold: 500,
186
+ },
187
+ ignored: ["**/.*", ".*"],
188
+ };
189
+ const watcher = choki
190
+ .watch(patterns, watcherOptions)
191
+ .on("all", async (event, filePath) => {
192
+ if (this.isFileWatcherPaused())
193
+ return;
194
+ filePath = path.join(projectData.projectDir, filePath);
195
+ if (this.$watchIgnoreListService.isFileInIgnoreList(filePath)) {
196
+ this.$watchIgnoreListService.removeFileFromIgnoreList(filePath);
143
197
  }
144
- this.isInitialPrepareReady = true;
145
- if (this.persistedData && this.persistedData.length) {
198
+ else {
199
+ this.$logger.info(`Chokidar raised event ${event} for ${filePath}.`);
200
+ await this.writeRuntimePackageJson(projectData, platformData);
146
201
  this.emitPrepareEvent({
147
- files: [],
202
+ files: [filePath],
148
203
  staleFiles: [],
149
204
  hasOnlyHotUpdateFiles: false,
150
- hasNativeChanges: result.hasNativeChanges,
151
205
  hmrData: null,
206
+ hasNativeChanges: true,
152
207
  platform: platformData.platformNameLowerCase,
153
208
  });
154
209
  }
155
- return result;
156
- });
157
- }
158
- startJSWatcherWithPrepare(platformData, projectData, prepareData) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- if (!this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess) {
161
- const handler = (data) => {
162
- var _a;
163
- if (data.platform.toLowerCase() === platformData.platformNameLowerCase) {
164
- if (this.isFileWatcherPaused())
165
- return;
166
- this.emitPrepareEvent(Object.assign(Object.assign({}, data), { files: (_a = data.files) !== null && _a !== void 0 ? _a : [], hasNativeChanges: false }));
167
- }
168
- };
169
- this.webpackCompilerHandler = handler.bind(this);
170
- this.$webpackCompilerService.on(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
171
- this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess = true;
172
- yield this.$webpackCompilerService.compileWithWatch(platformData, projectData, prepareData);
173
- }
174
- });
175
- }
176
- startNativeWatcherWithPrepare(platformData, projectData, prepareData) {
177
- return __awaiter(this, void 0, void 0, function* () {
178
- let newNativeWatchStarted = false;
179
- let hasNativeChanges = false;
180
- if (prepareData.watchNative) {
181
- newNativeWatchStarted = yield this.startNativeWatcher(platformData, projectData);
182
- }
183
- if (newNativeWatchStarted) {
184
- hasNativeChanges =
185
- yield this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
186
- }
187
- return hasNativeChanges;
188
210
  });
211
+ this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher = watcher;
212
+ return true;
189
213
  }
190
- startNativeWatcher(platformData, projectData) {
191
- return __awaiter(this, void 0, void 0, function* () {
192
- if (this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher) {
193
- return false;
194
- }
195
- const patterns = yield this.getWatcherPatterns(platformData, projectData);
196
- const watcherOptions = {
197
- ignoreInitial: true,
198
- cwd: projectData.projectDir,
199
- awaitWriteFinish: {
200
- pollInterval: 100,
201
- stabilityThreshold: 500,
202
- },
203
- ignored: ["**/.*", ".*"],
204
- };
205
- const watcher = choki
206
- .watch(patterns, watcherOptions)
207
- .on("all", (event, filePath) => __awaiter(this, void 0, void 0, function* () {
208
- if (this.isFileWatcherPaused())
209
- return;
210
- filePath = path.join(projectData.projectDir, filePath);
211
- if (this.$watchIgnoreListService.isFileInIgnoreList(filePath)) {
212
- this.$watchIgnoreListService.removeFileFromIgnoreList(filePath);
213
- }
214
- else {
215
- this.$logger.info(`Chokidar raised event ${event} for ${filePath}.`);
216
- yield this.writeRuntimePackageJson(projectData, platformData);
217
- this.emitPrepareEvent({
218
- files: [filePath],
219
- staleFiles: [],
220
- hasOnlyHotUpdateFiles: false,
221
- hmrData: null,
222
- hasNativeChanges: true,
223
- platform: platformData.platformNameLowerCase,
224
- });
225
- }
226
- }));
227
- this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].nativeFilesWatcher = watcher;
228
- return true;
229
- });
214
+ async getWatcherPatterns(platformData, projectData) {
215
+ const dependencies = this.$nodeModulesDependenciesBuilder
216
+ .getProductionDependencies(projectData.projectDir, projectData.ignoredDependencies)
217
+ .filter((dep) => dep.nativescript);
218
+ const pluginsNativeDirectories = dependencies.map((dep) => path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase));
219
+ const pluginsPackageJsonFiles = dependencies.map((dep) => path.join(dep.directory, constants_1.PACKAGE_JSON_FILE_NAME));
220
+ const patterns = [
221
+ path.join(projectData.projectDir, constants_1.PACKAGE_JSON_FILE_NAME),
222
+ path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_JS),
223
+ path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_TS),
224
+ path.join(projectData.getAppDirectoryPath(), constants_1.PACKAGE_JSON_FILE_NAME),
225
+ path.join(projectData.getAppResourcesRelativeDirectoryPath(), platformData.normalizedPlatformName),
226
+ ]
227
+ .concat(pluginsNativeDirectories)
228
+ .concat(pluginsPackageJsonFiles);
229
+ return patterns;
230
230
  }
231
- getWatcherPatterns(platformData, projectData) {
232
- return __awaiter(this, void 0, void 0, function* () {
233
- const dependencies = this.$nodeModulesDependenciesBuilder
234
- .getProductionDependencies(projectData.projectDir, projectData.ignoredDependencies)
235
- .filter((dep) => dep.nativescript);
236
- const pluginsNativeDirectories = dependencies.map((dep) => path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase));
237
- const pluginsPackageJsonFiles = dependencies.map((dep) => path.join(dep.directory, constants_1.PACKAGE_JSON_FILE_NAME));
238
- const patterns = [
239
- path.join(projectData.projectDir, constants_1.PACKAGE_JSON_FILE_NAME),
240
- path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_JS),
241
- path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_TS),
242
- path.join(projectData.getAppDirectoryPath(), constants_1.PACKAGE_JSON_FILE_NAME),
243
- path.join(projectData.getAppResourcesRelativeDirectoryPath(), platformData.normalizedPlatformName),
244
- ]
245
- .concat(pluginsNativeDirectories)
246
- .concat(pluginsPackageJsonFiles);
247
- return patterns;
231
+ async writeRuntimePackageJson(projectData, platformData) {
232
+ var _a, _b;
233
+ const configInfo = this.$projectConfigService.detectProjectConfigs(projectData.projectDir);
234
+ if (configInfo.usingNSConfig) {
235
+ return;
236
+ }
237
+ this.$logger.info("Updating runtime package.json with configuration values...");
238
+ const { hooks, ignoredNativeDependencies, webpackPackageName, webpackConfigPath, appResourcesPath, buildPath, appPath, ...nsConfig } = this.$projectConfigService.readConfig(projectData.projectDir);
239
+ const platform = platformData.platformNameLowerCase;
240
+ let installedRuntimePackageJSON;
241
+ let runtimePackageName;
242
+ if (platform === "ios") {
243
+ runtimePackageName = ((_a = projectData.nsConfig.ios) === null || _a === void 0 ? void 0 : _a.runtimePackageName) || constants_1.SCOPED_IOS_RUNTIME_NAME;
244
+ }
245
+ else if (platform === "android") {
246
+ runtimePackageName = ((_b = projectData.nsConfig.android) === null || _b === void 0 ? void 0 : _b.runtimePackageName) || constants_1.SCOPED_ANDROID_RUNTIME_NAME;
247
+ }
248
+ const installedRuntimePackageJSONPath = (0, resolve_package_path_1.resolvePackageJSONPath)(runtimePackageName, {
249
+ paths: [projectData.projectDir],
248
250
  });
249
- }
250
- writeRuntimePackageJson(projectData, platformData) {
251
- return __awaiter(this, void 0, void 0, function* () {
252
- const configInfo = this.$projectConfigService.detectProjectConfigs(projectData.projectDir);
253
- if (configInfo.usingNSConfig) {
254
- return;
251
+ if (installedRuntimePackageJSONPath) {
252
+ installedRuntimePackageJSON = this.$fs.readJson(installedRuntimePackageJSONPath);
253
+ }
254
+ const packageData = {
255
+ ..._.pick(projectData.packageJsonData, ["name"]),
256
+ ...nsConfig,
257
+ main: "bundle",
258
+ ...(installedRuntimePackageJSON ? {} : {})
259
+ };
260
+ if (platform === "ios") {
261
+ if (installedRuntimePackageJSON) {
262
+ packageData.ios = packageData.ios || {};
263
+ packageData.ios.runtime = {
264
+ version: installedRuntimePackageJSON.version
265
+ };
255
266
  }
256
- this.$logger.info("Updating runtime package.json with configuration values...");
257
- const nsConfig = this.$projectConfigService.readConfig(projectData.projectDir);
258
- const packageData = Object.assign(Object.assign(Object.assign({}, _.pick(projectData.packageJsonData, ["name"])), nsConfig), { main: "bundle" });
259
- if (platformData.platformNameLowerCase === "ios" &&
260
- packageData.ios &&
267
+ if (packageData.ios &&
261
268
  packageData.ios.discardUncaughtJsExceptions) {
262
269
  packageData.discardUncaughtJsExceptions =
263
270
  packageData.ios.discardUncaughtJsExceptions;
264
271
  }
265
- if (platformData.platformNameLowerCase === "android" &&
266
- packageData.android &&
272
+ delete packageData.android;
273
+ }
274
+ if (platform === "android") {
275
+ if (installedRuntimePackageJSON) {
276
+ packageData.android = packageData.android || {};
277
+ packageData.android.runtime = {
278
+ version: installedRuntimePackageJSON.version,
279
+ version_info: installedRuntimePackageJSON.version_info,
280
+ gradle: installedRuntimePackageJSON.gradle
281
+ };
282
+ }
283
+ if (packageData.android &&
267
284
  packageData.android.discardUncaughtJsExceptions) {
268
285
  packageData.discardUncaughtJsExceptions =
269
286
  packageData.android.discardUncaughtJsExceptions;
270
287
  }
271
- let packagePath;
272
- if (this.$mobileHelper.isApplePlatform(platformData.platformNameLowerCase)) {
273
- packagePath = path.join(platformData.projectRoot, projectData.projectName, "app", "package.json");
274
- }
275
- else {
276
- packagePath = path.join(platformData.projectRoot, "app", "src", "main", "assets", "app", "package.json");
277
- }
278
- try {
279
- const emittedPackageData = this.$fs.readJson(packagePath);
280
- if (emittedPackageData === null || emittedPackageData === void 0 ? void 0 : emittedPackageData.main) {
281
- packageData.main = emittedPackageData.main;
282
- }
283
- }
284
- catch (error) {
285
- this.$logger.trace("Failed to read emitted package.json. Error is: ", error);
288
+ delete packageData.ios;
289
+ }
290
+ let packagePath;
291
+ if (this.$mobileHelper.isApplePlatform(platformData.platformNameLowerCase)) {
292
+ packagePath = path.join(platformData.projectRoot, projectData.projectName, "app", "package.json");
293
+ }
294
+ else {
295
+ packagePath = path.join(platformData.projectRoot, this.$options.hostProjectModuleName, "src", this.$options.hostProjectPath ? "nativescript" : "main", "assets", "app", "package.json");
296
+ }
297
+ try {
298
+ const emittedPackageData = this.$fs.readJson(packagePath);
299
+ if (emittedPackageData === null || emittedPackageData === void 0 ? void 0 : emittedPackageData.main) {
300
+ packageData.main = emittedPackageData.main;
286
301
  }
287
- this.$fs.writeJson(packagePath, packageData);
288
- });
302
+ }
303
+ catch (error) {
304
+ this.$logger.trace("Failed to read emitted package.json. Error is: ", error);
305
+ }
306
+ this.$fs.writeJson(packagePath, packageData);
289
307
  }
290
308
  emitPrepareEvent(filesChangeEventData) {
291
309
  if (this.isInitialPrepareReady) {
@@ -295,47 +313,44 @@ class PrepareController extends events_1.EventEmitter {
295
313
  this.persistedData.push(filesChangeEventData);
296
314
  }
297
315
  }
298
- trackRuntimeVersion(platform, projectData) {
299
- return __awaiter(this, void 0, void 0, function* () {
300
- const { version } = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
301
- if (!version) {
302
- this.$logger.trace(`Unable to get runtime version for project directory: ${projectData.projectDir} and platform ${platform}.`);
303
- return;
304
- }
305
- yield this.$analyticsService.trackEventActionInGoogleAnalytics({
306
- action: "Using Runtime Version",
307
- additionalData: `${platform.toLowerCase()}${constants_1.AnalyticsEventLabelDelimiter}${version}`,
308
- });
316
+ async trackRuntimeVersion(platform, projectData) {
317
+ const { version } = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
318
+ if (!version) {
319
+ this.$logger.trace(`Unable to get runtime version for project directory: ${projectData.projectDir} and platform ${platform}.`);
320
+ return;
321
+ }
322
+ await this.$analyticsService.trackEventActionInGoogleAnalytics({
323
+ action: "Using Runtime Version",
324
+ additionalData: `${platform.toLowerCase()}${constants_1.AnalyticsEventLabelDelimiter}${version}`,
309
325
  });
310
326
  }
311
327
  isFileWatcherPaused() {
312
328
  return this.pausedFileWatch;
313
329
  }
314
- toggleFileWatcher() {
315
- return __awaiter(this, void 0, void 0, function* () {
316
- this.pausedFileWatch = !this.pausedFileWatch;
317
- const watchers = Object.values(this.watchersData);
318
- if (this.pausedFileWatch) {
319
- for (const watcher of watchers) {
320
- for (const platform in watcher) {
321
- yield this.$webpackCompilerService.stopWebpackCompiler(platform);
322
- watcher[platform].hasWebpackCompilerProcess = false;
323
- }
330
+ async toggleFileWatcher() {
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
+ await this.$webpackCompilerService.stopWebpackCompiler(platform);
337
+ watcher[platform].hasWebpackCompilerProcess = false;
324
338
  }
325
339
  }
326
- else {
327
- for (const watcher of watchers) {
328
- for (const platform in watcher) {
329
- const args = watcher[platform].prepareArguments;
330
- watcher[platform].hasWebpackCompilerProcess = true;
331
- yield this.$webpackCompilerService.compileWithWatch(args.platformData, args.projectData, args.prepareData);
332
- }
340
+ }
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
+ await this.$webpackCompilerService.compileWithWatch(args.platformData, args.projectData, args.prepareData);
333
347
  }
334
348
  }
335
- return this.pausedFileWatch;
336
- });
349
+ }
350
+ return this.pausedFileWatch;
337
351
  }
338
352
  }
353
+ exports.PrepareController = PrepareController;
339
354
  __decorate([
340
355
  (0, decorators_1.performanceLog)(),
341
356
  (0, helpers_1.hook)("prepare")
@@ -349,5 +364,4 @@ __decorate([
349
364
  __decorate([
350
365
  (0, decorators_1.cache)()
351
366
  ], PrepareController.prototype, "trackRuntimeVersion", null);
352
- exports.PrepareController = PrepareController;
353
367
  yok_1.injector.register("prepareController", PrepareController);