nativescript 8.9.0-dev.1 → 8.9.0-dev.2

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 (404) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/.d.ts +1 -0
  3. package/lib/android-tools-info.js +32 -9
  4. package/lib/base-package-manager.js +71 -47
  5. package/lib/bootstrap.js +6 -1
  6. package/lib/bun-package-manager.js +104 -65
  7. package/lib/color.js +5 -2
  8. package/lib/commands/add-platform.js +31 -14
  9. package/lib/commands/apple-login.js +30 -18
  10. package/lib/commands/appstore-list.js +46 -34
  11. package/lib/commands/appstore-upload.js +68 -52
  12. package/lib/commands/build.js +90 -57
  13. package/lib/commands/clean.js +197 -161
  14. package/lib/commands/command-base.js +28 -14
  15. package/lib/commands/config.js +71 -48
  16. package/lib/commands/create-project.js +235 -210
  17. package/lib/commands/debug.js +93 -66
  18. package/lib/commands/deploy.js +47 -30
  19. package/lib/commands/embedding/embed.js +59 -33
  20. package/lib/commands/extensibility/install-extension.js +17 -5
  21. package/lib/commands/extensibility/list-extensions.js +25 -13
  22. package/lib/commands/extensibility/uninstall-extension.js +16 -4
  23. package/lib/commands/fonts.js +42 -30
  24. package/lib/commands/generate-assets.js +29 -13
  25. package/lib/commands/generate-help.js +14 -2
  26. package/lib/commands/generate.js +70 -12
  27. package/lib/commands/info.js +14 -2
  28. package/lib/commands/install.js +50 -34
  29. package/lib/commands/list-platforms.js +26 -14
  30. package/lib/commands/migrate.js +27 -15
  31. package/lib/commands/native-add.js +51 -23
  32. package/lib/commands/platform-clean.js +33 -19
  33. package/lib/commands/plugin/add-plugin.js +26 -12
  34. package/lib/commands/plugin/build-plugin.js +45 -31
  35. package/lib/commands/plugin/create-plugin.js +138 -110
  36. package/lib/commands/plugin/list-plugins.js +34 -22
  37. package/lib/commands/plugin/remove-plugin.js +35 -20
  38. package/lib/commands/plugin/update-plugin.js +34 -20
  39. package/lib/commands/post-install.js +39 -20
  40. package/lib/commands/prepare.js +39 -22
  41. package/lib/commands/preview.js +64 -49
  42. package/lib/commands/remove-platform.js +19 -7
  43. package/lib/commands/resources/resources-update.js +28 -13
  44. package/lib/commands/run.js +77 -55
  45. package/lib/commands/setup.js +1 -0
  46. package/lib/commands/start.js +20 -6
  47. package/lib/commands/test-init.js +138 -123
  48. package/lib/commands/test.js +97 -67
  49. package/lib/commands/typings.js +143 -126
  50. package/lib/commands/update-platform.js +40 -22
  51. package/lib/commands/update.js +45 -30
  52. package/lib/commands/widget.js +767 -0
  53. package/lib/common/bootstrap.js +1 -0
  54. package/lib/common/child-process.js +75 -53
  55. package/lib/common/codeGeneration/code-entity.js +2 -1
  56. package/lib/common/codeGeneration/code-printer.js +2 -1
  57. package/lib/common/command-params.js +19 -7
  58. package/lib/common/commands/analytics.js +43 -27
  59. package/lib/common/commands/autocompletion.js +59 -39
  60. package/lib/common/commands/device/device-log-stream.js +24 -12
  61. package/lib/common/commands/device/get-file.js +35 -22
  62. package/lib/common/commands/device/list-applications.js +24 -12
  63. package/lib/common/commands/device/list-devices.js +90 -72
  64. package/lib/common/commands/device/list-files.js +36 -23
  65. package/lib/common/commands/device/put-file.js +35 -22
  66. package/lib/common/commands/device/run-application.js +26 -12
  67. package/lib/common/commands/device/stop-application.js +23 -11
  68. package/lib/common/commands/device/uninstall-application.js +18 -6
  69. package/lib/common/commands/doctor.js +3 -2
  70. package/lib/common/commands/generate-messages.js +29 -17
  71. package/lib/common/commands/help.js +34 -20
  72. package/lib/common/commands/package-manager-get.js +18 -6
  73. package/lib/common/commands/package-manager-set.js +21 -9
  74. package/lib/common/commands/post-install.js +14 -2
  75. package/lib/common/commands/preuninstall.js +48 -24
  76. package/lib/common/commands/proxy/proxy-base.js +23 -8
  77. package/lib/common/commands/proxy/proxy-clear.js +16 -4
  78. package/lib/common/commands/proxy/proxy-get.js +15 -3
  79. package/lib/common/commands/proxy/proxy-set.js +101 -87
  80. package/lib/common/common-lib.js +1 -0
  81. package/lib/common/constants.js +22 -11
  82. package/lib/common/decorators.js +70 -10
  83. package/lib/common/dispatchers.js +106 -80
  84. package/lib/common/errors.js +116 -91
  85. package/lib/common/file-system.js +141 -108
  86. package/lib/common/header.js +5 -1
  87. package/lib/common/helpers.js +267 -152
  88. package/lib/common/host-info.js +54 -37
  89. package/lib/common/http-client.js +128 -93
  90. package/lib/common/logger/appenders/cli-appender.js +6 -1
  91. package/lib/common/logger/appenders/emit-appender.js +6 -1
  92. package/lib/common/logger/layouts/cli-layout.js +3 -1
  93. package/lib/common/logger/logger.js +9 -4
  94. package/lib/common/messages/messages.js +6 -0
  95. package/lib/common/mobile/android/android-application-manager.js +162 -122
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +118 -87
  98. package/lib/common/mobile/android/android-device-file-system.js +135 -98
  99. package/lib/common/mobile/android/android-device-hash-service.js +78 -50
  100. package/lib/common/mobile/android/android-device.js +93 -68
  101. package/lib/common/mobile/android/android-emulator-services.js +131 -105
  102. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  103. package/lib/common/mobile/android/android-log-filter.js +5 -1
  104. package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
  105. package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
  106. package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
  107. package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
  108. package/lib/common/mobile/android/logcat-helper.js +140 -108
  109. package/lib/common/mobile/application-manager-base.js +113 -84
  110. package/lib/common/mobile/device-emitter.js +4 -0
  111. package/lib/common/mobile/device-log-emitter.js +1 -0
  112. package/lib/common/mobile/device-log-provider-base.js +19 -7
  113. package/lib/common/mobile/device-log-provider.js +23 -0
  114. package/lib/common/mobile/device-platforms-constants.js +1 -0
  115. package/lib/common/mobile/emulator-helper.js +3 -0
  116. package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
  117. package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
  118. package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
  119. package/lib/common/mobile/ios/device/ios-device.js +40 -20
  120. package/lib/common/mobile/ios/ios-device-base.js +82 -58
  121. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  122. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
  124. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
  125. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
  126. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
  127. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
  128. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
  129. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  130. package/lib/common/mobile/log-filter.js +2 -0
  131. package/lib/common/mobile/logging-levels.js +1 -0
  132. package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
  133. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
  134. package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
  135. package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
  136. package/lib/common/mobile/mobile-core/devices-service.js +505 -386
  137. package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
  138. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
  139. package/lib/common/mobile/mobile-helper.js +27 -15
  140. package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
  141. package/lib/common/opener.js +3 -2
  142. package/lib/common/os-info.js +1 -0
  143. package/lib/common/plist-parser.js +1 -0
  144. package/lib/common/project-helper.js +1 -0
  145. package/lib/common/prompter.js +114 -91
  146. package/lib/common/queue.js +21 -9
  147. package/lib/common/resource-loader.js +1 -0
  148. package/lib/common/services/auto-completion-service.js +65 -40
  149. package/lib/common/services/cancellation.js +29 -17
  150. package/lib/common/services/commands-service.js +180 -146
  151. package/lib/common/services/help-service.js +166 -133
  152. package/lib/common/services/hooks-service.js +121 -93
  153. package/lib/common/services/ios-notification-service.js +35 -21
  154. package/lib/common/services/json-file-settings-service.js +77 -52
  155. package/lib/common/services/lock-service.js +58 -35
  156. package/lib/common/services/message-contract-generator.js +47 -35
  157. package/lib/common/services/messages-service.js +1 -0
  158. package/lib/common/services/micro-templating-service.js +21 -4
  159. package/lib/common/services/net-service.js +110 -90
  160. package/lib/common/services/project-files-manager.js +28 -10
  161. package/lib/common/services/project-files-provider-base.js +1 -0
  162. package/lib/common/services/proxy-service.js +25 -13
  163. package/lib/common/services/qr.js +25 -13
  164. package/lib/common/services/settings-service.js +2 -1
  165. package/lib/common/services/xcode-select-service.js +36 -20
  166. package/lib/common/utils.js +3 -2
  167. package/lib/common/validators/project-name-validator.js +2 -1
  168. package/lib/common/validators/validation-result.js +2 -1
  169. package/lib/common/verify-node-version.js +11 -3
  170. package/lib/common/yok.js +69 -35
  171. package/lib/config.js +72 -36
  172. package/lib/constants-provider.js +1 -0
  173. package/lib/constants.js +78 -25
  174. package/lib/controllers/build-controller.js +100 -82
  175. package/lib/controllers/debug-controller.js +133 -107
  176. package/lib/controllers/deploy-controller.js +24 -15
  177. package/lib/controllers/migrate-controller.js +884 -723
  178. package/lib/controllers/platform-controller.js +94 -71
  179. package/lib/controllers/prepare-controller.js +274 -232
  180. package/lib/controllers/run-controller.js +427 -397
  181. package/lib/controllers/update-controller-base.js +30 -16
  182. package/lib/controllers/update-controller.js +130 -94
  183. package/lib/data/build-data.js +1 -0
  184. package/lib/data/controller-data-base.js +1 -0
  185. package/lib/data/debug-data.js +1 -0
  186. package/lib/data/platform-data.js +1 -0
  187. package/lib/data/prepare-data.js +2 -4
  188. package/lib/data/run-data.js +1 -0
  189. package/lib/definitions/project.d.ts +26 -0
  190. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  191. package/lib/detached-processes/cleanup-process.js +43 -30
  192. package/lib/detached-processes/file-log-service.js +2 -1
  193. package/lib/device-path-provider.js +35 -23
  194. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  195. package/lib/device-sockets/ios/notification.js +4 -1
  196. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  197. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  198. package/lib/helpers/deploy-command-helper.js +50 -44
  199. package/lib/helpers/key-command-helper.js +17 -6
  200. package/lib/helpers/livesync-command-helper.js +155 -137
  201. package/lib/helpers/network-connectivity-validator.js +18 -6
  202. package/lib/helpers/options-track-helper.js +19 -7
  203. package/lib/helpers/package-path-helper.js +1 -0
  204. package/lib/helpers/platform-command-helper.js +127 -101
  205. package/lib/helpers/version-validator-helper.js +1 -0
  206. package/lib/key-commands/bootstrap.js +3 -2
  207. package/lib/key-commands/index.js +205 -154
  208. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  209. package/lib/nativescript-cli-lib.js +1 -0
  210. package/lib/nativescript-cli.js +24 -6
  211. package/lib/node/pbxproj-dom-xcode.js +1 -0
  212. package/lib/node/xcode.js +1 -0
  213. package/lib/node-package-manager.js +114 -81
  214. package/lib/options.js +156 -122
  215. package/lib/package-installation-manager.js +172 -130
  216. package/lib/package-manager.js +88 -63
  217. package/lib/platform-command-param.js +16 -4
  218. package/lib/pnpm-package-manager.js +81 -59
  219. package/lib/project-data.js +13 -1
  220. package/lib/providers/project-files-provider.js +2 -1
  221. package/lib/resolvers/livesync-service-resolver.js +1 -0
  222. package/lib/services/analytics/analytics-broker-process.js +32 -19
  223. package/lib/services/analytics/analytics-broker.js +31 -17
  224. package/lib/services/analytics/analytics-service.js +210 -170
  225. package/lib/services/analytics/google-analytics-provider.js +59 -43
  226. package/lib/services/analytics-settings-service.js +37 -15
  227. package/lib/services/android/android-bundle-tool-service.js +61 -43
  228. package/lib/services/android/gradle-build-args-service.js +23 -9
  229. package/lib/services/android/gradle-build-service.js +36 -22
  230. package/lib/services/android/gradle-command-service.js +36 -22
  231. package/lib/services/android-device-debug-service.js +123 -90
  232. package/lib/services/android-plugin-build-service.js +260 -205
  233. package/lib/services/android-project-service.js +241 -129
  234. package/lib/services/android-resources-migration-service.js +71 -51
  235. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  236. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  237. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  238. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  239. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  240. package/lib/services/build-artifacts-service.js +22 -10
  241. package/lib/services/build-data-service.js +1 -0
  242. package/lib/services/build-info-file-service.js +36 -20
  243. package/lib/services/cleanup-service.js +81 -48
  244. package/lib/services/cocoapods-platform-manager.js +9 -0
  245. package/lib/services/cocoapods-service.js +153 -112
  246. package/lib/services/debug-data-service.js +1 -0
  247. package/lib/services/debug-service-base.js +7 -0
  248. package/lib/services/device/device-install-app-service.js +72 -54
  249. package/lib/services/doctor-service.js +135 -101
  250. package/lib/services/extensibility-service.js +108 -81
  251. package/lib/services/files-hash-service.js +44 -26
  252. package/lib/services/hmr-status-service.js +3 -1
  253. package/lib/services/info-service.js +1 -0
  254. package/lib/services/initialize-service.js +54 -37
  255. package/lib/services/ios/export-options-plist-service.js +55 -38
  256. package/lib/services/ios/ios-signing-service.js +191 -168
  257. package/lib/services/ios/spm-service.js +70 -46
  258. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  259. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  260. package/lib/services/ios/xcodebuild-service.js +72 -52
  261. package/lib/services/ios-debugger-port-service.js +38 -24
  262. package/lib/services/ios-device-debug-service.js +103 -75
  263. package/lib/services/ios-entitlements-service.js +43 -31
  264. package/lib/services/ios-extensions-service.js +30 -18
  265. package/lib/services/ios-log-filter.js +20 -0
  266. package/lib/services/ios-native-target-service.js +6 -4
  267. package/lib/services/ios-project-service.js +605 -437
  268. package/lib/services/ios-provision-service.js +132 -108
  269. package/lib/services/ios-watch-app-service.js +33 -21
  270. package/lib/services/ip-service.js +55 -38
  271. package/lib/services/itmstransporter-service.js +153 -129
  272. package/lib/services/karma-execution.js +2 -0
  273. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  274. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  275. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  276. package/lib/services/livesync/android-livesync-service.js +36 -14
  277. package/lib/services/livesync/android-livesync-tool.js +117 -90
  278. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  279. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  280. package/lib/services/livesync/ios-livesync-service.js +60 -42
  281. package/lib/services/livesync/livesync-socket.js +1 -0
  282. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  283. package/lib/services/livesync-process-data-service.js +1 -0
  284. package/lib/services/log-parser-service.js +2 -1
  285. package/lib/services/log-source-map-service.js +56 -30
  286. package/lib/services/marking-mode-service.js +33 -17
  287. package/lib/services/metadata-filtering-service.js +1 -0
  288. package/lib/services/npm-config-service.js +5 -1
  289. package/lib/services/pacote-service.js +71 -49
  290. package/lib/services/performance-service.js +4 -2
  291. package/lib/services/platform/add-platform-service.js +119 -51
  292. package/lib/services/platform/platform-validation-service.js +34 -22
  293. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  294. package/lib/services/platform-environment-requirements.js +43 -27
  295. package/lib/services/platform-project-service-base.js +1 -0
  296. package/lib/services/platforms-data-service.js +1 -0
  297. package/lib/services/plugins-service.js +168 -125
  298. package/lib/services/prepare-data-service.js +1 -0
  299. package/lib/services/project-backup-service.js +5 -1
  300. package/lib/services/project-changes-service.js +152 -124
  301. package/lib/services/project-cleanup-service.js +79 -64
  302. package/lib/services/project-config-service.js +111 -73
  303. package/lib/services/project-data-service.js +154 -108
  304. package/lib/services/project-name-service.js +44 -28
  305. package/lib/services/project-service.js +113 -84
  306. package/lib/services/project-templates-service.js +68 -52
  307. package/lib/services/qr-code-terminal-service.js +1 -0
  308. package/lib/services/require-service.js +1 -0
  309. package/lib/services/start-service.js +60 -41
  310. package/lib/services/temp-service.js +22 -8
  311. package/lib/services/terminal-spinner-service.js +28 -15
  312. package/lib/services/test-execution-service.js +79 -59
  313. package/lib/services/test-initialization-service.js +6 -2
  314. package/lib/services/timeline-profiler-service.js +2 -1
  315. package/lib/services/user-settings-service.js +1 -0
  316. package/lib/services/versions-service.js +140 -119
  317. package/lib/services/watch-ignore-list-service.js +1 -0
  318. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  319. package/lib/services/xcconfig-service.js +21 -8
  320. package/lib/services/xcproj-service.js +1 -0
  321. package/lib/shared-event-bus.js +6 -0
  322. package/lib/sys-info.js +63 -45
  323. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  324. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  325. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  326. package/lib/yarn-package-manager.js +79 -59
  327. package/lib/yarn2-package-manager.js +82 -60
  328. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  329. package/node_modules/@npmcli/move-file/README.md +69 -0
  330. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  331. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  342. package/node_modules/@npmcli/move-file/package.json +47 -0
  343. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  344. package/node_modules/balanced-match/LICENSE.md +21 -0
  345. package/node_modules/balanced-match/README.md +97 -0
  346. package/node_modules/balanced-match/index.js +62 -0
  347. package/node_modules/balanced-match/package.json +48 -0
  348. package/node_modules/concat-map/.travis.yml +4 -0
  349. package/node_modules/concat-map/LICENSE +18 -0
  350. package/node_modules/concat-map/README.markdown +62 -0
  351. package/node_modules/concat-map/example/map.js +6 -0
  352. package/node_modules/concat-map/index.js +13 -0
  353. package/node_modules/concat-map/package.json +43 -0
  354. package/node_modules/concat-map/test/map.js +39 -0
  355. package/node_modules/fs.realpath/LICENSE +43 -0
  356. package/node_modules/fs.realpath/README.md +33 -0
  357. package/node_modules/fs.realpath/index.js +66 -0
  358. package/node_modules/fs.realpath/old.js +303 -0
  359. package/node_modules/fs.realpath/package.json +26 -0
  360. package/node_modules/inflight/LICENSE +15 -0
  361. package/node_modules/inflight/README.md +37 -0
  362. package/node_modules/inflight/inflight.js +54 -0
  363. package/node_modules/inflight/package.json +29 -0
  364. package/node_modules/inherits/LICENSE +16 -0
  365. package/node_modules/inherits/README.md +42 -0
  366. package/node_modules/inherits/inherits.js +9 -0
  367. package/node_modules/inherits/inherits_browser.js +27 -0
  368. package/node_modules/inherits/package.json +29 -0
  369. package/node_modules/once/LICENSE +15 -0
  370. package/node_modules/once/README.md +79 -0
  371. package/node_modules/once/once.js +42 -0
  372. package/node_modules/once/package.json +33 -0
  373. package/node_modules/path-is-absolute/index.js +20 -0
  374. package/node_modules/path-is-absolute/license +21 -0
  375. package/node_modules/path-is-absolute/package.json +43 -0
  376. package/node_modules/path-is-absolute/readme.md +59 -0
  377. package/node_modules/rimraf/LICENSE +15 -0
  378. package/node_modules/rimraf/README.md +101 -0
  379. package/node_modules/rimraf/bin.js +68 -0
  380. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  384. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  385. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  386. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  387. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  388. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  389. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  390. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  391. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  392. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  393. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  394. package/node_modules/rimraf/package.json +32 -0
  395. package/node_modules/rimraf/rimraf.js +360 -0
  396. package/node_modules/stringify-package/LICENSE +13 -0
  397. package/node_modules/stringify-package/README.md +55 -0
  398. package/node_modules/stringify-package/index.js +18 -0
  399. package/node_modules/stringify-package/package.json +38 -0
  400. package/node_modules/wrappy/LICENSE +15 -0
  401. package/node_modules/wrappy/README.md +36 -0
  402. package/node_modules/wrappy/package.json +29 -0
  403. package/node_modules/wrappy/wrappy.js +33 -0
  404. package/package.json +79 -64
