nativescript 8.8.0 → 8.8.1

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 (327) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/lib/android-tools-info.js +12 -0
  3. package/lib/base-package-manager.js +11 -1
  4. package/lib/bootstrap.js +5 -1
  5. package/lib/bun-package-manager.js +17 -1
  6. package/lib/color.js +3 -0
  7. package/lib/commands/add-platform.js +1 -0
  8. package/lib/commands/apple-login.js +1 -0
  9. package/lib/commands/appstore-list.js +1 -0
  10. package/lib/commands/appstore-upload.js +4 -0
  11. package/lib/commands/build.js +3 -2
  12. package/lib/commands/clean.js +22 -1
  13. package/lib/commands/command-base.js +1 -0
  14. package/lib/commands/config.js +3 -0
  15. package/lib/commands/create-project.js +6 -0
  16. package/lib/commands/debug.js +6 -1
  17. package/lib/commands/deploy.js +3 -2
  18. package/lib/commands/embedding/embed.js +7 -0
  19. package/lib/commands/extensibility/install-extension.js +1 -0
  20. package/lib/commands/extensibility/list-extensions.js +1 -0
  21. package/lib/commands/extensibility/uninstall-extension.js +1 -0
  22. package/lib/commands/fonts.js +1 -0
  23. package/lib/commands/generate-assets.js +1 -0
  24. package/lib/commands/generate-help.js +1 -0
  25. package/lib/commands/generate.js +12 -2
  26. package/lib/commands/info.js +1 -0
  27. package/lib/commands/install.js +1 -0
  28. package/lib/commands/list-platforms.js +1 -0
  29. package/lib/commands/migrate.js +1 -0
  30. package/lib/commands/native-add.js +5 -0
  31. package/lib/commands/platform-clean.js +1 -0
  32. package/lib/commands/plugin/add-plugin.js +1 -0
  33. package/lib/commands/plugin/build-plugin.js +1 -0
  34. package/lib/commands/plugin/create-plugin.js +5 -0
  35. package/lib/commands/plugin/list-plugins.js +1 -0
  36. package/lib/commands/plugin/remove-plugin.js +2 -0
  37. package/lib/commands/plugin/update-plugin.js +1 -0
  38. package/lib/commands/post-install.js +6 -0
  39. package/lib/commands/prepare.js +4 -3
  40. package/lib/commands/preview.js +2 -0
  41. package/lib/commands/remove-platform.js +1 -0
  42. package/lib/commands/resources/resources-update.js +2 -0
  43. package/lib/commands/run.js +1 -0
  44. package/lib/commands/setup.js +1 -0
  45. package/lib/commands/start.js +1 -0
  46. package/lib/commands/test-init.js +4 -0
  47. package/lib/commands/test.js +9 -2
  48. package/lib/commands/typings.js +2 -1
  49. package/lib/commands/update-platform.js +5 -0
  50. package/lib/commands/update.js +2 -0
  51. package/lib/common/bootstrap.js +1 -0
  52. package/lib/common/child-process.js +3 -0
  53. package/lib/common/codeGeneration/code-entity.js +1 -0
  54. package/lib/common/codeGeneration/code-printer.js +1 -0
  55. package/lib/common/command-params.js +1 -0
  56. package/lib/common/commands/analytics.js +3 -0
  57. package/lib/common/commands/autocompletion.js +3 -0
  58. package/lib/common/commands/device/device-log-stream.js +1 -0
  59. package/lib/common/commands/device/get-file.js +2 -0
  60. package/lib/common/commands/device/list-applications.js +1 -0
  61. package/lib/common/commands/device/list-devices.js +3 -0
  62. package/lib/common/commands/device/list-files.js +2 -0
  63. package/lib/common/commands/device/put-file.js +2 -0
  64. package/lib/common/commands/device/run-application.js +1 -0
  65. package/lib/common/commands/device/stop-application.js +1 -0
  66. package/lib/common/commands/device/uninstall-application.js +1 -0
  67. package/lib/common/commands/doctor.js +3 -2
  68. package/lib/common/commands/generate-messages.js +1 -0
  69. package/lib/common/commands/help.js +1 -0
  70. package/lib/common/commands/package-manager-get.js +1 -0
  71. package/lib/common/commands/package-manager-set.js +1 -0
  72. package/lib/common/commands/post-install.js +1 -0
  73. package/lib/common/commands/preuninstall.js +11 -2
  74. package/lib/common/commands/proxy/proxy-base.js +4 -0
  75. package/lib/common/commands/proxy/proxy-clear.js +1 -0
  76. package/lib/common/commands/proxy/proxy-get.js +1 -0
  77. package/lib/common/commands/proxy/proxy-set.js +1 -0
  78. package/lib/common/common-lib.js +1 -0
  79. package/lib/common/constants.js +11 -0
  80. package/lib/common/decorators.js +48 -0
  81. package/lib/common/dispatchers.js +10 -1
  82. package/lib/common/errors.js +13 -3
  83. package/lib/common/file-system.js +13 -2
  84. package/lib/common/header.js +3 -0
  85. package/lib/common/helpers.js +89 -3
  86. package/lib/common/host-info.js +4 -0
  87. package/lib/common/http-client.js +20 -0
  88. package/lib/common/logger/appenders/cli-appender.js +4 -0
  89. package/lib/common/logger/appenders/emit-appender.js +4 -0
  90. package/lib/common/logger/layouts/cli-layout.js +1 -0
  91. package/lib/common/logger/logger.js +5 -0
  92. package/lib/common/messages/messages.js +6 -0
  93. package/lib/common/mobile/android/android-application-manager.js +20 -1
  94. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -0
  95. package/lib/common/mobile/android/android-debug-bridge.js +6 -0
  96. package/lib/common/mobile/android/android-device-file-system.js +4 -0
  97. package/lib/common/mobile/android/android-device-hash-service.js +3 -0
  98. package/lib/common/mobile/android/android-device.js +8 -0
  99. package/lib/common/mobile/android/android-emulator-services.js +2 -1
  100. package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
  101. package/lib/common/mobile/android/android-log-filter.js +4 -0
  102. package/lib/common/mobile/android/android-virtual-device-service.js +30 -1
  103. package/lib/common/mobile/android/device-android-debug-bridge.js +1 -0
  104. package/lib/common/mobile/android/genymotion/genymotion-service.js +5 -0
  105. package/lib/common/mobile/android/genymotion/virtualbox-service.js +11 -0
  106. package/lib/common/mobile/android/logcat-helper.js +13 -0
  107. package/lib/common/mobile/application-manager-base.js +6 -0
  108. package/lib/common/mobile/device-emitter.js +4 -0
  109. package/lib/common/mobile/device-log-emitter.js +1 -0
  110. package/lib/common/mobile/device-log-provider-base.js +1 -0
  111. package/lib/common/mobile/device-log-provider.js +23 -0
  112. package/lib/common/mobile/device-platforms-constants.js +1 -0
  113. package/lib/common/mobile/emulator-helper.js +4 -0
  114. package/lib/common/mobile/ios/device/ios-application-manager.js +3 -0
  115. package/lib/common/mobile/ios/device/ios-device-file-system.js +1 -0
  116. package/lib/common/mobile/ios/device/ios-device-operations.js +4 -0
  117. package/lib/common/mobile/ios/device/ios-device.js +4 -0
  118. package/lib/common/mobile/ios/ios-device-base.js +1 -0
  119. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
  120. package/lib/common/mobile/ios/ios-log-filter.js +1 -0
  121. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +4 -0
  122. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -0
  123. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +6 -0
  124. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +5 -0
  125. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +1 -0
  126. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +1 -0
  127. package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
  128. package/lib/common/mobile/log-filter.js +2 -0
  129. package/lib/common/mobile/logging-levels.js +1 -0
  130. package/lib/common/mobile/mobile-core/android-device-discovery.js +2 -0
  131. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +3 -0
  132. package/lib/common/mobile/mobile-core/android-process-service.js +32 -0
  133. package/lib/common/mobile/mobile-core/device-discovery.js +1 -0
  134. package/lib/common/mobile/mobile-core/devices-service.js +69 -0
  135. package/lib/common/mobile/mobile-core/ios-device-discovery.js +2 -0
  136. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +3 -0
  137. package/lib/common/mobile/mobile-helper.js +1 -0
  138. package/lib/common/mobile/wp8/wp8-emulator-services.js +1 -0
  139. package/lib/common/opener.js +1 -0
  140. package/lib/common/os-info.js +1 -0
  141. package/lib/common/plist-parser.js +1 -0
  142. package/lib/common/project-helper.js +1 -0
  143. package/lib/common/prompter.js +9 -1
  144. package/lib/common/queue.js +1 -0
  145. package/lib/common/resource-loader.js +1 -0
  146. package/lib/common/services/auto-completion-service.js +13 -1
  147. package/lib/common/services/cancellation.js +2 -1
  148. package/lib/common/services/commands-service.js +17 -6
  149. package/lib/common/services/help-service.js +11 -3
  150. package/lib/common/services/hooks-service.js +13 -0
  151. package/lib/common/services/ios-notification-service.js +1 -0
  152. package/lib/common/services/json-file-settings-service.js +6 -0
  153. package/lib/common/services/lock-service.js +6 -0
  154. package/lib/common/services/message-contract-generator.js +1 -0
  155. package/lib/common/services/messages-service.js +1 -0
  156. package/lib/common/services/micro-templating-service.js +6 -0
  157. package/lib/common/services/net-service.js +3 -0
  158. package/lib/common/services/project-files-manager.js +5 -0
  159. package/lib/common/services/project-files-provider-base.js +1 -0
  160. package/lib/common/services/proxy-service.js +1 -0
  161. package/lib/common/services/qr.js +1 -0
  162. package/lib/common/services/settings-service.js +1 -0
  163. package/lib/common/services/xcode-select-service.js +1 -0
  164. package/lib/common/utils.js +1 -0
  165. package/lib/common/validators/project-name-validator.js +1 -0
  166. package/lib/common/validators/validation-result.js +1 -0
  167. package/lib/common/verify-node-version.js +8 -1
  168. package/lib/common/yok.js +32 -11
  169. package/lib/config.js +22 -1
  170. package/lib/constants-provider.js +1 -0
  171. package/lib/constants.js +53 -0
  172. package/lib/controllers/build-controller.js +4 -3
  173. package/lib/controllers/debug-controller.js +8 -3
  174. package/lib/controllers/deploy-controller.js +1 -0
  175. package/lib/controllers/migrate-controller.js +91 -3
  176. package/lib/controllers/platform-controller.js +9 -1
  177. package/lib/controllers/prepare-controller.js +17 -4
  178. package/lib/controllers/run-controller.js +17 -1
  179. package/lib/controllers/update-controller-base.js +1 -0
  180. package/lib/controllers/update-controller.js +11 -0
  181. package/lib/data/build-data.js +1 -0
  182. package/lib/data/controller-data-base.js +1 -0
  183. package/lib/data/debug-data.js +1 -0
  184. package/lib/data/platform-data.js +1 -0
  185. package/lib/data/prepare-data.js +1 -0
  186. package/lib/data/run-data.js +1 -0
  187. package/lib/detached-processes/cleanup-js-subprocess.js +8 -2
  188. package/lib/detached-processes/cleanup-process.js +18 -14
  189. package/lib/detached-processes/file-log-service.js +2 -1
  190. package/lib/device-path-provider.js +1 -0
  191. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +7 -0
  192. package/lib/device-sockets/ios/notification.js +3 -0
  193. package/lib/device-sockets/ios/socket-request-executor.js +3 -0
  194. package/lib/helpers/android-bundle-validator-helper.js +2 -1
  195. package/lib/helpers/deploy-command-helper.js +1 -0
  196. package/lib/helpers/key-command-helper.js +4 -2
  197. package/lib/helpers/livesync-command-helper.js +4 -1
  198. package/lib/helpers/network-connectivity-validator.js +1 -0
  199. package/lib/helpers/options-track-helper.js +3 -2
  200. package/lib/helpers/package-path-helper.js +1 -0
  201. package/lib/helpers/platform-command-helper.js +7 -2
  202. package/lib/helpers/version-validator-helper.js +1 -0
  203. package/lib/key-commands/bootstrap.js +3 -2
  204. package/lib/key-commands/index.js +5 -4
  205. package/lib/nativescript-cli-lib-bootstrap.js +4 -0
  206. package/lib/nativescript-cli-lib.js +1 -0
  207. package/lib/nativescript-cli.js +10 -1
  208. package/lib/node/pbxproj-dom-xcode.js +1 -0
  209. package/lib/node/xcode.js +1 -0
  210. package/lib/node-package-manager.js +11 -1
  211. package/lib/options.js +143 -118
  212. package/lib/package-installation-manager.js +8 -1
  213. package/lib/package-manager.js +2 -0
  214. package/lib/platform-command-param.js +1 -0
  215. package/lib/pnpm-package-manager.js +4 -1
  216. package/lib/project-data.js +12 -0
  217. package/lib/providers/project-files-provider.js +1 -0
  218. package/lib/resolvers/livesync-service-resolver.js +1 -0
  219. package/lib/services/analytics/analytics-broker-process.js +10 -6
  220. package/lib/services/analytics/analytics-broker.js +2 -1
  221. package/lib/services/analytics/analytics-service.js +29 -25
  222. package/lib/services/analytics/google-analytics-provider.js +13 -12
  223. package/lib/services/analytics-settings-service.js +5 -0
  224. package/lib/services/android/android-bundle-tool-service.js +1 -0
  225. package/lib/services/android/gradle-build-args-service.js +3 -0
  226. package/lib/services/android/gradle-build-service.js +1 -0
  227. package/lib/services/android/gradle-command-service.js +6 -1
  228. package/lib/services/android-device-debug-service.js +6 -0
  229. package/lib/services/android-plugin-build-service.js +33 -1
  230. package/lib/services/android-project-service.js +71 -4
  231. package/lib/services/android-resources-migration-service.js +7 -0
  232. package/lib/services/apple-portal/apple-portal-application-service.js +1 -0
  233. package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
  234. package/lib/services/apple-portal/apple-portal-session-service.js +6 -4
  235. package/lib/services/assets-generation/assets-generation-service.js +16 -5
  236. package/lib/services/build-artifacts-service.js +2 -1
  237. package/lib/services/build-data-service.js +1 -0
  238. package/lib/services/build-info-file-service.js +1 -0
  239. package/lib/services/cleanup-service.js +13 -9
  240. package/lib/services/cocoapods-platform-manager.js +9 -0
  241. package/lib/services/cocoapods-service.js +21 -1
  242. package/lib/services/debug-data-service.js +1 -0
  243. package/lib/services/debug-service-base.js +7 -0
  244. package/lib/services/device/device-install-app-service.js +2 -1
  245. package/lib/services/doctor-service.js +21 -6
  246. package/lib/services/extensibility-service.js +8 -0
  247. package/lib/services/files-hash-service.js +1 -0
  248. package/lib/services/hmr-status-service.js +2 -0
  249. package/lib/services/info-service.js +1 -0
  250. package/lib/services/initialize-service.js +5 -1
  251. package/lib/services/ios/export-options-plist-service.js +4 -0
  252. package/lib/services/ios/ios-signing-service.js +4 -0
  253. package/lib/services/ios/spm-service.js +9 -0
  254. package/lib/services/ios/xcodebuild-args-service.js +9 -0
  255. package/lib/services/ios/xcodebuild-command-service.js +1 -0
  256. package/lib/services/ios/xcodebuild-service.js +1 -0
  257. package/lib/services/ios-debugger-port-service.js +1 -0
  258. package/lib/services/ios-device-debug-service.js +1 -0
  259. package/lib/services/ios-entitlements-service.js +1 -0
  260. package/lib/services/ios-extensions-service.js +1 -0
  261. package/lib/services/ios-log-filter.js +20 -0
  262. package/lib/services/ios-native-target-service.js +6 -4
  263. package/lib/services/ios-project-service.js +94 -2
  264. package/lib/services/ios-provision-service.js +3 -0
  265. package/lib/services/ios-watch-app-service.js +1 -0
  266. package/lib/services/ip-service.js +2 -0
  267. package/lib/services/itmstransporter-service.js +1 -0
  268. package/lib/services/karma-execution.js +2 -0
  269. package/lib/services/livesync/android-device-livesync-service-base.js +1 -0
  270. package/lib/services/livesync/android-device-livesync-service.js +2 -0
  271. package/lib/services/livesync/android-device-livesync-sockets-service.js +3 -0
  272. package/lib/services/livesync/android-livesync-service.js +1 -0
  273. package/lib/services/livesync/android-livesync-tool.js +4 -0
  274. package/lib/services/livesync/device-livesync-service-base.js +2 -0
  275. package/lib/services/livesync/ios-device-livesync-service.js +7 -0
  276. package/lib/services/livesync/ios-livesync-service.js +2 -0
  277. package/lib/services/livesync/livesync-socket.js +1 -0
  278. package/lib/services/livesync/platform-livesync-service-base.js +5 -0
  279. package/lib/services/livesync-process-data-service.js +1 -0
  280. package/lib/services/log-parser-service.js +1 -0
  281. package/lib/services/log-source-map-service.js +15 -0
  282. package/lib/services/marking-mode-service.js +8 -5
  283. package/lib/services/metadata-filtering-service.js +1 -0
  284. package/lib/services/npm-config-service.js +4 -0
  285. package/lib/services/pacote-service.js +7 -0
  286. package/lib/services/performance-service.js +3 -1
  287. package/lib/services/platform/add-platform-service.js +49 -2
  288. package/lib/services/platform/platform-validation-service.js +1 -0
  289. package/lib/services/platform/prepare-native-platform-service.js +5 -2
  290. package/lib/services/platform-environment-requirements.js +8 -3
  291. package/lib/services/platform-project-service-base.js +1 -0
  292. package/lib/services/platforms-data-service.js +1 -0
  293. package/lib/services/plugins-service.js +20 -2
  294. package/lib/services/prepare-data-service.js +1 -0
  295. package/lib/services/project-backup-service.js +4 -0
  296. package/lib/services/project-changes-service.js +14 -3
  297. package/lib/services/project-cleanup-service.js +2 -0
  298. package/lib/services/project-config-service.js +22 -2
  299. package/lib/services/project-data-service.js +36 -7
  300. package/lib/services/project-name-service.js +1 -0
  301. package/lib/services/project-service.js +10 -0
  302. package/lib/services/project-templates-service.js +3 -2
  303. package/lib/services/qr-code-terminal-service.js +1 -0
  304. package/lib/services/require-service.js +1 -0
  305. package/lib/services/start-service.js +1 -0
  306. package/lib/services/temp-service.js +1 -0
  307. package/lib/services/terminal-spinner-service.js +2 -0
  308. package/lib/services/test-execution-service.js +9 -2
  309. package/lib/services/test-initialization-service.js +4 -0
  310. package/lib/services/timeline-profiler-service.js +1 -0
  311. package/lib/services/user-settings-service.js +1 -0
  312. package/lib/services/versions-service.js +6 -4
  313. package/lib/services/watch-ignore-list-service.js +1 -0
  314. package/lib/services/webpack/webpack-compiler-service.js +42 -1
  315. package/lib/services/xcconfig-service.js +2 -0
  316. package/lib/services/xcproj-service.js +1 -0
  317. package/lib/shared-event-bus.js +6 -0
  318. package/lib/sys-info.js +2 -1
  319. package/lib/tools/config-manipulation/config-transformer.js +12 -0
  320. package/lib/tools/node-modules/node-modules-builder.js +1 -0
  321. package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
  322. package/lib/yarn-package-manager.js +1 -0
  323. package/lib/yarn2-package-manager.js +3 -0
  324. package/node_modules/@npmcli/move-file/node_modules/mkdirp/CHANGELOG.md +15 -0
  325. package/node_modules/rimraf/CHANGELOG.md +65 -0
  326. package/node_modules/stringify-package/CHANGELOG.md +16 -0
  327. package/package.json +2 -2
