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