nativescript 8.9.0-dev.1 → 8.9.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config/test-deps-versions-generated.json +1 -1
- package/lib/.d.ts +1 -0
- package/lib/android-tools-info.js +32 -9
- package/lib/base-package-manager.js +71 -47
- package/lib/bootstrap.js +6 -1
- package/lib/bun-package-manager.js +104 -65
- package/lib/color.js +5 -2
- package/lib/commands/add-platform.js +31 -14
- package/lib/commands/apple-login.js +30 -18
- package/lib/commands/appstore-list.js +46 -34
- package/lib/commands/appstore-upload.js +68 -52
- package/lib/commands/build.js +90 -57
- package/lib/commands/clean.js +197 -161
- package/lib/commands/command-base.js +28 -14
- package/lib/commands/config.js +71 -48
- package/lib/commands/create-project.js +235 -210
- package/lib/commands/debug.js +93 -66
- package/lib/commands/deploy.js +47 -30
- package/lib/commands/embedding/embed.js +59 -33
- package/lib/commands/extensibility/install-extension.js +17 -5
- package/lib/commands/extensibility/list-extensions.js +25 -13
- package/lib/commands/extensibility/uninstall-extension.js +16 -4
- package/lib/commands/fonts.js +42 -30
- package/lib/commands/generate-assets.js +29 -13
- package/lib/commands/generate-help.js +14 -2
- package/lib/commands/generate.js +70 -12
- package/lib/commands/info.js +14 -2
- package/lib/commands/install.js +50 -34
- package/lib/commands/list-platforms.js +26 -14
- package/lib/commands/migrate.js +27 -15
- package/lib/commands/native-add.js +51 -23
- package/lib/commands/platform-clean.js +33 -19
- package/lib/commands/plugin/add-plugin.js +26 -12
- package/lib/commands/plugin/build-plugin.js +45 -31
- package/lib/commands/plugin/create-plugin.js +138 -110
- package/lib/commands/plugin/list-plugins.js +34 -22
- package/lib/commands/plugin/remove-plugin.js +35 -20
- package/lib/commands/plugin/update-plugin.js +34 -20
- package/lib/commands/post-install.js +39 -20
- package/lib/commands/prepare.js +39 -22
- package/lib/commands/preview.js +64 -49
- package/lib/commands/remove-platform.js +19 -7
- package/lib/commands/resources/resources-update.js +28 -13
- package/lib/commands/run.js +77 -55
- package/lib/commands/setup.js +1 -0
- package/lib/commands/start.js +20 -6
- package/lib/commands/test-init.js +138 -123
- package/lib/commands/test.js +97 -67
- package/lib/commands/typings.js +143 -126
- package/lib/commands/update-platform.js +40 -22
- package/lib/commands/update.js +45 -30
- package/lib/commands/widget.js +767 -0
- package/lib/common/bootstrap.js +1 -0
- package/lib/common/child-process.js +75 -53
- package/lib/common/codeGeneration/code-entity.js +2 -1
- package/lib/common/codeGeneration/code-printer.js +2 -1
- package/lib/common/command-params.js +19 -7
- package/lib/common/commands/analytics.js +43 -27
- package/lib/common/commands/autocompletion.js +59 -39
- package/lib/common/commands/device/device-log-stream.js +24 -12
- package/lib/common/commands/device/get-file.js +35 -22
- package/lib/common/commands/device/list-applications.js +24 -12
- package/lib/common/commands/device/list-devices.js +90 -72
- package/lib/common/commands/device/list-files.js +36 -23
- package/lib/common/commands/device/put-file.js +35 -22
- package/lib/common/commands/device/run-application.js +26 -12
- package/lib/common/commands/device/stop-application.js +23 -11
- package/lib/common/commands/device/uninstall-application.js +18 -6
- package/lib/common/commands/doctor.js +3 -2
- package/lib/common/commands/generate-messages.js +29 -17
- package/lib/common/commands/help.js +34 -20
- package/lib/common/commands/package-manager-get.js +18 -6
- package/lib/common/commands/package-manager-set.js +21 -9
- package/lib/common/commands/post-install.js +14 -2
- package/lib/common/commands/preuninstall.js +48 -24
- package/lib/common/commands/proxy/proxy-base.js +23 -8
- package/lib/common/commands/proxy/proxy-clear.js +16 -4
- package/lib/common/commands/proxy/proxy-get.js +15 -3
- package/lib/common/commands/proxy/proxy-set.js +101 -87
- package/lib/common/common-lib.js +1 -0
- package/lib/common/constants.js +22 -11
- package/lib/common/decorators.js +70 -10
- package/lib/common/dispatchers.js +106 -80
- package/lib/common/errors.js +116 -91
- package/lib/common/file-system.js +141 -108
- package/lib/common/header.js +5 -1
- package/lib/common/helpers.js +267 -152
- package/lib/common/host-info.js +54 -37
- package/lib/common/http-client.js +128 -93
- package/lib/common/logger/appenders/cli-appender.js +6 -1
- package/lib/common/logger/appenders/emit-appender.js +6 -1
- package/lib/common/logger/layouts/cli-layout.js +3 -1
- package/lib/common/logger/logger.js +9 -4
- package/lib/common/messages/messages.js +6 -0
- package/lib/common/mobile/android/android-application-manager.js +162 -122
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +2 -1
- package/lib/common/mobile/android/android-debug-bridge.js +118 -87
- package/lib/common/mobile/android/android-device-file-system.js +135 -98
- package/lib/common/mobile/android/android-device-hash-service.js +78 -50
- package/lib/common/mobile/android/android-device.js +93 -68
- package/lib/common/mobile/android/android-emulator-services.js +131 -105
- package/lib/common/mobile/android/android-ini-file-parser.js +9 -0
- package/lib/common/mobile/android/android-log-filter.js +5 -1
- package/lib/common/mobile/android/android-virtual-device-service.js +123 -76
- package/lib/common/mobile/android/device-android-debug-bridge.js +30 -13
- package/lib/common/mobile/android/genymotion/genymotion-service.js +123 -91
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +92 -64
- package/lib/common/mobile/android/logcat-helper.js +140 -108
- package/lib/common/mobile/application-manager-base.js +113 -84
- package/lib/common/mobile/device-emitter.js +4 -0
- package/lib/common/mobile/device-log-emitter.js +1 -0
- package/lib/common/mobile/device-log-provider-base.js +19 -7
- package/lib/common/mobile/device-log-provider.js +23 -0
- package/lib/common/mobile/device-platforms-constants.js +1 -0
- package/lib/common/mobile/emulator-helper.js +3 -0
- package/lib/common/mobile/ios/device/ios-application-manager.js +111 -79
- package/lib/common/mobile/ios/device/ios-device-file-system.js +106 -78
- package/lib/common/mobile/ios/device/ios-device-operations.js +146 -105
- package/lib/common/mobile/ios/device/ios-device.js +40 -20
- package/lib/common/mobile/ios/ios-device-base.js +82 -58
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +2 -0
- package/lib/common/mobile/ios/ios-log-filter.js +1 -0
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +96 -63
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +2 -1
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +95 -60
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +48 -27
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +63 -37
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +36 -24
- package/lib/common/mobile/local-to-device-path-data-factory.js +1 -0
- package/lib/common/mobile/log-filter.js +2 -0
- package/lib/common/mobile/logging-levels.js +1 -0
- package/lib/common/mobile/mobile-core/android-device-discovery.js +64 -43
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +35 -21
- package/lib/common/mobile/mobile-core/android-process-service.js +214 -143
- package/lib/common/mobile/mobile-core/device-discovery.js +14 -2
- package/lib/common/mobile/mobile-core/devices-service.js +505 -386
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +37 -24
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +65 -47
- package/lib/common/mobile/mobile-helper.js +27 -15
- package/lib/common/mobile/wp8/wp8-emulator-services.js +53 -25
- package/lib/common/opener.js +3 -2
- package/lib/common/os-info.js +1 -0
- package/lib/common/plist-parser.js +1 -0
- package/lib/common/project-helper.js +1 -0
- package/lib/common/prompter.js +114 -91
- package/lib/common/queue.js +21 -9
- package/lib/common/resource-loader.js +1 -0
- package/lib/common/services/auto-completion-service.js +65 -40
- package/lib/common/services/cancellation.js +29 -17
- package/lib/common/services/commands-service.js +180 -146
- package/lib/common/services/help-service.js +166 -133
- package/lib/common/services/hooks-service.js +121 -93
- package/lib/common/services/ios-notification-service.js +35 -21
- package/lib/common/services/json-file-settings-service.js +77 -52
- package/lib/common/services/lock-service.js +58 -35
- package/lib/common/services/message-contract-generator.js +47 -35
- package/lib/common/services/messages-service.js +1 -0
- package/lib/common/services/micro-templating-service.js +21 -4
- package/lib/common/services/net-service.js +110 -90
- package/lib/common/services/project-files-manager.js +28 -10
- package/lib/common/services/project-files-provider-base.js +1 -0
- package/lib/common/services/proxy-service.js +25 -13
- package/lib/common/services/qr.js +25 -13
- package/lib/common/services/settings-service.js +2 -1
- package/lib/common/services/xcode-select-service.js +36 -20
- package/lib/common/utils.js +3 -2
- package/lib/common/validators/project-name-validator.js +2 -1
- package/lib/common/validators/validation-result.js +2 -1
- package/lib/common/verify-node-version.js +11 -3
- package/lib/common/yok.js +69 -35
- package/lib/config.js +72 -36
- package/lib/constants-provider.js +1 -0
- package/lib/constants.js +78 -25
- package/lib/controllers/build-controller.js +100 -82
- package/lib/controllers/debug-controller.js +133 -107
- package/lib/controllers/deploy-controller.js +24 -15
- package/lib/controllers/migrate-controller.js +884 -723
- package/lib/controllers/platform-controller.js +94 -71
- package/lib/controllers/prepare-controller.js +274 -232
- package/lib/controllers/run-controller.js +427 -397
- package/lib/controllers/update-controller-base.js +30 -16
- package/lib/controllers/update-controller.js +130 -94
- package/lib/data/build-data.js +1 -0
- package/lib/data/controller-data-base.js +1 -0
- package/lib/data/debug-data.js +1 -0
- package/lib/data/platform-data.js +1 -0
- package/lib/data/prepare-data.js +2 -4
- package/lib/data/run-data.js +1 -0
- package/lib/definitions/project.d.ts +26 -0
- package/lib/detached-processes/cleanup-js-subprocess.js +20 -5
- package/lib/detached-processes/cleanup-process.js +43 -30
- package/lib/detached-processes/file-log-service.js +2 -1
- package/lib/device-path-provider.js +35 -23
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +171 -149
- package/lib/device-sockets/ios/notification.js +4 -1
- package/lib/device-sockets/ios/socket-request-executor.js +42 -24
- package/lib/helpers/android-bundle-validator-helper.js +3 -2
- package/lib/helpers/deploy-command-helper.js +50 -44
- package/lib/helpers/key-command-helper.js +17 -6
- package/lib/helpers/livesync-command-helper.js +155 -137
- package/lib/helpers/network-connectivity-validator.js +18 -6
- package/lib/helpers/options-track-helper.js +19 -7
- package/lib/helpers/package-path-helper.js +1 -0
- package/lib/helpers/platform-command-helper.js +127 -101
- package/lib/helpers/version-validator-helper.js +1 -0
- package/lib/key-commands/bootstrap.js +3 -2
- package/lib/key-commands/index.js +205 -154
- package/lib/nativescript-cli-lib-bootstrap.js +4 -0
- package/lib/nativescript-cli-lib.js +1 -0
- package/lib/nativescript-cli.js +24 -6
- package/lib/node/pbxproj-dom-xcode.js +1 -0
- package/lib/node/xcode.js +1 -0
- package/lib/node-package-manager.js +114 -81
- package/lib/options.js +156 -122
- package/lib/package-installation-manager.js +172 -130
- package/lib/package-manager.js +88 -63
- package/lib/platform-command-param.js +16 -4
- package/lib/pnpm-package-manager.js +81 -59
- package/lib/project-data.js +13 -1
- package/lib/providers/project-files-provider.js +2 -1
- package/lib/resolvers/livesync-service-resolver.js +1 -0
- package/lib/services/analytics/analytics-broker-process.js +32 -19
- package/lib/services/analytics/analytics-broker.js +31 -17
- package/lib/services/analytics/analytics-service.js +210 -170
- package/lib/services/analytics/google-analytics-provider.js +59 -43
- package/lib/services/analytics-settings-service.js +37 -15
- package/lib/services/android/android-bundle-tool-service.js +61 -43
- package/lib/services/android/gradle-build-args-service.js +23 -9
- package/lib/services/android/gradle-build-service.js +36 -22
- package/lib/services/android/gradle-command-service.js +36 -22
- package/lib/services/android-device-debug-service.js +123 -90
- package/lib/services/android-plugin-build-service.js +260 -205
- package/lib/services/android-project-service.js +241 -129
- package/lib/services/android-resources-migration-service.js +71 -51
- package/lib/services/apple-portal/apple-portal-application-service.js +64 -46
- package/lib/services/apple-portal/apple-portal-cookie-service.js +1 -0
- package/lib/services/apple-portal/apple-portal-session-service.js +218 -197
- package/lib/services/apple-portal/srp/srp-wrapper.js +61 -43
- package/lib/services/assets-generation/assets-generation-service.js +128 -103
- package/lib/services/build-artifacts-service.js +22 -10
- package/lib/services/build-data-service.js +1 -0
- package/lib/services/build-info-file-service.js +36 -20
- package/lib/services/cleanup-service.js +81 -48
- package/lib/services/cocoapods-platform-manager.js +9 -0
- package/lib/services/cocoapods-service.js +153 -112
- package/lib/services/debug-data-service.js +1 -0
- package/lib/services/debug-service-base.js +7 -0
- package/lib/services/device/device-install-app-service.js +72 -54
- package/lib/services/doctor-service.js +135 -101
- package/lib/services/extensibility-service.js +108 -81
- package/lib/services/files-hash-service.js +44 -26
- package/lib/services/hmr-status-service.js +3 -1
- package/lib/services/info-service.js +1 -0
- package/lib/services/initialize-service.js +54 -37
- package/lib/services/ios/export-options-plist-service.js +55 -38
- package/lib/services/ios/ios-signing-service.js +191 -168
- package/lib/services/ios/spm-service.js +70 -46
- package/lib/services/ios/xcodebuild-args-service.js +103 -77
- package/lib/services/ios/xcodebuild-command-service.js +26 -14
- package/lib/services/ios/xcodebuild-service.js +72 -52
- package/lib/services/ios-debugger-port-service.js +38 -24
- package/lib/services/ios-device-debug-service.js +103 -75
- package/lib/services/ios-entitlements-service.js +43 -31
- package/lib/services/ios-extensions-service.js +30 -18
- package/lib/services/ios-log-filter.js +20 -0
- package/lib/services/ios-native-target-service.js +6 -4
- package/lib/services/ios-project-service.js +605 -437
- package/lib/services/ios-provision-service.js +132 -108
- package/lib/services/ios-watch-app-service.js +33 -21
- package/lib/services/ip-service.js +55 -38
- package/lib/services/itmstransporter-service.js +153 -129
- package/lib/services/karma-execution.js +2 -0
- package/lib/services/livesync/android-device-livesync-service-base.js +49 -31
- package/lib/services/livesync/android-device-livesync-service.js +151 -120
- package/lib/services/livesync/android-device-livesync-sockets-service.js +155 -121
- package/lib/services/livesync/android-livesync-service.js +36 -14
- package/lib/services/livesync/android-livesync-tool.js +117 -90
- package/lib/services/livesync/device-livesync-service-base.js +30 -15
- package/lib/services/livesync/ios-device-livesync-service.js +150 -114
- package/lib/services/livesync/ios-livesync-service.js +60 -42
- package/lib/services/livesync/livesync-socket.js +1 -0
- package/lib/services/livesync/platform-livesync-service-base.js +124 -94
- package/lib/services/livesync-process-data-service.js +1 -0
- package/lib/services/log-parser-service.js +2 -1
- package/lib/services/log-source-map-service.js +56 -30
- package/lib/services/marking-mode-service.js +33 -17
- package/lib/services/metadata-filtering-service.js +1 -0
- package/lib/services/npm-config-service.js +5 -1
- package/lib/services/pacote-service.js +71 -49
- package/lib/services/performance-service.js +4 -2
- package/lib/services/platform/add-platform-service.js +119 -51
- package/lib/services/platform/platform-validation-service.js +34 -22
- package/lib/services/platform/prepare-native-platform-service.js +65 -49
- package/lib/services/platform-environment-requirements.js +43 -27
- package/lib/services/platform-project-service-base.js +1 -0
- package/lib/services/platforms-data-service.js +1 -0
- package/lib/services/plugins-service.js +168 -125
- package/lib/services/prepare-data-service.js +1 -0
- package/lib/services/project-backup-service.js +5 -1
- package/lib/services/project-changes-service.js +152 -124
- package/lib/services/project-cleanup-service.js +79 -64
- package/lib/services/project-config-service.js +111 -73
- package/lib/services/project-data-service.js +154 -108
- package/lib/services/project-name-service.js +44 -28
- package/lib/services/project-service.js +113 -84
- package/lib/services/project-templates-service.js +68 -52
- package/lib/services/qr-code-terminal-service.js +1 -0
- package/lib/services/require-service.js +1 -0
- package/lib/services/start-service.js +60 -41
- package/lib/services/temp-service.js +22 -8
- package/lib/services/terminal-spinner-service.js +28 -15
- package/lib/services/test-execution-service.js +79 -59
- package/lib/services/test-initialization-service.js +6 -2
- package/lib/services/timeline-profiler-service.js +2 -1
- package/lib/services/user-settings-service.js +1 -0
- package/lib/services/versions-service.js +140 -119
- package/lib/services/watch-ignore-list-service.js +1 -0
- package/lib/services/webpack/webpack-compiler-service.js +279 -215
- package/lib/services/xcconfig-service.js +21 -8
- package/lib/services/xcproj-service.js +1 -0
- package/lib/shared-event-bus.js +6 -0
- package/lib/sys-info.js +63 -45
- package/lib/tools/config-manipulation/config-transformer.js +21 -0
- package/lib/tools/node-modules/node-modules-builder.js +28 -16
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +6 -0
- package/lib/yarn-package-manager.js +79 -59
- package/lib/yarn2-package-manager.js +82 -60
- package/node_modules/@npmcli/move-file/LICENSE.md +22 -0
- package/node_modules/@npmcli/move-file/README.md +69 -0
- package/node_modules/@npmcli/move-file/lib/index.js +185 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/LICENSE +21 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/bin/cmd.js +68 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/index.js +31 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/find-made.js +29 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-manual.js +64 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/mkdirp-native.js +39 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/opts-arg.js +23 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/path-arg.js +29 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/lib/use-native.js +10 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/package.json +44 -0
- package/node_modules/@npmcli/move-file/node_modules/mkdirp/readme.markdown +266 -0
- package/node_modules/@npmcli/move-file/package.json +47 -0
- package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
- package/node_modules/balanced-match/LICENSE.md +21 -0
- package/node_modules/balanced-match/README.md +97 -0
- package/node_modules/balanced-match/index.js +62 -0
- package/node_modules/balanced-match/package.json +48 -0
- package/node_modules/concat-map/.travis.yml +4 -0
- package/node_modules/concat-map/LICENSE +18 -0
- package/node_modules/concat-map/README.markdown +62 -0
- package/node_modules/concat-map/example/map.js +6 -0
- package/node_modules/concat-map/index.js +13 -0
- package/node_modules/concat-map/package.json +43 -0
- package/node_modules/concat-map/test/map.js +39 -0
- package/node_modules/fs.realpath/LICENSE +43 -0
- package/node_modules/fs.realpath/README.md +33 -0
- package/node_modules/fs.realpath/index.js +66 -0
- package/node_modules/fs.realpath/old.js +303 -0
- package/node_modules/fs.realpath/package.json +26 -0
- package/node_modules/inflight/LICENSE +15 -0
- package/node_modules/inflight/README.md +37 -0
- package/node_modules/inflight/inflight.js +54 -0
- package/node_modules/inflight/package.json +29 -0
- package/node_modules/inherits/LICENSE +16 -0
- package/node_modules/inherits/README.md +42 -0
- package/node_modules/inherits/inherits.js +9 -0
- package/node_modules/inherits/inherits_browser.js +27 -0
- package/node_modules/inherits/package.json +29 -0
- package/node_modules/once/LICENSE +15 -0
- package/node_modules/once/README.md +79 -0
- package/node_modules/once/once.js +42 -0
- package/node_modules/once/package.json +33 -0
- package/node_modules/path-is-absolute/index.js +20 -0
- package/node_modules/path-is-absolute/license +21 -0
- package/node_modules/path-is-absolute/package.json +43 -0
- package/node_modules/path-is-absolute/readme.md +59 -0
- package/node_modules/rimraf/LICENSE +15 -0
- package/node_modules/rimraf/README.md +101 -0
- package/node_modules/rimraf/bin.js +68 -0
- package/node_modules/rimraf/node_modules/brace-expansion/LICENSE +21 -0
- package/node_modules/rimraf/node_modules/brace-expansion/README.md +129 -0
- package/node_modules/rimraf/node_modules/brace-expansion/index.js +201 -0
- package/node_modules/rimraf/node_modules/brace-expansion/package.json +47 -0
- package/node_modules/rimraf/node_modules/glob/LICENSE +21 -0
- package/node_modules/rimraf/node_modules/glob/README.md +378 -0
- package/node_modules/rimraf/node_modules/glob/common.js +238 -0
- package/node_modules/rimraf/node_modules/glob/glob.js +790 -0
- package/node_modules/rimraf/node_modules/glob/package.json +55 -0
- package/node_modules/rimraf/node_modules/glob/sync.js +486 -0
- package/node_modules/rimraf/node_modules/minimatch/LICENSE +15 -0
- package/node_modules/rimraf/node_modules/minimatch/README.md +230 -0
- package/node_modules/rimraf/node_modules/minimatch/minimatch.js +947 -0
- package/node_modules/rimraf/node_modules/minimatch/package.json +33 -0
- package/node_modules/rimraf/package.json +32 -0
- package/node_modules/rimraf/rimraf.js +360 -0
- package/node_modules/stringify-package/LICENSE +13 -0
- package/node_modules/stringify-package/README.md +55 -0
- package/node_modules/stringify-package/index.js +18 -0
- package/node_modules/stringify-package/package.json +38 -0
- package/node_modules/wrappy/LICENSE +15 -0
- package/node_modules/wrappy/README.md +36 -0
- package/node_modules/wrappy/package.json +29 -0
- package/node_modules/wrappy/wrappy.js +33 -0
- package/package.json +79 -64
package/lib/common/yok.js
CHANGED
|
@@ -1,14 +1,28 @@
|
|
|
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
|
-
exports.Yok = exports.injector = void 0;
|
|
4
|
-
exports.register = register;
|
|
5
|
-
exports.setGlobalInjector = setGlobalInjector;
|
|
12
|
+
exports.setGlobalInjector = exports.Yok = exports.register = exports.injector = void 0;
|
|
6
13
|
const path = require("path");
|
|
7
14
|
const _ = require("lodash");
|
|
8
15
|
const helpers_1 = require("./helpers");
|
|
9
16
|
const constants_1 = require("./constants");
|
|
10
17
|
let indent = "";
|
|
11
18
|
function trace(formatStr, ...args) {
|
|
19
|
+
// uncomment following lines when debugging dependency injection
|
|
20
|
+
// const items: any[] = [];
|
|
21
|
+
// for (let _i = 1; _i < arguments.length; _i++) {
|
|
22
|
+
// items[_i - 1] = arguments[_i];
|
|
23
|
+
// }
|
|
24
|
+
// const util = require("util");
|
|
25
|
+
// console.log(util.format.apply(util, [indent + formatStr].concat(args)));
|
|
12
26
|
}
|
|
13
27
|
function pushIndent() {
|
|
14
28
|
indent += " ";
|
|
@@ -26,9 +40,11 @@ function forEachName(names, action) {
|
|
|
26
40
|
}
|
|
27
41
|
function register(...rest) {
|
|
28
42
|
return function (target) {
|
|
43
|
+
// TODO: Check if 'rest' has more arguments that have to be registered
|
|
29
44
|
exports.injector.register(rest[0], target);
|
|
30
45
|
};
|
|
31
46
|
}
|
|
47
|
+
exports.register = register;
|
|
32
48
|
class Yok {
|
|
33
49
|
constructor() {
|
|
34
50
|
this.overrideAlreadyRequiredModule = false;
|
|
@@ -44,7 +60,7 @@ class Yok {
|
|
|
44
60
|
}
|
|
45
61
|
requireCommand(names, file) {
|
|
46
62
|
forEachName(names, (commandName) => {
|
|
47
|
-
const commands = commandName.split("|");
|
|
63
|
+
const commands = commandName.split("|" /* CommandsDelimiters.HierarchicalCommand */);
|
|
48
64
|
if (commands.length > 1) {
|
|
49
65
|
if (_.startsWith(commands[1], "*") &&
|
|
50
66
|
this.modules[this.createCommandName(commands[0])]) {
|
|
@@ -54,7 +70,7 @@ class Yok {
|
|
|
54
70
|
if (!this.hierarchicalCommands[parentCommandName]) {
|
|
55
71
|
this.hierarchicalCommands[parentCommandName] = [];
|
|
56
72
|
}
|
|
57
|
-
this.hierarchicalCommands[parentCommandName].push(_.tail(commands).join("|"));
|
|
73
|
+
this.hierarchicalCommands[parentCommandName].push(_.tail(commands).join("|" /* CommandsDelimiters.HierarchicalCommand */));
|
|
58
74
|
}
|
|
59
75
|
if (commands.length > 1 &&
|
|
60
76
|
!this.modules[this.createCommandName(commands[0])]) {
|
|
@@ -125,7 +141,7 @@ class Yok {
|
|
|
125
141
|
}
|
|
126
142
|
registerCommand(names, resolver) {
|
|
127
143
|
forEachName(names, (name) => {
|
|
128
|
-
const commands = name.split("|");
|
|
144
|
+
const commands = name.split("|" /* CommandsDelimiters.HierarchicalCommand */);
|
|
129
145
|
this.register(this.createCommandName(name), resolver);
|
|
130
146
|
if (commands.length > 1) {
|
|
131
147
|
this.createHierarchicalCommand(commands[0]);
|
|
@@ -137,7 +153,7 @@ class Yok {
|
|
|
137
153
|
}
|
|
138
154
|
getDefaultCommand(name, commandArguments) {
|
|
139
155
|
const subCommands = this.hierarchicalCommands[name];
|
|
140
|
-
const defaultCommand = _.find(subCommands, (command) => _.some(command.split("|"), (c) => _.startsWith(c, "*")));
|
|
156
|
+
const defaultCommand = _.find(subCommands, (command) => _.some(command.split("|" /* CommandsDelimiters.HierarchicalCommand */), (c) => _.startsWith(c, "*" /* CommandsDelimiters.DefaultCommandSymbol */)));
|
|
141
157
|
return defaultCommand;
|
|
142
158
|
}
|
|
143
159
|
buildHierarchicalCommand(parentCommandName, commandLineArguments) {
|
|
@@ -153,7 +169,7 @@ class Yok {
|
|
|
153
169
|
remainingArguments = _.tail(remainingArguments);
|
|
154
170
|
if ((matchingSubCommandName = _.find(subCommands, (sc) => sc === currentSubCommandName ||
|
|
155
171
|
sc ===
|
|
156
|
-
`${"*"}${currentSubCommandName}`))) {
|
|
172
|
+
`${"*" /* CommandsDelimiters.DefaultCommandSymbol */}${currentSubCommandName}`))) {
|
|
157
173
|
finalSubCommandName = matchingSubCommandName;
|
|
158
174
|
finalRemainingArguments = remainingArguments;
|
|
159
175
|
}
|
|
@@ -162,8 +178,8 @@ class Yok {
|
|
|
162
178
|
finalSubCommandName =
|
|
163
179
|
this.getDefaultCommand(parentCommandName, commandLineArguments) || "";
|
|
164
180
|
finalRemainingArguments = _.difference(commandLineArguments, finalSubCommandName
|
|
165
|
-
.split("|")
|
|
166
|
-
.map((command) => _.startsWith(command, "*")
|
|
181
|
+
.split("|" /* CommandsDelimiters.HierarchicalCommand */)
|
|
182
|
+
.map((command) => _.startsWith(command, "*" /* CommandsDelimiters.DefaultCommandSymbol */)
|
|
167
183
|
? command.substr(1)
|
|
168
184
|
: command));
|
|
169
185
|
}
|
|
@@ -179,7 +195,7 @@ class Yok {
|
|
|
179
195
|
return {
|
|
180
196
|
disableAnalytics: true,
|
|
181
197
|
isHierarchicalCommand: true,
|
|
182
|
-
execute:
|
|
198
|
+
execute: (args) => __awaiter(this, void 0, void 0, function* () {
|
|
183
199
|
const commandsService = exports.injector.resolve("commandsService");
|
|
184
200
|
let commandName = null;
|
|
185
201
|
const defaultCommand = this.getDefaultCommand(name, args);
|
|
@@ -194,7 +210,9 @@ class Yok {
|
|
|
194
210
|
commandName = defaultCommand
|
|
195
211
|
? this.getHierarchicalCommandName(name, defaultCommand)
|
|
196
212
|
: "help";
|
|
197
|
-
|
|
213
|
+
// If we'll execute the default command, but it's full name had been written by the user
|
|
214
|
+
// for example "tns run ios", we have to remove the "ios" option from the arguments that we'll pass to the command.
|
|
215
|
+
if (_.includes(this.hierarchicalCommands[name], "*" /* CommandsDelimiters.DefaultCommandSymbol */ + args[0])) {
|
|
198
216
|
commandArguments = _.tail(args);
|
|
199
217
|
}
|
|
200
218
|
else {
|
|
@@ -203,41 +221,47 @@ class Yok {
|
|
|
203
221
|
}
|
|
204
222
|
}
|
|
205
223
|
else {
|
|
224
|
+
//Execute only default command without arguments
|
|
206
225
|
if (defaultCommand) {
|
|
207
226
|
commandName = this.getHierarchicalCommandName(name, defaultCommand);
|
|
208
227
|
}
|
|
209
228
|
else {
|
|
210
229
|
commandName = "help";
|
|
230
|
+
// Show command-line help
|
|
211
231
|
const options = this.resolve("options");
|
|
212
232
|
options.help = true;
|
|
213
233
|
}
|
|
214
234
|
}
|
|
215
|
-
|
|
216
|
-
},
|
|
235
|
+
yield commandsService.tryExecuteCommand(commandName, commandName === "help" ? [name] : commandArguments);
|
|
236
|
+
}),
|
|
217
237
|
};
|
|
218
238
|
};
|
|
219
239
|
exports.injector.registerCommand(name, factory);
|
|
220
240
|
}
|
|
221
241
|
getHierarchicalCommandName(parentCommandName, subCommandName) {
|
|
222
|
-
return [parentCommandName, subCommandName].join("|");
|
|
223
|
-
}
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
242
|
+
return [parentCommandName, subCommandName].join("|" /* CommandsDelimiters.HierarchicalCommand */);
|
|
243
|
+
}
|
|
244
|
+
isValidHierarchicalCommand(commandName, commandArguments) {
|
|
245
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
246
|
+
if (_.includes(Object.keys(this.hierarchicalCommands), commandName)) {
|
|
247
|
+
const subCommands = this.hierarchicalCommands[commandName];
|
|
248
|
+
if (subCommands) {
|
|
249
|
+
const fullCommandName = this.buildHierarchicalCommand(commandName, commandArguments);
|
|
250
|
+
if (!fullCommandName) {
|
|
251
|
+
// In case buildHierarchicalCommand doesn't find a valid command
|
|
252
|
+
// there isn't a valid command or default with those arguments
|
|
253
|
+
const errors = exports.injector.resolve("errors");
|
|
254
|
+
errors.failWithHelp(constants_1.ERROR_NO_VALID_SUBCOMMAND_FORMAT, commandName);
|
|
255
|
+
}
|
|
256
|
+
return true;
|
|
232
257
|
}
|
|
233
|
-
return true;
|
|
234
258
|
}
|
|
235
|
-
|
|
236
|
-
|
|
259
|
+
return false;
|
|
260
|
+
});
|
|
237
261
|
}
|
|
238
262
|
isDefaultCommand(commandName) {
|
|
239
|
-
return (commandName.indexOf("*") > 0 &&
|
|
240
|
-
commandName.indexOf("|") > 0);
|
|
263
|
+
return (commandName.indexOf("*" /* CommandsDelimiters.DefaultCommandSymbol */) > 0 &&
|
|
264
|
+
commandName.indexOf("|" /* CommandsDelimiters.HierarchicalCommand */) > 0);
|
|
241
265
|
}
|
|
242
266
|
register(name, resolver, shared) {
|
|
243
267
|
shared = shared === undefined ? true : shared;
|
|
@@ -284,6 +308,12 @@ class Yok {
|
|
|
284
308
|
return this.resolveByName(param, ctorArguments);
|
|
285
309
|
}
|
|
286
310
|
}
|
|
311
|
+
/* Regex to match dynamic calls in the following format:
|
|
312
|
+
#{moduleName.functionName} or
|
|
313
|
+
#{moduleName.functionName(param1)} or
|
|
314
|
+
#{moduleName.functionName(param1, param2)} - multiple parameters separated with comma are supported
|
|
315
|
+
Check dynamicCall method for sample usage of this regular expression and see how to determine the passed parameters
|
|
316
|
+
*/
|
|
287
317
|
get dynamicCallRegex() {
|
|
288
318
|
return /#{([^.]+)\.([^}]+?)(\((.+)\))*}/;
|
|
289
319
|
}
|
|
@@ -295,12 +325,14 @@ class Yok {
|
|
|
295
325
|
}
|
|
296
326
|
return module[parsed[2]].apply(module, args);
|
|
297
327
|
}
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
328
|
+
dynamicCall(call, args) {
|
|
329
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
330
|
+
const data = this.getDynamicCallData(call, args);
|
|
331
|
+
if ((0, helpers_1.isPromise)(data)) {
|
|
332
|
+
return yield data;
|
|
333
|
+
}
|
|
334
|
+
return data;
|
|
335
|
+
});
|
|
304
336
|
}
|
|
305
337
|
resolveConstructor(ctor, ctorArguments) {
|
|
306
338
|
(0, helpers_1.annotate)(ctor);
|
|
@@ -411,3 +443,5 @@ function setGlobalInjector(inj) {
|
|
|
411
443
|
global.$injector = exports.injector = inj;
|
|
412
444
|
return inj;
|
|
413
445
|
}
|
|
446
|
+
exports.setGlobalInjector = setGlobalInjector;
|
|
447
|
+
//# sourceMappingURL=yok.js.map
|
package/lib/config.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.StaticConfig = exports.Configuration = void 0;
|
|
4
13
|
const path = require("path");
|
|
@@ -7,8 +16,10 @@ const os = require("os");
|
|
|
7
16
|
const _ = require("lodash");
|
|
8
17
|
const yok_1 = require("./common/yok");
|
|
9
18
|
class Configuration {
|
|
19
|
+
/*don't require logger and everything that has logger as dependency in config.js due to cyclic dependency*/
|
|
10
20
|
constructor($fs) {
|
|
11
21
|
this.$fs = $fs;
|
|
22
|
+
// User specific config
|
|
12
23
|
this.DEBUG = false;
|
|
13
24
|
this.ANDROID_DEBUG_UI = null;
|
|
14
25
|
this.USE_POD_SANDBOX = false;
|
|
@@ -47,6 +58,7 @@ class StaticConfig {
|
|
|
47
58
|
this._userAgent = null;
|
|
48
59
|
}
|
|
49
60
|
get disableCommandHooks() {
|
|
61
|
+
// Never set this to false because it will duplicate execution of hooks realized through method decoration
|
|
50
62
|
return true;
|
|
51
63
|
}
|
|
52
64
|
get HTML_CLI_HELPERS_DIR() {
|
|
@@ -58,14 +70,16 @@ class StaticConfig {
|
|
|
58
70
|
get PATH_TO_BOOTSTRAP() {
|
|
59
71
|
return path.join(__dirname, "bootstrap.js");
|
|
60
72
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
(
|
|
67
|
-
|
|
68
|
-
|
|
73
|
+
getAdbFilePath() {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
if (!this._adbFilePath) {
|
|
76
|
+
const androidToolsInfo = this.$injector.resolve("androidToolsInfo");
|
|
77
|
+
this._adbFilePath =
|
|
78
|
+
(yield androidToolsInfo.getPathToAdbFromAndroidHome()) ||
|
|
79
|
+
(yield this.getAdbFilePathCore());
|
|
80
|
+
}
|
|
81
|
+
return this._adbFilePath;
|
|
82
|
+
});
|
|
69
83
|
}
|
|
70
84
|
get USER_AGENT_NAME() {
|
|
71
85
|
if (!this._userAgent) {
|
|
@@ -85,38 +99,60 @@ class StaticConfig {
|
|
|
85
99
|
get HTML_COMMON_HELPERS_DIR() {
|
|
86
100
|
return path.join(__dirname, "common", "docs", "helpers");
|
|
87
101
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
102
|
+
getAdbFilePathCore() {
|
|
103
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
104
|
+
const $childProcess = this.$injector.resolve("$childProcess");
|
|
105
|
+
try {
|
|
106
|
+
// Do NOT use the adb wrapper because it will end blow up with Segmentation fault because the wrapper uses this method!!!
|
|
107
|
+
const proc = yield $childProcess.spawnFromEvent("adb", ["version"], "exit", undefined, { throwError: false });
|
|
108
|
+
if (proc.stderr) {
|
|
109
|
+
return yield this.spawnPrivateAdb();
|
|
110
|
+
}
|
|
94
111
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
112
|
+
catch (e) {
|
|
113
|
+
if (e.code === "ENOENT") {
|
|
114
|
+
return yield this.spawnPrivateAdb();
|
|
115
|
+
}
|
|
99
116
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
117
|
+
return "adb";
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/*
|
|
121
|
+
Problem:
|
|
122
|
+
1. Adb forks itself as a server which keeps running until adb kill-server is invoked or crashes
|
|
123
|
+
2. On Windows running processes lock their image files due to memory mapping. Locked files prevent their parent directories from deletion and cannot be overwritten.
|
|
124
|
+
3. Update and uninstall scenarios are broken
|
|
125
|
+
Solution:
|
|
126
|
+
- Copy adb and associated files into a temporary directory. Let this copy of adb run persistently
|
|
127
|
+
- On Posix OSes, immediately delete the file to not take file space
|
|
128
|
+
- Tie common lib version to updates of adb, so that when we integrate a newer adb we can use it
|
|
129
|
+
- Adb is named differently on OSes and may have additional files. The code is hairy to accommodate these differences
|
|
130
|
+
*/
|
|
131
|
+
spawnPrivateAdb() {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
const $fs = this.$injector.resolve("$fs"), $childProcess = this.$injector.resolve("$childProcess"), $hostInfo = this.$injector.resolve("$hostInfo");
|
|
134
|
+
// prepare the directory to host our copy of adb
|
|
135
|
+
const defaultAdbDirPath = path.join(__dirname, "common", "resources", "platform-tools", "android", process.platform);
|
|
136
|
+
const pathToPackageJson = path.join(__dirname, "..", "package.json");
|
|
137
|
+
const nsCliVersion = require(pathToPackageJson).version;
|
|
138
|
+
const tmpDir = path.join(os.tmpdir(), `nativescript-cli-${nsCliVersion}`);
|
|
139
|
+
$fs.createDirectory(tmpDir);
|
|
140
|
+
// copy the adb and associated files
|
|
141
|
+
const targetAdb = path.join(tmpDir, "adb");
|
|
142
|
+
// In case directory is missing or it's empty, copy the new adb
|
|
143
|
+
if (!$fs.exists(tmpDir) || !$fs.readDirectory(tmpDir).length) {
|
|
144
|
+
shelljs.cp(path.join(defaultAdbDirPath, "*"), tmpDir); // deliberately ignore copy errors
|
|
145
|
+
// adb loses its executable bit when packed inside electron asar file. Manually fix the issue
|
|
146
|
+
if (!$hostInfo.isWindows) {
|
|
147
|
+
shelljs.chmod("+x", targetAdb);
|
|
148
|
+
}
|
|
115
149
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
150
|
+
// let adb start its global server
|
|
151
|
+
yield $childProcess.spawnFromEvent(targetAdb, ["start-server"], "exit");
|
|
152
|
+
return targetAdb;
|
|
153
|
+
});
|
|
119
154
|
}
|
|
120
155
|
}
|
|
121
156
|
exports.StaticConfig = StaticConfig;
|
|
122
157
|
yok_1.injector.register("staticConfig", StaticConfig);
|
|
158
|
+
//# sourceMappingURL=config.js.map
|