@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.JsonFileSettingsService = void 0;
13
4
  const path = require("path");
@@ -26,49 +17,43 @@ class JsonFileSettingsService {
26
17
  this.jsonSettingsData = null;
27
18
  this.jsonSettingsFilePath = jsonFileSettingsPath;
28
19
  }
29
- getSettingValue(settingName, cacheOpts) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- const action = () => __awaiter(this, void 0, void 0, function* () {
32
- yield this.loadUserSettingsFile();
33
- if (this.jsonSettingsData && _.has(this.jsonSettingsData, settingName)) {
34
- const data = this.jsonSettingsData[settingName];
35
- const dataToReturn = data.modifiedByCacheMechanism ? data.value : data;
36
- if (cacheOpts && cacheOpts.cacheTimeout) {
37
- if (!data.modifiedByCacheMechanism) {
38
- return null;
39
- }
40
- const currentTime = Date.now();
41
- if (currentTime - data.time > cacheOpts.cacheTimeout) {
42
- return null;
43
- }
20
+ async getSettingValue(settingName, cacheOpts) {
21
+ const action = async () => {
22
+ await this.loadUserSettingsFile();
23
+ if (this.jsonSettingsData && _.has(this.jsonSettingsData, settingName)) {
24
+ const data = this.jsonSettingsData[settingName];
25
+ const dataToReturn = data.modifiedByCacheMechanism ? data.value : data;
26
+ if (cacheOpts && cacheOpts.cacheTimeout) {
27
+ if (!data.modifiedByCacheMechanism) {
28
+ return null;
29
+ }
30
+ const currentTime = Date.now();
31
+ if (currentTime - data.time > cacheOpts.cacheTimeout) {
32
+ return null;
44
33
  }
45
- return dataToReturn;
46
34
  }
47
- return null;
48
- });
49
- return this.$lockService.executeActionWithLock(action, this.lockFilePath);
50
- });
35
+ return dataToReturn;
36
+ }
37
+ return null;
38
+ };
39
+ return this.$lockService.executeActionWithLock(action, this.lockFilePath);
51
40
  }
52
- saveSetting(key, value, cacheOpts) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const settingObject = {};
55
- settingObject[key] = value;
56
- return this.saveSettings(settingObject, cacheOpts);
57
- });
41
+ async saveSetting(key, value, cacheOpts) {
42
+ const settingObject = {};
43
+ settingObject[key] = value;
44
+ return this.saveSettings(settingObject, cacheOpts);
58
45
  }
59
- removeSetting(key) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const action = () => __awaiter(this, void 0, void 0, function* () {
62
- yield this.loadUserSettingsFile();
63
- delete this.jsonSettingsData[key];
64
- yield this.saveSettings();
65
- });
66
- return this.$lockService.executeActionWithLock(action, this.lockFilePath);
67
- });
46
+ async removeSetting(key) {
47
+ const action = async () => {
48
+ await this.loadUserSettingsFile();
49
+ delete this.jsonSettingsData[key];
50
+ await this.saveSettings();
51
+ };
52
+ return this.$lockService.executeActionWithLock(action, this.lockFilePath);
68
53
  }
69
54
  saveSettings(data, cacheOpts) {
70
- const action = () => __awaiter(this, void 0, void 0, function* () {
71
- yield this.loadUserSettingsFile();
55
+ const action = async () => {
56
+ await this.loadUserSettingsFile();
72
57
  this.jsonSettingsData = this.jsonSettingsData || {};
73
58
  _(data)
74
59
  .keys()
@@ -85,36 +70,32 @@ class JsonFileSettingsService {
85
70
  : data[propertyName];
86
71
  });
87
72
  this.$fs.writeJson(this.jsonSettingsFilePath, this.jsonSettingsData);
88
- });
73
+ };
89
74
  return this.$lockService.executeActionWithLock(action, this.lockFilePath);
90
75
  }
