@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,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpeedKitInstallHtml = void 0;
|
|
4
|
+
const baqend_response_1 = require("../browser/baqend-response");
|
|
5
|
+
/**
|
|
6
|
+
* Represents a class that handles the installation of Speed Kit HTML.
|
|
7
|
+
*/
|
|
8
|
+
class SpeedKitInstallHtml {
|
|
9
|
+
customerConfig;
|
|
10
|
+
browserContext;
|
|
11
|
+
speedKitInstallHtmlTemplate;
|
|
12
|
+
get patterns() {
|
|
13
|
+
let result = [];
|
|
14
|
+
for (const origin of this.customerConfig.origins) {
|
|
15
|
+
const pattern = [
|
|
16
|
+
{
|
|
17
|
+
urlPattern: `${origin}${this.customerConfig.scope}speed-kit-install.html*`,
|
|
18
|
+
resourceType: 'Document',
|
|
19
|
+
requestStage: "Request"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
urlPattern: `${origin}${this.customerConfig.scope}speed-kit-install.html*`,
|
|
23
|
+
resourceType: 'XHR',
|
|
24
|
+
requestStage: "Request"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
urlPattern: `${origin}${this.customerConfig.scope}speed-kit-install.html*`,
|
|
28
|
+
resourceType: 'Fetch',
|
|
29
|
+
requestStage: "Request"
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
result.push(...pattern);
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
constructor(customerConfig, browserContext, speedKitInstallHtmlTemplate) {
|
|
37
|
+
this.customerConfig = customerConfig;
|
|
38
|
+
this.browserContext = browserContext;
|
|
39
|
+
this.speedKitInstallHtmlTemplate = speedKitInstallHtmlTemplate;
|
|
40
|
+
}
|
|
41
|
+
async handle() {
|
|
42
|
+
return new baqend_response_1.BaqendResponse(this.speedKitInstallHtmlTemplate.render({
|
|
43
|
+
installPath: this.customerConfig.installPath,
|
|
44
|
+
domain: this.browserContext.domain,
|
|
45
|
+
swPath: this.customerConfig.swPath,
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.SpeedKitInstallHtml = SpeedKitInstallHtml;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import Protocol from 'devtools-protocol';
|
|
2
|
+
import { CDPSession } from 'puppeteer';
|
|
3
|
+
import CustomerConfig from '../../integration-api/struct/customer-config';
|
|
4
|
+
import { VirtualFile } from '../../integration-api/struct/virtual-file';
|
|
5
|
+
import { AbortResponse } from '../browser/abort-response';
|
|
6
|
+
import { FetchRequestPausedEventHandler } from '../onboarding-model';
|
|
7
|
+
/**
|
|
8
|
+
* Intercepts the response for speedkit-install.js
|
|
9
|
+
* Returns a custom build install.js from local-files
|
|
10
|
+
*
|
|
11
|
+
* @implements FetchRequestPausedEventHandler
|
|
12
|
+
*/
|
|
13
|
+
export declare class SpeedKitInstallJs implements FetchRequestPausedEventHandler {
|
|
14
|
+
private customerConfig;
|
|
15
|
+
private installResource;
|
|
16
|
+
readonly patterns: Protocol.Fetch.RequestPattern[];
|
|
17
|
+
constructor(customerConfig: CustomerConfig, installResource: VirtualFile);
|
|
18
|
+
handle(event: Protocol.Fetch.RequestPausedEvent, client: CDPSession): Promise<AbortResponse | Partial<Protocol.Fetch.FulfillRequestRequest> | void>;
|
|
19
|
+
private extractConfigVersion;
|
|
20
|
+
private getContent;
|
|
21
|
+
private isValidResponse;
|
|
22
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpeedKitInstallJs = void 0;
|
|
4
|
+
const abort_response_1 = require("../browser/abort-response");
|
|
5
|
+
const baqend_response_1 = require("../browser/baqend-response");
|
|
6
|
+
/**
|
|
7
|
+
* Intercepts the response for speedkit-install.js
|
|
8
|
+
* Returns a custom build install.js from local-files
|
|
9
|
+
*
|
|
10
|
+
* @implements FetchRequestPausedEventHandler
|
|
11
|
+
*/
|
|
12
|
+
class SpeedKitInstallJs {
|
|
13
|
+
customerConfig;
|
|
14
|
+
installResource;
|
|
15
|
+
patterns;
|
|
16
|
+
constructor(customerConfig, installResource) {
|
|
17
|
+
this.customerConfig = customerConfig;
|
|
18
|
+
this.installResource = installResource;
|
|
19
|
+
this.patterns = [
|
|
20
|
+
{
|
|
21
|
+
requestStage: 'Response',
|
|
22
|
+
urlPattern: `https://${this.customerConfig.appDomain}/v1/speedkit/install*`,
|
|
23
|
+
},
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
async handle(event, client) {
|
|
27
|
+
if (!event.request.url.includes(this.customerConfig.appDomain)) {
|
|
28
|
+
console.log('abort:', event.request.url);
|
|
29
|
+
return new abort_response_1.AbortResponse('Aborted');
|
|
30
|
+
}
|
|
31
|
+
if (!this.isValidResponse(event)) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
let installJs = this.installResource.getContent();
|
|
35
|
+
if (!this.customerConfig.forceInstall) {
|
|
36
|
+
const originBody = await this.getContent(client, event);
|
|
37
|
+
const configVersion = this.extractConfigVersion(originBody);
|
|
38
|
+
if (configVersion) {
|
|
39
|
+
installJs = installJs.replace(this.customerConfig.swPath, this.customerConfig.swPath + configVersion);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return new baqend_response_1.BaqendResponse(installJs, 'text/javascript; charset=utf-8', event.responseHeaders);
|
|
43
|
+
}
|
|
44
|
+
extractConfigVersion(originBody) {
|
|
45
|
+
const [, configVersion] = originBody.match(/sw:.*?(\?[^"]*)/) || [];
|
|
46
|
+
return configVersion;
|
|
47
|
+
}
|
|
48
|
+
async getContent(client, event) {
|
|
49
|
+
const { base64Encoded, body } = await client.send('Fetch.getResponseBody', { requestId: event.requestId });
|
|
50
|
+
if (base64Encoded) {
|
|
51
|
+
return Buffer.from(body, 'base64').toString('utf8');
|
|
52
|
+
}
|
|
53
|
+
return body;
|
|
54
|
+
}
|
|
55
|
+
isValidResponse(event) {
|
|
56
|
+
return event.responseHeaders
|
|
57
|
+
&& event.responseStatusCode
|
|
58
|
+
&& event.responseStatusCode > 199
|
|
59
|
+
&& event.responseStatusCode < 300;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.SpeedKitInstallJs = SpeedKitInstallJs;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CDPSession } from 'puppeteer';
|
|
2
|
+
import { Protocol } from 'puppeteer-core';
|
|
3
|
+
import { CliService } from '../../cli';
|
|
4
|
+
import CustomerConfig from '../../integration-api/struct/customer-config';
|
|
5
|
+
import { AbortResponse } from '../browser/abort-response';
|
|
6
|
+
import { FetchRequestPausedEventHandler } from '../onboarding-model';
|
|
7
|
+
import { Cache } from '../request-cache/cache';
|
|
8
|
+
/**
|
|
9
|
+
* Intercepts v1/rum/pi requests,
|
|
10
|
+
* if request contains changeDetection, clear dh-cache for respective url
|
|
11
|
+
*
|
|
12
|
+
* @implements FetchRequestPausedEventHandler
|
|
13
|
+
*/
|
|
14
|
+
export declare class SpeedKitRumPiRequest implements FetchRequestPausedEventHandler {
|
|
15
|
+
private customerConfig;
|
|
16
|
+
private cache;
|
|
17
|
+
private cli;
|
|
18
|
+
readonly patterns: Protocol.Fetch.RequestPattern[];
|
|
19
|
+
constructor(customerConfig: CustomerConfig, cache: Cache, cli: CliService);
|
|
20
|
+
handle(event: Protocol.Fetch.RequestPausedEvent, _: CDPSession): Promise<AbortResponse | Partial<Protocol.Fetch.FulfillRequestRequest> | void>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpeedKitRumPiRequest = void 0;
|
|
4
|
+
const safe_1 = require("../../../helpers/safe");
|
|
5
|
+
/**
|
|
6
|
+
* Intercepts v1/rum/pi requests,
|
|
7
|
+
* if request contains changeDetection, clear dh-cache for respective url
|
|
8
|
+
*
|
|
9
|
+
* @implements FetchRequestPausedEventHandler
|
|
10
|
+
*/
|
|
11
|
+
class SpeedKitRumPiRequest {
|
|
12
|
+
customerConfig;
|
|
13
|
+
cache;
|
|
14
|
+
cli;
|
|
15
|
+
patterns;
|
|
16
|
+
constructor(customerConfig, cache, cli) {
|
|
17
|
+
this.customerConfig = customerConfig;
|
|
18
|
+
this.cache = cache;
|
|
19
|
+
this.cli = cli;
|
|
20
|
+
this.patterns = [
|
|
21
|
+
{
|
|
22
|
+
requestStage: 'Request',
|
|
23
|
+
urlPattern: `https://${this.customerConfig.appDomain}/v1/rum/pi*`,
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
}
|
|
27
|
+
handle(event, _) {
|
|
28
|
+
if (!event.request.hasPostData) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
const result = (0, safe_1.safe)(() => JSON.parse(event.request.postData));
|
|
32
|
+
if (result.success === false) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (!('changeDetection' in result.data)) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const changeDetection = result.data.changeDetection;
|
|
39
|
+
this.cache.removeEntry(changeDetection.url);
|
|
40
|
+
this.cli.write(`changeDetection triggered for url: ${changeDetection.url} - cleared from dh-cache`);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.SpeedKitRumPiRequest = SpeedKitRumPiRequest;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Protocol from 'devtools-protocol';
|
|
2
|
+
import { FileInterface } from '../../integration-api/integration-api-model';
|
|
3
|
+
import CustomerConfig from '../../integration-api/struct/customer-config';
|
|
4
|
+
import { FetchRequestPausedEventHandler } from '../onboarding-model';
|
|
5
|
+
/**
|
|
6
|
+
* SpeedKitServiceWorkerJs class is responsible for handling fetch requests for the SpeedKit service worker.
|
|
7
|
+
* Injects serviceWorker from local file, if custom_sw is present.
|
|
8
|
+
*
|
|
9
|
+
* @implements FetchRequestPausedEventHandler
|
|
10
|
+
*/
|
|
11
|
+
export declare class SpeedKitServiceWorkerJs implements FetchRequestPausedEventHandler {
|
|
12
|
+
private customerConfig;
|
|
13
|
+
private serviceWorker;
|
|
14
|
+
readonly patterns: Protocol.Fetch.RequestPattern[];
|
|
15
|
+
constructor(customerConfig: CustomerConfig, serviceWorker: FileInterface);
|
|
16
|
+
handle(): Promise<Partial<Protocol.Fetch.FulfillRequestRequest>>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SpeedKitServiceWorkerJs = void 0;
|
|
4
|
+
const baqend_response_1 = require("../browser/baqend-response");
|
|
5
|
+
/**
|
|
6
|
+
* SpeedKitServiceWorkerJs class is responsible for handling fetch requests for the SpeedKit service worker.
|
|
7
|
+
* Injects serviceWorker from local file, if custom_sw is present.
|
|
8
|
+
*
|
|
9
|
+
* @implements FetchRequestPausedEventHandler
|
|
10
|
+
*/
|
|
11
|
+
class SpeedKitServiceWorkerJs {
|
|
12
|
+
customerConfig;
|
|
13
|
+
serviceWorker;
|
|
14
|
+
patterns;
|
|
15
|
+
constructor(customerConfig, serviceWorker) {
|
|
16
|
+
this.customerConfig = customerConfig;
|
|
17
|
+
this.serviceWorker = serviceWorker;
|
|
18
|
+
this.patterns = [{
|
|
19
|
+
requestStage: 'Request',
|
|
20
|
+
urlPattern: `https://${this.customerConfig.appDomain}/v1/speedkit/sw.js*`,
|
|
21
|
+
}];
|
|
22
|
+
}
|
|
23
|
+
async handle() {
|
|
24
|
+
return new baqend_response_1.BaqendResponse(this.serviceWorker.getContent(), 'text/javascript; charset=utf-8');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.SpeedKitServiceWorkerJs = SpeedKitServiceWorkerJs;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CliService } from "../../cli";
|
|
2
|
+
import { Page } from "puppeteer";
|
|
3
|
+
import CustomerConfig from "../../integration-api/struct/customer-config";
|
|
4
|
+
import { DocumentHandlerServer } from "../../document-handler-runtime/document-handler-server";
|
|
5
|
+
import { Cache } from "../request-cache/cache";
|
|
6
|
+
import { ConfigFileInterface, FileListInterface } from "../../integration-api/integration-api-model";
|
|
7
|
+
import { BrowserContext } from "../onboarding-model";
|
|
8
|
+
/**
|
|
9
|
+
* Add different callbacks that will be executed if a local file is changed.
|
|
10
|
+
*/
|
|
11
|
+
export declare class FileWatcher {
|
|
12
|
+
private cli;
|
|
13
|
+
private customerConfig;
|
|
14
|
+
private files;
|
|
15
|
+
private documentHandler;
|
|
16
|
+
private browserContext;
|
|
17
|
+
private cache;
|
|
18
|
+
constructor(cli: CliService, customerConfig: CustomerConfig, files: FileListInterface, documentHandler: DocumentHandlerServer, browserContext: BrowserContext, cache: Cache);
|
|
19
|
+
addCallbackOnFileChange(page: Page, serviceWorkerReinstallCallback: (file: ConfigFileInterface) => Promise<void>): void;
|
|
20
|
+
private handleServiceWorkerDependencies;
|
|
21
|
+
private handleGenericConfigFiles;
|
|
22
|
+
private handleDynamicStyles;
|
|
23
|
+
private onChangeServiceWorkerCallback;
|
|
24
|
+
private onChangeConfigFileCallback;
|
|
25
|
+
private onChangeDynamicStyleCallback;
|
|
26
|
+
private clearPageFunction;
|
|
27
|
+
private clearServiceWorker;
|
|
28
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileWatcher = void 0;
|
|
4
|
+
const safe_1 = require("../../../helpers/safe");
|
|
5
|
+
const virtual_file_1 = require("../../integration-api/struct/virtual-file");
|
|
6
|
+
const files_1 = require("../../../models/files");
|
|
7
|
+
/**
|
|
8
|
+
* Add different callbacks that will be executed if a local file is changed.
|
|
9
|
+
*/
|
|
10
|
+
class FileWatcher {
|
|
11
|
+
cli;
|
|
12
|
+
customerConfig;
|
|
13
|
+
files;
|
|
14
|
+
documentHandler;
|
|
15
|
+
browserContext;
|
|
16
|
+
cache;
|
|
17
|
+
constructor(cli, customerConfig, files, documentHandler, browserContext, cache) {
|
|
18
|
+
this.cli = cli;
|
|
19
|
+
this.customerConfig = customerConfig;
|
|
20
|
+
this.files = files;
|
|
21
|
+
this.documentHandler = documentHandler;
|
|
22
|
+
this.browserContext = browserContext;
|
|
23
|
+
this.cache = cache;
|
|
24
|
+
}
|
|
25
|
+
addCallbackOnFileChange(page, serviceWorkerReinstallCallback) {
|
|
26
|
+
const installResource = this.files.getByName(files_1.INTEGRATION_FILES.BUILD.INSTALL);
|
|
27
|
+
this.handleServiceWorkerDependencies(page, installResource, serviceWorkerReinstallCallback);
|
|
28
|
+
this.handleGenericConfigFiles(page, installResource);
|
|
29
|
+
this.handleDynamicStyles(page);
|
|
30
|
+
}
|
|
31
|
+
handleServiceWorkerDependencies(page, installResource, serviceWorkerReinstallCallback) {
|
|
32
|
+
// add watcher to serviceWorker related files
|
|
33
|
+
const serviceWorkerDependencies = [files_1.INTEGRATION_FILES.CONFIG.SPEED_KIT, files_1.INTEGRATION_FILES.CONFIG.LOAD_HANDLER, files_1.INTEGRATION_FILES.CUSTOM.LOADER, files_1.INTEGRATION_FILES.CUSTOM.SW];
|
|
34
|
+
for (const dependency of serviceWorkerDependencies) {
|
|
35
|
+
if (!this.files.hasFile(dependency)) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
const file = this.files.getByName(dependency);
|
|
39
|
+
if (file.type === virtual_file_1.VirtualFile) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
file.onChange(async (file) => {
|
|
43
|
+
const result = await (0, safe_1.safe)(this.onChangeServiceWorkerCallback(file, page, installResource, serviceWorkerReinstallCallback));
|
|
44
|
+
if (result.success === false) {
|
|
45
|
+
this.cli.writeError(`error after fileChange: ${file.name}: ${result.error}`);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
handleGenericConfigFiles(page, installResource) {
|
|
51
|
+
// add watcher to configFiles
|
|
52
|
+
const generalConfigFiles = [files_1.INTEGRATION_FILES.CONFIG.DYNAMIC_BLOCKS, files_1.INTEGRATION_FILES.CONFIG.DOCUMENT_HANDLER, files_1.INTEGRATION_FILES.CUSTOM.DYNAMIC_FETCHER, files_1.INTEGRATION_FILES.CUSTOM.DOCUMENT_HANDLER];
|
|
53
|
+
for (const configFile of generalConfigFiles) {
|
|
54
|
+
if (!this.files.hasFile(configFile)) {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const file = this.files.getByName(configFile);
|
|
58
|
+
if (file.type === virtual_file_1.VirtualFile) {
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
file.onChange(async (file) => {
|
|
62
|
+
const result = await (0, safe_1.safe)(this.onChangeConfigFileCallback(page, installResource, file));
|
|
63
|
+
if (result.success === false) {
|
|
64
|
+
this.cli.writeError(`error after fileChange: ${file.name}: ${result.error}`);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
handleDynamicStyles(page) {
|
|
70
|
+
if (!this.files.hasFile(files_1.INTEGRATION_FILES.CONFIG.DYNAMIC_STYLES)) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
// add watcher that will instantly add changes to current page
|
|
74
|
+
this.files.getByName(files_1.INTEGRATION_FILES.CONFIG.DYNAMIC_STYLES).onChange(async (file) => {
|
|
75
|
+
const result = await (0, safe_1.safe)(this.onChangeDynamicStyleCallback(file, page));
|
|
76
|
+
if (result.success === false) {
|
|
77
|
+
this.cli.writeError(`error after fileChange: ${file.name}: ${result.error}`);
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async onChangeServiceWorkerCallback(file, page, installResource, serviceWorkerReinstallCallback) {
|
|
82
|
+
this.cli.writeWarning(`changed file: ${file.name} (reinstall serviceWorker)`);
|
|
83
|
+
// clear speed-kit-service-worker-caches and uninstall serviceWorker
|
|
84
|
+
await this.clearPageFunction(page);
|
|
85
|
+
await this.clearServiceWorker(page);
|
|
86
|
+
// rebuild installResource
|
|
87
|
+
await installResource.buildContent();
|
|
88
|
+
// tell puppeteer to reinstall serviceworker on next navigate
|
|
89
|
+
await serviceWorkerReinstallCallback(file);
|
|
90
|
+
}
|
|
91
|
+
async onChangeConfigFileCallback(page, installResource, file) {
|
|
92
|
+
await this.clearPageFunction(page);
|
|
93
|
+
await this.documentHandler.buildDocumentHandler();
|
|
94
|
+
this.cache.clear();
|
|
95
|
+
await installResource.buildContent();
|
|
96
|
+
this.cli.writeWarning(`changed file: ${file.name}`);
|
|
97
|
+
}
|
|
98
|
+
async onChangeDynamicStyleCallback(file, page) {
|
|
99
|
+
this.cli.writeWarning(`changed file: ${file.name} (update styles on page)`);
|
|
100
|
+
const escapedStyles = encodeURI(file.getContent());
|
|
101
|
+
function updateStyles(styles) {
|
|
102
|
+
const styleElement = document.querySelector('#speed-kit-df-styles');
|
|
103
|
+
if (styleElement) {
|
|
104
|
+
styleElement.textContent = decodeURI(styles);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
const evaluateResult = await (0, safe_1.safe)(page.evaluate(`(${updateStyles.toString()})("${escapedStyles}");`));
|
|
108
|
+
if (evaluateResult.success === false) {
|
|
109
|
+
this.cli.writeError(evaluateResult.error);
|
|
110
|
+
}
|
|
111
|
+
const clearPageResult = await (0, safe_1.safe)(this.clearPageFunction(page));
|
|
112
|
+
if (clearPageResult.success === false) {
|
|
113
|
+
this.cli.writeError(clearPageResult.error);
|
|
114
|
+
}
|
|
115
|
+
await this.documentHandler.buildDocumentHandler();
|
|
116
|
+
this.cache.clear();
|
|
117
|
+
}
|
|
118
|
+
async clearPageFunction(page) {
|
|
119
|
+
const client = await page.target().createCDPSession();
|
|
120
|
+
const cacheResponse = await client.send('CacheStorage.requestCacheNames', { securityOrigin: this.browserContext.domain });
|
|
121
|
+
for (const cache of cacheResponse.caches) {
|
|
122
|
+
if (cache.cacheName.includes('baqend')) {
|
|
123
|
+
await client.send('CacheStorage.deleteCache', { cacheId: cache.cacheId });
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async clearServiceWorker(page) {
|
|
128
|
+
const client = await page.target().createCDPSession();
|
|
129
|
+
await client.send('ServiceWorker.enable');
|
|
130
|
+
await client.send('ServiceWorker.unregister', { scopeURL: `https://${this.customerConfig.domain}` });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.FileWatcher = FileWatcher;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OnboardingContext = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
var onboarding_model_1 = require("./onboarding-model");
|
|
6
|
+
Object.defineProperty(exports, "OnboardingContext", { enumerable: true, get: function () { return onboarding_model_1.OnboardingContext; } });
|
|
7
|
+
tslib_1.__exportStar(require("./onboarding-service"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./onboarding-service-factory"), exports);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Protocol } from "puppeteer-core";
|
|
2
|
+
import { CDPSession } from "puppeteer";
|
|
3
|
+
import { AbortResponse } from "./browser/abort-response";
|
|
4
|
+
export declare class BrowserContext {
|
|
5
|
+
readonly domain: string;
|
|
6
|
+
readonly chromeFlags?: string[];
|
|
7
|
+
readonly browserArgs: string[];
|
|
8
|
+
readonly chromePath: string;
|
|
9
|
+
startParameterDashboard: boolean;
|
|
10
|
+
constructor(domain: string, chromeFlags?: string[]);
|
|
11
|
+
}
|
|
12
|
+
export interface FetchRequestPausedEventHandler {
|
|
13
|
+
readonly patterns: Protocol.Fetch.RequestPattern[];
|
|
14
|
+
handle(event: Protocol.Fetch.RequestPausedEvent, client: CDPSession): Promise<Partial<Protocol.Fetch.FulfillRequestRequest> | AbortResponse | void>;
|
|
15
|
+
}
|
|
16
|
+
export declare class OnboardingContext {
|
|
17
|
+
readonly customerPath: string;
|
|
18
|
+
readonly configName: string;
|
|
19
|
+
readonly local: boolean;
|
|
20
|
+
readonly verboseLevel?: boolean;
|
|
21
|
+
readonly DEFAULT_SW_PATH = "https://www.baqend.com/speed-kit/latest/sw.js";
|
|
22
|
+
readonly DEFAULT_SNIPPET_PATH = "https://www.baqend.com/speed-kit/latest/snippet.js";
|
|
23
|
+
readonly DEFAULT_DF_PATH = "https://www.baqend.com/speed-kit/latest/dynamic-fetcher.js";
|
|
24
|
+
constructor(customerPath: string, configName: string, local: boolean, verboseLevel?: boolean);
|
|
25
|
+
}
|
|
26
|
+
export type awsCredentials = {
|
|
27
|
+
region: string;
|
|
28
|
+
accessKeyId: string;
|
|
29
|
+
secretAccessKey: string;
|
|
30
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OnboardingContext = exports.BrowserContext = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const dotenv = tslib_1.__importStar(require("dotenv"));
|
|
6
|
+
dotenv.config();
|
|
7
|
+
const DEFAULT_BROWSER_ARGS = [
|
|
8
|
+
'--enable-features=NetworkService',
|
|
9
|
+
'--no-first-run',
|
|
10
|
+
'--disable-infobars',
|
|
11
|
+
];
|
|
12
|
+
if (process.env.SPEED_KIT_EXTENSION_PATH) {
|
|
13
|
+
DEFAULT_BROWSER_ARGS.push(`--load-extension=${process.env.SPEED_KIT_EXTENSION_PATH}`, `--disable-extensions-except=${process.env.SPEED_KIT_EXTENSION_PATH}`);
|
|
14
|
+
}
|
|
15
|
+
if (process.env.CHROME_USER_PROFILE_PATH) {
|
|
16
|
+
DEFAULT_BROWSER_ARGS.push(`--user-data-dir=${process.env.CHROME_USER_PROFILE_PATH}`);
|
|
17
|
+
}
|
|
18
|
+
class BrowserContext {
|
|
19
|
+
domain;
|
|
20
|
+
chromeFlags;
|
|
21
|
+
browserArgs;
|
|
22
|
+
chromePath;
|
|
23
|
+
startParameterDashboard = false;
|
|
24
|
+
constructor(domain, chromeFlags) {
|
|
25
|
+
this.domain = domain;
|
|
26
|
+
this.chromeFlags = chromeFlags;
|
|
27
|
+
this.domain = domain;
|
|
28
|
+
this.chromeFlags = chromeFlags || [];
|
|
29
|
+
this.chromePath = process.env.CHROME_PATH;
|
|
30
|
+
this.browserArgs = [
|
|
31
|
+
...DEFAULT_BROWSER_ARGS,
|
|
32
|
+
`--unsafely-treat-insecure-origin-as-secure=${domain}`,
|
|
33
|
+
...this.chromeFlags,
|
|
34
|
+
];
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.BrowserContext = BrowserContext;
|
|
38
|
+
class OnboardingContext {
|
|
39
|
+
customerPath;
|
|
40
|
+
configName;
|
|
41
|
+
local;
|
|
42
|
+
verboseLevel;
|
|
43
|
+
DEFAULT_SW_PATH = 'https://www.baqend.com/speed-kit/latest/sw.js';
|
|
44
|
+
DEFAULT_SNIPPET_PATH = 'https://www.baqend.com/speed-kit/latest/snippet.js';
|
|
45
|
+
DEFAULT_DF_PATH = 'https://www.baqend.com/speed-kit/latest/dynamic-fetcher.js';
|
|
46
|
+
constructor(customerPath, configName, local, verboseLevel) {
|
|
47
|
+
this.customerPath = customerPath;
|
|
48
|
+
this.configName = configName;
|
|
49
|
+
this.local = local;
|
|
50
|
+
this.verboseLevel = verboseLevel;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
exports.OnboardingContext = OnboardingContext;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OnboardingService } from "./onboarding-service";
|
|
2
|
+
import { OnboardingContext } from "./onboarding-model";
|
|
3
|
+
import { UserCliConfig } from "../../helpers/cli-config";
|
|
4
|
+
export declare class OnboardingServiceFactory {
|
|
5
|
+
private readonly context;
|
|
6
|
+
private cliConfig;
|
|
7
|
+
constructor(context: OnboardingContext, cliConfig: UserCliConfig);
|
|
8
|
+
getService(): Promise<OnboardingService>;
|
|
9
|
+
private getUrlForTest;
|
|
10
|
+
private buildInstallResource;
|
|
11
|
+
private getFetchEventHandler;
|
|
12
|
+
private getIntegrationFiles;
|
|
13
|
+
private getConfigApi;
|
|
14
|
+
private getAthenaClient;
|
|
15
|
+
private getCredentials;
|
|
16
|
+
}
|