nativescript 8.9.0-dev.2 → 8.9.0-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +9 -32
  3. package/lib/base-package-manager.js +47 -71
  4. package/lib/bootstrap.js +1 -5
  5. package/lib/bun-package-manager.js +65 -104
  6. package/lib/color.js +2 -5
  7. package/lib/commands/add-platform.js +14 -31
  8. package/lib/commands/apple-login.js +18 -30
  9. package/lib/commands/appstore-list.js +34 -46
  10. package/lib/commands/appstore-upload.js +52 -68
  11. package/lib/commands/build.js +57 -90
  12. package/lib/commands/clean.js +161 -197
  13. package/lib/commands/command-base.js +14 -28
  14. package/lib/commands/config.js +48 -71
  15. package/lib/commands/create-project.js +210 -235
  16. package/lib/commands/debug.js +66 -93
  17. package/lib/commands/deploy.js +30 -47
  18. package/lib/commands/embedding/embed.js +33 -59
  19. package/lib/commands/extensibility/install-extension.js +5 -17
  20. package/lib/commands/extensibility/list-extensions.js +13 -25
  21. package/lib/commands/extensibility/uninstall-extension.js +4 -16
  22. package/lib/commands/fonts.js +30 -42
  23. package/lib/commands/generate-assets.js +13 -29
  24. package/lib/commands/generate-help.js +2 -14
  25. package/lib/commands/generate.js +12 -70
  26. package/lib/commands/info.js +2 -14
  27. package/lib/commands/install.js +34 -50
  28. package/lib/commands/list-platforms.js +14 -26
  29. package/lib/commands/migrate.js +15 -27
  30. package/lib/commands/native-add.js +23 -51
  31. package/lib/commands/platform-clean.js +19 -33
  32. package/lib/commands/plugin/add-plugin.js +12 -26
  33. package/lib/commands/plugin/build-plugin.js +31 -45
  34. package/lib/commands/plugin/create-plugin.js +110 -138
  35. package/lib/commands/plugin/list-plugins.js +22 -34
  36. package/lib/commands/plugin/remove-plugin.js +20 -35
  37. package/lib/commands/plugin/update-plugin.js +20 -34
  38. package/lib/commands/post-install.js +20 -39
  39. package/lib/commands/prepare.js +22 -39
  40. package/lib/commands/preview.js +49 -64
  41. package/lib/commands/remove-platform.js +7 -19
  42. package/lib/commands/resources/resources-update.js +13 -28
  43. package/lib/commands/run.js +55 -77
  44. package/lib/commands/setup.js +0 -1
  45. package/lib/commands/start.js +6 -20
  46. package/lib/commands/test-init.js +123 -138
  47. package/lib/commands/test.js +67 -97
  48. package/lib/commands/typings.js +126 -143
  49. package/lib/commands/update-platform.js +22 -40
  50. package/lib/commands/update.js +30 -45
  51. package/lib/commands/widget.js +390 -352
  52. package/lib/common/bootstrap.js +0 -1
  53. package/lib/common/child-process.js +53 -75
  54. package/lib/common/codeGeneration/code-entity.js +1 -2
  55. package/lib/common/codeGeneration/code-printer.js +1 -2
  56. package/lib/common/command-params.js +7 -19
  57. package/lib/common/commands/analytics.js +27 -43
  58. package/lib/common/commands/autocompletion.js +39 -59
  59. package/lib/common/commands/device/device-log-stream.js +12 -24
  60. package/lib/common/commands/device/get-file.js +22 -35
  61. package/lib/common/commands/device/list-applications.js +12 -24
  62. package/lib/common/commands/device/list-devices.js +72 -90
  63. package/lib/common/commands/device/list-files.js +23 -36
  64. package/lib/common/commands/device/put-file.js +22 -35
  65. package/lib/common/commands/device/run-application.js +12 -26
  66. package/lib/common/commands/device/stop-application.js +11 -23
  67. package/lib/common/commands/device/uninstall-application.js +6 -18
  68. package/lib/common/commands/doctor.js +2 -3
  69. package/lib/common/commands/generate-messages.js +17 -29
  70. package/lib/common/commands/help.js +20 -34
  71. package/lib/common/commands/package-manager-get.js +6 -18
  72. package/lib/common/commands/package-manager-set.js +9 -21
  73. package/lib/common/commands/post-install.js +2 -14
  74. package/lib/common/commands/preuninstall.js +24 -48
  75. package/lib/common/commands/proxy/proxy-base.js +8 -23
  76. package/lib/common/commands/proxy/proxy-clear.js +4 -16
  77. package/lib/common/commands/proxy/proxy-get.js +3 -15
  78. package/lib/common/commands/proxy/proxy-set.js +87 -101
  79. package/lib/common/common-lib.js +0 -1
  80. package/lib/common/constants.js +11 -22
  81. package/lib/common/decorators.js +10 -70
  82. package/lib/common/dispatchers.js +80 -106
  83. package/lib/common/errors.js +91 -116
  84. package/lib/common/file-system.js +108 -141
  85. package/lib/common/header.js +1 -5
  86. package/lib/common/helpers.js +152 -267
  87. package/lib/common/host-info.js +37 -54
  88. package/lib/common/http-client.js +93 -128
  89. package/lib/common/logger/appenders/cli-appender.js +1 -6
  90. package/lib/common/logger/appenders/emit-appender.js +1 -6
  91. package/lib/common/logger/layouts/cli-layout.js +1 -3
  92. package/lib/common/logger/logger.js +4 -9
  93. package/lib/common/messages/messages.js +0 -6
  94. package/lib/common/mobile/android/android-application-manager.js +122 -162
  95. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -2
  96. package/lib/common/mobile/android/android-debug-bridge.js +87 -118
  97. package/lib/common/mobile/android/android-device-file-system.js +98 -135
  98. package/lib/common/mobile/android/android-device-hash-service.js +50 -78
  99. package/lib/common/mobile/android/android-device.js +68 -93
  100. package/lib/common/mobile/android/android-emulator-services.js +105 -131
  101. package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
  102. package/lib/common/mobile/android/android-log-filter.js +1 -5
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -123
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -30
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -123
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -92
  107. package/lib/common/mobile/android/logcat-helper.js +108 -140
  108. package/lib/common/mobile/application-manager-base.js +84 -113
  109. package/lib/common/mobile/device-emitter.js +0 -4
  110. package/lib/common/mobile/device-log-emitter.js +0 -1
  111. package/lib/common/mobile/device-log-provider-base.js +7 -19
  112. package/lib/common/mobile/device-log-provider.js +0 -23
  113. package/lib/common/mobile/device-platforms-constants.js +0 -1
  114. package/lib/common/mobile/emulator-helper.js +0 -3
  115. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -111
  116. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -106
  117. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -146
  118. package/lib/common/mobile/ios/device/ios-device.js +20 -40
  119. package/lib/common/mobile/ios/ios-device-base.js +58 -82
  120. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
  121. package/lib/common/mobile/ios/ios-log-filter.js +0 -1
  122. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -96
  123. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -2
  124. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -95
  125. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -48
  126. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -63
  127. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -36
  128. package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
  129. package/lib/common/mobile/log-filter.js +0 -2
  130. package/lib/common/mobile/logging-levels.js +0 -1
  131. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -64
  132. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -35
  133. package/lib/common/mobile/mobile-core/android-process-service.js +143 -214
  134. package/lib/common/mobile/mobile-core/device-discovery.js +2 -14
  135. package/lib/common/mobile/mobile-core/devices-service.js +386 -505
  136. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -37
  137. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -65
  138. package/lib/common/mobile/mobile-helper.js +15 -27
  139. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -53
  140. package/lib/common/opener.js +2 -3
  141. package/lib/common/os-info.js +0 -1
  142. package/lib/common/plist-parser.js +0 -1
  143. package/lib/common/project-helper.js +0 -1
  144. package/lib/common/prompter.js +91 -114
  145. package/lib/common/queue.js +9 -21
  146. package/lib/common/resource-loader.js +0 -1
  147. package/lib/common/services/auto-completion-service.js +40 -65
  148. package/lib/common/services/cancellation.js +17 -29
  149. package/lib/common/services/commands-service.js +146 -180
  150. package/lib/common/services/help-service.js +133 -166
  151. package/lib/common/services/hooks-service.js +93 -121
  152. package/lib/common/services/ios-notification-service.js +21 -35
  153. package/lib/common/services/json-file-settings-service.js +52 -77
  154. package/lib/common/services/lock-service.js +35 -58
  155. package/lib/common/services/message-contract-generator.js +35 -47
  156. package/lib/common/services/messages-service.js +0 -1
  157. package/lib/common/services/micro-templating-service.js +4 -21
  158. package/lib/common/services/net-service.js +90 -110
  159. package/lib/common/services/project-files-manager.js +10 -28
  160. package/lib/common/services/project-files-provider-base.js +0 -1
  161. package/lib/common/services/proxy-service.js +13 -25
  162. package/lib/common/services/qr.js +13 -25
  163. package/lib/common/services/settings-service.js +1 -2
  164. package/lib/common/services/xcode-select-service.js +20 -36
  165. package/lib/common/utils.js +2 -3
  166. package/lib/common/validators/project-name-validator.js +1 -2
  167. package/lib/common/validators/validation-result.js +1 -2
  168. package/lib/common/verify-node-version.js +3 -11
  169. package/lib/common/yok.js +35 -69
  170. package/lib/config.js +36 -72
  171. package/lib/constants-provider.js +0 -1
  172. package/lib/constants.js +24 -77
  173. package/lib/controllers/build-controller.js +82 -100
  174. package/lib/controllers/debug-controller.js +107 -133
  175. package/lib/controllers/deploy-controller.js +15 -24
  176. package/lib/controllers/migrate-controller.js +723 -884
  177. package/lib/controllers/platform-controller.js +71 -94
  178. package/lib/controllers/prepare-controller.js +232 -274
  179. package/lib/controllers/run-controller.js +397 -427
  180. package/lib/controllers/update-controller-base.js +16 -30
  181. package/lib/controllers/update-controller.js +94 -130
  182. package/lib/data/build-data.js +0 -1
  183. package/lib/data/controller-data-base.js +0 -1
  184. package/lib/data/debug-data.js +0 -1
  185. package/lib/data/platform-data.js +0 -1
  186. package/lib/data/prepare-data.js +4 -2
  187. package/lib/data/run-data.js +0 -1
  188. package/lib/definitions/project.d.ts +24 -24
  189. package/lib/detached-processes/cleanup-js-subprocess.js +5 -20
  190. package/lib/detached-processes/cleanup-process.js +30 -43
  191. package/lib/detached-processes/file-log-service.js +1 -2
  192. package/lib/device-path-provider.js +23 -35
  193. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -171
  194. package/lib/device-sockets/ios/notification.js +1 -4
  195. package/lib/device-sockets/ios/socket-request-executor.js +24 -42
  196. package/lib/helpers/android-bundle-validator-helper.js +2 -3
  197. package/lib/helpers/deploy-command-helper.js +44 -50
  198. package/lib/helpers/key-command-helper.js +6 -17
  199. package/lib/helpers/livesync-command-helper.js +137 -155
  200. package/lib/helpers/network-connectivity-validator.js +6 -18
  201. package/lib/helpers/options-track-helper.js +7 -19
  202. package/lib/helpers/package-path-helper.js +0 -1
  203. package/lib/helpers/platform-command-helper.js +101 -127
  204. package/lib/helpers/version-validator-helper.js +0 -1
  205. package/lib/key-commands/bootstrap.js +2 -3
  206. package/lib/key-commands/index.js +154 -205
  207. package/lib/nativescript-cli-lib-bootstrap.js +0 -4
  208. package/lib/nativescript-cli-lib.js +0 -1
  209. package/lib/nativescript-cli.js +6 -24
  210. package/lib/node/pbxproj-dom-xcode.js +0 -1
  211. package/lib/node/xcode.js +0 -1
  212. package/lib/node-package-manager.js +81 -114
  213. package/lib/options.js +122 -156
  214. package/lib/package-installation-manager.js +130 -172
  215. package/lib/package-manager.js +63 -88
  216. package/lib/platform-command-param.js +4 -16
  217. package/lib/pnpm-package-manager.js +59 -81
  218. package/lib/project-data.js +1 -13
  219. package/lib/providers/project-files-provider.js +1 -2
  220. package/lib/resolvers/livesync-service-resolver.js +0 -1
  221. package/lib/services/analytics/analytics-broker-process.js +19 -32
  222. package/lib/services/analytics/analytics-broker.js +17 -31
  223. package/lib/services/analytics/analytics-service.js +170 -210
  224. package/lib/services/analytics/google-analytics-provider.js +43 -59
  225. package/lib/services/analytics-settings-service.js +15 -37
  226. package/lib/services/android/android-bundle-tool-service.js +43 -61
  227. package/lib/services/android/gradle-build-args-service.js +9 -23
  228. package/lib/services/android/gradle-build-service.js +22 -36
  229. package/lib/services/android/gradle-command-service.js +22 -36
  230. package/lib/services/android-device-debug-service.js +90 -123
  231. package/lib/services/android-plugin-build-service.js +205 -260
  232. package/lib/services/android-project-service.js +129 -241
  233. package/lib/services/android-resources-migration-service.js +51 -71
  234. package/lib/services/apple-portal/apple-portal-application-service.js +46 -64
  235. package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
  236. package/lib/services/apple-portal/apple-portal-session-service.js +197 -218
  237. package/lib/services/apple-portal/srp/srp-wrapper.js +43 -61
  238. package/lib/services/assets-generation/assets-generation-service.js +103 -128
  239. package/lib/services/build-artifacts-service.js +10 -22
  240. package/lib/services/build-data-service.js +0 -1
  241. package/lib/services/build-info-file-service.js +20 -36
  242. package/lib/services/cleanup-service.js +48 -81
  243. package/lib/services/cocoapods-platform-manager.js +0 -9
  244. package/lib/services/cocoapods-service.js +112 -153
  245. package/lib/services/debug-data-service.js +0 -1
  246. package/lib/services/debug-service-base.js +0 -7
  247. package/lib/services/device/device-install-app-service.js +54 -72
  248. package/lib/services/doctor-service.js +101 -135
  249. package/lib/services/extensibility-service.js +81 -108
  250. package/lib/services/files-hash-service.js +26 -44
  251. package/lib/services/hmr-status-service.js +1 -3
  252. package/lib/services/info-service.js +0 -1
  253. package/lib/services/initialize-service.js +37 -54
  254. package/lib/services/ios/export-options-plist-service.js +38 -55
  255. package/lib/services/ios/ios-signing-service.js +168 -191
  256. package/lib/services/ios/spm-service.js +46 -70
  257. package/lib/services/ios/xcodebuild-args-service.js +77 -103
  258. package/lib/services/ios/xcodebuild-command-service.js +14 -26
  259. package/lib/services/ios/xcodebuild-service.js +52 -72
  260. package/lib/services/ios-debugger-port-service.js +24 -38
  261. package/lib/services/ios-device-debug-service.js +75 -103
  262. package/lib/services/ios-entitlements-service.js +31 -43
  263. package/lib/services/ios-extensions-service.js +18 -30
  264. package/lib/services/ios-log-filter.js +0 -20
  265. package/lib/services/ios-native-target-service.js +4 -6
  266. package/lib/services/ios-project-service.js +452 -603
  267. package/lib/services/ios-provision-service.js +108 -132
  268. package/lib/services/ios-watch-app-service.js +21 -33
  269. package/lib/services/ip-service.js +38 -55
  270. package/lib/services/itmstransporter-service.js +129 -153
  271. package/lib/services/karma-execution.js +0 -2
  272. package/lib/services/livesync/android-device-livesync-service-base.js +31 -49
  273. package/lib/services/livesync/android-device-livesync-service.js +120 -151
  274. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -155
  275. package/lib/services/livesync/android-livesync-service.js +14 -36
  276. package/lib/services/livesync/android-livesync-tool.js +90 -117
  277. package/lib/services/livesync/device-livesync-service-base.js +15 -30
  278. package/lib/services/livesync/ios-device-livesync-service.js +114 -150
  279. package/lib/services/livesync/ios-livesync-service.js +42 -60
  280. package/lib/services/livesync/livesync-socket.js +0 -1
  281. package/lib/services/livesync/platform-livesync-service-base.js +94 -124
  282. package/lib/services/livesync-process-data-service.js +0 -1
  283. package/lib/services/log-parser-service.js +1 -2
  284. package/lib/services/log-source-map-service.js +30 -56
  285. package/lib/services/marking-mode-service.js +17 -33
  286. package/lib/services/metadata-filtering-service.js +0 -1
  287. package/lib/services/npm-config-service.js +1 -5
  288. package/lib/services/pacote-service.js +49 -71
  289. package/lib/services/performance-service.js +2 -4
  290. package/lib/services/platform/add-platform-service.js +51 -119
  291. package/lib/services/platform/platform-validation-service.js +22 -34
  292. package/lib/services/platform/prepare-native-platform-service.js +49 -65
  293. package/lib/services/platform-environment-requirements.js +27 -43
  294. package/lib/services/platform-project-service-base.js +0 -1
  295. package/lib/services/platforms-data-service.js +0 -1
  296. package/lib/services/plugins-service.js +125 -168
  297. package/lib/services/prepare-data-service.js +0 -1
  298. package/lib/services/project-backup-service.js +1 -5
  299. package/lib/services/project-changes-service.js +124 -152
  300. package/lib/services/project-cleanup-service.js +64 -79
  301. package/lib/services/project-config-service.js +73 -102
  302. package/lib/services/project-data-service.js +108 -154
  303. package/lib/services/project-name-service.js +28 -44
  304. package/lib/services/project-service.js +84 -113
  305. package/lib/services/project-templates-service.js +52 -68
  306. package/lib/services/qr-code-terminal-service.js +0 -1
  307. package/lib/services/require-service.js +0 -1
  308. package/lib/services/start-service.js +41 -60
  309. package/lib/services/temp-service.js +8 -22
  310. package/lib/services/terminal-spinner-service.js +15 -28
  311. package/lib/services/test-execution-service.js +59 -79
  312. package/lib/services/test-initialization-service.js +2 -6
  313. package/lib/services/timeline-profiler-service.js +1 -2
  314. package/lib/services/user-settings-service.js +0 -1
  315. package/lib/services/versions-service.js +119 -140
  316. package/lib/services/watch-ignore-list-service.js +0 -1
  317. package/lib/services/webpack/webpack-compiler-service.js +215 -279
  318. package/lib/services/xcconfig-service.js +8 -21
  319. package/lib/services/xcproj-service.js +0 -1
  320. package/lib/shared-event-bus.js +0 -6
  321. package/lib/sys-info.js +45 -63
  322. package/lib/tools/config-manipulation/config-transformer.js +0 -12
  323. package/lib/tools/node-modules/node-modules-builder.js +16 -28
  324. package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
  325. package/lib/yarn-package-manager.js +59 -79
  326. package/lib/yarn2-package-manager.js +60 -82
  327. package/package.json +65 -80
  328. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  329. package/node_modules/@npmcli/move-file/README.md +0 -69
  330. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  342. package/node_modules/@npmcli/move-file/package.json +0 -47
  343. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  344. package/node_modules/balanced-match/LICENSE.md +0 -21
  345. package/node_modules/balanced-match/README.md +0 -97
  346. package/node_modules/balanced-match/index.js +0 -62
  347. package/node_modules/balanced-match/package.json +0 -48
  348. package/node_modules/concat-map/.travis.yml +0 -4
  349. package/node_modules/concat-map/LICENSE +0 -18
  350. package/node_modules/concat-map/README.markdown +0 -62
  351. package/node_modules/concat-map/example/map.js +0 -6
  352. package/node_modules/concat-map/index.js +0 -13
  353. package/node_modules/concat-map/package.json +0 -43
  354. package/node_modules/concat-map/test/map.js +0 -39
  355. package/node_modules/fs.realpath/LICENSE +0 -43
  356. package/node_modules/fs.realpath/README.md +0 -33
  357. package/node_modules/fs.realpath/index.js +0 -66
  358. package/node_modules/fs.realpath/old.js +0 -303
  359. package/node_modules/fs.realpath/package.json +0 -26
  360. package/node_modules/inflight/LICENSE +0 -15
  361. package/node_modules/inflight/README.md +0 -37
  362. package/node_modules/inflight/inflight.js +0 -54
  363. package/node_modules/inflight/package.json +0 -29
  364. package/node_modules/inherits/LICENSE +0 -16
  365. package/node_modules/inherits/README.md +0 -42
  366. package/node_modules/inherits/inherits.js +0 -9
  367. package/node_modules/inherits/inherits_browser.js +0 -27
  368. package/node_modules/inherits/package.json +0 -29
  369. package/node_modules/once/LICENSE +0 -15
  370. package/node_modules/once/README.md +0 -79
  371. package/node_modules/once/once.js +0 -42
  372. package/node_modules/once/package.json +0 -33
  373. package/node_modules/path-is-absolute/index.js +0 -20
  374. package/node_modules/path-is-absolute/license +0 -21
  375. package/node_modules/path-is-absolute/package.json +0 -43
  376. package/node_modules/path-is-absolute/readme.md +0 -59
  377. package/node_modules/rimraf/LICENSE +0 -15
  378. package/node_modules/rimraf/README.md +0 -101
  379. package/node_modules/rimraf/bin.js +0 -68
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  385. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  386. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  387. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  388. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  389. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  394. package/node_modules/rimraf/package.json +0 -32
  395. package/node_modules/rimraf/rimraf.js +0 -360
  396. package/node_modules/stringify-package/LICENSE +0 -13
  397. package/node_modules/stringify-package/README.md +0 -55
  398. package/node_modules/stringify-package/index.js +0 -18
  399. package/node_modules/stringify-package/package.json +0 -38
  400. package/node_modules/wrappy/LICENSE +0 -15
  401. package/node_modules/wrappy/README.md +0 -36
  402. package/node_modules/wrappy/package.json +0 -29
  403. 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");
