nativescript 8.9.0-dev.2 → 8.9.0-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -5,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");
@@ -42,216 +33,206 @@ class WebpackCompilerService extends events_1.EventEmitter {
42
33
  this.webpackProcesses = {};
43
34
  this.expectedHashes = {};
44
35
  }
45
- compileWithWatch(platformData, projectData, prepareData) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
48
- if (this.webpackProcesses[platformData.platformNameLowerCase]) {
49
- resolve(void 0);
50
- return;
51
- }
52
- let isFirstWebpackWatchCompilation = true;
53
- prepareData.watch = true;
54
- try {
55
- const childProcess = yield this.startWebpackProcess(platformData, projectData, prepareData);
56
- childProcess.stdout.on("data", function (data) {
57
- process.stdout.write(data);
58
- });
59
- childProcess.stderr.on("data", function (data) {
60
- process.stderr.write(data);
61
- });
62
- childProcess.on("message", (message) => {
63
- this.$logger.trace("Message from webpack", message);
64
- // if we are on webpack5 - we handle HMR in a slightly different way
65
- if (typeof message === "object" &&
66
- "version" in message &&
67
- "type" in message) {
68
- // first compilation can be ignored because it will be synced regardless
69
- // handling it here would trigger 2 syncs
70
- if (isFirstWebpackWatchCompilation) {
71
- isFirstWebpackWatchCompilation = false;
72
- resolve(childProcess);
73
- return;
74
- }
75
- // if ((message as IWebpackMessage).type === "hmr-status") {
76
- // // we pass message through our event-bus to be handled wherever needed
77
- // // in this case webpack-hmr-status-service listens for this event
78
- // this.$sharedEventBus.emit("webpack:hmr-status", message);
79
- // return;
80
- // }
81
- return this.handleHMRMessage(message, platformData, projectData, prepareData);
82
- }
83
- if (message === "Webpack compilation complete.") {
84
- this.$logger.info("Webpack build done!");
36
+ async compileWithWatch(platformData, projectData, prepareData) {
37
+ return new Promise(async (resolve, reject) => {
38
+ if (this.webpackProcesses[platformData.platformNameLowerCase]) {
39
+ resolve(void 0);
40
+ return;
41
+ }
42
+ let isFirstWebpackWatchCompilation = true;
43
+ prepareData.watch = true;
44
+ try {
45
+ const childProcess = await this.startWebpackProcess(platformData, projectData, prepareData);
46
+ childProcess.stdout.on("data", function (data) {
47
+ process.stdout.write(data);
48
+ });
49
+ childProcess.stderr.on("data", function (data) {
50
+ process.stderr.write(data);
51
+ });
52
+ childProcess.on("message", (message) => {
53
+ this.$logger.trace("Message from webpack", message);
54
+ // if we are on webpack5 - we handle HMR in a slightly different way
55
+ if (typeof message === "object" &&
56
+ "version" in message &&
57
+ "type" in message) {
58
+ // first compilation can be ignored because it will be synced regardless
59
+ // handling it here would trigger 2 syncs
60
+ if (isFirstWebpackWatchCompilation) {
61
+ isFirstWebpackWatchCompilation = false;
85
62
  resolve(childProcess);
63
+ return;
86
64
  }
87
- message = message;
88
- if (message.emittedFiles) {
89
- if (isFirstWebpackWatchCompilation) {
90
- isFirstWebpackWatchCompilation = false;
91
- this.expectedHashes[platformData.platformNameLowerCase] =
92
- prepareData.hmr ? message.hash : "";
93
- return;
94
- }
95
- // Persist the previousHash value before calling `this.getUpdatedEmittedFiles` as it will modify the expectedHashes object with the current hash
96
- const previousHash = this.expectedHashes[platformData.platformNameLowerCase];
97
- let result;
98
- if (prepareData.hmr) {
99
- result = this.getUpdatedEmittedFiles(message.emittedFiles, message.chunkFiles, message.hash, platformData.platformNameLowerCase);
100
- }
101
- else {
102
- result = {
103
- emittedFiles: message.emittedFiles,
104
- fallbackFiles: [],
105
- hash: "",
106
- };
107
- }
108
- const files = result.emittedFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
109
- const fallbackFiles = result.fallbackFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
110
- const data = {
111
- files,
112
- hasOnlyHotUpdateFiles: files.every((f) => f.indexOf("hot-update") > -1),
113
- hmrData: {
114
- hash: result.hash,
115
- fallbackFiles,
116
- },
117
- platform: platformData.platformNameLowerCase,
118
- };
119
- this.$logger.trace("Generated data from webpack message:", data);
120
- // the hash of the compilation is the same as the previous one and there are only hot updates produced
121
- if (data.hasOnlyHotUpdateFiles && previousHash === message.hash) {
122
- return;
123
- }
124
- if (data.files.length) {
125
- this.emit(constants_1.WEBPACK_COMPILATION_COMPLETE, data);
126
- }
65
+ // if ((message as IWebpackMessage).type === "hmr-status") {
66
+ // // we pass message through our event-bus to be handled wherever needed
67
+ // // in this case webpack-hmr-status-service listens for this event
68
+ // this.$sharedEventBus.emit("webpack:hmr-status", message);
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!");
75
+ resolve(childProcess);
76
+ }
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;
127
84
  }
128
- });
129
- childProcess.on("error", (err) => {
130
- this.$logger.trace(`Unable to start webpack process in watch mode. Error is: ${err}`);
131
- delete this.webpackProcesses[platformData.platformNameLowerCase];
132
- reject(err);
133
- });
134
- childProcess.on("close", (arg) => __awaiter(this, void 0, void 0, function* () {
135
- yield this.$cleanupService.removeKillProcess(childProcess.pid.toString());
136
- const exitCode = typeof arg === "number" ? arg : arg && arg.code;
137
- this.$logger.trace(`Webpack process exited with code ${exitCode} when we expected it to be long living with watch.`);
138
- const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
139
- error.code = exitCode;
140
- delete this.webpackProcesses[platformData.platformNameLowerCase];
141
- reject(error);
142
- }));
143
- }
144
- catch (err) {
145
- reject(err);
146
- }
147
- }));
148
- });
149
- }
150
- compileWithoutWatch(platformData, projectData, prepareData) {
151
- return __awaiter(this, void 0, void 0, function* () {
152
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
153
- if (this.webpackProcesses[platformData.platformNameLowerCase]) {
154
- resolve();
155
- return;
156
- }
157
- try {
158
- const childProcess = yield this.startWebpackProcess(platformData, projectData, prepareData);
159
- childProcess.on("error", (err) => {
160
- this.$logger.trace(`Unable to start webpack process in non-watch mode. Error is: ${err}`);
161
- delete this.webpackProcesses[platformData.platformNameLowerCase];
162
- reject(err);
163
- });
164
- childProcess.on("close", (arg) => __awaiter(this, void 0, void 0, function* () {
165
- yield this.$cleanupService.removeKillProcess(childProcess.pid.toString());
166
- delete this.webpackProcesses[platformData.platformNameLowerCase];
167
- const exitCode = typeof arg === "number" ? arg : arg && arg.code;
168
- if (exitCode === 0) {
169
- resolve();
85
+ // Persist the previousHash value before calling `this.getUpdatedEmittedFiles` as it will modify the expectedHashes object with the current hash
86
+ const previousHash = this.expectedHashes[platformData.platformNameLowerCase];
87
+ let result;
88
+ if (prepareData.hmr) {
89
+ result = this.getUpdatedEmittedFiles(message.emittedFiles, message.chunkFiles, message.hash, platformData.platformNameLowerCase);
170
90
  }
171
91
  else {
172
- const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
173
- error.code = exitCode;
174
- reject(error);
92
+ result = {
93
+ emittedFiles: message.emittedFiles,
94
+ fallbackFiles: [],
95
+ hash: "",
96
+ };
175
97
  }
176
- }));
177
- }
178
- catch (err) {
98
+ const files = result.emittedFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
99
+ const fallbackFiles = result.fallbackFiles.map((file) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, file));
100
+ const data = {
101
+ files,
102
+ hasOnlyHotUpdateFiles: files.every((f) => f.indexOf("hot-update") > -1),
103
+ hmrData: {
104
+ hash: result.hash,
105
+ fallbackFiles,
106
+ },
107
+ platform: platformData.platformNameLowerCase,
108
+ };
109
+ this.$logger.trace("Generated data from webpack message:", data);
110
+ // the hash of the compilation is the same as the previous one and there are only hot updates produced
111
+ if (data.hasOnlyHotUpdateFiles && previousHash === message.hash) {
112
+ return;
113
+ }
114
+ if (data.files.length) {
115
+ this.emit(constants_1.WEBPACK_COMPILATION_COMPLETE, data);
116
+ }
117
+ }
118
+ });
119
+ childProcess.on("error", (err) => {
120
+ this.$logger.trace(`Unable to start webpack process in watch mode. Error is: ${err}`);
121
+ delete this.webpackProcesses[platformData.platformNameLowerCase];
179
122
  reject(err);
180
- }
181
- }));
182
- });
183
- }
184
- stopWebpackCompiler(platform) {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- if (platform) {
187
- yield this.stopWebpackForPlatform(platform);
123
+ });
124
+ childProcess.on("close", async (arg) => {
125
+ await this.$cleanupService.removeKillProcess(childProcess.pid.toString());
126
+ const exitCode = typeof arg === "number" ? arg : arg && arg.code;
127
+ this.$logger.trace(`Webpack process exited with code ${exitCode} when we expected it to be long living with watch.`);
128
+ const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
129
+ error.code = exitCode;
130
+ delete this.webpackProcesses[platformData.platformNameLowerCase];
131
+ reject(error);
132
+ });
188
133
  }