@@ -27,6 +27,12 @@ class DebugServiceBase extends events_1.EventEmitter {
27
27
  };
28
28
  }
29
29
  getChromeDebugUrl(debugOptions, port) {
30
+ // corresponds to 55.0.2883 Chrome version
31
+ // SHA is taken from https://chromium.googlesource.com/chromium/src/+/55.0.2883.100
32
+ // This SHA is old and does not support debugging with HMR.
33
+ // In case we want to stick with concrete SHA, get it from one of the tags https://chromium.googlesource.com/chromium/src/
34
+ // IMPORTANT: When you get the SHA, ensure you are using the `parent` commit, not the actual one.
35
+ // Using the actual commit will result in 404 error in the remote serve.
30
36
  const commitSHA = debugOptions.devToolsCommit || "02e6bde1bbe34e43b309d4ef774b1168d25fd024";
31
37
  const devToolsProtocol = `devtools`;
32
38
  let chromeDevToolsPrefix = `${devToolsProtocol}://devtools/remote/serve_file/@${commitSHA}`;
@@ -42,3 +48,4 @@ class DebugServiceBase extends events_1.EventEmitter {
42
48
  }
43
49
  }
44
50
  exports.DebugServiceBase = DebugServiceBase;
51
+ //# sourceMappingURL=debug-service-base.js.map
@@ -31,7 +31,7 @@ class DeviceInstallAppService {
31
31
  const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
32
32
  const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
33
33
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
34
- action: "Deploy",
34
+ action: "Deploy" /* TrackActionNames.Deploy */,
35
35
  device,
36
36
  projectDir: projectData.projectDir,
37
37
  });
