nativescript 8.9.0-dev.0 → 8.9.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/test-deps-versions-generated.json +1 -1
- package/lib/.d.ts +1 -0
- package/lib/android-tools-info.js +32 -9
- package/lib/base-package-manager.js +71 -47
- package/lib/bootstrap.js +6 -1
- package/lib/bun-package-manager.js +104 -65
- package/lib/color.js +5 -2
- package/lib/commands/add-platform.js +31 -14
- package/lib/commands/apple-login.js +30 -18
- package/lib/commands/appstore-list.js +46 -34
- package/lib/commands/appstore-upload.js +68 -52
- package/lib/commands/build.js +90 -57
- package/lib/commands/clean.js +197 -161
- package/lib/commands/command-base.js +28 -14
- package/lib/commands/config.js +71 -48
- package/lib/commands/create-project.js +235 -210
- package/lib/commands/debug.js +93 -66
- package/lib/commands/deploy.js +47 -30
- package/lib/commands/embedding/embed.js +59 -33
- package/lib/commands/extensibility/install-extension.js +17 -5
- package/lib/commands/extensibility/list-extensions.js +25 -13
- package/lib/commands/extensibility/uninstall-extension.js +16 -4
- package/lib/commands/fonts.js +42 -30
- package/lib/commands/generate-assets.js +29 -13
- package/lib/commands/generate-help.js +14 -2
- package/lib/commands/generate.js +70 -12
- package/lib/commands/info.js +14 -2
- package/lib/commands/install.js +50 -34
- package/lib/commands/list-platforms.js +26 -14
- package/lib/commands/migrate.js +27 -15
- package/lib/commands/native-add.js +51 -23
- package/lib/commands/platform-clean.js +33 -19
- package/lib/commands/plugin/add-plugin.js +26 -12
- package/lib/commands/plugin/build-plugin.js +45 -31
- package/lib/commands/plugin/create-plugin.js +138 -110
- package/lib/commands/plugin/list-plugins.js +34 -22
- package/lib/commands/plugin/remove-plugin.js +35 -20
- package/lib/commands/plugin/update-plugin.js +34 -20
- package/lib/commands/post-install.js +39 -20
- package/lib/commands/prepare.js +39 -22
- package/lib/commands/preview.js +64 -49
- package/lib/commands/remove-platform.js +19 -7
- package/lib/commands/resources/resources-update.js +28 -13
- package/lib/commands/run.js +77 -55
- package/lib/commands/setup.js +1 -0
- package/lib/commands/start.js +20 -6
- package/lib/commands/test-init.js +138 -123
- package/lib/commands/test.js +97 -67
- package/lib/commands/typings.js +143 -126
- package/lib/commands/update-platform.js +40 -22
- package/lib/commands/update.js +45 -30
- package/lib/commands/widget.js +767 -0
- package/lib/common/bootstrap.js +1 -0
- package/lib/common/child-process.js +75 -53
- package/lib/common/codeGeneration/code-entity.js +2 -1
- package/lib/common/codeGeneration/code-printer.js +2 -1
- package/lib/common/command-params.js +19 -7
- package/lib/common/commands/analytics.js +43 -27
- package/lib/common/commands/autocompletion.js +59 -39
- package/lib/common/commands/device/device-log-stream.js +24 -12
- package/lib/common/commands/device/get-file.js +35 -22
- package/lib/common/commands/device/list-applications.js +24 -12
- package/lib/common/commands/device/list-devices.js +90 -72
- package/lib/common/commands/device/list-files.js +36 -23
- package/lib/common/commands/device/put-file.js +35 -22
- package/lib/common/commands/device/run-application.js +26 -12
- package/lib/common/commands/device/stop-application.js +23 -11
- package/lib/common/commands/device/uninstall-application.js +18 -6
- package/lib/common/commands/doctor.js +3 -2
- package/lib/common/commands/generate-messages.js +29 -17
- package/lib/common/commands/help.js +34 -20
- package/lib/common/commands/package-manager-get.js +18 -6
- package/lib/common/commands/package-manager-set.js +21 -9
- package/lib/common/commands/post-install.js +14 -2
- package/lib/common/commands/preuninstall.js +48 -24
- package/lib/common/commands/proxy/proxy-base.js +23 -8
- package/lib/common/commands/proxy/proxy-clear.js +16 -4
- package/lib/common/commands/proxy/proxy-get.js +15 -3
- package/lib/common/commands/proxy/proxy-set.js +101 -87
- package/lib/common/common-lib.js +1 -0
- package/lib/common/constants.js +22 -11
- package/lib/common/decorators.js +70 -10
- package/lib/common/dispatchers.js +106 -80
- package/lib/common/errors.js +116 -91
- package/lib/common/file-system.js +141 -108
- package/lib/common/header.js +5 -1
- package/lib/common/helpers.js +267 -152
- package/lib/common/host-info.js +54 -37
- package/lib/common/http-client.js +128 -93
- package/lib/common/logger/appenders/cli-appender.js +6 -1
- package/lib/common/logger/appenders/emit-appender.js +6 -1
- package/lib/common/logger/layouts/cli-layout.js +3 -1
- package/lib/common/logger/logger.js +9 -4
- package/lib/common/messages/messages.js +6 -0
- package/lib/common/mobile/android/android-application-manager.js +162 -122
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
- package/lib/common/mobile/android/android-debug-bridge.js +118 -87
- package/lib/common/mobile/android/android-device-file-system.js +135 -98
- package/lib/common/mobile/android/android-device-hash-service.js +78 -50
- package/lib/common/mobile/android/android-device.js +93 -68
- package/lib/common/mobile/android/android-emulator-services.js +131 -105
- package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
- package/lib/common/mobile/android/android-log-filter.js +5 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
- package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
- package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
- package/lib/common/mobile/android/logcat-helper.js +140 -108
- package/lib/common/mobile/application-manager-base.js +113 -84
- package/lib/common/mobile/device-emitter.js +4 -0
- package/lib/common/mobile/device-log-emitter.js +1 -0
- package/lib/common/mobile/device-log-provider-base.js +19 -7
- package/lib/common/mobile/device-log-provider.js +23 -0
- package/lib/common/mobile/device-platforms-constants.js +1 -0
- package/lib/common/mobile/emulator-helper.js +3 -0
- package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
- package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
- package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
- package/lib/common/mobile/ios/device/ios-device.js +40 -20
- package/lib/common/mobile/ios/ios-device-base.js +82 -58
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
- package/lib/common/mobile/ios/ios-log-filter.js +1 -0
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
- package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
- package/lib/common/mobile/log-filter.js +2 -0
- package/lib/common/mobile/logging-levels.js +1 -0
- package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
- package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
- package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
- package/lib/common/mobile/mobile-core/devices-service.js +505 -386
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
- package/lib/common/mobile/mobile-helper.js +27 -15
- package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
- package/lib/common/opener.js +3 -2
- package/lib/common/os-info.js +1 -0
- package/lib/common/plist-parser.js +1 -0
- package/lib/common/project-helper.js +1 -0
- package/lib/common/prompter.js +114 -91
- package/lib/common/queue.js +21 -9
- package/lib/common/resource-loader.js +1 -0
- package/lib/common/services/auto-completion-service.js +65 -40
- package/lib/common/services/cancellation.js +29 -17
- package/lib/common/services/commands-service.js +180 -146
- package/lib/common/services/help-service.js +166 -133
- package/lib/common/services/hooks-service.js +121 -93
- package/lib/common/services/ios-notification-service.js +35 -21
- package/lib/common/services/json-file-settings-service.js +77 -52
- package/lib/common/services/lock-service.js +58 -35
- package/lib/common/services/message-contract-generator.js +47 -35
- package/lib/common/services/messages-service.js +1 -0
- package/lib/common/services/micro-templating-service.js +21 -4
- package/lib/common/services/net-service.js +110 -90
- package/lib/common/services/project-files-manager.js +28 -10
- package/lib/common/services/project-files-provider-base.js +1 -0
- package/lib/common/services/proxy-service.js +25 -13
- package/lib/common/services/qr.js +25 -13
- package/lib/common/services/settings-service.js +2 -1
- package/lib/common/services/xcode-select-service.js +36 -20
- package/lib/common/utils.js +3 -2
- package/lib/common/validators/project-name-validator.js +2 -1
- package/lib/common/validators/validation-result.js +2 -1
- package/lib/common/verify-node-version.js +11 -3
- package/lib/common/yok.js +69 -35
- package/lib/config.js +72 -36
- package/lib/constants-provider.js +1 -0
- package/lib/constants.js +78 -25
- package/lib/controllers/build-controller.js +100 -82
- package/lib/controllers/debug-controller.js +133 -107
- package/lib/controllers/deploy-controller.js +24 -15
- package/lib/controllers/migrate-controller.js +884 -723
- package/lib/controllers/platform-controller.js +94 -71
- package/lib/controllers/prepare-controller.js +274 -232
- package/lib/controllers/run-controller.js +427 -397
- package/lib/controllers/update-controller-base.js +30 -16
- package/lib/controllers/update-controller.js +130 -94
- package/lib/data/build-data.js +1 -0
- package/lib/data/controller-data-base.js +1 -0
- package/lib/data/debug-data.js +1 -0
- package/lib/data/platform-data.js +1 -0
- package/lib/data/prepare-data.js +2 -4
- package/lib/data/run-data.js +1 -0
- package/lib/definitions/ios.d.ts +4 -2
- package/lib/definitions/project.d.ts +26 -0
- package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
- package/lib/detached-processes/cleanup-process.js +43 -30
- package/lib/detached-processes/file-log-service.js +2 -1
- package/lib/device-path-provider.js +35 -23
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
- package/lib/device-sockets/ios/notification.js +4 -1
- package/lib/device-sockets/ios/socket-request-executor.js +42 -24
- package/lib/helpers/android-bundle-validator-helper.js +3 -2
- package/lib/helpers/deploy-command-helper.js +50 -44
- package/lib/helpers/key-command-helper.js +17 -6
- package/lib/helpers/livesync-command-helper.js +155 -137
- package/lib/helpers/network-connectivity-validator.js +18 -6
- package/lib/helpers/options-track-helper.js +19 -7
- package/lib/helpers/package-path-helper.js +1 -0
- package/lib/helpers/platform-command-helper.js +127 -101
- package/lib/helpers/version-validator-helper.js +1 -0
- package/lib/key-commands/bootstrap.js +3 -2
- package/lib/key-commands/index.js +205 -154
- package/lib/nativescript-cli-lib-bootstrap.js +4 -0
- package/lib/nativescript-cli-lib.js +1 -0
- package/lib/nativescript-cli.js +24 -6
- package/lib/node/pbxproj-dom-xcode.js +1 -0
- package/lib/node/xcode.js +1 -0
- package/lib/node-package-manager.js +114 -81
- package/lib/options.js +156 -122
- package/lib/package-installation-manager.js +172 -130
- package/lib/package-manager.js +88 -63
- package/lib/platform-command-param.js +16 -4
- package/lib/pnpm-package-manager.js +81 -59
- package/lib/project-data.js +13 -1
- package/lib/providers/project-files-provider.js +2 -1
- package/lib/resolvers/livesync-service-resolver.js +1 -0
- package/lib/services/analytics/analytics-broker-process.js +32 -19
- package/lib/services/analytics/analytics-broker.js +31 -17
- package/lib/services/analytics/analytics-service.js +210 -170
- package/lib/services/analytics/google-analytics-provider.js +59 -43
- package/lib/services/analytics-settings-service.js +37 -15
- package/lib/services/android/android-bundle-tool-service.js +61 -43
- package/lib/services/android/gradle-build-args-service.js +23 -9
- package/lib/services/android/gradle-build-service.js +36 -22
- package/lib/services/android/gradle-command-service.js +36 -22
- package/lib/services/android-device-debug-service.js +123 -90
- package/lib/services/android-plugin-build-service.js +260 -205
- package/lib/services/android-project-service.js +241 -129
- package/lib/services/android-resources-migration-service.js +71 -51
- package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
- package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
- package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
- package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
- package/lib/services/assets-generation/assets-generation-service.js +128 -103
- package/lib/services/build-artifacts-service.js +22 -10
- package/lib/services/build-data-service.js +1 -0
- package/lib/services/build-info-file-service.js +36 -20
- package/lib/services/cleanup-service.js +81 -48
- package/lib/services/cocoapods-platform-manager.js +9 -0
- package/lib/services/cocoapods-service.js +153 -112
- package/lib/services/debug-data-service.js +1 -0
- package/lib/services/debug-service-base.js +7 -0
- package/lib/services/device/device-install-app-service.js +72 -54
- package/lib/services/doctor-service.js +135 -101
- package/lib/services/extensibility-service.js +108 -81
- package/lib/services/files-hash-service.js +44 -26
- package/lib/services/hmr-status-service.js +3 -1
- package/lib/services/info-service.js +1 -0
- package/lib/services/initialize-service.js +54 -37
- package/lib/services/ios/export-options-plist-service.js +55 -38
- package/lib/services/ios/ios-signing-service.js +191 -168
- package/lib/services/ios/spm-service.js +73 -43
- package/lib/services/ios/xcodebuild-args-service.js +103 -77
- package/lib/services/ios/xcodebuild-command-service.js +26 -14
- package/lib/services/ios/xcodebuild-service.js +72 -52
- package/lib/services/ios-debugger-port-service.js +38 -24
- package/lib/services/ios-device-debug-service.js +103 -75
- package/lib/services/ios-entitlements-service.js +43 -31
- package/lib/services/ios-extensions-service.js +30 -18
- package/lib/services/ios-log-filter.js +20 -0
- package/lib/services/ios-native-target-service.js +6 -4
- package/lib/services/ios-project-service.js +605 -437
- package/lib/services/ios-provision-service.js +132 -108
- package/lib/services/ios-watch-app-service.js +33 -21
- package/lib/services/ip-service.js +55 -38
- package/lib/services/itmstransporter-service.js +153 -129
- package/lib/services/karma-execution.js +2 -0
- package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
- package/lib/services/livesync/android-device-livesync-service.js +151 -120
- package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
- package/lib/services/livesync/android-livesync-service.js +36 -14
- package/lib/services/livesync/android-livesync-tool.js +117 -90
- package/lib/services/livesync/device-livesync-service-base.js +30 -15
- package/lib/services/livesync/ios-device-livesync-service.js +150 -114
- package/lib/services/livesync/ios-livesync-service.js +60 -42
- package/lib/services/livesync/livesync-socket.js +1 -0
- package/lib/services/livesync/platform-livesync-service-base.js +124 -94
- package/lib/services/livesync-process-data-service.js +1 -0
- package/lib/services/log-parser-service.js +2 -1
- package/lib/services/log-source-map-service.js +56 -30
- package/lib/services/marking-mode-service.js +33 -17
- package/lib/services/metadata-filtering-service.js +1 -0
- package/lib/services/npm-config-service.js +5 -1
- package/lib/services/pacote-service.js +73 -51
- package/lib/services/performance-service.js +4 -2
- package/lib/services/platform/add-platform-service.js +119 -51
- package/lib/services/platform/platform-validation-service.js +34 -22
- package/lib/services/platform/prepare-native-platform-service.js +65 -49
- package/lib/services/platform-environment-requirements.js +43 -27
- package/lib/services/platform-project-service-base.js +1 -0
- package/lib/services/platforms-data-service.js +1 -0
- package/lib/services/plugins-service.js +168 -125
- package/lib/services/prepare-data-service.js +1 -0
- package/lib/services/project-backup-service.js +5 -1
- package/lib/services/project-changes-service.js +152 -124
- package/lib/services/project-cleanup-service.js +79 -64
- package/lib/services/project-config-service.js +111 -73
- package/lib/services/project-data-service.js +154 -108
- package/lib/services/project-name-service.js +44 -28
- package/lib/services/project-service.js +113 -84
- package/lib/services/project-templates-service.js +68 -52
- package/lib/services/qr-code-terminal-service.js +1 -0
- package/lib/services/require-service.js +1 -0
- package/lib/services/start-service.js +60 -41
- package/lib/services/temp-service.js +22 -8
- package/lib/services/terminal-spinner-service.js +28 -15
- package/lib/services/test-execution-service.js +79 -59
- package/lib/services/test-initialization-service.js +6 -2
- package/lib/services/timeline-profiler-service.js +2 -1
- package/lib/services/user-settings-service.js +1 -0
- package/lib/services/versions-service.js +140 -119
- package/lib/services/watch-ignore-list-service.js +1 -0
- package/lib/services/webpack/webpack-compiler-service.js +279 -215
- package/lib/services/xcconfig-service.js +21 -8
- package/lib/services/xcproj-service.js +1 -0
- package/lib/shared-event-bus.js +6 -0
- package/lib/sys-info.js +63 -45
- package/lib/tools/config-manipulation/config-transformer.js +21 -0
- package/lib/tools/node-modules/node-modules-builder.js +28 -16
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
- package/lib/yarn-package-manager.js +79 -59
- package/lib/yarn2-package-manager.js +82 -60
- package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
- package/node_modules/@npmcli/move-file/README.md +69 -0
- package/node_modules/@npmcli/move-file/lib/index.js +185 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
- package/node_modules/@npmcli/move-file/package.json +47 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +43 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/fs.realpath/LICENSE +43 -0
- package/node_modules/fs.realpath/README.md +33 -0
- package/node_modules/fs.realpath/index.js +66 -0
- package/node_modules/fs.realpath/old.js +303 -0
- package/node_modules/fs.realpath/package.json +26 -0
- package/node_modules/inflight/LICENSE +15 -0
- package/node_modules/inflight/README.md +37 -0
- package/node_modules/inflight/inflight.js +54 -0
- package/node_modules/inflight/package.json +29 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +33 -0
- package/node_modules/path-is-absolute/index.js +20 -0
- package/node_modules/path-is-absolute/license +21 -0
- package/node_modules/path-is-absolute/package.json +43 -0
- package/node_modules/path-is-absolute/readme.md +59 -0
- package/node_modules/rimraf/LICENSE +15 -0
- package/node_modules/rimraf/README.md +101 -0
- package/node_modules/rimraf/bin.js +68 -0
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
- package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
- package/node_modules/rimraf/node_modules/glob/README.md +378 -0
- package/node_modules/rimraf/node_modules/glob/common.js +238 -0
- package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
- package/node_modules/rimraf/node_modules/glob/package.json +55 -0
- package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
- package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
- package/node_modules/rimraf/package.json +32 -0
- package/node_modules/rimraf/rimraf.js +360 -0
- package/node_modules/stringify-package/LICENSE +13 -0
- package/node_modules/stringify-package/README.md +55 -0
- package/node_modules/stringify-package/index.js +18 -0
- package/node_modules/stringify-package/package.json +38 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +29 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/package.json +79 -64
package/lib/common/prompter.js
CHANGED
|
@@ -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.Prompter = void 0;
|
|
4
13
|
const prompt = require("prompts");
|
|
@@ -16,113 +25,122 @@ class Prompter {
|
|
|
16
25
|
this.ctrlcReader.close();
|
|
17
26
|
}
|
|
18
27
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (
|
|
24
|
-
|
|
28
|
+
get(questions) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
try {
|
|
31
|
+
this.muteStdout();
|
|
32
|
+
if (!helpers.isInteractive()) {
|
|
33
|
+
if (_.some(questions, (s) => !s.default)) {
|
|
34
|
+
throw new Error("Console is not interactive and no default action specified.");
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
const result = {};
|
|
38
|
+
_.each(questions, (s) => {
|
|
39
|
+
// Curly brackets needed because s.default() may return false and break the loop
|
|
40
|
+
result[s.name] = s.default();
|
|
41
|
+
});
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
25
44
|
}
|
|
26
45
|
else {
|
|
27
|
-
const result =
|
|
28
|
-
_.each(questions, (s) => {
|
|
29
|
-
result[s.name] = s.default();
|
|
30
|
-
});
|
|
46
|
+
const result = yield prompt.prompt(questions);
|
|
31
47
|
return result;
|
|
32
48
|
}
|
|
33
49
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return result;
|
|
50
|
+
finally {
|
|
51
|
+
this.unmuteStdout();
|
|
37
52
|
}
|
|
38
|
-
}
|
|
39
|
-
finally {
|
|
40
|
-
this.unmuteStdout();
|
|
41
|
-
}
|
|
53
|
+
});
|
|
42
54
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
+
getPassword(message, options) {
|
|
56
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
+
const schema = {
|
|
58
|
+
message,
|
|
59
|
+
type: "password",
|
|
60
|
+
name: "password",
|
|
61
|
+
validate: (value) => {
|
|
62
|
+
const allowEmpty = options && options.allowEmpty;
|
|
63
|
+
return !allowEmpty && !value ? "Password must be non-empty" : true;
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
const result = yield this.get([schema]);
|
|
67
|
+
return result.password;
|
|
68
|
+
});
|
|
55
69
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
70
|
+
getString(message, options) {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const schema = {
|
|
73
|
+
message,
|
|
74
|
+
type: "text",
|
|
75
|
+
name: "inputString",
|
|
76
|
+
validate: (value) => {
|
|
77
|
+
const doesNotAllowEmpty = options && _.has(options, "allowEmpty") && !options.allowEmpty;
|
|
78
|
+
return doesNotAllowEmpty && !value
|
|
79
|
+
? `${message} must be non-empty`
|
|
80
|
+
: true;
|
|
81
|
+
},
|
|
82
|
+
default: options && options.defaultAction,
|
|
83
|
+
};
|
|
84
|
+
const result = yield this.get([schema]);
|
|
85
|
+
return result.inputString;
|
|
86
|
+
});
|
|
71
87
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
message: promptMessage,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
};
|
|
92
|
-
return multiple
|
|
93
|
-
? result.userAnswer.map(extractValue)
|
|
94
|
-
: extractValue(result.userAnswer);
|
|
88
|
+
promptForChoice(promptMessage, choices, multiple = false, options = {}) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const schema = Object.assign({ message: promptMessage, type: multiple ? "multiselect" : "select", name: "userAnswer", choices }, options);
|
|
91
|
+
const result = yield this.get([schema]);
|
|
92
|
+
const extractValue = (choice) => {
|
|
93
|
+
if (typeof choice === "object") {
|
|
94
|
+
return choice.value || choice;
|
|
95
|
+
}
|
|
96
|
+
if (typeof choice === "string") {
|
|
97
|
+
return choice;
|
|
98
|
+
}
|
|
99
|
+
if (typeof choice === "number") {
|
|
100
|
+
return choices[choice];
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
return multiple
|
|
104
|
+
? result.userAnswer.map(extractValue)
|
|
105
|
+
: extractValue(result.userAnswer);
|
|
106
|
+
});
|
|
95
107
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
108
|
+
promptForDetailedChoice(promptMessage, choices) {
|
|
109
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
const inquirerChoices = choices.map((choice) => {
|
|
111
|
+
return {
|
|
112
|
+
title: choice.key,
|
|
113
|
+
value: choice.key,
|
|
114
|
+
description: choice.description,
|
|
115
|
+
};
|
|
116
|
+
});
|
|
117
|
+
const schema = {
|
|
118
|
+
message: promptMessage,
|
|
119
|
+
type: "select",
|
|
120
|
+
name: "userAnswer",
|
|
121
|
+
choices: inquirerChoices,
|
|
102
122
|
};
|
|
123
|
+
const result = yield this.get([schema]);
|
|
124
|
+
return result.userAnswer;
|
|
103
125
|
});
|
|
104
|
-
const schema = {
|
|
105
|
-
message: promptMessage,
|
|
106
|
-
type: "select",
|
|
107
|
-
name: "userAnswer",
|
|
108
|
-
choices: inquirerChoices,
|
|
109
|
-
};
|
|
110
|
-
const result = await this.get([schema]);
|
|
111
|
-
return result.userAnswer;
|
|
112
126
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
127
|
+
confirm(message, defaultAction) {
|
|
128
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
129
|
+
const schema = {
|
|
130
|
+
type: "confirm",
|
|
131
|
+
name: "prompt",
|
|
132
|
+
default: defaultAction,
|
|
133
|
+
message,
|
|
134
|
+
};
|
|
135
|
+
const result = yield this.get([schema]);
|
|
136
|
+
return result.prompt;
|
|
137
|
+
});
|
|
122
138
|
}
|
|
123
139
|
muteStdout() {
|
|
124
140
|
if (helpers.isInteractive()) {
|
|
125
|
-
process.stdin.setRawMode(true);
|
|
141
|
+
process.stdin.setRawMode(true); // After setting rawMode to true, Ctrl+C doesn't work for non node.js events loop i.e device log command
|
|
142
|
+
// We need to create mute-stream and to pass it as output to ctrlcReader
|
|
143
|
+
// This will prevent the prompter to show the user's text twice on the console
|
|
126
144
|
this.muteStreamInstance = new MuteStream();
|
|
127
145
|
this.muteStreamInstance.pipe(process.stdout);
|
|
128
146
|
this.muteStreamInstance.mute();
|
|
@@ -131,6 +149,7 @@ class Prompter {
|
|
|
131
149
|
output: this.muteStreamInstance,
|
|
132
150
|
});
|
|
133
151
|
this.ctrlcReader.on("SIGINT", () => {
|
|
152
|
+
// enable terminal cursor
|
|
134
153
|
process.stdout.write("\x1B[?25h");
|
|
135
154
|
process.exit();
|
|
136
155
|
});
|
|
@@ -140,6 +159,7 @@ class Prompter {
|
|
|
140
159
|
if (helpers.isInteractive()) {
|
|
141
160
|
process.stdin.setRawMode(false);
|
|
142
161
|
if (this.muteStreamInstance) {
|
|
162
|
+
// We need to clean the event listeners from the process.stdout because the MuteStream.pipe function calls the pipe function of the Node js Stream which adds event listeners and this can cause memory leak if we display more than ~10 prompts.
|
|
143
163
|
this.cleanEventListeners(process.stdout);
|
|
144
164
|
this.muteStreamInstance.unmute();
|
|
145
165
|
this.muteStreamInstance = null;
|
|
@@ -148,6 +168,8 @@ class Prompter {
|
|
|
148
168
|
}
|
|
149
169
|
}
|
|
150
170
|
cleanEventListeners(stream) {
|
|
171
|
+
// The events names and listeners names can be found here https://github.com/nodejs/node/blob/master/lib/stream.js
|
|
172
|
+
// Which event cause memory leak can be tested with stream.listeners("event-name") and if the listeners count keeps increasing with each prompt we need to remove the listener.
|
|
151
173
|
const memoryLeakEvents = [
|
|
152
174
|
{
|
|
153
175
|
eventName: "close",
|
|
@@ -174,3 +196,4 @@ class Prompter {
|
|
|
174
196
|
}
|
|
175
197
|
exports.Prompter = Prompter;
|
|
176
198
|
yok_1.injector.register("prompter", Prompter);
|
|
199
|
+
//# sourceMappingURL=prompter.js.map
|
package/lib/common/queue.js
CHANGED
|
@@ -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.Queue = void 0;
|
|
4
13
|
class Queue {
|
|
@@ -12,15 +21,18 @@ class Queue {
|
|
|
12
21
|
this.promiseResolve();
|
|
13
22
|
}
|
|
14
23
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
dequeue() {
|
|
25
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
if (!this.items.length) {
|
|
27
|
+
const promise = new Promise((resolve, reject) => {
|
|
28
|
+
this.promiseResolve = resolve;
|
|
29
|
+
});
|
|
30
|
+
yield promise;
|
|
31
|
+
this.promiseResolve = null;
|
|
32
|
+
}
|
|
33
|
+
return this.items.pop();
|
|
34
|
+
});
|
|
24
35
|
}
|
|
25
36
|
}
|
|
26
37
|
exports.Queue = Queue;
|
|
38
|
+
//# sourceMappingURL=queue.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.AutoCompletionService = void 0;
|
|
10
19
|
const os_1 = require("os");
|
|
@@ -27,12 +36,15 @@ class AutoCompletionService {
|
|
|
27
36
|
get shellProfiles() {
|
|
28
37
|
return [
|
|
29
38
|
this.getHomePath(".bashrc"),
|
|
30
|
-
this.getHomePath(".zshrc"),
|
|
39
|
+
this.getHomePath(".zshrc"), // zsh - http://www.acm.uiuc.edu/workshops/zsh/startup_files.html
|
|
31
40
|
];
|
|
32
41
|
}
|
|
33
42
|
get cliRunCommandsFile() {
|
|
34
43
|
let cliRunCommandsFile = this.getHomePath(util.format(".%src", this.$staticConfig.CLIENT_NAME.toLowerCase()));
|
|
35
44
|
if (this.$hostInfo.isWindows) {
|
|
45
|
+
// on Windows bash, file is incorrectly written as C:\Users\<username>, which leads to errors when trying to execute the script:
|
|
46
|
+
// $ source ~/.bashrc
|
|
47
|
+
// sh.exe": C:Usersusername.appbuilderrc: No such file or directory
|
|
36
48
|
cliRunCommandsFile = cliRunCommandsFile.replace(/\\/g, "/");
|
|
37
49
|
}
|
|
38
50
|
return cliRunCommandsFile;
|
|
@@ -47,7 +59,9 @@ class AutoCompletionService {
|
|
|
47
59
|
return new RegExp(util.format("%s[\\s\\S]*%s", AutoCompletionService.GENERATED_TABTAB_COMPLETION_START, AutoCompletionService.GENERATED_TABTAB_COMPLETION_END));
|
|
48
60
|
}
|
|
49
61
|
removeObsoleteAutoCompletion() {
|
|
62
|
+
// In previous releases we were writing directly in .bash_profile, .bashrc, .zshrc and .profile - remove this old code
|
|
50
63
|
const shellProfilesToBeCleared = this.shellProfiles;
|
|
64
|
+
// Add .profile only here as we do not want new autocompletion in this file, but we have to remove our old code from it.
|
|
51
65
|
shellProfilesToBeCleared.push(this.getHomePath(".profile"));
|
|
52
66
|
shellProfilesToBeCleared.forEach((file) => {
|
|
53
67
|
try {
|
|
@@ -100,6 +114,7 @@ class AutoCompletionService {
|
|
|
100
114
|
this.isNewAutoCompletionEnabledInFile(filePath) ||
|
|
101
115
|
this.isObsoleteAutoCompletionEnabledInFile(filePath);
|
|
102
116
|
if (!result) {
|
|
117
|
+
// break each
|
|
103
118
|
return false;
|
|
104
119
|
}
|
|
105
120
|
});
|
|
@@ -112,19 +127,22 @@ class AutoCompletionService {
|
|
|
112
127
|
this.$logger.info("Restart your shell to disable command auto-completion.");
|
|
113
128
|
}
|
|
114
129
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
this
|
|
121
|
-
|
|
130
|
+
enableAutoCompletion() {
|
|
131
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
132
|
+
yield this.updateCLIShellScript();
|
|
133
|
+
_.each(this.shellProfiles, (shellFile) => this.addAutoCompletionToShellScript(shellFile));
|
|
134
|
+
this.removeObsoleteAutoCompletion();
|
|
135
|
+
if (this.scriptsOk && this.scriptsUpdated) {
|
|
136
|
+
this.$logger.info("Restart your shell to enable command auto-completion.");
|
|
137
|
+
}
|
|
138
|
+
});
|
|
122
139
|
}
|
|
123
140
|
isObsoleteAutoCompletionEnabled() {
|
|
124
141
|
let result = true;
|
|
125
142
|
_.each(this.shellProfiles, (shellProfile) => {
|
|
126
143
|
result = this.isObsoleteAutoCompletionEnabledInFile(shellProfile);
|
|
127
144
|
if (!result) {
|
|
145
|
+
// break each
|
|
128
146
|
return false;
|
|
129
147
|
}
|
|
130
148
|
});
|
|
@@ -163,6 +181,8 @@ class AutoCompletionService {
|
|
|
163
181
|
}
|
|
164
182
|
catch (err) {
|
|
165
183
|
this.$logger.info("Unable to update %s. Command-line completion might not work.", fileName);
|
|
184
|
+
// When npm is installed with sudo, in some cases the installation cannot write to shell profiles
|
|
185
|
+
// Advise the user how to enable autocompletion after the installation is completed.
|
|
166
186
|
if ((err.code === "EPERM" || err.code === "EACCES") &&
|
|
167
187
|
!this.$hostInfo.isWindows &&
|
|
168
188
|
process.env.SUDO_USER) {
|
|
@@ -183,6 +203,7 @@ class AutoCompletionService {
|
|
|
183
203
|
}
|
|
184
204
|
}
|
|
185
205
|
catch (err) {
|
|
206
|
+
// If file does not exist, autocompletion was not working for it, so ignore this error.
|
|
186
207
|
if (err.code !== "ENOENT") {
|
|
187
208
|
this.$logger.info("Failed to update %s. Auto-completion may still work or work incorrectly. ", fileName);
|
|
188
209
|
this.$logger.info(err);
|
|
@@ -190,47 +211,49 @@ class AutoCompletionService {
|
|
|
190
211
|
}
|
|
191
212
|
}
|
|
192
213
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
const contents = this.$fs.readText(filePath);
|
|
199
|
-
const regExp = new RegExp(AutoCompletionService.GENERATED_TABTAB_COMPLETION_START);
|
|
200
|
-
let matchCondition = contents.match(regExp);
|
|
201
|
-
if (matchCondition) {
|
|
202
|
-
doUpdate = false;
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
if (doUpdate) {
|
|
206
|
-
const clientExecutableFileName = (this.$staticConfig.CLIENT_NAME_ALIAS || this.$staticConfig.CLIENT_NAME).toLowerCase();
|
|
207
|
-
const pathToExecutableFile = path.join(__dirname, `../../../bin/${clientExecutableFileName}.js`);
|
|
214
|
+
updateCLIShellScript() {
|
|
215
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
216
|
+
const filePath = this.cliRunCommandsFile;
|
|
217
|
+
try {
|
|
218
|
+
let doUpdate = true;
|
|
208
219
|
if (this.$fs.exists(filePath)) {
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
|
|
220
|
+
const contents = this.$fs.readText(filePath);
|
|
221
|
+
const regExp = new RegExp(AutoCompletionService.GENERATED_TABTAB_COMPLETION_START);
|
|
222
|
+
let matchCondition = contents.match(regExp);
|
|
223
|
+
if (matchCondition) {
|
|
224
|
+
doUpdate = false;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (doUpdate) {
|
|
228
|
+
const clientExecutableFileName = (this.$staticConfig.CLIENT_NAME_ALIAS || this.$staticConfig.CLIENT_NAME).toLowerCase();
|
|
229
|
+
const pathToExecutableFile = path.join(__dirname, `../../../bin/${clientExecutableFileName}.js`);
|
|
230
|
+
if (this.$fs.exists(filePath)) {
|
|
231
|
+
const existingText = this.$fs.readText(filePath);
|
|
232
|
+
let newText = existingText.replace(this.getTabTabCompletionsRegex(), "");
|
|
233
|
+
newText = this.removeOboleteTabTabCompletion(newText);
|
|
234
|
+
if (newText !== existingText) {
|
|
235
|
+
this.$logger.trace("Remove existing AutoCompletion from file %s.", filePath);
|
|
236
|
+
this.$fs.writeFile(filePath, newText);
|
|
237
|
+
}
|
|
215
238
|
}
|
|
239
|
+
// The generated seems to be inconsistent in it's start/end markers so adding our own.
|
|
240
|
+
this.$fs.appendFile(filePath, `\n${AutoCompletionService.GENERATED_TABTAB_COMPLETION_START}\n`);
|
|
241
|
+
yield this.$childProcess.exec(`"${process.argv[0]}" "${pathToExecutableFile}" completion_generate_script >> "${filePath}"`);
|
|
242
|
+
this.$fs.appendFile(filePath, this.completionAliasDefinition);
|
|
243
|
+
this.$fs.chmod(filePath, "0644");
|
|
216
244
|
}
|
|
217
|
-
this.$fs.appendFile(filePath, `\n${AutoCompletionService.GENERATED_TABTAB_COMPLETION_START}\n`);
|
|
218
|
-
await this.$childProcess.exec(`"${process.argv[0]}" "${pathToExecutableFile}" completion_generate_script >> "${filePath}"`);
|
|
219
|
-
this.$fs.appendFile(filePath, this.completionAliasDefinition);
|
|
220
|
-
this.$fs.chmod(filePath, "0644");
|
|
221
245
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
}
|
|
246
|
+
catch (err) {
|
|
247
|
+
this.$logger.info("Failed to update %s. Auto-completion may not work. ", filePath);
|
|
248
|
+
this.$logger.trace(err);
|
|
249
|
+
this.scriptsOk = false;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
228
252
|
}
|
|
229
253
|
getHomePath(fileName) {
|
|
230
254
|
return path.join((0, os_1.homedir)(), fileName);
|
|
231
255
|
}
|
|
232
256
|
}
|
|
233
|
-
exports.AutoCompletionService = AutoCompletionService;
|
|
234
257
|
AutoCompletionService.COMPLETION_START_COMMENT_PATTERN = "###-%s-completion-start-###";
|
|
235
258
|
AutoCompletionService.COMPLETION_END_COMMENT_PATTERN = "###-%s-completion-end-###";
|
|
236
259
|
AutoCompletionService.TABTAB_COMPLETION_START_REGEX_PATTERN = "###-begin-%s-completion-###";
|
|
@@ -249,4 +272,6 @@ __decorate([
|
|
|
249
272
|
__decorate([
|
|
250
273
|
(0, decorators_1.cache)()
|
|
251
274
|
], AutoCompletionService.prototype, "completionShellScriptContent", null);
|
|
275
|
+
exports.AutoCompletionService = AutoCompletionService;
|
|
252
276
|
yok_1.injector.register("autoCompletionService", AutoCompletionService);
|
|
277
|
+
//# sourceMappingURL=auto-completion-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
|
const choki = require("chokidar");
|
|
4
13
|
const path = require("path");
|
|
@@ -15,24 +24,26 @@ class CancellationService {
|
|
|
15
24
|
this.$fs.createDirectory(CancellationService.killSwitchDir);
|
|
16
25
|
}
|
|
17
26
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.$fs.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
begin(name) {
|
|
28
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
+
if (!this.$hostInfo.isWindows) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const triggerFile = CancellationService.makeKillSwitchFileName(name);
|
|
33
|
+
if (!this.$fs.exists(triggerFile)) {
|
|
34
|
+
this.$fs.writeFile(triggerFile, "");
|
|
35
|
+
}
|
|
36
|
+
this.$logger.trace("Starting watch on killswitch %s", triggerFile);
|
|
37
|
+
const watcher = choki
|
|
38
|
+
.watch(triggerFile, { ignoreInitial: true })
|
|
39
|
+
.on("unlink", (filePath) => {
|
|
40
|
+
this.$logger.info(`Exiting process as the file ${filePath} has been deleted. Probably reinstalling CLI while there's a working instance.`);
|
|
41
|
+
process.exit(132 /* ErrorCodes.DELETED_KILL_FILE */);
|
|
42
|
+
});
|
|
43
|
+
if (watcher) {
|
|
44
|
+
this.watches[name] = watcher;
|
|
45
|
+
}
|
|
32
46
|
});
|
|
33
|
-
if (watcher) {
|
|
34
|
-
this.watches[name] = watcher;
|
|
35
|
-
}
|
|
36
47
|
}
|
|
37
48
|
end(name) {
|
|
38
49
|
const watcher = this.watches[name];
|
|
@@ -54,3 +65,4 @@ class CancellationService {
|
|
|
54
65
|
}
|
|
55
66
|
}
|
|
56
67
|
yok_1.injector.register("cancellation", CancellationService);
|
|
68
|
+
//# sourceMappingURL=cancellation.js.map
|