@akylas/nativescript-cli 8.7.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/LICENSE +201 -0
- package/README.md +385 -0
- package/bin/nativescript +3 -0
- package/bin/nativescript.js +3 -0
- package/bin/ns +3 -0
- package/bin/nsc +3 -0
- package/bin/nsc.js +3 -0
- package/bin/tns +12 -0
- package/bin/tns.cmd +1 -0
- package/config/config.json +8 -0
- package/config/test-dependencies.json +58 -0
- package/config/test-deps-versions-generated.json +1 -0
- package/docs/build-jekyll-md.sh +7 -0
- package/docs/helpers/favicon.ico +0 -0
- package/docs/helpers/logo.png +0 -0
- package/docs/man_pages/cloud/cloud-setup.md +29 -0
- package/docs/man_pages/device/device-android.md +32 -0
- package/docs/man_pages/device/device-ios.md +40 -0
- package/docs/man_pages/device/device-list-applications.md +37 -0
- package/docs/man_pages/device/device-log.md +37 -0
- package/docs/man_pages/device/device-run.md +55 -0
- package/docs/man_pages/device/device.md +46 -0
- package/docs/man_pages/env-configuration/setup.md +22 -0
- package/docs/man_pages/general/autocomplete-disable.md +37 -0
- package/docs/man_pages/general/autocomplete-enable.md +37 -0
- package/docs/man_pages/general/autocomplete-status.md +35 -0
- package/docs/man_pages/general/autocomplete.md +46 -0
- package/docs/man_pages/general/clean.md +22 -0
- package/docs/man_pages/general/doctor.md +33 -0
- package/docs/man_pages/general/error-reporting.md +41 -0
- package/docs/man_pages/general/extension-install.md +45 -0
- package/docs/man_pages/general/extension-uninstall.md +41 -0
- package/docs/man_pages/general/extension.md +35 -0
- package/docs/man_pages/general/help.md +39 -0
- package/docs/man_pages/general/info.md +33 -0
- package/docs/man_pages/general/migrate.md +79 -0
- package/docs/man_pages/general/package-manager-get.md +26 -0
- package/docs/man_pages/general/package-manager-set.md +29 -0
- package/docs/man_pages/general/package-manager.md +25 -0
- package/docs/man_pages/general/proxy-clear.md +26 -0
- package/docs/man_pages/general/proxy-set.md +45 -0
- package/docs/man_pages/general/proxy.md +31 -0
- package/docs/man_pages/general/update.md +40 -0
- package/docs/man_pages/general/usage-reporting.md +41 -0
- package/docs/man_pages/index.html +3 -0
- package/docs/man_pages/lib-management/plugin-add.md +42 -0
- package/docs/man_pages/lib-management/plugin-build.md +32 -0
- package/docs/man_pages/lib-management/plugin-create.md +48 -0
- package/docs/man_pages/lib-management/plugin-install.md +42 -0
- package/docs/man_pages/lib-management/plugin-remove.md +31 -0
- package/docs/man_pages/lib-management/plugin-update.md +41 -0
- package/docs/man_pages/lib-management/plugin.md +39 -0
- package/docs/man_pages/project/configuration/generate.md +36 -0
- package/docs/man_pages/project/configuration/install.md +43 -0
- package/docs/man_pages/project/configuration/open-android.md +27 -0
- package/docs/man_pages/project/configuration/open-ios.md +31 -0
- package/docs/man_pages/project/configuration/open.md +36 -0
- package/docs/man_pages/project/configuration/platform-add.md +46 -0
- package/docs/man_pages/project/configuration/platform-clean.md +41 -0
- package/docs/man_pages/project/configuration/platform-remove.md +41 -0
- package/docs/man_pages/project/configuration/platform-update.md +45 -0
- package/docs/man_pages/project/configuration/platform.md +29 -0
- package/docs/man_pages/project/configuration/prepare.md +49 -0
- package/docs/man_pages/project/configuration/resources/resources-generate-icons.md +39 -0
- package/docs/man_pages/project/configuration/resources/resources-generate-splashes.md +39 -0
- package/docs/man_pages/project/configuration/resources/resources-update.md +35 -0
- package/docs/man_pages/project/configuration/resources/resources.md +14 -0
- package/docs/man_pages/project/creation/create.md +64 -0
- package/docs/man_pages/project/testing/build-android.md +62 -0
- package/docs/man_pages/project/testing/build-ios.md +65 -0
- package/docs/man_pages/project/testing/build.md +66 -0
- package/docs/man_pages/project/testing/debug-android.md +64 -0
- package/docs/man_pages/project/testing/debug-ios.md +65 -0
- package/docs/man_pages/project/testing/debug.md +67 -0
- package/docs/man_pages/project/testing/deploy.md +72 -0
- package/docs/man_pages/project/testing/dev-test-android.md +31 -0
- package/docs/man_pages/project/testing/dev-test-ios.md +36 -0
- package/docs/man_pages/project/testing/preview.md +35 -0
- package/docs/man_pages/project/testing/run-android.md +79 -0
- package/docs/man_pages/project/testing/run-ios.md +83 -0
- package/docs/man_pages/project/testing/run.md +92 -0
- package/docs/man_pages/project/testing/test-android.md +46 -0
- package/docs/man_pages/project/testing/test-init.md +34 -0
- package/docs/man_pages/project/testing/test-ios.md +48 -0
- package/docs/man_pages/project/testing/test.md +48 -0
- package/docs/man_pages/project/testing/typings.md +52 -0
- package/docs/man_pages/publishing/apple-login.md +35 -0
- package/docs/man_pages/publishing/appstore-upload.md +52 -0
- package/docs/man_pages/publishing/appstore.md +42 -0
- package/docs/man_pages/publishing/publish-ios.md +55 -0
- package/docs/man_pages/publishing/publish.md +38 -0
- package/docs/man_pages/start.md +81 -0
- package/lib/.d.ts +494 -0
- package/lib/android-tools-info.js +135 -0
- package/lib/base-package-manager.js +129 -0
- package/lib/bash-scripts/terminateProcess.sh +12 -0
- package/lib/bootstrap.js +203 -0
- package/lib/bun-package-manager.js +135 -0
- package/lib/color.js +10 -0
- package/lib/commands/add-platform.js +49 -0
- package/lib/commands/apple-login.js +52 -0
- package/lib/commands/appstore-list.js +75 -0
- package/lib/commands/appstore-upload.js +106 -0
- package/lib/commands/build.js +161 -0
- package/lib/commands/clean.js +253 -0
- package/lib/commands/command-base.js +46 -0
- package/lib/commands/config.js +135 -0
- package/lib/commands/create-project.js +431 -0
- package/lib/commands/debug.js +191 -0
- package/lib/commands/deploy.js +78 -0
- package/lib/commands/extensibility/install-extension.js +33 -0
- package/lib/commands/extensibility/list-extensions.js +40 -0
- package/lib/commands/extensibility/uninstall-extension.js +32 -0
- package/lib/commands/fonts.js +64 -0
- package/lib/commands/generate-assets.js +71 -0
- package/lib/commands/generate-help.js +26 -0
- package/lib/commands/generate.js +78 -0
- package/lib/commands/info.js +26 -0
- package/lib/commands/install.js +80 -0
- package/lib/commands/list-platforms.js +45 -0
- package/lib/commands/migrate.js +44 -0
- package/lib/commands/platform-clean.js +54 -0
- package/lib/commands/plugin/add-plugin.js +43 -0
- package/lib/commands/plugin/build-plugin.js +70 -0
- package/lib/commands/plugin/create-plugin.js +175 -0
- package/lib/commands/plugin/list-plugins.js +54 -0
- package/lib/commands/plugin/remove-plugin.js +52 -0
- package/lib/commands/plugin/update-plugin.js +52 -0
- package/lib/commands/post-install.js +57 -0
- package/lib/commands/prepare.js +63 -0
- package/lib/commands/preview.js +93 -0
- package/lib/commands/remove-platform.js +40 -0
- package/lib/commands/resources/resources-update.js +45 -0
- package/lib/commands/run.js +177 -0
- package/lib/commands/setup.js +15 -0
- package/lib/commands/start.js +33 -0
- package/lib/commands/test-init.js +167 -0
- package/lib/commands/test.js +146 -0
- package/lib/commands/typings.js +180 -0
- package/lib/commands/update-platform.js +57 -0
- package/lib/commands/update.js +70 -0
- package/lib/common/LICENSE +201 -0
- package/lib/common/README.md +1084 -0
- package/lib/common/bin/common-lib.js +5 -0
- package/lib/common/bootstrap.js +97 -0
- package/lib/common/child-process.js +217 -0
- package/lib/common/codeGeneration/code-entity.js +47 -0
- package/lib/common/codeGeneration/code-generation.d.ts +47 -0
- package/lib/common/codeGeneration/code-printer.js +48 -0
- package/lib/common/command-params.js +45 -0
- package/lib/common/commands/analytics.js +81 -0
- package/lib/common/commands/autocompletion.js +110 -0
- package/lib/common/commands/device/device-log-stream.js +44 -0
- package/lib/common/commands/device/get-file.js +54 -0
- package/lib/common/commands/device/list-applications.js +42 -0
- package/lib/common/commands/device/list-devices.js +150 -0
- package/lib/common/commands/device/list-files.js +55 -0
- package/lib/common/commands/device/put-file.js +55 -0
- package/lib/common/commands/device/run-application.js +46 -0
- package/lib/common/commands/device/stop-application.js +42 -0
- package/lib/common/commands/device/uninstall-application.js +33 -0
- package/lib/common/commands/doctor.js +54 -0
- package/lib/common/commands/generate-messages.js +45 -0
- package/lib/common/commands/help.js +51 -0
- package/lib/common/commands/package-manager-get.js +32 -0
- package/lib/common/commands/package-manager-set.js +37 -0
- package/lib/common/commands/post-install.js +27 -0
- package/lib/common/commands/preuninstall.js +61 -0
- package/lib/common/commands/proxy/proxy-base.js +34 -0
- package/lib/common/commands/proxy/proxy-clear.js +32 -0
- package/lib/common/commands/proxy/proxy-get.js +31 -0
- package/lib/common/commands/proxy/proxy-set.js +150 -0
- package/lib/common/common-lib.js +5 -0
- package/lib/common/constants.js +122 -0
- package/lib/common/declarations.d.ts +1713 -0
- package/lib/common/decorators.js +201 -0
- package/lib/common/definitions/cli-global.d.ts +22 -0
- package/lib/common/definitions/commands-service.d.ts +27 -0
- package/lib/common/definitions/commands.d.ts +51 -0
- package/lib/common/definitions/config.d.ts +33 -0
- package/lib/common/definitions/extensibility.d.ts +147 -0
- package/lib/common/definitions/google-analytics.d.ts +109 -0
- package/lib/common/definitions/json-file-settings-service.d.ts +24 -0
- package/lib/common/definitions/key-commands.d.ts +62 -0
- package/lib/common/definitions/logger.d.ts +41 -0
- package/lib/common/definitions/mobile.d.ts +1499 -0
- package/lib/common/definitions/validator.d.ts +8 -0
- package/lib/common/definitions/yok.d.ts +56 -0
- package/lib/common/dispatchers.js +151 -0
- package/lib/common/docs/helpers/basic-extensions-page.html +15 -0
- package/lib/common/docs/helpers/basic-page.html +14 -0
- package/lib/common/docs/helpers/styles.css +365 -0
- package/lib/common/doctor.d.ts +6 -0
- package/lib/common/errors.js +206 -0
- package/lib/common/file-system.js +441 -0
- package/lib/common/header.js +30 -0
- package/lib/common/helpers.js +658 -0
- package/lib/common/host-info.js +133 -0
- package/lib/common/http-client.js +173 -0
- package/lib/common/logger/appenders/cli-appender.js +24 -0
- package/lib/common/logger/appenders/emit-appender.js +30 -0
- package/lib/common/logger/layouts/cli-layout.js +33 -0
- package/lib/common/logger/logger.js +199 -0
- package/lib/common/messages/messages.interface.d.ts +10 -0
- package/lib/common/messages/messages.js +15 -0
- package/lib/common/mobile/android/android-application-manager.js +228 -0
- package/lib/common/mobile/android/android-debug-bridge-result-handler.js +332 -0
- package/lib/common/mobile/android/android-debug-bridge.js +167 -0
- package/lib/common/mobile/android/android-device-file-system.js +176 -0
- package/lib/common/mobile/android/android-device-hash-service.js +133 -0
- package/lib/common/mobile/android/android-device.js +164 -0
- package/lib/common/mobile/android/android-emulator-services.js +205 -0
- package/lib/common/mobile/android/android-ini-file-parser.js +77 -0
- package/lib/common/mobile/android/android-log-filter.js +42 -0
- package/lib/common/mobile/android/android-virtual-device-service.js +360 -0
- package/lib/common/mobile/android/device-android-debug-bridge.js +48 -0
- package/lib/common/mobile/android/genymotion/genymotion-service.js +211 -0
- package/lib/common/mobile/android/genymotion/virtualbox-service.js +121 -0
- package/lib/common/mobile/android/logcat-helper.js +165 -0
- package/lib/common/mobile/application-manager-base.js +136 -0
- package/lib/common/mobile/device-emitter.js +61 -0
- package/lib/common/mobile/device-log-emitter.js +40 -0
- package/lib/common/mobile/device-log-provider-base.js +76 -0
- package/lib/common/mobile/device-log-provider.js +126 -0
- package/lib/common/mobile/device-platforms-constants.js +22 -0
- package/lib/common/mobile/emulator-helper.js +84 -0
- package/lib/common/mobile/ios/device/ios-application-manager.js +159 -0
- package/lib/common/mobile/ios/device/ios-device-file-system.js +133 -0
- package/lib/common/mobile/ios/device/ios-device-operations.js +234 -0
- package/lib/common/mobile/ios/device/ios-device.js +153 -0
- package/lib/common/mobile/ios/ios-device-base.js +108 -0
- package/lib/common/mobile/ios/ios-device-product-name-mapper.js +65 -0
- package/lib/common/mobile/ios/ios-log-filter.js +24 -0
- package/lib/common/mobile/ios/simulator/ios-emulator-services.js +139 -0
- package/lib/common/mobile/ios/simulator/ios-sim-resolver.js +23 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-application-manager.js +147 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-device.js +106 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-file-system.js +81 -0
- package/lib/common/mobile/ios/simulator/ios-simulator-log-provider.js +69 -0
- package/lib/common/mobile/local-to-device-path-data-factory.js +37 -0
- package/lib/common/mobile/log-filter.js +51 -0
- package/lib/common/mobile/logging-levels.js +12 -0
- package/lib/common/mobile/mobile-core/android-device-discovery.js +91 -0
- package/lib/common/mobile/mobile-core/android-emulator-discovery.js +65 -0
- package/lib/common/mobile/mobile-core/android-process-service.js +259 -0
- package/lib/common/mobile/mobile-core/device-discovery.js +64 -0
- package/lib/common/mobile/mobile-core/devices-service.js +854 -0
- package/lib/common/mobile/mobile-core/ios-device-discovery.js +63 -0
- package/lib/common/mobile/mobile-core/ios-simulator-discovery.js +109 -0
- package/lib/common/mobile/mobile-helper.js +102 -0
- package/lib/common/mobile/wp8/wp8-emulator-services.js +82 -0
- package/lib/common/old.npmignore +12 -0
- package/lib/common/opener.js +16 -0
- package/lib/common/os-info.js +21 -0
- package/lib/common/plist-parser.js +24 -0
- package/lib/common/project-helper.js +70 -0
- package/lib/common/prompter.js +191 -0
- package/lib/common/queue.js +37 -0
- package/lib/common/resource-loader.js +25 -0
- package/lib/common/resources/messages/errorMessages.json +7 -0
- package/lib/common/resources/platform-tools/android/darwin/NOTICE.txt +3407 -0
- package/lib/common/resources/platform-tools/android/darwin/adb +0 -0
- package/lib/common/resources/platform-tools/android/linux/NOTICE.txt +4451 -0
- package/lib/common/resources/platform-tools/android/linux/adb +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/AdbWinUsbApi.dll +0 -0
- package/lib/common/resources/platform-tools/android/win32/NOTICE.txt +4451 -0
- package/lib/common/resources/platform-tools/android/win32/adb.exe +0 -0
- package/lib/common/resources/platform-tools/android/win32/fastboot.exe +0 -0
- package/lib/common/resources/platform-tools/unzip/win32/unzip.exe +0 -0
- package/lib/common/services/analytics/google-analytics-custom-dimensions.d.ts +16 -0
- package/lib/common/services/auto-completion-service.js +265 -0
- package/lib/common/services/cancellation.js +67 -0
- package/lib/common/services/commands-service.js +268 -0
- package/lib/common/services/help-service.js +252 -0
- package/lib/common/services/hooks-service.js +318 -0
- package/lib/common/services/ios-notification-service.js +49 -0
- package/lib/common/services/json-file-settings-service.js +133 -0
- package/lib/common/services/lock-service.js +129 -0
- package/lib/common/services/message-contract-generator.js +83 -0
- package/lib/common/services/messages-service.js +77 -0
- package/lib/common/services/micro-templating-service.js +49 -0
- package/lib/common/services/net-service.js +137 -0
- package/lib/common/services/project-files-manager.js +100 -0
- package/lib/common/services/project-files-provider-base.js +54 -0
- package/lib/common/services/proxy-service.js +64 -0
- package/lib/common/services/qr.js +39 -0
- package/lib/common/services/settings-service.js +42 -0
- package/lib/common/services/xcode-select-service.js +62 -0
- package/lib/common/utils.js +31 -0
- package/lib/common/validators/project-name-validator.js +88 -0
- package/lib/common/validators/validation-result.js +16 -0
- package/lib/common/vendor/License.txt +4 -0
- package/lib/common/vendor/jaro-winkler_distance.js +111 -0
- package/lib/common/verify-node-version.js +78 -0
- package/lib/common/yok.js +426 -0
- package/lib/config.js +137 -0
- package/lib/constants-provider.js +12 -0
- package/lib/constants.js +350 -0
- package/lib/controllers/build-controller.js +133 -0
- package/lib/controllers/debug-controller.js +235 -0
- package/lib/controllers/deploy-controller.js +38 -0
- package/lib/controllers/migrate-controller.js +1114 -0
- package/lib/controllers/platform-controller.js +127 -0
- package/lib/controllers/prepare-controller.js +353 -0
- package/lib/controllers/run-controller.js +525 -0
- package/lib/controllers/update-controller-base.js +84 -0
- package/lib/controllers/update-controller.js +188 -0
- package/lib/data/build-data.js +44 -0
- package/lib/data/controller-data-base.js +11 -0
- package/lib/data/debug-data.js +6 -0
- package/lib/data/platform-data.js +13 -0
- package/lib/data/prepare-data.js +46 -0
- package/lib/data/run-data.js +11 -0
- package/lib/declarations.d.ts +1256 -0
- package/lib/definitions/android-bundle-tool-service.d.ts +17 -0
- package/lib/definitions/android-plugin-migrator.d.ts +52 -0
- package/lib/definitions/build.d.ts +92 -0
- package/lib/definitions/cleanup-service.d.ts +79 -0
- package/lib/definitions/data.d.ts +7 -0
- package/lib/definitions/debug.d.ts +166 -0
- package/lib/definitions/deploy.d.ts +3 -0
- package/lib/definitions/file-log-service.d.ts +19 -0
- package/lib/definitions/files-hash-service.d.ts +35 -0
- package/lib/definitions/gradle.d.ts +33 -0
- package/lib/definitions/hmr-status-service.d.ts +5 -0
- package/lib/definitions/initialize-service.d.ts +11 -0
- package/lib/definitions/ios-debugger-port-service.d.ts +29 -0
- package/lib/definitions/ios.d.ts +97 -0
- package/lib/definitions/ip-service.d.ts +10 -0
- package/lib/definitions/livesync-global.d.ts +7 -0
- package/lib/definitions/livesync.d.ts +601 -0
- package/lib/definitions/lock-service.d.ts +43 -0
- package/lib/definitions/log-parser-service.d.ts +14 -0
- package/lib/definitions/marking-mode-service.d.ts +11 -0
- package/lib/definitions/metadata-filtering-service.d.ts +48 -0
- package/lib/definitions/migrate.d.ts +46 -0
- package/lib/definitions/nativescript-dev-xcode.d.ts +87 -0
- package/lib/definitions/pacote-service.d.ts +50 -0
- package/lib/definitions/platform.d.ts +146 -0
- package/lib/definitions/plugins.d.ts +75 -0
- package/lib/definitions/prepare.d.ts +51 -0
- package/lib/definitions/project-changes.d.ts +34 -0
- package/lib/definitions/project.d.ts +858 -0
- package/lib/definitions/prompter.d.ts +27 -0
- package/lib/definitions/qr-code.d.ts +3 -0
- package/lib/definitions/require.d.ts +11 -0
- package/lib/definitions/run.d.ts +45 -0
- package/lib/definitions/start-service.d.ts +15 -0
- package/lib/definitions/subscription-service.d.ts +11 -0
- package/lib/definitions/system-warnings.d.ts +4 -0
- package/lib/definitions/temp-service.d.ts +9 -0
- package/lib/definitions/terminal-spinner-service.d.ts +12 -0
- package/lib/definitions/update.d.ts +16 -0
- package/lib/definitions/xcode.d.ts +12 -0
- package/lib/detached-processes/cleanup-js-subprocess.js +62 -0
- package/lib/detached-processes/cleanup-process-definitions.d.ts +70 -0
- package/lib/detached-processes/cleanup-process.js +281 -0
- package/lib/detached-processes/detached-process-enums.d.ts +70 -0
- package/lib/detached-processes/file-log-service.js +20 -0
- package/lib/device-path-provider.js +60 -0
- package/lib/device-sockets/ios/app-debug-socket-proxy-factory.js +217 -0
- package/lib/device-sockets/ios/notification.js +30 -0
- package/lib/device-sockets/ios/socket-request-executor.js +56 -0
- package/lib/helpers/android-bundle-validator-helper.js +52 -0
- package/lib/helpers/deploy-command-helper.js +70 -0
- package/lib/helpers/key-command-helper.js +124 -0
- package/lib/helpers/livesync-command-helper.js +220 -0
- package/lib/helpers/network-connectivity-validator.js +47 -0
- package/lib/helpers/options-track-helper.js +88 -0
- package/lib/helpers/package-path-helper.js +6 -0
- package/lib/helpers/platform-command-helper.js +192 -0
- package/lib/helpers/version-validator-helper.js +25 -0
- package/lib/key-commands/bootstrap.js +21 -0
- package/lib/key-commands/index.js +456 -0
- package/lib/nativescript-cli-lib-bootstrap.js +8 -0
- package/lib/nativescript-cli-lib.js +5 -0
- package/lib/nativescript-cli.js +55 -0
- package/lib/node/pbxproj-dom-xcode.js +5 -0
- package/lib/node/xcode.js +7 -0
- package/lib/node-package-manager.js +156 -0
- package/lib/options.js +393 -0
- package/lib/package-installation-manager.js +221 -0
- package/lib/package-manager.js +184 -0
- package/lib/platform-command-param.js +29 -0
- package/lib/pnpm-package-manager.js +136 -0
- package/lib/project-data.js +237 -0
- package/lib/providers/project-files-provider.js +46 -0
- package/lib/resolvers/livesync-service-resolver.js +22 -0
- package/lib/services/analytics/analytics-broker-process.js +77 -0
- package/lib/services/analytics/analytics-broker.js +53 -0
- package/lib/services/analytics/analytics-service.js +366 -0
- package/lib/services/analytics/analytics.d.ts +55 -0
- package/lib/services/analytics/google-analytics-cross-client-custom-dimensions.d.ts +6 -0
- package/lib/services/analytics/google-analytics-provider.js +152 -0
- package/lib/services/analytics-settings-service.js +104 -0
- package/lib/services/android/android-bundle-tool-service.js +81 -0
- package/lib/services/android/gradle-build-args-service.js +87 -0
- package/lib/services/android/gradle-build-service.js +68 -0
- package/lib/services/android/gradle-command-service.js +49 -0
- package/lib/services/android-device-debug-service.js +173 -0
- package/lib/services/android-plugin-build-service.js +527 -0
- package/lib/services/android-project-service.js +600 -0
- package/lib/services/android-resources-migration-service.js +104 -0
- package/lib/services/apple-portal/apple-portal-application-service.js +82 -0
- package/lib/services/apple-portal/apple-portal-cookie-service.js +53 -0
- package/lib/services/apple-portal/apple-portal-session-service.js +277 -0
- package/lib/services/apple-portal/definitions.d.ts +87 -0
- package/lib/services/assets-generation/assets-generation-service.js +178 -0
- package/lib/services/build-artifacts-service.js +113 -0
- package/lib/services/build-data-service.js +20 -0
- package/lib/services/build-info-file-service.js +79 -0
- package/lib/services/cleanup-service.js +194 -0
- package/lib/services/cocoapods-platform-manager.js +137 -0
- package/lib/services/cocoapods-service.js +354 -0
- package/lib/services/debug-data-service.js +21 -0
- package/lib/services/debug-service-base.js +44 -0
- package/lib/services/device/device-install-app-service.js +118 -0
- package/lib/services/doctor-service.js +294 -0
- package/lib/services/extensibility-service.js +220 -0
- package/lib/services/files-hash-service.js +79 -0
- package/lib/services/hmr-status-service.js +128 -0
- package/lib/services/info-service.js +14 -0
- package/lib/services/initialize-service.js +70 -0
- package/lib/services/ios/export-options-plist-service.js +131 -0
- package/lib/services/ios/ios-signing-service.js +265 -0
- package/lib/services/ios/spm-service.js +78 -0
- package/lib/services/ios/xcodebuild-args-service.js +163 -0
- package/lib/services/ios/xcodebuild-command-service.js +40 -0
- package/lib/services/ios/xcodebuild-service.js +93 -0
- package/lib/services/ios-debugger-port-service.js +140 -0
- package/lib/services/ios-device-debug-service.js +167 -0
- package/lib/services/ios-entitlements-service.js +78 -0
- package/lib/services/ios-extensions-service.js +63 -0
- package/lib/services/ios-log-filter.js +70 -0
- package/lib/services/ios-native-target-service.js +108 -0
- package/lib/services/ios-project-service.js +851 -0
- package/lib/services/ios-provision-service.js +173 -0
- package/lib/services/ios-watch-app-service.js +76 -0
- package/lib/services/ip-service.js +78 -0
- package/lib/services/itmstransporter-service.js +216 -0
- package/lib/services/karma-execution.js +16 -0
- package/lib/services/livesync/android-device-livesync-service-base.js +68 -0
- package/lib/services/livesync/android-device-livesync-service.js +203 -0
- package/lib/services/livesync/android-device-livesync-sockets-service.js +198 -0
- package/lib/services/livesync/android-livesync-service.js +76 -0
- package/lib/services/livesync/android-livesync-tool.js +427 -0
- package/lib/services/livesync/android-livesync-tool.md +211 -0
- package/lib/services/livesync/device-livesync-service-base.js +69 -0
- package/lib/services/livesync/ios-device-livesync-service.js +218 -0
- package/lib/services/livesync/ios-livesync-service.js +95 -0
- package/lib/services/livesync/livesync-socket.js +14 -0
- package/lib/services/livesync/platform-livesync-service-base.js +180 -0
- package/lib/services/livesync-process-data-service.js +43 -0
- package/lib/services/log-parser-service.js +52 -0
- package/lib/services/log-source-map-service.js +235 -0
- package/lib/services/marking-mode-service.js +56 -0
- package/lib/services/metadata-filtering-service.js +105 -0
- package/lib/services/npm-config-service.js +39 -0
- package/lib/services/pacote-service.js +109 -0
- package/lib/services/performance-service.js +92 -0
- package/lib/services/platform/add-platform-service.js +119 -0
- package/lib/services/platform/platform-validation-service.js +85 -0
- package/lib/services/platform/prepare-native-platform-service.js +87 -0
- package/lib/services/platform-environment-requirements.js +87 -0
- package/lib/services/platform-project-service-base.js +32 -0
- package/lib/services/platforms-data-service.js +31 -0
- package/lib/services/plugins-service.js +477 -0
- package/lib/services/prepare-data-service.js +21 -0
- package/lib/services/project-backup-service.js +114 -0
- package/lib/services/project-changes-service.js +274 -0
- package/lib/services/project-cleanup-service.js +102 -0
- package/lib/services/project-config-service.js +335 -0
- package/lib/services/project-data-service.js +478 -0
- package/lib/services/project-name-service.js +67 -0
- package/lib/services/project-service.js +204 -0
- package/lib/services/project-templates-service.js +114 -0
- package/lib/services/qr-code-terminal-service.js +20 -0
- package/lib/services/require-service.js +11 -0
- package/lib/services/start-service.js +116 -0
- package/lib/services/temp-service.js +36 -0
- package/lib/services/terminal-spinner-service.js +38 -0
- package/lib/services/test-execution-service.js +154 -0
- package/lib/services/test-initialization-service.js +54 -0
- package/lib/services/timeline-profiler-service.js +108 -0
- package/lib/services/user-settings-service.js +34 -0
- package/lib/services/versions-service.js +196 -0
- package/lib/services/watch-ignore-list-service.js +20 -0
- package/lib/services/webpack/webpack-compiler-service.js +405 -0
- package/lib/services/webpack/webpack.d.ts +227 -0
- package/lib/services/xcconfig-service.js +76 -0
- package/lib/services/xcproj-service.js +11 -0
- package/lib/shared-event-bus.js +7 -0
- package/lib/sys-info.js +120 -0
- package/lib/tools/config-manipulation/config-transformer.js +201 -0
- package/lib/tools/node-modules/node-modules-builder.js +42 -0
- package/lib/tools/node-modules/node-modules-dependencies-builder.js +100 -0
- package/lib/yarn-package-manager.js +134 -0
- package/lib/yarn2-package-manager.js +143 -0
- package/package.json +192 -0
- package/postinstall.js +10 -0
- package/preuninstall.js +14 -0
- package/resources/assets/image-definitions.json +655 -0
- package/resources/test/example.jasmine.js +6 -0
- package/resources/test/example.jasmine.ts +6 -0
- package/resources/test/example.mocha.js +9 -0
- package/resources/test/example.mocha.ts +9 -0
- package/resources/test/example.qunit.js +7 -0
- package/resources/test/example.qunit.ts +7 -0
- package/resources/test/karma.conf.js +93 -0
- package/resources/test/test-main.js +9 -0
- package/resources/test/test-main.ts +11 -0
- package/resources/test/tsconfig.spec.json +9 -0
- package/setup/mac-startup-shell-script.sh +2 -0
- package/vendor/aab-tool/LICENSE +202 -0
- package/vendor/aab-tool/README.txt +1 -0
- package/vendor/aab-tool/bundletool.jar +0 -0
- package/vendor/gradle-app/app/build.gradle +1054 -0
- package/vendor/gradle-app/app/gradle-helpers/AnalyticsCollector.gradle +48 -0
- package/vendor/gradle-app/app/gradle-helpers/BuildToolTask.gradle +50 -0
- package/vendor/gradle-app/app/gradle-helpers/CustomExecutionLogger.gradle +52 -0
- package/vendor/gradle-app/build.gradle +170 -0
- package/vendor/gradle-app/settings.gradle +78 -0
- package/vendor/gradle-plugin/LICENSE +995 -0
- package/vendor/gradle-plugin/build.gradle +363 -0
- package/vendor/gradle-plugin/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/vendor/gradle-plugin/gradle/wrapper/gradle-wrapper.properties +6 -0
- package/vendor/gradle-plugin/gradle.properties +6 -0
- package/vendor/gradle-plugin/gradlew +172 -0
- package/vendor/gradle-plugin/gradlew.bat +84 -0
- package/vendor/gradle-plugin/settings.gradle +45 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IPrompterOptions,
|
|
3
|
+
IAllowEmpty,
|
|
4
|
+
IDisposable,
|
|
5
|
+
IPrompterQuestion,
|
|
6
|
+
} from "../common/declarations";
|
|
7
|
+
|
|
8
|
+
declare global {
|
|
9
|
+
interface IPrompter extends IDisposable {
|
|
10
|
+
get(schemas: IPrompterQuestion[]): Promise<any>;
|
|
11
|
+
getPassword(prompt: string, options?: IAllowEmpty): Promise<string>;
|
|
12
|
+
getString(prompt: string, options?: IPrompterOptions): Promise<string>;
|
|
13
|
+
promptForChoice(
|
|
14
|
+
promptMessage: string,
|
|
15
|
+
choices:
|
|
16
|
+
| string[]
|
|
17
|
+
| { title: string; description?: string; value?: string }[],
|
|
18
|
+
multiple: boolean = false,
|
|
19
|
+
options: any = {}
|
|
20
|
+
): Promise<string>;
|
|
21
|
+
promptForDetailedChoice(
|
|
22
|
+
promptMessage: string,
|
|
23
|
+
choices: { key: string; description: string }[]
|
|
24
|
+
): Promise<string>;
|
|
25
|
+
confirm(prompt: string, defaultAction?: () => boolean): Promise<boolean>;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describes methods available in the require.
|
|
3
|
+
*/
|
|
4
|
+
interface IRequireService {
|
|
5
|
+
/**
|
|
6
|
+
* Wrapper for the Node.js `require` method.
|
|
7
|
+
* @param {string} module Module to be required.
|
|
8
|
+
* @returns {any} The result of the require action.
|
|
9
|
+
*/
|
|
10
|
+
require(module: string): any;
|
|
11
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter } from "events";
|
|
2
|
+
import { IBuildData } from "./build";
|
|
3
|
+
|
|
4
|
+
declare global {
|
|
5
|
+
interface IRunData {
|
|
6
|
+
liveSyncInfo: ILiveSyncInfo;
|
|
7
|
+
deviceDescriptors: ILiveSyncDeviceDescriptor[];
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface IDeployData {
|
|
11
|
+
deviceDescriptors: ILiveSyncDeviceDescriptor[];
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface IStopRunData {
|
|
15
|
+
projectDir: string;
|
|
16
|
+
deviceIdentifiers?: string[];
|
|
17
|
+
stopOptions?: {
|
|
18
|
+
shouldAwaitAllActions: boolean;
|
|
19
|
+
keepProcessAlive?: boolean;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
interface IRunController extends EventEmitter {
|
|
24
|
+
run(runData: IRunData): Promise<void>;
|
|
25
|
+
stop(data: IStopRunData): Promise<void>;
|
|
26
|
+
getDeviceDescriptors(data: {
|
|
27
|
+
projectDir: string;
|
|
28
|
+
}): ILiveSyncDeviceDescriptor[];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
interface IDeviceInstallAppService {
|
|
32
|
+
installOnDevice(
|
|
33
|
+
device: Mobile.IDevice,
|
|
34
|
+
buildData: IBuildData
|
|
35
|
+
): Promise<void>;
|
|
36
|
+
installOnDeviceIfNeeded(
|
|
37
|
+
device: Mobile.IDevice,
|
|
38
|
+
buildData: IBuildData
|
|
39
|
+
): Promise<void>;
|
|
40
|
+
shouldInstall(
|
|
41
|
+
device: Mobile.IDevice,
|
|
42
|
+
buildData: IBuildData
|
|
43
|
+
): Promise<boolean>;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ChildProcess } from "child_process";
|
|
2
|
+
|
|
3
|
+
export interface IStartService {
|
|
4
|
+
ios: ChildProcess;
|
|
5
|
+
android: ChildProcess;
|
|
6
|
+
start(): void;
|
|
7
|
+
toggleVerbose(): void;
|
|
8
|
+
|
|
9
|
+
runIOS(): Promise<void>;
|
|
10
|
+
runVisionOS(): Promise<void>;
|
|
11
|
+
runAndroid(): Promise<void>;
|
|
12
|
+
stopIOS(): Promise<void>;
|
|
13
|
+
stopVisionOS(): Promise<void>;
|
|
14
|
+
stopAndroid(): Promise<void>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Describes methods for subscribing to different NativeScript campaigns.
|
|
3
|
+
*/
|
|
4
|
+
interface ISubscriptionService {
|
|
5
|
+
/**
|
|
6
|
+
* Subscribes users for NativeScript's newsletter by asking them for their email.
|
|
7
|
+
* In case we've already asked the user for his email, this method will do nothing.
|
|
8
|
+
* @returns {Promise<void>}
|
|
9
|
+
*/
|
|
10
|
+
subscribeForNewsletter(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Options, Ora } from "ora";
|
|
2
|
+
|
|
3
|
+
type ITerminalSpinnerOptions = Options;
|
|
4
|
+
type ITerminalSpinner = Ora;
|
|
5
|
+
|
|
6
|
+
interface ITerminalSpinnerService {
|
|
7
|
+
createSpinner(spinnerOptions?: ITerminalSpinnerOptions): ITerminalSpinner;
|
|
8
|
+
execute<T>(
|
|
9
|
+
spinnerOptions: ITerminalSpinnerOptions,
|
|
10
|
+
action: () => Promise<T>
|
|
11
|
+
): Promise<T>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface IUpdateController {
|
|
2
|
+
update(updateOptions: IUpdateOptions): Promise<void>;
|
|
3
|
+
shouldUpdate({
|
|
4
|
+
projectDir,
|
|
5
|
+
version,
|
|
6
|
+
}: {
|
|
7
|
+
projectDir: string;
|
|
8
|
+
version?: string;
|
|
9
|
+
}): Promise<boolean>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface IUpdateOptions {
|
|
13
|
+
projectDir: string;
|
|
14
|
+
version?: string;
|
|
15
|
+
frameworkPath?: string;
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference path="./nativescript-dev-xcode.d.ts" />
|
|
2
|
+
|
|
3
|
+
import * as xcode from "nativescript-dev-xcode";
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
type IXcode = typeof xcode;
|
|
7
|
+
export namespace IXcode {
|
|
8
|
+
export type target = xcode.target;
|
|
9
|
+
export type project = xcode.project;
|
|
10
|
+
export interface Options extends xcode.Options {}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
7
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
8
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const fs = require("fs");
|
|
14
|
+
const uuid_1 = require("uuid");
|
|
15
|
+
const file_log_service_1 = require("./file-log-service");
|
|
16
|
+
const yok_1 = require("../common/yok");
|
|
17
|
+
const pathToBootstrap = process.argv[2];
|
|
18
|
+
if (!pathToBootstrap || !fs.existsSync(pathToBootstrap)) {
|
|
19
|
+
throw new Error("Invalid path to bootstrap.");
|
|
20
|
+
}
|
|
21
|
+
require(pathToBootstrap);
|
|
22
|
+
const logFile = process.argv[3];
|
|
23
|
+
const jsFilePath = process.argv[4];
|
|
24
|
+
const fileLogService = yok_1.injector.resolve(file_log_service_1.FileLogService, {
|
|
25
|
+
logFile,
|
|
26
|
+
});
|
|
27
|
+
const uniqueId = (0, uuid_1.v4)();
|
|
28
|
+
fileLogService.logData({
|
|
29
|
+
message: `Initializing Cleanup process for path: ${jsFilePath} Unique id: ${uniqueId}`,
|
|
30
|
+
});
|
|
31
|
+
if (!fs.existsSync(jsFilePath)) {
|
|
32
|
+
throw new Error(`Unable to find file ${jsFilePath}. Ensure it exists.`);
|
|
33
|
+
}
|
|
34
|
+
let data;
|
|
35
|
+
try {
|
|
36
|
+
data = process.argv[5] && JSON.parse(process.argv[5]);
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
throw new Error(`Unable to parse data from argv ${process.argv[5]}.`);
|
|
40
|
+
}
|
|
41
|
+
const logMessage = (msg, type) => {
|
|
42
|
+
fileLogService.logData({ message: `[${uniqueId}] ${msg}`, type });
|
|
43
|
+
};
|
|
44
|
+
(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
try {
|
|
46
|
+
logMessage(`Requiring file ${jsFilePath}`);
|
|
47
|
+
const func = require(jsFilePath);
|
|
48
|
+
if (func && typeof func === "function") {
|
|
49
|
+
try {
|
|
50
|
+
logMessage(`Passing data: ${JSON.stringify(data)} to the default function exported by currently required file ${jsFilePath}`);
|
|
51
|
+
yield func(data);
|
|
52
|
+
logMessage(`Finished execution with data: ${JSON.stringify(data)} to the default function exported by currently required file ${jsFilePath}`);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
logMessage(`Unable to execute action of file ${jsFilePath} when passed data is ${JSON.stringify(data)}. Error is: ${err}.`, "Error");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
logMessage(`Unable to require file: ${jsFilePath}. Error is: ${err}.`, "Error");
|
|
61
|
+
}
|
|
62
|
+
}))();
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { IDictionary } from "../common/declarations";
|
|
2
|
+
|
|
3
|
+
interface ITimeout {
|
|
4
|
+
/**
|
|
5
|
+
* Timeout to execute the action.
|
|
6
|
+
*/
|
|
7
|
+
timeout?: number;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
interface IFilePath {
|
|
11
|
+
/**
|
|
12
|
+
* Path to file/directory to be deleted or required
|
|
13
|
+
*/
|
|
14
|
+
filePath: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
interface ISpawnCommandInfo extends ITimeout {
|
|
18
|
+
/**
|
|
19
|
+
* Executable to be started.
|
|
20
|
+
*/
|
|
21
|
+
command: string;
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Arguments that will be passed to the child process
|
|
25
|
+
*/
|
|
26
|
+
args: string[];
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Options to be passed to the child process
|
|
30
|
+
*/
|
|
31
|
+
options?: any;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface IRequestInfo extends ITimeout {
|
|
35
|
+
url: string;
|
|
36
|
+
method: string;
|
|
37
|
+
body: any;
|
|
38
|
+
headers: any;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
interface ICleanupMessageBase {
|
|
42
|
+
/**
|
|
43
|
+
* Type of the message
|
|
44
|
+
*/
|
|
45
|
+
messageType: CleanupProcessMessage;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
interface ISpawnCommandCleanupMessage extends ICleanupMessageBase {
|
|
49
|
+
/**
|
|
50
|
+
* Describes the command that must be executed
|
|
51
|
+
*/
|
|
52
|
+
commandInfo: ISpawnCommandInfo;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
interface IRequestCleanupMessage extends ICleanupMessageBase {
|
|
56
|
+
/**
|
|
57
|
+
* Describes the request that must be executed
|
|
58
|
+
*/
|
|
59
|
+
requestInfo: IRequestInfo;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
interface IFileCleanupMessage extends ICleanupMessageBase, IFilePath {}
|
|
63
|
+
|
|
64
|
+
interface IJSCommand extends ITimeout, IFilePath {
|
|
65
|
+
data: IDictionary<any>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
interface IJSCleanupMessage extends ICleanupMessageBase {
|
|
69
|
+
jsCommand: IJSCommand;
|
|
70
|
+
}
|
|
@@ -0,0 +1,281 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
const fs = require("fs");
|
|
13
|
+
const path = require("path");
|
|
14
|
+
const shelljs = require("shelljs");
|
|
15
|
+
const _ = require("lodash");
|
|
16
|
+
const file_log_service_1 = require("./file-log-service");
|
|
17
|
+
const yok_1 = require("../common/yok");
|
|
18
|
+
const pathToBootstrap = process.argv[2];
|
|
19
|
+
if (!pathToBootstrap || !fs.existsSync(pathToBootstrap)) {
|
|
20
|
+
throw new Error("Invalid path to bootstrap.");
|
|
21
|
+
}
|
|
22
|
+
const logFile = process.argv[3];
|
|
23
|
+
require(pathToBootstrap);
|
|
24
|
+
const fileLogService = yok_1.injector.resolve(file_log_service_1.FileLogService, {
|
|
25
|
+
logFile,
|
|
26
|
+
});
|
|
27
|
+
fileLogService.logData({ message: "Initializing Cleanup process." });
|
|
28
|
+
const commandsInfos = [];
|
|
29
|
+
const filesToDelete = [];
|
|
30
|
+
const jsCommands = [];
|
|
31
|
+
const requests = [];
|
|
32
|
+
const executeRequest = (request) => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
const $httpClient = yok_1.injector.resolve("httpClient");
|
|
34
|
+
try {
|
|
35
|
+
fileLogService.logData({
|
|
36
|
+
message: `Start executing request: ${request.method} ${request.url}`,
|
|
37
|
+
});
|
|
38
|
+
const response = yield $httpClient.httpRequest({
|
|
39
|
+
url: request.url,
|
|
40
|
+
method: request.method,
|
|
41
|
+
headers: request.headers,
|
|
42
|
+
body: request.body,
|
|
43
|
+
});
|
|
44
|
+
const responseStatus = response && response.response && response.response.statusCode;
|
|
45
|
+
fileLogService.logData({
|
|
46
|
+
message: `Finished executing request: ${request.method} ${request.url} and got status ${responseStatus}`,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
fileLogService.logData({
|
|
51
|
+
message: `Unable to execute request: ${request.method} ${request.url}`,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
const executeJSCleanup = (jsCommand) => __awaiter(void 0, void 0, void 0, function* () {
|
|
56
|
+
const $childProcess = yok_1.injector.resolve("childProcess");
|
|
57
|
+
try {
|
|
58
|
+
fileLogService.logData({
|
|
59
|
+
message: `Start executing action for file: ${jsCommand.filePath} and data ${JSON.stringify(jsCommand.data)}`,
|
|
60
|
+
});
|
|
61
|
+
yield $childProcess.trySpawnFromCloseEvent(process.execPath, [
|
|
62
|
+
path.join(__dirname, "cleanup-js-subprocess.js"),
|
|
63
|
+
pathToBootstrap,
|
|
64
|
+
logFile,
|
|
65
|
+
jsCommand.filePath,
|
|
66
|
+
JSON.stringify(jsCommand.data),
|
|
67
|
+
], {}, { throwError: true, timeout: jsCommand.timeout || 3000 });
|
|
68
|
+
fileLogService.logData({
|
|
69
|
+
message: `Finished executing action for file: ${jsCommand.filePath} and data ${JSON.stringify(jsCommand.data)}`,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
fileLogService.logData({
|
|
74
|
+
message: `Unable to execute action for file ${jsCommand.filePath} with data ${JSON.stringify(jsCommand.data)}. Error is: ${err}.`,
|
|
75
|
+
type: "Error",
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
const executeCleanup = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
80
|
+
const $childProcess = yok_1.injector.resolve("childProcess");
|
|
81
|
+
for (const request of requests) {
|
|
82
|
+
yield executeRequest(request);
|
|
83
|
+
}
|
|
84
|
+
for (const jsCommand of jsCommands) {
|
|
85
|
+
yield executeJSCleanup(jsCommand);
|
|
86
|
+
}
|
|
87
|
+
for (const commandInfo of commandsInfos) {
|
|
88
|
+
try {
|
|
89
|
+
fileLogService.logData({
|
|
90
|
+
message: `Start executing command: ${JSON.stringify(commandInfo)}`,
|
|
91
|
+
});
|
|
92
|
+
yield $childProcess.trySpawnFromCloseEvent(commandInfo.command, commandInfo.args, commandInfo.options || {}, { throwError: true, timeout: commandInfo.timeout || 3000 });
|
|
93
|
+
fileLogService.logData({
|
|
94
|
+
message: `Successfully executed command: ${JSON.stringify(commandInfo)}`,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
fileLogService.logData({
|
|
99
|
+
message: `Unable to execute command: ${JSON.stringify(commandInfo)}. Error is: ${err}.`,
|
|
100
|
+
type: "Error",
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (filesToDelete.length) {
|
|
105
|
+
try {
|
|
106
|
+
fileLogService.logData({
|
|
107
|
+
message: `Deleting files ${filesToDelete.join(" ")}`,
|
|
108
|
+
});
|
|
109
|
+
shelljs.rm("-Rf", filesToDelete);
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
fileLogService.logData({
|
|
113
|
+
message: `Unable to delete files: ${JSON.stringify(filesToDelete)}. Error is: ${err}.`,
|
|
114
|
+
type: "Error",
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
fileLogService.logData({ message: `cleanup-process finished` });
|
|
119
|
+
process.exit();
|
|
120
|
+
});
|
|
121
|
+
const addCleanupAction = (commandInfo) => {
|
|
122
|
+
if (_.some(commandsInfos, (currentCommandInfo) => _.isEqual(currentCommandInfo, commandInfo))) {
|
|
123
|
+
fileLogService.logData({
|
|
124
|
+
message: `cleanup-process will not add command for execution as it has been added already: ${JSON.stringify(commandInfo)}`,
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
fileLogService.logData({
|
|
129
|
+
message: `cleanup-process added command for execution: ${JSON.stringify(commandInfo)}`,
|
|
130
|
+
});
|
|
131
|
+
commandsInfos.push(commandInfo);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
const removeCleanupAction = (commandInfo) => {
|
|
135
|
+
if (_.some(commandsInfos, (currentCommandInfo) => _.isEqual(currentCommandInfo, commandInfo))) {
|
|
136
|
+
_.remove(commandsInfos, (currentCommandInfo) => _.isEqual(currentCommandInfo, commandInfo));
|
|
137
|
+
fileLogService.logData({
|
|
138
|
+
message: `cleanup-process removed command for execution: ${JSON.stringify(commandInfo)}`,
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
fileLogService.logData({
|
|
143
|
+
message: `cleanup-process cannot remove command for execution as it has not been added before: ${JSON.stringify(commandInfo)}`,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
const addRequest = (requestInfo) => {
|
|
148
|
+
if (_.some(requests, (currentRequestInfo) => _.isEqual(currentRequestInfo, requestInfo))) {
|
|
149
|
+
fileLogService.logData({
|
|
150
|
+
message: `cleanup-process will not add request for execution as it has been added already: ${JSON.stringify(requestInfo)}`,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
fileLogService.logData({
|
|
155
|
+
message: `cleanup-process added request for execution: ${JSON.stringify(requestInfo)}`,
|
|
156
|
+
});
|
|
157
|
+
requests.push(requestInfo);
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
const removeRequest = (requestInfo) => {
|
|
161
|
+
if (_.some(requests, (currentRequestInfo) => _.isEqual(currentRequestInfo, currentRequestInfo))) {
|
|
162
|
+
_.remove(requests, (currentRequestInfo) => _.isEqual(currentRequestInfo, requestInfo));
|
|
163
|
+
fileLogService.logData({
|
|
164
|
+
message: `cleanup-process removed request for execution: ${JSON.stringify(requestInfo)}`,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
fileLogService.logData({
|
|
169
|
+
message: `cleanup-process cannot remove request for execution as it has not been added before: ${JSON.stringify(requestInfo)}`,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
};
|
|
173
|
+
const addDeleteAction = (filePath) => {
|
|
174
|
+
const fullPath = path.resolve(filePath);
|
|
175
|
+
if (_.some(filesToDelete, (f) => f === fullPath)) {
|
|
176
|
+
fileLogService.logData({
|
|
177
|
+
message: `cleanup-process will not add ${fullPath} for deletion as it has been added already`,
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
filesToDelete.push(fullPath);
|
|
182
|
+
fileLogService.logData({
|
|
183
|
+
message: `cleanup-process added ${fullPath} for deletion`,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
};
|
|
187
|
+
const removeDeleteAction = (filePath) => {
|
|
188
|
+
const fullPath = path.resolve(filePath);
|
|
189
|
+
if (_.some(filesToDelete, (f) => f === fullPath)) {
|
|
190
|
+
_.remove(filesToDelete, (f) => f === fullPath);
|
|
191
|
+
fileLogService.logData({
|
|
192
|
+
message: `cleanup-process removed ${fullPath} from the list of files for deletion.`,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
fileLogService.logData({
|
|
197
|
+
message: `cleanup-process cannot remove ${fullPath} for deletion as no such entry is found in the files marked for deletion`,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
const addJSFile = (jsCommand) => {
|
|
202
|
+
const fullPath = path.resolve(jsCommand.filePath);
|
|
203
|
+
jsCommand.filePath = fullPath;
|
|
204
|
+
if (_.some(jsCommands, (currentJSCommand) => _.isEqual(currentJSCommand, jsCommand))) {
|
|
205
|
+
fileLogService.logData({
|
|
206
|
+
message: `cleanup-process will not add JS file for execution as it has been added already: ${JSON.stringify(jsCommand)}`,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
fileLogService.logData({
|
|
211
|
+
message: `cleanup-process added JS file for execution: ${JSON.stringify(jsCommand)}`,
|
|
212
|
+
});
|
|
213
|
+
jsCommands.push(jsCommand);
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
const removeJSFile = (jsCommand) => {
|
|
217
|
+
const fullPath = path.resolve(jsCommand.filePath);
|
|
218
|
+
jsCommand.filePath = fullPath;
|
|
219
|
+
if (_.some(jsCommands, (currentJSCommand) => _.isEqual(currentJSCommand, jsCommand))) {
|
|
220
|
+
_.remove(jsCommands, (currentJSCommand) => _.isEqual(currentJSCommand, jsCommand));
|
|
221
|
+
fileLogService.logData({
|
|
222
|
+
message: `cleanup-process removed JS action for execution: ${JSON.stringify(jsCommand)}`,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
fileLogService.logData({
|
|
227
|
+
message: `cleanup-process cannot remove JS action for execution as it has not been added before: ${JSON.stringify(jsCommand)}`,
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
process.on("message", (cleanupProcessMessage) => __awaiter(void 0, void 0, void 0, function* () {
|
|
232
|
+
fileLogService.logData({
|
|
233
|
+
message: `cleanup-process received message of type: ${JSON.stringify(cleanupProcessMessage)}`,
|
|
234
|
+
});
|
|
235
|
+
switch (cleanupProcessMessage.messageType) {
|
|
236
|
+
case "AddCleanCommand":
|
|
237
|
+
addCleanupAction(cleanupProcessMessage.commandInfo);
|
|
238
|
+
break;
|
|
239
|
+
case "RemoveCleanCommand":
|
|
240
|
+
removeCleanupAction(cleanupProcessMessage.commandInfo);
|
|
241
|
+
break;
|
|
242
|
+
case "AddRequest":
|
|
243
|
+
addRequest(cleanupProcessMessage.requestInfo);
|
|
244
|
+
break;
|
|
245
|
+
case "RemoveRequest":
|
|
246
|
+
removeRequest(cleanupProcessMessage.requestInfo);
|
|
247
|
+
break;
|
|
248
|
+
case "AddDeleteFileAction":
|
|
249
|
+
addDeleteAction(cleanupProcessMessage.filePath);
|
|
250
|
+
break;
|
|
251
|
+
case "RemoveDeleteFileAction":
|
|
252
|
+
removeDeleteAction(cleanupProcessMessage.filePath);
|
|
253
|
+
break;
|
|
254
|
+
case "AddJSFileToRequire":
|
|
255
|
+
const jsCleanupMessage = cleanupProcessMessage;
|
|
256
|
+
addJSFile(jsCleanupMessage.jsCommand);
|
|
257
|
+
break;
|
|
258
|
+
case "RemoveJSFileToRequire":
|
|
259
|
+
const msgToRemove = cleanupProcessMessage;
|
|
260
|
+
removeJSFile(msgToRemove.jsCommand);
|
|
261
|
+
break;
|
|
262
|
+
default:
|
|
263
|
+
fileLogService.logData({
|
|
264
|
+
message: `Unable to handle message of type ${cleanupProcessMessage.messageType}. Full message is ${JSON.stringify(cleanupProcessMessage)}`,
|
|
265
|
+
type: "Error",
|
|
266
|
+
});
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
}));
|
|
270
|
+
process.on("disconnect", () => __awaiter(void 0, void 0, void 0, function* () {
|
|
271
|
+
fileLogService.logData({
|
|
272
|
+
message: "cleanup-process received process.disconnect event",
|
|
273
|
+
});
|
|
274
|
+
yield executeCleanup();
|
|
275
|
+
yok_1.injector.dispose();
|
|
276
|
+
process.exit();
|
|
277
|
+
}));
|
|
278
|
+
fileLogService.logData({
|
|
279
|
+
message: `cleanup-process will send ${"ProcessReadyToReceive"} message`,
|
|
280
|
+
});
|
|
281
|
+
process.send("ProcessReadyToReceive");
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Defines messages used in communication between CLI's process and analytics subprocesses.
|
|
3
|
+
*/
|
|
4
|
+
declare const enum DetachedProcessMessages {
|
|
5
|
+
/**
|
|
6
|
+
* The detached process is initialized and is ready to receive information for tracking.
|
|
7
|
+
*/
|
|
8
|
+
ProcessReadyToReceive = "ProcessReadyToReceive",
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The detached process finished its tasks and will now exit.
|
|
12
|
+
*/
|
|
13
|
+
ProcessFinishedTasks = "ProcessFinishedTasks",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Defines the type of the messages that should be written in the local analyitcs log file (in case such is specified).
|
|
18
|
+
*/
|
|
19
|
+
declare const enum FileLogMessageType {
|
|
20
|
+
/**
|
|
21
|
+
* Information message. This is the default value in case type is not specified.
|
|
22
|
+
*/
|
|
23
|
+
Info = "Info",
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Error message - used to indicate that some action did not succeed.
|
|
27
|
+
*/
|
|
28
|
+
Error = "Error",
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare const enum CleanupProcessMessage {
|
|
32
|
+
/**
|
|
33
|
+
* This type of message defines that cleanup procedure should execute specific command.
|
|
34
|
+
*/
|
|
35
|
+
AddCleanCommand = "AddCleanCommand",
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* This type of message defines that cleanup procedure should not execute previously defined cleanup command.
|
|
39
|
+
*/
|
|
40
|
+
RemoveCleanCommand = "RemoveCleanCommand",
|
|
41
|
+
/**
|
|
42
|
+
* This type of message defines that cleanup procedure should execute specific request.
|
|
43
|
+
*/
|
|
44
|
+
AddRequest = "AddRequest",
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* This type of message defines that cleanup procedure should not execute previously defined request.
|
|
48
|
+
*/
|
|
49
|
+
RemoveRequest = "RemoveRequest",
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* This type of message defines that cleanup procedure should delete specified files.
|
|
53
|
+
*/
|
|
54
|
+
AddDeleteFileAction = "AddDeleteFileAction",
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* This type of message defines that the cleanup procedure should not delete previously specified file.
|
|
58
|
+
*/
|
|
59
|
+
RemoveDeleteFileAction = "RemoveDeleteFileAction",
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* This type of message defines that the cleanup procedure will require the specified JS file, which should execute some action.
|
|
63
|
+
*/
|
|
64
|
+
AddJSFileToRequire = "AddJSFileToRequire",
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* This type of message defines that the cleanup procedure will not require the previously specified JS file.
|
|
68
|
+
*/
|
|
69
|
+
RemoveJSFileToRequire = "RemoveJSFileToRequire",
|
|
70
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileLogService = void 0;
|
|
4
|
+
const os_1 = require("os");
|
|
5
|
+
const helpers_1 = require("../common/helpers");
|
|
6
|
+
class FileLogService {
|
|
7
|
+
constructor($fs, logFile) {
|
|
8
|
+
this.$fs = $fs;
|
|
9
|
+
this.logFile = logFile;
|
|
10
|
+
}
|
|
11
|
+
logData(fileLoggingMessage) {
|
|
12
|
+
if (this.logFile && fileLoggingMessage && fileLoggingMessage.message) {
|
|
13
|
+
fileLoggingMessage.type =
|
|
14
|
+
fileLoggingMessage.type || "Info";
|
|
15
|
+
const formattedDate = (0, helpers_1.getFixedLengthDateString)();
|
|
16
|
+
this.$fs.appendFile(this.logFile, `[${formattedDate}] [${fileLoggingMessage.type}] ${fileLoggingMessage.message}${os_1.EOL}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.FileLogService = FileLogService;
|