@@ -94,3 +94,4 @@ class DeviceInstallAppService {
94
94
  }
95
95
  exports.DeviceInstallAppService = DeviceInstallAppService;
96
96
  yok_1.injector.register("deviceInstallAppService", DeviceInstallAppService);
97
+ //# sourceMappingURL=device-install-app-service.js.map
@@ -62,9 +62,13 @@ class DoctorService {
62
62
  this.printPackageManagerTip();
63
63
  }
64
64
  if (!configOptions || configOptions.trackResult) {
65
+ // TODO(Analytics): Consider sending this information to Google Analytics
66
+ // await this.$analyticsService.track("DoctorEnvironmentSetup", hasWarnings ? "incorrect" : "correct");
65
67
  }
66
68
  if (hasWarnings) {
67
69
  this.$logger.info("There seem to be issues with your configuration.");
70
+ // cleanup the cache file as there seems to be issues with the current config
71
+ // all projects need to be rechecked
68
72
  this.$fs.deleteFile(this.jsonFileSettingsPath);
69
73
  }
70
74
  else {
@@ -78,6 +82,7 @@ class DoctorService {
78
82
  catch (err) {
79
83
  this.$logger.error("Cannot get the latest versions information from npm. Please try again later.");
80
84
  }
85
+ // todo: check for deprecated imports from `tns-core-modules`
81
86
  this.checkForDeprecatedShortImportsInAppDir(configOptions.projectDir);
82
87
  yield this.$injector
83
88
  .resolve("platformEnvironmentRequirements")
@@ -92,12 +97,12 @@ class DoctorService {
92
97
  runSetupScript() {
93
98
  return __awaiter(this, void 0, void 0, function* () {
94
99
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
95
- action: "Run Setup Script",
100
+ action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
96
101
  additionalData: "Starting",
97
102
  });
98
103
  if (this.$hostInfo.isLinux) {
99
104
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
100
- action: "Run Setup Script",
105
+ action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
101
106
  additionalData: "Skipped as OS is Linux",
102
107
  });
103
108
  return;
@@ -110,7 +115,7 @@ class DoctorService {
110
115
  yield this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
111
116
  }
112
117
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
113
- action: "Run Setup Script",
118
+ action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
114
119
  additionalData: "Finished",
115
120
  });
116
121
  });