@@ -5,6 +5,15 @@ 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
+ };
8
17
  Object.defineProperty(exports, "__esModule", { value: true });
9
18
  exports.AndroidPluginBuildService = void 0;
10
19
  const path = require("path");
@@ -51,23 +60,28 @@ class AndroidPluginBuildService {
51
60
  const manifest = path.join(platformsDir, constants_1.MANIFEST_FILE_NAME);
52
61
  return this.$fs.exists(manifest) ? manifest : null;
53
62
  }
54
- async updateManifestContent(oldManifestContent, defaultPackageName) {
55
- let xml = await this.getXml(oldManifestContent);
56
- let packageName = defaultPackageName;
57
- if (xml["manifest"]) {
58
- if (xml["manifest"]["$"]["package"]) {
59
- packageName = xml["manifest"]["$"]["package"];
63
+ updateManifestContent(oldManifestContent, defaultPackageName) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ let xml = yield this.getXml(oldManifestContent);
66
+ let packageName = defaultPackageName;
67
+ // if the manifest file is full-featured and declares settings inside the manifest scope
68
+ if (xml["manifest"]) {
69
+ if (xml["manifest"]["$"]["package"]) {
70
+ packageName = xml["manifest"]["$"]["package"];
71
+ }
72
+ // set the xml as the value to iterate over its properties
73
+ xml = xml["manifest"];
60
74
  }
61
- xml = xml["manifest"];
62
- }
63
- const newManifest = { manifest: {} };
64
- for (const prop in xml) {
65
- newManifest.manifest[prop] = xml[prop];
66
- }
67
- newManifest.manifest["$"]["package"] = packageName;
68
- const xmlBuilder = new xml2js_1.Builder();
69
- const newManifestContent = xmlBuilder.buildObject(newManifest);
70
- return newManifestContent;
75
+ // if the manifest file doesn't have a <manifest> scope, only the first setting will be picked up
76
+ const newManifest = { manifest: {} };
77
+ for (const prop in xml) {
78
+ newManifest.manifest[prop] = xml[prop];
79
+ }
80
+ newManifest.manifest["$"]["package"] = packageName;
81
+ const xmlBuilder = new xml2js_1.Builder();
82
+ const newManifestContent = xmlBuilder.buildObject(newManifest);
83
+ return newManifestContent;
84
+ });
71
85
  }
