nativescript 8.9.0-dev.2 → 8.9.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/test-deps-versions-generated.json +1 -1
- package/lib/android-tools-info.js +9 -32
- package/lib/base-package-manager.js +47 -71
- package/lib/bootstrap.js +1 -5
- package/lib/bun-package-manager.js +65 -104
- package/lib/color.js +2 -5
- package/lib/commands/add-platform.js +14 -31
- package/lib/commands/apple-login.js +18 -30
- package/lib/commands/appstore-list.js +34 -46
- package/lib/commands/appstore-upload.js +52 -68
- package/lib/commands/build.js +57 -90
- package/lib/commands/clean.js +161 -197
- package/lib/commands/command-base.js +14 -28
- package/lib/commands/config.js +48 -71
- package/lib/commands/create-project.js +210 -235
- package/lib/commands/debug.js +66 -93
- package/lib/commands/deploy.js +30 -47
- package/lib/commands/embedding/embed.js +33 -59
- package/lib/commands/extensibility/install-extension.js +5 -17
- package/lib/commands/extensibility/list-extensions.js +13 -25
- package/lib/commands/extensibility/uninstall-extension.js +4 -16
- package/lib/commands/fonts.js +30 -42
- package/lib/commands/generate-assets.js +13 -29
- package/lib/commands/generate-help.js +2 -14
- package/lib/commands/generate.js +12 -70
- package/lib/commands/info.js +2 -14
- package/lib/commands/install.js +34 -50
- package/lib/commands/list-platforms.js +14 -26
- package/lib/commands/migrate.js +15 -27
- package/lib/commands/native-add.js +23 -51
- package/lib/commands/platform-clean.js +19 -33
- package/lib/commands/plugin/add-plugin.js +12 -26
- package/lib/commands/plugin/build-plugin.js +31 -45
- package/lib/commands/plugin/create-plugin.js +110 -138
- package/lib/commands/plugin/list-plugins.js +22 -34
- package/lib/commands/plugin/remove-plugin.js +20 -35
- package/lib/commands/plugin/update-plugin.js +20 -34
- package/lib/commands/post-install.js +20 -39
- package/lib/commands/prepare.js +22 -39
- package/lib/commands/preview.js +49 -64
- package/lib/commands/remove-platform.js +7 -19
- package/lib/commands/resources/resources-update.js +13 -28
- package/lib/commands/run.js +55 -77
- package/lib/commands/setup.js +0 -1
- package/lib/commands/start.js +6 -20
- package/lib/commands/test-init.js +123 -138
- package/lib/commands/test.js +67 -97
- package/lib/commands/typings.js +126 -143
- package/lib/commands/update-platform.js +22 -40
- package/lib/commands/update.js +30 -45
- package/lib/commands/widget.js +390 -352
- package/lib/common/bootstrap.js +0 -1
- package/lib/common/child-process.js +53 -75
- package/lib/common/codeGeneration/code-entity.js +1 -2
- package/lib/common/codeGeneration/code-printer.js +1 -2
- package/lib/common/command-params.js +7 -19
- package/lib/common/commands/analytics.js +27 -43
- package/lib/common/commands/autocompletion.js +39 -59
- package/lib/common/commands/device/device-log-stream.js +12 -24
- package/lib/common/commands/device/get-file.js +22 -35
- package/lib/common/commands/device/list-applications.js +12 -24
- package/lib/common/commands/device/list-devices.js +72 -90
- package/lib/common/commands/device/list-files.js +23 -36
- package/lib/common/commands/device/put-file.js +22 -35
- package/lib/common/commands/device/run-application.js +12 -26
- package/lib/common/commands/device/stop-application.js +11 -23
- package/lib/common/commands/device/uninstall-application.js +6 -18
- package/lib/common/commands/doctor.js +2 -3
- package/lib/common/commands/generate-messages.js +17 -29
- package/lib/common/commands/help.js +20 -34
- package/lib/common/commands/package-manager-get.js +6 -18
- package/lib/common/commands/package-manager-set.js +9 -21
- package/lib/common/commands/post-install.js +2 -14
- package/lib/common/commands/preuninstall.js +24 -48
- package/lib/common/commands/proxy/proxy-base.js +8 -23
- package/lib/common/commands/proxy/proxy-clear.js +4 -16
- package/lib/common/commands/proxy/proxy-get.js +3 -15
- package/lib/common/commands/proxy/proxy-set.js +87 -101
- package/lib/common/common-lib.js +0 -1
- package/lib/common/constants.js +11 -22
- package/lib/common/decorators.js +10 -70
- package/lib/common/dispatchers.js +80 -106
- package/lib/common/errors.js +91 -116
- package/lib/common/file-system.js +108 -141
- package/lib/common/header.js +1 -5
- package/lib/common/helpers.js +152 -267
- package/lib/common/host-info.js +37 -54
- package/lib/common/http-client.js +93 -128
- package/lib/common/logger/appenders/cli-appender.js +1 -6
- package/lib/common/logger/appenders/emit-appender.js +1 -6
- package/lib/common/logger/layouts/cli-layout.js +1 -3
- package/lib/common/logger/logger.js +4 -9
- package/lib/common/messages/messages.js +0 -6
- package/lib/common/mobile/android/android-application-manager.js +122 -162
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +1 -2
- package/lib/common/mobile/android/android-debug-bridge.js +87 -118
- package/lib/common/mobile/android/android-device-file-system.js +98 -135
- package/lib/common/mobile/android/android-device-hash-service.js +50 -78
- package/lib/common/mobile/android/android-device.js +68 -93
- package/lib/common/mobile/android/android-emulator-services.js +105 -131
- package/lib/common/mobile/android/android-ini-file-parser.js +0 -9
- package/lib/common/mobile/android/android-log-filter.js +1 -5
- package/lib/common/mobile/android/android-virtual-device-service.js +76 -123
- package/lib/common/mobile/android/device-android-debug-bridge.js +13 -30
- package/lib/common/mobile/android/genymotion/genymotion-service.js +91 -123
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +64 -92
- package/lib/common/mobile/android/logcat-helper.js +108 -140
- package/lib/common/mobile/application-manager-base.js +84 -113
- package/lib/common/mobile/device-emitter.js +0 -4
- package/lib/common/mobile/device-log-emitter.js +0 -1
- package/lib/common/mobile/device-log-provider-base.js +7 -19
- package/lib/common/mobile/device-log-provider.js +0 -23
- package/lib/common/mobile/device-platforms-constants.js +0 -1
- package/lib/common/mobile/emulator-helper.js +0 -3
- package/lib/common/mobile/ios/device/ios-application-manager.js +79 -111
- package/lib/common/mobile/ios/device/ios-device-file-system.js +78 -106
- package/lib/common/mobile/ios/device/ios-device-operations.js +105 -146
- package/lib/common/mobile/ios/device/ios-device.js +20 -40
- package/lib/common/mobile/ios/ios-device-base.js +58 -82
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +0 -2
- package/lib/common/mobile/ios/ios-log-filter.js +0 -1
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +63 -96
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +1 -2
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +60 -95
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +27 -48
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +37 -63
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +24 -36
- package/lib/common/mobile/local-to-device-path-data-factory.js +0 -1
- package/lib/common/mobile/log-filter.js +0 -2
- package/lib/common/mobile/logging-levels.js +0 -1
- package/lib/common/mobile/mobile-core/android-device-discovery.js +43 -64
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +21 -35
- package/lib/common/mobile/mobile-core/android-process-service.js +143 -214
- package/lib/common/mobile/mobile-core/device-discovery.js +2 -14
- package/lib/common/mobile/mobile-core/devices-service.js +386 -505
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +24 -37
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +47 -65
- package/lib/common/mobile/mobile-helper.js +15 -27
- package/lib/common/mobile/wp8/wp8-emulator-services.js +25 -53
- package/lib/common/opener.js +2 -3
- package/lib/common/os-info.js +0 -1
- package/lib/common/plist-parser.js +0 -1
- package/lib/common/project-helper.js +0 -1
- package/lib/common/prompter.js +91 -114
- package/lib/common/queue.js +9 -21
- package/lib/common/resource-loader.js +0 -1
- package/lib/common/services/auto-completion-service.js +40 -65
- package/lib/common/services/cancellation.js +17 -29
- package/lib/common/services/commands-service.js +146 -180
- package/lib/common/services/help-service.js +133 -166
- package/lib/common/services/hooks-service.js +93 -121
- package/lib/common/services/ios-notification-service.js +21 -35
- package/lib/common/services/json-file-settings-service.js +52 -77
- package/lib/common/services/lock-service.js +35 -58
- package/lib/common/services/message-contract-generator.js +35 -47
- package/lib/common/services/messages-service.js +0 -1
- package/lib/common/services/micro-templating-service.js +4 -21
- package/lib/common/services/net-service.js +90 -110
- package/lib/common/services/project-files-manager.js +10 -28
- package/lib/common/services/project-files-provider-base.js +0 -1
- package/lib/common/services/proxy-service.js +13 -25
- package/lib/common/services/qr.js +13 -25
- package/lib/common/services/settings-service.js +1 -2
- package/lib/common/services/xcode-select-service.js +20 -36
- package/lib/common/utils.js +2 -3
- package/lib/common/validators/project-name-validator.js +1 -2
- package/lib/common/validators/validation-result.js +1 -2
- package/lib/common/verify-node-version.js +3 -11
- package/lib/common/yok.js +35 -69
- package/lib/config.js +36 -72
- package/lib/constants-provider.js +0 -1
- package/lib/constants.js +24 -77
- package/lib/controllers/build-controller.js +82 -100
- package/lib/controllers/debug-controller.js +107 -133
- package/lib/controllers/deploy-controller.js +15 -24
- package/lib/controllers/migrate-controller.js +723 -884
- package/lib/controllers/platform-controller.js +71 -94
- package/lib/controllers/prepare-controller.js +232 -274
- package/lib/controllers/run-controller.js +397 -427
- package/lib/controllers/update-controller-base.js +16 -30
- package/lib/controllers/update-controller.js +94 -130
- package/lib/data/build-data.js +0 -1
- package/lib/data/controller-data-base.js +0 -1
- package/lib/data/debug-data.js +0 -1
- package/lib/data/platform-data.js +0 -1
- package/lib/data/prepare-data.js +4 -2
- package/lib/data/run-data.js +0 -1
- package/lib/definitions/project.d.ts +24 -24
- package/lib/detached-processes/cleanup-js-subprocess.js +5 -20
- package/lib/detached-processes/cleanup-process.js +30 -43
- package/lib/detached-processes/file-log-service.js +1 -2
- package/lib/device-path-provider.js +23 -35
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +149 -171
- package/lib/device-sockets/ios/notification.js +1 -4
- package/lib/device-sockets/ios/socket-request-executor.js +24 -42
- package/lib/helpers/android-bundle-validator-helper.js +2 -3
- package/lib/helpers/deploy-command-helper.js +44 -50
- package/lib/helpers/key-command-helper.js +6 -17
- package/lib/helpers/livesync-command-helper.js +137 -155
- package/lib/helpers/network-connectivity-validator.js +6 -18
- package/lib/helpers/options-track-helper.js +7 -19
- package/lib/helpers/package-path-helper.js +0 -1
- package/lib/helpers/platform-command-helper.js +101 -127
- package/lib/helpers/version-validator-helper.js +0 -1
- package/lib/key-commands/bootstrap.js +2 -3
- package/lib/key-commands/index.js +154 -205
- package/lib/nativescript-cli-lib-bootstrap.js +0 -4
- package/lib/nativescript-cli-lib.js +0 -1
- package/lib/nativescript-cli.js +6 -24
- package/lib/node/pbxproj-dom-xcode.js +0 -1
- package/lib/node/xcode.js +0 -1
- package/lib/node-package-manager.js +81 -114
- package/lib/options.js +122 -156
- package/lib/package-installation-manager.js +130 -172
- package/lib/package-manager.js +63 -88
- package/lib/platform-command-param.js +4 -16
- package/lib/pnpm-package-manager.js +59 -81
- package/lib/project-data.js +1 -13
- package/lib/providers/project-files-provider.js +1 -2
- package/lib/resolvers/livesync-service-resolver.js +0 -1
- package/lib/services/analytics/analytics-broker-process.js +19 -32
- package/lib/services/analytics/analytics-broker.js +17 -31
- package/lib/services/analytics/analytics-service.js +170 -210
- package/lib/services/analytics/google-analytics-provider.js +43 -59
- package/lib/services/analytics-settings-service.js +15 -37
- package/lib/services/android/android-bundle-tool-service.js +43 -61
- package/lib/services/android/gradle-build-args-service.js +9 -23
- package/lib/services/android/gradle-build-service.js +22 -36
- package/lib/services/android/gradle-command-service.js +22 -36
- package/lib/services/android-device-debug-service.js +90 -123
- package/lib/services/android-plugin-build-service.js +205 -260
- package/lib/services/android-project-service.js +129 -241
- package/lib/services/android-resources-migration-service.js +51 -71
- package/lib/services/apple-portal/apple-portal-application-service.js +46 -64
- package/lib/services/apple-portal/apple-portal-cookie-service.js +0 -1
- package/lib/services/apple-portal/apple-portal-session-service.js +197 -218
- package/lib/services/apple-portal/srp/srp-wrapper.js +43 -61
- package/lib/services/assets-generation/assets-generation-service.js +103 -128
- package/lib/services/build-artifacts-service.js +10 -22
- package/lib/services/build-data-service.js +0 -1
- package/lib/services/build-info-file-service.js +20 -36
- package/lib/services/cleanup-service.js +48 -81
- package/lib/services/cocoapods-platform-manager.js +0 -9
- package/lib/services/cocoapods-service.js +112 -153
- package/lib/services/debug-data-service.js +0 -1
- package/lib/services/debug-service-base.js +0 -7
- package/lib/services/device/device-install-app-service.js +54 -72
- package/lib/services/doctor-service.js +101 -135
- package/lib/services/extensibility-service.js +81 -108
- package/lib/services/files-hash-service.js +26 -44
- package/lib/services/hmr-status-service.js +1 -3
- package/lib/services/info-service.js +0 -1
- package/lib/services/initialize-service.js +37 -54
- package/lib/services/ios/export-options-plist-service.js +38 -55
- package/lib/services/ios/ios-signing-service.js +168 -191
- package/lib/services/ios/spm-service.js +46 -70
- package/lib/services/ios/xcodebuild-args-service.js +77 -103
- package/lib/services/ios/xcodebuild-command-service.js +14 -26
- package/lib/services/ios/xcodebuild-service.js +52 -72
- package/lib/services/ios-debugger-port-service.js +24 -38
- package/lib/services/ios-device-debug-service.js +75 -103
- package/lib/services/ios-entitlements-service.js +31 -43
- package/lib/services/ios-extensions-service.js +18 -30
- package/lib/services/ios-log-filter.js +0 -20
- package/lib/services/ios-native-target-service.js +4 -6
- package/lib/services/ios-project-service.js +452 -603
- package/lib/services/ios-provision-service.js +108 -132
- package/lib/services/ios-watch-app-service.js +21 -33
- package/lib/services/ip-service.js +38 -55
- package/lib/services/itmstransporter-service.js +129 -153
- package/lib/services/karma-execution.js +0 -2
- package/lib/services/livesync/android-device-livesync-service-base.js +31 -49
- package/lib/services/livesync/android-device-livesync-service.js +120 -151
- package/lib/services/livesync/android-device-livesync-sockets-service.js +121 -155
- package/lib/services/livesync/android-livesync-service.js +14 -36
- package/lib/services/livesync/android-livesync-tool.js +90 -117
- package/lib/services/livesync/device-livesync-service-base.js +15 -30
- package/lib/services/livesync/ios-device-livesync-service.js +114 -150
- package/lib/services/livesync/ios-livesync-service.js +42 -60
- package/lib/services/livesync/livesync-socket.js +0 -1
- package/lib/services/livesync/platform-livesync-service-base.js +94 -124
- package/lib/services/livesync-process-data-service.js +0 -1
- package/lib/services/log-parser-service.js +1 -2
- package/lib/services/log-source-map-service.js +30 -56
- package/lib/services/marking-mode-service.js +17 -33
- package/lib/services/metadata-filtering-service.js +0 -1
- package/lib/services/npm-config-service.js +1 -5
- package/lib/services/pacote-service.js +49 -71
- package/lib/services/performance-service.js +2 -4
- package/lib/services/platform/add-platform-service.js +51 -119
- package/lib/services/platform/platform-validation-service.js +22 -34
- package/lib/services/platform/prepare-native-platform-service.js +49 -65
- package/lib/services/platform-environment-requirements.js +27 -43
- package/lib/services/platform-project-service-base.js +0 -1
- package/lib/services/platforms-data-service.js +0 -1
- package/lib/services/plugins-service.js +125 -168
- package/lib/services/prepare-data-service.js +0 -1
- package/lib/services/project-backup-service.js +1 -5
- package/lib/services/project-changes-service.js +124 -152
- package/lib/services/project-cleanup-service.js +64 -79
- package/lib/services/project-config-service.js +73 -102
- package/lib/services/project-data-service.js +108 -154
- package/lib/services/project-name-service.js +28 -44
- package/lib/services/project-service.js +84 -113
- package/lib/services/project-templates-service.js +52 -68
- package/lib/services/qr-code-terminal-service.js +0 -1
- package/lib/services/require-service.js +0 -1
- package/lib/services/start-service.js +41 -60
- package/lib/services/temp-service.js +8 -22
- package/lib/services/terminal-spinner-service.js +15 -28
- package/lib/services/test-execution-service.js +59 -79
- package/lib/services/test-initialization-service.js +2 -6
- package/lib/services/timeline-profiler-service.js +1 -2
- package/lib/services/user-settings-service.js +0 -1
- package/lib/services/versions-service.js +119 -140
- package/lib/services/watch-ignore-list-service.js +0 -1
- package/lib/services/webpack/webpack-compiler-service.js +215 -279
- package/lib/services/xcconfig-service.js +8 -21
- package/lib/services/xcproj-service.js +0 -1
- package/lib/shared-event-bus.js +0 -6
- package/lib/sys-info.js +45 -63
- package/lib/tools/config-manipulation/config-transformer.js +0 -12
- package/lib/tools/node-modules/node-modules-builder.js +16 -28
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +0 -6
- package/lib/yarn-package-manager.js +59 -79
- package/lib/yarn2-package-manager.js +60 -82
- package/package.json +65 -80
- package/node_modules/@npmcli/move-file/LICENSE.md +0 -22
- package/node_modules/@npmcli/move-file/README.md +0 -69
- package/node_modules/@npmcli/move-file/lib/index.js +0 -185
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +0 -21
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +0 -68
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +0 -31
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +0 -64
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +0 -39
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +0 -23
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +0 -29
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +0 -10
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +0 -44
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +0 -266
- package/node_modules/@npmcli/move-file/package.json +0 -47
- package/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/node_modules/balanced-match/LICENSE.md +0 -21
- package/node_modules/balanced-match/README.md +0 -97
- package/node_modules/balanced-match/index.js +0 -62
- package/node_modules/balanced-match/package.json +0 -48
- package/node_modules/concat-map/.travis.yml +0 -4
- package/node_modules/concat-map/LICENSE +0 -18
- package/node_modules/concat-map/README.markdown +0 -62
- package/node_modules/concat-map/example/map.js +0 -6
- package/node_modules/concat-map/index.js +0 -13
- package/node_modules/concat-map/package.json +0 -43
- package/node_modules/concat-map/test/map.js +0 -39
- package/node_modules/fs.realpath/LICENSE +0 -43
- package/node_modules/fs.realpath/README.md +0 -33
- package/node_modules/fs.realpath/index.js +0 -66
- package/node_modules/fs.realpath/old.js +0 -303
- package/node_modules/fs.realpath/package.json +0 -26
- package/node_modules/inflight/LICENSE +0 -15
- package/node_modules/inflight/README.md +0 -37
- package/node_modules/inflight/inflight.js +0 -54
- package/node_modules/inflight/package.json +0 -29
- package/node_modules/inherits/LICENSE +0 -16
- package/node_modules/inherits/README.md +0 -42
- package/node_modules/inherits/inherits.js +0 -9
- package/node_modules/inherits/inherits_browser.js +0 -27
- package/node_modules/inherits/package.json +0 -29
- package/node_modules/once/LICENSE +0 -15
- package/node_modules/once/README.md +0 -79
- package/node_modules/once/once.js +0 -42
- package/node_modules/once/package.json +0 -33
- package/node_modules/path-is-absolute/index.js +0 -20
- package/node_modules/path-is-absolute/license +0 -21
- package/node_modules/path-is-absolute/package.json +0 -43
- package/node_modules/path-is-absolute/readme.md +0 -59
- package/node_modules/rimraf/LICENSE +0 -15
- package/node_modules/rimraf/README.md +0 -101
- package/node_modules/rimraf/bin.js +0 -68
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +0 -129
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +0 -201
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +0 -47
- package/node_modules/rimraf/node_modules/glob/LICENSE +0 -21
- package/node_modules/rimraf/node_modules/glob/README.md +0 -378
- package/node_modules/rimraf/node_modules/glob/common.js +0 -238
- package/node_modules/rimraf/node_modules/glob/glob.js +0 -790
- package/node_modules/rimraf/node_modules/glob/package.json +0 -55
- package/node_modules/rimraf/node_modules/glob/sync.js +0 -486
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +0 -15
- package/node_modules/rimraf/node_modules/minimatch/README.md +0 -230
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +0 -947
- package/node_modules/rimraf/node_modules/minimatch/package.json +0 -33
- package/node_modules/rimraf/package.json +0 -32
- package/node_modules/rimraf/rimraf.js +0 -360
- package/node_modules/stringify-package/LICENSE +0 -13
- package/node_modules/stringify-package/README.md +0 -55
- package/node_modules/stringify-package/index.js +0 -18
- package/node_modules/stringify-package/package.json +0 -38
- package/node_modules/wrappy/LICENSE +0 -15
- package/node_modules/wrappy/README.md +0 -36
- package/node_modules/wrappy/package.json +0 -29
- package/node_modules/wrappy/wrappy.js +0 -33
|
@@ -5,62 +5,48 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
9
|
exports.PlatformEnvironmentRequirements = void 0;
|
|
19
10
|
const helpers_1 = require("../common/helpers");
|
|
20
11
|
const os_1 = require("os");
|
|
21
12
|
const yok_1 = require("../common/yok");
|
|
22
13
|
class PlatformEnvironmentRequirements {
|
|
23
|
-
constructor($doctorService, $errors, $analyticsService,
|
|
24
|
-
// @ts-ignore - required by the hook helper!
|
|
25
|
-
$injector) {
|
|
14
|
+
constructor($doctorService, $errors, $analyticsService, $injector) {
|
|
26
15
|
this.$doctorService = $doctorService;
|
|
27
16
|
this.$errors = $errors;
|
|
28
17
|
this.$analyticsService = $analyticsService;
|
|
29
18
|
this.$injector = $injector;
|
|
30
19
|
}
|
|
31
|
-
checkEnvironmentRequirements(input) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
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,
|
|
20
|
+
async checkEnvironmentRequirements(input) {
|
|
21
|
+
const { platform, projectDir, runtimeVersion } = input;
|
|
22
|
+
const selectedOption = null;
|
|
23
|
+
if (process.env.NS_SKIP_ENV_CHECK) {
|
|
24
|
+
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
25
|
+
action: "Check Environment Requirements",
|
|
26
|
+
additionalData: "Skipped: NS_SKIP_ENV_CHECK is set",
|
|
50
27
|
});
|
|
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
|
-
}
|
|
59
28
|
return {
|
|
60
|
-
canExecute,
|
|
29
|
+
canExecute: true,
|
|
61
30
|
selectedOption,
|
|
62
31
|
};
|
|
32
|
+
}
|
|
33
|
+
const canExecute = await this.$doctorService.canExecuteLocalBuild({
|
|
34
|
+
platform,
|
|
35
|
+
projectDir,
|
|
36
|
+
runtimeVersion,
|
|
37
|
+
forceCheck: input.forceCheck,
|
|
63
38
|
});
|
|
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
|
+
};
|
|
64
50
|
}
|
|
65
51
|
fail(message) {
|
|
66
52
|
this.$errors.fail({ formatStr: message, printOnStdout: true });
|
|
@@ -72,7 +58,6 @@ class PlatformEnvironmentRequirements {
|
|
|
72
58
|
].join(os_1.EOL);
|
|
73
59
|
}
|
|
74
60
|
getEnvVerificationMessage(platform) {
|
|
75
|
-
// map process.platform to OS name used in docs
|
|
76
61
|
const os = {
|
|
77
62
|
linux: "linux",
|
|
78
63
|
win32: "windows",
|
|
@@ -85,10 +70,9 @@ class PlatformEnvironmentRequirements {
|
|
|
85
70
|
`https://docs.nativescript.org/setup/${os}${anchor}.`);
|
|
86
71
|
}
|
|
87
72
|
}
|
|
73
|
+
exports.PlatformEnvironmentRequirements = PlatformEnvironmentRequirements;
|
|
88
74
|
PlatformEnvironmentRequirements.MISSING_LOCAL_SETUP_MESSAGE = "Your environment is not configured properly and you will not be able to execute local builds.";
|
|
89
75
|
__decorate([
|
|
90
76
|
(0, helpers_1.hook)("checkEnvironment")
|
|
91
77
|
], PlatformEnvironmentRequirements.prototype, "checkEnvironmentRequirements", null);
|
|
92
|
-
exports.PlatformEnvironmentRequirements = PlatformEnvironmentRequirements;
|
|
93
78
|
yok_1.injector.register("platformEnvironmentRequirements", PlatformEnvironmentRequirements);
|
|
94
|
-
//# sourceMappingURL=platform-environment-requirements.js.map
|
|
@@ -1,13 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.PluginsService = void 0;
|
|
13
4
|
const path = require("path");
|
|
@@ -51,51 +42,46 @@ class PluginsService {
|
|
|
51
42
|
return key;
|
|
52
43
|
});
|
|
53
44
|
}
|
|
54
|
-
add(plugin, projectData) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
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
|
-
});
|
|
45
|
+
async add(plugin, projectData) {
|
|
46
|
+
await this.ensure(projectData);
|
|
47
|
+
const possiblePackageName = path.resolve(plugin);
|
|
48
|
+
if (possiblePackageName.indexOf(".tgz") !== -1 &&
|
|
49
|
+
this.$fs.exists(possiblePackageName)) {
|
|
50
|
+
plugin = possiblePackageName;
|
|
51
|
+
}
|
|
52
|
+
const name = (await this.$packageManager.install(plugin, projectData.projectDir, this.npmInstallOptions)).name;
|
|
53
|
+
const pathToRealNpmPackageJson = this.getPackageJsonFilePathForModule(name, projectData.projectDir);
|
|
54
|
+
const realNpmPackageJson = this.$fs.readJson(pathToRealNpmPackageJson);
|
|
55
|
+
if (realNpmPackageJson.nativescript) {
|
|
56
|
+
const pluginData = this.convertToPluginData(realNpmPackageJson, projectData.projectDir);
|
|
57
|
+
const action = async (pluginDestinationPath, platform, platformData) => {
|
|
58
|
+
this.isPluginDataValidForPlatform(pluginData, platform, projectData);
|
|
59
|
+
};
|
|
60
|
+
await this.executeForAllInstalledPlatforms(action, projectData);
|
|
61
|
+
this.$logger.info(`Successfully installed plugin ${realNpmPackageJson.name}.`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
await this.$packageManager.uninstall(realNpmPackageJson.name, { save: true }, projectData.projectDir);
|
|
65
|
+
this.$errors.fail(`${plugin} is not a valid NativeScript plugin. Verify that the plugin package.json file contains a nativescript key and try again.`);
|
|
66
|
+
}
|
|
79
67
|
}
|
|
80
|
-
remove(pluginName, projectData) {
|
|
81
|
-
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
}
|
|
98
|
-
});
|
|
68
|
+
async remove(pluginName, projectData) {
|
|
69
|
+
const removePluginNativeCodeAction = async (modulesDestinationPath, platform, platformData) => {
|
|
70
|
+
const pluginData = this.convertToPluginData(this.getNodeModuleData(pluginName, projectData.projectDir), projectData.projectDir);
|
|
71
|
+
await platformData.platformProjectService.removePluginNativeCode(pluginData, projectData);
|
|
72
|
+
};
|
|
73
|
+
await this.executeForAllInstalledPlatforms(removePluginNativeCodeAction, projectData);
|
|
74
|
+
await this.executeNpmCommand(PluginsService.UNINSTALL_COMMAND_NAME, pluginName, projectData);
|
|
75
|
+
let showMessage = true;
|
|
76
|
+
const action = async (modulesDestinationPath, platform, platformData) => {
|
|
77
|
+
shelljs.rm("-rf", path.join(modulesDestinationPath, pluginName));
|
|
78
|
+
this.$logger.info(`Successfully removed plugin ${pluginName} for ${platform}.`);
|
|
79
|
+
showMessage = false;
|
|
80
|
+
};
|
|
81
|
+
await this.executeForAllInstalledPlatforms(action, projectData);
|
|
82
|
+
if (showMessage) {
|
|
83
|
+
this.$logger.info(`Successfully removed plugin ${pluginName}`);
|
|
84
|
+
}
|
|
99
85
|
}
|
|
100
86
|
addToPackageJson(plugin, version, isDev, projectDir) {
|
|
101
87
|
const packageJsonPath = this.getPackageJsonFilePath(projectDir);
|
|
@@ -119,65 +105,56 @@ class PluginsService {
|
|
|
119
105
|
this.$fs.writeJson(packageJsonPath, result.packageJsonContent);
|
|
120
106
|
}
|
|
121
107
|
}
|
|
122
|
-
preparePluginNativeCode({ pluginData, platform, projectData, }) {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
});
|
|
141
|
-
}
|
|
108
|
+
async preparePluginNativeCode({ pluginData, platform, projectData, }) {
|
|
109
|
+
const platformData = this.$platformsDataService.getPlatformData(platform, projectData);
|
|
110
|
+
const pluginPlatformsFolderPath = pluginData.pluginPlatformsFolderPath(platform);
|
|
111
|
+
if (this.$fs.exists(pluginPlatformsFolderPath)) {
|
|
112
|
+
const pathToPluginsBuildFile = path.join(platformData.projectRoot, constants.PLUGINS_BUILD_DATA_FILENAME);
|
|
113
|
+
const allPluginsNativeHashes = this.getAllPluginsNativeHashes(pathToPluginsBuildFile);
|
|
114
|
+
const oldPluginNativeHashes = allPluginsNativeHashes[pluginData.name];
|
|
115
|
+
const currentPluginNativeHashes = await this.getPluginNativeHashes(pluginPlatformsFolderPath);
|
|
116
|
+
if (!oldPluginNativeHashes ||
|
|
117
|
+
this.$filesHashService.hasChangesInShasums(oldPluginNativeHashes, currentPluginNativeHashes)) {
|
|
118
|
+
await platformData.platformProjectService.preparePluginNativeCode(pluginData, projectData);
|
|
119
|
+
const updatedPluginNativeHashes = await this.getPluginNativeHashes(pluginPlatformsFolderPath);
|
|
120
|
+
this.setPluginNativeHashes({
|
|
121
|
+
pathToPluginsBuildFile,
|
|
122
|
+
pluginData,
|
|
123
|
+
currentPluginNativeHashes: updatedPluginNativeHashes,
|
|
124
|
+
allPluginsNativeHashes,
|
|
125
|
+
});
|
|
142
126
|
}
|
|
143
|
-
}
|
|
127
|
+
}
|
|
144
128
|
}
|
|
145
|
-
ensureAllDependenciesAreInstalled(projectData) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
});
|
|
129
|
+
async ensureAllDependenciesAreInstalled(projectData) {
|
|
130
|
+
const packageJsonContent = this.$fs.readJson(this.getPackageJsonFilePath(projectData.projectDir));
|
|
131
|
+
const allDependencies = _.keys(packageJsonContent.dependencies).concat(_.keys(packageJsonContent.devDependencies));
|
|
132
|
+
const notInstalledDependencies = allDependencies
|
|
133
|
+
.map((dep) => {
|
|
134
|
+
this.$logger.trace(`Checking if ${dep} is installed...`);
|
|
135
|
+
const pathToPackage = (0, package_path_helper_1.resolvePackagePath)(dep, {
|
|
136
|
+
paths: [projectData.projectDir],
|
|
137
|
+
});
|
|
138
|
+
if (pathToPackage) {
|
|
139
|
+
return false;
|
|
173
140
|
}
|
|
174
|
-
|
|
141
|
+
this.$logger.trace(`${dep} is not installed, or couldn't be found`);
|
|
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
|
+
}
|
|
175
154
|
}
|
|
176
|
-
getAllInstalledPlugins(projectData) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
|
|
180
|
-
});
|
|
155
|
+
async getAllInstalledPlugins(projectData) {
|
|
156
|
+
const nodeModules = (await this.getAllInstalledModules(projectData)).map((nodeModuleData) => this.convertToPluginData(nodeModuleData, projectData.projectDir));
|
|
157
|
+
return _.filter(nodeModules, (nodeModuleData) => nodeModuleData && nodeModuleData.isPlugin);
|
|
181
158
|
}
|
|
182
159
|
getAllProductionPlugins(projectData, platform, dependencies) {
|
|
183
160
|
dependencies =
|
|
@@ -191,9 +168,6 @@ class PluginsService {
|
|
|
191
168
|
return productionPlugins
|
|
192
169
|
.map((plugin) => this.convertToPluginData(plugin, projectData.projectDir))
|
|
193
170
|
.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
|
|
197
171
|
return self.findIndex((p) => p.name === item.name) === idx;
|
|
198
172
|
});
|
|
199
173
|
}
|
|
@@ -225,11 +199,9 @@ class PluginsService {
|
|
|
225
199
|
const dependenciesGroupedByName = _.groupBy(productionDependencies, (p) => p.name);
|
|
226
200
|
_.each(dependenciesGroupedByName, (dependencyOccurrences, dependencyName) => {
|
|
227
201
|
if (dependencyOccurrences.length > 1) {
|
|
228
|
-
// the dependency exists multiple times in node_modules
|
|
229
202
|
const dependencyOccurrencesGroupedByVersion = _.groupBy(dependencyOccurrences, (g) => g.version);
|
|
230
203
|
const versions = _.keys(dependencyOccurrencesGroupedByVersion);
|
|
231
204
|
if (versions.length === 1) {
|
|
232
|
-
// all dependencies with this name have the same version
|
|
233
205
|
this.$logger.trace(`Detected same versions (${_.first(versions)}) of the ${dependencyName} installed at locations: ${_.map(dependencyOccurrences, (d) => d.directory).join(", ")}`);
|
|
234
206
|
}
|
|
235
207
|
else {
|
|
@@ -246,7 +218,11 @@ class PluginsService {
|
|
|
246
218
|
const contents = this.$fs.readDirectory(pathToPlatforms);
|
|
247
219
|
_.each(contents, (file) => {
|
|
248
220
|
if (path.extname(file) === ".framework") {
|
|
249
|
-
dependenciesWithFrameworks.push(
|
|
221
|
+
dependenciesWithFrameworks.push({
|
|
222
|
+
...d,
|
|
223
|
+
frameworkName: path.basename(file),
|
|
224
|
+
frameworkLocation: path.join(pathToPlatforms, file),
|
|
225
|
+
});
|
|
250
226
|
}
|
|
251
227
|
});
|
|
252
228
|
}
|
|
@@ -255,11 +231,9 @@ class PluginsService {
|
|
|
255
231
|
const dependenciesGroupedByFrameworkName = _.groupBy(dependenciesWithFrameworks, (d) => d.frameworkName);
|
|
256
232
|
_.each(dependenciesGroupedByFrameworkName, (dependencyOccurrences, frameworkName) => {
|
|
257
233
|
if (dependencyOccurrences.length > 1) {
|
|
258
|
-
// A framework exists multiple times in node_modules
|
|
259
234
|
const groupedByName = _.groupBy(dependencyOccurrences, (d) => d.name);
|
|
260
235
|
const pluginsNames = _.keys(groupedByName);
|
|
261
236
|
if (pluginsNames.length > 1) {
|
|
262
|
-
// fail - the same framework is installed by different dependencies.
|
|
263
237
|
const locations = dependencyOccurrences.map((d) => d.frameworkLocation);
|
|
264
238
|
let msg = `Detected the framework ${frameworkName} is installed from multiple plugins at locations:\n${locations.join("\n")}\n`;
|
|
265
239
|
msg += this.getHelpMessage(projectDir);
|
|
@@ -269,7 +243,6 @@ class PluginsService {
|
|
|
269
243
|
const dependencyOccurrencesGroupedByVersion = _.groupBy(dependencyOccurrences, (g) => g.version);
|
|
270
244
|
const versions = _.keys(dependencyOccurrencesGroupedByVersion);
|
|
271
245
|
if (versions.length === 1) {
|
|
272
|
-
// all dependencies with this name have the same version
|
|
273
246
|
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(", ")}`);
|
|
274
247
|
const selectedPackage = _.minBy(dependencyOccurrences, (d) => d.depth);
|
|
275
248
|
this.$logger.info(color_1.color.green(`CLI will use only the native code from '${selectedPackage.directory}'.`));
|
|
@@ -321,7 +294,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
321
294
|
pluginData.isPlugin = !!cacheData.nativescript;
|
|
322
295
|
pluginData.pluginPlatformsFolderPath = (platform) => {
|
|
323
296
|
if (this.$mobileHelper.isvisionOSPlatform(platform)) {
|
|
324
|
-
platform = "ios"
|
|
297
|
+
platform = "ios";
|
|
325
298
|
}
|
|
326
299
|
return path.join(pluginData.fullPath, "platforms", platform.toLowerCase());
|
|
327
300
|
};
|
|
@@ -378,7 +351,6 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
378
351
|
return _.keys(require(packageJsonFilePath).dependencies);
|
|
379
352
|
}
|
|
380
353
|
getNodeModuleData(module, projectDir) {
|
|
381
|
-
// module can be modulePath or moduleName
|
|
382
354
|
if (!this.$fs.exists(module) || path.basename(module) !== "package.json") {
|
|
383
355
|
module = this.getPackageJsonFilePathForModule(module, projectDir);
|
|
384
356
|
}
|
|
@@ -391,50 +363,40 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
391
363
|
nativescript: data.nativescript,
|
|
392
364
|
};
|
|
393
365
|
}
|
|
394
|
-
ensure(projectData) {
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
|
|
398
|
-
});
|
|
366
|
+
async ensure(projectData) {
|
|
367
|
+
await this.ensureAllDependenciesAreInstalled(projectData);
|
|
368
|
+
this.$fs.ensureDirectoryExists(this.getNodeModulesPath(projectData.projectDir));
|
|
399
369
|
}
|
|
400
|
-
getAllInstalledModules(projectData) {
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
|
|
405
|
-
});
|
|
370
|
+
async getAllInstalledModules(projectData) {
|
|
371
|
+
await this.ensure(projectData);
|
|
372
|
+
const nodeModules = this.getDependencies(projectData.projectDir);
|
|
373
|
+
return _.map(nodeModules, (nodeModuleName) => this.getNodeModuleData(nodeModuleName, projectData.projectDir));
|
|
406
374
|
}
|
|
407
|
-
executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
return this.parseNpmCommandResult(npmCommandArguments);
|
|
416
|
-
});
|
|
375
|
+
async executeNpmCommand(npmCommandName, npmCommandArguments, projectData) {
|
|
376
|
+
if (npmCommandName === PluginsService.INSTALL_COMMAND_NAME) {
|
|
377
|
+
await this.$packageManager.install(npmCommandArguments, projectData.projectDir, this.npmInstallOptions);
|
|
378
|
+
}
|
|
379
|
+
else if (npmCommandName === PluginsService.UNINSTALL_COMMAND_NAME) {
|
|
380
|
+
await this.$packageManager.uninstall(npmCommandArguments, PluginsService.NPM_CONFIG, projectData.projectDir);
|
|
381
|
+
}
|
|
382
|
+
return this.parseNpmCommandResult(npmCommandArguments);
|
|
417
383
|
}
|
|
418
384
|
parseNpmCommandResult(npmCommandResult) {
|
|
419
|
-
return npmCommandResult.split("@")[0];
|
|
420
|
-
}
|
|
421
|
-
executeForAllInstalledPlatforms(action, projectData) {
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
yield action(pluginDestinationPath, platform.toLowerCase(), platformData);
|
|
430
|
-
}
|
|
385
|
+
return npmCommandResult.split("@")[0];
|
|
386
|
+
}
|
|
387
|
+
async executeForAllInstalledPlatforms(action, projectData) {
|
|
388
|
+
const availablePlatforms = this.$mobileHelper.platformNames.map((p) => p.toLowerCase());
|
|
389
|
+
for (const platform of availablePlatforms) {
|
|
390
|
+
const isPlatformInstalled = this.$fs.exists(path.join(projectData.platformsDir, platform.toLowerCase()));
|
|
391
|
+
if (isPlatformInstalled) {
|
|
392
|
+
const platformData = this.$platformsDataService.getPlatformData(platform.toLowerCase(), projectData);
|
|
393
|
+
const pluginDestinationPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName, "tns_modules");
|
|
394
|
+
await action(pluginDestinationPath, platform.toLowerCase(), platformData);
|
|
431
395
|
}
|
|
432
|
-
}
|
|
396
|
+
}
|
|
433
397
|
}
|
|
434
398
|
getInstalledFrameworkVersion(platform, projectData) {
|
|
435
399
|
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);
|
|
438
400
|
return runtimePackage.version;
|
|
439
401
|
}
|
|
440
402
|
isPluginDataValidForPlatform(pluginData, platform, projectData) {
|
|
@@ -454,19 +416,16 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
454
416
|
}
|
|
455
417
|
return isValid;
|
|
456
418
|
}
|
|
457
|
-
getPluginNativeHashes(pluginPlatformsDir) {
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
return data;
|
|
465
|
-
});
|
|
419
|
+
async getPluginNativeHashes(pluginPlatformsDir) {
|
|
420
|
+
let data = {};
|
|
421
|
+
if (this.$fs.exists(pluginPlatformsDir)) {
|
|
422
|
+
const pluginNativeDataFiles = this.$fs.enumerateFilesInDirectorySync(pluginPlatformsDir);
|
|
423
|
+
data = await this.$filesHashService.generateHashes(pluginNativeDataFiles);
|
|
424
|
+
}
|
|
425
|
+
return data;
|
|
466
426
|
}
|
|
467
427
|
getAllPluginsNativeHashes(pathToPluginsBuildFile) {
|
|
468
428
|
if (this.$options.hostProjectPath) {
|
|
469
|
-
// TODO: force rebuild plugins for now until we decide where to put .ns-plugins-build-data.json when embedding
|
|
470
429
|
return {};
|
|
471
430
|
}
|
|
472
431
|
let data = {};
|
|
@@ -477,7 +436,6 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
477
436
|
}
|
|
478
437
|
setPluginNativeHashes(opts) {
|
|
479
438
|
if (this.$options.hostProjectPath) {
|
|
480
|
-
// TODO: force rebuild plugins for now until we decide where to put .ns-plugins-build-data.json when embedding
|
|
481
439
|
return;
|
|
482
440
|
}
|
|
483
441
|
opts.allPluginsNativeHashes[opts.pluginData.name] =
|
|
@@ -485,6 +443,7 @@ This framework comes from ${dependencyName} plugin, which is installed multiple
|
|
|
485
443
|
this.$fs.writeJson(opts.pathToPluginsBuildFile, opts.allPluginsNativeHashes);
|
|
486
444
|
}
|
|
487
445
|
}
|
|
446
|
+
exports.PluginsService = PluginsService;
|
|
488
447
|
PluginsService.INSTALL_COMMAND_NAME = "install";
|
|
489
448
|
PluginsService.UNINSTALL_COMMAND_NAME = "uninstall";
|
|
490
449
|
PluginsService.NPM_CONFIG = {
|
|
@@ -496,6 +455,4 @@ PluginsService.LOCK_FILES = [
|
|
|
496
455
|
"yarn.lock",
|
|
497
456
|
"pnpm-lock.yaml",
|
|
498
457
|
];
|
|
499
|
-
exports.PluginsService = PluginsService;
|
|
500
458
|
yok_1.injector.register("pluginsService", PluginsService);
|
|
501
|
-
//# sourceMappingURL=plugins-service.js.map
|
|
@@ -22,6 +22,7 @@ class ProjectBackupService {
|
|
|
22
22
|
return backup.restore();
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
|
+
exports.ProjectBackupService = ProjectBackupService;
|
|
25
26
|
ProjectBackupService.Backup = class Backup {
|
|
26
27
|
constructor($super, name, pathsToBackup = [], basePath = $super.$projectHelper.projectDir) {
|
|
27
28
|
this.$super = $super;
|
|
@@ -46,7 +47,6 @@ ProjectBackupService.Backup = class Backup {
|
|
|
46
47
|
backedUpPaths.push(pathToBackup);
|
|
47
48
|
}
|
|
48
49
|
}
|
|
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,7 +67,6 @@ ProjectBackupService.Backup = class Backup {
|
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
this.$super.$logger.trace(backupData);
|
|
70
|
-
// restore files
|
|
71
70
|
return this;
|
|
72
71
|
}
|
|
73
72
|
isUpToDate() {
|
|
@@ -77,7 +76,6 @@ ProjectBackupService.Backup = class Backup {
|
|
|
77
76
|
}
|
|
78
77
|
for (const pathToBackup of backupData.paths) {
|
|
79
78
|
const sourcePath = path.resolve(this.backupDir, pathToBackup);
|
|
80
|
-
// if any of the files don't exist the backup is not up-to-date
|
|
81
79
|
if (!this.$super.$fs.exists(sourcePath)) {
|
|
82
80
|
return false;
|
|
83
81
|
}
|
|
@@ -113,6 +111,4 @@ ProjectBackupService.Backup = class Backup {
|
|
|
113
111
|
return this.$super.$fs.readJson(backupJSONPath);
|
|
114
112
|
}
|
|
115
113
|
};
|
|
116
|
-
exports.ProjectBackupService = ProjectBackupService;
|
|
117
114
|
yok_1.injector.register("projectBackupService", ProjectBackupService);
|
|
118
|
-
//# sourceMappingURL=project-backup-service.js.map
|