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/errors.js
CHANGED
|
@@ -5,9 +5,17 @@ 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
|
-
exports.Errors = void 0;
|
|
10
|
-
exports.installUncaughtExceptionListener = installUncaughtExceptionListener;
|
|
18
|
+
exports.Errors = exports.installUncaughtExceptionListener = void 0;
|
|
11
19
|
const util = require("util");
|
|
12
20
|
const path = require("path");
|
|
13
21
|
const _ = require("lodash");
|
|
@@ -15,97 +23,109 @@ const source_map_1 = require("source-map");
|
|
|
15
23
|
const helpers_1 = require("./helpers");
|
|
16
24
|
const decorators_1 = require("./decorators");
|
|
17
25
|
const yok_1 = require("./yok");
|
|
26
|
+
// we need this to overwrite .stack property (read-only in Error)
|
|
18
27
|
function Exception() {
|
|
28
|
+
/* intentionally left blank */
|
|
19
29
|
}
|
|
20
30
|
Exception.prototype = new Error();
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
match
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return line;
|
|
34
|
-
});
|
|
35
|
-
const fs = require("fs");
|
|
36
|
-
const remapped = await Promise.all(_.map(parsed, async (parsedLine) => {
|
|
37
|
-
if (_.isString(parsedLine)) {
|
|
38
|
-
return parsedLine;
|
|
39
|
-
}
|
|
40
|
-
const functionName = parsedLine[1];
|
|
41
|
-
const fileName = parsedLine[2];
|
|
42
|
-
const line = +parsedLine[3];
|
|
43
|
-
const column = +parsedLine[4];
|
|
44
|
-
const mapFileName = fileName + ".map";
|
|
45
|
-
if (!fs.existsSync(mapFileName)) {
|
|
46
|
-
return parsedLine.input;
|
|
47
|
-
}
|
|
48
|
-
const mapData = JSON.parse(fs.readFileSync(mapFileName).toString());
|
|
49
|
-
return await source_map_1.SourceMapConsumer.with(mapData, null, (consumer) => {
|
|
50
|
-
const sourcePos = consumer.originalPositionFor({
|
|
51
|
-
line: line,
|
|
52
|
-
column: column,
|
|
53
|
-
});
|
|
54
|
-
if (sourcePos && sourcePos.source) {
|
|
55
|
-
const source = path.join(path.dirname(fileName), sourcePos.source);
|
|
56
|
-
return util.format(" at %s (%s:%s:%s)", functionName, source, sourcePos.line, sourcePos.column);
|
|
31
|
+
function resolveCallStack(error) {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const stackLines = error.stack.split("\n");
|
|
34
|
+
const parsed = _.map(stackLines, (line) => {
|
|
35
|
+
let match = line.match(/^\s*at ([^(]*) \((.*?):([0-9]+):([0-9]+)\)$/);
|
|
36
|
+
if (match) {
|
|
37
|
+
return match;
|
|
38
|
+
}
|
|
39
|
+
match = line.match(/^\s*at (.*?):([0-9]+):([0-9]+)$/);
|
|
40
|
+
if (match) {
|
|
41
|
+
match.splice(1, 0, "<anonymous>");
|
|
42
|
+
return match;
|
|
57
43
|
}
|
|
58
|
-
return
|
|
44
|
+
return line;
|
|
59
45
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
46
|
+
const fs = require("fs");
|
|
47
|
+
const remapped = yield Promise.all(_.map(parsed, (parsedLine) => __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
if (_.isString(parsedLine)) {
|
|
49
|
+
return parsedLine;
|
|
50
|
+
}
|
|
51
|
+
const functionName = parsedLine[1];
|
|
52
|
+
const fileName = parsedLine[2];
|
|
53
|
+
const line = +parsedLine[3];
|
|
54
|
+
const column = +parsedLine[4];
|
|
55
|
+
const mapFileName = fileName + ".map";
|
|
56
|
+
if (!fs.existsSync(mapFileName)) {
|
|
57
|
+
return parsedLine.input;
|
|
58
|
+
}
|
|
59
|
+
const mapData = JSON.parse(fs.readFileSync(mapFileName).toString());
|
|
60
|
+
return yield source_map_1.SourceMapConsumer.with(mapData, null, (consumer) => {
|
|
61
|
+
const sourcePos = consumer.originalPositionFor({
|
|
62
|
+
line: line,
|
|
63
|
+
column: column,
|
|
64
|
+
});
|
|
65
|
+
if (sourcePos && sourcePos.source) {
|
|
66
|
+
const source = path.join(path.dirname(fileName), sourcePos.source);
|
|
67
|
+
return util.format(" at %s (%s:%s:%s)", functionName, source, sourcePos.line, sourcePos.column);
|
|
68
|
+
}
|
|
69
|
+
return util.format(" at %s (%s:%s:%s)", functionName, fileName, line, column);
|
|
70
|
+
});
|
|
71
|
+
})));
|
|
72
|
+
let outputMessage = remapped.join("\n");
|
|
73
|
+
if (outputMessage.indexOf(error.message) === -1) {
|
|
74
|
+
// when fibers throw error in node 0.12.x, the stack does NOT contain the message
|
|
75
|
+
outputMessage = outputMessage.replace(/Error/, "Error: " + error.message);
|
|
76
|
+
}
|
|
77
|
+
return outputMessage;
|
|
78
|
+
});
|
|
66
79
|
}
|
|
67
80
|
function installUncaughtExceptionListener(actionOnException) {
|
|
68
|
-
const handler =
|
|
81
|
+
const handler = (err) => __awaiter(this, void 0, void 0, function* () {
|
|
69
82
|
try {
|
|
70
83
|
let callstack = err.stack;
|
|
71
84
|
if (callstack) {
|
|
72
85
|
try {
|
|
73
|
-
callstack =
|
|
86
|
+
callstack = yield resolveCallStack(err);
|
|
74
87
|
}
|
|
75
88
|
catch (err) {
|
|
76
89
|
console.error("Error while resolving callStack:", err);
|
|
77
90
|
}
|
|
78
91
|
}
|
|
79
92
|
console.error(callstack || err.toString());
|
|
80
|
-
|
|
93
|
+
yield tryTrackException(err, yok_1.injector);
|
|
81
94
|
if (actionOnException) {
|
|
82
95
|
actionOnException();
|
|
83
96
|
}
|
|
84
97
|
}
|
|
85
98
|
catch (err) {
|
|
86
|
-
|
|
99
|
+
// In case the handler throws error and we do not catch it, we'll go in infinite loop of unhandled rejections.
|
|
100
|
+
// We cannot do anything here as even `console.error` may fail. So just exit the process.
|
|
101
|
+
process.exit(131 /* ErrorCodes.UNHANDLED_REJECTION_FAILURE */);
|
|
87
102
|
}
|
|
88
|
-
};
|
|
103
|
+
});
|
|
89
104
|
process.on("uncaughtException", handler);
|
|
90
105
|
process.on("unhandledRejection", handler);
|
|
91
106
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
catch (err) {
|
|
98
|
-
disableAnalytics = true;
|
|
99
|
-
}
|
|
100
|
-
if (!disableAnalytics) {
|
|
107
|
+
exports.installUncaughtExceptionListener = installUncaughtExceptionListener;
|
|
108
|
+
function tryTrackException(error, localInjector) {
|
|
109
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
let disableAnalytics;
|
|
101
111
|
try {
|
|
102
|
-
|
|
103
|
-
await analyticsService.trackException(error, error.message);
|
|
112
|
+
disableAnalytics = localInjector.resolve("staticConfig").disableAnalytics;
|
|
104
113
|
}
|
|
105
|
-
catch (
|
|
106
|
-
|
|
114
|
+
catch (err) {
|
|
115
|
+
// We should get here only in our unit tests.
|
|
116
|
+
disableAnalytics = true;
|
|
107
117
|
}
|
|
108
|
-
|
|
118
|
+
if (!disableAnalytics) {
|
|
119
|
+
try {
|
|
120
|
+
const analyticsService = localInjector.resolve("analyticsService");
|
|
121
|
+
yield analyticsService.trackException(error, error.message);
|
|
122
|
+
}
|
|
123
|
+
catch (e) {
|
|
124
|
+
// Do not replace with logger due to cyclic dependency
|
|
125
|
+
console.error("Error while reporting exception: " + e);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
});
|
|
109
129
|
}
|
|
110
130
|
class Errors {
|
|
111
131
|
constructor($injector) {
|
|
@@ -140,43 +160,47 @@ class Errors {
|
|
|
140
160
|
exception.message = $messagesService.getMessage.apply($messagesService, [opts.formatStr].concat(argsArray));
|
|
141
161
|
}
|
|
142
162
|
catch (err) {
|
|
163
|
+
// Ignore
|
|
143
164
|
}
|
|
144
165
|
exception.stack = new Error(exception.message).stack;
|
|
145
|
-
exception.errorCode = opts.errorCode || 127
|
|
166
|
+
exception.errorCode = opts.errorCode || 127 /* ErrorCodes.UNKNOWN */;
|
|
146
167
|
exception.suggestCommandHelp = suggestCommandHelp;
|
|
147
168
|
exception.proxyAuthenticationRequired = !!opts.proxyAuthenticationRequired;
|
|
148
169
|
exception.printOnStdout = opts.printOnStdout;
|
|
149
170
|
this.$injector.resolve("logger").trace(opts.formatStr);
|
|
150
171
|
throw exception;
|
|
151
172
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
catch (ex) {
|
|
157
|
-
const logger = this.$injector.resolve("logger");
|
|
158
|
-
const loggerLevel = logger.getLevel().toUpperCase();
|
|
159
|
-
const printCallStack = this.printCallStack ||
|
|
160
|
-
loggerLevel === "TRACE" ||
|
|
161
|
-
loggerLevel === "DEBUG";
|
|
162
|
-
const message = printCallStack
|
|
163
|
-
? await resolveCallStack(ex)
|
|
164
|
-
: (0, helpers_1.isInteractive)()
|
|
165
|
-
? `\x1B[31;1m${ex.message}\x1B[0m`
|
|
166
|
-
: ex.message;
|
|
167
|
-
if (ex.printOnStdout) {
|
|
168
|
-
logger.info(message);
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
logger.error(message);
|
|
173
|
+
beginCommand(action, printCommandHelpSuggestion) {
|
|
174
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
175
|
+
try {
|
|
176
|
+
return yield action();
|
|
172
177
|
}
|
|
173
|
-
|
|
174
|
-
|
|
178
|
+
catch (ex) {
|
|
179
|
+
const logger = this.$injector.resolve("logger");
|
|
180
|
+
const loggerLevel = logger.getLevel().toUpperCase();
|
|
181
|
+
const printCallStack = this.printCallStack ||
|
|
182
|
+
loggerLevel === "TRACE" ||
|
|
183
|
+
loggerLevel === "DEBUG";
|
|
184
|
+
const message = printCallStack
|
|
185
|
+
? yield resolveCallStack(ex)
|
|
186
|
+
: (0, helpers_1.isInteractive)()
|
|
187
|
+
? `\x1B[31;1m${ex.message}\x1B[0m`
|
|
188
|
+
: ex.message;
|
|
189
|
+
if (ex.printOnStdout) {
|
|
190
|
+
logger.info(message);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
logger.error(message);
|
|
194
|
+
}
|
|
195
|
+
if (ex.suggestCommandHelp) {
|
|
196
|
+
yield printCommandHelpSuggestion();
|
|
197
|
+
}
|
|
198
|
+
yield tryTrackException(ex, this.$injector);
|
|
199
|
+
process.exit(_.isNumber(ex.errorCode) ? ex.errorCode : 127 /* ErrorCodes.UNKNOWN */);
|
|
175
200
|
}
|
|
176
|
-
|
|
177
|
-
process.exit(_.isNumber(ex.errorCode) ? ex.errorCode : 127);
|
|
178
|
-
}
|
|
201
|
+
});
|
|
179
202
|
}
|
|
203
|
+
// If you want to activate this function, start Node with flags --nouse_idle_notification and --expose_gc
|
|
180
204
|
verifyHeap(message) {
|
|
181
205
|
if (global.gc) {
|
|
182
206
|
console.log("verifyHeap: '%s'", message);
|
|
@@ -184,8 +208,9 @@ class Errors {
|
|
|
184
208
|
}
|
|
185
209
|
}
|
|
186
210
|
}
|
|
187
|
-
exports.Errors = Errors;
|
|
188
211
|
__decorate([
|
|
189
212
|
(0, decorators_1.deprecated)("Use `fail` instead.")
|
|
190
213
|
], Errors.prototype, "failWithoutHelp", null);
|
|
214
|
+
exports.Errors = Errors;
|
|
191
215
|
yok_1.injector.register("errors", Errors);
|
|
216
|
+
//# sourceMappingURL=errors.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
|
var FileSystem_1;
|
|
9
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
19
|
exports.FileSystem = void 0;
|
|
@@ -18,71 +27,78 @@ const shelljs = require("shelljs");
|
|
|
18
27
|
const helpers_1 = require("./helpers");
|
|
19
28
|
const constants_1 = require("../constants");
|
|
20
29
|
const os_1 = require("os");
|
|
21
|
-
const
|
|
30
|
+
const detectNewline = require("detect-newline");
|
|
22
31
|
const archiver_1 = require("archiver");
|
|
32
|
+
const stringifyPackage = require("stringify-package");
|
|
33
|
+
// TODO: Add .d.ts for mkdirp module (or use it from @types repo).
|
|
23
34
|
const mkdirp = require("mkdirp");
|
|
24
35
|
let FileSystem = FileSystem_1 = class FileSystem {
|
|
25
36
|
constructor($injector) {
|
|
26
37
|
this.$injector = $injector;
|
|
27
38
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
zipFiles(zipFile, files, zipPathCallback) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
//we are resolving it here instead of in the constructor, because config has dependency on file system and config shouldn't require logger
|
|
42
|
+
const $logger = this.$injector.resolve("logger");
|
|
43
|
+
const zip = (0, archiver_1.create)("zip", {
|
|
44
|
+
zlib: {
|
|
45
|
+
level: 9,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const outFile = fs.createWriteStream(zipFile);
|
|
49
|
+
zip.pipe(outFile);
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
outFile.on("error", (err) => reject(err));
|
|
52
|
+
outFile.on("close", () => {
|
|
53
|
+
$logger.trace("zip: %d bytes written", zip.pointer());
|
|
54
|
+
resolve();
|
|
55
|
+
});
|
|
56
|
+
for (const file of files) {
|
|
57
|
+
let relativePath = zipPathCallback(file);
|
|
58
|
+
relativePath = relativePath.replace(/\\/g, "/");
|
|
59
|
+
$logger.trace("zipping as '%s' file '%s'", relativePath, file);
|
|
60
|
+
zip.append(fs.createReadStream(file), { name: relativePath });
|
|
61
|
+
}
|
|
62
|
+
zip.finalize();
|
|
42
63
|
});
|
|
43
|
-
for (const file of files) {
|
|
44
|
-
let relativePath = zipPathCallback(file);
|
|
45
|
-
relativePath = relativePath.replace(/\\/g, "/");
|
|
46
|
-
$logger.trace("zipping as '%s' file '%s'", relativePath, file);
|
|
47
|
-
zip.append(fs.createReadStream(file), { name: relativePath });
|
|
48
|
-
}
|
|
49
|
-
zip.finalize();
|
|
50
64
|
});
|
|
51
65
|
}
|
|
52
66
|
utimes(path, atime, mtime) {
|
|
53
67
|
return fs.utimesSync(path, atime, mtime);
|
|
54
68
|
}
|
|
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
|
-
|
|
69
|
+
unzip(zipFile, destinationDir, options, fileFilters) {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const shouldOverwriteFiles = !(options && options.overwriteExisitingFiles === false);
|
|
72
|
+
const isCaseSensitive = !(options && options.caseSensitive === false);
|
|
73
|
+
const $hostInfo = this.$injector.resolve("$hostInfo");
|
|
74
|
+
this.createDirectory(destinationDir);
|
|
75
|
+
let proc;
|
|
76
|
+
if ($hostInfo.isWindows) {
|
|
77
|
+
proc = (0, path_1.join)(__dirname, "resources/platform-tools/unzip/win32/unzip");
|
|
78
|
+
}
|
|
79
|
+
else if ($hostInfo.isDarwin) {
|
|
80
|
+
proc = "unzip"; // darwin unzip is info-zip
|
|
81
|
+
}
|
|
82
|
+
else if ($hostInfo.isLinux) {
|
|
83
|
+
proc = "unzip"; // linux unzip is info-zip
|
|
84
|
+
}
|
|
85
|
+
if (!isCaseSensitive) {
|
|
86
|
+
zipFile = this.findFileCaseInsensitive(zipFile);
|
|
87
|
+
}
|
|
88
|
+
const args = _.flatten([
|
|
89
|
+
"-b",
|
|
90
|
+
shouldOverwriteFiles ? "-o" : "-n",
|
|
91
|
+
isCaseSensitive ? [] : "-C",
|
|
92
|
+
zipFile,
|
|
93
|
+
fileFilters || [],
|
|
94
|
+
"-d",
|
|
95
|
+
destinationDir,
|
|
96
|
+
]);
|
|
97
|
+
const $childProcess = this.$injector.resolve("childProcess");
|
|
98
|
+
yield $childProcess.spawnFromEvent(proc, args, "close", {
|
|
99
|
+
stdio: "ignore",
|
|
100
|
+
detached: true,
|
|
101
|
+
});
|
|
86
102
|
});
|
|
87
103
|
}
|
|
88
104
|
findFileCaseInsensitive(file) {
|
|
@@ -106,6 +122,7 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
106
122
|
}
|
|
107
123
|
catch (err) {
|
|
108
124
|
if (err && err.code !== "ENOENT") {
|
|
125
|
+
// ignore "file doesn't exist" error
|
|
109
126
|
throw err;
|
|
110
127
|
}
|
|
111
128
|
}
|
|
@@ -144,6 +161,7 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
144
161
|
}
|
|
145
162
|
});
|
|
146
163
|
if (root) {
|
|
164
|
+
// console.log("root", paths);
|
|
147
165
|
return Array.from(paths.values()).reduce((sum, current) => sum + current, 0);
|
|
148
166
|
}
|
|
149
167
|
};
|
|
@@ -154,26 +172,28 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
154
172
|
return 0;
|
|
155
173
|
}
|
|
156
174
|
}
|
|
157
|
-
|
|
158
|
-
return
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
175
|
+
futureFromEvent(eventEmitter, event) {
|
|
176
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
+
return new Promise((resolve, reject) => {
|
|
178
|
+
eventEmitter.once(event, function () {
|
|
179
|
+
const args = _.toArray(arguments);
|
|
180
|
+
if (event === "error") {
|
|
181
|
+
const err = args[0];
|
|
182
|
+
reject(err);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
switch (args.length) {
|
|
186
|
+
case 0:
|
|
187
|
+
resolve(undefined);
|
|
188
|
+
break;
|
|
189
|
+
case 1:
|
|
190
|
+
resolve(args[0]);
|
|
191
|
+
break;
|
|
192
|
+
default:
|
|
193
|
+
resolve(args);
|
|
194
|
+
break;
|
|
195
|
+
}
|
|
196
|
+
});
|
|
177
197
|
});
|
|
178
198
|
});
|
|
179
199
|
}
|
|
@@ -216,6 +236,8 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
216
236
|
writeFile(filename, data, encoding) {
|
|
217
237
|
this.createDirectory((0, path_1.dirname)(filename));
|
|
218
238
|
if (!data) {
|
|
239
|
+
// node 14 will no longer coerce unsupported input to strings anymore.
|
|
240
|
+
// clean any null or undefined data
|
|
219
241
|
data = "";
|
|
220
242
|
}
|
|
221
243
|
fs.writeFileSync(filename, data, { encoding: encoding });
|
|
@@ -232,9 +254,9 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
232
254
|
let newline = os_1.EOL;
|
|
233
255
|
if (fs.existsSync(filename)) {
|
|
234
256
|
const existingFile = this.readText(filename);
|
|
235
|
-
newline =
|
|
257
|
+
newline = detectNewline(existingFile);
|
|
236
258
|
}
|
|
237
|
-
stringifiedData =
|
|
259
|
+
stringifiedData = stringifyPackage(data, space, newline);
|
|
238
260
|
}
|
|
239
261
|
else {
|
|
240
262
|
stringifiedData = JSON.stringify(data, null, space);
|
|
@@ -246,6 +268,8 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
246
268
|
return;
|
|
247
269
|
}
|
|
248
270
|
this.createDirectory((0, path_1.dirname)(destinationFileName));
|
|
271
|
+
// MobileApplication.app is resolved as a directory on Mac,
|
|
272
|
+
// therefore we need to copy it recursively as it's not a single file.
|
|
249
273
|
shelljs.cp("-rf", sourceFileName, destinationFileName);
|
|
250
274
|
const err = shelljs.error();
|
|
251
275
|
if (err) {
|
|
@@ -312,16 +336,20 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
312
336
|
symlink(sourcePath, destinationPath, type) {
|
|
313
337
|
fs.symlinkSync(sourcePath, destinationPath, type);
|
|
314
338
|
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
339
|
+
setCurrentUserAsOwner(path, owner) {
|
|
340
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
341
|
+
const $childProcess = this.$injector.resolve("childProcess");
|
|
342
|
+
if (!this.$injector.resolve("$hostInfo").isWindows) {
|
|
343
|
+
const chown = $childProcess.spawn("chown", ["-R", owner, path], {
|
|
344
|
+
stdio: "ignore",
|
|
345
|
+
detached: true,
|
|
346
|
+
});
|
|
347
|
+
yield this.futureFromEvent(chown, "close");
|
|
348
|
+
}
|
|
349
|
+
// nothing to do on Windows, as chown does not work on this platform
|
|
350
|
+
});
|
|
324
351
|
}
|
|
352
|
+
// filterCallback: function(path: String, stat: fs.Stats): Boolean
|
|
325
353
|
enumerateFilesInDirectorySync(directoryPath, filterCallback, opts, foundFiles) {
|
|
326
354
|
foundFiles = foundFiles || [];
|
|
327
355
|
if (!this.exists(directoryPath)) {
|
|
@@ -356,31 +384,35 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
356
384
|
}
|
|
357
385
|
return foundFiles;
|
|
358
386
|
}
|
|
359
|
-
|
|
360
|
-
return
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
387
|
+
getFileShasum(fileName, options) {
|
|
388
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
389
|
+
return new Promise((resolve, reject) => {
|
|
390
|
+
const algorithm = (options && options.algorithm) || "sha1";
|
|
391
|
+
const encoding = (options && options.encoding) || "hex";
|
|
392
|
+
const logger = this.$injector.resolve("$logger");
|
|
393
|
+
const shasumData = crypto.createHash(algorithm);
|
|
394
|
+
const fileStream = this.createReadStream(fileName);
|
|
395
|
+
fileStream.on("data", (data) => {
|
|
396
|
+
shasumData.update(data);
|
|
397
|
+
});
|
|
398
|
+
fileStream.on("end", () => {
|
|
399
|
+
const shasum = shasumData.digest(encoding);
|
|
400
|
+
logger.trace(`Shasum of file ${fileName} is ${shasum}`);
|
|
401
|
+
resolve(shasum);
|
|
402
|
+
});
|
|
403
|
+
fileStream.on("error", (err) => {
|
|
404
|
+
reject(err);
|
|
405
|
+
});
|
|
376
406
|
});
|
|
377
407
|
});
|
|
378
408
|
}
|
|
379
|
-
|
|
380
|
-
return
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
409
|
+
readStdin() {
|
|
410
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
411
|
+
return new Promise((resolve, reject) => {
|
|
412
|
+
let buffer = "";
|
|
413
|
+
process.stdin.on("data", (data) => (buffer += data));
|
|
414
|
+
process.stdin.on("end", () => resolve(buffer));
|
|
415
|
+
});
|
|
384
416
|
});
|
|
385
417
|
}
|
|
386
418
|
rm(options, ...files) {
|
|
@@ -411,9 +443,10 @@ let FileSystem = FileSystem_1 = class FileSystem {
|
|
|
411
443
|
: FileSystem_1.DEFAULT_INDENTATION_CHARACTER;
|
|
412
444
|
}
|
|
413
445
|
};
|
|
414
|
-
exports.FileSystem = FileSystem;
|
|
415
446
|
FileSystem.DEFAULT_INDENTATION_CHARACTER = "\t";
|
|
416
447
|
FileSystem.JSON_OBJECT_REGEXP = new RegExp(`{\\r*\\n*(\\W*)"`, "m");
|
|
417
|
-
|
|
448
|
+
FileSystem = FileSystem_1 = __decorate([
|
|
418
449
|
injector.register("fs")
|
|
419
450
|
], FileSystem);
|
|
451
|
+
exports.FileSystem = FileSystem;
|
|
452
|
+
//# sourceMappingURL=file-system.js.map
|
package/lib/common/header.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.printHeader =
|
|
3
|
+
exports.printHeader = void 0;
|
|
4
4
|
const color_1 = require("../color");
|
|
5
5
|
const yok_1 = require("./yok");
|
|
6
6
|
function printHeader() {
|
|
@@ -13,11 +13,13 @@ function printHeader() {
|
|
|
13
13
|
color_1.color.cyanBright.bold("{N} NativeScript "),
|
|
14
14
|
color_1.color.whiteBright.bold("CLI"),
|
|
15
15
|
color_1.color.dim(` [v${version}] `),
|
|
16
|
+
// color.dim(" │"),
|
|
16
17
|
].join("");
|
|
17
18
|
const tagLine = [
|
|
18
19
|
color_1.color.dim("│ "),
|
|
19
20
|
color_1.color.dim(" → "),
|
|
20
21
|
color_1.color.whiteBright.bold("Empower JavaScript with native APIs "),
|
|
22
|
+
// color.dim(" │"),
|
|
21
23
|
].join("");
|
|
22
24
|
const headerLength = (0, color_1.stripColors)(header).length;
|
|
23
25
|
const tagLineLength = (0, color_1.stripColors)(tagLine).length;
|
|
@@ -27,3 +29,5 @@ function printHeader() {
|
|
|
27
29
|
console.info(" " + tagLine + " ".repeat(width - tagLineLength) + color_1.color.dim("│"));
|
|
28
30
|
console.info(" " + color_1.color.dim("└" + "─".repeat(width - 1) + "┘"));
|
|
29
31
|
}
|
|
32
|
+
exports.printHeader = printHeader;
|
|
33
|
+
//# sourceMappingURL=header.js.map
|