@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,858 @@
1
+ import type { SupportedPlatform } from "../constants";
2
+ import {
3
+ IAndroidBuildOptionsSettings,
4
+ IProvision,
5
+ ITeamIdentifier,
6
+ IPlatformBuildData,
7
+ } from "../declarations";
8
+ import { ICheckEnvironmentRequirementsOutput, IPlatformData } from "./platform";
9
+ import { IPluginData, IBasePluginData } from "./plugins";
10
+ import {
11
+ IStringDictionary,
12
+ IProjectDir,
13
+ IDeviceIdentifier,
14
+ IRelease,
15
+ IPlatform,
16
+ IDependencyInformation,
17
+ ISpawnResult,
18
+ } from "../common/declarations";
19
+ import { SupportedConfigValues } from "../tools/config-manipulation/config-transformer";
20
+ import * as constants from "../constants";
21
+
22
+ interface IProjectName {
23
+ /**
24
+ * Name of the newly created application.
25
+ */
26
+ projectName: string;
27
+ }
28
+
29
+ interface IProjectSettingsBase extends IProjectName {
30
+ /**
31
+ * Defines whether the `npm install` command should be executed with `--ignore-scripts` option.
32
+ * When it is passed, all scripts (postinstall for example) will not be executed.
33
+ */
34
+ ignoreScripts?: boolean;
35
+
36
+ /**
37
+ * Selected template from which to create the project. If not specified, defaults to hello-world template.
38
+ * Template can be any npm package, local dir, github url, .tgz file.
39
+ * If it is set to `angular` or `ng`, default NativeScript Angular Hello World template will be used.
40
+ * If it is set to `typescript` or `tsc`, default NativeScript TypeScript Hello World template will be used.
41
+ */
42
+ template?: string;
43
+
44
+ /**
45
+ * Application identifier for the newly created application. If not specified, defaults to org.nativescript.<projectName>.
46
+ */
47
+ appId?: string;
48
+ }
49
+
50
+ /**
51
+ * Describes information passed to project creation hook (createProject).
52
+ */
53
+ interface IProjectCreationSettings extends IProjectSettingsBase, IProjectDir {}
54
+
55
+ /**
56
+ * Describes available settings when creating new NativeScript application.
57
+ */
58
+ interface IProjectSettings extends IProjectSettingsBase {
59
+ /**
60
+ * Path where the project will be created. If not specified, defaults to current working dir.
61
+ */
62
+ pathToProject?: string;
63
+
64
+ /**
65
+ * Defines if invalid application name can be used for project creation.
66
+ */
67
+ force?: boolean;
68
+ }
69
+
70
+ interface ICreateProjectData extends IProjectDir, IProjectName {}
71
+
72
+ interface IProjectService {
73
+ validateProjectName(opts: {
74
+ projectName: string;
75
+ force: boolean;
76
+ pathToProject: string;
77
+ }): Promise<string>;
78
+ /**
79
+ * Creates new NativeScript application.
80
+ * @param {any} projectSettings Options describing new project - its name, appId, path and template from which to be created.
81
+ * @returns {Promise<void>}
82
+ */
83
+ createProject(projectSettings: IProjectSettings): Promise<ICreateProjectData>;
84
+
85
+ /**
86
+ * Checks if the specified project is valid NativeScript project.
87
+ * @param {string} pathToProject Directory to check.
88
+ * @returns {boolean} returns true if the project is valid NativeScript project.
89
+ */
90
+ isValidNativeScriptProject(pathToProject?: string): boolean;
91
+
92
+ /**
93
+ * Checks if App_Resources exists, or pulls down a fresh set
94
+ * from the default template otherwise.
95
+ * @param {string} projectDir
96
+ */
97
+ ensureAppResourcesExist(projectDir: string): Promise<void>;
98
+ }
99
+
100
+ interface INsConfigPlaform {
101
+ id?: string;
102
+ }
103
+
104
+ interface INsConfigIOS extends INsConfigPlaform {
105
+ discardUncaughtJsExceptions?: boolean;
106
+ runtimePackageName?: string
107
+ }
108
+
109
+ interface INSConfigVisionOS extends INsConfigIOS {}
110
+
111
+ interface INsConfigAndroid extends INsConfigPlaform {
112
+ v8Flags?: string;
113
+
114
+ codeCache?: boolean;
115
+
116
+ heapSnapshotScript?: string;
117
+
118
+ "snapshot.blob"?: string;
119
+
120
+ profilerOutputDir?: string;
121
+
122
+ gcThrottleTime?: number;
123
+
124
+ profiling?: string;
125
+
126
+ markingMode?: string;
127
+
128
+ handleTimeZoneChanges?: boolean;
129
+
130
+ maxLogcatObjectSize?: number;
131
+
132
+ forceLog?: boolean;
133
+
134
+ memoryCheckInterval?: number;
135
+
136
+ freeMemoryRatio?: number;
137
+
138
+ suppressCallJSMethodExceptions?: boolean;
139
+
140
+ discardUncaughtJsExceptions?: boolean;
141
+
142
+ enableLineBreakpoints?: boolean;
143
+
144
+ enableMultithreadedJavascript?: boolean;
145
+
146
+ gradleVersion?: string;
147
+
148
+ gradleArgs?: string[];
149
+
150
+ runtimePackageName?: string
151
+ }
152
+
153
+ interface INsConfigHooks {
154
+ type?: string;
155
+ script: string;
156
+ }
157
+
158
+ interface INsConfig {
159
+ id?: string;
160
+ main?: string;
161
+ appPath?: string;
162
+ appResourcesPath?: string;
163
+ buildPath?: string;
164
+ shared?: boolean;
165
+ overridePods?: string;
166
+ webpackPackageName?: string;
167
+ webpackConfigPath?: string;
168
+ ios?: INsConfigIOS;
169
+ android?: INsConfigAndroid;
170
+ visionos?: INSConfigVisionOS;
171
+ ignoredNativeDependencies?: string[];
172
+ hooks?: INsConfigHooks[];
173
+ }
174
+
175
+ interface IProjectData extends ICreateProjectData {
176
+ platformsDir: string;
177
+ projectFilePath: string;
178
+ projectId: string;
179
+ projectIdentifiers?: Mobile.IProjectIdentifier;
180
+ dependencies: any;
181
+ ignoredDependencies?: string[];
182
+ devDependencies: IStringDictionary;
183
+ appDirectoryPath: string;
184
+ appResourcesDirectoryPath: string;
185
+ projectType: string;
186
+ packageJsonData: any;
187
+ nsConfig: INsConfig;
188
+ androidManifestPath: string;
189
+ appGradlePath: string;
190
+ gradleFilesDirectoryPath: string;
191
+ infoPlistPath: string;
192
+ buildXcconfigPath: string;
193
+ podfilePath: string;
194
+ initialized?: boolean;
195
+ /**
196
+ * Defines if the project is a code sharing one.
197
+ * Value is true when project has nativescript.config and it has `shared: true` in it.
198
+ */
199
+ isShared: boolean;
200
+
201
+ /**
202
+ * Defines the path to the configuration file passed to webpack process.
203
+ * By default this is the webpack.config.js at the root of the application.
204
+ * The value can be changed by setting `webpackConfigPath` in nativescript.config.
205
+ */
206
+ webpackConfigPath: string;
207
+
208
+ /**
209
+ * Initializes project data with the given project directory. If none supplied defaults to --path option or cwd.
210
+ * @param {string} projectDir Project root directory.
211
+ * @returns {void}
212
+ */
213
+ initializeProjectData(projectDir?: string): void;
214
+ initializeProjectDataFromContent(
215
+ packageJsonContent: string,
216
+ projectDir?: string
217
+ ): void;
218
+ getAppDirectoryPath(projectDir?: string): string;
219
+ getAppDirectoryRelativePath(): string;
220
+ getAppResourcesDirectoryPath(projectDir?: string): string;
221
+ getAppResourcesRelativeDirectoryPath(): string;
222
+ getBuildRelativeDirectoryPath(): string;
223
+ }
224
+
225
+ interface IProjectDataService {
226
+ /**
227
+ * Returns a value from `nativescript` key in project's package.json.
228
+ * @param {string} projectDir The project directory - the place where the root package.json is located.
229
+ * @param {string} propertyName The name of the property to be checked in `nativescript` key.
230
+ * @returns {any} The value of the property.
231
+ */
232
+ getNSValue(projectDir: string, propertyName: string): any;
233
+
234
+ /**
235
+ * Sets a value in the `nativescript` key in a project's package.json.
236
+ * @param {string} projectDir The project directory - the place where the root package.json is located.
237
+ * @param {string} key Key to be added to `nativescript` key in project's package.json.
238
+ * @param {any} value Value of the key to be added to `nativescript` key in project's package.json.
239
+ * @returns {void}
240
+ */
241
+ setNSValue(projectDir: string, key: string, value: any): void;
242
+
243
+ /**
244
+ * Removes a property from `nativescript` key in project's package.json.
245
+ * @param {string} projectDir The project directory - the place where the root package.json is located.
246
+ * @param {string} propertyName The name of the property to be removed from `nativescript` key.
247
+ * @returns {void}
248
+ */
249
+ removeNSProperty(projectDir: string, propertyName: string): void;
250
+
251
+ /**
252
+ * Removes a property from `nativescript.config`.
253
+ * @param {string} projectDir The project directory - the place where the `nativescript.config` is located.
254
+ * @param {string} propertyName The name of the property to be removed.
255
+ * @returns {void}
256
+ */
257
+ removeNSConfigProperty(projectDir: string, propertyName: string): void;
258
+
259
+ /**
260
+ * Removes dependency from package.json
261
+ * @param {string} projectDir The project directory - the place where the root package.json is located.
262
+ * @param {string} dependencyName Name of the dependency that has to be removed.
263
+ * @returns {void}
264
+ */
265
+ removeDependency(projectDir: string, dependencyName: string): void;
266
+
267
+ getProjectData(projectDir?: string): IProjectData;
268
+
269
+ /**
270
+ * Gives information about the whole assets structure for both iOS and Android.
271
+ * For each of the platforms, the returned object will contain icons, splashBackgrounds, splashCenterImages and splashImages (only for iOS).
272
+ * @param {IProjectDir} opts Object with a single property - projectDir. This is the root directory where NativeScript project is located.
273
+ * @returns {Promise<IAssetsStructure>} An object describing the current asset structure.
274
+ */
275
+ getAssetsStructure(opts: IProjectDir): Promise<IAssetsStructure>;
276
+
277
+ /**
278
+ * Gives information about the whole assets structure for iOS.
279
+ * The returned object will contain icons, splashBackgrounds, splashCenterImages and splashImages.
280
+ * @param {IProjectDir} opts Object with a single property - projectDir. This is the root directory where NativeScript project is located.
281
+ * @returns {Promise<IAssetGroup>} An object describing the current asset structure for iOS.
282
+ */
283
+ getIOSAssetsStructure(opts: IProjectDir): Promise<IAssetGroup>;
284
+
285
+ /**
286
+ * Gives information about the whole assets structure for Android.
287
+ * The returned object will contain icons, splashBackgrounds and splashCenterImages.
288
+ * @param {IProjectDir} opts Object with a single property - projectDir. This is the root directory where NativeScript project is located.
289
+ * @returns {Promise<IAssetGroup>} An object describing the current asset structure for Android.
290
+ */
291
+ getAndroidAssetsStructure(opts: IProjectDir): Promise<IAssetGroup>;
292
+
293
+ /**
294
+ * Returns array with paths to all `.js` or `.ts` files in application's app directory.
295
+ * @param {string} projectDir Path to application.
296
+ * @returns {string[]} Array of paths to `.js` or `.ts` files.
297
+ */
298
+ getAppExecutableFiles(projectDir: string): string[];
299
+
300
+ /**
301
+ * Returns package details for runtime, respecting the nativescript key for legacy projects
302
+ * @param {string} projectDir Path to application.
303
+ * @param {string} platform Platform key
304
+ */
305
+ getRuntimePackage(
306
+ projectDir: string,
307
+ platform: SupportedPlatform
308
+ ): IBasePluginData;
309
+
310
+ /**
311
+ * Returns a value from `nativescript` key in project's package.json.
312
+ * @param {string} jsonData The project directory - the place where the root package.json is located.
313
+ * @param {string} propertyName The name of the property to be checked in `nativescript` key.
314
+ * @returns {any} The value of the property.
315
+ * @deprecated no longer used - will be removed in 8.0.
316
+ */
317
+ getNSValueFromContent(jsonData: Object, propertyName: string): any;
318
+ }
319
+
320
+ interface IProjectCleanupService {
321
+ /**
322
+ * Clean multiple paths
323
+ * @param {string[]} pathsToClean
324
+ */
325
+ clean(
326
+ pathsToClean: string[],
327
+ options?: IProjectCleanupOptions
328
+ ): Promise<IProjectCleanupResult>;
329
+
330
+ /**
331
+ * Clean a single path
332
+ * @param {string} pathToClean
333
+ */
334
+ cleanPath(
335
+ pathToClean: string,
336
+ options?: IProjectCleanupOptions
337
+ ): Promise<IProjectCleanupResult>;
338
+ }
339
+
340
+ interface IProjectCleanupOptions {
341
+ /**
342
+ * When set, the cleanup service will calculate the size of the cleaned up files.
343
+ */
344
+ stats?: boolean;
345
+ /**
346
+ * When set, the cleanup service will not delete any files.
347
+ */
348
+ dryRun?: boolean;
349
+ /**
350
+ * When set, the cleanup service will not print any messages to the console.
351
+ */
352
+ silent?: boolean;
353
+ }
354
+
355
+ interface IProjectCleanupResult {
356
+ ok: boolean;
357
+ /**
358
+ * When stats is set to true, this will contain a map of the cleaned up paths and their size.
359
+ */
360
+ stats?: Map<string, number>;
361
+ }
362
+
363
+ interface IProjectPathCleanupResult {
364
+ ok: boolean;
365
+ /**
366
+ * When stats is set to true, this will contain the size of the cleaned path in bytes.
367
+ */
368
+ size?: number;
369
+ }
370
+
371
+ interface IBackup {
372
+ create(): IBackup;
373
+ restore(): IBackup;
374
+ remove(): IBackup;
375
+ isUpToDate(): boolean;
376
+ addPath(path: string): IBackup;
377
+ addPaths(paths: string[]): IBackup;
378
+ }
379
+
380
+ interface IProjectBackupService {
381
+ getBackup(name: string): IBackup;
382
+ backup(name: string, pathsToBackup: string[]): IBackup;
383
+ restore(name: string, pathsToRestore: string[]): IBackup;
384
+ }
385
+
386
+ interface IProjectConfigInformation {
387
+ hasTSConfig: boolean;
388
+ hasJSConfig: boolean;
389
+ hasNSConfig: boolean;
390
+ usingNSConfig: boolean;
391
+ TSConfigPath: string;
392
+ JSConfigPath: string;
393
+ NSConfigPath: string;
394
+ }
395
+
396
+ interface IProjectConfigService {
397
+ /**
398
+ * read the nativescript.config.(js|ts) file
399
+ * @returns {INsConfig} the parsed config data
400
+ */
401
+ readConfig(projectDir?: string): INsConfig;
402
+ /**
403
+ * Get value for a given config key path
404
+ * @param key the property key path
405
+ */
406
+ getValue(key: string, defaultValue?: any): any;
407
+ /**
408
+ * Set value for a given config key path
409
+ * @param key the property key path
410
+ * @param value
411
+ */
412
+ setValue(key: string, value: SupportedConfigValues): Promise<boolean>;
413
+
414
+ /**
415
+ * Override legacy fallback - and force using the new configs
416
+ * Used by the migrate service to force the config service to
417
+ * write new values into the new configs.
418
+ * @param force
419
+ */
420
+ setForceUsingNewConfig(force: boolean): boolean;
421
+
422
+ /**
423
+ * Override legacy fallback - and force using the legacy configs
424
+ * Used by the migrate service to force the config service to
425
+ * read values from the old configs
426
+ * @param force
427
+ */
428
+ setForceUsingLegacyConfig(force: boolean): boolean;
429
+
430
+ detectProjectConfigs(projectDir?: string): IProjectConfigInformation;
431
+
432
+ getDefaultTSConfig(appId: string, appPath: string): string;
433
+
434
+ writeDefaultConfig(projectDir?: string, appId?: string): boolean | string;
435
+
436
+ writeLegacyNSConfigIfNeeded(
437
+ projectDir: string,
438
+ runtimePackage: IBasePluginData
439
+ ): Promise<void>;
440
+ }
441
+
442
+ interface IAssetItem {
443
+ path: string;
444
+ size: string;
445
+ width: number;
446
+ height: number;
447
+ filename: string;
448
+ directory: string;
449
+ scale: string;
450
+ idiom: string;
451
+ resizeOperation?: string;
452
+ overlayImageScale?: number;
453
+ rgba?: boolean;
454
+
455
+ // additional operations for special cases
456
+ operation?: "delete" | "writeXMLColor";
457
+ data?: any;
458
+ }
459
+
460
+ interface IAssetSubGroup {
461
+ images: IAssetItem[];
462
+ info?: { version: string; author: string };
463
+ [imageType: string]: any;
464
+ }
465
+
466
+ interface IAssetGroup {
467
+ icons: IAssetSubGroup;
468
+ splashBackgrounds: IAssetSubGroup;
469
+ splashCenterImages: IAssetSubGroup;
470
+ splashImages?: IAssetSubGroup;
471
+ [imageType: string]: IAssetSubGroup;
472
+ }
473
+
474
+ interface IAssetsStructure {
475
+ ios: IAssetGroup;
476
+ android: IAssetGroup;
477
+ }
478
+
479
+ interface IImageDefinitionGroup {
480
+ icons: IAssetItem[];
481
+ splashBackgrounds: IAssetItem[];
482
+ splashCenterImages: IAssetItem[];
483
+ splashImages?: IAssetItem[];
484
+ }
485
+
486
+ interface IImageDefinitionsStructure {
487
+ ios: IImageDefinitionGroup;
488
+ android: IImageDefinitionGroup;
489
+ android_legacy: IImageDefinitionGroup;
490
+ }
491
+
492
+ interface ITemplateData {
493
+ /**
494
+ * The normalized template name
495
+ * In case no --template option is provided, use default template name
496
+ * In case --template <templateName> option is provided, use <templateName>
497
+ * In case --template <templateName>@<version> is provided, use <templateName>
498
+ * In case --ng option is provided, use default angular template name
499
+ * In case --ts option is provided, use default typescript template name
500
+ */
501
+ templateName: string;
502
+ /**
503
+ * The path to the template.
504
+ * In case template is v1, will be {pathToProjectDir}/node_modules/{templateName}.
505
+ * In case template is v2, will be null.
506
+ */
507
+ // templatePath: string;
508
+ /**
509
+ * The whole content of package.json file
510
+ */
511
+ templatePackageJsonContent: ITemplatePackageJsonContent;
512
+
513
+ /**
514
+ * The version of the package used for creating the application.
515
+ */
516
+ version: string;
517
+ }
518
+
519
+ interface ITemplatePackageJsonContent extends IBasePluginData {
520
+ dependencies: IStringDictionary;
521
+ devDependencies: IStringDictionary;
522
+ nativescript?: {
523
+ templateVersion?: string;
524
+ };
525
+ }
526
+
527
+ /**
528
+ * Describes working with templates.
529
+ */
530
+ interface IProjectTemplatesService {
531
+ /**
532
+ * Prepares template for project creation.
533
+ * In case templateName is not provided, use defaultTemplatePath.
534
+ * In case templateName is a special word, validated from us (for ex. typescript), resolve the real template name and add it to npm cache.
535
+ * In any other cases try to `npm install` the specified templateName to temp directory.
536
+ * @param {string} templateName The name of the template.
537
+ * @return {ITemplateData} Data describing the template - location where it is installed and its NativeScript version.
538
+ */
539
+ prepareTemplate(
540
+ templateName: string,
541
+ projectDir: string
542
+ ): Promise<ITemplateData>;
543
+ }
544
+
545
+ interface IPlatformProjectServiceBase {
546
+ getPluginPlatformsFolderPath(
547
+ pluginData: IPluginData,
548
+ platform: string
549
+ ): string;
550
+ getFrameworkVersion(projectData: IProjectData): string;
551
+ }
552
+
553
+ interface IBuildForDevice {
554
+ buildForDevice: boolean;
555
+ }
556
+
557
+ interface IiCloudContainerEnvironment {
558
+ iCloudContainerEnvironment: string;
559
+ }
560
+
561
+ interface INativePrepare {
562
+ skipNativePrepare: boolean;
563
+ forceRebuildNativeApp?: boolean;
564
+ restartLiveSync?: boolean;
565
+ }
566
+
567
+ interface IBuildConfig
568
+ extends IAndroidBuildOptionsSettings,
569
+ IiOSBuildConfig,
570
+ IProjectDir {
571
+ clean?: boolean;
572
+ architectures?: string[];
573
+ buildOutputStdio?: string;
574
+ platform?: string;
575
+ _device?: Mobile.IDevice;
576
+ }
577
+
578
+ /**
579
+ * Describes iOS-specific build configuration properties
580
+ */
581
+ interface IiOSBuildConfig
582
+ extends IBuildForDevice,
583
+ IiCloudContainerEnvironment,
584
+ IDeviceIdentifier,
585
+ IProvision,
586
+ ITeamIdentifier,
587
+ IRelease {
588
+ /**
589
+ * Identifier of the mobile provision which will be used for the build. If not set a provision will be selected automatically if possible.
590
+ */
591
+ mobileProvisionIdentifier?: string;
592
+ /**
593
+ * Code sign identity used for build. If not set iPhone Developer is used as a default when building for device.
594
+ */
595
+ codeSignIdentity?: string;
596
+ }
597
+
598
+ /**
599
+ * Describes service used for building a project locally.
600
+ */
601
+ interface ILocalBuildService {
602
+ /**
603
+ * Builds a project locally.
604
+ * @param {string} platform Platform for which to build.
605
+ * @param {IPlatformBuildData} platformBuildOptions Additional options for controlling the build.
606
+ * @return {Promise<string>} Path to the build output.
607
+ */
608
+ build(
609
+ platform: string,
610
+ platformBuildOptions: IPlatformBuildData
611
+ ): Promise<string>;
612
+ /**
613
+ * Removes build artifacts specific to the platform
614
+ * @param {ICleanNativeAppData} data Data describing the clean app process
615
+ * @returns {void}
616
+ */
617
+ cleanNativeApp(data: ICleanNativeAppData): Promise<void>;
618
+ }
619
+
620
+ interface ICleanNativeAppData extends IProjectDir, IPlatform {}
621
+
622
+ interface IValidatePlatformOutput {
623
+ checkEnvironmentRequirementsOutput: ICheckEnvironmentRequirementsOutput;
624
+ }
625
+
626
+ interface ITestExecutionService {
627
+ startKarmaServer(
628
+ platform: string,
629
+ liveSyncInfo: ILiveSyncInfo,
630
+ deviceDescriptors: ILiveSyncDeviceDescriptor[]
631
+ ): Promise<void>;
632
+ canStartKarmaServer(projectData: IProjectData): Promise<boolean>;
633
+ }
634
+
635
+ interface ITestInitializationService {
636
+ getDependencies(framework: string): IDependencyInformation[];
637
+ getFrameworkNames(): string[];
638
+ }
639
+
640
+ /**
641
+ * Describes a service used to facilitate communication with CocoaPods
642
+ */
643
+ interface ICocoaPodsService {
644
+ /**
645
+ * Get the header needed for the beginning of every Podfile
646
+ * @param {string} targetName The name of the target (usually the same as the project's name).
647
+ * @return {string} The header which needs to be placed at the beginning of a Podfile.
648
+ */
649
+ getPodfileHeader(targetName: string): string;
650
+ /**
651
+ * Get the footer needed for the end of every Podfile
652
+ * @return {string} The footer which needs to be placed at the end of a Podfile.
653
+ */
654
+ getPodfileFooter(): string;
655
+
656
+ /**
657
+ * Merges the Podfile's content from App_Resources in the project's Podfile.
658
+ * @param projectData Information about the project.
659
+ * @param platformData Information about the platform.
660
+ * @returns {Promise<void>}
661
+ */
662
+ applyPodfileFromAppResources(
663
+ projectData: IProjectData,
664
+ platformData: IPlatformData
665
+ ): Promise<void>;
666
+
667
+ applyPodfileArchExclusions(
668
+ projectData: IProjectData,
669
+ platformData: IPlatformData
670
+ ): Promise<void>;
671
+
672
+ applyPodfileFromExtensions(
673
+ projectData: IProjectData,
674
+ platformData: IPlatformData
675
+ ): Promise<void>;
676
+
677
+ /**
678
+ * Prepares the Podfile content of a plugin and merges it in the project's Podfile.
679
+ * @param {string} moduleName The module which the Podfile is from.
680
+ * @param {string} podfilePath The path to the podfile.
681
+ * @param {IProjectData} projectData Information about the project.
682
+ * @param {IPlatformData} platformData Information about the platform.
683
+ * @returns {Promise<void>}
684
+ */
685
+ applyPodfileToProject(
686
+ moduleName: string,
687
+ podfilePath: string,
688
+ projectData: IProjectData,
689
+ platformData: IPlatformData
690
+ ): Promise<void>;
691
+
692
+ /**
693
+ * Gives the path to the plugin's Podfile.
694
+ * @param {IPluginData} pluginData Information about the plugin.
695
+ * @returns {string} Path to plugin's Podfile
696
+ */
697
+ getPluginPodfilePath(pluginData: IPluginData): string;
698
+
699
+ /**
700
+ * Removes plugins Podfile content from the project.
701
+ * @param {string} moduleName The name of the module.
702
+ * @param {string} podfilePath The path to the module's Podfile.
703
+ * @param {string} projectData Information about the project.
704
+ * @param {string} nativeProjectPath Path to the native Xcode project.
705
+ * @returns {void}
706
+ */
707
+ removePodfileFromProject(
708
+ moduleName: string,
709
+ podfilePath: string,
710
+ projectData: IProjectData,
711
+ nativeProjectPath: string
712
+ ): void;
713
+
714
+ /**
715
+ * Gives the path to project's Podfile.
716
+ * @param {string} nativeProjectPath Path to the native Xcode project.
717
+ * @returns {string} Path to project's Podfile.
718
+ */
719
+ getProjectPodfilePath(nativeProjectPath: string): string;
720
+
721
+ /**
722
+ * Executes `pod install` or `sanboxpod install` in the passed project.
723
+ * @param {string} projectRoot The root directory of the native iOS project.
724
+ * @param {string} xcodeProjPath The full path to the .xcodeproj file.
725
+ * @returns {Promise<ISpawnResult>} Information about the spawned process.
726
+ */
727
+ executePodInstall(
728
+ projectRoot: string,
729
+ xcodeProjPath: string
730
+ ): Promise<ISpawnResult>;
731
+
732
+ /**
733
+ * Merges pod's xcconfig file into project's xcconfig file
734
+ * @param projectData
735
+ * @param platformData
736
+ * @param opts
737
+ */
738
+ mergePodXcconfigFile(
739
+ projectData: IProjectData,
740
+ platformData: IPlatformData,
741
+ opts: IRelease
742
+ ): Promise<void>;
743
+ }
744
+
745
+ interface ICocoaPodsPlatformManager {
746
+ addPlatformSection(
747
+ projectData: IProjectData,
748
+ podfilePlatformData: IPodfilePlatformData,
749
+ projectPodfileContent: string
750
+ ): string;
751
+ removePlatformSection(
752
+ moduleName: string,
753
+ projectPodFileContent: string,
754
+ podfilePath: string
755
+ ): string;
756
+ replacePlatformRow(
757
+ podfileContent: string,
758
+ podfilePath: string
759
+ ): { replacedContent: string; podfilePlatformData: IPodfilePlatformData };
760
+ }
761
+
762
+ declare const enum BuildNames {
763
+ debug = "Debug",
764
+ release = "Release",
765
+ }
766
+
767
+ interface IXcodeTargetBuildConfigurationProperty {
768
+ name: string;
769
+ value: any;
770
+ buildNames?: BuildNames[];
771
+ }
772
+
773
+ /**
774
+ * Describes a service used to add and remove iOS extension
775
+ */
776
+ interface IIOSNativeTargetService {
777
+ addTargetToProject(
778
+ targetRootPath: string,
779
+ targetFolder: string,
780
+ targetType: string,
781
+ project: IXcode.project,
782
+ platformData: IPlatformData,
783
+ parentTarget?: string
784
+ ): IXcode.target;
785
+ prepareSigning(
786
+ targetUuids: string[],
787
+ projectData: IProjectData,
788
+ projectPath: string
789
+ ): void;
790
+ getTargetDirectories(folderPath: string): string[];
791
+ setXcodeTargetBuildConfigurationProperties(
792
+ properties: IXcodeTargetBuildConfigurationProperty[],
793
+ targetName: string,
794
+ project: IXcode.project
795
+ ): void;
796
+ setConfigurationsFromJsonFile(
797
+ jsonPath: string,
798
+ targetUuid: string,
799
+ targetName: string,
800
+ project: IXcode.project
801
+ ): void;
802
+ }
803
+
804
+ /**
805
+ * Describes a service used to add and remove iOS extension
806
+ */
807
+ interface IIOSExtensionsService {
808
+ addExtensionsFromPath(
809
+ options: IAddExtensionsFromPathOptions
810
+ ): Promise<boolean>;
811
+ removeExtensions(options: IRemoveExtensionsOptions): void;
812
+ }
813
+
814
+ interface IIOSWatchAppService {
815
+ addWatchAppFromPath(options: IAddWatchAppFromPathOptions): Promise<boolean>;
816
+ removeWatchApp(options: IRemoveWatchAppOptions): void;
817
+ hasWatchApp(platformData: IPlatformData, projectData: IProjectData): boolean;
818
+ }
819
+
820
+ interface IAddTargetFromPathOptions {
821
+ projectData: IProjectData;
822
+ platformData: IPlatformData;
823
+ pbxProjPath: string;
824
+ }
825
+
826
+ interface IAddExtensionsFromPathOptions extends IAddTargetFromPathOptions {
827
+ extensionsFolderPath: string;
828
+ }
829
+
830
+ interface IAddWatchAppFromPathOptions extends IAddTargetFromPathOptions {
831
+ watchAppFolderPath: string;
832
+ }
833
+
834
+ interface IRemoveExtensionsOptions {
835
+ pbxProjPath: string;
836
+ }
837
+
838
+ interface IRemoveWatchAppOptions extends IRemoveExtensionsOptions {}
839
+
840
+ interface IRubyFunction {
841
+ functionName: string;
842
+ functionParameters?: string;
843
+ }
844
+
845
+ interface IPodfilePlatformData {
846
+ /**
847
+ * The content of the whole pod's platform row
848
+ */
849
+ content: string;
850
+ /**
851
+ * The version of the pod's platform
852
+ */
853
+ version: string;
854
+ /**
855
+ * The path to the pod's file
856
+ */
857
+ path: string;
858
+ }