nativescript 8.9.0-dev.2 → 8.9.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/test-deps-versions-generated.json +1 -1
- package/lib/android-tools-info.js +9 -32
- package/lib/base-package-manager.js +47 -71
- package/lib/bootstrap.js +1 -5
- package/lib/bun-package-manager.js +65 -104
- package/lib/color.js +2 -5
- package/lib/commands/add-platform.js +14 -31
- package/lib/commands/apple-login.js +18 -30
- package/lib/commands/appstore-list.js +34 -46
- package/lib/commands/appstore-upload.js +52 -68
- package/lib/commands/build.js +57 -90
- package/lib/commands/clean.js +161 -197
- package/lib/commands/command-base.js +14 -28
- package/lib/commands/config.js +48 -71
- package/lib/commands/create-project.js +210 -235
- package/lib/commands/debug.js +66 -93
- package/lib/commands/deploy.js +30 -47
- package/lib/commands/embedding/embed.js +33 -59
- package/lib/commands/extensibility/install-extension.js +5 -17
- package/lib/commands/extensibility/list-extensions.js +13 -25
- package/lib/commands/extensibility/uninstall-extension.js +4 -16
- package/lib/commands/fonts.js +30 -42
- package/lib/commands/generate-assets.js +13 -29
- package/lib/commands/generate-help.js +2 -14
- package/lib/commands/generate.js +12 -70
- package/lib/commands/info.js +2 -14
- package/lib/commands/install.js +34 -50
- package/lib/commands/list-platforms.js +14 -26
- package/lib/commands/migrate.js +15 -27
- package/lib/commands/native-add.js +23 -51
- package/lib/commands/platform-clean.js +19 -33
- package/lib/commands/plugin/add-plugin.js +12 -26
- package/lib/commands/plugin/build-plugin.js +31 -45
- package/lib/commands/plugin/create-plugin.js +110 -138
- package/lib/commands/plugin/list-plugins.js +22 -34
- package/lib/commands/plugin/remove-plugin.js +20 -35
- package/lib/commands/plugin/update-plugin.js +20 -34
- package/lib/commands/post-install.js +20 -39
- package/lib/commands/prepare.js +22 -39
- package/lib/commands/preview.js +49 -64
- package/lib/commands/remove-platform.js +7 -19
- package/lib/commands/resources/resources-update.js +13 -28
- package/lib/commands/run.js +55 -77
- package/lib/commands/setup.js +0 -1
- package/lib/commands/start.js +6 -20
- package/lib/commands/test-init.js +123 -138
- package/lib/commands/test.js +67 -97
- package/lib/commands/typings.js +126 -143
- package/lib/commands/update-platform.js +22 -40
- package/lib/commands/update.js +30 -45
- package/lib/commands/widget.js +390 -352
- package/lib/common/bootstrap.js +0 -1
- package/lib/common/child-process.js +53 -75
- package/lib/common/codeGeneration/code-entity.js +1 -2
- package/lib/common/codeGeneration/code-printer.js +1 -2
- package/lib/common/command-params.js +7 -19
- package/lib/common/commands/analytics.js +27 -43
- package/lib/common/commands/autocompletion.js +39 -59
- package/lib/common/commands/device/device-log-stream.js +12 -24
- package/lib/common/commands/device/get-file.js +22 -35
- package/lib/common/commands/device/list-applications.js +12 -24
- package/lib/common/commands/device/list-devices.js +72 -90
- package/lib/common/commands/device/list-files.js +23 -36
- package/lib/common/commands/device/put-file.js +22 -35
- package/lib/common/commands/device/run-application.js +12 -26
- package/lib/common/commands/device/stop-application.js +11 -23
- package/lib/common/commands/device/uninstall-application.js +6 -18
- package/lib/common/commands/doctor.js +2 -3
- package/lib/common/commands/generate-messages.js +17 -29
- package/lib/common/commands/help.js +20 -34
- package/lib/common/commands/package-manager-get.js +6 -18
- package/lib/common/commands/package-manager-set.js +9 -21
- package/lib/common/commands/post-install.js +2 -14
- package/lib/common/commands/preuninstall.js +24 -48
- package/lib/common/commands/proxy/proxy-base.js +8 -23
- package/lib/common/commands/proxy/proxy-clear.js +4 -16
- package/lib/common/commands/proxy/proxy-get.js +3 -15
- package/lib/common/commands/proxy/proxy-set.js +87 -101
- package/lib/common/common-lib.js +0 -1
- package/lib/common/constants.js +11 -22
- package/lib/common/decorators.js +10 -70
- package/lib/common/dispatchers.js +80 -106
- package/lib/common/errors.js +91 -116
- package/lib/common/file-system.js +108 -141
- package/lib/common/header.js +1 -5
- package/lib/common/helpers.js +152 -267
- package/lib/common/host-info.js +37 -54
- package/lib/common/http-client.js +93 -128
- package/lib/common/logger/appenders/cli-appender.js +1 -6
- package/lib/common/logger/appenders/emit-appender.js +1 -6
- package/lib/common/logger/layouts/cli-layout.js +1 -3
- package/lib/common/logger/logger.js +4 -9
- package/lib/common/messages/messages.js +0 -6
- package/lib/common/mobile/android/android-application-manager.js +122 -162
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -2
- package/lib/common/mobile/android/android-debug-bridge.js +87 -118
- package/lib/common/mobile/android/android-device-file-system.js +98 -135
- package/lib/common/mobile/android/android-device-hash-service.js +50 -78
- package/lib/common/mobile/android/android-device.js +68 -93
- package/lib/common/mobile/android/android-emulator-services.js +105 -131
- package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
- package/lib/common/mobile/android/android-log-filter.js +1 -5
- package/lib/common/mobile/android/android-virtual-device-service.js +76 -123
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -30
- package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -123
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -92
- package/lib/common/mobile/android/logcat-helper.js +108 -140
- package/lib/common/mobile/application-manager-base.js +84 -113
- package/lib/common/mobile/device-emitter.js +0 -4
- package/lib/common/mobile/device-log-emitter.js +0 -1
- package/lib/common/mobile/device-log-provider-base.js +7 -19
- package/lib/common/mobile/device-log-provider.js +0 -23
- package/lib/common/mobile/device-platforms-constants.js +0 -1
- package/lib/common/mobile/emulator-helper.js +0 -3
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -111
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -106
- package/lib/common/mobile/ios/device/ios-device-operations.js +105 -146
- package/lib/common/mobile/ios/device/ios-device.js +20 -40
- package/lib/common/mobile/ios/ios-device-base.js +58 -82
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
- package/lib/common/mobile/ios/ios-log-filter.js +0 -1
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -96
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -2
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -95
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -48
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -63
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -36
- package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
- package/lib/common/mobile/log-filter.js +0 -2
- package/lib/common/mobile/logging-levels.js +0 -1
- package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -64
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -35
- package/lib/common/mobile/mobile-core/android-process-service.js +143 -214
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -14
- package/lib/common/mobile/mobile-core/devices-service.js +386 -505
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -37
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -65
- package/lib/common/mobile/mobile-helper.js +15 -27
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -53
- package/lib/common/opener.js +2 -3
- package/lib/common/os-info.js +0 -1
- package/lib/common/plist-parser.js +0 -1
- package/lib/common/project-helper.js +0 -1
- package/lib/common/prompter.js +91 -114
- package/lib/common/queue.js +9 -21
- package/lib/common/resource-loader.js +0 -1
- package/lib/common/services/auto-completion-service.js +40 -65
- package/lib/common/services/cancellation.js +17 -29
- package/lib/common/services/commands-service.js +146 -180
- package/lib/common/services/help-service.js +133 -166
- package/lib/common/services/hooks-service.js +93 -121
- package/lib/common/services/ios-notification-service.js +21 -35
- package/lib/common/services/json-file-settings-service.js +52 -77
- package/lib/common/services/lock-service.js +35 -58
- package/lib/common/services/message-contract-generator.js +35 -47
- package/lib/common/services/messages-service.js +0 -1
- package/lib/common/services/micro-templating-service.js +4 -21
- package/lib/common/services/net-service.js +90 -110
- package/lib/common/services/project-files-manager.js +10 -28
- package/lib/common/services/project-files-provider-base.js +0 -1
- package/lib/common/services/proxy-service.js +13 -25
- package/lib/common/services/qr.js +13 -25
- package/lib/common/services/settings-service.js +1 -2
- package/lib/common/services/xcode-select-service.js +20 -36
- package/lib/common/utils.js +2 -3
- package/lib/common/validators/project-name-validator.js +1 -2
- package/lib/common/validators/validation-result.js +1 -2
- package/lib/common/verify-node-version.js +3 -11
- package/lib/common/yok.js +35 -69
- package/lib/config.js +36 -72
- package/lib/constants-provider.js +0 -1
- package/lib/constants.js +24 -77
- package/lib/controllers/build-controller.js +82 -100
- package/lib/controllers/debug-controller.js +107 -133
- package/lib/controllers/deploy-controller.js +15 -24
- package/lib/controllers/migrate-controller.js +723 -884
- package/lib/controllers/platform-controller.js +71 -94
- package/lib/controllers/prepare-controller.js +232 -274
- package/lib/controllers/run-controller.js +397 -427
- package/lib/controllers/update-controller-base.js +16 -30
- package/lib/controllers/update-controller.js +94 -130
- package/lib/data/build-data.js +0 -1
- package/lib/data/controller-data-base.js +0 -1
- package/lib/data/debug-data.js +0 -1
- package/lib/data/platform-data.js +0 -1
- package/lib/data/prepare-data.js +4 -2
- package/lib/data/run-data.js +0 -1
- package/lib/definitions/project.d.ts +24 -24
- package/lib/detached-processes/cleanup-js-subprocess.js +5 -20
- package/lib/detached-processes/cleanup-process.js +30 -43
- package/lib/detached-processes/file-log-service.js +1 -2
- package/lib/device-path-provider.js +23 -35
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -171
- package/lib/device-sockets/ios/notification.js +1 -4
- package/lib/device-sockets/ios/socket-request-executor.js +24 -42
- package/lib/helpers/android-bundle-validator-helper.js +2 -3
- package/lib/helpers/deploy-command-helper.js +44 -50
- package/lib/helpers/key-command-helper.js +6 -17
- package/lib/helpers/livesync-command-helper.js +137 -155
- package/lib/helpers/network-connectivity-validator.js +6 -18
- package/lib/helpers/options-track-helper.js +7 -19
- package/lib/helpers/package-path-helper.js +0 -1
- package/lib/helpers/platform-command-helper.js +101 -127
- package/lib/helpers/version-validator-helper.js +0 -1
- package/lib/key-commands/bootstrap.js +2 -3
- package/lib/key-commands/index.js +154 -205
- package/lib/nativescript-cli-lib-bootstrap.js +0 -4
- package/lib/nativescript-cli-lib.js +0 -1
- package/lib/nativescript-cli.js +6 -24
- package/lib/node/pbxproj-dom-xcode.js +0 -1
- package/lib/node/xcode.js +0 -1
- package/lib/node-package-manager.js +81 -114
- package/lib/options.js +122 -156
- package/lib/package-installation-manager.js +130 -172
- package/lib/package-manager.js +63 -88
- package/lib/platform-command-param.js +4 -16
- package/lib/pnpm-package-manager.js +59 -81
- package/lib/project-data.js +1 -13
- package/lib/providers/project-files-provider.js +1 -2
- package/lib/resolvers/livesync-service-resolver.js +0 -1
- package/lib/services/analytics/analytics-broker-process.js +19 -32
- package/lib/services/analytics/analytics-broker.js +17 -31
- package/lib/services/analytics/analytics-service.js +170 -210
- package/lib/services/analytics/google-analytics-provider.js +43 -59
- package/lib/services/analytics-settings-service.js +15 -37
- package/lib/services/android/android-bundle-tool-service.js +43 -61
- package/lib/services/android/gradle-build-args-service.js +9 -23
- package/lib/services/android/gradle-build-service.js +22 -36
- package/lib/services/android/gradle-command-service.js +22 -36
- package/lib/services/android-device-debug-service.js +90 -123
- package/lib/services/android-plugin-build-service.js +205 -260
- package/lib/services/android-project-service.js +129 -241
- package/lib/services/android-resources-migration-service.js +51 -71
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -64
- package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
- package/lib/services/apple-portal/apple-portal-session-service.js +197 -218
- package/lib/services/apple-portal/srp/srp-wrapper.js +43 -61
- package/lib/services/assets-generation/assets-generation-service.js +103 -128
- package/lib/services/build-artifacts-service.js +10 -22
- package/lib/services/build-data-service.js +0 -1
- package/lib/services/build-info-file-service.js +20 -36
- package/lib/services/cleanup-service.js +48 -81
- package/lib/services/cocoapods-platform-manager.js +0 -9
- package/lib/services/cocoapods-service.js +112 -153
- package/lib/services/debug-data-service.js +0 -1
- package/lib/services/debug-service-base.js +0 -7
- package/lib/services/device/device-install-app-service.js +54 -72
- package/lib/services/doctor-service.js +101 -135
- package/lib/services/extensibility-service.js +81 -108
- package/lib/services/files-hash-service.js +26 -44
- package/lib/services/hmr-status-service.js +1 -3
- package/lib/services/info-service.js +0 -1
- package/lib/services/initialize-service.js +37 -54
- package/lib/services/ios/export-options-plist-service.js +38 -55
- package/lib/services/ios/ios-signing-service.js +168 -191
- package/lib/services/ios/spm-service.js +46 -70
- package/lib/services/ios/xcodebuild-args-service.js +77 -103
- package/lib/services/ios/xcodebuild-command-service.js +14 -26
- package/lib/services/ios/xcodebuild-service.js +52 -72
- package/lib/services/ios-debugger-port-service.js +24 -38
- package/lib/services/ios-device-debug-service.js +75 -103
- package/lib/services/ios-entitlements-service.js +31 -43
- package/lib/services/ios-extensions-service.js +18 -30
- package/lib/services/ios-log-filter.js +0 -20
- package/lib/services/ios-native-target-service.js +4 -6
- package/lib/services/ios-project-service.js +452 -603
- package/lib/services/ios-provision-service.js +108 -132
- package/lib/services/ios-watch-app-service.js +21 -33
- package/lib/services/ip-service.js +38 -55
- package/lib/services/itmstransporter-service.js +129 -153
- package/lib/services/karma-execution.js +0 -2
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -49
- package/lib/services/livesync/android-device-livesync-service.js +120 -151
- package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -155
- package/lib/services/livesync/android-livesync-service.js +14 -36
- package/lib/services/livesync/android-livesync-tool.js +90 -117
- package/lib/services/livesync/device-livesync-service-base.js +15 -30
- package/lib/services/livesync/ios-device-livesync-service.js +114 -150
- package/lib/services/livesync/ios-livesync-service.js +42 -60
- package/lib/services/livesync/livesync-socket.js +0 -1
- package/lib/services/livesync/platform-livesync-service-base.js +94 -124
- package/lib/services/livesync-process-data-service.js +0 -1
- package/lib/services/log-parser-service.js +1 -2
- package/lib/services/log-source-map-service.js +30 -56
- package/lib/services/marking-mode-service.js +17 -33
- package/lib/services/metadata-filtering-service.js +0 -1
- package/lib/services/npm-config-service.js +1 -5
- package/lib/services/pacote-service.js +49 -71
- package/lib/services/performance-service.js +2 -4
- package/lib/services/platform/add-platform-service.js +51 -119
- package/lib/services/platform/platform-validation-service.js +22 -34
- package/lib/services/platform/prepare-native-platform-service.js +49 -65
- package/lib/services/platform-environment-requirements.js +27 -43
- package/lib/services/platform-project-service-base.js +0 -1
- package/lib/services/platforms-data-service.js +0 -1
- package/lib/services/plugins-service.js +125 -168
- package/lib/services/prepare-data-service.js +0 -1
- package/lib/services/project-backup-service.js +1 -5
- package/lib/services/project-changes-service.js +124 -152
- package/lib/services/project-cleanup-service.js +64 -79
- package/lib/services/project-config-service.js +73 -102
- package/lib/services/project-data-service.js +108 -154
- package/lib/services/project-name-service.js +28 -44
- package/lib/services/project-service.js +84 -113
- package/lib/services/project-templates-service.js +52 -68
- package/lib/services/qr-code-terminal-service.js +0 -1
- package/lib/services/require-service.js +0 -1
- package/lib/services/start-service.js +41 -60
- package/lib/services/temp-service.js +8 -22
- package/lib/services/terminal-spinner-service.js +15 -28
- package/lib/services/test-execution-service.js +59 -79
- package/lib/services/test-initialization-service.js +2 -6
- package/lib/services/timeline-profiler-service.js +1 -2
- package/lib/services/user-settings-service.js +0 -1
- package/lib/services/versions-service.js +119 -140
- package/lib/services/watch-ignore-list-service.js +0 -1
- package/lib/services/webpack/webpack-compiler-service.js +215 -279
- package/lib/services/xcconfig-service.js +8 -21
- package/lib/services/xcproj-service.js +0 -1
- package/lib/shared-event-bus.js +0 -6
- package/lib/sys-info.js +45 -63
- package/lib/tools/config-manipulation/config-transformer.js +0 -12
- package/lib/tools/node-modules/node-modules-builder.js +16 -28
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
- package/lib/yarn-package-manager.js +59 -79
- package/lib/yarn2-package-manager.js +60 -82
- package/package.json +65 -80
- 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
package/lib/common/helpers.js
CHANGED
|
@@ -1,16 +1,57 @@
|
|
|
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
|
-
exports.
|
|
13
|
-
exports.
|
|
3
|
+
exports.stripComments = stripComments;
|
|
4
|
+
exports.doesCurrentNpmCommandMatch = doesCurrentNpmCommandMatch;
|
|
5
|
+
exports.someWithRegExps = someWithRegExps;
|
|
6
|
+
exports.getCurrentNpmCommandArgv = getCurrentNpmCommandArgv;
|
|
7
|
+
exports.isInstallingNativeScriptGlobally = isInstallingNativeScriptGlobally;
|
|
8
|
+
exports.createRegExp = createRegExp;
|
|
9
|
+
exports.regExpEscape = regExpEscape;
|
|
10
|
+
exports.getShortPluginName = getShortPluginName;
|
|
11
|
+
exports.executeActionByChunks = executeActionByChunks;
|
|
12
|
+
exports.deferPromise = deferPromise;
|
|
13
|
+
exports.settlePromises = settlePromises;
|
|
14
|
+
exports.getPropertyName = getPropertyName;
|
|
15
|
+
exports.quoteString = quoteString;
|
|
16
|
+
exports.createGUID = createGUID;
|
|
17
|
+
exports.stringReplaceAll = stringReplaceAll;
|
|
18
|
+
exports.isRequestSuccessful = isRequestSuccessful;
|
|
19
|
+
exports.isResponseRedirect = isResponseRedirect;
|
|
20
|
+
exports.formatListOfNames = formatListOfNames;
|
|
21
|
+
exports.getRelativeToRootPath = getRelativeToRootPath;
|
|
22
|
+
exports.setIsInteractive = setIsInteractive;
|
|
23
|
+
exports.isInteractive = isInteractive;
|
|
24
|
+
exports.toBoolean = toBoolean;
|
|
25
|
+
exports.block = block;
|
|
26
|
+
exports.isNumberWithoutExponent = isNumberWithoutExponent;
|
|
27
|
+
exports.fromWindowsRelativePathToUnix = fromWindowsRelativePathToUnix;
|
|
28
|
+
exports.isNullOrWhitespace = isNullOrWhitespace;
|
|
29
|
+
exports.getCurrentEpochTime = getCurrentEpochTime;
|
|
30
|
+
exports.sleep = sleep;
|
|
31
|
+
exports.createTable = createTable;
|
|
32
|
+
exports.getMessageWithBorders = getMessageWithBorders;
|
|
33
|
+
exports.remove = remove;
|
|
34
|
+
exports.trimSymbol = trimSymbol;
|
|
35
|
+
exports.parseJson = parseJson;
|
|
36
|
+
exports.getFuturesResults = getFuturesResults;
|
|
37
|
+
exports.appendZeroesToVersion = appendZeroesToVersion;
|
|
38
|
+
exports.decorateMethod = decorateMethod;
|
|
39
|
+
exports.hook = hook;
|
|
40
|
+
exports.isPromise = isPromise;
|
|
41
|
+
exports.attachAwaitDetach = attachAwaitDetach;
|
|
42
|
+
exports.connectEventually = connectEventually;
|
|
43
|
+
exports.getHash = getHash;
|
|
44
|
+
exports.connectEventuallyUntilTimeout = connectEventuallyUntilTimeout;
|
|
45
|
+
exports.getProjectFilesConfig = getProjectFilesConfig;
|
|
46
|
+
exports.getPidFromiOSSimulatorLogs = getPidFromiOSSimulatorLogs;
|
|
47
|
+
exports.getValueFromNestedObject = getValueFromNestedObject;
|
|
48
|
+
exports.getWinRegPropertyValue = getWinRegPropertyValue;
|
|
49
|
+
exports.stringify = stringify;
|
|
50
|
+
exports.getFixedLengthDateString = getFixedLengthDateString;
|
|
51
|
+
exports.getFormattedDateComponent = getFormattedDateComponent;
|
|
52
|
+
exports.getFormattedMilliseconds = getFormattedMilliseconds;
|
|
53
|
+
exports.annotate = annotate;
|
|
54
|
+
exports.hasValidAndroidSigning = hasValidAndroidSigning;
|
|
14
55
|
const uuid_1 = require("uuid");
|
|
15
56
|
const os_1 = require("os");
|
|
16
57
|
const constants_1 = require("./constants");
|
|
@@ -22,7 +63,6 @@ function stripComments(content) {
|
|
|
22
63
|
const newContent = content.replace(STRIP_COMMENTS, "");
|
|
23
64
|
return newContent;
|
|
24
65
|
}
|
|
25
|
-
exports.stripComments = stripComments;
|
|
26
66
|
function doesCurrentNpmCommandMatch(patterns) {
|
|
27
67
|
const currentNpmCommandArgv = getCurrentNpmCommandArgv();
|
|
28
68
|
let result = false;
|
|
@@ -31,18 +71,9 @@ function doesCurrentNpmCommandMatch(patterns) {
|
|
|
31
71
|
}
|
|
32
72
|
return result;
|
|
33
73
|
}
|
|
34
|
-
exports.doesCurrentNpmCommandMatch = doesCurrentNpmCommandMatch;
|
|
35
|
-
/**
|
|
36
|
-
* Equivalent of lodash's some, but instead of lambda, just pass array of Regular Expressions.
|
|
37
|
-
* If any of them matches any of the given elements, true is returned.
|
|
38
|
-
* @param {string[]} array Elements to be checked.
|
|
39
|
-
* @param {RegExp[]} patterns Regular expressions to be tested
|
|
40
|
-
* @returns {boolean} True in case any element of the array matches any of the patterns. False otherwise.
|
|
41
|
-
*/
|
|
42
74
|
function someWithRegExps(array, patterns) {
|
|
43
75
|
return _.some(array, (item) => _.some(patterns, (pattern) => !!item.match(pattern)));
|
|
44
76
|
}
|
|
45
|
-
exports.someWithRegExps = someWithRegExps;
|
|
46
77
|
function getCurrentNpmCommandArgv() {
|
|
47
78
|
let result = [];
|
|
48
79
|
if (process.env && process.env.npm_config_argv) {
|
|
@@ -51,17 +82,14 @@ function getCurrentNpmCommandArgv() {
|
|
|
51
82
|
result = npmConfigArgv.original || [];
|
|
52
83
|
}
|
|
53
84
|
catch (error) {
|
|
54
|
-
// ignore
|
|
55
85
|
}
|
|
56
86
|
}
|
|
57
87
|
return result;
|
|
58
88
|
}
|
|
59
|
-
exports.getCurrentNpmCommandArgv = getCurrentNpmCommandArgv;
|
|
60
89
|
function isInstallingNativeScriptGlobally() {
|
|
61
90
|
return (isInstallingNativeScriptGloballyWithNpm() ||
|
|
62
91
|
isInstallingNativeScriptGloballyWithYarn());
|
|
63
92
|
}
|
|
64
|
-
exports.isInstallingNativeScriptGlobally = isInstallingNativeScriptGlobally;
|
|
65
93
|
function isInstallingNativeScriptGloballyWithNpm() {
|
|
66
94
|
const isInstallCommand = doesCurrentNpmCommandMatch([/^install$/, /^i$/]);
|
|
67
95
|
const isGlobalCommand = doesCurrentNpmCommandMatch([/^--global$/, /^-g$/]);
|
|
@@ -72,7 +100,6 @@ function isInstallingNativeScriptGloballyWithNpm() {
|
|
|
72
100
|
return isInstallCommand && isGlobalCommand && hasNativeScriptPackage;
|
|
73
101
|
}
|
|
74
102
|
function isInstallingNativeScriptGloballyWithYarn() {
|
|
75
|
-
// yarn populates the same env used by npm - npm_config_argv, so check it for yarn specific command
|
|
76
103
|
const isInstallCommand = doesCurrentNpmCommandMatch([/^add$/]);
|
|
77
104
|
const isGlobalCommand = doesCurrentNpmCommandMatch([/^global$/]);
|
|
78
105
|
const hasNativeScriptPackage = doesCurrentNpmCommandMatch([
|
|
@@ -81,13 +108,6 @@ function isInstallingNativeScriptGloballyWithYarn() {
|
|
|
81
108
|
]);
|
|
82
109
|
return isInstallCommand && isGlobalCommand && hasNativeScriptPackage;
|
|
83
110
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Creates regular expression from input string.
|
|
86
|
-
* The method replaces all occurences of RegExp special symbols in the input string with \<symbol>.
|
|
87
|
-
* @param {string} input The string from which a regular expression should be created.
|
|
88
|
-
* @param {string} opts RegExp options, for example "gm" - global and multiline.
|
|
89
|
-
* @returns {RegExp} The regular expression created from the input string.
|
|
90
|
-
*/
|
|
91
111
|
function createRegExp(input, opts) {
|
|
92
112
|
if (!input || !_.isString(input)) {
|
|
93
113
|
throw new Error("Input must be a string.");
|
|
@@ -95,44 +115,31 @@ function createRegExp(input, opts) {
|
|
|
95
115
|
const escapedSource = regExpEscape(input);
|
|
96
116
|
return new RegExp(escapedSource, opts);
|
|
97
117
|
}
|
|
98
|
-
exports.createRegExp = createRegExp;
|
|
99
|
-
/**
|
|
100
|
-
* Escapes all special symbols used in regex.
|
|
101
|
-
* @param {string} input The string in which to replace the special regexp symbols.
|
|
102
|
-
* @returns {string} A string in which all regex symbols are escaped.
|
|
103
|
-
*/
|
|
104
118
|
function regExpEscape(input) {
|
|
105
|
-
// https://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex
|
|
106
119
|
return input.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
107
120
|
}
|
|
108
|
-
exports.regExpEscape = regExpEscape;
|
|
109
121
|
function getShortPluginName(pluginName) {
|
|
110
122
|
return sanitizePluginName(pluginName).replace(/[\-]/g, "_");
|
|
111
123
|
}
|
|
112
|
-
exports.getShortPluginName = getShortPluginName;
|
|
113
124
|
function sanitizePluginName(pluginName) {
|
|
114
|
-
// avoid long plugin names, exclude the npm module scope (@scope/nativescript-plugin) from the android plugin name
|
|
115
125
|
return pluginName.split("/").pop();
|
|
116
126
|
}
|
|
117
|
-
function executeActionByChunks(initialData, chunkSize, elementAction) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
});
|
|
127
|
+
async function executeActionByChunks(initialData, chunkSize, elementAction) {
|
|
128
|
+
let arrayToChunk;
|
|
129
|
+
let action;
|
|
130
|
+
if (_.isArray(initialData)) {
|
|
131
|
+
arrayToChunk = initialData;
|
|
132
|
+
action = (element) => elementAction(element, initialData.indexOf(element));
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
arrayToChunk = _.keys(initialData);
|
|
136
|
+
action = (key) => elementAction(initialData[key], key);
|
|
137
|
+
}
|
|
138
|
+
const chunks = _.chunk(arrayToChunk, chunkSize);
|
|
139
|
+
for (const chunk of chunks) {
|
|
140
|
+
await Promise.all(_.map(chunk, (element) => action(element)));
|
|
141
|
+
}
|
|
134
142
|
}
|
|
135
|
-
exports.executeActionByChunks = executeActionByChunks;
|
|
136
143
|
function deferPromise() {
|
|
137
144
|
let resolve;
|
|
138
145
|
let reject;
|
|
@@ -161,14 +168,6 @@ function deferPromise() {
|
|
|
161
168
|
getResult: () => result,
|
|
162
169
|
};
|
|
163
170
|
}
|
|
164
|
-
exports.deferPromise = deferPromise;
|
|
165
|
-
/**
|
|
166
|
-
* Executes all promises and does not stop in case any of them throws.
|
|
167
|
-
* Returns the results of all promises in array when all are successfully resolved.
|
|
168
|
-
* In case any of the promises is rejected, rejects the resulted promise with all accumulated errors.
|
|
169
|
-
* @param {Promise<T>[]} promises Promises to be resolved.
|
|
170
|
-
* @returns {Promise<T[]>} New promise which will be resolved with the results of all promises.
|
|
171
|
-
*/
|
|
172
171
|
function settlePromises(promises) {
|
|
173
172
|
return new Promise((resolve, reject) => {
|
|
174
173
|
let settledPromisesCount = 0;
|
|
@@ -184,7 +183,6 @@ function settlePromises(promises) {
|
|
|
184
183
|
results[index] = result;
|
|
185
184
|
})
|
|
186
185
|
.catch((err) => {
|
|
187
|
-
// Accumulate all errors.
|
|
188
186
|
errors.push(err);
|
|
189
187
|
})
|
|
190
188
|
.then(() => {
|
|
@@ -201,7 +199,6 @@ function settlePromises(promises) {
|
|
|
201
199
|
});
|
|
202
200
|
});
|
|
203
201
|
}
|
|
204
|
-
exports.settlePromises = settlePromises;
|
|
205
202
|
function getPropertyName(func) {
|
|
206
203
|
if (func) {
|
|
207
204
|
const match = func
|
|
@@ -213,19 +210,16 @@ function getPropertyName(func) {
|
|
|
213
210
|
}
|
|
214
211
|
return null;
|
|
215
212
|
}
|
|
216
|
-
exports.getPropertyName = getPropertyName;
|
|
217
213
|
function bashQuote(s) {
|
|
218
214
|
if (s[0] === "'" && s[s.length - 1] === "'") {
|
|
219
215
|
return s;
|
|
220
216
|
}
|
|
221
|
-
// replace ' with '"'"' and wrap in ''
|
|
222
217
|
return "'" + s.replace(/'/g, "'\"'\"'") + "'";
|
|
223
218
|
}
|
|
224
219
|
function cmdQuote(s) {
|
|
225
220
|
if (s[0] === '"' && s[s.length - 1] === '"') {
|
|
226
221
|
return s;
|
|
227
222
|
}
|
|
228
|
-
// replace " with \" and wrap in ""
|
|
229
223
|
return '"' + s.replace(/"/g, '\\"') + '"';
|
|
230
224
|
}
|
|
231
225
|
function quoteString(s) {
|
|
@@ -234,7 +228,6 @@ function quoteString(s) {
|
|
|
234
228
|
}
|
|
235
229
|
return (0, os_1.platform)() === "win32" ? cmdQuote(s) : bashQuote(s);
|
|
236
230
|
}
|
|
237
|
-
exports.quoteString = quoteString;
|
|
238
231
|
function createGUID(useBraces) {
|
|
239
232
|
let output;
|
|
240
233
|
useBraces = useBraces === undefined ? true : useBraces;
|
|
@@ -246,19 +239,15 @@ function createGUID(useBraces) {
|
|
|
246
239
|
}
|
|
247
240
|
return output;
|
|
248
241
|
}
|
|
249
|
-
exports.createGUID = createGUID;
|
|
250
242
|
function stringReplaceAll(inputString, find, replace) {
|
|
251
243
|
return inputString.split(find).join(replace);
|
|
252
244
|
}
|
|
253
|
-
exports.stringReplaceAll = stringReplaceAll;
|
|
254
245
|
function isRequestSuccessful(request) {
|
|
255
246
|
return request.statusCode >= 200 && request.statusCode < 300;
|
|
256
247
|
}
|
|
257
|
-
exports.isRequestSuccessful = isRequestSuccessful;
|
|
258
248
|
function isResponseRedirect(response) {
|
|
259
249
|
return _.includes([301, 302, 303, 307, 308], response.statusCode);
|
|
260
250
|
}
|
|
261
|
-
exports.isResponseRedirect = isResponseRedirect;
|
|
262
251
|
function formatListOfNames(names, conjunction) {
|
|
263
252
|
conjunction = conjunction === undefined ? "or" : conjunction;
|
|
264
253
|
if (names.length <= 1) {
|
|
@@ -272,17 +261,14 @@ function formatListOfNames(names, conjunction) {
|
|
|
272
261
|
names[names.length - 1]);
|
|
273
262
|
}
|
|
274
263
|
}
|
|
275
|
-
exports.formatListOfNames = formatListOfNames;
|
|
276
264
|
function getRelativeToRootPath(rootPath, filePath) {
|
|
277
265
|
const relativeToRootPath = filePath.substr(rootPath.length);
|
|
278
266
|
return relativeToRootPath;
|
|
279
267
|
}
|
|
280
|
-
exports.getRelativeToRootPath = getRelativeToRootPath;
|
|
281
268
|
let customIsInteractive;
|
|
282
269
|
function setIsInteractive(override) {
|
|
283
270
|
customIsInteractive = override;
|
|
284
271
|
}
|
|
285
|
-
exports.setIsInteractive = setIsInteractive;
|
|
286
272
|
function isInteractive() {
|
|
287
273
|
if (customIsInteractive) {
|
|
288
274
|
return customIsInteractive();
|
|
@@ -290,10 +276,6 @@ function isInteractive() {
|
|
|
290
276
|
const result = isRunningInTTY() && !isCIEnvironment();
|
|
291
277
|
return result;
|
|
292
278
|
}
|
|
293
|
-
exports.isInteractive = isInteractive;
|
|
294
|
-
/**
|
|
295
|
-
* Checks if current process is running in Text Terminal (TTY)
|
|
296
|
-
*/
|
|
297
279
|
function isRunningInTTY() {
|
|
298
280
|
return (process.stdout &&
|
|
299
281
|
process.stdout.isTTY &&
|
|
@@ -301,16 +283,11 @@ function isRunningInTTY() {
|
|
|
301
283
|
process.stdin.isTTY);
|
|
302
284
|
}
|
|
303
285
|
function isCIEnvironment() {
|
|
304
|
-
// The following CI environments set their own environment variables that we respect:
|
|
305
|
-
// travis: "CI",
|
|
306
|
-
// circleCI: "CI",
|
|
307
|
-
// jenkins: "JENKINS_HOME"
|
|
308
286
|
return !!(process.env && (process.env.CI || process.env.JENKINS_HOME));
|
|
309
287
|
}
|
|
310
288
|
function toBoolean(str) {
|
|
311
289
|
return !!(str && str.toString && str.toString().toLowerCase() === "true");
|
|
312
290
|
}
|
|
313
|
-
exports.toBoolean = toBoolean;
|
|
314
291
|
function block(operation) {
|
|
315
292
|
if (isInteractive()) {
|
|
316
293
|
process.stdin.setRawMode(false);
|
|
@@ -320,7 +297,6 @@ function block(operation) {
|
|
|
320
297
|
process.stdin.setRawMode(true);
|
|
321
298
|
}
|
|
322
299
|
}
|
|
323
|
-
exports.block = block;
|
|
324
300
|
function isNumberWithoutExponent(n) {
|
|
325
301
|
const parsedNum = parseFloat(n);
|
|
326
302
|
return (!isNaN(parsedNum) &&
|
|
@@ -328,31 +304,24 @@ function isNumberWithoutExponent(n) {
|
|
|
328
304
|
n.toString &&
|
|
329
305
|
n.toString() === parsedNum.toString());
|
|
330
306
|
}
|
|
331
|
-
exports.isNumberWithoutExponent = isNumberWithoutExponent;
|
|
332
307
|
function fromWindowsRelativePathToUnix(windowsRelativePath) {
|
|
333
308
|
return windowsRelativePath.replace(/\\/g, "/");
|
|
334
309
|
}
|
|
335
|
-
exports.fromWindowsRelativePathToUnix = fromWindowsRelativePathToUnix;
|
|
336
310
|
function isNullOrWhitespace(input) {
|
|
337
311
|
if (!input && input !== false) {
|
|
338
312
|
return true;
|
|
339
313
|
}
|
|
340
314
|
return _.isString(input) && input.replace(/\s/gi, "").length < 1;
|
|
341
315
|
}
|
|
342
|
-
exports.isNullOrWhitespace = isNullOrWhitespace;
|
|
343
316
|
function getCurrentEpochTime() {
|
|
344
317
|
const dateTime = new Date();
|
|
345
318
|
return dateTime.getTime();
|
|
346
319
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
return new Promise((resolve, reject) => {
|
|
351
|
-
setTimeout(() => __awaiter(this, void 0, void 0, function* () { return resolve(); }), ms);
|
|
352
|
-
});
|
|
320
|
+
async function sleep(ms) {
|
|
321
|
+
return new Promise((resolve, reject) => {
|
|
322
|
+
setTimeout(async () => resolve(), ms);
|
|
353
323
|
});
|
|
354
324
|
}
|
|
355
|
-
exports.sleep = sleep;
|
|
356
325
|
function createTable(headers, data) {
|
|
357
326
|
const table = new Table({
|
|
358
327
|
head: headers,
|
|
@@ -361,7 +330,6 @@ function createTable(headers, data) {
|
|
|
361
330
|
_.forEach(data, (row) => table.push(row));
|
|
362
331
|
return table;
|
|
363
332
|
}
|
|
364
|
-
exports.createTable = createTable;
|
|
365
333
|
function getMessageWithBorders(message, spanLength = 3) {
|
|
366
334
|
if (!message) {
|
|
367
335
|
return "";
|
|
@@ -369,11 +337,11 @@ function getMessageWithBorders(message, spanLength = 3) {
|
|
|
369
337
|
const longestRowLength = message.split("\n").sort((a, b) => {
|
|
370
338
|
return b.length - a.length;
|
|
371
339
|
})[0].length;
|
|
372
|
-
let border = "*".repeat(longestRowLength + 2 * spanLength);
|
|
340
|
+
let border = "*".repeat(longestRowLength + 2 * spanLength);
|
|
373
341
|
if (border.length % 2 === 0) {
|
|
374
|
-
border += "*";
|
|
342
|
+
border += "*";
|
|
375
343
|
}
|
|
376
|
-
border = border.replace(/\*\*/g, "* ");
|
|
344
|
+
border = border.replace(/\*\*/g, "* ");
|
|
377
345
|
const formatRow = function (row) {
|
|
378
346
|
return (_.padEnd("*", spanLength) +
|
|
379
347
|
_.padEnd(row, border.length - 2 * spanLength) +
|
|
@@ -385,7 +353,6 @@ function getMessageWithBorders(message, spanLength = 3) {
|
|
|
385
353
|
messageWithBorders.push(os_1.EOL, border + os_1.EOL, emptyRow, ...message.split("\n").map((row) => formatRow(row.trim())), emptyRow, border + os_1.EOL, os_1.EOL);
|
|
386
354
|
return messageWithBorders.join("");
|
|
387
355
|
}
|
|
388
|
-
exports.getMessageWithBorders = getMessageWithBorders;
|
|
389
356
|
function remove(array, predicate, numberOfElements) {
|
|
390
357
|
numberOfElements = numberOfElements || 1;
|
|
391
358
|
const index = _.findIndex(array, predicate);
|
|
@@ -394,7 +361,6 @@ function remove(array, predicate, numberOfElements) {
|
|
|
394
361
|
}
|
|
395
362
|
return array.splice(index, numberOfElements);
|
|
396
363
|
}
|
|
397
|
-
exports.remove = remove;
|
|
398
364
|
function trimSymbol(str, symbol) {
|
|
399
365
|
while (str.charAt(0) === symbol) {
|
|
400
366
|
str = str.substr(1);
|
|
@@ -404,26 +370,13 @@ function trimSymbol(str, symbol) {
|
|
|
404
370
|
}
|
|
405
371
|
return str;
|
|
406
372
|
}
|
|
407
|
-
exports.trimSymbol = trimSymbol;
|
|
408
373
|
function parseJson(data) {
|
|
409
|
-
// Replace BOM from the header of the file if it exists
|
|
410
374
|
return JSON.parse(data.replace(/^\uFEFF/, ""));
|
|
411
375
|
}
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
416
|
-
const results = yield Promise.all(promises);
|
|
417
|
-
return _(results).filter(predicate).flatten().value();
|
|
418
|
-
});
|
|
376
|
+
async function getFuturesResults(promises, predicate) {
|
|
377
|
+
const results = await Promise.all(promises);
|
|
378
|
+
return _(results).filter(predicate).flatten().value();
|
|
419
379
|
}
|
|
420
|
-
exports.getFuturesResults = getFuturesResults;
|
|
421
|
-
/**
|
|
422
|
-
* Appends zeroes to a version string until it reaches a specified length.
|
|
423
|
-
* @param {string} version The version on which to append zeroes.
|
|
424
|
-
* @param requiredVersionLength The required length of the version string.
|
|
425
|
-
* @returns {string} Appended version string. In case input is null, undefined or empty string, it is returned immediately without appending anything.
|
|
426
|
-
*/
|
|
427
380
|
function appendZeroesToVersion(version, requiredVersionLength) {
|
|
428
381
|
if (version) {
|
|
429
382
|
const zeroesToAppend = requiredVersionLength - version.split(".").length;
|
|
@@ -433,38 +386,34 @@ function appendZeroesToVersion(version, requiredVersionLength) {
|
|
|
433
386
|
}
|
|
434
387
|
return version;
|
|
435
388
|
}
|
|
436
|
-
exports.appendZeroesToVersion = appendZeroesToVersion;
|
|
437
389
|
function decorateMethod(before, after) {
|
|
438
390
|
return (target, propertyKey, descriptor) => {
|
|
439
391
|
const sink = descriptor.value;
|
|
440
|
-
descriptor.value = function (...args) {
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
result = chainedReplacementMethod();
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
if (!hasBeenReplaced) {
|
|
457
|
-
result = sink.apply(this, args);
|
|
458
|
-
}
|
|
459
|
-
if (after) {
|
|
460
|
-
return yield after(sink, this, result, args);
|
|
392
|
+
descriptor.value = async function (...args) {
|
|
393
|
+
let newMethods = null;
|
|
394
|
+
if (before) {
|
|
395
|
+
newMethods = await before(sink, this, args);
|
|
396
|
+
}
|
|
397
|
+
let hasBeenReplaced = false;
|
|
398
|
+
let result;
|
|
399
|
+
if (newMethods && newMethods.length) {
|
|
400
|
+
const replacementMethods = _.filter(newMethods, (f) => _.isFunction(f));
|
|
401
|
+
if (replacementMethods.length > 0) {
|
|
402
|
+
hasBeenReplaced = true;
|
|
403
|
+
const chainedReplacementMethod = _.reduce(replacementMethods, (prev, next) => next.bind(next, args, prev), sink.bind(this));
|
|
404
|
+
result = chainedReplacementMethod();
|
|
461
405
|
}
|
|
462
|
-
|
|
463
|
-
|
|
406
|
+
}
|
|
407
|
+
if (!hasBeenReplaced) {
|
|
408
|
+
result = sink.apply(this, args);
|
|
409
|
+
}
|
|
410
|
+
if (after) {
|
|
411
|
+
return await after(sink, this, result, args);
|
|
412
|
+
}
|
|
413
|
+
return result;
|
|
464
414
|
};
|
|
465
415
|
};
|
|
466
416
|
}
|
|
467
|
-
exports.decorateMethod = decorateMethod;
|
|
468
417
|
function hook(commandName) {
|
|
469
418
|
function getHooksService(self) {
|
|
470
419
|
let hooksService = self.$hooksService;
|
|
@@ -488,98 +437,82 @@ function hook(commandName) {
|
|
|
488
437
|
result[hooksService.hookArgsName] = argHash;
|
|
489
438
|
return result;
|
|
490
439
|
}
|
|
491
|
-
return decorateMethod((method, self, args) =>
|
|
440
|
+
return decorateMethod(async (method, self, args) => {
|
|
492
441
|
const hooksService = getHooksService(self);
|
|
493
442
|
return hooksService.executeBeforeHooks(commandName, prepareArguments(method, args, hooksService));
|
|
494
|
-
}
|
|
495
|
-
const result =
|
|
443
|
+
}, async (method, self, resultPromise, args) => {
|
|
444
|
+
const result = await resultPromise;
|
|
496
445
|
const hooksService = getHooksService(self);
|
|
497
|
-
|
|
446
|
+
await hooksService.executeAfterHooks(commandName, prepareArguments(method, args, hooksService));
|
|
498
447
|
return Promise.resolve(result);
|
|
499
|
-
})
|
|
448
|
+
});
|
|
500
449
|
}
|
|
501
|
-
exports.hook = hook;
|
|
502
450
|
function isPromise(candidateFuture) {
|
|
503
451
|
return !!(candidateFuture && typeof candidateFuture.then === "function");
|
|
504
452
|
}
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
eventEmitter.removeListener(eventName, eventHandler);
|
|
514
|
-
}
|
|
515
|
-
});
|
|
453
|
+
async function attachAwaitDetach(eventName, eventEmitter, eventHandler, operation) {
|
|
454
|
+
eventEmitter.on(eventName, eventHandler);
|
|
455
|
+
try {
|
|
456
|
+
await operation;
|
|
457
|
+
}
|
|
458
|
+
finally {
|
|
459
|
+
eventEmitter.removeListener(eventName, eventHandler);
|
|
460
|
+
}
|
|
516
461
|
}
|
|
517
|
-
|
|
518
|
-
function
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
socket.on("error", tryConnectAfterTimeout);
|
|
529
|
-
});
|
|
530
|
-
}
|
|
531
|
-
yield tryConnect();
|
|
532
|
-
});
|
|
462
|
+
async function connectEventually(factory, handler) {
|
|
463
|
+
async function tryConnect() {
|
|
464
|
+
const tryConnectAfterTimeout = setTimeout.bind(undefined, tryConnect, 1000);
|
|
465
|
+
const socket = await factory();
|
|
466
|
+
socket.on("connect", () => {
|
|
467
|
+
socket.removeListener("error", tryConnectAfterTimeout);
|
|
468
|
+
handler(socket);
|
|
469
|
+
});
|
|
470
|
+
socket.on("error", tryConnectAfterTimeout);
|
|
471
|
+
}
|
|
472
|
+
await tryConnect();
|
|
533
473
|
}
|
|
534
|
-
exports.connectEventually = connectEventually;
|
|
535
474
|
function getHash(str, options) {
|
|
536
475
|
return crypto
|
|
537
476
|
.createHash((options && options.algorithm) || "sha256")
|
|
538
477
|
.update(str)
|
|
539
478
|
.digest((options && options.encoding) || "hex");
|
|
540
479
|
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
480
|
+
async function connectEventuallyUntilTimeout(factory, timeout) {
|
|
481
|
+
return new Promise(async (resolve, reject) => {
|
|
482
|
+
let lastKnownError;
|
|
483
|
+
let isResolved = false;
|
|
484
|
+
const connectionTimer = setTimeout(function () {
|
|
485
|
+
if (!isResolved) {
|
|
486
|
+
isResolved = true;
|
|
487
|
+
reject(lastKnownError || new Error(`Unable to connect for ${timeout}ms`));
|
|
488
|
+
}
|
|
489
|
+
}, timeout);
|
|
490
|
+
async function tryConnect() {
|
|
491
|
+
const tryConnectAfterTimeout = (error) => {
|
|
492
|
+
if (isResolved) {
|
|
493
|
+
return;
|
|
551
494
|
}
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
try {
|
|
563
|
-
const socket = yield factory();
|
|
564
|
-
socket.on("connect", () => {
|
|
565
|
-
socket.removeListener("error", tryConnectAfterTimeout);
|
|
566
|
-
isResolved = true;
|
|
567
|
-
clearTimeout(connectionTimer);
|
|
568
|
-
resolve(socket);
|
|
569
|
-
});
|
|
570
|
-
socket.on("error", tryConnectAfterTimeout);
|
|
571
|
-
}
|
|
572
|
-
catch (e) {
|
|
573
|
-
lastKnownError = e;
|
|
574
|
-
tryConnectAfterTimeout(e);
|
|
575
|
-
}
|
|
495
|
+
lastKnownError = error;
|
|
496
|
+
setTimeout(tryConnect, 1000);
|
|
497
|
+
};
|
|
498
|
+
try {
|
|
499
|
+
const socket = await factory();
|
|
500
|
+
socket.on("connect", () => {
|
|
501
|
+
socket.removeListener("error", tryConnectAfterTimeout);
|
|
502
|
+
isResolved = true;
|
|
503
|
+
clearTimeout(connectionTimer);
|
|
504
|
+
resolve(socket);
|
|
576
505
|
});
|
|
506
|
+
socket.on("error", tryConnectAfterTimeout);
|
|
577
507
|
}
|
|
578
|
-
|
|
579
|
-
|
|
508
|
+
catch (e) {
|
|
509
|
+
lastKnownError = e;
|
|
510
|
+
tryConnectAfterTimeout(e);
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
await tryConnect();
|
|
580
514
|
});
|
|
581
515
|
}
|
|
582
|
-
exports.connectEventuallyUntilTimeout = connectEventuallyUntilTimeout;
|
|
583
516
|
function getProjectFilesConfig(opts) {
|
|
584
517
|
const projectFilesConfig = {
|
|
585
518
|
configuration: opts.isReleaseBuild
|
|
@@ -588,15 +521,6 @@ function getProjectFilesConfig(opts) {
|
|
|
588
521
|
};
|
|
589
522
|
return projectFilesConfig;
|
|
590
523
|
}
|
|
591
|
-
exports.getProjectFilesConfig = getProjectFilesConfig;
|
|
592
|
-
/**
|
|
593
|
-
* Tries to find the process id (PID) of the specified application identifier.
|
|
594
|
-
* This is specific implementation for iOS Simulator, where the running applications are real processes.
|
|
595
|
-
* Their PIDs are printed in a specific format in the the logs, once the application is started.
|
|
596
|
-
* @param {string} applicationIdentifier Application Identifier of the app for which we try to get the PID.
|
|
597
|
-
* @param {string} logLine Line that may contain the PID of the process.
|
|
598
|
-
* @returns {string} The PID of the searched application identifier in case it's found in the current line, null otherwise.
|
|
599
|
-
*/
|
|
600
524
|
function getPidFromiOSSimulatorLogs(applicationIdentifier, logLine) {
|
|
601
525
|
if (logLine) {
|
|
602
526
|
const pidRegExp = new RegExp(`${applicationIdentifier}:\\s?(\\d+)`);
|
|
@@ -605,7 +529,6 @@ function getPidFromiOSSimulatorLogs(applicationIdentifier, logLine) {
|
|
|
605
529
|
}
|
|
606
530
|
return null;
|
|
607
531
|
}
|
|
608
|
-
exports.getPidFromiOSSimulatorLogs = getPidFromiOSSimulatorLogs;
|
|
609
532
|
function getValueFromNestedObject(obj, key) {
|
|
610
533
|
function _getValueRecursive(_obj, _key) {
|
|
611
534
|
if (_.has(_obj, _key)) {
|
|
@@ -625,7 +548,6 @@ function getValueFromNestedObject(obj, key) {
|
|
|
625
548
|
}
|
|
626
549
|
return _.head(_getValueRecursive(obj, key));
|
|
627
550
|
}
|
|
628
|
-
exports.getValueFromNestedObject = getValueFromNestedObject;
|
|
629
551
|
function getWinRegPropertyValue(key, propertyName) {
|
|
630
552
|
return new Promise((resolve, reject) => {
|
|
631
553
|
const Winreg = require("winreg");
|
|
@@ -643,12 +565,9 @@ function getWinRegPropertyValue(key, propertyName) {
|
|
|
643
565
|
});
|
|
644
566
|
});
|
|
645
567
|
}
|
|
646
|
-
exports.getWinRegPropertyValue = getWinRegPropertyValue;
|
|
647
568
|
function stringify(value, replacer, space) {
|
|
648
569
|
return JSON.stringify(value, replacer, space || 2);
|
|
649
570
|
}
|
|
650
|
-
exports.stringify = stringify;
|
|
651
|
-
//2019-01-07 18:29:50.745
|
|
652
571
|
function getFixedLengthDateString() {
|
|
653
572
|
const currentDate = new Date();
|
|
654
573
|
const year = currentDate.getFullYear();
|
|
@@ -660,12 +579,10 @@ function getFixedLengthDateString() {
|
|
|
660
579
|
const milliseconds = getFormattedMilliseconds(currentDate);
|
|
661
580
|
return `${[year, month, day].join("-")} ${[hour, minutes, seconds].join(":")}.${milliseconds}`;
|
|
662
581
|
}
|
|
663
|
-
exports.getFixedLengthDateString = getFixedLengthDateString;
|
|
664
582
|
function getFormattedDateComponent(component) {
|
|
665
583
|
const stringComponent = component.toString();
|
|
666
584
|
return stringComponent.length === 1 ? `0${stringComponent}` : stringComponent;
|
|
667
585
|
}
|
|
668
|
-
exports.getFormattedDateComponent = getFormattedDateComponent;
|
|
669
586
|
function getFormattedMilliseconds(date) {
|
|
670
587
|
let milliseconds = date.getMilliseconds().toString();
|
|
671
588
|
while (milliseconds.length < 3) {
|
|
@@ -673,29 +590,6 @@ function getFormattedMilliseconds(date) {
|
|
|
673
590
|
}
|
|
674
591
|
return milliseconds;
|
|
675
592
|
}
|
|
676
|
-
exports.getFormattedMilliseconds = getFormattedMilliseconds;
|
|
677
|
-
//--- begin part copied from AngularJS
|
|
678
|
-
//The MIT License
|
|
679
|
-
//
|
|
680
|
-
//Copyright (c) 2010-2012 Google, Inc. http://angularjs.org
|
|
681
|
-
//
|
|
682
|
-
//Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
683
|
-
//of this software and associated documentation files (the "Software"), to deal
|
|
684
|
-
//in the Software without restriction, including without limitation the rights
|
|
685
|
-
//to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
686
|
-
//copies of the Software, and to permit persons to whom the Software is
|
|
687
|
-
//furnished to do so, subject to the following conditions:
|
|
688
|
-
//
|
|
689
|
-
// The above copyright notice and this permission notice shall be included in
|
|
690
|
-
//all copies or substantial portions of the Software.
|
|
691
|
-
//
|
|
692
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
693
|
-
//IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
694
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
695
|
-
//AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
696
|
-
//LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
697
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
698
|
-
//THE SOFTWARE.
|
|
699
593
|
const CLASS_NAME = /class\s+([A-Z].+?)(?:\s+.*?)?\{/;
|
|
700
594
|
const CONSTRUCTOR_ARGS = /constructor\s*([^\(]*)\(\s*([^\)]*)\)/m;
|
|
701
595
|
const FN_NAME_AND_ARGS = /^(?:function)?\s*([^\(]*)\(\s*([^\)]*)\)\s*(=>)?\s*[{_]/m;
|
|
@@ -725,12 +619,6 @@ function annotate(fn) {
|
|
|
725
619
|
}
|
|
726
620
|
return $inject;
|
|
727
621
|
}
|
|
728
|
-
exports.annotate = annotate;
|
|
729
|
-
/**
|
|
730
|
-
* Returns true if all Android signing options are provided, false otherwise.
|
|
731
|
-
* @param {IAndroidSigningData} signingData The signing data to be validated.
|
|
732
|
-
* @return {void}
|
|
733
|
-
*/
|
|
734
622
|
function hasValidAndroidSigning(signingData) {
|
|
735
623
|
const isValid = signingData &&
|
|
736
624
|
signingData.keyStorePath &&
|
|
@@ -739,6 +627,3 @@ function hasValidAndroidSigning(signingData) {
|
|
|
739
627
|
signingData.keyStoreAliasPassword;
|
|
740
628
|
return !!isValid;
|
|
741
629
|
}
|
|
742
|
-
exports.hasValidAndroidSigning = hasValidAndroidSigning;
|
|
743
|
-
//--- end part copied from AngularJS
|
|
744
|
-
//# sourceMappingURL=helpers.js.map
|