@akylas/nativescript-cli 8.9.4 → 8.10.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.
- package/config/test-deps-versions-generated.json +10 -10
- package/docs/build-jekyll-md.sh +1 -1
- package/docs/man_pages/config/config-get.md +36 -0
- package/docs/man_pages/config/config-set.md +40 -0
- package/docs/man_pages/config/config.md +39 -0
- package/docs/man_pages/project/hooks/hooks.md +35 -0
- package/docs/man_pages/start.md +1 -0
- package/lib/.d.ts +8 -3
- package/lib/bootstrap.js +3 -1
- package/lib/color.js +38 -7
- package/lib/commands/build.js +18 -2
- package/lib/commands/clean.js +1 -2
- package/lib/commands/config.js +1 -1
- package/lib/commands/embedding/embed.js +1 -1
- package/lib/commands/hooks/common.js +79 -0
- package/lib/commands/hooks/hooks-lock.js +100 -0
- package/lib/commands/hooks/hooks.js +71 -0
- package/lib/commands/post-install.js +2 -2
- package/lib/commands/typings.js +29 -18
- package/lib/common/definitions/extensibility.d.ts +2 -2
- package/lib/common/definitions/mobile.d.ts +72 -72
- package/lib/common/header.js +3 -3
- package/lib/common/logger/layouts/cli-layout.js +1 -1
- package/lib/common/logger/logger.js +3 -3
- package/lib/common/mobile/android/android-device.js +1 -1
- package/lib/common/mobile/android/android-emulator-services.js +8 -6
- package/lib/common/mobile/device-log-provider.js +3 -4
- package/lib/common/project-helper.js +15 -2
- package/lib/common/verify-node-version.js +1 -1
- package/lib/constants.js +7 -4
- package/lib/controllers/migrate-controller.js +3 -4
- package/lib/controllers/prepare-controller.js +9 -9
- package/lib/controllers/run-controller.js +1 -1
- package/lib/declarations.d.ts +5 -0
- package/lib/definitions/hooks.d.ts +1 -0
- package/lib/definitions/nativescript-dev-xcode.d.ts +25 -1
- package/lib/definitions/project.d.ts +52 -1
- package/lib/definitions/temp-service.d.ts +6 -2
- package/lib/helpers/key-command-helper.js +2 -1
- package/lib/nativescript-cli.js +28 -0
- package/lib/options.js +4 -0
- package/lib/project-data.js +10 -4
- package/lib/services/analytics/analytics-broker-process.js +1 -1
- package/lib/services/analytics-settings-service.js +2 -1
- package/lib/services/android/gradle-build-args-service.js +7 -3
- package/lib/services/android/gradle-build-service.js +4 -1
- package/lib/services/android-project-service.js +12 -10
- package/lib/services/{webpack/webpack-compiler-service.js → bundler/bundler-compiler-service.js} +254 -85
- package/lib/services/bundler/bundler.js +2 -0
- package/lib/services/extensibility-service.js +1 -1
- package/lib/services/ios/spm-service.js +13 -2
- package/lib/services/ios/xcodebuild-args-service.js +7 -5
- package/lib/services/ios-project-service.js +0 -1
- package/lib/services/ios-watch-app-service.js +540 -16
- package/lib/services/livesync/android-livesync-tool.js +3 -1
- package/lib/services/plugins-service.js +1 -0
- package/lib/services/project-changes-service.js +1 -1
- package/lib/services/temp-service.js +16 -4
- package/lib/services/versions-service.js +2 -1
- package/package.json +35 -36
- package/vendor/aab-tool/README.txt +1 -1
- package/vendor/aab-tool/bundletool.jar +0 -0
- package/vendor/gradle-app/app/build.gradle +20 -13
- package/vendor/gradle-app/app/gradle.properties +45 -0
- package/vendor/gradle-plugin/build.gradle +7 -6
- 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.
|
|
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
|
|
114
|
-
firstHeading: color_1.color.blue
|
|
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: {
|
|
@@ -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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
"
|
|
29
|
-
"bgMagentaBright",
|
|
28
|
+
"bgGray",
|
|
30
29
|
"bgBlueBright",
|
|
31
30
|
"bgWhiteBright",
|
|
32
31
|
"bgCyanBright",
|
|
33
32
|
"bgYellowBright",
|
|
34
|
-
"
|
|
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
|
|
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
|
-
|
|
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.
|
|
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.
|
|
4
|
-
exports.
|
|
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.
|
|
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.
|
|
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
|
|
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 =
|
|
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, $
|
|
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.$
|
|
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.$
|
|
71
|
-
this.$
|
|
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.$
|
|
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.$
|
|
158
|
+
this.$bundlerCompilerService.on(constants_1.BUNDLER_COMPILATION_COMPLETE, this.webpackCompilerHandler);
|
|
159
159
|
this.watchersData[projectData.projectDir][platformData.platformNameLowerCase].hasWebpackCompilerProcess = true;
|
|
160
|
-
await this.$
|
|
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.$
|
|
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.$
|
|
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
|
|
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
|
}
|
package/lib/declarations.d.ts
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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)}┘`));
|
package/lib/nativescript-cli.js
CHANGED
|
@@ -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,
|
package/lib/project-data.js
CHANGED
|
@@ -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.
|
|
97
|
-
|
|
98
|
-
|
|
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);
|
|
@@ -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 "" +
|
|
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"
|
|
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 ===
|
|
59
|
+
if (logLevel === constants_2.LoggerLevel.TRACE) {
|
|
56
60
|
args.push("--debug");
|
|
57
61
|
}
|
|
58
|
-
else if (logLevel ===
|
|
62
|
+
else if (logLevel === constants_2.LoggerLevel.DEBUG) {
|
|
59
63
|
args.push("--info");
|
|
60
64
|
}
|
|
61
65
|
return args;
|