nativescript 9.1.0-alpha.15 → 9.1.0-alpha.17

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 (946) hide show
  1. package/CHANGELOG.md +2571 -0
  2. package/bin/tns +65 -1
  3. package/config/config.json +2 -1
  4. package/config/test-deps-versions-generated.json +1 -1
  5. package/contracts/package.json +4 -0
  6. package/docs/build-jekyll-md.sh +1 -1
  7. package/docs/man_pages/config/config-set.md +2 -0
  8. package/docs/man_pages/project/testing/build-android.md +1 -1
  9. package/lib/android-tools-info.d.ts +19 -0
  10. package/lib/android-tools-info.js +0 -12
  11. package/lib/base-package-manager.d.ts +28 -0
  12. package/lib/base-package-manager.js +0 -7
  13. package/lib/bootstrap.js +3 -6
  14. package/lib/bun-package-manager.d.ts +16 -0
  15. package/lib/bun-package-manager.js +1 -14
  16. package/lib/color.d.ts +39 -0
  17. package/lib/color.js +0 -4
  18. package/lib/commands/add-platform.d.ts +14 -0
  19. package/lib/commands/add-platform.js +0 -1
  20. package/lib/commands/apple-login.d.ts +14 -0
  21. package/lib/commands/apple-login.js +0 -1
  22. package/lib/commands/appstore-list.d.ts +21 -0
  23. package/lib/commands/appstore-list.js +0 -1
  24. package/lib/commands/appstore-upload.d.ts +25 -0
  25. package/lib/commands/appstore-upload.js +0 -3
  26. package/lib/commands/build.d.ts +58 -0
  27. package/lib/commands/build.js +3 -3
  28. package/lib/commands/clean.d.ts +21 -0
  29. package/lib/commands/clean.js +1 -22
  30. package/lib/commands/command-base.d.ts +16 -0
  31. package/lib/commands/command-base.js +0 -1
  32. package/lib/commands/config.d.ts +30 -0
  33. package/lib/commands/config.js +0 -5
  34. package/lib/commands/create-project.d.ts +42 -0
  35. package/lib/commands/create-project.js +0 -6
  36. package/lib/commands/debug.d.ts +53 -0
  37. package/lib/commands/debug.js +2 -6
  38. package/lib/commands/deploy.d.ts +32 -0
  39. package/lib/commands/deploy.js +3 -3
  40. package/lib/commands/embedding/embed.d.ts +27 -0
  41. package/lib/commands/embedding/embed.js +0 -7
  42. package/lib/commands/extensibility/install-extension.d.ts +10 -0
  43. package/lib/commands/extensibility/install-extension.js +0 -1
  44. package/lib/commands/extensibility/list-extensions.d.ts +9 -0
  45. package/lib/commands/extensibility/list-extensions.js +0 -1
  46. package/lib/commands/extensibility/uninstall-extension.d.ts +10 -0
  47. package/lib/commands/extensibility/uninstall-extension.js +0 -1
  48. package/lib/commands/fonts.d.ts +12 -0
  49. package/lib/commands/fonts.js +0 -1
  50. package/lib/commands/generate-assets.d.ts +29 -0
  51. package/lib/commands/generate-assets.js +0 -1
  52. package/lib/commands/generate-help.d.ts +8 -0
  53. package/lib/commands/generate-help.js +0 -1
  54. package/lib/commands/generate.d.ts +12 -0
  55. package/lib/commands/generate.js +1 -48
  56. package/lib/commands/hooks/common.d.ts +22 -0
  57. package/lib/commands/hooks/common.js +1 -2
  58. package/lib/commands/hooks/hooks-lock.d.ts +24 -0
  59. package/lib/commands/hooks/hooks-lock.js +0 -1
  60. package/lib/commands/hooks/hooks.d.ts +17 -0
  61. package/lib/commands/hooks/hooks.js +0 -1
  62. package/lib/commands/info.d.ts +8 -0
  63. package/lib/commands/info.js +0 -1
  64. package/lib/commands/install.d.ts +25 -0
  65. package/lib/commands/install.js +0 -1
  66. package/lib/commands/list-platforms.d.ts +11 -0
  67. package/lib/commands/list-platforms.js +0 -1
  68. package/lib/commands/migrate.d.ts +13 -0
  69. package/lib/commands/migrate.js +0 -1
  70. package/lib/commands/native-add.d.ts +49 -0
  71. package/lib/commands/native-add.js +0 -5
  72. package/lib/commands/platform-clean.d.ts +17 -0
  73. package/lib/commands/platform-clean.js +0 -1
  74. package/lib/commands/plugin/add-plugin.d.ts +13 -0
  75. package/lib/commands/plugin/add-plugin.js +0 -1
  76. package/lib/commands/plugin/build-plugin.d.ts +18 -0
  77. package/lib/commands/plugin/build-plugin.js +0 -1
  78. package/lib/commands/plugin/create-plugin.d.ts +30 -0
  79. package/lib/commands/plugin/create-plugin.js +0 -5
  80. package/lib/commands/plugin/list-plugins.d.ts +12 -0
  81. package/lib/commands/plugin/list-plugins.js +0 -1
  82. package/lib/commands/plugin/remove-plugin.d.ts +14 -0
  83. package/lib/commands/plugin/remove-plugin.js +0 -2
  84. package/lib/commands/plugin/update-plugin.d.ts +13 -0
  85. package/lib/commands/plugin/update-plugin.js +0 -1
  86. package/lib/commands/post-install.d.ts +16 -0
  87. package/lib/commands/post-install.js +0 -6
  88. package/lib/commands/prepare.d.ts +40 -0
  89. package/lib/commands/prepare.js +4 -9
  90. package/lib/commands/preview.d.ts +18 -0
  91. package/lib/commands/preview.js +1 -2
  92. package/lib/commands/remove-platform.d.ts +14 -0
  93. package/lib/commands/remove-platform.js +0 -1
  94. package/lib/commands/resources/resources-update.d.ts +13 -0
  95. package/lib/commands/resources/resources-update.js +0 -2
  96. package/lib/commands/run.d.ts +61 -0
  97. package/lib/commands/run.js +0 -1
  98. package/lib/commands/setup.d.ts +8 -0
  99. package/lib/commands/setup.js +0 -1
  100. package/lib/commands/start.d.ts +9 -0
  101. package/lib/commands/start.js +0 -1
  102. package/lib/commands/test-init.js +0 -4
  103. package/lib/commands/test.js +3 -9
  104. package/lib/commands/typings.d.ts +22 -0
  105. package/lib/commands/typings.js +1 -2
  106. package/lib/commands/update-platform.d.ts +17 -0
  107. package/lib/commands/update-platform.js +0 -5
  108. package/lib/commands/update.d.ts +21 -0
  109. package/lib/commands/update.js +0 -2
  110. package/lib/commands/widget.d.ts +24 -0
  111. package/lib/commands/widget.js +0 -19
  112. package/lib/common/bootstrap.js +0 -1
  113. package/lib/common/child-process.d.ts +17 -0
  114. package/lib/common/child-process.js +0 -3
  115. package/lib/common/codeGeneration/code-entity.d.ts +22 -0
  116. package/lib/common/codeGeneration/code-entity.js +0 -1
  117. package/lib/common/codeGeneration/code-printer.d.ts +10 -0
  118. package/lib/common/codeGeneration/code-printer.js +0 -1
  119. package/lib/common/command-params.d.ts +14 -0
  120. package/lib/common/command-params.js +0 -1
  121. package/lib/common/commands/analytics.d.ts +30 -0
  122. package/lib/common/commands/analytics.js +0 -3
  123. package/lib/common/commands/autocompletion.d.ts +35 -0
  124. package/lib/common/commands/autocompletion.js +0 -3
  125. package/lib/common/commands/device/device-log-stream.d.ts +16 -0
  126. package/lib/common/commands/device/device-log-stream.js +0 -1
  127. package/lib/common/commands/device/get-file.d.ts +14 -0
  128. package/lib/common/commands/device/get-file.js +0 -2
  129. package/lib/common/commands/device/list-applications.d.ts +10 -0
  130. package/lib/common/commands/device/list-applications.js +0 -1
  131. package/lib/common/commands/device/list-devices.d.ts +16 -0
  132. package/lib/common/commands/device/list-devices.js +0 -3
  133. package/lib/common/commands/device/list-files.d.ts +14 -0
  134. package/lib/common/commands/device/list-files.js +0 -2
  135. package/lib/common/commands/device/put-file.d.ts +14 -0
  136. package/lib/common/commands/device/put-file.js +0 -2
  137. package/lib/common/commands/device/run-application.d.ts +13 -0
  138. package/lib/common/commands/device/run-application.js +0 -1
  139. package/lib/common/commands/device/stop-application.d.ts +10 -0
  140. package/lib/common/commands/device/stop-application.js +0 -1
  141. package/lib/common/commands/device/uninstall-application.d.ts +10 -0
  142. package/lib/common/commands/device/uninstall-application.js +0 -1
  143. package/lib/common/commands/doctor.d.ts +23 -0
  144. package/lib/common/commands/doctor.js +3 -3
  145. package/lib/common/commands/generate-messages.d.ts +13 -0
  146. package/lib/common/commands/generate-messages.js +0 -1
  147. package/lib/common/commands/help.d.ts +14 -0
  148. package/lib/common/commands/help.js +0 -1
  149. package/lib/common/commands/package-manager-get.d.ts +10 -0
  150. package/lib/common/commands/package-manager-get.js +0 -1
  151. package/lib/common/commands/package-manager-set.d.ts +11 -0
  152. package/lib/common/commands/package-manager-set.js +0 -1
  153. package/lib/common/commands/post-install.d.ts +9 -0
  154. package/lib/common/commands/post-install.js +0 -1
  155. package/lib/common/commands/preuninstall.d.ts +16 -0
  156. package/lib/common/commands/preuninstall.js +2 -11
  157. package/lib/common/commands/proxy/proxy-base.d.ts +13 -0
  158. package/lib/common/commands/proxy/proxy-base.js +0 -4
  159. package/lib/common/commands/proxy/proxy-clear.d.ts +9 -0
  160. package/lib/common/commands/proxy/proxy-clear.js +0 -1
  161. package/lib/common/commands/proxy/proxy-get.d.ts +9 -0
  162. package/lib/common/commands/proxy/proxy-get.js +0 -1
  163. package/lib/common/commands/proxy/proxy-set.d.ts +23 -0
  164. package/lib/common/commands/proxy/proxy-set.js +0 -1
  165. package/lib/common/common-lib.js +0 -1
  166. package/lib/common/constants.d.ts +117 -0
  167. package/lib/common/constants.js +14 -12
  168. package/lib/common/contracts/command-registry.d.ts +35 -0
  169. package/lib/common/contracts/command-registry.js +16 -0
  170. package/lib/common/contracts/index.d.ts +5 -0
  171. package/lib/common/contracts/index.js +11 -0
  172. package/lib/common/contracts/key-command-registry.d.ts +7 -0
  173. package/lib/common/contracts/key-command-registry.js +16 -0
  174. package/lib/common/contracts/module-registry.d.ts +4 -0
  175. package/lib/common/contracts/module-registry.js +16 -0
  176. package/lib/common/contracts/public-api-builder.d.ts +5 -0
  177. package/lib/common/contracts/public-api-builder.js +16 -0
  178. package/lib/common/declarations.d.ts +49 -118
  179. package/lib/common/decorators.d.ts +13 -0
  180. package/lib/common/decorators.js +0 -48
  181. package/lib/common/define-command.d.ts +53 -0
  182. package/lib/common/define-command.js +147 -0
  183. package/lib/common/define-hook.d.ts +29 -0
  184. package/lib/common/define-hook.js +101 -0
  185. package/lib/common/definitions/commands.d.ts +7 -0
  186. package/lib/common/definitions/extensibility.d.ts +7 -0
  187. package/lib/common/definitions/key-commands.d.ts +15 -52
  188. package/lib/common/definitions/key-commands.js +8 -0
  189. package/lib/common/definitions/yok.d.ts +43 -35
  190. package/lib/common/deprecation.d.ts +12 -0
  191. package/lib/common/deprecation.js +56 -0
  192. package/lib/common/di/contract.d.ts +7 -0
  193. package/lib/common/di/contract.js +34 -0
  194. package/lib/common/di/forward-ref.d.ts +2 -0
  195. package/lib/common/di/forward-ref.js +15 -0
  196. package/lib/common/di/index.d.ts +8 -0
  197. package/lib/common/di/index.js +19 -0
  198. package/lib/common/di/inject.d.ts +8 -0
  199. package/lib/common/di/inject.js +41 -0
  200. package/lib/common/di/injector.d.ts +38 -0
  201. package/lib/common/di/injector.js +268 -0
  202. package/lib/common/di/providers.d.ts +30 -0
  203. package/lib/common/di/providers.js +7 -0
  204. package/lib/common/dispatchers.d.ts +21 -0
  205. package/lib/common/dispatchers.js +1 -10
  206. package/lib/common/enums.d.ts +34 -0
  207. package/lib/common/enums.js +42 -0
  208. package/lib/common/errors.d.ts +15 -0
  209. package/lib/common/errors.js +4 -13
  210. package/lib/common/file-system.d.ts +77 -0
  211. package/lib/common/file-system.js +2 -13
  212. package/lib/common/header.d.ts +1 -0
  213. package/lib/common/header.js +0 -3
  214. package/lib/common/helpers.d.ts +62 -0
  215. package/lib/common/helpers.js +6 -92
  216. package/lib/common/host-info.d.ts +24 -0
  217. package/lib/common/host-info.js +0 -4
  218. package/lib/common/http-client.d.ts +14 -0
  219. package/lib/common/http-client.js +11 -20
  220. package/lib/common/logger/appenders/cli-appender.d.ts +2 -0
  221. package/lib/common/logger/appenders/cli-appender.js +0 -4
  222. package/lib/common/logger/appenders/emit-appender.d.ts +5 -0
  223. package/lib/common/logger/appenders/emit-appender.js +0 -4
  224. package/lib/common/logger/layouts/cli-layout.d.ts +2 -0
  225. package/lib/common/logger/layouts/cli-layout.js +0 -1
  226. package/lib/common/logger/logger.d.ts +24 -0
  227. package/lib/common/logger/logger.js +0 -5
  228. package/lib/common/messages/messages.d.ts +7 -0
  229. package/lib/common/messages/messages.js +0 -6
  230. package/lib/common/mobile/android/android-application-manager.d.ts +31 -0
  231. package/lib/common/mobile/android/android-application-manager.js +1 -20
  232. package/lib/common/mobile/android/android-debug-bridge-result-handler.d.ts +9 -0
  233. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +0 -1
  234. package/lib/common/mobile/android/android-debug-bridge.d.ts +24 -0
  235. package/lib/common/mobile/android/android-debug-bridge.js +0 -6
  236. package/lib/common/mobile/android/android-device-file-system.d.ts +26 -0
  237. package/lib/common/mobile/android/android-device-file-system.js +0 -4
  238. package/lib/common/mobile/android/android-device-hash-service.d.ts +23 -0
  239. package/lib/common/mobile/android/android-device-hash-service.js +0 -3
  240. package/lib/common/mobile/android/android-device.d.ts +24 -0
  241. package/lib/common/mobile/android/android-device.js +0 -8
  242. package/lib/common/mobile/android/android-emulator-services.d.ts +23 -0
  243. package/lib/common/mobile/android/android-emulator-services.js +1 -2
  244. package/lib/common/mobile/android/android-ini-file-parser.d.ts +8 -0
  245. package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
  246. package/lib/common/mobile/android/android-log-filter.d.ts +11 -0
  247. package/lib/common/mobile/android/android-log-filter.js +0 -4
  248. package/lib/common/mobile/android/android-virtual-device-service.d.ts +37 -0
  249. package/lib/common/mobile/android/android-virtual-device-service.js +0 -26
  250. package/lib/common/mobile/android/device-android-debug-bridge.d.ts +18 -0
  251. package/lib/common/mobile/android/device-android-debug-bridge.js +0 -1
  252. package/lib/common/mobile/android/genymotion/genymotion-service.d.ts +26 -0
  253. package/lib/common/mobile/android/genymotion/genymotion-service.js +1 -6
  254. package/lib/common/mobile/android/genymotion/virtualbox-service.d.ts +13 -0
  255. package/lib/common/mobile/android/genymotion/virtualbox-service.js +0 -11
  256. package/lib/common/mobile/android/logcat-helper.d.ts +17 -0
  257. package/lib/common/mobile/android/logcat-helper.js +0 -13
  258. package/lib/common/mobile/application-manager-base.d.ts +27 -0
  259. package/lib/common/mobile/application-manager-base.js +0 -6
  260. package/lib/common/mobile/device-emitter.d.ts +8 -0
  261. package/lib/common/mobile/device-emitter.js +0 -4
  262. package/lib/common/mobile/device-log-emitter.d.ts +9 -0
  263. package/lib/common/mobile/device-log-emitter.js +0 -1
  264. package/lib/common/mobile/device-log-provider-base.d.ts +21 -0
  265. package/lib/common/mobile/device-log-provider-base.js +0 -1
  266. package/lib/common/mobile/device-log-provider.d.ts +21 -0
  267. package/lib/common/mobile/device-log-provider.js +0 -23
  268. package/lib/common/mobile/device-platforms-constants.d.ts +8 -0
  269. package/lib/common/mobile/device-platforms-constants.js +0 -1
  270. package/lib/common/mobile/emulator-helper.d.ts +32 -0
  271. package/lib/common/mobile/emulator-helper.js +0 -3
  272. package/lib/common/mobile/ios/device/ios-application-manager.d.ts +27 -0
  273. package/lib/common/mobile/ios/device/ios-application-manager.js +0 -3
  274. package/lib/common/mobile/ios/device/ios-device-file-system.d.ts +19 -0
  275. package/lib/common/mobile/ios/device/ios-device-file-system.js +0 -9
  276. package/lib/common/mobile/ios/device/ios-device-operations.d.ts +29 -0
  277. package/lib/common/mobile/ios/device/ios-device-operations.js +0 -4
  278. package/lib/common/mobile/ios/device/ios-device.d.ts +32 -0
  279. package/lib/common/mobile/ios/device/ios-device.js +0 -4
  280. package/lib/common/mobile/ios/ios-device-base.d.ts +24 -0
  281. package/lib/common/mobile/ios/ios-device-base.js +0 -1
  282. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
  283. package/lib/common/mobile/ios/ios-log-filter.d.ts +6 -0
  284. package/lib/common/mobile/ios/ios-log-filter.js +0 -1
  285. package/lib/common/mobile/ios/simulator/ios-emulator-services.d.ts +1 -0
  286. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +0 -4
  287. package/lib/common/mobile/ios/simulator/ios-sim-resolver.d.ts +7 -0
  288. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +0 -1
  289. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.d.ts +27 -0
  290. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +0 -6
  291. package/lib/common/mobile/ios/simulator/ios-simulator-device.d.ts +27 -0
  292. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +0 -5
  293. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.d.ts +16 -0
  294. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +0 -1
  295. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.d.ts +15 -0
  296. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +0 -1
  297. package/lib/common/mobile/local-to-device-path-data-factory.d.ts +3 -0
  298. package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
  299. package/lib/common/mobile/log-filter.d.ts +13 -0
  300. package/lib/common/mobile/log-filter.js +0 -2
  301. package/lib/common/mobile/logging-levels.d.ts +4 -0
  302. package/lib/common/mobile/logging-levels.js +0 -1
  303. package/lib/common/mobile/mobile-core/android-device-discovery.d.ts +16 -0
  304. package/lib/common/mobile/mobile-core/android-device-discovery.js +0 -2
  305. package/lib/common/mobile/mobile-core/android-emulator-discovery.d.ts +11 -0
  306. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +0 -3
  307. package/lib/common/mobile/mobile-core/android-process-service.d.ts +33 -0
  308. package/lib/common/mobile/mobile-core/android-process-service.js +0 -32
  309. package/lib/common/mobile/mobile-core/device-discovery.d.ts +12 -0
  310. package/lib/common/mobile/mobile-core/device-discovery.js +0 -1
  311. package/lib/common/mobile/mobile-core/devices-service.d.ts +99 -0
  312. package/lib/common/mobile/mobile-core/devices-service.js +0 -69
  313. package/lib/common/mobile/mobile-core/ios-device-discovery.d.ts +12 -0
  314. package/lib/common/mobile/mobile-core/ios-device-discovery.js +0 -2
  315. package/lib/common/mobile/mobile-core/ios-simulator-discovery.d.ts +20 -0
  316. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +0 -3
  317. package/lib/common/mobile/mobile-helper.d.ts +22 -0
  318. package/lib/common/mobile/mobile-helper.js +0 -1
  319. package/lib/common/mobile/wp8/wp8-emulator-services.d.ts +1 -0
  320. package/lib/common/mobile/wp8/wp8-emulator-services.js +0 -1
  321. package/lib/common/opener.d.ts +4 -0
  322. package/lib/common/opener.js +0 -1
  323. package/lib/common/os-info.d.ts +7 -0
  324. package/lib/common/os-info.js +0 -1
  325. package/lib/common/plist-parser.d.ts +5 -0
  326. package/lib/common/plist-parser.js +0 -1
  327. package/lib/common/project-helper.d.ts +15 -0
  328. package/lib/common/project-helper.js +0 -1
  329. package/lib/common/prompter.d.ts +23 -0
  330. package/lib/common/prompter.js +1 -9
  331. package/lib/common/queue.d.ts +8 -0
  332. package/lib/common/queue.js +0 -1
  333. package/lib/common/resource-loader.d.ts +10 -0
  334. package/lib/common/resource-loader.js +0 -1
  335. package/lib/common/services/analytics/google-analytics-custom-dimensions.d.ts +8 -15
  336. package/lib/common/services/analytics/google-analytics-custom-dimensions.js +13 -0
  337. package/lib/common/services/auto-completion-service.d.ts +36 -0
  338. package/lib/common/services/auto-completion-service.js +1 -13
  339. package/lib/common/services/cancellation.d.ts +1 -0
  340. package/lib/common/services/cancellation.js +2 -2
  341. package/lib/common/services/command-definition-adapter.d.ts +6 -0
  342. package/lib/common/services/command-definition-adapter.js +141 -0
  343. package/lib/common/services/commands-service.d.ts +30 -0
  344. package/lib/common/services/commands-service.js +10 -18
  345. package/lib/common/services/help-service.d.ts +46 -0
  346. package/lib/common/services/help-service.js +4 -11
  347. package/lib/common/services/hooks-service.d.ts +40 -0
  348. package/lib/common/services/hooks-service.js +110 -64
  349. package/lib/common/services/ios-notification-service.d.ts +7 -0
  350. package/lib/common/services/ios-notification-service.js +0 -1
  351. package/lib/common/services/json-file-settings-service.d.ts +24 -0
  352. package/lib/common/services/json-file-settings-service.js +0 -6
  353. package/lib/common/services/lock-service.d.ts +18 -0
  354. package/lib/common/services/lock-service.js +0 -6
  355. package/lib/common/services/message-contract-generator.d.ts +8 -0
  356. package/lib/common/services/message-contract-generator.js +0 -1
  357. package/lib/common/services/messages-service.d.ts +15 -0
  358. package/lib/common/services/messages-service.js +0 -1
  359. package/lib/common/services/micro-templating-service.d.ts +12 -0
  360. package/lib/common/services/micro-templating-service.js +0 -6
  361. package/lib/common/services/net-service.d.ts +13 -0
  362. package/lib/common/services/net-service.js +0 -3
  363. package/lib/common/services/project-files-manager.d.ts +14 -0
  364. package/lib/common/services/project-files-manager.js +0 -5
  365. package/lib/common/services/project-files-provider-base.d.ts +12 -0
  366. package/lib/common/services/project-files-provider-base.js +0 -1
  367. package/lib/common/services/proxy-service.d.ts +12 -0
  368. package/lib/common/services/proxy-service.js +0 -1
  369. package/lib/common/services/qr.d.ts +7 -0
  370. package/lib/common/services/qr.js +0 -1
  371. package/lib/common/services/settings-service.d.ts +10 -0
  372. package/lib/common/services/settings-service.js +0 -1
  373. package/lib/common/services/xcode-select-service.d.ts +12 -0
  374. package/lib/common/services/xcode-select-service.js +0 -1
  375. package/lib/common/utils.d.ts +10 -0
  376. package/lib/common/utils.js +0 -1
  377. package/lib/common/validators/project-name-validator.d.ts +18 -0
  378. package/lib/common/validators/project-name-validator.js +0 -1
  379. package/lib/common/validators/validation-result.d.ts +7 -0
  380. package/lib/common/validators/validation-result.js +0 -1
  381. package/lib/common/verify-node-version.d.ts +3 -0
  382. package/lib/common/verify-node-version.js +2 -8
  383. package/lib/common/yok.d.ts +60 -0
  384. package/lib/common/yok.js +173 -165
  385. package/lib/config.d.ts +45 -0
  386. package/lib/config.js +3 -23
  387. package/lib/constants-provider.d.ts +4 -0
  388. package/lib/constants-provider.js +0 -1
  389. package/lib/constants.d.ts +331 -0
  390. package/lib/constants.js +59 -58
  391. package/lib/contracts/doctor-service.d.ts +20 -0
  392. package/lib/contracts/doctor-service.js +16 -0
  393. package/lib/contracts/index.d.ts +14 -0
  394. package/lib/contracts/index.js +32 -0
  395. package/lib/contracts/project-name-service.d.ts +5 -0
  396. package/lib/contracts/project-name-service.js +16 -0
  397. package/lib/controllers/build-controller.d.ts +23 -0
  398. package/lib/controllers/build-controller.js +3 -4
  399. package/lib/controllers/debug-controller.d.ts +31 -0
  400. package/lib/controllers/debug-controller.js +3 -8
  401. package/lib/controllers/deploy-controller.d.ts +7 -0
  402. package/lib/controllers/deploy-controller.js +0 -1
  403. package/lib/controllers/migrate-controller.d.ts +67 -0
  404. package/lib/controllers/migrate-controller.js +4 -90
  405. package/lib/controllers/platform-controller.d.ts +20 -0
  406. package/lib/controllers/platform-controller.js +2 -9
  407. package/lib/controllers/prepare-controller.d.ts +45 -0
  408. package/lib/controllers/prepare-controller.js +8 -24
  409. package/lib/controllers/run-controller.d.ts +57 -0
  410. package/lib/controllers/run-controller.js +1 -81
  411. package/lib/controllers/update-controller-base.d.ts +27 -0
  412. package/lib/controllers/update-controller-base.js +0 -1
  413. package/lib/controllers/update-controller.d.ts +36 -0
  414. package/lib/controllers/update-controller.js +0 -11
  415. package/lib/data/build-data.d.ts +33 -0
  416. package/lib/data/build-data.js +0 -1
  417. package/lib/data/controller-data-base.d.ts +8 -0
  418. package/lib/data/controller-data-base.js +0 -1
  419. package/lib/data/debug-data.d.ts +2 -0
  420. package/lib/data/debug-data.js +0 -1
  421. package/lib/data/platform-data.d.ts +7 -0
  422. package/lib/data/platform-data.js +0 -1
  423. package/lib/data/prepare-data.d.ts +22 -0
  424. package/lib/data/prepare-data.js +0 -1
  425. package/lib/data/run-data.d.ts +6 -0
  426. package/lib/data/run-data.js +0 -1
  427. package/lib/declarations.d.ts +2 -1
  428. package/lib/definitions/ios.d.ts +36 -1
  429. package/lib/definitions/project.d.ts +1 -6
  430. package/lib/definitions/system-warnings.d.ts +3 -3
  431. package/lib/definitions/system-warnings.js +8 -0
  432. package/lib/detached-processes/cleanup-js-subprocess.d.ts +2 -0
  433. package/lib/detached-processes/cleanup-js-subprocess.js +3 -8
  434. package/lib/detached-processes/cleanup-process.d.ts +1 -0
  435. package/lib/detached-processes/cleanup-process.js +15 -18
  436. package/lib/detached-processes/detached-process-enums.d.ts +15 -67
  437. package/lib/detached-processes/detached-process-enums.js +24 -0
  438. package/lib/detached-processes/file-log-service.d.ts +7 -0
  439. package/lib/detached-processes/file-log-service.js +2 -2
  440. package/lib/device-path-provider.d.ts +9 -0
  441. package/lib/device-path-provider.js +0 -1
  442. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.d.ts +22 -0
  443. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +0 -7
  444. package/lib/device-sockets/ios/notification.d.ts +13 -0
  445. package/lib/device-sockets/ios/notification.js +0 -3
  446. package/lib/device-sockets/ios/socket-request-executor.d.ts +11 -0
  447. package/lib/device-sockets/ios/socket-request-executor.js +0 -3
  448. package/lib/helpers/android-bundle-validator-helper.d.ts +18 -0
  449. package/lib/helpers/android-bundle-validator-helper.js +1 -2
  450. package/lib/helpers/deploy-command-helper.d.ts +16 -0
  451. package/lib/helpers/deploy-command-helper.js +0 -1
  452. package/lib/helpers/key-command-helper.d.ts +13 -0
  453. package/lib/helpers/key-command-helper.js +3 -4
  454. package/lib/helpers/livesync-command-helper.d.ts +36 -0
  455. package/lib/helpers/livesync-command-helper.js +2 -4
  456. package/lib/helpers/network-connectivity-validator.d.ts +12 -0
  457. package/lib/helpers/network-connectivity-validator.js +0 -1
  458. package/lib/helpers/options-track-helper.d.ts +14 -0
  459. package/lib/helpers/options-track-helper.js +4 -3
  460. package/lib/helpers/package-path-helper.d.ts +2 -0
  461. package/lib/helpers/package-path-helper.js +0 -1
  462. package/lib/helpers/platform-command-helper.d.ts +35 -0
  463. package/lib/helpers/platform-command-helper.js +2 -7
  464. package/lib/helpers/version-validator-helper.d.ts +8 -0
  465. package/lib/helpers/version-validator-helper.js +0 -1
  466. package/lib/key-commands/bootstrap.d.ts +1 -0
  467. package/lib/key-commands/bootstrap.js +3 -3
  468. package/lib/key-commands/index.d.ts +166 -0
  469. package/lib/key-commands/index.js +5 -5
  470. package/lib/nativescript-cli-lib-bootstrap.d.ts +1 -0
  471. package/lib/nativescript-cli-lib-bootstrap.js +0 -4
  472. package/lib/nativescript-cli-lib.d.ts +1 -0
  473. package/lib/nativescript-cli-lib.js +0 -1
  474. package/lib/nativescript-cli.d.ts +1 -0
  475. package/lib/nativescript-cli.js +2 -11
  476. package/lib/node/pbxproj-dom-xcode.d.ts +4 -0
  477. package/lib/node/pbxproj-dom-xcode.js +0 -1
  478. package/lib/node/xcode.d.ts +2 -0
  479. package/lib/node/xcode.js +0 -1
  480. package/lib/node-package-manager.d.ts +16 -0
  481. package/lib/node-package-manager.js +1 -11
  482. package/lib/options.d.ts +33 -0
  483. package/lib/options.js +186 -183
  484. package/lib/package-installation-manager.d.ts +30 -0
  485. package/lib/package-installation-manager.js +1 -8
  486. package/lib/package-manager.d.ts +32 -0
  487. package/lib/package-manager.js +0 -2
  488. package/lib/platform-command-param.d.ts +10 -0
  489. package/lib/platform-command-param.js +0 -1
  490. package/lib/pnpm-package-manager.d.ts +16 -0
  491. package/lib/pnpm-package-manager.js +1 -4
  492. package/lib/project-data.d.ts +58 -0
  493. package/lib/project-data.js +0 -12
  494. package/lib/providers/project-files-provider.d.ts +12 -0
  495. package/lib/providers/project-files-provider.js +0 -1
  496. package/lib/resolvers/livesync-service-resolver.d.ts +9 -0
  497. package/lib/resolvers/livesync-service-resolver.js +0 -1
  498. package/lib/services/analytics/analytics-broker-process.d.ts +1 -0
  499. package/lib/services/analytics/analytics-broker-process.js +8 -10
  500. package/lib/services/analytics/analytics-broker.d.ts +11 -0
  501. package/lib/services/analytics/analytics-broker.js +2 -2
  502. package/lib/services/analytics/analytics-service.d.ts +46 -0
  503. package/lib/services/analytics/analytics-service.js +29 -29
  504. package/lib/services/analytics/google-analytics-provider.d.ts +22 -0
  505. package/lib/services/analytics/google-analytics-provider.js +96 -92
  506. package/lib/services/analytics-settings-service.d.ts +1 -0
  507. package/lib/services/analytics-settings-service.js +0 -5
  508. package/lib/services/android/android-bundle-tool-service.d.ts +27 -0
  509. package/lib/services/android/android-bundle-tool-service.js +102 -4
  510. package/lib/services/android/gradle-build-args-service.d.ts +17 -0
  511. package/lib/services/android/gradle-build-args-service.js +0 -3
  512. package/lib/services/android/gradle-build-service.d.ts +12 -0
  513. package/lib/services/android/gradle-build-service.js +0 -1
  514. package/lib/services/android/gradle-command-service.d.ts +11 -0
  515. package/lib/services/android/gradle-command-service.js +0 -1
  516. package/lib/services/android-device-debug-service.d.ts +30 -0
  517. package/lib/services/android-device-debug-service.js +0 -6
  518. package/lib/services/android-plugin-build-service.d.ts +55 -0
  519. package/lib/services/android-plugin-build-service.js +2 -31
  520. package/lib/services/android-project-service.d.ts +75 -0
  521. package/lib/services/android-project-service.js +4 -71
  522. package/lib/services/android-resources-migration-service.d.ts +17 -0
  523. package/lib/services/android-resources-migration-service.js +0 -7
  524. package/lib/services/apple-portal/apple-portal-application-service.d.ts +12 -0
  525. package/lib/services/apple-portal/apple-portal-application-service.js +0 -1
  526. package/lib/services/apple-portal/apple-portal-cookie-service.d.ts +10 -0
  527. package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
  528. package/lib/services/apple-portal/apple-portal-session-service.d.ts +19 -0
  529. package/lib/services/apple-portal/apple-portal-session-service.js +4 -6
  530. package/lib/services/apple-portal/srp/srp-wrapper.d.ts +29 -0
  531. package/lib/services/apple-portal/srp/srp-wrapper.js +1 -4
  532. package/lib/services/assets-generation/assets-generation-service.d.ts +24 -0
  533. package/lib/services/assets-generation/assets-generation-service.js +13 -11
  534. package/lib/services/build-artifacts-service.d.ts +16 -0
  535. package/lib/services/build-artifacts-service.js +1 -2
  536. package/lib/services/build-data-service.d.ts +7 -0
  537. package/lib/services/build-data-service.js +0 -1
  538. package/lib/services/build-info-file-service.d.ts +16 -0
  539. package/lib/services/build-info-file-service.js +0 -1
  540. package/lib/services/bundler/bundler-compiler-service.d.ts +50 -0
  541. package/lib/services/bundler/bundler-compiler-service.js +3 -145
  542. package/lib/services/bundler/bundler.d.ts +75 -0
  543. package/lib/services/bundler/bundler.js +0 -1
  544. package/lib/services/cleanup-service.d.ts +29 -0
  545. package/lib/services/cleanup-service.js +10 -13
  546. package/lib/services/cocoapods-platform-manager.d.ts +17 -0
  547. package/lib/services/cocoapods-platform-manager.js +0 -9
  548. package/lib/services/cocoapods-service.d.ts +47 -0
  549. package/lib/services/cocoapods-service.js +1 -21
  550. package/lib/services/debug-data-service.d.ts +7 -0
  551. package/lib/services/debug-data-service.js +0 -1
  552. package/lib/services/debug-service-base.d.ts +12 -0
  553. package/lib/services/debug-service-base.js +0 -7
  554. package/lib/services/device/device-install-app-service.d.ts +19 -0
  555. package/lib/services/device/device-install-app-service.js +1 -2
  556. package/lib/services/doctor-service.d.ts +51 -0
  557. package/lib/services/doctor-service.js +20 -32
  558. package/lib/services/extensibility-service.d.ts +36 -0
  559. package/lib/services/extensibility-service.js +126 -13
  560. package/lib/services/files-hash-service.d.ts +17 -0
  561. package/lib/services/files-hash-service.js +0 -1
  562. package/lib/services/hmr-status-service.d.ts +19 -0
  563. package/lib/services/hmr-status-service.js +0 -2
  564. package/lib/services/info-service.d.ts +6 -0
  565. package/lib/services/info-service.js +0 -1
  566. package/lib/services/initialize-service.d.ts +8 -0
  567. package/lib/services/initialize-service.js +2 -5
  568. package/lib/services/ios/export-options-plist-service.d.ts +13 -0
  569. package/lib/services/ios/export-options-plist-service.js +0 -4
  570. package/lib/services/ios/ios-signing-service.d.ts +33 -0
  571. package/lib/services/ios/ios-signing-service.js +0 -4
  572. package/lib/services/ios/spm-pbxproj-service.d.ts +16 -0
  573. package/lib/services/ios/spm-pbxproj-service.js +234 -0
  574. package/lib/services/ios/spm-service.d.ts +35 -0
  575. package/lib/services/ios/spm-service.js +10 -138
  576. package/lib/services/ios/xcodebuild-args-service.d.ts +20 -0
  577. package/lib/services/ios/xcodebuild-args-service.js +0 -29
  578. package/lib/services/ios/xcodebuild-command-service.d.ts +17 -0
  579. package/lib/services/ios/xcodebuild-command-service.js +0 -3
  580. package/lib/services/ios/xcodebuild-service.d.ts +13 -0
  581. package/lib/services/ios/xcodebuild-service.js +1 -2
  582. package/lib/services/ios-debugger-port-service.d.ts +20 -0
  583. package/lib/services/ios-debugger-port-service.js +0 -1
  584. package/lib/services/ios-device-debug-service.d.ts +29 -0
  585. package/lib/services/ios-device-debug-service.js +0 -1
  586. package/lib/services/ios-entitlements-service.d.ts +19 -0
  587. package/lib/services/ios-entitlements-service.js +3 -4
  588. package/lib/services/ios-extensions-service.d.ts +12 -0
  589. package/lib/services/ios-extensions-service.js +0 -1
  590. package/lib/services/ios-log-filter.d.ts +11 -0
  591. package/lib/services/ios-log-filter.js +0 -20
  592. package/lib/services/ios-native-target-service.d.ts +14 -0
  593. package/lib/services/ios-native-target-service.js +5 -6
  594. package/lib/services/ios-project-service.d.ts +108 -0
  595. package/lib/services/ios-project-service.js +9 -135
  596. package/lib/services/ios-provision-service.d.ts +18 -0
  597. package/lib/services/ios-provision-service.js +0 -3
  598. package/lib/services/ios-watch-app-service.d.ts +39 -0
  599. package/lib/services/ios-watch-app-service.js +18 -75
  600. package/lib/services/ip-service.d.ts +10 -0
  601. package/lib/services/ip-service.js +0 -2
  602. package/lib/services/itmstransporter-service.d.ts +26 -0
  603. package/lib/services/itmstransporter-service.js +0 -1
  604. package/lib/services/karma-execution.d.ts +1 -0
  605. package/lib/services/karma-execution.js +0 -2
  606. package/lib/services/livesync/android-device-livesync-service-base.d.ts +19 -0
  607. package/lib/services/livesync/android-device-livesync-service-base.js +0 -1
  608. package/lib/services/livesync/android-device-livesync-service.d.ts +24 -0
  609. package/lib/services/livesync/android-device-livesync-service.js +0 -2
  610. package/lib/services/livesync/android-device-livesync-sockets-service.d.ts +36 -0
  611. package/lib/services/livesync/android-device-livesync-sockets-service.js +0 -3
  612. package/lib/services/livesync/android-livesync-service.d.ts +16 -0
  613. package/lib/services/livesync/android-livesync-service.js +0 -1
  614. package/lib/services/livesync/android-livesync-tool.d.ts +58 -0
  615. package/lib/services/livesync/android-livesync-tool.js +0 -4
  616. package/lib/services/livesync/device-livesync-service-base.d.ts +13 -0
  617. package/lib/services/livesync/device-livesync-service-base.js +0 -2
  618. package/lib/services/livesync/ios-device-livesync-service.d.ts +28 -0
  619. package/lib/services/livesync/ios-device-livesync-service.js +0 -7
  620. package/lib/services/livesync/ios-livesync-service.d.ts +17 -0
  621. package/lib/services/livesync/ios-livesync-service.js +0 -55
  622. package/lib/services/livesync/livesync-socket.d.ts +5 -0
  623. package/lib/services/livesync/livesync-socket.js +0 -1
  624. package/lib/services/livesync/platform-livesync-service-base.d.ts +25 -0
  625. package/lib/services/livesync/platform-livesync-service-base.js +0 -5
  626. package/lib/services/livesync-process-data-service.d.ts +10 -0
  627. package/lib/services/livesync-process-data-service.js +0 -1
  628. package/lib/services/log-parser-service.d.ts +11 -0
  629. package/lib/services/log-parser-service.js +0 -1
  630. package/lib/services/log-source-map-service.d.ts +28 -0
  631. package/lib/services/log-source-map-service.js +0 -15
  632. package/lib/services/marking-mode-service.d.ts +12 -0
  633. package/lib/services/marking-mode-service.js +10 -8
  634. package/lib/services/metadata-filtering-service.d.ts +19 -0
  635. package/lib/services/metadata-filtering-service.js +0 -1
  636. package/lib/services/npm-config-service.d.ts +7 -0
  637. package/lib/services/npm-config-service.js +0 -4
  638. package/lib/services/pacote-service.d.ts +16 -0
  639. package/lib/services/pacote-service.js +0 -7
  640. package/lib/services/performance-service.d.ts +19 -0
  641. package/lib/services/performance-service.js +2 -3
  642. package/lib/services/platform/add-platform-service.d.ts +21 -0
  643. package/lib/services/platform/add-platform-service.js +2 -49
  644. package/lib/services/platform/platform-validation-service.d.ts +17 -0
  645. package/lib/services/platform/platform-validation-service.js +0 -1
  646. package/lib/services/platform/prepare-native-platform-service.d.ts +15 -0
  647. package/lib/services/platform/prepare-native-platform-service.js +3 -5
  648. package/lib/services/platform-environment-requirements.d.ts +15 -0
  649. package/lib/services/platform-environment-requirements.js +4 -8
  650. package/lib/services/platform-project-service-base.d.ts +14 -0
  651. package/lib/services/platform-project-service-base.js +0 -1
  652. package/lib/services/platforms-data-service.d.ts +9 -0
  653. package/lib/services/platforms-data-service.js +0 -1
  654. package/lib/services/plugins-service.d.ts +60 -0
  655. package/lib/services/plugins-service.js +2 -20
  656. package/lib/services/prepare-data-service.d.ts +7 -0
  657. package/lib/services/prepare-data-service.js +0 -1
  658. package/lib/services/project-backup-service.d.ts +12 -0
  659. package/lib/services/project-backup-service.js +0 -4
  660. package/lib/services/project-changes-service.d.ts +30 -0
  661. package/lib/services/project-changes-service.js +3 -14
  662. package/lib/services/project-cleanup-service.d.ts +13 -0
  663. package/lib/services/project-cleanup-service.js +0 -2
  664. package/lib/services/project-config-service.d.ts +33 -0
  665. package/lib/services/project-config-service.js +35 -32
  666. package/lib/services/project-data-service.d.ts +48 -0
  667. package/lib/services/project-data-service.js +7 -36
  668. package/lib/services/project-name-service.d.ts +16 -0
  669. package/lib/services/project-name-service.js +4 -5
  670. package/lib/services/project-service.d.ts +34 -0
  671. package/lib/services/project-service.js +0 -10
  672. package/lib/services/project-templates-service.d.ts +18 -0
  673. package/lib/services/project-templates-service.js +2 -3
  674. package/lib/services/qr-code-terminal-service.d.ts +5 -0
  675. package/lib/services/qr-code-terminal-service.js +0 -1
  676. package/lib/services/require-service.d.ts +3 -0
  677. package/lib/services/require-service.js +0 -1
  678. package/lib/services/start-service.d.ts +30 -0
  679. package/lib/services/start-service.js +0 -1
  680. package/lib/services/temp-service.d.ts +14 -0
  681. package/lib/services/temp-service.js +0 -3
  682. package/lib/services/terminal-spinner-service.d.ts +5 -0
  683. package/lib/services/terminal-spinner-service.js +0 -2
  684. package/lib/services/test-execution-service.d.ts +26 -0
  685. package/lib/services/test-execution-service.js +3 -9
  686. package/lib/services/test-initialization-service.d.ts +10 -0
  687. package/lib/services/test-initialization-service.js +0 -4
  688. package/lib/services/timeline-profiler-service.d.ts +18 -0
  689. package/lib/services/timeline-profiler-service.js +0 -1
  690. package/lib/services/user-settings-service.d.ts +14 -0
  691. package/lib/services/user-settings-service.js +0 -1
  692. package/lib/services/versions-service.d.ts +5 -0
  693. package/lib/services/versions-service.js +5 -6
  694. package/lib/services/watch-ignore-list-service.d.ts +7 -0
  695. package/lib/services/watch-ignore-list-service.js +0 -1
  696. package/lib/services/xcconfig-service.d.ts +15 -0
  697. package/lib/services/xcconfig-service.js +45 -12
  698. package/lib/services/xcproj-service.d.ts +1 -0
  699. package/lib/services/xcproj-service.js +0 -1
  700. package/lib/shared-event-bus.d.ts +1 -0
  701. package/lib/shared-event-bus.js +0 -6
  702. package/lib/sys-info.d.ts +18 -0
  703. package/lib/sys-info.js +2 -2
  704. package/lib/tools/config-manipulation/config-transformer.d.ts +28 -0
  705. package/lib/tools/config-manipulation/config-transformer.js +15 -19
  706. package/lib/tools/node-modules/node-modules-builder.d.ts +9 -0
  707. package/lib/tools/node-modules/node-modules-builder.js +0 -1
  708. package/lib/tools/node-modules/node-modules-dependencies-builder.d.ts +10 -0
  709. package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
  710. package/lib/tools/plist-merge/plist-session.d.ts +30 -0
  711. package/lib/tools/plist-merge/plist-session.js +92 -0
  712. package/lib/yarn-package-manager.d.ts +16 -0
  713. package/lib/yarn-package-manager.js +0 -1
  714. package/lib/yarn2-package-manager.d.ts +18 -0
  715. package/lib/yarn2-package-manager.js +0 -3
  716. package/package.json +11 -118
  717. package/postinstall.js +7 -2
  718. package/lib/.d.ts +0 -504
  719. package/lib/services/analytics/google-analytics-cross-client-custom-dimensions.d.ts +0 -6
  720. package/node_modules/debug/LICENSE +0 -20
  721. package/node_modules/debug/README.md +0 -481
  722. package/node_modules/debug/package.json +0 -64
  723. package/node_modules/debug/src/browser.js +0 -272
  724. package/node_modules/debug/src/common.js +0 -292
  725. package/node_modules/debug/src/index.js +0 -10
  726. package/node_modules/debug/src/node.js +0 -263
  727. package/node_modules/ms/index.js +0 -162
  728. package/node_modules/ms/license.md +0 -21
  729. package/node_modules/ms/package.json +0 -38
  730. package/node_modules/ms/readme.md +0 -59
  731. package/node_modules/universal-analytics/.travis.yml +0 -11
  732. package/node_modules/universal-analytics/AcceptableParams.md +0 -757
  733. package/node_modules/universal-analytics/HISTORY.md +0 -170
  734. package/node_modules/universal-analytics/Makefile +0 -5
  735. package/node_modules/universal-analytics/README.md +0 -651
  736. package/node_modules/universal-analytics/index.js +0 -2
  737. package/node_modules/universal-analytics/lib/config.js +0 -171
  738. package/node_modules/universal-analytics/lib/index.js +0 -563
  739. package/node_modules/universal-analytics/lib/request.js +0 -73
  740. package/node_modules/universal-analytics/lib/utils.js +0 -29
  741. package/node_modules/universal-analytics/package.json +0 -33
  742. package/node_modules/universal-analytics/test/_enqueue.js +0 -144
  743. package/node_modules/universal-analytics/test/event.js +0 -346
  744. package/node_modules/universal-analytics/test/exception.js +0 -233
  745. package/node_modules/universal-analytics/test/index.js +0 -141
  746. package/node_modules/universal-analytics/test/item.js +0 -550
  747. package/node_modules/universal-analytics/test/middleware.js +0 -119
  748. package/node_modules/universal-analytics/test/mocha.opts +0 -3
  749. package/node_modules/universal-analytics/test/pageview.js +0 -286
  750. package/node_modules/universal-analytics/test/send.js +0 -232
  751. package/node_modules/universal-analytics/test/set.js +0 -68
  752. package/node_modules/universal-analytics/test/timing.js +0 -363
  753. package/node_modules/universal-analytics/test/transaction.js +0 -371
  754. package/node_modules/uuid/LICENSE.md +0 -9
  755. package/node_modules/uuid/README.md +0 -510
  756. package/node_modules/uuid/dist/cjs/index.d.ts +0 -15
  757. package/node_modules/uuid/dist/cjs/index.js +0 -31
  758. package/node_modules/uuid/dist/cjs/max.d.ts +0 -2
  759. package/node_modules/uuid/dist/cjs/max.js +0 -3
  760. package/node_modules/uuid/dist/cjs/md5.d.ts +0 -4
  761. package/node_modules/uuid/dist/cjs/md5.js +0 -13
  762. package/node_modules/uuid/dist/cjs/native.d.ts +0 -6
  763. package/node_modules/uuid/dist/cjs/native.js +0 -4
  764. package/node_modules/uuid/dist/cjs/nil.d.ts +0 -2
  765. package/node_modules/uuid/dist/cjs/nil.js +0 -3
  766. package/node_modules/uuid/dist/cjs/package.json +0 -1
  767. package/node_modules/uuid/dist/cjs/parse.d.ts +0 -2
  768. package/node_modules/uuid/dist/cjs/parse.js +0 -11
  769. package/node_modules/uuid/dist/cjs/regex.d.ts +0 -2
  770. package/node_modules/uuid/dist/cjs/regex.js +0 -3
  771. package/node_modules/uuid/dist/cjs/rng.d.ts +0 -1
  772. package/node_modules/uuid/dist/cjs/rng.js +0 -13
  773. package/node_modules/uuid/dist/cjs/sha1.d.ts +0 -4
  774. package/node_modules/uuid/dist/cjs/sha1.js +0 -13
  775. package/node_modules/uuid/dist/cjs/stringify.d.ts +0 -3
  776. package/node_modules/uuid/dist/cjs/stringify.js +0 -39
  777. package/node_modules/uuid/dist/cjs/types.d.ts +0 -21
  778. package/node_modules/uuid/dist/cjs/types.js +0 -2
  779. package/node_modules/uuid/dist/cjs/uuid-bin.js +0 -72
  780. package/node_modules/uuid/dist/cjs/v1.d.ts +0 -11
  781. package/node_modules/uuid/dist/cjs/v1.js +0 -87
  782. package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +0 -2
  783. package/node_modules/uuid/dist/cjs/v1ToV6.js +0 -13
  784. package/node_modules/uuid/dist/cjs/v3.d.ts +0 -9
  785. package/node_modules/uuid/dist/cjs/v3.js +0 -14
  786. package/node_modules/uuid/dist/cjs/v35.d.ts +0 -7
  787. package/node_modules/uuid/dist/cjs/v35.js +0 -41
  788. package/node_modules/uuid/dist/cjs/v4.d.ts +0 -4
  789. package/node_modules/uuid/dist/cjs/v4.js +0 -29
  790. package/node_modules/uuid/dist/cjs/v5.d.ts +0 -9
  791. package/node_modules/uuid/dist/cjs/v5.js +0 -14
  792. package/node_modules/uuid/dist/cjs/v6.d.ts +0 -4
  793. package/node_modules/uuid/dist/cjs/v6.js +0 -19
  794. package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +0 -2
  795. package/node_modules/uuid/dist/cjs/v6ToV1.js +0 -13
  796. package/node_modules/uuid/dist/cjs/v7.d.ts +0 -9
  797. package/node_modules/uuid/dist/cjs/v7.js +0 -69
  798. package/node_modules/uuid/dist/cjs/validate.d.ts +0 -2
  799. package/node_modules/uuid/dist/cjs/validate.js +0 -7
  800. package/node_modules/uuid/dist/cjs/version.d.ts +0 -2
  801. package/node_modules/uuid/dist/cjs/version.js +0 -10
  802. package/node_modules/uuid/dist/cjs-browser/index.d.ts +0 -15
  803. package/node_modules/uuid/dist/cjs-browser/index.js +0 -31
  804. package/node_modules/uuid/dist/cjs-browser/max.d.ts +0 -2
  805. package/node_modules/uuid/dist/cjs-browser/max.js +0 -3
  806. package/node_modules/uuid/dist/cjs-browser/md5.d.ts +0 -2
  807. package/node_modules/uuid/dist/cjs-browser/md5.js +0 -137
  808. package/node_modules/uuid/dist/cjs-browser/native.d.ts +0 -4
  809. package/node_modules/uuid/dist/cjs-browser/native.js +0 -4
  810. package/node_modules/uuid/dist/cjs-browser/nil.d.ts +0 -2
  811. package/node_modules/uuid/dist/cjs-browser/nil.js +0 -3
  812. package/node_modules/uuid/dist/cjs-browser/package.json +0 -1
  813. package/node_modules/uuid/dist/cjs-browser/parse.d.ts +0 -2
  814. package/node_modules/uuid/dist/cjs-browser/parse.js +0 -11
  815. package/node_modules/uuid/dist/cjs-browser/regex.d.ts +0 -2
  816. package/node_modules/uuid/dist/cjs-browser/regex.js +0 -3
  817. package/node_modules/uuid/dist/cjs-browser/rng.d.ts +0 -1
  818. package/node_modules/uuid/dist/cjs-browser/rng.js +0 -14
  819. package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +0 -2
  820. package/node_modules/uuid/dist/cjs-browser/sha1.js +0 -72
  821. package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +0 -3
  822. package/node_modules/uuid/dist/cjs-browser/stringify.js +0 -39
  823. package/node_modules/uuid/dist/cjs-browser/types.d.ts +0 -21
  824. package/node_modules/uuid/dist/cjs-browser/types.js +0 -2
  825. package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +0 -72
  826. package/node_modules/uuid/dist/cjs-browser/v1.d.ts +0 -11
  827. package/node_modules/uuid/dist/cjs-browser/v1.js +0 -87
  828. package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +0 -2
  829. package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +0 -13
  830. package/node_modules/uuid/dist/cjs-browser/v3.d.ts +0 -9
  831. package/node_modules/uuid/dist/cjs-browser/v3.js +0 -14
  832. package/node_modules/uuid/dist/cjs-browser/v35.d.ts +0 -7
  833. package/node_modules/uuid/dist/cjs-browser/v35.js +0 -41
  834. package/node_modules/uuid/dist/cjs-browser/v4.d.ts +0 -4
  835. package/node_modules/uuid/dist/cjs-browser/v4.js +0 -29
  836. package/node_modules/uuid/dist/cjs-browser/v5.d.ts +0 -9
  837. package/node_modules/uuid/dist/cjs-browser/v5.js +0 -14
  838. package/node_modules/uuid/dist/cjs-browser/v6.d.ts +0 -4
  839. package/node_modules/uuid/dist/cjs-browser/v6.js +0 -19
  840. package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +0 -2
  841. package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +0 -13
  842. package/node_modules/uuid/dist/cjs-browser/v7.d.ts +0 -9
  843. package/node_modules/uuid/dist/cjs-browser/v7.js +0 -69
  844. package/node_modules/uuid/dist/cjs-browser/validate.d.ts +0 -2
  845. package/node_modules/uuid/dist/cjs-browser/validate.js +0 -7
  846. package/node_modules/uuid/dist/cjs-browser/version.d.ts +0 -2
  847. package/node_modules/uuid/dist/cjs-browser/version.js +0 -10
  848. package/node_modules/uuid/dist/esm/bin/uuid +0 -2
  849. package/node_modules/uuid/dist/esm/index.d.ts +0 -15
  850. package/node_modules/uuid/dist/esm/index.js +0 -14
  851. package/node_modules/uuid/dist/esm/max.d.ts +0 -2
  852. package/node_modules/uuid/dist/esm/max.js +0 -1
  853. package/node_modules/uuid/dist/esm/md5.d.ts +0 -4
  854. package/node_modules/uuid/dist/esm/md5.js +0 -11
  855. package/node_modules/uuid/dist/esm/native.d.ts +0 -6
  856. package/node_modules/uuid/dist/esm/native.js +0 -2
  857. package/node_modules/uuid/dist/esm/nil.d.ts +0 -2
  858. package/node_modules/uuid/dist/esm/nil.js +0 -1
  859. package/node_modules/uuid/dist/esm/parse.d.ts +0 -2
  860. package/node_modules/uuid/dist/esm/parse.js +0 -9
  861. package/node_modules/uuid/dist/esm/regex.d.ts +0 -2
  862. package/node_modules/uuid/dist/esm/regex.js +0 -1
  863. package/node_modules/uuid/dist/esm/rng.d.ts +0 -1
  864. package/node_modules/uuid/dist/esm/rng.js +0 -10
  865. package/node_modules/uuid/dist/esm/sha1.d.ts +0 -4
  866. package/node_modules/uuid/dist/esm/sha1.js +0 -11
  867. package/node_modules/uuid/dist/esm/stringify.d.ts +0 -3
  868. package/node_modules/uuid/dist/esm/stringify.js +0 -35
  869. package/node_modules/uuid/dist/esm/types.d.ts +0 -21
  870. package/node_modules/uuid/dist/esm/uuid-bin.js +0 -70
  871. package/node_modules/uuid/dist/esm/v1.d.ts +0 -11
  872. package/node_modules/uuid/dist/esm/v1.js +0 -83
  873. package/node_modules/uuid/dist/esm/v1ToV6.d.ts +0 -2
  874. package/node_modules/uuid/dist/esm/v1ToV6.js +0 -10
  875. package/node_modules/uuid/dist/esm/v3.d.ts +0 -9
  876. package/node_modules/uuid/dist/esm/v3.js +0 -9
  877. package/node_modules/uuid/dist/esm/v35.d.ts +0 -7
  878. package/node_modules/uuid/dist/esm/v35.js +0 -36
  879. package/node_modules/uuid/dist/esm/v4.d.ts +0 -4
  880. package/node_modules/uuid/dist/esm/v4.js +0 -27
  881. package/node_modules/uuid/dist/esm/v5.d.ts +0 -9
  882. package/node_modules/uuid/dist/esm/v5.js +0 -9
  883. package/node_modules/uuid/dist/esm/v6.d.ts +0 -4
  884. package/node_modules/uuid/dist/esm/v6.js +0 -17
  885. package/node_modules/uuid/dist/esm/v6ToV1.d.ts +0 -2
  886. package/node_modules/uuid/dist/esm/v6ToV1.js +0 -10
  887. package/node_modules/uuid/dist/esm/v7.d.ts +0 -9
  888. package/node_modules/uuid/dist/esm/v7.js +0 -65
  889. package/node_modules/uuid/dist/esm/validate.d.ts +0 -2
  890. package/node_modules/uuid/dist/esm/validate.js +0 -5
  891. package/node_modules/uuid/dist/esm/version.d.ts +0 -2
  892. package/node_modules/uuid/dist/esm/version.js +0 -8
  893. package/node_modules/uuid/dist/esm-browser/index.d.ts +0 -15
  894. package/node_modules/uuid/dist/esm-browser/index.js +0 -14
  895. package/node_modules/uuid/dist/esm-browser/max.d.ts +0 -2
  896. package/node_modules/uuid/dist/esm-browser/max.js +0 -1
  897. package/node_modules/uuid/dist/esm-browser/md5.d.ts +0 -2
  898. package/node_modules/uuid/dist/esm-browser/md5.js +0 -135
  899. package/node_modules/uuid/dist/esm-browser/native.d.ts +0 -4
  900. package/node_modules/uuid/dist/esm-browser/native.js +0 -2
  901. package/node_modules/uuid/dist/esm-browser/nil.d.ts +0 -2
  902. package/node_modules/uuid/dist/esm-browser/nil.js +0 -1
  903. package/node_modules/uuid/dist/esm-browser/parse.d.ts +0 -2
  904. package/node_modules/uuid/dist/esm-browser/parse.js +0 -9
  905. package/node_modules/uuid/dist/esm-browser/regex.d.ts +0 -2
  906. package/node_modules/uuid/dist/esm-browser/regex.js +0 -1
  907. package/node_modules/uuid/dist/esm-browser/rng.d.ts +0 -1
  908. package/node_modules/uuid/dist/esm-browser/rng.js +0 -11
  909. package/node_modules/uuid/dist/esm-browser/sha1.d.ts +0 -2
  910. package/node_modules/uuid/dist/esm-browser/sha1.js +0 -70
  911. package/node_modules/uuid/dist/esm-browser/stringify.d.ts +0 -3
  912. package/node_modules/uuid/dist/esm-browser/stringify.js +0 -35
  913. package/node_modules/uuid/dist/esm-browser/types.d.ts +0 -21
  914. package/node_modules/uuid/dist/esm-browser/uuid-bin.js +0 -70
  915. package/node_modules/uuid/dist/esm-browser/v1.d.ts +0 -11
  916. package/node_modules/uuid/dist/esm-browser/v1.js +0 -83
  917. package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +0 -2
  918. package/node_modules/uuid/dist/esm-browser/v1ToV6.js +0 -10
  919. package/node_modules/uuid/dist/esm-browser/v3.d.ts +0 -9
  920. package/node_modules/uuid/dist/esm-browser/v3.js +0 -9
  921. package/node_modules/uuid/dist/esm-browser/v35.d.ts +0 -7
  922. package/node_modules/uuid/dist/esm-browser/v35.js +0 -36
  923. package/node_modules/uuid/dist/esm-browser/v4.d.ts +0 -4
  924. package/node_modules/uuid/dist/esm-browser/v4.js +0 -27
  925. package/node_modules/uuid/dist/esm-browser/v5.d.ts +0 -9
  926. package/node_modules/uuid/dist/esm-browser/v5.js +0 -9
  927. package/node_modules/uuid/dist/esm-browser/v6.d.ts +0 -4
  928. package/node_modules/uuid/dist/esm-browser/v6.js +0 -17
  929. package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +0 -2
  930. package/node_modules/uuid/dist/esm-browser/v6ToV1.js +0 -10
  931. package/node_modules/uuid/dist/esm-browser/v7.d.ts +0 -9
  932. package/node_modules/uuid/dist/esm-browser/v7.js +0 -65
  933. package/node_modules/uuid/dist/esm-browser/validate.d.ts +0 -2
  934. package/node_modules/uuid/dist/esm-browser/validate.js +0 -5
  935. package/node_modules/uuid/dist/esm-browser/version.d.ts +0 -2
  936. package/node_modules/uuid/dist/esm-browser/version.js +0 -8
  937. package/node_modules/uuid/package.json +0 -132
  938. package/vendor/aab-tool/LICENSE +0 -202
  939. package/vendor/aab-tool/README.txt +0 -1
  940. package/vendor/aab-tool/bundletool.jar +0 -0
  941. /package/{node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts → lib/bootstrap.d.ts} +0 -0
  942. /package/{node_modules/uuid/dist/cjs/uuid-bin.d.ts → lib/commands/test-init.d.ts} +0 -0
  943. /package/{node_modules/uuid/dist/esm-browser/types.js → lib/commands/test.d.ts} +0 -0
  944. /package/{node_modules/uuid/dist/esm-browser/uuid-bin.d.ts → lib/common/bootstrap.d.ts} +0 -0
  945. /package/{node_modules/uuid/dist/esm/types.js → lib/common/common-lib.d.ts} +0 -0
  946. /package/{node_modules/uuid/dist/esm/uuid-bin.d.ts → lib/common/mobile/ios/ios-device-product-name-mapper.d.ts} +0 -0
