nativescript 9.1.0-alpha.16 → 9.1.0-alpha.17
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/CHANGELOG.md +2571 -0
- package/bin/tns +65 -1
- package/config/config.json +2 -1
- package/config/test-deps-versions-generated.json +1 -1
- package/contracts/package.json +4 -0
- package/docs/man_pages/project/testing/build-android.md +1 -1
- package/lib/android-tools-info.d.ts +19 -0
- package/lib/base-package-manager.d.ts +28 -0
- package/lib/bootstrap.js +2 -1
- package/lib/bun-package-manager.d.ts +16 -0
- package/lib/color.d.ts +39 -0
- package/lib/commands/add-platform.d.ts +14 -0
- package/lib/commands/apple-login.d.ts +14 -0
- package/lib/commands/appstore-list.d.ts +21 -0
- package/lib/commands/appstore-upload.d.ts +25 -0
- package/lib/commands/build.d.ts +58 -0
- package/lib/commands/clean.d.ts +21 -0
- package/lib/commands/command-base.d.ts +16 -0
- package/lib/commands/config.d.ts +30 -0
- package/lib/commands/create-project.d.ts +42 -0
- package/lib/commands/debug.d.ts +53 -0
- package/lib/commands/deploy.d.ts +32 -0
- package/lib/commands/embedding/embed.d.ts +27 -0
- package/lib/commands/extensibility/install-extension.d.ts +10 -0
- package/lib/commands/extensibility/list-extensions.d.ts +9 -0
- package/lib/commands/extensibility/uninstall-extension.d.ts +10 -0
- package/lib/commands/fonts.d.ts +12 -0
- package/lib/commands/generate-assets.d.ts +29 -0
- package/lib/commands/generate-help.d.ts +8 -0
- package/lib/commands/generate.d.ts +12 -0
- package/lib/commands/hooks/common.d.ts +22 -0
- package/lib/commands/hooks/hooks-lock.d.ts +24 -0
- package/lib/commands/hooks/hooks.d.ts +17 -0
- package/lib/commands/info.d.ts +8 -0
- package/lib/commands/install.d.ts +25 -0
- package/lib/commands/list-platforms.d.ts +11 -0
- package/lib/commands/migrate.d.ts +13 -0
- package/lib/commands/native-add.d.ts +49 -0
- package/lib/commands/platform-clean.d.ts +17 -0
- package/lib/commands/plugin/add-plugin.d.ts +13 -0
- package/lib/commands/plugin/build-plugin.d.ts +18 -0
- package/lib/commands/plugin/create-plugin.d.ts +30 -0
- package/lib/commands/plugin/list-plugins.d.ts +12 -0
- package/lib/commands/plugin/remove-plugin.d.ts +14 -0
- package/lib/commands/plugin/update-plugin.d.ts +13 -0
- package/lib/commands/post-install.d.ts +16 -0
- package/lib/commands/prepare.d.ts +40 -0
- package/lib/commands/prepare.js +0 -5
- package/lib/commands/preview.d.ts +18 -0
- package/lib/commands/preview.js +1 -0
- package/lib/commands/remove-platform.d.ts +14 -0
- package/lib/commands/resources/resources-update.d.ts +13 -0
- package/lib/commands/run.d.ts +61 -0
- package/lib/commands/setup.d.ts +8 -0
- package/lib/commands/start.d.ts +9 -0
- package/lib/commands/typings.d.ts +22 -0
- package/lib/commands/update-platform.d.ts +17 -0
- package/lib/commands/update.d.ts +21 -0
- package/lib/commands/widget.d.ts +24 -0
- package/lib/commands/widget.js +0 -1
- package/lib/common/child-process.d.ts +17 -0
- package/lib/common/codeGeneration/code-entity.d.ts +22 -0
- package/lib/common/codeGeneration/code-printer.d.ts +10 -0
- package/lib/common/command-params.d.ts +14 -0
- package/lib/common/commands/analytics.d.ts +30 -0
- package/lib/common/commands/autocompletion.d.ts +35 -0
- package/lib/common/commands/device/device-log-stream.d.ts +16 -0
- package/lib/common/commands/device/get-file.d.ts +14 -0
- package/lib/common/commands/device/list-applications.d.ts +10 -0
- package/lib/common/commands/device/list-devices.d.ts +16 -0
- package/lib/common/commands/device/list-files.d.ts +14 -0
- package/lib/common/commands/device/put-file.d.ts +14 -0
- package/lib/common/commands/device/run-application.d.ts +13 -0
- package/lib/common/commands/device/stop-application.d.ts +10 -0
- package/lib/common/commands/device/uninstall-application.d.ts +10 -0
- package/lib/common/commands/doctor.d.ts +23 -0
- package/lib/common/commands/generate-messages.d.ts +13 -0
- package/lib/common/commands/help.d.ts +14 -0
- package/lib/common/commands/package-manager-get.d.ts +10 -0
- package/lib/common/commands/package-manager-set.d.ts +11 -0
- package/lib/common/commands/post-install.d.ts +9 -0
- package/lib/common/commands/preuninstall.d.ts +16 -0
- package/lib/common/commands/proxy/proxy-base.d.ts +13 -0
- package/lib/common/commands/proxy/proxy-clear.d.ts +9 -0
- package/lib/common/commands/proxy/proxy-get.d.ts +9 -0
- package/lib/common/commands/proxy/proxy-set.d.ts +23 -0
- package/lib/common/constants.d.ts +117 -0
- package/lib/common/contracts/command-registry.d.ts +35 -0
- package/lib/common/contracts/command-registry.js +16 -0
- package/lib/common/contracts/index.d.ts +5 -0
- package/lib/common/contracts/index.js +11 -0
- package/lib/common/contracts/key-command-registry.d.ts +7 -0
- package/lib/common/contracts/key-command-registry.js +16 -0
- package/lib/common/contracts/module-registry.d.ts +4 -0
- package/lib/common/contracts/module-registry.js +16 -0
- package/lib/common/contracts/public-api-builder.d.ts +5 -0
- package/lib/common/contracts/public-api-builder.js +16 -0
- package/lib/common/declarations.d.ts +12 -1
- package/lib/common/decorators.d.ts +13 -0
- package/lib/common/define-command.d.ts +53 -0
- package/lib/common/define-command.js +147 -0
- package/lib/common/define-hook.d.ts +29 -0
- package/lib/common/define-hook.js +101 -0
- package/lib/common/definitions/commands.d.ts +7 -0
- package/lib/common/definitions/extensibility.d.ts +7 -0
- package/lib/common/definitions/key-commands.d.ts +25 -0
- package/lib/common/definitions/yok.d.ts +43 -35
- package/lib/common/deprecation.d.ts +12 -0
- package/lib/common/deprecation.js +56 -0
- package/lib/common/di/contract.d.ts +7 -0
- package/lib/common/di/contract.js +34 -0
- package/lib/common/di/forward-ref.d.ts +2 -0
- package/lib/common/di/forward-ref.js +15 -0
- package/lib/common/di/index.d.ts +8 -0
- package/lib/common/di/index.js +19 -0
- package/lib/common/di/inject.d.ts +8 -0
- package/lib/common/di/inject.js +41 -0
- package/lib/common/di/injector.d.ts +38 -0
- package/lib/common/di/injector.js +268 -0
- package/lib/common/di/providers.d.ts +30 -0
- package/lib/common/di/providers.js +7 -0
- package/lib/common/dispatchers.d.ts +21 -0
- package/lib/common/enums.d.ts +34 -0
- package/lib/common/errors.d.ts +15 -0
- package/lib/common/file-system.d.ts +77 -0
- package/lib/common/header.d.ts +1 -0
- package/lib/common/helpers.d.ts +62 -0
- package/lib/common/helpers.js +3 -3
- package/lib/common/host-info.d.ts +24 -0
- package/lib/common/http-client.d.ts +14 -0
- package/lib/common/http-client.js +11 -0
- package/lib/common/logger/appenders/cli-appender.d.ts +2 -0
- package/lib/common/logger/appenders/emit-appender.d.ts +5 -0
- package/lib/common/logger/layouts/cli-layout.d.ts +2 -0
- package/lib/common/logger/logger.d.ts +24 -0
- package/lib/common/messages/messages.d.ts +7 -0
- package/lib/common/mobile/android/android-application-manager.d.ts +31 -0
- package/lib/common/mobile/android/android-debug-bridge-result-handler.d.ts +9 -0
- package/lib/common/mobile/android/android-debug-bridge.d.ts +24 -0
- package/lib/common/mobile/android/android-device-file-system.d.ts +26 -0
- package/lib/common/mobile/android/android-device-hash-service.d.ts +23 -0
- package/lib/common/mobile/android/android-device.d.ts +24 -0
- package/lib/common/mobile/android/android-emulator-services.d.ts +23 -0
- package/lib/common/mobile/android/android-ini-file-parser.d.ts +8 -0
- package/lib/common/mobile/android/android-log-filter.d.ts +11 -0
- package/lib/common/mobile/android/android-virtual-device-service.d.ts +37 -0
- package/lib/common/mobile/android/device-android-debug-bridge.d.ts +18 -0
- package/lib/common/mobile/android/genymotion/genymotion-service.d.ts +26 -0
- package/lib/common/mobile/android/genymotion/virtualbox-service.d.ts +13 -0
- package/lib/common/mobile/android/logcat-helper.d.ts +17 -0
- package/lib/common/mobile/application-manager-base.d.ts +27 -0
- package/lib/common/mobile/device-emitter.d.ts +8 -0
- package/lib/common/mobile/device-log-emitter.d.ts +9 -0
- package/lib/common/mobile/device-log-provider-base.d.ts +21 -0
- package/lib/common/mobile/device-log-provider.d.ts +21 -0
- package/lib/common/mobile/device-platforms-constants.d.ts +8 -0
- package/lib/common/mobile/emulator-helper.d.ts +32 -0
- package/lib/common/mobile/ios/device/ios-application-manager.d.ts +27 -0
- package/lib/common/mobile/ios/device/ios-device-file-system.d.ts +19 -0
- package/lib/common/mobile/ios/device/ios-device-operations.d.ts +29 -0
- package/lib/common/mobile/ios/device/ios-device.d.ts +32 -0
- package/lib/common/mobile/ios/ios-device-base.d.ts +24 -0
- package/lib/common/mobile/ios/ios-log-filter.d.ts +6 -0
- package/lib/common/mobile/ios/simulator/ios-emulator-services.d.ts +1 -0
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.d.ts +7 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.d.ts +27 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-device.d.ts +27 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.d.ts +16 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.d.ts +15 -0
- package/lib/common/mobile/local-to-device-path-data-factory.d.ts +3 -0
- package/lib/common/mobile/log-filter.d.ts +13 -0
- package/lib/common/mobile/logging-levels.d.ts +4 -0
- package/lib/common/mobile/mobile-core/android-device-discovery.d.ts +16 -0
- package/lib/common/mobile/mobile-core/android-emulator-discovery.d.ts +11 -0
- package/lib/common/mobile/mobile-core/android-process-service.d.ts +33 -0
- package/lib/common/mobile/mobile-core/device-discovery.d.ts +12 -0
- package/lib/common/mobile/mobile-core/devices-service.d.ts +99 -0
- package/lib/common/mobile/mobile-core/ios-device-discovery.d.ts +12 -0
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.d.ts +20 -0
- package/lib/common/mobile/mobile-helper.d.ts +22 -0
- package/lib/common/mobile/wp8/wp8-emulator-services.d.ts +1 -0
- package/lib/common/opener.d.ts +4 -0
- package/lib/common/os-info.d.ts +7 -0
- package/lib/common/plist-parser.d.ts +5 -0
- package/lib/common/project-helper.d.ts +15 -0
- package/lib/common/prompter.d.ts +23 -0
- package/lib/common/queue.d.ts +8 -0
- package/lib/common/resource-loader.d.ts +10 -0
- package/lib/common/services/analytics/google-analytics-custom-dimensions.d.ts +9 -0
- package/lib/common/services/auto-completion-service.d.ts +36 -0
- package/lib/common/services/cancellation.d.ts +1 -0
- package/lib/common/services/command-definition-adapter.d.ts +6 -0
- package/lib/common/services/command-definition-adapter.js +141 -0
- package/lib/common/services/commands-service.d.ts +30 -0
- package/lib/common/services/commands-service.js +2 -1
- package/lib/common/services/help-service.d.ts +46 -0
- package/lib/common/services/hooks-service.d.ts +40 -0
- package/lib/common/services/hooks-service.js +110 -51
- package/lib/common/services/ios-notification-service.d.ts +7 -0
- package/lib/common/services/json-file-settings-service.d.ts +24 -0
- package/lib/common/services/lock-service.d.ts +18 -0
- package/lib/common/services/message-contract-generator.d.ts +8 -0
- package/lib/common/services/messages-service.d.ts +15 -0
- package/lib/common/services/micro-templating-service.d.ts +12 -0
- package/lib/common/services/net-service.d.ts +13 -0
- package/lib/common/services/project-files-manager.d.ts +14 -0
- package/lib/common/services/project-files-provider-base.d.ts +12 -0
- package/lib/common/services/proxy-service.d.ts +12 -0
- package/lib/common/services/qr.d.ts +7 -0
- package/lib/common/services/settings-service.d.ts +10 -0
- package/lib/common/services/xcode-select-service.d.ts +12 -0
- package/lib/common/utils.d.ts +10 -0
- package/lib/common/validators/project-name-validator.d.ts +18 -0
- package/lib/common/validators/validation-result.d.ts +7 -0
- package/lib/common/verify-node-version.d.ts +3 -0
- package/lib/common/yok.d.ts +60 -0
- package/lib/common/yok.js +161 -133
- package/lib/config.d.ts +45 -0
- package/lib/config.js +2 -1
- package/lib/constants-provider.d.ts +4 -0
- package/lib/constants.d.ts +331 -0
- package/lib/constants.js +7 -2
- package/lib/contracts/doctor-service.d.ts +20 -0
- package/lib/contracts/doctor-service.js +16 -0
- package/lib/contracts/index.d.ts +14 -0
- package/lib/contracts/index.js +32 -0
- package/lib/contracts/project-name-service.d.ts +5 -0
- package/lib/contracts/project-name-service.js +16 -0
- package/lib/controllers/build-controller.d.ts +23 -0
- package/lib/controllers/debug-controller.d.ts +31 -0
- package/lib/controllers/deploy-controller.d.ts +7 -0
- package/lib/controllers/migrate-controller.d.ts +67 -0
- package/lib/controllers/platform-controller.d.ts +20 -0
- package/lib/controllers/prepare-controller.d.ts +45 -0
- package/lib/controllers/run-controller.d.ts +57 -0
- package/lib/controllers/update-controller-base.d.ts +27 -0
- package/lib/controllers/update-controller.d.ts +36 -0
- package/lib/data/build-data.d.ts +33 -0
- package/lib/data/controller-data-base.d.ts +8 -0
- package/lib/data/debug-data.d.ts +2 -0
- package/lib/data/platform-data.d.ts +7 -0
- package/lib/data/prepare-data.d.ts +22 -0
- package/lib/data/run-data.d.ts +6 -0
- package/lib/declarations.d.ts +2 -1
- package/lib/definitions/ios.d.ts +36 -1
- package/lib/definitions/system-warnings.d.ts +4 -0
- package/lib/detached-processes/cleanup-js-subprocess.d.ts +2 -0
- package/lib/detached-processes/cleanup-process.d.ts +1 -0
- package/lib/detached-processes/detached-process-enums.d.ts +18 -0
- package/lib/detached-processes/file-log-service.d.ts +7 -0
- package/lib/device-path-provider.d.ts +9 -0
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.d.ts +22 -0
- package/lib/device-sockets/ios/notification.d.ts +13 -0
- package/lib/device-sockets/ios/socket-request-executor.d.ts +11 -0
- package/lib/helpers/android-bundle-validator-helper.d.ts +18 -0
- package/lib/helpers/deploy-command-helper.d.ts +16 -0
- package/lib/helpers/key-command-helper.d.ts +13 -0
- package/lib/helpers/livesync-command-helper.d.ts +36 -0
- package/lib/helpers/network-connectivity-validator.d.ts +12 -0
- package/lib/helpers/options-track-helper.d.ts +14 -0
- package/lib/helpers/package-path-helper.d.ts +2 -0
- package/lib/helpers/platform-command-helper.d.ts +35 -0
- package/lib/helpers/version-validator-helper.d.ts +8 -0
- package/lib/key-commands/bootstrap.d.ts +1 -0
- package/lib/key-commands/index.d.ts +166 -0
- package/lib/nativescript-cli-lib-bootstrap.d.ts +1 -0
- package/lib/nativescript-cli-lib.d.ts +1 -0
- package/lib/nativescript-cli.d.ts +1 -0
- package/lib/node/pbxproj-dom-xcode.d.ts +4 -0
- package/lib/node/xcode.d.ts +2 -0
- package/lib/node-package-manager.d.ts +16 -0
- package/lib/options.d.ts +33 -0
- package/lib/options.js +70 -43
- package/lib/package-installation-manager.d.ts +30 -0
- package/lib/package-manager.d.ts +32 -0
- package/lib/platform-command-param.d.ts +10 -0
- package/lib/pnpm-package-manager.d.ts +16 -0
- package/lib/project-data.d.ts +58 -0
- package/lib/providers/project-files-provider.d.ts +12 -0
- package/lib/resolvers/livesync-service-resolver.d.ts +9 -0
- package/lib/services/analytics/analytics-broker-process.d.ts +1 -0
- package/lib/services/analytics/analytics-broker.d.ts +11 -0
- package/lib/services/analytics/analytics-service.d.ts +46 -0
- package/lib/services/analytics/google-analytics-provider.d.ts +22 -0
- package/lib/services/analytics/google-analytics-provider.js +84 -83
- package/lib/services/analytics-settings-service.d.ts +1 -0
- package/lib/services/android/android-bundle-tool-service.d.ts +27 -0
- package/lib/services/android/android-bundle-tool-service.js +102 -3
- package/lib/services/android/gradle-build-args-service.d.ts +17 -0
- package/lib/services/android/gradle-build-service.d.ts +12 -0
- package/lib/services/android/gradle-command-service.d.ts +11 -0
- package/lib/services/android-device-debug-service.d.ts +30 -0
- package/lib/services/android-plugin-build-service.d.ts +55 -0
- package/lib/services/android-project-service.d.ts +75 -0
- package/lib/services/android-resources-migration-service.d.ts +17 -0
- package/lib/services/apple-portal/apple-portal-application-service.d.ts +12 -0
- package/lib/services/apple-portal/apple-portal-cookie-service.d.ts +10 -0
- package/lib/services/apple-portal/apple-portal-session-service.d.ts +19 -0
- package/lib/services/apple-portal/srp/srp-wrapper.d.ts +29 -0
- package/lib/services/assets-generation/assets-generation-service.d.ts +24 -0
- package/lib/services/build-artifacts-service.d.ts +16 -0
- package/lib/services/build-data-service.d.ts +7 -0
- package/lib/services/build-info-file-service.d.ts +16 -0
- package/lib/services/bundler/bundler-compiler-service.d.ts +50 -0
- package/lib/services/bundler/bundler-compiler-service.js +2 -1
- package/lib/services/bundler/bundler.d.ts +75 -0
- package/lib/services/cleanup-service.d.ts +29 -0
- package/lib/services/cocoapods-platform-manager.d.ts +17 -0
- package/lib/services/cocoapods-service.d.ts +47 -0
- package/lib/services/debug-data-service.d.ts +7 -0
- package/lib/services/debug-service-base.d.ts +12 -0
- package/lib/services/device/device-install-app-service.d.ts +19 -0
- package/lib/services/doctor-service.d.ts +51 -0
- package/lib/services/doctor-service.js +14 -11
- package/lib/services/extensibility-service.d.ts +36 -0
- package/lib/services/extensibility-service.js +126 -5
- package/lib/services/files-hash-service.d.ts +17 -0
- package/lib/services/hmr-status-service.d.ts +19 -0
- package/lib/services/info-service.d.ts +6 -0
- package/lib/services/initialize-service.d.ts +8 -0
- package/lib/services/ios/export-options-plist-service.d.ts +13 -0
- package/lib/services/ios/ios-signing-service.d.ts +33 -0
- package/lib/services/ios/spm-pbxproj-service.d.ts +16 -0
- package/lib/services/ios/spm-pbxproj-service.js +234 -0
- package/lib/services/ios/spm-service.d.ts +35 -0
- package/lib/services/ios/spm-service.js +10 -19
- package/lib/services/ios/xcodebuild-args-service.d.ts +20 -0
- package/lib/services/ios/xcodebuild-command-service.d.ts +17 -0
- package/lib/services/ios/xcodebuild-service.d.ts +13 -0
- package/lib/services/ios-debugger-port-service.d.ts +20 -0
- package/lib/services/ios-device-debug-service.d.ts +29 -0
- package/lib/services/ios-entitlements-service.d.ts +19 -0
- package/lib/services/ios-entitlements-service.js +3 -3
- package/lib/services/ios-extensions-service.d.ts +12 -0
- package/lib/services/ios-log-filter.d.ts +11 -0
- package/lib/services/ios-native-target-service.d.ts +14 -0
- package/lib/services/ios-project-service.d.ts +108 -0
- package/lib/services/ios-project-service.js +2 -2
- package/lib/services/ios-provision-service.d.ts +18 -0
- package/lib/services/ios-watch-app-service.d.ts +39 -0
- package/lib/services/ios-watch-app-service.js +8 -15
- package/lib/services/ip-service.d.ts +10 -0
- package/lib/services/itmstransporter-service.d.ts +26 -0
- package/lib/services/karma-execution.d.ts +1 -0
- package/lib/services/livesync/android-device-livesync-service-base.d.ts +19 -0
- package/lib/services/livesync/android-device-livesync-service.d.ts +24 -0
- package/lib/services/livesync/android-device-livesync-sockets-service.d.ts +36 -0
- package/lib/services/livesync/android-livesync-service.d.ts +16 -0
- package/lib/services/livesync/android-livesync-tool.d.ts +58 -0
- package/lib/services/livesync/device-livesync-service-base.d.ts +13 -0
- package/lib/services/livesync/ios-device-livesync-service.d.ts +28 -0
- package/lib/services/livesync/ios-livesync-service.d.ts +17 -0
- package/lib/services/livesync/livesync-socket.d.ts +5 -0
- package/lib/services/livesync/platform-livesync-service-base.d.ts +25 -0
- package/lib/services/livesync-process-data-service.d.ts +10 -0
- package/lib/services/log-parser-service.d.ts +11 -0
- package/lib/services/log-source-map-service.d.ts +28 -0
- package/lib/services/marking-mode-service.d.ts +12 -0
- package/lib/services/metadata-filtering-service.d.ts +19 -0
- package/lib/services/npm-config-service.d.ts +7 -0
- package/lib/services/pacote-service.d.ts +16 -0
- package/lib/services/performance-service.d.ts +19 -0
- package/lib/services/platform/add-platform-service.d.ts +21 -0
- package/lib/services/platform/platform-validation-service.d.ts +17 -0
- package/lib/services/platform/prepare-native-platform-service.d.ts +15 -0
- package/lib/services/platform-environment-requirements.d.ts +15 -0
- package/lib/services/platform-project-service-base.d.ts +14 -0
- package/lib/services/platforms-data-service.d.ts +9 -0
- package/lib/services/plugins-service.d.ts +60 -0
- package/lib/services/prepare-data-service.d.ts +7 -0
- package/lib/services/project-backup-service.d.ts +12 -0
- package/lib/services/project-changes-service.d.ts +30 -0
- package/lib/services/project-cleanup-service.d.ts +13 -0
- package/lib/services/project-config-service.d.ts +33 -0
- package/lib/services/project-config-service.js +33 -11
- package/lib/services/project-data-service.d.ts +48 -0
- package/lib/services/project-name-service.d.ts +16 -0
- package/lib/services/project-name-service.js +4 -4
- package/lib/services/project-service.d.ts +34 -0
- package/lib/services/project-templates-service.d.ts +18 -0
- package/lib/services/qr-code-terminal-service.d.ts +5 -0
- package/lib/services/require-service.d.ts +3 -0
- package/lib/services/start-service.d.ts +30 -0
- package/lib/services/temp-service.d.ts +14 -0
- package/lib/services/terminal-spinner-service.d.ts +5 -0
- package/lib/services/test-execution-service.d.ts +26 -0
- package/lib/services/test-initialization-service.d.ts +10 -0
- package/lib/services/timeline-profiler-service.d.ts +18 -0
- package/lib/services/user-settings-service.d.ts +14 -0
- package/lib/services/versions-service.d.ts +5 -0
- package/lib/services/watch-ignore-list-service.d.ts +7 -0
- package/lib/services/xcconfig-service.d.ts +15 -0
- package/lib/services/xcproj-service.d.ts +1 -0
- package/lib/shared-event-bus.d.ts +1 -0
- package/lib/sys-info.d.ts +18 -0
- package/lib/tools/config-manipulation/config-transformer.d.ts +28 -0
- package/lib/tools/config-manipulation/config-transformer.js +15 -7
- package/lib/tools/node-modules/node-modules-builder.d.ts +9 -0
- package/lib/tools/node-modules/node-modules-dependencies-builder.d.ts +10 -0
- package/lib/tools/plist-merge/plist-session.d.ts +30 -0
- package/lib/tools/plist-merge/plist-session.js +92 -0
- package/lib/yarn-package-manager.d.ts +16 -0
- package/lib/yarn2-package-manager.d.ts +18 -0
- package/package.json +11 -107
- package/postinstall.js +7 -2
- package/node_modules/debug/LICENSE +0 -20
- package/node_modules/debug/README.md +0 -481
- package/node_modules/debug/package.json +0 -64
- package/node_modules/debug/src/browser.js +0 -272
- package/node_modules/debug/src/common.js +0 -292
- package/node_modules/debug/src/index.js +0 -10
- package/node_modules/debug/src/node.js +0 -263
- package/node_modules/ms/index.js +0 -162
- package/node_modules/ms/license.md +0 -21
- package/node_modules/ms/package.json +0 -38
- package/node_modules/ms/readme.md +0 -59
- package/node_modules/universal-analytics/.travis.yml +0 -11
- package/node_modules/universal-analytics/AcceptableParams.md +0 -757
- package/node_modules/universal-analytics/HISTORY.md +0 -170
- package/node_modules/universal-analytics/Makefile +0 -5
- package/node_modules/universal-analytics/README.md +0 -651
- package/node_modules/universal-analytics/index.js +0 -2
- package/node_modules/universal-analytics/lib/config.js +0 -171
- package/node_modules/universal-analytics/lib/index.js +0 -563
- package/node_modules/universal-analytics/lib/request.js +0 -73
- package/node_modules/universal-analytics/lib/utils.js +0 -29
- package/node_modules/universal-analytics/package.json +0 -33
- package/node_modules/universal-analytics/test/_enqueue.js +0 -144
- package/node_modules/universal-analytics/test/event.js +0 -346
- package/node_modules/universal-analytics/test/exception.js +0 -233
- package/node_modules/universal-analytics/test/index.js +0 -141
- package/node_modules/universal-analytics/test/item.js +0 -550
- package/node_modules/universal-analytics/test/middleware.js +0 -119
- package/node_modules/universal-analytics/test/mocha.opts +0 -3
- package/node_modules/universal-analytics/test/pageview.js +0 -286
- package/node_modules/universal-analytics/test/send.js +0 -232
- package/node_modules/universal-analytics/test/set.js +0 -68
- package/node_modules/universal-analytics/test/timing.js +0 -363
- package/node_modules/universal-analytics/test/transaction.js +0 -371
- package/node_modules/uuid/LICENSE.md +0 -9
- package/node_modules/uuid/README.md +0 -510
- package/node_modules/uuid/dist/cjs/index.d.ts +0 -15
- package/node_modules/uuid/dist/cjs/index.js +0 -31
- package/node_modules/uuid/dist/cjs/max.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/max.js +0 -3
- package/node_modules/uuid/dist/cjs/md5.d.ts +0 -4
- package/node_modules/uuid/dist/cjs/md5.js +0 -13
- package/node_modules/uuid/dist/cjs/native.d.ts +0 -6
- package/node_modules/uuid/dist/cjs/native.js +0 -4
- package/node_modules/uuid/dist/cjs/nil.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/nil.js +0 -3
- package/node_modules/uuid/dist/cjs/package.json +0 -1
- package/node_modules/uuid/dist/cjs/parse.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/parse.js +0 -11
- package/node_modules/uuid/dist/cjs/regex.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/regex.js +0 -3
- package/node_modules/uuid/dist/cjs/rng.d.ts +0 -1
- package/node_modules/uuid/dist/cjs/rng.js +0 -13
- package/node_modules/uuid/dist/cjs/sha1.d.ts +0 -4
- package/node_modules/uuid/dist/cjs/sha1.js +0 -13
- package/node_modules/uuid/dist/cjs/stringify.d.ts +0 -3
- package/node_modules/uuid/dist/cjs/stringify.js +0 -39
- package/node_modules/uuid/dist/cjs/types.d.ts +0 -21
- package/node_modules/uuid/dist/cjs/types.js +0 -2
- package/node_modules/uuid/dist/cjs/uuid-bin.js +0 -72
- package/node_modules/uuid/dist/cjs/v1.d.ts +0 -11
- package/node_modules/uuid/dist/cjs/v1.js +0 -87
- package/node_modules/uuid/dist/cjs/v1ToV6.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/v1ToV6.js +0 -13
- package/node_modules/uuid/dist/cjs/v3.d.ts +0 -9
- package/node_modules/uuid/dist/cjs/v3.js +0 -14
- package/node_modules/uuid/dist/cjs/v35.d.ts +0 -7
- package/node_modules/uuid/dist/cjs/v35.js +0 -41
- package/node_modules/uuid/dist/cjs/v4.d.ts +0 -4
- package/node_modules/uuid/dist/cjs/v4.js +0 -29
- package/node_modules/uuid/dist/cjs/v5.d.ts +0 -9
- package/node_modules/uuid/dist/cjs/v5.js +0 -14
- package/node_modules/uuid/dist/cjs/v6.d.ts +0 -4
- package/node_modules/uuid/dist/cjs/v6.js +0 -19
- package/node_modules/uuid/dist/cjs/v6ToV1.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/v6ToV1.js +0 -13
- package/node_modules/uuid/dist/cjs/v7.d.ts +0 -9
- package/node_modules/uuid/dist/cjs/v7.js +0 -69
- package/node_modules/uuid/dist/cjs/validate.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/validate.js +0 -7
- package/node_modules/uuid/dist/cjs/version.d.ts +0 -2
- package/node_modules/uuid/dist/cjs/version.js +0 -10
- package/node_modules/uuid/dist/cjs-browser/index.d.ts +0 -15
- package/node_modules/uuid/dist/cjs-browser/index.js +0 -31
- package/node_modules/uuid/dist/cjs-browser/max.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/max.js +0 -3
- package/node_modules/uuid/dist/cjs-browser/md5.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/md5.js +0 -137
- package/node_modules/uuid/dist/cjs-browser/native.d.ts +0 -4
- package/node_modules/uuid/dist/cjs-browser/native.js +0 -4
- package/node_modules/uuid/dist/cjs-browser/nil.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/nil.js +0 -3
- package/node_modules/uuid/dist/cjs-browser/package.json +0 -1
- package/node_modules/uuid/dist/cjs-browser/parse.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/parse.js +0 -11
- package/node_modules/uuid/dist/cjs-browser/regex.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/regex.js +0 -3
- package/node_modules/uuid/dist/cjs-browser/rng.d.ts +0 -1
- package/node_modules/uuid/dist/cjs-browser/rng.js +0 -14
- package/node_modules/uuid/dist/cjs-browser/sha1.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/sha1.js +0 -72
- package/node_modules/uuid/dist/cjs-browser/stringify.d.ts +0 -3
- package/node_modules/uuid/dist/cjs-browser/stringify.js +0 -39
- package/node_modules/uuid/dist/cjs-browser/types.d.ts +0 -21
- package/node_modules/uuid/dist/cjs-browser/types.js +0 -2
- package/node_modules/uuid/dist/cjs-browser/uuid-bin.js +0 -72
- package/node_modules/uuid/dist/cjs-browser/v1.d.ts +0 -11
- package/node_modules/uuid/dist/cjs-browser/v1.js +0 -87
- package/node_modules/uuid/dist/cjs-browser/v1ToV6.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/v1ToV6.js +0 -13
- package/node_modules/uuid/dist/cjs-browser/v3.d.ts +0 -9
- package/node_modules/uuid/dist/cjs-browser/v3.js +0 -14
- package/node_modules/uuid/dist/cjs-browser/v35.d.ts +0 -7
- package/node_modules/uuid/dist/cjs-browser/v35.js +0 -41
- package/node_modules/uuid/dist/cjs-browser/v4.d.ts +0 -4
- package/node_modules/uuid/dist/cjs-browser/v4.js +0 -29
- package/node_modules/uuid/dist/cjs-browser/v5.d.ts +0 -9
- package/node_modules/uuid/dist/cjs-browser/v5.js +0 -14
- package/node_modules/uuid/dist/cjs-browser/v6.d.ts +0 -4
- package/node_modules/uuid/dist/cjs-browser/v6.js +0 -19
- package/node_modules/uuid/dist/cjs-browser/v6ToV1.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/v6ToV1.js +0 -13
- package/node_modules/uuid/dist/cjs-browser/v7.d.ts +0 -9
- package/node_modules/uuid/dist/cjs-browser/v7.js +0 -69
- package/node_modules/uuid/dist/cjs-browser/validate.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/validate.js +0 -7
- package/node_modules/uuid/dist/cjs-browser/version.d.ts +0 -2
- package/node_modules/uuid/dist/cjs-browser/version.js +0 -10
- package/node_modules/uuid/dist/esm/bin/uuid +0 -2
- package/node_modules/uuid/dist/esm/index.d.ts +0 -15
- package/node_modules/uuid/dist/esm/index.js +0 -14
- package/node_modules/uuid/dist/esm/max.d.ts +0 -2
- package/node_modules/uuid/dist/esm/max.js +0 -1
- package/node_modules/uuid/dist/esm/md5.d.ts +0 -4
- package/node_modules/uuid/dist/esm/md5.js +0 -11
- package/node_modules/uuid/dist/esm/native.d.ts +0 -6
- package/node_modules/uuid/dist/esm/native.js +0 -2
- package/node_modules/uuid/dist/esm/nil.d.ts +0 -2
- package/node_modules/uuid/dist/esm/nil.js +0 -1
- package/node_modules/uuid/dist/esm/parse.d.ts +0 -2
- package/node_modules/uuid/dist/esm/parse.js +0 -9
- package/node_modules/uuid/dist/esm/regex.d.ts +0 -2
- package/node_modules/uuid/dist/esm/regex.js +0 -1
- package/node_modules/uuid/dist/esm/rng.d.ts +0 -1
- package/node_modules/uuid/dist/esm/rng.js +0 -10
- package/node_modules/uuid/dist/esm/sha1.d.ts +0 -4
- package/node_modules/uuid/dist/esm/sha1.js +0 -11
- package/node_modules/uuid/dist/esm/stringify.d.ts +0 -3
- package/node_modules/uuid/dist/esm/stringify.js +0 -35
- package/node_modules/uuid/dist/esm/types.d.ts +0 -21
- package/node_modules/uuid/dist/esm/uuid-bin.js +0 -70
- package/node_modules/uuid/dist/esm/v1.d.ts +0 -11
- package/node_modules/uuid/dist/esm/v1.js +0 -83
- package/node_modules/uuid/dist/esm/v1ToV6.d.ts +0 -2
- package/node_modules/uuid/dist/esm/v1ToV6.js +0 -10
- package/node_modules/uuid/dist/esm/v3.d.ts +0 -9
- package/node_modules/uuid/dist/esm/v3.js +0 -9
- package/node_modules/uuid/dist/esm/v35.d.ts +0 -7
- package/node_modules/uuid/dist/esm/v35.js +0 -36
- package/node_modules/uuid/dist/esm/v4.d.ts +0 -4
- package/node_modules/uuid/dist/esm/v4.js +0 -27
- package/node_modules/uuid/dist/esm/v5.d.ts +0 -9
- package/node_modules/uuid/dist/esm/v5.js +0 -9
- package/node_modules/uuid/dist/esm/v6.d.ts +0 -4
- package/node_modules/uuid/dist/esm/v6.js +0 -17
- package/node_modules/uuid/dist/esm/v6ToV1.d.ts +0 -2
- package/node_modules/uuid/dist/esm/v6ToV1.js +0 -10
- package/node_modules/uuid/dist/esm/v7.d.ts +0 -9
- package/node_modules/uuid/dist/esm/v7.js +0 -65
- package/node_modules/uuid/dist/esm/validate.d.ts +0 -2
- package/node_modules/uuid/dist/esm/validate.js +0 -5
- package/node_modules/uuid/dist/esm/version.d.ts +0 -2
- package/node_modules/uuid/dist/esm/version.js +0 -8
- package/node_modules/uuid/dist/esm-browser/index.d.ts +0 -15
- package/node_modules/uuid/dist/esm-browser/index.js +0 -14
- package/node_modules/uuid/dist/esm-browser/max.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/max.js +0 -1
- package/node_modules/uuid/dist/esm-browser/md5.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/md5.js +0 -135
- package/node_modules/uuid/dist/esm-browser/native.d.ts +0 -4
- package/node_modules/uuid/dist/esm-browser/native.js +0 -2
- package/node_modules/uuid/dist/esm-browser/nil.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/nil.js +0 -1
- package/node_modules/uuid/dist/esm-browser/parse.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/parse.js +0 -9
- package/node_modules/uuid/dist/esm-browser/regex.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/regex.js +0 -1
- package/node_modules/uuid/dist/esm-browser/rng.d.ts +0 -1
- package/node_modules/uuid/dist/esm-browser/rng.js +0 -11
- package/node_modules/uuid/dist/esm-browser/sha1.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/sha1.js +0 -70
- package/node_modules/uuid/dist/esm-browser/stringify.d.ts +0 -3
- package/node_modules/uuid/dist/esm-browser/stringify.js +0 -35
- package/node_modules/uuid/dist/esm-browser/types.d.ts +0 -21
- package/node_modules/uuid/dist/esm-browser/uuid-bin.js +0 -70
- package/node_modules/uuid/dist/esm-browser/v1.d.ts +0 -11
- package/node_modules/uuid/dist/esm-browser/v1.js +0 -83
- package/node_modules/uuid/dist/esm-browser/v1ToV6.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/v1ToV6.js +0 -10
- package/node_modules/uuid/dist/esm-browser/v3.d.ts +0 -9
- package/node_modules/uuid/dist/esm-browser/v3.js +0 -9
- package/node_modules/uuid/dist/esm-browser/v35.d.ts +0 -7
- package/node_modules/uuid/dist/esm-browser/v35.js +0 -36
- package/node_modules/uuid/dist/esm-browser/v4.d.ts +0 -4
- package/node_modules/uuid/dist/esm-browser/v4.js +0 -27
- package/node_modules/uuid/dist/esm-browser/v5.d.ts +0 -9
- package/node_modules/uuid/dist/esm-browser/v5.js +0 -9
- package/node_modules/uuid/dist/esm-browser/v6.d.ts +0 -4
- package/node_modules/uuid/dist/esm-browser/v6.js +0 -17
- package/node_modules/uuid/dist/esm-browser/v6ToV1.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/v6ToV1.js +0 -10
- package/node_modules/uuid/dist/esm-browser/v7.d.ts +0 -9
- package/node_modules/uuid/dist/esm-browser/v7.js +0 -65
- package/node_modules/uuid/dist/esm-browser/validate.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/validate.js +0 -5
- package/node_modules/uuid/dist/esm-browser/version.d.ts +0 -2
- package/node_modules/uuid/dist/esm-browser/version.js +0 -8
- package/node_modules/uuid/package.json +0 -132
- package/vendor/aab-tool/LICENSE +0 -202
- package/vendor/aab-tool/README.txt +0 -1
- package/vendor/aab-tool/bundletool.jar +0 -0
- /package/{node_modules/uuid/dist/cjs-browser/uuid-bin.d.ts → lib/bootstrap.d.ts} +0 -0
- /package/{node_modules/uuid/dist/cjs/uuid-bin.d.ts → lib/commands/test-init.d.ts} +0 -0
- /package/{node_modules/uuid/dist/esm-browser/types.js → lib/commands/test.d.ts} +0 -0
- /package/{node_modules/uuid/dist/esm-browser/uuid-bin.d.ts → lib/common/bootstrap.d.ts} +0 -0
- /package/{node_modules/uuid/dist/esm/types.js → lib/common/common-lib.d.ts} +0 -0
- /package/{node_modules/uuid/dist/esm/uuid-bin.d.ts → lib/common/mobile/ios/ios-device-product-name-mapper.d.ts} +0 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IErrors, IFileSystem, IProjectHelper } from "./declarations";
|
|
2
|
+
import { IOptions } from "../declarations";
|
|
3
|
+
export declare class ProjectHelper implements IProjectHelper {
|
|
4
|
+
private $logger;
|
|
5
|
+
private $fs;
|
|
6
|
+
private $staticConfig;
|
|
7
|
+
private $errors;
|
|
8
|
+
private $options;
|
|
9
|
+
constructor($logger: ILogger, $fs: IFileSystem, $staticConfig: Config.IStaticConfig, $errors: IErrors, $options: IOptions);
|
|
10
|
+
private cachedProjectDir;
|
|
11
|
+
get projectDir(): string;
|
|
12
|
+
generateDefaultAppId(appName: string, baseAppId: string): string;
|
|
13
|
+
sanitizeName(appName: string): string;
|
|
14
|
+
private isProjectFileCorrect;
|
|
15
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IAllowEmpty, IPrompterOptions, IPrompterQuestion } from "./declarations";
|
|
2
|
+
export declare class Prompter implements IPrompter {
|
|
3
|
+
private ctrlcReader;
|
|
4
|
+
private muteStreamInstance;
|
|
5
|
+
dispose(): void;
|
|
6
|
+
get(questions: IPrompterQuestion[]): Promise<any>;
|
|
7
|
+
getPassword(message: string, options?: IAllowEmpty): Promise<string>;
|
|
8
|
+
getString(message: string, options?: IPrompterOptions): Promise<string>;
|
|
9
|
+
promptForChoice(promptMessage: string, choices: string[] | {
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
value?: string;
|
|
13
|
+
}[], multiple?: boolean, options?: any): Promise<string>;
|
|
14
|
+
promptForDetailedChoice(promptMessage: string, choices: {
|
|
15
|
+
key: string;
|
|
16
|
+
description: string;
|
|
17
|
+
}[]): Promise<string>;
|
|
18
|
+
confirm(message: string, defaultAction?: () => boolean): Promise<boolean>;
|
|
19
|
+
private muteStdout;
|
|
20
|
+
private unmuteStdout;
|
|
21
|
+
private cleanEventListeners;
|
|
22
|
+
private cleanListener;
|
|
23
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IResourceLoader, IFileSystem } from "./declarations";
|
|
2
|
+
export declare class ResourceLoader implements IResourceLoader {
|
|
3
|
+
private $fs;
|
|
4
|
+
private $staticConfig;
|
|
5
|
+
constructor($fs: IFileSystem, $staticConfig: Config.IStaticConfig);
|
|
6
|
+
resolvePath(resourcePath: string): string;
|
|
7
|
+
openFile(resourcePath: string): NodeJS.ReadableStream;
|
|
8
|
+
readText(resourcePath: string): string;
|
|
9
|
+
readJson(resourcePath: string): any;
|
|
10
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IAutoCompletionService, IFileSystem, IChildProcess, IHostInfo } from "../declarations";
|
|
2
|
+
export declare class AutoCompletionService implements IAutoCompletionService {
|
|
3
|
+
private $fs;
|
|
4
|
+
private $childProcess;
|
|
5
|
+
private $logger;
|
|
6
|
+
private $staticConfig;
|
|
7
|
+
private $hostInfo;
|
|
8
|
+
private scriptsOk;
|
|
9
|
+
private scriptsUpdated;
|
|
10
|
+
private static COMPLETION_START_COMMENT_PATTERN;
|
|
11
|
+
private static COMPLETION_END_COMMENT_PATTERN;
|
|
12
|
+
private static TABTAB_COMPLETION_START_REGEX_PATTERN;
|
|
13
|
+
private static TABTAB_COMPLETION_END_REGEX_PATTERN;
|
|
14
|
+
private static GENERATED_TABTAB_COMPLETION_END;
|
|
15
|
+
private static GENERATED_TABTAB_COMPLETION_START;
|
|
16
|
+
constructor($fs: IFileSystem, $childProcess: IChildProcess, $logger: ILogger, $staticConfig: Config.IStaticConfig, $hostInfo: IHostInfo);
|
|
17
|
+
disableAnalytics: boolean;
|
|
18
|
+
private get shellProfiles();
|
|
19
|
+
private get cliRunCommandsFile();
|
|
20
|
+
private getTabTabObsoleteRegex;
|
|
21
|
+
private getTabTabCompletionsRegex;
|
|
22
|
+
private removeObsoleteAutoCompletion;
|
|
23
|
+
private removeOboleteTabTabCompletion;
|
|
24
|
+
private get completionAliasDefinition();
|
|
25
|
+
private get completionShellScriptContent();
|
|
26
|
+
isAutoCompletionEnabled(): boolean;
|
|
27
|
+
disableAutoCompletion(): void;
|
|
28
|
+
enableAutoCompletion(): Promise<void>;
|
|
29
|
+
isObsoleteAutoCompletionEnabled(): boolean;
|
|
30
|
+
private isNewAutoCompletionEnabledInFile;
|
|
31
|
+
private isObsoleteAutoCompletionEnabledInFile;
|
|
32
|
+
private addAutoCompletionToShellScript;
|
|
33
|
+
private removeAutoCompletionFromShellScript;
|
|
34
|
+
private updateCLIShellScript;
|
|
35
|
+
private getHomePath;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { IInjector } from "../definitions/yok";
|
|
2
|
+
import { ICommand } from "../definitions/commands";
|
|
3
|
+
import { CommandDefinition, CommandOptionsSchema, DefinedCommand } from "../define-command";
|
|
4
|
+
export declare function createCommandFromDefinition<TSchema extends CommandOptionsSchema>(definition: CommandDefinition<TSchema>, targetInjector?: IInjector): ICommand;
|
|
5
|
+
export declare function registerDefinitionAs<TSchema extends CommandOptionsSchema>(name: string, definition: DefinedCommand<TSchema>, targetInjector?: IInjector): void;
|
|
6
|
+
export declare function registerCommandDefinition<TSchema extends CommandOptionsSchema>(definition: DefinedCommand<TSchema>, targetInjector?: IInjector): void;
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCommandFromDefinition = createCommandFromDefinition;
|
|
4
|
+
exports.registerDefinitionAs = registerDefinitionAs;
|
|
5
|
+
exports.registerCommandDefinition = registerCommandDefinition;
|
|
6
|
+
const enums_1 = require("../enums");
|
|
7
|
+
const yok_1 = require("../yok");
|
|
8
|
+
const inject_1 = require("../di/inject");
|
|
9
|
+
const command_registry_1 = require("../contracts/command-registry");
|
|
10
|
+
const define_command_1 = require("../define-command");
|
|
11
|
+
const OPTION_TYPES = {
|
|
12
|
+
boolean: enums_1.OptionType.Boolean,
|
|
13
|
+
string: enums_1.OptionType.String,
|
|
14
|
+
number: enums_1.OptionType.Number,
|
|
15
|
+
array: enums_1.OptionType.Array,
|
|
16
|
+
};
|
|
17
|
+
const compileOptions = (schema) => {
|
|
18
|
+
const dashedOptions = {};
|
|
19
|
+
for (const optionName of Object.keys(schema)) {
|
|
20
|
+
const spec = schema[optionName];
|
|
21
|
+
const dashedOption = {
|
|
22
|
+
type: OPTION_TYPES[spec.type],
|
|
23
|
+
hasSensitiveValue: spec.hasSensitiveValue === true,
|
|
24
|
+
};
|
|
25
|
+
if (spec.default !== undefined) {
|
|
26
|
+
dashedOption.default = spec.default;
|
|
27
|
+
}
|
|
28
|
+
if (spec.alias !== undefined) {
|
|
29
|
+
dashedOption.alias = spec.alias;
|
|
30
|
+
}
|
|
31
|
+
if (spec.description !== undefined) {
|
|
32
|
+
dashedOption.describe = spec.description;
|
|
33
|
+
}
|
|
34
|
+
dashedOptions[optionName] = dashedOption;
|
|
35
|
+
}
|
|
36
|
+
return dashedOptions;
|
|
37
|
+
};
|
|
38
|
+
const aliasList = (alias) => alias === undefined ? [] : Array.isArray(alias) ? alias : [alias];
|
|
39
|
+
const warnOnCliOptionCollisions = (targetInjector, definition, schema, optionsService) => {
|
|
40
|
+
const cliOptions = optionsService && optionsService.options;
|
|
41
|
+
if (!cliOptions) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const cliSpellings = {};
|
|
45
|
+
for (const cliName of Object.keys(cliOptions)) {
|
|
46
|
+
cliSpellings[cliName] = cliName;
|
|
47
|
+
for (const alias of aliasList(cliOptions[cliName].alias)) {
|
|
48
|
+
cliSpellings[alias] = cliName;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
const collisions = [];
|
|
52
|
+
for (const optionName of Object.keys(schema)) {
|
|
53
|
+
if (cliSpellings[optionName]) {
|
|
54
|
+
collisions.push(`'--${optionName}' with the CLI option '--${cliSpellings[optionName]}'`);
|
|
55
|
+
}
|
|
56
|
+
for (const alias of aliasList(schema[optionName].alias)) {
|
|
57
|
+
if (cliSpellings[alias]) {
|
|
58
|
+
collisions.push(`alias '-${alias}' of '--${optionName}' with the CLI option '--${cliSpellings[alias]}'`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
if (!collisions.length) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const logger = targetInjector.get("logger", { optional: true });
|
|
66
|
+
if (!logger) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const commandName = Array.isArray(definition.name)
|
|
70
|
+
? definition.name[0]
|
|
71
|
+
: definition.name;
|
|
72
|
+
logger.warn(`Command '${commandName}' declares options that collide with CLI-wide ` +
|
|
73
|
+
`ones: ${collisions.join("; ")}. The command's declaration wins while ` +
|
|
74
|
+
`the command runs; rename them to avoid it.`);
|
|
75
|
+
};
|
|
76
|
+
function createCommandFromDefinition(definition, targetInjector = yok_1.injector) {
|
|
77
|
+
const schema = definition.options || {};
|
|
78
|
+
const optionNames = Object.keys(schema);
|
|
79
|
+
const dashedOptions = compileOptions(schema);
|
|
80
|
+
const optionsService = optionNames.length
|
|
81
|
+
? targetInjector.resolve("options")
|
|
82
|
+
: null;
|
|
83
|
+
warnOnCliOptionCollisions(targetInjector, definition, schema, optionsService);
|
|
84
|
+
const commandName = Array.isArray(definition.name)
|
|
85
|
+
? definition.name[0]
|
|
86
|
+
: definition.name;
|
|
87
|
+
const fail = (message) => {
|
|
88
|
+
if (typeof message !== "string" || !message.trim()) {
|
|
89
|
+
throw new Error(`ctx.fail() for command '${commandName}' requires a non-empty message.`);
|
|
90
|
+
}
|
|
91
|
+
const errors = targetInjector.resolve("errors");
|
|
92
|
+
return errors.failWithHelp(message);
|
|
93
|
+
};
|
|
94
|
+
const buildContext = (args) => {
|
|
95
|
+
const options = {};
|
|
96
|
+
for (const optionName of optionNames) {
|
|
97
|
+
options[optionName] = optionsService[optionName];
|
|
98
|
+
}
|
|
99
|
+
return { args, options, fail };
|
|
100
|
+
};
|
|
101
|
+
const acceptsArguments = definition.arguments === "any";
|
|
102
|
+
return {
|
|
103
|
+
allowedParameters: [],
|
|
104
|
+
dashedOptions,
|
|
105
|
+
...(definition.disableAnalytics === undefined
|
|
106
|
+
? {}
|
|
107
|
+
: { disableAnalytics: definition.disableAnalytics }),
|
|
108
|
+
...(definition.enableHooks === undefined
|
|
109
|
+
? {}
|
|
110
|
+
: { enableHooks: definition.enableHooks }),
|
|
111
|
+
canExecute: async (args) => {
|
|
112
|
+
if (!acceptsArguments && args.length) {
|
|
113
|
+
fail("This command doesn't accept parameters.");
|
|
114
|
+
}
|
|
115
|
+
const refine = definition.canExecute;
|
|
116
|
+
if (!refine) {
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
return await (0, inject_1.runInInjectionContext)(targetInjector, () => refine.call(definition, buildContext(args)));
|
|
120
|
+
},
|
|
121
|
+
execute: async (args) => {
|
|
122
|
+
await (0, inject_1.runInInjectionContext)(targetInjector, () => definition.run(buildContext(args)));
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function registerDefinitionAs(name, definition, targetInjector = yok_1.injector) {
|
|
127
|
+
const registry = targetInjector.get(command_registry_1.CommandRegistry);
|
|
128
|
+
registry.registerCommand(name, () => createCommandFromDefinition(definition, targetInjector));
|
|
129
|
+
}
|
|
130
|
+
function registerCommandDefinition(definition, targetInjector = yok_1.injector) {
|
|
131
|
+
if (!(0, define_command_1.isCommandDefinition)(definition)) {
|
|
132
|
+
throw new Error("registerCommandDefinition() takes the result of defineCommand(); " +
|
|
133
|
+
"the value passed carries no command-definition marker.");
|
|
134
|
+
}
|
|
135
|
+
const names = Array.isArray(definition.name)
|
|
136
|
+
? definition.name
|
|
137
|
+
: [definition.name];
|
|
138
|
+
for (const name of names) {
|
|
139
|
+
registerDefinitionAs(name, definition, targetInjector);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { IOptions, IOptionsTracker } from "../../declarations";
|
|
2
|
+
import { IErrors, IHooksService } from "../declarations";
|
|
3
|
+
import { IInjector } from "../definitions/yok";
|
|
4
|
+
import { IExtensibilityService } from "../definitions/extensibility";
|
|
5
|
+
export declare class CommandsService implements ICommandsService {
|
|
6
|
+
private $errors;
|
|
7
|
+
private $hooksService;
|
|
8
|
+
private $injector;
|
|
9
|
+
private $logger;
|
|
10
|
+
private $options;
|
|
11
|
+
private $staticConfig;
|
|
12
|
+
private $extensibilityService;
|
|
13
|
+
private $optionsTracker;
|
|
14
|
+
get currentCommandData(): ICommandData;
|
|
15
|
+
private commands;
|
|
16
|
+
constructor($errors: IErrors, $hooksService: IHooksService, $injector: IInjector, $logger: ILogger, $options: IOptions, $staticConfig: Config.IStaticConfig, $extensibilityService: IExtensibilityService, $optionsTracker: IOptionsTracker);
|
|
17
|
+
allCommands(opts: {
|
|
18
|
+
includeDevCommands: boolean;
|
|
19
|
+
}): string[];
|
|
20
|
+
executeCommandUnchecked(commandName: string, commandArguments: string[]): Promise<boolean>;
|
|
21
|
+
private printHelpSuggestion;
|
|
22
|
+
private executeCommandAction;
|
|
23
|
+
private tryExecuteCommandAction;
|
|
24
|
+
tryExecuteCommand(commandName: string, commandArguments: string[]): Promise<void>;
|
|
25
|
+
private canExecuteCommand;
|
|
26
|
+
private validateMandatoryParams;
|
|
27
|
+
private validateCommandArguments;
|
|
28
|
+
private tryMatchCommand;
|
|
29
|
+
private beautifyCommandName;
|
|
30
|
+
}
|
|
@@ -87,7 +87,8 @@ class CommandsService {
|
|
|
87
87
|
}
|
|
88
88
|
async tryExecuteCommandAction(commandName, commandArguments) {
|
|
89
89
|
const command = this.$injector.resolveCommand(commandName);
|
|
90
|
-
if (!command ||
|
|
90
|
+
if (!command ||
|
|
91
|
+
(!command.isHierarchicalCommand && !command.skipOptionsValidation)) {
|
|
91
92
|
const dashedOptions = command ? command.dashedOptions : null;
|
|
92
93
|
this.$options.validateOptions(dashedOptions);
|
|
93
94
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { IHelpService, IErrors, IFileSystem, IMicroTemplateService } from "../declarations";
|
|
2
|
+
import { IInjector } from "../definitions/yok";
|
|
3
|
+
import { IExtensibilityService } from "../definitions/extensibility";
|
|
4
|
+
import { IOpener } from "../../declarations";
|
|
5
|
+
export declare class HelpService implements IHelpService {
|
|
6
|
+
private $logger;
|
|
7
|
+
private $injector;
|
|
8
|
+
private $errors;
|
|
9
|
+
private $fs;
|
|
10
|
+
private $staticConfig;
|
|
11
|
+
private $extensibilityService;
|
|
12
|
+
private $microTemplateService;
|
|
13
|
+
private $opener;
|
|
14
|
+
private static MARKDOWN_FILE_EXTENSION;
|
|
15
|
+
private static HTML_FILE_EXTENSION;
|
|
16
|
+
private static MAN_PAGE_NAME_REGEX;
|
|
17
|
+
private static HTML_COMMAND_HELP_REGEX;
|
|
18
|
+
private static RELATIVE_PATH_TO_STYLES_CSS_REGEX;
|
|
19
|
+
private static RELATIVE_PATH_TO_IMAGES_REGEX;
|
|
20
|
+
private static RELATIVE_PATH_TO_INDEX_REGEX;
|
|
21
|
+
private static EXTENSION_NAME_REGEX;
|
|
22
|
+
private static MARKDOWN_LINK_REGEX;
|
|
23
|
+
private static SPAN_REGEX;
|
|
24
|
+
private static NEW_LINE_REGEX;
|
|
25
|
+
private get newLineRegex();
|
|
26
|
+
private pathToManPages;
|
|
27
|
+
private pathToHtmlPages;
|
|
28
|
+
private get pathToStylesCss();
|
|
29
|
+
private get pathToBasicPage();
|
|
30
|
+
private get pathToBasicPageForExtensions();
|
|
31
|
+
private pathToImages;
|
|
32
|
+
private get pathToIndexHtml();
|
|
33
|
+
constructor($logger: ILogger, $injector: IInjector, $errors: IErrors, $fs: IFileSystem, $staticConfig: Config.IStaticConfig, $extensibilityService: IExtensibilityService, $microTemplateService: IMicroTemplateService, $opener: IOpener);
|
|
34
|
+
openHelpForCommandInBrowser(commandData: ICommandData): Promise<void>;
|
|
35
|
+
generateHtmlPages(): Promise<void>;
|
|
36
|
+
showCommandLineHelp(commandData: ICommandData): Promise<void>;
|
|
37
|
+
private getCommandLineHelpForCommand;
|
|
38
|
+
private createHtmlPage;
|
|
39
|
+
private convertCommandNameToFileName;
|
|
40
|
+
private throwMissingCommandError;
|
|
41
|
+
private static getHtmlDirFullPath;
|
|
42
|
+
private getHelpFile;
|
|
43
|
+
private getHelpFileFromExtensions;
|
|
44
|
+
private tryOpeningSelectedPage;
|
|
45
|
+
private readMdFileForCommand;
|
|
46
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { HookMiddleware } from "../define-hook";
|
|
2
|
+
import { IOptions, IPerformanceService } from "../../declarations";
|
|
3
|
+
import { IHooksService, IDictionary, IChildProcess, IFileSystem, IErrors, IProjectHelper, IHookExecutionOptions } from "../declarations";
|
|
4
|
+
import { IProjectConfigService } from "../../definitions/project";
|
|
5
|
+
import { IInjector } from "../definitions/yok";
|
|
6
|
+
export declare class HooksService implements IHooksService {
|
|
7
|
+
private $childProcess;
|
|
8
|
+
private $fs;
|
|
9
|
+
private $logger;
|
|
10
|
+
private $errors;
|
|
11
|
+
private $config;
|
|
12
|
+
private $staticConfig;
|
|
13
|
+
private $injector;
|
|
14
|
+
private $projectHelper;
|
|
15
|
+
private $options;
|
|
16
|
+
private $performanceService;
|
|
17
|
+
private $projectConfigService;
|
|
18
|
+
private static HOOKS_DIRECTORY_NAME;
|
|
19
|
+
private cachedHooks;
|
|
20
|
+
private hooksDirectories;
|
|
21
|
+
constructor($childProcess: IChildProcess, $fs: IFileSystem, $logger: ILogger, $errors: IErrors, $config: Config.IConfig, $staticConfig: Config.IStaticConfig, $injector: IInjector, $projectHelper: IProjectHelper, $options: IOptions, $performanceService: IPerformanceService, $projectConfigService: IProjectConfigService);
|
|
22
|
+
get hookArgsName(): string;
|
|
23
|
+
private initialize;
|
|
24
|
+
private static formatHookName;
|
|
25
|
+
executeBeforeHooks(commandName: string, hookArguments?: IDictionary<any>, options?: IHookExecutionOptions): Promise<HookMiddleware[]>;
|
|
26
|
+
executeAfterHooks(commandName: string, hookArguments?: IDictionary<any>): Promise<void>;
|
|
27
|
+
private executeHooks;
|
|
28
|
+
private isESModule;
|
|
29
|
+
private executeHook;
|
|
30
|
+
private executeHookDefinition;
|
|
31
|
+
private executeHooksInDirectory;
|
|
32
|
+
private getCustomHooksByName;
|
|
33
|
+
private getHooksByName;
|
|
34
|
+
private getHooksInDirectory;
|
|
35
|
+
private prepareEnvironment;
|
|
36
|
+
private getSheBangInterpreter;
|
|
37
|
+
private getBaseFilename;
|
|
38
|
+
private shouldExecuteInProcess;
|
|
39
|
+
private validateHookArguments;
|
|
40
|
+
}
|
|
@@ -11,6 +11,9 @@ const path = require("path");
|
|
|
11
11
|
const util = require("util");
|
|
12
12
|
const _ = require("lodash");
|
|
13
13
|
const helpers_1 = require("../helpers");
|
|
14
|
+
const deprecation_1 = require("../deprecation");
|
|
15
|
+
const define_hook_1 = require("../define-hook");
|
|
16
|
+
const inject_1 = require("../di/inject");
|
|
14
17
|
const constants_1 = require("../../constants");
|
|
15
18
|
const yok_1 = require("../yok");
|
|
16
19
|
const color_1 = require("../../color");
|
|
@@ -54,17 +57,17 @@ class HooksService {
|
|
|
54
57
|
static formatHookName(commandName) {
|
|
55
58
|
return commandName.replace(/\|[\s\S]*$/, "");
|
|
56
59
|
}
|
|
57
|
-
executeBeforeHooks(commandName, hookArguments) {
|
|
60
|
+
executeBeforeHooks(commandName, hookArguments, options) {
|
|
58
61
|
const beforeHookName = `before-${HooksService.formatHookName(commandName)}`;
|
|
59
62
|
const traceMessage = `BeforeHookName for command ${commandName} is ${beforeHookName}`;
|
|
60
|
-
return this.executeHooks(beforeHookName, traceMessage, hookArguments);
|
|
63
|
+
return this.executeHooks(beforeHookName, traceMessage, hookArguments, !!(options && options.consumesMiddlewares));
|
|
61
64
|
}
|
|
62
65
|
executeAfterHooks(commandName, hookArguments) {
|
|
63
66
|
const afterHookName = `after-${HooksService.formatHookName(commandName)}`;
|
|
64
67
|
const traceMessage = `AfterHookName for command ${commandName} is ${afterHookName}`;
|
|
65
|
-
return this.executeHooks(afterHookName, traceMessage, hookArguments);
|
|
68
|
+
return this.executeHooks(afterHookName, traceMessage, hookArguments, false);
|
|
66
69
|
}
|
|
67
|
-
async executeHooks(hookName, traceMessage, hookArguments) {
|
|
70
|
+
async executeHooks(hookName, traceMessage, hookArguments, consumesMiddlewares) {
|
|
68
71
|
if (this.$config.DISABLE_HOOKS || !this.$options.hooks) {
|
|
69
72
|
return;
|
|
70
73
|
}
|
|
@@ -80,11 +83,11 @@ class HooksService {
|
|
|
80
83
|
const results = [];
|
|
81
84
|
try {
|
|
82
85
|
for (const hooksDirectory of this.hooksDirectories) {
|
|
83
|
-
results.push(await this.executeHooksInDirectory(hooksDirectory, hookName, hookArguments));
|
|
86
|
+
results.push(await this.executeHooksInDirectory(hooksDirectory, hookName, hookArguments, consumesMiddlewares));
|
|
84
87
|
}
|
|
85
88
|
const customHooks = this.getCustomHooksByName(hookName);
|
|
86
89
|
for (const hook of customHooks) {
|
|
87
|
-
results.push(await this.executeHook(this.$projectHelper.projectDir, hookName, hook, hookArguments));
|
|
90
|
+
results.push(await this.executeHook(this.$projectHelper.projectDir, hookName, hook, hookArguments, consumesMiddlewares));
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
catch (err) {
|
|
@@ -97,7 +100,8 @@ class HooksService {
|
|
|
97
100
|
const ext = path.extname(hook.fullPath).toLowerCase();
|
|
98
101
|
return ext === ".mjs";
|
|
99
102
|
}
|
|
100
|
-
async executeHook(directoryPath, hookName, hook, hookArguments) {
|
|
103
|
+
async executeHook(directoryPath, hookName, hook, hookArguments, consumesMiddlewares) {
|
|
104
|
+
var _a;
|
|
101
105
|
hookArguments = hookArguments || {};
|
|
102
106
|
let result;
|
|
103
107
|
const relativePath = path.relative(directoryPath, hook.fullPath);
|
|
@@ -123,37 +127,62 @@ class HooksService {
|
|
|
123
127
|
hookEntryPoint = hookFn;
|
|
124
128
|
}
|
|
125
129
|
else {
|
|
126
|
-
|
|
130
|
+
const hookModule = require(hook.fullPath);
|
|
131
|
+
hookEntryPoint =
|
|
132
|
+
hookModule && typeof hookModule.default === "function"
|
|
133
|
+
? hookModule.default
|
|
134
|
+
: hookModule;
|
|
127
135
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
136
|
+
const definitionCandidate = (_a = (hookEntryPoint && hookEntryPoint.default)) !== null && _a !== void 0 ? _a : hookEntryPoint;
|
|
137
|
+
if (Array.isArray(definitionCandidate)) {
|
|
138
|
+
throw new Error(`${hook.fullPath} exports an array, which is not a supported hook entry point. Export a single hook definition or function per file.`);
|
|
139
|
+
}
|
|
140
|
+
if ((0, define_hook_1.isHookDefinition)(definitionCandidate)) {
|
|
141
|
+
result = await this.executeHookDefinition(definitionCandidate, hookName, hook, hookArguments, consumesMiddlewares);
|
|
133
142
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
projectDataHookArg;
|
|
143
|
+
else if (typeof hookEntryPoint !== "function") {
|
|
144
|
+
this.$logger.warn(`${hook.fullPath} will NOT be executed because it does not export a function.`);
|
|
145
|
+
return;
|
|
138
146
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
this
|
|
142
|
-
|
|
143
|
-
|
|
147
|
+
else {
|
|
148
|
+
this.$logger.trace(`Validating ${hookName} arguments.`);
|
|
149
|
+
const invalidArguments = this.validateHookArguments(hookEntryPoint, hook.fullPath);
|
|
150
|
+
if (invalidArguments.length) {
|
|
151
|
+
this.$logger.warn(`${hook.fullPath} will NOT be executed because it has invalid arguments - ${color_1.color.grey(invalidArguments.join(", "))}.`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const projectDataHookArg = hookArguments["hookArgs"] && hookArguments["hookArgs"]["projectData"];
|
|
155
|
+
if (projectDataHookArg) {
|
|
156
|
+
hookArguments["projectData"] = hookArguments["$projectData"] =
|
|
157
|
+
projectDataHookArg;
|
|
144
158
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
159
|
+
const usesParamNameInjection = (hookEntryPoint.$inject.args).some((argument) => argument !== this.hookArgsName);
|
|
160
|
+
if (usesParamNameInjection) {
|
|
161
|
+
(0, deprecation_1.reportDeprecation)({
|
|
162
|
+
api: "hooks.param-name-signature",
|
|
163
|
+
detail: hook.fullPath,
|
|
164
|
+
logger: this.$logger,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
const maybePromise = this.$injector.resolve(hookEntryPoint, hookArguments);
|
|
168
|
+
if (maybePromise) {
|
|
169
|
+
this.$logger.trace("Hook promises to signal completion");
|
|
170
|
+
try {
|
|
171
|
+
result = await maybePromise;
|
|
150
172
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
173
|
+
catch (err) {
|
|
174
|
+
if (err &&
|
|
175
|
+
_.isBoolean(err.stopExecution) &&
|
|
176
|
+
err.errorAsWarning === true) {
|
|
177
|
+
this.$logger.warn(err.message || err);
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.$logger.error(err);
|
|
181
|
+
throw (err || new Error(`Failed to execute hook: ${hook.fullPath}.`));
|
|
182
|
+
}
|
|
154
183
|
}
|
|
184
|
+
this.$logger.trace("Hook completed");
|
|
155
185
|
}
|
|
156
|
-
this.$logger.trace("Hook completed");
|
|
157
186
|
}
|
|
158
187
|
}
|
|
159
188
|
else {
|
|
@@ -172,18 +201,47 @@ class HooksService {
|
|
|
172
201
|
]);
|
|
173
202
|
return result;
|
|
174
203
|
}
|
|
175
|
-
async
|
|
204
|
+
async executeHookDefinition(definition, hookName, hook, hookArguments, consumesMiddlewares) {
|
|
205
|
+
if (definition.name !== hookName) {
|
|
206
|
+
this.$logger.warn(`${hook.fullPath} will NOT be executed: it defines the "${definition.name}" hook but is placed at the "${hookName}" hook point.`);
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const { context, middlewares } = (0, define_hook_1.createHookInvocation)(hookArguments, {
|
|
210
|
+
hookName,
|
|
211
|
+
consumesMiddlewares,
|
|
212
|
+
});
|
|
213
|
+
try {
|
|
214
|
+
const returnedValue = await (0, inject_1.runInInjectionContext)(this.$injector, () => definition.run(context));
|
|
215
|
+
if (typeof returnedValue === "function") {
|
|
216
|
+
this.$logger.warn(`${hook.fullPath} returned a function. Returning a middleware is the legacy convention and is ignored for hook definitions — use ctx.wrap() instead.`);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
catch (err) {
|
|
220
|
+
if (err &&
|
|
221
|
+
_.isBoolean(err.stopExecution) &&
|
|
222
|
+
err.errorAsWarning === true) {
|
|
223
|
+
this.$logger.warn(err.message || err);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
this.$logger.error(err);
|
|
227
|
+
throw err || new Error(`Failed to execute hook: ${hook.fullPath}.`);
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
this.$logger.trace("Hook completed");
|
|
231
|
+
return middlewares.length ? middlewares : undefined;
|
|
232
|
+
}
|
|
233
|
+
async executeHooksInDirectory(directoryPath, hookName, hookArguments, consumesMiddlewares) {
|
|
176
234
|
hookArguments = hookArguments || {};
|
|
177
235
|
const results = [];
|
|
178
236
|
const hooks = this.getHooksByName(directoryPath, hookName);
|
|
179
237
|
for (let i = 0; i < hooks.length; ++i) {
|
|
180
238
|
const hook = hooks[i];
|
|
181
|
-
const result = await this.executeHook(directoryPath, hookName, hook, hookArguments);
|
|
239
|
+
const result = await this.executeHook(directoryPath, hookName, hook, hookArguments, consumesMiddlewares);
|
|
182
240
|
if (result) {
|
|
183
241
|
results.push(result);
|
|
184
242
|
}
|
|
185
243
|
}
|
|
186
|
-
return results;
|
|
244
|
+
return _.flatten(results);
|
|
187
245
|
}
|
|
188
246
|
getCustomHooksByName(hookName) {
|
|
189
247
|
const hooks = [];
|
|
@@ -266,26 +324,27 @@ class HooksService {
|
|
|
266
324
|
}
|
|
267
325
|
shouldExecuteInProcess(scriptSource) {
|
|
268
326
|
try {
|
|
269
|
-
const
|
|
270
|
-
const
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
statement.expression.type !== "AssignmentExpression") {
|
|
275
|
-
return;
|
|
327
|
+
const ts = require("typescript");
|
|
328
|
+
const sourceFile = ts.createSourceFile("hook.js", scriptSource, ts.ScriptTarget.Latest, false, ts.ScriptKind.JS);
|
|
329
|
+
const isExportsTarget = (node) => {
|
|
330
|
+
if (!ts.isPropertyAccessExpression(node)) {
|
|
331
|
+
return false;
|
|
276
332
|
}
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
left.object &&
|
|
280
|
-
left.object.type === "Identifier" &&
|
|
281
|
-
left.object.name === "module" &&
|
|
282
|
-
left.property &&
|
|
283
|
-
left.property.type === "Identifier" &&
|
|
284
|
-
left.property.name === "exports") {
|
|
285
|
-
inproc = true;
|
|
333
|
+
if (!ts.isIdentifier(node.expression)) {
|
|
334
|
+
return false;
|
|
286
335
|
}
|
|
336
|
+
const object = node.expression.text;
|
|
337
|
+
const property = node.name.text;
|
|
338
|
+
return ((object === "module" && property === "exports") ||
|
|
339
|
+
(object === "exports" && property === "default"));
|
|
340
|
+
};
|
|
341
|
+
return sourceFile.statements.some((statement) => {
|
|
342
|
+
return (ts.isExpressionStatement(statement) &&
|
|
343
|
+
ts.isBinaryExpression(statement.expression) &&
|
|
344
|
+
statement.expression.operatorToken.kind ===
|
|
345
|
+
ts.SyntaxKind.EqualsToken &&
|
|
346
|
+
isExportsTarget(statement.expression.left));
|
|
287
347
|
});
|
|
288
|
-
return inproc;
|
|
289
348
|
}
|
|
290
349
|
catch (err) {
|
|
291
350
|
return false;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { IiOSNotificationService } from "../declarations";
|
|
2
|
+
export declare class IOSNotificationService implements IiOSNotificationService {
|
|
3
|
+
private $iosDeviceOperations;
|
|
4
|
+
constructor($iosDeviceOperations: IIOSDeviceOperations);
|
|
5
|
+
awaitNotification(deviceIdentifier: string, socket: number, timeout: number): Promise<string>;
|
|
6
|
+
postNotification(deviceIdentifier: string, notification: string, commandType?: string): Promise<number>;
|
|
7
|
+
}
|