@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
@@ -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.ProjectConfigService = void 0;
19
10
  const constants = require("../constants");
@@ -156,60 +147,62 @@ export default {
156
147
  getValue(key, defaultValue) {
157
148
  return _.get(this.readConfig(), key, defaultValue);
158
149
  }
159
- setValue(key, value) {
160
- return __awaiter(this, void 0, void 0, function* () {
161
- const { hasTSConfig, hasNSConfig, TSConfigPath, JSConfigPath, usingNSConfig, NSConfigPath, } = this.detectProjectConfigs();
162
- const configFilePath = TSConfigPath || JSConfigPath;
163
- if (this.forceUsingLegacyConfig ||
164
- (usingNSConfig && !this.forceUsingNewConfig)) {
165
- try {
166
- this.$logger.trace("Project Config Service -> setValue writing to legacy config.");
167
- const NSConfig = hasNSConfig ? this.$fs.readJson(NSConfigPath) : {};
168
- _.set(NSConfig, key, value);
169
- this.$fs.writeJson(NSConfigPath, NSConfig);
170
- return true;
171
- }
172
- catch (error) {
173
- this.$logger.trace(`Failed to setValue on legacy config. Error is ${error.message}`, error);
174
- return false;
175
- }
176
- }
177
- if (!this.$fs.exists(configFilePath)) {
178
- this.writeDefaultConfig(this.projectHelper.projectDir);
179
- }
180
- if (typeof value === "object") {
181
- let allSuccessful = true;
182
- for (const prop of this.flattenObjectToPaths(value)) {
183
- if (!(yield this.setValue(prop.key, prop.value))) {
184
- allSuccessful = false;
185
- }
186
- }
187
- return allSuccessful;
188
- }
189
- const configContent = this.$fs.readText(configFilePath);
150
+ async setValue(key, value) {
151
+ const { hasTSConfig, hasNSConfig, TSConfigPath, JSConfigPath, usingNSConfig, NSConfigPath, } = this.detectProjectConfigs();
152
+ const configFilePath = TSConfigPath || JSConfigPath;
153
+ if (this.forceUsingLegacyConfig ||
154
+ (usingNSConfig && !this.forceUsingNewConfig)) {
190
155
  try {
191
- const transformer = new config_transformer_1.ConfigTransformer(configContent);
192
- const newContent = transformer.setValue(key, value);
193
- const prettierOptions = (yield (0, prettier_1.resolveConfig)(this.projectHelper.projectDir, { editorconfig: true })) || {
194
- semi: false,
195
- singleQuote: true,
196
- };
197
- this.$logger.trace("updating config, prettier options: ", prettierOptions);
198
- this.$fs.writeFile(configFilePath, (0, prettier_1.format)(newContent, Object.assign(Object.assign({}, prettierOptions), { parser: "typescript" })));
156
+ this.$logger.trace("Project Config Service -> setValue writing to legacy config.");
157
+ const NSConfig = hasNSConfig ? this.$fs.readJson(NSConfigPath) : {};
158
+ _.set(NSConfig, key, value);
159
+ this.$fs.writeJson(NSConfigPath, NSConfig);
160
+ return true;
199
161
  }
200
162
  catch (error) {
201
- this.$logger.error(`Failed to update config.` + error);
163
+ this.$logger.trace(`Failed to setValue on legacy config. Error is ${error.message}`, error);
164
+ return false;
202
165
  }
203
- finally {
204
- if (this.getValue(key) !== value) {
205
- this.$logger.error(`${os_1.EOL}Failed to update ${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}.${os_1.EOL}`);
206
- this.$logger.printMarkdown(`Please manually update \`${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}\` and set \`${key}\` to \`${value}\`.${os_1.EOL}`);
207
- this.$fs.writeFile(configFilePath, configContent);
208
- return false;
166
+ }
167
+ if (!this.$fs.exists(configFilePath)) {
168
+ this.writeDefaultConfig(this.projectHelper.projectDir);
169
+ }
170
+ if (typeof value === "object") {
171
+ let allSuccessful = true;
172
+ for (const prop of this.flattenObjectToPaths(value)) {
173
+ if (!(await this.setValue(prop.key, prop.value))) {
174
+ allSuccessful = false;
209
175
  }
210
- return true;
211
176
  }
212
- });
177
+ return allSuccessful;
178
+ }
179
+ const configContent = this.$fs.readText(configFilePath);
180
+ try {
181
+ const transformer = new config_transformer_1.ConfigTransformer(configContent);
182
+ const newContent = transformer.setValue(key, value);
183
+ const prettierOptions = (await (0, prettier_1.resolveConfig)(this.projectHelper.projectDir, { editorconfig: true })) || {
184
+ semi: false,
185
+ singleQuote: true,
186
+ };
187
+ this.$logger.trace("updating config, prettier options: ", prettierOptions);
188
+ this.$fs.writeFile(configFilePath, await (0, prettier_1.format)(newContent, {
189
+ ...prettierOptions,
190
+ parser: "typescript",
191
+ plugins: [],
192
+ }));
193
+ }
194
+ catch (error) {
195
+ this.$logger.error(`Failed to update config.` + error);
196
+ }
197
+ finally {
198
+ if (this.getValue(key) !== value) {
199
+ this.$logger.error(`${os_1.EOL}Failed to update ${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}.${os_1.EOL}`);
200
+ this.$logger.printMarkdown(`Please manually update \`${hasTSConfig ? constants_1.CONFIG_FILE_NAME_TS : constants_1.CONFIG_FILE_NAME_JS}\` and set \`${key}\` to \`${value}\`.${os_1.EOL}`);
201
+ this.$fs.writeFile(configFilePath, configContent);
202
+ return false;
203
+ }
204
+ return true;
205
+ }
213
206
  }
214
207
  writeDefaultConfig(projectDir, appId) {
215
208
  const TSConfigPath = path.resolve(projectDir, constants_1.CONFIG_FILE_NAME_TS);
@@ -276,32 +269,30 @@ export default {
276
269
  }
277
270
  return _.defaultsDeep({}, ...additionalData, NSConfig);
278
271
  }
279
- writeLegacyNSConfigIfNeeded(projectDir, runtimePackage) {
280
- return __awaiter(this, void 0, void 0, function* () {
281
- const { usingNSConfig } = this.detectProjectConfigs(projectDir);
282
- if (usingNSConfig) {
283
- return;
284
- }
285
- if (runtimePackage.version &&
286
- semver.gte(semver.coerce(runtimePackage.version), "7.0.0-rc.5")) {
287
- return;
288
- }
289
- const runtimePackageDisplay = `${runtimePackage.name}${runtimePackage.version ? " v" + runtimePackage.version : ""}`;
290
- this.$logger.info();
291
- this.$logger.printMarkdown(`
272
+ async writeLegacyNSConfigIfNeeded(projectDir, runtimePackage) {
273
+ const { usingNSConfig } = this.detectProjectConfigs(projectDir);
274
+ if (usingNSConfig) {
275
+ return;
276
+ }
277
+ if (runtimePackage.version &&
278
+ semver.gte(semver.coerce(runtimePackage.version), "7.0.0-rc.5")) {
279
+ return;
280
+ }
281
+ const runtimePackageDisplay = `${runtimePackage.name}${runtimePackage.version ? " v" + runtimePackage.version : ""}`;
282
+ this.$logger.info();
283
+ this.$logger.printMarkdown(`
292
284
  Using __${runtimePackageDisplay}__ which requires \`nsconfig.json\` to be present.
293
285
  Writing \`nsconfig.json\` based on the values set in \`${constants_1.CONFIG_FILE_NAME_DISPLAY}\`.
294
286
  You may add \`nsconfig.json\` to \`.gitignore\` as the CLI will regenerate it as necessary.`);
295
- const nsConfigPath = path.join(projectDir || this.projectHelper.projectDir, "nsconfig.json");
296
- this.$fs.writeJson(nsConfigPath, {
297
- _info1: `Auto Generated for backwards compatibility with the currently used runtime.`,
298
- _info2: `Do not edit this file manually, as any changes will be ignored.`,
299
- _info3: `Config changes should be done in ${constants_1.CONFIG_FILE_NAME_DISPLAY} instead.`,
300
- appPath: this.getValue("appPath"),
301
- appResourcesPath: this.getValue("appResourcesPath"),
302
- });
303
- yield this.$cleanupService.addCleanupDeleteAction(nsConfigPath);
287
+ const nsConfigPath = path.join(projectDir || this.projectHelper.projectDir, "nsconfig.json");
288
+ this.$fs.writeJson(nsConfigPath, {
289
+ _info1: `Auto Generated for backwards compatibility with the currently used runtime.`,
290
+ _info2: `Do not edit this file manually, as any changes will be ignored.`,
291
+ _info3: `Config changes should be done in ${constants_1.CONFIG_FILE_NAME_DISPLAY} instead.`,
292
+ appPath: this.getValue("appPath"),
293
+ appResourcesPath: this.getValue("appResourcesPath"),
304
294
  });
295
+ await this.$cleanupService.addCleanupDeleteAction(nsConfigPath);
305
296
  }
306
297
  flattenObjectToPaths(obj, basePath) {
307
298
  const toPath = (key) => [basePath, key].filter(Boolean).join(".");
@@ -319,6 +310,7 @@ You may add \`nsconfig.json\` to \`.gitignore\` as the CLI will regenerate it as
319
310
  }, []);
320
311
  }
321
312
  }
313
+ exports.ProjectConfigService = ProjectConfigService;
322
314
  __decorate([
323
315
  (0, decorators_1.cache)()
324
316
  ], ProjectConfigService.prototype, "warnUsingLegacyNSConfig", null);
@@ -331,5 +323,4 @@ __decorate([
331
323
  __decorate([
332
324
  (0, decorators_1.exported)("projectConfigService")
333
325
  ], ProjectConfigService.prototype, "setValue", null);
334
- exports.ProjectConfigService = ProjectConfigService;
335
326
  yok_1.injector.register("projectConfigService", ProjectConfigService);
@@ -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.ProjectDataService = void 0;
19
10
  const path = require("path");
@@ -87,68 +78,62 @@ class ProjectDataService {
87
78
  this.projectDataCache[projectDir].initializeProjectDataFromContent(packageJsonContent, projectDir);
88
79
  return this.projectDataCache[projectDir];
89
80
  }
90
- getAssetsStructure(opts) {
91
- return __awaiter(this, void 0, void 0, function* () {
92
- const iOSAssetStructure = yield this.getIOSAssetsStructure(opts);
93
- const androidAssetStructure = yield this.getAndroidAssetsStructure(opts);
94
- this.$logger.trace("iOS Assets structure:", JSON.stringify(iOSAssetStructure, null, 2));
95
- this.$logger.trace("Android Assets structure:", JSON.stringify(androidAssetStructure, null, 2));
96
- return {
97
- ios: iOSAssetStructure,
98
- android: androidAssetStructure,
99
- };
100
- });
81
+ async getAssetsStructure(opts) {
82
+ const iOSAssetStructure = await this.getIOSAssetsStructure(opts);
83
+ const androidAssetStructure = await this.getAndroidAssetsStructure(opts);
84
+ this.$logger.trace("iOS Assets structure:", JSON.stringify(iOSAssetStructure, null, 2));
85
+ this.$logger.trace("Android Assets structure:", JSON.stringify(androidAssetStructure, null, 2));
86
+ return {
87
+ ios: iOSAssetStructure,
88
+ android: androidAssetStructure,
89
+ };
101
90
  }
102
- getIOSAssetsStructure(opts) {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- const projectDir = opts.projectDir;
105
- const projectData = this.getProjectData(projectDir);
106
- const basePath = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants_1.AssetConstants.iOSAssetsDirName);
107
- const pathToIcons = path.join(basePath, constants_1.AssetConstants.iOSIconsDirName);
108
- const icons = yield this.getIOSAssetSubGroup(pathToIcons);
109
- const pathToSplashBackgrounds = path.join(basePath, constants_1.AssetConstants.iOSSplashBackgroundsDirName);
110
- const splashBackgrounds = yield this.getIOSAssetSubGroup(pathToSplashBackgrounds);
111
- const pathToSplashCenterImages = path.join(basePath, constants_1.AssetConstants.iOSSplashCenterImagesDirName);
112
- const splashCenterImages = yield this.getIOSAssetSubGroup(pathToSplashCenterImages);
113
- const pathToSplashImages = path.join(basePath, constants_1.AssetConstants.iOSSplashImagesDirName);
114
- const splashImages = yield this.getIOSAssetSubGroup(pathToSplashImages);
115
- return {
116
- icons,
117
- splashBackgrounds,
118
- splashCenterImages,
119
- splashImages,
120
- };
121
- });
91
+ async getIOSAssetsStructure(opts) {
92
+ const projectDir = opts.projectDir;
93
+ const projectData = this.getProjectData(projectDir);
94
+ const basePath = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants_1.AssetConstants.iOSAssetsDirName);
95
+ const pathToIcons = path.join(basePath, constants_1.AssetConstants.iOSIconsDirName);
96
+ const icons = await this.getIOSAssetSubGroup(pathToIcons);
97
+ const pathToSplashBackgrounds = path.join(basePath, constants_1.AssetConstants.iOSSplashBackgroundsDirName);
98
+ const splashBackgrounds = await this.getIOSAssetSubGroup(pathToSplashBackgrounds);
99
+ const pathToSplashCenterImages = path.join(basePath, constants_1.AssetConstants.iOSSplashCenterImagesDirName);
100
+ const splashCenterImages = await this.getIOSAssetSubGroup(pathToSplashCenterImages);
101
+ const pathToSplashImages = path.join(basePath, constants_1.AssetConstants.iOSSplashImagesDirName);
102
+ const splashImages = await this.getIOSAssetSubGroup(pathToSplashImages);
103
+ return {
104
+ icons,
105
+ splashBackgrounds,
106
+ splashCenterImages,
107
+ splashImages,
108
+ };
122
109
  }
123
110
  removeNSConfigProperty(projectDir, propertyName) {
124
111
  this.$logger.trace(`Removing "${propertyName}" property from nsconfig.`);
125
112
  this.updateNsConfigValue(projectDir, null, [propertyName]);
126
113
  this.$logger.trace(`"${propertyName}" property successfully removed.`);
127
114
  }
128
- getAndroidAssetsStructure(opts) {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- const projectDir = opts.projectDir;
131
- const projectData = this.getProjectData(projectDir);
132
- const pathToAndroidDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.Android);
133
- const hasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.appResourcesDirectoryPath);
134
- const basePath = hasMigrated
135
- ? path.join(pathToAndroidDir, constants_1.SRC_DIR, constants_1.MAIN_DIR, constants_1.RESOURCES_DIR)
136
- : pathToAndroidDir;
137
- let useLegacy = false;
138
- try {
139
- const manifest = this.$fs.readText(path.resolve(basePath, "../AndroidManifest.xml"));
140
- useLegacy = !manifest.includes(`android:icon="@mipmap/ic_launcher"`);
141
- }
142
- catch (err) {
143
- }
144
- const content = this.getImageDefinitions()[useLegacy ? "android_legacy" : "android"];
145
- return {
146
- icons: this.getAndroidAssetSubGroup(content.icons, basePath),
147
- splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
148
- splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
149
- splashImages: null,
150
- };
151
- });
115
+ async getAndroidAssetsStructure(opts) {
116
+ const projectDir = opts.projectDir;
117
+ const projectData = this.getProjectData(projectDir);
118
+ const pathToAndroidDir = path.join(projectData.appResourcesDirectoryPath, this.$devicePlatformsConstants.Android);
119
+ const hasMigrated = this.$androidResourcesMigrationService.hasMigrated(projectData.appResourcesDirectoryPath);
120
+ const basePath = hasMigrated
121
+ ? path.join(pathToAndroidDir, constants_1.SRC_DIR, constants_1.MAIN_DIR, constants_1.RESOURCES_DIR)
122
+ : pathToAndroidDir;
123
+ let useLegacy = false;
124
+ try {
125
+ const manifest = this.$fs.readText(path.resolve(basePath, "../AndroidManifest.xml"));
126
+ useLegacy = !manifest.includes(`android:icon="@mipmap/ic_launcher"`);
127
+ }
128
+ catch (err) {
129
+ }
130
+ const content = this.getImageDefinitions()[useLegacy ? "android_legacy" : "android"];
131
+ return {
132
+ icons: this.getAndroidAssetSubGroup(content.icons, basePath),
133
+ splashBackgrounds: this.getAndroidAssetSubGroup(content.splashBackgrounds, basePath),
134
+ splashCenterImages: this.getAndroidAssetSubGroup(content.splashCenterImages, basePath),
135
+ splashImages: null,
136
+ };
152
137
  }
153
138
  getAppExecutableFiles(projectDir) {
154
139
  const projectData = this.getProjectData(projectDir);
@@ -210,64 +195,62 @@ class ProjectDataService {
210
195
  const imageDefinitions = this.$fs.readJson(pathToImageDefinitions);
211
196
  return imageDefinitions;
212
197
  }
213
- getIOSAssetSubGroup(dirPath) {
214
- return __awaiter(this, void 0, void 0, function* () {
215
- const pathToContentJson = path.join(dirPath, constants_1.AssetConstants.iOSResourcesFileName);
216
- const content = (this.$fs.exists(pathToContentJson) &&
217
- this.$fs.readJson(pathToContentJson)) || { images: [] };
218
- const finalContent = { images: [] };
219
- const imageDefinitions = this.getImageDefinitions().ios;
220
- _.each(content && content.images, (image) => {
221
- let foundMatchingDefinition = false;
222
- if (image.filename) {
223
- image.path = path.join(dirPath, image.filename);
224
- }
225
- if (image.size) {
226
- const [width, height] = image.size
227
- .toString()
228
- .split(constants_1.AssetConstants.sizeDelimiter);
229
- if (width && height) {
230
- image.width = +width;
231
- image.height = +height;
232
- }
198
+ async getIOSAssetSubGroup(dirPath) {
199
+ const pathToContentJson = path.join(dirPath, constants_1.AssetConstants.iOSResourcesFileName);
200
+ const content = (this.$fs.exists(pathToContentJson) &&
201
+ this.$fs.readJson(pathToContentJson)) || { images: [] };
202
+ const finalContent = { images: [] };
203
+ const imageDefinitions = this.getImageDefinitions().ios;
204
+ _.each(content && content.images, (image) => {
205
+ let foundMatchingDefinition = false;
206
+ if (image.filename) {
207
+ image.path = path.join(dirPath, image.filename);
208
+ }
209
+ if (image.size) {
210
+ const [width, height] = image.size
211
+ .toString()
212
+ .split(constants_1.AssetConstants.sizeDelimiter);
213
+ if (width && height) {
214
+ image.width = +width;
215
+ image.height = +height;
233
216
  }
234
- _.each(imageDefinitions, (assetSubGroup) => {
235
- const assetItem = _.find(assetSubGroup, (assetElement) => assetElement.filename === image.filename &&
236
- path.basename(assetElement.directory) === path.basename(dirPath));
237
- if (assetItem) {
238
- foundMatchingDefinition = true;
239
- if (!image.width || !image.height) {
240
- image.width = assetItem.width;
241
- image.height = assetItem.height;
242
- image.size =
243
- image.size ||
244
- `${assetItem.width}${constants_1.AssetConstants.sizeDelimiter}${assetItem.height}`;
245
- }
246
- image.resizeOperation =
247
- image.resizeOperation || assetItem.resizeOperation;
248
- image.overlayImageScale =
249
- image.overlayImageScale || assetItem.overlayImageScale;
250
- image.scale = image.scale || assetItem.scale;
251
- image.rgba = assetItem.rgba;
252
- finalContent.images.push(image);
253
- return false;
254
- }
255
- });
256
- if (!foundMatchingDefinition) {
257
- if (image.height && image.width) {
258
- this.$logger.trace("Missing data for image", image, " in CLI's resource file, but we will try to generate images based on the size from Contents.json");
259
- finalContent.images.push(image);
260
- }
261
- else if (image.filename) {
262
- this.$logger.warn(`Didn't find a matching image definition for file ${path.join(path.basename(dirPath), image.filename)}. This file will be skipped from resources generation.`);
263
- }
264
- else {
265
- this.$logger.trace(`Unable to detect data for image generation of image`, image);
217
+ }
218
+ _.each(imageDefinitions, (assetSubGroup) => {
219
+ const assetItem = _.find(assetSubGroup, (assetElement) => assetElement.filename === image.filename &&
220
+ path.basename(assetElement.directory) === path.basename(dirPath));
221
+ if (assetItem) {
222
+ foundMatchingDefinition = true;
223
+ if (!image.width || !image.height) {
224
+ image.width = assetItem.width;
225
+ image.height = assetItem.height;
226
+ image.size =
227
+ image.size ||
228
+ `${assetItem.width}${constants_1.AssetConstants.sizeDelimiter}${assetItem.height}`;
266
229
  }
230
+ image.resizeOperation =
231
+ image.resizeOperation || assetItem.resizeOperation;
232
+ image.overlayImageScale =
233
+ image.overlayImageScale || assetItem.overlayImageScale;
234
+ image.scale = image.scale || assetItem.scale;
235
+ image.rgba = assetItem.rgba;
236
+ finalContent.images.push(image);
237
+ return false;
267
238
  }
268
239
  });
269
- return finalContent;
240
+ if (!foundMatchingDefinition) {
241
+ if (image.height && image.width) {
242
+ this.$logger.trace("Missing data for image", image, " in CLI's resource file, but we will try to generate images based on the size from Contents.json");
243
+ finalContent.images.push(image);
244
+ }
245
+ else if (image.filename) {
246
+ this.$logger.warn(`Didn't find a matching image definition for file ${path.join(path.basename(dirPath), image.filename)}. This file will be skipped from resources generation.`);
247
+ }
248
+ else {
249
+ this.$logger.trace(`Unable to detect data for image generation of image`, image);
250
+ }
251
+ }
270
252
  });
253
+ return finalContent;
271
254
  }
272
255
  getAndroidAssetSubGroup(assetItems, basePath) {
273
256
  const assetSubGroup = {
@@ -368,28 +351,22 @@ class ProjectDataService {
368
351
  return this.getInstalledRuntimePackage(projectDir, platform);
369
352
  }
370
353
  getInstalledRuntimePackage(projectDir, platform) {
371
- var _a, _b;
354
+ var _a, _b, _c, _d;
355
+ console.log('getInstalledRuntimePackage');
356
+ let packageName = [];
357
+ if (platform === "ios") {
358
+ packageName.push((_a = this.$projectData.nsConfig.ios) === null || _a === void 0 ? void 0 : _a.runtimePackageName, constants.SCOPED_IOS_RUNTIME_NAME, constants.TNS_IOS_RUNTIME_NAME);
359
+ }
360
+ else if (platform === "android") {
361
+ packageName.push((_b = this.$projectData.nsConfig.android) === null || _b === void 0 ? void 0 : _b.runtimePackageName, constants.SCOPED_ANDROID_RUNTIME_NAME, constants.TNS_IOS_RUNTIME_NAME);
362
+ }
363
+ else if (platform === "visionos") {
364
+ packageName.push(constants.SCOPED_VISIONOS_RUNTIME_NAME);
365
+ }
372
366
  const runtimePackage = this.$pluginsService
373
367
  .getDependenciesFromPackageJson(projectDir)
374
368
  .devDependencies.find((d) => {
375
- var _a, _b;
376
- if (platform === "ios") {
377
- const packageName = ((_a = this.$projectData.nsConfig.ios) === null || _a === void 0 ? void 0 : _a.runtimePackageName) || constants.SCOPED_IOS_RUNTIME_NAME;
378
- return [
379
- packageName,
380
- constants.TNS_IOS_RUNTIME_NAME,
381
- ].includes(d.name);
382
- }
383
- else if (platform === "android") {
384
- const packageName = ((_b = this.$projectData.nsConfig.android) === null || _b === void 0 ? void 0 : _b.runtimePackageName) || constants.SCOPED_ANDROID_RUNTIME_NAME;
385
- return [
386
- packageName,
387
- constants.TNS_ANDROID_RUNTIME_NAME,
388
- ].includes(d.name);
389
- }
390
- else if (platform === "visionos") {
391
- return d.name === constants.SCOPED_VISIONOS_RUNTIME_NAME;
392
- }
369
+ return packageName.includes(d.name);
393
370
  });
394
371
  if (runtimePackage) {
395
372
  const coerced = semver.coerce(runtimePackage.version);
@@ -420,13 +397,13 @@ class ProjectDataService {
420
397
  this.$logger.trace("Could not find an installed runtime, falling back to default runtimes");
421
398
  if (platform === "ios") {
422
399
  return {
423
- name: ((_a = this.$projectData.nsConfig.ios) === null || _a === void 0 ? void 0 : _a.runtimePackageName) || constants.SCOPED_IOS_RUNTIME_NAME,
400
+ name: ((_c = this.$projectData.nsConfig.ios) === null || _c === void 0 ? void 0 : _c.runtimePackageName) || constants.SCOPED_IOS_RUNTIME_NAME,
424
401
  version: null,
425
402
  };
426
403
  }
427
404
  else if (platform === "android") {
428
405
  return {
429
- name: ((_b = this.$projectData.nsConfig.android) === null || _b === void 0 ? void 0 : _b.runtimePackageName) || constants.SCOPED_ANDROID_RUNTIME_NAME,
406
+ name: ((_d = this.$projectData.nsConfig.android) === null || _d === void 0 ? void 0 : _d.runtimePackageName) || constants.SCOPED_ANDROID_RUNTIME_NAME,
430
407
  version: null,
431
408
  };
432
409
  }
@@ -442,6 +419,7 @@ class ProjectDataService {
442
419
  return JSON.stringify(config);
443
420
  }
444
421
  }
422
+ exports.ProjectDataService = ProjectDataService;
445
423
  ProjectDataService.DEPENDENCIES_KEY_NAME = "dependencies";
446
424
  __decorate([
447
425
  (0, decorators_1.exported)("projectDataService")
@@ -474,5 +452,4 @@ __decorate([
474
452
  __decorate([
475
453
  (0, decorators_1.exported)("projectDataService")
476
454
  ], ProjectDataService.prototype, "getNsConfigDefaultContent", null);
477
- exports.ProjectDataService = ProjectDataService;
478
455
  yok_1.injector.register("projectDataService", ProjectDataService);
@@ -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.ProjectNameService = void 0;
13
4
  const helpers_1 = require("../common/helpers");
@@ -19,48 +10,42 @@ class ProjectNameService {
19
10
  this.$logger = $logger;
20
11
  this.$prompter = $prompter;
21
12
  }
22
- ensureValidName(projectName, validateOptions) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- if (validateOptions && validateOptions.force) {
25
- return projectName;
26
- }
27
- if (!this.$projectNameValidator.validate(projectName)) {
28
- return yield this.promptForNewName("The project name is invalid.", projectName, validateOptions);
29
- }
30
- const userCanInteract = (0, helpers_1.isInteractive)();
31
- if (!this.checkIfNameStartsWithLetter(projectName)) {
32
- if (!userCanInteract) {
33
- this.$errors.fail("The project name does not start with letter and will fail to build for Android. If You want to create project with this name add --force to the create command.");
34
- }
35
- return yield this.promptForNewName("The project name does not start with letter and will fail to build for Android.", projectName, validateOptions);
13
+ async ensureValidName(projectName, validateOptions) {
14
+ if (validateOptions && validateOptions.force) {
15
+ return projectName;
16
+ }
17
+ if (!this.$projectNameValidator.validate(projectName)) {
18
+ return await this.promptForNewName("The project name is invalid.", projectName, validateOptions);
19
+ }
20
+ const userCanInteract = (0, helpers_1.isInteractive)();
21
+ if (!this.checkIfNameStartsWithLetter(projectName)) {
22
+ if (!userCanInteract) {
23
+ this.$errors.fail("The project name does not start with letter and will fail to build for Android. If You want to create project with this name add --force to the create command.");
36
24
  }
37
- if (projectName.toUpperCase() === "APP") {
38
- if (!userCanInteract) {
39
- this.$errors.fail("You cannot build applications named 'app' in Xcode. Consider creating a project with different name. If You want to create project with this name add --force to the create command.");
40
- }
41
- return yield this.promptForNewName("You cannot build applications named 'app' in Xcode. Consider creating a project with different name.", projectName, validateOptions);
25
+ return await this.promptForNewName("The project name does not start with letter and will fail to build for Android.", projectName, validateOptions);
26
+ }
27
+ if (projectName.toUpperCase() === "APP") {
28
+ if (!userCanInteract) {
29
+ this.$errors.fail("You cannot build applications named 'app' in Xcode. Consider creating a project with different name. If You want to create project with this name add --force to the create command.");
42
30
  }
43
- return projectName;
44
- });
31
+ return await this.promptForNewName("You cannot build applications named 'app' in Xcode. Consider creating a project with different name.", projectName, validateOptions);
32
+ }
33
+ return projectName;
45
34
  }
46
35
  checkIfNameStartsWithLetter(projectName) {
47
36
  const startsWithLetterExpression = /^[a-zA-Z]/;
48
37
  return startsWithLetterExpression.test(projectName);
49
38
  }
50
- promptForNewName(warningMessage, projectName, validateOptions) {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- if (yield this.promptForForceNameConfirm(warningMessage)) {
53
- return projectName;
54
- }
55
- const newProjectName = yield this.$prompter.getString("Enter the new project name:");
56
- return yield this.ensureValidName(newProjectName, validateOptions);
57
- });
39
+ async promptForNewName(warningMessage, projectName, validateOptions) {
40
+ if (await this.promptForForceNameConfirm(warningMessage)) {
41
+ return projectName;
42
+ }
43
+ const newProjectName = await this.$prompter.getString("Enter the new project name:");
44
+ return await this.ensureValidName(newProjectName, validateOptions);
58
45
  }
59
- promptForForceNameConfirm(warningMessage) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- this.$logger.warn(warningMessage);
62
- return yield this.$prompter.confirm("Do you want to create the project with this name?");
63
- });
46
+ async promptForForceNameConfirm(warningMessage) {
47
+ this.$logger.warn(warningMessage);
48
+ return await this.$prompter.confirm("Do you want to create the project with this name?");
64
49
  }
65
50
  }
66
51
  exports.ProjectNameService = ProjectNameService;