@@ -0,0 +1,234 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SPMPbxprojService = void 0;
4
+ exports.classifyVersion = classifyVersion;
5
+ const path = require("path");
6
+ const semver = require("semver");
7
+ const yok_1 = require("../../common/yok");
8
+ class SPMPbxprojService {
9
+ constructor($fs, $logger, $xcode) {
10
+ this.$fs = $fs;
11
+ this.$logger = $logger;
12
+ this.$xcode = $xcode;
13
+ }
14
+ addPackages(projectRoot, assignments) {
15
+ if (!assignments.length) {
16
+ return false;
17
+ }
18
+ const pbxProjPath = this.findPbxProjPath(projectRoot);
19
+ if (!pbxProjPath) {
20
+ this.$logger.trace(`SPM: no Xcode project found under ${projectRoot}; skipping.`);
21
+ return false;
22
+ }
23
+ const project = new this.$xcode.project(pbxProjPath);
24
+ project.parseSync();
25
+ let added = false;
26
+ for (const { targetName, package: pkg } of assignments) {
27
+ const targetId = this.findTargetId(project, targetName);
28
+ if (!targetId) {
29
+ this.$logger.warn(`SPM: target "${targetName}" not found in ${path.basename(pbxProjPath)} — skipping package "${pkg.name}".`);
30
+ continue;
31
+ }
32
+ if (this.addPackageToTarget(project, targetId, pkg, projectRoot)) {
33
+ added = true;
34
+ }
35
+ }
36
+ if (!added) {
37
+ return false;
38
+ }
39
+ this.$fs.writeFile(pbxProjPath, project.writeSync({ omitEmptyValues: true }));
40
+ return true;
41
+ }
42
+ findPbxProjPath(projectRoot) {
43
+ if (!this.$fs.exists(projectRoot)) {
44
+ return null;
45
+ }
46
+ const xcodeprojName = this.$fs
47
+ .readDirectory(projectRoot)
48
+ .find((entry) => entry.endsWith(".xcodeproj"));
49
+ if (!xcodeprojName) {
50
+ return null;
51
+ }
52
+ const pbxProjPath = path.join(projectRoot, xcodeprojName, "project.pbxproj");
53
+ return this.$fs.exists(pbxProjPath) ? pbxProjPath : null;
54
+ }
55
+ findTargetId(project, targetName) {
56
+ var _a, _b;
57
+ const targets = (_a = project.pbxNativeTargetSection()) !== null && _a !== void 0 ? _a : {};
58
+ for (const key of Object.keys(targets)) {
59
+ if (key.endsWith("_comment")) {
60
+ continue;
61
+ }
62
+ const name = (_b = targets[key]) === null || _b === void 0 ? void 0 : _b.name;
63
+ if (name === targetName || name === `"${targetName}"`) {
64
+ return key;
65
+ }
66
+ }
67
+ return null;
68
+ }
69
+ addPackageToTarget(project, targetId, pkg, projectRoot) {
70
+ var _a, _b, _c, _d;
71
+ const target = project.pbxNativeTargetSection()[targetId];
72
+ const frameworkBuildPhaseObj = this.findFrameworksBuildPhase(project, target);
73
+ if (!frameworkBuildPhaseObj) {
74
+ this.$logger.warn(`SPM: target for package "${pkg.name}" has no Frameworks build phase — skipping.`);
75
+ return false;
76
+ }
77
+ const firstProject = project.getFirstProject().firstProject;
78
+ const packageReferences = ((_a = firstProject["packageReferences"]) !== null && _a !== void 0 ? _a : (firstProject["packageReferences"] = []));
79
+ const packageProductReferences = ((_b = target["packageProductDependencies"]) !== null && _b !== void 0 ? _b : (target["packageProductDependencies"] = []));
80
+ const frameworkBuildPhaseFiles = ((_c = frameworkBuildPhaseObj["files"]) !== null && _c !== void 0 ? _c : (frameworkBuildPhaseObj["files"] = []));
81
+ let packageReferenceComment;
82
+ let packageReferenceSection;
83
+ let packageReferenceSectionContent;
84
+ if ("path" in pkg) {
85
+ const relativePath = path.relative(projectRoot, path.resolve(projectRoot, pkg.path));
86
+ packageReferenceComment = `XCLocalSwiftPackageReference "${relativePath}"`;
87
+ packageReferenceSection = "XCLocalSwiftPackageReference";
88
+ packageReferenceSectionContent = {
89
+ isa: packageReferenceSection,
90
+ relativePath: JSON.stringify(relativePath),
91
+ };
92
+ }
93
+ else {
94
+ packageReferenceComment = `XCRemoteSwiftPackageReference "${pkg.name}"`;
95
+ packageReferenceSection = "XCRemoteSwiftPackageReference";
96
+ packageReferenceSectionContent = {
97
+ isa: packageReferenceSection,
98
+ repositoryURL: JSON.stringify(pkg.repositoryURL),
99
+ requirement: quoteValuesForPbxproj(classifyVersion(pkg.version)),
100
+ };
101
+ }
102
+ const { uuid: spmPackageReferenceUUID, comment: spmPackageReferenceComment, } = this.addOrUpdateEntry(project, packageReferenceSection, packageReferenceComment, packageReferenceSectionContent);
103
+ this.addOrUpdateArrayEntry(packageReferences, spmPackageReferenceUUID, {
104
+ value: spmPackageReferenceUUID,
105
+ comment: packageReferenceComment,
106
+ });
107
+ for (const lib of (_d = pkg.libs) !== null && _d !== void 0 ? _d : []) {
108
+ const { uuid: spmProductDependencyUUID } = this.addOrUpdateEntry(project, "XCSwiftPackageProductDependency", lib, {
109
+ isa: "XCSwiftPackageProductDependency",
110
+ package: spmPackageReferenceUUID,
111
+ package_comment: spmPackageReferenceComment,
112
+ productName: lib,
113
+ }, (existing) => existing.package === spmPackageReferenceUUID);
114
+ const libComment = `${lib} in Frameworks`;
115
+ const { uuid: spmBuildFileUuid } = this.addOrUpdateEntry(project, "PBXBuildFile", libComment, {
116
+ isa: "PBXBuildFile",
117
+ productRef: spmProductDependencyUUID,
118
+ productRef_comment: lib,
119
+ }, (existing) => existing.productRef === spmProductDependencyUUID);
120
+ this.addOrUpdateArrayEntry(packageProductReferences, spmProductDependencyUUID, {
121
+ value: spmProductDependencyUUID,
122
+ comment: lib,
123
+ });
124
+ this.addOrUpdateArrayEntry(frameworkBuildPhaseFiles, spmBuildFileUuid, {
125
+ value: spmBuildFileUuid,
126
+ comment: libComment,
127
+ });
128
+ }
129
+ return true;
130
+ }
131
+ findFrameworksBuildPhase(project, target) {
132
+ var _a, _b;
133
+ const section = (_a = project.hash.project.objects["PBXFrameworksBuildPhase"]) !== null && _a !== void 0 ? _a : {};
134
+ for (const phase of (_b = target.buildPhases) !== null && _b !== void 0 ? _b : []) {
135
+ const phaseObj = section[phase.value];
136
+ if (phaseObj) {
137
+ return phaseObj;
138
+ }
139
+ }
140
+ return null;
141
+ }
142
+ addOrUpdateArrayEntry(array, lookupValue, value) {
143
+ const existing = array.find((entry) => entry.value === lookupValue);
144
+ if (existing) {
145
+ Object.assign(existing, value);
146
+ return;
147
+ }
148
+ array.push(value);
149
+ }
150
+ addOrUpdateEntry(project, section, entryComment, entry, matches) {
151
+ var _a, _b;
152
+ var _c;
153
+ const pbxSection = ((_a = (_c = project.hash.project.objects)[section]) !== null && _a !== void 0 ? _a : (_c[section] = {}));
154
+ const entryUuid = (_b = this.findUuidByComment(project, section, entryComment, matches)) !== null && _b !== void 0 ? _b : project.generateUuid();
155
+ pbxSection[`${entryUuid}_comment`] = entryComment;
156
+ pbxSection[entryUuid] = entry;
157
+ return { uuid: entryUuid, comment: entryComment };
158
+ }
159
+ findUuidByComment(project, section, comment, matches) {
160
+ var _a;
161
+ const pbxSection = (_a = project.hash.project.objects[section]) !== null && _a !== void 0 ? _a : {};
162
+ const commentKey = Object.keys(pbxSection).find((key) => {
163
+ if (!key.endsWith("_comment") || pbxSection[key] !== comment) {
164
+ return false;
165
+ }
166
+ if (!matches) {
167
+ return true;
168
+ }
169
+ const existing = pbxSection[key.replace(/_comment$/, "")];
170
+ return existing != null && matches(existing);
171
+ });
172
+ return commentKey ? commentKey.replace(/_comment$/, "") : null;
173
+ }
174
+ }
175
+ exports.SPMPbxprojService = SPMPbxprojService;
176
+ function classifyVersion(version) {
177
+ var _a, _b;
178
+ if (version.startsWith("#")) {
179
+ return {
180
+ kind: "revision",
181
+ revision: version.replace("#", ""),
182
+ };
183
+ }
184
+ if (semver.valid(version)) {
185
+ return {
186
+ kind: "exactVersion",
187
+ version,
188
+ };
189
+ }
190
+ const range = semver.validRange(version);
191
+ if (range) {
192
+ const minimumVersion = (_a = semver.minVersion(range)) === null || _a === void 0 ? void 0 : _a.version;
193
+ if (version.startsWith("^")) {
194
+ return {
195
+ kind: "upToNextMajorVersion",
196
+ minimumVersion,
197
+ };
198
+ }
199
+ if (version.startsWith("~")) {
200
+ return {
201
+ kind: "upToNextMinorVersion",
202
+ minimumVersion,
203
+ };
204
+ }
205
+ const maximumVersion = (_b = semver.coerce(version.replace(minimumVersion !== null && minimumVersion !== void 0 ? minimumVersion : "", ""))) === null || _b === void 0 ? void 0 : _b.version;
206
+ if (maximumVersion && maximumVersion !== minimumVersion) {
207
+ return {
208
+ kind: "versionRange",
209
+ minimumVersion,
210
+ maximumVersion,
211
+ };
212
+ }
213
+ return {
214
+ kind: "upToNextMajorVersion",
215
+ minimumVersion,
216
+ };
217
+ }
218
+ return {
219
+ kind: "branch",
220
+ branch: version,
221
+ };
222
+ }
223
+ const UNQUOTED_PBX_VALUE = /^[A-Za-z0-9_$./]+$/;
224
+ function quoteValuesForPbxproj(obj) {
225
+ const result = {};
226
+ for (const [key, value] of Object.entries(obj)) {
227
+ result[key] =
228
+ typeof value === "string" && !UNQUOTED_PBX_VALUE.test(value)
229
+ ? JSON.stringify(value)
230
+ : value;
231
+ }
232
+ return result;
233
+ }
234
+ yok_1.injector.register("spmPbxprojService", SPMPbxprojService);
@@ -0,0 +1,35 @@
1
+ import { IProjectConfigService, IProjectData } from "../../definitions/project";
2
+ import { IPlatformData } from "../../definitions/platform";
3
+ import { IFileSystem } from "../../common/declarations";
4
+ import { ITerminalSpinnerService } from "../../definitions/terminal-spinner-service";
5
+ export declare class SPMService implements ISPMService {
6
+ private $logger;
7
+ private $fs;
8
+ private $projectConfigService;
9
+ private $terminalSpinnerService;
10
+ private $xcodebuildCommandService;
11
+ private $xcodebuildArgsService;
12
+ private $spmPbxprojService;
13
+ private static readonly SWIFTPM_REPO_CACHE;
14
+ private static readonly LARGE_CLONE_NOTE_BYTES;
15
+ private static readonly OUTPUT_TAIL_LINES;
16
+ constructor($logger: ILogger, $fs: IFileSystem, $projectConfigService: IProjectConfigService, $terminalSpinnerService: ITerminalSpinnerService, $xcodebuildCommandService: IXcodebuildCommandService, $xcodebuildArgsService: IXcodebuildArgsService, $spmPbxprojService: ISPMPbxprojService);
17
+ getSPMPackages(projectData: IProjectData, platform: string): IosSPMPackage[];
18
+ private mergePluginSPMPackages;
19
+ applySPMPackages(platformData: IPlatformData, projectData: IProjectData, pluginSpmPackages?: IosSPMPackage[]): Promise<void>;
20
+ resolveSPMDependencies(platformData: IPlatformData, projectData: IProjectData, options?: {
21
+ showProgress?: boolean;
22
+ }): Promise<void>;
23
+ ensureSPMDependenciesResolved(platformData: IPlatformData, projectData: IProjectData): Promise<void>;
24
+ private describeSPMActivity;
25
+ private describePackageActivity;
26
+ private shortenPackageRef;
27
+ private formatElapsed;
28
+ private formatPackageListing;
29
+ private describePackageSource;
30
+ private getPackageCloneSizeBytes;
31
+ private getDirectorySizeBytes;
32
+ private formatBytes;
33
+ private hasSPMReferences;
34
+ private arePackagesResolved;
35
+ }
@@ -2,37 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SPMService = void 0;
4
4
  const yok_1 = require("../../common/yok");
