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.IOSDeviceOperations = void 0;
|
|
19
10
|
const ios_device_lib_1 = require("ios-device-lib");
|
|
@@ -30,52 +21,46 @@ class IOSDeviceOperations extends events_1.EventEmitter {
|
|
|
30
21
|
this.isInitialized = false;
|
|
31
22
|
this.shouldDispose = true;
|
|
32
23
|
}
|
|
33
|
-
install(ipaPath, deviceIdentifiers, errorHandler) {
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
return yield this.getMultipleResults(() => this.deviceLib.install(ipaPath, deviceIdentifiers), errorHandler);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
uninstall(appIdentifier, deviceIdentifiers, errorHandler) {
|
|
41
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
this.assertIsInitialized();
|
|
43
|
-
this.$logger.trace(`Uninstalling ${appIdentifier} from devices with identifiers: ${deviceIdentifiers}.`);
|
|
44
|
-
return yield this.getMultipleResults(() => this.deviceLib.uninstall(appIdentifier, deviceIdentifiers), errorHandler);
|
|
45
|
-
});
|
|
24
|
+
async install(ipaPath, deviceIdentifiers, errorHandler) {
|
|
25
|
+
this.assertIsInitialized();
|
|
26
|
+
this.$logger.trace(`Installing ${ipaPath} on devices with identifiers: ${deviceIdentifiers}.`);
|
|
27
|
+
return await this.getMultipleResults(() => this.deviceLib.install(ipaPath, deviceIdentifiers), errorHandler);
|
|
46
28
|
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const maxIterationsCount = 3;
|
|
65
|
-
const intervalHandle = setInterval(() => {
|
|
66
|
-
if (foundDevice && !options.fullDiscovery) {
|
|
67
|
-
resolve();
|
|
68
|
-
return clearInterval(intervalHandle);
|
|
69
|
-
}
|
|
70
|
-
iterationsCount++;
|
|
71
|
-
if (iterationsCount >= maxIterationsCount) {
|
|
72
|
-
clearInterval(intervalHandle);
|
|
73
|
-
return resolve();
|
|
74
|
-
}
|
|
75
|
-
}, 2000);
|
|
76
|
-
});
|
|
29
|
+
async uninstall(appIdentifier, deviceIdentifiers, errorHandler) {
|
|
30
|
+
this.assertIsInitialized();
|
|
31
|
+
this.$logger.trace(`Uninstalling ${appIdentifier} from devices with identifiers: ${deviceIdentifiers}.`);
|
|
32
|
+
return await this.getMultipleResults(() => this.deviceLib.uninstall(appIdentifier, deviceIdentifiers), errorHandler);
|
|
33
|
+
}
|
|
34
|
+
async startLookingForDevices(deviceFoundCallback, deviceUpdatedCallback, deviceLostCallback, options) {
|
|
35
|
+
this.$logger.trace("Starting to look for iOS devices.");
|
|
36
|
+
this.isInitialized = true;
|
|
37
|
+
if (!this.deviceLib) {
|
|
38
|
+
let foundDevice = false;
|
|
39
|
+
const wrappedDeviceFoundCallback = (deviceInfo) => {
|
|
40
|
+
foundDevice = true;
|
|
41
|
+
return deviceFoundCallback(deviceInfo);
|
|
42
|
+
};
|
|
43
|
+
this.deviceLib = new ios_device_lib_1.IOSDeviceLib(wrappedDeviceFoundCallback, deviceUpdatedCallback, deviceLostCallback);
|
|
44
|
+
if (options && options.shouldReturnImmediateResult) {
|
|
45
|
+
return;
|
|
77
46
|
}
|
|
78
|
-
|
|
47
|
+
// We need this because we need to make sure that we have devices.
|
|
48
|
+
await new Promise((resolve, reject) => {
|
|
49
|
+
let iterationsCount = 0;
|
|
50
|
+
const maxIterationsCount = 3;
|
|
51
|
+
const intervalHandle = setInterval(() => {
|
|
52
|
+
if (foundDevice && !options.fullDiscovery) {
|
|
53
|
+
resolve();
|
|
54
|
+
return clearInterval(intervalHandle);
|
|
55
|
+
}
|
|
56
|
+
iterationsCount++;
|
|
57
|
+
if (iterationsCount >= maxIterationsCount) {
|
|
58
|
+
clearInterval(intervalHandle);
|
|
59
|
+
return resolve();
|
|
60
|
+
}
|
|
61
|
+
}, 2000);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
79
64
|
}
|
|
80
65
|
startDeviceLog(deviceIdentifier) {
|
|
81
66
|
this.assertIsInitialized();
|
|
@@ -84,39 +69,31 @@ class IOSDeviceOperations extends events_1.EventEmitter {
|
|
|
84
69
|
this.attacheDeviceLogDataHandler();
|
|
85
70
|
this.deviceLib.startDeviceLog([deviceIdentifier]);
|
|
86
71
|
}
|
|
87
|
-
apps(deviceIdentifiers, errorHandler) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return this.getMultipleResults(() => this.deviceLib.apps(deviceIdentifiers), errorHandler);
|
|
92
|
-
});
|
|
72
|
+
async apps(deviceIdentifiers, errorHandler) {
|
|
73
|
+
this.assertIsInitialized();
|
|
74
|
+
this.$logger.trace(`Getting applications information for devices with identifiers: ${deviceIdentifiers}`);
|
|
75
|
+
return this.getMultipleResults(() => this.deviceLib.apps(deviceIdentifiers), errorHandler);
|
|
93
76
|
}
|
|
94
|
-
listDirectory(listArray, errorHandler) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
this.$logger.trace(`Listing directory: ${l.path} for application ${l.appId} on device with identifier: ${l.deviceId}.`);
|
|
99
|
-
});
|
|
100
|
-
return this.getMultipleResults(() => this.deviceLib.list(listArray), errorHandler);
|
|
77
|
+
async listDirectory(listArray, errorHandler) {
|
|
78
|
+
this.assertIsInitialized();
|
|
79
|
+
_.each(listArray, (l) => {
|
|
80
|
+
this.$logger.trace(`Listing directory: ${l.path} for application ${l.appId} on device with identifier: ${l.deviceId}.`);
|
|
101
81
|
});
|
|
82
|
+
return this.getMultipleResults(() => this.deviceLib.list(listArray), errorHandler);
|
|
102
83
|
}
|
|
103
|
-
readFiles(deviceFilePaths, errorHandler) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
this.$logger.trace(`Reading file: ${p.path} from application ${p.appId} on device with identifier: ${p.deviceId}.`);
|
|
108
|
-
});
|
|
109
|
-
return this.getMultipleResults(() => this.deviceLib.read(deviceFilePaths), errorHandler);
|
|
84
|
+
async readFiles(deviceFilePaths, errorHandler) {
|
|
85
|
+
this.assertIsInitialized();
|
|
86
|
+
_.each(deviceFilePaths, (p) => {
|
|
87
|
+
this.$logger.trace(`Reading file: ${p.path} from application ${p.appId} on device with identifier: ${p.deviceId}.`);
|
|
110
88
|
});
|
|
89
|
+
return this.getMultipleResults(() => this.deviceLib.read(deviceFilePaths), errorHandler);
|
|
111
90
|
}
|
|
112
|
-
downloadFiles(deviceFilePaths, errorHandler) {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this.$logger.trace(`Downloading file: ${d.source} from application ${d.appId} on device with identifier: ${d.deviceId} to ${d.destination}.`);
|
|
117
|
-
});
|
|
118
|
-
return this.getMultipleResults(() => this.deviceLib.download(deviceFilePaths), errorHandler);
|
|
91
|
+
async downloadFiles(deviceFilePaths, errorHandler) {
|
|
92
|
+
this.assertIsInitialized();
|
|
93
|
+
_.each(deviceFilePaths, (d) => {
|
|
94
|
+
this.$logger.trace(`Downloading file: ${d.source} from application ${d.appId} on device with identifier: ${d.deviceId} to ${d.destination}.`);
|
|
119
95
|
});
|
|
96
|
+
return this.getMultipleResults(() => this.deviceLib.download(deviceFilePaths), errorHandler);
|
|
120
97
|
}
|
|
121
98
|
uploadFiles(files, errorHandler) {
|
|
122
99
|
this.assertIsInitialized();
|
|
@@ -127,32 +104,26 @@ class IOSDeviceOperations extends events_1.EventEmitter {
|
|
|
127
104
|
});
|
|
128
105
|
return this.getMultipleResults(() => this.deviceLib.upload(files), errorHandler);
|
|
129
106
|
}
|
|
130
|
-
deleteFiles(deleteArray, errorHandler) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
this.$logger.trace(`Deleting file: ${d.destination} from application ${d.appId} on device with identifier: ${d.deviceId}.`);
|
|
135
|
-
});
|
|
136
|
-
return this.getMultipleResults(() => this.deviceLib.delete(deleteArray), errorHandler);
|
|
107
|
+
async deleteFiles(deleteArray, errorHandler) {
|
|
108
|
+
this.assertIsInitialized();
|
|
109
|
+
_.each(deleteArray, (d) => {
|
|
110
|
+
this.$logger.trace(`Deleting file: ${d.destination} from application ${d.appId} on device with identifier: ${d.deviceId}.`);
|
|
137
111
|
});
|
|
112
|
+
return this.getMultipleResults(() => this.deviceLib.delete(deleteArray), errorHandler);
|
|
138
113
|
}
|
|
139
|
-
start(startArray, errorHandler) {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
this.$logger.trace(`Starting application ${s.appId} on device with identifier: ${s.deviceId}.`);
|
|
144
|
-
});
|
|
145
|
-
return this.getMultipleResults(() => this.deviceLib.start(startArray), errorHandler);
|
|
114
|
+
async start(startArray, errorHandler) {
|
|
115
|
+
this.assertIsInitialized();
|
|
116
|
+
_.each(startArray, (s) => {
|
|
117
|
+
this.$logger.trace(`Starting application ${s.appId} on device with identifier: ${s.deviceId}.`);
|
|
146
118
|
});
|
|
119
|
+
return this.getMultipleResults(() => this.deviceLib.start(startArray), errorHandler);
|
|
147
120
|
}
|
|
148
|
-
stop(stopArray, errorHandler) {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
this.$logger.trace(`Stopping application ${s.appId} on device with identifier: ${s.deviceId}.`);
|
|
153
|
-
});
|
|
154
|
-
return this.getMultipleResults(() => this.deviceLib.stop(stopArray), errorHandler);
|
|
121
|
+
async stop(stopArray, errorHandler) {
|
|
122
|
+
this.assertIsInitialized();
|
|
123
|
+
_.each(stopArray, (s) => {
|
|
124
|
+
this.$logger.trace(`Stopping application ${s.appId} on device with identifier: ${s.deviceId}.`);
|
|
155
125
|
});
|
|
126
|
+
return this.getMultipleResults(() => this.deviceLib.stop(stopArray), errorHandler);
|
|
156
127
|
}
|
|
157
128
|
dispose(signal) {
|
|
158
129
|
// We need to check if we should dispose the device lib.
|
|
@@ -164,59 +135,51 @@ class IOSDeviceOperations extends events_1.EventEmitter {
|
|
|
164
135
|
this.$logger.trace("IOSDeviceOperations disposed.");
|
|
165
136
|
}
|
|
166
137
|
}
|
|
167
|
-
postNotification(postNotificationArray, errorHandler) {
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
this.$logger.trace(`Sending notification ${n.notificationName} to device with identifier: ${n.deviceId}`);
|
|
172
|
-
});
|
|
173
|
-
return this.getMultipleResults(() => this.deviceLib.postNotification(postNotificationArray), errorHandler);
|
|
138
|
+
async postNotification(postNotificationArray, errorHandler) {
|
|
139
|
+
this.assertIsInitialized();
|
|
140
|
+
_.each(postNotificationArray, (n) => {
|
|
141
|
+
this.$logger.trace(`Sending notification ${n.notificationName} to device with identifier: ${n.deviceId}`);
|
|
174
142
|
});
|
|
143
|
+
return this.getMultipleResults(() => this.deviceLib.postNotification(postNotificationArray), errorHandler);
|
|
175
144
|
}
|
|
176
|
-
awaitNotificationResponse(awaitNotificationResponseArray, errorHandler) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
this.$logger.trace(`Awaiting notification response from socket: ${n.socket} with timeout: ${n.timeout}`);
|
|
181
|
-
});
|
|
182
|
-
return this.getMultipleResults(() => this.deviceLib.awaitNotificationResponse(awaitNotificationResponseArray), errorHandler);
|
|
145
|
+
async awaitNotificationResponse(awaitNotificationResponseArray, errorHandler) {
|
|
146
|
+
this.assertIsInitialized();
|
|
147
|
+
_.each(awaitNotificationResponseArray, (n) => {
|
|
148
|
+
this.$logger.trace(`Awaiting notification response from socket: ${n.socket} with timeout: ${n.timeout}`);
|
|
183
149
|
});
|
|
150
|
+
return this.getMultipleResults(() => this.deviceLib.awaitNotificationResponse(awaitNotificationResponseArray), errorHandler);
|
|
184
151
|
}
|
|
185
|
-
connectToPort(connectToPortArray, errorHandler) {
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
this.$logger.trace(`Connecting to port ${c.port} on device with identifier: ${c.deviceId}`);
|
|
190
|
-
});
|
|
191
|
-
return this.getMultipleResults(() => this.deviceLib.connectToPort(connectToPortArray), errorHandler);
|
|
152
|
+
async connectToPort(connectToPortArray, errorHandler) {
|
|
153
|
+
this.assertIsInitialized();
|
|
154
|
+
_.each(connectToPortArray, (c) => {
|
|
155
|
+
this.$logger.trace(`Connecting to port ${c.port} on device with identifier: ${c.deviceId}`);
|
|
192
156
|
});
|
|
157
|
+
return this.getMultipleResults(() => this.deviceLib.connectToPort(connectToPortArray), errorHandler);
|
|
193
158
|
}
|
|
194
159
|
setShouldDispose(shouldDispose) {
|
|
195
160
|
this.shouldDispose = shouldDispose;
|
|
196
161
|
}
|
|
197
|
-
getMultipleResults(getPromisesMethod, errorHandler) {
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
result.push(yield promise);
|
|
205
|
-
}
|
|
206
|
-
catch (err) {
|
|
207
|
-
this.$logger.trace(`Error while executing ios device operation: ${err.message} with code: ${err.code}`);
|
|
208
|
-
errorHandler(err);
|
|
209
|
-
}
|
|
162
|
+
async getMultipleResults(getPromisesMethod, errorHandler) {
|
|
163
|
+
const result = [];
|
|
164
|
+
const promises = getPromisesMethod();
|
|
165
|
+
for (const promise of promises) {
|
|
166
|
+
if (errorHandler) {
|
|
167
|
+
try {
|
|
168
|
+
result.push(await promise);
|
|
210
169
|
}
|
|
211
|
-
|
|
212
|
-
|
|
170
|
+
catch (err) {
|
|
171
|
+
this.$logger.trace(`Error while executing ios device operation: ${err.message} with code: ${err.code}`);
|
|
172
|
+
errorHandler(err);
|
|
213
173
|
}
|
|
214
174
|
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
175
|
+
else {
|
|
176
|
+
result.push(await promise);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
const groupedResults = _.groupBy(result, (r) => r.deviceId);
|
|
180
|
+
this.$logger.trace("Received multiple results:");
|
|
181
|
+
this.$logger.trace(groupedResults);
|
|
182
|
+
return groupedResults;
|
|
220
183
|
}
|
|
221
184
|
assertIsInitialized() {
|
|
222
185
|
assert.ok(this.isInitialized, "iOS device operations not initialized.");
|
|
@@ -227,12 +190,12 @@ class IOSDeviceOperations extends events_1.EventEmitter {
|
|
|
227
190
|
});
|
|
228
191
|
}
|
|
229
192
|
}
|
|
193
|
+
exports.IOSDeviceOperations = IOSDeviceOperations;
|
|
230
194
|
__decorate([
|
|
231
195
|
(0, decorators_1.cache)()
|
|
232
196
|
], IOSDeviceOperations.prototype, "startLookingForDevices", null);
|
|
233
197
|
__decorate([
|
|
234
198
|
(0, decorators_1.cache)()
|
|
235
199
|
], IOSDeviceOperations.prototype, "attacheDeviceLogDataHandler", null);
|
|
236
|
-
exports.IOSDeviceOperations = IOSDeviceOperations;
|
|
237
200
|
yok_1.injector.register("iosDeviceOperations", IOSDeviceOperations);
|
|
238
201
|
//# sourceMappingURL=ios-device-operations.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.IOSDevice = void 0;
|
|
19
10
|
const applicationManagerPath = require("./ios-application-manager");
|
|
@@ -77,33 +68,26 @@ class IOSDevice extends ios_device_base_1.IOSDeviceBase {
|
|
|
77
68
|
const result = this.deviceInfo.connectionTypes.every((connectionType) => connectionType === constants.DeviceConnectionType.Wifi);
|
|
78
69
|
return result;
|
|
79
70
|
}
|
|
80
|
-
openDeviceLogStream() {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
});
|
|
71
|
+
async openDeviceLogStream() {
|
|
72
|
+
if (this.deviceInfo.status !== commonConstants.UNREACHABLE_STATUS) {
|
|
73
|
+
this._deviceLogHandler = this.actionOnDeviceLog.bind(this);
|
|
74
|
+
this.$iosDeviceOperations.on(commonConstants.DEVICE_LOG_EVENT_NAME, this._deviceLogHandler);
|
|
75
|
+
this.$iosDeviceOperations.startDeviceLog(this.deviceInfo.identifier);
|
|
76
|
+
}
|
|
88
77
|
}
|
|
89
|
-
getDebugSocketCore(appId) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
_socket.connect(deviceResponse.port, deviceResponse.host);
|
|
103
|
-
return _socket;
|
|
104
|
-
}), commonConstants.SOCKET_CONNECTION_TIMEOUT_MS);
|
|
105
|
-
return socket;
|
|
106
|
-
});
|
|
78
|
+
async getDebugSocketCore(appId) {
|
|
79
|
+
await this.$iOSSocketRequestExecutor.executeAttachRequest(this, constants.AWAIT_NOTIFICATION_TIMEOUT_SECONDS, appId);
|
|
80
|
+
const port = await super.getDebuggerPort(appId);
|
|
81
|
+
const deviceId = this.deviceInfo.identifier;
|
|
82
|
+
const socket = await helpers.connectEventuallyUntilTimeout(async () => {
|
|
83
|
+
const deviceResponse = _.first((await this.$iosDeviceOperations.connectToPort([
|
|
84
|
+
{ deviceId: deviceId, port: port },
|
|
85
|
+
]))[deviceId]);
|
|
86
|
+
const _socket = new net.Socket();
|
|
87
|
+
_socket.connect(deviceResponse.port, deviceResponse.host);
|
|
88
|
+
return _socket;
|
|
89
|
+
}, commonConstants.SOCKET_CONNECTION_TIMEOUT_MS);
|
|
90
|
+
return socket;
|
|
107
91
|
}
|
|
108
92
|
actionOnDeviceLog(response) {
|
|
109
93
|
if (response.deviceId === this.deviceInfo.identifier) {
|
|
@@ -149,9 +133,9 @@ class IOSDevice extends ios_device_base_1.IOSDeviceBase {
|
|
|
149
133
|
return this.$devicePlatformsConstants.iOS;
|
|
150
134
|
}
|
|
151
135
|
}
|
|
136
|
+
exports.IOSDevice = IOSDevice;
|
|
152
137
|
__decorate([
|
|
153
138
|
(0, decorators_1.cache)()
|
|
154
139
|
], IOSDevice.prototype, "openDeviceLogStream", null);
|
|
155
|
-
exports.IOSDevice = IOSDevice;
|
|
156
140
|
yok_1.injector.register("iOSDevice", IOSDevice);
|
|
157
141
|
//# sourceMappingURL=ios-device.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.IOSDeviceBase = void 0;
|
|
19
10
|
const decorators_1 = require("../../decorators");
|
|
@@ -21,89 +12,75 @@ class IOSDeviceBase {
|
|
|
21
12
|
constructor() {
|
|
22
13
|
this.cachedSockets = {};
|
|
23
14
|
}
|
|
24
|
-
getDebugSocket(appId, projectName, projectDir, ensureAppStarted = false) {
|
|
25
|
-
return
|
|
26
|
-
|
|
27
|
-
if (this.cachedSockets[appId]) {
|
|
28
|
-
return this.cachedSockets[appId];
|
|
29
|
-
}
|
|
30
|
-
yield this.attachToDebuggerFoundEvent(appId, projectName, projectDir);
|
|
31
|
-
try {
|
|
32
|
-
if (ensureAppStarted) {
|
|
33
|
-
yield this.applicationManager.startApplication({
|
|
34
|
-
appId,
|
|
35
|
-
projectName,
|
|
36
|
-
projectDir,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
this.$logger.trace(`Unable to start application ${appId} on device ${this.deviceInfo.identifier} in getDebugSocket method. Error is: ${err}`);
|
|
42
|
-
}
|
|
43
|
-
this.cachedSockets[appId] = yield this.getDebugSocketCore(appId);
|
|
44
|
-
if (this.cachedSockets[appId]) {
|
|
45
|
-
this.cachedSockets[appId].on("close", () => __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
yield this.destroyDebugSocket(appId);
|
|
47
|
-
}));
|
|
48
|
-
}
|
|
15
|
+
async getDebugSocket(appId, projectName, projectDir, ensureAppStarted = false) {
|
|
16
|
+
return this.$lockService.executeActionWithLock(async () => {
|
|
17
|
+
if (this.cachedSockets[appId]) {
|
|
49
18
|
return this.cachedSockets[appId];
|
|
50
|
-
}
|
|
51
|
-
|
|
19
|
+
}
|
|
20
|
+
await this.attachToDebuggerFoundEvent(appId, projectName, projectDir);
|
|
21
|
+
try {
|
|
22
|
+
if (ensureAppStarted) {
|
|
23
|
+
await this.applicationManager.startApplication({
|
|
24
|
+
appId,
|
|
25
|
+
projectName,
|
|
26
|
+
projectDir,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
catch (err) {
|
|
31
|
+
this.$logger.trace(`Unable to start application ${appId} on device ${this.deviceInfo.identifier} in getDebugSocket method. Error is: ${err}`);
|
|
32
|
+
}
|
|
33
|
+
this.cachedSockets[appId] = await this.getDebugSocketCore(appId);
|
|
34
|
+
if (this.cachedSockets[appId]) {
|
|
35
|
+
this.cachedSockets[appId].on("close", async () => {
|
|
36
|
+
await this.destroyDebugSocket(appId);
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return this.cachedSockets[appId];
|
|
40
|
+
}, `ios-debug-socket-${this.deviceInfo.identifier}-${appId}.lock`);
|
|
52
41
|
}
|
|
53
|
-
attachToDebuggerFoundEvent(appId, projectName, projectDir) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
yield this.$iOSDebuggerPortService.attachToDebuggerPortFoundEvent(appId);
|
|
57
|
-
});
|
|
42
|
+
async attachToDebuggerFoundEvent(appId, projectName, projectDir) {
|
|
43
|
+
await this.startDeviceLogProcess(projectName, projectDir);
|
|
44
|
+
await this.$iOSDebuggerPortService.attachToDebuggerPortFoundEvent(appId);
|
|
58
45
|
}
|
|
59
|
-
getDebuggerPort(appId) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
appId,
|
|
64
|
-
});
|
|
65
|
-
if (!port) {
|
|
66
|
-
this.$errors.fail("Device socket port cannot be found.");
|
|
67
|
-
}
|
|
68
|
-
return port;
|
|
46
|
+
async getDebuggerPort(appId) {
|
|
47
|
+
const port = await this.$iOSDebuggerPortService.getPort({
|
|
48
|
+
deviceId: this.deviceInfo.identifier,
|
|
49
|
+
appId,
|
|
69
50
|
});
|
|
51
|
+
if (!port) {
|
|
52
|
+
this.$errors.fail("Device socket port cannot be found.");
|
|
53
|
+
}
|
|
54
|
+
return port;
|
|
70
55
|
}
|
|
71
|
-
destroyAllSockets() {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.cachedSockets = {};
|
|
77
|
-
});
|
|
56
|
+
async destroyAllSockets() {
|
|
57
|
+
for (const appId in this.cachedSockets) {
|
|
58
|
+
await this.destroySocketSafe(this.cachedSockets[appId]);
|
|
59
|
+
}
|
|
60
|
+
this.cachedSockets = {};
|
|
78
61
|
}
|
|
79
|
-
destroyDebugSocket(appId) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
this.cachedSockets[appId] = null;
|
|
83
|
-
});
|
|
62
|
+
async destroyDebugSocket(appId) {
|
|
63
|
+
await this.destroySocketSafe(this.cachedSockets[appId]);
|
|
64
|
+
this.cachedSockets[appId] = null;
|
|
84
65
|
}
|
|
85
|
-
destroySocketSafe(socket) {
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
});
|
|
66
|
+
async destroySocketSafe(socket) {
|
|
67
|
+
if (socket && !socket.destroyed) {
|
|
68
|
+
return new Promise((resolve, reject) => {
|
|
69
|
+
socket.on("close", resolve);
|
|
70
|
+
socket.destroy();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
94
73
|
}
|
|
95
|
-
startDeviceLogProcess(projectName, projectDir) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
yield this.openDeviceLogStream();
|
|
102
|
-
});
|
|
74
|
+
async startDeviceLogProcess(projectName, projectDir) {
|
|
75
|
+
if (projectName) {
|
|
76
|
+
this.$deviceLogProvider.setProjectNameForDevice(this.deviceInfo.identifier, projectName);
|
|
77
|
+
this.$deviceLogProvider.setProjectDirForDevice(this.deviceInfo.identifier, projectDir);
|
|
78
|
+
}
|
|
79
|
+
await this.openDeviceLogStream();
|
|
103
80
|
}
|
|
104
81
|
}
|
|
82
|
+
exports.IOSDeviceBase = IOSDeviceBase;
|
|
105
83
|
__decorate([
|
|
106
84
|
(0, decorators_1.performanceLog)()
|
|
107
85
|
], IOSDeviceBase.prototype, "getDebugSocket", null);
|
|
108
|
-
exports.IOSDeviceBase = IOSDeviceBase;
|
|
109
86
|
//# sourceMappingURL=ios-device-base.js.map
|