nativescript 8.9.0-dev.1 → 8.9.0-dev.2
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/.d.ts +1 -0
- package/lib/android-tools-info.js +32 -9
- package/lib/base-package-manager.js +71 -47
- package/lib/bootstrap.js +6 -1
- package/lib/bun-package-manager.js +104 -65
- package/lib/color.js +5 -2
- package/lib/commands/add-platform.js +31 -14
- package/lib/commands/apple-login.js +30 -18
- package/lib/commands/appstore-list.js +46 -34
- package/lib/commands/appstore-upload.js +68 -52
- package/lib/commands/build.js +90 -57
- package/lib/commands/clean.js +197 -161
- package/lib/commands/command-base.js +28 -14
- package/lib/commands/config.js +71 -48
- package/lib/commands/create-project.js +235 -210
- package/lib/commands/debug.js +93 -66
- package/lib/commands/deploy.js +47 -30
- package/lib/commands/embedding/embed.js +59 -33
- package/lib/commands/extensibility/install-extension.js +17 -5
- package/lib/commands/extensibility/list-extensions.js +25 -13
- package/lib/commands/extensibility/uninstall-extension.js +16 -4
- package/lib/commands/fonts.js +42 -30
- package/lib/commands/generate-assets.js +29 -13
- package/lib/commands/generate-help.js +14 -2
- package/lib/commands/generate.js +70 -12
- package/lib/commands/info.js +14 -2
- package/lib/commands/install.js +50 -34
- package/lib/commands/list-platforms.js +26 -14
- package/lib/commands/migrate.js +27 -15
- package/lib/commands/native-add.js +51 -23
- package/lib/commands/platform-clean.js +33 -19
- package/lib/commands/plugin/add-plugin.js +26 -12
- package/lib/commands/plugin/build-plugin.js +45 -31
- package/lib/commands/plugin/create-plugin.js +138 -110
- package/lib/commands/plugin/list-plugins.js +34 -22
- package/lib/commands/plugin/remove-plugin.js +35 -20
- package/lib/commands/plugin/update-plugin.js +34 -20
- package/lib/commands/post-install.js +39 -20
- package/lib/commands/prepare.js +39 -22
- package/lib/commands/preview.js +64 -49
- package/lib/commands/remove-platform.js +19 -7
- package/lib/commands/resources/resources-update.js +28 -13
- package/lib/commands/run.js +77 -55
- package/lib/commands/setup.js +1 -0
- package/lib/commands/start.js +20 -6
- package/lib/commands/test-init.js +138 -123
- package/lib/commands/test.js +97 -67
- package/lib/commands/typings.js +143 -126
- package/lib/commands/update-platform.js +40 -22
- package/lib/commands/update.js +45 -30
- package/lib/commands/widget.js +767 -0
- package/lib/common/bootstrap.js +1 -0
- package/lib/common/child-process.js +75 -53
- package/lib/common/codeGeneration/code-entity.js +2 -1
- package/lib/common/codeGeneration/code-printer.js +2 -1
- package/lib/common/command-params.js +19 -7
- package/lib/common/commands/analytics.js +43 -27
- package/lib/common/commands/autocompletion.js +59 -39
- package/lib/common/commands/device/device-log-stream.js +24 -12
- package/lib/common/commands/device/get-file.js +35 -22
- package/lib/common/commands/device/list-applications.js +24 -12
- package/lib/common/commands/device/list-devices.js +90 -72
- package/lib/common/commands/device/list-files.js +36 -23
- package/lib/common/commands/device/put-file.js +35 -22
- package/lib/common/commands/device/run-application.js +26 -12
- package/lib/common/commands/device/stop-application.js +23 -11
- package/lib/common/commands/device/uninstall-application.js +18 -6
- package/lib/common/commands/doctor.js +3 -2
- package/lib/common/commands/generate-messages.js +29 -17
- package/lib/common/commands/help.js +34 -20
- package/lib/common/commands/package-manager-get.js +18 -6
- package/lib/common/commands/package-manager-set.js +21 -9
- package/lib/common/commands/post-install.js +14 -2
- package/lib/common/commands/preuninstall.js +48 -24
- package/lib/common/commands/proxy/proxy-base.js +23 -8
- package/lib/common/commands/proxy/proxy-clear.js +16 -4
- package/lib/common/commands/proxy/proxy-get.js +15 -3
- package/lib/common/commands/proxy/proxy-set.js +101 -87
- package/lib/common/common-lib.js +1 -0
- package/lib/common/constants.js +22 -11
- package/lib/common/decorators.js +70 -10
- package/lib/common/dispatchers.js +106 -80
- package/lib/common/errors.js +116 -91
- package/lib/common/file-system.js +141 -108
- package/lib/common/header.js +5 -1
- package/lib/common/helpers.js +267 -152
- package/lib/common/host-info.js +54 -37
- package/lib/common/http-client.js +128 -93
- package/lib/common/logger/appenders/cli-appender.js +6 -1
- package/lib/common/logger/appenders/emit-appender.js +6 -1
- package/lib/common/logger/layouts/cli-layout.js +3 -1
- package/lib/common/logger/logger.js +9 -4
- package/lib/common/messages/messages.js +6 -0
- package/lib/common/mobile/android/android-application-manager.js +162 -122
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
- package/lib/common/mobile/android/android-debug-bridge.js +118 -87
- package/lib/common/mobile/android/android-device-file-system.js +135 -98
- package/lib/common/mobile/android/android-device-hash-service.js +78 -50
- package/lib/common/mobile/android/android-device.js +93 -68
- package/lib/common/mobile/android/android-emulator-services.js +131 -105
- package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
- package/lib/common/mobile/android/android-log-filter.js +5 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
- package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
- package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
- package/lib/common/mobile/android/logcat-helper.js +140 -108
- package/lib/common/mobile/application-manager-base.js +113 -84
- package/lib/common/mobile/device-emitter.js +4 -0
- package/lib/common/mobile/device-log-emitter.js +1 -0
- package/lib/common/mobile/device-log-provider-base.js +19 -7
- package/lib/common/mobile/device-log-provider.js +23 -0
- package/lib/common/mobile/device-platforms-constants.js +1 -0
- package/lib/common/mobile/emulator-helper.js +3 -0
- package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
- package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
- package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
- package/lib/common/mobile/ios/device/ios-device.js +40 -20
- package/lib/common/mobile/ios/ios-device-base.js +82 -58
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
- package/lib/common/mobile/ios/ios-log-filter.js +1 -0
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
- package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
- package/lib/common/mobile/log-filter.js +2 -0
- package/lib/common/mobile/logging-levels.js +1 -0
- package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
- package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
- package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
- package/lib/common/mobile/mobile-core/devices-service.js +505 -386
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
- package/lib/common/mobile/mobile-helper.js +27 -15
- package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
- package/lib/common/opener.js +3 -2
- package/lib/common/os-info.js +1 -0
- package/lib/common/plist-parser.js +1 -0
- package/lib/common/project-helper.js +1 -0
- package/lib/common/prompter.js +114 -91
- package/lib/common/queue.js +21 -9
- package/lib/common/resource-loader.js +1 -0
- package/lib/common/services/auto-completion-service.js +65 -40
- package/lib/common/services/cancellation.js +29 -17
- package/lib/common/services/commands-service.js +180 -146
- package/lib/common/services/help-service.js +166 -133
- package/lib/common/services/hooks-service.js +121 -93
- package/lib/common/services/ios-notification-service.js +35 -21
- package/lib/common/services/json-file-settings-service.js +77 -52
- package/lib/common/services/lock-service.js +58 -35
- package/lib/common/services/message-contract-generator.js +47 -35
- package/lib/common/services/messages-service.js +1 -0
- package/lib/common/services/micro-templating-service.js +21 -4
- package/lib/common/services/net-service.js +110 -90
- package/lib/common/services/project-files-manager.js +28 -10
- package/lib/common/services/project-files-provider-base.js +1 -0
- package/lib/common/services/proxy-service.js +25 -13
- package/lib/common/services/qr.js +25 -13
- package/lib/common/services/settings-service.js +2 -1
- package/lib/common/services/xcode-select-service.js +36 -20
- package/lib/common/utils.js +3 -2
- package/lib/common/validators/project-name-validator.js +2 -1
- package/lib/common/validators/validation-result.js +2 -1
- package/lib/common/verify-node-version.js +11 -3
- package/lib/common/yok.js +69 -35
- package/lib/config.js +72 -36
- package/lib/constants-provider.js +1 -0
- package/lib/constants.js +78 -25
- package/lib/controllers/build-controller.js +100 -82
- package/lib/controllers/debug-controller.js +133 -107
- package/lib/controllers/deploy-controller.js +24 -15
- package/lib/controllers/migrate-controller.js +884 -723
- package/lib/controllers/platform-controller.js +94 -71
- package/lib/controllers/prepare-controller.js +274 -232
- package/lib/controllers/run-controller.js +427 -397
- package/lib/controllers/update-controller-base.js +30 -16
- package/lib/controllers/update-controller.js +130 -94
- package/lib/data/build-data.js +1 -0
- package/lib/data/controller-data-base.js +1 -0
- package/lib/data/debug-data.js +1 -0
- package/lib/data/platform-data.js +1 -0
- package/lib/data/prepare-data.js +2 -4
- package/lib/data/run-data.js +1 -0
- package/lib/definitions/project.d.ts +26 -0
- package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
- package/lib/detached-processes/cleanup-process.js +43 -30
- package/lib/detached-processes/file-log-service.js +2 -1
- package/lib/device-path-provider.js +35 -23
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
- package/lib/device-sockets/ios/notification.js +4 -1
- package/lib/device-sockets/ios/socket-request-executor.js +42 -24
- package/lib/helpers/android-bundle-validator-helper.js +3 -2
- package/lib/helpers/deploy-command-helper.js +50 -44
- package/lib/helpers/key-command-helper.js +17 -6
- package/lib/helpers/livesync-command-helper.js +155 -137
- package/lib/helpers/network-connectivity-validator.js +18 -6
- package/lib/helpers/options-track-helper.js +19 -7
- package/lib/helpers/package-path-helper.js +1 -0
- package/lib/helpers/platform-command-helper.js +127 -101
- package/lib/helpers/version-validator-helper.js +1 -0
- package/lib/key-commands/bootstrap.js +3 -2
- package/lib/key-commands/index.js +205 -154
- package/lib/nativescript-cli-lib-bootstrap.js +4 -0
- package/lib/nativescript-cli-lib.js +1 -0
- package/lib/nativescript-cli.js +24 -6
- package/lib/node/pbxproj-dom-xcode.js +1 -0
- package/lib/node/xcode.js +1 -0
- package/lib/node-package-manager.js +114 -81
- package/lib/options.js +156 -122
- package/lib/package-installation-manager.js +172 -130
- package/lib/package-manager.js +88 -63
- package/lib/platform-command-param.js +16 -4
- package/lib/pnpm-package-manager.js +81 -59
- package/lib/project-data.js +13 -1
- package/lib/providers/project-files-provider.js +2 -1
- package/lib/resolvers/livesync-service-resolver.js +1 -0
- package/lib/services/analytics/analytics-broker-process.js +32 -19
- package/lib/services/analytics/analytics-broker.js +31 -17
- package/lib/services/analytics/analytics-service.js +210 -170
- package/lib/services/analytics/google-analytics-provider.js +59 -43
- package/lib/services/analytics-settings-service.js +37 -15
- package/lib/services/android/android-bundle-tool-service.js +61 -43
- package/lib/services/android/gradle-build-args-service.js +23 -9
- package/lib/services/android/gradle-build-service.js +36 -22
- package/lib/services/android/gradle-command-service.js +36 -22
- package/lib/services/android-device-debug-service.js +123 -90
- package/lib/services/android-plugin-build-service.js +260 -205
- package/lib/services/android-project-service.js +241 -129
- package/lib/services/android-resources-migration-service.js +71 -51
- package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
- package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
- package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
- package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
- package/lib/services/assets-generation/assets-generation-service.js +128 -103
- package/lib/services/build-artifacts-service.js +22 -10
- package/lib/services/build-data-service.js +1 -0
- package/lib/services/build-info-file-service.js +36 -20
- package/lib/services/cleanup-service.js +81 -48
- package/lib/services/cocoapods-platform-manager.js +9 -0
- package/lib/services/cocoapods-service.js +153 -112
- package/lib/services/debug-data-service.js +1 -0
- package/lib/services/debug-service-base.js +7 -0
- package/lib/services/device/device-install-app-service.js +72 -54
- package/lib/services/doctor-service.js +135 -101
- package/lib/services/extensibility-service.js +108 -81
- package/lib/services/files-hash-service.js +44 -26
- package/lib/services/hmr-status-service.js +3 -1
- package/lib/services/info-service.js +1 -0
- package/lib/services/initialize-service.js +54 -37
- package/lib/services/ios/export-options-plist-service.js +55 -38
- package/lib/services/ios/ios-signing-service.js +191 -168
- package/lib/services/ios/spm-service.js +70 -46
- package/lib/services/ios/xcodebuild-args-service.js +103 -77
- package/lib/services/ios/xcodebuild-command-service.js +26 -14
- package/lib/services/ios/xcodebuild-service.js +72 -52
- package/lib/services/ios-debugger-port-service.js +38 -24
- package/lib/services/ios-device-debug-service.js +103 -75
- package/lib/services/ios-entitlements-service.js +43 -31
- package/lib/services/ios-extensions-service.js +30 -18
- package/lib/services/ios-log-filter.js +20 -0
- package/lib/services/ios-native-target-service.js +6 -4
- package/lib/services/ios-project-service.js +605 -437
- package/lib/services/ios-provision-service.js +132 -108
- package/lib/services/ios-watch-app-service.js +33 -21
- package/lib/services/ip-service.js +55 -38
- package/lib/services/itmstransporter-service.js +153 -129
- package/lib/services/karma-execution.js +2 -0
- package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
- package/lib/services/livesync/android-device-livesync-service.js +151 -120
- package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
- package/lib/services/livesync/android-livesync-service.js +36 -14
- package/lib/services/livesync/android-livesync-tool.js +117 -90
- package/lib/services/livesync/device-livesync-service-base.js +30 -15
- package/lib/services/livesync/ios-device-livesync-service.js +150 -114
- package/lib/services/livesync/ios-livesync-service.js +60 -42
- package/lib/services/livesync/livesync-socket.js +1 -0
- package/lib/services/livesync/platform-livesync-service-base.js +124 -94
- package/lib/services/livesync-process-data-service.js +1 -0
- package/lib/services/log-parser-service.js +2 -1
- package/lib/services/log-source-map-service.js +56 -30
- package/lib/services/marking-mode-service.js +33 -17
- package/lib/services/metadata-filtering-service.js +1 -0
- package/lib/services/npm-config-service.js +5 -1
- package/lib/services/pacote-service.js +71 -49
- package/lib/services/performance-service.js +4 -2
- package/lib/services/platform/add-platform-service.js +119 -51
- package/lib/services/platform/platform-validation-service.js +34 -22
- package/lib/services/platform/prepare-native-platform-service.js +65 -49
- package/lib/services/platform-environment-requirements.js +43 -27
- package/lib/services/platform-project-service-base.js +1 -0
- package/lib/services/platforms-data-service.js +1 -0
- package/lib/services/plugins-service.js +168 -125
- package/lib/services/prepare-data-service.js +1 -0
- package/lib/services/project-backup-service.js +5 -1
- package/lib/services/project-changes-service.js +152 -124
- package/lib/services/project-cleanup-service.js +79 -64
- package/lib/services/project-config-service.js +111 -73
- package/lib/services/project-data-service.js +154 -108
- package/lib/services/project-name-service.js +44 -28
- package/lib/services/project-service.js +113 -84
- package/lib/services/project-templates-service.js +68 -52
- package/lib/services/qr-code-terminal-service.js +1 -0
- package/lib/services/require-service.js +1 -0
- package/lib/services/start-service.js +60 -41
- package/lib/services/temp-service.js +22 -8
- package/lib/services/terminal-spinner-service.js +28 -15
- package/lib/services/test-execution-service.js +79 -59
- package/lib/services/test-initialization-service.js +6 -2
- package/lib/services/timeline-profiler-service.js +2 -1
- package/lib/services/user-settings-service.js +1 -0
- package/lib/services/versions-service.js +140 -119
- package/lib/services/watch-ignore-list-service.js +1 -0
- package/lib/services/webpack/webpack-compiler-service.js +279 -215
- package/lib/services/xcconfig-service.js +21 -8
- package/lib/services/xcproj-service.js +1 -0
- package/lib/shared-event-bus.js +6 -0
- package/lib/sys-info.js +63 -45
- package/lib/tools/config-manipulation/config-transformer.js +21 -0
- package/lib/tools/node-modules/node-modules-builder.js +28 -16
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
- package/lib/yarn-package-manager.js +79 -59
- package/lib/yarn2-package-manager.js +82 -60
- package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
- package/node_modules/@npmcli/move-file/README.md +69 -0
- package/node_modules/@npmcli/move-file/lib/index.js +185 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
- package/node_modules/@npmcli/move-file/package.json +47 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +43 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/fs.realpath/LICENSE +43 -0
- package/node_modules/fs.realpath/README.md +33 -0
- package/node_modules/fs.realpath/index.js +66 -0
- package/node_modules/fs.realpath/old.js +303 -0
- package/node_modules/fs.realpath/package.json +26 -0
- package/node_modules/inflight/LICENSE +15 -0
- package/node_modules/inflight/README.md +37 -0
- package/node_modules/inflight/inflight.js +54 -0
- package/node_modules/inflight/package.json +29 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +33 -0
- package/node_modules/path-is-absolute/index.js +20 -0
- package/node_modules/path-is-absolute/license +21 -0
- package/node_modules/path-is-absolute/package.json +43 -0
- package/node_modules/path-is-absolute/readme.md +59 -0
- package/node_modules/rimraf/LICENSE +15 -0
- package/node_modules/rimraf/README.md +101 -0
- package/node_modules/rimraf/bin.js +68 -0
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
- package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
- package/node_modules/rimraf/node_modules/glob/README.md +378 -0
- package/node_modules/rimraf/node_modules/glob/common.js +238 -0
- package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
- package/node_modules/rimraf/node_modules/glob/package.json +55 -0
- package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
- package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
- package/node_modules/rimraf/package.json +32 -0
- package/node_modules/rimraf/rimraf.js +360 -0
- package/node_modules/stringify-package/LICENSE +13 -0
- package/node_modules/stringify-package/README.md +55 -0
- package/node_modules/stringify-package/index.js +18 -0
- package/node_modules/stringify-package/package.json +38 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +29 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/package.json +79 -64
|
@@ -1,4 +1,13 @@
|
|
|
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.CocoaPodsService = void 0;
|
|
4
13
|
const os_1 = require("os");
|
|
@@ -29,64 +38,81 @@ class CocoaPodsService {
|
|
|
29
38
|
getProjectPodfilePath(projectRoot) {
|
|
30
39
|
return path.join(projectRoot, constants_1.PODFILE_NAME);
|
|
31
40
|
}
|
|
32
|
-
|
|
33
|
-
this
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
executePodInstall(projectRoot, xcodeProjPath) {
|
|
42
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
+
this.$logger.info("Installing pods...");
|
|
44
|
+
let podTool = this.$config.USE_POD_SANDBOX ? "sandbox-pod" : "pod";
|
|
45
|
+
const args = ["install"];
|
|
46
|
+
if (process.platform === "darwin" && process.arch === "arm64") {
|
|
47
|
+
// check if pod is installed as an x86_64 binary or a native arm64 one
|
|
48
|
+
// we run the following:
|
|
49
|
+
// arch -x86_64 pod --version
|
|
50
|
+
// if it's an arm64 binary, we'll get something like this as a result:
|
|
51
|
+
// arch: posix_spawnp: pod: Bad CPU type in executable
|
|
52
|
+
// in which case, we should run it natively.
|
|
53
|
+
const res = yield this.$childProcess
|
|
54
|
+
.exec("arch -x86_64 pod --version", null, {
|
|
55
|
+
showStderr: true,
|
|
56
|
+
})
|
|
57
|
+
.then((res) => res.stdout + " " + res.stderr)
|
|
58
|
+
.catch((err) => err.message);
|
|
59
|
+
if (!res.includes("Bad CPU type in executable")) {
|
|
60
|
+
this.$logger.trace("Running on arm64 but pod is installed under rosetta2 - running pod through rosetta2");
|
|
61
|
+
args.unshift(podTool);
|
|
62
|
+
args.unshift("-x86_64");
|
|
63
|
+
podTool = "arch";
|
|
64
|
+
}
|
|
48
65
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
66
|
+
// cocoapods print a lot of non-error information on stderr. Pipe the `stderr` to `stdout`, so we won't polute CLI's stderr output.
|
|
67
|
+
const podInstallResult = yield this.$childProcess.spawnFromEvent(podTool, args, "close", { cwd: projectRoot, stdio: ["pipe", process.stdout, process.stdout] }, { throwError: false });
|
|
68
|
+
if (podInstallResult.exitCode !== 0) {
|
|
69
|
+
// https://github.com/CocoaPods/CocoaPods/blob/92aaf0f1120d32f3487960b485fb69fcaf61486c/lib/cocoapods/resolver.rb#L498
|
|
70
|
+
// TODO add article
|
|
71
|
+
const versionResolutionHint = podInstallResult.exitCode === 31
|
|
72
|
+
? `For more information on resolving CocoaPod issues in NativeScript read.`
|
|
73
|
+
: "";
|
|
74
|
+
this.$errors.fail(`'${podTool} install' command failed.${podInstallResult.stderr ? " Error is: " + podInstallResult.stderr : ""}
|
|
56
75
|
${versionResolutionHint}`);
|
|
57
|
-
|
|
58
|
-
|
|
76
|
+
}
|
|
77
|
+
return podInstallResult;
|
|
78
|
+
});
|
|
59
79
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
|
|
80
|
+
mergePodXcconfigFile(projectData, platformData) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const podFilesRootDirName = path.join("Pods", "Target Support Files", `Pods-${projectData.projectName}`);
|
|
83
|
+
const podFolder = path.join(platformData.projectRoot, podFilesRootDirName);
|
|
84
|
+
if (this.$fs.exists(podFolder)) {
|
|
85
|
+
const pluginsXcconfigFilePaths = this.$xcconfigService.getPluginsXcconfigFilePaths(platformData.projectRoot);
|
|
86
|
+
for (const configuration in pluginsXcconfigFilePaths) {
|
|
87
|
+
const pluginsXcconfigFilePath = pluginsXcconfigFilePaths[configuration];
|
|
88
|
+
const podXcconfigFilePath = path.join(podFolder, `Pods-${projectData.projectName}.${configuration}.xcconfig`);
|
|
89
|
+
yield this.$xcconfigService.mergeFiles(podXcconfigFilePath, pluginsXcconfigFilePath);
|
|
90
|
+
}
|
|
69
91
|
}
|
|
70
|
-
}
|
|
92
|
+
});
|
|
71
93
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.$fs.exists(
|
|
78
|
-
|
|
79
|
-
|
|
94
|
+
applyPodfileFromAppResources(projectData, platformData) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
const { projectRoot, normalizedPlatformName } = platformData;
|
|
97
|
+
const mainPodfilePath = path.join(projectData.appResourcesDirectoryPath, normalizedPlatformName, constants_1.PODFILE_NAME);
|
|
98
|
+
const projectPodfilePath = this.getProjectPodfilePath(projectRoot);
|
|
99
|
+
if (this.$fs.exists(projectPodfilePath) ||
|
|
100
|
+
this.$fs.exists(mainPodfilePath)) {
|
|
101
|
+
yield this.applyPodfileToProject(constants_1.NS_BASE_PODFILE, mainPodfilePath, projectData, platformData);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
80
104
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
const
|
|
105
|
+
applyPodfileArchExclusions(projectData, platformData) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const xcodeVersionData = yield this.$xcodeSelectService.getXcodeVersion();
|
|
108
|
+
// only apply EXCLUDED_ARCHS workaround on XCode 12
|
|
109
|
+
if (+xcodeVersionData.major !== 12) {
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const { projectRoot } = platformData;
|
|
113
|
+
const exclusionsPodfile = path.join(projectRoot, "Podfile-exclusions");
|
|
114
|
+
if (!this.$fs.exists(exclusionsPodfile)) {
|
|
115
|
+
const exclusions = `
|
|
90
116
|
post_install do |installer|
|
|
91
117
|
installer.pods_project.build_configurations.each do |config|
|
|
92
118
|
config.build_settings.delete "VALID_ARCHS"
|
|
@@ -95,74 +121,83 @@ post_install do |installer|
|
|
|
95
121
|
config.build_settings["EXCLUDED_ARCHS[sdk=iphoneos*]"] = "i386 armv6 armv7 armv7s armv8 x86_64"
|
|
96
122
|
end
|
|
97
123
|
end`.trim();
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
124
|
+
this.$fs.writeFile(exclusionsPodfile, exclusions);
|
|
125
|
+
}
|
|
126
|
+
yield this.applyPodfileToProject("NativeScript-CLI-Architecture-Exclusions", exclusionsPodfile, projectData, platformData);
|
|
127
|
+
// clean up
|
|
128
|
+
this.$fs.deleteFile(exclusionsPodfile);
|
|
129
|
+
});
|
|
102
130
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
!this.$fs.exists(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
let projectPodFileContent = this.$fs.readText(projectPodfilePath);
|
|
111
|
-
const extensionsPodfile = this.$fs
|
|
112
|
-
.readDirectory(extensionFolderPath)
|
|
113
|
-
.filter((name) => {
|
|
114
|
-
const extensionPath = path.join(extensionFolderPath, name);
|
|
115
|
-
const stats = this.$fs.getFsStats(extensionPath);
|
|
116
|
-
return stats.isDirectory() && !name.startsWith(".");
|
|
117
|
-
})
|
|
118
|
-
.map((name) => ({
|
|
119
|
-
targetName: name,
|
|
120
|
-
podfilePath: path.join(extensionFolderPath, name, constants.PODFILE_NAME),
|
|
121
|
-
}));
|
|
122
|
-
extensionsPodfile.forEach(({ targetName, podfilePath }) => {
|
|
123
|
-
const regExpToRemove = new RegExp(`${this.getExtensionPodfileHeader(podfilePath, targetName)}[\\s\\S]*?${this.getExtensionPodfileEnd()}`, "mg");
|
|
124
|
-
projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
|
|
125
|
-
if (this.$fs.exists(podfilePath)) {
|
|
126
|
-
const podfileContentWithoutTarget = this.$fs.readText(podfilePath);
|
|
127
|
-
const podFileContent = this.getExtensionPodfileHeader(podfilePath, targetName) +
|
|
128
|
-
os_1.EOL +
|
|
129
|
-
podfileContentWithoutTarget +
|
|
130
|
-
os_1.EOL +
|
|
131
|
-
this.getExtensionPodfileEnd();
|
|
132
|
-
projectPodFileContent += os_1.EOL + podFileContent;
|
|
131
|
+
applyPodfileFromExtensions(projectData, platformData) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
const extensionFolderPath = path.join(projectData.getAppResourcesDirectoryPath(), constants.iOSAppResourcesFolderName, constants.NATIVE_EXTENSION_FOLDER);
|
|
134
|
+
const projectPodfilePath = this.getProjectPodfilePath(platformData.projectRoot);
|
|
135
|
+
if (!this.$fs.exists(extensionFolderPath) ||
|
|
136
|
+
!this.$fs.exists(projectPodfilePath)) {
|
|
137
|
+
return;
|
|
133
138
|
}
|
|
139
|
+
let projectPodFileContent = this.$fs.readText(projectPodfilePath);
|
|
140
|
+
const extensionsPodfile = this.$fs
|
|
141
|
+
.readDirectory(extensionFolderPath)
|
|
142
|
+
.filter((name) => {
|
|
143
|
+
const extensionPath = path.join(extensionFolderPath, name);
|
|
144
|
+
const stats = this.$fs.getFsStats(extensionPath);
|
|
145
|
+
return stats.isDirectory() && !name.startsWith(".");
|
|
146
|
+
})
|
|
147
|
+
.map((name) => ({
|
|
148
|
+
targetName: name,
|
|
149
|
+
podfilePath: path.join(extensionFolderPath, name, constants.PODFILE_NAME),
|
|
150
|
+
}));
|
|
151
|
+
extensionsPodfile.forEach(({ targetName, podfilePath }) => {
|
|
152
|
+
// Remove the data between #Begin Podfile and #EndPodfile
|
|
153
|
+
const regExpToRemove = new RegExp(`${this.getExtensionPodfileHeader(podfilePath, targetName)}[\\s\\S]*?${this.getExtensionPodfileEnd()}`, "mg");
|
|
154
|
+
projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
|
|
155
|
+
if (this.$fs.exists(podfilePath)) {
|
|
156
|
+
const podfileContentWithoutTarget = this.$fs.readText(podfilePath);
|
|
157
|
+
const podFileContent = this.getExtensionPodfileHeader(podfilePath, targetName) +
|
|
158
|
+
os_1.EOL +
|
|
159
|
+
podfileContentWithoutTarget +
|
|
160
|
+
os_1.EOL +
|
|
161
|
+
this.getExtensionPodfileEnd();
|
|
162
|
+
projectPodFileContent += os_1.EOL + podFileContent;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
this.$fs.writeFile(projectPodfilePath, projectPodFileContent);
|
|
134
166
|
});
|
|
135
|
-
this.$fs.writeFile(projectPodfilePath, projectPodFileContent);
|
|
136
167
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
this.
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const { podfileContent, replacedFunctions, podfilePlatformData } = this.buildPodfileContent(podfilePath, moduleName, projectData, platformData);
|
|
144
|
-
const pathToProjectPodfile = this.getProjectPodfilePath(nativeProjectPath);
|
|
145
|
-
const projectPodfileContent = this.$fs.exists(pathToProjectPodfile)
|
|
146
|
-
? this.$fs.readText(pathToProjectPodfile).trim()
|
|
147
|
-
: "";
|
|
148
|
-
if (projectPodfileContent.indexOf(podfileContent) === -1) {
|
|
149
|
-
this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
|
|
150
|
-
let finalPodfileContent = this.$fs.exists(pathToProjectPodfile)
|
|
151
|
-
? this.getPodfileContentWithoutTarget(projectData, this.$fs.readText(pathToProjectPodfile))
|
|
152
|
-
: "";
|
|
153
|
-
if (podfileContent.indexOf(CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME) !== -1) {
|
|
154
|
-
finalPodfileContent = this.addPostInstallHook(replacedFunctions, finalPodfileContent, podfileContent);
|
|
168
|
+
applyPodfileToProject(moduleName, podfilePath, projectData, platformData) {
|
|
169
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
170
|
+
const nativeProjectPath = platformData.projectRoot;
|
|
171
|
+
if (!this.$fs.exists(podfilePath)) {
|
|
172
|
+
this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
|
|
173
|
+
return;
|
|
155
174
|
}
|
|
156
|
-
|
|
157
|
-
|
|
175
|
+
const { podfileContent, replacedFunctions, podfilePlatformData } = this.buildPodfileContent(podfilePath, moduleName, projectData, platformData);
|
|
176
|
+
const pathToProjectPodfile = this.getProjectPodfilePath(nativeProjectPath);
|
|
177
|
+
const projectPodfileContent = this.$fs.exists(pathToProjectPodfile)
|
|
178
|
+
? this.$fs.readText(pathToProjectPodfile).trim()
|
|
179
|
+
: "";
|
|
180
|
+
if (projectPodfileContent.indexOf(podfileContent) === -1) {
|
|
181
|
+
// Remove old occurences of the plugin from the project's Podfile.
|
|
182
|
+
this.removePodfileFromProject(moduleName, podfilePath, projectData, nativeProjectPath);
|
|
183
|
+
let finalPodfileContent = this.$fs.exists(pathToProjectPodfile)
|
|
184
|
+
? this.getPodfileContentWithoutTarget(projectData, this.$fs.readText(pathToProjectPodfile))
|
|
185
|
+
: "";
|
|
186
|
+
if (podfileContent.indexOf(CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME) !== -1) {
|
|
187
|
+
finalPodfileContent = this.addPostInstallHook(replacedFunctions, finalPodfileContent, podfileContent);
|
|
188
|
+
}
|
|
189
|
+
if (podfilePlatformData) {
|
|
190
|
+
finalPodfileContent = this.$cocoaPodsPlatformManager.addPlatformSection(projectData, podfilePlatformData, finalPodfileContent);
|
|
191
|
+
}
|
|
192
|
+
finalPodfileContent = `${finalPodfileContent.trim()}${os_1.EOL}${os_1.EOL}${podfileContent.trim()}${os_1.EOL}`;
|
|
193
|
+
this.saveProjectPodfile(projectData, finalPodfileContent, nativeProjectPath);
|
|
158
194
|
}
|
|
159
|
-
|
|
160
|
-
this.saveProjectPodfile(projectData, finalPodfileContent, nativeProjectPath);
|
|
161
|
-
}
|
|
195
|
+
});
|
|
162
196
|
}
|
|
163
197
|
removePodfileFromProject(moduleName, podfilePath, projectData, projectRoot) {
|
|
164
198
|
if (this.$fs.exists(this.getProjectPodfilePath(projectRoot))) {
|
|
165
199
|
let projectPodFileContent = this.$fs.readText(this.getProjectPodfilePath(projectRoot));
|
|
200
|
+
// Remove the data between #Begin Podfile and #EndPodfile
|
|
166
201
|
const regExpToRemove = new RegExp(`${this.getPluginPodfileHeader(podfilePath)}[\\s\\S]*?${this.getPluginPodfileEnd()}`, "mg");
|
|
167
202
|
projectPodFileContent = projectPodFileContent.replace(regExpToRemove, "");
|
|
168
203
|
projectPodFileContent = this.removePostInstallHook(moduleName, projectPodFileContent);
|
|
@@ -183,7 +218,7 @@ end`.trim();
|
|
|
183
218
|
}
|
|
184
219
|
}
|
|
185
220
|
getPluginPodfilePath(pluginData) {
|
|
186
|
-
const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath("ios");
|
|
221
|
+
const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath("ios" /* PlatformTypes.ios */);
|
|
187
222
|
const pluginPodFilePath = path.join(pluginPlatformsFolderPath, constants_1.PODFILE_NAME);
|
|
188
223
|
return pluginPodFilePath;
|
|
189
224
|
}
|
|
@@ -219,6 +254,7 @@ end`.trim();
|
|
|
219
254
|
if (_.startsWith(projectPodfileContent, podFileHeader)) {
|
|
220
255
|
projectPodfileContent = projectPodfileContent.substr(podFileHeader.length);
|
|
221
256
|
const podFileFooter = this.getPodfileFooter();
|
|
257
|
+
// Only remove the final end in case the file starts with the podFileHeader
|
|
222
258
|
if (_.endsWith(projectPodfileContent, podFileFooter)) {
|
|
223
259
|
projectPodfileContent = projectPodfileContent.substr(0, projectPodfileContent.length - podFileFooter.length);
|
|
224
260
|
}
|
|
@@ -239,6 +275,8 @@ end`.trim();
|
|
|
239
275
|
return projectPodFileContent;
|
|
240
276
|
}
|
|
241
277
|
getHookBasicFuncNameForPlugin(hookName, pluginName) {
|
|
278
|
+
// nativescript-hook and nativescript_hook should have different names, so replace all _ with ___ first and then replace all special symbols with _
|
|
279
|
+
// This will lead to a clash in case plugins are called nativescript-hook and nativescript___hook
|
|
242
280
|
const replacedPluginName = pluginName
|
|
243
281
|
.replace(/_/g, "___")
|
|
244
282
|
.replace(/[^A-Za-z0-9_]/g, "_");
|
|
@@ -252,6 +290,7 @@ end`.trim();
|
|
|
252
290
|
const newFunctionName = `${this.getHookBasicFuncNameForPlugin(hookName, pluginName)}_${newFunctions.length}`;
|
|
253
291
|
let newDefinition = `def ${newFunctionName}`;
|
|
254
292
|
const rubyFunction = { functionName: newFunctionName };
|
|
293
|
+
// firstGroup is the block parameter, secondGroup is the block parameter name.
|
|
255
294
|
if (firstGroup && secondGroup) {
|
|
256
295
|
newDefinition = `${newDefinition} (${secondGroup})`;
|
|
257
296
|
rubyFunction.functionParameters = secondGroup;
|
|
@@ -262,6 +301,7 @@ end`.trim();
|
|
|
262
301
|
return { replacedContent, newFunctions };
|
|
263
302
|
}
|
|
264
303
|
getPluginPodfileHeader(pluginPodFilePath) {
|
|
304
|
+
// escape special + from the podfile path (pnpm)
|
|
265
305
|
pluginPodFilePath = pluginPodFilePath.replace(/\+/g, "\\+");
|
|
266
306
|
return `# Begin Podfile - ${pluginPodFilePath}`;
|
|
267
307
|
}
|
|
@@ -327,7 +367,8 @@ end`.trim();
|
|
|
327
367
|
return pods;
|
|
328
368
|
}
|
|
329
369
|
}
|
|
330
|
-
exports.CocoaPodsService = CocoaPodsService;
|
|
331
370
|
CocoaPodsService.PODFILE_POST_INSTALL_SECTION_NAME = "post_install";
|
|
332
371
|
CocoaPodsService.INSTALLER_BLOCK_PARAMETER_NAME = "installer";
|
|
372
|
+
exports.CocoaPodsService = CocoaPodsService;
|
|
333
373
|
yok_1.injector.register("cocoapodsService", CocoaPodsService);
|
|
374
|
+
//# sourceMappingURL=cocoapods-service.js.map
|
|
@@ -27,6 +27,12 @@ class DebugServiceBase extends events_1.EventEmitter {
|
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
29
|
getChromeDebugUrl(debugOptions, port) {
|
|
30
|
+
// corresponds to 55.0.2883 Chrome version
|
|
31
|
+
// SHA is taken from https://chromium.googlesource.com/chromium/src/+/55.0.2883.100
|
|
32
|
+
// This SHA is old and does not support debugging with HMR.
|
|
33
|
+
// In case we want to stick with concrete SHA, get it from one of the tags https://chromium.googlesource.com/chromium/src/
|
|
34
|
+
// IMPORTANT: When you get the SHA, ensure you are using the `parent` commit, not the actual one.
|
|
35
|
+
// Using the actual commit will result in 404 error in the remote serve.
|
|
30
36
|
const commitSHA = debugOptions.devToolsCommit || "02e6bde1bbe34e43b309d4ef774b1168d25fd024";
|
|
31
37
|
const devToolsProtocol = `devtools`;
|
|
32
38
|
let chromeDevToolsPrefix = `${devToolsProtocol}://devtools/remote/serve_file/@${commitSHA}`;
|
|
@@ -42,3 +48,4 @@ class DebugServiceBase extends events_1.EventEmitter {
|
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
exports.DebugServiceBase = DebugServiceBase;
|
|
51
|
+
//# sourceMappingURL=debug-service-base.js.map
|
|
@@ -1,4 +1,13 @@
|
|
|
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
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.DeviceInstallAppService = void 0;
|
|
4
13
|
const constants_1 = require("../../constants");
|
|
@@ -15,65 +24,74 @@ class DeviceInstallAppService {
|
|
|
15
24
|
this.$projectDataService = $projectDataService;
|
|
16
25
|
this.$platformsDataService = $platformsDataService;
|
|
17
26
|
}
|
|
18
|
-
|
|
19
|
-
this
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
+
installOnDevice(device, buildData, packageFile) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
this.$logger.info(`Installing on device ${device.deviceInfo.identifier}...`);
|
|
30
|
+
const platform = device.deviceInfo.platform.toLowerCase();
|
|
31
|
+
const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
|
|
32
|
+
const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
|
|
33
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
34
|
+
action: "Deploy" /* TrackActionNames.Deploy */,
|
|
35
|
+
device,
|
|
36
|
+
projectDir: projectData.projectDir,
|
|
37
|
+
});
|
|
38
|
+
if (!packageFile) {
|
|
39
|
+
packageFile = yield this.$buildArtifactsService.getLatestAppPackagePath(platformData, buildData);
|
|
40
|
+
}
|
|
41
|
+
yield platformData.platformProjectService.cleanDeviceTempFolder(device.deviceInfo.identifier, projectData);
|
|
42
|
+
const appIdentifier = projectData.projectIdentifiers[platform];
|
|
43
|
+
const outputFilePath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
|
|
44
|
+
yield device.applicationManager.reinstallApplication(appIdentifier, packageFile, buildData);
|
|
45
|
+
yield this.updateHashesOnDevice({
|
|
46
|
+
device,
|
|
47
|
+
appIdentifier,
|
|
48
|
+
outputFilePath,
|
|
49
|
+
platformData,
|
|
50
|
+
});
|
|
51
|
+
if (!buildData.release) {
|
|
52
|
+
yield this.$buildInfoFileService.saveDeviceBuildInfo(device, projectData, outputFilePath);
|
|
53
|
+
}
|
|
54
|
+
this.$logger.info(`Successfully installed on device with identifier '${device.deviceInfo.identifier}'.`);
|
|
27
55
|
});
|
|
28
|
-
if (!packageFile) {
|
|
29
|
-
packageFile = await this.$buildArtifactsService.getLatestAppPackagePath(platformData, buildData);
|
|
30
|
-
}
|
|
31
|
-
await platformData.platformProjectService.cleanDeviceTempFolder(device.deviceInfo.identifier, projectData);
|
|
32
|
-
const appIdentifier = projectData.projectIdentifiers[platform];
|
|
33
|
-
const outputFilePath = buildData.outputPath || platformData.getBuildOutputPath(buildData);
|
|
34
|
-
await device.applicationManager.reinstallApplication(appIdentifier, packageFile, buildData);
|
|
35
|
-
await this.updateHashesOnDevice({
|
|
36
|
-
device,
|
|
37
|
-
appIdentifier,
|
|
38
|
-
outputFilePath,
|
|
39
|
-
platformData,
|
|
40
|
-
});
|
|
41
|
-
if (!buildData.release) {
|
|
42
|
-
await this.$buildInfoFileService.saveDeviceBuildInfo(device, projectData, outputFilePath);
|
|
43
|
-
}
|
|
44
|
-
this.$logger.info(`Successfully installed on device with identifier '${device.deviceInfo.identifier}'.`);
|
|
45
56
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
57
|
+
installOnDeviceIfNeeded(device, buildData, packageFile) {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const shouldInstall = yield this.shouldInstall(device, buildData);
|
|
60
|
+
if (shouldInstall) {
|
|
61
|
+
yield this.installOnDevice(device, buildData, packageFile);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
51
64
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
!
|
|
63
|
-
|
|
65
|
+
shouldInstall(device, buildData) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const projectData = this.$projectDataService.getProjectData(buildData.projectDir);
|
|
68
|
+
const platformData = this.$platformsDataService.getPlatformData(device.deviceInfo.platform, projectData);
|
|
69
|
+
const platform = device.deviceInfo.platform;
|
|
70
|
+
if (!(yield device.applicationManager.isApplicationInstalled(projectData.projectIdentifiers[platform.toLowerCase()]))) {
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
const deviceBuildInfo = yield this.$buildInfoFileService.getDeviceBuildInfo(device, projectData);
|
|
74
|
+
const localBuildInfo = this.$buildInfoFileService.getLocalBuildInfo(platformData, Object.assign(Object.assign({}, buildData), { buildForDevice: !device.isEmulator }));
|
|
75
|
+
return (!localBuildInfo ||
|
|
76
|
+
!deviceBuildInfo ||
|
|
77
|
+
deviceBuildInfo.buildTime !== localBuildInfo.buildTime);
|
|
78
|
+
});
|
|
64
79
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
updateHashesOnDevice(data) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const { device, appIdentifier, platformData, outputFilePath } = data;
|
|
83
|
+
if (!this.$mobileHelper.isAndroidPlatform(platformData.normalizedPlatformName)) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
let hashes = {};
|
|
87
|
+
const hashesFilePath = path.join(outputFilePath, constants_1.HASHES_FILE_NAME);
|
|
88
|
+
if (this.$fs.exists(hashesFilePath)) {
|
|
89
|
+
hashes = this.$fs.readJson(hashesFilePath);
|
|
90
|
+
}
|
|
91
|
+
yield device.fileSystem.updateHashesOnDevice(hashes, appIdentifier);
|
|
92
|
+
});
|
|
76
93
|
}
|
|
77
94
|
}
|
|
78
95
|
exports.DeviceInstallAppService = DeviceInstallAppService;
|
|
79
96
|
yok_1.injector.register("deviceInstallAppService", DeviceInstallAppService);
|
|
97
|
+
//# sourceMappingURL=device-install-app-service.js.map
|