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,6 +5,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
+
});
|
|
16
|
+
};
|
|
8
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
18
|
exports.DoctorService = void 0;
|
|
10
19
|
const os_1 = require("os");
|
|
@@ -35,103 +44,116 @@ class DoctorService {
|
|
|
35
44
|
this.$versionsService = $versionsService;
|
|
36
45
|
this.$settingsService = $settingsService;
|
|
37
46
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
47
|
+
printWarnings(configOptions) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
configOptions = configOptions || {};
|
|
50
|
+
const getInfosData = {
|
|
51
|
+
projectDir: configOptions.projectDir,
|
|
52
|
+
androidRuntimeVersion: configOptions.runtimeVersion,
|
|
53
|
+
platform: configOptions.platform,
|
|
54
|
+
};
|
|
55
|
+
const infos = yield this.$terminalSpinnerService.execute({
|
|
56
|
+
text: `Getting environment information ${os_1.EOL}`,
|
|
57
|
+
}, () => this.getInfos({ forceCheck: configOptions.forceCheck }, getInfosData));
|
|
58
|
+
const warnings = infos.filter((info) => info.type === doctor_1.constants.WARNING_TYPE_NAME);
|
|
59
|
+
const hasWarnings = warnings.length > 0;
|
|
60
|
+
const hasAndroidWarnings = warnings.filter((warning) => _.includes(warning.platforms, doctor_1.constants.ANDROID_PLATFORM_NAME)).length > 0;
|
|
61
|
+
if (hasAndroidWarnings) {
|
|
62
|
+
this.printPackageManagerTip();
|
|
63
|
+
}
|
|
64
|
+
if (!configOptions || configOptions.trackResult) {
|
|
65
|
+
// TODO(Analytics): Consider sending this information to Google Analytics
|
|
66
|
+
// await this.$analyticsService.track("DoctorEnvironmentSetup", hasWarnings ? "incorrect" : "correct");
|
|
67
|
+
}
|
|
68
|
+
if (hasWarnings) {
|
|
69
|
+
this.$logger.info("There seem to be issues with your configuration.");
|
|
70
|
+
// cleanup the cache file as there seems to be issues with the current config
|
|
71
|
+
// all projects need to be rechecked
|
|
72
|
+
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.$logger.info(color_1.color.bold("No issues were detected."));
|
|
76
|
+
yield this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(getInfosData), infos);
|
|
77
|
+
this.printInfosCore(infos);
|
|
78
|
+
}
|
|
79
|
+
try {
|
|
80
|
+
yield this.$versionsService.printVersionsInformation(configOptions.platform);
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
this.$logger.error("Cannot get the latest versions information from npm. Please try again later.");
|
|
84
|
+
}
|
|
85
|
+
// todo: check for deprecated imports from `tns-core-modules`
|
|
86
|
+
this.checkForDeprecatedShortImportsInAppDir(configOptions.projectDir);
|
|
87
|
+
yield this.$injector
|
|
88
|
+
.resolve("platformEnvironmentRequirements")
|
|
89
|
+
.checkEnvironmentRequirements({
|
|
90
|
+
platform: configOptions.platform,
|
|
91
|
+
projectDir: configOptions.projectDir,
|
|
92
|
+
runtimeVersion: configOptions.runtimeVersion,
|
|
93
|
+
options: configOptions.options,
|
|
94
|
+
});
|
|
79
95
|
});
|
|
80
96
|
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
97
|
+
runSetupScript() {
|
|
98
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
100
|
+
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
101
|
+
additionalData: "Starting",
|
|
102
|
+
});
|
|
103
|
+
if (this.$hostInfo.isLinux) {
|
|
104
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
105
|
+
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
106
|
+
additionalData: "Skipped as OS is Linux",
|
|
107
|
+
});
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.$logger.info("Running the setup script to try and automatically configure your environment.");
|
|
111
|
+
if (this.$hostInfo.isDarwin) {
|
|
112
|
+
yield this.runSetupScriptCore(DoctorService.DarwinSetupScriptLocation, []);
|
|
113
|
+
}
|
|
114
|
+
if (this.$hostInfo.isWindows) {
|
|
115
|
+
yield this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
|
|
116
|
+
}
|
|
117
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
118
|
+
action: "Run Setup Script" /* TrackActionNames.RunSetupScript */,
|
|
119
|
+
additionalData: "Finished",
|
|
90
120
|
});
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
this.$logger.info("Running the setup script to try and automatically configure your environment.");
|
|
94
|
-
if (this.$hostInfo.isDarwin) {
|
|
95
|
-
await this.runSetupScriptCore(DoctorService.DarwinSetupScriptLocation, []);
|
|
96
|
-
}
|
|
97
|
-
if (this.$hostInfo.isWindows) {
|
|
98
|
-
await this.runSetupScriptCore(DoctorService.WindowsSetupScriptExecutable, DoctorService.WindowsSetupScriptArguments);
|
|
99
|
-
}
|
|
100
|
-
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
101
|
-
action: "Run Setup Script",
|
|
102
|
-
additionalData: "Finished",
|
|
103
121
|
});
|
|
104
122
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const sysInfoConfig = {
|
|
111
|
-
platform: configuration.platform,
|
|
112
|
-
projectDir: configuration.projectDir,
|
|
113
|
-
androidRuntimeVersion: configuration.runtimeVersion,
|
|
114
|
-
};
|
|
115
|
-
const infos = await this.getInfos({ forceCheck: configuration && configuration.forceCheck }, sysInfoConfig);
|
|
116
|
-
const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
|
|
117
|
-
const hasWarnings = warnings.length > 0;
|
|
118
|
-
if (hasWarnings) {
|
|
119
|
-
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
120
|
-
await this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
121
|
-
action: "Check Local Build Setup",
|
|
122
|
-
additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
|
|
123
|
+
canExecuteLocalBuild(configuration) {
|
|
124
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
126
|
+
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
127
|
+
additionalData: "Starting",
|
|
123
128
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
const sysInfoConfig = {
|
|
130
|
+
platform: configuration.platform,
|
|
131
|
+
projectDir: configuration.projectDir,
|
|
132
|
+
androidRuntimeVersion: configuration.runtimeVersion,
|
|
133
|
+
};
|
|
134
|
+
const infos = yield this.getInfos({ forceCheck: configuration && configuration.forceCheck }, sysInfoConfig);
|
|
135
|
+
const warnings = this.filterInfosByType(infos, doctor_1.constants.WARNING_TYPE_NAME);
|
|
136
|
+
const hasWarnings = warnings.length > 0;
|
|
137
|
+
if (hasWarnings) {
|
|
138
|
+
// cleanup the cache file as there seems to be issues with the current config
|
|
139
|
+
// all projects need to be rechecked
|
|
140
|
+
this.$fs.deleteFile(this.jsonFileSettingsPath);
|
|
141
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
142
|
+
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
143
|
+
additionalData: `Warnings:${warnings.map((w) => w.message).join("__")}`,
|
|
144
|
+
});
|
|
145
|
+
this.printInfosCore(infos);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
infos.map((info) => this.$logger.trace(info.message));
|
|
149
|
+
yield this.$jsonFileSettingsService.saveSetting(this.getKeyForConfiguration(sysInfoConfig), infos);
|
|
150
|
+
}
|
|
151
|
+
yield this.$analyticsService.trackEventActionInGoogleAnalytics({
|
|
152
|
+
action: "Check Local Build Setup" /* TrackActionNames.CheckLocalBuildSetup */,
|
|
153
|
+
additionalData: `Finished: Is setup correct: ${!hasWarnings}`,
|
|
154
|
+
});
|
|
155
|
+
return !hasWarnings;
|
|
133
156
|
});
|
|
134
|
-
return !hasWarnings;
|
|
135
157
|
}
|
|
136
158
|
checkForDeprecatedShortImportsInAppDir(projectDir) {
|
|
137
159
|
if (projectDir) {
|
|
@@ -176,13 +198,22 @@ class DoctorService {
|
|
|
176
198
|
.getFsStats(path.join(pathToTnsCoreModules, entry))
|
|
177
199
|
.isDirectory());
|
|
178
200
|
const stringRegularExpressionsPerDir = coreModulesSubDirs.map((c) => {
|
|
201
|
+
// require("text");
|
|
202
|
+
// require("text/smth");
|
|
203
|
+
// require( "text/smth");
|
|
204
|
+
// require( "text/smth" );
|
|
205
|
+
// import * as text from "text";
|
|
206
|
+
// import { a } from "text";
|
|
207
|
+
// import {a } from "text/abc"
|
|
179
208
|
const subDirPart = `[\"\']${c}[\"\'/]`;
|
|
180
209
|
return `(\\brequire\\s*?\\(\\s*?${subDirPart})|(\\bimport\\b.*?from\\s*?${subDirPart})`;
|
|
181
210
|
});
|
|
182
211
|
return new RegExp(stringRegularExpressionsPerDir.join("|"), "g");
|
|
183
212
|
}
|
|
184
|
-
|
|
185
|
-
return this
|
|
213
|
+
runSetupScriptCore(executablePath, setupScriptArgs) {
|
|
214
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
215
|
+
return this.$childProcess.spawnFromEvent(executablePath, setupScriptArgs, "close", { stdio: "inherit" });
|
|
216
|
+
});
|
|
186
217
|
}
|
|
187
218
|
printPackageManagerTip() {
|
|
188
219
|
if (this.$hostInfo.isWindows) {
|
|
@@ -244,17 +275,18 @@ class DoctorService {
|
|
|
244
275
|
const data = helpers.getHash(key, { algorithm: "md5" });
|
|
245
276
|
return data;
|
|
246
277
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
278
|
+
getInfos(cacheConfig, sysInfoConfig) {
|
|
279
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
280
|
+
const key = this.getKeyForConfiguration(sysInfoConfig);
|
|
281
|
+
const infosFromCache = cacheConfig.forceCheck
|
|
282
|
+
? null
|
|
283
|
+
: yield this.$jsonFileSettingsService.getSettingValue(key);
|
|
284
|
+
this.$logger.trace(`getInfos cacheConfig options:`, cacheConfig, " current info from cache: ", infosFromCache);
|
|
285
|
+
const infos = infosFromCache || (yield doctor_1.doctor.getInfos(sysInfoConfig));
|
|
286
|
+
return infos;
|
|
287
|
+
});
|
|
255
288
|
}
|
|
256
289
|
}
|
|
257
|
-
exports.DoctorService = DoctorService;
|
|
258
290
|
DoctorService.DarwinSetupScriptLocation = path.join(__dirname, "..", "..", "setup", "mac-startup-shell-script.sh");
|
|
259
291
|
DoctorService.WindowsSetupScriptExecutable = "powershell.exe";
|
|
260
292
|
DoctorService.WindowsSetupScriptArguments = [
|
|
@@ -272,4 +304,6 @@ __decorate([
|
|
|
272
304
|
__decorate([
|
|
273
305
|
(0, decorators_1.cache)()
|
|
274
306
|
], DoctorService.prototype, "$jsonFileSettingsService", null);
|
|
307
|
+
exports.DoctorService = DoctorService;
|
|
275
308
|
yok_1.injector.register("doctorService", DoctorService);
|
|
309
|
+
//# sourceMappingURL=doctor-service.js.map
|
|
@@ -5,6 +5,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
10
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
11
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
12
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
13
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
14
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
15
|
+
});
|
|
16
|
+
};
|
|
8
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
18
|
exports.ExtensibilityService = void 0;
|
|
10
19
|
const path = require("path");
|
|
@@ -32,24 +41,28 @@ class ExtensibilityService {
|
|
|
32
41
|
this.$requireService = $requireService;
|
|
33
42
|
this.customPathToExtensions = null;
|
|
34
43
|
}
|
|
35
|
-
|
|
36
|
-
this
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
installExtension(extensionName) {
|
|
45
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
this.$logger.trace(`Start installation of extension '${extensionName}'.`);
|
|
47
|
+
yield this.assertPackageJsonExists();
|
|
48
|
+
const npmOpts = {
|
|
49
|
+
save: true,
|
|
50
|
+
["save-exact"]: true,
|
|
51
|
+
};
|
|
52
|
+
const localPath = path.resolve(extensionName);
|
|
53
|
+
const packageName = this.$fs.exists(localPath) ? localPath : extensionName;
|
|
54
|
+
const installResultInfo = yield this.$packageManager.install(packageName, this.pathToExtensions, npmOpts);
|
|
55
|
+
this.$logger.trace(`Finished installation of extension '${extensionName}'. Trying to load it now.`);
|
|
56
|
+
return this.getInstalledExtensionData(installResultInfo.name);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
uninstallExtension(extensionName) {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
this.$logger.trace(`Start uninstallation of extension '${extensionName}'.`);
|
|
62
|
+
yield this.assertPackageJsonExists();
|
|
63
|
+
yield this.$packageManager.uninstall(extensionName, { save: true }, this.pathToExtensions);
|
|
64
|
+
this.$logger.trace(`Finished uninstallation of extension '${extensionName}'.`);
|
|
65
|
+
});
|
|
53
66
|
}
|
|
54
67
|
removeAllExtensions() {
|
|
55
68
|
this.$fs.deleteDirectorySafe(this.pathToExtensions);
|
|
@@ -90,66 +103,76 @@ class ExtensibilityService {
|
|
|
90
103
|
pathToExtension,
|
|
91
104
|
};
|
|
92
105
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
+
loadExtension(extensionName) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
try {
|
|
109
|
+
yield this.assertExtensionIsInstalled(extensionName);
|
|
110
|
+
const pathToExtension = this.getPathToExtension(extensionName);
|
|
111
|
+
this.$requireService.require(pathToExtension);
|
|
112
|
+
return this.getInstalledExtensionData(extensionName);
|
|
113
|
+
}
|
|
114
|
+
catch (error) {
|
|
115
|
+
this.$logger.warn(`Error while loading ${extensionName} is: ${error.message}`);
|
|
116
|
+
const err = (new Error(`Unable to load extension ${extensionName}. You will not be able to use the functionality that it adds. Error: ${error.message}`));
|
|
117
|
+
err.extensionName = extensionName;
|
|
118
|
+
throw err;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
106
121
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const npmsResult = await this.$packageManager.searchNpms("nativescript:extension");
|
|
111
|
-
allExtensions = npmsResult.results || [];
|
|
112
|
-
}
|
|
113
|
-
catch (err) {
|
|
114
|
-
this.$logger.trace(`Unable to find extensions via npms. Error is: ${err}`);
|
|
115
|
-
return null;
|
|
116
|
-
}
|
|
117
|
-
const defaultCommandRegExp = new RegExp(`${(0, helpers_1.regExpEscape)(inputOpts.defaultCommandDelimiter)}.*`);
|
|
118
|
-
const commandDelimiterRegExp = (0, helpers_1.createRegExp)(inputOpts.commandDelimiter, "g");
|
|
119
|
-
for (const extensionData of allExtensions) {
|
|
120
|
-
const extensionName = extensionData.package.name;
|
|
122
|
+
getExtensionNameWhereCommandIsRegistered(inputOpts) {
|
|
123
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
124
|
+
let allExtensions = [];
|
|
121
125
|
try {
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
126
|
+
const npmsResult = yield this.$packageManager.searchNpms("nativescript:extension");
|
|
127
|
+
allExtensions = npmsResult.results || [];
|
|
128
|
+
}
|
|
129
|
+
catch (err) {
|
|
130
|
+
this.$logger.trace(`Unable to find extensions via npms. Error is: ${err}`);
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
const defaultCommandRegExp = new RegExp(`${(0, helpers_1.regExpEscape)(inputOpts.defaultCommandDelimiter)}.*`);
|
|
134
|
+
const commandDelimiterRegExp = (0, helpers_1.createRegExp)(inputOpts.commandDelimiter, "g");
|
|
135
|
+
for (const extensionData of allExtensions) {
|
|
136
|
+
const extensionName = extensionData.package.name;
|
|
137
|
+
try {
|
|
138
|
+
// now get full package.json for the latest version of the package
|
|
139
|
+
const registryData = yield this.$packageManager.getRegistryPackageData(extensionName);
|
|
140
|
+
const latestPackageData = registryData.versions[registryData["dist-tags"].latest];
|
|
141
|
+
const commands = latestPackageData &&
|
|
142
|
+
latestPackageData.nativescript &&
|
|
143
|
+
latestPackageData.nativescript.commands;
|
|
144
|
+
if (commands && commands.length) {
|
|
145
|
+
// For each default command we need to add its short syntax in the array of commands.
|
|
146
|
+
// For example in case there's a default command called devices list, the commands array will contain devices|*list.
|
|
147
|
+
// However, in case the user executes just tns devices, CLI will still execute the tns devices list command.
|
|
148
|
+
// So we need to add the devices command as well.
|
|
149
|
+
_.filter(commands, (command) => command.indexOf(inputOpts.defaultCommandDelimiter) !== -1).forEach((defaultCommand) => {
|
|
150
|
+
commands.push(defaultCommand.replace(defaultCommandRegExp, ""));
|
|
151
|
+
});
|
|
152
|
+
const copyOfFullArgs = _.clone(inputOpts.inputStrings);
|
|
153
|
+
while (copyOfFullArgs.length) {
|
|
154
|
+
const currentCommand = copyOfFullArgs
|
|
155
|
+
.join(inputOpts.commandDelimiter)
|
|
156
|
+
.toLowerCase();
|
|
157
|
+
if (_.some(commands, (c) => c.toLowerCase() === currentCommand)) {
|
|
158
|
+
const beautifiedCommandName = currentCommand.replace(commandDelimiterRegExp, " ");
|
|
159
|
+
return {
|
|
160
|
+
extensionName,
|
|
161
|
+
registeredCommandName: currentCommand,
|
|
162
|
+
installationMessage: `The command ${beautifiedCommandName} is registered in extension ${extensionName}. You can install it by executing 'tns extension install ${extensionName}'`,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
copyOfFullArgs.splice(-1, 1);
|
|
143
166
|
}
|
|
144
|
-
copyOfFullArgs.splice(-1, 1);
|
|
145
167
|
}
|
|
146
168
|
}
|
|
169
|
+
catch (err) {
|
|
170
|
+
// We do not want to stop the whole process in case we are unable to find data for one of the extensions.
|
|
171
|
+
this.$logger.trace(`Unable to get data for ${extensionName}. Error is: ${err}`);
|
|
172
|
+
}
|
|
147
173
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return null;
|
|
174
|
+
return null;
|
|
175
|
+
});
|
|
153
176
|
}
|
|
154
177
|
getPathToExtension(extensionName) {
|
|
155
178
|
return path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME, extensionName);
|
|
@@ -160,14 +183,16 @@ class ExtensibilityService {
|
|
|
160
183
|
const jsonData = this.$fs.readJson(pathToPackageJson);
|
|
161
184
|
return jsonData;
|
|
162
185
|
}
|
|
163
|
-
|
|
164
|
-
this
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
186
|
+
assertExtensionIsInstalled(extensionName) {
|
|
187
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
188
|
+
this.$logger.trace(`Asserting extension ${extensionName} is installed.`);
|
|
189
|
+
const installedExtensions = this.$fs.readDirectory(path.join(this.pathToExtensions, constants.NODE_MODULES_FOLDER_NAME));
|
|
190
|
+
if (installedExtensions.indexOf(extensionName) === -1) {
|
|
191
|
+
this.$logger.trace(`Extension ${extensionName} is not installed, starting installation.`);
|
|
192
|
+
yield this.installExtension(extensionName);
|
|
193
|
+
}
|
|
194
|
+
this.$logger.trace(`Extension ${extensionName} is installed.`);
|
|
195
|
+
});
|
|
171
196
|
}
|
|
172
197
|
assertExtensionsDirExists() {
|
|
173
198
|
if (!this.$fs.exists(this.pathToExtensions)) {
|
|
@@ -178,6 +203,7 @@ class ExtensibilityService {
|
|
|
178
203
|
this.assertExtensionsDirExists();
|
|
179
204
|
if (!this.$fs.exists(this.pathToPackageJson)) {
|
|
180
205
|
this.$logger.trace(`Creating ${this.pathToPackageJson}.`);
|
|
206
|
+
// create default package.json
|
|
181
207
|
this.$fs.writeJson(this.pathToPackageJson, {
|
|
182
208
|
name: "nativescript-extensibility",
|
|
183
209
|
version: "1.0.0",
|
|
@@ -191,11 +217,12 @@ class ExtensibilityService {
|
|
|
191
217
|
}
|
|
192
218
|
}
|
|
193
219
|
}
|
|
194
|
-
exports.ExtensibilityService = ExtensibilityService;
|
|
195
220
|
__decorate([
|
|
196
221
|
(0, decorators_1.cache)()
|
|
197
222
|
], ExtensibilityService.prototype, "assertExtensionsDirExists", null);
|
|
198
223
|
__decorate([
|
|
199
224
|
(0, decorators_1.cache)()
|
|
200
225
|
], ExtensibilityService.prototype, "assertPackageJsonExists", null);
|
|
226
|
+
exports.ExtensibilityService = ExtensibilityService;
|
|
201
227
|
yok_1.injector.register("extensibilityService", ExtensibilityService);
|
|
228
|
+
//# sourceMappingURL=extensibility-service.js.map
|
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.FilesHashService = void 0;
|
|
4
13
|
const helpers_1 = require("../common/helpers");
|
|
@@ -13,36 +22,44 @@ class FilesHashService {
|
|
|
13
22
|
this.$logger = $logger;
|
|
14
23
|
this.$options = $options;
|
|
15
24
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
25
|
+
generateHashes(files) {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const result = {};
|
|
28
|
+
const action = (file) => __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
try {
|
|
30
|
+
const isFile = this.$fs.getFsStats(file).isFile();
|
|
31
|
+
if (isFile) {
|
|
32
|
+
result[file] = yield this.$fs.getFileShasum(file);
|
|
33
|
+
}
|
|
23
34
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
35
|
+
catch (err) {
|
|
36
|
+
this.$logger.trace(`Unable to generate hash for file ${file}. Error is: ${err}`);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
yield (0, helpers_1.executeActionByChunks)(files, constants_1.DEFAULT_CHUNK_SIZE, action);
|
|
40
|
+
return result;
|
|
41
|
+
});
|
|
31
42
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
43
|
+
generateHashesForProject(platformData) {
|
|
44
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const appFilesPath = path.join(platformData.appDestinationDirectoryPath, this.$options.hostProjectModuleName);
|
|
46
|
+
const files = this.$fs.enumerateFilesInDirectorySync(appFilesPath);
|
|
47
|
+
const hashes = yield this.generateHashes(files);
|
|
48
|
+
return hashes;
|
|
49
|
+
});
|
|
37
50
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
51
|
+
saveHashesForProject(platformData, hashesFileDirectory) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const hashes = yield this.generateHashesForProject(platformData);
|
|
54
|
+
this.saveHashes(hashes, hashesFileDirectory);
|
|
55
|
+
return hashes;
|
|
56
|
+
});
|
|
42
57
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
58
|
+
getChanges(files, oldHashes) {
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
const newHashes = yield this.generateHashes(files);
|
|
61
|
+
return this.getChangesInShasums(oldHashes, newHashes);
|
|
62
|
+
});
|
|
46
63
|
}
|
|
47
64
|
hasChangesInShasums(oldHashes, newHashes) {
|
|
48
65
|
return !!_.keys(this.getChangesInShasums(oldHashes, newHashes)).length;
|
|
@@ -61,3 +78,4 @@ class FilesHashService {
|
|
|
61
78
|
}
|
|
62
79
|
exports.FilesHashService = FilesHashService;
|
|
63
80
|
yok_1.injector.register("filesHashService", FilesHashService);
|
|
81
|
+
//# sourceMappingURL=files-hash-service.js.map
|