nativescript 9.0.3 → 9.0.4-dev.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 (329) hide show
  1. package/lib/android-tools-info.js +0 -12
  2. package/lib/base-package-manager.js +0 -7
  3. package/lib/bootstrap.js +1 -5
  4. package/lib/bun-package-manager.js +1 -14
  5. package/lib/color.js +0 -4
  6. package/lib/commands/add-platform.js +0 -1
  7. package/lib/commands/apple-login.js +0 -1
  8. package/lib/commands/appstore-list.js +0 -1
  9. package/lib/commands/appstore-upload.js +0 -3
  10. package/lib/commands/build.js +2 -3
  11. package/lib/commands/clean.js +1 -22
  12. package/lib/commands/command-base.js +0 -1
  13. package/lib/commands/config.js +0 -5
  14. package/lib/commands/create-project.js +0 -6
  15. package/lib/commands/debug.js +1 -6
  16. package/lib/commands/deploy.js +2 -3
  17. package/lib/commands/embedding/embed.js +0 -7
  18. package/lib/commands/extensibility/install-extension.js +0 -1
  19. package/lib/commands/extensibility/list-extensions.js +0 -1
  20. package/lib/commands/extensibility/uninstall-extension.js +0 -1
  21. package/lib/commands/fonts.js +0 -1
  22. package/lib/commands/generate-assets.js +0 -1
  23. package/lib/commands/generate-help.js +0 -1
  24. package/lib/commands/generate.js +1 -48
  25. package/lib/commands/hooks/common.js +1 -2
  26. package/lib/commands/hooks/hooks-lock.js +0 -1
  27. package/lib/commands/hooks/hooks.js +0 -1
  28. package/lib/commands/info.js +0 -1
  29. package/lib/commands/install.js +0 -1
  30. package/lib/commands/list-platforms.js +0 -1
  31. package/lib/commands/migrate.js +0 -1
  32. package/lib/commands/native-add.js +0 -5
  33. package/lib/commands/platform-clean.js +0 -1
  34. package/lib/commands/plugin/add-plugin.js +0 -1
  35. package/lib/commands/plugin/build-plugin.js +0 -1
  36. package/lib/commands/plugin/create-plugin.js +0 -5
  37. package/lib/commands/plugin/list-plugins.js +0 -1
  38. package/lib/commands/plugin/remove-plugin.js +0 -2
  39. package/lib/commands/plugin/update-plugin.js +0 -1
  40. package/lib/commands/post-install.js +0 -6
  41. package/lib/commands/prepare.js +3 -4
  42. package/lib/commands/preview.js +0 -2
  43. package/lib/commands/remove-platform.js +0 -1
  44. package/lib/commands/resources/resources-update.js +0 -2
  45. package/lib/commands/run.js +0 -1
  46. package/lib/commands/setup.js +0 -1
  47. package/lib/commands/start.js +0 -1
  48. package/lib/commands/test-init.js +0 -4
  49. package/lib/commands/test.js +2 -9
  50. package/lib/commands/typings.js +1 -2
  51. package/lib/commands/update-platform.js +0 -5
  52. package/lib/commands/update.js +0 -2
  53. package/lib/commands/widget.js +1 -20
  54. package/lib/common/bootstrap.js +0 -1
  55. package/lib/common/child-process.js +0 -3
  56. package/lib/common/codeGeneration/code-entity.js +0 -1
  57. package/lib/common/codeGeneration/code-printer.js +0 -1
  58. package/lib/common/command-params.js +0 -1
  59. package/lib/common/commands/analytics.js +0 -3
  60. package/lib/common/commands/autocompletion.js +0 -3
  61. package/lib/common/commands/device/device-log-stream.js +0 -1
  62. package/lib/common/commands/device/get-file.js +0 -2
  63. package/lib/common/commands/device/list-applications.js +0 -1
  64. package/lib/common/commands/device/list-devices.js +0 -3
  65. package/lib/common/commands/device/list-files.js +0 -2
  66. package/lib/common/commands/device/put-file.js +0 -2
  67. package/lib/common/commands/device/run-application.js +0 -1
  68. package/lib/common/commands/device/stop-application.js +0 -1
  69. package/lib/common/commands/device/uninstall-application.js +0 -1
  70. package/lib/common/commands/doctor.js +2 -3
  71. package/lib/common/commands/generate-messages.js +0 -1
  72. package/lib/common/commands/help.js +0 -1
  73. package/lib/common/commands/package-manager-get.js +0 -1
  74. package/lib/common/commands/package-manager-set.js +0 -1
  75. package/lib/common/commands/post-install.js +0 -1
  76. package/lib/common/commands/preuninstall.js +2 -11
  77. package/lib/common/commands/proxy/proxy-base.js +0 -4
  78. package/lib/common/commands/proxy/proxy-clear.js +0 -1
  79. package/lib/common/commands/proxy/proxy-get.js +0 -1
  80. package/lib/common/commands/proxy/proxy-set.js +0 -1
  81. package/lib/common/common-lib.js +0 -1
  82. package/lib/common/constants.js +0 -11
  83. package/lib/common/decorators.js +0 -48
  84. package/lib/common/dispatchers.js +1 -10
  85. package/lib/common/errors.js +3 -13
  86. package/lib/common/file-system.js +2 -13
  87. package/lib/common/header.js +0 -3
  88. package/lib/common/helpers.js +3 -89
  89. package/lib/common/host-info.js +0 -4
  90. package/lib/common/http-client.js +0 -20
  91. package/lib/common/logger/appenders/cli-appender.js +0 -4
  92. package/lib/common/logger/appenders/emit-appender.js +0 -4
  93. package/lib/common/logger/layouts/cli-layout.js +0 -1
  94. package/lib/common/logger/logger.js +0 -5
  95. package/lib/common/messages/messages.js +0 -6
  96. package/lib/common/mobile/android/android-application-manager.js +1 -20
  97. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +0 -1
  98. package/lib/common/mobile/android/android-debug-bridge.js +0 -6
  99. package/lib/common/mobile/android/android-device-file-system.js +0 -4
  100. package/lib/common/mobile/android/android-device-hash-service.js +0 -3
  101. package/lib/common/mobile/android/android-device.js +0 -8
  102. package/lib/common/mobile/android/android-emulator-services.js +1 -2
  103. package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
  104. package/lib/common/mobile/android/android-log-filter.js +0 -4
  105. package/lib/common/mobile/android/android-virtual-device-service.js +0 -26
  106. package/lib/common/mobile/android/device-android-debug-bridge.js +0 -1
  107. package/lib/common/mobile/android/genymotion/genymotion-service.js +1 -6
  108. package/lib/common/mobile/android/genymotion/virtualbox-service.js +0 -11
  109. package/lib/common/mobile/android/logcat-helper.js +0 -13
  110. package/lib/common/mobile/application-manager-base.js +0 -6
  111. package/lib/common/mobile/device-emitter.js +0 -4
  112. package/lib/common/mobile/device-log-emitter.js +0 -1
  113. package/lib/common/mobile/device-log-provider-base.js +0 -1
  114. package/lib/common/mobile/device-log-provider.js +0 -23
  115. package/lib/common/mobile/device-platforms-constants.js +0 -1
  116. package/lib/common/mobile/emulator-helper.js +0 -3
  117. package/lib/common/mobile/ios/device/ios-application-manager.js +0 -3
  118. package/lib/common/mobile/ios/device/ios-device-file-system.js +0 -1
  119. package/lib/common/mobile/ios/device/ios-device-operations.js +0 -4
  120. package/lib/common/mobile/ios/device/ios-device.js +0 -4
  121. package/lib/common/mobile/ios/ios-device-base.js +0 -1
  122. package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
  123. package/lib/common/mobile/ios/ios-log-filter.js +0 -1
  124. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +0 -4
  125. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +0 -1
  126. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +0 -6
  127. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +0 -5
  128. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +0 -1
  129. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +0 -1
  130. package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
  131. package/lib/common/mobile/log-filter.js +0 -2
  132. package/lib/common/mobile/logging-levels.js +0 -1
  133. package/lib/common/mobile/mobile-core/android-device-discovery.js +0 -2
  134. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +0 -3
  135. package/lib/common/mobile/mobile-core/android-process-service.js +0 -32
  136. package/lib/common/mobile/mobile-core/device-discovery.js +0 -1
  137. package/lib/common/mobile/mobile-core/devices-service.js +0 -69
  138. package/lib/common/mobile/mobile-core/ios-device-discovery.js +0 -2
  139. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +0 -3
  140. package/lib/common/mobile/mobile-helper.js +0 -1
  141. package/lib/common/mobile/wp8/wp8-emulator-services.js +0 -1
  142. package/lib/common/opener.js +0 -1
  143. package/lib/common/os-info.js +0 -1
  144. package/lib/common/plist-parser.js +0 -1
  145. package/lib/common/project-helper.js +0 -1
  146. package/lib/common/prompter.js +1 -9
  147. package/lib/common/queue.js +0 -1
  148. package/lib/common/resource-loader.js +0 -1
  149. package/lib/common/services/auto-completion-service.js +1 -13
  150. package/lib/common/services/cancellation.js +1 -2
  151. package/lib/common/services/commands-service.js +6 -17
  152. package/lib/common/services/help-service.js +3 -11
  153. package/lib/common/services/hooks-service.js +0 -13
  154. package/lib/common/services/ios-notification-service.js +0 -1
  155. package/lib/common/services/json-file-settings-service.js +0 -6
  156. package/lib/common/services/lock-service.js +0 -6
  157. package/lib/common/services/message-contract-generator.js +0 -1
  158. package/lib/common/services/messages-service.js +0 -1
  159. package/lib/common/services/micro-templating-service.js +0 -6
  160. package/lib/common/services/net-service.js +0 -3
  161. package/lib/common/services/project-files-manager.js +0 -5
  162. package/lib/common/services/project-files-provider-base.js +0 -1
  163. package/lib/common/services/proxy-service.js +0 -1
  164. package/lib/common/services/qr.js +0 -1
  165. package/lib/common/services/settings-service.js +0 -1
  166. package/lib/common/services/xcode-select-service.js +0 -1
  167. package/lib/common/utils.js +0 -1
  168. package/lib/common/validators/project-name-validator.js +0 -1
  169. package/lib/common/validators/validation-result.js +0 -1
  170. package/lib/common/verify-node-version.js +1 -8
  171. package/lib/common/yok.js +11 -32
  172. package/lib/config.js +1 -22
  173. package/lib/constants-provider.js +0 -1
  174. package/lib/constants.js +0 -53
  175. package/lib/controllers/build-controller.js +3 -4
  176. package/lib/controllers/debug-controller.js +3 -8
  177. package/lib/controllers/deploy-controller.js +0 -1
  178. package/lib/controllers/migrate-controller.js +4 -90
  179. package/lib/controllers/platform-controller.js +1 -9
  180. package/lib/controllers/prepare-controller.js +4 -17
  181. package/lib/controllers/run-controller.js +1 -17
  182. package/lib/controllers/update-controller-base.js +0 -1
  183. package/lib/controllers/update-controller.js +0 -11
  184. package/lib/data/build-data.js +0 -1
  185. package/lib/data/controller-data-base.js +0 -1
  186. package/lib/data/debug-data.js +0 -1
  187. package/lib/data/platform-data.js +0 -1
  188. package/lib/data/prepare-data.js +0 -1
  189. package/lib/data/run-data.js +0 -1
  190. package/lib/detached-processes/cleanup-js-subprocess.js +2 -8
  191. package/lib/detached-processes/cleanup-process.js +14 -18
  192. package/lib/detached-processes/file-log-service.js +1 -2
  193. package/lib/device-path-provider.js +0 -1
  194. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +0 -7
  195. package/lib/device-sockets/ios/notification.js +0 -3
  196. package/lib/device-sockets/ios/socket-request-executor.js +0 -3
  197. package/lib/helpers/android-bundle-validator-helper.js +1 -2
  198. package/lib/helpers/deploy-command-helper.js +0 -1
  199. package/lib/helpers/key-command-helper.js +2 -4
  200. package/lib/helpers/livesync-command-helper.js +1 -4
  201. package/lib/helpers/network-connectivity-validator.js +0 -1
  202. package/lib/helpers/options-track-helper.js +2 -3
  203. package/lib/helpers/package-path-helper.js +0 -1
  204. package/lib/helpers/platform-command-helper.js +2 -7
  205. package/lib/helpers/version-validator-helper.js +0 -1
  206. package/lib/key-commands/bootstrap.js +2 -3
  207. package/lib/key-commands/index.js +4 -5
  208. package/lib/nativescript-cli-lib-bootstrap.js +0 -4
  209. package/lib/nativescript-cli-lib.js +0 -1
  210. package/lib/nativescript-cli.js +1 -11
  211. package/lib/node/pbxproj-dom-xcode.js +0 -1
  212. package/lib/node/xcode.js +0 -1
  213. package/lib/node-package-manager.js +1 -11
  214. package/lib/options.js +119 -144
  215. package/lib/package-installation-manager.js +1 -8
  216. package/lib/package-manager.js +0 -2
  217. package/lib/platform-command-param.js +0 -1
  218. package/lib/pnpm-package-manager.js +1 -4
  219. package/lib/project-data.js +0 -12
  220. package/lib/providers/project-files-provider.js +0 -1
  221. package/lib/resolvers/livesync-service-resolver.js +0 -1
  222. package/lib/services/analytics/analytics-broker-process.js +6 -10
  223. package/lib/services/analytics/analytics-broker.js +1 -2
  224. package/lib/services/analytics/analytics-service.js +25 -29
  225. package/lib/services/analytics/google-analytics-provider.js +12 -13
  226. package/lib/services/analytics-settings-service.js +0 -5
  227. package/lib/services/android/android-bundle-tool-service.js +0 -1
  228. package/lib/services/android/gradle-build-args-service.js +0 -3
  229. package/lib/services/android/gradle-build-service.js +0 -1
  230. package/lib/services/android/gradle-command-service.js +0 -1
  231. package/lib/services/android-device-debug-service.js +0 -6
  232. package/lib/services/android-plugin-build-service.js +2 -31
  233. package/lib/services/android-project-service.js +4 -71
  234. package/lib/services/android-resources-migration-service.js +0 -7
  235. package/lib/services/apple-portal/apple-portal-application-service.js +0 -1
  236. package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
  237. package/lib/services/apple-portal/apple-portal-session-service.js +4 -6
  238. package/lib/services/apple-portal/srp/srp-wrapper.js +1 -4
  239. package/lib/services/assets-generation/assets-generation-service.js +5 -10
  240. package/lib/services/build-artifacts-service.js +1 -2
  241. package/lib/services/build-data-service.js +0 -1
  242. package/lib/services/build-info-file-service.js +0 -1
  243. package/lib/services/bundler/bundler-compiler-service.js +1 -68
  244. package/lib/services/bundler/bundler.js +0 -1
  245. package/lib/services/cleanup-service.js +9 -13
  246. package/lib/services/cocoapods-platform-manager.js +0 -9
  247. package/lib/services/cocoapods-service.js +1 -21
  248. package/lib/services/debug-data-service.js +0 -1
  249. package/lib/services/debug-service-base.js +0 -7
  250. package/lib/services/device/device-install-app-service.js +1 -2
  251. package/lib/services/doctor-service.js +6 -21
  252. package/lib/services/extensibility-service.js +0 -8
  253. package/lib/services/files-hash-service.js +0 -1
  254. package/lib/services/hmr-status-service.js +0 -2
  255. package/lib/services/info-service.js +0 -1
  256. package/lib/services/initialize-service.js +1 -5
  257. package/lib/services/ios/export-options-plist-service.js +0 -4
  258. package/lib/services/ios/ios-signing-service.js +10 -7
  259. package/lib/services/ios/spm-service.js +0 -18
  260. package/lib/services/ios/xcodebuild-args-service.js +0 -11
  261. package/lib/services/ios/xcodebuild-command-service.js +0 -1
  262. package/lib/services/ios/xcodebuild-service.js +1 -2
  263. package/lib/services/ios-debugger-port-service.js +0 -1
  264. package/lib/services/ios-device-debug-service.js +0 -1
  265. package/lib/services/ios-entitlements-service.js +3 -2
  266. package/lib/services/ios-extensions-service.js +0 -1
  267. package/lib/services/ios-log-filter.js +0 -20
  268. package/lib/services/ios-native-target-service.js +4 -6
  269. package/lib/services/ios-project-service.js +11 -105
  270. package/lib/services/ios-provision-service.js +0 -3
  271. package/lib/services/ios-watch-app-service.js +0 -1
  272. package/lib/services/ip-service.js +0 -2
  273. package/lib/services/itmstransporter-service.js +0 -1
  274. package/lib/services/karma-execution.js +0 -2
  275. package/lib/services/livesync/android-device-livesync-service-base.js +0 -1
  276. package/lib/services/livesync/android-device-livesync-service.js +0 -2
  277. package/lib/services/livesync/android-device-livesync-sockets-service.js +0 -3
  278. package/lib/services/livesync/android-livesync-service.js +0 -1
  279. package/lib/services/livesync/android-livesync-tool.js +0 -4
  280. package/lib/services/livesync/device-livesync-service-base.js +0 -2
  281. package/lib/services/livesync/ios-device-livesync-service.js +0 -7
  282. package/lib/services/livesync/ios-livesync-service.js +0 -2
  283. package/lib/services/livesync/livesync-socket.js +0 -1
  284. package/lib/services/livesync/platform-livesync-service-base.js +0 -5
  285. package/lib/services/livesync-process-data-service.js +0 -1
  286. package/lib/services/log-parser-service.js +0 -1
  287. package/lib/services/log-source-map-service.js +0 -15
  288. package/lib/services/marking-mode-service.js +5 -8
  289. package/lib/services/metadata-filtering-service.js +0 -1
  290. package/lib/services/npm-config-service.js +0 -4
  291. package/lib/services/pacote-service.js +0 -7
  292. package/lib/services/performance-service.js +1 -3
  293. package/lib/services/platform/add-platform-service.js +2 -49
  294. package/lib/services/platform/platform-validation-service.js +0 -1
  295. package/lib/services/platform/prepare-native-platform-service.js +2 -5
  296. package/lib/services/platform-environment-requirements.js +3 -8
  297. package/lib/services/platform-project-service-base.js +0 -1
  298. package/lib/services/platforms-data-service.js +0 -1
  299. package/lib/services/plugins-service.js +2 -20
  300. package/lib/services/prepare-data-service.js +0 -1
  301. package/lib/services/project-backup-service.js +0 -4
  302. package/lib/services/project-changes-service.js +3 -14
  303. package/lib/services/project-cleanup-service.js +0 -2
  304. package/lib/services/project-config-service.js +2 -21
  305. package/lib/services/project-data-service.js +7 -36
  306. package/lib/services/project-name-service.js +0 -1
  307. package/lib/services/project-service.js +0 -10
  308. package/lib/services/project-templates-service.js +2 -3
  309. package/lib/services/qr-code-terminal-service.js +0 -1
  310. package/lib/services/require-service.js +0 -1
  311. package/lib/services/start-service.js +0 -1
  312. package/lib/services/temp-service.js +0 -3
  313. package/lib/services/terminal-spinner-service.js +0 -2
  314. package/lib/services/test-execution-service.js +2 -9
  315. package/lib/services/test-initialization-service.js +0 -4
  316. package/lib/services/timeline-profiler-service.js +0 -1
  317. package/lib/services/user-settings-service.js +0 -1
  318. package/lib/services/versions-service.js +4 -6
  319. package/lib/services/watch-ignore-list-service.js +0 -1
  320. package/lib/services/xcconfig-service.js +0 -2
  321. package/lib/services/xcproj-service.js +0 -1
  322. package/lib/shared-event-bus.js +0 -6
  323. package/lib/sys-info.js +1 -2
  324. package/lib/tools/config-manipulation/config-transformer.js +0 -12
  325. package/lib/tools/node-modules/node-modules-builder.js +0 -1
  326. package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
  327. package/lib/yarn-package-manager.js +0 -1
  328. package/lib/yarn2-package-manager.js +0 -3
  329. package/package.json +1 -1
