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.DoctorService = void 0;
|
|
19
10
|
const os_1 = require("os");
|
|
@@ -44,116 +35,110 @@ class DoctorService {
|
|
|
44
35
|
this.$versionsService = $versionsService;
|
|
45
36
|
this.$settingsService = $settingsService;
|
|
46
37
|
}
|
|
47
|
-
printWarnings(configOptions) {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
options: configOptions.options,
|
|
94
|
-
});
|
|
38
|
+
async printWarnings(configOptions) {
|
|
39
|
+
configOptions = configOptions || {};
|
|
40
|
+
const getInfosData = {
|
|
41
|
+
projectDir: configOptions.projectDir,
|
|
42
|
+
androidRuntimeVersion: configOptions.runtimeVersion,
|
|
43
|
+
platform: configOptions.platform,
|
|
44
|
+
};
|
|
45
|
+
const infos = await this.$terminalSpinnerService.execute({
|
|
46
|
+
text: `Getting environment information ${os_1.EOL}`,
|
|
47
|
+
}, () => this.getInfos({ forceCheck: configOptions.forceCheck }, getInfosData));
|
|
48
|
+
const warnings = infos.filter((info) => info.type === doctor_1.constants.WARNING_TYPE_NAME);
|
|
49
|
+
const hasWarnings = warnings.length > 0;
|
|
50
|
+
const hasAndroidWarnings = warnings.filter((warning) => _.includes(warning.platforms, doctor_1.constants.ANDROID_PLATFORM_NAME)).length > 0;
|
|
51
|
+
if (hasAndroidWarnings) {
|
|
52
|
+
this.printPackageManagerTip();
|
|
53
|
+
}
|
|
54
|
+
if (!configOptions || configOptions.trackResult) {
|
|
55
|
+
// TODO(Analytics): Consider sending this information to Google Analytics
|
|
56
|
+
// await this.$analyticsService.track("DoctorEnvironmentSetup", hasWarnings ? "incorrect" : "correct");
|
|
57
|
+
}
|
|
58
|
+
if (hasWarnings) {
|
|
59
|
+
this.$logger.info("There seem to be issues with your configuration.");
|
|
60
|
+
// cleanup the cache file as there seems to be issues with the current config
|
|
61
|
+
// all projects need to be rechecked
|
|
62
|
+
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.$logger.info(color_1.color.bold("No issues were detected."));
|
|
66
|
+
await this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(getInfosData), infos);
|
|
67
|
+
this.printInfosCore(infos);
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
await this.$versionsService.printVersionsInformation(configOptions.platform);
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
this.$logger.error("Cannot get the latest versions information from npm. Please try again later.");
|
|
74
|
+
}
|
|
75
|
+
// todo: check for deprecated imports from `tns-core-modules`
|
|
76
|
+
this.checkForDeprecatedShortImportsInAppDir(configOptions.projectDir);
|
|
77
|
+
await this.$injector
|
|
78
|
+
.resolve("platformEnvironmentRequirements")
|
|
79
|
+
.checkEnvironmentRequirements({
|
|
80
|
+
platform: configOptions.platform,
|
|
81
|
+
projectDir: configOptions.projectDir,
|
|
82
|
+
runtimeVersion: configOptions.runtimeVersion,
|
|
83
|
+
options: configOptions.options,
|
|
95
84
|
});
|
|
96
85
|
}
|
|
97
|
-
runSetupScript() {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
105
|
-
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
106
|
-
additionalData: "Skipped as OS is Linux",
|
|
107
|
-
});
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
this.$logger.info("Running the setup script to try and automatically configure your environment.");
|
|
111
|
-
if (this.$hostInfo.isDarwin) {
|
|
112
|
-
yield this.runSetupScriptCore(DoctorService.DarwinSetupScriptLocation, []);
|
|
113
|
-
}
|
|
114
|
-
if (this.$hostInfo.isWindows) {
|
|
115
|
-
yield this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
|
|
116
|
-
}
|
|
117
|
-
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
86
|
+
async runSetupScript() {
|
|
87
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
88
|
+
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
89
|
+
additionalData: "Starting",
|
|
90
|
+
});
|
|
91
|
+
if (this.$hostInfo.isLinux) {
|
|
92
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
118
93
|
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
119
|
-
additionalData: "
|
|
94
|
+
additionalData: "Skipped as OS is Linux",
|
|
120
95
|
});
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
this.$logger.info("Running the setup script to try and automatically configure your environment.");
|
|
99
|
+
if (this.$hostInfo.isDarwin) {
|
|
100
|
+
await this.runSetupScriptCore(DoctorService.DarwinSetupScriptLocation, []);
|
|
101
|
+
}
|
|
102
|
+
if (this.$hostInfo.isWindows) {
|
|
103
|
+
await this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
|
|
104
|
+
}
|
|
105
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
106
|
+
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
107
|
+
additionalData: "Finished",
|
|
121
108
|
});
|
|
122
109
|
}
|
|
123
|
-
canExecuteLocalBuild(configuration) {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
142
|
-
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
143
|
-
additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
|
|
144
|
-
});
|
|
145
|
-
this.printInfosCore(infos);
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
infos.map((info) => this.$logger.trace(info.message));
|
|
149
|
-
yield this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
|
|
150
|
-
}
|
|
151
|
-
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
110
|
+
async canExecuteLocalBuild(configuration) {
|
|
111
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
112
|
+
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
113
|
+
additionalData: "Starting",
|
|
114
|
+
});
|
|
115
|
+
const sysInfoConfig = {
|
|
116
|
+
platform: configuration.platform,
|
|
117
|
+
projectDir: configuration.projectDir,
|
|
118
|
+
androidRuntimeVersion: configuration.runtimeVersion,
|
|
119
|
+
};
|
|
120
|
+
const infos = await this.getInfos({ forceCheck: configuration && configuration.forceCheck }, sysInfoConfig);
|
|
121
|
+
const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
|
|
122
|
+
const hasWarnings = warnings.length > 0;
|
|
123
|
+
if (hasWarnings) {
|
|
124
|
+
// cleanup the cache file as there seems to be issues with the current config
|
|
125
|
+
// all projects need to be rechecked
|
|
126
|
+
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
127
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
152
128
|
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
153
|
-
additionalData: `
|
|
129
|
+
additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
|
|
154
130
|
});
|
|
155
|
-
|
|
131
|
+
this.printInfosCore(infos);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
infos.map((info) => this.$logger.trace(info.message));
|
|
135
|
+
await this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
|
|
136
|
+
}
|
|
137
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
138
|
+
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
139
|
+
additionalData: `Finished: Is setup correct: ${!hasWarnings}`,
|
|
156
140
|
});
|
|
141
|
+
return !hasWarnings;
|
|
157
142
|
}
|
|
158
143
|
checkForDeprecatedShortImportsInAppDir(projectDir) {
|
|
159
144
|
if (projectDir) {
|
|
@@ -210,10 +195,8 @@ class DoctorService {
|
|
|
210
195
|
});
|
|
211
196
|
return new RegExp(stringRegularExpressionsPerDir.join("|"), "g");
|
|
212
197
|
}
|
|
213
|
-
runSetupScriptCore(executablePath, setupScriptArgs) {
|
|
214
|
-
return
|
|
215
|
-
return this.$childProcess.spawnFromEvent(executablePath, setupScriptArgs, "close", { stdio: "inherit" });
|
|
216
|
-
});
|
|
198
|
+
async runSetupScriptCore(executablePath, setupScriptArgs) {
|
|
199
|
+
return this.$childProcess.spawnFromEvent(executablePath, setupScriptArgs, "close", { stdio: "inherit" });
|
|
217
200
|
}
|
|
218
201
|
printPackageManagerTip() {
|
|
219
202
|
if (this.$hostInfo.isWindows) {
|
|
@@ -275,18 +258,17 @@ class DoctorService {
|
|
|
275
258
|
const data = helpers.getHash(key, { algorithm: "md5" });
|
|
276
259
|
return data;
|
|
277
260
|
}
|
|
278
|
-
getInfos(cacheConfig, sysInfoConfig) {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
return infos;
|
|
287
|
-
});
|
|
261
|
+
async getInfos(cacheConfig, sysInfoConfig) {
|
|
262
|
+
const key = this.getKeyForConfiguration(sysInfoConfig);
|
|
263
|
+
const infosFromCache = cacheConfig.forceCheck
|
|
264
|
+
? null
|
|
265
|
+
: await this.$jsonFileSettingsService.getSettingValue(key);
|
|
266
|
+
this.$logger.trace(`getInfos cacheConfig options:`, cacheConfig, " current info from cache: ", infosFromCache);
|
|
267
|
+
const infos = infosFromCache || (await doctor_1.doctor.getInfos(sysInfoConfig));
|
|
268
|
+
return infos;
|
|
288
269
|
}
|
|
289
270
|
}
|
|
271
|
+
exports.DoctorService = DoctorService;
|
|
290
272
|
DoctorService.DarwinSetupScriptLocation = path.join(__dirname, "..", "..", "setup", "mac-startup-shell-script.sh");
|
|
291
273
|
DoctorService.WindowsSetupScriptExecutable = "powershell.exe";
|
|
292
274
|
DoctorService.WindowsSetupScriptArguments = [
|
|
@@ -304,6 +286,5 @@ __decorate([
|
|
|
304
286
|
__decorate([
|
|
305
287
|
(0, decorators_1.cache)()
|
|
306
288
|
], DoctorService.prototype, "$jsonFileSettingsService", null);
|
|
307
|
-
exports.DoctorService = DoctorService;
|
|
308
289
|
yok_1.injector.register("doctorService", DoctorService);
|
|
309
290
|
//# sourceMappingURL=doctor-service.js.map
|
|
@@ -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.ExtensibilityService = void 0;
|
|
19
10
|
const path = require("path");
|
|
@@ -41,28 +32,24 @@ class ExtensibilityService {
|
|
|
41
32
|
this.$requireService = $requireService;
|
|
42
33
|
this.customPathToExtensions = null;
|
|
43
34
|
}
|
|
44
|
-
installExtension(extensionName) {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
yield this.assertPackageJsonExists();
|
|
63
|
-
yield this.$packageManager.uninstall(extensionName, { save: true }, this.pathToExtensions);
|
|
64
|
-
this.$logger.trace(`Finished uninstallation of extension '${extensionName}'.`);
|
|
65
|
-
});
|
|
35
|
+
async installExtension(extensionName) {
|
|
36
|
+
this.$logger.trace(`Start installation of extension '${extensionName}'.`);
|
|
37
|
+
await this.assertPackageJsonExists();
|
|
38
|
+
const npmOpts = {
|
|
39
|
+
save: true,
|
|
40
|
+
["save-exact"]: true,
|
|
41
|
+
};
|
|
42
|
+
const localPath = path.resolve(extensionName);
|
|
43
|
+
const packageName = this.$fs.exists(localPath) ? localPath : extensionName;
|
|
44
|
+
const installResultInfo = await this.$packageManager.install(packageName, this.pathToExtensions, npmOpts);
|
|
45
|
+
this.$logger.trace(`Finished installation of extension '${extensionName}'. Trying to load it now.`);
|
|
46
|
+
return this.getInstalledExtensionData(installResultInfo.name);
|
|
47
|
+
}
|
|
48
|
+
async uninstallExtension(extensionName) {
|
|
49
|
+
this.$logger.trace(`Start uninstallation of extension '${extensionName}'.`);
|
|
50
|
+
await this.assertPackageJsonExists();
|
|
51
|
+
await this.$packageManager.uninstall(extensionName, { save: true }, this.pathToExtensions);
|
|
52
|
+
this.$logger.trace(`Finished uninstallation of extension '${extensionName}'.`);
|
|
66
53
|
}
|
|
67
54
|
removeAllExtensions() {
|
|
68
55
|
this.$fs.deleteDirectorySafe(this.pathToExtensions);
|
|
@@ -103,76 +90,72 @@ class ExtensibilityService {
|
|
|
103
90
|
pathToExtension,
|
|
104
91
|
};
|
|
105
92
|
}
|
|
106
|
-
loadExtension(extensionName) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
});
|
|
93
|
+
async loadExtension(extensionName) {
|
|
94
|
+
try {
|
|
95
|
+
await this.assertExtensionIsInstalled(extensionName);
|
|
96
|
+
const pathToExtension = this.getPathToExtension(extensionName);
|
|
97
|
+
this.$requireService.require(pathToExtension);
|
|
98
|
+
return this.getInstalledExtensionData(extensionName);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
this.$logger.warn(`Error while loading ${extensionName} is: ${error.message}`);
|
|
102
|
+
const err = (new Error(`Unable to load extension ${extensionName}. You will not be able to use the functionality that it adds. Error: ${error.message}`));
|
|
103
|
+
err.extensionName = extensionName;
|
|
104
|
+
throw err;
|
|
105
|
+
}
|
|
121
106
|
}
|
|
122
|
-
getExtensionNameWhereCommandIsRegistered(inputOpts) {
|
|
123
|
-
|
|
124
|
-
|
|
107
|
+
async getExtensionNameWhereCommandIsRegistered(inputOpts) {
|
|
108
|
+
let allExtensions = [];
|
|
109
|
+
try {
|
|
110
|
+
const npmsResult = await this.$packageManager.searchNpms("nativescript:extension");
|
|
111
|
+
allExtensions = npmsResult.results || [];
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
this.$logger.trace(`Unable to find extensions via npms. Error is: ${err}`);
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
const defaultCommandRegExp = new RegExp(`${(0, helpers_1.regExpEscape)(inputOpts.defaultCommandDelimiter)}.*`);
|
|
118
|
+
const commandDelimiterRegExp = (0, helpers_1.createRegExp)(inputOpts.commandDelimiter, "g");
|
|
119
|
+
for (const extensionData of allExtensions) {
|
|
120
|
+
const extensionName = extensionData.package.name;
|
|
125
121
|
try {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
const copyOfFullArgs = _.clone(inputOpts.inputStrings);
|
|
153
|
-
while (copyOfFullArgs.length) {
|
|
154
|
-
const currentCommand = copyOfFullArgs
|
|
155
|
-
.join(inputOpts.commandDelimiter)
|
|
156
|
-
.toLowerCase();
|
|
157
|
-
if (_.some(commands, (c) => c.toLowerCase() === currentCommand)) {
|
|
158
|
-
const beautifiedCommandName = currentCommand.replace(commandDelimiterRegExp, " ");
|
|
159
|
-
return {
|
|
160
|
-
extensionName,
|
|
161
|
-
registeredCommandName: currentCommand,
|
|
162
|
-
installationMessage: `The command ${beautifiedCommandName} is registered in extension ${extensionName}. You can install it by executing 'tns extension install ${extensionName}'`,
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
copyOfFullArgs.splice(-1, 1);
|
|
122
|
+
// now get full package.json for the latest version of the package
|
|
123
|
+
const registryData = await this.$packageManager.getRegistryPackageData(extensionName);
|
|
124
|
+
const latestPackageData = registryData.versions[registryData["dist-tags"].latest];
|
|
125
|
+
const commands = latestPackageData &&
|
|
126
|
+
latestPackageData.nativescript &&
|
|
127
|
+
latestPackageData.nativescript.commands;
|
|
128
|
+
if (commands && commands.length) {
|
|
129
|
+
// For each default command we need to add its short syntax in the array of commands.
|
|
130
|
+
// For example in case there's a default command called devices list, the commands array will contain devices|*list.
|
|
131
|
+
// However, in case the user executes just tns devices, CLI will still execute the tns devices list command.
|
|
132
|
+
// So we need to add the devices command as well.
|
|
133
|
+
_.filter(commands, (command) => command.indexOf(inputOpts.defaultCommandDelimiter) !== -1).forEach((defaultCommand) => {
|
|
134
|
+
commands.push(defaultCommand.replace(defaultCommandRegExp, ""));
|
|
135
|
+
});
|
|
136
|
+
const copyOfFullArgs = _.clone(inputOpts.inputStrings);
|
|
137
|
+
while (copyOfFullArgs.length) {
|
|
138
|
+
const currentCommand = copyOfFullArgs
|
|
139
|
+
.join(inputOpts.commandDelimiter)
|
|
140
|
+
.toLowerCase();
|
|
141
|
+
if (_.some(commands, (c) => c.toLowerCase() === currentCommand)) {
|
|
142
|
+
const beautifiedCommandName = currentCommand.replace(commandDelimiterRegExp, " ");
|
|
143
|
+
return {
|
|
144
|
+
extensionName,
|
|
145
|
+
registeredCommandName: currentCommand,
|
|
146
|
+
installationMessage: `The command ${beautifiedCommandName} is registered in extension ${extensionName}. You can install it by executing 'tns extension install ${extensionName}'`,
|
|
147
|
+
};
|
|
166
148
|
}
|
|
149
|
+
copyOfFullArgs.splice(-1, 1);
|
|
167
150
|
}
|
|
168
151
|
}
|
|
169
|
-
catch (err) {
|
|
170
|
-
// We do not want to stop the whole process in case we are unable to find data for one of the extensions.
|
|
171
|
-
this.$logger.trace(`Unable to get data for ${extensionName}. Error is: ${err}`);
|
|
172
|
-
}
|
|
173
152
|
}
|
|
174
|
-
|
|
175
|
-
|
|
153
|
+
catch (err) {
|
|
154
|
+
// We do not want to stop the whole process in case we are unable to find data for one of the extensions.
|
|
155
|
+
this.$logger.trace(`Unable to get data for ${extensionName}. Error is: ${err}`);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return null;
|
|
176
159
|
}
|
|
177
160
|
getPathToExtension(extensionName) {
|
|
178
161
|
return path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME, extensionName);
|
|
@@ -183,16 +166,14 @@ class ExtensibilityService {
|
|
|
183
166
|
const jsonData = this.$fs.readJson(pathToPackageJson);
|
|
184
167
|
return jsonData;
|
|
185
168
|
}
|
|
186
|
-
assertExtensionIsInstalled(extensionName) {
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
this.$logger.trace(`Extension ${extensionName} is installed.`);
|
|
195
|
-
});
|
|
169
|
+
async assertExtensionIsInstalled(extensionName) {
|
|
170
|
+
this.$logger.trace(`Asserting extension ${extensionName} is installed.`);
|
|
171
|
+
const installedExtensions = this.$fs.readDirectory(path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME));
|
|
172
|
+
if (installedExtensions.indexOf(extensionName) === -1) {
|
|
173
|
+
this.$logger.trace(`Extension ${extensionName} is not installed, starting installation.`);
|
|
174
|
+
await this.installExtension(extensionName);
|
|
175
|
+
}
|
|
176
|
+
this.$logger.trace(`Extension ${extensionName} is installed.`);
|
|
196
177
|
}
|
|
197
178
|
assertExtensionsDirExists() {
|
|
198
179
|
if (!this.$fs.exists(this.pathToExtensions)) {
|
|
@@ -217,12 +198,12 @@ class ExtensibilityService {
|
|
|
217
198
|
}
|
|
218
199
|
}
|
|
219
200
|
}
|
|
201
|
+
exports.ExtensibilityService = ExtensibilityService;
|
|
220
202
|
__decorate([
|
|
221
203
|
(0, decorators_1.cache)()
|
|
222
204
|
], ExtensibilityService.prototype, "assertExtensionsDirExists", null);
|
|
223
205
|
__decorate([
|
|
224
206
|
(0, decorators_1.cache)()
|
|
225
207
|
], ExtensibilityService.prototype, "assertPackageJsonExists", null);
|
|
226
|
-
exports.ExtensibilityService = ExtensibilityService;
|
|
227
208
|
yok_1.injector.register("extensibilityService", ExtensibilityService);
|
|
228
209
|
//# sourceMappingURL=extensibility-service.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.FilesHashService = void 0;
|
|
13
4
|
const helpers_1 = require("../common/helpers");
|
|
@@ -22,44 +13,36 @@ class FilesHashService {
|
|
|
22
13
|
this.$logger = $logger;
|
|
23
14
|
this.$options = $options;
|
|
24
15
|
}
|
|
25
|
-
generateHashes(files) {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
result[file] = yield this.$fs.getFileShasum(file);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
catch (err) {
|
|
36
|
-
this.$logger.trace(`Unable to generate hash for file ${file}. Error is: ${err}`);
|
|
16
|
+
async generateHashes(files) {
|
|
17
|
+
const result = {};
|
|
18
|
+
const action = async (file) => {
|
|
19
|
+
try {
|
|
20
|
+
const isFile = this.$fs.getFsStats(file).isFile();
|
|
21
|
+
if (isFile) {
|
|
22
|
+
result[file] = await this.$fs.getFileShasum(file);
|
|
37
23
|
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
this.$logger.trace(`Unable to generate hash for file ${file}. Error is: ${err}`);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
await (0, helpers_1.executeActionByChunks)(files, constants_1.DEFAULT_CHUNK_SIZE, action);
|
|
30
|
+
return result;
|
|
42
31
|
}
|
|
43
|
-
generateHashesForProject(platformData) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return hashes;
|
|
49
|
-
});
|
|
32
|
+
async generateHashesForProject(platformData) {
|
|
33
|
+
const appFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
|
|
34
|
+
const files = this.$fs.enumerateFilesInDirectorySync(appFilesPath);
|
|
35
|
+
const hashes = await this.generateHashes(files);
|
|
36
|
+
return hashes;
|
|
50
37
|
}
|
|
51
|
-
saveHashesForProject(platformData, hashesFileDirectory) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return hashes;
|
|
56
|
-
});
|
|
38
|
+
async saveHashesForProject(platformData, hashesFileDirectory) {
|
|
39
|
+
const hashes = await this.generateHashesForProject(platformData);
|
|
40
|
+
this.saveHashes(hashes, hashesFileDirectory);
|
|
41
|
+
return hashes;
|
|
57
42
|
}
|
|
58
|
-
getChanges(files, oldHashes) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return this.getChangesInShasums(oldHashes, newHashes);
|
|
62
|
-
});
|
|
43
|
+
async getChanges(files, oldHashes) {
|
|
44
|
+
const newHashes = await this.generateHashes(files);
|
|
45
|
+
return this.getChangesInShasums(oldHashes, newHashes);
|
|
63
46
|
}
|
|
64
47
|
hasChangesInShasums(oldHashes, newHashes) {
|
|
65
48
|
return !!_.keys(this.getChangesInShasums(oldHashes, newHashes)).length;
|
|
@@ -118,6 +118,7 @@ class HmrStatusService {
|
|
|
118
118
|
this.hashOperationStatuses[key].status = status;
|
|
119
119
|
}
|
|
120
120
|
}
|
|
121
|
+
exports.HmrStatusService = HmrStatusService;
|
|
121
122
|
HmrStatusService.HMR_STATUS_LOG_REGEX = /([a-z A-Z]*) hmr hash ([a-z0-9]*)\./;
|
|
122
123
|
HmrStatusService.STARTED_MESSAGE = "Checking for updates to the bundle with";
|
|
123
124
|
HmrStatusService.SUCCESS_MESSAGE = "Successfully applied update with";
|
|
@@ -125,6 +126,5 @@ HmrStatusService.FAILED_MESSAGE = "Cannot apply update with";
|
|
|
125
126
|
__decorate([
|
|
126
127
|
(0, decorators_1.cache)()
|
|
127
128
|
], HmrStatusService.prototype, "attachToHmrStatusEvent", null);
|
|
128
|
-
exports.HmrStatusService = HmrStatusService;
|
|
129
129
|
yok_1.injector.register("hmrStatusService", HmrStatusService);
|
|
130
130
|
//# sourceMappingURL=hmr-status-service.js.map
|