nativescript 8.9.0-dev.0 → 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/ios.d.ts +4 -2
- 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 +73 -43
- 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 +73 -51
- 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
|
@@ -5,9 +5,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
+
});
|
|
16
|
+
};
|
|
8
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
18
|
exports.AssetsGenerationService = void 0;
|
|
10
|
-
const
|
|
19
|
+
const Jimp = require("jimp");
|
|
11
20
|
const Color = require("color");
|
|
12
21
|
const decorators_1 = require("../../common/decorators");
|
|
13
22
|
const constants_1 = require("../../constants");
|
|
@@ -27,121 +36,136 @@ class AssetsGenerationService {
|
|
|
27
36
|
this.$fs = $fs;
|
|
28
37
|
this.$options = $options;
|
|
29
38
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
generateIcons(resourceGenerationData) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
if (this.$options.hostProjectPath) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
this.$logger.info("Generating icons ...");
|
|
45
|
+
yield this.generateImagesForDefinitions(resourceGenerationData, this.propertiesToEnumerate.icon);
|
|
46
|
+
this.$logger.info("Icons generation completed.");
|
|
47
|
+
});
|
|
37
48
|
}
|
|
38
|
-
|
|
39
|
-
this
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
generateSplashScreens(splashesGenerationData) {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
this.$logger.info("Generating splash screens ...");
|
|
52
|
+
yield this.generateImagesForDefinitions(splashesGenerationData, this.propertiesToEnumerate.splash);
|
|
53
|
+
this.$logger.info("Splash screens generation completed.");
|
|
54
|
+
});
|
|
42
55
|
}
|
|
43
|
-
|
|
56
|
+
generateImagesForDefinitions(generationData, propertiesToEnumerate) {
|
|
44
57
|
var _a, _b, _c, _d, _e, _f;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
if (
|
|
59
|
-
this.$fs.
|
|
58
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
59
|
+
const background = generationData.background || "white";
|
|
60
|
+
const assetsStructure = yield this.$projectDataService.getAssetsStructure(generationData);
|
|
61
|
+
const assetItems = _(assetsStructure)
|
|
62
|
+
.filter((assetGroup, platform) => !generationData.platform ||
|
|
63
|
+
platform.toLowerCase() === generationData.platform.toLowerCase())
|
|
64
|
+
.map((assetGroup) => _.filter(assetGroup, (assetSubGroup, imageTypeKey) => assetSubGroup && propertiesToEnumerate.indexOf(imageTypeKey) !== -1))
|
|
65
|
+
.flatten()
|
|
66
|
+
.map((assetSubGroup) => assetSubGroup.images)
|
|
67
|
+
.flatten()
|
|
68
|
+
.filter((assetItem) => !!assetItem.filename)
|
|
69
|
+
.value();
|
|
70
|
+
for (const assetItem of assetItems) {
|
|
71
|
+
if (assetItem.operation === "delete") {
|
|
72
|
+
if (this.$fs.exists(assetItem.path)) {
|
|
73
|
+
this.$fs.deleteFile(assetItem.path);
|
|
74
|
+
}
|
|
75
|
+
continue;
|
|
60
76
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
77
|
+
if (assetItem.operation === "writeXMLColor") {
|
|
78
|
+
const colorName = (_a = assetItem.data) === null || _a === void 0 ? void 0 : _a.colorName;
|
|
79
|
+
if (!colorName) {
|
|
80
|
+
continue;
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
const color = (_e = (_c = generationData[(_b = assetItem.data) === null || _b === void 0 ? void 0 : _b.fromKey]) !== null && _c !== void 0 ? _c : (_d = assetItem.data) === null || _d === void 0 ? void 0 : _d.default) !== null && _e !== void 0 ? _e : "white";
|
|
84
|
+
const colorHEX = Jimp.cssColorToHex(color);
|
|
85
|
+
const hex = (_f = colorHEX === null || colorHEX === void 0 ? void 0 : colorHEX.toString(16).substring(0, 6)) !== null && _f !== void 0 ? _f : "FFFFFF";
|
|
86
|
+
this.$fs.writeFile(assetItem.path, [
|
|
87
|
+
`<?xml version="1.0" encoding="utf-8"?>`,
|
|
88
|
+
`<resources>`,
|
|
89
|
+
` <color name="${colorName}">#${hex.toUpperCase()}</color>`,
|
|
90
|
+
`</resources>`,
|
|
91
|
+
].join(os_1.EOL));
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
this.$logger.info(`Failed to write provided color to ${assetItem.path} -> ${colorName}. See --log trace for more info.`);
|
|
95
|
+
this.$logger.trace(err);
|
|
96
|
+
}
|
|
66
97
|
continue;
|
|
67
98
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
99
|
+
const operation = assetItem.resizeOperation || "resize" /* Operations.Resize */;
|
|
100
|
+
let tempScale = null;
|
|
101
|
+
if (assetItem.scale) {
|
|
102
|
+
if (_.isNumber(assetItem.scale)) {
|
|
103
|
+
tempScale = assetItem.scale;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const splittedElements = `${assetItem.scale}`.split(constants_1.AssetConstants.sizeDelimiter);
|
|
107
|
+
tempScale =
|
|
108
|
+
splittedElements &&
|
|
109
|
+
splittedElements.length &&
|
|
110
|
+
splittedElements[0] &&
|
|
111
|
+
+splittedElements[0];
|
|
112
|
+
}
|
|
78
113
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
114
|
+
const scale = tempScale || constants_1.AssetConstants.defaultScale;
|
|
115
|
+
const outputPath = assetItem.path;
|
|
116
|
+
const width = assetItem.width * scale;
|
|
117
|
+
const height = assetItem.height * scale;
|
|
118
|
+
if (!width || !height) {
|
|
119
|
+
this.$logger.warn(`Image ${assetItem.filename} is skipped as its width and height are invalid.`);
|
|
120
|
+
continue;
|
|
82
121
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
122
|
+
let image;
|
|
123
|
+
switch (operation) {
|
|
124
|
+
case "overlayWith" /* Operations.OverlayWith */:
|
|
125
|
+
const overlayImageScale = assetItem.overlayImageScale ||
|
|
126
|
+
constants_1.AssetConstants.defaultOverlayImageScale;
|
|
127
|
+
const imageResize = Math.round(Math.min(width, height) * overlayImageScale);
|
|
128
|
+
image = yield this.resize(generationData.imagePath, imageResize, imageResize);
|
|
129
|
+
image = this.generateImage(background, width, height, outputPath, image);
|
|
130
|
+
break;
|
|
131
|
+
case "blank" /* Operations.Blank */:
|
|
132
|
+
image = this.generateImage(background, width, height, outputPath);
|
|
133
|
+
break;
|
|
134
|
+
case "resize" /* Operations.Resize */:
|
|
135
|
+
image = yield this.resize(generationData.imagePath, width, height);
|
|
136
|
+
break;
|
|
137
|
+
case "outerScale" /* Operations.OuterScale */:
|
|
138
|
+
// Resize image without applying scale
|
|
139
|
+
image = yield this.resize(generationData.imagePath, assetItem.width, assetItem.height);
|
|
140
|
+
// The scale will apply to the underlying layer of the generated image
|
|
141
|
+
image = this.generateImage("#00000000", width, height, outputPath, image);
|
|
142
|
+
break;
|
|
143
|
+
default:
|
|
144
|
+
throw new Error(`Invalid image generation operation: ${operation}`);
|
|
90
145
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
146
|
+
// This code disables the alpha chanel, as some images for the Apple App Store must not have transparency.
|
|
147
|
+
if (assetItem.rgba === false) {
|
|
148
|
+
//
|
|
149
|
+
// The original code here became broken at some time and there is an issue posted here..
|
|
150
|
+
// https://github.com/oliver-moran/jimp/issues/954
|
|
151
|
+
// But NathanaelA recommended the below change and it works so maybe that's just what we go with.
|
|
152
|
+
//
|
|
153
|
+
// image = image.rgba(false);
|
|
154
|
+
image = image.colorType(2);
|
|
98
155
|
}
|
|
156
|
+
image.write(outputPath);
|
|
99
157
|
}
|
|
100
|
-
|
|
101
|
-
const outputPath = assetItem.path;
|
|
102
|
-
const width = assetItem.width * scale;
|
|
103
|
-
const height = assetItem.height * scale;
|
|
104
|
-
if (!width || !height) {
|
|
105
|
-
this.$logger.warn(`Image ${assetItem.filename} is skipped as its width and height are invalid.`);
|
|
106
|
-
continue;
|
|
107
|
-
}
|
|
108
|
-
let image;
|
|
109
|
-
switch (operation) {
|
|
110
|
-
case "overlayWith":
|
|
111
|
-
const overlayImageScale = assetItem.overlayImageScale ||
|
|
112
|
-
constants_1.AssetConstants.defaultOverlayImageScale;
|
|
113
|
-
const imageResize = Math.round(Math.min(width, height) * overlayImageScale);
|
|
114
|
-
image = await this.resize(generationData.imagePath, imageResize, imageResize);
|
|
115
|
-
image = this.generateImage(background, width, height, outputPath, image);
|
|
116
|
-
break;
|
|
117
|
-
case "blank":
|
|
118
|
-
image = this.generateImage(background, width, height, outputPath);
|
|
119
|
-
break;
|
|
120
|
-
case "resize":
|
|
121
|
-
image = await this.resize(generationData.imagePath, width, height);
|
|
122
|
-
break;
|
|
123
|
-
case "outerScale":
|
|
124
|
-
image = await this.resize(generationData.imagePath, assetItem.width, assetItem.height);
|
|
125
|
-
image = this.generateImage("#00000000", width, height, outputPath, image);
|
|
126
|
-
break;
|
|
127
|
-
default:
|
|
128
|
-
throw new Error(`Invalid image generation operation: ${operation}`);
|
|
129
|
-
}
|
|
130
|
-
if (assetItem.rgba === false) {
|
|
131
|
-
image = image.colorType(2);
|
|
132
|
-
}
|
|
133
|
-
image.write(outputPath);
|
|
134
|
-
}
|
|
158
|
+
});
|
|
135
159
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
h: height,
|
|
160
|
+
resize(imagePath, width, height) {
|
|
161
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
162
|
+
const image = yield Jimp.read(imagePath);
|
|
163
|
+
return image.scaleToFit(width, height);
|
|
141
164
|
});
|
|
142
165
|
}
|
|
143
166
|
generateImage(background, width, height, outputPath, overlayImage) {
|
|
144
|
-
|
|
167
|
+
// Typescript declarations for Jimp are not updated to define the constructor with backgroundColor so we workaround it by casting it to <any> for this case only.
|
|
168
|
+
const J = Jimp;
|
|
145
169
|
const backgroundColor = this.getRgbaNumber(background);
|
|
146
170
|
let image = new J(width, height, backgroundColor);
|
|
147
171
|
if (overlayImage) {
|
|
@@ -155,14 +179,15 @@ class AssetsGenerationService {
|
|
|
155
179
|
const color = new Color(colorString);
|
|
156
180
|
const colorRgb = color.rgb();
|
|
157
181
|
const alpha = Math.round(colorRgb.alpha() * 255);
|
|
158
|
-
return
|
|
182
|
+
return Jimp.rgbaToInt(colorRgb.red(), colorRgb.green(), colorRgb.blue(), alpha);
|
|
159
183
|
}
|
|
160
184
|
}
|
|
161
|
-
exports.AssetsGenerationService = AssetsGenerationService;
|
|
162
185
|
__decorate([
|
|
163
186
|
(0, decorators_1.exported)("assetsGenerationService")
|
|
164
187
|
], AssetsGenerationService.prototype, "generateIcons", null);
|
|
165
188
|
__decorate([
|
|
166
189
|
(0, decorators_1.exported)("assetsGenerationService")
|
|
167
190
|
], AssetsGenerationService.prototype, "generateSplashScreens", null);
|
|
191
|
+
exports.AssetsGenerationService = AssetsGenerationService;
|
|
168
192
|
yok_1.injector.register("assetsGenerationService", AssetsGenerationService);
|
|
193
|
+
//# sourceMappingURL=assets-generation-service.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.BuildArtifactsService = void 0;
|
|
4
13
|
const path = require("path");
|
|
@@ -10,15 +19,17 @@ class BuildArtifactsService {
|
|
|
10
19
|
this.$fs = $fs;
|
|
11
20
|
this.$logger = $logger;
|
|
12
21
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
this.$
|
|
20
|
-
|
|
21
|
-
|
|
22
|
+
getLatestAppPackagePath(platformData, buildOutputOptions) {
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const outputPath = buildOutputOptions.outputPath ||
|
|
25
|
+
platformData.getBuildOutputPath(buildOutputOptions);
|
|
26
|
+
const applicationPackage = this.getLatestApplicationPackage(outputPath, platformData.getValidBuildOutputData(buildOutputOptions));
|
|
27
|
+
const packageFile = applicationPackage.packageName;
|
|
28
|
+
if (!packageFile || !this.$fs.exists(packageFile)) {
|
|
29
|
+
this.$errors.fail(`Unable to find built application. Try 'ns build ${platformData.platformNameLowerCase}'.`);
|
|
30
|
+
}
|
|
31
|
+
return packageFile;
|
|
32
|
+
});
|
|
22
33
|
}
|
|
23
34
|
getAllAppPackages(buildOutputPath, validBuildOutputData) {
|
|
24
35
|
const rootFiles = this.$fs
|
|
@@ -64,7 +75,7 @@ class BuildArtifactsService {
|
|
|
64
75
|
if (packages.length > 1) {
|
|
65
76
|
this.$logger.warn(`More than one ${packageExtName} found in ${buildOutputPath} directory. Using the last one produced from build.`);
|
|
66
77
|
}
|
|
67
|
-
packages = _.sortBy(packages, (pkg) => pkg.time).reverse();
|
|
78
|
+
packages = _.sortBy(packages, (pkg) => pkg.time).reverse(); // We need to reverse because sortBy always sorts in ascending order
|
|
68
79
|
return packages[0];
|
|
69
80
|
}
|
|
70
81
|
getApplicationPackagesCore(candidates, validPackageNames) {
|
|
@@ -85,3 +96,4 @@ class BuildArtifactsService {
|
|
|
85
96
|
}
|
|
86
97
|
exports.BuildArtifactsService = BuildArtifactsService;
|
|
87
98
|
yok_1.injector.register("buildArtifactsService", BuildArtifactsService);
|
|
99
|
+
//# sourceMappingURL=build-artifacts-service.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.BuildInfoFileService = void 0;
|
|
4
13
|
const path = require("path");
|
|
@@ -26,15 +35,17 @@ class BuildInfoFileService {
|
|
|
26
35
|
}
|
|
27
36
|
return null;
|
|
28
37
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
+
getDeviceBuildInfo(device, projectData) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const deviceFilePath = yield this.getDeviceBuildInfoFilePath(device, projectData);
|
|
41
|
+
try {
|
|
42
|
+
const deviceFileContent = yield this.$mobileHelper.getDeviceFileContent(device, deviceFilePath, projectData);
|
|
43
|
+
return JSON.parse(deviceFileContent);
|
|
44
|
+
}
|
|
45
|
+
catch (e) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
});
|
|
38
49
|
}
|
|
39
50
|
saveLocalBuildInfo(platformData, buildInfoFileDirname) {
|
|
40
51
|
const buildInfoFile = path.join(buildInfoFileDirname, buildInfoFileName);
|
|
@@ -45,20 +56,25 @@ class BuildInfoFileService {
|
|
|
45
56
|
};
|
|
46
57
|
this.$fs.writeJson(buildInfoFile, buildInfo);
|
|
47
58
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
saveDeviceBuildInfo(device, projectData, outputFilePath) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const deviceFilePath = yield this.getDeviceBuildInfoFilePath(device, projectData);
|
|
62
|
+
const appIdentifier = projectData.projectIdentifiers[device.deviceInfo.platform.toLowerCase()];
|
|
63
|
+
yield device.fileSystem.putFile(path.join(outputFilePath, buildInfoFileName), deviceFilePath, appIdentifier);
|
|
64
|
+
});
|
|
52
65
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
66
|
+
getDeviceBuildInfoFilePath(device, projectData) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
const platform = device.deviceInfo.platform.toLowerCase();
|
|
69
|
+
const deviceRootPath = yield this.$devicePathProvider.getDeviceProjectRootPath(device, {
|
|
70
|
+
appIdentifier: projectData.projectIdentifiers[platform],
|
|
71
|
+
getDirname: true,
|
|
72
|
+
});
|
|
73
|
+
const result = helpers.fromWindowsRelativePathToUnix(path.join(deviceRootPath, buildInfoFileName));
|
|
74
|
+
return result;
|
|
58
75
|
});
|
|
59
|
-
const result = helpers.fromWindowsRelativePathToUnix(path.join(deviceRootPath, buildInfoFileName));
|
|
60
|
-
return result;
|
|
61
76
|
}
|
|
62
77
|
}
|
|
63
78
|
exports.BuildInfoFileService = BuildInfoFileService;
|
|
64
79
|
yok_1.injector.register("buildInfoFileService", BuildInfoFileService);
|
|
80
|
+
//# sourceMappingURL=build-info-file-service.js.map
|
|
@@ -5,6 +5,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
+
});
|
|
16
|
+
};
|
|
8
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
18
|
exports.CleanupService = void 0;
|
|
10
19
|
const path = require("path");
|
|
@@ -17,69 +26,89 @@ class CleanupService {
|
|
|
17
26
|
this.shouldDispose = true;
|
|
18
27
|
this.pathToCleanupLogFile = $options.cleanupLogFile;
|
|
19
28
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
29
|
+
addCleanupCommand(commandInfo) {
|
|
30
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
32
|
+
cleanupProcess.send({
|
|
33
|
+
messageType: "AddCleanCommand" /* CleanupProcessMessage.AddCleanCommand */,
|
|
34
|
+
commandInfo,
|
|
35
|
+
});
|
|
25
36
|
});
|
|
26
37
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
removeCleanupCommand(commandInfo) {
|
|
39
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
41
|
+
cleanupProcess.send({
|
|
42
|
+
messageType: "RemoveCleanCommand" /* CleanupProcessMessage.RemoveCleanCommand */,
|
|
43
|
+
commandInfo,
|
|
44
|
+
});
|
|
32
45
|
});
|
|
33
46
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
addRequest(requestInfo) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
50
|
+
cleanupProcess.send({
|
|
51
|
+
messageType: "AddRequest" /* CleanupProcessMessage.AddRequest */,
|
|
52
|
+
requestInfo,
|
|
53
|
+
});
|
|
39
54
|
});
|
|
40
55
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
removeRequest(requestInfo) {
|
|
57
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
59
|
+
cleanupProcess.send({
|
|
60
|
+
messageType: "RemoveRequest" /* CleanupProcessMessage.RemoveRequest */,
|
|
61
|
+
requestInfo,
|
|
62
|
+
});
|
|
46
63
|
});
|
|
47
64
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
65
|
+
addCleanupDeleteAction(filePath) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
68
|
+
cleanupProcess.send({
|
|
69
|
+
messageType: "AddDeleteFileAction" /* CleanupProcessMessage.AddDeleteFileAction */,
|
|
70
|
+
filePath,
|
|
71
|
+
});
|
|
53
72
|
});
|
|
54
73
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
74
|
+
removeCleanupDeleteAction(filePath) {
|
|
75
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
77
|
+
cleanupProcess.send({
|
|
78
|
+
messageType: "RemoveDeleteFileAction" /* CleanupProcessMessage.RemoveDeleteFileAction */,
|
|
79
|
+
filePath,
|
|
80
|
+
});
|
|
60
81
|
});
|
|
61
82
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
83
|
+
addCleanupJS(jsCommand) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
86
|
+
cleanupProcess.send({
|
|
87
|
+
messageType: "AddJSFileToRequire" /* CleanupProcessMessage.AddJSFileToRequire */,
|
|
88
|
+
jsCommand,
|
|
89
|
+
});
|
|
67
90
|
});
|
|
68
91
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
92
|
+
removeCleanupJS(jsCommand) {
|
|
93
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
+
const cleanupProcess = yield this.getCleanupProcess();
|
|
95
|
+
cleanupProcess.send({
|
|
96
|
+
messageType: "RemoveJSFileToRequire" /* CleanupProcessMessage.RemoveJSFileToRequire */,
|
|
97
|
+
jsCommand,
|
|
98
|
+
});
|
|
74
99
|
});
|
|
75
100
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
addKillProcess(pid) {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const killSpawnCommandInfo = this.getKillProcesSpawnInfo(pid);
|
|
104
|
+
yield this.addCleanupCommand(killSpawnCommandInfo);
|
|
105
|
+
});
|
|
79
106
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
107
|
+
removeKillProcess(pid) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
const killSpawnCommandInfo = this.getKillProcesSpawnInfo(pid);
|
|
110
|
+
yield this.removeCleanupCommand(killSpawnCommandInfo);
|
|
111
|
+
});
|
|
83
112
|
}
|
|
84
113
|
setCleanupLogFile(filePath) {
|
|
85
114
|
this.pathToCleanupLogFile = filePath;
|
|
@@ -92,6 +121,8 @@ class CleanupService {
|
|
|
92
121
|
setShouldDispose(shouldDispose) {
|
|
93
122
|
this.shouldDispose = shouldDispose;
|
|
94
123
|
}
|
|
124
|
+
// TODO: Consider extracting this method to a separate service
|
|
125
|
+
// as it has the same logic as the one used in analytics-service
|
|
95
126
|
getCleanupProcess() {
|
|
96
127
|
return new Promise((resolve, reject) => {
|
|
97
128
|
const cleanupProcessArgs = this.getCleanupProcessArgs();
|
|
@@ -110,11 +141,12 @@ class CleanupService {
|
|
|
110
141
|
clearTimeout(timeoutId);
|
|
111
142
|
if (!isSettled) {
|
|
112
143
|
isSettled = true;
|
|
144
|
+
// In case we throw error here, CLI will break its execution.
|
|
113
145
|
reject(err);
|
|
114
146
|
}
|
|
115
147
|
});
|
|
116
148
|
cleanupProcess.on("message", (data) => {
|
|
117
|
-
if (data === "ProcessReadyToReceive") {
|
|
149
|
+
if (data === "ProcessReadyToReceive" /* DetachedProcessMessages.ProcessReadyToReceive */) {
|
|
118
150
|
clearTimeout(timeoutId);
|
|
119
151
|
if (!isSettled) {
|
|
120
152
|
isSettled = true;
|
|
@@ -154,7 +186,6 @@ class CleanupService {
|
|
|
154
186
|
};
|
|
155
187
|
}
|
|
156
188
|
}
|
|
157
|
-
exports.CleanupService = CleanupService;
|
|
158
189
|
CleanupService.CLEANUP_PROCESS_START_TIMEOUT = 10 * 1000;
|
|
159
190
|
__decorate([
|
|
160
191
|
(0, decorators_1.exported)("cleanupService")
|
|
@@ -162,4 +193,6 @@ __decorate([
|
|
|
162
193
|
__decorate([
|
|
163
194
|
(0, decorators_1.cache)()
|
|
164
195
|
], CleanupService.prototype, "getCleanupProcess", null);
|
|
196
|
+
exports.CleanupService = CleanupService;
|
|
165
197
|
yok_1.injector.register("cleanupService", CleanupService);
|
|
198
|
+
//# sourceMappingURL=cleanup-service.js.map
|
|
@@ -82,6 +82,7 @@ class CocoaPodsPlatformManager {
|
|
|
82
82
|
_.each(allPodfiles, (podfileContent) => {
|
|
83
83
|
const platformMatch = platformRowRegExp.exec(podfileContent);
|
|
84
84
|
const podfilePathMatch = podfilePathRegExp.exec(podfileContent) || [];
|
|
85
|
+
// platform without version -> select it with highest priority
|
|
85
86
|
if (platformMatch && platformMatch[0] && !platformMatch[2]) {
|
|
86
87
|
selectedPlatformData = {
|
|
87
88
|
version: null,
|
|
@@ -90,6 +91,7 @@ class CocoaPodsPlatformManager {
|
|
|
90
91
|
};
|
|
91
92
|
return false;
|
|
92
93
|
}
|
|
94
|
+
// platform with version
|
|
93
95
|
if (platformMatch && platformMatch[0] && platformMatch[2]) {
|
|
94
96
|
if (!selectedPlatformData ||
|
|
95
97
|
semver.gt(semver.coerce(platformMatch[2]), semver.coerce(selectedPlatformData.version))) {
|
|
@@ -104,6 +106,12 @@ class CocoaPodsPlatformManager {
|
|
|
104
106
|
return selectedPlatformData;
|
|
105
107
|
}
|
|
106
108
|
shouldReplacePlatformSection(projectData, oldPodfilePlatformData, currentPodfilePlatformData) {
|
|
109
|
+
// The selected platform should be replaced in the following cases:
|
|
110
|
+
// 1. When the pod file is from App_Resources and the selected platform is not from App_Resources
|
|
111
|
+
// 2. When the pod file is from App_Resources, the selected platform is also from App_Resources
|
|
112
|
+
// and the pod's version is greater than the selected one
|
|
113
|
+
// 3. When the pod file doesn't have platform's version -> `platform :ios`
|
|
114
|
+
// 4. When the pod file has a version greater than the selected platform's version
|
|
107
115
|
const appResourcesPodfilePath = path.join(projectData.getAppResourcesDirectoryPath(), "iOS", constants_1.PODFILE_NAME);
|
|
108
116
|
const isFromAppResources = oldPodfilePlatformData.path !== appResourcesPodfilePath &&
|
|
109
117
|
currentPodfilePlatformData.path === appResourcesPodfilePath;
|
|
@@ -135,3 +143,4 @@ class CocoaPodsPlatformManager {
|
|
|
135
143
|
}
|
|
136
144
|
exports.CocoaPodsPlatformManager = CocoaPodsPlatformManager;
|
|
137
145
|
yok_1.injector.register("cocoaPodsPlatformManager", CocoaPodsPlatformManager);
|
|
146
|
+
//# sourceMappingURL=cocoapods-platform-manager.js.map
|