@@ -42,7 +42,6 @@ class HelpService {
42
42
  this.$logger.trace("Opening help for command '%s'. FileName is '%s'.", commandName, htmlPage);
43
43
  this.$fs.ensureDirectoryExists(this.pathToHtmlPages);
44
44
  if (!this.tryOpeningSelectedPage(htmlPage)) {
45
- // HTML pages may have been skipped on post-install, lets generate them.
46
45
  this.$logger.trace("Required HTML file '%s' is missing. Let's try generating HTML files and see if we'll find it.", htmlPage);
47
46
  await this.generateHtmlPages();
48
47
  if (!this.tryOpeningSelectedPage(htmlPage)) {
@@ -99,11 +98,6 @@ class HelpService {
99
98
  const help = await this.getCommandLineHelpForCommand(commandData);
100
99
  this.$logger.printMarkdown(help);
101
100
  }
102
- /**
103
- * Gets the help content for a specific command that should be shown on the terminal.
104
- * @param {string} commandName Name of the command for which to read the help.
105
- * @returns {Promise<string>} Help content of the command parsed with all terminal rules applied (stripped content that should be shown only for html help).
106
- */
107
101
  async getCommandLineHelpForCommand(commandData) {
108
102
  const helpText = await this.readMdFileForCommand(commandData);
109
103
  const commandLineHelp = (await this.$microTemplateService.parseContent(helpText, { isHtml: false }))
@@ -115,7 +109,6 @@ class HelpService {
115
109
  .replace(HelpService.NEW_LINE_REGEX, os_1.EOL);
116
110
  return commandLineHelp;
117
111
  }
118
- // This method should return Promise in order to generate all html pages simultaneously.
119
112
  async createHtmlPage(htmlPageGenerationData) {
120
113
  const { basicHtmlPage, pathToMdFile, pathToMdPages, pathToHtmlPages, extensionName, } = htmlPageGenerationData;
121
114
  const mdFileName = path.basename(pathToMdFile);
@@ -162,8 +155,8 @@ class HelpService {
162
155
  const commandName = commandData.commandName;
163
156
  const commandInfo = {
164
157
  inputStrings: [commandName, ...commandData.commandArguments],
165
- commandDelimiter: "|" /* CommandsDelimiters.HierarchicalCommand */,
166
- defaultCommandDelimiter: "|*" /* CommandsDelimiters.DefaultHierarchicalCommand */,
158
+ commandDelimiter: "|",
159
+ defaultCommandDelimiter: "|*",
167
160
  };
168
161
  const extensionData = await this.$extensibilityService.getExtensionNameWhereCommandIsRegistered(commandInfo);
169
162
  if (extensionData) {
@@ -230,6 +223,5 @@ HelpService.RELATIVE_PATH_TO_INDEX_REGEX = /@RELATIVE_PATH_TO_INDEX@/g;
230
223
  HelpService.EXTENSION_NAME_REGEX = /@EXTENSION_NAME@/g;
231
224
  HelpService.MARKDOWN_LINK_REGEX = /\[([\w \-\`\<\>\*\:\\]+?)\]\([\s\S]+?\)/g;
232
225
  HelpService.SPAN_REGEX = /([\s\S]*?)(?:\r?\n)?<span.*?>([\s\S]*?)<\/span>(?:\r?\n)*/g;
233
- HelpService.NEW_LINE_REGEX = /<\/?\s*?br\s*?\/?>/g; // <br>, <br > <br/> <br />
226
+ HelpService.NEW_LINE_REGEX = /<\/?\s*?br\s*?\/?>/g;
234
227
  yok_1.injector.register("helpService", HelpService);
235
- //# sourceMappingURL=help-service.js.map
@@ -52,7 +52,6 @@ class HooksService {
52
52
  }
53
53
  }
54
54
  static formatHookName(commandName) {
55
- // Remove everything after | (including the pipe)
56
55
  return commandName.replace(/\|[\s\S]*$/, "");
57
56
  }
58
57
  executeBeforeHooks(commandName, hookArguments) {
@@ -132,11 +131,6 @@ class HooksService {
132
131
  this.$logger.warn(`${hook.fullPath} will NOT be executed because it has invalid arguments - ${color_1.color.grey(invalidArguments.join(", "))}.`);
133
132
  return;
134
133
  }
135
- // HACK for backwards compatibility:
136
- // In case $projectData wasn't resolved by the time we got here (most likely we got here without running a command but through a service directly)
137
- // then it is probably passed as a hookArg
138
- // if that is the case then pass it directly to the hook instead of trying to resolve $projectData via injector
139
- // This helps make hooks stateless
140
134
  const projectDataHookArg = hookArguments["hookArgs"] && hookArguments["hookArgs"]["projectData"];
141
135
  if (projectDataHookArg) {
142
136
  hookArguments["projectData"] = hookArguments["$projectData"] =
@@ -155,7 +149,6 @@ class HooksService {
155
149
  this.$logger.warn(err.message || err);
156
150
  }
157
151
  else {
158
- // Print the actual error with its callstack, so it is easy to find out which hooks is causing troubles.
159
152
  this.$logger.error(err);
160
153
  throw err || new Error(`Failed to execute hook: ${hook.fullPath}.`);
161
154
  }
@@ -260,7 +253,6 @@ class HooksService {
260
253
  interpreter = sheBangMatch[1];
261
254
  }
262
255
  if (interpreter) {
263
- // Likewise, make /usr/bin/bash work like "bash".
264
256
  shMatch = interpreter.match(/bin\/((?:ba)?sh)$/);
265
257
  }
266
258
  if (shMatch) {
@@ -301,7 +293,6 @@ class HooksService {
301
293
  }
302
294
  validateHookArguments(hookConstructor, hookFullPath) {
303
295
  const invalidArguments = [];
304
- // We need to annotate the hook in order to have the arguments of the constructor.
305
296
  (0, helpers_1.annotate)(hookConstructor);
306
297
  _.each(hookConstructor.$inject.args, (argument) => {
307
298
  try {
@@ -322,12 +313,8 @@ HooksService.HOOKS_DIRECTORY_NAME = "hooks";
322
313
  __decorate([
323
314
  (0, decorators_1.memoize)({
324
315
  shouldCache() {
325
- // only cache if we have hooks directories, the only case to
326
- // not have hooks directories is when the project dir is
327
- // not set yet, ie. when creating a project.
328
316
  return !!this.hooksDirectories.length;
329
317
  },
330
318
  })
331
319
  ], HooksService.prototype, "initialize", null);
332
320
  yok_1.injector.register("hooksService", HooksService);
333
- //# sourceMappingURL=hooks-service.js.map
@@ -34,4 +34,3 @@ class IOSNotificationService {
34
34
  }
35
35
  exports.IOSNotificationService = IOSNotificationService;
36
36
  yok_1.injector.register("iOSNotificationService", IOSNotificationService);
37
- //# sourceMappingURL=ios-notification-service.js.map
@@ -25,8 +25,6 @@ class JsonFileSettingsService {
25
25
  const dataToReturn = data.modifiedByCacheMechanism ? data.value : data;
26
26
  if (cacheOpts && cacheOpts.cacheTimeout) {
27
27
  if (!data.modifiedByCacheMechanism) {
28
- // If data has no cache, but we want to check the timeout, consider the data as outdated.
29
- // this should be a really rare case
30
28
  return null;
31
29
  }
32
30
  const currentTime = Date.now();
@@ -84,8 +82,6 @@ class JsonFileSettingsService {
84
82
  if (!this.$fs.exists(this.jsonSettingsFilePath)) {
85
83
  const unexistingDirs = this.getUnexistingDirectories(this.jsonSettingsFilePath);
86
84
  this.$fs.writeFile(this.jsonSettingsFilePath, null);
87
- // when running under 'sudo' we create the <path to home dir>/.local/share/.nativescript-cli dir with root as owner
88
- // and other Applications cannot access this directory anymore. (bower/heroku/etc)
89
85
  if (process.env.SUDO_USER) {
90
86
  for (const dir of unexistingDirs) {
91
87
  await this.$fs.setCurrentUserAsOwner(dir, process.env.SUDO_USER);
@@ -105,7 +101,6 @@ class JsonFileSettingsService {
105
101
  const unexistingDirs = [];
106
102
  let currentDir = path.join(filePath, "..");
107
103
  while (true) {
108
- // this directory won't be created.
109
104
  if (this.$fs.exists(currentDir)) {
110
105
  break;
111
106
  }
@@ -117,4 +112,3 @@ class JsonFileSettingsService {
117
112
  }
118
113
  exports.JsonFileSettingsService = JsonFileSettingsService;
119
114
  yok_1.injector.register("jsonFileSettingsService", JsonFileSettingsService, false);
120
- //# sourceMappingURL=json-file-settings-service.js.map
@@ -22,7 +22,6 @@ class LockService {
22
22
  }
23
23
  get defaultLockParams() {
24
24
  const lockParams = {
25
- // https://www.npmjs.com/package/retry#retrytimeoutsoptions
26
25
  retriesObj: { retries: 13, minTimeout: 100, maxTimeout: 1000, factor: 2 },
27
26
  stale: 10 * 1000,
28
27
  realpath: false,
@@ -73,8 +72,6 @@ class LockService {
73
72
  }
74
73
  }
75
74
  getPathsForCleanupAction(lockPath) {
76
- // The proper-lockfile creates directory with the passed name and `.lock` at the end.
77
- // Ensure we will take care of it as well.
78
75
  return [lockPath, `${lockPath}.lock`];
79
76
  }
80
77
  getLockFileSettings(filePath, fileOpts) {
@@ -90,7 +87,6 @@ class LockService {
90
87
  fileOpts.retriesObj.retries = fileOpts.retries;
91
88
  }
92
89
  if (fileOpts.retryWait) {
93
- // backwards compatibility
94
90
  fileOpts.retriesObj.minTimeout = fileOpts.retriesObj.maxTimeout =
95
91
  fileOpts.retryWait;
96
92
  }
@@ -113,6 +109,4 @@ __decorate([
113
109
  (0, decorators_1.cache)()
114
110
  ], LockService.prototype, "defaultLockFilePath", null);
115
111
  yok_1.injector.register("lockService", LockService);
116
- // backwards compatibility
117
112
  yok_1.injector.register("lockfile", LockService);
118
- //# sourceMappingURL=lock-service.js.map
@@ -70,4 +70,3 @@ class MessageContractGenerator {
70
70
  }
71
71
  exports.MessageContractGenerator = MessageContractGenerator;
72
72
  yok_1.injector.register("messageContractGenerator", MessageContractGenerator);
73
- //# sourceMappingURL=message-contract-generator.js.map
@@ -75,4 +75,3 @@ class MessagesService {
75
75
  }
76
76
  exports.MessagesService = MessagesService;
77
77
  yok_1.injector.register("messagesService", MessagesService);
78
- //# sourceMappingURL=messages-service.js.map
@@ -9,15 +9,11 @@ const _ = require("lodash");
9
9
  class MicroTemplateService {
10
10
  constructor($injector) {
11
11
  this.$injector = $injector;
12
- // Injector's dynamicCallRegex doesn't have 'g' option, which we need here.
13
- // Use ( ) in order to use $1 to get whole expression later
14
12
  this.dynamicCallRegex = new RegExp(util.format("(%s)", this.$injector.dynamicCallRegex.source), "g");
15
13
  }
16
14
  async parseContent(data, options) {
17
15
  const localVariables = this.getLocalVariables(options);
18
16
  const compiledTemplate = _.template(data.replace(this.dynamicCallRegex, 'this.$injector.getDynamicCallData("$1")'));
19
- // When debugging parsing, uncomment the line below:
20
- // console.log(compiledTemplate.source);
21
17
  return await compiledTemplate.apply(this, [localVariables]);
22
18
  }
23
19
  isPlatform(...args) {
@@ -26,7 +22,6 @@ class MicroTemplateService {
26
22
  }
27
23
  getLocalVariables(options) {
28
24
  const isHtml = options.isHtml;
29
- // in html help we want to show all help. Only CONSOLE specific help(wrapped in if(isConsole) ) must be omitted
30
25
  const localVariables = {
31
26
  constants,
32
27
  };
@@ -41,4 +36,3 @@ class MicroTemplateService {
41
36
  }
42
37
  exports.MicroTemplateService = MicroTemplateService;
43
38
  yok_1.injector.register("microTemplateService", MicroTemplateService);
44
- //# sourceMappingURL=micro-templating-service.js.map
@@ -14,7 +14,6 @@ class Net {
14
14
  }
15
15
  async getFreePort() {
16
16
  const server = net.createServer((sock) => {
17
- /* empty - noone will connect here */
18
17
  });
19
18
  return new Promise((resolve, reject) => {
20
19
  let isResolved = false;
@@ -46,7 +45,6 @@ class Net {
46
45
  });
47
46
  server.once("close", () => {
48
47
  if (!isResolved) {
49
- // "close" will be emitted right after "error"
50
48
  isResolved = true;
51
49
  resolve(true);
52
50
  }
@@ -120,4 +118,3 @@ class Net {
120
118
  exports.Net = Net;
121
119
  Net.DEFAULT_INTERVAL = 1000;
122
120
  yok_1.injector.register("net", Net);
123
- //# sourceMappingURL=net-service.js.map
@@ -53,7 +53,6 @@ class ProjectFilesManager {
53
53
  this.processPlatformSpecificFilesCore(platform, files, projectFilesConfig);
54
54
  }
55
55
  processPlatformSpecificFilesCore(platform, files, projectFilesConfig) {
56
- // Renames the files that have `platform` as substring and removes the files from other platform
57
56
  _.each(files, (filePath) => {
58
57
  const projectFileInfo = this.$projectFilesProvider.getProjectFileInfo(filePath, platform, projectFilesConfig);
59
58
  if (!projectFileInfo.shouldIncludeFile) {
@@ -61,7 +60,6 @@ class ProjectFilesManager {
61
60
  }
62
61
  else if (projectFileInfo.onDeviceFileName) {
63
62
  const onDeviceFilePath = path.join(path.dirname(filePath), projectFileInfo.onDeviceFileName);
64
- // Fix .js.map entries
65
63
  const extension = path.extname(projectFileInfo.onDeviceFileName);
66
64
  if (onDeviceFilePath !== filePath) {
67
65
  if (extension === ".js" || extension === ".map") {
@@ -75,8 +73,6 @@ class ProjectFilesManager {
75
73
  fileContent = fileContent.replace(new RegExp(oldName, "g"), newName);
76
74
  this.$fs.writeFile(filePath, fileContent);
77
75
  }
78
- // Rename the file
79
- // this.$fs.rename is not called as it is error prone on some systems with slower hard drives and rigorous antivirus software
80
76
  this.$fs.writeFile(onDeviceFilePath, this.$fs.readText(filePath));
81
77
  this.$fs.deleteFile(filePath);
82
78
  }
@@ -89,4 +85,3 @@ class ProjectFilesManager {
89
85
  }
90
86
  exports.ProjectFilesManager = ProjectFilesManager;
91
87
  yok_1.injector.register("projectFilesManager", ProjectFilesManager);
92
- //# sourceMappingURL=project-files-manager.js.map
@@ -52,4 +52,3 @@ class ProjectFilesProviderBase {
52
52
  }
53
53
  }
54
54
  exports.ProjectFilesProviderBase = ProjectFilesProviderBase;
55
- //# sourceMappingURL=project-files-provider-base.js.map
@@ -51,4 +51,3 @@ class ProxyService {
51
51
  }
52
52
  exports.ProxyService = ProxyService;
53
53
  yok_1.injector.register("proxyService", ProxyService);
54
- //# sourceMappingURL=proxy-service.js.map
@@ -26,4 +26,3 @@ class QrCodeGenerator {
26
26
  }
27
27
  exports.QrCodeGenerator = QrCodeGenerator;
28
28
  yok_1.injector.register("qr", QrCodeGenerator);
29
- //# sourceMappingURL=qr.js.map
@@ -40,4 +40,3 @@ __decorate([
40
40
  (0, decorators_1.exported)("settingsService")
41
41
  ], SettingsService.prototype, "setSettings", null);
42
42
  yok_1.injector.register("settingsService", SettingsService);
43
- //# sourceMappingURL=settings-service.js.map
@@ -45,4 +45,3 @@ __decorate([
45
45
  (0, decorators_1.cache)()
46
46
  ], XcodeSelectService.prototype, "getXcodeVersion", null);
47
47
  yok_1.injector.register("xcodeSelectService", XcodeSelectService);
48
- //# sourceMappingURL=xcode-select-service.js.map
@@ -36,4 +36,3 @@ function capitalizeFirstLetter(value) {
36
36
  return value.charAt(0).toUpperCase() + value.slice(1);
37
37
  }
38
38
  yok_1.injector.register("utils", Utils);
39
- //# sourceMappingURL=utils.js.map
@@ -86,4 +86,3 @@ ProjectNameValidator.INVALID_FILENAMES = [
86
86
  ];
87
87
  ProjectNameValidator.INVALID_EXTENSIONS = [];
88
88
  yok_1.injector.register("projectNameValidator", ProjectNameValidator);
89
- //# sourceMappingURL=project-name-validator.js.map
@@ -14,4 +14,3 @@ class ValidationResult {
14
14
  }
15
15
  exports.ValidationResult = ValidationResult;
16
16
  ValidationResult.Successful = new ValidationResult(null);
17
- //# sourceMappingURL=validation-result.js.map
@@ -1,16 +1,11 @@
1
1
  "use strict";
2
- // This function must be separate to avoid dependencies on C++ modules - it must execute precisely when other functions cannot
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.verifyNodeVersion = verifyNodeVersion;
5
4
  exports.getNodeWarning = getNodeWarning;
6
5
  const color_1 = require("../color");
7
- // Use only ES5 code here - pure JavaScript can be executed with any Node.js version (even 0.10, 0.12).
8
- /* tslint:disable:no-var-keyword no-var-requires prefer-const*/
9
6
  var os = require("os");
10
7
  var semver = require("semver");
11
8
  var util = require("util");
12
- // These versions cannot be used with CLI due to bugs in the node itself.
13
- // We are absolutely sure we cannot work with them, so inform the user if he is trying to use any of them and exit the process.
14
9
  var versionsCausingFailure = ["0.10.34", "4.0.0", "4.2.0", "5.0.0"];
15
10
  var minimumRequiredVersion = "8.0.0";
16
11
  function getNodeVersionOpts() {
@@ -74,11 +69,9 @@ function getNodeWarning() {
74
69
  if (warningMessage) {
75
70
  nodeWarn = {
76
71
  message: warningMessage,
77
- severity: "medium" /* SystemWarningsSeverity.medium */,
72
+ severity: "medium",
78
73
  };
79
74
  }
80
75
  }
81
76
  return nodeWarn;
82
77
  }
83
- /* tslint:enable */
84
- //# sourceMappingURL=verify-node-version.js.map
package/lib/common/yok.js CHANGED
@@ -9,13 +9,6 @@ const helpers_1 = require("./helpers");
9
9
  const constants_1 = require("./constants");
10
10
  let indent = "";
11
11
  function trace(formatStr, ...args) {
12
- // uncomment following lines when debugging dependency injection
13
- // const items: any[] = [];
14
- // for (let _i = 1; _i < arguments.length; _i++) {
15
- // items[_i - 1] = arguments[_i];
16
- // }
17
- // const util = require("util");
18
- // console.log(util.format.apply(util, [indent + formatStr].concat(args)));
19
12
  }
20
13
  function pushIndent() {
21
14
  indent += " ";
@@ -33,7 +26,6 @@ function forEachName(names, action) {
33
26
  }
34
27
  function register(...rest) {
35
28
  return function (target) {
36
- // TODO: Check if 'rest' has more arguments that have to be registered
37
29
  exports.injector.register(rest[0], target);
38
30
  };
39
31
  }
@@ -52,7 +44,7 @@ class Yok {
52
44
  }
53
45
  requireCommand(names, file) {
54
46
  forEachName(names, (commandName) => {
55
- const commands = commandName.split("|" /* CommandsDelimiters.HierarchicalCommand */);
47
+ const commands = commandName.split("|");
56
48
  if (commands.length > 1) {
57
49
  if (_.startsWith(commands[1], "*") &&
58
50
  this.modules[this.createCommandName(commands[0])]) {
@@ -62,7 +54,7 @@ class Yok {
62
54
  if (!this.hierarchicalCommands[parentCommandName]) {
63
55
  this.hierarchicalCommands[parentCommandName] = [];
64
56
  }
65
- this.hierarchicalCommands[parentCommandName].push(_.tail(commands).join("|" /* CommandsDelimiters.HierarchicalCommand */));
57
+ this.hierarchicalCommands[parentCommandName].push(_.tail(commands).join("|"));
66
58
  }
67
59
  if (commands.length > 1 &&
68
60
  !this.modules[this.createCommandName(commands[0])]) {
@@ -133,7 +125,7 @@ class Yok {
133
125
  }
134
126
  registerCommand(names, resolver) {
135
127
  forEachName(names, (name) => {
136
- const commands = name.split("|" /* CommandsDelimiters.HierarchicalCommand */);
128
+ const commands = name.split("|");
137
129
  this.register(this.createCommandName(name), resolver);
138
130
  if (commands.length > 1) {
139
131
  this.createHierarchicalCommand(commands[0]);
@@ -145,7 +137,7 @@ class Yok {
145
137
  }
146
138
  getDefaultCommand(name, commandArguments) {
147
139
  const subCommands = this.hierarchicalCommands[name];
148
- const defaultCommand = _.find(subCommands, (command) => _.some(command.split("|" /* CommandsDelimiters.HierarchicalCommand */), (c) => _.startsWith(c, "*" /* CommandsDelimiters.DefaultCommandSymbol */)));
140
+ const defaultCommand = _.find(subCommands, (command) => _.some(command.split("|"), (c) => _.startsWith(c, "*")));
149
141
  return defaultCommand;
150
142
  }
151
143
  buildHierarchicalCommand(parentCommandName, commandLineArguments) {
@@ -161,7 +153,7 @@ class Yok {
161
153
  remainingArguments = _.tail(remainingArguments);
162
154
  if ((matchingSubCommandName = _.find(subCommands, (sc) => sc === currentSubCommandName ||
163
155
  sc ===
164
- `${"*" /* CommandsDelimiters.DefaultCommandSymbol */}${currentSubCommandName}`))) {
156
+ `${"*"}${currentSubCommandName}`))) {
165
157
  finalSubCommandName = matchingSubCommandName;
166
158
  finalRemainingArguments = remainingArguments;
167
159
  }
@@ -170,8 +162,8 @@ class Yok {
170
162
  finalSubCommandName =
171
163
  this.getDefaultCommand(parentCommandName, commandLineArguments) || "";
172
164
  finalRemainingArguments = _.difference(commandLineArguments, finalSubCommandName
173
- .split("|" /* CommandsDelimiters.HierarchicalCommand */)
174
- .map((command) => _.startsWith(command, "*" /* CommandsDelimiters.DefaultCommandSymbol */)
165
+ .split("|")
166
+ .map((command) => _.startsWith(command, "*")
175
167
  ? command.substr(1)
176
168
  : command));
177
169
  }
@@ -202,9 +194,7 @@ class Yok {
202
194
  commandName = defaultCommand
203
195
  ? this.getHierarchicalCommandName(name, defaultCommand)
204
196
  : "help";
205
- // If we'll execute the default command, but it's full name had been written by the user
206
- // for example "ns run ios", we have to remove the "ios" option from the arguments that we'll pass to the command.
207
- if (_.includes(this.hierarchicalCommands[name], "*" /* CommandsDelimiters.DefaultCommandSymbol */ + args[0])) {
197
+ if (_.includes(this.hierarchicalCommands[name], "*" + args[0])) {
208
198
  commandArguments = _.tail(args);
209
199
  }
210
200
  else {
@@ -213,13 +203,11 @@ class Yok {
213
203
  }
214
204
  }
215
205
  else {
216
- //Execute only default command without arguments
217
206
  if (defaultCommand) {
218
207
  commandName = this.getHierarchicalCommandName(name, defaultCommand);
219
208
  }
220
209
  else {
221
210
  commandName = "help";
222
- // Show command-line help
223
211
  const options = this.resolve("options");
224
212
  options.help = true;
225
213
  }
@@ -231,7 +219,7 @@ class Yok {
231
219
  exports.injector.registerCommand(name, factory);
232
220
  }
233
221
  getHierarchicalCommandName(parentCommandName, subCommandName) {
234
- return [parentCommandName, subCommandName].join("|" /* CommandsDelimiters.HierarchicalCommand */);
222
+ return [parentCommandName, subCommandName].join("|");
235
223
  }
236
224
  async isValidHierarchicalCommand(commandName, commandArguments) {
237
225
  if (_.includes(Object.keys(this.hierarchicalCommands), commandName)) {
@@ -239,8 +227,6 @@ class Yok {
239
227
  if (subCommands) {
240
228
  const fullCommandName = this.buildHierarchicalCommand(commandName, commandArguments);
241
229
  if (!fullCommandName) {
242
- // In case buildHierarchicalCommand doesn't find a valid command
243
- // there isn't a valid command or default with those arguments
244
230
  const errors = exports.injector.resolve("errors");
245
231
  errors.failWithHelp(constants_1.ERROR_NO_VALID_SUBCOMMAND_FORMAT, commandName);
246
232
  }
@@ -250,8 +236,8 @@ class Yok {
250
236
  return false;
251
237
  }
252
238
  isDefaultCommand(commandName) {
253
- return (commandName.indexOf("*" /* CommandsDelimiters.DefaultCommandSymbol */) > 0 &&
254
- commandName.indexOf("|" /* CommandsDelimiters.HierarchicalCommand */) > 0);
239
+ return (commandName.indexOf("*") > 0 &&
240
+ commandName.indexOf("|") > 0);
255
241
  }
256
242
  register(name, resolver, shared) {
257
243
  shared = shared === undefined ? true : shared;
@@ -298,12 +284,6 @@ class Yok {
298
284
  return this.resolveByName(param, ctorArguments);
299
285
  }
300
286
  }
301
- /* Regex to match dynamic calls in the following format:
302
- #{moduleName.functionName} or
303
- #{moduleName.functionName(param1)} or
304
- #{moduleName.functionName(param1, param2)} - multiple parameters separated with comma are supported
305
- Check dynamicCall method for sample usage of this regular expression and see how to determine the passed parameters
306
- */
307
287
  get dynamicCallRegex() {
308
288
  return /#{([^.]+)\.([^}]+?)(\((.+)\))*}/;
309
289
  }
@@ -431,4 +411,3 @@ function setGlobalInjector(inj) {
431
411
  global.$injector = exports.injector = inj;
432
412
  return inj;
433
413
  }
434
- //# sourceMappingURL=yok.js.map
package/lib/config.js CHANGED
@@ -7,10 +7,8 @@ const os = require("os");
7
7
  const _ = require("lodash");
8
8
  const yok_1 = require("./common/yok");
9
9
  class Configuration {
10
- /*don't require logger and everything that has logger as dependency in config.js due to cyclic dependency*/
11
10
  constructor($fs) {
12
11
  this.$fs = $fs;
13
- // User specific config
14
12
  this.DEBUG = false;
15
13
  this.ANDROID_DEBUG_UI = null;
16
14
  this.USE_POD_SANDBOX = false;
@@ -49,7 +47,6 @@ class StaticConfig {
49
47
  this._userAgent = null;
50
48
  }
51
49
  get disableCommandHooks() {
52
- // Never set this to false because it will duplicate execution of hooks realized through method decoration
53
50
  return true;
54
51
  }
55
52
  get HTML_CLI_HELPERS_DIR() {
@@ -91,7 +88,6 @@ class StaticConfig {
91
88
  async getAdbFilePathCore() {
92
89
  const $childProcess = this.$injector.resolve("$childProcess");
93
90
  try {
94
- // Do NOT use the adb wrapper because it will end blow up with Segmentation fault because the wrapper uses this method!!!
95
91
  const proc = await $childProcess.spawnFromEvent("adb", ["version"], "exit", undefined, { throwError: false });
96
92
  if (proc.stderr) {
97
93
  return await this.spawnPrivateAdb();
@@ -104,40 +100,23 @@ class StaticConfig {
104
100
  }
105
101
  return "adb";
106
102
  }
107
- /*
108
- Problem:
109
- 1. Adb forks itself as a server which keeps running until adb kill-server is invoked or crashes
110
- 2. On Windows running processes lock their image files due to memory mapping. Locked files prevent their parent directories from deletion and cannot be overwritten.
111
- 3. Update and uninstall scenarios are broken
112
- Solution:
113
- - Copy adb and associated files into a temporary directory. Let this copy of adb run persistently
114
- - On Posix OSes, immediately delete the file to not take file space
115
- - Tie common lib version to updates of adb, so that when we integrate a newer adb we can use it
116
- - Adb is named differently on OSes and may have additional files. The code is hairy to accommodate these differences
117
- */
118
103
  async spawnPrivateAdb() {
119
104
  const $fs = this.$injector.resolve("$fs"), $childProcess = this.$injector.resolve("$childProcess"), $hostInfo = this.$injector.resolve("$hostInfo");
120
- // prepare the directory to host our copy of adb
121
105
  const defaultAdbDirPath = path.join(__dirname, "common", "resources", "platform-tools", "android", process.platform);
122
106
  const pathToPackageJson = path.join(__dirname, "..", "package.json");
123
107
  const nsCliVersion = require(pathToPackageJson).version;
124
108
  const tmpDir = path.join(os.tmpdir(), `nativescript-cli-${nsCliVersion}`);
125
109
  $fs.createDirectory(tmpDir);
126
- // copy the adb and associated files
127
110
  const targetAdb = path.join(tmpDir, "adb");
128
- // In case directory is missing or it's empty, copy the new adb
129
111
  if (!$fs.exists(tmpDir) || !$fs.readDirectory(tmpDir).length) {
130
- shelljs.cp(path.join(defaultAdbDirPath, "*"), tmpDir); // deliberately ignore copy errors
131
- // adb loses its executable bit when packed inside electron asar file. Manually fix the issue
112
+ shelljs.cp(path.join(defaultAdbDirPath, "*"), tmpDir);
132
113
  if (!$hostInfo.isWindows) {
133
114
  shelljs.chmod("+x", targetAdb);
134
115
  }
135
116
  }
136
- // let adb start its global server
137
117
  await $childProcess.spawnFromEvent(targetAdb, ["start-server"], "exit");
138
118
  return targetAdb;
139
119
  }
140
120
  }
141
121
  exports.StaticConfig = StaticConfig;
142
122
  yok_1.injector.register("staticConfig", StaticConfig);
143
- //# sourceMappingURL=config.js.map
@@ -10,4 +10,3 @@ class Constants {
10
10
  }
11
11
  exports.Constants = Constants;
12
12
  yok_1.injector.register("constants", Constants);
13
- //# sourceMappingURL=constants-provider.js.map