91
- loadUserSettingsFile() {
92
- return __awaiter(this, void 0, void 0, function* () {
93
- if (!this.jsonSettingsData) {
94
- yield this.loadUserSettingsData();
95
- }
96
- });
76
+ async loadUserSettingsFile() {
77
+ if (!this.jsonSettingsData) {
78
+ await this.loadUserSettingsData();
79
+ }
97
80
  }
98
- loadUserSettingsData() {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- if (!this.$fs.exists(this.jsonSettingsFilePath)) {
101
- const unexistingDirs = this.getUnexistingDirectories(this.jsonSettingsFilePath);
102
- this.$fs.writeFile(this.jsonSettingsFilePath, null);
103
- if (process.env.SUDO_USER) {
104
- for (const dir of unexistingDirs) {
105
- yield this.$fs.setCurrentUserAsOwner(dir, process.env.SUDO_USER);
106
- }
81
+ async loadUserSettingsData() {
82
+ if (!this.$fs.exists(this.jsonSettingsFilePath)) {
83
+ const unexistingDirs = this.getUnexistingDirectories(this.jsonSettingsFilePath);
84
+ this.$fs.writeFile(this.jsonSettingsFilePath, null);
85
+ if (process.env.SUDO_USER) {
86
+ for (const dir of unexistingDirs) {
87
+ await this.$fs.setCurrentUserAsOwner(dir, process.env.SUDO_USER);
107
88
  }
108
89
  }
109
- const data = this.$fs.readText(this.jsonSettingsFilePath);
110
- try {
111
- this.jsonSettingsData = (0, helpers_1.parseJson)(data);
112
- }
113
- catch (err) {
114
- this.$logger.trace(`Error while trying to parseJson ${data} data from ${this.jsonSettingsFilePath} file. Err is: ${err}`);
115
- this.$fs.deleteFile(this.jsonSettingsFilePath);
116
- }
117
- });
90
+ }
91
+ const data = this.$fs.readText(this.jsonSettingsFilePath);
92
+ try {
93
+ this.jsonSettingsData = (0, helpers_1.parseJson)(data);
94
+ }
95
+ catch (err) {
96
+ this.$logger.trace(`Error while trying to parseJson ${data} data from ${this.jsonSettingsFilePath} file. Err is: ${err}`);
97
+ this.$fs.deleteFile(this.jsonSettingsFilePath);
98
+ }
118
99
  }
119
100
  getUnexistingDirectories(filePath) {
120
101
  const unexistingDirs = [];
@@ -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.LockService = void 0;
19
10
  const lockfile = require("proper-lockfile");
@@ -42,51 +33,43 @@ class LockService {
42
33
  this.$settingsService = $settingsService;
43
34
  this.$cleanupService = $cleanupService;
44
35
  }
45
- executeActionWithLock(action, lockFilePath, lockOpts) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- const releaseFunc = yield this.lock(lockFilePath, lockOpts);
48
- try {
49
- const result = yield action();
50
- return result;
51
- }
52
- finally {
53
- releaseFunc();
54
- }
55
- });
36
+ async executeActionWithLock(action, lockFilePath, lockOpts) {
37
+ const releaseFunc = await this.lock(lockFilePath, lockOpts);
38
+ try {
39
+ const result = await action();
40
+ return result;
41
+ }
42
+ finally {
43
+ releaseFunc();
44
+ }
56
45
  }
57
- lock(lockFilePath, lockOpts) {
58
- return __awaiter(this, void 0, void 0, function* () {
59
- const { filePath, fileOpts } = this.getLockFileSettings(lockFilePath, lockOpts);
60
- for (const pathToClean of this.getPathsForCleanupAction(filePath)) {
61
- yield this.$cleanupService.addCleanupDeleteAction(pathToClean);
62
- }
63
- this.$fs.writeFile(filePath, "");
64
- try {
65
- const releaseFunc = yield lockfile.lock(filePath, fileOpts);
66
- return () => __awaiter(this, void 0, void 0, function* () {
67
- yield releaseFunc();
68
- yield this.cleanLock(filePath);
69
- });
70
- }
71
- catch (err) {
72
- throw new Error(`Timeout while waiting for lock "${filePath}"`);
73
- }
74
- });
46
+ async lock(lockFilePath, lockOpts) {
47
+ const { filePath, fileOpts } = this.getLockFileSettings(lockFilePath, lockOpts);
48
+ for (const pathToClean of this.getPathsForCleanupAction(filePath)) {
49
+ await this.$cleanupService.addCleanupDeleteAction(pathToClean);
50
+ }
51
+ this.$fs.writeFile(filePath, "");
52
+ try {
53
+ const releaseFunc = await lockfile.lock(filePath, fileOpts);
54
+ return async () => {
55
+ await releaseFunc();
56
+ await this.cleanLock(filePath);
57
+ };
58
+ }
59
+ catch (err) {
60
+ throw new Error(`Timeout while waiting for lock "${filePath}"`);
61
+ }
75
62
  }
76
- unlock(lockFilePath) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- const { filePath } = this.getLockFileSettings(lockFilePath);
79
- lockfile.unlockSync(filePath);
80
- yield this.cleanLock(filePath);
81
- });
63
+ async unlock(lockFilePath) {
64
+ const { filePath } = this.getLockFileSettings(lockFilePath);
65
+ lockfile.unlockSync(filePath);
66
+ await this.cleanLock(filePath);
82
67
  }
