nativescript 8.9.0-dev.0 → 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 (405) 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/ios.d.ts +4 -2
  190. package/lib/definitions/project.d.ts +26 -0
  191. package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
  192. package/lib/detached-processes/cleanup-process.js +43 -30
  193. package/lib/detached-processes/file-log-service.js +2 -1
  194. package/lib/device-path-provider.js +35 -23
  195. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
  196. package/lib/device-sockets/ios/notification.js +4 -1
  197. package/lib/device-sockets/ios/socket-request-executor.js +42 -24
  198. package/lib/helpers/android-bundle-validator-helper.js +3 -2
  199. package/lib/helpers/deploy-command-helper.js +50 -44
  200. package/lib/helpers/key-command-helper.js +17 -6
  201. package/lib/helpers/livesync-command-helper.js +155 -137
  202. package/lib/helpers/network-connectivity-validator.js +18 -6
  203. package/lib/helpers/options-track-helper.js +19 -7
  204. package/lib/helpers/package-path-helper.js +1 -0
  205. package/lib/helpers/platform-command-helper.js +127 -101
  206. package/lib/helpers/version-validator-helper.js +1 -0
  207. package/lib/key-commands/bootstrap.js +3 -2
  208. package/lib/key-commands/index.js +205 -154
  209. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  210. package/lib/nativescript-cli-lib.js +1 -0
  211. package/lib/nativescript-cli.js +24 -6
  212. package/lib/node/pbxproj-dom-xcode.js +1 -0
  213. package/lib/node/xcode.js +1 -0
  214. package/lib/node-package-manager.js +114 -81
  215. package/lib/options.js +156 -122
  216. package/lib/package-installation-manager.js +172 -130
  217. package/lib/package-manager.js +88 -63
  218. package/lib/platform-command-param.js +16 -4
  219. package/lib/pnpm-package-manager.js +81 -59
  220. package/lib/project-data.js +13 -1
  221. package/lib/providers/project-files-provider.js +2 -1
  222. package/lib/resolvers/livesync-service-resolver.js +1 -0
  223. package/lib/services/analytics/analytics-broker-process.js +32 -19
  224. package/lib/services/analytics/analytics-broker.js +31 -17
  225. package/lib/services/analytics/analytics-service.js +210 -170
  226. package/lib/services/analytics/google-analytics-provider.js +59 -43
  227. package/lib/services/analytics-settings-service.js +37 -15
  228. package/lib/services/android/android-bundle-tool-service.js +61 -43
  229. package/lib/services/android/gradle-build-args-service.js +23 -9
  230. package/lib/services/android/gradle-build-service.js +36 -22
  231. package/lib/services/android/gradle-command-service.js +36 -22
  232. package/lib/services/android-device-debug-service.js +123 -90
  233. package/lib/services/android-plugin-build-service.js +260 -205
  234. package/lib/services/android-project-service.js +241 -129
  235. package/lib/services/android-resources-migration-service.js +71 -51
  236. package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
  237. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  238. package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
  239. package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
  240. package/lib/services/assets-generation/assets-generation-service.js +128 -103
  241. package/lib/services/build-artifacts-service.js +22 -10
  242. package/lib/services/build-data-service.js +1 -0
  243. package/lib/services/build-info-file-service.js +36 -20
  244. package/lib/services/cleanup-service.js +81 -48
  245. package/lib/services/cocoapods-platform-manager.js +9 -0
  246. package/lib/services/cocoapods-service.js +153 -112
  247. package/lib/services/debug-data-service.js +1 -0
  248. package/lib/services/debug-service-base.js +7 -0
  249. package/lib/services/device/device-install-app-service.js +72 -54
  250. package/lib/services/doctor-service.js +135 -101
  251. package/lib/services/extensibility-service.js +108 -81
  252. package/lib/services/files-hash-service.js +44 -26
  253. package/lib/services/hmr-status-service.js +3 -1
  254. package/lib/services/info-service.js +1 -0
  255. package/lib/services/initialize-service.js +54 -37
  256. package/lib/services/ios/export-options-plist-service.js +55 -38
  257. package/lib/services/ios/ios-signing-service.js +191 -168
  258. package/lib/services/ios/spm-service.js +73 -43
  259. package/lib/services/ios/xcodebuild-args-service.js +103 -77
  260. package/lib/services/ios/xcodebuild-command-service.js +26 -14
  261. package/lib/services/ios/xcodebuild-service.js +72 -52
  262. package/lib/services/ios-debugger-port-service.js +38 -24
  263. package/lib/services/ios-device-debug-service.js +103 -75
  264. package/lib/services/ios-entitlements-service.js +43 -31
  265. package/lib/services/ios-extensions-service.js +30 -18
  266. package/lib/services/ios-log-filter.js +20 -0
  267. package/lib/services/ios-native-target-service.js +6 -4
  268. package/lib/services/ios-project-service.js +605 -437
  269. package/lib/services/ios-provision-service.js +132 -108
  270. package/lib/services/ios-watch-app-service.js +33 -21
  271. package/lib/services/ip-service.js +55 -38
  272. package/lib/services/itmstransporter-service.js +153 -129
  273. package/lib/services/karma-execution.js +2 -0
  274. package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
  275. package/lib/services/livesync/android-device-livesync-service.js +151 -120
  276. package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
  277. package/lib/services/livesync/android-livesync-service.js +36 -14
  278. package/lib/services/livesync/android-livesync-tool.js +117 -90
  279. package/lib/services/livesync/device-livesync-service-base.js +30 -15
  280. package/lib/services/livesync/ios-device-livesync-service.js +150 -114
  281. package/lib/services/livesync/ios-livesync-service.js +60 -42
  282. package/lib/services/livesync/livesync-socket.js +1 -0
  283. package/lib/services/livesync/platform-livesync-service-base.js +124 -94
  284. package/lib/services/livesync-process-data-service.js +1 -0
  285. package/lib/services/log-parser-service.js +2 -1
  286. package/lib/services/log-source-map-service.js +56 -30
  287. package/lib/services/marking-mode-service.js +33 -17
  288. package/lib/services/metadata-filtering-service.js +1 -0
  289. package/lib/services/npm-config-service.js +5 -1
  290. package/lib/services/pacote-service.js +73 -51
  291. package/lib/services/performance-service.js +4 -2
  292. package/lib/services/platform/add-platform-service.js +119 -51
  293. package/lib/services/platform/platform-validation-service.js +34 -22
  294. package/lib/services/platform/prepare-native-platform-service.js +65 -49
  295. package/lib/services/platform-environment-requirements.js +43 -27
  296. package/lib/services/platform-project-service-base.js +1 -0
  297. package/lib/services/platforms-data-service.js +1 -0
  298. package/lib/services/plugins-service.js +168 -125
  299. package/lib/services/prepare-data-service.js +1 -0
  300. package/lib/services/project-backup-service.js +5 -1
  301. package/lib/services/project-changes-service.js +152 -124
  302. package/lib/services/project-cleanup-service.js +79 -64
  303. package/lib/services/project-config-service.js +111 -73
  304. package/lib/services/project-data-service.js +154 -108
  305. package/lib/services/project-name-service.js +44 -28
  306. package/lib/services/project-service.js +113 -84
  307. package/lib/services/project-templates-service.js +68 -52
  308. package/lib/services/qr-code-terminal-service.js +1 -0
  309. package/lib/services/require-service.js +1 -0
  310. package/lib/services/start-service.js +60 -41
  311. package/lib/services/temp-service.js +22 -8
  312. package/lib/services/terminal-spinner-service.js +28 -15
  313. package/lib/services/test-execution-service.js +79 -59
  314. package/lib/services/test-initialization-service.js +6 -2
  315. package/lib/services/timeline-profiler-service.js +2 -1
  316. package/lib/services/user-settings-service.js +1 -0
  317. package/lib/services/versions-service.js +140 -119
  318. package/lib/services/watch-ignore-list-service.js +1 -0
  319. package/lib/services/webpack/webpack-compiler-service.js +279 -215
  320. package/lib/services/xcconfig-service.js +21 -8
  321. package/lib/services/xcproj-service.js +1 -0
  322. package/lib/shared-event-bus.js +6 -0
  323. package/lib/sys-info.js +63 -45
  324. package/lib/tools/config-manipulation/config-transformer.js +21 -0
  325. package/lib/tools/node-modules/node-modules-builder.js +28 -16
  326. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  327. package/lib/yarn-package-manager.js +79 -59
  328. package/lib/yarn2-package-manager.js +82 -60
  329. package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
  330. package/node_modules/@npmcli/move-file/README.md +69 -0
  331. package/node_modules/@npmcli/move-file/lib/index.js +185 -0
  332. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
  333. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
  334. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
  335. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
  336. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
  337. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
  338. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
  339. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
  340. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
  341. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
  342. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
  343. package/node_modules/@npmcli/move-file/package.json +47 -0
  344. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  345. package/node_modules/balanced-match/LICENSE.md +21 -0
  346. package/node_modules/balanced-match/README.md +97 -0
  347. package/node_modules/balanced-match/index.js +62 -0
  348. package/node_modules/balanced-match/package.json +48 -0
  349. package/node_modules/concat-map/.travis.yml +4 -0
  350. package/node_modules/concat-map/LICENSE +18 -0
  351. package/node_modules/concat-map/README.markdown +62 -0
  352. package/node_modules/concat-map/example/map.js +6 -0
  353. package/node_modules/concat-map/index.js +13 -0
  354. package/node_modules/concat-map/package.json +43 -0
  355. package/node_modules/concat-map/test/map.js +39 -0
  356. package/node_modules/fs.realpath/LICENSE +43 -0
  357. package/node_modules/fs.realpath/README.md +33 -0
  358. package/node_modules/fs.realpath/index.js +66 -0
  359. package/node_modules/fs.realpath/old.js +303 -0
  360. package/node_modules/fs.realpath/package.json +26 -0
  361. package/node_modules/inflight/LICENSE +15 -0
  362. package/node_modules/inflight/README.md +37 -0
  363. package/node_modules/inflight/inflight.js +54 -0
  364. package/node_modules/inflight/package.json +29 -0
  365. package/node_modules/inherits/LICENSE +16 -0
  366. package/node_modules/inherits/README.md +42 -0
  367. package/node_modules/inherits/inherits.js +9 -0
  368. package/node_modules/inherits/inherits_browser.js +27 -0
  369. package/node_modules/inherits/package.json +29 -0
  370. package/node_modules/once/LICENSE +15 -0
  371. package/node_modules/once/README.md +79 -0
  372. package/node_modules/once/once.js +42 -0
  373. package/node_modules/once/package.json +33 -0
  374. package/node_modules/path-is-absolute/index.js +20 -0
  375. package/node_modules/path-is-absolute/license +21 -0
  376. package/node_modules/path-is-absolute/package.json +43 -0
  377. package/node_modules/path-is-absolute/readme.md +59 -0
  378. package/node_modules/rimraf/LICENSE +15 -0
  379. package/node_modules/rimraf/README.md +101 -0
  380. package/node_modules/rimraf/bin.js +68 -0
  381. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
  382. package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
  383. package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
  384. package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
  385. package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
  386. package/node_modules/rimraf/node_modules/glob/README.md +378 -0
  387. package/node_modules/rimraf/node_modules/glob/common.js +238 -0
  388. package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
  389. package/node_modules/rimraf/node_modules/glob/package.json +55 -0
  390. package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
  391. package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
  392. package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
  393. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
  394. package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
  395. package/node_modules/rimraf/package.json +32 -0
  396. package/node_modules/rimraf/rimraf.js +360 -0
  397. package/node_modules/stringify-package/LICENSE +13 -0
  398. package/node_modules/stringify-package/README.md +55 -0
  399. package/node_modules/stringify-package/index.js +18 -0
  400. package/node_modules/stringify-package/package.json +38 -0
  401. package/node_modules/wrappy/LICENSE +15 -0
  402. package/node_modules/wrappy/README.md +36 -0
  403. package/node_modules/wrappy/package.json +29 -0
  404. package/node_modules/wrappy/wrappy.js +33 -0
  405. 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