189
- else {
190
- const webpackedPlatforms = Object.keys(this.webpackProcesses);
191
- for (let i = 0; i < webpackedPlatforms.length; i++) {
192
- yield this.stopWebpackForPlatform(webpackedPlatforms[i]);
193
- }
134
+ catch (err) {
135
+ reject(err);
194
136
  }
195
137
  });
196
138
  }
197
- shouldUsePreserveSymlinksOption() {
198
- return __awaiter(this, void 0, void 0, function* () {
199
- // pnpm does not require symlink (https://github.com/nodejs/node-eps/issues/46#issuecomment-277373566)
200
- // and it also does not work in some cases.
201
- // Check https://github.com/NativeScript/nativescript-cli/issues/5259 for more information
202
- const currentPackageManager = yield this.$packageManager.getPackageManagerName();
203
- const res = currentPackageManager !== constants_1.PackageManagers.pnpm;
204
- return res;
205
- });
206
- }
207
- startWebpackProcess(platformData, projectData, prepareData) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- if (!this.$fs.exists(projectData.webpackConfigPath)) {
210
- 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}.`);
211
- }
212
- const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
213
- const envParams = yield this.buildEnvCommandLineParams(envData, platformData, projectData, prepareData);
214
- const additionalNodeArgs = semver.major(process.version) <= 8 ? ["--harmony"] : [];
215
- if (yield this.shouldUsePreserveSymlinksOption()) {
216
- additionalNodeArgs.push("--preserve-symlinks");
217
- }
218
- if (process.arch === "x64") {
219
- additionalNodeArgs.unshift("--max_old_space_size=4096");
139
+ async compileWithoutWatch(platformData, projectData, prepareData) {
140
+ return new Promise(async (resolve, reject) => {
141
+ if (this.webpackProcesses[platformData.platformNameLowerCase]) {
142
+ resolve();
143
+ return;
220
144
  }
221
- const args = [
222
- ...additionalNodeArgs,
223
- this.getWebpackExecutablePath(projectData),
224
- this.isWebpack5(projectData) ? `build` : null,
225
- `--config=${projectData.webpackConfigPath}`,
226
- ...envParams,
227
- ].filter(Boolean);
228
- if (prepareData.watch) {
229
- args.push("--watch");
230
- }
231
- const stdio = prepareData.watch ? ["ipc"] : "inherit";
232
- const options = {
233
- cwd: projectData.projectDir,
234
- stdio,
235
- };
236
- options.env = {
237
- NATIVESCRIPT_WEBPACK_ENV: JSON.stringify(envData),
238
- };
239
- if (this.$hostInfo.isWindows) {
240
- Object.assign(options.env, { APPDATA: process.env.appData });
241
- }
242
- if (this.$options.hostProjectPath) {
243
- Object.assign(options.env, {
244
- USER_PROJECT_PLATFORMS_ANDROID: this.$options.hostProjectPath,
245
- USER_PROJECT_PLATFORMS_ANDROID_MODULE: this.$options.hostProjectModuleName,
246
- USER_PROJECT_PLATFORMS_IOS: this.$options.hostProjectPath,
145
+ try {
146
+ const childProcess = await 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", async (arg) => {
153
+ await 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();
158
+ }
159
+ else {
160
+ const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
161
+ error.code = exitCode;
162
+ reject(error);
163
+ }
247
164
  });
248
165
  }
249
- const childProcess = this.$childProcess.spawn(process.execPath, args, options);
250
- this.webpackProcesses[platformData.platformNameLowerCase] = childProcess;
251
- yield this.$cleanupService.addKillProcess(childProcess.pid.toString());
252
- return childProcess;
166
+ catch (err) {
167
+ reject(err);
168
+ }
253
169
  });
254
170
  }
171
+ async stopWebpackCompiler(platform) {
172
+ if (platform) {
173
+ await this.stopWebpackForPlatform(platform);
174
+ }
175
+ else {
176
+ const webpackedPlatforms = Object.keys(this.webpackProcesses);
177
+ for (let i = 0; i < webpackedPlatforms.length; i++) {
178
+ await this.stopWebpackForPlatform(webpackedPlatforms[i]);
179
+ }
180
+ }
181
+ }
182
+ async shouldUsePreserveSymlinksOption() {
183
+ // pnpm does not require symlink (https://github.com/nodejs/node-eps/issues/46#issuecomment-277373566)
184
+ // and it also does not work in some cases.
185
+ // Check https://github.com/NativeScript/nativescript-cli/issues/5259 for more information
186
+ const currentPackageManager = await this.$packageManager.getPackageManagerName();
187
+ const res = currentPackageManager !== constants_1.PackageManagers.pnpm;
188
+ return res;
189
+ }
190
+ async startWebpackProcess(platformData, projectData, prepareData) {
191
+ if (!this.$fs.exists(projectData.webpackConfigPath)) {
192
+ 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}.`);
193
+ }
194
+ const envData = this.buildEnvData(platformData.platformNameLowerCase, projectData, prepareData);
195
+ const envParams = await this.buildEnvCommandLineParams(envData, platformData, projectData, prepareData);
196
+ const additionalNodeArgs = semver.major(process.version) <= 8 ? ["--harmony"] : [];
197
+ if (await this.shouldUsePreserveSymlinksOption()) {
198
+ additionalNodeArgs.push("--preserve-symlinks");
199
+ }
200
+ if (process.arch === "x64") {
201
+ additionalNodeArgs.unshift("--max_old_space_size=4096");
202
+ }
203
+ const args = [
204
+ ...additionalNodeArgs,
205
+ this.getWebpackExecutablePath(projectData),
206
+ this.isWebpack5(projectData) ? `build` : null,
207
+ `--config=${projectData.webpackConfigPath}`,
208
+ ...envParams,
209
+ ].filter(Boolean);
210
+ if (prepareData.watch) {
211
+ args.push("--watch");
212
+ }
213
+ const stdio = prepareData.watch ? ["ipc"] : "inherit";
214
+ const options = {
215
+ cwd: projectData.projectDir,
216
+ stdio,
217
+ };
218
+ options.env = {
219
+ NATIVESCRIPT_WEBPACK_ENV: JSON.stringify(envData),
220
+ };
221
+ if (this.$hostInfo.isWindows) {
222
+ Object.assign(options.env, { APPDATA: process.env.appData });
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,
229
+ });
230
+ }
231
+ const childProcess = this.$childProcess.spawn(process.execPath, args, options);
232
+ this.webpackProcesses[platformData.platformNameLowerCase] = childProcess;
233
+ await this.$cleanupService.addKillProcess(childProcess.pid.toString());
234
+ return childProcess;
235
+ }
255
236
  buildEnvData(platform, projectData, prepareData) {
256
237
  var _a, _b, _c;
257
238
  const { env } = prepareData;
@@ -294,48 +275,46 @@ class WebpackCompilerService extends events_1.EventEmitter {
294
275
  }
295
276
  return envData;
296
277
  }
