@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
|
@@ -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.NodePackageManager = void 0;
|
|
19
10
|
const path_1 = require("path");
|
|
@@ -29,114 +20,101 @@ class NodePackageManager extends base_package_manager_1.BasePackageManager {
|
|
|
29
20
|
this.$logger = $logger;
|
|
30
21
|
this.$httpClient = $httpClient;
|
|
31
22
|
}
|
|
32
|
-
install(packageName, pathToSave, config) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
packageName = relativePathFromCwdToSource;
|
|
58
|
-
}
|
|
23
|
+
async install(packageName, pathToSave, config) {
|
|
24
|
+
if (config.disableNpmInstall) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (config.ignoreScripts) {
|
|
28
|
+
config["ignore-scripts"] = true;
|
|
29
|
+
}
|
|
30
|
+
const packageJsonPath = (0, path_1.join)(pathToSave, "package.json");
|
|
31
|
+
const jsonContentBefore = this.$fs.readJson(packageJsonPath);
|
|
32
|
+
const flags = this.getFlagsString(config, true);
|
|
33
|
+
let params = ["install", "--legacy-peer-deps"];
|
|
34
|
+
const isInstallingAllDependencies = packageName === pathToSave;
|
|
35
|
+
if (!isInstallingAllDependencies) {
|
|
36
|
+
params.push(packageName);
|
|
37
|
+
}
|
|
38
|
+
params = params.concat(flags);
|
|
39
|
+
const cwd = pathToSave;
|
|
40
|
+
const etcDirectoryLocation = (0, path_1.join)(cwd, "etc");
|
|
41
|
+
const etcExistsPriorToInstallation = this.$fs.exists(etcDirectoryLocation);
|
|
42
|
+
if (config.path) {
|
|
43
|
+
let relativePathFromCwdToSource = "";
|
|
44
|
+
if (config.frameworkPath) {
|
|
45
|
+
relativePathFromCwdToSource = (0, path_1.relative)(config.frameworkPath, pathToSave);
|
|
46
|
+
if (this.$fs.exists(relativePathFromCwdToSource)) {
|
|
47
|
+
packageName = relativePathFromCwdToSource;
|
|
59
48
|
}
|
|
60
49
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const result = await this.processPackageManagerInstall(packageName, params, { cwd, isInstallingAllDependencies });
|
|
53
|
+
return result;
|
|
54
|
+
}
|
|
55
|
+
catch (err) {
|
|
56
|
+
if (err.message && err.message.indexOf("EPEERINVALID") !== -1) {
|
|
57
|
+
this.$logger.warn(err.message);
|
|
64
58
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
this.$fs.writeJson(packageJsonPath, jsonContentBefore);
|
|
71
|
-
throw err;
|
|
72
|
-
}
|
|
59
|
+
else {
|
|
60
|
+
this.$fs.writeJson(packageJsonPath, jsonContentBefore);
|
|
61
|
+
throw err;
|
|
73
62
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
if (!etcExistsPriorToInstallation) {
|
|
66
|
+
this.$fs.deleteDirectory(etcDirectoryLocation);
|
|
78
67
|
}
|
|
79
|
-
}
|
|
68
|
+
}
|
|
80
69
|
}
|
|
81
|
-
uninstall(packageName, config, path) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
cwd: path,
|
|
86
|
-
});
|
|
70
|
+
async uninstall(packageName, config, path) {
|
|
71
|
+
const flags = this.getFlagsString(config, false);
|
|
72
|
+
return this.$childProcess.exec(`npm uninstall ${packageName} ${flags}`, {
|
|
73
|
+
cwd: path,
|
|
87
74
|
});
|
|
88
75
|
}
|
|
89
|
-
search(filter, config) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return this.$childProcess.exec(`npm search ${filter.join(" ")} ${flags}`);
|
|
93
|
-
});
|
|
76
|
+
async search(filter, config) {
|
|
77
|
+
const flags = this.getFlagsString(config, false);
|
|
78
|
+
return this.$childProcess.exec(`npm search ${filter.join(" ")} ${flags}`);
|
|
94
79
|
}
|
|
95
|
-
view(packageName, config) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
112
|
-
});
|
|
80
|
+
async view(packageName, config) {
|
|
81
|
+
const wrappedConfig = _.extend({}, config, { json: true });
|
|
82
|
+
const flags = this.getFlagsString(wrappedConfig, false);
|
|
83
|
+
let viewResult;
|
|
84
|
+
try {
|
|
85
|
+
viewResult = await this.$childProcess.exec(`npm view ${packageName} ${flags}`);
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
this.$errors.fail(e.message);
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
return JSON.parse(viewResult);
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
return null;
|
|
95
|
+
}
|
|
113
96
|
}
|
|
114
|
-
searchNpms(keyword) {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return result;
|
|
119
|
-
});
|
|
97
|
+
async searchNpms(keyword) {
|
|
98
|
+
const httpRequestResult = await this.$httpClient.httpRequest(`https://api.npms.io/v2/search?q=keywords:${keyword}`);
|
|
99
|
+
const result = JSON.parse(httpRequestResult.body);
|
|
100
|
+
return result;
|
|
120
101
|
}
|
|
121
|
-
getRegistryPackageData(packageName) {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return jsonData;
|
|
131
|
-
});
|
|
102
|
+
async getRegistryPackageData(packageName) {
|
|
103
|
+
const registry = await this.$childProcess.exec(`npm config get registry`);
|
|
104
|
+
const url = registry.trim() + packageName;
|
|
105
|
+
this.$logger.trace(`Trying to get data from npm registry for package ${packageName}, url is: ${url}`);
|
|
106
|
+
const responseData = (await this.$httpClient.httpRequest(url)).body;
|
|
107
|
+
this.$logger.trace(`Successfully received data from npm registry for package ${packageName}. Response data is: ${responseData}`);
|
|
108
|
+
const jsonData = JSON.parse(responseData);
|
|
109
|
+
this.$logger.trace(`Successfully parsed data from npm registry for package ${packageName}.`);
|
|
110
|
+
return jsonData;
|
|
132
111
|
}
|
|
133
|
-
getCachePath() {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
return (0, path_1.join)(cachePath.trim(), constants_1.CACACHE_DIRECTORY_NAME);
|
|
137
|
-
});
|
|
112
|
+
async getCachePath() {
|
|
113
|
+
const cachePath = await this.$childProcess.exec(`npm config get cache`);
|
|
114
|
+
return (0, path_1.join)(cachePath.trim(), constants_1.CACACHE_DIRECTORY_NAME);
|
|
138
115
|
}
|
|
139
116
|
}
|
|
117
|
+
exports.NodePackageManager = NodePackageManager;
|
|
140
118
|
__decorate([
|
|
141
119
|
(0, decorators_1.exported)("npm")
|
|
142
120
|
], NodePackageManager.prototype, "install", null);
|
|
@@ -152,5 +130,4 @@ __decorate([
|
|
|
152
130
|
__decorate([
|
|
153
131
|
(0, decorators_1.cache)()
|
|
154
132
|
], NodePackageManager.prototype, "getCachePath", null);
|
|
155
|
-
exports.NodePackageManager = NodePackageManager;
|
|
156
133
|
yok_1.injector.register("npm", NodePackageManager);
|
package/lib/options.js
CHANGED
|
@@ -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.Options = void 0;
|
|
13
4
|
const helpers = require("./common/helpers");
|
|
@@ -323,7 +314,7 @@ class Options {
|
|
|
323
314
|
const parsed = yargs((0, helpers_1.hideBin)(process.argv))
|
|
324
315
|
.version(false)
|
|
325
316
|
.help(false)
|
|
326
|
-
.completion("completion_generate_script", (current_, argv) =>
|
|
317
|
+
.completion("completion_generate_script", async (current_, argv) => {
|
|
327
318
|
var _a;
|
|
328
319
|
const args = argv._.slice(1);
|
|
329
320
|
const commands = yok_1.injector
|
|
@@ -351,7 +342,7 @@ class Options {
|
|
|
351
342
|
return this.shorthands.map((o) => `-${o}`);
|
|
352
343
|
}
|
|
353
344
|
return completions;
|
|
354
|
-
})
|
|
345
|
+
});
|
|
355
346
|
this.initialArgv = parsed.argv;
|
|
356
347
|
this.argv = parsed.options(opts).argv;
|
|
357
348
|
this.$settingsService.setSettings({
|
|
@@ -394,7 +385,7 @@ class Options {
|
|
|
394
385
|
});
|
|
395
386
|
}
|
|
396
387
|
}
|
|
388
|
+
exports.Options = Options;
|
|
397
389
|
Options.DASHED_OPTION_REGEX = /(.+?)([A-Z])(.*)/;
|
|
398
390
|
Options.NONDASHED_OPTION_REGEX = /(.+?)[-]([a-zA-Z])(.*)/;
|
|
399
|
-
exports.Options = Options;
|
|
400
391
|
yok_1.injector.register("options", Options);
|
|
@@ -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.PackageInstallationManager = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -24,139 +15,119 @@ class PackageInstallationManager {
|
|
|
24
15
|
this.$staticConfig = $staticConfig;
|
|
25
16
|
this.$projectDataService = $projectDataService;
|
|
26
17
|
}
|
|
27
|
-
getLatestVersion(packageName) {
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const latestVersion = yield this.getLatestVersion(packageName);
|
|
45
|
-
if (semver.satisfies(latestVersion, compatibleVersionRange)) {
|
|
46
|
-
return latestVersion;
|
|
47
|
-
}
|
|
48
|
-
return ((yield this.getMaxSatisfyingVersion(packageName, compatibleVersionRange)) || latestVersion);
|
|
49
|
-
});
|
|
18
|
+
async getLatestVersion(packageName) {
|
|
19
|
+
return await this.getVersion(packageName, constants.PackageVersion.LATEST);
|
|
20
|
+
}
|
|
21
|
+
async getNextVersion(packageName) {
|
|
22
|
+
return await this.getVersion(packageName, constants.PackageVersion.NEXT);
|
|
23
|
+
}
|
|
24
|
+
async getLatestCompatibleVersion(packageName, referenceVersion) {
|
|
25
|
+
referenceVersion = referenceVersion || this.$staticConfig.version;
|
|
26
|
+
const isPreReleaseVersion = semver.prerelease(referenceVersion) !== null;
|
|
27
|
+
const compatibleVersionRange = isPreReleaseVersion
|
|
28
|
+
? `~${referenceVersion}`
|
|
29
|
+
: `~${semver.major(referenceVersion)}.${semver.minor(referenceVersion)}.0`;
|
|
30
|
+
const latestVersion = await this.getLatestVersion(packageName);
|
|
31
|
+
if (semver.satisfies(latestVersion, compatibleVersionRange)) {
|
|
32
|
+
return latestVersion;
|
|
33
|
+
}
|
|
34
|
+
return ((await this.getMaxSatisfyingVersion(packageName, compatibleVersionRange)) || latestVersion);
|
|
50
35
|
}
|
|
51
|
-
getMaxSatisfyingVersion(packageName, versionRange) {
|
|
36
|
+
async getMaxSatisfyingVersion(packageName, versionRange) {
|
|
52
37
|
var _a;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
versions: true,
|
|
56
|
-
});
|
|
57
|
-
let versions;
|
|
58
|
-
if (typeof data === "string") {
|
|
59
|
-
versions = [data];
|
|
60
|
-
}
|
|
61
|
-
else if (data === null || data === void 0 ? void 0 : data.versions) {
|
|
62
|
-
versions = data.versions;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
versions = data;
|
|
66
|
-
}
|
|
67
|
-
if (!versions || !Array.isArray(versions)) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
return (_a = semver.maxSatisfying(versions, versionRange)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
getMaxSatisfyingVersionSafe(packageName, versionIdentifier) {
|
|
74
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
-
let maxDependencyVersion;
|
|
76
|
-
if (semver.valid(versionIdentifier)) {
|
|
77
|
-
maxDependencyVersion = versionIdentifier;
|
|
78
|
-
}
|
|
79
|
-
else if (semver.validRange(versionIdentifier)) {
|
|
80
|
-
maxDependencyVersion = yield this.getMaxSatisfyingVersion(packageName, versionIdentifier);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
maxDependencyVersion = yield this.$packageManager.getTagVersion(packageName, versionIdentifier);
|
|
84
|
-
}
|
|
85
|
-
return maxDependencyVersion;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
getInstalledDependencyVersion(packageName, projectDir) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
const projectData = this.$projectDataService.getProjectData(projectDir);
|
|
91
|
-
const devDependencies = projectData.devDependencies || {};
|
|
92
|
-
const dependencies = projectData.dependencies || {};
|
|
93
|
-
const referencedVersion = dependencies[packageName] || devDependencies[packageName];
|
|
94
|
-
const installedVersion = yield this.getMaxSatisfyingVersionSafe(packageName, referencedVersion);
|
|
95
|
-
return installedVersion;
|
|
38
|
+
const data = await this.$packageManager.view(packageName, {
|
|
39
|
+
versions: true,
|
|
96
40
|
});
|
|
41
|
+
let versions;
|
|
42
|
+
if (typeof data === "string") {
|
|
43
|
+
versions = [data];
|
|
44
|
+
}
|
|
45
|
+
else if (data === null || data === void 0 ? void 0 : data.versions) {
|
|
46
|
+
versions = data.versions;
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
versions = data;
|
|
50
|
+
}
|
|
51
|
+
if (!versions || !Array.isArray(versions)) {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
return (_a = semver.maxSatisfying(versions, versionRange)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
97
55
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
56
|
+
async getMaxSatisfyingVersionSafe(packageName, versionIdentifier) {
|
|
57
|
+
let maxDependencyVersion;
|
|
58
|
+
if (semver.valid(versionIdentifier)) {
|
|
59
|
+
maxDependencyVersion = versionIdentifier;
|
|
60
|
+
}
|
|
61
|
+
else if (semver.validRange(versionIdentifier)) {
|
|
62
|
+
maxDependencyVersion = await this.getMaxSatisfyingVersion(packageName, versionIdentifier);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
maxDependencyVersion = await this.$packageManager.getTagVersion(packageName, versionIdentifier);
|
|
66
|
+
}
|
|
67
|
+
return maxDependencyVersion;
|
|
68
|
+
}
|
|
69
|
+
async getInstalledDependencyVersion(packageName, projectDir) {
|
|
70
|
+
const projectData = this.$projectDataService.getProjectData(projectDir);
|
|
71
|
+
const devDependencies = projectData.devDependencies || {};
|
|
72
|
+
const dependencies = projectData.dependencies || {};
|
|
73
|
+
const referencedVersion = dependencies[packageName] || devDependencies[packageName];
|
|
74
|
+
const installedVersion = await this.getMaxSatisfyingVersionSafe(packageName, referencedVersion);
|
|
75
|
+
return installedVersion;
|
|
76
|
+
}
|
|
77
|
+
async getLatestCompatibleVersionSafe(packageName, referenceVersion) {
|
|
78
|
+
let version = "";
|
|
79
|
+
const canGetVersionFromNpm = await this.$packageManager.isRegistered(packageName);
|
|
80
|
+
if (canGetVersionFromNpm) {
|
|
81
|
+
version = await this.getLatestCompatibleVersion(packageName, referenceVersion);
|
|
82
|
+
}
|
|
83
|
+
return version;
|
|
84
|
+
}
|
|
85
|
+
async install(packageToInstall, projectDir, opts) {
|
|
86
|
+
try {
|
|
87
|
+
const pathToSave = projectDir;
|
|
88
|
+
const version = (opts && opts.version) || null;
|
|
89
|
+
const dependencyType = (opts && opts.dependencyType) || null;
|
|
90
|
+
return await this.installCore(packageToInstall, pathToSave, version, dependencyType);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
this.$logger.trace(error);
|
|
94
|
+
throw error;
|
|
95
|
+
}
|
|
107
96
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
catch (error) {
|
|
117
|
-
this.$logger.trace(error);
|
|
118
|
-
throw error;
|
|
119
|
-
}
|
|
120
|
-
});
|
|
97
|
+
async uninstall(packageToUninstall, projectDir, opts) {
|
|
98
|
+
try {
|
|
99
|
+
return await this.$packageManager.uninstall(packageToUninstall, opts, projectDir);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
this.$logger.trace(error);
|
|
103
|
+
throw error;
|
|
104
|
+
}
|
|
121
105
|
}
|
|
122
|
-
|
|
123
|
-
|
|
106
|
+
async getInspectorFromCache(inspectorNpmPackageName, projectDir) {
|
|
107
|
+
const inspectorPath = path.join(projectDir, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
|
|
108
|
+
if (this.inspectorAlreadyInstalled(inspectorPath)) {
|
|
109
|
+
return inspectorPath;
|
|
110
|
+
}
|
|
111
|
+
const cachePath = this.getInspectorCachePath();
|
|
112
|
+
this.prepareCacheDir(cachePath);
|
|
113
|
+
const pathToPackageInCache = path.join(cachePath, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
|
|
114
|
+
const iOSFrameworkNSValue = this.$projectDataService.getRuntimePackage(projectDir, "ios");
|
|
115
|
+
const version = await this.getLatestCompatibleVersion(inspectorNpmPackageName, iOSFrameworkNSValue.version);
|
|
116
|
+
let shouldInstall = !this.$fs.exists(pathToPackageInCache);
|
|
117
|
+
if (!shouldInstall) {
|
|
124
118
|
try {
|
|
125
|
-
|
|
119
|
+
const installedVersion = this.$fs.readJson(path.join(pathToPackageInCache, constants.PACKAGE_JSON_FILE_NAME)).version;
|
|
120
|
+
shouldInstall = version !== installedVersion;
|
|
126
121
|
}
|
|
127
|
-
catch (
|
|
128
|
-
|
|
129
|
-
throw error;
|
|
130
|
-
}
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
getInspectorFromCache(inspectorNpmPackageName, projectDir) {
|
|
134
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
-
const inspectorPath = path.join(projectDir, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
|
|
136
|
-
if (this.inspectorAlreadyInstalled(inspectorPath)) {
|
|
137
|
-
return inspectorPath;
|
|
122
|
+
catch (err) {
|
|
123
|
+
shouldInstall = true;
|
|
138
124
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (!shouldInstall) {
|
|
146
|
-
try {
|
|
147
|
-
const installedVersion = this.$fs.readJson(path.join(pathToPackageInCache, constants.PACKAGE_JSON_FILE_NAME)).version;
|
|
148
|
-
shouldInstall = version !== installedVersion;
|
|
149
|
-
}
|
|
150
|
-
catch (err) {
|
|
151
|
-
shouldInstall = true;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
if (shouldInstall) {
|
|
155
|
-
yield this.$childProcess.exec(`npm install ${inspectorNpmPackageName}@${version} --prefix ${cachePath}`, { maxBuffer: 250 * 1024 });
|
|
156
|
-
}
|
|
157
|
-
this.$logger.info("Using inspector from cache.");
|
|
158
|
-
return pathToPackageInCache;
|
|
159
|
-
});
|
|
125
|
+
}
|
|
126
|
+
if (shouldInstall) {
|
|
127
|
+
await this.$childProcess.exec(`npm install ${inspectorNpmPackageName}@${version} --prefix ${cachePath}`, { maxBuffer: 250 * 1024 });
|
|
128
|
+
}
|
|
129
|
+
this.$logger.info("Using inspector from cache.");
|
|
130
|
+
return pathToPackageInCache;
|
|
160
131
|
}
|
|
161
132
|
clearInspectorCache() {
|
|
162
133
|
this.$fs.deleteDirectorySafe(this.getInspectorCachePath());
|
|
@@ -180,41 +151,35 @@ class PackageInstallationManager {
|
|
|
180
151
|
}
|
|
181
152
|
return false;
|
|
182
153
|
}
|
|
183
|
-
installCore(packageName, pathToSave, version, dependencyType) {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
version
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
npmOptions[dependencyType] = true;
|
|
204
|
-
}
|
|
205
|
-
return yield this.$packageManager.install(packageName, pathToSave, npmOptions);
|
|
206
|
-
});
|
|
154
|
+
async installCore(packageName, pathToSave, version, dependencyType) {
|
|
155
|
+
const possiblePackageName = path.resolve(packageName);
|
|
156
|
+
if (this.$fs.exists(possiblePackageName)) {
|
|
157
|
+
packageName = possiblePackageName;
|
|
158
|
+
}
|
|
159
|
+
version =
|
|
160
|
+
version || (await this.getLatestCompatibleVersionSafe(packageName));
|
|
161
|
+
const installResultInfo = await this.npmInstall(packageName, pathToSave, version, dependencyType);
|
|
162
|
+
const installedPackageName = installResultInfo.name;
|
|
163
|
+
const pathToInstalledPackage = path.join(pathToSave, "node_modules", installedPackageName);
|
|
164
|
+
return pathToInstalledPackage;
|
|
165
|
+
}
|
|
166
|
+
async npmInstall(packageName, pathToSave, version, dependencyType) {
|
|
167
|
+
this.$logger.info(`Installing ${packageName}`);
|
|
168
|
+
packageName = packageName + (version ? `@${version}` : "");
|
|
169
|
+
const npmOptions = { silent: true, "save-exact": true };
|
|
170
|
+
if (dependencyType) {
|
|
171
|
+
npmOptions[dependencyType] = true;
|
|
172
|
+
}
|
|
173
|
+
return await this.$packageManager.install(packageName, pathToSave, npmOptions);
|
|
207
174
|
}
|
|
208
|
-
getVersion(packageName, version) {
|
|
175
|
+
async getVersion(packageName, version) {
|
|
209
176
|
var _a;
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
"dist-tags": true,
|
|
213
|
-
});
|
|
214
|
-
data = (_a = data === null || data === void 0 ? void 0 : data["dist-tags"]) !== null && _a !== void 0 ? _a : data;
|
|
215
|
-
this.$logger.trace("Using version %s. ", data[version]);
|
|
216
|
-
return data[version];
|
|
177
|
+
let data = await this.$packageManager.view(packageName, {
|
|
178
|
+
"dist-tags": true,
|
|
217
179
|
});
|
|
180
|
+
data = (_a = data === null || data === void 0 ? void 0 : data["dist-tags"]) !== null && _a !== void 0 ? _a : data;
|
|
181
|
+
this.$logger.trace("Using version %s. ", data[version]);
|
|
182
|
+
return data[version];
|
|
218
183
|
}
|
|
219
184
|
}
|
|
220
185
|
exports.PackageInstallationManager = PackageInstallationManager;
|