nativescript 8.9.0-dev.2 → 8.9.0-dev.4

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 (345) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/widget-ios.md +24 -0
  3. package/docs/man_pages/project/configuration/widget.md +24 -0
  4. package/docs/man_pages/start.md +1 -1
  5. package/lib/android-tools-info.js +11 -22
  6. package/lib/base-package-manager.js +53 -70
  7. package/lib/bun-package-manager.js +75 -98
  8. package/lib/color.js +4 -4
  9. package/lib/commands/add-platform.js +14 -30
  10. package/lib/commands/apple-login.js +18 -29
  11. package/lib/commands/appstore-list.js +34 -45
  12. package/lib/commands/appstore-upload.js +54 -67
  13. package/lib/commands/build.js +55 -87
  14. package/lib/commands/clean.js +169 -184
  15. package/lib/commands/command-base.js +14 -27
  16. package/lib/commands/config.js +49 -68
  17. package/lib/commands/create-project.js +215 -234
  18. package/lib/commands/debug.js +66 -88
  19. package/lib/commands/deploy.js +28 -44
  20. package/lib/commands/embedding/embed.js +37 -56
  21. package/lib/commands/extensibility/install-extension.js +5 -16
  22. package/lib/commands/extensibility/list-extensions.js +13 -24
  23. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  24. package/lib/commands/fonts.js +30 -41
  25. package/lib/commands/generate-assets.js +13 -28
  26. package/lib/commands/generate-help.js +2 -13
  27. package/lib/commands/generate.js +49 -60
  28. package/lib/commands/info.js +2 -13
  29. package/lib/commands/install.js +34 -49
  30. package/lib/commands/list-platforms.js +14 -25
  31. package/lib/commands/migrate.js +15 -26
  32. package/lib/commands/native-add.js +23 -46
  33. package/lib/commands/platform-clean.js +19 -32
  34. package/lib/commands/plugin/add-plugin.js +12 -25
  35. package/lib/commands/plugin/build-plugin.js +31 -44
  36. package/lib/commands/plugin/create-plugin.js +114 -137
  37. package/lib/commands/plugin/list-plugins.js +22 -33
  38. package/lib/commands/plugin/remove-plugin.js +21 -34
  39. package/lib/commands/plugin/update-plugin.js +20 -33
  40. package/lib/commands/post-install.js +25 -38
  41. package/lib/commands/prepare.js +19 -35
  42. package/lib/commands/preview.js +50 -63
  43. package/lib/commands/remove-platform.js +7 -18
  44. package/lib/commands/resources/resources-update.js +14 -27
  45. package/lib/commands/run.js +55 -76
  46. package/lib/commands/start.js +6 -19
  47. package/lib/commands/test-init.js +126 -137
  48. package/lib/commands/test.js +72 -95
  49. package/lib/commands/typings.js +126 -142
  50. package/lib/commands/update-platform.js +26 -39
  51. package/lib/commands/update.js +31 -44
  52. package/lib/commands/widget.js +408 -357
  53. package/lib/common/child-process.js +53 -72
  54. package/lib/common/codeGeneration/code-entity.js +1 -1
  55. package/lib/common/codeGeneration/code-printer.js +1 -1
  56. package/lib/common/command-params.js +7 -18
  57. package/lib/common/commands/analytics.js +29 -42
  58. package/lib/common/commands/autocompletion.js +41 -58
  59. package/lib/common/commands/device/device-log-stream.js +12 -23
  60. package/lib/common/commands/device/get-file.js +23 -34
  61. package/lib/common/commands/device/list-applications.js +12 -23
  62. package/lib/common/commands/device/list-devices.js +72 -87
  63. package/lib/common/commands/device/list-files.js +24 -35
  64. package/lib/common/commands/device/put-file.js +23 -34
  65. package/lib/common/commands/device/run-application.js +12 -25
  66. package/lib/common/commands/device/stop-application.js +11 -22
  67. package/lib/common/commands/device/uninstall-application.js +6 -17
  68. package/lib/common/commands/generate-messages.js +17 -28
  69. package/lib/common/commands/help.js +20 -33
  70. package/lib/common/commands/package-manager-get.js +6 -17
  71. package/lib/common/commands/package-manager-set.js +9 -20
  72. package/lib/common/commands/post-install.js +2 -13
  73. package/lib/common/commands/preuninstall.js +27 -42
  74. package/lib/common/commands/proxy/proxy-base.js +11 -22
  75. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  76. package/lib/common/commands/proxy/proxy-get.js +3 -14
  77. package/lib/common/commands/proxy/proxy-set.js +87 -100
  78. package/lib/common/constants.js +11 -11
  79. package/lib/common/decorators.js +10 -22
  80. package/lib/common/dispatchers.js +84 -101
  81. package/lib/common/errors.js +92 -107
  82. package/lib/common/file-system.js +110 -132
  83. package/lib/common/header.js +1 -2
  84. package/lib/common/helpers.js +149 -178
  85. package/lib/common/host-info.js +40 -53
  86. package/lib/common/http-client.js +104 -119
  87. package/lib/common/logger/appenders/cli-appender.js +1 -2
  88. package/lib/common/logger/appenders/emit-appender.js +1 -2
  89. package/lib/common/logger/layouts/cli-layout.js +1 -2
  90. package/lib/common/logger/logger.js +4 -4
  91. package/lib/common/mobile/android/android-application-manager.js +138 -159
  92. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  93. package/lib/common/mobile/android/android-debug-bridge.js +92 -117
  94. package/lib/common/mobile/android/android-device-file-system.js +101 -134
  95. package/lib/common/mobile/android/android-device-hash-service.js +52 -77
  96. package/lib/common/mobile/android/android-device.js +73 -90
  97. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  98. package/lib/common/mobile/android/android-log-filter.js +1 -1
  99. package/lib/common/mobile/android/android-virtual-device-service.js +78 -99
  100. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  101. package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
  102. package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
  103. package/lib/common/mobile/android/logcat-helper.js +114 -133
  104. package/lib/common/mobile/application-manager-base.js +89 -112
  105. package/lib/common/mobile/device-log-provider-base.js +7 -18
  106. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  107. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  108. package/lib/common/mobile/ios/device/ios-device-operations.js +106 -143
  109. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  110. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  111. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +66 -95
  112. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  113. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
  114. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
  115. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  116. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  117. package/lib/common/mobile/mobile-core/android-device-discovery.js +44 -63
  118. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
  119. package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
  120. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  121. package/lib/common/mobile/mobile-core/devices-service.js +400 -450
  122. package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
  123. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
  124. package/lib/common/mobile/mobile-helper.js +15 -26
  125. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  126. package/lib/common/opener.js +2 -2
  127. package/lib/common/prompter.js +91 -106
  128. package/lib/common/queue.js +9 -20
  129. package/lib/common/services/auto-completion-service.js +40 -53
  130. package/lib/common/services/cancellation.js +17 -28
  131. package/lib/common/services/commands-service.js +156 -179
  132. package/lib/common/services/help-service.js +130 -155
  133. package/lib/common/services/hooks-service.js +99 -114
  134. package/lib/common/services/ios-notification-service.js +21 -34
  135. package/lib/common/services/json-file-settings-service.js +56 -75
  136. package/lib/common/services/lock-service.js +35 -52
  137. package/lib/common/services/message-contract-generator.js +35 -46
  138. package/lib/common/services/micro-templating-service.js +6 -17
  139. package/lib/common/services/net-service.js +92 -109
  140. package/lib/common/services/project-files-manager.js +10 -23
  141. package/lib/common/services/proxy-service.js +13 -24
  142. package/lib/common/services/qr.js +13 -24
  143. package/lib/common/services/settings-service.js +1 -1
  144. package/lib/common/services/xcode-select-service.js +20 -35
  145. package/lib/common/utils.js +2 -2
  146. package/lib/common/validators/project-name-validator.js +1 -1
  147. package/lib/common/validators/validation-result.js +1 -1
  148. package/lib/common/verify-node-version.js +2 -3
  149. package/lib/common/yok.js +25 -38
  150. package/lib/config.js +41 -56
  151. package/lib/constants.js +24 -24
  152. package/lib/controllers/build-controller.js +82 -99
  153. package/lib/controllers/debug-controller.js +111 -132
  154. package/lib/controllers/deploy-controller.js +15 -23
  155. package/lib/controllers/migrate-controller.js +780 -853
  156. package/lib/controllers/platform-controller.js +74 -89
  157. package/lib/controllers/prepare-controller.js +241 -270
  158. package/lib/controllers/run-controller.js +411 -425
  159. package/lib/controllers/update-controller-base.js +16 -29
  160. package/lib/controllers/update-controller.js +101 -126
  161. package/lib/data/prepare-data.js +4 -1
  162. package/lib/definitions/project.d.ts +24 -24
  163. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  164. package/lib/detached-processes/cleanup-process.js +16 -25
  165. package/lib/device-path-provider.js +23 -34
  166. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +155 -170
  167. package/lib/device-sockets/ios/notification.js +1 -1
  168. package/lib/device-sockets/ios/socket-request-executor.js +26 -41
  169. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  170. package/lib/helpers/deploy-command-helper.js +44 -49
  171. package/lib/helpers/key-command-helper.js +4 -13
  172. package/lib/helpers/livesync-command-helper.js +138 -153
  173. package/lib/helpers/network-connectivity-validator.js +6 -17
  174. package/lib/helpers/options-track-helper.js +6 -17
  175. package/lib/helpers/platform-command-helper.js +103 -124
  176. package/lib/key-commands/index.js +150 -200
  177. package/lib/nativescript-cli.js +5 -14
  178. package/lib/node-package-manager.js +90 -113
  179. package/lib/options.js +4 -13
  180. package/lib/package-installation-manager.js +132 -167
  181. package/lib/package-manager.js +64 -87
  182. package/lib/platform-command-param.js +4 -15
  183. package/lib/pnpm-package-manager.js +60 -79
  184. package/lib/project-data.js +1 -1
  185. package/lib/providers/project-files-provider.js +1 -1
  186. package/lib/services/analytics/analytics-broker-process.js +13 -22
  187. package/lib/services/analytics/analytics-broker.js +17 -30
  188. package/lib/services/analytics/analytics-service.js +165 -201
  189. package/lib/services/analytics/google-analytics-provider.js +41 -56
  190. package/lib/services/analytics-settings-service.js +15 -32
  191. package/lib/services/android/android-bundle-tool-service.js +43 -60
  192. package/lib/services/android/gradle-build-args-service.js +10 -21
  193. package/lib/services/android/gradle-build-service.js +22 -35
  194. package/lib/services/android/gradle-command-service.js +22 -35
  195. package/lib/services/android-device-debug-service.js +92 -119
  196. package/lib/services/android-plugin-build-service.js +219 -245
  197. package/lib/services/android-project-service.js +134 -179
  198. package/lib/services/android-resources-migration-service.js +57 -70
  199. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  200. package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
  201. package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
  202. package/lib/services/assets-generation/assets-generation-service.js +114 -128
  203. package/lib/services/build-artifacts-service.js +9 -20
  204. package/lib/services/build-info-file-service.js +20 -35
  205. package/lib/services/cleanup-service.js +47 -76
  206. package/lib/services/cocoapods-service.js +124 -145
  207. package/lib/services/device/device-install-app-service.js +54 -71
  208. package/lib/services/doctor-service.js +106 -125
  209. package/lib/services/extensibility-service.js +87 -106
  210. package/lib/services/files-hash-service.js +26 -43
  211. package/lib/services/hmr-status-service.js +1 -1
  212. package/lib/services/initialize-service.js +38 -51
  213. package/lib/services/ios/export-options-plist-service.js +41 -54
  214. package/lib/services/ios/ios-signing-service.js +171 -190
  215. package/lib/services/ios/spm-service.js +52 -65
  216. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  217. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  218. package/lib/services/ios/xcodebuild-service.js +52 -71
  219. package/lib/services/ios-debugger-port-service.js +24 -37
  220. package/lib/services/ios-device-debug-service.js +75 -102
  221. package/lib/services/ios-entitlements-service.js +31 -42
  222. package/lib/services/ios-extensions-service.js +18 -29
  223. package/lib/services/ios-project-service.js +530 -591
  224. package/lib/services/ios-provision-service.js +110 -131
  225. package/lib/services/ios-watch-app-service.js +21 -32
  226. package/lib/services/ip-service.js +39 -54
  227. package/lib/services/itmstransporter-service.js +129 -152
  228. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  229. package/lib/services/livesync/android-device-livesync-service.js +121 -150
  230. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
  231. package/lib/services/livesync/android-livesync-service.js +14 -35
  232. package/lib/services/livesync/android-livesync-tool.js +90 -113
  233. package/lib/services/livesync/device-livesync-service-base.js +16 -29
  234. package/lib/services/livesync/ios-device-livesync-service.js +120 -149
  235. package/lib/services/livesync/ios-livesync-service.js +43 -59
  236. package/lib/services/livesync/platform-livesync-service-base.js +98 -123
  237. package/lib/services/log-parser-service.js +1 -1
  238. package/lib/services/log-source-map-service.js +31 -42
  239. package/lib/services/marking-mode-service.js +17 -30
  240. package/lib/services/npm-config-service.js +1 -1
  241. package/lib/services/pacote-service.js +54 -69
  242. package/lib/services/performance-service.js +1 -1
  243. package/lib/services/platform/add-platform-service.js +57 -78
  244. package/lib/services/platform/platform-validation-service.js +22 -33
  245. package/lib/services/platform/prepare-native-platform-service.js +51 -64
  246. package/lib/services/platform-environment-requirements.js +27 -38
  247. package/lib/services/plugins-service.js +126 -151
  248. package/lib/services/project-backup-service.js +1 -1
  249. package/lib/services/project-changes-service.js +126 -143
  250. package/lib/services/project-cleanup-service.js +65 -78
  251. package/lib/services/project-config-service.js +78 -88
  252. package/lib/services/project-data-service.js +112 -129
  253. package/lib/services/project-name-service.js +28 -43
  254. package/lib/services/project-service.js +90 -109
  255. package/lib/services/project-templates-service.js +52 -67
  256. package/lib/services/start-service.js +41 -59
  257. package/lib/services/temp-service.js +8 -21
  258. package/lib/services/terminal-spinner-service.js +15 -26
  259. package/lib/services/test-execution-service.js +64 -77
  260. package/lib/services/test-initialization-service.js +2 -2
  261. package/lib/services/timeline-profiler-service.js +1 -1
  262. package/lib/services/versions-service.js +120 -139
  263. package/lib/services/webpack/webpack-compiler-service.js +228 -251
  264. package/lib/services/xcconfig-service.js +8 -19
  265. package/lib/sys-info.js +45 -62
  266. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  267. package/lib/yarn-package-manager.js +59 -78
  268. package/lib/yarn2-package-manager.js +62 -81
  269. package/package.json +67 -82
  270. package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
  271. package/node_modules/@npmcli/move-file/README.md +0 -69
  272. package/node_modules/@npmcli/move-file/lib/index.js +0 -185
  273. package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
  274. package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
  275. package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
  276. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
  277. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
  278. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
  279. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
  280. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
  281. package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
  282. package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
  283. package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
  284. package/node_modules/@npmcli/move-file/package.json +0 -47
  285. package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  286. package/node_modules/balanced-match/LICENSE.md +0 -21
  287. package/node_modules/balanced-match/README.md +0 -97
  288. package/node_modules/balanced-match/index.js +0 -62
  289. package/node_modules/balanced-match/package.json +0 -48
  290. package/node_modules/concat-map/.travis.yml +0 -4
  291. package/node_modules/concat-map/LICENSE +0 -18
  292. package/node_modules/concat-map/README.markdown +0 -62
  293. package/node_modules/concat-map/example/map.js +0 -6
  294. package/node_modules/concat-map/index.js +0 -13
  295. package/node_modules/concat-map/package.json +0 -43
  296. package/node_modules/concat-map/test/map.js +0 -39
  297. package/node_modules/fs.realpath/LICENSE +0 -43
  298. package/node_modules/fs.realpath/README.md +0 -33
  299. package/node_modules/fs.realpath/index.js +0 -66
  300. package/node_modules/fs.realpath/old.js +0 -303
  301. package/node_modules/fs.realpath/package.json +0 -26
  302. package/node_modules/inflight/LICENSE +0 -15
  303. package/node_modules/inflight/README.md +0 -37
  304. package/node_modules/inflight/inflight.js +0 -54
  305. package/node_modules/inflight/package.json +0 -29
  306. package/node_modules/inherits/LICENSE +0 -16
  307. package/node_modules/inherits/README.md +0 -42
  308. package/node_modules/inherits/inherits.js +0 -9
  309. package/node_modules/inherits/inherits_browser.js +0 -27
  310. package/node_modules/inherits/package.json +0 -29
  311. package/node_modules/once/LICENSE +0 -15
  312. package/node_modules/once/README.md +0 -79
  313. package/node_modules/once/once.js +0 -42
  314. package/node_modules/once/package.json +0 -33
  315. package/node_modules/path-is-absolute/index.js +0 -20
  316. package/node_modules/path-is-absolute/license +0 -21
  317. package/node_modules/path-is-absolute/package.json +0 -43
  318. package/node_modules/path-is-absolute/readme.md +0 -59
  319. package/node_modules/rimraf/LICENSE +0 -15
  320. package/node_modules/rimraf/README.md +0 -101
  321. package/node_modules/rimraf/bin.js +0 -68
  322. package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
  323. package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
  324. package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
  325. package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
  326. package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
  327. package/node_modules/rimraf/node_modules/glob/README.md +0 -378
  328. package/node_modules/rimraf/node_modules/glob/common.js +0 -238
  329. package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
  330. package/node_modules/rimraf/node_modules/glob/package.json +0 -55
  331. package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
  332. package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
  333. package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
  334. package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
  335. package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
  336. package/node_modules/rimraf/package.json +0 -32
  337. package/node_modules/rimraf/rimraf.js +0 -360
  338. package/node_modules/stringify-package/LICENSE +0 -13
  339. package/node_modules/stringify-package/README.md +0 -55
  340. package/node_modules/stringify-package/index.js +0 -18
  341. package/node_modules/stringify-package/package.json +0 -38
  342. package/node_modules/wrappy/LICENSE +0 -15
  343. package/node_modules/wrappy/README.md +0 -36
  344. package/node_modules/wrappy/package.json +0 -29
  345. package/node_modules/wrappy/wrappy.js +0 -33
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.ProjectChangesService = void 0;
19
10
  const path = require("path");