5
- const trapezedev_project_1 = require("@nstudio/trapezedev-project");
6
5
  const color_1 = require("../../color");
7
6
  const path = require("path");
8
7
  const os = require("os");
9
8
  const fs = require("fs");
10
9
  class SPMService {
11
- constructor($logger, $fs, $projectConfigService, $terminalSpinnerService, $xcodebuildCommandService, $xcodebuildArgsService) {
10
+ constructor($logger, $fs, $projectConfigService, $terminalSpinnerService, $xcodebuildCommandService, $xcodebuildArgsService, $spmPbxprojService) {
12
11
  this.$logger = $logger;
13
12
  this.$fs = $fs;
14
13
  this.$projectConfigService = $projectConfigService;
15
14
  this.$terminalSpinnerService = $terminalSpinnerService;
16
15
  this.$xcodebuildCommandService = $xcodebuildCommandService;
17
16
  this.$xcodebuildArgsService = $xcodebuildArgsService;
17
+ this.$spmPbxprojService = $spmPbxprojService;
18
18
  }
19
19
  getSPMPackages(projectData, platform) {
20
20
  const spmPackages = this.$projectConfigService.getValue(`${platform}.SPMPackages`, []);
21
21
  return spmPackages;
22
22
  }
23
- /**
24
- * Merges plugin SPM packages with app SPM packages.
25
- * App packages take precedence over plugin packages with the same name.
26
- * @param appPackages - Array of app SPM packages (modified in place)
27
- * @param pluginPackages - Array of plugin SPM packages to merge
28
- */
29
23
  mergePluginSPMPackages(appPackages, pluginPackages) {
30
- // include swift packages from plugin configs
31
- // but allow app packages to override plugin packages with the same name
32
24
  const appPackageNames = new Set(appPackages.map((pkg) => pkg.name));
33
- // multiple plugins may declare the same package (e.g. a shared shim) —
34
- // only the first declaration is added; a second same-name package would
35
- // produce duplicate (and possibly conflicting) references in the pbxproj.
36
25
  const addedPluginPackageNames = new Set();
37
26
  for (const pluginPkg of pluginPackages) {
38
27
  if (appPackageNames.has(pluginPkg.name)) {
@@ -47,10 +36,6 @@ class SPMService {
47
36
  }
48
37
  }
49
38
  }
50
- // note: this is not used anywhere at the moment.
51
- // public hasSPMPackages(projectData: IProjectData): boolean {
52
- // return this.getSPMPackages(projectData).length > 0;
53
- // }
54
39
  async applySPMPackages(platformData, projectData, pluginSpmPackages) {
55
40
  var _a, _b;
56
41
  try {
@@ -62,67 +47,35 @@ class SPMService {
62
47
  this.$logger.trace("SPM: no SPM packages to apply.");
63
48
  return;
64
49
  }
65
- // name every package and where it comes from — when resolution is
66
- // slow or fails, this is the first thing needed to tell WHICH
67
- // dependency is responsible.
68
50
  this.$logger.info(this.formatPackageListing(spmPackages));
69
- const project = new trapezedev_project_1.MobileProject(platformData.projectRoot, {
70
- ios: {
71
- path: ".",
72
- },
73
- enableAndroid: false,
74
- });
75
- await project.load();
76
- // note: in trapeze both visionOS and iOS are handled by the ios project.
77
- if (!project.ios) {
78
- this.$logger.trace("SPM: no iOS project found via trapeze.");
79
- return;
80
- }
81
- // todo: handle removing packages? Or just warn and require a clean?
51
+ const assignments = [];
82
52
  for (const pkg of spmPackages) {
83
53
  if ("path" in pkg) {
84
- // resolve the path relative to the project root
85
54
  this.$logger.trace("SPM: resolving path for package: ", pkg.path);
86
55
  pkg.path = path.resolve(projectData.projectDir, pkg.path);
87
56
  if (!this.$fs.exists(pkg.path)) {
88
- // surface this now — otherwise the only symptom is a cryptic
89
- // xcodebuild resolution failure much later.
90
57
  this.$logger.warn(`SPM: local package path for "${pkg.name}" does not exist: ${pkg.path} — Xcode will fail to resolve it.`);
91
58
  }
92
59
  }
93
60
  this.$logger.trace(`SPM: adding package ${pkg.name} to project.`, pkg);
94
- await project.ios.addSPMPackage(projectData.projectName, pkg);
95
- // Add to other Targets if specified (like widgets, etc.)
96
- if ((_a = pkg.targets) === null || _a === void 0 ? void 0 : _a.length) {
97
- for (const target of pkg.targets) {
98
- await project.ios.addSPMPackage(target, pkg);
99
- }
61
+ assignments.push({ targetName: projectData.projectName, package: pkg });
62
+ for (const target of (_a = pkg.targets) !== null && _a !== void 0 ? _a : []) {
63
+ assignments.push({ targetName: target, package: pkg });
100
64
  }
101
65
  }
102
- await project.commit();
103
- // finally resolve the dependencies
66
+ if (!this.$spmPbxprojService.addPackages(platformData.projectRoot, assignments)) {
67
+ this.$logger.trace("SPM: no packages were applied to the project.");
68
+ return;
69
+ }
104
70
  await this.resolveSPMDependencies(platformData, projectData, {
105
71
  showProgress: true,
106
72
  });
107
73
  }
108
74
  catch (err) {
109
- // best-effort, but don't bury the failure below trace level — a red
110
- // resolve spinner with no visible reason is confusing. Warn with the
111
- // message, keep the full error at trace.
112
75
  this.$logger.warn(`Failed to apply Swift Package dependencies: ${(_b = err === null || err === void 0 ? void 0 : err.message) !== null && _b !== void 0 ? _b : err}`);
113
76
  this.$logger.trace("SPM: error applying SPM packages: ", err);
114
77
  }
115
78
  }
116
- /**
117
- * Resolves (downloads + pins) the Swift Package dependencies referenced by
118
- * the Xcode project. On a first build this is where the NativeScript runtime
119
- * (now distributed as a remote Swift package) and any other SPM packages are
120
- * actually downloaded — which can take a while. Pass `showProgress` to render
121
- * a live spinner so the CLI doesn't look stalled while that happens.
122
- *
123
- * In verbose mode (`--log trace`) the condensed spinner is bypassed and
124
- * xcodebuild's raw resolution log is streamed straight through instead.
125
- */
126
79
  async resolveSPMDependencies(platformData, projectData, options) {
127
80
  const args = this.$xcodebuildArgsService
128
81
  .getXcodeProjectArgs(platformData, projectData)
@@ -131,9 +84,6 @@ class SPMService {
131
84
  "generic/platform=iOS",
132
85
  "-resolvePackageDependencies",
133
86
  ]);
134
- // Without progress, or when verbose: let xcodebuild's own resolution log
135
- // stream straight to the terminal (inherited stdio). Verbose users want
136
- // the raw log, not a condensed spinner that hides it.
137
87
  if (!(options === null || options === void 0 ? void 0 : options.showProgress) || this.$logger.isVerbose()) {
138
88
  await this.$xcodebuildCommandService.executeCommand(args, {
139
89
  cwd: projectData.projectDir,
@@ -145,14 +95,9 @@ class SPMService {
145
95
  const startedAt = Date.now();
146
96
  let activity = "Resolving Swift Package dependencies";
147
97
  let lineBuffer = "";
148
- // package currently being git-fetched (short name), if any — used to
149
- // measure its growing clone in the SwiftPM cache so a long silent fetch
150
- // shows visible progress ("2.31 GB of git history fetched") instead of
151
- // looking hung.
152
98
  let fetchingPackageRef = null;
153
99
  let fetchedBytes = 0;
154
100
  let largeCloneNoted = false;
155
- // rolling tail of raw xcodebuild output for the failure report.
156
101
  const outputTail = [];
157
102
  const render = () => {
158
103
  const elapsed = Math.round((Date.now() - startedAt) / 1000);
@@ -161,9 +106,6 @@ class SPMService {
161
106
  : "";
162
107
  spinner.text = `${activity}…${fetched} ${color_1.color.dim(`(${this.formatElapsed(elapsed)})`)}`;
163
108
  };
164
- // keep the elapsed timer ticking even when xcodebuild is silent (e.g.
165
- // while a repository clones or a binary artifact downloads) so the user
166
- // can see it's alive. Every 5th tick, measure the in-progress clone.
167
109
  let tickCount = 0;
168
110
  const ticker = setInterval(() => {
169
111
  tickCount++;
@@ -172,8 +114,6 @@ class SPMService {
172
114
  if (!largeCloneNoted &&
173
115
  fetchedBytes >= SPMService.LARGE_CLONE_NOTE_BYTES) {
174
116
  largeCloneNoted = true;
175
- // persist a one-time explanation above the spinner: this is the
176
- // point where users otherwise assume the CLI is stuck.
177
117
  spinner.stopAndPersist({
178
118
  symbol: color_1.color.yellow("ℹ"),
179
119
  text: color_1.color.yellow(`the "${fetchingPackageRef}" package is hosted in a repository with a large git history — ` +
@@ -187,9 +127,7 @@ class SPMService {
187
127
  }, 1000);
188
128
  const onProgress = (chunk) => {
189
129
  lineBuffer += chunk.data;
190
- // tolerate CRLF as well as LF so parsed lines never carry a stray \r
191
130
  const lines = lineBuffer.split(/\r?\n/);
192
- // keep the last (possibly partial) line in the buffer
193
131
  lineBuffer = lines.pop();
194
132
  for (const line of lines) {
195
133
  const trimmed = line.trim();
@@ -203,9 +141,6 @@ class SPMService {
203
141
  const described = this.describeSPMActivity(line);
204
142
  if (described) {
205
143
  activity = described;
206
- // track which package a "Fetching <url>" line refers to so the
207
- // ticker can measure its clone; any other activity means the
208
- // fetch finished.
209
144
  if (/^Fetching\b/i.test(trimmed)) {
210
145
  fetchingPackageRef = this.shortenPackageRef(trimmed);
211
146
  }
@@ -230,8 +165,6 @@ class SPMService {
230
165
  }
231
166
  catch (err) {
232
167
  spinner.fail(color_1.color.red("Failed to resolve Swift Package dependencies"));
233
- // the spinner swallowed the raw log — replay the tail so the actual
234
- // xcodebuild error is visible without rerunning in verbose mode.
235
168
  if (outputTail.length) {
236
169
  this.$logger.info(color_1.color.dim("xcodebuild output (last lines):"));
237
170
  for (const line of outputTail) {
@@ -244,12 +177,6 @@ class SPMService {
244
177
  clearInterval(ticker);
245
178
  }
246
179
  }
247
- /**
248
- * Best-effort pre-resolve before a build so the (potentially slow) first-time
249
- * Swift package download happens under a clear progress indicator instead of
250
- * silently inside the subsequent "Xcode build..." step. No-op when the
251
- * project has no SPM references or they're already resolved.
252
- */
253
180
  async ensureSPMDependenciesResolved(platformData, projectData) {
254
181
  if (!this.hasSPMReferences(platformData, projectData)) {
255
182
  this.$logger.trace("SPM: project has no Swift Package references.");
@@ -265,22 +192,14 @@ class SPMService {
265
192
  });
266
193
  }
267
194
  catch (err) {
268
- // non-fatal: the build itself will resolve packages and surface the
269
- // authoritative error if something is genuinely wrong.
270
195
  this.$logger.trace("SPM: pre-resolve failed (continuing): ", err);
271
196
  }
272
197
  }
273
- /**
274
- * Maps a raw xcodebuild/SwiftPM resolution log line to a concise,
275
- * user-facing activity description (or null for lines we don't surface).
276
- */
277
198
  describeSPMActivity(line) {
278
199
  const trimmed = line.trim();
279
200
  if (!trimmed) {
280
201
  return null;
281
202
  }
282
- // the big, otherwise-silent wait on a first build: a binary artifact
283
- // (the NativeScript runtime xcframework) downloading.
284
203
  if (/Downloading binary artifact/i.test(trimmed)) {
285
204
  if (/ios-spm|nativescript/i.test(trimmed)) {
286
205
  return "Downloading the NativeScript runtime (first build only)";
@@ -304,20 +223,12 @@ class SPMService {
304
223
  }
305
224
  return null;
306
225
  }
307
- /**
308
- * Builds a stable, self-explanatory activity label with the package being
309
- * worked on in parentheses, e.g. "Fetching Swift Packages (Auth0.swift)".
310
- */
311
226
  describePackageActivity(verb, line) {
312
227
  const packageRef = this.shortenPackageRef(line);
313
228
  return packageRef
314
229
  ? `${verb} Swift Packages (${packageRef})`
315
230
  : `${verb} Swift Packages`;
316
231
  }
317
- /**
318
- * Extracts a short, readable name from a SwiftPM repo URL/log line, or null
319
- * when the line contains no URL to name the package by.
320
- */
321
232
  shortenPackageRef(line) {
322
233
  const match = line.match(/https?:\/\/\S+/);
323
234
  if (!match) {
@@ -328,39 +239,23 @@ class SPMService {
328
239
  .replace(/\.git$/, "")
329
240
  .replace(/[)\s].*$/, "");
330
241
  }
331
- /** Formats an elapsed duration in whole seconds as "5m 15s". */
332
242
  formatElapsed(totalSeconds) {
333
243
  const minutes = Math.floor(totalSeconds / 60);
334
244
  const seconds = totalSeconds % 60;
335
245
  return `${minutes}m ${seconds}s`;
336
246
  }
337
- /**
338
- * Multi-line listing of every package and its source — one package per
339
- * line, separated by the platform EOL so entries never clump together in
340
- * terminal output on macOS, Windows, or Linux.
341
- */
342
247
  formatPackageListing(spmPackages) {
343
248
  return [
344
249
  "Swift Packages:",
345
250
  ...spmPackages.map((pkg) => ` ${this.describePackageSource(pkg)}`),
346
251
  ].join(os.EOL);
347
252
  }
348
- /**
349
- * One-line description of a package and where it resolves from, e.g.
350
- * "FontManager (1.0.12 · https://github.com/NativeScript/font-manager.git)"
351
- * or "CanvasNative (local: node_modules/@nativescript/canvas/platforms/ios/NativeScriptV8)".
352
- */
353
253
  describePackageSource(pkg) {
354
254
  if ("path" in pkg) {
355
255
  return `${pkg.name} (local: ${pkg.path})`;
356
256
  }
357
257
  return `${pkg.name} (${pkg.version} · ${pkg.repositoryURL})`;
358
258
  }
359
- /**
360
- * Size on disk of the SwiftPM cache clone(s) for a package ref (the short
361
- * name produced by shortenPackageRef). Cache entries are named
362
- * "<repo-name>-<hash>". Returns 0 when nothing is there (yet).
363
- */
364
259
  getPackageCloneSizeBytes(packageRef) {
365
260
  let entries;
366
261
  try {
@@ -380,11 +275,6 @@ class SPMService {
380
275
  }
381
276
  return total;
382
277
  }
383
- /**
384
- * Recursive directory size via the raw fs API. Tolerates files vanishing
385
- * mid-walk (git renames its temp packfiles while cloning) and does not
386
- * follow symlinks.
387
- */
388
278
  getDirectorySizeBytes(dirPath) {
389
279
  let total = 0;
390
280
  const pending = [dirPath];
@@ -408,13 +298,11 @@ class SPMService {
408
298
  }
409
299
  }
410
300
  catch (err) {
411
- // entry disappeared between readdir and stat — ignore
412
301
  }
413
302
  }
414
303
  }
415
304
  return total;
416
305
  }
417
- /** Formats a byte count as a short human-readable size ("2.31 GB"). */
418
306
  formatBytes(bytes) {
419
307
  const GB = 1024 ** 3;
420
308
  const MB = 1024 ** 2;
@@ -426,7 +314,6 @@ class SPMService {
426
314
  }
427
315
  return `${Math.round(bytes / 1024)} KB`;
428
316
  }
429
- /** True when the Xcode project references any Swift packages. */
430
317
  hasSPMReferences(platformData, projectData) {
431
318
  const pbxprojPath = path.join(platformData.projectRoot, `${projectData.projectName}.xcodeproj`, "project.pbxproj");
432
319
  if (!this.$fs.exists(pbxprojPath)) {
@@ -437,11 +324,6 @@ class SPMService {
437
324
  contents.includes("XCLocalSwiftPackageReference") ||
438
325
  contents.includes("packageReferences"));
439
326
  }
440
- /**
441
- * True when a Package.resolved already exists for the project — i.e. packages
442
- * have been resolved at least once, so the build's own resolve step will be a
443
- * fast no-op rather than a slow, silent first-time download.
444
- */
445
327
  arePackagesResolved(platformData, projectData) {
446
328
  const candidates = [
447
329
  path.join(platformData.projectRoot, `${projectData.projectName}.xcworkspace`, "xcshareddata", "swiftpm", "Package.resolved"),
@@ -451,17 +333,7 @@ class SPMService {
451
333
  }
452
334
  }
453
335
  exports.SPMService = SPMService;
454
- // SwiftPM keeps one bare clone per source package here (shared by Xcode and
455
- // xcodebuild). Watching a package's clone grow is the only visibility into
456
- // an otherwise silent long fetch — SwiftPM clones a repository's ENTIRE git
457
- // history to read Package.swift, so a package hosted in a multi-GB repo can
458
- // legitimately "fetch" for tens of minutes with no output.
459
336
  SPMService.SWIFTPM_REPO_CACHE = path.join(os.homedir(), "Library", "Caches", "org.swift.swiftpm", "repositories");
460
- // Once a single package's clone passes this size, surface a one-time note
461
- // explaining why the fetch is slow (250 MB is already far beyond any
462
- // reasonably-hosted Swift package).
463
337
  SPMService.LARGE_CLONE_NOTE_BYTES = 250 * 1024 * 1024;
464
- // Lines of raw xcodebuild output kept for the failure report.
465
338
  SPMService.OUTPUT_TAIL_LINES = 25;
466
339
  yok_1.injector.register("spmService", SPMService);
467
- //# sourceMappingURL=spm-service.js.map
@@ -0,0 +1,20 @@
1
+ import { IIOSWatchAppService, IProjectData, IBuildConfig } from "../../definitions/project";
2
+ import { IXcconfigService } from "../../declarations";
3
+ import { IPlatformData } from "../../definitions/platform";
4
+ import { IFileSystem } from "../../common/declarations";
5
+ export declare class XcodebuildArgsService implements IXcodebuildArgsService {
6
+ private $devicePlatformsConstants;
7
+ private $devicesService;
8
+ private $fs;
9
+ private $iOSWatchAppService;
10
+ private $logger;
11
+ private $xcconfigService;
12
+ constructor($devicePlatformsConstants: Mobile.IDevicePlatformsConstants, $devicesService: Mobile.IDevicesService, $fs: IFileSystem, $iOSWatchAppService: IIOSWatchAppService, $logger: ILogger, $xcconfigService: IXcconfigService);
13
+ getBuildForSimulatorArgs(platformData: IPlatformData, projectData: IProjectData, buildConfig: IBuildConfig): Promise<string[]>;
14
+ getBuildForDeviceArgs(platformData: IPlatformData, projectData: IProjectData, buildConfig: IBuildConfig): Promise<string[]>;
15
+ private getArchitecturesArgs;
16
+ getXcodeProjectArgs(platformData: IPlatformData, projectData: IProjectData): string[];
17
+ private getBuildLoggingArgs;
18
+ private getBuildCommonArgs;
19
+ private getArchitecturesFromConnectedDevices;
20
+ }