@akylas/nativescript-cli 8.9.4 → 8.11.0

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 (66) hide show
  1. package/config/test-deps-versions-generated.json +10 -10
  2. package/docs/build-jekyll-md.sh +1 -1
  3. package/docs/man_pages/config/config-get.md +36 -0
  4. package/docs/man_pages/config/config-set.md +40 -0
  5. package/docs/man_pages/config/config.md +39 -0
  6. package/docs/man_pages/project/hooks/hooks.md +35 -0
  7. package/docs/man_pages/start.md +1 -0
  8. package/lib/.d.ts +8 -3
  9. package/lib/bootstrap.js +3 -1
  10. package/lib/color.js +38 -7
  11. package/lib/commands/build.js +18 -2
  12. package/lib/commands/clean.js +1 -2
  13. package/lib/commands/config.js +1 -1
  14. package/lib/commands/embedding/embed.js +1 -1
  15. package/lib/commands/hooks/common.js +79 -0
  16. package/lib/commands/hooks/hooks-lock.js +100 -0
  17. package/lib/commands/hooks/hooks.js +71 -0
  18. package/lib/commands/post-install.js +2 -2
  19. package/lib/commands/typings.js +29 -18
  20. package/lib/common/definitions/extensibility.d.ts +2 -2
  21. package/lib/common/definitions/mobile.d.ts +72 -72
  22. package/lib/common/header.js +3 -3
  23. package/lib/common/logger/layouts/cli-layout.js +1 -1
  24. package/lib/common/logger/logger.js +3 -3
  25. package/lib/common/mobile/android/android-device.js +1 -1
  26. package/lib/common/mobile/android/android-emulator-services.js +8 -6
  27. package/lib/common/mobile/device-log-provider.js +3 -4
  28. package/lib/common/project-helper.js +15 -2
  29. package/lib/common/verify-node-version.js +1 -1
  30. package/lib/constants.js +7 -4
  31. package/lib/controllers/migrate-controller.js +3 -4
  32. package/lib/controllers/prepare-controller.js +9 -9
  33. package/lib/controllers/run-controller.js +1 -1
  34. package/lib/declarations.d.ts +5 -0
  35. package/lib/definitions/hooks.d.ts +1 -0
  36. package/lib/definitions/nativescript-dev-xcode.d.ts +25 -1
  37. package/lib/definitions/project.d.ts +52 -1
  38. package/lib/definitions/temp-service.d.ts +6 -2
  39. package/lib/helpers/key-command-helper.js +2 -1
  40. package/lib/nativescript-cli.js +28 -0
  41. package/lib/options.js +4 -0
  42. package/lib/project-data.js +11 -5
  43. package/lib/services/analytics/analytics-broker-process.js +1 -1
  44. package/lib/services/analytics-settings-service.js +2 -1
  45. package/lib/services/android/gradle-build-args-service.js +7 -3
  46. package/lib/services/android/gradle-build-service.js +4 -1
  47. package/lib/services/android-project-service.js +12 -10
  48. package/lib/services/{webpack/webpack-compiler-service.js → bundler/bundler-compiler-service.js} +254 -85
  49. package/lib/services/bundler/bundler.js +2 -0
  50. package/lib/services/extensibility-service.js +1 -1
  51. package/lib/services/ios/spm-service.js +13 -2
  52. package/lib/services/ios/xcodebuild-args-service.js +7 -5
  53. package/lib/services/ios-project-service.js +0 -1
  54. package/lib/services/ios-watch-app-service.js +540 -16
  55. package/lib/services/livesync/android-livesync-tool.js +3 -1
  56. package/lib/services/plugins-service.js +1 -0
  57. package/lib/services/project-changes-service.js +1 -1
  58. package/lib/services/temp-service.js +16 -4
  59. package/lib/services/versions-service.js +2 -1
  60. package/package.json +35 -36
  61. package/vendor/aab-tool/README.txt +1 -1
  62. package/vendor/aab-tool/bundletool.jar +0 -0
  63. package/vendor/gradle-app/app/build.gradle +20 -13
  64. package/vendor/gradle-app/app/gradle.properties +45 -0
  65. package/vendor/gradle-plugin/build.gradle +7 -6
  66. package/lib/services/webpack/webpack.d.ts +0 -227
@@ -27,7 +27,7 @@ class Logger {
27
27
  this.passwordReplacement = "$1$3*******$2$4";
28
28
  this.defaultLogLevel = this.$config.DEBUG
29
29
  ? constants_1.LoggerLevel.TRACE
30
- : constants_1.LoggerLevel.WARN;
30
+ : constants_1.LoggerLevel.INFO;
31
31
  }
