nativescript 9.1.0-alpha.14 → 9.1.0-alpha.16

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 (344) hide show
  1. package/docs/build-jekyll-md.sh +1 -1
  2. package/docs/man_pages/config/config-set.md +2 -0
  3. package/lib/android-tools-info.js +0 -12
  4. package/lib/base-package-manager.js +0 -7
  5. package/lib/bootstrap.js +1 -5
  6. package/lib/bun-package-manager.js +1 -14
  7. package/lib/color.js +0 -4
  8. package/lib/commands/add-platform.js +0 -1
  9. package/lib/commands/apple-login.js +0 -1
  10. package/lib/commands/appstore-list.js +0 -1
  11. package/lib/commands/appstore-upload.js +0 -3
  12. package/lib/commands/build.js +3 -3
  13. package/lib/commands/clean.js +1 -22
  14. package/lib/commands/command-base.js +0 -1
  15. package/lib/commands/config.js +0 -5
  16. package/lib/commands/create-project.js +0 -6
  17. package/lib/commands/debug.js +2 -6
  18. package/lib/commands/deploy.js +3 -3
  19. package/lib/commands/embedding/embed.js +0 -7
  20. package/lib/commands/extensibility/install-extension.js +0 -1
  21. package/lib/commands/extensibility/list-extensions.js +0 -1
  22. package/lib/commands/extensibility/uninstall-extension.js +0 -1
  23. package/lib/commands/fonts.js +0 -1
  24. package/lib/commands/generate-assets.js +0 -1
  25. package/lib/commands/generate-help.js +0 -1
  26. package/lib/commands/generate.js +1 -48
  27. package/lib/commands/hooks/common.js +1 -2
  28. package/lib/commands/hooks/hooks-lock.js +0 -1
  29. package/lib/commands/hooks/hooks.js +0 -1
  30. package/lib/commands/info.js +0 -1
  31. package/lib/commands/install.js +0 -1
  32. package/lib/commands/list-platforms.js +0 -1
  33. package/lib/commands/migrate.js +0 -1
  34. package/lib/commands/native-add.js +0 -5
  35. package/lib/commands/platform-clean.js +0 -1
  36. package/lib/commands/plugin/add-plugin.js +0 -1
  37. package/lib/commands/plugin/build-plugin.js +0 -1
  38. package/lib/commands/plugin/create-plugin.js +0 -5
  39. package/lib/commands/plugin/list-plugins.js +0 -1
  40. package/lib/commands/plugin/remove-plugin.js +0 -2
  41. package/lib/commands/plugin/update-plugin.js +0 -1
  42. package/lib/commands/post-install.js +0 -6
  43. package/lib/commands/prepare.js +5 -5
  44. package/lib/commands/preview.js +0 -2
  45. package/lib/commands/remove-platform.js +0 -1
  46. package/lib/commands/resources/resources-update.js +0 -2
  47. package/lib/commands/run.js +0 -1
  48. package/lib/commands/setup.js +0 -1
  49. package/lib/commands/start.js +0 -1
  50. package/lib/commands/test-init.js +0 -4
  51. package/lib/commands/test.js +3 -9
  52. package/lib/commands/typings.js +1 -2
  53. package/lib/commands/update-platform.js +0 -5
  54. package/lib/commands/update.js +0 -2
  55. package/lib/commands/widget.js +0 -18
  56. package/lib/common/bootstrap.js +0 -1
  57. package/lib/common/child-process.js +0 -3
  58. package/lib/common/codeGeneration/code-entity.js +0 -1
  59. package/lib/common/codeGeneration/code-printer.js +0 -1
  60. package/lib/common/command-params.js +0 -1
  61. package/lib/common/commands/analytics.js +0 -3
  62. package/lib/common/commands/autocompletion.js +0 -3
  63. package/lib/common/commands/device/device-log-stream.js +0 -1
  64. package/lib/common/commands/device/get-file.js +0 -2
  65. package/lib/common/commands/device/list-applications.js +0 -1
  66. package/lib/common/commands/device/list-devices.js +0 -3
  67. package/lib/common/commands/device/list-files.js +0 -2
  68. package/lib/common/commands/device/put-file.js +0 -2
  69. package/lib/common/commands/device/run-application.js +0 -1
  70. package/lib/common/commands/device/stop-application.js +0 -1
  71. package/lib/common/commands/device/uninstall-application.js +0 -1
  72. package/lib/common/commands/doctor.js +3 -3
  73. package/lib/common/commands/generate-messages.js +0 -1
  74. package/lib/common/commands/help.js +0 -1
  75. package/lib/common/commands/package-manager-get.js +0 -1
  76. package/lib/common/commands/package-manager-set.js +0 -1
  77. package/lib/common/commands/post-install.js +0 -1
  78. package/lib/common/commands/preuninstall.js +2 -11
  79. package/lib/common/commands/proxy/proxy-base.js +0 -4
  80. package/lib/common/commands/proxy/proxy-clear.js +0 -1
  81. package/lib/common/commands/proxy/proxy-get.js +0 -1
  82. package/lib/common/commands/proxy/proxy-set.js +0 -1
  83. package/lib/common/common-lib.js +0 -1
  84. package/lib/common/constants.js +14 -12
  85. package/lib/common/declarations.d.ts +37 -117
  86. package/lib/common/decorators.js +0 -48
  87. package/lib/common/definitions/key-commands.js +8 -0
  88. package/lib/common/dispatchers.js +1 -10
  89. package/lib/common/enums.js +42 -0
  90. package/lib/common/errors.js +4 -13
  91. package/lib/common/file-system.js +2 -13
  92. package/lib/common/header.js +0 -3
  93. package/lib/common/helpers.js +3 -89
  94. package/lib/common/host-info.js +0 -4
  95. package/lib/common/http-client.js +0 -20
  96. package/lib/common/logger/appenders/cli-appender.js +0 -4
  97. package/lib/common/logger/appenders/emit-appender.js +0 -4
  98. package/lib/common/logger/layouts/cli-layout.js +0 -1
  99. package/lib/common/logger/logger.js +0 -5
  100. package/lib/common/messages/messages.js +0 -6
  101. package/lib/common/mobile/android/android-application-manager.js +1 -20
  102. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +0 -1
  103. package/lib/common/mobile/android/android-debug-bridge.js +0 -6
  104. package/lib/common/mobile/android/android-device-file-system.js +0 -4
  105. package/lib/common/mobile/android/android-device-hash-service.js +0 -3
  106. package/lib/common/mobile/android/android-device.js +0 -8
  107. package/lib/common/mobile/android/android-emulator-services.js +1 -2
  108. package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
  109. package/lib/common/mobile/android/android-log-filter.js +0 -4
  110. package/lib/common/mobile/android/android-virtual-device-service.js +0 -26
  111. package/lib/common/mobile/android/device-android-debug-bridge.js +0 -1
  112. package/lib/common/mobile/android/genymotion/genymotion-service.js +1 -6
  113. package/lib/common/mobile/android/genymotion/virtualbox-service.js +0 -11
  114. package/lib/common/mobile/android/logcat-helper.js +0 -13
  115. package/lib/common/mobile/application-manager-base.js +0 -6
  116. package/lib/common/mobile/device-emitter.js +0 -4
  117. package/lib/common/mobile/device-log-emitter.js +0 -1
  118. package/lib/common/mobile/device-log-provider-base.js +0 -1
  119. package/lib/common/mobile/device-log-provider.js +0 -23
  120. package/lib/common/mobile/device-platforms-constants.js +0 -1
  121. package/lib/common/mobile/emulator-helper.js +0 -3
  122. package/lib/common/mobile/ios/device/ios-application-manager.js +0 -3
  123. package/lib/common/mobile/ios/device/ios-device-file-system.js +0 -9
  124. package/lib/common/mobile/ios/device/ios-device-operations.js +0 -4
  125. package/lib/common/mobile/ios/device/ios-device.js +0 -4
  126. package/lib/common/mobile/ios/ios-device-base.js +0 -1
  127. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
  128. package/lib/common/mobile/ios/ios-log-filter.js +0 -1
  129. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +0 -4
  130. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +0 -1
  131. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +0 -6
  132. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +0 -5
  133. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +0 -1
  134. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +0 -1
  135. package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
  136. package/lib/common/mobile/log-filter.js +0 -2
  137. package/lib/common/mobile/logging-levels.js +0 -1
  138. package/lib/common/mobile/mobile-core/android-device-discovery.js +0 -2
  139. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +0 -3
  140. package/lib/common/mobile/mobile-core/android-process-service.js +0 -32
  141. package/lib/common/mobile/mobile-core/device-discovery.js +0 -1
  142. package/lib/common/mobile/mobile-core/devices-service.js +0 -69
  143. package/lib/common/mobile/mobile-core/ios-device-discovery.js +0 -2
  144. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +0 -3
  145. package/lib/common/mobile/mobile-helper.js +0 -1
  146. package/lib/common/mobile/wp8/wp8-emulator-services.js +0 -1
  147. package/lib/common/opener.js +0 -1
  148. package/lib/common/os-info.js +0 -1
  149. package/lib/common/plist-parser.js +0 -1
  150. package/lib/common/project-helper.js +0 -1
  151. package/lib/common/prompter.js +1 -9
  152. package/lib/common/queue.js +0 -1
  153. package/lib/common/resource-loader.js +0 -1
  154. package/lib/common/services/analytics/google-analytics-custom-dimensions.js +13 -0
  155. package/lib/common/services/auto-completion-service.js +1 -13
  156. package/lib/common/services/cancellation.js +2 -2
  157. package/lib/common/services/commands-service.js +8 -17
  158. package/lib/common/services/help-service.js +4 -11
  159. package/lib/common/services/hooks-service.js +0 -13
  160. package/lib/common/services/ios-notification-service.js +0 -1
  161. package/lib/common/services/json-file-settings-service.js +0 -6
  162. package/lib/common/services/lock-service.js +0 -6
  163. package/lib/common/services/message-contract-generator.js +0 -1
  164. package/lib/common/services/messages-service.js +0 -1
  165. package/lib/common/services/micro-templating-service.js +0 -6
  166. package/lib/common/services/net-service.js +0 -3
  167. package/lib/common/services/project-files-manager.js +0 -5
  168. package/lib/common/services/project-files-provider-base.js +0 -1
  169. package/lib/common/services/proxy-service.js +0 -1
  170. package/lib/common/services/qr.js +0 -1
  171. package/lib/common/services/settings-service.js +0 -1
  172. package/lib/common/services/xcode-select-service.js +0 -1
  173. package/lib/common/utils.js +0 -1
  174. package/lib/common/validators/project-name-validator.js +0 -1
  175. package/lib/common/validators/validation-result.js +0 -1
  176. package/lib/common/verify-node-version.js +2 -8
  177. package/lib/common/yok.js +12 -32
  178. package/lib/config.js +1 -22
  179. package/lib/constants-provider.js +0 -1
  180. package/lib/constants.js +54 -58
  181. package/lib/controllers/build-controller.js +3 -4
  182. package/lib/controllers/debug-controller.js +3 -8
  183. package/lib/controllers/deploy-controller.js +0 -1
  184. package/lib/controllers/migrate-controller.js +4 -90
  185. package/lib/controllers/platform-controller.js +2 -9
  186. package/lib/controllers/prepare-controller.js +8 -24
  187. package/lib/controllers/run-controller.js +1 -81
  188. package/lib/controllers/update-controller-base.js +0 -1
  189. package/lib/controllers/update-controller.js +0 -11
  190. package/lib/data/build-data.js +0 -1
  191. package/lib/data/controller-data-base.js +0 -1
  192. package/lib/data/debug-data.js +0 -1
  193. package/lib/data/platform-data.js +0 -1
  194. package/lib/data/prepare-data.js +0 -1
  195. package/lib/data/run-data.js +0 -1
  196. package/lib/definitions/project.d.ts +1 -6
  197. package/lib/definitions/system-warnings.js +8 -0
  198. package/lib/detached-processes/cleanup-js-subprocess.js +3 -8
  199. package/lib/detached-processes/cleanup-process.js +15 -18
  200. package/lib/detached-processes/detached-process-enums.js +24 -0
  201. package/lib/detached-processes/file-log-service.js +2 -2
  202. package/lib/device-path-provider.js +0 -1
  203. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +0 -7
  204. package/lib/device-sockets/ios/notification.js +0 -3
  205. package/lib/device-sockets/ios/socket-request-executor.js +0 -3
  206. package/lib/helpers/android-bundle-validator-helper.js +1 -2
  207. package/lib/helpers/deploy-command-helper.js +0 -1
  208. package/lib/helpers/key-command-helper.js +3 -4
  209. package/lib/helpers/livesync-command-helper.js +2 -4
  210. package/lib/helpers/network-connectivity-validator.js +0 -1
  211. package/lib/helpers/options-track-helper.js +4 -3
  212. package/lib/helpers/package-path-helper.js +0 -1
  213. package/lib/helpers/platform-command-helper.js +2 -7
  214. package/lib/helpers/version-validator-helper.js +0 -1
  215. package/lib/key-commands/bootstrap.js +3 -3
  216. package/lib/key-commands/index.js +5 -5
  217. package/lib/nativescript-cli-lib-bootstrap.js +0 -4
  218. package/lib/nativescript-cli-lib.js +0 -1
  219. package/lib/nativescript-cli.js +2 -11
  220. package/lib/node/pbxproj-dom-xcode.js +0 -1
  221. package/lib/node/xcode.js +0 -1
  222. package/lib/node-package-manager.js +1 -11
  223. package/lib/options.js +121 -145
  224. package/lib/package-installation-manager.js +1 -8
  225. package/lib/package-manager.js +0 -2
  226. package/lib/platform-command-param.js +0 -1
  227. package/lib/pnpm-package-manager.js +1 -4
  228. package/lib/project-data.js +0 -12
  229. package/lib/providers/project-files-provider.js +0 -1
  230. package/lib/resolvers/livesync-service-resolver.js +0 -1
  231. package/lib/services/analytics/analytics-broker-process.js +8 -10
  232. package/lib/services/analytics/analytics-broker.js +2 -2
  233. package/lib/services/analytics/analytics-service.js +29 -29
  234. package/lib/services/analytics/google-analytics-provider.js +16 -13
  235. package/lib/services/analytics-settings-service.js +0 -5
  236. package/lib/services/android/android-bundle-tool-service.js +0 -1
  237. package/lib/services/android/gradle-build-args-service.js +0 -3
  238. package/lib/services/android/gradle-build-service.js +0 -1
  239. package/lib/services/android/gradle-command-service.js +0 -1
  240. package/lib/services/android-device-debug-service.js +0 -6
  241. package/lib/services/android-plugin-build-service.js +2 -31
  242. package/lib/services/android-project-service.js +4 -71
  243. package/lib/services/android-resources-migration-service.js +0 -7
  244. package/lib/services/apple-portal/apple-portal-application-service.js +0 -1
  245. package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
  246. package/lib/services/apple-portal/apple-portal-session-service.js +4 -6
  247. package/lib/services/apple-portal/srp/srp-wrapper.js +1 -4
  248. package/lib/services/assets-generation/assets-generation-service.js +13 -11
  249. package/lib/services/build-artifacts-service.js +1 -2
  250. package/lib/services/build-data-service.js +0 -1
  251. package/lib/services/build-info-file-service.js +0 -1
  252. package/lib/services/bundler/bundler-compiler-service.js +26 -157
  253. package/lib/services/bundler/bundler.js +0 -1
  254. package/lib/services/cleanup-service.js +10 -13
  255. package/lib/services/cocoapods-platform-manager.js +0 -9
  256. package/lib/services/cocoapods-service.js +1 -21
  257. package/lib/services/debug-data-service.js +0 -1
  258. package/lib/services/debug-service-base.js +0 -7
  259. package/lib/services/device/device-install-app-service.js +1 -2
  260. package/lib/services/doctor-service.js +6 -21
  261. package/lib/services/extensibility-service.js +0 -8
  262. package/lib/services/files-hash-service.js +0 -1
  263. package/lib/services/hmr-status-service.js +0 -2
  264. package/lib/services/info-service.js +0 -1
  265. package/lib/services/initialize-service.js +2 -5
  266. package/lib/services/ios/export-options-plist-service.js +0 -4
  267. package/lib/services/ios/ios-signing-service.js +0 -4
  268. package/lib/services/ios/spm-service.js +10 -120
  269. package/lib/services/ios/xcodebuild-args-service.js +0 -29
  270. package/lib/services/ios/xcodebuild-command-service.js +0 -3
  271. package/lib/services/ios/xcodebuild-service.js +1 -2
  272. package/lib/services/ios-debugger-port-service.js +0 -1
  273. package/lib/services/ios-device-debug-service.js +0 -1
  274. package/lib/services/ios-entitlements-service.js +0 -1
  275. package/lib/services/ios-extensions-service.js +0 -1
  276. package/lib/services/ios-log-filter.js +0 -20
  277. package/lib/services/ios-native-target-service.js +5 -6
  278. package/lib/services/ios-project-service.js +7 -133
  279. package/lib/services/ios-provision-service.js +0 -3
  280. package/lib/services/ios-watch-app-service.js +10 -60
  281. package/lib/services/ip-service.js +0 -2
  282. package/lib/services/itmstransporter-service.js +0 -1
  283. package/lib/services/karma-execution.js +0 -2
  284. package/lib/services/livesync/android-device-livesync-service-base.js +0 -1
  285. package/lib/services/livesync/android-device-livesync-service.js +0 -2
  286. package/lib/services/livesync/android-device-livesync-sockets-service.js +0 -3
  287. package/lib/services/livesync/android-livesync-service.js +0 -1
  288. package/lib/services/livesync/android-livesync-tool.js +0 -4
  289. package/lib/services/livesync/device-livesync-service-base.js +0 -2
  290. package/lib/services/livesync/ios-device-livesync-service.js +0 -7
  291. package/lib/services/livesync/ios-livesync-service.js +0 -55
  292. package/lib/services/livesync/livesync-socket.js +0 -1
  293. package/lib/services/livesync/platform-livesync-service-base.js +0 -5
  294. package/lib/services/livesync-process-data-service.js +0 -1
  295. package/lib/services/log-parser-service.js +0 -1
  296. package/lib/services/log-source-map-service.js +0 -15
  297. package/lib/services/marking-mode-service.js +10 -8
  298. package/lib/services/metadata-filtering-service.js +0 -1
  299. package/lib/services/npm-config-service.js +0 -4
  300. package/lib/services/pacote-service.js +0 -7
  301. package/lib/services/performance-service.js +2 -3
  302. package/lib/services/platform/add-platform-service.js +2 -49
  303. package/lib/services/platform/platform-validation-service.js +0 -1
  304. package/lib/services/platform/prepare-native-platform-service.js +3 -5
  305. package/lib/services/platform-environment-requirements.js +4 -8
  306. package/lib/services/platform-project-service-base.js +0 -1
  307. package/lib/services/platforms-data-service.js +0 -1
  308. package/lib/services/plugins-service.js +2 -20
  309. package/lib/services/prepare-data-service.js +0 -1
  310. package/lib/services/project-backup-service.js +0 -4
  311. package/lib/services/project-changes-service.js +3 -14
  312. package/lib/services/project-cleanup-service.js +0 -2
  313. package/lib/services/project-config-service.js +2 -21
  314. package/lib/services/project-data-service.js +7 -36
  315. package/lib/services/project-name-service.js +0 -1
  316. package/lib/services/project-service.js +0 -10
  317. package/lib/services/project-templates-service.js +2 -3
  318. package/lib/services/qr-code-terminal-service.js +0 -1
  319. package/lib/services/require-service.js +0 -1
  320. package/lib/services/start-service.js +0 -1
  321. package/lib/services/temp-service.js +0 -3
  322. package/lib/services/terminal-spinner-service.js +0 -2
  323. package/lib/services/test-execution-service.js +3 -9
  324. package/lib/services/test-initialization-service.js +0 -4
  325. package/lib/services/timeline-profiler-service.js +0 -1
  326. package/lib/services/user-settings-service.js +0 -1
  327. package/lib/services/versions-service.js +5 -6
  328. package/lib/services/watch-ignore-list-service.js +0 -1
  329. package/lib/services/xcconfig-service.js +45 -12
  330. package/lib/services/xcproj-service.js +0 -1
  331. package/lib/shared-event-bus.js +0 -6
  332. package/lib/sys-info.js +2 -2
  333. package/lib/tools/config-manipulation/config-transformer.js +0 -12
  334. package/lib/tools/node-modules/node-modules-builder.js +0 -1
  335. package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
  336. package/lib/yarn-package-manager.js +0 -1
  337. package/lib/yarn2-package-manager.js +0 -3
  338. package/package.json +9 -20
  339. package/lib/.d.ts +0 -504
  340. package/lib/common/definitions/key-commands.d.ts +0 -62
  341. package/lib/common/services/analytics/google-analytics-custom-dimensions.d.ts +0 -16
  342. package/lib/definitions/system-warnings.d.ts +0 -4
  343. package/lib/detached-processes/detached-process-enums.d.ts +0 -70
  344. package/lib/services/analytics/google-analytics-cross-client-custom-dimensions.d.ts +0 -6
