nativescript 8.9.0-alpha.3 → 8.9.0-dev.0

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 (342) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -20
  3. package/lib/base-package-manager.js +47 -64
  4. package/lib/bun-package-manager.js +65 -88
  5. package/lib/color.js +2 -2
  6. package/lib/commands/add-platform.js +14 -30
  7. package/lib/commands/apple-login.js +18 -29
  8. package/lib/commands/appstore-list.js +34 -45
  9. package/lib/commands/appstore-upload.js +52 -65
  10. package/lib/commands/build.js +55 -87
  11. package/lib/commands/clean.js +161 -176
  12. package/lib/commands/command-base.js +14 -27
  13. package/lib/commands/config.js +48 -67
  14. package/lib/commands/create-project.js +210 -229
  15. package/lib/commands/debug.js +66 -88
  16. package/lib/commands/deploy.js +28 -44
  17. package/lib/commands/embedding/embed.js +33 -52
  18. package/lib/commands/extensibility/install-extension.js +5 -16
  19. package/lib/commands/extensibility/list-extensions.js +13 -24
  20. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  21. package/lib/commands/fonts.js +30 -41
  22. package/lib/commands/generate-assets.js +13 -28
  23. package/lib/commands/generate-help.js +2 -13
  24. package/lib/commands/generate.js +12 -60
  25. package/lib/commands/info.js +2 -13
  26. package/lib/commands/install.js +34 -49
  27. package/lib/commands/list-platforms.js +14 -25
  28. package/lib/commands/migrate.js +15 -26
  29. package/lib/commands/native-add.js +23 -46
  30. package/lib/commands/platform-clean.js +19 -32
  31. package/lib/commands/plugin/add-plugin.js +12 -25
  32. package/lib/commands/plugin/build-plugin.js +31 -44
  33. package/lib/commands/plugin/create-plugin.js +110 -133
  34. package/lib/commands/plugin/list-plugins.js +22 -33
  35. package/lib/commands/plugin/remove-plugin.js +20 -33
  36. package/lib/commands/plugin/update-plugin.js +20 -33
  37. package/lib/commands/post-install.js +20 -33
  38. package/lib/commands/prepare.js +19 -35
  39. package/lib/commands/preview.js +49 -62
  40. package/lib/commands/remove-platform.js +7 -18
  41. package/lib/commands/resources/resources-update.js +13 -26
  42. package/lib/commands/run.js +55 -76
  43. package/lib/commands/start.js +6 -19
  44. package/lib/commands/test-init.js +123 -134
  45. package/lib/commands/test.js +66 -89
  46. package/lib/commands/typings.js +126 -142
  47. package/lib/commands/update-platform.js +22 -35
  48. package/lib/commands/update.js +30 -43
  49. package/lib/common/child-process.js +53 -72
  50. package/lib/common/codeGeneration/code-entity.js +1 -1
  51. package/lib/common/codeGeneration/code-printer.js +1 -1
  52. package/lib/common/command-params.js +7 -18
  53. package/lib/common/commands/analytics.js +27 -40
  54. package/lib/common/commands/autocompletion.js +39 -56
  55. package/lib/common/commands/device/device-log-stream.js +12 -23
  56. package/lib/common/commands/device/get-file.js +22 -33
  57. package/lib/common/commands/device/list-applications.js +12 -23
  58. package/lib/common/commands/device/list-devices.js +72 -87
  59. package/lib/common/commands/device/list-files.js +23 -34
  60. package/lib/common/commands/device/put-file.js +22 -33
  61. package/lib/common/commands/device/run-application.js +12 -25
  62. package/lib/common/commands/device/stop-application.js +11 -22
  63. package/lib/common/commands/device/uninstall-application.js +6 -17
  64. package/lib/common/commands/generate-messages.js +17 -28
  65. package/lib/common/commands/help.js +20 -33
  66. package/lib/common/commands/package-manager-get.js +6 -17
  67. package/lib/common/commands/package-manager-set.js +9 -20
  68. package/lib/common/commands/post-install.js +2 -13
  69. package/lib/common/commands/preuninstall.js +23 -38
  70. package/lib/common/commands/proxy/proxy-base.js +8 -19
  71. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  72. package/lib/common/commands/proxy/proxy-get.js +3 -14
  73. package/lib/common/commands/proxy/proxy-set.js +87 -100
  74. package/lib/common/constants.js +11 -11
  75. package/lib/common/decorators.js +10 -22
  76. package/lib/common/dispatchers.js +79 -96
  77. package/lib/common/errors.js +89 -104
  78. package/lib/common/file-system.js +108 -130
  79. package/lib/common/header.js +1 -2
  80. package/lib/common/helpers.js +149 -178
  81. package/lib/common/host-info.js +37 -50
  82. package/lib/common/http-client.js +93 -108
  83. package/lib/common/logger/appenders/cli-appender.js +1 -2
  84. package/lib/common/logger/appenders/emit-appender.js +1 -2
  85. package/lib/common/logger/layouts/cli-layout.js +1 -2
  86. package/lib/common/logger/logger.js +4 -4
  87. package/lib/common/mobile/android/android-application-manager.js +121 -142
  88. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  89. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  90. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  91. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  92. package/lib/common/mobile/android/android-device.js +68 -85
  93. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  94. package/lib/common/mobile/android/android-ini-file-parser.js +8 -6
  95. package/lib/common/mobile/android/android-log-filter.js +1 -1
  96. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  97. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  98. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  99. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  100. package/lib/common/mobile/android/logcat-helper.js +108 -127
  101. package/lib/common/mobile/application-manager-base.js +84 -107
  102. package/lib/common/mobile/device-log-provider-base.js +7 -18
  103. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  104. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  105. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  106. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  107. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  108. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  109. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  110. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  111. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  112. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  113. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  114. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  115. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  116. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  117. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  118. package/lib/common/mobile/mobile-core/devices-service.js +386 -436
  119. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  120. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  121. package/lib/common/mobile/mobile-helper.js +15 -26
  122. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  123. package/lib/common/opener.js +2 -2
  124. package/lib/common/prompter.js +90 -105
  125. package/lib/common/queue.js +9 -20
  126. package/lib/common/services/auto-completion-service.js +39 -52
  127. package/lib/common/services/cancellation.js +17 -28
  128. package/lib/common/services/commands-service.js +146 -169
  129. package/lib/common/services/help-service.js +132 -157
  130. package/lib/common/services/hooks-service.js +93 -108
  131. package/lib/common/services/ios-notification-service.js +21 -34
  132. package/lib/common/services/json-file-settings-service.js +52 -71
  133. package/lib/common/services/lock-service.js +35 -52
  134. package/lib/common/services/message-contract-generator.js +35 -46
  135. package/lib/common/services/micro-templating-service.js +4 -15
  136. package/lib/common/services/net-service.js +90 -107
  137. package/lib/common/services/project-files-manager.js +10 -23
  138. package/lib/common/services/proxy-service.js +13 -24
  139. package/lib/common/services/qr.js +13 -24
  140. package/lib/common/services/settings-service.js +1 -1
  141. package/lib/common/services/xcode-select-service.js +20 -35
  142. package/lib/common/utils.js +2 -2
  143. package/lib/common/validators/project-name-validator.js +1 -1
  144. package/lib/common/validators/validation-result.js +1 -1
  145. package/lib/common/verify-node-version.js +2 -3
  146. package/lib/common/yok.js +23 -36
  147. package/lib/config.js +36 -51
  148. package/lib/constants.js +24 -24
  149. package/lib/controllers/build-controller.js +82 -99
  150. package/lib/controllers/debug-controller.js +107 -128
  151. package/lib/controllers/deploy-controller.js +15 -23
  152. package/lib/controllers/migrate-controller.js +722 -795
  153. package/lib/controllers/platform-controller.js +70 -85
  154. package/lib/controllers/prepare-controller.js +232 -261
  155. package/lib/controllers/run-controller.js +397 -411
  156. package/lib/controllers/update-controller-base.js +16 -29
  157. package/lib/controllers/update-controller.js +94 -119
  158. package/lib/data/prepare-data.js +4 -1
  159. package/lib/definitions/ios.d.ts +9 -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 +44 -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 +150 -200
  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 +163 -199
  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 +22 -35
  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 +205 -231
  194. package/lib/services/android-project-service.js +126 -171
  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 +195 -214
  198. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -58
  199. package/lib/services/assets-generation/assets-generation-service.js +103 -117
  200. package/lib/services/build-artifacts-service.js +9 -20
  201. package/lib/services/build-info-file-service.js +20 -35
  202. package/lib/services/cleanup-service.js +47 -76
  203. package/lib/services/cocoapods-service.js +111 -132
  204. package/lib/services/device/device-install-app-service.js +54 -71
  205. package/lib/services/doctor-service.js +99 -118
  206. package/lib/services/extensibility-service.js +81 -100
  207. package/lib/services/files-hash-service.js +26 -43
  208. package/lib/services/hmr-status-service.js +1 -1
  209. package/lib/services/initialize-service.js +37 -50
  210. package/lib/services/ios/export-options-plist-service.js +38 -51
  211. package/lib/services/ios/ios-signing-service.js +168 -187
  212. package/lib/services/ios/spm-service.js +43 -53
  213. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  214. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  215. package/lib/services/ios/xcodebuild-service.js +52 -71
  216. package/lib/services/ios-debugger-port-service.js +24 -37
  217. package/lib/services/ios-device-debug-service.js +75 -102
  218. package/lib/services/ios-entitlements-service.js +31 -42
  219. package/lib/services/ios-extensions-service.js +18 -29
  220. package/lib/services/ios-project-service.js +419 -460
  221. package/lib/services/ios-provision-service.js +108 -129
  222. package/lib/services/ios-watch-app-service.js +21 -32
  223. package/lib/services/ip-service.js +38 -53
  224. package/lib/services/itmstransporter-service.js +129 -152
  225. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  226. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  227. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  228. package/lib/services/livesync/android-livesync-service.js +14 -35
  229. package/lib/services/livesync/android-livesync-tool.js +90 -113
  230. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  231. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  232. package/lib/services/livesync/ios-livesync-service.js +42 -58
  233. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  234. package/lib/services/log-parser-service.js +1 -1
  235. package/lib/services/log-source-map-service.js +30 -41
  236. package/lib/services/marking-mode-service.js +15 -28
  237. package/lib/services/npm-config-service.js +1 -1
  238. package/lib/services/pacote-service.js +51 -66
  239. package/lib/services/performance-service.js +1 -1
  240. package/lib/services/platform/add-platform-service.js +50 -71
  241. package/lib/services/platform/platform-validation-service.js +22 -33
  242. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  243. package/lib/services/platform-environment-requirements.js +26 -37
  244. package/lib/services/plugins-service.js +122 -147
  245. package/lib/services/project-backup-service.js +1 -1
  246. package/lib/services/project-changes-service.js +124 -141
  247. package/lib/services/project-cleanup-service.js +64 -77
  248. package/lib/services/project-config-service.js +71 -80
  249. package/lib/services/project-data-service.js +101 -118
  250. package/lib/services/project-name-service.js +28 -43
  251. package/lib/services/project-service.js +84 -103
  252. package/lib/services/project-templates-service.js +52 -67
  253. package/lib/services/start-service.js +41 -59
  254. package/lib/services/temp-service.js +8 -21
  255. package/lib/services/terminal-spinner-service.js +15 -26
  256. package/lib/services/test-execution-service.js +59 -72
  257. package/lib/services/test-initialization-service.js +2 -2
  258. package/lib/services/timeline-profiler-service.js +1 -1
  259. package/lib/services/versions-service.js +119 -138
  260. package/lib/services/webpack/webpack-compiler-service.js +214 -234
  261. package/lib/services/xcconfig-service.js +8 -19
  262. package/lib/sys-info.js +45 -62
  263. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  264. package/lib/yarn-package-manager.js +59 -78
  265. package/lib/yarn2-package-manager.js +60 -79
  266. package/package.json +66 -81
  267. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  268. package/node_modules/@npmcli/move-file/README.md +0 -69
  269. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  270. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  271. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  272. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  281. package/node_modules/@npmcli/move-file/package.json +0 -47
  282. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  283. package/node_modules/balanced-match/LICENSE.md +0 -21
  284. package/node_modules/balanced-match/README.md +0 -97
  285. package/node_modules/balanced-match/index.js +0 -62
  286. package/node_modules/balanced-match/package.json +0 -48
  287. package/node_modules/concat-map/.travis.yml +0 -4
  288. package/node_modules/concat-map/LICENSE +0 -18
  289. package/node_modules/concat-map/README.markdown +0 -62
  290. package/node_modules/concat-map/example/map.js +0 -6
  291. package/node_modules/concat-map/index.js +0 -13
  292. package/node_modules/concat-map/package.json +0 -43
  293. package/node_modules/concat-map/test/map.js +0 -39
  294. package/node_modules/fs.realpath/LICENSE +0 -43
  295. package/node_modules/fs.realpath/README.md +0 -33
  296. package/node_modules/fs.realpath/index.js +0 -66
  297. package/node_modules/fs.realpath/old.js +0 -303
  298. package/node_modules/fs.realpath/package.json +0 -26
  299. package/node_modules/inflight/LICENSE +0 -15
  300. package/node_modules/inflight/README.md +0 -37
  301. package/node_modules/inflight/inflight.js +0 -54
  302. package/node_modules/inflight/package.json +0 -29
  303. package/node_modules/inherits/LICENSE +0 -16
  304. package/node_modules/inherits/README.md +0 -42
  305. package/node_modules/inherits/inherits.js +0 -9
  306. package/node_modules/inherits/inherits_browser.js +0 -27
  307. package/node_modules/inherits/package.json +0 -29
  308. package/node_modules/once/LICENSE +0 -15
  309. package/node_modules/once/README.md +0 -79
  310. package/node_modules/once/once.js +0 -42
  311. package/node_modules/once/package.json +0 -33
  312. package/node_modules/path-is-absolute/index.js +0 -20
  313. package/node_modules/path-is-absolute/license +0 -21
  314. package/node_modules/path-is-absolute/package.json +0 -43
  315. package/node_modules/path-is-absolute/readme.md +0 -59
  316. package/node_modules/rimraf/LICENSE +0 -15
  317. package/node_modules/rimraf/README.md +0 -101
  318. package/node_modules/rimraf/bin.js +0 -68
  319. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  320. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  321. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  322. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  323. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  324. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  325. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  326. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  327. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  328. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  329. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  330. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  331. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  332. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  333. package/node_modules/rimraf/package.json +0 -32
  334. package/node_modules/rimraf/rimraf.js +0 -360
  335. package/node_modules/stringify-package/LICENSE +0 -13
  336. package/node_modules/stringify-package/README.md +0 -55
  337. package/node_modules/stringify-package/index.js +0 -18
  338. package/node_modules/stringify-package/package.json +0 -38
  339. package/node_modules/wrappy/LICENSE +0 -15
  340. package/node_modules/wrappy/README.md +0 -36
  341. package/node_modules/wrappy/package.json +0 -29
  342. package/node_modules/wrappy/wrappy.js +0 -33
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.WebpackCompilerService = void 0;
19
10
  const path = require("path");