32
32
  initialize(opts) {
33
33
  opts = opts || {};
@@ -110,8 +110,8 @@ class Logger {
110
110
  const opts = {
111
111
  unescape: true,
112
112
  link: color_1.color.red,
113
- strong: color_1.color.green.bold,
114
- firstHeading: color_1.color.blue.bold,
113
+ strong: (str) => color_1.color.styleText(["green", "bold"], str),
114
+ firstHeading: (str) => color_1.color.styleText(["blue", "bold"], str),
115
115
  tableOptions: {
116
116
  chars: { mid: "", "left-mid": "", "mid-mid": "", "right-mid": "" },
117
117
  style: {
@@ -48,7 +48,7 @@ class AndroidDevice {
48
48
  abis: [
49
49
  ...details["cpu.abilist64"].split(","),
50
50
  ...details["cpu.abilist32"].split(","),
51
- ],
51
+ ].filter(s => s.length > 0),
52
52
  version,
53
53
  vendor: details.brand,
54
54
  platform: this.$devicePlatformsConstants.Android,
@@ -37,14 +37,16 @@ class AndroidEmulatorServices {
37
37
  async getRunningEmulatorName(emulatorId) {
38
38
  let result = await this.$androidVirtualDeviceService.getRunningEmulatorName(emulatorId);
39
39
  if (!result) {
40
- result = await this.$androidGenymotionService.getRunningEmulatorName(emulatorId);
40
+ result =
41
+ await this.$androidGenymotionService.getRunningEmulatorName(emulatorId);
41
42
  }
42
43
  return result;
43
44
  }
44
45
  async getRunningEmulatorImageIdentifier(emulatorId) {
45
46
  let result = await this.$androidVirtualDeviceService.getRunningEmulatorImageIdentifier(emulatorId);
46
47
  if (!result) {
47
- result = await this.$androidGenymotionService.getRunningEmulatorImageIdentifier(emulatorId);
48
+ result =
49
+ await this.$androidGenymotionService.getRunningEmulatorImageIdentifier(emulatorId);
48
50
  }
49
51
  return result;
50
52
  }
@@ -116,13 +118,13 @@ class AndroidEmulatorServices {
116
118
  let pathToEmulatorExecutable = null;
117
119
  let startEmulatorArgs = null;
118
120
  if (emulator.vendor === constants_1.AndroidVirtualDevice.AVD_VENDOR_NAME) {
119
- pathToEmulatorExecutable = this.$androidVirtualDeviceService
120
- .pathToEmulatorExecutable;
121
+ pathToEmulatorExecutable =
122
+ this.$androidVirtualDeviceService.pathToEmulatorExecutable;
121
123
  startEmulatorArgs = this.$androidVirtualDeviceService.startEmulatorArgs(emulator.imageIdentifier);
122
124
  }
123
125
  else if (emulator.vendor === constants_1.AndroidVirtualDevice.GENYMOTION_VENDOR_NAME) {
124
- pathToEmulatorExecutable = this.$androidGenymotionService
125
- .pathToEmulatorExecutable;
126
+ pathToEmulatorExecutable =
127
+ this.$androidGenymotionService.pathToEmulatorExecutable;
126
128
  startEmulatorArgs = this.$androidGenymotionService.startEmulatorArgs(emulator.imageIdentifier);
127
129
  }
128
130
  this.$logger.info(`Starting Android emulator with image ${emulator.imageIdentifier}`);
@@ -25,13 +25,12 @@ class DeviceLogProvider extends device_log_provider_base_1.DeviceLogProviderBase
25
25
  };
26
26
  this.deviceColorMap = new Map();
27
27
  this.colorPool = [
28
- "bgBlackBright",
29
- "bgMagentaBright",
28
+ "bgGray",
30
29
  "bgBlueBright",
31
30
  "bgWhiteBright",
32
31
  "bgCyanBright",
33
32
  "bgYellowBright",
34
- "bgGreenBright",
33
+ "bgMagentaBright",
35
34
  ];
36
35
  this.colorPoolIndex = 0;
37
36
  }
@@ -113,7 +112,7 @@ class DeviceLogProvider extends device_log_provider_base_1.DeviceLogProviderBase
113
112
  .join("")
114
113
  .trimEnd();
115
114
  toLog.split("\n").forEach((actualLine) => {
116
- this.printLine(color_1.color[this.getDeviceColor(deviceIdentifier)](" "), this.consoleLevelColor[level](actualLine));
115
+ this.printLine(color_1.color.styleText(this.getDeviceColor(deviceIdentifier), " "), this.consoleLevelColor[level](actualLine));
117
116
  });
118
117
  }
119
118
  }
@@ -6,7 +6,8 @@ const _ = require("lodash");
6
6
  const yok_1 = require("./yok");
7
7
  const constants_1 = require("../constants");
8
8
  class ProjectHelper {
9
- constructor($logger, $fs, $staticConfig, $errors, $options) {
9
+ constructor($injector, $logger, $fs, $staticConfig, $errors, $options) {
10
+ this.$injector = $injector;
10
11
  this.$logger = $logger;
11
12
  this.$fs = $fs;
12
13
  this.$staticConfig = $staticConfig;
@@ -57,7 +58,8 @@ class ProjectHelper {
57
58
  isProjectFileCorrect(projectFilePath) {
58
59
  try {
59
60
  const fileContent = this.$fs.readText(projectFilePath);
60
- return (fileContent.includes(constants_1.SCOPED_TNS_CORE_MODULES) ||
61
+ const packageName = this.getProjectData(path.dirname(projectFilePath)).nsConfig.corePackageName || constants_1.SCOPED_TNS_CORE_MODULES;
62
+ return (fileContent.includes(packageName) ||
61
63
  fileContent.includes(constants_1.TNS_CORE_MODULES_NAME));
62
64
  }
63
65
  catch (err) {
@@ -65,6 +67,17 @@ class ProjectHelper {
65
67
  }
66
68
  return false;
67
69
  }
70
+ getProjectData(projectFilePath) {
71
+ try {
72
+ const projectData = this.$injector.resolve("projectData");
73
+ projectData.initializeProjectData(projectFilePath);
74
+ return projectData;
75
+ }
76
+ catch (error) {
77
+ console.error(error);
78
+ return null;
79
+ }
80
+ }
68
81
  }
69
82
  exports.ProjectHelper = ProjectHelper;
70
83
  yok_1.injector.register("projectHelper", ProjectHelper);
@@ -28,7 +28,7 @@ function verifyNodeVersion() {
28
28
  if (versionsCausingFailure.indexOf(nodeVer) !== -1 ||
29
29
  !semver.valid(nodeVer) ||
30
30
  semver.lt(nodeVer, minimumRequiredVersion)) {
31
- console.error(color_1.color.red.bold(util.format("%sNode.js '%s' is not supported. To be able to work with %s CLI, install any Node.js version in the following range: %s.%s", os.EOL, nodeVer, cliName, supportedVersionsRange, os.EOL)));
31
+ console.error(color_1.color.bold(color_1.color.red(util.format("%sNode.js '%s' is not supported. To be able to work with %s CLI, install any Node.js version in the following range: %s.%s", os.EOL, nodeVer, cliName, supportedVersionsRange, os.EOL))));
32
32
  process.exit(1);
33
33
  }
34
34
  }
package/lib/constants.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.OUTPUTS_DIR = exports.BUILD_DIR = exports.BUILD_XCCONFIG_FILE_NAME = exports.INCLUDE_GRADLE_NAME = exports.INFO_PLIST_FILE_NAME = exports.APP_GRADLE_FILE_NAME = exports.MANIFEST_FILE_NAME = exports.ANDROID_ANALYTICS_DATA_FILE = exports.ANDROID_ANALYTICS_DATA_DIR = exports.FONTS_DIR = exports.ASSETS_DIR = exports.MAIN_DIR = exports.SRC_DIR = exports.AWAIT_NOTIFICATION_TIMEOUT_SECONDS = exports.CODE_SIGN_ENTITLEMENTS = exports.LIB_DIR_NAME = exports.KARMA_CONFIG_NAME = exports.TSCCONFIG_TNS_JSON_NAME = exports.WEBPACK_CONFIG_NAME = exports.HOOKS_DIR_NAME = exports.PLATFORMS_DIR_NAME = exports.XML_FILE_EXTENSION = exports.LIVESYNC_EXCLUDED_FILE_PATTERNS = exports.TEST_RUNNER_NAME = exports.TESTING_FRAMEWORKS = exports.LIVESYNC_EXCLUDED_DIRECTORIES = exports.DEFAULT_APP_IDENTIFIER_PREFIX = exports.NODE_MODULE_CACHE_PATH_KEY_NAME = exports.ANDROID_DEVICE_APP_ROOT_TEMPLATE = exports.PACKAGE_LOCK_JSON_FILE_NAME = exports.PACKAGE_JSON_FILE_NAME = exports.SCOPED_VISIONOS_RUNTIME_NAME = exports.SCOPED_IOS_RUNTIME_NAME = exports.SCOPED_ANDROID_RUNTIME_NAME = exports.TNS_IOS_RUNTIME_NAME = exports.TNS_ANDROID_RUNTIME_NAME = exports.UI_MOBILE_BASE_NAME = exports.TNS_CORE_MODULES_WIDGETS_NAME = exports.WEBPACK_PLUGIN_NAME = exports.SCOPED_TNS_CORE_THEME_NAME = exports.TNS_CORE_THEME_NAME = exports.SCOPED_TNS_CORE_MODULES = exports.TNS_CORE_MODULES_NAME = exports.TNS_MODULES_FOLDER_NAME = exports.NODE_MODULES_FOLDER_NAME = exports.NATIVESCRIPT_KEY_NAME = exports.NS_BASE_PODFILE = exports.PROJECT_FRAMEWORK_FOLDER_NAME = exports.APP_RESOURCES_FOLDER_NAME = exports.APP_FOLDER_NAME = void 0;
4
- exports.BUILD_OUTPUT_EVENT_NAME = exports.ProjectTypes = exports.JsFlavorName = exports.TsFlavorName = exports.SvelteFlavorName = exports.SolidFlavorName = exports.ReactFlavorName = exports.VueFlavorName = exports.NgFlavorName = exports.SVELTE_NAME = exports.SOLID_NAME = exports.REACT_NAME = exports.TYPESCRIPT_NAME = exports.JAVASCRIPT_NAME = exports.ANGULAR_NAME = exports.VUE_NAME = exports.ItunesConnectApplicationTypes = exports.androidAppResourcesFolderName = exports.iOSAppResourcesFolderName = exports.ITMSConstants = exports.ANALYTICS_LOCAL_TEMPLATE_PREFIX = exports.RESERVED_TEMPLATE_NAMES = exports.ReleaseType = exports.SaveOptions = exports.TemplatesV2PackageJsonKeysToRemove = exports.PackageJsonKeysToKeep = exports.LiveSyncTrackActionNames = exports.PackageVersion = exports.MetadataFilteringConstants = exports.IOS_WATCHAPP_EXTENSION_FOLDER = exports.IOS_WATCHAPP_FOLDER = exports.NATIVE_EXTENSION_FOLDER = exports.APPLICATION_RESPONSE_TIMEOUT_SECONDS = exports.NATIVE_SOURCE_FOLDER = exports.TNS_NATIVE_SOURCE_GROUP_NAME = exports.HASHES_FILE_NAME = exports.APKS_EXTENSION_NAME = exports.AAB_EXTENSION_NAME = exports.APK_EXTENSION_NAME = exports.DEPENDENCIES_JSON_NAME = exports.CONFIG_FILE_NAME_TS = exports.CONFIG_FILE_NAME_JS = exports.CONFIG_FILE_NAME_DISPLAY = exports.CONFIG_NS_APP_ENTRY = exports.CONFIG_NS_BUILD_ENTRY = exports.CONFIG_NS_APP_RESOURCES_ENTRY = exports.CONFIG_NS_FILE_NAME = exports.RESOURCES_DIR = exports.BUNDLE_DIR = exports.APK_DIR = void 0;
5
- exports.PackageManagers = exports.EMIT_APPENDER_EVENT_NAME = exports.LoggerConfigData = exports.LoggerLevel = exports.DeviceConnectionType = exports.LoggerAppenders = exports.IOSNativeTargetTypes = exports.IOSNativeTargetProductTypes = exports.IOSDeviceTargets = exports.RunOnDeviceEvents = exports.AndroidAppBundleMessages = exports.AndroidBundleValidatorMessages = exports.BundleValidatorMessages = exports.IosProjectConstants = exports.EXTENSION_PROVISIONING_FILENAME = exports.PODFILE_NAME = exports.PLUGINS_BUILD_DATA_FILENAME = exports.PLUGIN_BUILD_DATA_FILENAME = exports.AddPlaformErrors = exports.PACKAGE_PLACEHOLDER_NAME = exports.AndroidBuildDefaults = exports.Hooks = exports.XcodeDeprecationStringFormat = exports.MacOSDeprecationStringFormat = exports.MacOSVersions = exports.AssetConstants = exports.CLI_RESOURCES_DIR_NAME = exports.NATIVESCRIPT_PROPS_INTERNAL_DELIMITER = exports.AnalyticsEventLabelDelimiter = exports.DebugCommandErrors = exports.WEBPACK_COMPILATION_COMPLETE = exports.PREPARE_READY_EVENT_NAME = exports.INITIAL_SYNC_EVENT_NAME = exports.FILES_CHANGE_EVENT_NAME = exports.CACACHE_DIRECTORY_NAME = exports.ANDROID_APP_BUNDLE_SIGNING_ERROR_MESSAGE = exports.ANDROID_RELEASE_BUILD_ERROR_MESSAGE = exports.POST_INSTALL_COMMAND_NAME = exports.INSPECTOR_CACHE_DIRNAME = exports.VERSION_STRING = exports.DEBUGGER_DETACHED_EVENT_NAME = exports.DEBUGGER_ATTACHED_EVENT_NAME = exports.USER_INTERACTION_NEEDED_EVENT_NAME = exports.CONNECTION_ERROR_EVENT_NAME = void 0;
3
+ exports.BUILD_XCCONFIG_FILE_NAME = exports.INCLUDE_GRADLE_NAME = exports.INFO_PLIST_FILE_NAME = exports.APP_GRADLE_FILE_NAME = exports.MANIFEST_FILE_NAME = exports.ANDROID_ANALYTICS_DATA_FILE = exports.ANDROID_ANALYTICS_DATA_DIR = exports.FONTS_DIR = exports.ASSETS_DIR = exports.MAIN_DIR = exports.SRC_DIR = exports.AWAIT_NOTIFICATION_TIMEOUT_SECONDS = exports.CODE_SIGN_ENTITLEMENTS = exports.LIB_DIR_NAME = exports.KARMA_CONFIG_NAME = exports.TSCCONFIG_TNS_JSON_NAME = exports.RSPACK_CONFIG_NAME = exports.WEBPACK_CONFIG_NAME = exports.HOOKS_DIR_NAME = exports.PLATFORMS_DIR_NAME = exports.XML_FILE_EXTENSION = exports.LIVESYNC_EXCLUDED_FILE_PATTERNS = exports.TEST_RUNNER_NAME = exports.TESTING_FRAMEWORKS = exports.LIVESYNC_EXCLUDED_DIRECTORIES = exports.DEFAULT_APP_IDENTIFIER_PREFIX = exports.NODE_MODULE_CACHE_PATH_KEY_NAME = exports.ANDROID_DEVICE_APP_ROOT_TEMPLATE = exports.PACKAGE_LOCK_JSON_FILE_NAME = exports.PACKAGE_JSON_FILE_NAME = exports.SCOPED_VISIONOS_RUNTIME_NAME = exports.SCOPED_IOS_RUNTIME_NAME = exports.SCOPED_ANDROID_RUNTIME_NAME = exports.TNS_IOS_RUNTIME_NAME = exports.TNS_ANDROID_RUNTIME_NAME = exports.UI_MOBILE_BASE_NAME = exports.TNS_CORE_MODULES_WIDGETS_NAME = exports.RSPACK_PLUGIN_NAME = exports.WEBPACK_PLUGIN_NAME = exports.SCOPED_TNS_CORE_THEME_NAME = exports.TNS_CORE_THEME_NAME = exports.SCOPED_TNS_CORE_MODULES = exports.TNS_CORE_MODULES_NAME = exports.TNS_MODULES_FOLDER_NAME = exports.NODE_MODULES_FOLDER_NAME = exports.NATIVESCRIPT_KEY_NAME = exports.NS_BASE_PODFILE = exports.PROJECT_FRAMEWORK_FOLDER_NAME = exports.APP_RESOURCES_FOLDER_NAME = exports.APP_FOLDER_NAME = void 0;
4
+ exports.JsFlavorName = exports.TsFlavorName = exports.SvelteFlavorName = exports.SolidFlavorName = exports.ReactFlavorName = exports.VueFlavorName = exports.NgFlavorName = exports.SVELTE_NAME = exports.SOLID_NAME = exports.REACT_NAME = exports.TYPESCRIPT_NAME = exports.JAVASCRIPT_NAME = exports.ANGULAR_NAME = exports.VUE_NAME = exports.ItunesConnectApplicationTypes = exports.androidAppResourcesFolderName = exports.iOSAppResourcesFolderName = exports.ITMSConstants = exports.ANALYTICS_LOCAL_TEMPLATE_PREFIX = exports.RESERVED_TEMPLATE_NAMES = exports.ReleaseType = exports.SaveOptions = exports.TemplatesV2PackageJsonKeysToRemove = exports.PackageJsonKeysToKeep = exports.LiveSyncTrackActionNames = exports.PackageVersion = exports.MetadataFilteringConstants = exports.IOS_WATCHAPP_EXTENSION_FOLDER = exports.IOS_WATCHAPP_FOLDER = exports.NATIVE_EXTENSION_FOLDER = exports.APPLICATION_RESPONSE_TIMEOUT_SECONDS = exports.NATIVE_SOURCE_FOLDER = exports.TNS_NATIVE_SOURCE_GROUP_NAME = exports.HASHES_FILE_NAME = exports.APKS_EXTENSION_NAME = exports.AAB_EXTENSION_NAME = exports.APK_EXTENSION_NAME = exports.DEPENDENCIES_JSON_NAME = exports.CONFIG_FILE_NAME_TS = exports.CONFIG_FILE_NAME_JS = exports.CONFIG_FILE_NAME_DISPLAY = exports.CONFIG_NS_APP_ENTRY = exports.CONFIG_NS_BUILD_ENTRY = exports.CONFIG_NS_APP_RESOURCES_ENTRY = exports.CONFIG_NS_FILE_NAME = exports.RESOURCES_DIR = exports.BUNDLE_DIR = exports.APK_DIR = exports.OUTPUTS_DIR = exports.BUILD_DIR = void 0;
5
+ exports.PackageManagers = exports.EMIT_APPENDER_EVENT_NAME = exports.LoggerConfigData = exports.LoggerLevel = exports.DeviceConnectionType = exports.LoggerAppenders = exports.IOSNativeTargetTypes = exports.IOSNativeTargetProductTypes = exports.IOSDeviceTargets = exports.RunOnDeviceEvents = exports.AndroidAppBundleMessages = exports.AndroidBundleValidatorMessages = exports.BundleValidatorMessages = exports.IosProjectConstants = exports.EXTENSION_PROVISIONING_FILENAME = exports.PODFILE_NAME = exports.PLUGINS_BUILD_DATA_FILENAME = exports.PLUGIN_BUILD_DATA_FILENAME = exports.AddPlaformErrors = exports.PACKAGE_PLACEHOLDER_NAME = exports.AndroidBuildDefaults = exports.Hooks = exports.XcodeDeprecationStringFormat = exports.MacOSDeprecationStringFormat = exports.MacOSVersions = exports.AssetConstants = exports.CLI_RESOURCES_DIR_NAME = exports.NATIVESCRIPT_PROPS_INTERNAL_DELIMITER = exports.AnalyticsEventLabelDelimiter = exports.DebugCommandErrors = exports.BUNDLER_COMPILATION_COMPLETE = exports.PREPARE_READY_EVENT_NAME = exports.INITIAL_SYNC_EVENT_NAME = exports.FILES_CHANGE_EVENT_NAME = exports.CACACHE_DIRECTORY_NAME = exports.ANDROID_APP_BUNDLE_SIGNING_ERROR_MESSAGE = exports.ANDROID_RELEASE_BUILD_ERROR_MESSAGE = exports.POST_INSTALL_COMMAND_NAME = exports.INSPECTOR_CACHE_DIRNAME = exports.VERSION_STRING = exports.DEBUGGER_DETACHED_EVENT_NAME = exports.DEBUGGER_ATTACHED_EVENT_NAME = exports.USER_INTERACTION_NEEDED_EVENT_NAME = exports.CONNECTION_ERROR_EVENT_NAME = exports.BUILD_OUTPUT_EVENT_NAME = exports.ProjectTypes = void 0;
6
6
  const path_1 = require("path");
7
7
  exports.APP_FOLDER_NAME = "app";
8
8
  exports.APP_RESOURCES_FOLDER_NAME = "App_Resources";
@@ -16,6 +16,7 @@ exports.SCOPED_TNS_CORE_MODULES = "@nativescript/core";
16
16
  exports.TNS_CORE_THEME_NAME = "nativescript-theme-core";
17
17
  exports.SCOPED_TNS_CORE_THEME_NAME = "@nativescript/theme";
18
18
  exports.WEBPACK_PLUGIN_NAME = "@nativescript/webpack";
19
+ exports.RSPACK_PLUGIN_NAME = "@nativescript/rspack";
19
20
  exports.TNS_CORE_MODULES_WIDGETS_NAME = "tns-core-modules-widgets";
20
21
  exports.UI_MOBILE_BASE_NAME = "@nativescript/ui-mobile-base";
21
22
  exports.TNS_ANDROID_RUNTIME_NAME = "tns-android";
@@ -36,6 +37,7 @@ exports.XML_FILE_EXTENSION = ".xml";
36
37
  exports.PLATFORMS_DIR_NAME = "platforms";
37
38
  exports.HOOKS_DIR_NAME = "hooks";
38
39
  exports.WEBPACK_CONFIG_NAME = "webpack.config.js";
40
+ exports.RSPACK_CONFIG_NAME = "rspack.config.js";
39
41
  exports.TSCCONFIG_TNS_JSON_NAME = "tsconfig.tns.json";
40
42
  exports.KARMA_CONFIG_NAME = "karma.conf.js";
41
43
  exports.LIB_DIR_NAME = "lib";
@@ -215,7 +217,7 @@ exports.CACACHE_DIRECTORY_NAME = "_cacache";
215
217
  exports.FILES_CHANGE_EVENT_NAME = "filesChangeEvent";
216
218
  exports.INITIAL_SYNC_EVENT_NAME = "initialSyncEvent";
217
219
  exports.PREPARE_READY_EVENT_NAME = "prepareReadyEvent";
218
- exports.WEBPACK_COMPILATION_COMPLETE = "webpackCompilationComplete";
220
+ exports.BUNDLER_COMPILATION_COMPLETE = "bundlerCompilationComplete";
219
221
  class DebugCommandErrors {
220
222
  }
221
223
  exports.DebugCommandErrors = DebugCommandErrors;
@@ -309,6 +311,7 @@ var IOSNativeTargetTypes;
309
311
  IOSNativeTargetTypes["watchApp"] = "watch_app";
310
312
  IOSNativeTargetTypes["watchExtension"] = "watch_extension";
311
313
  IOSNativeTargetTypes["appExtension"] = "app_extension";
314
+ IOSNativeTargetTypes["application"] = "application";
312
315
  })(IOSNativeTargetTypes || (exports.IOSNativeTargetTypes = IOSNativeTargetTypes = {}));
313
316
  const pathToLoggerAppendersDir = (0, path_1.join)(__dirname, "common", "logger", "appenders");
314
317
  exports.LoggerAppenders = {
@@ -10,7 +10,8 @@ const simple_git_1 = require("simple-git");
10
10
  const update_controller_base_1 = require("./update-controller-base");
11
11
  const helpers_1 = require("../common/helpers");
12
12
  const yok_1 = require("../common/yok");
13
- const temp = require("temp");
13
+ const fs = require("fs");
14
+ const os_1 = require("os");
14
15
  const color_1 = require("../color");
15
16
  class MigrateController extends update_controller_base_1.UpdateControllerBase {
16
17
  constructor($fs, $platformCommandHelper, $platformsDataService, $packageInstallationManager, $packageManager, $pacoteService, $logger, $errors, $pluginsService, $projectDataService, $projectConfigService, $projectData, $options, $resources, $injector, $settingsService, $staticConfig, $terminalSpinnerService, $projectCleanupService, $projectBackupService, $childProcess) {
@@ -711,9 +712,7 @@ class MigrateController extends update_controller_base_1.UpdateControllerBase {
711
712
  if (polyfillsPath) {
712
713
  return "./" + path.relative(projectDir, polyfillsPath);
713
714
  }
714
- const tempDir = temp.mkdirSync({
715
- prefix: "migrate-angular-polyfills",
716
- });
715
+ const tempDir = fs.mkdtempSync(path.join((0, os_1.tmpdir)(), "migrate-angular-polyfills-"));
717
716
  await this.$pacoteService.extractPackage(constants.RESERVED_TEMPLATE_NAMES["angular"], tempDir);
718
717
  this.$fs.copyFile(path.resolve(tempDir, "src/polyfills.ts"), possiblePaths[0]);
719
718
  this.$fs.deleteDirectory(tempDir);
@@ -17,7 +17,7 @@ const yok_1 = require("../common/yok");
17
17
  const constants_1 = require("../constants");
18
18
  const resolve_package_path_1 = require("@rigor789/resolve-package-path");
19
19
  class PrepareController extends events_1.EventEmitter {
20
- constructor($platformController, $hooksService, $fs, $logger, $options, $mobileHelper, $nodeModulesDependenciesBuilder, $platformsDataService, $pluginsService, $prepareNativePlatformService, $projectChangesService, $projectDataService, $webpackCompilerService, $watchIgnoreListService, $analyticsService, $markingModeService, $projectConfigService, $projectService) {
20
+ constructor($platformController, $hooksService, $fs, $logger, $options, $mobileHelper, $nodeModulesDependenciesBuilder, $platformsDataService, $pluginsService, $prepareNativePlatformService, $projectChangesService, $projectDataService, $bundlerCompilerService, $watchIgnoreListService, $analyticsService, $markingModeService, $projectConfigService, $projectService) {
21
21
  super();
22
22
  this.$platformController = $platformController;
23
23
  this.$hooksService = $hooksService;
@@ -31,7 +31,7 @@ class PrepareController extends events_1.EventEmitter {
31
31
  this.$prepareNativePlatformService = $prepareNativePlatformService;
32
32
  this.$projectChangesService = $projectChangesService;
33
33
  this.$projectDataService = $projectDataService;
34
- this.$webpackCompilerService = $webpackCompilerService;
34
+ this.$bundlerCompilerService = $bundlerCompilerService;
35
35
  this.$watchIgnoreListService = $watchIgnoreListService;
36
36
  this.$analyticsService = $analyticsService;
37
37
  this.$markingModeService = $markingModeService;
@@ -67,8 +67,8 @@ class PrepareController extends events_1.EventEmitter {
67
67
  this.watchersData[projectDir] &&
68
68
  this.watchersData[projectDir][platformLowerCase] &&
69
69
  this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess) {
70
- await this.$webpackCompilerService.stopWebpackCompiler(platformLowerCase);
71
- this.$webpackCompilerService.removeListener(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
70
+ await this.$bundlerCompilerService.stopBundlerCompiler(platformLowerCase);
71
+ this.$bundlerCompilerService.removeListener(constants_1.BUNDLER_COMPILATION_COMPLETE, this.webpackCompilerHandler);
72
72
  this.watchersData[projectDir][platformLowerCase].hasWebpackCompilerProcess = false;
73
73
  }
74
74
  }
@@ -90,7 +90,7 @@ class PrepareController extends events_1.EventEmitter {
90
90
  result = await this.startWatchersWithPrepare(platformData, projectData, prepareData);
91
91
  }
92
92
  else {
93
- await this.$webpackCompilerService.compileWithoutWatch(platformData, projectData, prepareData);
93
+ await this.$bundlerCompilerService.compileWithoutWatch(platformData, projectData, prepareData);
94
94
  const hasNativeChanges = await this.$prepareNativePlatformService.prepareNativePlatform(platformData, projectData, prepareData);
95
95
  result = {
96
96
  hasNativeChanges,
@@ -155,9 +155,9 @@ class PrepareController extends events_1.EventEmitter {
155
155
  }
156
156
  };
157
157
  this.webpackCompilerHandler = handler.bind(this);
158
- this.$webpackCompilerService.on(constants_1.WEBPACK_COMPILATION_COMPLETE, this.webpackCompilerHandler);
158
+ this.$bundlerCompilerService.on(constants_1.BUNDLER_COMPILATION_COMPLETE, this.webpackCompilerHandler);
159
159
  this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess = true;
160
- await this.$webpackCompilerService.compileWithWatch(platformData, projectData, prepareData);
160
+ await this.$bundlerCompilerService.compileWithWatch(platformData, projectData, prepareData);
161
161
  }
162
162
  }
163
163
  async startNativeWatcherWithPrepare(platformData, projectData, prepareData) {
@@ -334,7 +334,7 @@ class PrepareController extends events_1.EventEmitter {
334
334
  if (this.pausedFileWatch) {
335
335
  for (const watcher of watchers) {
336
336
  for (const platform in watcher) {
337
- await this.$webpackCompilerService.stopWebpackCompiler(platform);
337
+ await this.$bundlerCompilerService.stopBundlerCompiler(platform);
338
338
  watcher[platform].hasWebpackCompilerProcess = false;
339
339
  }
340
340
  }
@@ -344,7 +344,7 @@ class PrepareController extends events_1.EventEmitter {
344
344
  for (const platform in watcher) {
345
345
  const args = watcher[platform].prepareArguments;
346
346
  watcher[platform].hasWebpackCompilerProcess = true;
347
- await this.$webpackCompilerService.compileWithWatch(args.platformData, args.projectData, args.prepareData);
347
+ await this.$bundlerCompilerService.compileWithWatch(args.platformData, args.projectData, args.prepareData);
348
348
  }
349
349
  }
350
350
  }
@@ -60,7 +60,7 @@ class RunController extends events_1.EventEmitter {
60
60
  if (data.hasNativeChanges) {
61
61
  const platformData = this.$platformsDataService.getPlatformData(data.platform, projectData);
62
62
  const prepareData = this.$prepareDataService.getPrepareData(liveSyncInfo.projectDir, data.platform, { ...liveSyncInfo, watch: !liveSyncInfo.skipWatcher });
63
- const changesInfo = await this.$projectChangesService.checkForChanges(platformData, projectData, prepareData, data);
63
+ const changesInfo = await this.$projectChangesService.checkForChanges(platformData, projectData, prepareData);
64
64
  if (changesInfo.hasChanges) {
65
65
  await this.syncChangedDataOnDevices(data, projectData, platformData, liveSyncInfo);
66
66
  }
@@ -594,8 +594,13 @@ interface IIOSOptions extends IEmbedOptions {}
594
594
 
595
595
  interface ITypingsOptions {
596
596
  jar: string;
597
+ dtsGeneratorPath: string;
597
598
  aar: string;
598
599
  filter: string;
600
+ dtsGeneratorPath: string;
601
+ lookupPath: string;
602
+ super: string;
603
+ skipDeclarations: boolean;
599
604
  }
600
605
 
601
606
  interface IOptions
@@ -0,0 +1 @@
1
+ declare module "@nativescript/hook";
@@ -8,16 +8,27 @@ declare module "nativescript-dev-xcode" {
8
8
  }
9
9
 
10
10
  class project {
11
+ hash: any;
12
+ filepath: string;
11
13
  constructor(filename: string);
12
14
 
13
15
  parse(callback: () => void): void;
14
16
  parseSync(): void;
15
17
 
18
+ generateUuid(): string;
19
+
16
20
  writeSync(options: any): string;
17
21
 
18
22
  addFramework(filepath: string, options?: Options): void;
19
23
  removeFramework(filePath: string, options?: Options): void;
20
24
 
25
+
26
+ getProductFile(watchApptarget: target): any;
27
+ addToPbxFrameworksBuildPhase(file);
28
+ addToPbxCopyfilesBuildPhase(file, comment: string, targetid: string);
29
+ pbxFrameworksBuildPhaseObj(targetid: string): any;
30
+ pbxBuildFileSection(): {[k: string] : any};
31
+
21
32
  addPbxGroup(
22
33
  filePathsArray: any[],
23
34
  name: string,
@@ -27,17 +38,30 @@ declare module "nativescript-dev-xcode" {
27
38
 
28
39
  removePbxGroup(groupName: string, path: string): void;
29
40
 
41
+ addTargetDependency(target: string, dependencyTargets: string[]);
42
+
43
+ findTargetKey(name: string);
44
+ pbxTargetByName(name: string): target;
45
+ pbxNativeTargetSection(): {[key: string]: any};
46
+
30
47
  addToHeaderSearchPaths(options?: Options): void;
31
48
  removeFromHeaderSearchPaths(options?: Options): void;
32
49
  updateBuildProperty(key: string, value: any): void;
33
50
 
34
51
  pbxXCBuildConfigurationSection(): any;
35
52
 
53
+ buildPhaseObject(
54
+ buildPhaseType: string,
55
+ comment: string,
56
+ target: tstring
57
+ )
58
+
36
59
  addTarget(
37
60
  targetName: string,
38
61
  targetType: string,
39
62
  targetPath?: string,
40
- parentTarget?: string
63
+ parentTarget?: string,
64
+ productTargetType?: string
41
65
  ): target;
42
66
  addBuildPhase(
43
67
  filePathsArray: string[],
@@ -121,6 +121,7 @@ export interface IOSLocalSPMPackage extends IOSSPMPackageBase {
121
121
  }
122
122
 
123
123
  export type IOSSPMPackage = IOSRemoteSPMPackage | IOSLocalSPMPackage;
124
+ export type BundlerType = "webpack" | "rspack" | "vite";
124
125
 
125
126
  interface INsConfigIOS extends INsConfigPlaform {
126
127
  discardUncaughtJsExceptions?: boolean;
@@ -194,12 +195,15 @@ interface INsConfig {
194
195
  overridePods?: string;
195
196
  webpackPackageName?: string;
196
197
  webpackConfigPath?: string;
198
+ bundlerConfigPath?: string;
199
+ bundler?: BundlerType;
197
200
  ios?: INsConfigIOS;
198
201
  android?: INsConfigAndroid;
199
202
  visionos?: INSConfigVisionOS;
200
203
  ignoredNativeDependencies?: string[];
201
204
  hooks?: INsConfigHooks[];
202
205
  projectName?: string;
206
+ corePackageName?: string;
203
207
  }
204
208
 
205
209
  interface IProjectData extends ICreateProjectData {
@@ -227,13 +231,28 @@ interface IProjectData extends ICreateProjectData {
227
231
  * Value is true when project has nativescript.config and it has `shared: true` in it.
228
232
  */
229
233
  isShared: boolean;
230
-
231
234
  /**
235
+ * Specifies the bundler used to build the application.
236
+ *
237
+ * - `"webpack"`: Uses Webpack for traditional bundling.
238
+ * - `"rspack"`: Uses Rspack for fast bundling.
239
+ * - `"vite"`: Uses Vite for fast bundling.
240
+ *
241
+ * @default "webpack"
242
+ */
243
+ bundler: BundlerType;
244
+ /**
245
+ * @deprecated Use bundlerConfigPath
232
246
  * Defines the path to the configuration file passed to webpack process.
233
247
  * By default this is the webpack.config.js at the root of the application.
234
248
  * The value can be changed by setting `webpackConfigPath` in nativescript.config.
235
249
  */
236
250
  webpackConfigPath: string;
251
+ /**
252
+ * Defines the path to the bundler configuration file passed to the compiler.
253
+ * The value can be changed by setting `bundlerConfigPath` in nativescript.config.
254
+ */
255
+ bundlerConfigPath: string;
237
256
  projectName: string;
238
257
 
239
258
  /**
@@ -868,6 +887,38 @@ interface IRemoveExtensionsOptions {
868
887
 
869
888
  interface IRemoveWatchAppOptions extends IRemoveExtensionsOptions {}
870
889
 
890
+ interface IWatchAppJSONConfigModule {
891
+ name?: string;
892
+ path: string;
893
+ targetType?: string;
894
+ embed?: boolean;
895
+ frameworks?: Array<string | Record<string, string>>;
896
+ dependencies?: string[];
897
+ headerSearchPaths?: string[];
898
+ resources?: string[];
899
+ src?: string[];
900
+ linkerFlags?: string[];
901
+ buildConfigurationProperties?: Record<string, string>;
902
+ SPMPackages?: Array<IOSSPMPackage | string>;
903
+ }
904
+ interface IWatchAppJSONConfig {
905
+ targetType?: string;
906
+ forceAddEmbedWatchContent?: boolean;
907
+ sharedModulesBuildConfigurationProperties?: Record<string, string>;
908
+ basedir?: string;
909
+ infoPlistPath?: string;
910
+ xcprivacyPath?: string;
911
+ importSourcesFromMainFolder?: boolean;
912
+ importResourcesFromMainFolder?: boolean;
913
+ resources?: string[];
914
+ src?: string[];
915
+ resourcesExclude?: string[];
916
+ srcExclude?: string[];
917
+ modules: IWatchAppConfigModule[];
918
+ SPMPackages?: Array<IOSSPMPackage>;
919
+ }
920
+
921
+
871
922
  interface IRubyFunction {
872
923
  functionName: string;
873
924
  functionParameters?: string;
@@ -1,9 +1,13 @@
1
- import { AffixOptions } from "temp";
1
+ export type AffixOptions = {
2
+ prefix?: string;
3
+ suffix?: string;
4
+ dir?: string;
5
+ };
2
6
 
3
7
  /**
4
8
  * Declares wrapped functions of temp module
5
9
  */
6
- interface ITempService {
10
+ export interface ITempService {
7
11
  mkdirSync(affixes: string | AffixOptions): Promise<string>;
8
12
  path(options: string | AffixOptions): Promise<string>;
9
13
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const color_1 = require("../color");
4
+ const node_util_1 = require("node:util");
4
5
  const yok_1 = require("../common/yok");
5
6
  class KeyCommandHelper {
6
7
  constructor() {
@@ -33,7 +34,7 @@ class KeyCommandHelper {
33
34
  }
34
35
  if (keyCommand.key !== "\u0003") {
35
36
  const line = ` ${color_1.color.dim("→")} ${color_1.color.bold(keyCommand.key)} — ${keyCommand.description}`;
36
- const lineLength = (0, color_1.stripColors)(line).length - 1;
37
+ const lineLength = (0, node_util_1.stripVTControlCharacters)(line).length - 1;
37
38
  console.log(color_1.color.dim(` ┌${"─".repeat(lineLength)}┐`));
38
39
  console.log(line + color_1.color.dim(" │"));
39
40
  console.log(color_1.color.dim(` └${"─".repeat(lineLength)}┘`));
@@ -5,6 +5,34 @@ require("./bootstrap");
5
5
  const shelljs = require("shelljs");
6
6
  shelljs.config.silent = true;
7
7
  shelljs.config.fatal = true;
8
+ if (process.platform === "win32") {
9
+ const realcp = shelljs.cp;
10
+ shelljs.cp = (...args) => {
11
+ if (args.length === 3) {
12
+ args[1] = replaceDashes(args[1]);
13
+ }
14
+ else {
15
+ args[0] = replaceDashes(args[0]);
16
+ }
17
+ if (args.length == 2) {
18
+ realcp(args[0], args[1]);
19
+ }
20
+ else {
21
+ realcp(args[0], args[1], args[2]);
22
+ }
23
+ };
24
+ function replaceDashes(values) {
25
+ if (Array.isArray(values)) {
26
+ for (let i = 0; i < values.length; ++i) {
27
+ values[i] = replaceDashes(values[i]);
28
+ }
29
+ return values;
30
+ }
31
+ else {
32
+ return values.replace(/\\/g, "/");
33
+ }
34
+ }
35
+ }
8
36
  const errors_1 = require("./common/errors");
9
37
  const helpers_1 = require("./common/helpers");
10
38
  const yok_1 = require("./common/yok");
package/lib/options.js CHANGED
@@ -220,7 +220,11 @@ class Options {
220
220
  appleSessionBase64: { type: "string", hasSensitiveValue: true },
221
221
  jar: { type: "string", hasSensitiveValue: true },
222
222
  aar: { type: "string", hasSensitiveValue: true },
223
+ dtsGeneratorPath: { type: "string", hasSensitiveValue: true },
223
224
  filter: { type: "string", hasSensitiveValue: true },
225
+ lookupPath: { type: "string", hasSensitiveValue: true },
226
+ super: { type: "string", hasSensitiveValue: true },
227
+ skipDeclarations: { type: "boolean", hasSensitiveValue: false },
224
228
  git: {
225
229
  type: "boolean",
226
230
  hasSensitiveValue: false,
@@ -56,6 +56,7 @@ class ProjectData {
56
56
  this.errorInvalidProject(projectDir);
57
57
  }
58
58
  initializeProjectDataFromContent(packageJsonContent, projectDir) {
59
+ var _a, _b;
59
60
  projectDir = projectDir || this.$projectHelper.projectDir || "";
60
61
  this.projectDir = projectDir;
61
62
  const projectFilePath = this.getProjectFilePath(projectDir);
@@ -92,10 +93,15 @@ class ProjectData {
92
93
  this.buildXcconfigPath = path.join(this.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants.BUILD_XCCONFIG_FILE_NAME);
93
94
  this.podfilePath = path.join(this.appResourcesDirectoryPath, this.$devicePlatformsConstants.iOS, constants.PODFILE_NAME);
94
95
  this.isShared = !!(this.nsConfig && this.nsConfig.shared);
95
- this.webpackConfigPath =
96
- this.nsConfig && this.nsConfig.webpackConfigPath
97
- ? path.resolve(this.projectDir, this.nsConfig.webpackConfigPath)
98
- : path.join(this.projectDir, "webpack.config.js");
96
+ const webpackConfigPath = this.nsConfig && this.nsConfig.webpackConfigPath
97
+ ? path.resolve(this.projectDir, this.nsConfig.webpackConfigPath)
98
+ : path.join(this.projectDir, "webpack.config.js");
99
+ this.webpackConfigPath = webpackConfigPath;
100
+ this.bundlerConfigPath =
101
+ this.nsConfig && this.nsConfig.bundlerConfigPath
102
+ ? path.resolve(this.projectDir, this.nsConfig.bundlerConfigPath)
103
+ : webpackConfigPath;
104
+ this.bundler = (_b = (_a = this === null || this === void 0 ? void 0 : this.nsConfig) === null || _a === void 0 ? void 0 : _a.bundler) !== null && _b !== void 0 ? _b : "webpack";
99
105
  return;
100
106
  }
101
107
  this.errorInvalidProject(projectDir);
@@ -224,7 +230,7 @@ ProjectData.PROJECT_TYPES = [
224
230
  },
225
231
  {
226
232
  type: constants.ProjectTypes.SvelteFlavorName,
227
- requiredDependencies: ["svelte-native"],
233
+ requiredDependencies: ["@nativescript-community/svelte-native"],
228
234
  },
229
235
  {
230
236
  type: constants.ProjectTypes.TsFlavorName,
@@ -44,7 +44,7 @@ process.on("message", async (data) => {
44
44
  analyticsLoggingService.logData({
45
45
  message: `analytics-broker-process will send ${"ProcessFinishedTasks"} message`,
46
46
  });
47
- process.send("ProcessFinishedTasks", () => {
47
+ process.send("ProcessFinishedTasks", null, null, () => {
48
48
  analyticsLoggingService.logData({
49
49
  message: `analytics-broker-process sent ${"ProcessFinishedTasks"} message and will exit gracefully now`,
50
50
  });
@@ -29,7 +29,8 @@ class AnalyticsSettingsService {
29
29
  return this.getSettingValueOrDefault(this.$staticConfig.ANALYTICS_INSTALLATION_ID_SETTING_NAME);
30
30
  }
31
31
  getClientName() {
32
- return "" + color_1.color.cyan.bold(this.$staticConfig.CLIENT_NAME_ALIAS);
32
+ return ("" +
33
+ color_1.color.styleText(["cyan", "bold"], this.$staticConfig.CLIENT_NAME_ALIAS));
33
34
  }
34
35
  async getUserSessionsCount(projectName) {
35
36
  const sessionsCountForProject = await this.$userSettingsService.getSettingValue(this.getSessionsProjectKey(projectName));
@@ -4,6 +4,7 @@ exports.GradleBuildArgsService = void 0;
4
4
  const path = require("path");
5
5
  const constants_1 = require("../../common/constants");
6
6
  const yok_1 = require("../../common/yok");
7
+ const constants_2 = require("../../constants");
7
8
  class GradleBuildArgsService {
8
9
  constructor($androidToolsInfo, $hooksService, $analyticsService, $staticConfig, $projectData, $logger) {
9
10
  this.$androidToolsInfo = $androidToolsInfo;
@@ -45,17 +46,20 @@ class GradleBuildArgsService {
45
46
  args.push(...additionalArgs);
46
47
  }
47
48
  if (buildData.release) {
48
- args.push("-Prelease", `-PksPath=${path.resolve(buildData.keyStorePath)}`, `-Palias=${buildData.keyStoreAlias}`, `-Ppassword=${buildData.keyStoreAliasPassword}`, `-PksPassword=${buildData.keyStorePassword}`);
49
+ args.push("-Prelease");
50
+ }
51
+ if (buildData.release || buildData.keyStorePath) {
52
+ args.push(`-PksPath=${path.resolve(buildData.keyStorePath)}`, `-Palias=${buildData.keyStoreAlias}`, `-Ppassword=${buildData.keyStoreAliasPassword}`, `-PksPassword=${buildData.keyStorePassword}`);
49
53
  }
50
54
  return args;
51
55
  }
52
56
  getBuildLoggingArgs() {
53
57
  const args = [];
54
58
  const logLevel = this.$logger.getLevel();
55
- if (logLevel === "TRACE") {
59
+ if (logLevel === constants_2.LoggerLevel.TRACE) {
56
60
  args.push("--debug");
57
61
  }
58
- else if (logLevel === "INFO") {
62
+ else if (logLevel === constants_2.LoggerLevel.DEBUG) {
59
63
  args.push("--info");
60
64
  }
61
65
  return args;