@@ -25,8 +16,7 @@ const constants_1 = require("../../constants");
25
16
  const yok_1 = require("../../common/yok");
26
17
  const package_path_helper_1 = require("../../helpers/package-path-helper");
27
18
  class WebpackCompilerService extends events_1.EventEmitter {
28
- constructor($options, $errors, $childProcess, $fs, $hooksService, $hostInfo, $logger, $mobileHelper, $cleanupService, $packageManager, $packageInstallationManager // private $sharedEventBus: ISharedEventBus
29
- ) {
19
+ constructor($options, $errors, $childProcess, $fs, $hooksService, $hostInfo, $logger, $mobileHelper, $cleanupService, $packageManager, $packageInstallationManager) {
30
20
  super();
31
21
  this.$options = $options;
32
22
  this.$errors = $errors;
@@ -42,216 +32,192 @@ class WebpackCompilerService extends events_1.EventEmitter {
42
32
  this.webpackProcesses = {};
43
33
  this.expectedHashes = {};
44
34
  }
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!");
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;
85
58
  resolve(childProcess);
59
+ return;
86
60
  }
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
- }
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;
127
74
  }
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();
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);
170
79
  }
171
80
  else {
172
- const error = new Error(`Executing webpack failed with exit code ${exitCode}.`);
173
- error.code = exitCode;
174
- reject(error);
81
+ result = {
82
+ emittedFiles: message.emittedFiles,
83
+ fallbackFiles: [],
84
+ hash: "",
85
+ };
175
86
  }