@@ -118,7 +123,7 @@ class DoctorService {
118
123
  canExecuteLocalBuild(configuration) {
119
124
  return __awaiter(this, void 0, void 0, function* () {
120
125
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
121
- action: "Check Local Build Setup",
126
+ action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
122
127
  additionalData: "Starting",
123
128
  });
124
129
  const sysInfoConfig = {
@@ -130,9 +135,11 @@ class DoctorService {
130
135
  const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
131
136
  const hasWarnings = warnings.length > 0;
132
137
  if (hasWarnings) {
138
+ // cleanup the cache file as there seems to be issues with the current config
139
+ // all projects need to be rechecked
133
140
  this.$fs.deleteFile(this.jsonFileSettingsPath);
134
141
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
135
- action: "Check Local Build Setup",
142
+ action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
136
143
  additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
137
144
  });
138
145
  this.printInfosCore(infos);
@@ -142,7 +149,7 @@ class DoctorService {
142
149
  yield this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
143
150
  }
144
151
  yield this.$analyticsService.trackEventActionInGoogleAnalytics({
145
- action: "Check Local Build Setup",
152
+ action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
146
153
  additionalData: `Finished: Is setup correct: ${!hasWarnings}`,
147
154
  });
148
155
  return !hasWarnings;
@@ -191,6 +198,13 @@ class DoctorService {
191
198
  .getFsStats(path.join(pathToTnsCoreModules, entry))
192
199
  .isDirectory());
193
200
  const stringRegularExpressionsPerDir = coreModulesSubDirs.map((c) => {
201
+ // require("text");
202
+ // require("text/smth");
203
+ // require( "text/smth");
204
+ // require( "text/smth" );
205
+ // import * as text from "text";
206
+ // import { a } from "text";
207
+ // import {a } from "text/abc"
194
208
  const subDirPart = `[\"\']${c}[\"\'/]`;
195
209
  return `(\\brequire\\s*?\\(\\s*?${subDirPart})|(\\bimport\\b.*?from\\s*?${subDirPart})`;
196
210
  });
@@ -292,3 +306,4 @@ __decorate([
292
306
  ], DoctorService.prototype, "$jsonFileSettingsService", null);
293
307
  exports.DoctorService = DoctorService;
294
308
  yok_1.injector.register("doctorService", DoctorService);
309
+ //# sourceMappingURL=doctor-service.js.map
@@ -135,12 +135,17 @@ class ExtensibilityService {
135
135
  for (const extensionData of allExtensions) {
136
136
  const extensionName = extensionData.package.name;
137
137
  try {
138
+ // now get full package.json for the latest version of the package
138
139
  const registryData = yield this.$packageManager.getRegistryPackageData(extensionName);
139
140
  const latestPackageData = registryData.versions[registryData["dist-tags"].latest];
140
141
  const commands = latestPackageData &&
141
142
  latestPackageData.nativescript &&
142
143
  latestPackageData.nativescript.commands;
143
144
  if (commands && commands.length) {
145
+ // For each default command we need to add its short syntax in the array of commands.
146
+ // For example in case there's a default command called devices list, the commands array will contain devices|*list.
147
+ // However, in case the user executes just tns devices, CLI will still execute the tns devices list command.
148
+ // So we need to add the devices command as well.
144
149
  _.filter(commands, (command) => command.indexOf(inputOpts.defaultCommandDelimiter) !== -1).forEach((defaultCommand) => {
145
150
  commands.push(defaultCommand.replace(defaultCommandRegExp, ""));
146
151
  });
@@ -162,6 +167,7 @@ class ExtensibilityService {
162
167
  }
163
168
  }
164
169
  catch (err) {
170
+ // We do not want to stop the whole process in case we are unable to find data for one of the extensions.
165
171
  this.$logger.trace(`Unable to get data for ${extensionName}. Error is: ${err}`);
166
172
  }
167
173
  }
@@ -197,6 +203,7 @@ class ExtensibilityService {
197
203
  this.assertExtensionsDirExists();
198
204
  if (!this.$fs.exists(this.pathToPackageJson)) {
199
205
  this.$logger.trace(`Creating ${this.pathToPackageJson}.`);
206
+ // create default package.json
200
207
  this.$fs.writeJson(this.pathToPackageJson, {
201
208
  name: "nativescript-extensibility",
202
209
  version: "1.0.0",
@@ -218,3 +225,4 @@ __decorate([
218
225
  ], ExtensibilityService.prototype, "assertPackageJsonExists", null);
219
226
  exports.ExtensibilityService = ExtensibilityService;
220
227
  yok_1.injector.register("extensibilityService", ExtensibilityService);
228
+ //# sourceMappingURL=extensibility-service.js.map
@@ -78,3 +78,4 @@ class FilesHashService {
78
78
  }
79
79
  exports.FilesHashService = FilesHashService;
80
80
  yok_1.injector.register("filesHashService", FilesHashService);
81
+ //# sourceMappingURL=files-hash-service.js.map
@@ -56,6 +56,7 @@ class HmrStatusService {
56
56
  name: "failedLiveSync",
57
57
  platform: this.$devicePlatformsConstants.iOS.toLowerCase(),
58
58
  });
59
+ // webpack5
59
60
  const statusStringMap = {
60
61
  success: constants_1.HmrConstants.HMR_SUCCESS_STATUS,
61
62
  failure: constants_1.HmrConstants.HMR_ERROR_STATUS,
@@ -126,3 +127,4 @@ __decorate([
126
127
  ], HmrStatusService.prototype, "attachToHmrStatusEvent", null);
127
128
  exports.HmrStatusService = HmrStatusService;
128
129
  yok_1.injector.register("hmrStatusService", HmrStatusService);
130
+ //# sourceMappingURL=hmr-status-service.js.map
@@ -12,3 +12,4 @@ class InfoService {
12
12
  }
13
13
  exports.InfoService = InfoService;
14
14
  yok_1.injector.register("infoService", InfoService);
15
+ //# sourceMappingURL=info-service.js.map
@@ -15,6 +15,8 @@ const _ = require("lodash");
15
15
  const constants_1 = require("../constants");
16
16
  const yok_1 = require("../common/yok");
17
17
  class InitializeService {
18
+ // NOTE: Do not inject anything here, use $injector.resolve in the code
19
+ // Injecting something may lead to logger initialization, but we want to initialize it from here.
18
20
  constructor($injector) {
19
21
  this.$injector = $injector;
20
22
  }
@@ -43,6 +45,7 @@ class InitializeService {
43
45
  }
44
46
  }
45
47
  if ($options.json) {
48
+ // speed up --json commands by not gathering system warnings...
46
49
  $logger.trace("Skipping system warnings for --json commands");
47
50
  }
48
51
  else {
@@ -56,7 +59,7 @@ class InitializeService {
56
59
  const systemWarnings = yield $sysInfo.getSystemWarnings();
57
60
  _.each(systemWarnings, (systemWarning) => {
58
61
  const message = `${os_1.EOL}${systemWarning.message}${os_1.EOL}`;
59
- if (systemWarning.severity === "high") {
62
+ if (systemWarning.severity === "high" /* SystemWarningsSeverity.high */) {
60
63
  $logger.error(message);
61
64
  }
62
65
  else {
@@ -68,3 +71,4 @@ class InitializeService {
68
71
  }
69
72
  exports.InitializeService = InitializeService;
70
73
  yok_1.injector.register("initializeService", InitializeService);
74
+ //# sourceMappingURL=initialize-service.js.map
@@ -64,11 +64,13 @@ class ExportOptionsPlistService {
64
64
  plistTemplate += `
65
65
  </dict>
66
66
  </plist>`;
67
+ // Save the options...
67
68
  const exportOptionsPlistFilePath = yield this.$tempService.path({
68
69
  prefix: "export-",
69
70
  suffix: ".plist",
70
71
  });
71
72
  this.$fs.writeFile(exportOptionsPlistFilePath, plistTemplate);
73
+ // The xcodebuild exportPath expects directory and writes the <project-name>.ipa at that directory.
72
74
  const exportFileDir = path.resolve(path.dirname(archivePath));
73
75
  const exportFilePath = path.join(exportFileDir, projectData.projectName + ".ipa");
74
76
  return { exportFileDir, exportFilePath, exportOptionsPlistFilePath };
@@ -106,6 +108,7 @@ class ExportOptionsPlistService {
106
108
  <false/>
107
109
  </dict>
108
110
  </plist>`;
111
+ // Save the options...
109
112
  const exportOptionsPlistFilePath = yield this.$tempService.path({
110
113
  prefix: "export-",
111
114
  suffix: ".plist",
@@ -129,3 +132,4 @@ class ExportOptionsPlistService {
129
132
  }
130
133
  exports.ExportOptionsPlistService = ExportOptionsPlistService;
131
134
  yok_1.injector.register("exportOptionsPlistService", ExportOptionsPlistService);
135
+ //# sourceMappingURL=export-options-plist-service.js.map
@@ -57,6 +57,7 @@ class IOSSigningService {
57
57
  let shouldUpdateXcode = false;
58
58
  if (signing && signing.style === "Automatic") {
59
59
  if (signing.team !== teamId) {
60
+ // Maybe the provided team is name such as "Telerik AD" and we need to convert it to CH******37
60
61
  const teamIdsForName = yield this.$iOSProvisionService.getTeamIdsWithName(teamId);
61
62
  if (!teamIdsForName.some((id) => id === signing.team)) {
62
63
  shouldUpdateXcode = true;
@@ -92,6 +93,7 @@ class IOSSigningService {
92
93
  setupSigningFromProvision(projectRoot, projectData, provision, mobileProvisionData) {
93
94
  return __awaiter(this, void 0, void 0, function* () {
94
95
  if (!provision) {
96
+ // read uuid from Xcode an cache...
95
97
  return;
96
98
  }
97
99
  const xcode = this.$pbxprojDomXcode.Xcode.open(this.getPbxProjPath(projectData, projectRoot));
@@ -124,6 +126,7 @@ class IOSSigningService {
124
126
  this.$logger.trace(`Set Manual signing style and provisioning profile: ${configuration.name} (${configuration.uuid})`);
125
127
  });
126
128
  xcode.save();
129
+ // this.cache(uuid);
127
130
  }
128
131
  else {
129
132
  this.$logger.trace(`The specified provisioning profile is already set in the Xcode: ${provision}`);
@@ -263,3 +266,4 @@ class IOSSigningService {
263
266
  }
264
267
  exports.IOSSigningService = IOSSigningService;
265
268
  yok_1.injector.register("iOSSigningService", IOSSigningService);
269
+ //# sourceMappingURL=ios-signing-service.js.map
@@ -24,6 +24,10 @@ class SPMService {
24
24
  const spmPackages = this.$projectConfigService.getValue(`${platform}.SPMPackages`, []);
25
25
  return spmPackages;
26
26
  }
27
+ // note: this is not used anywhere at the moment.
28
+ // public hasSPMPackages(projectData: IProjectData): boolean {
29
+ // return this.getSPMPackages(projectData).length > 0;
30
+ // }
27
31
  applySPMPackages(platformData, projectData) {
28
32
  return __awaiter(this, void 0, void 0, function* () {
29
33
  try {
@@ -39,12 +43,15 @@ class SPMService {
39
43
  enableAndroid: false,
40
44
  });
41
45
  yield project.load();
46
+ // note: in trapeze both visionOS and iOS are handled by the ios project.
42
47
  if (!project.ios) {
43
48
  this.$logger.trace("SPM: no iOS project found via trapeze.");
44
49
  return;
45
50
  }
51
+ // todo: handle removing packages? Or just warn and require a clean?
46
52
  for (const pkg of spmPackages) {
47
53
  if ("path" in pkg) {
54
+ // resolve the path relative to the project root
48
55
  this.$logger.trace("SPM: resolving path for package: ", pkg.path);
49
56
  pkg.path = path.resolve(projectData.projectDir, pkg.path);
50
57
  }
@@ -52,6 +59,7 @@ class SPMService {
52
59
  yield project.ios.addSPMPackage(projectData.projectName, pkg);
53
60
  }
54
61
  yield project.commit();
62
+ // finally resolve the dependencies
55
63
  yield this.resolveSPMDependencies(platformData, projectData);
56
64
  }
57
65
  catch (err) {
@@ -76,3 +84,4 @@ class SPMService {
76
84
  }
77
85
  exports.SPMService = SPMService;
78
86
  yok_1.injector.register("spmService", SPMService);
87
+ //# sourceMappingURL=spm-service.js.map
@@ -103,6 +103,8 @@ class XcodebuildArgsService {
103
103
  }
104
104
  getXcodeProjectArgs(platformData, projectData) {
105
105
  const xcworkspacePath = path.join(platformData.projectRoot, `${projectData.projectName}.xcworkspace`);
106
+ // Introduced in Xcode 14+
107
+ // ref: https://forums.swift.org/t/telling-xcode-14-beta-4-to-trust-build-tool-plugins-programatically/59305/5
106
108
  const skipPackageValidation = "-skipPackagePluginValidation";
107
109
  const extraArgs = [
108
110
  "-scheme",
@@ -110,6 +112,12 @@ class XcodebuildArgsService {
110
112
  skipPackageValidation,
111
113
  ];
112
114
  const BUILD_SETTINGS_FILE_PATH = path.join(projectData.appResourcesDirectoryPath, platformData.normalizedPlatformName, constants.BUILD_XCCONFIG_FILE_NAME);
115
+ // Only include explicit properties from build.xcconfig
116
+ // Note: we could include entire file via -xcconfig flag
117
+ // however doing so introduces unwanted side effects
118
+ // like cocoapods issues related to ASSETCATALOG_COMPILER_APPICON_NAME
119
+ // references: https://medium.com/@iostechset/why-cocoapods-eats-app-icons-79fe729808d4
120
+ // https://github.com/CocoaPods/CocoaPods/issues/7003
113
121
  const deployTargetProperty = "IPHONEOS_DEPLOYMENT_TARGET";
114
122
  const deployTargetVersion = this.$xcconfigService.readPropertyValue(BUILD_SETTINGS_FILE_PATH, deployTargetProperty);
115
123
  if (deployTargetVersion) {
@@ -161,3 +169,4 @@ class XcodebuildArgsService {
161
169
  }
162
170
  exports.XcodebuildArgsService = XcodebuildArgsService;
163
171
  yok_1.injector.register("xcodebuildArgsService", XcodebuildArgsService);
172
+ //# sourceMappingURL=xcodebuild-args-service.js.map
@@ -38,3 +38,4 @@ class XcodebuildCommandService {
38
38
  }
39
39
  exports.XcodebuildCommandService = XcodebuildCommandService;
40
40
  yok_1.injector.register("xcodebuildCommandService", XcodebuildCommandService);
41
+ //# sourceMappingURL=xcodebuild-command-service.js.map
@@ -91,3 +91,4 @@ class XcodebuildService {
91
91
  }
92
92
  exports.XcodebuildService = XcodebuildService;
93
93
  yok_1.injector.register("xcodebuildService", XcodebuildService);
94
+ //# sourceMappingURL=xcodebuild-service.js.map
@@ -138,3 +138,4 @@ __decorate([
138
138
  ], IOSDebuggerPortService.prototype, "attachToAttachRequestEvent", null);
139
139
  exports.IOSDebuggerPortService = IOSDebuggerPortService;
140
140
  yok_1.injector.register("iOSDebuggerPortService", IOSDebuggerPortService);
141
+ //# sourceMappingURL=ios-debugger-port-service.js.map
@@ -165,3 +165,4 @@ __decorate([
165
165
  ], IOSDeviceDebugService.prototype, "openAppInspector", null);
166
166
  exports.IOSDeviceDebugService = IOSDeviceDebugService;
167
167
  yok_1.injector.register("iOSDeviceDebugService", IOSDeviceDebugService, false);
168
+ //# sourceMappingURL=ios-device-debug-service.js.map
@@ -76,3 +76,4 @@ class IOSEntitlementsService {
76
76
  IOSEntitlementsService.DefaultEntitlementsName = "app.entitlements";
77
77
  exports.IOSEntitlementsService = IOSEntitlementsService;
78
78
  yok_1.injector.register("iOSEntitlementsService", IOSEntitlementsService);
79
+ //# sourceMappingURL=ios-entitlements-service.js.map
@@ -61,3 +61,4 @@ class IOSExtensionsService {
61
61
  }
62
62
  exports.IOSExtensionsService = IOSExtensionsService;
63
63
  yok_1.injector.register("iOSExtensionsService", IOSExtensionsService);
64
+ //# sourceMappingURL=ios-extensions-service.js.map
@@ -5,8 +5,20 @@ const yok_1 = require("../common/yok");
5
5
  class IOSLogFilter {
6
6
  constructor($loggingLevels) {
7
7
  this.$loggingLevels = $loggingLevels;
8
+ // Used to recognize output related to the current project
9
+ // This looks for artifacts like: AppName[22432] or AppName(SomeTextHere)[23123]
8
10
  this.appOutputRegex = /([^\s\(\)]+)(?:\(([^\s]+)\))?\[[0-9]+\]/;
11
+ // Used to trim the passed messages to a simpler output
12
+ // Example:
13
+ // This: "May 24 15:54:52 Dragons-iPhone NativeScript250(NativeScript)[356] <Notice>: CONSOLE ERROR file:///app/tns_modules/@angular/core/bundles/core.umd.js:3477:36: ORIGINAL STACKTRACE:"
14
+ // Becomes: CONSOLE ERROR file:///app/tns_modules/@angular/core/bundles/core.umd.js:3477:36: ORIGINAL STACKTRACE:
9
15
  this.infoFilterRegex = new RegExp(`^.*(?:<Notice>:[ \t]?|<Error>:[ \t]?|<Warning>:[ \t]?|\\(NativeScript\\)[ \t]?|${this.appOutputRegex.source}:[ \t]?){1}`);
16
+ // Used to post filter messages that slip through but are not coming from NativeScript itself.
17
+ // Looks for text in parenthesis at the beginning
18
+ // Example:
19
+ // (RunningBoardServices) [com.apple.runningboard:connection] Identity resolved as application<...>
20
+ // ^(~~capture group~~~)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
21
+ // we then use this to filter out non-NativeScript lines
10
22
  this.postFilterRegex = /^\((.+)\) \[com\.apple.+\]/;
11
23
  this.filterActive = true;
12
24
  this.partialLine = null;
@@ -29,11 +41,15 @@ class IOSLogFilter {
29
41
  this.partialLine = currentLine;
30
42
  break;
31
43
  }
44
+ // Legacy filter moved to preFilter
32
45
  if (this.preFilter(data, currentLine)) {
33
46
  continue;
34
47
  }
35
48
  const matchResult = this.appOutputRegex.exec(currentLine);
36
49
  if (matchResult && matchResult.length > 1) {
50
+ // Check if the name of the app equals the name of the CLI project and turn on the filter if not.
51
+ // We call initializeProjectData in order to obtain the current project name as the instance
52
+ // of this filter may be used accross multiple projects.
37
53
  const projectName = loggingOptions && loggingOptions.projectName;
38
54
  this.filterActive = matchResult[1] !== projectName;
39
55
  if (matchResult === null || matchResult === void 0 ? void 0 : matchResult[2]) {
@@ -48,8 +64,11 @@ class IOSLogFilter {
48
64
  currentLine = currentLine.replace(filteredLineInfo[0], "");
49
65
  }
50
66
  currentLine = currentLine
67
+ // remove lading space before CONSOLE
51
68
  .replace(/^\s*CONSOLE/, "CONSOLE")
69
+ // trim trailing spaces only to preserve indentation
52
70
  .trimEnd();
71
+ // post filtering: (<anything>) check if <anything> is not "NativeScript"
53
72
  const postFilterMatch = this.postFilterRegex.exec(currentLine);
54
73
  if (postFilterMatch && (postFilterMatch === null || postFilterMatch === void 0 ? void 0 : postFilterMatch[1]) !== "NativeScript") {
55
74
  continue;
@@ -68,3 +87,4 @@ class IOSLogFilter {
68
87
  }
69
88
  exports.IOSLogFilter = IOSLogFilter;
70
89
  yok_1.injector.register("iOSLogFilter", IOSLogFilter);
90
+ //# sourceMappingURL=ios-log-filter.js.map
@@ -58,8 +58,8 @@ class IOSNativeTargetService {
58
58
  setXcodeTargetBuildConfigurationProperties(properties, targetName, project) {
59
59
  properties.forEach((property) => {
60
60
  const buildNames = property.buildNames || [
61
- "Debug",
62
- "Release",
61
+ "Debug" /* BuildNames.debug */,
62
+ "Release" /* BuildNames.release */,
63
63
  ];
64
64
  buildNames.forEach((buildName) => {
65
65
  project.addBuildProperty(property.name, property.value, buildName, targetName);
@@ -76,6 +76,7 @@ class IOSNativeTargetService {
76
76
  project.addToBuildSettings("ASSETCATALOG_COMPILER_APPICON_NAME", configurationJson.assetcatalogCompilerAppiconName, targetUuid);
77
77
  }
78
78
  const properties = [];
79
+ // Set for both release and debug
79
80
  if (configurationJson.targetBuildConfigurationProperties) {
80
81
  _.forEach(configurationJson.targetBuildConfigurationProperties, (value, name) => properties.push({ value, name }));
81
82
  }
@@ -84,11 +85,11 @@ class IOSNativeTargetService {
84
85
  var buildName = null;
85
86
  switch (name) {
86
87
  case "debug": {
87
- buildName = "Debug";
88
+ buildName = "Debug" /* BuildNames.debug */;
88
89
  break;
89
90
  }
90
91
  case "release": {
91
- buildName = "Release";
92
+ buildName = "Release" /* BuildNames.release */;
92
93
  break;
93
94
  }
94
95
  default: {
@@ -106,3 +107,4 @@ class IOSNativeTargetService {
106
107
  }
107
108
  exports.IOSNativeTargetService = IOSNativeTargetService;
108
109
  yok_1.injector.register("iOSNativeTargetService", IOSNativeTargetService);
110
+ //# sourceMappingURL=ios-native-target-service.js.map