@akylas/nativescript-cli 8.7.2 → 8.8.3

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 (295) hide show
  1. package/config/test-deps-versions-generated.json +1 -1
  2. package/docs/man_pages/project/configuration/native/native-add-java.md +32 -0
  3. package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
  4. package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
  5. package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
  6. package/docs/man_pages/project/configuration/native/native-add.md +31 -0
  7. package/docs/man_pages/project/configuration/native/native.md +31 -0
  8. package/lib/.d.ts +2 -0
  9. package/lib/android-tools-info.js +9 -20
  10. package/lib/base-package-manager.js +47 -64
  11. package/lib/bootstrap.js +8 -0
  12. package/lib/bun-package-manager.js +65 -88
  13. package/lib/color.js +2 -2
  14. package/lib/commands/add-platform.js +14 -30
  15. package/lib/commands/apple-login.js +18 -29
  16. package/lib/commands/appstore-list.js +34 -45
  17. package/lib/commands/appstore-upload.js +55 -68
  18. package/lib/commands/build.js +57 -86
  19. package/lib/commands/clean.js +161 -176
  20. package/lib/commands/command-base.js +14 -27
  21. package/lib/commands/config.js +51 -70
  22. package/lib/commands/create-project.js +210 -229
  23. package/lib/commands/debug.js +66 -88
  24. package/lib/commands/deploy.js +28 -44
  25. package/lib/commands/embedding/embed.js +72 -0
  26. package/lib/commands/extensibility/install-extension.js +5 -16
  27. package/lib/commands/extensibility/list-extensions.js +13 -24
  28. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  29. package/lib/commands/fonts.js +30 -41
  30. package/lib/commands/generate-assets.js +13 -28
  31. package/lib/commands/generate-help.js +2 -13
  32. package/lib/commands/generate.js +17 -26
  33. package/lib/commands/info.js +2 -13
  34. package/lib/commands/install.js +34 -49
  35. package/lib/commands/list-platforms.js +14 -25
  36. package/lib/commands/migrate.js +15 -26
  37. package/lib/commands/native-add.js +277 -0
  38. package/lib/commands/platform-clean.js +19 -32
  39. package/lib/commands/plugin/add-plugin.js +12 -25
  40. package/lib/commands/plugin/build-plugin.js +34 -45
  41. package/lib/commands/plugin/create-plugin.js +110 -133
  42. package/lib/commands/plugin/list-plugins.js +22 -33
  43. package/lib/commands/plugin/remove-plugin.js +20 -33
  44. package/lib/commands/plugin/update-plugin.js +20 -33
  45. package/lib/commands/post-install.js +20 -33
  46. package/lib/commands/prepare.js +28 -35
  47. package/lib/commands/preview.js +49 -62
  48. package/lib/commands/remove-platform.js +7 -18
  49. package/lib/commands/resources/resources-update.js +13 -26
  50. package/lib/commands/run.js +55 -76
  51. package/lib/commands/start.js +6 -19
  52. package/lib/commands/test-init.js +123 -134
  53. package/lib/commands/test.js +66 -89
  54. package/lib/commands/typings.js +126 -142
  55. package/lib/commands/update-platform.js +22 -35
  56. package/lib/commands/update.js +30 -43
  57. package/lib/common/child-process.js +53 -72
  58. package/lib/common/codeGeneration/code-entity.js +1 -1
  59. package/lib/common/codeGeneration/code-printer.js +1 -1
  60. package/lib/common/command-params.js +7 -18
  61. package/lib/common/commands/analytics.js +27 -40
  62. package/lib/common/commands/autocompletion.js +39 -56
  63. package/lib/common/commands/device/device-log-stream.js +12 -23
  64. package/lib/common/commands/device/get-file.js +22 -33
  65. package/lib/common/commands/device/list-applications.js +12 -23
  66. package/lib/common/commands/device/list-devices.js +72 -87
  67. package/lib/common/commands/device/list-files.js +23 -34
  68. package/lib/common/commands/device/put-file.js +22 -33
  69. package/lib/common/commands/device/run-application.js +12 -25
  70. package/lib/common/commands/device/stop-application.js +11 -22
  71. package/lib/common/commands/device/uninstall-application.js +6 -17
  72. package/lib/common/commands/generate-messages.js +17 -28
  73. package/lib/common/commands/help.js +20 -33
  74. package/lib/common/commands/package-manager-get.js +6 -17
  75. package/lib/common/commands/package-manager-set.js +9 -20
  76. package/lib/common/commands/post-install.js +2 -13
  77. package/lib/common/commands/preuninstall.js +23 -38
  78. package/lib/common/commands/proxy/proxy-base.js +8 -19
  79. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  80. package/lib/common/commands/proxy/proxy-get.js +3 -14
  81. package/lib/common/commands/proxy/proxy-set.js +87 -100
  82. package/lib/common/constants.js +11 -11
  83. package/lib/common/decorators.js +10 -22
  84. package/lib/common/dispatchers.js +79 -96
  85. package/lib/common/errors.js +89 -104
  86. package/lib/common/file-system.js +106 -127
  87. package/lib/common/header.js +1 -2
  88. package/lib/common/helpers.js +149 -178
  89. package/lib/common/host-info.js +37 -50
  90. package/lib/common/http-client.js +93 -108
  91. package/lib/common/logger/appenders/cli-appender.js +1 -2
  92. package/lib/common/logger/appenders/emit-appender.js +1 -2
  93. package/lib/common/logger/layouts/cli-layout.js +1 -2
  94. package/lib/common/logger/logger.js +1 -1
  95. package/lib/common/mobile/android/android-application-manager.js +121 -142
  96. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  97. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  98. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  99. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  100. package/lib/common/mobile/android/android-device.js +74 -91
  101. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  102. package/lib/common/mobile/android/android-log-filter.js +1 -1
  103. package/lib/common/mobile/android/android-virtual-device-service.js +76 -94
  104. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  105. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  106. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  107. package/lib/common/mobile/android/logcat-helper.js +108 -118
  108. package/lib/common/mobile/application-manager-base.js +84 -107
  109. package/lib/common/mobile/device-log-provider-base.js +7 -18
  110. package/lib/common/mobile/emulator-helper.js +1 -0
  111. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  112. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  113. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  114. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  115. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  116. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  117. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  118. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  119. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  120. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  121. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  122. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  123. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  124. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  125. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  126. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  127. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  128. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  129. package/lib/common/mobile/mobile-helper.js +15 -26
  130. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  131. package/lib/common/opener.js +2 -2
  132. package/lib/common/plist-parser.js +2 -2
  133. package/lib/common/prompter.js +90 -105
  134. package/lib/common/queue.js +9 -20
  135. package/lib/common/services/auto-completion-service.js +39 -52
  136. package/lib/common/services/cancellation.js +17 -28
  137. package/lib/common/services/commands-service.js +146 -169
  138. package/lib/common/services/help-service.js +132 -157
  139. package/lib/common/services/hooks-service.js +93 -108
  140. package/lib/common/services/ios-notification-service.js +21 -34
  141. package/lib/common/services/json-file-settings-service.js +52 -71
  142. package/lib/common/services/lock-service.js +35 -52
  143. package/lib/common/services/message-contract-generator.js +35 -46
  144. package/lib/common/services/micro-templating-service.js +4 -15
  145. package/lib/common/services/net-service.js +90 -107
  146. package/lib/common/services/project-files-manager.js +10 -23
  147. package/lib/common/services/proxy-service.js +13 -24
  148. package/lib/common/services/qr.js +13 -24
  149. package/lib/common/services/settings-service.js +1 -1
  150. package/lib/common/services/xcode-select-service.js +20 -35
  151. package/lib/common/utils.js +7 -0
  152. package/lib/common/validators/project-name-validator.js +1 -1
  153. package/lib/common/validators/validation-result.js +1 -1
  154. package/lib/common/verify-node-version.js +2 -3
  155. package/lib/common/yok.js +23 -36
  156. package/lib/config.js +7 -58
  157. package/lib/constants.js +24 -24
  158. package/lib/controllers/build-controller.js +82 -99
  159. package/lib/controllers/debug-controller.js +107 -128
  160. package/lib/controllers/deploy-controller.js +17 -22
  161. package/lib/controllers/migrate-controller.js +727 -800
  162. package/lib/controllers/platform-controller.js +72 -83
  163. package/lib/controllers/prepare-controller.js +264 -250
  164. package/lib/controllers/run-controller.js +392 -406
  165. package/lib/controllers/update-controller-base.js +16 -29
  166. package/lib/controllers/update-controller.js +94 -119
  167. package/lib/data/build-data.js +2 -0
  168. package/lib/data/prepare-data.js +5 -1
  169. package/lib/declarations.d.ts +14 -3
  170. package/lib/definitions/android-plugin-migrator.d.ts +1 -0
  171. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  172. package/lib/definitions/livesync.d.ts +1 -1
  173. package/lib/definitions/platform.d.ts +1 -0
  174. package/lib/definitions/prepare.d.ts +3 -0
  175. package/lib/definitions/project.d.ts +5 -0
  176. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  177. package/lib/detached-processes/cleanup-process.js +16 -25
  178. package/lib/device-path-provider.js +23 -34
  179. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  180. package/lib/device-sockets/ios/notification.js +1 -1
  181. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  182. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  183. package/lib/helpers/deploy-command-helper.js +45 -49
  184. package/lib/helpers/key-command-helper.js +4 -13
  185. package/lib/helpers/livesync-command-helper.js +137 -152
  186. package/lib/helpers/network-connectivity-validator.js +6 -17
  187. package/lib/helpers/options-track-helper.js +6 -17
  188. package/lib/helpers/platform-command-helper.js +102 -114
  189. package/lib/key-commands/index.js +161 -211
  190. package/lib/nativescript-cli.js +5 -14
  191. package/lib/node-package-manager.js +81 -104
  192. package/lib/options.js +12 -14
  193. package/lib/package-installation-manager.js +130 -165
  194. package/lib/package-manager.js +63 -86
  195. package/lib/platform-command-param.js +4 -15
  196. package/lib/pnpm-package-manager.js +59 -78
  197. package/lib/project-data.js +5 -2
  198. package/lib/providers/project-files-provider.js +2 -2
  199. package/lib/services/analytics/analytics-broker-process.js +13 -22
  200. package/lib/services/analytics/analytics-broker.js +17 -30
  201. package/lib/services/analytics/analytics-service.js +161 -198
  202. package/lib/services/analytics/google-analytics-provider.js +41 -56
  203. package/lib/services/analytics-settings-service.js +15 -32
  204. package/lib/services/android/android-bundle-tool-service.js +43 -60
  205. package/lib/services/android/gradle-build-args-service.js +13 -23
  206. package/lib/services/android/gradle-build-service.js +34 -47
  207. package/lib/services/android/gradle-command-service.js +23 -32
  208. package/lib/services/android-device-debug-service.js +90 -117
  209. package/lib/services/android-plugin-build-service.js +233 -247
  210. package/lib/services/android-project-service.js +180 -219
  211. package/lib/services/android-resources-migration-service.js +51 -64
  212. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  213. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  214. package/lib/services/assets-generation/assets-generation-service.js +100 -113
  215. package/lib/services/build-artifacts-service.js +9 -20
  216. package/lib/services/build-info-file-service.js +20 -35
  217. package/lib/services/cleanup-service.js +47 -76
  218. package/lib/services/cocoapods-service.js +118 -133
  219. package/lib/services/device/device-install-app-service.js +73 -90
  220. package/lib/services/doctor-service.js +99 -118
  221. package/lib/services/extensibility-service.js +81 -100
  222. package/lib/services/files-hash-service.js +28 -44
  223. package/lib/services/hmr-status-service.js +1 -1
  224. package/lib/services/initialize-service.js +37 -50
  225. package/lib/services/ios/export-options-plist-service.js +38 -51
  226. package/lib/services/ios/ios-signing-service.js +161 -180
  227. package/lib/services/ios/spm-service.js +40 -53
  228. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  229. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  230. package/lib/services/ios/xcodebuild-service.js +50 -69
  231. package/lib/services/ios-debugger-port-service.js +23 -36
  232. package/lib/services/ios-device-debug-service.js +75 -102
  233. package/lib/services/ios-entitlements-service.js +31 -42
  234. package/lib/services/ios-extensions-service.js +18 -29
  235. package/lib/services/ios-project-service.js +418 -440
  236. package/lib/services/ios-provision-service.js +108 -129
  237. package/lib/services/ios-watch-app-service.js +21 -32
  238. package/lib/services/ip-service.js +38 -53
  239. package/lib/services/itmstransporter-service.js +129 -152
  240. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  241. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  242. package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -155
  243. package/lib/services/livesync/android-livesync-service.js +16 -37
  244. package/lib/services/livesync/android-livesync-tool.js +89 -112
  245. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  246. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  247. package/lib/services/livesync/ios-livesync-service.js +44 -60
  248. package/lib/services/livesync/platform-livesync-service-base.js +96 -120
  249. package/lib/services/log-parser-service.js +1 -1
  250. package/lib/services/log-source-map-service.js +33 -43
  251. package/lib/services/marking-mode-service.js +15 -28
  252. package/lib/services/npm-config-service.js +1 -1
  253. package/lib/services/pacote-service.js +49 -64
  254. package/lib/services/performance-service.js +1 -1
  255. package/lib/services/platform/add-platform-service.js +53 -69
  256. package/lib/services/platform/platform-validation-service.js +22 -33
  257. package/lib/services/platform/prepare-native-platform-service.js +50 -60
  258. package/lib/services/platform-environment-requirements.js +29 -38
  259. package/lib/services/plugins-service.js +128 -147
  260. package/lib/services/project-backup-service.js +1 -1
  261. package/lib/services/project-changes-service.js +129 -139
  262. package/lib/services/project-cleanup-service.js +64 -77
  263. package/lib/services/project-config-service.js +71 -80
  264. package/lib/services/project-data-service.js +116 -139
  265. package/lib/services/project-name-service.js +28 -43
  266. package/lib/services/project-service.js +84 -103
  267. package/lib/services/project-templates-service.js +52 -67
  268. package/lib/services/start-service.js +41 -59
  269. package/lib/services/temp-service.js +8 -21
  270. package/lib/services/terminal-spinner-service.js +13 -24
  271. package/lib/services/test-execution-service.js +59 -72
  272. package/lib/services/test-initialization-service.js +2 -2
  273. package/lib/services/timeline-profiler-service.js +1 -1
  274. package/lib/services/versions-service.js +119 -138
  275. package/lib/services/webpack/webpack-compiler-service.js +212 -224
  276. package/lib/services/xcconfig-service.js +8 -19
  277. package/lib/services/xcproj-service.js +12 -0
  278. package/lib/sys-info.js +45 -62
  279. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  280. package/lib/yarn-package-manager.js +59 -78
  281. package/lib/yarn2-package-manager.js +60 -79
  282. package/package.json +59 -57
  283. package/vendor/aab-tool/README.txt +1 -1
  284. package/vendor/aab-tool/bundletool.jar +0 -0
  285. package/vendor/gradle-app/app/build.gradle +12 -4
  286. package/vendor/gradle-plugin/build.gradle +12 -4
  287. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  288. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  289. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  290. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  291. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  292. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  293. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  294. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  295. package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
