@akylas/nativescript-cli 8.7.2 → 8.8.3
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/native/native-add-java.md +32 -0
- package/docs/man_pages/project/configuration/native/native-add-kotlin.md +34 -0
- package/docs/man_pages/project/configuration/native/native-add-objective-c.md +34 -0
- package/docs/man_pages/project/configuration/native/native-add-swift.md +32 -0
- package/docs/man_pages/project/configuration/native/native-add.md +31 -0
- package/docs/man_pages/project/configuration/native/native.md +31 -0
- package/lib/.d.ts +2 -0
- package/lib/android-tools-info.js +9 -20
- package/lib/base-package-manager.js +47 -64
- package/lib/bootstrap.js +8 -0
- 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 +72 -0
- 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 +277 -0
- 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 -45
- 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 +28 -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 -94
- 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 -118
- 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/emulator-helper.js +1 -0
- 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 +2 -2
- 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 +7 -0
- 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 +727 -800
- package/lib/controllers/platform-controller.js +72 -83
- package/lib/controllers/prepare-controller.js +264 -250
- 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/build-data.js +2 -0
- package/lib/data/prepare-data.js +5 -1
- package/lib/declarations.d.ts +14 -3
- package/lib/definitions/android-plugin-migrator.d.ts +1 -0
- package/lib/definitions/ios-debugger-port-service.d.ts +1 -1
- package/lib/definitions/livesync.d.ts +1 -1
- package/lib/definitions/platform.d.ts +1 -0
- package/lib/definitions/prepare.d.ts +3 -0
- package/lib/definitions/project.d.ts +5 -0
- 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 +102 -114
- 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 +12 -14
- 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 +5 -2
- package/lib/providers/project-files-provider.js +2 -2
- 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 +13 -23
- package/lib/services/android/gradle-build-service.js +34 -47
- package/lib/services/android/gradle-command-service.js +23 -32
- package/lib/services/android-device-debug-service.js +90 -117
- package/lib/services/android-plugin-build-service.js +233 -247
- package/lib/services/android-project-service.js +180 -219
- 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 +100 -113
- 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 +118 -133
- 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 +28 -44
- 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 +418 -440
- 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 +123 -155
- package/lib/services/livesync/android-livesync-service.js +16 -37
- 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 +44 -60
- package/lib/services/livesync/platform-livesync-service-base.js +96 -120
- package/lib/services/log-parser-service.js +1 -1
- package/lib/services/log-source-map-service.js +33 -43
- 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 +53 -69
- package/lib/services/platform/platform-validation-service.js +22 -33
- package/lib/services/platform/prepare-native-platform-service.js +50 -60
- package/lib/services/platform-environment-requirements.js +29 -38
- package/lib/services/plugins-service.js +128 -147
- package/lib/services/project-backup-service.js +1 -1
- package/lib/services/project-changes-service.js +129 -139
- 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 +116 -139
- 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 +212 -224
- package/lib/services/xcconfig-service.js +8 -19
- package/lib/services/xcproj-service.js +12 -0
- 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 +59 -57
- package/vendor/aab-tool/README.txt +1 -1
- package/vendor/aab-tool/bundletool.jar +0 -0
- package/vendor/gradle-app/app/build.gradle +12 -4
- package/vendor/gradle-plugin/build.gradle +12 -4
- 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.PlatformLiveSyncServiceBase = void 0;
|
|
19
10
|
const path = require("path");
|
|
@@ -24,12 +15,13 @@ const helpers_1 = require("../../common/helpers");
|
|
|
24
15
|
const decorators_1 = require("../../common/decorators");
|
|
25
16
|
const color_1 = require("../../color");
|
|
26
17
|
class PlatformLiveSyncServiceBase {
|
|
27
|
-
constructor($fs, $logger, $platformsDataService, $projectFilesManager, $devicePathProvider) {
|
|
18
|
+
constructor($fs, $logger, $platformsDataService, $projectFilesManager, $devicePathProvider, $options) {
|
|
28
19
|
this.$fs = $fs;
|
|
29
20
|
this.$logger = $logger;
|
|
30
21
|
this.$platformsDataService = $platformsDataService;
|
|
31
22
|
this.$projectFilesManager = $projectFilesManager;
|
|
32
23
|
this.$devicePathProvider = $devicePathProvider;
|
|
24
|
+
this.$options = $options;
|
|
33
25
|
this._deviceLiveSyncServicesCache = {};
|
|
34
26
|
}
|
|
35
27
|
getDeviceLiveSyncService(device, projectData) {
|
|
@@ -42,126 +34,110 @@ class PlatformLiveSyncServiceBase {
|
|
|
42
34
|
}
|
|
43
35
|
return this._deviceLiveSyncServicesCache[key];
|
|
44
36
|
}
|
|
45
|
-
shouldRestart(projectData, liveSyncInfo) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return shouldRestart;
|
|
50
|
-
});
|
|
37
|
+
async shouldRestart(projectData, liveSyncInfo) {
|
|
38
|
+
const deviceLiveSyncService = this.getDeviceLiveSyncService(liveSyncInfo.deviceAppData.device, projectData);
|
|
39
|
+
const shouldRestart = await deviceLiveSyncService.shouldRestart(projectData, liveSyncInfo);
|
|
40
|
+
return shouldRestart;
|
|
51
41
|
}
|
|
52
|
-
syncAfterInstall(device, liveSyncInfo) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
});
|
|
42
|
+
async syncAfterInstall(device, liveSyncInfo) {
|
|
55
43
|
}
|
|
56
|
-
restartApplication(projectData, liveSyncInfo) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
yield deviceLiveSyncService.restartApplication(projectData, liveSyncInfo);
|
|
61
|
-
});
|
|
44
|
+
async restartApplication(projectData, liveSyncInfo) {
|
|
45
|
+
const deviceLiveSyncService = this.getDeviceLiveSyncService(liveSyncInfo.deviceAppData.device, projectData);
|
|
46
|
+
this.$logger.info(`Restarting application on device ${liveSyncInfo.deviceAppData.device.deviceInfo.identifier}...`);
|
|
47
|
+
await deviceLiveSyncService.restartApplication(projectData, liveSyncInfo);
|
|
62
48
|
}
|
|
63
|
-
tryRefreshApplication(projectData, liveSyncInfo) {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return didRefresh;
|
|
72
|
-
});
|
|
49
|
+
async tryRefreshApplication(projectData, liveSyncInfo) {
|
|
50
|
+
let didRefresh = true;
|
|
51
|
+
if (liveSyncInfo.isFullSync || liveSyncInfo.modifiedFilesData.length) {
|
|
52
|
+
const deviceLiveSyncService = this.getDeviceLiveSyncService(liveSyncInfo.deviceAppData.device, projectData);
|
|
53
|
+
this.$logger.info(`Refreshing application on device ${liveSyncInfo.deviceAppData.device.deviceInfo.identifier}...`);
|
|
54
|
+
didRefresh = await deviceLiveSyncService.tryRefreshApplication(projectData, liveSyncInfo);
|
|
55
|
+
}
|
|
56
|
+
return didRefresh;
|
|
73
57
|
}
|
|
74
|
-
fullSync(syncInfo) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
};
|
|
93
|
-
});
|
|
58
|
+
async fullSync(syncInfo) {
|
|
59
|
+
const projectData = syncInfo.projectData;
|
|
60
|
+
const device = syncInfo.device;
|
|
61
|
+
const deviceLiveSyncService = this.getDeviceLiveSyncService(device, syncInfo.projectData);
|
|
62
|
+
const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
|
|
63
|
+
const deviceAppData = await this.getAppData(syncInfo);
|
|
64
|
+
if (deviceLiveSyncService.beforeLiveSyncAction) {
|
|
65
|
+
await deviceLiveSyncService.beforeLiveSyncAction(deviceAppData);
|
|
66
|
+
}
|
|
67
|
+
const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
|
|
68
|
+
const localToDevicePaths = await this.$projectFilesManager.createLocalToDevicePaths(deviceAppData, projectFilesPath, null, []);
|
|
69
|
+
const modifiedFilesData = await this.transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, syncInfo.liveSyncDeviceData, { isFullSync: true, force: syncInfo.force });
|
|
70
|
+
return {
|
|
71
|
+
modifiedFilesData,
|
|
72
|
+
isFullSync: true,
|
|
73
|
+
deviceAppData,
|
|
74
|
+
useHotModuleReload: syncInfo.useHotModuleReload,
|
|
75
|
+
};
|
|
94
76
|
}
|
|
95
|
-
liveSyncWatchAction(device, liveSyncInfo) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
this.$logger.trace("The following files will not be synced as they do not exist:", skippedFiles);
|
|
112
|
-
}
|
|
113
|
-
if (existingFiles.length) {
|
|
114
|
-
const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
|
|
115
|
-
const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, constants_1.APP_FOLDER_NAME);
|
|
116
|
-
const localToDevicePaths = yield this.$projectFilesManager.createLocalToDevicePaths(deviceAppData, projectFilesPath, existingFiles, []);
|
|
117
|
-
modifiedLocalToDevicePaths.push(...localToDevicePaths);
|
|
118
|
-
modifiedLocalToDevicePaths = yield this.transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncInfo.liveSyncDeviceData, { isFullSync: false, force: liveSyncInfo.force });
|
|
119
|
-
}
|
|
77
|
+
async liveSyncWatchAction(device, liveSyncInfo) {
|
|
78
|
+
const projectData = liveSyncInfo.projectData;
|
|
79
|
+
const deviceLiveSyncService = this.getDeviceLiveSyncService(device, projectData);
|
|
80
|
+
const syncInfo = _.merge({ device, watch: true }, liveSyncInfo);
|
|
81
|
+
const deviceAppData = await this.getAppData(syncInfo);
|
|
82
|
+
if (deviceLiveSyncService.beforeLiveSyncAction) {
|
|
83
|
+
await deviceLiveSyncService.beforeLiveSyncAction(deviceAppData);
|
|
84
|
+
}
|
|
85
|
+
let modifiedLocalToDevicePaths = [];
|
|
86
|
+
if (liveSyncInfo.filesToSync.length) {
|
|
87
|
+
const filesToSync = liveSyncInfo.filesToSync;
|
|
88
|
+
const existingFiles = filesToSync.filter((m) => m && this.$fs.exists(m));
|
|
89
|
+
this.$logger.trace("Will execute livesync for files: ", existingFiles);
|
|
90
|
+
const skippedFiles = _.difference(filesToSync, existingFiles);
|
|
91
|
+
if (skippedFiles.length) {
|
|
92
|
+
this.$logger.trace("The following files will not be synced as they do not exist:", skippedFiles);
|
|
120
93
|
}
|
|
121
|
-
if (
|
|
122
|
-
const filePaths = liveSyncInfo.filesToRemove;
|
|
94
|
+
if (existingFiles.length) {
|
|
123
95
|
const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
.value();
|
|
127
|
-
const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, constants_1.APP_FOLDER_NAME);
|
|
128
|
-
const localToDevicePaths = yield this.$projectFilesManager.createLocalToDevicePaths(deviceAppData, projectFilesPath, mappedFiles, []);
|
|
96
|
+
const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
|
|
97
|
+
const localToDevicePaths = await this.$projectFilesManager.createLocalToDevicePaths(deviceAppData, projectFilesPath, existingFiles, []);
|
|
129
98
|
modifiedLocalToDevicePaths.push(...localToDevicePaths);
|
|
130
|
-
|
|
99
|
+
modifiedLocalToDevicePaths = await this.transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncInfo.liveSyncDeviceData, { isFullSync: false, force: liveSyncInfo.force });
|
|
131
100
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
101
|
+
}
|
|
102
|
+
if (liveSyncInfo.filesToRemove.length) {
|
|
103
|
+
const filePaths = liveSyncInfo.filesToRemove;
|
|
104
|
+
const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
|
|
105
|
+
const mappedFiles = _(filePaths)
|
|
106
|
+
.filter((filePath) => !!filePath)
|
|
107
|
+
.value();
|
|
108
|
+
const projectFilesPath = path.join(platformData.appDestinationDirectoryPath, constants_1.APP_FOLDER_NAME);
|
|
109
|
+
const localToDevicePaths = await this.$projectFilesManager.createLocalToDevicePaths(deviceAppData, projectFilesPath, mappedFiles, []);
|
|
110
|
+
modifiedLocalToDevicePaths.push(...localToDevicePaths);
|
|
111
|
+
await deviceLiveSyncService.removeFiles(deviceAppData, localToDevicePaths, projectFilesPath);
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
modifiedFilesData: modifiedLocalToDevicePaths,
|
|
115
|
+
isFullSync: false,
|
|
116
|
+
deviceAppData,
|
|
117
|
+
useHotModuleReload: liveSyncInfo.useHotModuleReload,
|
|
118
|
+
};
|
|
139
119
|
}
|
|
140
|
-
transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncDeviceData, options) {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return transferredFiles;
|
|
148
|
-
});
|
|
120
|
+
async transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncDeviceData, options) {
|
|
121
|
+
let transferredFiles = [];
|
|
122
|
+
const deviceLiveSyncService = this.getDeviceLiveSyncService(deviceAppData.device, projectData);
|
|
123
|
+
transferredFiles = await deviceLiveSyncService.transferFiles(deviceAppData, localToDevicePaths, projectFilesPath, projectData, liveSyncDeviceData, options);
|
|
124
|
+
await deviceAppData.device.applicationManager.setTransferredAppFiles(localToDevicePaths.map((l) => l.getLocalPath()));
|
|
125
|
+
this.logFilesSyncInformation(transferredFiles, "Successfully transferred %s on device %s.", this.$logger.info, deviceAppData.device.deviceInfo.identifier);
|
|
126
|
+
return transferredFiles;
|
|
149
127
|
}
|
|
150
|
-
getAppData(syncInfo) {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
};
|
|
164
|
-
});
|
|
128
|
+
async getAppData(syncInfo) {
|
|
129
|
+
const platform = syncInfo.device.deviceInfo.platform.toLowerCase();
|
|
130
|
+
const appIdentifier = syncInfo.projectData.projectIdentifiers[platform];
|
|
131
|
+
const deviceProjectRootOptions = _.assign({ appIdentifier }, syncInfo);
|
|
132
|
+
return {
|
|
133
|
+
appIdentifier,
|
|
134
|
+
device: syncInfo.device,
|
|
135
|
+
platform: syncInfo.device.deviceInfo.platform,
|
|
136
|
+
getDeviceProjectRootPath: () => this.$devicePathProvider.getDeviceProjectRootPath(syncInfo.device, deviceProjectRootOptions),
|
|
137
|
+
deviceSyncZipPath: this.$devicePathProvider.getDeviceSyncZipPath(syncInfo.device),
|
|
138
|
+
connectTimeout: syncInfo.connectTimeout,
|
|
139
|
+
projectDir: syncInfo.projectData.projectDir,
|
|
140
|
+
};
|
|
165
141
|
}
|
|
166
142
|
logFilesSyncInformation(localToDevicePaths, message, action, deviceIdentifier) {
|
|
167
143
|
if (localToDevicePaths && localToDevicePaths.length < 10) {
|
|
@@ -174,7 +150,7 @@ class PlatformLiveSyncServiceBase {
|
|
|
174
150
|
}
|
|
175
151
|
}
|
|
176
152
|
}
|
|
153
|
+
exports.PlatformLiveSyncServiceBase = PlatformLiveSyncServiceBase;
|
|
177
154
|
__decorate([
|
|
178
155
|
(0, decorators_1.performanceLog)()
|
|
179
156
|
], PlatformLiveSyncServiceBase.prototype, "liveSyncWatchAction", null);
|
|
180
|
-
exports.PlatformLiveSyncServiceBase = PlatformLiveSyncServiceBase;
|
|
@@ -45,8 +45,8 @@ class LogParserService extends events_1.EventEmitter {
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
|
+
exports.LogParserService = LogParserService;
|
|
48
49
|
__decorate([
|
|
49
50
|
(0, decorators_1.cache)()
|
|
50
51
|
], LogParserService.prototype, "startParsingLogCore", null);
|
|
51
|
-
exports.LogParserService = LogParserService;
|
|
52
52
|
yok_1.injector.register("logParserService", LogParserService);
|
|
@@ -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.LogSourceMapService = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -23,10 +14,11 @@ class LogSourceMapService {
|
|
|
23
14
|
get $platformsDataService() {
|
|
24
15
|
return this.$injector.resolve("platformsDataService");
|
|
25
16
|
}
|
|
26
|
-
constructor($fs, $projectDataService, $injector, $devicePlatformsConstants, $logger) {
|
|
17
|
+
constructor($fs, $projectDataService, $injector, $options, $devicePlatformsConstants, $logger) {
|
|
27
18
|
this.$fs = $fs;
|
|
28
19
|
this.$projectDataService = $projectDataService;
|
|
29
20
|
this.$injector = $injector;
|
|
21
|
+
this.$options = $options;
|
|
30
22
|
this.$devicePlatformsConstants = $devicePlatformsConstants;
|
|
31
23
|
this.$logger = $logger;
|
|
32
24
|
this.cache = {};
|
|
@@ -34,39 +26,37 @@ class LogSourceMapService {
|
|
|
34
26
|
this.getProjectData = _.memoize(this.$projectDataService.getProjectData.bind(this.$projectDataService));
|
|
35
27
|
this.getRuntimeVersion = _.memoize(this.getRuntimeVersionCore, (...args) => args.join(LogSourceMapService.MEMOIZE_FUNCTION_RANDOM_KEY_FOR_JOIN));
|
|
36
28
|
}
|
|
37
|
-
setSourceMapConsumerForFile(filePath) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const source = this.$fs.readText(filePath);
|
|
48
|
-
if (this.$fs.exists(mapFile)) {
|
|
49
|
-
sourceMapRaw = sourceMapConverter.fromMapFileSource(source, (filename) => {
|
|
50
|
-
return this.$fs.readText(path.join(path.dirname(filePath), filename));
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
sourceMapRaw = sourceMapConverter.fromSource(source);
|
|
55
|
-
}
|
|
56
|
-
let smc = null;
|
|
57
|
-
if (sourceMapRaw && sourceMapRaw.sourcemap) {
|
|
58
|
-
const sourceMap = sourceMapRaw.sourcemap;
|
|
59
|
-
smc = yield sourcemap.SourceMapConsumer.with(sourceMap, null, (c) => {
|
|
60
|
-
return c;
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
this.cache[filePath] = smc;
|
|
29
|
+
async setSourceMapConsumerForFile(filePath) {
|
|
30
|
+
try {
|
|
31
|
+
if (!this.$fs.getFsStats(filePath).isDirectory()) {
|
|
32
|
+
const mapFile = filePath + ".map";
|
|
33
|
+
let sourceMapRaw;
|
|
34
|
+
if (this.$fs.getFileSize(filePath) > 50 * 1000 * 1000) {
|
|
35
|
+
this.$logger.trace(`Skipping source map for file ${filePath} because it is too big (> 50MB).`);
|
|
36
|
+
return;
|
|
64
37
|
}
|
|
38
|
+
const source = this.$fs.readText(filePath);
|
|
39
|
+
if (this.$fs.exists(mapFile)) {
|
|
40
|
+
sourceMapRaw = sourceMapConverter.fromMapFileSource(source, (filename) => {
|
|
41
|
+
return this.$fs.readText(path.join(path.dirname(filePath), filename));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
sourceMapRaw = sourceMapConverter.fromSource(source);
|
|
46
|
+
}
|
|
47
|
+
let smc = null;
|
|
48
|
+
if (sourceMapRaw && sourceMapRaw.sourcemap) {
|
|
49
|
+
const sourceMap = sourceMapRaw.sourcemap;
|
|
50
|
+
smc = await sourcemap.SourceMapConsumer.with(sourceMap, null, (c) => {
|
|
51
|
+
return c;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
this.cache[filePath] = smc;
|
|
65
55
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
}
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
this.$logger.trace(`Unable to set sourceMapConsumer for file ${filePath}. Error is: ${err}`);
|
|
59
|
+
}
|
|
70
60
|
}
|
|
71
61
|
replaceWithOriginalFileLocations(platform, messageData, loggingOptions) {
|
|
72
62
|
if (!messageData || !loggingOptions || !loggingOptions.projectDir) {
|
|
@@ -121,7 +111,7 @@ class LogSourceMapService {
|
|
|
121
111
|
return runtimeVersion;
|
|
122
112
|
}
|
|
123
113
|
getOriginalFileLocation(platform, parsedLine, projectData) {
|
|
124
|
-
const fileLocation = path.join(this.getFilesLocation(platform, projectData),
|
|
114
|
+
const fileLocation = path.join(this.getFilesLocation(platform, projectData), this.$options.hostProjectModuleName);
|
|
125
115
|
if (parsedLine && parsedLine.filePath) {
|
|
126
116
|
const sourceMapFile = path.join(fileLocation, parsedLine.filePath);
|
|
127
117
|
const smc = this.cache[sourceMapFile];
|
|
@@ -228,8 +218,8 @@ class LogSourceMapService {
|
|
|
228
218
|
}
|
|
229
219
|
}
|
|
230
220
|
}
|
|
221
|
+
exports.LogSourceMapService = LogSourceMapService;
|
|
231
222
|
LogSourceMapService.FILE_PREFIX = "file:///";
|
|
232
223
|
LogSourceMapService.FILE_PREFIX_REPLACEMENT = "file: ";
|
|
233
224
|
LogSourceMapService.MEMOIZE_FUNCTION_RANDOM_KEY_FOR_JOIN = "__some_random_value__";
|
|
234
|
-
exports.LogSourceMapService = LogSourceMapService;
|
|
235
225
|
yok_1.injector.register("logSourceMapService", LogSourceMapService);
|
|
@@ -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.MarkingModeService = void 0;
|
|
13
4
|
const os_1 = require("os");
|
|
@@ -23,27 +14,23 @@ class MarkingModeService {
|
|
|
23
14
|
this.$projectHelper = $projectHelper;
|
|
24
15
|
this.$projectDataService = $projectDataService;
|
|
25
16
|
}
|
|
26
|
-
handleMarkingModeFullDeprecation(options) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
async handleMarkingModeFullDeprecation(options) {
|
|
18
|
+
const markingModeValue = this.$projectConfigService.getValue("android.markingMode");
|
|
19
|
+
const { skipWarnings, forceSwitch } = options;
|
|
20
|
+
if (forceSwitch) {
|
|
21
|
+
await this.setMarkingMode("none");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (!skipWarnings && (markingModeValue === null || markingModeValue === void 0 ? void 0 : markingModeValue.toLowerCase()) !== "none") {
|
|
25
|
+
const { version } = this.$projectDataService.getRuntimePackage(this.$projectHelper.projectDir, "android");
|
|
26
|
+
const isMarkingModeFullDefault = version && semver.lt(semver.coerce(version), "7.0.0-rc.5");
|
|
27
|
+
if (isMarkingModeFullDefault) {
|
|
28
|
+
this.showMarkingModeFullWarning();
|
|
33
29
|
}
|
|
34
|
-
|
|
35
|
-
const { version } = this.$projectDataService.getRuntimePackage(this.$projectHelper.projectDir, "android");
|
|
36
|
-
const isMarkingModeFullDefault = version && semver.lt(semver.coerce(version), "7.0.0-rc.5");
|
|
37
|
-
if (isMarkingModeFullDefault) {
|
|
38
|
-
this.showMarkingModeFullWarning();
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
});
|
|
30
|
+
}
|
|
42
31
|
}
|
|
43
|
-
setMarkingMode(newMode) {
|
|
44
|
-
|
|
45
|
-
yield this.$projectConfigService.setValue("android.markingMode", newMode);
|
|
46
|
-
});
|
|
32
|
+
async setMarkingMode(newMode) {
|
|
33
|
+
await this.$projectConfigService.setValue("android.markingMode", newMode);
|
|
47
34
|
}
|
|
48
35
|
showMarkingModeFullWarning() {
|
|
49
36
|
const markingModeFullWarning = `You are using the deprecated "${MARKING_MODE_PROP}:${"full"}".${os_1.EOL}${os_1.EOL}${MARKING_MODE_FULL_DEPRECATION_MSG}${os_1.EOL}${os_1.EOL}You should update your marking mode by executing 'ns update --markingMode'.`;
|
|
@@ -32,8 +32,8 @@ class NpmConfigService {
|
|
|
32
32
|
catch (e) { }
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
+
exports.NpmConfigService = NpmConfigService;
|
|
35
36
|
__decorate([
|
|
36
37
|
(0, decorators_1.cache)()
|
|
37
38
|
], NpmConfigService.prototype, "readConfig", null);
|
|
38
|
-
exports.NpmConfigService = NpmConfigService;
|
|
39
39
|
yok_1.injector.register("npmConfigService", NpmConfigService);
|
|
@@ -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.PacoteService = void 0;
|
|
19
10
|
const pacote = require("pacote");
|
|
@@ -35,64 +26,58 @@ class PacoteService {
|
|
|
35
26
|
get $packageManager() {
|
|
36
27
|
return this.$injector.resolve("packageManager");
|
|
37
28
|
}
|
|
38
|
-
manifest(packageName, options) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
return result;
|
|
50
|
-
});
|
|
29
|
+
async manifest(packageName, options) {
|
|
30
|
+
this.$logger.trace(`Calling pacoteService.manifest for packageName: '${packageName}' and options: `, options);
|
|
31
|
+
const manifestOptions = await this.getPacoteBaseOptions();
|
|
32
|
+
if (options) {
|
|
33
|
+
_.extend(manifestOptions, options);
|
|
34
|
+
}
|
|
35
|
+
packageName = this.getRealPackageName(packageName);
|
|
36
|
+
this.$logger.trace(`Calling pacote.manifest for packageName: ${packageName} and manifestOptions:`, manifestOptions);
|
|
37
|
+
const result = await pacote.manifest(packageName, manifestOptions);
|
|
38
|
+
this.$logger.trace("pacote.manifest result:", result);
|
|
39
|
+
return result;
|
|
51
40
|
}
|
|
52
|
-
extractPackage(packageName, destinationDirectory, options) {
|
|
53
|
-
|
|
41
|
+
async extractPackage(packageName, destinationDirectory, options) {
|
|
42
|
+
this.$logger.trace(`Calling pacoteService.extractPackage for packageName: '${packageName}', destinationDir: '${destinationDirectory}' and options: ${options}`);
|
|
43
|
+
const extractOptions = { strip: 1, C: destinationDirectory };
|
|
44
|
+
if (options) {
|
|
45
|
+
_.extend(extractOptions, options);
|
|
46
|
+
}
|
|
47
|
+
packageName = this.getRealPackageName(packageName);
|
|
48
|
+
const pacoteOptions = await this.getPacoteBaseOptions();
|
|
49
|
+
return new Promise(async (resolve, reject) => {
|
|
54
50
|
this.$logger.trace(`Calling pacoteService.extractPackage for packageName: '${packageName}', destinationDir: '${destinationDirectory}' and options: ${options}`);
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
destination.on("error", (err) => {
|
|
75
|
-
this.$logger.trace(`Error in destination while trying to extract stream from ${packageName}. Error is ${err}`);
|
|
76
|
-
reject(err);
|
|
77
|
-
});
|
|
78
|
-
destination.on("finish", () => {
|
|
79
|
-
this.$logger.trace(`Successfully extracted '${packageName}' to ${destinationDirectory}`);
|
|
80
|
-
resolve();
|
|
81
|
-
});
|
|
82
|
-
}));
|
|
51
|
+
const source = await pacote
|
|
52
|
+
.tarball(packageName, pacoteOptions)
|
|
53
|
+
.catch((err) => {
|
|
54
|
+
this.$logger.trace(`Error in source while trying to extract stream from ${packageName}. Error is ${err}`);
|
|
55
|
+
reject(err);
|
|
56
|
+
});
|
|
57
|
+
this.$logger.trace(`Creating extract tar stream with options: ${JSON.stringify(extractOptions, null, 2)}`);
|
|
58
|
+
const destination = tar.x(extractOptions);
|
|
59
|
+
const sourceStream = new stream_1.PassThrough();
|
|
60
|
+
sourceStream.end(source);
|
|
61
|
+
sourceStream.pipe(destination);
|
|
62
|
+
destination.on("error", (err) => {
|
|
63
|
+
this.$logger.trace(`Error in destination while trying to extract stream from ${packageName}. Error is ${err}`);
|
|
64
|
+
reject(err);
|
|
65
|
+
});
|
|
66
|
+
destination.on("finish", () => {
|
|
67
|
+
this.$logger.trace(`Successfully extracted '${packageName}' to ${destinationDirectory}`);
|
|
68
|
+
resolve();
|
|
69
|
+
});
|
|
83
70
|
});
|
|
84
71
|
}
|
|
85
|
-
getPacoteBaseOptions() {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
return pacoteOptions;
|
|
95
|
-
});
|
|
72
|
+
async getPacoteBaseOptions() {
|
|
73
|
+
const cachePath = await this.$packageManager.getCachePath();
|
|
74
|
+
const npmConfig = this.$npmConfigService.getConfig();
|
|
75
|
+
const pacoteOptions = _.extend(npmConfig, { cache: cachePath, Arborist: arborist_1.Arborist });
|
|
76
|
+
const proxySettings = await this.$proxyService.getCache();
|
|
77
|
+
if (proxySettings) {
|
|
78
|
+
_.extend(pacoteOptions, proxySettings);
|
|
79
|
+
}
|
|
80
|
+
return pacoteOptions;
|
|
96
81
|
}
|
|
97
82
|
getRealPackageName(packageName) {
|
|
98
83
|
if (this.$fs.exists(packageName)) {
|
|
@@ -102,8 +87,8 @@ class PacoteService {
|
|
|
102
87
|
return packageName;
|
|
103
88
|
}
|
|
104
89
|
}
|
|
90
|
+
exports.PacoteService = PacoteService;
|
|
105
91
|
__decorate([
|
|
106
92
|
(0, decorators_1.cache)()
|
|
107
93
|
], PacoteService.prototype, "$packageManager", null);
|
|
108
|
-
exports.PacoteService = PacoteService;
|
|
109
94
|
yok_1.injector.register("pacoteService", PacoteService);
|
|
@@ -85,8 +85,8 @@ class PerformanceService {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
+
exports.PerformanceService = PerformanceService;
|
|
88
89
|
PerformanceService.LOG_MESSAGE_TEMPLATE = `Execution of method "%s" took %s ms.`;
|
|
89
90
|
PerformanceService.FAIL_LOG_MESSAGE_TEMPLATE = `Failed to log pefromance data in file for method %s.`;
|
|
90
91
|
PerformanceService.MIN_NODE_PERFORMANCE_MODULE_VERSION = "8.5.0";
|
|
91
|
-
exports.PerformanceService = PerformanceService;
|
|
92
92
|
yok_1.injector.register("performanceService", PerformanceService);
|