@@ -16,11 +16,9 @@ const decorators_1 = require("../../common/decorators");
16
16
  const constants_1 = require("../../constants");
17
17
  const yok_1 = require("../../common/yok");
18
18
  const package_path_helper_1 = require("../../helpers/package-path-helper");
19
- /* for specific bundling debugging separate from logger */
20
19
  const debugLog = false;
21
20
  class BundlerCompilerService extends events_1.EventEmitter {
22
- constructor($options, $errors, $childProcess, $fs, $hooksService, $hostInfo, $logger, $mobileHelper, $cleanupService, $packageManager, $packageInstallationManager, // private $sharedEventBus: ISharedEventBus
23
- $projectConfigService) {
21
+ constructor($options, $errors, $childProcess, $fs, $hooksService, $hostInfo, $logger, $mobileHelper, $cleanupService, $packageManager, $packageInstallationManager, $projectConfigService) {
24
22
  super();
25
23
  this.$options = $options;
26
24
  this.$errors = $errors;
@@ -35,15 +33,18 @@ class BundlerCompilerService extends events_1.EventEmitter {
35
33
  this.$packageInstallationManager = $packageInstallationManager;
36
34
  this.$projectConfigService = $projectConfigService;
37
35
  this.bundlerProcesses = {};
38
- // Vite-only: the long-lived `vite serve` dev server the device fetches
39
- // modules and HMR updates from. Keyed by platform, managed by this CLI
40
- // so users no longer need a separate `concurrently`/`wait-on` process.
41
36
  this.viteServeProcesses = {};
42
37
  this.expectedHashes = {};
43
38
  }
44
39
  getViteDistOutputPath(projectDir) {
45
40
  return path.join(projectDir, process.env.NS_VITE_DIST_DIR || constants_1.VITE_DIST_FOLDER_NAME);
46
41
  }
42
+ getViteBuildPaths(platformData, projectData) {
43
+ return {
44
+ distOutput: this.getViteDistOutputPath(projectData.projectDir),
45
+ destDir: path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName),
46
+ };
47
+ }
47
48
  async compileWithWatch(platformData, projectData, prepareData) {
48
49
  return new Promise(async (resolve, reject) => {
49
50
  if (this.bundlerProcesses[platformData.platformNameLowerCase]) {
@@ -52,22 +53,9 @@ class BundlerCompilerService extends events_1.EventEmitter {
52
53
  }
53
54
  let isFirstBundlerWatchCompilation = true;
54
55
  prepareData.watch = true;
55
- // Bring up the Vite HMR dev server the device fetches modules /
56
- // HMR updates from. No-op unless bundler is vite + hmr + watch.
57
- // Fired in parallel with the build watcher; both child processes
58
- // inherit the adb-reverse env the run-controller set before
59
- // prepare, so neither one spawns adb on its own. Not awaited HERE
60
- // — but the first-build resolution below gates on it, because the
61
- // app is (re)started as soon as `compileWithWatch` resolves and its
62
- // very first HTTP module fetch dies on connection-refused if the
63
- // server hasn't bound yet (a cold `vite serve` config load + vendor
64
- // prebuild competes with this build watcher for CPU and can take
65
- // 10-30s). Running both in parallel keeps the happy-path wall time
66
- // at max(first build, server bind) instead of their sum.
67
56
  const viteDevServerStartup = this.startViteDevServer(platformData, projectData, prepareData);
68
57
  try {
69
58
  const childProcess = await this.startBundleProcess(platformData, projectData, prepareData);
70
- // Handle Vite differently from webpack
71
59
  const isVite = this.getBundler() === "vite";
72
60
  childProcess.stdout.on("data", function (data) {
73
61
  process.stdout.write(data);
@@ -75,11 +63,8 @@ class BundlerCompilerService extends events_1.EventEmitter {
75
63
  childProcess.stderr.on("data", function (data) {
76
64
  process.stderr.write(data);
77
65
  });
78
- // For both Vite and webpack, we wait for the first build to complete
79
- // Don't resolve immediately for Vite - wait for first IPC message
80
66
  childProcess.on("message", (message) => {
81
67
  this.$logger.trace(`Message from ${projectData.bundler}`, message);
82
- // Handle Vite messages
83
68
  if (isVite &&
84
69
  message &&
85
70
  message.emittedFiles) {
@@ -87,17 +72,13 @@ class BundlerCompilerService extends events_1.EventEmitter {
87
72
  if (debugLog) {
88
73
  console.log("Received Vite IPC message:", message);
89
74
  }
90
- // Copy Vite output files directly to platform destination
91
- const distOutput = this.getViteDistOutputPath(projectData.projectDir);
92
- const destDir = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
75
+ const { distOutput, destDir } = this.getViteBuildPaths(platformData, projectData);
93
76
  if (debugLog) {
94
77
  console.log(`Copying from ${distOutput} to ${destDir}.`);
95
78
  }
96
- // Determine which files to copy based on build type and changes
97
79
  if (message.buildType === "incremental" &&
98
80
  message.emittedFiles &&
99
81
  message.emittedFiles.length > 0) {
100
- // Incremental builds: only copy files that are likely affected by the changes
101
82
  const filesToCopy = this.getIncrementalFilesToCopy(message.emittedFiles);
102
83
  if (debugLog) {
103
84
  console.log("Incremental build - files to copy:", filesToCopy);
@@ -110,12 +91,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
110
91
  }
111
92
  this.copyViteBundleToNative(distOutput, destDir);
112
93
  }
113
- // Resolve the promise on first build completion — gated on
114
- // the HMR dev server being reachable (no-op resolve for
115
- // non-HMR runs). `startViteDevServer` never rejects and its
116
- // readiness probe is bounded, so this cannot hang the run;
117
- // on probe timeout we proceed and the device's own retry
118
- // handles any residual gap.
119
94
  if (isFirstBundlerWatchCompilation) {
120
95
  isFirstBundlerWatchCompilation = false;
121
96
  if (debugLog) {
@@ -124,7 +99,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
124
99
  viteDevServerStartup.then(() => resolve(childProcess));
125
100
  return;
126
101
  }
127
- // Transform Vite message to match webpack format
128
102
  const files = message.emittedFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
129
103
  const data = {
130
104
  files,
@@ -142,23 +116,14 @@ class BundlerCompilerService extends events_1.EventEmitter {
142
116
  this.emit(constants_1.BUNDLER_COMPILATION_COMPLETE, data);
143
117
  return;
144
118
  }
145
- // if we are on webpack5 - we handle HMR in a slightly different way
146
119
  if (typeof message === "object" &&
147
120
  "version" in message &&
148
121
  "type" in message) {
149
- // first compilation can be ignored because it will be synced regardless
150
- // handling it here would trigger 2 syncs
151
122
  if (isFirstBundlerWatchCompilation) {
152
123
  isFirstBundlerWatchCompilation = false;
153
124
  resolve(childProcess);
154
125
  return;
155
126
  }
156
- // if ((message as IWebpackMessage).type === "hmr-status") {
157
- // // we pass message through our event-bus to be handled wherever needed
158
- // // in this case webpack-hmr-status-service listens for this event
159
- // this.$sharedEventBus.emit("webpack:hmr-status", message);
160
- // return;
161
- // }
162
127
  return this.handleHMRMessage(message, platformData, projectData, prepareData);
163
128
  }
164
129
  if (message ===
@@ -174,7 +139,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
174
139
  prepareData.hmr ? message.hash : "";
175
140
  return;
176
141
  }
177
- // Persist the previousHash value before calling `this.getUpdatedEmittedFiles` as it will modify the expectedHashes object with the current hash
178
142
  const previousHash = this.expectedHashes[platformData.platformNameLowerCase];
179
143
  let result;
180
144
  if (prepareData.hmr) {
@@ -199,7 +163,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
199
163
  platform: platformData.platformNameLowerCase,
200
164
  };
201
165
  this.$logger.trace(`Generated data from ${projectData.bundler} message:`, data);
202
- // the hash of the compilation is the same as the previous one and there are only hot updates produced
203
166
  if (data.hasOnlyHotUpdateFiles && previousHash === message.hash) {
204
167
  return;
205
168
  }
@@ -247,26 +210,16 @@ class BundlerCompilerService extends events_1.EventEmitter {
247
210
  delete this.bundlerProcesses[platformData.platformNameLowerCase];
248
211
  const exitCode = typeof arg === "number" ? arg : arg && arg.code;
249
212
  if (exitCode === 0) {
250
- // Non-watch Vite builds spawn the child with stdio:"inherit"
251
- // (no IPC channel), so the emittedFiles message handler in
252
- // compileWithWatch never fires and the Vite output is never
253
- // copied to the platforms app folder. Mirror that copy step
254
- // here so release/CI prepare and build flows actually deploy
255
- // the freshly built bundle. Without this, the deploy folder
256
- // is left empty (or worse, runs stale dev/HMR artifacts from
257
- // a previous `ns debug` run) and the runtime crashes on
258
- // launch with `Check failed: has_pending_exception()`.
259
- if (isVite) {
260
- try {
261
- const distOutput = this.getViteDistOutputPath(projectData.projectDir);
262
- const destDir = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
263
- this.copyViteBundleToNative(distOutput, destDir);
264
- }
265
- catch (copyErr) {
266
- this.$logger.warn(`Failed to copy Vite output to platform destination: ${copyErr.message}`);
213
+ try {
214
+ if (isVite) {
215
+ const { distOutput, destDir } = this.getViteBuildPaths(platformData, projectData);
216
+ this.copyViteBundleToNative(distOutput, destDir, null, true);
267
217
  }
218
+ resolve();
219
+ }
220
+ catch (error) {
221
+ reject(error);
268
222
  }
269
- resolve();
270
223
  }
271
224
  else {
272
225
  const error = new Error(`Executing ${projectData.bundler} failed with exit code ${exitCode}.`);
@@ -292,9 +245,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
292
245
  }
293
246
  }
294
247
  async shouldUsePreserveSymlinksOption() {
295
- // pnpm does not require symlink (https://github.com/nodejs/node-eps/issues/46#issuecomment-277373566)
296
- // and it also does not work in some cases.
297
- // Check https://github.com/NativeScript/nativescript-cli/issues/5259 for more information
298
248
  const currentPackageManager = await this.$packageManager.getPackageManagerName();
299
249
  const res = currentPackageManager !== constants_1.PackageManagers.pnpm;
300
250
  return res;
@@ -313,7 +263,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
313
263
  const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
314
264
  const isVite = this.getBundler() === "vite";
315
265
  const cliArgs = await this.buildEnvCommandLineParams(envData, platformData, projectData, prepareData);
316
- // Note: With Vite, we need `--` to prevent vite cli from erroring on unknown options.
317
266
  const envParams = isVite
318
267
  ? [
319
268
  `--mode=${prepareData.release ? "production" : "development"}`,
@@ -373,26 +322,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
373
322
  const fromEnv = Number(process.env.NS_HMR_PORT);
374
323
  return Number.isFinite(fromEnv) && fromEnv > 0 ? fromEnv : 5173;
375
324
  }
376
- /**
377
- * Spawn and manage the Vite dev server (`vite serve`) for HMR.
378
- *
379
- * Why the CLI owns this. With Vite, HMR needs a long-lived dev server
380
- * (HTTP + the `/ns-hmr` websocket on port 5173) that the device fetches
381
- * modules and hot updates from — it is SEPARATE from the
382
- * `vite build --watch` process that emits the `bundle.mjs` bootstrap
383
- * baked into the app. Historically users wired this up themselves with
384
- * `concurrently`/`wait-on`, which left two uncoordinated processes both
385
- * touching adb during cold start (the source of the Android
386
- * "Searching for devices…" freeze). By spawning it here as a child of
387
- * the CLI, the dev server inherits the CLI's environment — crucially
388
- * `NS_ADB_REVERSE_READY`/`NS_DEVICE_SERIAL`/`NS_ADB_PATH` set by the
389
- * run-controller — so the CLI is the single adb owner and the dev
390
- * server never spawns adb itself.
391
- *
392
- * No-op unless bundler is vite, HMR is on, watch mode, and not release.
393
- * Best-effort: failures are logged, never thrown — a dev-server hiccup
394
- * must not fail the run.
395
- */
396
325
  async startViteDevServer(platformData, projectData, prepareData) {
397
326
  try {
398
327
  if (this.getBundler() !== "vite") {
@@ -406,10 +335,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
406
335
  return;
407
336
  }
408
337
  const port = this.getViteHmrPort();
409
- // One dev server per port. Simultaneous multi-platform HMR in a
410
- // single CLI invocation would collide on 5173 — that case still
411
- // needs a distinct NS_HMR_PORT per platform, so skip + warn rather
412
- // than fail to bind.
413
338
  const collidingPlatform = Object.keys(this.viteServeProcesses)[0];
414
339
  if (collidingPlatform) {
415
340
  this.$logger.warn(`Vite dev server already running for '${collidingPlatform}' on port ${port}; skipping a second server for '${key}'. For simultaneous multi-platform HMR, set a distinct NS_HMR_PORT per platform.`);
@@ -421,9 +346,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
421
346
  if (await this.shouldUsePreserveSymlinksOption()) {
422
347
  additionalNodeArgs.push("--preserve-symlinks");
423
348
  }
424
- // `vite serve` (not `build`): runs the dev server and watches on
425
- // its own — no `--watch`. Env flags (`--env.android --env.hmr …`)
426
- // go after `--` so vite's CLI doesn't choke on unknown options.
427
349
  const args = [
428
350
  ...additionalNodeArgs,
429
351
  this.getBundlerExecutablePath(projectData),
@@ -435,9 +357,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
435
357
  ].filter(Boolean);
436
358
  const options = {
437
359
  cwd: projectData.projectDir,
438
- // Inherit so the dev server's URLs/logs stream to the user as
439
- // before. No IPC needed here — the build watcher provides the
440
- // bundle-complete IPC; the dev server is fetched over HTTP/ws.
441
360
  stdio: "inherit",
442
361
  env: {
443
362
  ...process.env,
@@ -457,17 +376,11 @@ class BundlerCompilerService extends events_1.EventEmitter {
457
376
  this.$logger.warn(`Vite dev server for ${key} exited with code ${code}.`);
458
377
  }
459
378
  });
460
- // Bounded readiness probe so we can surface a clear log once the
461
- // device can actually reach modules.
462
379
  const ready = await this.waitForPort(port, 30000);
463
380
  if (ready) {
464
381
  this.$logger.info(`Vite dev server ready on port ${port} (HMR for ${key}).`);
465
382
  }
466
383
  else {
467
- // Warn (not trace): the first-build resolution in
468
- // `compileWithWatch` gates on this method, so a probe timeout
469
- // means the app will be deployed against a server that may not
470
- // be up yet — the user should see why a boot might stall.
471
384
  this.$logger.warn(`Vite dev server port ${port} not observed open within the readiness probe window; continuing (it may bind shortly).`);
472
385
  }
473
386
  }
@@ -475,10 +388,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
475
388
  this.$logger.warn(`Failed to start the Vite dev server: ${err}. HMR may be unavailable.`);
476
389
  }
477
390
  }
478
- /**
479
- * Resolve true once `127.0.0.1:<port>` accepts a TCP connection, or
480
- * false after `timeoutMs`. Used to detect the Vite dev server is up.
481
- */
482
391
  waitForPort(port, timeoutMs) {
483
392
  const deadline = Date.now() + timeoutMs;
484
393
  return new Promise((resolve) => {
@@ -520,28 +429,16 @@ class BundlerCompilerService extends events_1.EventEmitter {
520
429
  });
521
430
  envData.verbose = envData.verbose || this.$logger.isVerbose();
522
431
  envData.production = envData.production || prepareData.release;
523
- // add the config file name to the env data so the webpack process can read the
524
- // correct config file when resolving the CLI lib and the config service
525
- // we are explicitly setting it to false to force using the defaults
526
432
  envData.config =
527
433
  (_b = (_a = process.env.NATIVESCRIPT_CONFIG_NAME) !== null && _a !== void 0 ? _a : this.$options.config) !== null && _b !== void 0 ? _b : "false";
528
- // explicitly set the env variable
529
434
  process.env.NATIVESCRIPT_CONFIG_NAME = envData.config;
530
- // The snapshot generation is wrongly located in the Webpack plugin.
531
- // It should be moved in the Native Prepare of the CLI or a Gradle task in the Runtime.
532
- // As a workaround, we skip the mksnapshot, xxd and android-ndk calls based on skipNativePrepare.
533
- // In this way the plugin will prepare only the snapshot JS entry without any native prepare and
534
- // we will able to execute cloud builds with snapshot without having any local snapshot or Docker setup.
535
- // TODO: Remove this flag when we remove the native part from the plugin.
536
435
  envData.skipSnapshotTools =
537
436
  prepareData.nativePrepare && prepareData.nativePrepare.skipNativePrepare;
538
- // only set sourceMap if not explicitly set through a flag
539
437
  if (typeof ((_c = prepareData === null || prepareData === void 0 ? void 0 : prepareData.env) === null || _c === void 0 ? void 0 : _c.sourceMap) === "undefined") {
540
438
  if (!prepareData.release) {
541
439
  envData.sourceMap = true;
542
440
  }
543
441
  }
544
- // convert string to boolean
545
442
  if (envData.sourceMap === "true" || envData.sourceMap === "false") {
546
443
  envData.sourceMap = envData.sourceMap === "true";
547
444
  }
@@ -562,7 +459,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
562
459
  }
563
460
  else if (this.$hostInfo.isWindows) {
564
461
  if (projectData.bundler === "webpack") {
565
- //TODO: check this use case for webpack5 WEBPACK_PLUGIN_NAME
566
462
  const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
567
463
  const installedWebpackPluginVersion = await this.$packageInstallationManager.getInstalledDependencyVersion(constants_1.WEBPACK_PLUGIN_NAME, projectData.projectDir);
568
464
  const hasWebpackPluginWithWinSnapshotsSupport = !!installedWebpackPluginVersion
@@ -596,15 +492,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
596
492
  }
597
493
  getUpdatedEmittedFiles(allEmittedFiles, chunkFiles, nextHash, platform) {
598
494
  const currentHash = this.getCurrentHotUpdateHash(allEmittedFiles);
599
- // This logic is needed as there are already cases when webpack doesn't emit any files physically.
600
- // We've set noEmitOnErrors in webpack.config.js based on noEmitOnError from tsconfig.json,
601
- // so webpack doesn't emit any files when noEmitOnErrors: true is set in webpack.config.js and
602
- // there is a compilation error in the source code. On the other side, hmr generates new hot-update files
603
- // on every change and the hash of the next hmr update is written inside hot-update.json file.
604
- // Although webpack doesn't emit any files, hmr hash is still generated. The hash is generated per compilation no matter
605
- // if files will be emitted or not. This way, the first successful compilation after fixing the compilation error generates
606
- // a hash that is not the same as the one expected in the latest emitted hot-update.json file.
607
- // As a result, the hmr chain is broken and the changes are not applied.
608
495
  const isHashValid = nextHash
609
496
  ? this.expectedHashes[platform] === currentHash
610
497
  : true;
@@ -623,7 +510,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
623
510
  let hotHash;
624
511
  const hotUpdateScripts = emittedFiles.filter((x) => x.endsWith(".hot-update.js"));
625
512
  if (hotUpdateScripts && hotUpdateScripts.length) {
626
- // the hash is the same for each hot update in the current compilation
627
513
  const hotUpdateName = hotUpdateScripts[0];
628
514
  const matcher = /^(.+)\.(.+)\.hot-update/gm;
629
515
  const matches = matcher.exec(hotUpdateName);
@@ -639,7 +525,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
639
525
  bundlerProcess.kill("SIGINT");
640
526
  delete this.bundlerProcesses[platform];
641
527
  }
642
- // Tear down the Vite dev server we manage alongside the build watcher.
643
528
  const viteServeProcess = this.viteServeProcesses[platform];
644
529
  if (viteServeProcess) {
645
530
  await this.$cleanupService.removeKillProcess(viteServeProcess.pid.toString());
@@ -648,7 +533,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
648
533
  }
649
534
  }
650
535
  handleHMRMessage(message, platformData, projectData, prepareData) {
651
- // handle new bundler hmr packets
652
536
  this.$logger.trace(`Received message from ${projectData.bundler} process:`, message);
653
537
  if (message.type !== "compilation") {
654
538
  return;
@@ -656,7 +540,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
656
540
  this.$logger.trace(`${capitalizeFirstLetter(projectData.bundler)} build done!`);
657
541
  const files = message.data.emittedAssets.map((asset) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, asset));
658
542
  const staleFiles = message.data.staleAssets.map((asset) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, asset));
659
- // extract last hash from emitted filenames
660
543
  const lastHash = (() => {
661
544
  const absoluteFileNameWithLastHash = files.find((fileName) => fileName.endsWith("hot-update.js"));
662
545
  if (!absoluteFileNameWithLastHash) {
@@ -669,7 +552,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
669
552
  }
670
553
  })();
671
554
  if (!files.length) {
672
- // ignore compilations if no new files are emitted
673
555
  return;
674
556
  }
675
557
  this.emit(constants_1.BUNDLER_COMPILATION_COMPLETE, {
@@ -732,26 +614,21 @@ class BundlerCompilerService extends events_1.EventEmitter {
732
614
  getBundler() {
733
615
  return this.$projectConfigService.getValue(`bundler`, "webpack");
734
616
  }
735
- copyViteBundleToNative(distOutput, destDir, specificFiles = null) {
736
- // Clean and copy Vite output to native platform folder
617
+ copyViteBundleToNative(distOutput, destDir, specificFiles = null, failOnError = false) {
737
618
  if (debugLog) {
738
619
  console.log(`Copying Vite bundle from "${distOutput}" to "${destDir}".`);
739
620
  }
740
621
  try {
741
622
  if (specificFiles) {
742
- // Selective mode: only copy specific files (incremental)
743
623
  if (debugLog) {
744
624
  console.log("Selective copy - copying specific files:", specificFiles);
745
625
  }
746
- // Ensure destination directory exists
747
626
  this.$fs.createDirectory(destDir);
748
- // Copy only the specified files
749
627
  for (const file of specificFiles) {
750
628
  const srcPath = path.join(distOutput, file);
751
629
  const destPath = path.join(destDir, file);
752
630
  if (!this.$fs.exists(srcPath))
753
631
  continue;
754
- // create parent dirs
755
632
  this.$fs.createDirectory(path.dirname(destPath));
756
633
  this.$fs.copyFile(srcPath, destPath);
757
634
  if (debugLog) {
@@ -760,35 +637,31 @@ class BundlerCompilerService extends events_1.EventEmitter {
760
637
  }
761
638
  }
762
639
  else {
763
- // Full build mode: clean and copy everything
764
640
  if (debugLog) {
765
641
  console.log("Full build: Copying all files.");
766
642
  }
767
- // Clean destination directory
643
+ if (!this.$fs.exists(distOutput)) {
644
+ throw new Error(`Vite output directory does not exist: ${distOutput}`);
645
+ }
768
646
  if (this.$fs.exists(destDir)) {
769
647
  this.$fs.deleteDirectory(destDir);
770
648
  }
771
649
  this.$fs.createDirectory(destDir);
772
- // Copy all files from dist to platform destination
773
- if (this.$fs.exists(distOutput)) {
774
- this.copyRecursiveSync(distOutput, destDir);
775
- }
776
- else {
777
- this.$logger.warn(`Vite output directory does not exist: ${distOutput}`);
778
- }
650
+ this.copyRecursiveSync(distOutput, destDir);
779
651
  }
780
652
  }
781
653
  catch (error) {
782
- this.$logger.warn(`Failed to copy Vite bundle: ${error.message}`);
654
+ const copyError = error instanceof Error ? error : new Error(String(error));
655
+ if (failOnError) {
656
+ throw copyError;
657
+ }
658
+ this.$logger.warn(`Failed to copy Vite bundle: ${copyError.message}`);
783
659
  }
784
660
  }
785
661
  getIncrementalFilesToCopy(emittedFiles) {
786
- // For incremental builds, we need to determine which emitted files are likely affected
787
- // by the source file changes
788
662
  const filesToCopy = [];
789
663
  const bundleFiles = emittedFiles.filter((file) => file.endsWith(".mjs") || file.endsWith(".js") || file.endsWith(".map"));
790
664
  filesToCopy.push(...bundleFiles);
791
- // Only copy assets if there are explicit asset-related changes
792
665
  const assetFiles = emittedFiles.filter((file) => file.includes("assets/") ||
793
666
  file.includes("static/") ||
794
667
  file.includes("fonts/") ||
@@ -796,11 +669,9 @@ class BundlerCompilerService extends events_1.EventEmitter {
796
669
  if (assetFiles.length > 0) {
797
670
  filesToCopy.push(...assetFiles);
798
671
  }
799
- // Remove duplicates and return
800
672
  return [...new Set(filesToCopy)];
801
673
  }
802
674
  copyRecursiveSync(src, dest) {
803
- // Ensure destination exists
804
675
  this.$fs.createDirectory(dest);
805
676
  const entries = this.$fs.readDirectory(src);
806
677
  for (const name of entries) {
@@ -811,7 +682,6 @@ class BundlerCompilerService extends events_1.EventEmitter {
811
682
  this.copyRecursiveSync(srcPath, destPath);
812
683
  }
813
684
  else if (lstats.isFile() || lstats.isSymbolicLink()) {
814
- // create parent directory (copyFile will also ensure it, but keep explicit)
815
685
  this.$fs.createDirectory(path.dirname(destPath));
816
686
  this.$fs.copyFile(srcPath, destPath);
817
687
  }
@@ -826,4 +696,3 @@ function capitalizeFirstLetter(val) {
826
696
  return String(val).charAt(0).toUpperCase() + String(val).slice(1);
827
697
  }
828
698
  yok_1.injector.register("bundlerCompilerService", BundlerCompilerService);
829
- //# sourceMappingURL=bundler-compiler-service.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=bundler.js.map
@@ -10,6 +10,7 @@ exports.CleanupService = void 0;
10
10
  const path = require("path");
11
11
  const decorators_1 = require("../common/decorators");
12
12
  const yok_1 = require("../common/yok");
13
+ const detached_process_enums_1 = require("../detached-processes/detached-process-enums");
13
14
  class CleanupService {
14
15
  constructor($options, $staticConfig, $childProcess) {
15
16
  this.$staticConfig = $staticConfig;
@@ -20,56 +21,56 @@ class CleanupService {
20
21
  async addCleanupCommand(commandInfo) {
21
22
  const cleanupProcess = await this.getCleanupProcess();
22
23
  cleanupProcess.send({
23
- messageType: "AddCleanCommand" /* CleanupProcessMessage.AddCleanCommand */,
24
+ messageType: detached_process_enums_1.CleanupProcessMessage.AddCleanCommand,
24
25
  commandInfo,
25
26
  });
26
27
  }
27
28
  async removeCleanupCommand(commandInfo) {
28
29
  const cleanupProcess = await this.getCleanupProcess();
29
30
  cleanupProcess.send({
30
- messageType: "RemoveCleanCommand" /* CleanupProcessMessage.RemoveCleanCommand */,
31
+ messageType: detached_process_enums_1.CleanupProcessMessage.RemoveCleanCommand,
31
32
  commandInfo,
32
33
  });
33
34
  }
34
35
  async addRequest(requestInfo) {
35
36
  const cleanupProcess = await this.getCleanupProcess();
36
37
  cleanupProcess.send({
37
- messageType: "AddRequest" /* CleanupProcessMessage.AddRequest */,
38
+ messageType: detached_process_enums_1.CleanupProcessMessage.AddRequest,
38
39
  requestInfo,
39
40
  });
40
41
  }
41
42
  async removeRequest(requestInfo) {
42
43
  const cleanupProcess = await this.getCleanupProcess();
43
44
  cleanupProcess.send({
44
- messageType: "RemoveRequest" /* CleanupProcessMessage.RemoveRequest */,
45
+ messageType: detached_process_enums_1.CleanupProcessMessage.RemoveRequest,
45
46
  requestInfo,
46
47
  });
47
48
  }
48
49
  async addCleanupDeleteAction(filePath) {
49
50
  const cleanupProcess = await this.getCleanupProcess();
50
51
  cleanupProcess.send({
51
- messageType: "AddDeleteFileAction" /* CleanupProcessMessage.AddDeleteFileAction */,
52
+ messageType: detached_process_enums_1.CleanupProcessMessage.AddDeleteFileAction,
52
53
  filePath,
53
54
  });
54
55
  }
55
56
  async removeCleanupDeleteAction(filePath) {
56
57
  const cleanupProcess = await this.getCleanupProcess();
57
58
  cleanupProcess.send({
58
- messageType: "RemoveDeleteFileAction" /* CleanupProcessMessage.RemoveDeleteFileAction */,
59
+ messageType: detached_process_enums_1.CleanupProcessMessage.RemoveDeleteFileAction,
59
60
  filePath,
60
61
  });
61
62
  }
62
63
  async addCleanupJS(jsCommand) {
63
64
  const cleanupProcess = await this.getCleanupProcess();
64
65
  cleanupProcess.send({
65
- messageType: "AddJSFileToRequire" /* CleanupProcessMessage.AddJSFileToRequire */,
66
+ messageType: detached_process_enums_1.CleanupProcessMessage.AddJSFileToRequire,
66
67
  jsCommand,
67
68
  });
68
69
  }
69
70
  async removeCleanupJS(jsCommand) {
70
71
  const cleanupProcess = await this.getCleanupProcess();
71
72
  cleanupProcess.send({
72
- messageType: "RemoveJSFileToRequire" /* CleanupProcessMessage.RemoveJSFileToRequire */,
73
+ messageType: detached_process_enums_1.CleanupProcessMessage.RemoveJSFileToRequire,
73
74
  jsCommand,
74
75
  });
75
76
  }
@@ -92,8 +93,6 @@ class CleanupService {
92
93
  setShouldDispose(shouldDispose) {
93
94
  this.shouldDispose = shouldDispose;
94
95
  }
95
- // TODO: Consider extracting this method to a separate service
96
- // as it has the same logic as the one used in analytics-service
97
96
  getCleanupProcess() {
98
97
  return new Promise((resolve, reject) => {
99
98
  const cleanupProcessArgs = this.getCleanupProcessArgs();
@@ -112,12 +111,11 @@ class CleanupService {
112
111
  clearTimeout(timeoutId);
113
112
  if (!isSettled) {
114
113
  isSettled = true;
115
- // In case we throw error here, CLI will break its execution.
116
114
  reject(err);
117
115
  }
118
116
  });
119
117
  cleanupProcess.on("message", (data) => {
120
- if (data === "ProcessReadyToReceive" /* DetachedProcessMessages.ProcessReadyToReceive */) {
118
+ if (data === detached_process_enums_1.DetachedProcessMessages.ProcessReadyToReceive) {
121
119
  clearTimeout(timeoutId);
122
120
  if (!isSettled) {
123
121
  isSettled = true;
@@ -166,4 +164,3 @@ __decorate([
166
164
  (0, decorators_1.cache)()
167
165
  ], CleanupService.prototype, "getCleanupProcess", null);
168
166
  yok_1.injector.register("cleanupService", CleanupService);
169
- //# sourceMappingURL=cleanup-service.js.map
@@ -82,7 +82,6 @@ class CocoaPodsPlatformManager {
82
82
  _.each(allPodfiles, (podfileContent) => {
83
83
  const platformMatch = platformRowRegExp.exec(podfileContent);
84
84
  const podfilePathMatch = podfilePathRegExp.exec(podfileContent) || [];
85
- // platform without version -> select it with highest priority
86
85
  if (platformMatch && platformMatch[0] && !platformMatch[2]) {
87
86
  selectedPlatformData = {
88
87
  version: null,
@@ -91,7 +90,6 @@ class CocoaPodsPlatformManager {
91
90
  };
92
91
  return false;
93
92
  }
94
- // platform with version
95
93
  if (platformMatch && platformMatch[0] && platformMatch[2]) {
96
94
  if (!selectedPlatformData ||
97
95
  semver.gt(semver.coerce(platformMatch[2]), semver.coerce(selectedPlatformData.version))) {
@@ -106,12 +104,6 @@ class CocoaPodsPlatformManager {
106
104
  return selectedPlatformData;
107
105
  }
108
106
  shouldReplacePlatformSection(projectData, oldPodfilePlatformData, currentPodfilePlatformData) {
109
- // The selected platform should be replaced in the following cases:
110
- // 1. When the pod file is from App_Resources and the selected platform is not from App_Resources
111
- // 2. When the pod file is from App_Resources, the selected platform is also from App_Resources
112
- // and the pod's version is greater than the selected one
113
- // 3. When the pod file doesn't have platform's version -> `platform :ios`
114
- // 4. When the pod file has a version greater than the selected platform's version
115
107
  const appResourcesPodfilePath = path.join(projectData.getAppResourcesDirectoryPath(), "iOS", constants_1.PODFILE_NAME);
116
108
  const isFromAppResources = oldPodfilePlatformData.path !== appResourcesPodfilePath &&
117
109
  currentPodfilePlatformData.path === appResourcesPodfilePath;
@@ -143,4 +135,3 @@ class CocoaPodsPlatformManager {
143
135
  }
144
136
  exports.CocoaPodsPlatformManager = CocoaPodsPlatformManager;
145
137
  yok_1.injector.register("cocoaPodsPlatformManager", CocoaPodsPlatformManager);
146
- //# sourceMappingURL=cocoapods-platform-manager.js.map