176
- }));
177
- }
178
- 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];
179
110
  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);
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
+ });
188
121
  }
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
- }
122
+ catch (err) {
123
+ reject(err);
194
124
  }
195
125
  });
196
126
  }
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");
127
+ async compileWithoutWatch(platformData, projectData, prepareData) {
128
+ return new Promise(async (resolve, reject) => {
129
+ if (this.webpackProcesses[platformData.platformNameLowerCase]) {
130
+ resolve();
131
+ return;
220
132
  }
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,
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
+ }
247
152
  });
248
153
  }
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;
154
+ catch (err) {
155
+ reject(err);
156
+ }
253
157
  });
254
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
+ }
255
221
  buildEnvData(platform, projectData, prepareData) {
256
222
  var _a, _b, _c;
257
223
  const { env } = prepareData;
@@ -264,28 +230,16 @@ class WebpackCompilerService extends events_1.EventEmitter {
264
230
  });
265
231
  envData.verbose = envData.verbose || this.$logger.isVerbose();
266
232
  envData.production = envData.production || prepareData.release;
267
- // add the config file name to the env data so the webpack process can read the
268
- // correct config file when resolving the CLI lib and the config service
269
- // we are explicitly setting it to false to force using the defaults
270
233
  envData.config =
271
234
  (_b = (_a = process.env.NATIVESCRIPT_CONFIG_NAME) !== null && _a !== void 0 ? _a : this.$options.config) !== null && _b !== void 0 ? _b : "false";