@@ -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.HelpService = void 0;
13
4
  const path = require("path");
@@ -44,148 +35,134 @@ class HelpService {
44
35
  this.pathToHtmlPages = this.$staticConfig.HTML_PAGES_DIR;
45
36
  this.pathToManPages = this.$staticConfig.MAN_PAGES_DIR;
46
37
  }
47
- openHelpForCommandInBrowser(commandData) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- const { commandName } = commandData;
50
- const htmlPage = (yield this.convertCommandNameToFileName(commandData)) +
51
- HelpService.HTML_FILE_EXTENSION;
52
- this.$logger.trace("Opening help for command '%s'. FileName is '%s'.", commandName, htmlPage);
53
- this.$fs.ensureDirectoryExists(this.pathToHtmlPages);
38
+ async openHelpForCommandInBrowser(commandData) {
39
+ const { commandName } = commandData;
40
+ const htmlPage = (await this.convertCommandNameToFileName(commandData)) +
41
+ HelpService.HTML_FILE_EXTENSION;
42
+ this.$logger.trace("Opening help for command '%s'. FileName is '%s'.", commandName, htmlPage);
43
+ this.$fs.ensureDirectoryExists(this.pathToHtmlPages);
44
+ if (!this.tryOpeningSelectedPage(htmlPage)) {
45
+ this.$logger.trace("Required HTML file '%s' is missing. Let's try generating HTML files and see if we'll find it.", htmlPage);
46
+ await this.generateHtmlPages();
54
47
  if (!this.tryOpeningSelectedPage(htmlPage)) {
55
- this.$logger.trace("Required HTML file '%s' is missing. Let's try generating HTML files and see if we'll find it.", htmlPage);
56
- yield this.generateHtmlPages();
57
- if (!this.tryOpeningSelectedPage(htmlPage)) {
58
- this.$errors.fail("Unable to find help for '%s'", commandName);
59
- }
60
- }
61
- });
62
- }
63
- generateHtmlPages() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const mdFiles = this.$fs.enumerateFilesInDirectorySync(this.pathToManPages);
66
- const basicHtmlPage = this.$fs.readText(this.pathToBasicPage);
67
- yield Promise.all(_.map(mdFiles, (markdownFile) => {
68
- const htmlPageGenerationData = {
69
- basicHtmlPage,
70
- pathToMdFile: markdownFile,
71
- pathToMdPages: this.pathToManPages,
72
- pathToHtmlPages: this.pathToHtmlPages,
73
- };
74
- return this.createHtmlPage(htmlPageGenerationData);
75
- }));
76
- const installedExtensionsData = this.$extensibilityService.getInstalledExtensionsData();
77
- const basicHtmlPageForExtensions = this.$fs.readText(this.pathToBasicPageForExtensions);
78
- for (const extensionData of installedExtensionsData) {
79
- const docsDir = extensionData.docs;
80
- if (docsDir) {
81
- this.$logger.trace(`Start generation of html help content for extension ${extensionData.extensionName}`);
82
- if (!this.$fs.exists(docsDir)) {
83
- this.$logger.warn(`Unable to generate html help pages for extension ${extensionData.extensionName} as the docs directory ${docsDir} does not exist.`);
84
- continue;
85
- }
86
- const htmlDirFullPath = HelpService.getHtmlDirFullPath(docsDir);
87
- this.$fs.ensureDirectoryExists(htmlDirFullPath);
88
- const extensionMdFiles = this.$fs.enumerateFilesInDirectorySync(docsDir);
89
- try {
90
- yield Promise.all(_.map(extensionMdFiles, (markdownFile) => {
91
- const htmlPageGenerationData = {
92
- basicHtmlPage: basicHtmlPageForExtensions,
93
- pathToMdFile: markdownFile,
94
- pathToMdPages: docsDir,
95
- pathToHtmlPages: htmlDirFullPath,
96
- extensionName: extensionData.extensionName,
97
- };
98
- return this.createHtmlPage(htmlPageGenerationData);
99
- }));
100
- }
101
- catch (err) {
102
- this.$logger.warn(`Unable to generate html help for extension ${extensionData.extensionName}. Error is: ${err.message}`);
103
- }
104
- this.$logger.trace(`Finished generation of html help content for extension ${extensionData.extensionName}`);
105
- }
106
- }
107
- this.$logger.trace("Finished generating HTML files.");
108
- });
109
- }
110
- showCommandLineHelp(commandData) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- const help = yield this.getCommandLineHelpForCommand(commandData);
113
- this.$logger.printMarkdown(help);
114
- });
115
- }
116
- getCommandLineHelpForCommand(commandData) {
117
- return __awaiter(this, void 0, void 0, function* () {
118
- const helpText = yield this.readMdFileForCommand(commandData);
119
- const commandLineHelp = (yield this.$microTemplateService.parseContent(helpText, { isHtml: false }))
120
- .replace(/ /g, " ")
121
- .replace(HelpService.MARKDOWN_LINK_REGEX, "$1")
122
- .replace(HelpService.SPAN_REGEX, (matchingSubstring, textBeforeSpan, textInsideSpan, index, fullString) => {
123
- return textBeforeSpan + textInsideSpan.replace(this.newLineRegex, "");
124
- })
125
- .replace(HelpService.NEW_LINE_REGEX, os_1.EOL);
126
- return commandLineHelp;
127
- });
128
- }
129
- createHtmlPage(htmlPageGenerationData) {
130
- return __awaiter(this, void 0, void 0, function* () {
131
- const { basicHtmlPage, pathToMdFile, pathToMdPages, pathToHtmlPages, extensionName, } = htmlPageGenerationData;
132
- const mdFileName = path.basename(pathToMdFile);
133
- const htmlFileName = mdFileName.replace(HelpService.MARKDOWN_FILE_EXTENSION, HelpService.HTML_FILE_EXTENSION);
134
- this.$logger.trace("Generating '%s' help topic.", htmlFileName);
135
- const helpText = this.$fs.readText(pathToMdFile);
136
- const outputText = yield this.$microTemplateService.parseContent(helpText, {
137
- isHtml: true,
138
- });
139
- const htmlText = (0, marked_1.marked)(outputText);
140
- const filePath = pathToMdFile
141
- .replace(path.basename(pathToMdPages), path.basename(pathToHtmlPages))
142
- .replace(mdFileName, htmlFileName);
143
- this.$logger.trace("HTML file path for '%s' man page is: '%s'.", mdFileName, filePath);
144
- let outputHtml = basicHtmlPage
145
- .replace(HelpService.MAN_PAGE_NAME_REGEX, mdFileName.replace(HelpService.MARKDOWN_FILE_EXTENSION, ""))
146
- .replace(HelpService.HTML_COMMAND_HELP_REGEX, htmlText)
147
- .replace(HelpService.RELATIVE_PATH_TO_STYLES_CSS_REGEX, path.relative(path.dirname(filePath), this.pathToStylesCss))
148
- .replace(HelpService.RELATIVE_PATH_TO_IMAGES_REGEX, path.relative(path.dirname(filePath), this.pathToImages))
149
- .replace(HelpService.RELATIVE_PATH_TO_INDEX_REGEX, path.relative(path.dirname(filePath), this.pathToIndexHtml));
150
- if (extensionName) {
151
- outputHtml = outputHtml.replace(HelpService.EXTENSION_NAME_REGEX, extensionName);
48
+ this.$errors.fail("Unable to find help for '%s'", commandName);
152
49
  }
153
- this.$fs.writeFile(filePath, outputHtml);
154
- this.$logger.trace("Finished writing file '%s'.", filePath);
155
- });
156
- }
157
- convertCommandNameToFileName(commandData) {
158
- return __awaiter(this, void 0, void 0, function* () {
159
- let { commandName } = commandData;
160
- const defaultCommandMatch = commandName && commandName.match(/([\w-]+?)\|\*/);
161
- if (defaultCommandMatch) {
162
- this.$logger.trace("Default command found. Replace current command name '%s' with '%s'.", commandName, defaultCommandMatch[1]);
163
- commandName = defaultCommandMatch[1];
164
- }
165
- const availableCommands = this.$injector
166
- .getRegisteredCommandsNames(true)
167
- .sort();
168
- this.$logger.trace("List of registered commands: %s", availableCommands.join(", "));
169
- if (commandName && !_.includes(availableCommands, commandName)) {
170
- yield this.throwMissingCommandError(commandData);
171
- }
172
- return (commandName && commandName.replace(/\|/g, "-")) || "start";
173
- });
50
+ }
174
51
  }
