@speedkit/cli 2.4.1
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/README.md +775 -0
- package/bin/dev +18 -0
- package/bin/dev.cmd +3 -0
- package/bin/run +4 -0
- package/bin/run.cmd +3 -0
- package/dist/commands/airports_iata.json +1 -0
- package/dist/commands/build-parameter-query.d.ts +15 -0
- package/dist/commands/build-parameter-query.js +95 -0
- package/dist/commands/build-prewarm-query.d.ts +15 -0
- package/dist/commands/build-prewarm-query.js +69 -0
- package/dist/commands/deploy.d.ts +17 -0
- package/dist/commands/deploy.js +39 -0
- package/dist/commands/document-handler.d.ts +16 -0
- package/dist/commands/document-handler.js +36 -0
- package/dist/commands/find-pops.d.ts +17 -0
- package/dist/commands/find-pops.js +84 -0
- package/dist/commands/generate-customer-config.d.ts +10 -0
- package/dist/commands/generate-customer-config.js +29 -0
- package/dist/commands/generate-pop-config.d.ts +27 -0
- package/dist/commands/generate-pop-config.js +231 -0
- package/dist/commands/login.d.ts +10 -0
- package/dist/commands/login.js +35 -0
- package/dist/commands/onboarding.d.ts +16 -0
- package/dist/commands/onboarding.js +25 -0
- package/dist/commands/param-diff.d.ts +16 -0
- package/dist/commands/param-diff.js +111 -0
- package/dist/commands/pop-prewarm.d.ts +17 -0
- package/dist/commands/pop-prewarm.js +80 -0
- package/dist/commands/prewarm.d.ts +40 -0
- package/dist/commands/prewarm.js +127 -0
- package/dist/commands/pull.d.ts +14 -0
- package/dist/commands/pull.js +24 -0
- package/dist/commands/wpt-launcher.d.ts +21 -0
- package/dist/commands/wpt-launcher.js +79 -0
- package/dist/helpers/CustomerConfig.d.ts +51 -0
- package/dist/helpers/CustomerConfig.js +150 -0
- package/dist/helpers/build-query-helper.d.ts +32 -0
- package/dist/helpers/build-query-helper.js +216 -0
- package/dist/helpers/cli-config.d.ts +22 -0
- package/dist/helpers/cli-config.js +85 -0
- package/dist/helpers/file-helper.d.ts +8 -0
- package/dist/helpers/file-helper.js +63 -0
- package/dist/helpers/get-parsed-config.d.ts +11 -0
- package/dist/helpers/get-parsed-config.js +63 -0
- package/dist/helpers/getChromePath.d.ts +7 -0
- package/dist/helpers/getChromePath.js +27 -0
- package/dist/helpers/isDirectory.d.ts +1 -0
- package/dist/helpers/isDirectory.js +17 -0
- package/dist/helpers/isExecutable.d.ts +1 -0
- package/dist/helpers/isExecutable.js +15 -0
- package/dist/helpers/isFile.d.ts +1 -0
- package/dist/helpers/isFile.js +17 -0
- package/dist/helpers/logging-helper.d.ts +12 -0
- package/dist/helpers/logging-helper.js +27 -0
- package/dist/helpers/normalize.d.ts +40 -0
- package/dist/helpers/normalize.js +112 -0
- package/dist/helpers/race.d.ts +1 -0
- package/dist/helpers/race.js +16 -0
- package/dist/helpers/safe.d.ts +10 -0
- package/dist/helpers/safe.js +34 -0
- package/dist/helpers/scrape.d.ts +1 -0
- package/dist/helpers/scrape.js +11 -0
- package/dist/helpers/speedKitRuleToRegExp.d.ts +1 -0
- package/dist/helpers/speedKitRuleToRegExp.js +10 -0
- package/dist/helpers/watchFiles.d.ts +1 -0
- package/dist/helpers/watchFiles.js +20 -0
- package/dist/models/cli-parameters.d.ts +73 -0
- package/dist/models/cli-parameters.js +82 -0
- package/dist/models/files.d.ts +20 -0
- package/dist/models/files.js +23 -0
- package/dist/models/install.d.ts +24 -0
- package/dist/models/install.js +2 -0
- package/dist/services/athena-service.d.ts +30 -0
- package/dist/services/athena-service.js +139 -0
- package/dist/services/bundler/bundle-service-factory.d.ts +4 -0
- package/dist/services/bundler/bundle-service-factory.js +10 -0
- package/dist/services/bundler/bundle-service.d.ts +25 -0
- package/dist/services/bundler/bundle-service.js +84 -0
- package/dist/services/bundler/index.d.ts +2 -0
- package/dist/services/bundler/index.js +5 -0
- package/dist/services/cli/cli-service-factory.d.ts +5 -0
- package/dist/services/cli/cli-service-factory.js +14 -0
- package/dist/services/cli/cli-service-model.d.ts +27 -0
- package/dist/services/cli/cli-service-model.js +9 -0
- package/dist/services/cli/cli-service.d.ts +37 -0
- package/dist/services/cli/cli-service.js +123 -0
- package/dist/services/cli/error/cli-type-error.d.ts +3 -0
- package/dist/services/cli/error/cli-type-error.js +7 -0
- package/dist/services/cli/hooks.d.ts +11 -0
- package/dist/services/cli/hooks.js +33 -0
- package/dist/services/cli/index.d.ts +3 -0
- package/dist/services/cli/index.js +6 -0
- package/dist/services/config-api/client.d.ts +16 -0
- package/dist/services/config-api/client.js +54 -0
- package/dist/services/config-api/config-api-service.d.ts +16 -0
- package/dist/services/config-api/config-api-service.js +56 -0
- package/dist/services/config-api/context/config-api-context.d.ts +5 -0
- package/dist/services/config-api/context/config-api-context.js +9 -0
- package/dist/services/config-api/error/json-response-error.d.ts +2 -0
- package/dist/services/config-api/error/json-response-error.js +5 -0
- package/dist/services/config-api/error/login-error.d.ts +5 -0
- package/dist/services/config-api/error/login-error.js +12 -0
- package/dist/services/config-api/factory/config-api-service-factory.d.ts +10 -0
- package/dist/services/config-api/factory/config-api-service-factory.js +38 -0
- package/dist/services/config-api/factory/entity-manager-factory.d.ts +5 -0
- package/dist/services/config-api/factory/entity-manager-factory.js +21 -0
- package/dist/services/config-api/interface/config-api-context-interface.d.ts +4 -0
- package/dist/services/config-api/interface/config-api-context-interface.js +2 -0
- package/dist/services/config-api/interface/request-extension-interface.d.ts +5 -0
- package/dist/services/config-api/interface/request-extension-interface.js +2 -0
- package/dist/services/config-api-service.d.ts +18 -0
- package/dist/services/config-api-service.js +96 -0
- package/dist/services/context/app-context.d.ts +1 -0
- package/dist/services/context/app-context.js +2 -0
- package/dist/services/context/error/context-runtime-error.d.ts +3 -0
- package/dist/services/context/error/context-runtime-error.js +7 -0
- package/dist/services/context/interface/context-interface.d.ts +2 -0
- package/dist/services/context/interface/context-interface.js +2 -0
- package/dist/services/customer-config/customer-config-service-context.d.ts +5 -0
- package/dist/services/customer-config/customer-config-service-context.js +15 -0
- package/dist/services/customer-config/customer-config-service-factory.d.ts +8 -0
- package/dist/services/customer-config/customer-config-service-factory.js +24 -0
- package/dist/services/customer-config/customer-config-service-model.d.ts +39 -0
- package/dist/services/customer-config/customer-config-service-model.js +23 -0
- package/dist/services/customer-config/customer-config-service.d.ts +27 -0
- package/dist/services/customer-config/customer-config-service.js +263 -0
- package/dist/services/customer-config/index.d.ts +4 -0
- package/dist/services/customer-config/index.js +7 -0
- package/dist/services/customer-config/templates/config_SpeedKit.js.hbs +351 -0
- package/dist/services/customer-config/templates/config_customer.js.hbs +75 -0
- package/dist/services/customer-config/templates/config_documentHandler.js.hbs +162 -0
- package/dist/services/customer-config/templates/config_dynamicBlocks.es6.hbs +263 -0
- package/dist/services/customer-config/templates/config_dynamicStyles.css.hbs +116 -0
- package/dist/services/customer-config/templates/config_loadHandler.js.hbs +394 -0
- package/dist/services/customer-config/templates/deploymentDetection.es6.hbs +262 -0
- package/dist/services/customer-config/templates/downtimeDetection.js.hbs +110 -0
- package/dist/services/deploy/builder/install-resource-builder.d.ts +14 -0
- package/dist/services/deploy/builder/install-resource-builder.js +48 -0
- package/dist/services/deploy/checks/post-deploy/revalidated-module-check.d.ts +11 -0
- package/dist/services/deploy/checks/post-deploy/revalidated-module-check.js +30 -0
- package/dist/services/deploy/checks/post-deploy/save-files-check.d.ts +9 -0
- package/dist/services/deploy/checks/post-deploy/save-files-check.js +25 -0
- package/dist/services/deploy/context/deploy-context.d.ts +12 -0
- package/dist/services/deploy/context/deploy-context.js +26 -0
- package/dist/services/deploy/deploy-service-factory.d.ts +15 -0
- package/dist/services/deploy/deploy-service-factory.js +68 -0
- package/dist/services/deploy/deploy-service.d.ts +17 -0
- package/dist/services/deploy/deploy-service.js +63 -0
- package/dist/services/deploy/error/create-find-temp-directory-error.d.ts +4 -0
- package/dist/services/deploy/error/create-find-temp-directory-error.js +10 -0
- package/dist/services/deploy/error/deploy-app-error.d.ts +2 -0
- package/dist/services/deploy/error/deploy-app-error.js +5 -0
- package/dist/services/deploy/error/no-active-installation-error.d.ts +4 -0
- package/dist/services/deploy/error/no-active-installation-error.js +10 -0
- package/dist/services/deploy/handler/customer-config-handler.d.ts +21 -0
- package/dist/services/deploy/handler/customer-config-handler.js +85 -0
- package/dist/services/deploy/handler/install-resource-handler.d.ts +25 -0
- package/dist/services/deploy/handler/install-resource-handler.js +104 -0
- package/dist/services/deploy/handler/install-resource-modifier/deleted-file-check.d.ts +13 -0
- package/dist/services/deploy/handler/install-resource-modifier/deleted-file-check.js +51 -0
- package/dist/services/deploy/handler/module-handler.d.ts +14 -0
- package/dist/services/deploy/handler/module-handler.js +81 -0
- package/dist/services/deploy/handler/module-modifier/deployment-detection-modifier.d.ts +9 -0
- package/dist/services/deploy/handler/module-modifier/deployment-detection-modifier.js +24 -0
- package/dist/services/deploy/handler/server-config-handler.d.ts +12 -0
- package/dist/services/deploy/handler/server-config-handler.js +63 -0
- package/dist/services/deploy/interface/deploy-handler-interface.d.ts +6 -0
- package/dist/services/deploy/interface/deploy-handler-interface.js +2 -0
- package/dist/services/deploy/interface/install-configs.d.ts +11 -0
- package/dist/services/deploy/interface/install-configs.js +2 -0
- package/dist/services/deploy/interface/install-resource-processor-interface.d.ts +5 -0
- package/dist/services/deploy/interface/install-resource-processor-interface.js +2 -0
- package/dist/services/deploy/interface/install.d.ts +14 -0
- package/dist/services/deploy/interface/install.js +2 -0
- package/dist/services/deploy/interface/post-deploy-check-interface.d.ts +3 -0
- package/dist/services/deploy/interface/post-deploy-check-interface.js +2 -0
- package/dist/services/deploy/interface/runtime-modifier.d.ts +6 -0
- package/dist/services/deploy/interface/runtime-modifier.js +2 -0
- package/dist/services/deploy/interface/validate-origins-response.d.ts +4 -0
- package/dist/services/deploy/interface/validate-origins-response.js +2 -0
- package/dist/services/diff/diff-model.d.ts +5 -0
- package/dist/services/diff/diff-model.js +12 -0
- package/dist/services/diff/diff-service-factory.d.ts +7 -0
- package/dist/services/diff/diff-service-factory.js +20 -0
- package/dist/services/diff/diff-service.d.ts +34 -0
- package/dist/services/diff/diff-service.js +134 -0
- package/dist/services/diff/index.d.ts +3 -0
- package/dist/services/diff/index.js +6 -0
- package/dist/services/diff-service.d.ts +24 -0
- package/dist/services/diff-service.js +112 -0
- package/dist/services/document-handler-runtime/context/document-handler-runtime-context.d.ts +23 -0
- package/dist/services/document-handler-runtime/context/document-handler-runtime-context.js +41 -0
- package/dist/services/document-handler-runtime/document-handler-runtime-service.d.ts +32 -0
- package/dist/services/document-handler-runtime/document-handler-runtime-service.js +220 -0
- package/dist/services/document-handler-runtime/document-handler-server.d.ts +42 -0
- package/dist/services/document-handler-runtime/document-handler-server.js +225 -0
- package/dist/services/document-handler-runtime/error/handler/required-file-not-found-handler.d.ts +6 -0
- package/dist/services/document-handler-runtime/error/handler/required-file-not-found-handler.js +14 -0
- package/dist/services/document-handler-runtime/error/required-file-not-found-error.d.ts +3 -0
- package/dist/services/document-handler-runtime/error/required-file-not-found-error.js +7 -0
- package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.d.ts +24 -0
- package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.js +106 -0
- package/dist/services/document-handler-runtime/interface/document-handler-runtime-config-interface.d.ts +3 -0
- package/dist/services/document-handler-runtime/interface/document-handler-runtime-config-interface.js +6 -0
- package/dist/services/document-handler-runtime/interface/template-context-interface.d.ts +3 -0
- package/dist/services/document-handler-runtime/interface/template-context-interface.js +2 -0
- package/dist/services/document-handler-runtime/interface/template-interface.d.ts +6 -0
- package/dist/services/document-handler-runtime/interface/template-interface.js +2 -0
- package/dist/services/document-handler-runtime/interface/template-param-interface.d.ts +4 -0
- package/dist/services/document-handler-runtime/interface/template-param-interface.js +2 -0
- package/dist/services/document-handler-runtime/templates/abstract-template.d.ts +9 -0
- package/dist/services/document-handler-runtime/templates/abstract-template.js +18 -0
- package/dist/services/document-handler-runtime/templates/database-mock.d.ts +6 -0
- package/dist/services/document-handler-runtime/templates/database-mock.js +111 -0
- package/dist/services/document-handler-runtime/templates/execute-document-handler.d.ts +6 -0
- package/dist/services/document-handler-runtime/templates/execute-document-handler.js +76 -0
- package/dist/services/document-handler-runtime/templates/orestes-mock.d.ts +9 -0
- package/dist/services/document-handler-runtime/templates/orestes-mock.js +168 -0
- package/dist/services/document-handler-runtime/templates/package-json.d.ts +8 -0
- package/dist/services/document-handler-runtime/templates/package-json.js +21 -0
- package/dist/services/document-handler-runtime/templates/test.d.ts +6 -0
- package/dist/services/document-handler-runtime/templates/test.js +63 -0
- package/dist/services/error-handling/abstract/abstract-async-error-handling-factory.d.ts +6 -0
- package/dist/services/error-handling/abstract/abstract-async-error-handling-factory.js +19 -0
- package/dist/services/error-handling/abstract/abstract-async-error-handling-service.d.ts +6 -0
- package/dist/services/error-handling/abstract/abstract-async-error-handling-service.js +18 -0
- package/dist/services/error-handling/abstract/abstract-error-handling-factory.d.ts +6 -0
- package/dist/services/error-handling/abstract/abstract-error-handling-factory.js +19 -0
- package/dist/services/error-handling/abstract/abstract-error-handling-service.d.ts +6 -0
- package/dist/services/error-handling/abstract/abstract-error-handling-service.js +19 -0
- package/dist/services/error-handling/error/application-error.d.ts +5 -0
- package/dist/services/error-handling/error/application-error.js +11 -0
- package/dist/services/error-handling/error/handler/default-error-handler.d.ts +5 -0
- package/dist/services/error-handling/error/handler/default-error-handler.js +13 -0
- package/dist/services/error-handling/error-handling-service.d.ts +7 -0
- package/dist/services/error-handling/error-handling-service.js +27 -0
- package/dist/services/error-handling/factory/error-handling-factory.d.ts +8 -0
- package/dist/services/error-handling/factory/error-handling-factory.js +21 -0
- package/dist/services/error-handling/interface/error-context-interface.d.ts +6 -0
- package/dist/services/error-handling/interface/error-context-interface.js +2 -0
- package/dist/services/error-handling/interface/error-handler-interface.d.ts +5 -0
- package/dist/services/error-handling/interface/error-handler-interface.js +2 -0
- package/dist/services/error-handling/interface/error-handling-factory-interface.d.ts +8 -0
- package/dist/services/error-handling/interface/error-handling-factory-interface.js +2 -0
- package/dist/services/error-handling/interface/error-handling-service-interface.d.ts +8 -0
- package/dist/services/error-handling/interface/error-handling-service-interface.js +2 -0
- package/dist/services/integration-api/context/integration-api-context.d.ts +9 -0
- package/dist/services/integration-api/context/integration-api-context.js +20 -0
- package/dist/services/integration-api/error/customer-config-error.d.ts +2 -0
- package/dist/services/integration-api/error/customer-config-error.js +5 -0
- package/dist/services/integration-api/error/customer-config-legacy-error.d.ts +3 -0
- package/dist/services/integration-api/error/customer-config-legacy-error.js +7 -0
- package/dist/services/integration-api/error/handler/customer-config-handler.d.ts +5 -0
- package/dist/services/integration-api/error/handler/customer-config-handler.js +19 -0
- package/dist/services/integration-api/error/handler/customer-config-legacy-handler.d.ts +6 -0
- package/dist/services/integration-api/error/handler/customer-config-legacy-handler.js +24 -0
- package/dist/services/integration-api/error/handler/origin-handler.d.ts +6 -0
- package/dist/services/integration-api/error/handler/origin-handler.js +22 -0
- package/dist/services/integration-api/error/load-customer-error.d.ts +4 -0
- package/dist/services/integration-api/error/load-customer-error.js +10 -0
- package/dist/services/integration-api/error/mandatory-file-missing-error.d.ts +3 -0
- package/dist/services/integration-api/error/mandatory-file-missing-error.js +8 -0
- package/dist/services/integration-api/error/origin-error.d.ts +3 -0
- package/dist/services/integration-api/error/origin-error.js +7 -0
- package/dist/services/integration-api/external/external-file-reader.d.ts +4 -0
- package/dist/services/integration-api/external/external-file-reader.js +17 -0
- package/dist/services/integration-api/factory/integration-api-service-factory.d.ts +13 -0
- package/dist/services/integration-api/factory/integration-api-service-factory.js +55 -0
- package/dist/services/integration-api/file-list.d.ts +18 -0
- package/dist/services/integration-api/file-list.js +79 -0
- package/dist/services/integration-api/file-reader.d.ts +15 -0
- package/dist/services/integration-api/file-reader.js +97 -0
- package/dist/services/integration-api/file-writer.d.ts +9 -0
- package/dist/services/integration-api/file-writer.js +27 -0
- package/dist/services/integration-api/handler/customer-config-handler.d.ts +16 -0
- package/dist/services/integration-api/handler/customer-config-handler.js +55 -0
- package/dist/services/integration-api/handler/file-handler.d.ts +9 -0
- package/dist/services/integration-api/handler/file-handler.js +20 -0
- package/dist/services/integration-api/handler/install-resource-handler.d.ts +33 -0
- package/dist/services/integration-api/handler/install-resource-handler.js +67 -0
- package/dist/services/integration-api/handler/module-handler.d.ts +12 -0
- package/dist/services/integration-api/handler/module-handler.js +20 -0
- package/dist/services/integration-api/handler/server-config-handler.d.ts +8 -0
- package/dist/services/integration-api/handler/server-config-handler.js +21 -0
- package/dist/services/integration-api/integration-api-model.d.ts +89 -0
- package/dist/services/integration-api/integration-api-model.js +2 -0
- package/dist/services/integration-api/integration-api-service.d.ts +21 -0
- package/dist/services/integration-api/integration-api-service.js +76 -0
- package/dist/services/integration-api/struct/customer-config-file.d.ts +10 -0
- package/dist/services/integration-api/struct/customer-config-file.js +32 -0
- package/dist/services/integration-api/struct/customer-config.d.ts +22 -0
- package/dist/services/integration-api/struct/customer-config.js +67 -0
- package/dist/services/integration-api/struct/file.d.ts +19 -0
- package/dist/services/integration-api/struct/file.js +61 -0
- package/dist/services/integration-api/struct/install-resource-file.d.ts +6 -0
- package/dist/services/integration-api/struct/install-resource-file.js +12 -0
- package/dist/services/integration-api/struct/module-file.d.ts +5 -0
- package/dist/services/integration-api/struct/module-file.js +10 -0
- package/dist/services/integration-api/struct/ro-file.d.ts +13 -0
- package/dist/services/integration-api/struct/ro-file.js +26 -0
- package/dist/services/integration-api/struct/server-config-file.d.ts +9 -0
- package/dist/services/integration-api/struct/server-config-file.js +22 -0
- package/dist/services/integration-api/struct/virtual-file.d.ts +14 -0
- package/dist/services/integration-api/struct/virtual-file.js +28 -0
- package/dist/services/integration-api/validator/customer-config-validator.d.ts +5 -0
- package/dist/services/integration-api/validator/customer-config-validator.js +23 -0
- package/dist/services/integration-api/validator/mandatory-files-validator.d.ts +7 -0
- package/dist/services/integration-api/validator/mandatory-files-validator.js +39 -0
- package/dist/services/integration-api/virtual/external-recipe.d.ts +9 -0
- package/dist/services/integration-api/virtual/external-recipe.js +19 -0
- package/dist/services/integration-api/virtual/virtual-file-handler.d.ts +7 -0
- package/dist/services/integration-api/virtual/virtual-file-handler.js +38 -0
- package/dist/services/onboarding/browser/abort-response.d.ts +5 -0
- package/dist/services/onboarding/browser/abort-response.js +10 -0
- package/dist/services/onboarding/browser/baqend-response.d.ts +12 -0
- package/dist/services/onboarding/browser/baqend-response.js +52 -0
- package/dist/services/onboarding/browser/origin-response.d.ts +8 -0
- package/dist/services/onboarding/browser/origin-response.js +20 -0
- package/dist/services/onboarding/config-renderer/install-file-recipe.d.ts +7 -0
- package/dist/services/onboarding/config-renderer/install-file-recipe.js +13 -0
- package/dist/services/onboarding/config-renderer/speed-kit-install-context.d.ts +22 -0
- package/dist/services/onboarding/config-renderer/speed-kit-install-context.js +78 -0
- package/dist/services/onboarding/dashboard/athena-service.d.ts +11 -0
- package/dist/services/onboarding/dashboard/athena-service.js +70 -0
- package/dist/services/onboarding/dashboard/frontend-dist/assets/index-87b53ed4.css +1 -0
- package/dist/services/onboarding/dashboard/frontend-dist/assets/main-274b5625.js +9 -0
- package/dist/services/onboarding/dashboard/frontend-dist/index.html +18 -0
- package/dist/services/onboarding/dashboard/index.d.ts +16 -0
- package/dist/services/onboarding/dashboard/index.js +78 -0
- package/dist/services/onboarding/dashboard/param-query-builder.d.ts +9 -0
- package/dist/services/onboarding/dashboard/param-query-builder.js +67 -0
- package/dist/services/onboarding/dashboard/request-diff-service.d.ts +11 -0
- package/dist/services/onboarding/dashboard/request-diff-service.js +59 -0
- package/dist/services/onboarding/error/vm-error.d.ts +2 -0
- package/dist/services/onboarding/error/vm-error.js +6 -0
- package/dist/services/onboarding/fetch-event-handler.d.ts +19 -0
- package/dist/services/onboarding/fetch-event-handler.js +155 -0
- package/dist/services/onboarding/fetch-events/customer-domain-document-response.d.ts +24 -0
- package/dist/services/onboarding/fetch-events/customer-domain-document-response.js +118 -0
- package/dist/services/onboarding/fetch-events/customer-service-worker-js.d.ts +14 -0
- package/dist/services/onboarding/fetch-events/customer-service-worker-js.js +30 -0
- package/dist/services/onboarding/fetch-events/dashboard-request.d.ts +15 -0
- package/dist/services/onboarding/fetch-events/dashboard-request.js +29 -0
- package/dist/services/onboarding/fetch-events/speed-kit-asset-request.d.ts +26 -0
- package/dist/services/onboarding/fetch-events/speed-kit-asset-request.js +138 -0
- package/dist/services/onboarding/fetch-events/speed-kit-install-html.d.ts +15 -0
- package/dist/services/onboarding/fetch-events/speed-kit-install-html.js +49 -0
- package/dist/services/onboarding/fetch-events/speed-kit-install-js.d.ts +22 -0
- package/dist/services/onboarding/fetch-events/speed-kit-install-js.js +62 -0
- package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.d.ts +21 -0
- package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.js +43 -0
- package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.d.ts +17 -0
- package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.js +27 -0
- package/dist/services/onboarding/file-events/fileWatcher.d.ts +28 -0
- package/dist/services/onboarding/file-events/fileWatcher.js +133 -0
- package/dist/services/onboarding/index.d.ts +3 -0
- package/dist/services/onboarding/index.js +8 -0
- package/dist/services/onboarding/onboarding-model.d.ts +30 -0
- package/dist/services/onboarding/onboarding-model.js +53 -0
- package/dist/services/onboarding/onboarding-service-factory.d.ts +16 -0
- package/dist/services/onboarding/onboarding-service-factory.js +163 -0
- package/dist/services/onboarding/onboarding-service.d.ts +31 -0
- package/dist/services/onboarding/onboarding-service.js +130 -0
- package/dist/services/onboarding/request-cache/cache.d.ts +15 -0
- package/dist/services/onboarding/request-cache/cache.js +32 -0
- package/dist/services/onboarding/templates/install-speed-kit-html-template.d.ts +4 -0
- package/dist/services/onboarding/templates/install-speed-kit-html-template.js +264 -0
- package/dist/services/onboarding/templates/install-speed-kit-js-template.d.ts +4 -0
- package/dist/services/onboarding/templates/install-speed-kit-js-template.js +41 -0
- package/dist/services/onboarding/todo-collector.d.ts +18 -0
- package/dist/services/onboarding/todo-collector.js +48 -0
- package/dist/services/prewarm-service.d.ts +5 -0
- package/dist/services/prewarm-service.js +57 -0
- package/dist/services/pull/index.d.ts +3 -0
- package/dist/services/pull/index.js +6 -0
- package/dist/services/pull/pull-service-factory.d.ts +12 -0
- package/dist/services/pull/pull-service-factory.js +44 -0
- package/dist/services/pull/pull-service-model.d.ts +43 -0
- package/dist/services/pull/pull-service-model.js +27 -0
- package/dist/services/pull/pull-service.d.ts +18 -0
- package/dist/services/pull/pull-service.js +106 -0
- package/dist/templates/pops.js +97 -0
- package/dist/templates/speedKit.Revalidated.js +86 -0
- package/oclif.manifest.json +700 -0
- package/package.json +128 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocumentHandlerServer = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const document_handler_runtime_context_1 = require("./context/document-handler-runtime-context");
|
|
6
|
+
const required_file_not_found_error_1 = tslib_1.__importDefault(require("./error/required-file-not-found-error"));
|
|
7
|
+
const database_mock_1 = tslib_1.__importDefault(require("./templates/database-mock"));
|
|
8
|
+
const vm = tslib_1.__importStar(require("vm"));
|
|
9
|
+
const vm_error_1 = require("../onboarding/error/vm-error");
|
|
10
|
+
// documentHandlerDependencies
|
|
11
|
+
var parse5 = require('parse5');
|
|
12
|
+
var parse5Htmlparser2TreeAdapter = require('parse5-htmlparser2-tree-adapter');
|
|
13
|
+
var domSerializer = require('dom-serializer');
|
|
14
|
+
var domhandler = require('domhandler');
|
|
15
|
+
var domelementtype = require('domelementtype');
|
|
16
|
+
var domutils = require('domutils');
|
|
17
|
+
var cssSelect = require('css-select');
|
|
18
|
+
var fetch = require('node-fetch');
|
|
19
|
+
class DocumentHandlerServer {
|
|
20
|
+
customerConfig;
|
|
21
|
+
files;
|
|
22
|
+
bundler;
|
|
23
|
+
cli;
|
|
24
|
+
verboseLevel;
|
|
25
|
+
documentHandlerCode;
|
|
26
|
+
database;
|
|
27
|
+
constructor(customerConfig, files, bundler, cli, verboseLevel = false) {
|
|
28
|
+
this.customerConfig = customerConfig;
|
|
29
|
+
this.files = files;
|
|
30
|
+
this.bundler = bundler;
|
|
31
|
+
this.cli = cli;
|
|
32
|
+
this.verboseLevel = verboseLevel;
|
|
33
|
+
}
|
|
34
|
+
async transform(html, variation, url, headers) {
|
|
35
|
+
if (!this.documentHandlerCode) {
|
|
36
|
+
await this.buildDocumentHandler();
|
|
37
|
+
}
|
|
38
|
+
const skInternalRequest = {
|
|
39
|
+
query: { variation, headers: JSON.stringify(headers), url }, body: html
|
|
40
|
+
};
|
|
41
|
+
const vmContext = {
|
|
42
|
+
db: await this.createDataBaseMock(),
|
|
43
|
+
skInternalRequest,
|
|
44
|
+
skInternalHtml: "",
|
|
45
|
+
skInternalError: {},
|
|
46
|
+
'Abort': Error,
|
|
47
|
+
'APP': this.customerConfig.app,
|
|
48
|
+
'DYNAMIC_FETCHER': await this.getDynamicFetcher(),
|
|
49
|
+
'DYNAMIC_FETCHER_CONFIG': await this.getDynamicFetcherConfig(),
|
|
50
|
+
'CUSTOM_STYLES': this.getStyles(),
|
|
51
|
+
...this.createNodeVmContext(),
|
|
52
|
+
};
|
|
53
|
+
const script = new vm.Script(this.documentHandlerCode + this.getTransformFunctionWrapper());
|
|
54
|
+
try {
|
|
55
|
+
return await (async () => {
|
|
56
|
+
return await new Promise((resolve, reject) => {
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
vmContext.resolve = resolve;
|
|
59
|
+
// @ts-ignore
|
|
60
|
+
vmContext.reject = reject;
|
|
61
|
+
const context = vm.createContext(vmContext);
|
|
62
|
+
script.runInContext(context);
|
|
63
|
+
});
|
|
64
|
+
})();
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (error instanceof Error) {
|
|
68
|
+
throw new vm_error_1.VmError(error.message);
|
|
69
|
+
}
|
|
70
|
+
throw new vm_error_1.VmError(String(error) + JSON.stringify(error));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
getTransformFunctionWrapper() {
|
|
74
|
+
return `\n\ndocumentHandler.transform(db, skInternalRequest).then(result => {resolve(result);}).catch((err)=>{reject(err);});`;
|
|
75
|
+
}
|
|
76
|
+
async buildDocumentHandler() {
|
|
77
|
+
this.documentHandlerCode = await this.createDocumentHandlerFile();
|
|
78
|
+
this.cli.writeSuccess('rebuild documentHandler');
|
|
79
|
+
}
|
|
80
|
+
async createDocumentHandlerFile() {
|
|
81
|
+
const docHandler = await this.getDocumentHandler();
|
|
82
|
+
const docHandlerConfig = this.getDocumentHandlerConfig()
|
|
83
|
+
.replace('export const post', 'const post');
|
|
84
|
+
return `${this.getContextVars()} ${docHandler} ${docHandlerConfig}`;
|
|
85
|
+
}
|
|
86
|
+
async getDocumentHandler() {
|
|
87
|
+
// todo use fetchRemoteFile from integration api
|
|
88
|
+
if (!this.files.hasFile(document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER)) {
|
|
89
|
+
const response = await fetch(document_handler_runtime_context_1.LATEST_DOCUMENT_HANDLER_URL);
|
|
90
|
+
return await response.text();
|
|
91
|
+
}
|
|
92
|
+
return this.files.getByName(document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER).getContent();
|
|
93
|
+
}
|
|
94
|
+
async getDynamicFetcher() {
|
|
95
|
+
// todo use fetchRemoteFile from integration api
|
|
96
|
+
if (!this.files.hasFile(document_handler_runtime_context_1.LOCAL_DYNAMIC_FETCHER)) {
|
|
97
|
+
const response = await fetch(document_handler_runtime_context_1.LATEST_DYNAMIC_FETCHER_URL);
|
|
98
|
+
return await this.bundleDynamicFetcher({ 'dynamic-fetcher': 'https://www.baqend.com/speed-kit/latest/' }, await response.text());
|
|
99
|
+
}
|
|
100
|
+
return this.files.getByName(document_handler_runtime_context_1.LOCAL_DYNAMIC_FETCHER).getContent();
|
|
101
|
+
}
|
|
102
|
+
async getDynamicFetcherConfig() {
|
|
103
|
+
return this.files.getByName(document_handler_runtime_context_1.LOCAL_DYNAMIC_FETCHER_CONFIG).getContent();
|
|
104
|
+
}
|
|
105
|
+
getStyles() {
|
|
106
|
+
return this.files.getByName(document_handler_runtime_context_1.LOCAL_STYLES).getContent();
|
|
107
|
+
}
|
|
108
|
+
getDocumentHandlerConfig() {
|
|
109
|
+
const docHandlerFile = this.files.getByName(document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER_CONFIG);
|
|
110
|
+
if (!docHandlerFile) {
|
|
111
|
+
throw new required_file_not_found_error_1.default({ message: `file ${document_handler_runtime_context_1.LOCAL_DOCUMENT_HANDLER_CONFIG} not found` });
|
|
112
|
+
}
|
|
113
|
+
return docHandlerFile.getContent();
|
|
114
|
+
}
|
|
115
|
+
getContextVars() {
|
|
116
|
+
let template = '';
|
|
117
|
+
for (let key in this.customerConfig) {
|
|
118
|
+
template += `var ${key.toUpperCase()} = '${this.customerConfig[key]}';\n`;
|
|
119
|
+
}
|
|
120
|
+
return template;
|
|
121
|
+
}
|
|
122
|
+
async createDataBaseMock() {
|
|
123
|
+
const vmConsole = {
|
|
124
|
+
log: (context) => {
|
|
125
|
+
this.verboseLevel ? this.cli.write(`[documentHandler.dbLog]: ${JSON.stringify(context)}`) : "";
|
|
126
|
+
},
|
|
127
|
+
info: (context) => {
|
|
128
|
+
this.verboseLevel ? this.cli.writeWarning(`[documentHandler.dbLog]: ${JSON.stringify(context)}`) : "";
|
|
129
|
+
},
|
|
130
|
+
error: (context) => {
|
|
131
|
+
this.verboseLevel ? this.cli.writeError(`[documentHandler.dbLog]: ${JSON.stringify(context)}`) : "";
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
if (!this.database) {
|
|
135
|
+
const dataBaseMock = new database_mock_1.default();
|
|
136
|
+
const dbCode = dataBaseMock.render(dataBaseMock.buildContext(this.customerConfig.origins[0], this.customerConfig.app));
|
|
137
|
+
const vmContext = { console: vmConsole, module: { exports: {} } };
|
|
138
|
+
vm.runInNewContext(dbCode, vmContext);
|
|
139
|
+
this.database = vmContext.module.exports;
|
|
140
|
+
}
|
|
141
|
+
return this.database;
|
|
142
|
+
}
|
|
143
|
+
createNodeVmContext() {
|
|
144
|
+
const context = {
|
|
145
|
+
process: this.createProcessPartial(),
|
|
146
|
+
require: this.createRequireMock(),
|
|
147
|
+
'URL': URL,
|
|
148
|
+
'fetch': fetch,
|
|
149
|
+
'Buffer': Buffer,
|
|
150
|
+
};
|
|
151
|
+
if (this.verboseLevel) {
|
|
152
|
+
context['console'] = console;
|
|
153
|
+
}
|
|
154
|
+
return context;
|
|
155
|
+
}
|
|
156
|
+
createRequireMock() {
|
|
157
|
+
return (module) => {
|
|
158
|
+
if (module === 'baqend') {
|
|
159
|
+
return { baqend: { message: { RevalidateAssets: () => true } } };
|
|
160
|
+
}
|
|
161
|
+
if (module.includes('fetch')) {
|
|
162
|
+
return async (url, options) => {
|
|
163
|
+
if (this.verboseLevel) {
|
|
164
|
+
this.cli.writeWarning(`[documentHandler.fetch]: ${url}`);
|
|
165
|
+
}
|
|
166
|
+
return fetch(url, options);
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (module.includes('css-select')) {
|
|
170
|
+
return cssSelect;
|
|
171
|
+
}
|
|
172
|
+
if (module.includes('domutils')) {
|
|
173
|
+
return domutils;
|
|
174
|
+
}
|
|
175
|
+
if (module.includes('domelementtype')) {
|
|
176
|
+
return domelementtype;
|
|
177
|
+
}
|
|
178
|
+
if (module.includes('domhandler')) {
|
|
179
|
+
return domhandler;
|
|
180
|
+
}
|
|
181
|
+
if (module.includes('dom-serializer')) {
|
|
182
|
+
return domSerializer;
|
|
183
|
+
}
|
|
184
|
+
if (module.includes('parse5-htmlparser2-tree-adapter')) {
|
|
185
|
+
return parse5Htmlparser2TreeAdapter;
|
|
186
|
+
}
|
|
187
|
+
if (module.includes('parse5')) {
|
|
188
|
+
return parse5;
|
|
189
|
+
}
|
|
190
|
+
const moduleFileName = module.split('/')?.pop();
|
|
191
|
+
if (this.files.hasFile(moduleFileName)) {
|
|
192
|
+
const vmContext = { module: { exports: {} }, exports: {}, ...this.createNodeVmContext() };
|
|
193
|
+
vm.runInNewContext(this.files.getByName(moduleFileName).getContent(), vmContext);
|
|
194
|
+
return { ...vmContext.module.exports, ...vmContext.exports };
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
createProcessPartial() {
|
|
199
|
+
return {
|
|
200
|
+
hrtime: process.hrtime
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Fetches and returns the latest dynamic fetcher from the code repository. If a new version is available online it is
|
|
205
|
+
* downloaded and cached, otherwise the fetcher id returned from cache. The resulting module gets minified afterwards.
|
|
206
|
+
*
|
|
207
|
+
* @param {Map<string, string>} basePaths tha path mapping to resolve imports from
|
|
208
|
+
* @param {string} dynamicFetcher the dynamic fetcher to bundle the config with
|
|
209
|
+
*
|
|
210
|
+
* @returns {Promise<string>} a Promise which resolves to the latest dynamic fetcher
|
|
211
|
+
*/
|
|
212
|
+
async bundleDynamicFetcher(basePaths, dynamicFetcher) {
|
|
213
|
+
const IMPORT_PATHS = {
|
|
214
|
+
'dynamicFetcher': 'https://www.baqend.com/speed-kit/latest/',
|
|
215
|
+
};
|
|
216
|
+
return this.bundler.bundle({
|
|
217
|
+
basePaths: basePaths,
|
|
218
|
+
entryPoints: { "dynamicFetcher.js": dynamicFetcher },
|
|
219
|
+
target: "es6",
|
|
220
|
+
minify: true,
|
|
221
|
+
platform: "browser",
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
exports.DocumentHandlerServer = DocumentHandlerServer;
|
package/dist/services/document-handler-runtime/error/handler/required-file-not-found-handler.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import ErrorHandlerInterface from "../../../error-handling/interface/error-handler-interface";
|
|
2
|
+
import RequiredFileNotFoundError from "../required-file-not-found-error";
|
|
3
|
+
export default class RequiredFileNotFoundHandler implements ErrorHandlerInterface {
|
|
4
|
+
canHandle(error: any): boolean;
|
|
5
|
+
handle(error: RequiredFileNotFoundError): any;
|
|
6
|
+
}
|
package/dist/services/document-handler-runtime/error/handler/required-file-not-found-handler.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const required_file_not_found_error_1 = tslib_1.__importDefault(require("../required-file-not-found-error"));
|
|
5
|
+
class RequiredFileNotFoundHandler {
|
|
6
|
+
canHandle(error) {
|
|
7
|
+
return error instanceof required_file_not_found_error_1.default;
|
|
8
|
+
}
|
|
9
|
+
handle(error) {
|
|
10
|
+
console.error(error.message);
|
|
11
|
+
console.warn('Did you choose the correct folder?');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.default = RequiredFileNotFoundHandler;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const application_error_1 = tslib_1.__importDefault(require("../../error-handling/error/application-error"));
|
|
5
|
+
class RequiredFileNotFoundError extends application_error_1.default {
|
|
6
|
+
}
|
|
7
|
+
exports.default = RequiredFileNotFoundError;
|
package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import DocumentHandlerRuntimeContext from "../context/document-handler-runtime-context";
|
|
2
|
+
import DocumentHandlerRuntimeService from "../document-handler-runtime-service";
|
|
3
|
+
import AbstractAsyncErrorHandlingFactory from "../../error-handling/abstract/abstract-async-error-handling-factory";
|
|
4
|
+
import ErrorHandlerInterface from "../../error-handling/interface/error-handler-interface";
|
|
5
|
+
import { DocumentHandlerServer } from "../document-handler-server";
|
|
6
|
+
import { FileListInterface } from "../../integration-api/integration-api-model";
|
|
7
|
+
import { UserCliConfig } from "../../../helpers/cli-config";
|
|
8
|
+
export default class DocumentHandlerRuntimeServiceFactory extends AbstractAsyncErrorHandlingFactory {
|
|
9
|
+
private readonly context;
|
|
10
|
+
private cliConfig;
|
|
11
|
+
private files?;
|
|
12
|
+
constructor(context: DocumentHandlerRuntimeContext, cliConfig: UserCliConfig, files?: FileListInterface);
|
|
13
|
+
_buildService(): Promise<DocumentHandlerRuntimeService>;
|
|
14
|
+
buildDocumentHandlerServer(): Promise<DocumentHandlerServer>;
|
|
15
|
+
private prepareIntegrationApi;
|
|
16
|
+
private getIntegrationFiles;
|
|
17
|
+
private checkRequiredFiles;
|
|
18
|
+
private createNeededFolderStructure;
|
|
19
|
+
private prepareLocalDocumentHandler;
|
|
20
|
+
private preparePackageJson;
|
|
21
|
+
private prepareTestCases;
|
|
22
|
+
private getCustomerConfig;
|
|
23
|
+
static getErrorHandlers(): ErrorHandlerInterface[];
|
|
24
|
+
}
|
package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const integration_api_context_1 = tslib_1.__importDefault(require("../../integration-api/context/integration-api-context"));
|
|
5
|
+
const integration_api_service_factory_1 = tslib_1.__importDefault(require("../../integration-api/factory/integration-api-service-factory"));
|
|
6
|
+
const document_handler_runtime_context_1 = require("../context/document-handler-runtime-context");
|
|
7
|
+
const document_handler_runtime_service_1 = tslib_1.__importDefault(require("../document-handler-runtime-service"));
|
|
8
|
+
const abstract_async_error_handling_factory_1 = tslib_1.__importDefault(require("../../error-handling/abstract/abstract-async-error-handling-factory"));
|
|
9
|
+
const cli_1 = require("../../cli");
|
|
10
|
+
const required_file_not_found_handler_1 = tslib_1.__importDefault(require("../error/handler/required-file-not-found-handler"));
|
|
11
|
+
const required_file_not_found_error_1 = tslib_1.__importDefault(require("../error/required-file-not-found-error"));
|
|
12
|
+
const document_handler_server_1 = require("../document-handler-server");
|
|
13
|
+
const bundler_1 = require("../../bundler");
|
|
14
|
+
class DocumentHandlerRuntimeServiceFactory extends abstract_async_error_handling_factory_1.default {
|
|
15
|
+
context;
|
|
16
|
+
cliConfig;
|
|
17
|
+
files;
|
|
18
|
+
constructor(context, cliConfig, files) {
|
|
19
|
+
super();
|
|
20
|
+
this.context = context;
|
|
21
|
+
this.cliConfig = cliConfig;
|
|
22
|
+
this.files = files;
|
|
23
|
+
}
|
|
24
|
+
async _buildService() {
|
|
25
|
+
const integrationApi = this.prepareIntegrationApi();
|
|
26
|
+
const files = await this.getIntegrationFiles(integrationApi);
|
|
27
|
+
this.checkRequiredFiles(files);
|
|
28
|
+
const cliService = (new cli_1.CliServiceFactory()).getService();
|
|
29
|
+
const customerConfig = this.getCustomerConfig(files);
|
|
30
|
+
this.preparePackageJson(integrationApi, customerConfig);
|
|
31
|
+
return new document_handler_runtime_service_1.default(files, customerConfig, cliService, { testNames: this.context.testNames || [] }, customerConfig.skCliPre, customerConfig.skCliPost);
|
|
32
|
+
}
|
|
33
|
+
async buildDocumentHandlerServer() {
|
|
34
|
+
const integrationApiContext = new integration_api_context_1.default(this.context.customerPath, this.context.configName, []);
|
|
35
|
+
const files = this.files || await new integration_api_service_factory_1.default(integrationApiContext, this.cliConfig).buildService().run();
|
|
36
|
+
const customerConfig = this.getCustomerConfig(files);
|
|
37
|
+
const bundler = new bundler_1.BundleServiceFactory().buildService();
|
|
38
|
+
const cliService = (new cli_1.CliServiceFactory()).getService();
|
|
39
|
+
return new document_handler_server_1.DocumentHandlerServer(customerConfig, files, bundler, cliService, this.context.verboseLevel);
|
|
40
|
+
}
|
|
41
|
+
prepareIntegrationApi() {
|
|
42
|
+
const integrationApiContext = new integration_api_context_1.default(this.context.customerPath, this.context.configName, this.context.fileDependencies, ['.git', '.idea', 'node_modules']);
|
|
43
|
+
return new integration_api_service_factory_1.default(integrationApiContext, this.cliConfig).buildService();
|
|
44
|
+
}
|
|
45
|
+
async getIntegrationFiles(integrationApi) {
|
|
46
|
+
this.createNeededFolderStructure(integrationApi);
|
|
47
|
+
this.prepareLocalDocumentHandler(integrationApi);
|
|
48
|
+
this.prepareTestCases(integrationApi);
|
|
49
|
+
return await integrationApi.run();
|
|
50
|
+
}
|
|
51
|
+
checkRequiredFiles(files) {
|
|
52
|
+
this.context.requiredFiles.forEach((requiredFile) => {
|
|
53
|
+
if (!files.hasFile(requiredFile)) {
|
|
54
|
+
throw new required_file_not_found_error_1.default({ message: `file ${requiredFile} not found` });
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
createNeededFolderStructure(integrationApi) {
|
|
59
|
+
integrationApi.createFolder('.local');
|
|
60
|
+
integrationApi.createFolder('.local/test');
|
|
61
|
+
integrationApi.createFolder('.local/test/src');
|
|
62
|
+
integrationApi.createFolder('.local/test/tmp');
|
|
63
|
+
integrationApi.createFolder('.local/test/tmp/server');
|
|
64
|
+
}
|
|
65
|
+
prepareLocalDocumentHandler(integrationApi) {
|
|
66
|
+
if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_DOCUMENT_HANDLER_FILE_NAME}`)) {
|
|
67
|
+
integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_DOCUMENT_HANDLER_FILE_NAME}`);
|
|
68
|
+
}
|
|
69
|
+
if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_DATABASE_MOCK_FILE_NAME}`)) {
|
|
70
|
+
integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_DATABASE_MOCK_FILE_NAME}`);
|
|
71
|
+
}
|
|
72
|
+
if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_ORESTES_MOCK_FILE_NAME}`)) {
|
|
73
|
+
integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_ORESTES_MOCK_FILE_NAME}`);
|
|
74
|
+
}
|
|
75
|
+
if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_RUNTIME_FILE_NAME}`)) {
|
|
76
|
+
integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_RUNTIME_FILE_NAME}`);
|
|
77
|
+
}
|
|
78
|
+
if (!integrationApi.fileExists(`.local/test/src/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, "json")) {
|
|
79
|
+
integrationApi.writeFile(`.local/test/src/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, "json");
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
preparePackageJson(integrationApi, customerConfig) {
|
|
83
|
+
if (customerConfig.dependencies && !integrationApi.fileExists(`.local/test/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, 'json')) {
|
|
84
|
+
integrationApi.writeFile(`.local/test/${document_handler_runtime_context_1.TEST_PACKAGE_JSON}`, 'json');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
prepareTestCases(integrationApi) {
|
|
88
|
+
if (this.context.testNames && this.context.testNames.length > 0) {
|
|
89
|
+
this.context.testNames.map(async (testName) => {
|
|
90
|
+
if (!integrationApi.fileExists(`.local/test/${document_handler_runtime_context_1.TEST_FILE_NAME_PREFIX}-${testName}`)) {
|
|
91
|
+
integrationApi.writeFile(`.local/test/${document_handler_runtime_context_1.TEST_FILE_NAME_PREFIX}-${testName}`);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
getCustomerConfig(files) {
|
|
97
|
+
const configFile = files.getByName('config_customer');
|
|
98
|
+
return configFile.config;
|
|
99
|
+
}
|
|
100
|
+
static getErrorHandlers() {
|
|
101
|
+
return [
|
|
102
|
+
new required_file_not_found_handler_1.default()
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.default = DocumentHandlerRuntimeServiceFactory;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import TemplateParam from "./template-param-interface";
|
|
2
|
+
import TemplateContextInterface from "./template-context-interface";
|
|
3
|
+
export default interface TemplateInterface {
|
|
4
|
+
_buildContext(...params: TemplateParam[]): TemplateContextInterface;
|
|
5
|
+
render(context: TemplateContextInterface): string;
|
|
6
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import TemplateInterface from "../interface/template-interface";
|
|
2
|
+
import TemplateParam from "../interface/template-param-interface";
|
|
3
|
+
import TemplateContextInterface from "../interface/template-context-interface";
|
|
4
|
+
import { Template } from 'handlebars';
|
|
5
|
+
export default abstract class AbstractTemplate implements TemplateInterface {
|
|
6
|
+
_buildContext(...params: TemplateParam[]): TemplateContextInterface;
|
|
7
|
+
render(context: TemplateContextInterface): string;
|
|
8
|
+
protected abstract getTemplate(): Template;
|
|
9
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
|
|
5
|
+
class AbstractTemplate {
|
|
6
|
+
_buildContext(...params) {
|
|
7
|
+
let context = {};
|
|
8
|
+
params.forEach(({ key, value }) => {
|
|
9
|
+
context[key] = value;
|
|
10
|
+
});
|
|
11
|
+
return context;
|
|
12
|
+
}
|
|
13
|
+
render(context) {
|
|
14
|
+
const template = handlebars_1.default.compile(this.getTemplate());
|
|
15
|
+
return template(context);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = AbstractTemplate;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import AbstractTemplate from "./abstract-template";
|
|
2
|
+
import TemplateContextInterface from "../interface/template-context-interface";
|
|
3
|
+
export default class DatabaseMock extends AbstractTemplate {
|
|
4
|
+
buildContext(domain: string, app: string): TemplateContextInterface;
|
|
5
|
+
getTemplate(): string;
|
|
6
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const abstract_template_1 = tslib_1.__importDefault(require("./abstract-template"));
|
|
5
|
+
class DatabaseMock extends abstract_template_1.default {
|
|
6
|
+
buildContext(domain, app) {
|
|
7
|
+
return { domain, app };
|
|
8
|
+
}
|
|
9
|
+
getTemplate() {
|
|
10
|
+
return `
|
|
11
|
+
class dataHandler {
|
|
12
|
+
data = []
|
|
13
|
+
constructor(data = []){
|
|
14
|
+
this.data = data
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
static load() {
|
|
18
|
+
return this
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
static send() {
|
|
22
|
+
return this
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
static where(query) {
|
|
26
|
+
return this
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static find() {
|
|
30
|
+
return this
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static save() {
|
|
34
|
+
return this
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static eq() {
|
|
38
|
+
return this
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static le() {
|
|
42
|
+
return this
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static gt() {
|
|
46
|
+
return this
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
static limit(number) {
|
|
50
|
+
return this
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
static equal(number) {
|
|
54
|
+
return this
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static count(number) {
|
|
58
|
+
return this
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
static sort(number) {
|
|
62
|
+
return this
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
static descending(direction) {
|
|
66
|
+
return this
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
static singleResult() {
|
|
70
|
+
return
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
static resultList(callback) {
|
|
74
|
+
callback()
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
class database {
|
|
79
|
+
static 'jobs.Status' = dataHandler
|
|
80
|
+
static 'jobs.Definition' = dataHandler
|
|
81
|
+
static 'speedKit.Release' = dataHandler
|
|
82
|
+
static 'speedKit.Asset' = dataHandler
|
|
83
|
+
static 'MasterHash' = dataHandler
|
|
84
|
+
static 'connection' = {
|
|
85
|
+
secure:true,
|
|
86
|
+
host:"{{app}}.app.baqend.com",
|
|
87
|
+
port:"443"
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
static log = {
|
|
91
|
+
info: (msg, dump) => {
|
|
92
|
+
console.log('info: ' + msg, dump)
|
|
93
|
+
},
|
|
94
|
+
warn: (msg, dump) => {
|
|
95
|
+
console.info('warn: ' + msg, dump)
|
|
96
|
+
},
|
|
97
|
+
error: (msg, dump) => {
|
|
98
|
+
console.error('error: '+ msg, dump)
|
|
99
|
+
},
|
|
100
|
+
debug: (msg, dump) => {
|
|
101
|
+
console.log('error: ' + msg, dump)
|
|
102
|
+
},
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
module.exports = database
|
|
107
|
+
|
|
108
|
+
`;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.default = DatabaseMock;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import AbstractTemplate from "./abstract-template";
|
|
2
|
+
import TemplateContextInterface from "../interface/template-context-interface";
|
|
3
|
+
export default class ExecuteDocumentHandler extends AbstractTemplate {
|
|
4
|
+
buildContext(domain: string, file: string): TemplateContextInterface;
|
|
5
|
+
protected getTemplate(): Handlebars.Template;
|
|
6
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const abstract_template_1 = tslib_1.__importDefault(require("./abstract-template"));
|
|
5
|
+
class ExecuteDocumentHandler extends abstract_template_1.default {
|
|
6
|
+
buildContext(domain, file) {
|
|
7
|
+
return { domain, file };
|
|
8
|
+
}
|
|
9
|
+
getTemplate() {
|
|
10
|
+
return `const database = require('./database-mock');
|
|
11
|
+
const documentHandler = require('./testDocumentHandler');
|
|
12
|
+
const fs = require('fs');
|
|
13
|
+
const fetch = require('node-fetch');
|
|
14
|
+
const {resolve} = require("path");
|
|
15
|
+
global.Abort = Error;
|
|
16
|
+
const NS_PER_SEC = 1e9;
|
|
17
|
+
const MS_PER_NS = 1e-6;
|
|
18
|
+
const DEFAULT_HEADERS = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'}
|
|
19
|
+
const files = [
|
|
20
|
+
{
|
|
21
|
+
url: '{{domain}}',
|
|
22
|
+
file: '{{file}}',
|
|
23
|
+
variation: 'DEFAULT',
|
|
24
|
+
headers: JSON.stringify(DEFAULT_HEADERS),
|
|
25
|
+
},
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
const testLimit = 1;
|
|
29
|
+
|
|
30
|
+
async function run(iterator) {
|
|
31
|
+
const promises = [];
|
|
32
|
+
for (item of files) {
|
|
33
|
+
let fileName = item.file;
|
|
34
|
+
let file = await (await fetch(item.url,{headers: item?.headers ? JSON.parse(item.headers) : DEFAULT_HEADERS})).text()
|
|
35
|
+
let time = process.hrtime();
|
|
36
|
+
|
|
37
|
+
let query = {
|
|
38
|
+
variation: item.variation || 'DEFAULT',
|
|
39
|
+
headers: item?.headers ? item.headers : JSON.stringify(DEFAULT_HEADERS),
|
|
40
|
+
url: item.url,
|
|
41
|
+
}
|
|
42
|
+
let req = {
|
|
43
|
+
query, body: file
|
|
44
|
+
}
|
|
45
|
+
for (i = 0; i < testLimit; i++) {
|
|
46
|
+
|
|
47
|
+
// promises.push((async () => {
|
|
48
|
+
const content = await documentHandler.transform(database, req);
|
|
49
|
+
fs.writeFileSync(resolve(__dirname,'../tmp/' + fileName + i + item.variation + '-processed.html'), content);
|
|
50
|
+
benchmark(time)
|
|
51
|
+
// })())
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// Promise.all(promises)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const runTest = async () => {
|
|
58
|
+
await run()
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
runTest()
|
|
62
|
+
|
|
63
|
+
// ===================================================== //
|
|
64
|
+
|
|
65
|
+
function benchmark(time) {
|
|
66
|
+
const used = process.memoryUsage();
|
|
67
|
+
for (let key in used) {
|
|
68
|
+
console.log(\`\${key} \${Math.round(used[key] / 1024 / 1024 * 100) / 100} MB\`);
|
|
69
|
+
}
|
|
70
|
+
const diff = process.hrtime(time);
|
|
71
|
+
console.log(\`Benchmark took \${(diff[0] * NS_PER_SEC + diff[1]) * MS_PER_NS} milliseconds\`);
|
|
72
|
+
}
|
|
73
|
+
`;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.default = ExecuteDocumentHandler;
|