@@ -48,84 +39,82 @@ class ProjectChangesService {
48
39
  get currentChanges() {
49
40
  return this._changesInfo;
50
41
  }
51
- checkForChanges(platformData, projectData, prepareData) {
52
- return __awaiter(this, void 0, void 0, function* () {
53
- this._changesInfo = new ProjectChangesInfo();
54
- const isNewPrepareInfo = yield this.ensurePrepareInfo(platformData, projectData, prepareData);
55
- if (!isNewPrepareInfo) {
56
- let platformResourcesDir = path.join(projectData.appResourcesDirectoryPath, platformData.normalizedPlatformName);
57
- if (!this.$fs.exists(platformResourcesDir) &&
58
- platformData.platformNameLowerCase ===
59
- this.$devicePlatformsConstants.visionOS.toLowerCase()) {
60
- platformResourcesDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS);
61
- }
62
- this._changesInfo.appResourcesChanged = this.containsNewerFiles(platformResourcesDir, projectData);
63
- this.$nodeModulesDependenciesBuilder
64
- .getProductionDependencies(projectData.projectDir, projectData.ignoredDependencies)
65
- .filter((dep) => dep.nativescript &&
66
- this.$fs.exists(path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase)))
67
- .forEach((dep) => {
68
- this._changesInfo.nativeChanged =
69
- this._changesInfo.nativeChanged ||
70
- this.containsNewerFiles(path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase), projectData) ||
71
- this.isFileModified(path.join(dep.directory, constants_1.PACKAGE_JSON_FILE_NAME));
72
- });
73
- if (!this._changesInfo.nativeChanged) {
74
- this._prepareInfo.projectFileHash = this.getProjectFileStrippedHash(projectData.projectDir, platformData);
75
- this._changesInfo.nativeChanged = this.isProjectFileChanged(projectData.projectDir, platformData);
76
- }
77
- // If this causes too much rebuilds of the plugins or uncecessary builds for Android, move overrideCocoapods to prepareInfo.
78
- this._changesInfo.nsConfigChanged = this.filesChanged([
79
- path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_JS),
80
- path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_TS),
81
- path.join(projectData.projectDir, constants_1.CONFIG_NS_FILE_NAME),
82
- ]);
83
- this._changesInfo.nativeChanged =
84
- this._changesInfo.nativeChanged || this._changesInfo.nsConfigChanged;
85
- this.$logger.trace(`Set nativeChanged to ${this._changesInfo.nativeChanged}.`);
86
- if (platformData.platformNameLowerCase ===
87
- this.$devicePlatformsConstants.iOS.toLowerCase()) {
88
- this._changesInfo.configChanged = this.filesChanged([
89
- path.join(platformResourcesDir, platformData.configurationFileName),
90
- path.join(platformResourcesDir, "LaunchScreen.storyboard"),
91
- path.join(platformResourcesDir, constants_1.BUILD_XCCONFIG_FILE_NAME),
92
- ]);
93
- }
94
- else {
95
- this._changesInfo.configChanged = this.filesChanged([
96
- path.join(platformResourcesDir, platformData.configurationFileName),
97
- path.join(platformResourcesDir, constants_1.APP_GRADLE_FILE_NAME),
98
- ]);
99
- }
100
- this.$logger.trace(`Set value of configChanged to ${this._changesInfo.configChanged}`);
42
+ async checkForChanges(platformData, projectData, prepareData) {
43
+ this._changesInfo = new ProjectChangesInfo();
44
+ const isNewPrepareInfo = await this.ensurePrepareInfo(platformData, projectData, prepareData);
45
+ if (!isNewPrepareInfo) {
46
+ let platformResourcesDir = path.join(projectData.appResourcesDirectoryPath, platformData.normalizedPlatformName);
47
+ if (!this.$fs.exists(platformResourcesDir) &&
48
+ platformData.platformNameLowerCase ===
49
+ this.$devicePlatformsConstants.visionOS.toLowerCase()) {
50
+ platformResourcesDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS);
101
51
  }
102
- if (!prepareData.nativePrepare ||
103
- !prepareData.nativePrepare.skipNativePrepare) {
104
- yield platformData.platformProjectService.checkForChanges(this._changesInfo, prepareData, projectData);
52
+ this._changesInfo.appResourcesChanged = this.containsNewerFiles(platformResourcesDir, projectData);
53
+ this.$nodeModulesDependenciesBuilder
54
+ .getProductionDependencies(projectData.projectDir, projectData.ignoredDependencies)
55
+ .filter((dep) => dep.nativescript &&
56
+ this.$fs.exists(path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase)))
57
+ .forEach((dep) => {
58
+ this._changesInfo.nativeChanged =
59
+ this._changesInfo.nativeChanged ||
60
+ this.containsNewerFiles(path.join(dep.directory, constants_1.PLATFORMS_DIR_NAME, platformData.platformNameLowerCase), projectData) ||
61
+ this.isFileModified(path.join(dep.directory, constants_1.PACKAGE_JSON_FILE_NAME));
62
+ });
63
+ if (!this._changesInfo.nativeChanged) {
64
+ this._prepareInfo.projectFileHash = this.getProjectFileStrippedHash(projectData.projectDir, platformData);
65
+ this._changesInfo.nativeChanged = this.isProjectFileChanged(projectData.projectDir, platformData);
105
66
  }
106
- if (!!prepareData.release !== !!this._prepareInfo.release) {
107
- this.$logger.trace(`Setting all setting to true. Current options are: `, prepareData, " old prepare info is: ", this._prepareInfo);
108
- this._changesInfo.appResourcesChanged = true;
109
- this._changesInfo.configChanged = true;
110
- this._prepareInfo.release = prepareData.release;
67
+ // If this causes too much rebuilds of the plugins or uncecessary builds for Android, move overrideCocoapods to prepareInfo.
68
+ this._changesInfo.nsConfigChanged = this.filesChanged([
69
+ path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_JS),
70
+ path.join(projectData.projectDir, constants_1.CONFIG_FILE_NAME_TS),
71
+ path.join(projectData.projectDir, constants_1.CONFIG_NS_FILE_NAME),
72
+ ]);
73
+ this._changesInfo.nativeChanged =
74
+ this._changesInfo.nativeChanged || this._changesInfo.nsConfigChanged;
75
+ this.$logger.trace(`Set nativeChanged to ${this._changesInfo.nativeChanged}.`);
76
+ if (platformData.platformNameLowerCase ===
77
+ this.$devicePlatformsConstants.iOS.toLowerCase()) {
78
+ this._changesInfo.configChanged = this.filesChanged([
79
+ path.join(platformResourcesDir, platformData.configurationFileName),
80
+ path.join(platformResourcesDir, "LaunchScreen.storyboard"),
81
+ path.join(platformResourcesDir, constants_1.BUILD_XCCONFIG_FILE_NAME),
82
+ ]);
111
83
  }
112
- if (this._changesInfo.appResourcesChanged) {
113
- this.$logger.trace(`Set configChanged to true, appResourcesChanged is: ${this._changesInfo.appResourcesChanged}`);
114
- this._changesInfo.configChanged = true;
84
+ else {
85
+ this._changesInfo.configChanged = this.filesChanged([
86
+ path.join(platformResourcesDir, platformData.configurationFileName),
87
+ path.join(platformResourcesDir, constants_1.APP_GRADLE_FILE_NAME),
88
+ ]);
115
89
  }
116
- if (this._changesInfo.hasChanges) {
117
- this._prepareInfo.changesRequireBuild =
118
- this._changesInfo.changesRequireBuild;
119
- this._prepareInfo.time = new Date().toString();
120
- if (this._prepareInfo.changesRequireBuild) {
121
- this._prepareInfo.changesRequireBuildTime = this._prepareInfo.time;
122
- }
90
+ this.$logger.trace(`Set value of configChanged to ${this._changesInfo.configChanged}`);
91
+ }
92
+ if (!prepareData.nativePrepare ||
93
+ !prepareData.nativePrepare.skipNativePrepare) {
94
+ await platformData.platformProjectService.checkForChanges(this._changesInfo, prepareData, projectData);
95
+ }
96
+ if (!!prepareData.release !== !!this._prepareInfo.release) {
97
+ this.$logger.trace(`Setting all setting to true. Current options are: `, prepareData, " old prepare info is: ", this._prepareInfo);
98
+ this._changesInfo.appResourcesChanged = true;
99
+ this._changesInfo.configChanged = true;
100
+ this._prepareInfo.release = prepareData.release;
101
+ }
102
+ if (this._changesInfo.appResourcesChanged) {
103
+ this.$logger.trace(`Set configChanged to true, appResourcesChanged is: ${this._changesInfo.appResourcesChanged}`);
104
+ this._changesInfo.configChanged = true;
105
+ }
106
+ if (this._changesInfo.hasChanges) {
107
+ this._prepareInfo.changesRequireBuild =
108
+ this._changesInfo.changesRequireBuild;
109
+ this._prepareInfo.time = new Date().toString();
110
+ if (this._prepareInfo.changesRequireBuild) {
111
+ this._prepareInfo.changesRequireBuildTime = this._prepareInfo.time;
123
112
  }
124
- this._changesInfo.nativePlatformStatus =
125
- this._prepareInfo.nativePlatformStatus;
126
- this.$logger.trace("checkForChanges returns", this._changesInfo);
127
- return this._changesInfo;
128
- });
113
+ }
114
+ this._changesInfo.nativePlatformStatus =
115
+ this._prepareInfo.nativePlatformStatus;
116
+ this.$logger.trace("checkForChanges returns", this._changesInfo);
117
+ return this._changesInfo;
129
118
  }
