@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,601 @@
1
+ import { EventEmitter } from "events";
2
+ import {
3
+ INativePrepare,
4
+ IValidatePlatformOutput,
5
+ IProjectData,
6
+ } from "./project";
7
+ import { IBuildPlatformAction } from "./platform";
8
+ import { IDebugOptions } from "./debug";
9
+ import { IBuildData } from "./build";
10
+ import { IEnvOptions } from "../declarations";
11
+ import {
12
+ IPlatform,
13
+ IProjectDir,
14
+ IRelease,
15
+ IQrCodeImageData,
16
+ IDictionary,
17
+ } from "../common/declarations";
18
+
19
+ declare global {
20
+ interface ILiveSyncProcessData {
21
+ timer: NodeJS.Timer;
22
+ actionsChain: Promise<any>;
23
+ isStopped: boolean;
24
+ deviceDescriptors: ILiveSyncDeviceDescriptor[];
25
+ currentSyncAction: Promise<any>;
26
+ platforms: string[];
27
+ }
28
+
29
+ interface IOptionalOutputPath {
30
+ /**
31
+ * Path where the build result is located (directory containing .ipa, .apk or .zip).
32
+ * This is required for initial checks where LiveSync will skip the rebuild in case there's already a build result and no change requiring rebuild is made since then.
33
+ * In case it is not passed, the default output for local builds will be used.
34
+ */
35
+ outputPath?: string;
36
+ }
37
+
38
+ /**
39
+ * Describes action used whenever building a project.
40
+ */
41
+ interface IBuildAction {
42
+ /**
43
+ * @returns {Promise<string>} Path to build artifact (.ipa, .apk or .zip).
44
+ */
45
+ (): Promise<string>;
46
+ }
47
+
48
+ /**
49
+ * Describes options that can be passed in order to specify the exact location of the built package.
50
+ */
51
+ interface IOutputDirectoryOptions extends IPlatform {
52
+ /**
53
+ * Directory where the project is located.
54
+ */
55
+ projectDir: string;
56
+
57
+ /**
58
+ * Whether the build is for emulator or not.
59
+ */
60
+ emulator?: boolean;
61
+ }
62
+
63
+ /**
64
+ * Describes information for LiveSync on a device.
65
+ */
66
+ interface ILiveSyncDeviceDescriptor extends IOptionalDebuggingOptions {
67
+ /**
68
+ * Device identifier.
69
+ */
70
+ identifier: string;
71
+
72
+ /**
73
+ * Action that will rebuild the application. The action must return a Promise, which is resolved with at path to build artifact.
74
+ */
75
+ buildAction: IBuildAction;
76
+
77
+ /**
78
+ * Whether to skip preparing the native platform.
79
+ */
80
+ skipNativePrepare?: boolean;
81
+
82
+ /**
83
+ * Whether debugging has been enabled for this device or not
84
+ */
85
+ debuggingEnabled?: boolean;
86
+
87
+ /**
88
+ * Describes the data used for building the application
89
+ */
90
+ buildData: IBuildData;
91
+ }
92
+
93
+ /**
94
+ * Describes a LiveSync operation.
95
+ */
96
+ interface ILiveSyncInfo
97
+ extends IProjectDir,
98
+ IEnvOptions,
99
+ IRelease,
100
+ IHasUseHotModuleReloadOption {
101
+ emulator?: boolean;
102
+
103
+ /**
104
+ * Defines if the watcher should be skipped. If not passed, fs.Watcher will be started.
105
+ */
106
+ skipWatcher?: boolean;
107
+
108
+ /**
109
+ * Forces a build before the initial livesync.
110
+ */
111
+ clean?: boolean;
112
+
113
+ /**
114
+ * Defines if initial sync will be forced.
115
+ * In case it is true, transfers all project's directory on device
116
+ * In case it is false, transfers only changed files.
117
+ */
118
+ force?: boolean;
119
+
120
+ /**
121
+ * Defines the timeout in seconds {N} CLI will wait to find the inspector socket port from device's logs.
122
+ * If not provided, defaults to 10seconds.
123
+ */
124
+ timeout?: string;
125
+
126
+ nativePrepare?: INativePrepare;
127
+ }
128
+
129
+ interface IHasUseHotModuleReloadOption {
130
+ /**
131
+ * Defines if the hot module reload should be used.
132
+ */
133
+ useHotModuleReload: boolean;
134
+ }
135
+
136
+ interface ILiveSyncEventData {
137
+ deviceIdentifier: string;
138
+ applicationIdentifier?: string;
139
+ projectDir: string;
140
+ syncedFiles?: string[];
141
+ error?: Error;
142
+ notification?: string;
143
+ isFullSync?: boolean;
144
+ keepProcessAlive?: boolean;
145
+ }
146
+
147
+ interface IIsEmulator {
148
+ isEmulator: boolean;
149
+ }
150
+
151
+ interface IProjectDataComposition {
152
+ projectData: IProjectData;
153
+ }
154
+
155
+ /**
156
+ * Describes LiveSync operations.
157
+ */
158
+ interface ILiveSyncService extends EventEmitter {
159
+ /**
160
+ * Starts LiveSync operation by rebuilding the application if necessary and starting watcher.
161
+ * @param {ILiveSyncDeviceDescriptor[]} deviceDescriptors Describes each device for which we would like to sync the application - identifier, outputPath and action to rebuild the app.
162
+ * @param {ILiveSyncInfo} liveSyncData Describes the LiveSync operation - for which project directory is the operation and other settings.
163
+ * @returns {Promise<void>}
164
+ */
165
+ liveSync(
166
+ deviceDescriptors: ILiveSyncDeviceDescriptor[],
167
+ liveSyncData: ILiveSyncInfo
168
+ ): Promise<void>;
169
+
170
+ /**
171
+ * Stops LiveSync operation for specified directory.
172
+ * @param {string} projectDir The directory for which to stop the operation.
173
+ * @param {string[]} @optional deviceIdentifiers Device ids for which to stop the application. In case nothing is passed, LiveSync operation will be stopped for all devices.
174
+ * @param { shouldAwaitAllActions: boolean } @optional stopOptions Specifies whether we should await all actions.
175
+ * @returns {Promise<void>}
176
+ */
177
+ stopLiveSync(
178
+ projectDir: string,
179
+ deviceIdentifiers?: string[],
180
+ stopOptions?: { shouldAwaitAllActions: boolean }
181
+ ): Promise<void>;
182
+
183
+ /**
184
+ * Returns the device information for current LiveSync operation of specified project.
185
+ * In case LiveSync has been started on many devices, but stopped for some of them at a later point,
186
+ * calling the method after that will return information only for devices for which LiveSync operation is in progress.
187
+ * @param {string} projectDir The path to project for which the LiveSync operation is executed
188
+ * @returns {ILiveSyncDeviceDescriptor[]} Array of elements describing parameters used to start LiveSync on each device.
189
+ */
190
+ getLiveSyncDeviceDescriptors(
191
+ projectDir: string
192
+ ): ILiveSyncDeviceDescriptor[];
193
+ }
194
+
195
+ /**
196
+ * Describes settings used when disabling debugging.
197
+ */
198
+ interface IDisableDebuggingDeviceOptions extends Mobile.IDeviceIdentifier {}
199
+
200
+ interface IOptionalDebuggingOptions {
201
+ /**
202
+ * Optional debug options - can be used to control the start of a debug process.
203
+ */
204
+ debugOptions?: IDebugOptions;
205
+ }
206
+
207
+ interface IEnableDebuggingData
208
+ extends IProjectDir,
209
+ IOptionalDebuggingOptions {
210
+ deviceIdentifiers: string[];
211
+ }
212
+
213
+ interface IDisableDebuggingData extends IProjectDir {
214
+ deviceIdentifiers: string[];
215
+ }
216
+
217
+ interface IAttachDebuggerData
218
+ extends IProjectDir,
219
+ Mobile.IDeviceIdentifier,
220
+ IOptionalDebuggingOptions,
221
+ IIsEmulator,
222
+ IPlatform,
223
+ IOptionalOutputPath {}
224
+
225
+ /**
226
+ * Describes settings passed to livesync service in order to control event emitting during refresh application.
227
+ */
228
+ interface IRefreshApplicationSettings {
229
+ shouldSkipEmitLiveSyncNotification: boolean;
230
+ shouldCheckDeveloperDiscImage: boolean;
231
+ }
232
+
233
+ interface IConnectTimeoutOption {
234
+ /**
235
+ * Time to wait for successful connection. Defaults to 30000 miliseconds.
236
+ */
237
+ connectTimeout?: number;
238
+ }
239
+
240
+ interface ILiveSyncWatchInfo
241
+ extends IProjectDataComposition,
242
+ IHasUseHotModuleReloadOption,
243
+ IConnectTimeoutOption {
244
+ filesToRemove: string[];
245
+ filesToSync: string[];
246
+ liveSyncDeviceData: ILiveSyncDeviceDescriptor;
247
+ hmrData: IPlatformHmrData;
248
+ force?: boolean;
249
+ }
250
+
251
+ interface ILiveSyncResultInfo extends IHasUseHotModuleReloadOption {
252
+ modifiedFilesData: Mobile.ILocalToDevicePathData[];
253
+ isFullSync: boolean;
254
+ waitForDebugger?: boolean;
255
+ deviceAppData: Mobile.IDeviceAppData;
256
+ didRecover?: boolean;
257
+ forceRefreshWithSocket?: boolean;
258
+ }
259
+
260
+ interface IAndroidLiveSyncResultInfo
261
+ extends ILiveSyncResultInfo,
262
+ IAndroidLivesyncSyncOperationResult {}
263
+
264
+ interface IFullSyncInfo
265
+ extends IProjectDataComposition,
266
+ IHasUseHotModuleReloadOption,
267
+ IConnectTimeoutOption {
268
+ device: Mobile.IDevice;
269
+ watch: boolean;
270
+ liveSyncDeviceData: ILiveSyncDeviceDescriptor;
271
+ force?: boolean;
272
+ }
273
+
274
+ interface IPlatformHmrData {
275
+ hash: string;
276
+ fallbackFiles: string[];
277
+ }
278
+
279
+ interface ITransferFilesOptions {
280
+ isFullSync: boolean;
281
+ force?: boolean;
282
+ }
283
+
284
+ interface IPlatformLiveSyncService {
285
+ fullSync(syncInfo: IFullSyncInfo): Promise<ILiveSyncResultInfo>;
286
+ liveSyncWatchAction(
287
+ device: Mobile.IDevice,
288
+ liveSyncInfo: ILiveSyncWatchInfo
289
+ ): Promise<ILiveSyncResultInfo>;
290
+ tryRefreshApplication(
291
+ projectData: IProjectData,
292
+ liveSyncInfo: ILiveSyncResultInfo
293
+ ): Promise<boolean>;
294
+ restartApplication(
295
+ projectData: IProjectData,
296
+ liveSyncInfo: ILiveSyncResultInfo
297
+ ): Promise<void>;
298
+ shouldRestart(
299
+ projectData: IProjectData,
300
+ liveSyncInfo: ILiveSyncResultInfo
301
+ ): Promise<boolean>;
302
+ getDeviceLiveSyncService(
303
+ device: Mobile.IDevice,
304
+ projectData: IProjectData
305
+ ): INativeScriptDeviceLiveSyncService;
306
+ getAppData(syncInfo: IFullSyncInfo): Promise<Mobile.IDeviceAppData>;
307
+ syncAfterInstall(
308
+ device: Mobile.IDevice,
309
+ liveSyncInfo: ILiveSyncWatchInfo
310
+ ): Promise<void>;
311
+ }
312
+
313
+ interface IRestartApplicationInfo {
314
+ didRestart: boolean;
315
+ }
316
+
317
+ interface INativeScriptDeviceLiveSyncService {
318
+ /**
319
+ * Specifies some action that will be executed before every sync operation
320
+ */
321
+ beforeLiveSyncAction?(deviceAppData: Mobile.IDeviceAppData): Promise<void>;
322
+
323
+ /**
324
+ * Tries to refresh the application's content on the device
325
+ */
326
+ tryRefreshApplication(
327
+ projectData: IProjectData,
328
+ liveSyncInfo: ILiveSyncResultInfo
329
+ ): Promise<boolean>;
330
+
331
+ /**
332
+ * Restarts the specified application
333
+ */
334
+ restartApplication(
335
+ projectData: IProjectData,
336
+ liveSyncInfo: ILiveSyncResultInfo
337
+ ): Promise<void>;
338
+
339
+ /**
340
+ * Returns if the application have to be restarted in order to apply the specified livesync changes
341
+ */
342
+ shouldRestart(
343
+ projectData: IProjectData,
344
+ liveSyncInfo: ILiveSyncResultInfo
345
+ ): Promise<boolean>;
346
+
347
+ /**
348
+ * Removes specified files from a connected device
349
+ * @param {Mobile.IDeviceAppData} deviceAppData Data about device and app.
350
+ * @param {Mobile.ILocalToDevicePathData[]} localToDevicePaths Object containing a mapping of file paths from the system to the device.
351
+ * @param {string} projectFilesPath The Path to the app folder inside platforms folder
352
+ * @return {Promise<void>}
353
+ */
354
+ removeFiles(
355
+ deviceAppData: Mobile.IDeviceAppData,
356
+ localToDevicePaths: Mobile.ILocalToDevicePathData[],
357
+ projectFilesPath?: string
358
+ ): Promise<void>;
359
+
360
+ /**
361
+ * Transfers specified files to a connected device
362
+ * @param {Mobile.IDeviceAppData} deviceAppData Data about device and app.
363
+ * @param {Mobile.ILocalToDevicePathData[]} localToDevicePaths Object containing a mapping of file paths from the system to the device.
364
+ * @param {string} projectFilesPath The Path to the app folder inside platforms folder
365
+ * @param {boolean} isFullSync Indicates if the operation is part of a fullSync
366
+ * @return {Promise<Mobile.ILocalToDevicePathData[]>} Returns the ILocalToDevicePathData of all transfered files
367
+ */
368
+ transferFiles(
369
+ deviceAppData: Mobile.IDeviceAppData,
370
+ localToDevicePaths: Mobile.ILocalToDevicePathData[],
371
+ projectFilesPath: string,
372
+ projectData: IProjectData,
373
+ liveSyncDeviceData: ILiveSyncDeviceDescriptor,
374
+ options: ITransferFilesOptions
375
+ ): Promise<Mobile.ILocalToDevicePathData[]>;
376
+ }
377
+
378
+ interface IAndroidNativeScriptDeviceLiveSyncService
379
+ extends INativeScriptDeviceLiveSyncService {
380
+ /**
381
+ * Guarantees all remove/update operations have finished
382
+ * @param {ILiveSyncResultInfo} liveSyncInfo Describes the LiveSync operation - for which project directory is the operation and other settings.
383
+ * @return {Promise<IAndroidLiveSyncResultInfo>}
384
+ */
385
+ finalizeSync(
386
+ liveSyncInfo: ILiveSyncResultInfo,
387
+ projectData: IProjectData
388
+ ): Promise<IAndroidLivesyncSyncOperationResult>;
389
+ }
390
+
391
+ interface ILiveSyncSocket extends INetSocket {
392
+ uid: string;
393
+ writeAsync(data: Buffer): Promise<Boolean>;
394
+ }
395
+
396
+ interface IAndroidLivesyncTool {
397
+ /**
398
+ * The protocol version the current app(adnroid runtime) is using.
399
+ */
400
+ protocolVersion: string;
401
+
402
+ /**
403
+ * Creates new socket connection.
404
+ * @param configuration - The configuration to the socket connection.
405
+ * @returns {Promise<void>}
406
+ */
407
+ connect(configuration: IAndroidLivesyncToolConfiguration): Promise<void>;
408
+ /**
409
+ * Sends a file through the socket.
410
+ * @param filePath - The full path to the file.
411
+ * @returns {Promise<void>}
412
+ */
413
+ sendFile(filePath: string): Promise<void>;
414
+ /**
415
+ * Sends files through the socket.
416
+ * @param filePaths - Array of files that will be send by the socket.
417
+ * @returns {Promise<void>}
418
+ */
419
+ sendFiles(filePaths: string[]): Promise<void>;
420
+ /**
421
+ * Sends all files from directory by the socket.
422
+ * @param directoryPath - The path to the directory which files will be send by the socket.
423
+ * @returns {Promise<void>}
424
+ */
425
+ sendDirectory(directoryPath: string): Promise<void>;
426
+ /**
427
+ * Removes file
428
+ * @param filePath - The full path to the file.
429
+ * @returns {Promise<boolean>}
430
+ */
431
+ removeFile(filePath: string): Promise<void>;
432
+ /**
433
+ * Removes files
434
+ * @param filePaths - Array of files that will be removed.
435
+ * @returns {Promise<boolean[]>}
436
+ */
437
+ removeFiles(filePaths: string[]): Promise<void>;
438
+ /**
439
+ * Sends doSyncOperation that will be handled by the runtime.
440
+ * @param options
441
+ * @returns {Promise<void>}
442
+ */
443
+ sendDoSyncOperation(
444
+ options?: IDoSyncOperationOptions
445
+ ): Promise<IAndroidLivesyncSyncOperationResult>;
446
+ /**
447
+ * Generates new operation identifier.
448
+ */
449
+ generateOperationIdentifier(): string;
450
+ /**
451
+ * Checks if the current operation is in progress.
452
+ * @param operationId - The identifier of the operation.
453
+ */
454
+ isOperationInProgress(operationId: string): boolean;
455
+
456
+ /**
457
+ * Closes the current socket connection.
458
+ * @param error - Optional error for rejecting pending sync operations
459
+ */
460
+ end(error?: Error): void;
461
+
462
+ /**
463
+ * Returns true if a connection has been already established
464
+ */
465
+ hasConnection(): boolean;
466
+ }
467
+
468
+ /**
469
+ * doRefresh - Indicates if the application should be refreshed. Defaults to true.
470
+ * operationId - The identifier of the operation
471
+ * timeout - The timeout in milliseconds
472
+ */
473
+ interface IDoSyncOperationOptions {
474
+ doRefresh?: boolean;
475
+ timeout?: number;
476
+ operationId?: string;
477
+ }
478
+
479
+ interface IAndroidLivesyncToolConfiguration extends IConnectTimeoutOption {
480
+ /**
481
+ * The application identifier.
482
+ */
483
+ appIdentifier: string;
484
+ /**
485
+ * The device identifier.
486
+ */
487
+ deviceIdentifier: string;
488
+ /**
489
+ * The path to app folder inside platforms folder: platforms/android/app/src/main/assets/app/
490
+ */
491
+ appPlatformsPath: string;
492
+ /**
493
+ * If not provided, defaults to 127.0.0.1
494
+ */
495
+ localHostAddress?: string;
496
+ /**
497
+ * If provider will call it when an error occurs.
498
+ */
499
+ errorHandler?: any;
500
+ }
501
+
502
+ interface IAndroidLivesyncSyncOperationResult {
503
+ operationId: string;
504
+ didRefresh: boolean;
505
+ }
506
+
507
+ interface IDeviceProjectRootOptions {
508
+ appIdentifier: string;
509
+ getDirname?: boolean;
510
+ watch?: boolean;
511
+ }
512
+
513
+ interface IDevicePathProvider {
514
+ getDeviceProjectRootPath(
515
+ device: Mobile.IDevice,
516
+ options: IDeviceProjectRootOptions
517
+ ): Promise<string>;
518
+ getDeviceSyncZipPath(device: Mobile.IDevice): string;
519
+ }
520
+
521
+ /**
522
+ * Describes additional options, that can be passed to LiveSyncCommandHelper.
523
+ */
524
+ interface ILiveSyncCommandHelperAdditionalOptions
525
+ extends IBuildPlatformAction,
526
+ INativePrepare {
527
+ /**
528
+ * A map representing devices which have debugging enabled initially.
529
+ */
530
+ deviceDebugMap?: IDictionary<boolean>;
531
+
532
+ /**
533
+ * Returns the path to the directory where the build output may be found.
534
+ * @param {IOutputDirectoryOptions} options Options that are used to determine the build output directory.
535
+ * @returns {string} The build output directory.
536
+ */
537
+ getOutputDirectory?(options: IOutputDirectoryOptions): string;
538
+ }
539
+
540
+ interface ILiveSyncCommandHelper {
541
+ /**
542
+ * Method sets up configuration, before calling livesync and expects that devices are already discovered.
543
+ * @param {Mobile.IDevice[]} devices List of discovered devices
544
+ * @param {string} platform The platform for which the livesync will be ran
545
+ * @param {ILiveSyncCommandHelperAdditionalOptions} additionalOptions @optional Additional options to control LiveSync.
546
+ * @returns {Promise<void>}
547
+ */
548
+ executeLiveSyncOperation(
549
+ devices: Mobile.IDevice[],
550
+ platform: string,
551
+ additionalOptions?: ILiveSyncCommandHelperAdditionalOptions
552
+ ): Promise<void>;
553
+ getPlatformsForOperation(platform: string): string[];
554
+
555
+ /**
556
+ * Validates the given platform's data - bundle identifier, etc.
557
+ * @param {string} platform The platform to be validated.
558
+ * @return {Promise<void>}
559
+ */
560
+ validatePlatform(
561
+ platform: string
562
+ ): Promise<IDictionary<IValidatePlatformOutput>>;
563
+
564
+ /**
565
+ * Executes livesync operation. Meant to be called from within a command.
566
+ * @param {string} platform @optional platform for whith to run the livesync operation
567
+ * @param {ILiveSyncCommandHelperAdditionalOptions} additionalOptions @optional Additional options to control LiveSync.
568
+ * @returns {Promise<void>}
569
+ */
570
+ executeCommandLiveSync(
571
+ platform?: string,
572
+ additionalOptions?: ILiveSyncCommandHelperAdditionalOptions
573
+ ): Promise<void>;
574
+ createDeviceDescriptors(
575
+ devices: Mobile.IDevice[],
576
+ platform: string,
577
+ additionalOptions?: ILiveSyncCommandHelperAdditionalOptions
578
+ ): Promise<ILiveSyncDeviceDescriptor[]>;
579
+ getDeviceInstances(platform?: string): Promise<Mobile.IDevice[]>;
580
+ getLiveSyncData(projectDir: string): ILiveSyncInfo;
581
+
582
+ stop(): Promise<void>;
583
+ }
584
+
585
+ interface ILiveSyncServiceResolver {
586
+ resolveLiveSyncService(platform: string): IPlatformLiveSyncService;
587
+ }
588
+
589
+ interface ILiveSyncProcessDataService {
590
+ getPersistedData(projectDir: string): ILiveSyncProcessData;
591
+ getDeviceDescriptors(projectDir: string): ILiveSyncDeviceDescriptor[];
592
+ getAllPersistedData(): IDictionary<ILiveSyncProcessData>;
593
+ persistData(
594
+ projectDir: string,
595
+ deviceDescriptors: ILiveSyncDeviceDescriptor[],
596
+ platforms: string[]
597
+ ): void;
598
+ hasDeviceDescriptors(projectDir: string): boolean;
599
+ getPlatforms(projectDir: string): string[];
600
+ }
601
+ }
@@ -0,0 +1,43 @@
1
+ import * as lockfile from "proper-lockfile";
2
+ import * as retry from "retry";
3
+
4
+ declare global {
5
+ interface ILockOptions extends lockfile.LockOptions {
6
+ // workaround bug in the d.ts (`retries` should accept both number and retry obj)
7
+ retriesObj?: retry.TimeoutsOptions;
8
+ // backwards compatibility
9
+ retryWait?: number;
10
+ }
11
+
12
+ /**
13
+ * Describes methods that can be used to use file locking.
14
+ */
15
+ interface ILockService {
16
+ /**
17
+ * @param action The code to be locked.
18
+ * @param {string} lockFilePath Path to lock file that has to be created. Defaults to `<profile dir>/lockfile.lock`
19
+ * @param {ILockOptions} lockOpts Options used for creating the lock file.
20
+ * @returns {Promise<T>}
21
+ */
22
+ executeActionWithLock<T>(
23
+ action: () => Promise<T>,
24
+ lockFilePath?: string,
25
+ lockOpts?: ILockOptions
26
+ ): Promise<T>;
27
+ // TODO: expose as decorator
28
+
29
+ /**
30
+ * Waits until the `unlock` method is called for the specified file
31
+ * @param {string} lockFilePath Path to lock file that has to be created. Defaults to `<profile dir>/lockfile.lock`
32
+ * @param {ILockOptions} lockOpts Options used for creating the lock file.
33
+ * @returns {Promise<() => void>} Returns a `release` function that should be called when you want to release the lock.
34
+ */
35
+ lock(lockFilePath?: string, lockOpts?: ILockOptions): Promise<() => void>;
36
+
37
+ /**
38
+ * Resolves the specified file lock. Whenever possible you should use the `release` function instead.
39
+ * @param {string} lockFilePath Path to lock file that has to be unlocked. Defaults to `<profile dir>/lockfile.lock`
40
+ */
41
+ unlock(lockFilePath?: string): Promise<void>;
42
+ }
43
+ }
@@ -0,0 +1,14 @@
1
+ interface ILogParserService extends NodeJS.EventEmitter {
2
+ /**
3
+ * Starts looking for debugger port. Attaches on device logs and processes them. In case when port is found, DEBUGGER_PORT_FOUND event is emitted.
4
+ * @param {Mobile.IDevice} device - Describes the device which logs will be processed.
5
+ */
6
+ addParseRule(rule: ILogParseRule): void;
7
+ }
8
+
9
+ interface ILogParseRule {
10
+ regex: RegExp;
11
+ handler: Function;
12
+ name: string;
13
+ platform?: string;
14
+ }
@@ -0,0 +1,11 @@
1
+ interface IMarkingModeService {
2
+ handleMarkingModeFullDeprecation(
3
+ options: IMarkingModeFullDeprecationOptions
4
+ ): Promise<void>;
5
+ }
6
+
7
+ interface IMarkingModeFullDeprecationOptions {
8
+ projectDir: string;
9
+ skipWarnings?: boolean;
10
+ forceSwitch?: boolean;
11
+ }