175
- throwMissingCommandError(commandData) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- const commandName = commandData.commandName;
178
- const commandInfo = {
179
- inputStrings: [commandName, ...commandData.commandArguments],
180
- commandDelimiter: "|",
181
- defaultCommandDelimiter: "|*",
52
+ async generateHtmlPages() {
53
+ const mdFiles = this.$fs.enumerateFilesInDirectorySync(this.pathToManPages);
54
+ const basicHtmlPage = this.$fs.readText(this.pathToBasicPage);
55
+ await Promise.all(_.map(mdFiles, (markdownFile) => {
56
+ const htmlPageGenerationData = {
57
+ basicHtmlPage,
58
+ pathToMdFile: markdownFile,
59
+ pathToMdPages: this.pathToManPages,
60
+ pathToHtmlPages: this.pathToHtmlPages,
182
61
  };
183
- const extensionData = yield this.$extensibilityService.getExtensionNameWhereCommandIsRegistered(commandInfo);
184
- if (extensionData) {
185
- this.$errors.fail(extensionData.installationMessage);
62
+ return this.createHtmlPage(htmlPageGenerationData);
63
+ }));
64
+ const installedExtensionsData = this.$extensibilityService.getInstalledExtensionsData();
65
+ const basicHtmlPageForExtensions = this.$fs.readText(this.pathToBasicPageForExtensions);
66
+ for (const extensionData of installedExtensionsData) {
67
+ const docsDir = extensionData.docs;
68
+ if (docsDir) {
69
+ this.$logger.trace(`Start generation of html help content for extension ${extensionData.extensionName}`);
70
+ if (!this.$fs.exists(docsDir)) {
71
+ this.$logger.warn(`Unable to generate html help pages for extension ${extensionData.extensionName} as the docs directory ${docsDir} does not exist.`);
72
+ continue;
73
+ }
74
+ const htmlDirFullPath = HelpService.getHtmlDirFullPath(docsDir);
75
+ this.$fs.ensureDirectoryExists(htmlDirFullPath);
76
+ const extensionMdFiles = this.$fs.enumerateFilesInDirectorySync(docsDir);
77
+ try {
78
+ await Promise.all(_.map(extensionMdFiles, (markdownFile) => {
79
+ const htmlPageGenerationData = {
80
+ basicHtmlPage: basicHtmlPageForExtensions,
81
+ pathToMdFile: markdownFile,
82
+ pathToMdPages: docsDir,
83
+ pathToHtmlPages: htmlDirFullPath,
84
+ extensionName: extensionData.extensionName,
85
+ };
86
+ return this.createHtmlPage(htmlPageGenerationData);
87
+ }));
88
+ }
89
+ catch (err) {
90
+ this.$logger.warn(`Unable to generate html help for extension ${extensionData.extensionName}. Error is: ${err.message}`);
91
+ }
92
+ this.$logger.trace(`Finished generation of html help content for extension ${extensionData.extensionName}`);
186
93
  }
187
- this.$errors.fail("Unknown command '%s'. Try '$ %s help' for a full list of supported commands.", commandName, this.$staticConfig.CLIENT_NAME.toLowerCase());
94
+ }
95
+ this.$logger.trace("Finished generating HTML files.");
96
+ }
97
+ async showCommandLineHelp(commandData) {
98
+ const help = await this.getCommandLineHelpForCommand(commandData);
99
+ this.$logger.printMarkdown(help);
100
+ }
101
+ async getCommandLineHelpForCommand(commandData) {
102
+ const helpText = await this.readMdFileForCommand(commandData);
103
+ const commandLineHelp = (await this.$microTemplateService.parseContent(helpText, { isHtml: false }))
104
+ .replace(/ /g, " ")
105
+ .replace(HelpService.MARKDOWN_LINK_REGEX, "$1")
106
+ .replace(HelpService.SPAN_REGEX, (matchingSubstring, textBeforeSpan, textInsideSpan, index, fullString) => {
107
+ return textBeforeSpan + textInsideSpan.replace(this.newLineRegex, "");
108
+ })
109
+ .replace(HelpService.NEW_LINE_REGEX, os_1.EOL);
110
+ return commandLineHelp;
111
+ }
112
+ async createHtmlPage(htmlPageGenerationData) {
113
+ const { basicHtmlPage, pathToMdFile, pathToMdPages, pathToHtmlPages, extensionName, } = htmlPageGenerationData;
114
+ const mdFileName = path.basename(pathToMdFile);
115
+ const htmlFileName = mdFileName.replace(HelpService.MARKDOWN_FILE_EXTENSION, HelpService.HTML_FILE_EXTENSION);
116
+ this.$logger.trace("Generating '%s' help topic.", htmlFileName);
117
+ const helpText = this.$fs.readText(pathToMdFile);
118
+ const outputText = await this.$microTemplateService.parseContent(helpText, {
119
+ isHtml: true,
188
120
  });
121
+ const htmlText = await (0, marked_1.marked)(outputText);
122
+ const filePath = pathToMdFile
123
+ .replace(path.basename(pathToMdPages), path.basename(pathToHtmlPages))
124
+ .replace(mdFileName, htmlFileName);
125
+ this.$logger.trace("HTML file path for '%s' man page is: '%s'.", mdFileName, filePath);
126
+ let outputHtml = basicHtmlPage
127
+ .replace(HelpService.MAN_PAGE_NAME_REGEX, mdFileName.replace(HelpService.MARKDOWN_FILE_EXTENSION, ""))
128
+ .replace(HelpService.HTML_COMMAND_HELP_REGEX, htmlText)
129
+ .replace(HelpService.RELATIVE_PATH_TO_STYLES_CSS_REGEX, path.relative(path.dirname(filePath), this.pathToStylesCss))
130
+ .replace(HelpService.RELATIVE_PATH_TO_IMAGES_REGEX, path.relative(path.dirname(filePath), this.pathToImages))
131
+ .replace(HelpService.RELATIVE_PATH_TO_INDEX_REGEX, path.relative(path.dirname(filePath), this.pathToIndexHtml));
132
+ if (extensionName) {
133
+ outputHtml = outputHtml.replace(HelpService.EXTENSION_NAME_REGEX, extensionName);
134
+ }
135
+ this.$fs.writeFile(filePath, outputHtml);
136
+ this.$logger.trace("Finished writing file '%s'.", filePath);
137
+ }
138
+ async convertCommandNameToFileName(commandData) {
139
+ let { commandName } = commandData;
140
+ const defaultCommandMatch = commandName && commandName.match(/([\w-]+?)\|\*/);
141
+ if (defaultCommandMatch) {
142
+ this.$logger.trace("Default command found. Replace current command name '%s' with '%s'.", commandName, defaultCommandMatch[1]);
143
+ commandName = defaultCommandMatch[1];
144
+ }
145
+ const availableCommands = this.$injector
146
+ .getRegisteredCommandsNames(true)
147
+ .sort();
148
+ this.$logger.trace("List of registered commands: %s", availableCommands.join(", "));
149
+ if (commandName && !_.includes(availableCommands, commandName)) {
150
+ await this.throwMissingCommandError(commandData);
151
+ }
152
+ return (commandName && commandName.replace(/\|/g, "-")) || "start";
153
+ }
154
+ async throwMissingCommandError(commandData) {
155
+ const commandName = commandData.commandName;
156
+ const commandInfo = {
157
+ inputStrings: [commandName, ...commandData.commandArguments],
158
+ commandDelimiter: "|",
159
+ defaultCommandDelimiter: "|*",
160
+ };
161
+ const extensionData = await this.$extensibilityService.getExtensionNameWhereCommandIsRegistered(commandInfo);
162
+ if (extensionData) {
163
+ this.$errors.fail(extensionData.installationMessage);
164
+ }
165
+ this.$errors.fail("Unknown command '%s'. Try '$ %s help' for a full list of supported commands.", commandName, this.$staticConfig.CLIENT_NAME.toLowerCase());
189
166
  }
190
167
  static getHtmlDirFullPath(docsDir) {
191
168
  return path.join(path.dirname(docsDir), "html");
@@ -224,19 +201,18 @@ class HelpService {
224
201
  this.$logger.trace("Unable to find file: '%s'", htmlPage);
225
202
  return false;
226
203
  }
227
- readMdFileForCommand(commandData) {
228
- return __awaiter(this, void 0, void 0, function* () {
229
- const mdFileName = (yield this.convertCommandNameToFileName(commandData)) +
230
- HelpService.MARKDOWN_FILE_EXTENSION;
231
- this.$logger.trace("Reading help for command '%s'. FileName is '%s'.", commandData.commandName, mdFileName);
232
- const markdownFile = this.getHelpFile(mdFileName, this.pathToManPages);
233
- if (markdownFile) {
234
- return this.$fs.readText(markdownFile);
235
- }
236
- yield this.throwMissingCommandError(commandData);
237
- });
204
+ async readMdFileForCommand(commandData) {
205
+ const mdFileName = (await this.convertCommandNameToFileName(commandData)) +
206
+ HelpService.MARKDOWN_FILE_EXTENSION;
207
+ this.$logger.trace("Reading help for command '%s'. FileName is '%s'.", commandData.commandName, mdFileName);
208
+ const markdownFile = this.getHelpFile(mdFileName, this.pathToManPages);
209
+ if (markdownFile) {
210
+ return this.$fs.readText(markdownFile);
211
+ }
212
+ await this.throwMissingCommandError(commandData);
238
213
  }
239
214
  }
215
+ exports.HelpService = HelpService;
240
216
  HelpService.MARKDOWN_FILE_EXTENSION = ".md";
241
217
  HelpService.HTML_FILE_EXTENSION = ".html";
242
218
  HelpService.MAN_PAGE_NAME_REGEX = /@MAN_PAGE_NAME@/g;
@@ -248,5 +224,4 @@ HelpService.EXTENSION_NAME_REGEX = /@EXTENSION_NAME@/g;
248
224
  HelpService.MARKDOWN_LINK_REGEX = /\[([\w \-\`\<\>\*\:\\]+?)\]\([\s\S]+?\)/g;
249
225
  HelpService.SPAN_REGEX = /([\s\S]*?)(?:\r?\n)?<span.*?>([\s\S]*?)<\/span>(?:\r?\n)*/g;
250
226
  HelpService.NEW_LINE_REGEX = /<\/?\s*?br\s*?\/?>/g;
251
- exports.HelpService = HelpService;
252
227
  yok_1.injector.register("helpService", HelpService);
@@ -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.HooksService = void 0;
19
10
  const path = require("path");
@@ -73,117 +64,111 @@ class HooksService {
73
64
  const traceMessage = `AfterHookName for command ${commandName} is ${afterHookName}`;
74
65
  return this.executeHooks(afterHookName, traceMessage, hookArguments);
75
66
  }
76
- executeHooks(hookName, traceMessage, hookArguments) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- if (this.$config.DISABLE_HOOKS || !this.$options.hooks) {
79
- return;
67
+ async executeHooks(hookName, traceMessage, hookArguments) {
68
+ if (this.$config.DISABLE_HOOKS || !this.$options.hooks) {
69
+ return;
70
+ }
71
+ const hookArgs = hookArguments && hookArguments[this.hookArgsName];
72
+ let projectDir = hookArgs && hookArgs.projectDir;
73
+ if (!projectDir && hookArgs) {
74
+ const candidate = (0, helpers_1.getValueFromNestedObject)(hookArgs, "projectDir");
75
+ projectDir = candidate && candidate.projectDir;
76
+ }
77
+ this.$logger.trace(`Project dir from hooksArgs is: ${projectDir}.`);
78
+ this.initialize(projectDir);
79
+ this.$logger.trace(traceMessage);
80
+ const results = [];
81
+ try {
82
+ for (const hooksDirectory of this.hooksDirectories) {
83
+ results.push(await this.executeHooksInDirectory(hooksDirectory, hookName, hookArguments));
80
84
  }
81
- const hookArgs = hookArguments && hookArguments[this.hookArgsName];
82
- let projectDir = hookArgs && hookArgs.projectDir;
83
- if (!projectDir && hookArgs) {
84
- const candidate = (0, helpers_1.getValueFromNestedObject)(hookArgs, "projectDir");
85
- projectDir = candidate && candidate.projectDir;
85
+ const customHooks = this.getCustomHooksByName(hookName);
86
+ for (const hook of customHooks) {
87
+ results.push(await this.executeHook(this.$projectHelper.projectDir, hookName, hook, hookArguments));
86
88
  }
87
- this.$logger.trace(`Project dir from hooksArgs is: ${projectDir}.`);
88
- this.initialize(projectDir);
89
- this.$logger.trace(traceMessage);
90
- const results = [];
91
- try {
92
- for (const hooksDirectory of this.hooksDirectories) {
93
- results.push(yield this.executeHooksInDirectory(hooksDirectory, hookName, hookArguments));
94
- }
95
- const customHooks = this.getCustomHooksByName(hookName);
96
- for (const hook of customHooks) {
97
- results.push(yield this.executeHook(this.$projectHelper.projectDir, hookName, hook, hookArguments));
98
- }
89
+ }
90
+ catch (err) {
91
+ this.$logger.trace(`Failed during hook execution ${hookName}.`);
92
+ this.$errors.fail(err.stack || err.message || err);
93
+ }
94
+ return _.flatten(results);
95
+ }
96
+ async executeHook(directoryPath, hookName, hook, hookArguments) {
97
+ hookArguments = hookArguments || {};
98
+ let result;
99
+ const relativePath = path.relative(directoryPath, hook.fullPath);
100
+ const trackId = relativePath.replace(new RegExp("\\" + path.sep, "g"), constants_1.AnalyticsEventLabelDelimiter);
101
+ let command = this.getSheBangInterpreter(hook);
102
+ let inProc = false;
103
+ if (!command) {
104
+ command = hook.fullPath;
105
+ if (path.extname(hook.fullPath).toLowerCase() === ".js") {
106
+ command = process.argv[0];
107
+ inProc = this.shouldExecuteInProcess(this.$fs.readText(hook.fullPath));
99
108
  }
100
- catch (err) {
101
- this.$logger.trace(`Failed during hook execution ${hookName}.`);
102
- this.$errors.fail(err.stack || err.message || err);
109
+ }
110
+ const startTime = this.$performanceService.now();
111
+ if (inProc) {
112
+ this.$logger.trace("Executing %s hook at location %s in-process", hookName, hook.fullPath);
113
+ const hookEntryPoint = require(hook.fullPath);
114
+ this.$logger.trace(`Validating ${hookName} arguments.`);
115
+ const invalidArguments = this.validateHookArguments(hookEntryPoint, hook.fullPath);
116
+ if (invalidArguments.length) {
117
+ this.$logger.warn(`${hook.fullPath} will NOT be executed because it has invalid arguments - ${color_1.color.grey(invalidArguments.join(", "))}.`);
118
+ return;
103
119
  }
104
- return _.flatten(results);
105
- });
106
- }
107
- executeHook(directoryPath, hookName, hook, hookArguments) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- hookArguments = hookArguments || {};
110
- let result;
111
- const relativePath = path.relative(directoryPath, hook.fullPath);
112
- const trackId = relativePath.replace(new RegExp("\\" + path.sep, "g"), constants_1.AnalyticsEventLabelDelimiter);
113
- let command = this.getSheBangInterpreter(hook);
114
- let inProc = false;
115
- if (!command) {
116
- command = hook.fullPath;
117
- if (path.extname(hook.fullPath).toLowerCase() === ".js") {
118
- command = process.argv[0];
119
- inProc = this.shouldExecuteInProcess(this.$fs.readText(hook.fullPath));
120
- }
120
+ const projectDataHookArg = hookArguments["hookArgs"] && hookArguments["hookArgs"]["projectData"];
121
+ if (projectDataHookArg) {
122
+ hookArguments["projectData"] = hookArguments["$projectData"] = projectDataHookArg;
121
123
  }
122
- const startTime = this.$performanceService.now();
123
- if (inProc) {
124
- this.$logger.trace("Executing %s hook at location %s in-process", hookName, hook.fullPath);
125
- const hookEntryPoint = require(hook.fullPath);
126
- this.$logger.trace(`Validating ${hookName} arguments.`);
127
- const invalidArguments = this.validateHookArguments(hookEntryPoint, hook.fullPath);
128
- if (invalidArguments.length) {
129
- this.$logger.warn(`${hook.fullPath} will NOT be executed because it has invalid arguments - ${color_1.color.grey(invalidArguments.join(", "))}.`);
130
- return;
124
+ const maybePromise = this.$injector.resolve(hookEntryPoint, hookArguments);
125
+ if (maybePromise) {
126
+ this.$logger.trace("Hook promises to signal completion");
127
+ try {
128
+ result = await maybePromise;
131
129
  }
132
- const projectDataHookArg = hookArguments["hookArgs"] && hookArguments["hookArgs"]["projectData"];
133
- if (projectDataHookArg) {
134
- hookArguments["projectData"] = hookArguments["$projectData"] = projectDataHookArg;
135
- }
136
- const maybePromise = this.$injector.resolve(hookEntryPoint, hookArguments);
137
- if (maybePromise) {
138
- this.$logger.trace("Hook promises to signal completion");
139
- try {
140
- result = yield maybePromise;
130
+ catch (err) {
131
+ if (err &&
132
+ _.isBoolean(err.stopExecution) &&
133
+ err.errorAsWarning === true) {
134
+ this.$logger.warn(err.message || err);
141
135
  }
142
- catch (err) {
143
- if (err &&
144
- _.isBoolean(err.stopExecution) &&
145
- err.errorAsWarning === true) {
146
- this.$logger.warn(err.message || err);
147
- }
148
- else {
149
- this.$logger.error(err);
150
- throw err || new Error(`Failed to execute hook: ${hook.fullPath}.`);
151
- }
136
+ else {
137
+ this.$logger.error(err);
138
+ throw err || new Error(`Failed to execute hook: ${hook.fullPath}.`);
152
139
  }
153
- this.$logger.trace("Hook completed");
154
140
  }
141
+ this.$logger.trace("Hook completed");
155
142
  }
156
- else {
157
- const environment = this.prepareEnvironment(hook.fullPath);
158
- this.$logger.trace("Executing %s hook at location %s with environment ", hookName, hook.fullPath, environment);
159
- const output = yield this.$childProcess.spawnFromEvent(command, [hook.fullPath], "close", environment, { throwError: false });
160
- result = output;
161
- if (output.exitCode !== 0) {
162
- throw new Error(output.stdout + output.stderr);
163
- }
164
- this.$logger.trace("Finished executing %s hook at location %s with environment ", hookName, hook.fullPath, environment);
143
+ }
144
+ else {
145
+ const environment = this.prepareEnvironment(hook.fullPath);
146
+ this.$logger.trace("Executing %s hook at location %s with environment ", hookName, hook.fullPath, environment);
147
+ const output = await this.$childProcess.spawnFromEvent(command, [hook.fullPath], "close", environment, { throwError: false });
148
+ result = output;
149
+ if (output.exitCode !== 0) {
150
+ throw new Error(output.stdout + output.stderr);
165
151
  }
166
- const endTime = this.$performanceService.now();
167
- this.$performanceService.processExecutionData(trackId, startTime, endTime, [
168
- hookArguments,
169
- ]);
170
- return result;
171
- });
152
+ this.$logger.trace("Finished executing %s hook at location %s with environment ", hookName, hook.fullPath, environment);
153
+ }
154
+ const endTime = this.$performanceService.now();
155
+ this.$performanceService.processExecutionData(trackId, startTime, endTime, [
156
+ hookArguments,
157
+ ]);
158
+ return result;
172
159
  }
173
- executeHooksInDirectory(directoryPath, hookName, hookArguments) {
174
- return __awaiter(this, void 0, void 0, function* () {
175
- hookArguments = hookArguments || {};
176
- const results = [];
177
- const hooks = this.getHooksByName(directoryPath, hookName);
178
- for (let i = 0; i < hooks.length; ++i) {
179
- const hook = hooks[i];
180
- const result = yield this.executeHook(directoryPath, hookName, hook, hookArguments);
181
- if (result) {
182
- results.push(result);
183
- }
160
+ async executeHooksInDirectory(directoryPath, hookName, hookArguments) {
161
+ hookArguments = hookArguments || {};
162
+ const results = [];
163
+ const hooks = this.getHooksByName(directoryPath, hookName);
164
+ for (let i = 0; i < hooks.length; ++i) {
165
+ const hook = hooks[i];
166
+ const result = await this.executeHook(directoryPath, hookName, hook, hookArguments);
167
+ if (result) {
168
+ results.push(result);
184
169
  }
185
- return results;
186
- });
170
+ }
171
+ return results;
187
172
  }
188
173
  getCustomHooksByName(hookName) {
189
174
  const hooks = [];
@@ -306,6 +291,7 @@ class HooksService {
306
291
  return invalidArguments;
307
292
  }
308
293
  }
294
+ exports.HooksService = HooksService;
309
295
  HooksService.HOOKS_DIRECTORY_NAME = "hooks";
310
296
  __decorate([
311
297
  (0, decorators_1.memoize)({
@@ -314,5 +300,4 @@ __decorate([
314
300
  },
315
301
  })
316
302
  ], HooksService.prototype, "initialize", null);
317
- exports.HooksService = HooksService;
318
303
  yok_1.injector.register("hooksService", HooksService);
@@ -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.IOSNotificationService = void 0;
13
4
  const constants = require("../constants");
@@ -17,32 +8,28 @@ class IOSNotificationService {
17
8
  constructor($iosDeviceOperations) {
18
9
  this.$iosDeviceOperations = $iosDeviceOperations;
19
10
  }
20
- awaitNotification(deviceIdentifier, socket, timeout) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- const notificationResponse = yield this.$iosDeviceOperations.awaitNotificationResponse([
23
- {
24
- deviceId: deviceIdentifier,
25
- socket: socket,
26
- timeout: timeout,
27
- responseCommandType: constants.IOS_RELAY_NOTIFICATION_COMMAND_TYPE,
28
- responsePropertyName: "Name",
29
- },
30
- ]);
31
- return _.first(notificationResponse[deviceIdentifier]).response;
32
- });
11
+ async awaitNotification(deviceIdentifier, socket, timeout) {
12
+ const notificationResponse = await this.$iosDeviceOperations.awaitNotificationResponse([
13
+ {
14
+ deviceId: deviceIdentifier,
15
+ socket: socket,
16
+ timeout: timeout,
17
+ responseCommandType: constants.IOS_RELAY_NOTIFICATION_COMMAND_TYPE,
18
+ responsePropertyName: "Name",
19
+ },
20
+ ]);
21
+ return _.first(notificationResponse[deviceIdentifier]).response;
33
22
  }
34
- postNotification(deviceIdentifier, notification, commandType) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- commandType = commandType || constants.IOS_POST_NOTIFICATION_COMMAND_TYPE;
37
- const response = yield this.$iosDeviceOperations.postNotification([
38
- {
39
- deviceId: deviceIdentifier,
40
- commandType: commandType,
41
- notificationName: notification,
42
- },
43
- ]);
44
- return +_.first(response[deviceIdentifier]).response;
45
- });
23
+ async postNotification(deviceIdentifier, notification, commandType) {
24
+ commandType = commandType || constants.IOS_POST_NOTIFICATION_COMMAND_TYPE;
25
+ const response = await this.$iosDeviceOperations.postNotification([
26
+ {
27
+ deviceId: deviceIdentifier,
28
+ commandType: commandType,
29
+ notificationName: notification,
30
+ },
31
+ ]);
32
+ return +_.first(response[deviceIdentifier]).response;
46
33
  }
47
34
  }
48
35
  exports.IOSNotificationService = IOSNotificationService;