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