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
|
@@ -5,48 +5,62 @@ 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.PlatformEnvironmentRequirements = void 0;
|
|
10
19
|
const helpers_1 = require("../common/helpers");
|
|
11
20
|
const os_1 = require("os");
|
|
12
21
|
const yok_1 = require("../common/yok");
|
|
13
22
|
class PlatformEnvironmentRequirements {
|
|
14
|
-
constructor($doctorService, $errors, $analyticsService,
|
|
23
|
+
constructor($doctorService, $errors, $analyticsService,
|
|
24
|
+
// @ts-ignore - required by the hook helper!
|
|
25
|
+
$injector) {
|
|
15
26
|
this.$doctorService = $doctorService;
|
|
16
27
|
this.$errors = $errors;
|
|
17
28
|
this.$analyticsService = $analyticsService;
|
|
18
29
|
this.$injector = $injector;
|
|
19
30
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
checkEnvironmentRequirements(input) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const { platform, projectDir, runtimeVersion } = input;
|
|
34
|
+
const selectedOption = null;
|
|
35
|
+
if (process.env.NS_SKIP_ENV_CHECK) {
|
|
36
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
37
|
+
action: "Check Environment Requirements" /* TrackActionNames.CheckEnvironmentRequirements */,
|
|
38
|
+
additionalData: "Skipped: NS_SKIP_ENV_CHECK is set",
|
|
39
|
+
});
|
|
40
|
+
return {
|
|
41
|
+
canExecute: true,
|
|
42
|
+
selectedOption,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
const canExecute = yield this.$doctorService.canExecuteLocalBuild({
|
|
46
|
+
platform,
|
|
47
|
+
projectDir,
|
|
48
|
+
runtimeVersion,
|
|
49
|
+
forceCheck: input.forceCheck,
|
|
27
50
|
});
|
|
51
|
+
if (!canExecute) {
|
|
52
|
+
// if (!isInteractive()) {
|
|
53
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
54
|
+
action: "Check Environment Requirements" /* TrackActionNames.CheckEnvironmentRequirements */,
|
|
55
|
+
additionalData: "Non-interactive terminal, unable to execute local builds.",
|
|
56
|
+
});
|
|
57
|
+
this.fail(this.getNonInteractiveConsoleMessage(platform));
|
|
58
|
+
}
|
|
28
59
|
return {
|
|
29
|
-
canExecute
|
|
60
|
+
canExecute,
|
|
30
61
|
selectedOption,
|
|
31
62
|
};
|
|
32
|
-
}
|
|
33
|
-
const canExecute = await this.$doctorService.canExecuteLocalBuild({
|
|
34
|
-
platform,
|
|
35
|
-
projectDir,
|
|
36
|
-
runtimeVersion,
|
|
37
|
-
forceCheck: input.forceCheck,
|
|
38
63
|
});
|
|
39
|
-
if (!canExecute) {
|
|
40
|
-
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
41
|
-
action: "Check Environment Requirements",
|
|
42
|
-
additionalData: "Non-interactive terminal, unable to execute local builds.",
|
|
43
|
-
});
|
|
44
|
-
this.fail(this.getNonInteractiveConsoleMessage(platform));
|
|
45
|
-
}
|
|
46
|
-
return {
|
|
47
|
-
canExecute,
|
|
48
|
-
selectedOption,
|
|
49
|
-
};
|
|
50
64
|
}
|
|
51
65
|
fail(message) {
|
|
52
66
|
this.$errors.fail({ formatStr: message, printOnStdout: true });
|
|
@@ -58,6 +72,7 @@ class PlatformEnvironmentRequirements {
|
|
|
58
72
|
].join(os_1.EOL);
|
|
59
73
|
}
|
|
60
74
|
getEnvVerificationMessage(platform) {
|
|
75
|
+
// map process.platform to OS name used in docs
|
|
61
76
|
const os = {
|
|
62
77
|
linux: "linux",
|
|
63
78
|
win32: "windows",
|
|
@@ -70,9 +85,10 @@ class PlatformEnvironmentRequirements {
|
|
|
70
85
|
`https://docs.nativescript.org/setup/${os}${anchor}.`);
|
|
71
86
|
}
|
|
72
87
|
}
|
|
73
|
-
exports.PlatformEnvironmentRequirements = PlatformEnvironmentRequirements;
|
|
74
88
|
PlatformEnvironmentRequirements.MISSING_LOCAL_SETUP_MESSAGE = "Your environment is not configured properly and you will not be able to execute local builds.";
|
|
75
89
|
__decorate([
|
|
76
90
|
(0, helpers_1.hook)("checkEnvironment")
|
|
77
91
|
], PlatformEnvironmentRequirements.prototype, "checkEnvironmentRequirements", null);
|
|
92
|
+
exports.PlatformEnvironmentRequirements = PlatformEnvironmentRequirements;
|
|
78
93
|
yok_1.injector.register("platformEnvironmentRequirements", PlatformEnvironmentRequirements);
|
|
94
|
+
//# sourceMappingURL=platform-environment-requirements.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.PluginsService = void 0;
|
|
4
13
|
const path = require("path");
|
|
@@ -42,46 +51,51 @@ class PluginsService {
|
|
|
42
51
|
return key;
|
|
43
52
|
});
|
|
44
53
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
54
|
+
add(plugin, projectData) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
yield this.ensure(projectData);
|
|
57
|
+
const possiblePackageName = path.resolve(plugin);
|
|
58
|
+
if (possiblePackageName.indexOf(".tgz") !== -1 &&
|
|
59
|
+
this.$fs.exists(possiblePackageName)) {
|
|
60
|
+
plugin = possiblePackageName;
|
|
61
|
+
}
|
|
62
|
+
const name = (yield this.$packageManager.install(plugin, projectData.projectDir, this.npmInstallOptions)).name;
|
|
63
|
+
const pathToRealNpmPackageJson = this.getPackageJsonFilePathForModule(name, projectData.projectDir);
|
|
64
|
+
const realNpmPackageJson = this.$fs.readJson(pathToRealNpmPackageJson);
|
|
65
|
+
if (realNpmPackageJson.nativescript) {
|
|
66
|
+
const pluginData = this.convertToPluginData(realNpmPackageJson, projectData.projectDir);
|
|
67
|
+
// Validate
|
|
68
|
+
const action = (pluginDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
this.isPluginDataValidForPlatform(pluginData, platform, projectData);
|
|
70
|
+
});
|
|
71
|
+
yield this.executeForAllInstalledPlatforms(action, projectData);
|
|
72
|
+
this.$logger.info(`Successfully installed plugin ${realNpmPackageJson.name}.`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
yield this.$packageManager.uninstall(realNpmPackageJson.name, { save: true }, projectData.projectDir);
|
|
76
|
+
this.$errors.fail(`${plugin} is not a valid NativeScript plugin. Verify that the plugin package.json file contains a nativescript key and try again.`);
|
|
77
|
+
}
|
|
78
|
+
});
|
|
67
79
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
remove(pluginName, projectData) {
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
const removePluginNativeCodeAction = (modulesDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const pluginData = this.convertToPluginData(this.getNodeModuleData(pluginName, projectData.projectDir), projectData.projectDir);
|
|
84
|
+
yield platformData.platformProjectService.removePluginNativeCode(pluginData, projectData);
|
|
85
|
+
});
|
|
86
|
+
yield this.executeForAllInstalledPlatforms(removePluginNativeCodeAction, projectData);
|
|
87
|
+
yield this.executeNpmCommand(PluginsService.UNINSTALL_COMMAND_NAME, pluginName, projectData);
|
|
88
|
+
let showMessage = true;
|
|
89
|
+
const action = (modulesDestinationPath, platform, platformData) => __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
shelljs.rm("-rf", path.join(modulesDestinationPath, pluginName));
|
|
91
|
+
this.$logger.info(`Successfully removed plugin ${pluginName} for ${platform}.`);
|
|
92
|
+
showMessage = false;
|
|
93
|
+
});
|
|
94
|
+
yield this.executeForAllInstalledPlatforms(action, projectData);
|
|
95
|
+
if (showMessage) {
|
|
96
|
+
this.$logger.info(`Successfully removed plugin ${pluginName}`);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
85
99
|
}
|
|
86
100
|
addToPackageJson(plugin, version, isDev, projectDir) {
|
|
87
101
|
const packageJsonPath = this.getPackageJsonFilePath(projectDir);
|
|
@@ -105,56 +119,65 @@ class PluginsService {
|
|
|
105
119
|
this.$fs.writeJson(packageJsonPath, result.packageJsonContent);
|
|
106
120
|
}
|
|
107
121
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
122
|
+
preparePluginNativeCode({ pluginData, platform, projectData, }) {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
|
|
125
|
+
const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath(platform);
|
|
126
|
+
if (this.$fs.exists(pluginPlatformsFolderPath)) {
|
|
127
|
+
const pathToPluginsBuildFile = path.join(platformData.projectRoot, constants.PLUGINS_BUILD_DATA_FILENAME);
|
|
128
|
+
const allPluginsNativeHashes = this.getAllPluginsNativeHashes(pathToPluginsBuildFile);
|
|
129
|
+
const oldPluginNativeHashes = allPluginsNativeHashes[pluginData.name];
|
|
130
|
+
const currentPluginNativeHashes = yield this.getPluginNativeHashes(pluginPlatformsFolderPath);
|
|
131
|
+
if (!oldPluginNativeHashes ||
|
|
132
|
+
this.$filesHashService.hasChangesInShasums(oldPluginNativeHashes, currentPluginNativeHashes)) {
|
|
133
|
+
yield platformData.platformProjectService.preparePluginNativeCode(pluginData, projectData);
|
|
134
|
+
const updatedPluginNativeHashes = yield this.getPluginNativeHashes(pluginPlatformsFolderPath);
|
|
135
|
+
this.setPluginNativeHashes({
|
|
136
|
+
pathToPluginsBuildFile,
|
|
137
|
+
pluginData,
|
|
138
|
+
currentPluginNativeHashes: updatedPluginNativeHashes,
|
|
139
|
+
allPluginsNativeHashes,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
126
142
|
}
|
|
127
|
-
}
|
|
143
|
+
});
|
|
128
144
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
145
|
+
ensureAllDependenciesAreInstalled(projectData) {
|
|
146
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
147
|
+
const packageJsonContent = this.$fs.readJson(this.getPackageJsonFilePath(projectData.projectDir));
|
|
148
|
+
const allDependencies = _.keys(packageJsonContent.dependencies).concat(_.keys(packageJsonContent.devDependencies));
|
|
149
|
+
const notInstalledDependencies = allDependencies
|
|
150
|
+
.map((dep) => {
|
|
151
|
+
this.$logger.trace(`Checking if ${dep} is installed...`);
|
|
152
|
+
const pathToPackage = (0, package_path_helper_1.resolvePackagePath)(dep, {
|
|
153
|
+
paths: [projectData.projectDir],
|
|
154
|
+
});
|
|
155
|
+
if (pathToPackage) {
|
|
156
|
+
// return false if the dependency is installed - we'll filter out boolean values
|
|
157
|
+
// and end up with an array of dep names that are not installed if we end up
|
|
158
|
+
// inside the catch block.
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
this.$logger.trace(`${dep} is not installed, or couldn't be found`);
|
|
162
|
+
return dep;
|
|
163
|
+
})
|
|
164
|
+
.filter(Boolean);
|
|
165
|
+
if (this.$options.force || notInstalledDependencies.length) {
|
|
166
|
+
this.$logger.trace("Npm install will be called from CLI. Force option is: ", this.$options.force, " Not installed dependencies are: ", notInstalledDependencies);
|
|
167
|
+
yield this.$packageManager.install(projectData.projectDir, projectData.projectDir, {
|
|
168
|
+
disableNpmInstall: this.$options.disableNpmInstall,
|
|
169
|
+
frameworkPath: this.$options.frameworkPath,
|
|
170
|
+
ignoreScripts: this.$options.ignoreScripts,
|
|
171
|
+
path: this.$options.path,
|
|
172
|
+
});
|
|
140
173
|
}
|
|
141
|
-
|
|
142
|
-
return dep;
|
|
143
|
-
})
|
|
144
|
-
.filter(Boolean);
|
|
145
|
-
if (this.$options.force || notInstalledDependencies.length) {
|
|
146
|
-
this.$logger.trace("Npm install will be called from CLI. Force option is: ", this.$options.force, " Not installed dependencies are: ", notInstalledDependencies);
|
|
147
|
-
await this.$packageManager.install(projectData.projectDir, projectData.projectDir, {
|
|
148
|
-
disableNpmInstall: this.$options.disableNpmInstall,
|
|
149
|
-
frameworkPath: this.$options.frameworkPath,
|
|
150
|
-
ignoreScripts: this.$options.ignoreScripts,
|
|
151
|
-
path: this.$options.path,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
174
|
+
});
|
|
154
175
|
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
176
|
+
getAllInstalledPlugins(projectData) {
|
|
177
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
178
|
+
const nodeModules = (yield this.getAllInstalledModules(projectData)).map((nodeModuleData) => this.convertToPluginData(nodeModuleData, projectData.projectDir));
|
|
179
|
+
return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
|
|
180
|
+
});
|
|
158
181
|
}
|
|
159
182
|
getAllProductionPlugins(projectData, platform, dependencies) {
|
|
160
183
|
dependencies =
|
|
@@ -168,6 +191,9 @@ class PluginsService {
|
|
|
168
191
|
return productionPlugins
|
|
169
192
|
.map((plugin) => this.convertToPluginData(plugin, projectData.projectDir))
|
|
170
193
|
.filter((item, idx, self) => {
|
|
194
|
+
// Filter out duplicates to speed up build times by not building the same dependency
|
|
195
|
+
// multiple times. One possible downside is that if there are different versions
|
|
196
|
+
// of the same native dependency only the first one in the array will be built
|
|
171
197
|
return self.findIndex((p) => p.name === item.name) === idx;
|
|
172
198
|
});
|
|
173
199
|
}
|
|
@@ -199,9 +225,11 @@ class PluginsService {
|
|
|
199
225
|
const dependenciesGroupedByName = _.groupBy(productionDependencies, (p) => p.name);
|
|
200
226
|
_.each(dependenciesGroupedByName, (dependencyOccurrences, dependencyName) => {
|
|
201
227
|
if (dependencyOccurrences.length > 1) {
|
|
228
|
+
// the dependency exists multiple times in node_modules
|
|
202
229
|
const dependencyOccurrencesGroupedByVersion = _.groupBy(dependencyOccurrences, (g) => g.version);
|
|
203
230
|
const versions = _.keys(dependencyOccurrencesGroupedByVersion);
|
|
204
231
|
if (versions.length === 1) {
|
|
232
|
+
// all dependencies with this name have the same version
|
|
205
233
|
this.$logger.trace(`Detected same versions (${_.first(versions)}) of the ${dependencyName} installed at locations: ${_.map(dependencyOccurrences, (d) => d.directory).join(", ")}`);
|
|
206
234
|
}
|
|
207
235
|
else {
|
|
@@ -218,11 +246,7 @@ class PluginsService {
|
|
|
218
246
|
const contents = this.$fs.readDirectory(pathToPlatforms);
|
|
219
247
|
_.each(contents, (file) => {
|
|
220
248
|
if (path.extname(file) === ".framework") {
|
|
221
|
-
dependenciesWithFrameworks.push({
|
|
222
|
-
...d,
|
|
223
|
-
frameworkName: path.basename(file),
|
|
224
|
-
frameworkLocation: path.join(pathToPlatforms, file),
|
|
225
|
-
});
|
|
249
|
+
dependenciesWithFrameworks.push(Object.assign(Object.assign({}, d), { frameworkName: path.basename(file), frameworkLocation: path.join(pathToPlatforms, file) }));
|
|
226
250
|
}
|
|
227
251
|
});
|
|
228
252
|
}
|
|
@@ -231,9 +255,11 @@ class PluginsService {
|
|
|
231
255
|
const dependenciesGroupedByFrameworkName = _.groupBy(dependenciesWithFrameworks, (d) => d.frameworkName);
|
|
232
256
|
_.each(dependenciesGroupedByFrameworkName, (dependencyOccurrences, frameworkName) => {
|
|
233
257
|
if (dependencyOccurrences.length > 1) {
|
|
258
|
+
// A framework exists multiple times in node_modules
|
|
234
259
|
const groupedByName = _.groupBy(dependencyOccurrences, (d) => d.name);
|
|
235
260
|
const pluginsNames = _.keys(groupedByName);
|
|
236
261
|
if (pluginsNames.length > 1) {
|
|
262
|
+
// fail - the same framework is installed by different dependencies.
|
|
237
263
|
const locations = dependencyOccurrences.map((d) => d.frameworkLocation);
|
|
238
264
|
let msg = `Detected the framework ${frameworkName} is installed from multiple plugins at locations:\n${locations.join("\n")}\n`;
|
|
239
265
|
msg += this.getHelpMessage(projectDir);
|
|
@@ -243,6 +269,7 @@ class PluginsService {
|
|
|
243
269
|
const dependencyOccurrencesGroupedByVersion = _.groupBy(dependencyOccurrences, (g) => g.version);
|
|
244
270
|
const versions = _.keys(dependencyOccurrencesGroupedByVersion);
|
|
245
271
|
if (versions.length === 1) {
|
|
272
|
+
// all dependencies with this name have the same version
|
|
246
273
|
this.$logger.warn(`Detected the framework ${frameworkName} is installed multiple times from the same versions of plugin (${_.first(versions)}) at locations: ${_.map(dependencyOccurrences, (d) => d.directory).join(", ")}`);
|
|
247
274
|
const selectedPackage = _.minBy(dependencyOccurrences, (d) => d.depth);
|
|
248
275
|
this.$logger.info(color_1.color.green(`CLI will use only the native code from '${selectedPackage.directory}'.`));
|
|
@@ -294,7 +321,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
294
321
|
pluginData.isPlugin = !!cacheData.nativescript;
|
|
295
322
|
pluginData.pluginPlatformsFolderPath = (platform) => {
|
|
296
323
|
if (this.$mobileHelper.isvisionOSPlatform(platform)) {
|
|
297
|
-
platform = "ios"
|
|
324
|
+
platform = "ios" /* constants.PlatformTypes.ios */;
|
|
298
325
|
}
|
|
299
326
|
return path.join(pluginData.fullPath, "platforms", platform.toLowerCase());
|
|
300
327
|
};
|
|
@@ -351,6 +378,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
351
378
|
return _.keys(require(packageJsonFilePath).dependencies);
|
|
352
379
|
}
|
|
353
380
|
getNodeModuleData(module, projectDir) {
|
|
381
|
+
// module can be modulePath or moduleName
|
|
354
382
|
if (!this.$fs.exists(module) || path.basename(module) !== "package.json") {
|
|
355
383
|
module = this.getPackageJsonFilePathForModule(module, projectDir);
|
|
356
384
|
}
|
|
@@ -363,40 +391,50 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
363
391
|
nativescript: data.nativescript,
|
|
364
392
|
};
|
|
365
393
|
}
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
394
|
+
ensure(projectData) {
|
|
395
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
396
|
+
yield this.ensureAllDependenciesAreInstalled(projectData);
|
|
397
|
+
this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
|
|
398
|
+
});
|
|
369
399
|
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
400
|
+
getAllInstalledModules(projectData) {
|
|
401
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
402
|
+
yield this.ensure(projectData);
|
|
403
|
+
const nodeModules = this.getDependencies(projectData.projectDir);
|
|
404
|
+
return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
|
|
405
|
+
});
|
|
374
406
|
}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
407
|
+
executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
|
|
408
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
409
|
+
if (npmCommandName === PluginsService.INSTALL_COMMAND_NAME) {
|
|
410
|
+
yield this.$packageManager.install(npmCommandArguments, projectData.projectDir, this.npmInstallOptions);
|
|
411
|
+
}
|
|
412
|
+
else if (npmCommandName === PluginsService.UNINSTALL_COMMAND_NAME) {
|
|
413
|
+
yield this.$packageManager.uninstall(npmCommandArguments, PluginsService.NPM_CONFIG, projectData.projectDir);
|
|
414
|
+
}
|
|
415
|
+
return this.parseNpmCommandResult(npmCommandArguments);
|
|
416
|
+
});
|
|
383
417
|
}
|
|
384
418
|
parseNpmCommandResult(npmCommandResult) {
|
|
385
|
-
return npmCommandResult.split("@")[0];
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
const
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
419
|
+
return npmCommandResult.split("@")[0]; // returns plugin name
|
|
420
|
+
}
|
|
421
|
+
executeForAllInstalledPlatforms(action, projectData) {
|
|
422
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
423
|
+
const availablePlatforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
|
|
424
|
+
for (const platform of availablePlatforms) {
|
|
425
|
+
const isPlatformInstalled = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
|
|
426
|
+
if (isPlatformInstalled) {
|
|
427
|
+
const platformData = this.$platformsDataService.getPlatformData(platform.toLowerCase(), projectData);
|
|
428
|
+
const pluginDestinationPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, "tns_modules");
|
|
429
|
+
yield action(pluginDestinationPath, platform.toLowerCase(), platformData);
|
|
430
|
+
}
|
|
395
431
|
}
|
|
396
|
-
}
|
|
432
|
+
});
|
|
397
433
|
}
|
|
398
434
|
getInstalledFrameworkVersion(platform, projectData) {
|
|
399
435
|
const runtimePackage = this.$projectDataService.getRuntimePackage(projectData.projectDir, platform);
|
|
436
|
+
// const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
|
|
437
|
+
// const frameworkData = this.$projectDataService.getNSValue(projectData.projectDir, platformData.frameworkPackageName);
|
|
400
438
|
return runtimePackage.version;
|
|
401
439
|
}
|
|
402
440
|
isPluginDataValidForPlatform(pluginData, platform, projectData) {
|
|
@@ -416,16 +454,19 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
416
454
|
}
|
|
417
455
|
return isValid;
|
|
418
456
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
457
|
+
getPluginNativeHashes(pluginPlatformsDir) {
|
|
458
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
459
|
+
let data = {};
|
|
460
|
+
if (this.$fs.exists(pluginPlatformsDir)) {
|
|
461
|
+
const pluginNativeDataFiles = this.$fs.enumerateFilesInDirectorySync(pluginPlatformsDir);
|
|
462
|
+
data = yield this.$filesHashService.generateHashes(pluginNativeDataFiles);
|
|
463
|
+
}
|
|
464
|
+
return data;
|
|
465
|
+
});
|
|
426
466
|
}
|
|
427
467
|
getAllPluginsNativeHashes(pathToPluginsBuildFile) {
|
|
428
468
|
if (this.$options.hostProjectPath) {
|
|
469
|
+
// TODO: force rebuild plugins for now until we decide where to put .ns-plugins-build-data.json when embedding
|
|
429
470
|
return {};
|
|
430
471
|
}
|
|
431
472
|
let data = {};
|
|
@@ -436,6 +477,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
436
477
|
}
|
|
437
478
|
setPluginNativeHashes(opts) {
|
|
438
479
|
if (this.$options.hostProjectPath) {
|
|
480
|
+
// TODO: force rebuild plugins for now until we decide where to put .ns-plugins-build-data.json when embedding
|
|
439
481
|
return;
|
|
440
482
|
}
|
|
441
483
|
opts.allPluginsNativeHashes[opts.pluginData.name] =
|
|
@@ -443,7 +485,6 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
443
485
|
this.$fs.writeJson(opts.pathToPluginsBuildFile, opts.allPluginsNativeHashes);
|
|
444
486
|
}
|
|
445
487
|
}
|
|
446
|
-
exports.PluginsService = PluginsService;
|
|
447
488
|
PluginsService.INSTALL_COMMAND_NAME = "install";
|
|
448
489
|
PluginsService.UNINSTALL_COMMAND_NAME = "uninstall";
|
|
449
490
|
PluginsService.NPM_CONFIG = {
|
|
@@ -455,4 +496,6 @@ PluginsService.LOCK_FILES = [
|
|
|
455
496
|
"yarn.lock",
|
|
456
497
|
"pnpm-lock.yaml",
|
|
457
498
|
];
|
|
499
|
+
exports.PluginsService = PluginsService;
|
|
458
500
|
yok_1.injector.register("pluginsService", PluginsService);
|
|
501
|
+
//# sourceMappingURL=plugins-service.js.map
|
|
@@ -22,7 +22,6 @@ class ProjectBackupService {
|
|
|
22
22
|
return backup.restore();
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
-
exports.ProjectBackupService = ProjectBackupService;
|
|
26
25
|
ProjectBackupService.Backup = class Backup {
|
|
27
26
|
constructor($super, name, pathsToBackup = [], basePath = $super.$projectHelper.projectDir) {
|
|
28
27
|
this.$super = $super;
|
|
@@ -47,6 +46,7 @@ ProjectBackupService.Backup = class Backup {
|
|
|
47
46
|
backedUpPaths.push(pathToBackup);
|
|
48
47
|
}
|
|
49
48
|
}
|
|
49
|
+
// create backup.json
|
|
50
50
|
this.$super.$fs.writeJson(path.resolve(this.backupDir, "_backup.json"), {
|
|
51
51
|
name: this.name,
|
|
52
52
|
paths: backedUpPaths,
|
|
@@ -67,6 +67,7 @@ ProjectBackupService.Backup = class Backup {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
this.$super.$logger.trace(backupData);
|
|
70
|
+
// restore files
|
|
70
71
|
return this;
|
|
71
72
|
}
|
|
72
73
|
isUpToDate() {
|
|
@@ -76,6 +77,7 @@ ProjectBackupService.Backup = class Backup {
|
|
|
76
77
|
}
|
|
77
78
|
for (const pathToBackup of backupData.paths) {
|
|
78
79
|
const sourcePath = path.resolve(this.backupDir, pathToBackup);
|
|
80
|
+
// if any of the files don't exist the backup is not up-to-date
|
|
79
81
|
if (!this.$super.$fs.exists(sourcePath)) {
|
|
80
82
|
return false;
|
|
81
83
|
}
|
|
@@ -111,4 +113,6 @@ ProjectBackupService.Backup = class Backup {
|
|
|
111
113
|
return this.$super.$fs.readJson(backupJSONPath);
|
|
112
114
|
}
|
|
113
115
|
};
|
|
116
|
+
exports.ProjectBackupService = ProjectBackupService;
|
|
114
117
|
yok_1.injector.register("projectBackupService", ProjectBackupService);
|
|
118
|
+
//# sourceMappingURL=project-backup-service.js.map
|