272
- // explicitly set the env variable
273
235
  process.env.NATIVESCRIPT_CONFIG_NAME = envData.config;
274
- // The snapshot generation is wrongly located in the Webpack plugin.
275
- // It should be moved in the Native Prepare of the CLI or a Gradle task in the Runtime.
276
- // As a workaround, we skip the mksnapshot, xxd and android-ndk calls based on skipNativePrepare.
277
- // In this way the plugin will prepare only the snapshot JS entry without any native prepare and
278
- // we will able to execute cloud builds with snapshot without having any local snapshot or Docker setup.
279
- // TODO: Remove this flag when we remove the native part from the plugin.
280
236
  envData.skipSnapshotTools =
281
237
  prepareData.nativePrepare && prepareData.nativePrepare.skipNativePrepare;
282
- // only set sourceMap if not explicitly set through a flag
283
238
  if (typeof ((_c = prepareData === null || prepareData === void 0 ? void 0 : prepareData.env) === null || _c === void 0 ? void 0 : _c.sourceMap) === "undefined") {
284
239
  if (!prepareData.release) {
285
240
  envData.sourceMap = true;
286
241
  }
287
242
  }
288
- // convert string to boolean
289
243
  if (envData.sourceMap === "true" || envData.sourceMap === "false") {
290
244
  envData.sourceMap = envData.sourceMap === "true";
291
245
  }
