@akylas/nativescript-cli 8.8.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 (275) hide show
  1. package/lib/android-tools-info.js +9 -20
  2. package/lib/base-package-manager.js +47 -64
  3. package/lib/bun-package-manager.js +65 -88
  4. package/lib/color.js +2 -2
  5. package/lib/commands/add-platform.js +14 -30
  6. package/lib/commands/apple-login.js +18 -29
  7. package/lib/commands/appstore-list.js +34 -45
  8. package/lib/commands/appstore-upload.js +55 -68
  9. package/lib/commands/build.js +57 -86
  10. package/lib/commands/clean.js +161 -176
  11. package/lib/commands/command-base.js +14 -27
  12. package/lib/commands/config.js +51 -70
  13. package/lib/commands/create-project.js +210 -229
  14. package/lib/commands/debug.js +66 -88
  15. package/lib/commands/deploy.js +28 -44
  16. package/lib/commands/embedding/embed.js +33 -52
  17. package/lib/commands/extensibility/install-extension.js +5 -16
  18. package/lib/commands/extensibility/list-extensions.js +13 -24
  19. package/lib/commands/extensibility/uninstall-extension.js +4 -15
  20. package/lib/commands/fonts.js +30 -41
  21. package/lib/commands/generate-assets.js +13 -28
  22. package/lib/commands/generate-help.js +2 -13
  23. package/lib/commands/generate.js +17 -26
  24. package/lib/commands/info.js +2 -13
  25. package/lib/commands/install.js +34 -49
  26. package/lib/commands/list-platforms.js +14 -25
  27. package/lib/commands/migrate.js +15 -26
  28. package/lib/commands/native-add.js +23 -46
  29. package/lib/commands/platform-clean.js +19 -32
  30. package/lib/commands/plugin/add-plugin.js +12 -25
  31. package/lib/commands/plugin/build-plugin.js +34 -39
  32. package/lib/commands/plugin/create-plugin.js +110 -133
  33. package/lib/commands/plugin/list-plugins.js +22 -33
  34. package/lib/commands/plugin/remove-plugin.js +20 -33
  35. package/lib/commands/plugin/update-plugin.js +20 -33
  36. package/lib/commands/post-install.js +20 -33
  37. package/lib/commands/prepare.js +19 -35
  38. package/lib/commands/preview.js +49 -62
  39. package/lib/commands/remove-platform.js +7 -18
  40. package/lib/commands/resources/resources-update.js +13 -26
  41. package/lib/commands/run.js +55 -76
  42. package/lib/commands/start.js +6 -19
  43. package/lib/commands/test-init.js +123 -134
  44. package/lib/commands/test.js +66 -89
  45. package/lib/commands/typings.js +126 -142
  46. package/lib/commands/update-platform.js +22 -35
  47. package/lib/commands/update.js +30 -43
  48. package/lib/common/child-process.js +53 -72
  49. package/lib/common/codeGeneration/code-entity.js +1 -1
  50. package/lib/common/codeGeneration/code-printer.js +1 -1
  51. package/lib/common/command-params.js +7 -18
  52. package/lib/common/commands/analytics.js +27 -40
  53. package/lib/common/commands/autocompletion.js +39 -56
  54. package/lib/common/commands/device/device-log-stream.js +12 -23
  55. package/lib/common/commands/device/get-file.js +22 -33
  56. package/lib/common/commands/device/list-applications.js +12 -23
  57. package/lib/common/commands/device/list-devices.js +72 -87
  58. package/lib/common/commands/device/list-files.js +23 -34
  59. package/lib/common/commands/device/put-file.js +22 -33
  60. package/lib/common/commands/device/run-application.js +12 -25
  61. package/lib/common/commands/device/stop-application.js +11 -22
  62. package/lib/common/commands/device/uninstall-application.js +6 -17
  63. package/lib/common/commands/generate-messages.js +17 -28
  64. package/lib/common/commands/help.js +20 -33
  65. package/lib/common/commands/package-manager-get.js +6 -17
  66. package/lib/common/commands/package-manager-set.js +9 -20
  67. package/lib/common/commands/post-install.js +2 -13
  68. package/lib/common/commands/preuninstall.js +23 -38
  69. package/lib/common/commands/proxy/proxy-base.js +8 -19
  70. package/lib/common/commands/proxy/proxy-clear.js +4 -15
  71. package/lib/common/commands/proxy/proxy-get.js +3 -14
  72. package/lib/common/commands/proxy/proxy-set.js +87 -100
  73. package/lib/common/constants.js +11 -11
  74. package/lib/common/decorators.js +10 -22
  75. package/lib/common/dispatchers.js +79 -96
  76. package/lib/common/errors.js +89 -104
  77. package/lib/common/file-system.js +106 -127
  78. package/lib/common/header.js +1 -2
  79. package/lib/common/helpers.js +149 -178
  80. package/lib/common/host-info.js +37 -50
  81. package/lib/common/http-client.js +93 -108
  82. package/lib/common/logger/appenders/cli-appender.js +1 -2
  83. package/lib/common/logger/appenders/emit-appender.js +1 -2
  84. package/lib/common/logger/layouts/cli-layout.js +1 -2
  85. package/lib/common/logger/logger.js +1 -1
  86. package/lib/common/mobile/android/android-application-manager.js +121 -142
  87. package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
  88. package/lib/common/mobile/android/android-debug-bridge.js +87 -112
  89. package/lib/common/mobile/android/android-device-file-system.js +98 -131
  90. package/lib/common/mobile/android/android-device-hash-service.js +50 -75
  91. package/lib/common/mobile/android/android-device.js +74 -91
  92. package/lib/common/mobile/android/android-emulator-services.js +105 -130
  93. package/lib/common/mobile/android/android-log-filter.js +1 -1
  94. package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
  95. package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
  96. package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
  97. package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
  98. package/lib/common/mobile/android/logcat-helper.js +108 -127
  99. package/lib/common/mobile/application-manager-base.js +84 -107
  100. package/lib/common/mobile/device-log-provider-base.js +7 -18
  101. package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
  102. package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
  103. package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
  104. package/lib/common/mobile/ios/device/ios-device.js +20 -36
  105. package/lib/common/mobile/ios/ios-device-base.js +58 -81
  106. package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
  107. package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
  108. package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
  109. package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
  110. package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
  111. package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
  112. package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
  113. package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
  114. package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
  115. package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
  116. package/lib/common/mobile/mobile-core/devices-service.js +385 -436
  117. package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
  118. package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
  119. package/lib/common/mobile/mobile-helper.js +15 -26
  120. package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
  121. package/lib/common/opener.js +2 -2
  122. package/lib/common/plist-parser.js +2 -2
  123. package/lib/common/prompter.js +90 -105
  124. package/lib/common/queue.js +9 -20
  125. package/lib/common/services/auto-completion-service.js +39 -52
  126. package/lib/common/services/cancellation.js +17 -28
  127. package/lib/common/services/commands-service.js +146 -169
  128. package/lib/common/services/help-service.js +132 -157
  129. package/lib/common/services/hooks-service.js +93 -108
  130. package/lib/common/services/ios-notification-service.js +21 -34
  131. package/lib/common/services/json-file-settings-service.js +52 -71
  132. package/lib/common/services/lock-service.js +35 -52
  133. package/lib/common/services/message-contract-generator.js +35 -46
  134. package/lib/common/services/micro-templating-service.js +4 -15
  135. package/lib/common/services/net-service.js +90 -107
  136. package/lib/common/services/project-files-manager.js +10 -23
  137. package/lib/common/services/proxy-service.js +13 -24
  138. package/lib/common/services/qr.js +13 -24
  139. package/lib/common/services/settings-service.js +1 -1
  140. package/lib/common/services/xcode-select-service.js +20 -35
  141. package/lib/common/utils.js +2 -2
  142. package/lib/common/validators/project-name-validator.js +1 -1
  143. package/lib/common/validators/validation-result.js +1 -1
  144. package/lib/common/verify-node-version.js +2 -3
  145. package/lib/common/yok.js +23 -36
  146. package/lib/config.js +7 -58
  147. package/lib/constants.js +24 -24
  148. package/lib/controllers/build-controller.js +82 -99
  149. package/lib/controllers/debug-controller.js +107 -128
  150. package/lib/controllers/deploy-controller.js +17 -22
  151. package/lib/controllers/migrate-controller.js +722 -795
  152. package/lib/controllers/platform-controller.js +72 -87
  153. package/lib/controllers/prepare-controller.js +266 -299
  154. package/lib/controllers/run-controller.js +392 -406
  155. package/lib/controllers/update-controller-base.js +16 -29
  156. package/lib/controllers/update-controller.js +94 -119
  157. package/lib/data/prepare-data.js +4 -1
  158. package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
  159. package/lib/definitions/livesync.d.ts +1 -1
  160. package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
  161. package/lib/detached-processes/cleanup-process.js +16 -25
  162. package/lib/device-path-provider.js +23 -34
  163. package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
  164. package/lib/device-sockets/ios/notification.js +1 -1
  165. package/lib/device-sockets/ios/socket-request-executor.js +24 -39
  166. package/lib/helpers/android-bundle-validator-helper.js +1 -1
  167. package/lib/helpers/deploy-command-helper.js +45 -49
  168. package/lib/helpers/key-command-helper.js +4 -13
  169. package/lib/helpers/livesync-command-helper.js +137 -152
  170. package/lib/helpers/network-connectivity-validator.js +6 -17
  171. package/lib/helpers/options-track-helper.js +6 -17
  172. package/lib/helpers/platform-command-helper.js +99 -120
  173. package/lib/key-commands/index.js +161 -211
  174. package/lib/nativescript-cli.js +5 -14
  175. package/lib/node-package-manager.js +81 -104
  176. package/lib/options.js +3 -12
  177. package/lib/package-installation-manager.js +130 -165
  178. package/lib/package-manager.js +63 -86
  179. package/lib/platform-command-param.js +4 -15
  180. package/lib/pnpm-package-manager.js +59 -78
  181. package/lib/project-data.js +1 -1
  182. package/lib/providers/project-files-provider.js +1 -1
  183. package/lib/services/analytics/analytics-broker-process.js +13 -22
  184. package/lib/services/analytics/analytics-broker.js +17 -30
  185. package/lib/services/analytics/analytics-service.js +161 -198
  186. package/lib/services/analytics/google-analytics-provider.js +41 -56
  187. package/lib/services/analytics-settings-service.js +15 -32
  188. package/lib/services/android/android-bundle-tool-service.js +43 -60
  189. package/lib/services/android/gradle-build-args-service.js +9 -20
  190. package/lib/services/android/gradle-build-service.js +34 -47
  191. package/lib/services/android/gradle-command-service.js +22 -35
  192. package/lib/services/android-device-debug-service.js +90 -117
  193. package/lib/services/android-plugin-build-service.js +230 -256
  194. package/lib/services/android-project-service.js +163 -199
  195. package/lib/services/android-resources-migration-service.js +51 -64
  196. package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
  197. package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
  198. package/lib/services/assets-generation/assets-generation-service.js +98 -115
  199. package/lib/services/build-artifacts-service.js +9 -20
  200. package/lib/services/build-info-file-service.js +20 -35
  201. package/lib/services/cleanup-service.js +47 -76
  202. package/lib/services/cocoapods-service.js +115 -136
  203. package/lib/services/device/device-install-app-service.js +73 -90
  204. package/lib/services/doctor-service.js +99 -118
  205. package/lib/services/extensibility-service.js +81 -100
  206. package/lib/services/files-hash-service.js +26 -43
  207. package/lib/services/hmr-status-service.js +1 -1
  208. package/lib/services/initialize-service.js +37 -50
  209. package/lib/services/ios/export-options-plist-service.js +38 -51
  210. package/lib/services/ios/ios-signing-service.js +161 -180
  211. package/lib/services/ios/spm-service.js +40 -53
  212. package/lib/services/ios/xcodebuild-args-service.js +77 -94
  213. package/lib/services/ios/xcodebuild-command-service.js +14 -25
  214. package/lib/services/ios/xcodebuild-service.js +50 -69
  215. package/lib/services/ios-debugger-port-service.js +23 -36
  216. package/lib/services/ios-device-debug-service.js +75 -102
  217. package/lib/services/ios-entitlements-service.js +31 -42
  218. package/lib/services/ios-extensions-service.js +18 -29
  219. package/lib/services/ios-project-service.js +405 -460
  220. package/lib/services/ios-provision-service.js +108 -129
  221. package/lib/services/ios-watch-app-service.js +21 -32
  222. package/lib/services/ip-service.js +38 -53
  223. package/lib/services/itmstransporter-service.js +129 -152
  224. package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
  225. package/lib/services/livesync/android-device-livesync-service.js +120 -149
  226. package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
  227. package/lib/services/livesync/android-livesync-service.js +14 -35
  228. package/lib/services/livesync/android-livesync-tool.js +89 -112
  229. package/lib/services/livesync/device-livesync-service-base.js +15 -28
  230. package/lib/services/livesync/ios-device-livesync-service.js +114 -143
  231. package/lib/services/livesync/ios-livesync-service.js +42 -58
  232. package/lib/services/livesync/platform-livesync-service-base.js +94 -119
  233. package/lib/services/log-parser-service.js +1 -1
  234. package/lib/services/log-source-map-service.js +30 -41
  235. package/lib/services/marking-mode-service.js +15 -28
  236. package/lib/services/npm-config-service.js +1 -1
  237. package/lib/services/pacote-service.js +49 -64
  238. package/lib/services/performance-service.js +1 -1
  239. package/lib/services/platform/add-platform-service.js +50 -71
  240. package/lib/services/platform/platform-validation-service.js +22 -33
  241. package/lib/services/platform/prepare-native-platform-service.js +49 -62
  242. package/lib/services/platform-environment-requirements.js +26 -37
  243. package/lib/services/plugins-service.js +122 -147
  244. package/lib/services/project-backup-service.js +1 -1
  245. package/lib/services/project-changes-service.js +124 -141
  246. package/lib/services/project-cleanup-service.js +64 -77
  247. package/lib/services/project-config-service.js +71 -80
  248. package/lib/services/project-data-service.js +101 -118
  249. package/lib/services/project-name-service.js +28 -43
  250. package/lib/services/project-service.js +84 -103
  251. package/lib/services/project-templates-service.js +52 -67
  252. package/lib/services/start-service.js +41 -59
  253. package/lib/services/temp-service.js +8 -21
  254. package/lib/services/terminal-spinner-service.js +13 -24
  255. package/lib/services/test-execution-service.js +59 -72
  256. package/lib/services/test-initialization-service.js +2 -2
  257. package/lib/services/timeline-profiler-service.js +1 -1
  258. package/lib/services/versions-service.js +119 -138
  259. package/lib/services/webpack/webpack-compiler-service.js +211 -231
  260. package/lib/services/xcconfig-service.js +8 -19
  261. package/lib/sys-info.js +45 -62
  262. package/lib/tools/node-modules/node-modules-builder.js +16 -27
  263. package/lib/yarn-package-manager.js +59 -78
  264. package/lib/yarn2-package-manager.js +60 -79
  265. package/package.json +57 -55
  266. package/vendor/aab-tool/bundletool.jar +0 -0
  267. package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
  268. package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
  269. package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
  270. package/lib/common/resources/platform-tools/android/linux/adb +0 -0
  271. package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
  272. package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
  273. package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
  274. package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
  275. 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", plugins: [] })));
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 = {
@@ -436,6 +419,7 @@ class ProjectDataService {
436
419
  return JSON.stringify(config);
437
420
  }
438
421
  }
422
+ exports.ProjectDataService = ProjectDataService;
439
423
  ProjectDataService.DEPENDENCIES_KEY_NAME = "dependencies";
440
424
  __decorate([
441
425
  (0, decorators_1.exported)("projectDataService")
@@ -468,5 +452,4 @@ __decorate([
468
452
  __decorate([
469
453
  (0, decorators_1.exported)("projectDataService")
470
454
  ], ProjectDataService.prototype, "getNsConfigDefaultContent", null);
471
- exports.ProjectDataService = ProjectDataService;
472
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;