72
86
  createManifestContent(packageName) {
73
87
  const newManifest = {
@@ -78,16 +92,18 @@ class AndroidPluginBuildService {
78
92
  const newManifestContent = xmlBuilder.buildObject(newManifest);
79
93
  return newManifestContent;
80
94
  }
81
- async getXml(stringContent) {
82
- const promise = new Promise((resolve, reject) => (0, xml2js_1.parseString)(stringContent, (err, result) => {
83
- if (err) {
84
- reject(err);
85
- }
86
- else {
87
- resolve(result);
88
- }
89
- }));
90
- return promise;
95
+ getXml(stringContent) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ const promise = new Promise((resolve, reject) => (0, xml2js_1.parseString)(stringContent, (err, result) => {
98
+ if (err) {
99
+ reject(err);
100
+ }
101
+ else {
102
+ resolve(result);
103
+ }
104
+ }));
105
+ return promise;
106
+ });
91
107
  }
92
108
  getIncludeGradleCompileDependenciesScope(includeGradleFileContent) {
93
109
  const indexOfDependenciesScope = includeGradleFileContent.indexOf("dependencies");
@@ -132,41 +148,52 @@ class AndroidPluginBuildService {
132
148
  }
133
149
  return result;
134
150
  }
135
- async buildAar(options) {
136
- this.validateOptions(options);
137
- const manifestFilePath = this.getManifest(options.platformsAndroidDirPath);
138
- const androidSourceDirectories = this.getAndroidSourceDirectories(options.platformsAndroidDirPath);
139
- const shortPluginName = (0, helpers_1.getShortPluginName)(options.pluginName);
140
- const pluginTempDir = path.join(options.tempPluginDirPath, shortPluginName);
141
- const pluginSourceFileHashesInfo = await this.getSourceFilesHashes(options.platformsAndroidDirPath, shortPluginName);
142
- const shouldBuildAar = await this.shouldBuildAar({
143
- manifestFilePath,
144
- androidSourceDirectories,
145
- pluginTempDir,
146
- pluginSourceDir: options.platformsAndroidDirPath,
147
- shortPluginName,
148
- fileHashesInfo: pluginSourceFileHashesInfo,
149
- });
150
- if (shouldBuildAar) {
151
- this.cleanPluginDir(pluginTempDir);
152
- const pluginTempMainSrcDir = path.join(pluginTempDir, "src", "main");
153
- await this.updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName);
154
- this.copySourceSetDirectories(androidSourceDirectories, pluginTempMainSrcDir);
155
- await this.setupGradle(pluginTempDir, options.platformsAndroidDirPath, options.projectDir, options.pluginName);
156
- await this.buildPlugin({
157
- gradlePath: options.gradlePath,
158
- gradleArgs: options.gradleArgs,
159
- pluginDir: pluginTempDir,
160
- pluginName: options.pluginName,
161
- projectDir: options.projectDir,
151
+ /**
152
+ * Returns whether the build has completed or not
153
+ * @param {Object} options
154
+ * @param {string} options.pluginName - The name of the plugin. E.g. 'nativescript-barcodescanner'
155
+ * @param {string} options.platformsAndroidDirPath - The path to the 'plugin/src/platforms/android' directory.
156
+ * @param {string} options.aarOutputDir - The path where the aar should be copied after a successful build.
157
+ * @param {string} options.tempPluginDirPath - The path where the android plugin will be built.
158
+ */
159
+ buildAar(options) {
160
+ return __awaiter(this, void 0, void 0, function* () {
161
+ this.validateOptions(options);
162
+ const manifestFilePath = this.getManifest(options.platformsAndroidDirPath);
163
+ const androidSourceDirectories = this.getAndroidSourceDirectories(options.platformsAndroidDirPath);
164
+ const shortPluginName = (0, helpers_1.getShortPluginName)(options.pluginName);
165
+ const pluginTempDir = path.join(options.tempPluginDirPath, shortPluginName);
166
+ const pluginSourceFileHashesInfo = yield this.getSourceFilesHashes(options.platformsAndroidDirPath, shortPluginName);
167
+ const shouldBuildAar = yield this.shouldBuildAar({
168
+ manifestFilePath,
169
+ androidSourceDirectories,
170
+ pluginTempDir,
171
+ pluginSourceDir: options.platformsAndroidDirPath,
172
+ shortPluginName,
173
+ fileHashesInfo: pluginSourceFileHashesInfo,
162
174
  });
163
- this.$watchIgnoreListService.addFileToIgnoreList(path.join(options.aarOutputDir, `${shortPluginName}.aar`));
164
- this.copyAar(shortPluginName, pluginTempDir, options.aarOutputDir);
165
- this.writePluginHashInfo(pluginSourceFileHashesInfo, pluginTempDir);
166
- }
167
- return shouldBuildAar;
175
+ if (shouldBuildAar) {
176
+ this.cleanPluginDir(pluginTempDir);
177
+ const pluginTempMainSrcDir = path.join(pluginTempDir, "src", "main");
178
+ yield this.updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName);
179
+ this.copySourceSetDirectories(androidSourceDirectories, pluginTempMainSrcDir);
180
+ yield this.setupGradle(pluginTempDir, options.platformsAndroidDirPath, options.projectDir, options.pluginName);
181
+ yield this.buildPlugin({
182
+ gradlePath: options.gradlePath,
183
+ gradleArgs: options.gradleArgs,
184
+ pluginDir: pluginTempDir,
185
+ pluginName: options.pluginName,
186
+ projectDir: options.projectDir,
187
+ });
188
+ this.$watchIgnoreListService.addFileToIgnoreList(path.join(options.aarOutputDir, `${shortPluginName}.aar`));
189
+ this.copyAar(shortPluginName, pluginTempDir, options.aarOutputDir);
190
+ this.writePluginHashInfo(pluginSourceFileHashesInfo, pluginTempDir);
191
+ }
192
+ return shouldBuildAar;
193
+ });
168
194
  }
169
195
  cleanPluginDir(pluginTempDir) {
196
+ // In case plugin was already built in the current process, we need to clean the old sources as they may break the new build.
170
197
  this.$fs.deleteDirectory(pluginTempDir);
171
198
  this.$fs.ensureDirectoryExists(pluginTempDir);
172
199
  }
@@ -179,46 +206,50 @@ class AndroidPluginBuildService {
179
206
  const buildDataFile = this.getPathToPluginBuildDataFile(pluginTempDir);
180
207
  this.$fs.writeJson(buildDataFile, fileHashesInfo);
181
208
  }
182
- async shouldBuildAar(opts) {
183
- let shouldBuildAar = !!opts.manifestFilePath || !!opts.androidSourceDirectories.length;
184
- if (shouldBuildAar &&
185
- this.$fs.exists(opts.pluginTempDir) &&
186
- this.$fs.exists(path.join(opts.pluginSourceDir, `${opts.shortPluginName}.aar`))) {
187
- const buildDataFile = this.getPathToPluginBuildDataFile(opts.pluginTempDir);
188
- if (this.$fs.exists(buildDataFile)) {
189
- const oldHashes = this.$fs.readJson(buildDataFile);
190
- shouldBuildAar = this.$filesHashService.hasChangesInShasums(oldHashes, opts.fileHashesInfo);
209
+ shouldBuildAar(opts) {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ let shouldBuildAar = !!opts.manifestFilePath || !!opts.androidSourceDirectories.length;
212
+ if (shouldBuildAar &&
213
+ this.$fs.exists(opts.pluginTempDir) &&
214
+ this.$fs.exists(path.join(opts.pluginSourceDir, `${opts.shortPluginName}.aar`))) {
215
+ const buildDataFile = this.getPathToPluginBuildDataFile(opts.pluginTempDir);
216
+ if (this.$fs.exists(buildDataFile)) {
217
+ const oldHashes = this.$fs.readJson(buildDataFile);
218
+ shouldBuildAar = this.$filesHashService.hasChangesInShasums(oldHashes, opts.fileHashesInfo);
219
+ }
191
220
  }
192
- }
193
- return shouldBuildAar;
221
+ return shouldBuildAar;
222
+ });
194
223
  }
195
224
  getPathToPluginBuildDataFile(pluginDir) {
196
225
  return path.join(pluginDir, constants_1.PLUGIN_BUILD_DATA_FILENAME);
197
226
  }
198
- async updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName) {
199
- let updatedManifestContent;
200
- this.$fs.ensureDirectoryExists(pluginTempMainSrcDir);
201
- const defaultPackageName = "org.nativescript." + shortPluginName;
202
- if (manifestFilePath) {
203
- let androidManifestContent;
227
+ updateManifest(manifestFilePath, pluginTempMainSrcDir, shortPluginName) {
228
+ return __awaiter(this, void 0, void 0, function* () {
229
+ let updatedManifestContent;
230
+ this.$fs.ensureDirectoryExists(pluginTempMainSrcDir);
231
+ const defaultPackageName = "org.nativescript." + shortPluginName;
232
+ if (manifestFilePath) {
233
+ let androidManifestContent;
234
+ try {
235
+ androidManifestContent = this.$fs.readText(manifestFilePath);
236
+ }
237
+ catch (err) {
238
+ this.$errors.fail(`Failed to fs.readFileSync the manifest file located at ${manifestFilePath}. Error is: ${err.toString()}`);
239
+ }
240
+ updatedManifestContent = yield this.updateManifestContent(androidManifestContent, defaultPackageName);
241
+ }
242
+ else {
243
+ updatedManifestContent = this.createManifestContent(defaultPackageName);
244
+ }
245
+ const pathToTempAndroidManifest = path.join(pluginTempMainSrcDir, constants_1.MANIFEST_FILE_NAME);
204
246
  try {
205
- androidManifestContent = this.$fs.readText(manifestFilePath);
247
+ this.$fs.writeFile(pathToTempAndroidManifest, updatedManifestContent);
206
248
  }
207
- catch (err) {
208
- this.$errors.fail(`Failed to fs.readFileSync the manifest file located at ${manifestFilePath}. Error is: ${err.toString()}`);
249
+ catch (e) {
250
+ this.$errors.fail(`Failed to write the updated AndroidManifest in the new location - ${pathToTempAndroidManifest}. Error is: ${e.toString()}`);
209
251
  }
210
- updatedManifestContent = await this.updateManifestContent(androidManifestContent, defaultPackageName);
211
- }
212
- else {
213
- updatedManifestContent = this.createManifestContent(defaultPackageName);
214
- }
215
- const pathToTempAndroidManifest = path.join(pluginTempMainSrcDir, constants_1.MANIFEST_FILE_NAME);
216
- try {
217
- this.$fs.writeFile(pathToTempAndroidManifest, updatedManifestContent);
218
- }
219
- catch (e) {
220
- this.$errors.fail(`Failed to write the updated AndroidManifest in the new location - ${pathToTempAndroidManifest}. Error is: ${e.toString()}`);
221
- }
252
+ });
222
253
  }
223
254
  copySourceSetDirectories(androidSourceSetDirectories, pluginTempMainSrcDir) {
224
255
  for (const dir of androidSourceSetDirectories) {
@@ -228,64 +259,72 @@ class AndroidPluginBuildService {
228
259
  this.$fs.copyFile(path.join(dir, "*"), destination);
229
260
  }
230
261
  }
231
- async setupGradle(pluginTempDir, platformsAndroidDirPath, projectDir, pluginName) {
232
- const gradleTemplatePath = path.resolve(path.join(__dirname, "../../vendor/gradle-plugin"));
233
- const allGradleTemplateFiles = path.join(gradleTemplatePath, "*");
234
- const buildGradlePath = path.join(pluginTempDir, "build.gradle");
235
- const settingsGradlePath = path.join(pluginTempDir, "settings.gradle");
236
- this.$fs.copyFile(allGradleTemplateFiles, pluginTempDir);
237
- this.addCompileDependencies(platformsAndroidDirPath, buildGradlePath);
238
- const runtimeGradleVersions = await this.getRuntimeGradleVersions(projectDir);
239
- this.replaceGradleVersion(pluginTempDir, runtimeGradleVersions.gradleVersion);
240
- this.replaceGradleAndroidPluginVersion(buildGradlePath, runtimeGradleVersions.gradleAndroidPluginVersion);
241
- this.replaceFileContent(buildGradlePath, "{{pluginName}}", pluginName);
242
- this.replaceFileContent(settingsGradlePath, "{{pluginName}}", pluginName);
243
- const shortPluginName = (0, helpers_1.getShortPluginName)(pluginName);
244
- const manifestPath = path.join(pluginTempDir, "src", "main", "AndroidManifest.xml");
245
- const manifestContent = this.$fs.readText(manifestPath);
246
- let packageName = `org.nativescript.${shortPluginName}`;
247
- const xml = await this.getXml(manifestContent);
248
- if (xml["manifest"]) {
249
- if (xml["manifest"]["$"]["package"]) {
250
- packageName = xml["manifest"]["$"]["package"];
262
+ setupGradle(pluginTempDir, platformsAndroidDirPath, projectDir, pluginName) {
263
+ return __awaiter(this, void 0, void 0, function* () {
264
+ const gradleTemplatePath = path.resolve(path.join(__dirname, "../../vendor/gradle-plugin"));
265
+ const allGradleTemplateFiles = path.join(gradleTemplatePath, "*");
266
+ const buildGradlePath = path.join(pluginTempDir, "build.gradle");
267
+ const settingsGradlePath = path.join(pluginTempDir, "settings.gradle");
268
+ this.$fs.copyFile(allGradleTemplateFiles, pluginTempDir);
269
+ this.addCompileDependencies(platformsAndroidDirPath, buildGradlePath);
270
+ const runtimeGradleVersions = yield this.getRuntimeGradleVersions(projectDir);
271
+ this.replaceGradleVersion(pluginTempDir, runtimeGradleVersions.gradleVersion);
272
+ this.replaceGradleAndroidPluginVersion(buildGradlePath, runtimeGradleVersions.gradleAndroidPluginVersion);
273
+ this.replaceFileContent(buildGradlePath, "{{pluginName}}", pluginName);
274
+ this.replaceFileContent(settingsGradlePath, "{{pluginName}}", pluginName);
275
+ // gets the package from the AndroidManifest to use as the namespace or fallback to the `org.nativescript.${shortPluginName}`
276
+ const shortPluginName = (0, helpers_1.getShortPluginName)(pluginName);
277
+ const manifestPath = path.join(pluginTempDir, "src", "main", "AndroidManifest.xml");
278
+ const manifestContent = this.$fs.readText(manifestPath);
279
+ let packageName = `org.nativescript.${shortPluginName}`;
280
+ const xml = yield this.getXml(manifestContent);
281
+ if (xml["manifest"]) {
282
+ if (xml["manifest"]["$"]["package"]) {
283
+ packageName = xml["manifest"]["$"]["package"];
284
+ }
251
285
  }
252
- }
253
- this.replaceFileContent(buildGradlePath, "{{pluginNamespace}}", packageName);
254
- }
255
- async getRuntimeGradleVersions(projectDir) {
256
- let runtimeGradleVersions = null;
257
- if (projectDir) {
258
- const projectData = this.$projectDataService.getProjectData(projectDir);
259
- const platformData = this.$platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, projectData);
260
- const projectRuntimeVersion = platformData.platformProjectService.getFrameworkVersion(projectData);
261
- runtimeGradleVersions = await this.getGradleVersions(projectRuntimeVersion);
262
- this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from runtime v${projectRuntimeVersion}`);
263
- }
264
- if (!runtimeGradleVersions) {
265
- const latestRuntimeVersion = await this.getLatestRuntimeVersion();
266
- runtimeGradleVersions = await this.getGradleVersions(latestRuntimeVersion);
267
- this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from the latest runtime v${latestRuntimeVersion}`);
268
- }
269
- return runtimeGradleVersions || {};
286
+ this.replaceFileContent(buildGradlePath, "{{pluginNamespace}}", packageName);
287
+ });
288
+ }
289
+ getRuntimeGradleVersions(projectDir) {
290
+ return __awaiter(this, void 0, void 0, function* () {
291
+ let runtimeGradleVersions = null;
292
+ if (projectDir) {
293
+ const projectData = this.$projectDataService.getProjectData(projectDir);
294
+ const platformData = this.$platformsDataService.getPlatformData(this.$devicePlatformsConstants.Android, projectData);
295
+ const projectRuntimeVersion = platformData.platformProjectService.getFrameworkVersion(projectData);
296
+ runtimeGradleVersions = yield this.getGradleVersions(projectRuntimeVersion);
297
+ this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from runtime v${projectRuntimeVersion}`);
298
+ }
299
+ if (!runtimeGradleVersions) {
300
+ const latestRuntimeVersion = yield this.getLatestRuntimeVersion();
301
+ runtimeGradleVersions = yield this.getGradleVersions(latestRuntimeVersion);
302
+ this.$logger.trace(`Got gradle versions ${JSON.stringify(runtimeGradleVersions)} from the latest runtime v${latestRuntimeVersion}`);
303
+ }
304
+ return runtimeGradleVersions || {};
305
+ });
270
306
  }
271
- async getLatestRuntimeVersion() {
307
+ getLatestRuntimeVersion() {
272
308
  var _a;
273
- let runtimeVersion = null;
274
- try {
275
- let result = await this.$packageManager.view(constants_1.SCOPED_ANDROID_RUNTIME_NAME, {
276
- "dist-tags": true,
277
- });
278
- result = (_a = result === null || result === void 0 ? void 0 : result["dist-tags"]) !== null && _a !== void 0 ? _a : result;
279
- runtimeVersion = result.latest;
280
- }
281
- catch (err) {
282
- this.$logger.trace(`Error while getting latest android runtime version from view command: ${err}`);
283
- const registryData = await this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
284
- runtimeVersion = registryData["dist-tags"].latest;
285
- }
286
- return runtimeVersion;
309
+ return __awaiter(this, void 0, void 0, function* () {
310
+ let runtimeVersion = null;
311
+ try {
312
+ let result = yield this.$packageManager.view(constants_1.SCOPED_ANDROID_RUNTIME_NAME, {
313
+ "dist-tags": true,
314
+ });
315
+ result = (_a = result === null || result === void 0 ? void 0 : result["dist-tags"]) !== null && _a !== void 0 ? _a : result;
316
+ runtimeVersion = result.latest;
317
+ }
318
+ catch (err) {
319
+ this.$logger.trace(`Error while getting latest android runtime version from view command: ${err}`);
320
+ const registryData = yield this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
321
+ runtimeVersion = registryData["dist-tags"].latest;
322
+ }
323
+ return runtimeVersion;
324
+ });
287
325
  }
288
326
  getLocalGradleVersions() {
327
+ // try reading from installed runtime first before reading from the npm registry...
289
328
  const installedRuntimePackageJSONPath = (0, resolve_package_path_1.resolvePackageJSONPath)(constants_1.SCOPED_ANDROID_RUNTIME_NAME, {
290
329
  paths: [this.$projectData.projectDir],
291
330
  });
@@ -312,34 +351,46 @@ class AndroidPluginBuildService {
312
351
  }
313
352
  return null;
314
353
  }
315
- async getGradleVersions(runtimeVersion) {
354
+ getGradleVersions(runtimeVersion) {
316
355
  var _a, _b;
317
- let runtimeGradleVersions = null;
318
- const localVersionInfo = this.getLocalGradleVersions();
319
- if (localVersionInfo) {
320
- return localVersionInfo;
321
- }
322
- try {
323
- let output = await this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { version_info: true });
324
- output = (_a = output === null || output === void 0 ? void 0 : output["version_info"]) !== null && _a !== void 0 ? _a : output;
325
- if (!output) {
326
- output = await this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { gradle: true });
327
- output = (_b = output === null || output === void 0 ? void 0 : output["gradle"]) !== null && _b !== void 0 ? _b : output;
328
- const { version, android } = output;
329
- output = {
330
- gradle: version,
331
- gradleAndroid: android,
332
- };
356
+ return __awaiter(this, void 0, void 0, function* () {
357
+ let runtimeGradleVersions = null;
358
+ const localVersionInfo = this.getLocalGradleVersions();
359
+ if (localVersionInfo) {
360
+ return localVersionInfo;
333
361
  }
334
- runtimeGradleVersions = { versions: output };
335
- }
336
- catch (err) {
337
- this.$logger.trace(`Error while getting gradle data for android runtime from view command: ${err}`);
338
- const registryData = await this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
339
- runtimeGradleVersions = registryData.versions[runtimeVersion];
340
- }
341
- const result = this.getGradleVersionsCore(runtimeGradleVersions);
342
- return result;
362
+ // fallback to reading from npm...
363
+ try {
364
+ let output = yield this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { version_info: true });
365
+ output = (_a = output === null || output === void 0 ? void 0 : output["version_info"]) !== null && _a !== void 0 ? _a : output;
366
+ if (!output) {
367
+ /**
368
+ * fallback to the old 'gradle' key in package.json
369
+ *
370
+ * format:
371
+ *
372
+ * gradle: { version: '6.4', android: '3.6.4' }
373
+ *
374
+ */
375
+ output = yield this.$packageManager.view(`${constants_1.SCOPED_ANDROID_RUNTIME_NAME}@${runtimeVersion}`, { gradle: true });
376
+ output = (_b = output === null || output === void 0 ? void 0 : output["gradle"]) !== null && _b !== void 0 ? _b : output;
377
+ const { version, android } = output;
378
+ // covert output to the new format...
379
+ output = {
380
+ gradle: version,
381
+ gradleAndroid: android,
382
+ };
383
+ }
384
+ runtimeGradleVersions = { versions: output };
385
+ }
386
+ catch (err) {
387
+ this.$logger.trace(`Error while getting gradle data for android runtime from view command: ${err}`);
388
+ const registryData = yield this.$packageManager.getRegistryPackageData(constants_1.SCOPED_ANDROID_RUNTIME_NAME);
389
+ runtimeGradleVersions = registryData.versions[runtimeVersion];
390
+ }
391
+ const result = this.getGradleVersionsCore(runtimeGradleVersions);
392
+ return result;
393
+ });
343
394
  }
344
395
  getGradleVersionsCore(packageData) {
345
396
  const packageJsonGradle = packageData && packageData.versions;
@@ -397,6 +448,10 @@ class AndroidPluginBuildService {
397
448
  this.$errors.fail(`No built aar found at ${pathToBuiltAar}`);
398
449
  }
399
450
  }
451
+ /**
452
+ * @param {Object} options
453
+ * @param {string} options.platformsAndroidDirPath - The path to the 'plugin/src/platforms/android' directory.
454
+ */
400
455
  migrateIncludeGradle(options) {
401
456
  this.validatePlatformsAndroidDirPathOption(options);
402
457
  const includeGradleFilePath = path.join(options.platformsAndroidDirPath, constants_1.INCLUDE_GRADLE_NAME);
@@ -425,43 +480,42 @@ class AndroidPluginBuildService {
425
480
  }
426
481
  return false;
427
482
  }
428
- async buildPlugin(pluginBuildSettings) {
483
+ buildPlugin(pluginBuildSettings) {
429
484
  var _a;
430
- const gradlew = (_a = pluginBuildSettings.gradlePath) !== null && _a !== void 0 ? _a : (this.$hostInfo.isWindows ? "gradlew.bat" : "./gradlew");
431
- const localArgs = [
432
- "-p",
433
- pluginBuildSettings.pluginDir,
434
- "assembleRelease",
435
- `-PtempBuild=true`,
436
- `-PappPath=${this.$projectData.getAppDirectoryPath()}`,
437
- `-PappResourcesPath=${this.$projectData.getAppResourcesDirectoryPath()}`,
438
- ];
439
- if (pluginBuildSettings.gradleArgs) {
440
- localArgs.push(pluginBuildSettings.gradleArgs);
441
- }
442
- if (this.$logger.getLevel() === "INFO") {
443
- localArgs.push("--quiet");
444
- }
445
- const opts = {
446
- cwd: pluginBuildSettings.pluginDir,
447
- stdio: "inherit",
448
- shell: this.$hostInfo.isWindows,
449
- };
450
- if (this.$options.hostProjectPath) {
451
- opts.env = {
452
- USER_PROJECT_PLATFORMS_ANDROID: path.resolve((0, process_1.cwd)(), this.$options.hostProjectPath),
453
- ...process.env,
485
+ return __awaiter(this, void 0, void 0, function* () {
486
+ const gradlew = (_a = pluginBuildSettings.gradlePath) !== null && _a !== void 0 ? _a : (this.$hostInfo.isWindows ? "gradlew.bat" : "./gradlew");
487
+ const localArgs = [
488
+ "-p",
489
+ pluginBuildSettings.pluginDir,
490
+ "assembleRelease",
491
+ `-PtempBuild=true`,
492
+ `-PappPath=${this.$projectData.getAppDirectoryPath()}`,
493
+ `-PappResourcesPath=${this.$projectData.getAppResourcesDirectoryPath()}`,
494
+ ];
495
+ if (pluginBuildSettings.gradleArgs) {
496
+ localArgs.push(pluginBuildSettings.gradleArgs);
497
+ }
498
+ if (this.$logger.getLevel() === "INFO") {
499
+ localArgs.push("--quiet");
500
+ }
501
+ const opts = {
502
+ cwd: pluginBuildSettings.pluginDir,
503
+ stdio: "inherit",
504
+ shell: this.$hostInfo.isWindows,
454
505
  };
455
- }
456
- try {
457
- const sanitizedArgs = this.$hostInfo.isWindows
458
- ? localArgs.map((arg) => (0, helpers_1.quoteString)(arg))
459
- : localArgs;
460
- await this.$childProcess.spawnFromEvent(gradlew, sanitizedArgs, "close", opts);
461
- }
462
- catch (err) {
463
- this.$errors.fail(`Failed to build plugin ${pluginBuildSettings.pluginName} : \n${err}`);
464
- }
506
+ if (this.$options.hostProjectPath) {
507
+ opts.env = Object.assign({ USER_PROJECT_PLATFORMS_ANDROID: path.resolve((0, process_1.cwd)(), this.$options.hostProjectPath) }, process.env);
508
+ }
509
+ try {
510
+ const sanitizedArgs = this.$hostInfo.isWindows
511
+ ? localArgs.map((arg) => (0, helpers_1.quoteString)(arg))
512
+ : localArgs;
513
+ yield this.$childProcess.spawnFromEvent(gradlew, sanitizedArgs, "close", opts);
514
+ }
515
+ catch (err) {
516
+ this.$errors.fail(`Failed to build plugin ${pluginBuildSettings.pluginName} : \n${err}`);
517
+ }
518
+ });
465
519
  }
466
520
  validateOptions(options) {
467
521
  if (!options) {
@@ -487,7 +541,6 @@ class AndroidPluginBuildService {
487
541
  }
488
542
  }
489
543
  }
490
- exports.AndroidPluginBuildService = AndroidPluginBuildService;
491
544
  AndroidPluginBuildService.MANIFEST_ROOT = {
492
545
  $: {
493
546
  "xmlns:android": "http://schemas.android.com/apk/res/android",
@@ -496,4 +549,6 @@ AndroidPluginBuildService.MANIFEST_ROOT = {
496
549
  __decorate([
497
550
  (0, helpers_1.hook)("buildAndroidPlugin")
498
551
  ], AndroidPluginBuildService.prototype, "buildPlugin", null);
552
+ exports.AndroidPluginBuildService = AndroidPluginBuildService;
499
553
  yok_1.injector.register("androidPluginBuildService", AndroidPluginBuildService);
554
+ //# sourceMappingURL=android-plugin-build-service.js.map