@@ -294,60 +248,49 @@ class WebpackCompilerService extends events_1.EventEmitter {
294
248
  }
295
249
  return envData;
296
250
  }
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
- }
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);
318
260
  }
319
- const args = [];
320
- envFlagNames.map((item) => {
321
- let envValue = envData[item];
322
- if (typeof envValue === "undefined") {
323
- 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).`);
324
269
  }
325
- if (typeof envValue === "boolean") {
326
- if (envValue) {
327
- args.push(`--env.${item}`);
328
- }
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}`);
329
281
  }
330
- else {
331
- if (!Array.isArray(envValue)) {
332
- envValue = [envValue];
333
- }
334
- envValue.map((value) => args.push(`--env.${item}=${value}`));
282
+ }
283
+ else {
284
+ if (!Array.isArray(envValue)) {
285
+ envValue = [envValue];
335
286
  }
336
- });
337
- return args;
287
+ envValue.map((value) => args.push(`--env.${item}=${value}`));
288
+ }
338
289
  });
290
+ return args;
339
291
  }
340
292
  getUpdatedEmittedFiles(allEmittedFiles, chunkFiles, nextHash, platform) {
341
293
  const currentHash = this.getCurrentHotUpdateHash(allEmittedFiles);
342
- // This logic is needed as there are already cases when webpack doesn't emit any files physically.
343
- // We've set noEmitOnErrors in webpack.config.js based on noEmitOnError from tsconfig.json,
344
- // so webpack doesn't emit any files when noEmitOnErrors: true is set in webpack.config.js and
345
- // there is a compilation error in the source code. On the other side, hmr generates new hot-update files
346
- // on every change and the hash of the next hmr update is written inside hot-update.json file.
347
- // Although webpack doesn't emit any files, hmr hash is still generated. The hash is generated per compilation no matter
348
- // if files will be emitted or not. This way, the first successful compilation after fixing the compilation error generates
349
- // a hash that is not the same as the one expected in the latest emitted hot-update.json file.
350
- // As a result, the hmr chain is broken and the changes are not applied.
351
294
  const isHashValid = nextHash
352
295
  ? this.expectedHashes[platform] === currentHash
353
296
  : true;
@@ -366,7 +309,6 @@ class WebpackCompilerService extends events_1.EventEmitter {
366
309
  let hotHash;
367
310
  const hotUpdateScripts = emittedFiles.filter((x) => x.endsWith(".hot-update.js"));
368
311
  if (hotUpdateScripts && hotUpdateScripts.length) {
369
- // the hash is the same for each hot update in the current compilation
370
312
  const hotUpdateName = hotUpdateScripts[0];
371
313
  const matcher = /^(.+)\.(.+)\.hot-update/gm;
372
314
  const matches = matcher.exec(hotUpdateName);
@@ -374,19 +316,16 @@ class WebpackCompilerService extends events_1.EventEmitter {
374
316
  }
375
317
  return hotHash || "";
376
318
  }
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
- });
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
+ }
387
327
  }