@@ -41,199 +32,192 @@ class WebpackCompilerService extends events_1.EventEmitter {
41
32
  this.webpackProcesses = {};
42
33
  this.expectedHashes = {};
43
34
  }
44
- compileWithWatch(platformData, projectData, prepareData) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
47
- if (this.webpackProcesses[platformData.platformNameLowerCase]) {
48
- resolve(void 0);
49
- return;
50
- }
51
- let isFirstWebpackWatchCompilation = true;
52
- prepareData.watch = true;
53
- try {
54
- const childProcess = yield this.startWebpackProcess(platformData, projectData, prepareData);
55
- childProcess.stdout.on("data", function (data) {
56
- process.stdout.write(data);
57
- });
58
- childProcess.stderr.on("data", function (data) {
59
- process.stderr.write(data);
60
- });
61
- childProcess.on("message", (message) => {
62
- this.$logger.trace("Message from webpack", message);
63
- if (typeof message === "object" &&
64
- "version" in message &&
65
- "type" in message) {
66
- if (isFirstWebpackWatchCompilation) {
67
- isFirstWebpackWatchCompilation = false;
68
- resolve(childProcess);
69
- return;
70
- }
71
- return this.handleHMRMessage(message, platformData, projectData, prepareData);
72
- }
73
- if (message === "Webpack compilation complete.") {
74
- this.$logger.info("Webpack build done!");
35
+ async compileWithWatch(platformData, projectData, prepareData) {
36
+ return new Promise(async (resolve, reject) => {
37
+ if (this.webpackProcesses[platformData.platformNameLowerCase]) {
38
+ resolve(void 0);
39
+ return;
40
+ }
41
+ let isFirstWebpackWatchCompilation = true;
42
+ prepareData.watch = true;
43
+ try {
44
+ const childProcess = await this.startWebpackProcess(platformData, projectData, prepareData);
45
+ childProcess.stdout.on("data", function (data) {
46
+ process.stdout.write(data);
47
+ });
48
+ childProcess.stderr.on("data", function (data) {
49
+ process.stderr.write(data);
50
+ });
51
+ childProcess.on("message", (message) => {
52
+ this.$logger.trace("Message from webpack", message);
53
+ if (typeof message === "object" &&
54
+ "version" in message &&
55
+ "type" in message) {
56
+ if (isFirstWebpackWatchCompilation) {
57
+ isFirstWebpackWatchCompilation = false;
75
58
  resolve(childProcess);
59
+ return;
76
60
  }
77
- message = message;
78
- if (message.emittedFiles) {
79
- if (isFirstWebpackWatchCompilation) {
80
- isFirstWebpackWatchCompilation = false;
81
- this.expectedHashes[platformData.platformNameLowerCase] =
82
- prepareData.hmr ? message.hash : "";
83
- return;
84
- }
85
- const previousHash = this.expectedHashes[platformData.platformNameLowerCase];
86
- let result;
87
- if (prepareData.hmr) {
88
- result = this.getUpdatedEmittedFiles(message.emittedFiles, message.chunkFiles, message.hash, platformData.platformNameLowerCase);
89
- }
90
- else {
91
- result = {
92
- emittedFiles: message.emittedFiles,
93
- fallbackFiles: [],
94
- hash: "",
95
- };
96
- }
97
- const files = result.emittedFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
98
- const fallbackFiles = result.fallbackFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
99
- const data = {
100
- files,
101
- hasOnlyHotUpdateFiles: files.every((f) => f.indexOf("hot-update") > -1),
102
- hmrData: {
103
- hash: result.hash,
104
- fallbackFiles,
105
- },
106
- platform: platformData.platformNameLowerCase,
107
- };
108
- this.$logger.trace("Generated data from webpack message:", data);
109
- if (data.hasOnlyHotUpdateFiles && previousHash === message.hash) {
110
- return;
111
- }
112
- if (data.files.length) {
113
- this.emit(constants_1.WEBPACK_COMPILATION_COMPLETE, data);
114
- }
61
+ return this.handleHMRMessage(message, platformData, projectData, prepareData);
62
+ }
63
+ if (message === "Webpack compilation complete.") {
64
+ this.$logger.info("Webpack build done!");
65
+ resolve(childProcess);
66
+ }
67
+ message = message;
68
+ if (message.emittedFiles) {
69
+ if (isFirstWebpackWatchCompilation) {
70
+ isFirstWebpackWatchCompilation = false;
71
+ this.expectedHashes[platformData.platformNameLowerCase] =
72
+ prepareData.hmr ? message.hash : "";
73
+ return;
115
74
  }
116
- });
117
- childProcess.on("error", (err) => {
118
- this.$logger.trace(`Unable to start webpack process in watch mode. Error is: ${err}`);
119
- delete this.webpackProcesses[platformData.platformNameLowerCase];
120
- reject(err);
121
- });
122
- childProcess.on("close", (arg) => __awaiter(this, void 0, void 0, function* () {
123
- yield this.$cleanupService.removeKillProcess(childProcess.pid.toString());
124
- const exitCode = typeof arg === "number" ? arg : arg && arg.code;
125
- this.$logger.trace(`Webpack process exited with code ${exitCode} when we expected it to be long living with watch.`);
126
- const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
127
- error.code = exitCode;
128
- delete this.webpackProcesses[platformData.platformNameLowerCase];
129
- reject(error);
130
- }));
131
- }
132
- catch (err) {
133
- reject(err);
134
- }
135
- }));
136
- });
137
- }
138
- compileWithoutWatch(platformData, projectData, prepareData) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
141
- if (this.webpackProcesses[platformData.platformNameLowerCase]) {
142
- resolve();
143
- return;
144
- }
145
- try {
146
- const childProcess = yield this.startWebpackProcess(platformData, projectData, prepareData);
147
- childProcess.on("error", (err) => {
148
- this.$logger.trace(`Unable to start webpack process in non-watch mode. Error is: ${err}`);
149
- delete this.webpackProcesses[platformData.platformNameLowerCase];
150
- reject(err);
151
- });
152
- childProcess.on("close", (arg) => __awaiter(this, void 0, void 0, function* () {
153
- yield this.$cleanupService.removeKillProcess(childProcess.pid.toString());
154
- delete this.webpackProcesses[platformData.platformNameLowerCase];
155
- const exitCode = typeof arg === "number" ? arg : arg && arg.code;
156
- if (exitCode === 0) {
157
- resolve();
75
+ const previousHash = this.expectedHashes[platformData.platformNameLowerCase];
76
+ let result;
77
+ if (prepareData.hmr) {
78
+ result = this.getUpdatedEmittedFiles(message.emittedFiles, message.chunkFiles, message.hash, platformData.platformNameLowerCase);
158
79
  }
159
80
  else {
160
- const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
161
- error.code = exitCode;
162
- reject(error);
81
+ result = {
82
+ emittedFiles: message.emittedFiles,
83
+ fallbackFiles: [],
84
+ hash: "",
85
+ };
163
86
  }
164
- }));
165
- }
166
- catch (err) {
87
+ const files = result.emittedFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
88
+ const fallbackFiles = result.fallbackFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
89
+ const data = {
90
+ files,
91
+ hasOnlyHotUpdateFiles: files.every((f) => f.indexOf("hot-update") > -1),
92
+ hmrData: {
93
+ hash: result.hash,
94
+ fallbackFiles,
95
+ },
96
+ platform: platformData.platformNameLowerCase,
97
+ };
98
+ this.$logger.trace("Generated data from webpack message:", data);
99
+ if (data.hasOnlyHotUpdateFiles && previousHash === message.hash) {
100
+ return;
101
+ }
102
+ if (data.files.length) {
103
+ this.emit(constants_1.WEBPACK_COMPILATION_COMPLETE, data);
104
+ }
105
+ }
106
+ });
107
+ childProcess.on("error", (err) => {
108
+ this.$logger.trace(`Unable to start webpack process in watch mode. Error is: ${err}`);
109
+ delete this.webpackProcesses[platformData.platformNameLowerCase];
167
110
  reject(err);
168
- }
169
- }));
170
- });
171
- }
172
- stopWebpackCompiler(platform) {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- if (platform) {
175
- yield this.stopWebpackForPlatform(platform);
111
+ });
112
+ childProcess.on("close", async (arg) => {
113
+ await this.$cleanupService.removeKillProcess(childProcess.pid.toString());
114
+ const exitCode = typeof arg === "number" ? arg : arg && arg.code;
115
+ this.$logger.trace(`Webpack process exited with code ${exitCode} when we expected it to be long living with watch.`);
116
+ const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
117
+ error.code = exitCode;
118
+ delete this.webpackProcesses[platformData.platformNameLowerCase];
119
+ reject(error);
120
+ });
176
121
  }
