nativescript 8.9.0-dev.2 → 8.9.0-dev.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/config/test-deps-versions-generated.json +1 -1
- package/docs/man_pages/project/configuration/widget-ios.md +24 -0
- package/docs/man_pages/project/configuration/widget.md +24 -0
- package/docs/man_pages/start.md +1 -1
- package/lib/android-tools-info.js +11 -22
- package/lib/base-package-manager.js +53 -70
- package/lib/bun-package-manager.js +75 -98
- package/lib/color.js +4 -4
- 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 +54 -67
- package/lib/commands/build.js +55 -87
- package/lib/commands/clean.js +169 -184
- package/lib/commands/command-base.js +14 -27
- package/lib/commands/config.js +49 -68
- package/lib/commands/create-project.js +215 -234
- package/lib/commands/debug.js +66 -88
- package/lib/commands/deploy.js +28 -44
- package/lib/commands/embedding/embed.js +37 -56
- 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 +49 -60
- 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 +31 -44
- package/lib/commands/plugin/create-plugin.js +114 -137
- package/lib/commands/plugin/list-plugins.js +22 -33
- package/lib/commands/plugin/remove-plugin.js +21 -34
- package/lib/commands/plugin/update-plugin.js +20 -33
- package/lib/commands/post-install.js +25 -38
- package/lib/commands/prepare.js +19 -35
- package/lib/commands/preview.js +50 -63
- package/lib/commands/remove-platform.js +7 -18
- package/lib/commands/resources/resources-update.js +14 -27
- package/lib/commands/run.js +55 -76
- package/lib/commands/start.js +6 -19
- package/lib/commands/test-init.js +126 -137
- package/lib/commands/test.js +72 -95
- package/lib/commands/typings.js +126 -142
- package/lib/commands/update-platform.js +26 -39
- package/lib/commands/update.js +31 -44
- package/lib/commands/widget.js +408 -357
- 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 +29 -42
- package/lib/common/commands/autocompletion.js +41 -58
- package/lib/common/commands/device/device-log-stream.js +12 -23
- package/lib/common/commands/device/get-file.js +23 -34
- 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 +24 -35
- package/lib/common/commands/device/put-file.js +23 -34
- 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 +27 -42
- package/lib/common/commands/proxy/proxy-base.js +11 -22
- 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 +84 -101
- package/lib/common/errors.js +92 -107
- package/lib/common/file-system.js +110 -132
- package/lib/common/header.js +1 -2
- package/lib/common/helpers.js +149 -178
- package/lib/common/host-info.js +40 -53
- package/lib/common/http-client.js +104 -119
- 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 +4 -4
- package/lib/common/mobile/android/android-application-manager.js +138 -159
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -1
- package/lib/common/mobile/android/android-debug-bridge.js +92 -117
- package/lib/common/mobile/android/android-device-file-system.js +101 -134
- package/lib/common/mobile/android/android-device-hash-service.js +52 -77
- package/lib/common/mobile/android/android-device.js +73 -90
- 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 +78 -99
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -29
- package/lib/common/mobile/android/genymotion/genymotion-service.js +94 -121
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +74 -91
- package/lib/common/mobile/android/logcat-helper.js +114 -133
- package/lib/common/mobile/application-manager-base.js +89 -112
- 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 +106 -143
- 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 +66 -95
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +61 -90
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +31 -47
- 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 +44 -63
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +23 -34
- package/lib/common/mobile/mobile-core/android-process-service.js +174 -213
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -13
- package/lib/common/mobile/mobile-core/devices-service.js +400 -450
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +25 -36
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +49 -64
- 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/prompter.js +91 -106
- package/lib/common/queue.js +9 -20
- package/lib/common/services/auto-completion-service.js +40 -53
- package/lib/common/services/cancellation.js +17 -28
- package/lib/common/services/commands-service.js +156 -179
- package/lib/common/services/help-service.js +130 -155
- package/lib/common/services/hooks-service.js +99 -114
- package/lib/common/services/ios-notification-service.js +21 -34
- package/lib/common/services/json-file-settings-service.js +56 -75
- 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 +6 -17
- package/lib/common/services/net-service.js +92 -109
- 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 +25 -38
- package/lib/config.js +41 -56
- package/lib/constants.js +24 -24
- package/lib/controllers/build-controller.js +82 -99
- package/lib/controllers/debug-controller.js +111 -132
- package/lib/controllers/deploy-controller.js +15 -23
- package/lib/controllers/migrate-controller.js +780 -853
- package/lib/controllers/platform-controller.js +74 -89
- package/lib/controllers/prepare-controller.js +241 -270
- package/lib/controllers/run-controller.js +411 -425
- package/lib/controllers/update-controller-base.js +16 -29
- package/lib/controllers/update-controller.js +101 -126
- package/lib/data/prepare-data.js +4 -1
- package/lib/definitions/project.d.ts +24 -24
- 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 +155 -170
- package/lib/device-sockets/ios/notification.js +1 -1
- package/lib/device-sockets/ios/socket-request-executor.js +26 -41
- package/lib/helpers/android-bundle-validator-helper.js +1 -1
- package/lib/helpers/deploy-command-helper.js +44 -49
- package/lib/helpers/key-command-helper.js +4 -13
- package/lib/helpers/livesync-command-helper.js +138 -153
- 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 +103 -124
- package/lib/key-commands/index.js +150 -200
- package/lib/nativescript-cli.js +5 -14
- package/lib/node-package-manager.js +90 -113
- package/lib/options.js +4 -13
- package/lib/package-installation-manager.js +132 -167
- package/lib/package-manager.js +64 -87
- package/lib/platform-command-param.js +4 -15
- package/lib/pnpm-package-manager.js +60 -79
- 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 +165 -201
- 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 +10 -21
- package/lib/services/android/gradle-build-service.js +22 -35
- package/lib/services/android/gradle-command-service.js +22 -35
- package/lib/services/android-device-debug-service.js +92 -119
- package/lib/services/android-plugin-build-service.js +219 -245
- package/lib/services/android-project-service.js +134 -179
- package/lib/services/android-resources-migration-service.js +57 -70
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -63
- package/lib/services/apple-portal/apple-portal-session-service.js +196 -215
- package/lib/services/apple-portal/srp/srp-wrapper.js +45 -60
- package/lib/services/assets-generation/assets-generation-service.js +114 -128
- 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 +124 -145
- package/lib/services/device/device-install-app-service.js +54 -71
- package/lib/services/doctor-service.js +106 -125
- package/lib/services/extensibility-service.js +87 -106
- package/lib/services/files-hash-service.js +26 -43
- package/lib/services/hmr-status-service.js +1 -1
- package/lib/services/initialize-service.js +38 -51
- package/lib/services/ios/export-options-plist-service.js +41 -54
- package/lib/services/ios/ios-signing-service.js +171 -190
- package/lib/services/ios/spm-service.js +52 -65
- 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 +52 -71
- package/lib/services/ios-debugger-port-service.js +24 -37
- 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 +530 -591
- package/lib/services/ios-provision-service.js +110 -131
- package/lib/services/ios-watch-app-service.js +21 -32
- package/lib/services/ip-service.js +39 -54
- 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 +121 -150
- package/lib/services/livesync/android-device-livesync-sockets-service.js +123 -154
- package/lib/services/livesync/android-livesync-service.js +14 -35
- package/lib/services/livesync/android-livesync-tool.js +90 -113
- package/lib/services/livesync/device-livesync-service-base.js +16 -29
- package/lib/services/livesync/ios-device-livesync-service.js +120 -149
- package/lib/services/livesync/ios-livesync-service.js +43 -59
- package/lib/services/livesync/platform-livesync-service-base.js +98 -123
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +31 -42
- package/lib/services/marking-mode-service.js +17 -30
- package/lib/services/npm-config-service.js +1 -1
- package/lib/services/pacote-service.js +54 -69
- package/lib/services/performance-service.js +1 -1
- package/lib/services/platform/add-platform-service.js +57 -78
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +51 -64
- package/lib/services/platform-environment-requirements.js +27 -38
- package/lib/services/plugins-service.js +126 -151
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +126 -143
- package/lib/services/project-cleanup-service.js +65 -78
- package/lib/services/project-config-service.js +78 -88
- package/lib/services/project-data-service.js +112 -129
- package/lib/services/project-name-service.js +28 -43
- package/lib/services/project-service.js +90 -109
- 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 +15 -26
- package/lib/services/test-execution-service.js +64 -77
- package/lib/services/test-initialization-service.js +2 -2
- package/lib/services/timeline-profiler-service.js +1 -1
- package/lib/services/versions-service.js +120 -139
- package/lib/services/webpack/webpack-compiler-service.js +228 -251
- 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 +62 -81
- package/package.json +67 -82
- package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
- package/node_modules/@npmcli/move-file/README.md +0 -69
- package/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
- package/node_modules/@npmcli/move-file/package.json +0 -47
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -68
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
- package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/glob/README.md +0 -378
- package/node_modules/rimraf/node_modules/glob/common.js +0 -238
- package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
- package/node_modules/rimraf/node_modules/glob/package.json +0 -55
- package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
- package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
- package/node_modules/rimraf/package.json +0 -32
- package/node_modules/rimraf/rimraf.js +0 -360
- package/node_modules/stringify-package/LICENSE +0 -13
- package/node_modules/stringify-package/README.md +0 -55
- package/node_modules/stringify-package/index.js +0 -18
- package/node_modules/stringify-package/package.json +0 -38
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
|
@@ -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,123 +20,110 @@ 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
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
packageName = relativePathFromCwdToSource;
|
|
62
|
-
}
|
|
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
|
+
// Npm creates `etc` directory in installation dir when --prefix is passed
|
|
41
|
+
// https://github.com/npm/npm/issues/11486
|
|
42
|
+
// we should delete it if it was created because of us
|
|
43
|
+
const etcDirectoryLocation = (0, path_1.join)(cwd, "etc");
|
|
44
|
+
const etcExistsPriorToInstallation = this.$fs.exists(etcDirectoryLocation);
|
|
45
|
+
//TODO: plamen5kov: workaround is here for a reason (remove whole file later)
|
|
46
|
+
if (config.path) {
|
|
47
|
+
let relativePathFromCwdToSource = "";
|
|
48
|
+
if (config.frameworkPath) {
|
|
49
|
+
relativePathFromCwdToSource = (0, path_1.relative)(config.frameworkPath, pathToSave);
|
|
50
|
+
if (this.$fs.exists(relativePathFromCwdToSource)) {
|
|
51
|
+
packageName = relativePathFromCwdToSource;
|
|
63
52
|
}
|
|
64
53
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
54
|
+
}
|
|
55
|
+
try {
|
|
56
|
+
const result = await this.processPackageManagerInstall(packageName, params, { cwd, isInstallingAllDependencies });
|
|
57
|
+
return result;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
if (err.message && err.message.indexOf("EPEERINVALID") !== -1) {
|
|
61
|
+
// Not installed peer dependencies are treated by npm 2 as errors, but npm 3 treats them as warnings.
|
|
62
|
+
// We'll show them as warnings and let the user install them in case they are needed.
|
|
63
|
+
this.$logger.warn(err.message);
|
|
68
64
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// All other errors should be handled by the caller code.
|
|
77
|
-
// Revert package.json contents to preserve valid state
|
|
78
|
-
this.$fs.writeJson(packageJsonPath, jsonContentBefore);
|
|
79
|
-
throw err;
|
|
80
|
-
}
|
|
65
|
+
else {
|
|
66
|
+
// All other errors should be handled by the caller code.
|
|
67
|
+
// Revert package.json contents to preserve valid state
|
|
68
|
+
this.$fs.writeJson(packageJsonPath, jsonContentBefore);
|
|
69
|
+
throw err;
|
|
81
70
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
71
|
+
}
|
|
72
|
+
finally {
|
|
73
|
+
if (!etcExistsPriorToInstallation) {
|
|
74
|
+
this.$fs.deleteDirectory(etcDirectoryLocation);
|
|
86
75
|
}
|
|
87
|
-
}
|
|
76
|
+
}
|
|
88
77
|
}
|
|
89
|
-
uninstall(packageName, config, path) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
cwd: path,
|
|
94
|
-
});
|
|
78
|
+
async uninstall(packageName, config, path) {
|
|
79
|
+
const flags = this.getFlagsString(config, false);
|
|
80
|
+
return this.$childProcess.exec(`npm uninstall ${packageName} ${flags}`, {
|
|
81
|
+
cwd: path,
|
|
95
82
|
});
|
|
96
83
|
}
|
|
97
|
-
search(filter, config) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return this.$childProcess.exec(`npm search ${filter.join(" ")} ${flags}`);
|
|
101
|
-
});
|
|
84
|
+
async search(filter, config) {
|
|
85
|
+
const flags = this.getFlagsString(config, false);
|
|
86
|
+
return this.$childProcess.exec(`npm search ${filter.join(" ")} ${flags}`);
|
|
102
87
|
}
|
|
103
|
-
view(packageName, config) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
});
|
|
88
|
+
async view(packageName, config) {
|
|
89
|
+
const wrappedConfig = _.extend({}, config, { json: true }); // always require view response as JSON
|
|
90
|
+
const flags = this.getFlagsString(wrappedConfig, false);
|
|
91
|
+
let viewResult;
|
|
92
|
+
try {
|
|
93
|
+
viewResult = await this.$childProcess.exec(`npm view ${packageName} ${flags}`);
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
this.$errors.fail(e.message);
|
|
97
|
+
}
|
|
98
|
+
try {
|
|
99
|
+
return JSON.parse(viewResult);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
121
104
|
}
|
|
122
|
-
searchNpms(keyword) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
return result;
|
|
128
|
-
});
|
|
105
|
+
async searchNpms(keyword) {
|
|
106
|
+
// TODO: Fix the generation of url - in case it contains @ or / , the call may fail.
|
|
107
|
+
const httpRequestResult = await this.$httpClient.httpRequest(`https://api.npms.io/v2/search?q=keywords:${keyword}`);
|
|
108
|
+
const result = JSON.parse(httpRequestResult.body);
|
|
109
|
+
return result;
|
|
129
110
|
}
|
|
130
|
-
getRegistryPackageData(packageName) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return jsonData;
|
|
140
|
-
});
|
|
111
|
+
async getRegistryPackageData(packageName) {
|
|
112
|
+
const registry = await this.$childProcess.exec(`npm config get registry`);
|
|
113
|
+
const url = registry.trim() + packageName;
|
|
114
|
+
this.$logger.trace(`Trying to get data from npm registry for package ${packageName}, url is: ${url}`);
|
|
115
|
+
const responseData = (await this.$httpClient.httpRequest(url)).body;
|
|
116
|
+
this.$logger.trace(`Successfully received data from npm registry for package ${packageName}. Response data is: ${responseData}`);
|
|
117
|
+
const jsonData = JSON.parse(responseData);
|
|
118
|
+
this.$logger.trace(`Successfully parsed data from npm registry for package ${packageName}.`);
|
|
119
|
+
return jsonData;
|
|
141
120
|
}
|
|
142
|
-
getCachePath() {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
return (0, path_1.join)(cachePath.trim(), constants_1.CACACHE_DIRECTORY_NAME);
|
|
146
|
-
});
|
|
121
|
+
async getCachePath() {
|
|
122
|
+
const cachePath = await this.$childProcess.exec(`npm config get cache`);
|
|
123
|
+
return (0, path_1.join)(cachePath.trim(), constants_1.CACACHE_DIRECTORY_NAME);
|
|
147
124
|
}
|
|
148
125
|
}
|
|
126
|
+
exports.NodePackageManager = NodePackageManager;
|
|
149
127
|
__decorate([
|
|
150
128
|
(0, decorators_1.exported)("npm")
|
|
151
129
|
], NodePackageManager.prototype, "install", null);
|
|
@@ -161,6 +139,5 @@ __decorate([
|
|
|
161
139
|
__decorate([
|
|
162
140
|
(0, decorators_1.cache)()
|
|
163
141
|
], NodePackageManager.prototype, "getCachePath", null);
|
|
164
|
-
exports.NodePackageManager = NodePackageManager;
|
|
165
142
|
yok_1.injector.register("npm", NodePackageManager);
|
|
166
143
|
//# sourceMappingURL=node-package-manager.js.map
|
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");
|
|
@@ -178,7 +169,7 @@ class Options {
|
|
|
178
169
|
debugPort: { type: "number" /* OptionType.Number */, hasSensitiveValue: false },
|
|
179
170
|
start: { type: "boolean" /* OptionType.Boolean */, hasSensitiveValue: false },
|
|
180
171
|
stop: { type: "boolean" /* OptionType.Boolean */, hasSensitiveValue: false },
|
|
181
|
-
ddi: { type: "string" /* OptionType.String */, hasSensitiveValue: true },
|
|
172
|
+
ddi: { type: "string" /* OptionType.String */, hasSensitiveValue: true }, // the path to developer disk image
|
|
182
173
|
justlaunch: { type: "boolean" /* OptionType.Boolean */, hasSensitiveValue: false },
|
|
183
174
|
file: { type: "string" /* OptionType.String */, hasSensitiveValue: true },
|
|
184
175
|
force: { type: "boolean" /* OptionType.Boolean */, alias: "f", hasSensitiveValue: false },
|
|
@@ -330,7 +321,7 @@ class Options {
|
|
|
330
321
|
const parsed = yargs((0, helpers_1.hideBin)(process.argv))
|
|
331
322
|
.version(false)
|
|
332
323
|
.help(false)
|
|
333
|
-
.completion("completion_generate_script", (current_, argv) =>
|
|
324
|
+
.completion("completion_generate_script", async (current_, argv) => {
|
|
334
325
|
var _a;
|
|
335
326
|
const args = argv._.slice(1);
|
|
336
327
|
const commands = yok_1.injector
|
|
@@ -364,7 +355,7 @@ class Options {
|
|
|
364
355
|
}
|
|
365
356
|
// autocomplete matched completions
|
|
366
357
|
return completions;
|
|
367
|
-
})
|
|
358
|
+
});
|
|
368
359
|
this.initialArgv = parsed.argv;
|
|
369
360
|
this.argv = parsed.options(opts).argv;
|
|
370
361
|
// For backwards compatibility
|
|
@@ -412,8 +403,8 @@ class Options {
|
|
|
412
403
|
});
|
|
413
404
|
}
|
|
414
405
|
}
|
|
406
|
+
exports.Options = Options;
|
|
415
407
|
Options.DASHED_OPTION_REGEX = /(.+?)([A-Z])(.*)/;
|
|
416
408
|
Options.NONDASHED_OPTION_REGEX = /(.+?)[-]([a-zA-Z])(.*)/;
|
|
417
|
-
exports.Options = Options;
|
|
418
409
|
yok_1.injector.register("options", Options);
|
|
419
410
|
//# sourceMappingURL=options.js.map
|
|
@@ -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,141 +15,121 @@ 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
|
-
|
|
45
|
-
const latestVersion = yield this.getLatestVersion(packageName);
|
|
46
|
-
if (semver.satisfies(latestVersion, compatibleVersionRange)) {
|
|
47
|
-
return latestVersion;
|
|
48
|
-
}
|
|
49
|
-
return ((yield this.getMaxSatisfyingVersion(packageName, compatibleVersionRange)) || latestVersion);
|
|
50
|
-
});
|
|
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
|
+
// if the user has some v.v.v-prerelease-xx.xx pre-release version, include pre-release versions in the search query.
|
|
28
|
+
const compatibleVersionRange = isPreReleaseVersion
|
|
29
|
+
? `~${referenceVersion}`
|
|
30
|
+
: `~${semver.major(referenceVersion)}.${semver.minor(referenceVersion)}.0`;
|
|
31
|
+
const latestVersion = await this.getLatestVersion(packageName);
|
|
32
|
+
if (semver.satisfies(latestVersion, compatibleVersionRange)) {
|
|
33
|
+
return latestVersion;
|
|
34
|
+
}
|
|
35
|
+
return ((await this.getMaxSatisfyingVersion(packageName, compatibleVersionRange)) || latestVersion);
|
|
51
36
|
}
|
|
52
|
-
getMaxSatisfyingVersion(packageName, versionRange) {
|
|
37
|
+
async getMaxSatisfyingVersion(packageName, versionRange) {
|
|
53
38
|
var _a;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
versions: true,
|
|
57
|
-
});
|
|
58
|
-
let versions;
|
|
59
|
-
if (typeof data === "string") {
|
|
60
|
-
versions = [data];
|
|
61
|
-
}
|
|
62
|
-
else if (data === null || data === void 0 ? void 0 : data.versions) {
|
|
63
|
-
versions = data.versions;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
versions = data;
|
|
67
|
-
}
|
|
68
|
-
if (!versions || !Array.isArray(versions)) {
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
return (_a = semver.maxSatisfying(versions, versionRange)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
getMaxSatisfyingVersionSafe(packageName, versionIdentifier) {
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
let maxDependencyVersion;
|
|
77
|
-
if (semver.valid(versionIdentifier)) {
|
|
78
|
-
maxDependencyVersion = versionIdentifier;
|
|
79
|
-
}
|
|
80
|
-
else if (semver.validRange(versionIdentifier)) {
|
|
81
|
-
maxDependencyVersion = yield this.getMaxSatisfyingVersion(packageName, versionIdentifier);
|
|
82
|
-
}
|
|
83
|
-
else {
|
|
84
|
-
maxDependencyVersion = yield this.$packageManager.getTagVersion(packageName, versionIdentifier);
|
|
85
|
-
}
|
|
86
|
-
return maxDependencyVersion;
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
getInstalledDependencyVersion(packageName, projectDir) {
|
|
90
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
91
|
-
const projectData = this.$projectDataService.getProjectData(projectDir);
|
|
92
|
-
const devDependencies = projectData.devDependencies || {};
|
|
93
|
-
const dependencies = projectData.dependencies || {};
|
|
94
|
-
const referencedVersion = dependencies[packageName] || devDependencies[packageName];
|
|
95
|
-
const installedVersion = yield this.getMaxSatisfyingVersionSafe(packageName, referencedVersion);
|
|
96
|
-
return installedVersion;
|
|
39
|
+
const data = await this.$packageManager.view(packageName, {
|
|
40
|
+
versions: true,
|
|
97
41
|
});
|
|
42
|
+
let versions;
|
|
43
|
+
if (typeof data === "string") {
|
|
44
|
+
versions = [data];
|
|
45
|
+
}
|
|
46
|
+
else if (data === null || data === void 0 ? void 0 : data.versions) {
|
|
47
|
+
versions = data.versions;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
versions = data;
|
|
51
|
+
}
|
|
52
|
+
if (!versions || !Array.isArray(versions)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
return (_a = semver.maxSatisfying(versions, versionRange)) === null || _a === void 0 ? void 0 : _a.toString();
|
|
98
56
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
57
|
+
async getMaxSatisfyingVersionSafe(packageName, versionIdentifier) {
|
|
58
|
+
let maxDependencyVersion;
|
|
59
|
+
if (semver.valid(versionIdentifier)) {
|
|
60
|
+
maxDependencyVersion = versionIdentifier;
|
|
61
|
+
}
|
|
62
|
+
else if (semver.validRange(versionIdentifier)) {
|
|
63
|
+
maxDependencyVersion = await this.getMaxSatisfyingVersion(packageName, versionIdentifier);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
maxDependencyVersion = await this.$packageManager.getTagVersion(packageName, versionIdentifier);
|
|
67
|
+
}
|
|
68
|
+
return maxDependencyVersion;
|
|
69
|
+
}
|
|
70
|
+
async getInstalledDependencyVersion(packageName, projectDir) {
|
|
71
|
+
const projectData = this.$projectDataService.getProjectData(projectDir);
|
|
72
|
+
const devDependencies = projectData.devDependencies || {};
|
|
73
|
+
const dependencies = projectData.dependencies || {};
|
|
74
|
+
const referencedVersion = dependencies[packageName] || devDependencies[packageName];
|
|
75
|
+
const installedVersion = await this.getMaxSatisfyingVersionSafe(packageName, referencedVersion);
|
|
76
|
+
return installedVersion;
|
|
77
|
+
}
|
|
78
|
+
async getLatestCompatibleVersionSafe(packageName, referenceVersion) {
|
|
79
|
+
let version = "";
|
|
80
|
+
const canGetVersionFromNpm = await this.$packageManager.isRegistered(packageName);
|
|
81
|
+
if (canGetVersionFromNpm) {
|
|
82
|
+
version = await this.getLatestCompatibleVersion(packageName, referenceVersion);
|
|
83
|
+
}
|
|
84
|
+
return version;
|
|
85
|
+
}
|
|
86
|
+
async install(packageToInstall, projectDir, opts) {
|
|
87
|
+
try {
|
|
88
|
+
const pathToSave = projectDir;
|
|
89
|
+
const version = (opts && opts.version) || null;
|
|
90
|
+
const dependencyType = (opts && opts.dependencyType) || null;
|
|
91
|
+
return await this.installCore(packageToInstall, pathToSave, version, dependencyType);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
this.$logger.trace(error);
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
108
97
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
catch (error) {
|
|
118
|
-
this.$logger.trace(error);
|
|
119
|
-
throw error;
|
|
120
|
-
}
|
|
121
|
-
});
|
|
98
|
+
async uninstall(packageToUninstall, projectDir, opts) {
|
|
99
|
+
try {
|
|
100
|
+
return await this.$packageManager.uninstall(packageToUninstall, opts, projectDir);
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
this.$logger.trace(error);
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
122
106
|
}
|
|
123
|
-
|
|
124
|
-
|
|
107
|
+
async getInspectorFromCache(inspectorNpmPackageName, projectDir) {
|
|
108
|
+
const inspectorPath = path.join(projectDir, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
|
|
109
|
+
// local installation takes precedence over cache
|
|
110
|
+
if (this.inspectorAlreadyInstalled(inspectorPath)) {
|
|
111
|
+
return inspectorPath;
|
|
112
|
+
}
|
|
113
|
+
const cachePath = this.getInspectorCachePath();
|
|
114
|
+
this.prepareCacheDir(cachePath);
|
|
115
|
+
const pathToPackageInCache = path.join(cachePath, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
|
|
116
|
+
const iOSFrameworkNSValue = this.$projectDataService.getRuntimePackage(projectDir, "ios" /* constants.PlatformTypes.ios */);
|
|
117
|
+
const version = await this.getLatestCompatibleVersion(inspectorNpmPackageName, iOSFrameworkNSValue.version);
|
|
118
|
+
let shouldInstall = !this.$fs.exists(pathToPackageInCache);
|
|
119
|
+
if (!shouldInstall) {
|
|
125
120
|
try {
|
|
126
|
-
|
|
121
|
+
const installedVersion = this.$fs.readJson(path.join(pathToPackageInCache, constants.PACKAGE_JSON_FILE_NAME)).version;
|
|
122
|
+
shouldInstall = version !== installedVersion;
|
|
127
123
|
}
|
|
128
|
-
catch (
|
|
129
|
-
|
|
130
|
-
throw error;
|
|
131
|
-
}
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
getInspectorFromCache(inspectorNpmPackageName, projectDir) {
|
|
135
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
const inspectorPath = path.join(projectDir, constants.NODE_MODULES_FOLDER_NAME, inspectorNpmPackageName);
|
|
137
|
-
// local installation takes precedence over cache
|
|
138
|
-
if (this.inspectorAlreadyInstalled(inspectorPath)) {
|
|
139
|
-
return inspectorPath;
|
|
124
|
+
catch (err) {
|
|
125
|
+
shouldInstall = true;
|
|
140
126
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (!shouldInstall) {
|
|
148
|
-
try {
|
|
149
|
-
const installedVersion = this.$fs.readJson(path.join(pathToPackageInCache, constants.PACKAGE_JSON_FILE_NAME)).version;
|
|
150
|
-
shouldInstall = version !== installedVersion;
|
|
151
|
-
}
|
|
152
|
-
catch (err) {
|
|
153
|
-
shouldInstall = true;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
if (shouldInstall) {
|
|
157
|
-
yield this.$childProcess.exec(`npm install ${inspectorNpmPackageName}@${version} --prefix ${cachePath}`, { maxBuffer: 250 * 1024 });
|
|
158
|
-
}
|
|
159
|
-
this.$logger.info("Using inspector from cache.");
|
|
160
|
-
return pathToPackageInCache;
|
|
161
|
-
});
|
|
127
|
+
}
|
|
128
|
+
if (shouldInstall) {
|
|
129
|
+
await this.$childProcess.exec(`npm install ${inspectorNpmPackageName}@${version} --prefix ${cachePath}`, { maxBuffer: 250 * 1024 });
|
|
130
|
+
}
|
|
131
|
+
this.$logger.info("Using inspector from cache.");
|
|
132
|
+
return pathToPackageInCache;
|
|
162
133
|
}
|
|
163
134
|
clearInspectorCache() {
|
|
164
135
|
this.$fs.deleteDirectorySafe(this.getInspectorCachePath());
|
|
@@ -182,45 +153,39 @@ class PackageInstallationManager {
|
|
|
182
153
|
}
|
|
183
154
|
return false;
|
|
184
155
|
}
|
|
185
|
-
installCore(packageName, pathToSave, version, dependencyType) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
version
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
npmOptions[dependencyType] = true;
|
|
206
|
-
}
|
|
207
|
-
return yield this.$packageManager.install(packageName, pathToSave, npmOptions);
|
|
208
|
-
});
|
|
156
|
+
async installCore(packageName, pathToSave, version, dependencyType) {
|
|
157
|
+
const possiblePackageName = path.resolve(packageName);
|
|
158
|
+
if (this.$fs.exists(possiblePackageName)) {
|
|
159
|
+
packageName = possiblePackageName;
|
|
160
|
+
}
|
|
161
|
+
version =
|
|
162
|
+
version || (await this.getLatestCompatibleVersionSafe(packageName));
|
|
163
|
+
const installResultInfo = await this.npmInstall(packageName, pathToSave, version, dependencyType);
|
|
164
|
+
const installedPackageName = installResultInfo.name;
|
|
165
|
+
const pathToInstalledPackage = path.join(pathToSave, "node_modules", installedPackageName);
|
|
166
|
+
return pathToInstalledPackage;
|
|
167
|
+
}
|
|
168
|
+
async npmInstall(packageName, pathToSave, version, dependencyType) {
|
|
169
|
+
this.$logger.info(`Installing ${packageName}`);
|
|
170
|
+
packageName = packageName + (version ? `@${version}` : "");
|
|
171
|
+
const npmOptions = { silent: true, "save-exact": true };
|
|
172
|
+
if (dependencyType) {
|
|
173
|
+
npmOptions[dependencyType] = true;
|
|
174
|
+
}
|
|
175
|
+
return await this.$packageManager.install(packageName, pathToSave, npmOptions);
|
|
209
176
|
}
|
|
210
177
|
/**
|
|
211
178
|
* This function must not be used with packageName being a URL or local file,
|
|
212
179
|
* because npm view doens't work with those
|
|
213
180
|
*/
|
|
214
|
-
getVersion(packageName, version) {
|
|
181
|
+
async getVersion(packageName, version) {
|
|
215
182
|
var _a;
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
"dist-tags": true,
|
|
219
|
-
});
|
|
220
|
-
data = (_a = data === null || data === void 0 ? void 0 : data["dist-tags"]) !== null && _a !== void 0 ? _a : data;
|
|
221
|
-
this.$logger.trace("Using version %s. ", data[version]);
|
|
222
|
-
return data[version];
|
|
183
|
+
let data = await this.$packageManager.view(packageName, {
|
|
184
|
+
"dist-tags": true,
|
|
223
185
|
});
|
|
186
|
+
data = (_a = data === null || data === void 0 ? void 0 : data["dist-tags"]) !== null && _a !== void 0 ? _a : data;
|
|
187
|
+
this.$logger.trace("Using version %s. ", data[version]);
|
|
188
|
+
return data[version];
|
|
224
189
|
}
|
|
225
190
|
}
|
|
226
191
|
exports.PackageInstallationManager = PackageInstallationManager;
|