83
- cleanLock(lockPath) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- this.$fs.deleteFile(lockPath);
86
- for (const filePath of this.getPathsForCleanupAction(lockPath)) {
87
- yield this.$cleanupService.removeCleanupDeleteAction(filePath);
88
- }
89
- });
68
+ async cleanLock(lockPath) {
69
+ this.$fs.deleteFile(lockPath);
70
+ for (const filePath of this.getPathsForCleanupAction(lockPath)) {
71
+ await this.$cleanupService.removeCleanupDeleteAction(filePath);
72
+ }
90
73
  }
91
74
  getPathsForCleanupAction(lockPath) {
92
75
  return [lockPath, `${lockPath}.lock`];
@@ -121,9 +104,9 @@ class LockService {
121
104
  return filePath;
122
105
  }
123
106
  }
107
+ exports.LockService = LockService;
124
108
  __decorate([
125
109
  (0, decorators_1.cache)()
126
110
  ], LockService.prototype, "defaultLockFilePath", null);
127
- exports.LockService = LockService;
128
111
  yok_1.injector.register("lockService", LockService);
129
112
  yok_1.injector.register("lockfile", LockService);
@@ -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.MessageContractGenerator = void 0;
13
4
  const code_entity_1 = require("../codeGeneration/code-entity");
@@ -19,45 +10,43 @@ class MessageContractGenerator {
19
10
  this.$fs = $fs;
20
11
  this.$messagesService = $messagesService;
21
12
  }