297
- buildEnvCommandLineParams(envData, platformData, projectData, prepareData) {
298
- return __awaiter(this, void 0, void 0, function* () {
299
- const envFlagNames = Object.keys(envData);
300
- const canSnapshot = prepareData.release &&
301
- this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName);
302
- if (envData && envData.snapshot) {
303
- if (!canSnapshot) {
304
- this.$logger.warn("Stripping the snapshot flag. " +
305
- "Bear in mind that snapshot is only available in Android release builds.");
306
- envFlagNames.splice(envFlagNames.indexOf("snapshot"), 1);
307
- }
308
- else if (this.$hostInfo.isWindows) {
309
- const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
310
- const installedWebpackPluginVersion = yield this.$packageInstallationManager.getInstalledDependencyVersion(constants_1.WEBPACK_PLUGIN_NAME, projectData.projectDir);
311
- const hasWebpackPluginWithWinSnapshotsSupport = !!installedWebpackPluginVersion
312
- ? semver.gte(semver.coerce(installedWebpackPluginVersion), minWebpackPluginWithWinSnapshotsVersion)
313
- : true;
314
- if (!hasWebpackPluginWithWinSnapshotsSupport) {
315
- this.$errors.fail(`In order to generate Snapshots on Windows, please upgrade your Webpack plugin version (npm i ${constants_1.WEBPACK_PLUGIN_NAME}@latest).`);
316
- }
317
- }
278
+ async buildEnvCommandLineParams(envData, platformData, projectData, prepareData) {
279
+ const envFlagNames = Object.keys(envData);
280
+ const canSnapshot = prepareData.release &&
281
+ this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName);
282
+ if (envData && envData.snapshot) {
283
+ if (!canSnapshot) {
284
+ this.$logger.warn("Stripping the snapshot flag. " +
285
+ "Bear in mind that snapshot is only available in Android release builds.");
286
+ envFlagNames.splice(envFlagNames.indexOf("snapshot"), 1);
318
287
  }
319
- const args = [];
320
- envFlagNames.map((item) => {
321
- let envValue = envData[item];
322
- if (typeof envValue === "undefined") {
323
- return;
288
+ else if (this.$hostInfo.isWindows) {
289
+ const minWebpackPluginWithWinSnapshotsVersion = "1.3.0";
290
+ const installedWebpackPluginVersion = await this.$packageInstallationManager.getInstalledDependencyVersion(constants_1.WEBPACK_PLUGIN_NAME, projectData.projectDir);
291
+ const hasWebpackPluginWithWinSnapshotsSupport = !!installedWebpackPluginVersion
292
+ ? semver.gte(semver.coerce(installedWebpackPluginVersion), minWebpackPluginWithWinSnapshotsVersion)
293
+ : true;
294
+ if (!hasWebpackPluginWithWinSnapshotsSupport) {
295
+ this.$errors.fail(`In order to generate Snapshots on Windows, please upgrade your Webpack plugin version (npm i ${constants_1.WEBPACK_PLUGIN_NAME}@latest).`);
324
296
  }
325
- if (typeof envValue === "boolean") {
326
- if (envValue) {
327
- args.push(`--env.${item}`);
328
- }
297
+ }
298
+ }
299
+ const args = [];
300
+ envFlagNames.map((item) => {
301
+ let envValue = envData[item];
302
+ if (typeof envValue === "undefined") {
303
+ return;
304
+ }
305
+ if (typeof envValue === "boolean") {
306
+ if (envValue) {
307
+ args.push(`--env.${item}`);
329
308
  }
330
- else {
331
- if (!Array.isArray(envValue)) {
332
- envValue = [envValue];
333
- }
334
- envValue.map((value) => args.push(`--env.${item}=${value}`));
309
+ }
310
+ else {
311
+ if (!Array.isArray(envValue)) {
312
+ envValue = [envValue];
335
313
  }
336
- });
337
- return args;
314
+ envValue.map((value) => args.push(`--env.${item}=${value}`));
315
+ }
338
316
  });
317
+ return args;
339
318
  }
340
319
  getUpdatedEmittedFiles(allEmittedFiles, chunkFiles, nextHash, platform) {
341
320
  const currentHash = this.getCurrentHotUpdateHash(allEmittedFiles);
@@ -374,16 +353,14 @@ class WebpackCompilerService extends events_1.EventEmitter {
374
353
  }
375
354
  return hotHash || "";
376
355
  }
377
- stopWebpackForPlatform(platform) {
378
- return __awaiter(this, void 0, void 0, function* () {
379
- this.$logger.trace(`Stopping webpack watch for platform ${platform}.`);
380
- const webpackProcess = this.webpackProcesses[platform];
381
- yield this.$cleanupService.removeKillProcess(webpackProcess.pid.toString());
382
- if (webpackProcess) {
383
- webpackProcess.kill("SIGINT");
384
- delete this.webpackProcesses[platform];
385
- }
386
- });
356
+ async stopWebpackForPlatform(platform) {
357
+ this.$logger.trace(`Stopping webpack watch for platform ${platform}.`);
358
+ const webpackProcess = this.webpackProcesses[platform];
359
+ await this.$cleanupService.removeKillProcess(webpackProcess.pid.toString());
360
+ if (webpackProcess) {
361
+ webpackProcess.kill("SIGINT");
362
+ delete this.webpackProcesses[platform];
363
+ }
387
364
  }
388
365
  handleHMRMessage(message, platformData, projectData, prepareData) {
389
366
  // handle new webpack hmr packets
@@ -452,9 +429,9 @@ class WebpackCompilerService extends events_1.EventEmitter {
452
429
  return false;
453
430
  }
454
431
  }
432
+ exports.WebpackCompilerService = WebpackCompilerService;
455
433
  __decorate([
456
434
  (0, decorators_1.performanceLog)()
457
435
  ], WebpackCompilerService.prototype, "startWebpackProcess", null);
458
- exports.WebpackCompilerService = WebpackCompilerService;
459
436
  yok_1.injector.register("webpackCompilerService", WebpackCompilerService);
460
437
  //# sourceMappingURL=webpack-compiler-service.js.map
@@ -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)) {