@akylas/nativescript-cli 8.7.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 (531) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +385 -0
  3. package/bin/nativescript +3 -0
  4. package/bin/nativescript.js +3 -0
  5. package/bin/ns +3 -0
  6. package/bin/nsc +3 -0
  7. package/bin/nsc.js +3 -0
  8. package/bin/tns +12 -0
  9. package/bin/tns.cmd +1 -0
  10. package/config/config.json +8 -0
  11. package/config/test-dependencies.json +58 -0
  12. package/config/test-deps-versions-generated.json +1 -0
  13. package/docs/build-jekyll-md.sh +7 -0
  14. package/docs/helpers/favicon.ico +0 -0
  15. package/docs/helpers/logo.png +0 -0
  16. package/docs/man_pages/cloud/cloud-setup.md +29 -0
  17. package/docs/man_pages/device/device-android.md +32 -0
  18. package/docs/man_pages/device/device-ios.md +40 -0
  19. package/docs/man_pages/device/device-list-applications.md +37 -0
  20. package/docs/man_pages/device/device-log.md +37 -0
  21. package/docs/man_pages/device/device-run.md +55 -0
  22. package/docs/man_pages/device/device.md +46 -0
  23. package/docs/man_pages/env-configuration/setup.md +22 -0
  24. package/docs/man_pages/general/autocomplete-disable.md +37 -0
  25. package/docs/man_pages/general/autocomplete-enable.md +37 -0
  26. package/docs/man_pages/general/autocomplete-status.md +35 -0
  27. package/docs/man_pages/general/autocomplete.md +46 -0
  28. package/docs/man_pages/general/clean.md +22 -0
  29. package/docs/man_pages/general/doctor.md +33 -0
  30. package/docs/man_pages/general/error-reporting.md +41 -0
  31. package/docs/man_pages/general/extension-install.md +45 -0
  32. package/docs/man_pages/general/extension-uninstall.md +41 -0
  33. package/docs/man_pages/general/extension.md +35 -0
  34. package/docs/man_pages/general/help.md +39 -0
  35. package/docs/man_pages/general/info.md +33 -0
  36. package/docs/man_pages/general/migrate.md +79 -0
  37. package/docs/man_pages/general/package-manager-get.md +26 -0
  38. package/docs/man_pages/general/package-manager-set.md +29 -0
  39. package/docs/man_pages/general/package-manager.md +25 -0
  40. package/docs/man_pages/general/proxy-clear.md +26 -0
  41. package/docs/man_pages/general/proxy-set.md +45 -0
  42. package/docs/man_pages/general/proxy.md +31 -0
  43. package/docs/man_pages/general/update.md +40 -0
  44. package/docs/man_pages/general/usage-reporting.md +41 -0
  45. package/docs/man_pages/index.html +3 -0
  46. package/docs/man_pages/lib-management/plugin-add.md +42 -0
  47. package/docs/man_pages/lib-management/plugin-build.md +32 -0
  48. package/docs/man_pages/lib-management/plugin-create.md +48 -0
  49. package/docs/man_pages/lib-management/plugin-install.md +42 -0
  50. package/docs/man_pages/lib-management/plugin-remove.md +31 -0
  51. package/docs/man_pages/lib-management/plugin-update.md +41 -0
  52. package/docs/man_pages/lib-management/plugin.md +39 -0
  53. package/docs/man_pages/project/configuration/generate.md +36 -0
  54. package/docs/man_pages/project/configuration/install.md +43 -0
  55. package/docs/man_pages/project/configuration/open-android.md +27 -0
  56. package/docs/man_pages/project/configuration/open-ios.md +31 -0
  57. package/docs/man_pages/project/configuration/open.md +36 -0
  58. package/docs/man_pages/project/configuration/platform-add.md +46 -0
  59. package/docs/man_pages/project/configuration/platform-clean.md +41 -0
  60. package/docs/man_pages/project/configuration/platform-remove.md +41 -0
  61. package/docs/man_pages/project/configuration/platform-update.md +45 -0
  62. package/docs/man_pages/project/configuration/platform.md +29 -0
  63. package/docs/man_pages/project/configuration/prepare.md +49 -0
  64. package/docs/man_pages/project/configuration/resources/resources-generate-icons.md +39 -0
  65. package/docs/man_pages/project/configuration/resources/resources-generate-splashes.md +39 -0
  66. package/docs/man_pages/project/configuration/resources/resources-update.md +35 -0
  67. package/docs/man_pages/project/configuration/resources/resources.md +14 -0
  68. package/docs/man_pages/project/creation/create.md +64 -0
  69. package/docs/man_pages/project/testing/build-android.md +62 -0
  70. package/docs/man_pages/project/testing/build-ios.md +65 -0
  71. package/docs/man_pages/project/testing/build.md +66 -0
  72. package/docs/man_pages/project/testing/debug-android.md +64 -0
  73. package/docs/man_pages/project/testing/debug-ios.md +65 -0
  74. package/docs/man_pages/project/testing/debug.md +67 -0
  75. package/docs/man_pages/project/testing/deploy.md +72 -0
  76. package/docs/man_pages/project/testing/dev-test-android.md +31 -0
  77. package/docs/man_pages/project/testing/dev-test-ios.md +36 -0
  78. package/docs/man_pages/project/testing/preview.md +35 -0
  79. package/docs/man_pages/project/testing/run-android.md +79 -0
  80. package/docs/man_pages/project/testing/run-ios.md +83 -0
  81. package/docs/man_pages/project/testing/run.md +92 -0
  82. package/docs/man_pages/project/testing/test-android.md +46 -0
  83. package/docs/man_pages/project/testing/test-init.md +34 -0
  84. package/docs/man_pages/project/testing/test-ios.md +48 -0
  85. package/docs/man_pages/project/testing/test.md +48 -0
  86. package/docs/man_pages/project/testing/typings.md +52 -0
  87. package/docs/man_pages/publishing/apple-login.md +35 -0
  88. package/docs/man_pages/publishing/appstore-upload.md +52 -0
  89. package/docs/man_pages/publishing/appstore.md +42 -0
  90. package/docs/man_pages/publishing/publish-ios.md +55 -0
  91. package/docs/man_pages/publishing/publish.md +38 -0
  92. package/docs/man_pages/start.md +81 -0
  93. package/lib/.d.ts +494 -0
  94. package/lib/android-tools-info.js +135 -0
  95. package/lib/base-package-manager.js +129 -0
  96. package/lib/bash-scripts/terminateProcess.sh +12 -0
  97. package/lib/bootstrap.js +203 -0
  98. package/lib/bun-package-manager.js +135 -0
  99. package/lib/color.js +10 -0
  100. package/lib/commands/add-platform.js +49 -0
  101. package/lib/commands/apple-login.js +52 -0
  102. package/lib/commands/appstore-list.js +75 -0
  103. package/lib/commands/appstore-upload.js +106 -0
  104. package/lib/commands/build.js +161 -0
  105. package/lib/commands/clean.js +253 -0
  106. package/lib/commands/command-base.js +46 -0
  107. package/lib/commands/config.js +135 -0
  108. package/lib/commands/create-project.js +431 -0
  109. package/lib/commands/debug.js +191 -0
  110. package/lib/commands/deploy.js +78 -0
  111. package/lib/commands/extensibility/install-extension.js +33 -0
  112. package/lib/commands/extensibility/list-extensions.js +40 -0
  113. package/lib/commands/extensibility/uninstall-extension.js +32 -0
  114. package/lib/commands/fonts.js +64 -0
  115. package/lib/commands/generate-assets.js +71 -0
  116. package/lib/commands/generate-help.js +26 -0
  117. package/lib/commands/generate.js +78 -0
  118. package/lib/commands/info.js +26 -0
  119. package/lib/commands/install.js +80 -0
  120. package/lib/commands/list-platforms.js +45 -0
  121. package/lib/commands/migrate.js +44 -0
  122. package/lib/commands/platform-clean.js +54 -0
  123. package/lib/commands/plugin/add-plugin.js +43 -0
  124. package/lib/commands/plugin/build-plugin.js +70 -0
  125. package/lib/commands/plugin/create-plugin.js +175 -0
  126. package/lib/commands/plugin/list-plugins.js +54 -0
  127. package/lib/commands/plugin/remove-plugin.js +52 -0
  128. package/lib/commands/plugin/update-plugin.js +52 -0
  129. package/lib/commands/post-install.js +57 -0
  130. package/lib/commands/prepare.js +63 -0
  131. package/lib/commands/preview.js +93 -0
  132. package/lib/commands/remove-platform.js +40 -0
  133. package/lib/commands/resources/resources-update.js +45 -0
  134. package/lib/commands/run.js +177 -0
  135. package/lib/commands/setup.js +15 -0
  136. package/lib/commands/start.js +33 -0
  137. package/lib/commands/test-init.js +167 -0
  138. package/lib/commands/test.js +146 -0
  139. package/lib/commands/typings.js +180 -0
  140. package/lib/commands/update-platform.js +57 -0
  141. package/lib/commands/update.js +70 -0
  142. package/lib/common/LICENSE +201 -0
  143. package/lib/common/README.md +1084 -0
  144. package/lib/common/bin/common-lib.js +5 -0
  145. package/lib/common/bootstrap.js +97 -0
  146. package/lib/common/child-process.js +217 -0
  147. package/lib/common/codeGeneration/code-entity.js +47 -0
  148. package/lib/common/codeGeneration/code-generation.d.ts +47 -0
  149. package/lib/common/codeGeneration/code-printer.js +48 -0
  150. package/lib/common/command-params.js +45 -0
  151. package/lib/common/commands/analytics.js +81 -0
  152. package/lib/common/commands/autocompletion.js +110 -0
  153. package/lib/common/commands/device/device-log-stream.js +44 -0
  154. package/lib/common/commands/device/get-file.js +54 -0
  155. package/lib/common/commands/device/list-applications.js +42 -0
  156. package/lib/common/commands/device/list-devices.js +150 -0
  157. package/lib/common/commands/device/list-files.js +55 -0
  158. package/lib/common/commands/device/put-file.js +55 -0
  159. package/lib/common/commands/device/run-application.js +46 -0
  160. package/lib/common/commands/device/stop-application.js +42 -0
  161. package/lib/common/commands/device/uninstall-application.js +33 -0
  162. package/lib/common/commands/doctor.js +54 -0
  163. package/lib/common/commands/generate-messages.js +45 -0
  164. package/lib/common/commands/help.js +51 -0
  165. package/lib/common/commands/package-manager-get.js +32 -0
  166. package/lib/common/commands/package-manager-set.js +37 -0
  167. package/lib/common/commands/post-install.js +27 -0
  168. package/lib/common/commands/preuninstall.js +61 -0
  169. package/lib/common/commands/proxy/proxy-base.js +34 -0
  170. package/lib/common/commands/proxy/proxy-clear.js +32 -0
  171. package/lib/common/commands/proxy/proxy-get.js +31 -0
  172. package/lib/common/commands/proxy/proxy-set.js +150 -0
  173. package/lib/common/common-lib.js +5 -0
  174. package/lib/common/constants.js +122 -0
  175. package/lib/common/declarations.d.ts +1713 -0
  176. package/lib/common/decorators.js +201 -0
  177. package/lib/common/definitions/cli-global.d.ts +22 -0
  178. package/lib/common/definitions/commands-service.d.ts +27 -0
  179. package/lib/common/definitions/commands.d.ts +51 -0
  180. package/lib/common/definitions/config.d.ts +33 -0
  181. package/lib/common/definitions/extensibility.d.ts +147 -0
  182. package/lib/common/definitions/google-analytics.d.ts +109 -0
  183. package/lib/common/definitions/json-file-settings-service.d.ts +24 -0
  184. package/lib/common/definitions/key-commands.d.ts +62 -0
  185. package/lib/common/definitions/logger.d.ts +41 -0
  186. package/lib/common/definitions/mobile.d.ts +1499 -0
  187. package/lib/common/definitions/validator.d.ts +8 -0
  188. package/lib/common/definitions/yok.d.ts +56 -0
  189. package/lib/common/dispatchers.js +151 -0
  190. package/lib/common/docs/helpers/basic-extensions-page.html +15 -0
  191. package/lib/common/docs/helpers/basic-page.html +14 -0
  192. package/lib/common/docs/helpers/styles.css +365 -0
  193. package/lib/common/doctor.d.ts +6 -0
  194. package/lib/common/errors.js +206 -0
  195. package/lib/common/file-system.js +441 -0
  196. package/lib/common/header.js +30 -0
  197. package/lib/common/helpers.js +658 -0
  198. package/lib/common/host-info.js +133 -0
  199. package/lib/common/http-client.js +173 -0
  200. package/lib/common/logger/appenders/cli-appender.js +24 -0
  201. package/lib/common/logger/appenders/emit-appender.js +30 -0
  202. package/lib/common/logger/layouts/cli-layout.js +33 -0
  203. package/lib/common/logger/logger.js +199 -0
  204. package/lib/common/messages/messages.interface.d.ts +10 -0
  205. package/lib/common/messages/messages.js +15 -0
  206. package/lib/common/mobile/android/android-application-manager.js +228 -0
  207. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +332 -0
  208. package/lib/common/mobile/android/android-debug-bridge.js +167 -0
  209. package/lib/common/mobile/android/android-device-file-system.js +176 -0
  210. package/lib/common/mobile/android/android-device-hash-service.js +133 -0
  211. package/lib/common/mobile/android/android-device.js +164 -0
  212. package/lib/common/mobile/android/android-emulator-services.js +205 -0
  213. package/lib/common/mobile/android/android-ini-file-parser.js +77 -0
  214. package/lib/common/mobile/android/android-log-filter.js +42 -0
  215. package/lib/common/mobile/android/android-virtual-device-service.js +360 -0
  216. package/lib/common/mobile/android/device-android-debug-bridge.js +48 -0
  217. package/lib/common/mobile/android/genymotion/genymotion-service.js +211 -0
  218. package/lib/common/mobile/android/genymotion/virtualbox-service.js +121 -0
  219. package/lib/common/mobile/android/logcat-helper.js +165 -0
  220. package/lib/common/mobile/application-manager-base.js +136 -0
  221. package/lib/common/mobile/device-emitter.js +61 -0
  222. package/lib/common/mobile/device-log-emitter.js +40 -0
  223. package/lib/common/mobile/device-log-provider-base.js +76 -0
  224. package/lib/common/mobile/device-log-provider.js +126 -0
  225. package/lib/common/mobile/device-platforms-constants.js +22 -0
  226. package/lib/common/mobile/emulator-helper.js +84 -0
  227. package/lib/common/mobile/ios/device/ios-application-manager.js +159 -0
  228. package/lib/common/mobile/ios/device/ios-device-file-system.js +133 -0
  229. package/lib/common/mobile/ios/device/ios-device-operations.js +234 -0
  230. package/lib/common/mobile/ios/device/ios-device.js +153 -0
  231. package/lib/common/mobile/ios/ios-device-base.js +108 -0
  232. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +65 -0
  233. package/lib/common/mobile/ios/ios-log-filter.js +24 -0
  234. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +139 -0
  235. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +23 -0
  236. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +147 -0
  237. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +106 -0
  238. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +81 -0
  239. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +69 -0
  240. package/lib/common/mobile/local-to-device-path-data-factory.js +37 -0
  241. package/lib/common/mobile/log-filter.js +51 -0
  242. package/lib/common/mobile/logging-levels.js +12 -0
  243. package/lib/common/mobile/mobile-core/android-device-discovery.js +91 -0
  244. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +65 -0
  245. package/lib/common/mobile/mobile-core/android-process-service.js +259 -0
  246. package/lib/common/mobile/mobile-core/device-discovery.js +64 -0
  247. package/lib/common/mobile/mobile-core/devices-service.js +854 -0
  248. package/lib/common/mobile/mobile-core/ios-device-discovery.js +63 -0
  249. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +109 -0
  250. package/lib/common/mobile/mobile-helper.js +102 -0
  251. package/lib/common/mobile/wp8/wp8-emulator-services.js +82 -0
  252. package/lib/common/old.npmignore +12 -0
  253. package/lib/common/opener.js +16 -0
  254. package/lib/common/os-info.js +21 -0
  255. package/lib/common/plist-parser.js +24 -0
  256. package/lib/common/project-helper.js +70 -0
  257. package/lib/common/prompter.js +191 -0
  258. package/lib/common/queue.js +37 -0
  259. package/lib/common/resource-loader.js +25 -0
  260. package/lib/common/resources/messages/errorMessages.json +7 -0
  261. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +3407 -0
  262. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  263. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +4451 -0
  264. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  265. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  266. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  267. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +4451 -0
  268. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  269. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
  270. package/lib/common/resources/platform-tools/unzip/win32/unzip.exe +0 -0
  271. package/lib/common/services/analytics/google-analytics-custom-dimensions.d.ts +16 -0
  272. package/lib/common/services/auto-completion-service.js +265 -0
  273. package/lib/common/services/cancellation.js +67 -0
  274. package/lib/common/services/commands-service.js +268 -0
  275. package/lib/common/services/help-service.js +252 -0
  276. package/lib/common/services/hooks-service.js +318 -0
  277. package/lib/common/services/ios-notification-service.js +49 -0
  278. package/lib/common/services/json-file-settings-service.js +133 -0
  279. package/lib/common/services/lock-service.js +129 -0
  280. package/lib/common/services/message-contract-generator.js +83 -0
  281. package/lib/common/services/messages-service.js +77 -0
  282. package/lib/common/services/micro-templating-service.js +49 -0
  283. package/lib/common/services/net-service.js +137 -0
  284. package/lib/common/services/project-files-manager.js +100 -0
  285. package/lib/common/services/project-files-provider-base.js +54 -0
  286. package/lib/common/services/proxy-service.js +64 -0
  287. package/lib/common/services/qr.js +39 -0
  288. package/lib/common/services/settings-service.js +42 -0
  289. package/lib/common/services/xcode-select-service.js +62 -0
  290. package/lib/common/utils.js +31 -0
  291. package/lib/common/validators/project-name-validator.js +88 -0
  292. package/lib/common/validators/validation-result.js +16 -0
  293. package/lib/common/vendor/License.txt +4 -0
  294. package/lib/common/vendor/jaro-winkler_distance.js +111 -0
  295. package/lib/common/verify-node-version.js +78 -0
  296. package/lib/common/yok.js +426 -0
  297. package/lib/config.js +137 -0
  298. package/lib/constants-provider.js +12 -0
  299. package/lib/constants.js +350 -0
  300. package/lib/controllers/build-controller.js +133 -0
  301. package/lib/controllers/debug-controller.js +235 -0
  302. package/lib/controllers/deploy-controller.js +38 -0
  303. package/lib/controllers/migrate-controller.js +1114 -0
  304. package/lib/controllers/platform-controller.js +127 -0
  305. package/lib/controllers/prepare-controller.js +353 -0
  306. package/lib/controllers/run-controller.js +525 -0
  307. package/lib/controllers/update-controller-base.js +84 -0
  308. package/lib/controllers/update-controller.js +188 -0
  309. package/lib/data/build-data.js +44 -0
  310. package/lib/data/controller-data-base.js +11 -0
  311. package/lib/data/debug-data.js +6 -0
  312. package/lib/data/platform-data.js +13 -0
  313. package/lib/data/prepare-data.js +46 -0
  314. package/lib/data/run-data.js +11 -0
  315. package/lib/declarations.d.ts +1256 -0
  316. package/lib/definitions/android-bundle-tool-service.d.ts +17 -0
  317. package/lib/definitions/android-plugin-migrator.d.ts +52 -0
  318. package/lib/definitions/build.d.ts +92 -0
  319. package/lib/definitions/cleanup-service.d.ts +79 -0
  320. package/lib/definitions/data.d.ts +7 -0
  321. package/lib/definitions/debug.d.ts +166 -0
  322. package/lib/definitions/deploy.d.ts +3 -0
  323. package/lib/definitions/file-log-service.d.ts +19 -0
  324. package/lib/definitions/files-hash-service.d.ts +35 -0
  325. package/lib/definitions/gradle.d.ts +33 -0
  326. package/lib/definitions/hmr-status-service.d.ts +5 -0
  327. package/lib/definitions/initialize-service.d.ts +11 -0
  328. package/lib/definitions/ios-debugger-port-service.d.ts +29 -0
  329. package/lib/definitions/ios.d.ts +97 -0
  330. package/lib/definitions/ip-service.d.ts +10 -0
  331. package/lib/definitions/livesync-global.d.ts +7 -0
  332. package/lib/definitions/livesync.d.ts +601 -0
  333. package/lib/definitions/lock-service.d.ts +43 -0
  334. package/lib/definitions/log-parser-service.d.ts +14 -0
  335. package/lib/definitions/marking-mode-service.d.ts +11 -0
  336. package/lib/definitions/metadata-filtering-service.d.ts +48 -0
  337. package/lib/definitions/migrate.d.ts +46 -0
  338. package/lib/definitions/nativescript-dev-xcode.d.ts +87 -0
  339. package/lib/definitions/pacote-service.d.ts +50 -0
  340. package/lib/definitions/platform.d.ts +146 -0
  341. package/lib/definitions/plugins.d.ts +75 -0
  342. package/lib/definitions/prepare.d.ts +51 -0
  343. package/lib/definitions/project-changes.d.ts +34 -0
  344. package/lib/definitions/project.d.ts +858 -0
  345. package/lib/definitions/prompter.d.ts +27 -0
  346. package/lib/definitions/qr-code.d.ts +3 -0
  347. package/lib/definitions/require.d.ts +11 -0
  348. package/lib/definitions/run.d.ts +45 -0
  349. package/lib/definitions/start-service.d.ts +15 -0
  350. package/lib/definitions/subscription-service.d.ts +11 -0
  351. package/lib/definitions/system-warnings.d.ts +4 -0
  352. package/lib/definitions/temp-service.d.ts +9 -0
  353. package/lib/definitions/terminal-spinner-service.d.ts +12 -0
  354. package/lib/definitions/update.d.ts +16 -0
  355. package/lib/definitions/xcode.d.ts +12 -0
  356. package/lib/detached-processes/cleanup-js-subprocess.js +62 -0
  357. package/lib/detached-processes/cleanup-process-definitions.d.ts +70 -0
  358. package/lib/detached-processes/cleanup-process.js +281 -0
  359. package/lib/detached-processes/detached-process-enums.d.ts +70 -0
  360. package/lib/detached-processes/file-log-service.js +20 -0
  361. package/lib/device-path-provider.js +60 -0
  362. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +217 -0
  363. package/lib/device-sockets/ios/notification.js +30 -0
  364. package/lib/device-sockets/ios/socket-request-executor.js +56 -0
  365. package/lib/helpers/android-bundle-validator-helper.js +52 -0
  366. package/lib/helpers/deploy-command-helper.js +70 -0
  367. package/lib/helpers/key-command-helper.js +124 -0
  368. package/lib/helpers/livesync-command-helper.js +220 -0
  369. package/lib/helpers/network-connectivity-validator.js +47 -0
  370. package/lib/helpers/options-track-helper.js +88 -0
  371. package/lib/helpers/package-path-helper.js +6 -0
  372. package/lib/helpers/platform-command-helper.js +192 -0
  373. package/lib/helpers/version-validator-helper.js +25 -0
  374. package/lib/key-commands/bootstrap.js +21 -0
  375. package/lib/key-commands/index.js +456 -0
  376. package/lib/nativescript-cli-lib-bootstrap.js +8 -0
  377. package/lib/nativescript-cli-lib.js +5 -0
  378. package/lib/nativescript-cli.js +55 -0
  379. package/lib/node/pbxproj-dom-xcode.js +5 -0
  380. package/lib/node/xcode.js +7 -0
  381. package/lib/node-package-manager.js +156 -0
  382. package/lib/options.js +393 -0
  383. package/lib/package-installation-manager.js +221 -0
  384. package/lib/package-manager.js +184 -0
  385. package/lib/platform-command-param.js +29 -0
  386. package/lib/pnpm-package-manager.js +136 -0
  387. package/lib/project-data.js +237 -0
  388. package/lib/providers/project-files-provider.js +46 -0
  389. package/lib/resolvers/livesync-service-resolver.js +22 -0
  390. package/lib/services/analytics/analytics-broker-process.js +77 -0
  391. package/lib/services/analytics/analytics-broker.js +53 -0
  392. package/lib/services/analytics/analytics-service.js +366 -0
  393. package/lib/services/analytics/analytics.d.ts +55 -0
  394. package/lib/services/analytics/google-analytics-cross-client-custom-dimensions.d.ts +6 -0
  395. package/lib/services/analytics/google-analytics-provider.js +152 -0
  396. package/lib/services/analytics-settings-service.js +104 -0
  397. package/lib/services/android/android-bundle-tool-service.js +81 -0
  398. package/lib/services/android/gradle-build-args-service.js +87 -0
  399. package/lib/services/android/gradle-build-service.js +68 -0
  400. package/lib/services/android/gradle-command-service.js +49 -0
  401. package/lib/services/android-device-debug-service.js +173 -0
  402. package/lib/services/android-plugin-build-service.js +527 -0
  403. package/lib/services/android-project-service.js +600 -0
  404. package/lib/services/android-resources-migration-service.js +104 -0
  405. package/lib/services/apple-portal/apple-portal-application-service.js +82 -0
  406. package/lib/services/apple-portal/apple-portal-cookie-service.js +53 -0
  407. package/lib/services/apple-portal/apple-portal-session-service.js +277 -0
  408. package/lib/services/apple-portal/definitions.d.ts +87 -0
  409. package/lib/services/assets-generation/assets-generation-service.js +178 -0
  410. package/lib/services/build-artifacts-service.js +113 -0
  411. package/lib/services/build-data-service.js +20 -0
  412. package/lib/services/build-info-file-service.js +79 -0
  413. package/lib/services/cleanup-service.js +194 -0
  414. package/lib/services/cocoapods-platform-manager.js +137 -0
  415. package/lib/services/cocoapods-service.js +354 -0
  416. package/lib/services/debug-data-service.js +21 -0
  417. package/lib/services/debug-service-base.js +44 -0
  418. package/lib/services/device/device-install-app-service.js +118 -0
  419. package/lib/services/doctor-service.js +294 -0
  420. package/lib/services/extensibility-service.js +220 -0
  421. package/lib/services/files-hash-service.js +79 -0
  422. package/lib/services/hmr-status-service.js +128 -0
  423. package/lib/services/info-service.js +14 -0
  424. package/lib/services/initialize-service.js +70 -0
  425. package/lib/services/ios/export-options-plist-service.js +131 -0
  426. package/lib/services/ios/ios-signing-service.js +265 -0
  427. package/lib/services/ios/spm-service.js +78 -0
  428. package/lib/services/ios/xcodebuild-args-service.js +163 -0
  429. package/lib/services/ios/xcodebuild-command-service.js +40 -0
  430. package/lib/services/ios/xcodebuild-service.js +93 -0
  431. package/lib/services/ios-debugger-port-service.js +140 -0
  432. package/lib/services/ios-device-debug-service.js +167 -0
  433. package/lib/services/ios-entitlements-service.js +78 -0
  434. package/lib/services/ios-extensions-service.js +63 -0
  435. package/lib/services/ios-log-filter.js +70 -0
  436. package/lib/services/ios-native-target-service.js +108 -0
  437. package/lib/services/ios-project-service.js +851 -0
  438. package/lib/services/ios-provision-service.js +173 -0
  439. package/lib/services/ios-watch-app-service.js +76 -0
  440. package/lib/services/ip-service.js +78 -0
  441. package/lib/services/itmstransporter-service.js +216 -0
  442. package/lib/services/karma-execution.js +16 -0
  443. package/lib/services/livesync/android-device-livesync-service-base.js +68 -0
  444. package/lib/services/livesync/android-device-livesync-service.js +203 -0
  445. package/lib/services/livesync/android-device-livesync-sockets-service.js +198 -0
  446. package/lib/services/livesync/android-livesync-service.js +76 -0
  447. package/lib/services/livesync/android-livesync-tool.js +427 -0
  448. package/lib/services/livesync/android-livesync-tool.md +211 -0
  449. package/lib/services/livesync/device-livesync-service-base.js +69 -0
  450. package/lib/services/livesync/ios-device-livesync-service.js +218 -0
  451. package/lib/services/livesync/ios-livesync-service.js +95 -0
  452. package/lib/services/livesync/livesync-socket.js +14 -0
  453. package/lib/services/livesync/platform-livesync-service-base.js +180 -0
  454. package/lib/services/livesync-process-data-service.js +43 -0
  455. package/lib/services/log-parser-service.js +52 -0
  456. package/lib/services/log-source-map-service.js +235 -0
  457. package/lib/services/marking-mode-service.js +56 -0
  458. package/lib/services/metadata-filtering-service.js +105 -0
  459. package/lib/services/npm-config-service.js +39 -0
  460. package/lib/services/pacote-service.js +109 -0
  461. package/lib/services/performance-service.js +92 -0
  462. package/lib/services/platform/add-platform-service.js +119 -0
  463. package/lib/services/platform/platform-validation-service.js +85 -0
  464. package/lib/services/platform/prepare-native-platform-service.js +87 -0
  465. package/lib/services/platform-environment-requirements.js +87 -0
  466. package/lib/services/platform-project-service-base.js +32 -0
  467. package/lib/services/platforms-data-service.js +31 -0
  468. package/lib/services/plugins-service.js +477 -0
  469. package/lib/services/prepare-data-service.js +21 -0
  470. package/lib/services/project-backup-service.js +114 -0
  471. package/lib/services/project-changes-service.js +274 -0
  472. package/lib/services/project-cleanup-service.js +102 -0
  473. package/lib/services/project-config-service.js +335 -0
  474. package/lib/services/project-data-service.js +478 -0
  475. package/lib/services/project-name-service.js +67 -0
  476. package/lib/services/project-service.js +204 -0
  477. package/lib/services/project-templates-service.js +114 -0
  478. package/lib/services/qr-code-terminal-service.js +20 -0
  479. package/lib/services/require-service.js +11 -0
  480. package/lib/services/start-service.js +116 -0
  481. package/lib/services/temp-service.js +36 -0
  482. package/lib/services/terminal-spinner-service.js +38 -0
  483. package/lib/services/test-execution-service.js +154 -0
  484. package/lib/services/test-initialization-service.js +54 -0
  485. package/lib/services/timeline-profiler-service.js +108 -0
  486. package/lib/services/user-settings-service.js +34 -0
  487. package/lib/services/versions-service.js +196 -0
  488. package/lib/services/watch-ignore-list-service.js +20 -0
  489. package/lib/services/webpack/webpack-compiler-service.js +405 -0
  490. package/lib/services/webpack/webpack.d.ts +227 -0
  491. package/lib/services/xcconfig-service.js +76 -0
  492. package/lib/services/xcproj-service.js +11 -0
  493. package/lib/shared-event-bus.js +7 -0
  494. package/lib/sys-info.js +120 -0
  495. package/lib/tools/config-manipulation/config-transformer.js +201 -0
  496. package/lib/tools/node-modules/node-modules-builder.js +42 -0
  497. package/lib/tools/node-modules/node-modules-dependencies-builder.js +100 -0
  498. package/lib/yarn-package-manager.js +134 -0
  499. package/lib/yarn2-package-manager.js +143 -0
  500. package/package.json +192 -0
  501. package/postinstall.js +10 -0
  502. package/preuninstall.js +14 -0
  503. package/resources/assets/image-definitions.json +655 -0
  504. package/resources/test/example.jasmine.js +6 -0
  505. package/resources/test/example.jasmine.ts +6 -0
  506. package/resources/test/example.mocha.js +9 -0
  507. package/resources/test/example.mocha.ts +9 -0
  508. package/resources/test/example.qunit.js +7 -0
  509. package/resources/test/example.qunit.ts +7 -0
  510. package/resources/test/karma.conf.js +93 -0
  511. package/resources/test/test-main.js +9 -0
  512. package/resources/test/test-main.ts +11 -0
  513. package/resources/test/tsconfig.spec.json +9 -0
  514. package/setup/mac-startup-shell-script.sh +2 -0
  515. package/vendor/aab-tool/LICENSE +202 -0
  516. package/vendor/aab-tool/README.txt +1 -0
  517. package/vendor/aab-tool/bundletool.jar +0 -0
  518. package/vendor/gradle-app/app/build.gradle +1054 -0
  519. package/vendor/gradle-app/app/gradle-helpers/AnalyticsCollector.gradle +48 -0
  520. package/vendor/gradle-app/app/gradle-helpers/BuildToolTask.gradle +50 -0
  521. package/vendor/gradle-app/app/gradle-helpers/CustomExecutionLogger.gradle +52 -0
  522. package/vendor/gradle-app/build.gradle +170 -0
  523. package/vendor/gradle-app/settings.gradle +78 -0
  524. package/vendor/gradle-plugin/LICENSE +995 -0
  525. package/vendor/gradle-plugin/build.gradle +363 -0
  526. package/vendor/gradle-plugin/gradle/wrapper/gradle-wrapper.jar +0 -0
  527. package/vendor/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +6 -0
  528. package/vendor/gradle-plugin/gradle.properties +6 -0
  529. package/vendor/gradle-plugin/gradlew +172 -0
  530. package/vendor/gradle-plugin/gradlew.bat +84 -0
  531. package/vendor/gradle-plugin/settings.gradle +45 -0