177
- else {
178
- const webpackedPlatforms = Object.keys(this.webpackProcesses);
179
- for (let i = 0; i < webpackedPlatforms.length; i++) {
180
- yield this.stopWebpackForPlatform(webpackedPlatforms[i]);
181
- }
122
+ catch (err) {
123
+ reject(err);
182
124
  }
183
125
  });
184
126
  }
185
- shouldUsePreserveSymlinksOption() {
186
- return __awaiter(this, void 0, void 0, function* () {
187
- const currentPackageManager = yield this.$packageManager.getPackageManagerName();
188
- const res = currentPackageManager !== constants_1.PackageManagers.pnpm;
189
- return res;
190
- });
191
- }
192
- startWebpackProcess(platformData, projectData, prepareData) {
193
- return __awaiter(this, void 0, void 0, function* () {
194
- if (!this.$fs.exists(projectData.webpackConfigPath)) {
195
- this.$errors.fail(`The webpack configuration file ${projectData.webpackConfigPath} does not exist. Ensure the file exists, or update the path in ${constants_1.CONFIG_FILE_NAME_DISPLAY}.`);
196
- }
197
- const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
198
- const envParams = yield this.buildEnvCommandLineParams(envData, platformData, projectData, prepareData);
199
- const additionalNodeArgs = semver.major(process.version) <= 8 ? ["--harmony"] : [];
200
- if (yield this.shouldUsePreserveSymlinksOption()) {
201
- additionalNodeArgs.push("--preserve-symlinks");
127
+ async compileWithoutWatch(platformData, projectData, prepareData) {
128
+ return new Promise(async (resolve, reject) => {
129
+ if (this.webpackProcesses[platformData.platformNameLowerCase]) {
130
+ resolve();
131
+ return;
202
132
  }
203
- if (process.arch === "x64") {
204
- additionalNodeArgs.unshift("--max_old_space_size=4096");
205
- }
206
- const args = [
207
- ...additionalNodeArgs,
208
- this.getWebpackExecutablePath(projectData),
209
- this.isWebpack5(projectData) ? `build` : null,
210
- `--config=${projectData.webpackConfigPath}`,
211
- ...envParams,
212
- ].filter(Boolean);
213
- if (prepareData.watch) {
214
- args.push("--watch");
215
- }
216
- const stdio = prepareData.watch ? ["ipc"] : "inherit";
217
- const options = {
218
- cwd: projectData.projectDir,
219
- stdio,
220
- };
221
- options.env = {
222
- NATIVESCRIPT_WEBPACK_ENV: JSON.stringify(envData)
223
- };
224
- if (this.$options.hostProjectPath) {
225
- Object.assign(options.env, {
226
- USER_PROJECT_PLATFORMS_ANDROID: this.$options.hostProjectPath,
227
- USER_PROJECT_PLATFORMS_ANDROID_MODULE: this.$options.hostProjectModuleName,
228
- USER_PROJECT_PLATFORMS_IOS: this.$options.hostProjectPath,
133
+ try {
134
+ const childProcess = await this.startWebpackProcess(platformData, projectData, prepareData);
135
+ childProcess.on("error", (err) => {
136
+ this.$logger.trace(`Unable to start webpack process in non-watch mode. Error is: ${err}`);
137
+ delete this.webpackProcesses[platformData.platformNameLowerCase];
138
+ reject(err);
139
+ });
140
+ childProcess.on("close", async (arg) => {
141
+ await this.$cleanupService.removeKillProcess(childProcess.pid.toString());
142
+ delete this.webpackProcesses[platformData.platformNameLowerCase];
143
+ const exitCode = typeof arg === "number" ? arg : arg && arg.code;
144
+ if (exitCode === 0) {
145
+ resolve();
146
+ }
147
+ else {
148
+ const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
149
+ error.code = exitCode;
150
+ reject(error);
151
+ }
229
152
  });
230
153
  }
231
- const childProcess = this.$childProcess.spawn(process.execPath, args, options);
232
- this.webpackProcesses[platformData.platformNameLowerCase] = childProcess;
233
- yield this.$cleanupService.addKillProcess(childProcess.pid.toString());
234
- return childProcess;
154
+ catch (err) {
155
+ reject(err);
156
+ }
235
157
  });
236
158
  }
159
+ async stopWebpackCompiler(platform) {
160
+ if (platform) {
161
+ await this.stopWebpackForPlatform(platform);
162
+ }
163
+ else {
164
+ const webpackedPlatforms = Object.keys(this.webpackProcesses);
165
+ for (let i = 0; i < webpackedPlatforms.length; i++) {
166
+ await this.stopWebpackForPlatform(webpackedPlatforms[i]);
167
+ }
168
+ }
169
+ }
170
+ async shouldUsePreserveSymlinksOption() {
171
+ const currentPackageManager = await this.$packageManager.getPackageManagerName();
172
+ const res = currentPackageManager !== constants_1.PackageManagers.pnpm;
173
+ return res;
174
+ }
175
+ async startWebpackProcess(platformData, projectData, prepareData) {
176
+ if (!this.$fs.exists(projectData.webpackConfigPath)) {
177
+ this.$errors.fail(`The webpack configuration file ${projectData.webpackConfigPath} does not exist. Ensure the file exists, or update the path in ${constants_1.CONFIG_FILE_NAME_DISPLAY}.`);
178
+ }
179
+ const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
180
+ const envParams = await this.buildEnvCommandLineParams(envData, platformData, projectData, prepareData);
181
+ const additionalNodeArgs = semver.major(process.version) <= 8 ? ["--harmony"] : [];
182
+ if (await this.shouldUsePreserveSymlinksOption()) {
183
+ additionalNodeArgs.push("--preserve-symlinks");
184
+ }
185
+ if (process.arch === "x64") {
186
+ additionalNodeArgs.unshift("--max_old_space_size=4096");
187
+ }
188
+ const args = [
189
+ ...additionalNodeArgs,
190
+ this.getWebpackExecutablePath(projectData),
191
+ this.isWebpack5(projectData) ? `build` : null,
192
+ `--config=${projectData.webpackConfigPath}`,
193
+ ...envParams,
194
+ ].filter(Boolean);
195
+ if (prepareData.watch) {
196
+ args.push("--watch");
197
+ }
198
+ const stdio = prepareData.watch ? ["ipc"] : "inherit";
199
+ const options = {
200
+ cwd: projectData.projectDir,
201
+ stdio,
202
+ };
203
+ options.env = {
204
+ NATIVESCRIPT_WEBPACK_ENV: JSON.stringify(envData),
205
+ };
206
+ if (this.$hostInfo.isWindows) {
207
+ Object.assign(options.env, { APPDATA: process.env.appData });
208
+ }
209
+ if (this.$options.hostProjectPath) {
210
+ Object.assign(options.env, {
211
+ USER_PROJECT_PLATFORMS_ANDROID: this.$options.hostProjectPath,
212
+ USER_PROJECT_PLATFORMS_ANDROID_MODULE: this.$options.hostProjectModuleName,
213
+ USER_PROJECT_PLATFORMS_IOS: this.$options.hostProjectPath,
214
+ });
215
+ }
216
+ const childProcess = this.$childProcess.spawn(process.execPath, args, options);
217
+ this.webpackProcesses[platformData.platformNameLowerCase] = childProcess;
218
+ await this.$cleanupService.addKillProcess(childProcess.pid.toString());
219
+ return childProcess;
220
+ }
237
221
  buildEnvData(platform, projectData, prepareData) {
238
222
  var _a, _b, _c;
239
223
  const { env } = prepareData;
@@ -264,48 +248,46 @@ class WebpackCompilerService extends events_1.EventEmitter {
264
248
  }
265
249
  return envData;
266
250
  }
267
- buildEnvCommandLineParams(envData, platformData, projectData, prepareData) {
268
- return __awaiter(this, void 0, void 0, function* () {
269
- const envFlagNames = Object.keys(envData);
270
- const canSnapshot = prepareData.release &&
271
- this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName);
272
- if (envData && envData.snapshot) {
273
- if (!canSnapshot) {
274
- this.$logger.warn("Stripping the snapshot flag. " +
275
- "Bear in mind that snapshot is only available in Android release builds.");
276
- envFlagNames.splice(envFlagNames.indexOf("snapshot"), 1);
277
- }
278
- else if (this.$hostInfo.isWindows) {
279
- const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
280
- const installedWebpackPluginVersion = yield this.$packageInstallationManager.getInstalledDependencyVersion(constants_1.WEBPACK_PLUGIN_NAME, projectData.projectDir);
281
- const hasWebpackPluginWithWinSnapshotsSupport = !!installedWebpackPluginVersion
282
- ? semver.gte(semver.coerce(installedWebpackPluginVersion), minWebpackPluginWithWinSnapshotsVersion)
283
- : true;
284
- if (!hasWebpackPluginWithWinSnapshotsSupport) {
285
- this.$errors.fail(`In order to generate Snapshots on Windows, please upgrade your Webpack plugin version (npm i ${constants_1.WEBPACK_PLUGIN_NAME}@latest).`);
286
- }
287
- }
251
+ async buildEnvCommandLineParams(envData, platformData, projectData, prepareData) {
252
+ const envFlagNames = Object.keys(envData);
253
+ const canSnapshot = prepareData.release &&
254
+ this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName);
255
+ if (envData && envData.snapshot) {
256
+ if (!canSnapshot) {
257
+ this.$logger.warn("Stripping the snapshot flag. " +
258
+ "Bear in mind that snapshot is only available in Android release builds.");
259
+ envFlagNames.splice(envFlagNames.indexOf("snapshot"), 1);
288
260
  }
289
- const args = [];
290
- envFlagNames.map((item) => {
291
- let envValue = envData[item];
292
- if (typeof envValue === "undefined") {
293
- return;
261
+ else if (this.$hostInfo.isWindows) {
262
+ const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
263
+ const installedWebpackPluginVersion = await this.$packageInstallationManager.getInstalledDependencyVersion(constants_1.WEBPACK_PLUGIN_NAME, projectData.projectDir);
264
+ const hasWebpackPluginWithWinSnapshotsSupport = !!installedWebpackPluginVersion
265
+ ? semver.gte(semver.coerce(installedWebpackPluginVersion), minWebpackPluginWithWinSnapshotsVersion)
266
+ : true;
267
+ if (!hasWebpackPluginWithWinSnapshotsSupport) {
268
+ this.$errors.fail(`In order to generate Snapshots on Windows, please upgrade your Webpack plugin version (npm i ${constants_1.WEBPACK_PLUGIN_NAME}@latest).`);
294
269
  }
295
- if (typeof envValue === "boolean") {
296
- if (envValue) {
297
- args.push(`--env.${item}`);
298
- }
270
+ }
271
+ }
272
+ const args = [];
273
+ envFlagNames.map((item) => {
274
+ let envValue = envData[item];
275
+ if (typeof envValue === "undefined") {
276
+ return;
277
+ }
278
+ if (typeof envValue === "boolean") {
279
+ if (envValue) {
280
+ args.push(`--env.${item}`);
299
281
  }
300
- else {
301
- if (!Array.isArray(envValue)) {
302
- envValue = [envValue];
303
- }
304
- envValue.map((value) => args.push(`--env.${item}=${value}`));
282
+ }
283
+ else {
284
+ if (!Array.isArray(envValue)) {
285
+ envValue = [envValue];
305
286
  }
306
- });
307
- return args;
287
+ envValue.map((value) => args.push(`--env.${item}=${value}`));
288
+ }
308
289
  });
290
+ return args;
309
291
  }
310
292
  getUpdatedEmittedFiles(allEmittedFiles, chunkFiles, nextHash, platform) {
311
293
  const currentHash = this.getCurrentHotUpdateHash(allEmittedFiles);
@@ -334,16 +316,14 @@ class WebpackCompilerService extends events_1.EventEmitter {
334
316
  }
335
317
  return hotHash || "";
336
318
  }
337
- stopWebpackForPlatform(platform) {
338
- return __awaiter(this, void 0, void 0, function* () {
339
- this.$logger.trace(`Stopping webpack watch for platform ${platform}.`);
340
- const webpackProcess = this.webpackProcesses[platform];
341
- yield this.$cleanupService.removeKillProcess(webpackProcess.pid.toString());
342
- if (webpackProcess) {
343
- webpackProcess.kill("SIGINT");
344
- delete this.webpackProcesses[platform];
345
- }
346
- });
319
+ async stopWebpackForPlatform(platform) {
320
+ this.$logger.trace(`Stopping webpack watch for platform ${platform}.`);
321
+ const webpackProcess = this.webpackProcesses[platform];
322
+ await this.$cleanupService.removeKillProcess(webpackProcess.pid.toString());
323
+ if (webpackProcess) {
324
+ webpackProcess.kill("SIGINT");
325
+ delete this.webpackProcesses[platform];
326
+ }
347
327
  }
348
328
  handleHMRMessage(message, platformData, projectData, prepareData) {
349
329
  this.$logger.trace("Received message from webpack process:", message);
@@ -409,8 +389,8 @@ class WebpackCompilerService extends events_1.EventEmitter {
409
389
  return false;
410
390
  }
411
391
  }
392
+ exports.WebpackCompilerService = WebpackCompilerService;
412
393
  __decorate([
413
394
  (0, decorators_1.performanceLog)()
414
395
  ], WebpackCompilerService.prototype, "startWebpackProcess", null);
415
- exports.WebpackCompilerService = WebpackCompilerService;
416
396
  yok_1.injector.register("webpackCompilerService", WebpackCompilerService);
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.XcconfigService = void 0;
13
4
  const path = require("path");
@@ -30,22 +21,20 @@ class XcconfigService {
30
21
  getPluginsReleaseXcconfigFilePath(projectRoot) {
31
22
  return path.join(projectRoot, "plugins-release.xcconfig");
32
23
  }
33
- mergeFiles(sourceFile, destinationFile) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- if (!this.$fs.exists(destinationFile)) {
36
- this.$fs.writeFile(destinationFile, "");
37
- }
38
- const escapedDestinationFile = destinationFile.replace(/'/g, "\\'");
39
- const escapedSourceFile = sourceFile.replace(/'/g, "\\'");
40
- const mergeScript = `require 'xcodeproj';
24
+ async mergeFiles(sourceFile, destinationFile) {
25
+ if (!this.$fs.exists(destinationFile)) {
26
+ this.$fs.writeFile(destinationFile, "");
27
+ }
28
+ const escapedDestinationFile = destinationFile.replace(/'/g, "\\'");
29
+ const escapedSourceFile = sourceFile.replace(/'/g, "\\'");
30
+ const mergeScript = `require 'xcodeproj';
41
31
  userConfig = Xcodeproj::Config.new('${escapedDestinationFile}')
42
32
  existingConfig = Xcodeproj::Config.new('${escapedSourceFile}')
43
33
  userConfig.attributes.each do |key,|
44
34
  existingConfig.attributes.delete(key) if (userConfig.attributes.key?(key) && existingConfig.attributes.key?(key))
45
35
  end
46
36
  userConfig.merge(existingConfig).save_as(Pathname.new('${escapedDestinationFile}'))`;
47
- yield this.$childProcess.exec(`ruby -e "${mergeScript}"`);
48
- });
37
+ await this.$childProcess.exec(`ruby -e "${mergeScript}"`);
49
38
  }
50
39
  readPropertyValue(xcconfigFilePath, propertyName) {
51
40
  if (this.$fs.exists(xcconfigFilePath)) {