388
328
  handleHMRMessage(message, platformData, projectData, prepareData) {
389
- // handle new webpack hmr packets
390
329
  this.$logger.trace("Received message from webpack process:", message);
391
330
  if (message.type !== "compilation") {
392
331
  return;
@@ -394,7 +333,6 @@ class WebpackCompilerService extends events_1.EventEmitter {
394
333
  this.$logger.trace("Webpack build done!");
395
334
  const files = message.data.emittedAssets.map((asset) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, asset));
396
335
  const staleFiles = message.data.staleAssets.map((asset) => path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, asset));
397
- // extract last hash from emitted filenames
398
336
  const lastHash = (() => {
399
337
  const absoluteFileNameWithLastHash = files.find((fileName) => fileName.endsWith("hot-update.js"));
400
338
  if (!absoluteFileNameWithLastHash) {
@@ -407,7 +345,6 @@ class WebpackCompilerService extends events_1.EventEmitter {
407
345
  }
408
346
  })();
409
347
  if (!files.length) {
410
- // ignore compilations if no new files are emitted
411
348
  return;
412
349
  }
413
350
  this.emit(constants_1.WEBPACK_COMPILATION_COMPLETE, {
@@ -452,9 +389,8 @@ class WebpackCompilerService extends events_1.EventEmitter {
452
389
  return false;
453
390
  }
454
391
  }
392
+ exports.WebpackCompilerService = WebpackCompilerService;
455
393
  __decorate([
456
394
  (0, decorators_1.performanceLog)()
457
395
  ], WebpackCompilerService.prototype, "startWebpackProcess", null);
458
- exports.WebpackCompilerService = WebpackCompilerService;
459
396
  yok_1.injector.register("webpackCompilerService", WebpackCompilerService);
460
- //# sourceMappingURL=webpack-compiler-service.js.map