@akylas/nativescript-cli 8.8.2 → 8.8.4
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/lib/android-tools-info.js +9 -20
- package/lib/base-package-manager.js +47 -64
- package/lib/bun-package-manager.js +65 -88
- package/lib/color.js +2 -2
- package/lib/commands/add-platform.js +14 -30
- package/lib/commands/apple-login.js +18 -29
- package/lib/commands/appstore-list.js +34 -45
- package/lib/commands/appstore-upload.js +55 -68
- package/lib/commands/build.js +57 -86
- package/lib/commands/clean.js +161 -176
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +51 -70
- package/lib/commands/create-project.js +210 -229
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +33 -52
- package/lib/commands/extensibility/install-extension.js +5 -16
- package/lib/commands/extensibility/list-extensions.js +13 -24
- package/lib/commands/extensibility/uninstall-extension.js +4 -15
- package/lib/commands/fonts.js +30 -41
- package/lib/commands/generate-assets.js +13 -28
- package/lib/commands/generate-help.js +2 -13
- package/lib/commands/generate.js +17 -26
- package/lib/commands/info.js +2 -13
- package/lib/commands/install.js +34 -49
- package/lib/commands/list-platforms.js +14 -25
- package/lib/commands/migrate.js +15 -26
- package/lib/commands/native-add.js +23 -46
- package/lib/commands/platform-clean.js +19 -32
- package/lib/commands/plugin/add-plugin.js +12 -25
- package/lib/commands/plugin/build-plugin.js +34 -39
- package/lib/commands/plugin/create-plugin.js +110 -133
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +20 -33
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +20 -33
- package/lib/commands/prepare.js +19 -35
- package/lib/commands/preview.js +49 -62
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +13 -26
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +123 -134
- package/lib/commands/test.js +66 -89
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +22 -35
- package/lib/commands/update.js +30 -43
- package/lib/common/child-process.js +53 -72
- package/lib/common/codeGeneration/code-entity.js +1 -1
- package/lib/common/codeGeneration/code-printer.js +1 -1
- package/lib/common/command-params.js +7 -18
- package/lib/common/commands/analytics.js +27 -40
- package/lib/common/commands/autocompletion.js +39 -56
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +22 -33
- package/lib/common/commands/device/list-applications.js +12 -23
- package/lib/common/commands/device/list-devices.js +72 -87
- package/lib/common/commands/device/list-files.js +23 -34
- package/lib/common/commands/device/put-file.js +22 -33
- package/lib/common/commands/device/run-application.js +12 -25
- package/lib/common/commands/device/stop-application.js +11 -22
- package/lib/common/commands/device/uninstall-application.js +6 -17
- package/lib/common/commands/generate-messages.js +17 -28
- package/lib/common/commands/help.js +20 -33
- package/lib/common/commands/package-manager-get.js +6 -17
- package/lib/common/commands/package-manager-set.js +9 -20
- package/lib/common/commands/post-install.js +2 -13
- package/lib/common/commands/preuninstall.js +23 -38
- package/lib/common/commands/proxy/proxy-base.js +8 -19
- package/lib/common/commands/proxy/proxy-clear.js +4 -15
- package/lib/common/commands/proxy/proxy-get.js +3 -14
- package/lib/common/commands/proxy/proxy-set.js +87 -100
- package/lib/common/constants.js +11 -11
- package/lib/common/decorators.js +10 -22
- package/lib/common/dispatchers.js +79 -96
- package/lib/common/errors.js +89 -104
- package/lib/common/file-system.js +106 -127
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +37 -50
- package/lib/common/http-client.js +93 -108
- package/lib/common/logger/appenders/cli-appender.js +1 -2
- package/lib/common/logger/appenders/emit-appender.js +1 -2
- package/lib/common/logger/layouts/cli-layout.js +1 -2
- package/lib/common/logger/logger.js +1 -1
- package/lib/common/mobile/android/android-application-manager.js +121 -142
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +87 -112
- package/lib/common/mobile/android/android-device-file-system.js +98 -131
- package/lib/common/mobile/android/android-device-hash-service.js +50 -75
- package/lib/common/mobile/android/android-device.js +74 -91
- package/lib/common/mobile/android/android-emulator-services.js +105 -130
- package/lib/common/mobile/android/android-log-filter.js +1 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +76 -97
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -118
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -81
- package/lib/common/mobile/android/logcat-helper.js +108 -127
- package/lib/common/mobile/application-manager-base.js +84 -107
- package/lib/common/mobile/device-log-provider-base.js +7 -18
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -108
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -105
- package/lib/common/mobile/ios/device/ios-device-operations.js +105 -142
- package/lib/common/mobile/ios/device/ios-device.js +20 -36
- package/lib/common/mobile/ios/ios-device-base.js +58 -81
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -92
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -89
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -43
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -62
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -35
- package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -62
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -32
- package/lib/common/mobile/mobile-core/android-process-service.js +143 -182
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +385 -436
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -35
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -62
- package/lib/common/mobile/mobile-helper.js +15 -26
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -52
- package/lib/common/opener.js +2 -2
- package/lib/common/plist-parser.js +3 -3
- package/lib/common/prompter.js +90 -105
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +39 -52
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +146 -169
- package/lib/common/services/help-service.js +132 -157
- package/lib/common/services/hooks-service.js +93 -108
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +52 -71
- package/lib/common/services/lock-service.js +35 -52
- package/lib/common/services/message-contract-generator.js +35 -46
- package/lib/common/services/micro-templating-service.js +4 -15
- package/lib/common/services/net-service.js +90 -107
- package/lib/common/services/project-files-manager.js +10 -23
- package/lib/common/services/proxy-service.js +13 -24
- package/lib/common/services/qr.js +13 -24
- package/lib/common/services/settings-service.js +1 -1
- package/lib/common/services/xcode-select-service.js +20 -35
- package/lib/common/utils.js +2 -2
- package/lib/common/validators/project-name-validator.js +1 -1
- package/lib/common/validators/validation-result.js +1 -1
- package/lib/common/verify-node-version.js +2 -3
- package/lib/common/yok.js +23 -36
- package/lib/config.js +7 -58
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +107 -128
- package/lib/controllers/deploy-controller.js +17 -22
- package/lib/controllers/migrate-controller.js +722 -795
- package/lib/controllers/platform-controller.js +72 -87
- package/lib/controllers/prepare-controller.js +266 -299
- package/lib/controllers/run-controller.js +392 -406
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +94 -119
- package/lib/data/prepare-data.js +4 -1
- package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
- package/lib/definitions/livesync.d.ts +1 -1
- package/lib/detached-processes/cleanup-js-subprocess.js +3 -12
- package/lib/detached-processes/cleanup-process.js +16 -25
- package/lib/device-path-provider.js +23 -34
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -164
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +24 -39
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +45 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +137 -152
- package/lib/helpers/network-connectivity-validator.js +6 -17
- package/lib/helpers/options-track-helper.js +6 -17
- package/lib/helpers/platform-command-helper.js +99 -120
- package/lib/key-commands/index.js +161 -211
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +81 -104
- package/lib/options.js +3 -12
- package/lib/package-installation-manager.js +130 -165
- package/lib/package-manager.js +63 -86
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +59 -78
- package/lib/project-data.js +1 -1
- package/lib/providers/project-files-provider.js +1 -1
- package/lib/services/analytics/analytics-broker-process.js +13 -22
- package/lib/services/analytics/analytics-broker.js +17 -30
- package/lib/services/analytics/analytics-service.js +161 -198
- package/lib/services/analytics/google-analytics-provider.js +41 -56
- package/lib/services/analytics-settings-service.js +15 -32
- package/lib/services/android/android-bundle-tool-service.js +43 -60
- package/lib/services/android/gradle-build-args-service.js +9 -20
- package/lib/services/android/gradle-build-service.js +34 -47
- package/lib/services/android/gradle-command-service.js +22 -35
- package/lib/services/android-device-debug-service.js +90 -117
- package/lib/services/android-plugin-build-service.js +230 -256
- package/lib/services/android-project-service.js +163 -199
- package/lib/services/android-resources-migration-service.js +51 -64
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +171 -188
- package/lib/services/assets-generation/assets-generation-service.js +98 -115
- package/lib/services/build-artifacts-service.js +9 -20
- package/lib/services/build-info-file-service.js +20 -35
- package/lib/services/cleanup-service.js +47 -76
- package/lib/services/cocoapods-service.js +115 -136
- package/lib/services/device/device-install-app-service.js +73 -90
- package/lib/services/doctor-service.js +99 -118
- package/lib/services/extensibility-service.js +81 -100
- package/lib/services/files-hash-service.js +26 -43
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +37 -50
- package/lib/services/ios/export-options-plist-service.js +38 -51
- package/lib/services/ios/ios-signing-service.js +161 -180
- package/lib/services/ios/spm-service.js +40 -53
- package/lib/services/ios/xcodebuild-args-service.js +77 -94
- package/lib/services/ios/xcodebuild-command-service.js +14 -25
- package/lib/services/ios/xcodebuild-service.js +50 -69
- package/lib/services/ios-debugger-port-service.js +23 -36
- package/lib/services/ios-device-debug-service.js +75 -102
- package/lib/services/ios-entitlements-service.js +31 -42
- package/lib/services/ios-extensions-service.js +18 -29
- package/lib/services/ios-project-service.js +405 -460
- package/lib/services/ios-provision-service.js +108 -129
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +38 -53
- package/lib/services/itmstransporter-service.js +129 -152
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -48
- package/lib/services/livesync/android-device-livesync-service.js +120 -149
- package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -152
- package/lib/services/livesync/android-livesync-service.js +14 -35
- package/lib/services/livesync/android-livesync-tool.js +89 -112
- package/lib/services/livesync/device-livesync-service-base.js +15 -28
- package/lib/services/livesync/ios-device-livesync-service.js +114 -143
- package/lib/services/livesync/ios-livesync-service.js +42 -58
- package/lib/services/livesync/platform-livesync-service-base.js +94 -119
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +30 -41
- package/lib/services/marking-mode-service.js +15 -28
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +49 -64
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +50 -71
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +49 -62
- package/lib/services/platform-environment-requirements.js +26 -37
- package/lib/services/plugins-service.js +122 -147
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +124 -141
- package/lib/services/project-cleanup-service.js +64 -77
- package/lib/services/project-config-service.js +71 -80
- package/lib/services/project-data-service.js +101 -118
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +84 -103
- package/lib/services/project-templates-service.js +52 -67
- package/lib/services/start-service.js +41 -59
- package/lib/services/temp-service.js +8 -21
- package/lib/services/terminal-spinner-service.js +13 -24
- package/lib/services/test-execution-service.js +59 -72
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +119 -138
- package/lib/services/webpack/webpack-compiler-service.js +211 -231
- package/lib/services/xcconfig-service.js +8 -19
- package/lib/sys-info.js +45 -62
- package/lib/tools/node-modules/node-modules-builder.js +16 -27
- package/lib/yarn-package-manager.js +59 -78
- package/lib/yarn2-package-manager.js +60 -79
- package/package.json +56 -54
- package/vendor/aab-tool/bundletool.jar +0 -0
- package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +0 -3407
- package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
- package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +0 -4451
- package/lib/common/resources/platform-tools/android/linux/adb +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +0 -4451
- package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
- package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.ProxyGetCommand = void 0;
|
|
13
4
|
const proxy_base_1 = require("./proxy-base");
|
|
@@ -20,11 +11,9 @@ class ProxyGetCommand extends proxy_base_1.ProxyCommandBase {
|
|
|
20
11
|
this.$logger = $logger;
|
|
21
12
|
this.$proxyService = $proxyService;
|
|
22
13
|
}
|
|
23
|
-
execute(args) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
yield this.tryTrackUsage();
|
|
27
|
-
});
|
|
14
|
+
async execute(args) {
|
|
15
|
+
this.$logger.info(await this.$proxyService.getInfo());
|
|
16
|
+
await this.tryTrackUsage();
|
|
28
17
|
}
|
|
29
18
|
}
|
|
30
19
|
exports.ProxyGetCommand = ProxyGetCommand;
|
|
@@ -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.ProxySetCommand = void 0;
|
|
13
4
|
const commandParams = require("../../command-params");
|
|
@@ -37,87 +28,85 @@ class ProxySetCommand extends proxy_base_1.ProxyCommandBase {
|
|
|
37
28
|
new commandParams.StringCommandParameter(this.$injector),
|
|
38
29
|
];
|
|
39
30
|
}
|
|
40
|
-
execute(args) {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
if (noUrl) {
|
|
47
|
-
if (!(0, helpers_1.isInteractive)()) {
|
|
48
|
-
this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
urlString = yield this.$prompter.getString("Url", {
|
|
52
|
-
allowEmpty: false,
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
let urlObj = (0, url_1.parse)(urlString);
|
|
57
|
-
if ((!urlObj.protocol || !urlObj.hostname) && !(0, helpers_1.isInteractive)()) {
|
|
58
|
-
this.$errors.fail("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
|
|
59
|
-
}
|
|
60
|
-
while (!urlObj.protocol || !urlObj.hostname) {
|
|
61
|
-
this.$logger.warn("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
|
|
62
|
-
urlString = yield this.$prompter.getString("Url", { allowEmpty: false });
|
|
63
|
-
urlObj = (0, url_1.parse)(urlString);
|
|
64
|
-
}
|
|
65
|
-
let port = (urlObj.port && +urlObj.port) || constants_1.HttpProtocolToPort[urlObj.protocol];
|
|
66
|
-
const noPort = !port || !this.isValidPort(port);
|
|
67
|
-
const authCredentials = getCredentialsFromAuth(urlObj.auth || "");
|
|
68
|
-
if ((username &&
|
|
69
|
-
authCredentials.username &&
|
|
70
|
-
username !== authCredentials.username) ||
|
|
71
|
-
(password &&
|
|
72
|
-
authCredentials.password &&
|
|
73
|
-
password !== authCredentials.password)) {
|
|
74
|
-
this.$errors.fail("The credentials you have provided in the url address mismatch those passed as command line arguments.");
|
|
75
|
-
}
|
|
76
|
-
username = username || authCredentials.username;
|
|
77
|
-
password = password || authCredentials.password;
|
|
31
|
+
async execute(args) {
|
|
32
|
+
let urlString = args[0];
|
|
33
|
+
let username = args[1];
|
|
34
|
+
let password = args[2];
|
|
35
|
+
const noUrl = !urlString;
|
|
36
|
+
if (noUrl) {
|
|
78
37
|
if (!(0, helpers_1.isInteractive)()) {
|
|
79
|
-
|
|
80
|
-
this.$errors.fail(`The port you have specified (${port || "none"}) is not valid.`);
|
|
81
|
-
}
|
|
82
|
-
else if (this.isPasswordRequired(username, password)) {
|
|
83
|
-
this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
|
|
84
|
-
}
|
|
38
|
+
this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
|
|
85
39
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
}
|
|
90
|
-
port = yield this.getPortFromUserInput();
|
|
91
|
-
}
|
|
92
|
-
if (!username) {
|
|
93
|
-
this.$logger.info("In case your proxy requires authentication, please specify username and password. If authentication is not required, just leave it empty.");
|
|
94
|
-
username = yield this.$prompter.getString("Username", {
|
|
95
|
-
defaultAction: () => "",
|
|
40
|
+
else {
|
|
41
|
+
urlString = await this.$prompter.getString("Url", {
|
|
42
|
+
allowEmpty: false,
|
|
96
43
|
});
|
|
97
44
|
}
|
|
98
|
-
|
|
99
|
-
|
|
45
|
+
}
|
|
46
|
+
let urlObj = (0, url_1.parse)(urlString);
|
|
47
|
+
if ((!urlObj.protocol || !urlObj.hostname) && !(0, helpers_1.isInteractive)()) {
|
|
48
|
+
this.$errors.fail("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
|
|
49
|
+
}
|
|
50
|
+
while (!urlObj.protocol || !urlObj.hostname) {
|
|
51
|
+
this.$logger.warn("The url you have entered is invalid please enter a valid url containing a valid protocol and hostname.");
|
|
52
|
+
urlString = await this.$prompter.getString("Url", { allowEmpty: false });
|
|
53
|
+
urlObj = (0, url_1.parse)(urlString);
|
|
54
|
+
}
|
|
55
|
+
let port = (urlObj.port && +urlObj.port) || constants_1.HttpProtocolToPort[urlObj.protocol];
|
|
56
|
+
const noPort = !port || !this.isValidPort(port);
|
|
57
|
+
const authCredentials = getCredentialsFromAuth(urlObj.auth || "");
|
|
58
|
+
if ((username &&
|
|
59
|
+
authCredentials.username &&
|
|
60
|
+
username !== authCredentials.username) ||
|
|
61
|
+
(password &&
|
|
62
|
+
authCredentials.password &&
|
|
63
|
+
password !== authCredentials.password)) {
|
|
64
|
+
this.$errors.fail("The credentials you have provided in the url address mismatch those passed as command line arguments.");
|
|
65
|
+
}
|
|
66
|
+
username = username || authCredentials.username;
|
|
67
|
+
password = password || authCredentials.password;
|
|
68
|
+
if (!(0, helpers_1.isInteractive)()) {
|
|
69
|
+
if (noPort) {
|
|
70
|
+
this.$errors.fail(`The port you have specified (${port || "none"}) is not valid.`);
|
|
71
|
+
}
|
|
72
|
+
else if (this.isPasswordRequired(username, password)) {
|
|
73
|
+
this.$errors.failWithHelp("Console is not interactive - you need to supply all command parameters.");
|
|
100
74
|
}
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
rejectUnauthorized: !this.$options.insecure,
|
|
106
|
-
};
|
|
107
|
-
if (!this.$hostInfo.isWindows) {
|
|
108
|
-
this.$logger.warn(`Note that storing credentials is not supported on ${(0, os_1.platform)()} yet.`);
|
|
75
|
+
}
|
|
76
|
+
if (noPort) {
|
|
77
|
+
if (port) {
|
|
78
|
+
this.$logger.warn(this.getInvalidPortMessage(port));
|
|
109
79
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
80
|
+
port = await this.getPortFromUserInput();
|
|
81
|
+
}
|
|
82
|
+
if (!username) {
|
|
83
|
+
this.$logger.info("In case your proxy requires authentication, please specify username and password. If authentication is not required, just leave it empty.");
|
|
84
|
+
username = await this.$prompter.getString("Username", {
|
|
85
|
+
defaultAction: () => "",
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
if (this.isPasswordRequired(username, password)) {
|
|
89
|
+
password = await this.$prompter.getPassword("Password");
|
|
90
|
+
}
|
|
91
|
+
const settings = {
|
|
92
|
+
proxyUrl: urlString,
|
|
93
|
+
username,
|
|
94
|
+
password,
|
|
95
|
+
rejectUnauthorized: !this.$options.insecure,
|
|
96
|
+
};
|
|
97
|
+
if (!this.$hostInfo.isWindows) {
|
|
98
|
+
this.$logger.warn(`Note that storing credentials is not supported on ${(0, os_1.platform)()} yet.`);
|
|
99
|
+
}
|
|
100
|
+
const clientName = this.$staticConfig.CLIENT_NAME.toLowerCase();
|
|
101
|
+
const messageNote = (clientName === "tns"
|
|
102
|
+
? "Note that 'npm' and 'Gradle' need to be configured separately to work with a proxy."
|
|
103
|
+
: "Note that `npm` needs to be configured separately to work with a proxy.") +
|
|
104
|
+
os_1.EOL;
|
|
105
|
+
this.$logger.warn(`${messageNote}Run '${clientName} proxy set --help' for more information.`);
|
|
106
|
+
await this.$proxyService.setCache(settings);
|
|
107
|
+
this.$logger.info(`Successfully setup proxy.${os_1.EOL}`);
|
|
108
|
+
this.$logger.info(await this.$proxyService.getInfo());
|
|
109
|
+
await this.tryTrackUsage();
|
|
121
110
|
}
|
|
122
111
|
isPasswordRequired(username, password) {
|
|
123
112
|
return !!(username && !password);
|
|
@@ -125,22 +114,20 @@ class ProxySetCommand extends proxy_base_1.ProxyCommandBase {
|
|
|
125
114
|
isValidPort(port) {
|
|
126
115
|
return !isNaN(port) && port > 0 && port < 65536;
|
|
127
116
|
}
|
|
128
|
-
getPortFromUserInput() {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return parseInt(prompterResult[schemaName]);
|
|
143
|
-
});
|
|
117
|
+
async getPortFromUserInput() {
|
|
118
|
+
const schemaName = "port";
|
|
119
|
+
const schema = {
|
|
120
|
+
message: "Port",
|
|
121
|
+
type: "text",
|
|
122
|
+
name: schemaName,
|
|
123
|
+
validate: (value) => {
|
|
124
|
+
return !value || !this.isValidPort(value)
|
|
125
|
+
? this.getInvalidPortMessage(value)
|
|
126
|
+
: true;
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
const prompterResult = await this.$prompter.get([schema]);
|
|
130
|
+
return parseInt(prompterResult[schemaName]);
|
|
144
131
|
}
|
|
145
132
|
getInvalidPortMessage(port) {
|
|
146
133
|
return `Specified port ${port} is not valid. Please enter a value between 1 and 65535.`;
|
package/lib/common/constants.js
CHANGED
|
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.SOCKET_CONNECTION_TIMEOUT_MS = exports.AndroidVirtualDevice = exports.ATTACH_REQUEST_EVENT_NAME = exports.DEBUGGER_PORT_FOUND_EVENT_NAME = exports.DEFAULT_CHUNK_SIZE = exports.HttpProtocolToPort = exports.HttpStatusCodes = exports.Proxy = exports.IOS_RELAY_NOTIFICATION_COMMAND_TYPE = exports.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE = exports.IOS_POST_NOTIFICATION_COMMAND_TYPE = exports.FileExtensions = exports.TNS_CORE_MODULES = exports.NODE_MODULES_DIR_NAME = exports.Configurations = exports.TARGET_FRAMEWORK_IDENTIFIERS = exports.FAIL_LIVESYNC_LOG_REGEX = exports.IOS_APP_CRASH_LOG_REG_EXP = exports.IOS_LOG_PREDICATE = exports.DEVICE_LOG_EVENT_NAME = exports.EmulatorDiscoveryNames = exports.DeviceDiscoveryEventNames = exports.HmrConstants = exports.LiveSyncPaths = exports.APPLE_VENDOR_NAME = exports.NOT_RUNNING_EMULATOR_STATUS = exports.RUNNING_EMULATOR_STATUS = exports.CONNECTED_STATUS = exports.UNREACHABLE_STATUS = exports.ERROR_NO_VALID_SUBCOMMAND_FORMAT = exports.ERROR_CANNOT_RESOLVE_DEVICE = exports.ERROR_NO_DEVICES_CANT_USE_IOS_SIMULATOR = exports.ERROR_CANT_USE_SIMULATOR = exports.ERROR_NO_DEVICES = exports.APP_RESOURCES_FOLDER_NAME = exports.DeviceTypes = exports.ProvisionType = void 0;
|
|
4
4
|
class ProvisionType {
|
|
5
5
|
}
|
|
6
|
+
exports.ProvisionType = ProvisionType;
|
|
6
7
|
ProvisionType.Development = "Development";
|
|
7
8
|
ProvisionType.AdHoc = "AdHoc";
|
|
8
9
|
ProvisionType.AppStore = "AppStore";
|
|
9
10
|
ProvisionType.Enterprise = "Enterprise";
|
|
10
|
-
exports.ProvisionType = ProvisionType;
|
|
11
11
|
class DeviceTypes {
|
|
12
12
|
}
|
|
13
|
+
exports.DeviceTypes = DeviceTypes;
|
|
13
14
|
DeviceTypes.Emulator = "Emulator";
|
|
14
15
|
DeviceTypes.Simulator = "Simulator";
|
|
15
16
|
DeviceTypes.Device = "Device";
|
|
16
|
-
exports.DeviceTypes = DeviceTypes;
|
|
17
17
|
exports.APP_RESOURCES_FOLDER_NAME = "App_Resources";
|
|
18
18
|
exports.ERROR_NO_DEVICES = "Cannot find connected devices. Reconnect any connected devices, verify that your system recognizes them, and run this command again.";
|
|
19
19
|
exports.ERROR_CANT_USE_SIMULATOR = "You can use iOS simulator only on OS X.";
|
|
@@ -27,29 +27,29 @@ exports.NOT_RUNNING_EMULATOR_STATUS = "Not running";
|
|
|
27
27
|
exports.APPLE_VENDOR_NAME = "Apple";
|
|
28
28
|
class LiveSyncPaths {
|
|
29
29
|
}
|
|
30
|
+
exports.LiveSyncPaths = LiveSyncPaths;
|
|
30
31
|
LiveSyncPaths.SYNC_DIR_NAME = "sync";
|
|
31
32
|
LiveSyncPaths.REMOVEDSYNC_DIR_NAME = "removedsync";
|
|
32
33
|
LiveSyncPaths.FULLSYNC_DIR_NAME = "fullsync";
|
|
33
34
|
LiveSyncPaths.IOS_DEVICE_PROJECT_ROOT_PATH = "Library/Application Support/LiveSync";
|
|
34
35
|
LiveSyncPaths.IOS_DEVICE_SYNC_ZIP_PATH = "Library/Application Support/LiveSync/sync.zip";
|
|
35
36
|
LiveSyncPaths.ANDROID_TMP_DIR_NAME = "/data/local/tmp";
|
|
36
|
-
exports.LiveSyncPaths = LiveSyncPaths;
|
|
37
37
|
class HmrConstants {
|
|
38
38
|
}
|
|
39
|
+
exports.HmrConstants = HmrConstants;
|
|
39
40
|
HmrConstants.HMR_ERROR_STATUS = 3;
|
|
40
41
|
HmrConstants.HMR_SUCCESS_STATUS = 2;
|
|
41
|
-
exports.HmrConstants = HmrConstants;
|
|
42
42
|
class DeviceDiscoveryEventNames {
|
|
43
43
|
}
|
|
44
|
+
exports.DeviceDiscoveryEventNames = DeviceDiscoveryEventNames;
|
|
44
45
|
DeviceDiscoveryEventNames.DEVICE_FOUND = "deviceFound";
|
|
45
46
|
DeviceDiscoveryEventNames.DEVICE_UPDATED = "deviceUpdated";
|
|
46
47
|
DeviceDiscoveryEventNames.DEVICE_LOST = "deviceLost";
|
|
47
|
-
exports.DeviceDiscoveryEventNames = DeviceDiscoveryEventNames;
|
|
48
48
|
class EmulatorDiscoveryNames {
|
|
49
49
|
}
|
|
50
|
+
exports.EmulatorDiscoveryNames = EmulatorDiscoveryNames;
|
|
50
51
|
EmulatorDiscoveryNames.EMULATOR_IMAGE_FOUND = "emulatorImageFound";
|
|
51
52
|
EmulatorDiscoveryNames.EMULATOR_IMAGE_LOST = "emulatorImageLost";
|
|
52
|
-
exports.EmulatorDiscoveryNames = EmulatorDiscoveryNames;
|
|
53
53
|
exports.DEVICE_LOG_EVENT_NAME = "deviceLogData";
|
|
54
54
|
exports.IOS_LOG_PREDICATE = 'senderImagePath contains "NativeScript"';
|
|
55
55
|
exports.IOS_APP_CRASH_LOG_REG_EXP = /Fatal JavaScript exception \- application has been terminated/;
|
|
@@ -60,36 +60,36 @@ exports.TARGET_FRAMEWORK_IDENTIFIERS = {
|
|
|
60
60
|
};
|
|
61
61
|
class Configurations {
|
|
62
62
|
}
|
|
63
|
+
exports.Configurations = Configurations;
|
|
63
64
|
Configurations.Debug = "Debug";
|
|
64
65
|
Configurations.Release = "Release";
|
|
65
|
-
exports.Configurations = Configurations;
|
|
66
66
|
exports.NODE_MODULES_DIR_NAME = "node_modules";
|
|
67
67
|
exports.TNS_CORE_MODULES = "tns-core-modules";
|
|
68
68
|
class FileExtensions {
|
|
69
69
|
}
|
|
70
|
+
exports.FileExtensions = FileExtensions;
|
|
70
71
|
FileExtensions.TYPESCRIPT_DEFINITION_FILE = ".d.ts";
|
|
71
72
|
FileExtensions.TYPESCRIPT_FILE = ".ts";
|
|
72
73
|
FileExtensions.PNG_FILE = ".png";
|
|
73
74
|
FileExtensions.NINE_PATCH_PNG_FILE = ".9.png";
|
|
74
|
-
exports.FileExtensions = FileExtensions;
|
|
75
75
|
exports.IOS_POST_NOTIFICATION_COMMAND_TYPE = "PostNotification";
|
|
76
76
|
exports.IOS_OBSERVE_NOTIFICATION_COMMAND_TYPE = "ObserveNotification";
|
|
77
77
|
exports.IOS_RELAY_NOTIFICATION_COMMAND_TYPE = "RelayNotification";
|
|
78
78
|
class Proxy {
|
|
79
79
|
}
|
|
80
|
+
exports.Proxy = Proxy;
|
|
80
81
|
Proxy.CACHE_FILE_NAME = "proxy-cache.json";
|
|
81
82
|
Proxy.USE_PROXY = "USE_PROXY";
|
|
82
83
|
Proxy.PROXY_PORT = "PROXY_PORT";
|
|
83
84
|
Proxy.PROXY_HOSTNAME = "PROXY_HOSTNAME";
|
|
84
|
-
exports.Proxy = Proxy;
|
|
85
85
|
class HttpStatusCodes {
|
|
86
86
|
}
|
|
87
|
+
exports.HttpStatusCodes = HttpStatusCodes;
|
|
87
88
|
HttpStatusCodes.SEE_OTHER = 303;
|
|
88
89
|
HttpStatusCodes.NOT_MODIFIED = 304;
|
|
89
90
|
HttpStatusCodes.PAYMENT_REQUIRED = 402;
|
|
90
91
|
HttpStatusCodes.PROXY_AUTHENTICATION_REQUIRED = 407;
|
|
91
92
|
HttpStatusCodes.CONFLICTING_RESOURCE = 409;
|
|
92
|
-
exports.HttpStatusCodes = HttpStatusCodes;
|
|
93
93
|
exports.HttpProtocolToPort = {
|
|
94
94
|
"http:": 80,
|
|
95
95
|
"https:": 443,
|
|
@@ -99,6 +99,7 @@ exports.DEBUGGER_PORT_FOUND_EVENT_NAME = "DEBUGGER_PORT_FOUND";
|
|
|
99
99
|
exports.ATTACH_REQUEST_EVENT_NAME = "ATTACH_REQUEST";
|
|
100
100
|
class AndroidVirtualDevice {
|
|
101
101
|
}
|
|
102
|
+
exports.AndroidVirtualDevice = AndroidVirtualDevice;
|
|
102
103
|
AndroidVirtualDevice.ANDROID_DIR_NAME = ".android";
|
|
103
104
|
AndroidVirtualDevice.AVD_DIR_NAME = "avd";
|
|
104
105
|
AndroidVirtualDevice.ENCODING_MASK = /^avd\.ini\.encoding=(.*)$/;
|
|
@@ -118,5 +119,4 @@ AndroidVirtualDevice.AVD_VENDOR_NAME = "Avd";
|
|
|
118
119
|
AndroidVirtualDevice.TIMEOUT_SECONDS = 120;
|
|
119
120
|
AndroidVirtualDevice.GENYMOTION_DEFAULT_STDERR_STRING = "Logging activities to file";
|
|
120
121
|
AndroidVirtualDevice.UNABLE_TO_START_EMULATOR_MESSAGE = "Cannot run the app in the selected native emulator. Try to restart the adb server by running the `adb kill-server` command in the Command Prompt, or increase the allocated RAM of the virtual device through the Android Virtual Device manager. NativeScript CLI users can try to increase the timeout of the operation by adding the `--timeout` flag.";
|
|
121
|
-
exports.AndroidVirtualDevice = AndroidVirtualDevice;
|
|
122
122
|
exports.SOCKET_CONNECTION_TIMEOUT_MS = 30000;
|
package/lib/common/decorators.js
CHANGED
|
@@ -1,15 +1,12 @@
|
|
|
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
|
-
exports.
|
|
3
|
+
exports.cache = cache;
|
|
4
|
+
exports.memoize = memoize;
|
|
5
|
+
exports.invokeBefore = invokeBefore;
|
|
6
|
+
exports.invokeInit = invokeInit;
|
|
7
|
+
exports.exported = exported;
|
|
8
|
+
exports.performanceLog = performanceLog;
|
|
9
|
+
exports.deprecated = deprecated;
|
|
13
10
|
const constants_1 = require("../constants");
|
|
14
11
|
const yok_1 = require("./yok");
|
|
15
12
|
function cache() {
|
|
@@ -28,7 +25,6 @@ function cache() {
|
|
|
28
25
|
return descriptor;
|
|
29
26
|
};
|
|
30
27
|
}
|
|
31
|
-
exports.cache = cache;
|
|
32
28
|
let memoizeIDCounter = 0;
|
|
33
29
|
function memoize(options) {
|
|
34
30
|
return (target, propertyKey, descriptor) => {
|
|
@@ -87,24 +83,19 @@ function memoize(options) {
|
|
|
87
83
|
return descriptor;
|
|
88
84
|
};
|
|
89
85
|
}
|
|
90
|
-
exports.memoize = memoize;
|
|
91
86
|
function invokeBefore(methodName, methodArgs) {
|
|
92
87
|
return (target, propertyKey, descriptor) => {
|
|
93
88
|
const originalValue = descriptor.value;
|
|
94
|
-
descriptor.value = function (...args) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
return originalValue.apply(this, args);
|
|
98
|
-
});
|
|
89
|
+
descriptor.value = async function (...args) {
|
|
90
|
+
await target[methodName].apply(this, methodArgs);
|
|
91
|
+
return originalValue.apply(this, args);
|
|
99
92
|
};
|
|
100
93
|
return descriptor;
|
|
101
94
|
};
|
|
102
95
|
}
|
|
103
|
-
exports.invokeBefore = invokeBefore;
|
|
104
96
|
function invokeInit() {
|
|
105
97
|
return invokeBefore("init");
|
|
106
98
|
}
|
|
107
|
-
exports.invokeInit = invokeInit;
|
|
108
99
|
function exported(moduleName) {
|
|
109
100
|
return (target, propertyKey, descriptor) => {
|
|
110
101
|
yok_1.injector.publicApi.__modules__[moduleName] =
|
|
@@ -116,7 +107,6 @@ function exported(moduleName) {
|
|
|
116
107
|
return descriptor;
|
|
117
108
|
};
|
|
118
109
|
}
|
|
119
|
-
exports.exported = exported;
|
|
120
110
|
function performanceLog(localInjector) {
|
|
121
111
|
localInjector = localInjector || yok_1.injector;
|
|
122
112
|
return function (target, propertyKey, descriptor) {
|
|
@@ -155,7 +145,6 @@ function performanceLog(localInjector) {
|
|
|
155
145
|
return descriptor;
|
|
156
146
|
};
|
|
157
147
|
}
|
|
158
|
-
exports.performanceLog = performanceLog;
|
|
159
148
|
function deprecated(additionalInfo, localInjector) {
|
|
160
149
|
const isDeprecatedMessage = " is deprecated.";
|
|
161
150
|
return (target, key, descriptor) => {
|
|
@@ -198,4 +187,3 @@ function deprecated(additionalInfo, localInjector) {
|
|
|
198
187
|
}
|
|
199
188
|
};
|
|
200
189
|
}
|
|
201
|
-
exports.deprecated = deprecated;
|
|
@@ -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.CommandDispatcher = void 0;
|
|
19
10
|
const _ = require("lodash");
|
|
@@ -36,45 +27,41 @@ class CommandDispatcher {
|
|
|
36
27
|
this.$packageManager = $packageManager;
|
|
37
28
|
this.$terminalSpinnerService = $terminalSpinnerService;
|
|
38
29
|
}
|
|
39
|
-
dispatchCommand() {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
yield this.$commandsService.tryExecuteCommand(commandName, commandArguments);
|
|
72
|
-
});
|
|
30
|
+
async dispatchCommand() {
|
|
31
|
+
if (this.$options.version) {
|
|
32
|
+
return this.printVersion();
|
|
33
|
+
}
|
|
34
|
+
if (this.$logger.getLevel() === "TRACE" && !this.$options.json) {
|
|
35
|
+
this.$logger.trace("Collecting system information...");
|
|
36
|
+
const sysInfo = await this.$sysInfo.getSysInfo({
|
|
37
|
+
pathToNativeScriptCliPackageJson: path.join(__dirname, "..", "..", "package.json"),
|
|
38
|
+
});
|
|
39
|
+
this.$logger.trace("System information:");
|
|
40
|
+
this.$logger.trace(JSON.stringify(sysInfo, null, 2));
|
|
41
|
+
this.$logger.trace("Current CLI version: ", this.$staticConfig.version);
|
|
42
|
+
}
|
|
43
|
+
let commandName = this.getCommandName();
|
|
44
|
+
let commandArguments = this.$options.argv._.slice(1);
|
|
45
|
+
const lastArgument = _.last(commandArguments);
|
|
46
|
+
if (this.$options.help) {
|
|
47
|
+
commandArguments.unshift(commandName);
|
|
48
|
+
commandName = "help";
|
|
49
|
+
}
|
|
50
|
+
else if (lastArgument === "/?" || lastArgument === "?") {
|
|
51
|
+
commandArguments.pop();
|
|
52
|
+
commandArguments.unshift(commandName);
|
|
53
|
+
commandName = "help";
|
|
54
|
+
}
|
|
55
|
+
({
|
|
56
|
+
commandName,
|
|
57
|
+
commandArguments,
|
|
58
|
+
argv: process.argv,
|
|
59
|
+
} = await this.resolveCommand(commandName, commandArguments, process.argv));
|
|
60
|
+
await this.$cancellation.begin("cli");
|
|
61
|
+
await this.$commandsService.tryExecuteCommand(commandName, commandArguments);
|
|
73
62
|
}
|
|
74
|
-
resolveCommand(commandName, commandArguments, argv) {
|
|
75
|
-
return
|
|
76
|
-
return { commandName, commandArguments, argv };
|
|
77
|
-
});
|
|
63
|
+
async resolveCommand(commandName, commandArguments, argv) {
|
|
64
|
+
return { commandName, commandArguments, argv };
|
|
78
65
|
}
|
|
79
66
|
getCommandName() {
|
|
80
67
|
const remaining = this.$options.argv._;
|
|
@@ -84,65 +71,61 @@ class CommandDispatcher {
|
|
|
84
71
|
this.$options.help = true;
|
|
85
72
|
return "";
|
|
86
73
|
}
|
|
87
|
-
printVersion() {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
});
|
|
74
|
+
async printVersion() {
|
|
75
|
+
this.$logger.info(this.$staticConfig.version);
|
|
76
|
+
if (this.$options.json) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const spinner = this.$terminalSpinnerService.createSpinner();
|
|
80
|
+
spinner.start("Checking for updates...");
|
|
81
|
+
const nativescriptCliVersion = await this.$versionsService.getNativescriptCliVersion();
|
|
82
|
+
spinner.stop();
|
|
83
|
+
const packageManagerName = await this.$packageManager.getPackageManagerName();
|
|
84
|
+
let updateCommand = "";
|
|
85
|
+
switch (packageManagerName) {
|
|
86
|
+
case constants_1.PackageManagers.yarn:
|
|
87
|
+
case constants_1.PackageManagers.yarn2:
|
|
88
|
+
updateCommand = "yarn global add nativescript";
|
|
89
|
+
break;
|
|
90
|
+
case constants_1.PackageManagers.pnpm:
|
|
91
|
+
updateCommand = "pnpm i -g nativescript";
|
|
92
|
+
break;
|
|
93
|
+
case constants_1.PackageManagers.bun:
|
|
94
|
+
updateCommand = "bun add --global nativescript";
|
|
95
|
+
break;
|
|
96
|
+
case constants_1.PackageManagers.npm:
|
|
97
|
+
default:
|
|
98
|
+
updateCommand = "npm i -g nativescript";
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
101
|
+
if (semver.gte(nativescriptCliVersion.currentVersion, nativescriptCliVersion.latestVersion, {
|
|
102
|
+
loose: true,
|
|
103
|
+
})) {
|
|
104
|
+
spinner.succeed("Up to date.");
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
spinner.info(`New version of NativeScript CLI is available (${nativescriptCliVersion.latestVersion}), run '${updateCommand}' to update.`);
|
|
108
|
+
}
|
|
124
109
|
}
|
|
125
110
|
}
|
|
111
|
+
exports.CommandDispatcher = CommandDispatcher;
|
|
126
112
|
__decorate([
|
|
127
113
|
(0, helpers_1.hook)("resolveCommand")
|
|
128
114
|
], CommandDispatcher.prototype, "resolveCommand", null);
|
|
129
|
-
exports.CommandDispatcher = CommandDispatcher;
|
|
130
115
|
yok_1.injector.register("commandDispatcher", CommandDispatcher);
|
|
131
116
|
class FutureDispatcher {
|
|
132
117
|
constructor($errors) {
|
|
133
118
|
this.$errors = $errors;
|
|
134
119
|
}
|
|
135
|
-
run() {
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
}
|
|
145
|
-
});
|
|
120
|
+
async run() {
|
|
121
|
+
if (this.actions) {
|
|
122
|
+
this.$errors.fail("You cannot run a running future dispatcher.");
|
|
123
|
+
}
|
|
124
|
+
this.actions = new queue.Queue();
|
|
125
|
+
while (true) {
|
|
126
|
+
const action = await this.actions.dequeue();
|
|
127
|
+
await action();
|
|
128
|
+
}
|
|
146
129
|
}
|
|
147
130
|
dispatch(action) {
|
|
148
131
|
this.actions.enqueue(action);
|