@@ -0,0 +1,1256 @@
1
+ import { IProjectData, IBuildConfig } from "./definitions/project";
2
+ import { IBuildData } from "./definitions/build";
3
+ import {
4
+ IRelease,
5
+ IDeviceIdentifier,
6
+ IJustLaunch,
7
+ IAvd,
8
+ IAvailableDevices,
9
+ IProfileDir,
10
+ IHasEmulatorOption,
11
+ IYargArgv,
12
+ IDashedOption,
13
+ IDictionary,
14
+ IProjectDir,
15
+ ICredentials,
16
+ IVersionInformation,
17
+ IVersionData,
18
+ IStringDictionary,
19
+ } from "./common/declarations";
20
+ import { IExtensionData } from "./common/definitions/extensibility";
21
+ import { IApplePortalUserDetail } from "./services/apple-portal/definitions";
22
+
23
+ interface INodePackageManager {
24
+ /**
25
+ * Installs dependency
26
+ * @param {string} packageName The name of the dependency - can be a path, a url or a string.
27
+ * @param {string} pathToSave The destination of the installation.
28
+ * @param {INodePackageManagerInstallOptions} config Additional options that can be passed to manipulate installation.
29
+ * @return {Promise<INpmInstallResultInfo>} Information about installed package.
30
+ */
31
+ install(
32
+ packageName: string,
33
+ pathToSave: string,
34
+ config: INodePackageManagerInstallOptions
35
+ ): Promise<INpmInstallResultInfo>;
36
+
37
+ /**
38
+ * Uninstalls a dependency
39
+ * @param {string} packageName The name of the dependency.
40
+ * @param {IDictionary<string | boolean>} config Additional options that can be passed to manipulate uninstallation.
41
+ * @param {string} path The destination of the uninstallation.
42
+ * @return {Promise<string>} The output of the uninstallation.
43
+ */
44
+ uninstall(
45
+ packageName: string,
46
+ config?: IDictionary<string | boolean>,
47
+ path?: string
48
+ ): Promise<string>;
49
+
50
+ /**
51
+ * Provides information about a given package.
52
+ * @param {string} packageName The name of the package.
53
+ * @param {IDictionary<string | boolean>} config Additional options that can be passed to manipulate view.
54
+ * @return {Promise<any>} Object, containing information about the package.
55
+ */
56
+ view(packageName: string, config: Object): Promise<any>;
57
+
58
+ /**
59
+ * Checks if the specified string is name of a packaged published in the NPM registry.
60
+ * @param {string} packageName The string to be checked.
61
+ * @return {Promise<boolean>} True if the specified string is a registered package name, false otherwise.
62
+ */
63
+ isRegistered(packageName: string): Promise<boolean>;
64
+
65
+ /**
66
+ * Separates the package name and version from a specified fullPackageName.
67
+ * @param {string} fullPackageName The full name of the package like nativescript@10.0.0.
68
+ * @return {INpmPackageNameParts} An object containing the separated package name and version.
69
+ */
70
+ getPackageNameParts(fullPackageName: string): Promise<INpmPackageNameParts>;
71
+
72
+ /**
73
+ * Returns the full name of an npm package based on the provided name and version.
74
+ * @param {INpmPackageNameParts} packageNameParts An object containing the package name and version.
75
+ * @return {string} The full name of the package like nativescript@10.0.0.
76
+ */
77
+ getPackageFullName(packageNameParts: INpmPackageNameParts): Promise<string>;
78
+
79
+ /**
80
+ * Searches for a package.
81
+ * @param {string[]} filter Keywords with which to perform the search.
82
+ * @param {IDictionary<string | boolean>} config Additional options that can be passed to manipulate search.
83
+ * @return {Promise<string>} The output of the uninstallation.
84
+ */
85
+ search(
86
+ filter: string[],
87
+ config: IDictionary<string | boolean>
88
+ ): Promise<string>;
89
+
90
+ /**
91
+ * Searches for npm packages in npms by keyword.
92
+ * @param {string} keyword The keyword based on which the search action will be executed.
93
+ * @returns {INpmsResult} The information about found npm packages.
94
+ */
95
+ searchNpms(keyword: string): Promise<INpmsResult>;
96
+
97
+ /**
98
+ * Gets information for a specified package from registry.npmjs.org.
99
+ * @param {string} packageName The name of the package.
100
+ * @returns {any} The full data from registry.npmjs.org for this package.
101
+ */
102
+ getRegistryPackageData(packageName: string): Promise<any>;
103
+
104
+ /**
105
+ * Gets the path to npm cache directory.
106
+ * @returns {string} The full path to npm cache directory
107
+ */
108
+ getCachePath(): Promise<string>;
109
+ }
110
+
111
+ interface IPackageManager extends INodePackageManager {
112
+ /**
113
+ * Gets the name of the package manager used for the current process.
114
+ * It can be read from the user settings or by passing -- option.
115
+ */
116
+ getPackageManagerName(): Promise<string>;
117
+
118
+ /**
119
+ * Gets the version corresponding to the tag for the package
120
+ * @param {string} packageName The name of the package.
121
+ * @param {string} tag The tag which we need the version of.
122
+ * @returns {string} The version corresponding to the tag
123
+ */
124
+ getTagVersion(packageName: string, tag: string): Promise<string>;
125
+ }
126
+
127
+ interface IPerformanceService {
128
+ // Will process the data based on the command options (--performance flag and user-reporting setting)
129
+ processExecutionData(
130
+ methodInfo: string,
131
+ startTime: number,
132
+ endTime: number,
133
+ args: any[]
134
+ ): void;
135
+
136
+ // Will return a reference time in milliseconds
137
+ now(): number;
138
+ }
139
+
140
+ interface IPackageInstallationManager {
141
+ install(
142
+ packageName: string,
143
+ packageDir: string,
144
+ options?: INpmInstallOptions
145
+ ): Promise<any>;
146
+ uninstall(
147
+ packageName: string,
148
+ packageDir: string,
149
+ options?: IDictionary<string | boolean>
150
+ ): Promise<any>;
151
+ getLatestVersion(packageName: string): Promise<string>;
152
+ getNextVersion(packageName: string): Promise<string>;
153
+ getLatestCompatibleVersion(
154
+ packageName: string,
155
+ referenceVersion?: string
156
+ ): Promise<string>;
157
+ getMaxSatisfyingVersion(
158
+ packageName: string,
159
+ versionRange: string
160
+ ): Promise<string>;
161
+ getLatestCompatibleVersionSafe(
162
+ packageName: string,
163
+ referenceVersion?: string
164
+ ): Promise<string>;
165
+ getInspectorFromCache(
166
+ inspectorNpmPackageName: string,
167
+ projectDir: string
168
+ ): Promise<string>;
169
+ clearInspectorCache(): void;
170
+ getInstalledDependencyVersion(
171
+ packageName: string,
172
+ projectDir?: string
173
+ ): Promise<string>;
174
+ getMaxSatisfyingVersionSafe(
175
+ packageName: string,
176
+ versionIdentifier: string
177
+ ): Promise<string>;
178
+ }
179
+
180
+ /**
181
+ * Describes options that can be passed to manipulate package installation.
182
+ */
183
+ interface INodePackageManagerInstallOptions
184
+ extends INpmInstallConfigurationOptions,
185
+ IDictionary<string | boolean> {
186
+ /**
187
+ * Destination of the installation.
188
+ * @type {string}
189
+ * @optional
190
+ */
191
+ path?: string;
192
+ }
193
+
194
+ /**
195
+ * Describes information about dependency packages.
196
+ */
197
+ interface INpmDependencyInfo {
198
+ /**
199
+ * Dependency name.
200
+ */
201
+ [key: string]: {
202
+ /**
203
+ * Dependency version.
204
+ * @type {string}
205
+ */
206
+ version: string;
207
+ /**
208
+ * How was the dependency resolved. For example: lodash@latest or underscore@>=1.8.3 <2.0.0
209
+ * @type {string}
210
+ */
211
+ from: string;
212
+ /**
213
+ * Where was the dependency resolved from. For example: https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz
214
+ * @type {string}
215
+ */
216
+ resolved: string;
217
+ /**
218
+ * Dependencies of the dependency.
219
+ * @type {INpmDependencyInfo}
220
+ */
221
+ dependencies?: INpmDependencyInfo;
222
+ /**
223
+ * Set to true when the dependency is invalid.
224
+ * @type {boolean}
225
+ */
226
+ invalid?: boolean;
227
+ /**
228
+ * If invalid is set to true this will contain errors which make the dependency invalid.
229
+ */
230
+ problems?: string[];
231
+ };
232
+ }
233
+
234
+ /**
235
+ * Describes information about peer dependency packages.
236
+ */
237
+ interface INpmPeerDependencyInfo {
238
+ required: {
239
+ /**
240
+ * Id used in package.json - for example: zone.js@^0.8.4
241
+ * @type {string}
242
+ */
243
+ _id: string;
244
+ /**
245
+ * Dependency name.
246
+ * @type {string}
247
+ */
248
+ name: string;
249
+ /**
250
+ * Dependency version.
251
+ * @type {string}
252
+ */
253
+ version: string;
254
+ /**
255
+ * If peerMissing below is set to true this will contain information about missing peers.
256
+ */
257
+ peerMissing?: [
258
+ {
259
+ /**
260
+ * The id of the package which requires the unmet peer dependency.
261
+ * @type {string}
262
+ */
263
+ requiredBy: string;
264
+ /**
265
+ * The id of the unmet peer dependency.
266
+ * @type {string}
267
+ */
268
+ requires: string;
269
+ }
270
+ ];
271
+ /**
272
+ * Dependencies of the dependency.
273
+ * @type {INpmDependencyInfo}
274
+ */
275
+ dependencies: INpmDependencyInfo;
276
+ /**
277
+ * Whether the dependency was found or not.
278
+ * @type {boolean}
279
+ */
280
+ _found: boolean;
281
+ };
282
+ /**
283
+ * Set to true if peer dependency unmet.
284
+ * @type {boolean}
285
+ */
286
+ peerMissing: boolean;
287
+ }
288
+
289
+ /**
290
+ * Describes information about dependency update packages.
291
+ */
292
+ interface INpm5DependencyInfo {
293
+ /**
294
+ * Npm action type.
295
+ * @type {string}
296
+ */
297
+ action: string;
298
+ /**
299
+ * Dependency name.
300
+ * @type {string}
301
+ */
302
+ name: string;
303
+ /**
304
+ * Dependency version.
305
+ * @type {string}
306
+ */
307
+ version: string;
308
+ /**
309
+ * Destination of the installation.
310
+ * @type {string}
311
+ */
312
+ path: string;
313
+ /**
314
+ * Dependency previous version.
315
+ * @type {string}
316
+ */
317
+ previousVersion: string;
318
+ }
319
+
320
+ /**
321
+ * Describes information returned by the npm CLI upon calling install with --json flag.
322
+ */
323
+ interface INpmInstallCLIResult {
324
+ /**
325
+ * The name of the destination package. Note that this is not the installed package.
326
+ * @type {string}
327
+ */
328
+ name: string;
329
+ /**
330
+ * The version of the destination package. Note that this is not the installed package.
331
+ * @type {string}
332
+ */
333
+ version: string;
334
+ /**
335
+ * Installed dependencies. Note that whenever installing a particular dependency it is listed as the first key and after it any number of peer dependencies may follow.
336
+ * Whenever installing npm prints the information by reversing the tree of operations and because the initial dependency was installed last it is listed first.
337
+ * @type {INpmDependencyInfo | INpmPeerDependencyInfo}
338
+ */
339
+ dependencies: INpmDependencyInfo | INpmPeerDependencyInfo;
340
+ /**
341
+ * Describes problems that might have occurred during installation. For example missing peer dependencies.
342
+ */
343
+ problems?: string[];
344
+ }
345
+
346
+ /**
347
+ * Describes information returned by the npm 5 CLI upon calling install with --json flag.
348
+ */
349
+ interface INpm5InstallCliResult {
350
+ /**
351
+ * Added dependencies. Note that whenever add a particular dependency with npm 5 it is listed inside of array with key "Added".
352
+ * @type {INpm5DependencyInfo[]}
353
+ */
354
+ added: INpm5DependencyInfo[];
355
+ /**
356
+ * Removed dependencies. Note that whenever remove a particular dependency with npm 5 it is listed inside of array with key "removed".
357
+ * @type {INpm5DependencyInfo[]}
358
+ */
359
+ removed: INpm5DependencyInfo[];
360
+ /**
361
+ * Updated dependencies. Note that whenever update a particular dependency with npm 5 it is listed inside of array with key "updated".
362
+ * @type {INpm5DependencyInfo[]}
363
+ */
364
+ updated: INpm5DependencyInfo[];
365
+ /**
366
+ * Moved dependencies. Note that whenever move a particular dependency with npm 5 it is listed inside of array with key "moved".
367
+ * @type {INpm5DependencyInfo[]}
368
+ */
369
+ moved: INpm5DependencyInfo[];
370
+ /**
371
+ * Failed dependencies. Note that whenever use npm 5 and the operation over particular dependency fail it is listed inside of array with key "failed".
372
+ * @type {INpm5DependencyInfo[]}
373
+ */
374
+ failed: INpm5DependencyInfo[];
375
+ /**
376
+ * Warnings. Note that whenever use npm 5 and the operation over particular dependency have warnings they are listed inside of array with key "warnings".
377
+ * @type {INpm5DependencyInfo[]}
378
+ */
379
+ warnings: INpm5DependencyInfo[];
380
+ /**
381
+ * Time elapsed.
382
+ * @type {Number}
383
+ */
384
+ elapsed: Number;
385
+ }
386
+
387
+ /**
388
+ * Describes information about installed package.
389
+ */
390
+ interface INpmInstallResultInfo {
391
+ /**
392
+ * Installed package's name.
393
+ * @type {string}
394
+ */
395
+ name: string;
396
+ /**
397
+ * Installed package's version.
398
+ * @type {string}
399
+ */
400
+ version: string;
401
+ /**
402
+ * The original output that npm CLI produced upon installation.
403
+ * @type {INpmInstallCLIResult}
404
+ */
405
+ originalOutput?: INpmInstallCLIResult | INpm5InstallCliResult;
406
+ }
407
+
408
+ interface INpmInstallOptions {
409
+ pathToSave?: string;
410
+ version?: string;
411
+ dependencyType?: string;
412
+ }
413
+
414
+ /**
415
+ * Describes npm package installed in node_modules.
416
+ */
417
+ interface IDependencyData {
418
+ /**
419
+ * The name of the package.
420
+ */
421
+ name: string;
422
+
423
+ /**
424
+ * The full path where the package is installed.
425
+ */
426
+ directory: string;
427
+
428
+ /**
429
+ * The depth inside node_modules dir, where the package is located.
430
+ * The <project_dir>/node_modules/ is level 0.
431
+ * Level 1 is <project dir>/node_modules/<package name>/node_modules, etc.
432
+ */
433
+ depth: number;
434
+
435
+ /**
436
+ * Describes the `nativescript` key in package.json of a dependency.
437
+ */
438
+ nativescript?: any;
439
+
440
+ /**
441
+ * Dependencies of the current module.
442
+ */
443
+ dependencies?: string[];
444
+
445
+ version: string;
446
+ }
447
+
448
+ interface INpmsResult {
449
+ total: number;
450
+ results: INpmsSingleResultData[];
451
+ }
452
+
453
+ interface INpmsSingleResultData {
454
+ package: INpmsPackageData;
455
+ flags: INpmsFlags;
456
+ score: INpmsScore;
457
+ searchScore: number;
458
+ }
459
+
460
+ interface INpmsPackageData {
461
+ name: string;
462
+ // unscoped in case package is not in a scope
463
+ // scope name in case part of a scope "angular" for example for @angular/core
464
+ scope: string;
465
+ version: string;
466
+ description: string;
467
+ keywords: string[];
468
+ date: string;
469
+ links: { npm: string };
470
+ author: { name: string };
471
+ publisher: INpmsUser;
472
+ maintainers: INpmsUser[];
473
+ }
474
+
475
+ interface INpmPackageNameParts {
476
+ name: string;
477
+ version: string;
478
+ }
479
+
480
+ interface IUsername {
481
+ username: string;
482
+ }
483
+
484
+ interface INpmsUser extends IUsername {
485
+ email: string;
486
+ }
487
+
488
+ interface INpmsFlags {
489
+ unstable: boolean;
490
+ insecure: number;
491
+ // Describes the reason for deprecation.
492
+ deprecated: string;
493
+ }
494
+
495
+ interface INpmsScore {
496
+ final: number;
497
+ detail: {
498
+ quality: number;
499
+ popularity: number;
500
+ maintenance: number;
501
+ };
502
+ }
503
+
504
+ interface IStaticConfig extends Config.IStaticConfig {}
505
+
506
+ interface IConfiguration extends Config.IConfig {
507
+ ANDROID_DEBUG_UI: string;
508
+ USE_POD_SANDBOX: boolean;
509
+ GA_TRACKING_ID: string;
510
+ }
511
+
512
+ interface IApplicationPackage {
513
+ packageName: string;
514
+ time: Date;
515
+ }
516
+
517
+ interface IOpener {
518
+ open(target: string, appName: string): void;
519
+ }
520
+
521
+ interface IBundleString {
522
+ bundle: string;
523
+ }
524
+
525
+ interface IClean {
526
+ clean: boolean;
527
+ }
528
+
529
+ interface IProvision {
530
+ provision: string;
531
+ }
532
+
533
+ interface IProvisioningJSON {
534
+ [identifier: string]: string;
535
+ }
536
+
537
+ interface ITeamIdentifier {
538
+ teamId: string;
539
+ }
540
+
541
+ interface IAndroidReleaseOptions {
542
+ keyStoreAlias?: string;
543
+ keyStoreAliasPassword?: string;
544
+ keyStorePassword?: string;
545
+ keyStorePath?: string;
546
+ }
547
+
548
+ interface INpmInstallConfigurationOptionsBase {
549
+ frameworkPath: string;
550
+ ignoreScripts: boolean; //npm flag
551
+ }
552
+
553
+ interface INpmInstallConfigurationOptions
554
+ extends INpmInstallConfigurationOptionsBase {
555
+ disableNpmInstall: boolean;
556
+ }
557
+
558
+ interface IGenerateOptions {
559
+ collection?: string;
560
+ }
561
+
562
+ interface IDebugInformation extends IPort, Mobile.IDeviceIdentifier {
563
+ url: string;
564
+ }
565
+
566
+ interface IPort {
567
+ port: Number;
568
+ }
569
+
570
+ interface IPluginSeedOptions {
571
+ username: string;
572
+ pluginName: string;
573
+ includeTypeScriptDemo: string;
574
+ includeAngularDemo: string;
575
+ }
576
+
577
+ interface IAndroidBundleOptions {
578
+ aab: boolean;
579
+ }
580
+
581
+ interface IAndroidOptions {
582
+ gradleArgs: string[];
583
+ gradleFlavor: string;
584
+ gradlePath: string;
585
+ gradleArgs: string[];
586
+ overrideRuntimeGradleFiles: boolean;
587
+ }
588
+
589
+ interface ITypingsOptions {
590
+ jar: string;
591
+ aar: string;
592
+ filter: string;
593
+ }
594
+
595
+ interface IOptions
596
+ extends IRelease,
597
+ IDeviceIdentifier,
598
+ IJustLaunch,
599
+ IAvd,
600
+ IAvailableDevices,
601
+ IProfileDir,
602
+ IHasEmulatorOption,
603
+ IBundleString,
604
+ IHasEmulatorOption,
605
+ IClean,
606
+ IProvision,
607
+ ITeamIdentifier,
608
+ IAndroidOptions,
609
+ IAndroidReleaseOptions,
610
+ IAndroidBundleOptions,
611
+ INpmInstallConfigurationOptions,
612
+ IPort,
613
+ IEnvOptions,
614
+ IPluginSeedOptions,
615
+ IGenerateOptions,
616
+ ITypingsOptions {
617
+ argv: IYargArgv;
618
+ validateOptions(
619
+ commandSpecificDashedOptions?: IDictionary<IDashedOption>,
620
+ projectData?: IProjectData
621
+ ): void;
622
+ options: IDictionary<IDashedOption>;
623
+ shorthands: string[];
624
+ /**
625
+ * Project Configuration
626
+ */
627
+ log: string;
628
+ verbose: boolean;
629
+ path: string;
630
+ config: string;
631
+ version: boolean;
632
+ help: boolean;
633
+ json: boolean;
634
+ watch: boolean;
635
+ timeout: string;
636
+ appid: string;
637
+ geny: string;
638
+ debugBrk: boolean;
639
+ debugPort: number;
640
+ start: boolean;
641
+ stop: boolean;
642
+ ddi: string; // the path to developer disk image
643
+ insecure: boolean;
644
+ skipRefresh: boolean;
645
+ file: string;
646
+ analyticsClient: string;
647
+ analyticsLogFile: string;
648
+ disableAnalytics: boolean;
649
+ force: boolean;
650
+ sdk: string;
651
+ template: string;
652
+ certificate: string;
653
+ certificatePassword: string;
654
+ var: Object;
655
+ default: Boolean;
656
+ count: number;
657
+ hooks: boolean;
658
+ debug: boolean;
659
+ all: boolean;
660
+ client: boolean;
661
+ compileSdk: number;
662
+ copyTo: string;
663
+ debugTransport: boolean;
664
+ forDevice: boolean;
665
+ iCloudContainerEnvironment: string;
666
+ framework: string;
667
+ frameworkName: string;
668
+ frameworkVersion: string;
669
+ yarn: string;
670
+ yarn2: string;
671
+ pnpm: string;
672
+ ipa: string;
673
+ tsc: boolean;
674
+ ts: boolean;
675
+ typescript: boolean;
676
+ ng: boolean;
677
+ angular: boolean;
678
+ react: boolean;
679
+ solid: boolean;
680
+ svelte: boolean;
681
+ vue: boolean;
682
+ vuejs: boolean;
683
+ js: boolean;
684
+ vision: boolean;
685
+ "vision-ng": boolean;
686
+ "vision-react": boolean;
687
+ "vision-solid": boolean;
688
+ "vision-svelte": boolean;
689
+ "vision-vue": boolean;
690
+ javascript: boolean;
691
+ androidTypings: boolean;
692
+ production: boolean; //npm flag
693
+ chrome: boolean;
694
+ inspector: boolean; // the counterpart to --chrome
695
+ background: string;
696
+ hmr: boolean;
697
+ link: boolean;
698
+ performance: Object;
699
+ cleanupLogFile: string;
700
+ appleApplicationSpecificPassword: string;
701
+ appleSessionBase64: string;
702
+ markingMode: boolean;
703
+ git: boolean;
704
+ dryRun: boolean;
705
+
706
+ platformOverride: string;
707
+ }
708
+
709
+ interface IEnvOptions {
710
+ env: any;
711
+ }
712
+
713
+ interface IAndroidBuildOptionsSettings
714
+ extends IAndroidReleaseOptions,
715
+ IRelease,
716
+ Partial<IHasAndroidBundle> {}
717
+
718
+ interface IHasAndroidBundle {
719
+ androidBundle: boolean;
720
+ }
721
+
722
+ interface IPlatformBuildData
723
+ extends IRelease,
724
+ IHasUseHotModuleReloadOption,
725
+ IBuildConfig,
726
+ IEnvOptions {}
727
+
728
+ interface IDeviceEmulator extends IHasEmulatorOption, IDeviceIdentifier {}
729
+
730
+ interface IRunPlatformOptions extends IJustLaunch, IDeviceEmulator {}
731
+
732
+ interface IDeployPlatformOptions
733
+ extends IAndroidReleaseOptions,
734
+ IRelease,
735
+ IClean,
736
+ IDeviceEmulator,
737
+ IProvision,
738
+ ITeamIdentifier,
739
+ IProjectDir {
740
+ forceInstall?: boolean;
741
+ }
742
+
743
+ interface IUpdatePlatformOptions {
744
+ currentVersion: string;
745
+ newVersion: string;
746
+ }
747
+
748
+ interface IInfoService {
749
+ printComponentsInfo(): Promise<void>;
750
+ }
751
+
752
+ interface IAndroidResourcesMigrationService {
753
+ canMigrate(platformString: string): boolean;
754
+ hasMigrated(appResourcesDir: string): boolean;
755
+ migrate(appResourcesDir: string, backupLocation?: string): Promise<void>;
756
+ }
757
+
758
+ /**
759
+ * Describes properties needed for uploading a package to iTunes Connect
760
+ */
761
+ interface IITMSData {
762
+ credentials: ICredentials;
763
+
764
+ user: IApplePortalUserDetail;
765
+
766
+ applicationSpecificPassword: string;
767
+ /**
768
+ * Path to a .ipa file which will be uploaded.
769
+ * @type {string}
770
+ */
771
+ ipaFilePath: string;
772
+
773
+ /**
774
+ * Specify if the service should extract the `.ipa` file into `temp` directory in order to get bundleIdentifier from info.plist
775
+ */
776
+ shouldExtractIpa: boolean;
777
+ /**
778
+ * Specifies whether the logging level of the itmstransporter command-line tool should be set to verbose.
779
+ * @type {string}
780
+ */
781
+ verboseLogging?: boolean;
782
+ /**
783
+ * Specifies the team id
784
+ * @type {string}
785
+ */
786
+ teamId?: string;
787
+ }
788
+
789
+ /**
790
+ * Used for communicating with Xcode iTMS Transporter tool.
791
+ */
792
+ interface IITMSTransporterService {
793
+ validate(appSpecificPassword?: string): Promise<void>;
794
+ /**
795
+ * Uploads an .ipa package to iTunes Connect.
796
+ * @param {IITMSData} data Data needed to upload the package
797
+ * @return {Promise<void>}
798
+ */
799
+ upload(data: IITMSData): Promise<void>;
800
+ }
801
+
802
+ /**
803
+ * Provides access to information about installed Android tools and SDKs versions.
804
+ */
805
+ interface IAndroidToolsInfo {
806
+ /**
807
+ * Provides information about installed Android SDKs, Build Tools, Support Library
808
+ * and ANDROID_HOME environment variable.
809
+ * @param {IProjectDir} config Object with a single property - projectDir. This is the root directory where NativeScript project is located.
810
+ * @return {IAndroidToolsInfoData} Information about installed Android Tools and SDKs.
811
+ */
812
+ getToolsInfo(config?: IProjectDir): IAndroidToolsInfoData;
813
+
814
+ /**
815
+ * Validates the information about required Android tools and SDK versions.
816
+ * @param {any} options Defines if the warning messages should treated as error and if the targetSdk value should be validated as well.
817
+ * @return {boolean} True if there are detected issues, false otherwise.
818
+ */
819
+ validateInfo(options?: IAndroidToolsInfoValidateInput): boolean;
820
+
821
+ /**
822
+ * Validates the information about required JAVA version.
823
+ * @param {string} installedJavaVersion The JAVA version that will be checked.
824
+ * @param {any} options Defines if the warning messages should treated as error.
825
+ * @return {boolean} True if there are detected issues, false otherwise.
826
+ */
827
+ validateJavacVersion(
828
+ installedJavaVersion: string,
829
+ options?: IAndroidToolsInfoOptions
830
+ ): boolean;
831
+
832
+ /**
833
+ * Validates if ANDROID_HOME environment variable is set correctly.
834
+ * @param {any} options Defines if the warning messages should treated as error.
835
+ * @returns {boolean} true in case ANDROID_HOME is correctly set, false otherwise.
836
+ */
837
+ validateAndroidHomeEnvVariable(options?: IAndroidToolsInfoOptions): boolean;
838
+
839
+ /**
840
+ * Validates target sdk
841
+ * @param {IAndroidToolsInfoOptions} options @optional Defines if the warning messages should treated as error.
842
+ * @returns {boolean} True if there are detected issues, false otherwise
843
+ */
844
+ validateTargetSdk(options?: IAndroidToolsInfoOptions): boolean;
845
+
846
+ /**
847
+ * Gets the path to `adb` executable from ANDROID_HOME. It should be `$ANDROID_HOME/platform-tools/adb` in case it exists.
848
+ * @return {string} Path to the `adb` executable. In case it does not exists, null is returned.
849
+ */
850
+ getPathToAdbFromAndroidHome(): Promise<string>;
851
+ }
852
+
853
+ /**
854
+ * Describes information about installed Android tools and SDKs.
855
+ */
856
+ interface IAndroidToolsInfoData
857
+ extends NativeScriptDoctor.IAndroidToolsInfoData {
858
+ /**
859
+ * The value of ANDROID_HOME environment variable.
860
+ */
861
+ androidHomeEnvVar: string;
862
+
863
+ /**
864
+ * The latest installed version of Android Build Tools that satisfies CLI's requirements.
865
+ */
866
+ buildToolsVersion: string;
867
+
868
+ /**
869
+ * The latest installed version of Android SDK that satisfies CLI's requirements.
870
+ */
871
+ compileSdkVersion: number;
872
+
873
+ /**
874
+ * The Android targetSdkVersion specified by the user.
875
+ * In case it is not specified, compileSdkVersion will be used for targetSdkVersion.
876
+ */
877
+ targetSdkVersion: number;
878
+
879
+ /**
880
+ * Whether or not `.d.ts` typings should be generated for compileSdk. Experimental feature
881
+ */
882
+ generateTypings: boolean;
883
+ }
884
+
885
+ /**
886
+ * Describes options that can be passed to methods from IAndroidToolsInfo interface
887
+ */
888
+ interface IAndroidToolsInfoOptions extends Partial<IProjectDir> {
889
+ /**
890
+ * Defines if the warning messages should treated as error.
891
+ */
892
+ showWarningsAsErrors?: boolean;
893
+ }
894
+
895
+ interface IAndroidToolsInfoValidateInput extends IAndroidToolsInfoOptions {
896
+ /**
897
+ * Defines if the targetSdk value should be validated.
898
+ */
899
+ validateTargetSdk: boolean;
900
+ }
901
+
902
+ interface IAppDebugSocketProxyFactory extends NodeJS.EventEmitter {
903
+ getTCPSocketProxy(deviceIdentifier: string, appId: string): any;
904
+ addTCPSocketProxy(
905
+ device: Mobile.IiOSDevice,
906
+ appId: string,
907
+ projectName: string,
908
+ projectDir: string
909
+ ): Promise<any>;
910
+
911
+ ensureWebSocketProxy(
912
+ device: Mobile.IiOSDevice,
913
+ appId: string,
914
+ projectName: string,
915
+ projectDir: string
916
+ ): Promise<any>;
917
+
918
+ removeAllProxies(): void;
919
+ }
920
+
921
+ // tslint:disable-next-line:interface-name
922
+ interface IiOSNotification extends NodeJS.EventEmitter {
923
+ getAttachRequest(appId: string, deviceId: string): string;
924
+ getReadyForAttach(appId: string): string;
925
+ getRefreshRequest(appId: string): string;
926
+ getAppRefreshStarted(appId: string): string;
927
+ }
928
+
929
+ // tslint:disable-next-line:interface-name
930
+ interface IiOSSocketRequestExecutor {
931
+ executeAttachRequest(
932
+ device: Mobile.IiOSDevice,
933
+ timeout: number,
934
+ projectId: string
935
+ ): Promise<void>;
936
+ executeRefreshRequest(
937
+ device: Mobile.IiOSDevice,
938
+ timeout: number,
939
+ appId: string
940
+ ): Promise<boolean>;
941
+ }
942
+
943
+ /**
944
+ * Describes methods for working with versions.
945
+ */
946
+ interface IVersionsService {
947
+ /**
948
+ * Gets version information about nativescript-cli.
949
+ * @return {Promise<IVersionInformation>} The version information.
950
+ */
951
+ getNativescriptCliVersion(): Promise<IVersionInformation>;
952
+
953
+ /**
954
+ * Gets version information about tns-core-modules and @nativescript/core packages.
955
+ * @return {Promise<IVersionInformation[]>} The version information.
956
+ */
957
+ getTnsCoreModulesVersion(): Promise<IVersionInformation[]>;
958
+
959
+ /**
960
+ * Gets versions information about nativescript runtimes.
961
+ * @return {Promise<IVersionInformation[]>} The version information.
962
+ */
963
+ getRuntimesVersions(platform?: string): Promise<IVersionInformation[]>;
964
+
965
+ /**
966
+ * Gets versions information about all nativescript components.
967
+ * @return {Promise<IVersionInformation[]>} The version information.
968
+ */
969
+ getAllComponentsVersions(platform?: string): Promise<IVersionInformation[]>;
970
+
971
+ /**
972
+ * Checks version information about the nativescript components and prints versions information.
973
+ * @return {Promise<void>}
974
+ */
975
+ printVersionsInformation(platform?: string): Promise<void>;
976
+ }
977
+
978
+ /**
979
+ * Describes methods for project name.
980
+ */
981
+ interface IProjectNameService {
982
+ /**
983
+ * Ensures the passed project name is valid. If the project name is not valid prompts for actions.
984
+ * @param {string} projectName project name to be checked.
985
+ * @param {IOptions} validateOptions current command options.
986
+ * @return {Promise<string>} returns the selected name of the project.
987
+ */
988
+ ensureValidName(
989
+ projectName: string,
990
+ validateOptions?: { force: boolean }
991
+ ): Promise<string>;
992
+ }
993
+
994
+ /**
995
+ * Describes options that can be passed to xcprojService.verifyXcproj method.
996
+ */
997
+ interface IVerifyXcprojOptions {
998
+ /**
999
+ * Whether to fail with error message or not
1000
+ */
1001
+ shouldFail: boolean;
1002
+ }
1003
+
1004
+ /**
1005
+ * Designed for getting information about xcproj.
1006
+ */
1007
+ interface IXcprojService {
1008
+ /**
1009
+ * Returns the path to the xcodeproj file
1010
+ * @param projectData Information about the project.
1011
+ * @param projectRoot The root folder of native project.
1012
+ * @return {string} The full path to the xcodeproj
1013
+ */
1014
+ getXcodeprojPath(projectData: IProjectData, projectRoot: string): string;
1015
+ }
1016
+
1017
+ /**
1018
+ * Describes information about xcproj brew formula.
1019
+ */
1020
+ interface IXcprojInfo {
1021
+ /**
1022
+ * determines whether the system needs xcproj to execute ios builds successfully
1023
+ */
1024
+ shouldUseXcproj: boolean;
1025
+ /**
1026
+ * pod version string, as returned by `pod --version`
1027
+ */
1028
+ cocoapodVer: string;
1029
+ /**
1030
+ * Xcode version
1031
+ */
1032
+ xcodeVersion: IVersionData;
1033
+ /**
1034
+ * determines whether xcproj can be called from the command line
1035
+ */
1036
+ xcprojAvailable: boolean;
1037
+ }
1038
+
1039
+ interface IXcconfigService {
1040
+ /**
1041
+ * Returns the paths to the xcconfig files for build configuration (debug/release)
1042
+ * @param projectRoot The path to root folder of native project (platforms/ios)
1043
+ * @returns {IStringDictionary}
1044
+ */
1045
+ getPluginsXcconfigFilePaths(projectRoot: string): IStringDictionary;
1046
+
1047
+ /**
1048
+ * Returns the value of a property from a xcconfig file.
1049
+ * @param xcconfigFilePath The path to the xcconfig file
1050
+ * @param propertyName The name of the property which value will be returned
1051
+ * @returns {string}
1052
+ */
1053
+ readPropertyValue(xcconfigFilePath: string, propertyName: string): string;
1054
+
1055
+ /**
1056
+ * Merges the content of source file into destination file
1057
+ * @param sourceFile The content of the source file
1058
+ * @param destinationFile The content of the destination file
1059
+ * @returns {Promise<void>}
1060
+ */
1061
+ mergeFiles(sourceFile: string, destinationFile: string): Promise<void>;
1062
+ }
1063
+
1064
+ /**
1065
+ * Describes helper for validating bundling.
1066
+ */
1067
+ interface IBundleValidatorHelper {
1068
+ /**
1069
+ * Validates bundling options.
1070
+ * In case when minSupportedVersion is provided, gets the current version of @nativescript/webpack from package.json and compares with the provided version.
1071
+ * @param {IProjectData} projectData
1072
+ * @param {string} minSupportedVersion the minimum supported version of @nativescript/webpack
1073
+ * @return {void}
1074
+ */
1075
+ validate(projectData: IProjectData, minSupportedVersion?: string): void;
1076
+
1077
+ /**
1078
+ * Returns the installed bundler version.
1079
+ * @return {string}
1080
+ */
1081
+ getBundlerDependencyVersion(
1082
+ projectData: IProjectData,
1083
+ bundlerName?: string
1084
+ ): string;
1085
+ }
1086
+
1087
+ interface IAndroidBundleValidatorHelper {
1088
+ /**
1089
+ * Validates android bundling option is not provided.
1090
+ * Commands that require deploy of the application must not be called with --aab option
1091
+ * @return {void}
1092
+ */
1093
+ validateNoAab(): void;
1094
+
1095
+ /**
1096
+ * Validates android runtime version is sufficient to support bundling option --aab.
1097
+ * @param {IProjectData} projectData DTO with information about the project.
1098
+ * @return {void}
1099
+ */
1100
+ validateRuntimeVersion(projectData: IProjectData): void;
1101
+
1102
+ /**
1103
+ * Validates that the specified device supports aab.
1104
+ * @param {Mobile.IDevice} device The device to be validated.
1105
+ * @param {IBuildData} buildData The current build data.
1106
+ * @return {void}
1107
+ */
1108
+ validateDeviceApiLevel(device: Mobile.IDevice, buildData: IBuildData): void;
1109
+ }
1110
+
1111
+ interface IOptionsTracker {
1112
+ trackOptions(options: IOptions): Promise<void>;
1113
+ }
1114
+
1115
+ interface INativeScriptCloudExtensionService {
1116
+ /**
1117
+ * Installs nativescript-cloud extension
1118
+ * @return {Promise<IExtensionData>} returns the extension data
1119
+ */
1120
+ install(): Promise<IExtensionData>;
1121
+ /**
1122
+ * Checks if nativescript-cloud extension is installed
1123
+ * @return {boolean} returns true in case when nativescript-cloud extension is installed, false otherwise
1124
+ */
1125
+ isInstalled(): boolean;
1126
+ }
1127
+
1128
+ /**
1129
+ * Describes the basic data needed for resource generation
1130
+ */
1131
+ interface IResourceGenerationData extends IProjectDir {
1132
+ /**
1133
+ * @param {string} imagePath Path to the image that will be used for generation
1134
+ */
1135
+ imagePath: string;
1136
+
1137
+ /**
1138
+ * @param {string} platform Specify for which platform to generate assets. If not defined will generate for all platforms
1139
+ */
1140
+ platform?: string;
1141
+
1142
+ /**
1143
+ * @param {string} background Background color that will be used for background. Defaults to #FFFFFF
1144
+ */
1145
+ background?: string;
1146
+ }
1147
+
1148
+ /**
1149
+ * Describes service used for assets generation
1150
+ */
1151
+ interface IAssetsGenerationService {
1152
+ /**
1153
+ * Generate icons for iOS and Android
1154
+ * @param {IResourceGenerationData} iconsGenerationData Provides the data needed for icons generation
1155
+ * @returns {Promise<void>}
1156
+ */
1157
+ generateIcons(iconsGenerationData: IResourceGenerationData): Promise<void>;
1158
+
1159
+ /**
1160
+ * Generate splash screens for iOS and Android
1161
+ * @param {IResourceGenerationData} splashesGenerationData Provides the data needed for splash screens generation
1162
+ * @returns {Promise<void>}
1163
+ */
1164
+ generateSplashScreens(
1165
+ splashesGenerationData: IResourceGenerationData
1166
+ ): Promise<void>;
1167
+ }
1168
+
1169
+ /**
1170
+ * Describes the Gradle versions specified in the package.json of the Android runtime
1171
+ */
1172
+ interface IRuntimeGradleVersions {
1173
+ gradleVersion?: string;
1174
+ gradleAndroidPluginVersion?: string;
1175
+ }
1176
+
1177
+ interface INetworkConnectivityValidator {
1178
+ validate(): Promise<void>;
1179
+ }
1180
+
1181
+ interface IPlatformValidationService {
1182
+ /**
1183
+ * Ensures the passed platform is a valid one (from the supported ones)
1184
+ */
1185
+ validatePlatform(platform: string, projectData: IProjectData): void;
1186
+
1187
+ /**
1188
+ * Returns whether the passed platform is a valid one (from the supported ones)
1189
+ */
1190
+ isValidPlatform(platform: string, projectData: IProjectData): boolean;
1191
+
1192
+ /**
1193
+ * Gets first chance to validate the options provided as command line arguments.
1194
+ * If no platform is provided or a falsy (null, undefined, "", false...) platform is provided,
1195
+ * the options will be validated for all available platforms.
1196
+ */
1197
+ validateOptions(
1198
+ provision: true | string,
1199
+ teamId: true | string,
1200
+ projectData: IProjectData,
1201
+ platform?: string
1202
+ ): Promise<boolean>;
1203
+
1204
+ validatePlatformInstalled(platform: string, projectData: IProjectData): void;
1205
+
1206
+ /**
1207
+ * Checks whether passed platform can be built on the current OS
1208
+ * @param {string} platform The mobile platform.
1209
+ * @param {IProjectData} projectData DTO with information about the project.
1210
+ * @returns {boolean} Whether the platform is supported for current OS or not.
1211
+ */
1212
+ isPlatformSupportedForOS(
1213
+ platform: string,
1214
+ projectData: IProjectData
1215
+ ): boolean;
1216
+ }
1217
+
1218
+ interface IPlatformCommandHelper {
1219
+ addPlatforms(
1220
+ platforms: string[],
1221
+ projectData: IProjectData,
1222
+ frameworkPath?: string
1223
+ ): Promise<void>;
1224
+ cleanPlatforms(
1225
+ platforms: string[],
1226
+ projectData: IProjectData,
1227
+ frameworkPath: string
1228
+ ): Promise<void>;
1229
+ removePlatforms(
1230
+ platforms: string[],
1231
+ projectData: IProjectData
1232
+ ): Promise<void>;
1233
+ updatePlatforms(
1234
+ platforms: string[],
1235
+ projectData: IProjectData
1236
+ ): Promise<void>;
1237
+ getInstalledPlatforms(projectData: IProjectData): string[];
1238
+ getAvailablePlatforms(projectData: IProjectData): string[];
1239
+ getPreparedPlatforms(projectData: IProjectData): string[];
1240
+ getCurrentPlatformVersion(
1241
+ platform: string,
1242
+ projectData: IProjectData
1243
+ ): string;
1244
+ }
1245
+
1246
+ interface IWatchIgnoreListService {
1247
+ addFileToIgnoreList(filePath: string): void;
1248
+ removeFileFromIgnoreList(filePath: string): void;
1249
+ isFileInIgnoreList(filePath: string): boolean;
1250
+ }
1251
+
1252
+ interface INpmConfigService {
1253
+ getConfig(): IDictionary<any>;
1254
+ }
1255
+
1256
+ interface ISharedEventBus extends NodeJS.EventEmitter {}