130
119
  getPrepareInfoFilePath(platformData) {
131
120
  const prepareInfoFilePath = path.join(platformData.projectRoot, prepareInfoFileName);
@@ -148,69 +137,63 @@ class ProjectChangesService {
148
137
  }
149
138
  return prepareInfo;
150
139
  }
151
- savePrepareInfo(platformData, projectData, prepareData) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- if (!this._prepareInfo) {
154
- yield this.ensurePrepareInfo(platformData, projectData, prepareData);
155
- }
156
- if (this.$options.hostProjectPath) {
157
- // TODO: do not save for now until we decide where to keep the .nsprepareinfo file when embedding
158
- return null;
159
- }
160
- const prepareInfoFilePath = this.getPrepareInfoFilePath(platformData);
161
- this.$fs.writeJson(prepareInfoFilePath, this._prepareInfo);
162
- });
163
- }
164
- setNativePlatformStatus(platformData, projectData, addedPlatform) {
165
- return __awaiter(this, void 0, void 0, function* () {
166
- this._prepareInfo = this._prepareInfo || this.getPrepareInfo(platformData);
167
- if (this._prepareInfo &&
168
- addedPlatform.nativePlatformStatus ===
169
- "3" /* NativePlatformStatus.alreadyPrepared */) {
170
- this._prepareInfo.nativePlatformStatus =
171
- addedPlatform.nativePlatformStatus;
172
- }
173
- else {
174
- this._prepareInfo = {
175
- nativePlatformStatus: addedPlatform.nativePlatformStatus,
176
- };
177
- }
178
- yield this.savePrepareInfo(platformData, projectData, null);
179
- });
140
+ async savePrepareInfo(platformData, projectData, prepareData) {
141
+ if (!this._prepareInfo) {
142
+ await this.ensurePrepareInfo(platformData, projectData, prepareData);
143
+ }
144
+ if (this.$options.hostProjectPath) {
145
+ // TODO: do not save for now until we decide where to keep the .nsprepareinfo file when embedding
146
+ return null;
147
+ }
148
+ const prepareInfoFilePath = this.getPrepareInfoFilePath(platformData);
149
+ this.$fs.writeJson(prepareInfoFilePath, this._prepareInfo);
180
150
  }
181
- ensurePrepareInfo(platformData, projectData, prepareData) {
182
- return __awaiter(this, void 0, void 0, function* () {
183
- this._prepareInfo = this.getPrepareInfo(platformData);
184
- if (this._prepareInfo) {
185
- const prepareInfoFile = path.join(platformData.projectRoot, prepareInfoFileName);
186
- this._outputProjectMtime = this.$fs
187
- .getFsStats(prepareInfoFile)
188
- .mtime.getTime();
189
- this._outputProjectCTime = this.$fs
190
- .getFsStats(prepareInfoFile)
191
- .ctime.getTime();
192
- return false;
193
- }
194
- const nativePlatformStatus = !prepareData.nativePrepare || !prepareData.nativePrepare.skipNativePrepare
195
- ? "2" /* NativePlatformStatus.requiresPrepare */
196
- : "1" /* NativePlatformStatus.requiresPlatformAdd */;
151
+ async setNativePlatformStatus(platformData, projectData, addedPlatform) {
152
+ this._prepareInfo = this._prepareInfo || this.getPrepareInfo(platformData);
153
+ if (this._prepareInfo &&
154
+ addedPlatform.nativePlatformStatus ===
155
+ "3" /* NativePlatformStatus.alreadyPrepared */) {
156
+ this._prepareInfo.nativePlatformStatus =
157
+ addedPlatform.nativePlatformStatus;
158
+ }
159
+ else {
197
160
  this._prepareInfo = {
198
- time: "",
199
- nativePlatformStatus,
200
- release: prepareData.release,
201
- changesRequireBuild: true,
202
- projectFileHash: this.getProjectFileStrippedHash(projectData.projectDir, platformData),
203
- changesRequireBuildTime: null,
161
+ nativePlatformStatus: addedPlatform.nativePlatformStatus,
204
162
  };
205
- this._outputProjectMtime = 0;
206
- this._outputProjectCTime = 0;
207
- this._changesInfo = this._changesInfo || new ProjectChangesInfo();
208
- this._changesInfo.appResourcesChanged = true;
209
- this._changesInfo.configChanged = true;
210
- this._changesInfo.nativeChanged = true;
211
- this._changesInfo.nsConfigChanged = true;
212
- return true;
213
- });
163
+ }
164
+ await this.savePrepareInfo(platformData, projectData, null);
165
+ }
166
+ async ensurePrepareInfo(platformData, projectData, prepareData) {
167
+ this._prepareInfo = this.getPrepareInfo(platformData);
168
+ if (this._prepareInfo) {
169
+ const prepareInfoFile = path.join(platformData.projectRoot, prepareInfoFileName);
170
+ this._outputProjectMtime = this.$fs
171
+ .getFsStats(prepareInfoFile)
172
+ .mtime.getTime();
173
+ this._outputProjectCTime = this.$fs
174
+ .getFsStats(prepareInfoFile)
175
+ .ctime.getTime();
176
+ return false;
177
+ }
178
+ const nativePlatformStatus = !prepareData.nativePrepare || !prepareData.nativePrepare.skipNativePrepare
179
+ ? "2" /* NativePlatformStatus.requiresPrepare */
180
+ : "1" /* NativePlatformStatus.requiresPlatformAdd */;
181
+ this._prepareInfo = {
182
+ time: "",
183
+ nativePlatformStatus,
184
+ release: prepareData.release,
185
+ changesRequireBuild: true,
186
+ projectFileHash: this.getProjectFileStrippedHash(projectData.projectDir, platformData),
187
+ changesRequireBuildTime: null,
188
+ };
189
+ this._outputProjectMtime = 0;
190
+ this._outputProjectCTime = 0;
191
+ this._changesInfo = this._changesInfo || new ProjectChangesInfo();
192
+ this._changesInfo.appResourcesChanged = true;
193
+ this._changesInfo.configChanged = true;
194
+ this._changesInfo.nativeChanged = true;
195
+ this._changesInfo.nsConfigChanged = true;
196
+ return true;
214
197
  }
215
198
  getProjectFileStrippedHash(projectDir, platformData) {
216
199
  const projectFilePath = path.join(projectDir, constants_1.PACKAGE_JSON_FILE_NAME);
@@ -284,9 +267,9 @@ class ProjectChangesService {
284
267
  return changed;
285
268
  }
286
269
  }
270
+ exports.ProjectChangesService = ProjectChangesService;
287
271
  __decorate([
288
272
  (0, helpers_1.hook)("checkForChanges")
289
273
  ], ProjectChangesService.prototype, "checkForChanges", null);
290
- exports.ProjectChangesService = ProjectChangesService;
291
274
  yok_1.injector.register("projectChangesService", ProjectChangesService);
292
275
  //# sourceMappingURL=project-changes-service.js.map
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.ProjectCleanupService = void 0;
13
4
  const yok_1 = require("../common/yok");
@@ -20,83 +11,79 @@ class ProjectCleanupService {
20
11
  this.$projectHelper = $projectHelper;
21
12
  this.$terminalSpinnerService = $terminalSpinnerService;
22
13
  }
23
- clean(pathsToClean, options) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- this.spinner = this.$terminalSpinnerService.createSpinner({
26
- isSilent: options === null || options === void 0 ? void 0 : options.silent,
14
+ async clean(pathsToClean, options) {
15
+ this.spinner = this.$terminalSpinnerService.createSpinner({
16
+ isSilent: options === null || options === void 0 ? void 0 : options.silent,
17
+ });
18
+ let stats = (options === null || options === void 0 ? void 0 : options.stats) ? new Map() : false;
19
+ let success = true;
20
+ for (const pathToClean of pathsToClean) {
21
+ const cleanRes = await this.cleanPath(pathToClean, options).catch((error) => {
22
+ this.$logger.trace(`Encountered error while cleaning. Error is: ${error.message}.`, error);
23
+ return { ok: false };
27
24
  });
28
- let stats = (options === null || options === void 0 ? void 0 : options.stats) ? new Map() : false;
29
- let success = true;
30
- for (const pathToClean of pathsToClean) {
31
- const cleanRes = yield this.cleanPath(pathToClean, options).catch((error) => {
32
- this.$logger.trace(`Encountered error while cleaning. Error is: ${error.message}.`, error);
33
- return { ok: false };
34
- });
35
- if (stats && "size" in cleanRes) {
36
- stats.set(pathToClean, cleanRes.size);
37
- }
38
- success = success && cleanRes.ok;
39
- }
40
- if (!(options === null || options === void 0 ? void 0 : options.silent)) {
41
- // required to print an empty line for the spinner to not replace the last status... (probably a bug in the spinners)
42
- console.log();
25
+ if (stats && "size" in cleanRes) {
26
+ stats.set(pathToClean, cleanRes.size);
43
27
  }
44
- if (stats) {
45
- return { ok: success, stats };
46
- }
47
- return { ok: success };
48
- });
28
+ success = success && cleanRes.ok;
29
+ }
30
+ if (!(options === null || options === void 0 ? void 0 : options.silent)) {
31
+ // required to print an empty line for the spinner to not replace the last status... (probably a bug in the spinners)
32
+ console.log();
33
+ }
34
+ if (stats) {
35
+ return { ok: success, stats };
36
+ }
37
+ return { ok: success };
49
38
  }
50
- cleanPath(pathToClean, options) {
39
+ async cleanPath(pathToClean, options) {
51
40
  var _a;
52
- return __awaiter(this, void 0, void 0, function* () {
53
- const dryRun = (_a = options === null || options === void 0 ? void 0 : options.dryRun) !== null && _a !== void 0 ? _a : false;
54
- const logPrefix = dryRun ? color_1.color.grey("(dry run) ") : "";
55
- this.spinner.clear();
56
- let fileType;
57
- if (!pathToClean || pathToClean.trim().length === 0) {
58
- this.$logger.trace(`${logPrefix}cleanPath called with no pathToClean.`);
59
- return { ok: true };
41
+ const dryRun = (_a = options === null || options === void 0 ? void 0 : options.dryRun) !== null && _a !== void 0 ? _a : false;
42
+ const logPrefix = dryRun ? color_1.color.grey("(dry run) ") : "";
43
+ this.spinner.clear();
44
+ let fileType;
45
+ if (!pathToClean || pathToClean.trim().length === 0) {
46
+ this.$logger.trace(`${logPrefix}cleanPath called with no pathToClean.`);
47
+ return { ok: true };
48
+ }
49
+ const filePath = path.resolve(this.$projectHelper.projectDir, pathToClean);
50
+ const displayPath = color_1.color.yellow(`${path.relative(this.$projectHelper.projectDir, filePath)}`);
51
+ this.$logger.trace(`${logPrefix}Trying to clean '${filePath}'`);
52
+ if (this.$fs.exists(filePath)) {
53
+ const stat = this.$fs.getFsStats(filePath);
54
+ let size = 0;
55
+ if (options === null || options === void 0 ? void 0 : options.stats) {
56
+ size = this.$fs.getSize(filePath);
60
57
  }
61
- const filePath = path.resolve(this.$projectHelper.projectDir, pathToClean);
62
- const displayPath = color_1.color.yellow(`${path.relative(this.$projectHelper.projectDir, filePath)}`);
63
- this.$logger.trace(`${logPrefix}Trying to clean '${filePath}'`);
64
- if (this.$fs.exists(filePath)) {
65
- const stat = this.$fs.getFsStats(filePath);
66
- let size = 0;
67
- if (options === null || options === void 0 ? void 0 : options.stats) {
68
- size = this.$fs.getSize(filePath);
69
- }
70
- if (stat.isDirectory()) {
71
- this.$logger.trace(`${logPrefix}Path '${filePath}' is a directory, deleting.`);
72
- !dryRun && this.$fs.deleteDirectorySafe(filePath);
73
- fileType = "directory";
74
- }
75
- else {
76
- this.$logger.trace(`${logPrefix}Path '${filePath}' is a file, deleting.`);
77
- !dryRun && this.$fs.deleteFile(filePath);
78
- fileType = "file";
79
- }
80
- const success = dryRun || !this.$fs.exists(filePath);
81
- if (success) {
82
- this.spinner.succeed(`${logPrefix}Cleaned ${fileType} ${displayPath}`);
83
- }
84
- else {
85
- const message = color_1.color.red(`Failed to Clean ${fileType}`);
86
- this.spinner.fail(`${logPrefix}${message} ${displayPath}`);
87
- }
88
- if (options === null || options === void 0 ? void 0 : options.stats) {
89
- return { ok: success, size };
90
- }
91
- return { ok: success };
58
+ if (stat.isDirectory()) {
59
+ this.$logger.trace(`${logPrefix}Path '${filePath}' is a directory, deleting.`);
60
+ !dryRun && this.$fs.deleteDirectorySafe(filePath);
61
+ fileType = "directory";
62
+ }
63
+ else {
64
+ this.$logger.trace(`${logPrefix}Path '${filePath}' is a file, deleting.`);
65
+ !dryRun && this.$fs.deleteFile(filePath);
66
+ fileType = "file";
67
+ }
68
+ const success = dryRun || !this.$fs.exists(filePath);
69
+ if (success) {
70
+ this.spinner.succeed(`${logPrefix}Cleaned ${fileType} ${displayPath}`);
71
+ }
72
+ else {
73
+ const message = color_1.color.red(`Failed to Clean ${fileType}`);
74
+ this.spinner.fail(`${logPrefix}${message} ${displayPath}`);
92
75
  }
93
- this.$logger.trace(`${logPrefix}Path '${filePath}' not found, skipping.`);
94
- this.spinner.info(`${logPrefix}Skipping ${displayPath} because it doesn't exist.`);
95
76
  if (options === null || options === void 0 ? void 0 : options.stats) {
96
- return { ok: true, size: 0 };
77
+ return { ok: success, size };
97
78
  }
98
- return { ok: true };
99
- });
79
+ return { ok: success };
80
+ }
81
+ this.$logger.trace(`${logPrefix}Path '${filePath}' not found, skipping.`);
82
+ this.spinner.info(`${logPrefix}Skipping ${displayPath} because it doesn't exist.`);
83
+ if (options === null || options === void 0 ? void 0 : options.stats) {
84
+ return { ok: true, size: 0 };
85
+ }
86
+ return { ok: true };
100
87
  }
101
88
  }
102
89
  exports.ProjectCleanupService = ProjectCleanupService;