22
- generate() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const interfacesFile = new code_entity_1.Block();
25
- const implementationsFile = new code_entity_1.Block();
26
- implementationsFile.writeLine("//");
27
- implementationsFile.writeLine("// automatically generated code; do not edit manually!");
28
- implementationsFile.writeLine("//");
29
- implementationsFile.writeLine("/* tslint:disable:all */");
30
- implementationsFile.writeLine("");
31
- interfacesFile.writeLine("//");
32
- interfacesFile.writeLine("// automatically generated code; do not edit manually!");
33
- interfacesFile.writeLine("//");
34
- interfacesFile.writeLine("/* tslint:disable:all */");
35
- const messagesClass = new code_entity_1.Block("export class Messages implements IMessages");
36
- const messagesInterface = new code_entity_1.Block("interface IMessages");
37
- _.each(this.$messagesService.pathsToMessageJsonFiles, (jsonFilePath) => {
38
- const jsonContents = this.$fs.readJson(jsonFilePath), implementationBlock = new code_entity_1.Block(), interfaceBlock = new code_entity_1.Block();
39
- this.generateFileRecursive(jsonContents, "", implementationBlock, 0, {
40
- shouldGenerateInterface: false,
41
- });
42
- this.generateFileRecursive(jsonContents, "", interfaceBlock, 0, {
43
- shouldGenerateInterface: true,
44
- });
45
- messagesClass.addBlock(implementationBlock);
46
- messagesInterface.addBlock(interfaceBlock);
13
+ async generate() {
14
+ const interfacesFile = new code_entity_1.Block();
15
+ const implementationsFile = new code_entity_1.Block();
16
+ implementationsFile.writeLine("//");
17
+ implementationsFile.writeLine("// automatically generated code; do not edit manually!");
18
+ implementationsFile.writeLine("//");
19
+ implementationsFile.writeLine("/* tslint:disable:all */");
20
+ implementationsFile.writeLine("");
21
+ interfacesFile.writeLine("//");
22
+ interfacesFile.writeLine("// automatically generated code; do not edit manually!");
23
+ interfacesFile.writeLine("//");
24
+ interfacesFile.writeLine("/* tslint:disable:all */");
25
+ const messagesClass = new code_entity_1.Block("export class Messages implements IMessages");
26
+ const messagesInterface = new code_entity_1.Block("interface IMessages");
27
+ _.each(this.$messagesService.pathsToMessageJsonFiles, (jsonFilePath) => {
28
+ const jsonContents = this.$fs.readJson(jsonFilePath), implementationBlock = new code_entity_1.Block(), interfaceBlock = new code_entity_1.Block();
29
+ this.generateFileRecursive(jsonContents, "", implementationBlock, 0, {
30
+ shouldGenerateInterface: false,
47
31
  });
48
- interfacesFile.addBlock(messagesInterface);
49
- interfacesFile.writeLine("/* tslint:enable */");
50
- interfacesFile.writeLine("");
51
- implementationsFile.addBlock(messagesClass);
52
- implementationsFile.writeLine("$injector.register('messages', Messages);");
53
- implementationsFile.writeLine("/* tslint:enable */");
54
- implementationsFile.writeLine("");
55
- const codePrinter = new code_printer_1.CodePrinter();
56
- return {
57
- interfaceFile: codePrinter.composeBlock(interfacesFile),
58
- implementationFile: codePrinter.composeBlock(implementationsFile),
59
- };
32
+ this.generateFileRecursive(jsonContents, "", interfaceBlock, 0, {
33
+ shouldGenerateInterface: true,
34
+ });
35
+ messagesClass.addBlock(implementationBlock);
36
+ messagesInterface.addBlock(interfaceBlock);
60
37
  });
38
+ interfacesFile.addBlock(messagesInterface);
39
+ interfacesFile.writeLine("/* tslint:enable */");
40
+ interfacesFile.writeLine("");
41
+ implementationsFile.addBlock(messagesClass);
42
+ implementationsFile.writeLine("$injector.register('messages', Messages);");
43
+ implementationsFile.writeLine("/* tslint:enable */");
44
+ implementationsFile.writeLine("");
45
+ const codePrinter = new code_printer_1.CodePrinter();
46
+ return {
47
+ interfaceFile: codePrinter.composeBlock(interfacesFile),
48
+ implementationFile: codePrinter.composeBlock(implementationsFile),
49
+ };
61
50
  }
62
51
  generateFileRecursive(jsonContents, propertyValue, block, depth, options) {
63
52
  _.each(jsonContents, (val, key) => {
@@ -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.MicroTemplateService = void 0;
13
4
  const util = require("util");
@@ -20,12 +11,10 @@ class MicroTemplateService {
20
11
  this.$injector = $injector;
21
12
  this.dynamicCallRegex = new RegExp(util.format("(%s)", this.$injector.dynamicCallRegex.source), "g");
22
13
  }
23
- parseContent(data, options) {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- const localVariables = this.getLocalVariables(options);
26
- const compiledTemplate = _.template(data.replace(this.dynamicCallRegex, 'this.$injector.getDynamicCallData("$1")'));
27
- return yield compiledTemplate.apply(this, [localVariables]);
28
- });
14
+ async parseContent(data, options) {
15
+ const localVariables = this.getLocalVariables(options);
16
+ const compiledTemplate = _.template(data.replace(this.dynamicCallRegex, 'this.$injector.getDynamicCallData("$1")'));
17
+ return await compiledTemplate.apply(this, [localVariables]);
29
18
  }
30
19
  isPlatform(...args) {
31
20
  const platform = os.platform().toLowerCase();
@@ -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.Net = void 0;
13
4
  const net = require("net");
@@ -21,117 +12,109 @@ class Net {
21
12
  this.$logger = $logger;
22
13
  this.$osInfo = $osInfo;
23
14
  }
24
- getFreePort() {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- const server = net.createServer((sock) => {
15
+ async getFreePort() {
16
+ const server = net.createServer((sock) => {
17
+ });
18
+ return new Promise((resolve, reject) => {
19
+ let isResolved = false;
20
+ server.listen(0, () => {
21
+ const portUsed = server.address().port;
22
+ server.close();
23
+ if (!isResolved) {
24
+ isResolved = true;
25
+ resolve(portUsed);
26
+ }
27
27
  });
28
- return new Promise((resolve, reject) => {
29
- let isResolved = false;
30
- server.listen(0, () => {
31
- const portUsed = server.address().port;
32
- server.close();
33
- if (!isResolved) {
34
- isResolved = true;
35
- resolve(portUsed);
36
- }
37
- });
38
- server.on("error", (err) => {
39
- if (!isResolved) {
40
- isResolved = true;
41
- reject(err);
42
- }
43
- });
28
+ server.on("error", (err) => {
29
+ if (!isResolved) {
30
+ isResolved = true;
31
+ reject(err);
32
+ }
44
33
  });
45
34
  });
46
35
  }
47
- isPortAvailable(port) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- return new Promise((resolve, reject) => {
50
- let isResolved = false;
51
- const server = net.createServer();
52
- server.on("error", (err) => {
53
- if (!isResolved) {
54
- isResolved = true;
55
- resolve(false);
56
- }
57
- });
58
- server.once("close", () => {
59
- if (!isResolved) {
60
- isResolved = true;
61
- resolve(true);
62
- }
63
- });
64
- server.on("listening", (err) => {
65
- if (err && !isResolved) {
66
- isResolved = true;
67
- resolve(true);
68
- }
69
- server.close();
70
- });
71
- server.listen(port, "localhost");
36
+ async isPortAvailable(port) {
37
+ return new Promise((resolve, reject) => {
38
+ let isResolved = false;
39
+ const server = net.createServer();
40
+ server.on("error", (err) => {
41
+ if (!isResolved) {
42
+ isResolved = true;
43
+ resolve(false);
44
+ }
72
45
  });
46
+ server.once("close", () => {
47
+ if (!isResolved) {
48
+ isResolved = true;
49
+ resolve(true);
50
+ }
51
+ });
52
+ server.on("listening", (err) => {
53
+ if (err && !isResolved) {
54
+ isResolved = true;
55
+ resolve(true);
56
+ }
57
+ server.close();
58
+ });
59
+ server.listen(port, "localhost");
73
60
  });
74
61
  }
75
- getAvailablePortInRange(startPort, endPort) {
76
- return __awaiter(this, void 0, void 0, function* () {
77
- endPort = endPort || 65534;
78
- while (!(yield this.isPortAvailable(startPort))) {
79
- startPort++;
80
- if (startPort > endPort) {
81
- this.$errors.fail("Unable to find free local port.");
82
- }
62
+ async getAvailablePortInRange(startPort, endPort) {
63
+ endPort = endPort || 65534;
64
+ while (!(await this.isPortAvailable(startPort))) {
65
+ startPort++;
66
+ if (startPort > endPort) {
67
+ this.$errors.fail("Unable to find free local port.");
83
68
  }
84
- return startPort;
85
- });
69
+ }
70
+ return startPort;
86
71
  }
87
- waitForPortToListen(waitForPortListenData) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- if (!waitForPortListenData) {
90
- this.$errors.fail("You must pass port and timeout for check.");
72
+ async waitForPortToListen(waitForPortListenData) {
73
+ if (!waitForPortListenData) {
74
+ this.$errors.fail("You must pass port and timeout for check.");
75
+ }
76
+ const { timeout, port } = waitForPortListenData;
77
+ const interval = waitForPortListenData.interval || Net.DEFAULT_INTERVAL;
78
+ const endTime = new Date().getTime() + timeout;
79
+ const platformData = {
80
+ darwin: {
81
+ command: "netstat -f inet -p tcp -anL",
82
+ regex: new RegExp(`\\.${port}\\b`, "g"),
83
+ },
84
+ linux: {
85
+ command: "netstat -tnl",
86
+ regex: new RegExp(`:${port}\\s`, "g"),
87
+ },
88
+ win32: {
89
+ command: "netstat -ant -p tcp",
90
+ regex: new RegExp(`TCP\\s+(\\d+\\.){3}\\d+:${port}.*?LISTEN`, "g"),
91
+ },
92
+ };
93
+ const platform = this.$osInfo.platform();
94
+ const currentPlatformData = platformData[platform];
95
+ if (!currentPlatformData) {
96
+ this.$errors.fail(`Unable to check for free ports on ${platform}. Supported platforms are: ${_.keys(platformData).join(", ")}`);
97
+ }
98
+ while (true) {
99
+ const { command, regex } = currentPlatformData;
100
+ try {
101
+ const result = await this.$childProcess.exec(command);
102
+ if (result && !!result.match(regex)) {
103
+ return true;
104
+ }
91
105
  }
92
- const { timeout, port } = waitForPortListenData;
93
- const interval = waitForPortListenData.interval || Net.DEFAULT_INTERVAL;
94
- const endTime = new Date().getTime() + timeout;
95
- const platformData = {
96
- darwin: {
97
- command: "netstat -f inet -p tcp -anL",
98
- regex: new RegExp(`\\.${port}\\b`, "g"),
99
- },
100
- linux: {
101
- command: "netstat -tnl",
102
- regex: new RegExp(`:${port}\\s`, "g"),
103
- },
104
- win32: {
105
- command: "netstat -ant -p tcp",
106
- regex: new RegExp(`TCP\\s+(\\d+\\.){3}\\d+:${port}.*?LISTEN`, "g"),
107
- },
108
- };
109
- const platform = this.$osInfo.platform();
110
- const currentPlatformData = platformData[platform];
111
- if (!currentPlatformData) {
112
- this.$errors.fail(`Unable to check for free ports on ${platform}. Supported platforms are: ${_.keys(platformData).join(", ")}`);
106
+ catch (err) {
107
+ this.$logger.trace(`Error while calling '${command}': ${err}`);
113
108
  }
114
- while (true) {
115
- const { command, regex } = currentPlatformData;
116
- try {
117
- const result = yield this.$childProcess.exec(command);
118
- if (result && !!result.match(regex)) {
119
- return true;
120
- }
121
- }
122
- catch (err) {
123
- this.$logger.trace(`Error while calling '${command}': ${err}`);
124
- }
125
- const currentTime = new Date().getTime();
126
- if (currentTime >= endTime) {
127
- break;
128
- }
129
- yield (0, helpers_1.sleep)(interval);
109
+ const currentTime = new Date().getTime();
110
+ if (currentTime >= endTime) {
111
+ break;
130
112
  }
131
- return false;
132
- });
113
+ await (0, helpers_1.sleep)(interval);
114
+ }
115
+ return false;
133
116
  }
134
117
  }
135
- Net.DEFAULT_INTERVAL = 1000;
136
118
  exports.Net = Net;
119
+ Net.DEFAULT_INTERVAL = 1000;
137
120
  yok_1.injector.register("net", Net);