@speedkit/cli 3.43.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/README.md +6 -6
- package/bin/dev +2 -15
- package/bin/run +2 -2
- package/dist/commands/build-parameter-query.d.ts +3 -3
- package/dist/commands/build-parameter-query.js +12 -15
- package/dist/commands/build-prewarm-query.d.ts +4 -4
- package/dist/commands/build-prewarm-query.js +13 -16
- package/dist/commands/config/edit.js +7 -11
- package/dist/commands/deploy.d.ts +3 -5
- package/dist/commands/deploy.js +12 -16
- package/dist/commands/diff-url-parameters.d.ts +3 -3
- package/dist/commands/diff-url-parameters.js +27 -30
- package/dist/commands/document-handler.d.ts +4 -4
- package/dist/commands/document-handler.js +13 -17
- package/dist/commands/find-pops.d.ts +2 -2
- package/dist/commands/find-pops.js +22 -24
- package/dist/commands/generate-customer-config.d.ts +2 -2
- package/dist/commands/generate-customer-config.js +13 -16
- package/dist/commands/generate-pop-config.d.ts +7 -7
- package/dist/commands/generate-pop-config.js +32 -41
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.js +13 -17
- package/dist/commands/onboarding.d.ts +3 -5
- package/dist/commands/onboarding.js +10 -13
- package/dist/commands/prewarm.d.ts +9 -9
- package/dist/commands/prewarm.js +25 -28
- package/dist/commands/pull.d.ts +3 -3
- package/dist/commands/pull.js +11 -14
- package/dist/commands/wpt-launcher.d.ts +7 -7
- package/dist/commands/wpt-launcher.js +21 -26
- package/dist/helpers/array-helper.js +1 -4
- package/dist/helpers/build-query-helper.js +5 -12
- package/dist/helpers/cli-config.d.ts +3 -3
- package/dist/helpers/cli-config.js +11 -16
- package/dist/helpers/customer-config.d.ts +4 -8
- package/dist/helpers/customer-config.js +18 -23
- package/dist/helpers/evaluate-speed-kit-config.d.ts +1 -1
- package/dist/helpers/evaluate-speed-kit-config.js +42 -26
- package/dist/helpers/file-helper.js +8 -13
- package/dist/helpers/get-parsed-config.d.ts +1 -1
- package/dist/helpers/get-parsed-config.js +6 -10
- package/dist/helpers/html-format-helper.js +3 -6
- package/dist/helpers/is-directory.js +3 -6
- package/dist/helpers/is-file.js +3 -6
- package/dist/helpers/logging-helper.js +7 -13
- package/dist/helpers/normalize.js +10 -17
- package/dist/helpers/race.d.ts +1 -1
- package/dist/helpers/race.js +3 -9
- package/dist/helpers/safe.js +1 -4
- package/dist/helpers/scrape.d.ts +1 -1
- package/dist/helpers/scrape.js +3 -7
- package/dist/helpers/site-analyzer.js +5 -9
- package/dist/helpers/speed-kit-rule-to-reg-exp.js +1 -4
- package/dist/models/cli-parameters.d.ts +4 -4
- package/dist/models/cli-parameters.js +13 -16
- package/dist/models/files.js +1 -4
- package/dist/models/install.js +1 -2
- package/dist/models/os.js +1 -4
- package/dist/services/athena/athena-service-factory.d.ts +1 -1
- package/dist/services/athena/athena-service-factory.js +15 -19
- package/dist/services/athena/athena-service-model.js +2 -5
- package/dist/services/athena/athena-service.d.ts +1 -1
- package/dist/services/athena/athena-service.js +18 -23
- package/dist/services/athena/error/athena-query-error.d.ts +1 -1
- package/dist/services/athena/error/athena-query-error.js +2 -7
- package/dist/services/athena/error/fetch-credentials-error.d.ts +1 -1
- package/dist/services/athena/error/fetch-credentials-error.js +2 -7
- package/dist/services/athena/index.d.ts +4 -4
- package/dist/services/athena/index.js +4 -7
- package/dist/services/bundler/bundle-service-factory.d.ts +3 -1
- package/dist/services/bundler/bundle-service-factory.js +7 -7
- package/dist/services/bundler/bundle-service.d.ts +9 -12
- package/dist/services/bundler/bundle-service.js +42 -32
- package/dist/services/bundler/error/bundle-fetch-error.d.ts +1 -1
- package/dist/services/bundler/error/bundle-fetch-error.js +2 -7
- package/dist/services/bundler/error/bundle-resolve-error.d.ts +1 -1
- package/dist/services/bundler/error/bundle-resolve-error.js +2 -7
- package/dist/services/bundler/index.d.ts +2 -2
- package/dist/services/bundler/index.js +2 -5
- package/dist/services/cli/cli-service-factory.d.ts +2 -2
- package/dist/services/cli/cli-service-factory.js +6 -10
- package/dist/services/cli/cli-service-model.d.ts +21 -6
- package/dist/services/cli/cli-service-model.js +3 -7
- package/dist/services/cli/cli-service.d.ts +10 -8
- package/dist/services/cli/cli-service.js +64 -61
- package/dist/services/cli/error/cli-type-error.js +1 -4
- package/dist/services/cli/index.d.ts +3 -3
- package/dist/services/cli/index.js +3 -6
- package/dist/services/config-api/client.d.ts +2 -2
- package/dist/services/config-api/client.js +29 -34
- package/dist/services/config-api/config-api-factory.d.ts +2 -2
- package/dist/services/config-api/config-api-factory.js +15 -20
- package/dist/services/config-api/config-api-model.d.ts +2 -2
- package/dist/services/config-api/config-api-model.js +1 -5
- package/dist/services/config-api/config-api-service.d.ts +2 -2
- package/dist/services/config-api/config-api-service.js +1 -5
- package/dist/services/config-api/entity-manager-factory.js +3 -7
- package/dist/services/config-api/error/json-response-error.d.ts +1 -1
- package/dist/services/config-api/error/json-response-error.js +2 -7
- package/dist/services/config-api/error/login-error.d.ts +1 -1
- package/dist/services/config-api/error/login-error.js +2 -7
- package/dist/services/config-api/error/orestes-api-error.d.ts +1 -1
- package/dist/services/config-api/error/orestes-api-error.js +2 -7
- package/dist/services/config-api/index.d.ts +3 -3
- package/dist/services/config-api/index.js +3 -6
- package/dist/services/config-api-service.d.ts +1 -1
- package/dist/services/config-api-service.js +6 -11
- package/dist/services/customer-config/customer-config-service-context.js +3 -7
- package/dist/services/customer-config/customer-config-service-factory.d.ts +1 -1
- package/dist/services/customer-config/customer-config-service-factory.js +6 -10
- package/dist/services/customer-config/customer-config-service-model.js +6 -9
- package/dist/services/customer-config/customer-config-service.d.ts +3 -3
- package/dist/services/customer-config/customer-config-service.js +55 -55
- package/dist/services/customer-config/index.d.ts +4 -4
- package/dist/services/customer-config/index.js +4 -7
- package/dist/services/deploy/builder/install-resource-builder.d.ts +2 -2
- package/dist/services/deploy/builder/install-resource-builder.js +3 -7
- package/dist/services/deploy/checks/post-deploy/deprecated-deployment-detection-check.d.ts +4 -4
- package/dist/services/deploy/checks/post-deploy/deprecated-deployment-detection-check.js +19 -24
- package/dist/services/deploy/checks/post-deploy/revalidated-module-check.d.ts +3 -3
- package/dist/services/deploy/checks/post-deploy/revalidated-module-check.js +10 -14
- package/dist/services/deploy/checks/post-deploy/save-files-check.d.ts +3 -3
- package/dist/services/deploy/checks/post-deploy/save-files-check.js +8 -12
- package/dist/services/deploy/checks/pre-deploy/device-detection-changed-check.d.ts +3 -3
- package/dist/services/deploy/checks/pre-deploy/device-detection-changed-check.js +14 -20
- package/dist/services/deploy/checks/pre-deploy/split-change-check.d.ts +3 -3
- package/dist/services/deploy/checks/pre-deploy/split-change-check.js +19 -20
- package/dist/services/deploy/context/deploy-context.d.ts +2 -2
- package/dist/services/deploy/context/deploy-context.js +10 -14
- package/dist/services/deploy/deploy-service-factory.d.ts +3 -3
- package/dist/services/deploy/deploy-service-factory.js +36 -40
- package/dist/services/deploy/deploy-service-model.d.ts +10 -10
- package/dist/services/deploy/deploy-service-model.js +1 -2
- package/dist/services/deploy/deploy-service.d.ts +4 -4
- package/dist/services/deploy/deploy-service.js +10 -15
- package/dist/services/deploy/error/check-module-file-error.d.ts +1 -1
- package/dist/services/deploy/error/check-module-file-error.js +2 -7
- package/dist/services/deploy/error/deploy-install-resource-error.d.ts +1 -1
- package/dist/services/deploy/error/deploy-install-resource-error.js +2 -7
- package/dist/services/deploy/error/deploy-module-file-error.d.ts +1 -1
- package/dist/services/deploy/error/deploy-module-file-error.js +2 -7
- package/dist/services/deploy/error/deploy-server-config-error.d.ts +1 -1
- package/dist/services/deploy/error/deploy-server-config-error.js +2 -7
- package/dist/services/deploy/error/evaluate-sk-config-error.d.ts +1 -1
- package/dist/services/deploy/error/evaluate-sk-config-error.js +2 -7
- package/dist/services/deploy/error/file-handler-error.d.ts +1 -1
- package/dist/services/deploy/error/file-handler-error.js +2 -7
- package/dist/services/deploy/error/post-deploy-deployment-detection-error.d.ts +1 -1
- package/dist/services/deploy/error/post-deploy-deployment-detection-error.js +2 -7
- package/dist/services/deploy/error/safe-file-error.d.ts +1 -1
- package/dist/services/deploy/error/safe-file-error.js +2 -7
- package/dist/services/deploy/handler/customer-config-handler.d.ts +6 -6
- package/dist/services/deploy/handler/customer-config-handler.js +7 -12
- package/dist/services/deploy/handler/install-resource-handler.d.ts +7 -7
- package/dist/services/deploy/handler/install-resource-handler.js +22 -27
- package/dist/services/deploy/handler/install-resource-modifier/deleted-file-check.d.ts +4 -4
- package/dist/services/deploy/handler/install-resource-modifier/deleted-file-check.js +1 -4
- package/dist/services/deploy/handler/module-handler.d.ts +6 -6
- package/dist/services/deploy/handler/module-handler.js +12 -18
- package/dist/services/deploy/handler/server-config-handler.d.ts +5 -5
- package/dist/services/deploy/handler/server-config-handler.js +10 -14
- package/dist/services/deploy/interface/deploy-handler-interface.d.ts +1 -1
- package/dist/services/deploy/interface/deploy-handler-interface.js +1 -2
- package/dist/services/deploy/interface/install-configs.js +1 -2
- package/dist/services/deploy/interface/install-resource-processor-interface.d.ts +1 -1
- package/dist/services/deploy/interface/install-resource-processor-interface.js +1 -2
- package/dist/services/deploy/interface/install.d.ts +1 -1
- package/dist/services/deploy/interface/install.js +1 -2
- package/dist/services/deploy/interface/runtime-modifier.d.ts +1 -1
- package/dist/services/deploy/interface/runtime-modifier.js +1 -2
- package/dist/services/deploy/interface/validate-origins-response.js +1 -2
- package/dist/services/diff/diff-model.js +1 -5
- package/dist/services/diff/diff-service-factory.d.ts +1 -1
- package/dist/services/diff/diff-service-factory.js +6 -10
- package/dist/services/diff/diff-service.d.ts +1 -1
- package/dist/services/diff/diff-service.js +19 -24
- package/dist/services/diff/index.d.ts +3 -3
- package/dist/services/diff/index.js +3 -6
- package/dist/services/diff-service.d.ts +1 -1
- package/dist/services/diff-service.js +16 -21
- package/dist/services/document-handler-runtime/context/document-handler-runtime-context.js +30 -34
- package/dist/services/document-handler-runtime/document-handler-runtime-service.d.ts +3 -3
- package/dist/services/document-handler-runtime/document-handler-runtime-service.js +38 -42
- package/dist/services/document-handler-runtime/document-handler-server.d.ts +7 -11
- package/dist/services/document-handler-runtime/document-handler-server.js +77 -59
- package/dist/services/document-handler-runtime/error/required-file-not-found-error.js +1 -4
- package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.d.ts +5 -5
- package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.js +42 -46
- package/dist/services/document-handler-runtime/interface/document-handler-runtime-config-interface.js +1 -4
- package/dist/services/document-handler-runtime/interface/template-context-interface.d.ts +2 -3
- package/dist/services/document-handler-runtime/interface/template-context-interface.js +1 -2
- package/dist/services/document-handler-runtime/interface/template-interface.d.ts +2 -2
- package/dist/services/document-handler-runtime/interface/template-interface.js +1 -2
- package/dist/services/document-handler-runtime/interface/template-parameter-interface.js +1 -2
- package/dist/services/document-handler-runtime/server/document-handler-response.d.ts +1 -3
- package/dist/services/document-handler-runtime/server/document-handler-response.js +1 -5
- package/dist/services/document-handler-runtime/server/request.d.ts +4 -10
- package/dist/services/document-handler-runtime/server/request.js +1 -5
- package/dist/services/document-handler-runtime/templates/abstract-template.d.ts +3 -3
- package/dist/services/document-handler-runtime/templates/abstract-template.js +3 -7
- package/dist/services/document-handler-runtime/templates/database-mock.d.ts +2 -2
- package/dist/services/document-handler-runtime/templates/database-mock.js +2 -6
- package/dist/services/document-handler-runtime/templates/execute-document-handler.d.ts +2 -2
- package/dist/services/document-handler-runtime/templates/execute-document-handler.js +2 -6
- package/dist/services/document-handler-runtime/templates/orestes-mock.d.ts +2 -2
- package/dist/services/document-handler-runtime/templates/orestes-mock.js +2 -6
- package/dist/services/document-handler-runtime/templates/package-json.d.ts +3 -5
- package/dist/services/document-handler-runtime/templates/package-json.js +2 -6
- package/dist/services/document-handler-runtime/templates/test.d.ts +2 -2
- package/dist/services/document-handler-runtime/templates/test.js +2 -6
- package/dist/services/error-handling/error/application-error.d.ts +1 -1
- package/dist/services/error-handling/error/application-error.js +1 -5
- package/dist/services/error-handling/error/config-file-error.d.ts +1 -1
- package/dist/services/error-handling/error/config-file-error.js +2 -7
- package/dist/services/error-handling/error/connection-error.d.ts +1 -1
- package/dist/services/error-handling/error/connection-error.js +2 -7
- package/dist/services/integration-api/error/customer-config-error.d.ts +1 -1
- package/dist/services/integration-api/error/customer-config-error.js +2 -5
- package/dist/services/integration-api/error/customer-config-legacy-error.d.ts +1 -1
- package/dist/services/integration-api/error/customer-config-legacy-error.js +2 -6
- package/dist/services/integration-api/error/invalid-config-format-error.d.ts +1 -1
- package/dist/services/integration-api/error/invalid-config-format-error.js +4 -7
- package/dist/services/integration-api/error/mandatory-file-missing-error.d.ts +1 -1
- package/dist/services/integration-api/error/mandatory-file-missing-error.js +2 -6
- package/dist/services/integration-api/error/origin-error.d.ts +1 -1
- package/dist/services/integration-api/error/origin-error.js +2 -5
- package/dist/services/integration-api/error/read-files-error.d.ts +1 -1
- package/dist/services/integration-api/error/read-files-error.js +2 -7
- package/dist/services/integration-api/external/external-file-reader.d.ts +1 -1
- package/dist/services/integration-api/external/external-file-reader.js +9 -14
- package/dist/services/integration-api/file-list.d.ts +1 -1
- package/dist/services/integration-api/file-list.js +8 -11
- package/dist/services/integration-api/file-reader.js +11 -15
- package/dist/services/integration-api/file-writer.js +4 -8
- package/dist/services/integration-api/handler/customer-config-handler.d.ts +5 -5
- package/dist/services/integration-api/handler/customer-config-handler.js +17 -21
- package/dist/services/integration-api/handler/file-handler.d.ts +2 -2
- package/dist/services/integration-api/handler/file-handler.js +1 -4
- package/dist/services/integration-api/handler/install-resource-handler.d.ts +2 -2
- package/dist/services/integration-api/handler/install-resource-handler.js +6 -10
- package/dist/services/integration-api/handler/module-handler.d.ts +2 -2
- package/dist/services/integration-api/handler/module-handler.js +4 -8
- package/dist/services/integration-api/handler/server-config-handler.d.ts +2 -2
- package/dist/services/integration-api/handler/server-config-handler.js +4 -8
- package/dist/services/integration-api/index.d.ts +3 -3
- package/dist/services/integration-api/index.js +3 -6
- package/dist/services/integration-api/integration-api-factory.d.ts +3 -3
- package/dist/services/integration-api/integration-api-factory.js +23 -28
- package/dist/services/integration-api/integration-api-model.d.ts +17 -19
- package/dist/services/integration-api/integration-api-model.js +16 -21
- package/dist/services/integration-api/integration-api-service.d.ts +5 -5
- package/dist/services/integration-api/integration-api-service.js +6 -12
- package/dist/services/integration-api/spec/customer-config-validator.spec.js +29 -32
- package/dist/services/integration-api/spec/file-list.spec.js +107 -110
- package/dist/services/integration-api/spec/file-reader.spec.js +27 -30
- package/dist/services/integration-api/spec/file-writer.spec.js +34 -37
- package/dist/services/integration-api/spec/integration-api-service.spec.js +42 -45
- package/dist/services/integration-api/spec/mandatory-files-validator.spec.js +48 -51
- package/dist/services/integration-api/struct/customer-config-file.d.ts +1 -1
- package/dist/services/integration-api/struct/customer-config-file.js +10 -15
- package/dist/services/integration-api/struct/customer-config.d.ts +4 -8
- package/dist/services/integration-api/struct/customer-config.js +5 -10
- package/dist/services/integration-api/struct/file.d.ts +1 -1
- package/dist/services/integration-api/struct/file.js +9 -13
- package/dist/services/integration-api/struct/install-resource-file.d.ts +2 -2
- package/dist/services/integration-api/struct/install-resource-file.js +4 -8
- package/dist/services/integration-api/struct/module-file.d.ts +2 -2
- package/dist/services/integration-api/struct/module-file.js +4 -8
- package/dist/services/integration-api/struct/ro-file.d.ts +1 -1
- package/dist/services/integration-api/struct/ro-file.js +1 -5
- package/dist/services/integration-api/struct/server-config-file.d.ts +2 -2
- package/dist/services/integration-api/struct/server-config-file.js +4 -8
- package/dist/services/integration-api/struct/virtual-file.d.ts +1 -1
- package/dist/services/integration-api/struct/virtual-file.js +3 -7
- package/dist/services/integration-api/validator/customer-config-validator.d.ts +1 -1
- package/dist/services/integration-api/validator/customer-config-validator.js +8 -12
- package/dist/services/integration-api/validator/mandatory-files-validator.d.ts +2 -2
- package/dist/services/integration-api/validator/mandatory-files-validator.js +4 -8
- package/dist/services/integration-api/virtual/external-recipe.d.ts +2 -2
- package/dist/services/integration-api/virtual/external-recipe.js +1 -5
- package/dist/services/integration-api/virtual/static-recipe.d.ts +1 -1
- package/dist/services/integration-api/virtual/static-recipe.js +1 -5
- package/dist/services/integration-api/virtual/virtual-file-handler.d.ts +2 -2
- package/dist/services/integration-api/virtual/virtual-file-handler.js +8 -13
- package/dist/services/onboarding/browser/abort-response.js +1 -5
- package/dist/services/onboarding/browser/baqend-response.d.ts +1 -1
- package/dist/services/onboarding/browser/baqend-response.js +1 -5
- package/dist/services/onboarding/browser/config/browser-config.d.ts +1 -1
- package/dist/services/onboarding/browser/config/browser-config.js +15 -20
- package/dist/services/onboarding/browser/executable/executable-validator.d.ts +2 -2
- package/dist/services/onboarding/browser/executable/executable-validator.js +12 -17
- package/dist/services/onboarding/browser/extension/devtools-extension-api.d.ts +1 -1
- package/dist/services/onboarding/browser/extension/devtools-extension-api.js +1 -5
- package/dist/services/onboarding/browser/extension/extension-downloader.d.ts +2 -2
- package/dist/services/onboarding/browser/extension/extension-downloader.js +24 -30
- package/dist/services/onboarding/browser/extension/extension-validator.d.ts +3 -3
- package/dist/services/onboarding/browser/extension/extension-validator.js +18 -23
- package/dist/services/onboarding/browser/origin-response.d.ts +1 -1
- package/dist/services/onboarding/browser/origin-response.js +1 -5
- package/dist/services/onboarding/config-renderer/install-file-recipe.d.ts +2 -2
- package/dist/services/onboarding/config-renderer/install-file-recipe.js +1 -5
- package/dist/services/onboarding/config-renderer/speed-kit-install-context.d.ts +3 -3
- package/dist/services/onboarding/config-renderer/speed-kit-install-context.js +8 -11
- package/dist/services/onboarding/dashboard/diff-against-current-page.d.ts +4 -4
- package/dist/services/onboarding/dashboard/diff-against-current-page.js +9 -14
- package/dist/services/onboarding/dashboard/index.d.ts +7 -7
- package/dist/services/onboarding/dashboard/index.js +8 -13
- package/dist/services/onboarding/dashboard/parameter-query-builder.d.ts +1 -1
- package/dist/services/onboarding/dashboard/parameter-query-builder.js +9 -13
- package/dist/services/onboarding/dashboard/request-diff-service.d.ts +3 -3
- package/dist/services/onboarding/dashboard/request-diff-service.js +14 -19
- package/dist/services/onboarding/error/browser-extension-error.d.ts +1 -1
- package/dist/services/onboarding/error/browser-extension-error.js +1 -5
- package/dist/services/onboarding/error/document-handler-transform-error.js +1 -5
- package/dist/services/onboarding/error/unsupported-encoding-error.d.ts +1 -1
- package/dist/services/onboarding/error/unsupported-encoding-error.js +2 -7
- package/dist/services/onboarding/error/validate-extension-error.d.ts +1 -1
- package/dist/services/onboarding/error/validate-extension-error.js +2 -7
- package/dist/services/onboarding/error/vm-empty-response-error.d.ts +1 -1
- package/dist/services/onboarding/error/vm-empty-response-error.js +2 -7
- package/dist/services/onboarding/error/vm-error.d.ts +1 -1
- package/dist/services/onboarding/error/vm-error.js +2 -7
- package/dist/services/onboarding/fetch-event-handler.d.ts +4 -4
- package/dist/services/onboarding/fetch-event-handler.js +19 -25
- package/dist/services/onboarding/fetch-events/customer-domain-document-response.d.ts +4 -4
- package/dist/services/onboarding/fetch-events/customer-domain-document-response.js +15 -20
- package/dist/services/onboarding/fetch-events/customer-service-worker-js.d.ts +3 -3
- package/dist/services/onboarding/fetch-events/customer-service-worker-js.js +4 -8
- package/dist/services/onboarding/fetch-events/dashboard-request.d.ts +3 -3
- package/dist/services/onboarding/fetch-events/dashboard-request.js +1 -5
- package/dist/services/onboarding/fetch-events/speed-kit-asset-request.d.ts +5 -5
- package/dist/services/onboarding/fetch-events/speed-kit-asset-request.js +1 -5
- package/dist/services/onboarding/fetch-events/speed-kit-install-html.d.ts +4 -4
- package/dist/services/onboarding/fetch-events/speed-kit-install-html.js +3 -7
- package/dist/services/onboarding/fetch-events/speed-kit-install-js.d.ts +5 -5
- package/dist/services/onboarding/fetch-events/speed-kit-install-js.js +7 -11
- package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.d.ts +6 -6
- package/dist/services/onboarding/fetch-events/speed-kit-rum-pi-request.js +4 -8
- package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.d.ts +3 -3
- package/dist/services/onboarding/fetch-events/speed-kit-service-worker-js.js +3 -7
- package/dist/services/onboarding/file-events/file-watcher.d.ts +5 -5
- package/dist/services/onboarding/file-events/file-watcher.js +24 -28
- package/dist/services/onboarding/index.d.ts +3 -3
- package/dist/services/onboarding/index.js +3 -8
- package/dist/services/onboarding/onboarding-model.d.ts +21 -23
- package/dist/services/onboarding/onboarding-model.js +22 -27
- package/dist/services/onboarding/onboarding-service-factory.d.ts +3 -3
- package/dist/services/onboarding/onboarding-service-factory.js +102 -108
- package/dist/services/onboarding/onboarding-service.d.ts +6 -6
- package/dist/services/onboarding/onboarding-service.js +12 -18
- package/dist/services/onboarding/request-cache/cache.d.ts +3 -3
- package/dist/services/onboarding/request-cache/cache.js +1 -5
- package/dist/services/onboarding/server-config/index.d.ts +3 -3
- package/dist/services/onboarding/server-config/index.js +6 -11
- package/dist/services/onboarding/templates/install-speed-kit-html-template.d.ts +1 -1
- package/dist/services/onboarding/templates/install-speed-kit-html-template.js +2 -7
- package/dist/services/onboarding/templates/install-speed-kit-js-template.d.ts +1 -1
- package/dist/services/onboarding/templates/install-speed-kit-js-template.js +2 -7
- package/dist/services/onboarding/todo-collector.d.ts +3 -3
- package/dist/services/onboarding/todo-collector.js +3 -7
- package/dist/services/onboarding/virtual-orestes-app/crawler.d.ts +2 -2
- package/dist/services/onboarding/virtual-orestes-app/crawler.js +12 -16
- package/dist/services/onboarding/virtual-orestes-app/index.d.ts +7 -7
- package/dist/services/onboarding/virtual-orestes-app/index.js +25 -32
- package/dist/services/pop-config/index.d.ts +3 -3
- package/dist/services/pop-config/index.js +3 -6
- package/dist/services/pop-config/pop-config-factory.d.ts +1 -1
- package/dist/services/pop-config/pop-config-factory.js +5 -9
- package/dist/services/pop-config/pop-config-model.d.ts +2 -2
- package/dist/services/pop-config/pop-config-model.js +1 -2
- package/dist/services/pop-config/pop-config-service.d.ts +2 -2
- package/dist/services/pop-config/pop-config-service.js +1 -5
- package/dist/services/prewarm/assets/asset-api-client.d.ts +2 -2
- package/dist/services/prewarm/assets/asset-api-client.js +18 -23
- package/dist/services/prewarm/assets/asset-item.d.ts +1 -1
- package/dist/services/prewarm/assets/asset-item.js +6 -10
- package/dist/services/prewarm/assets/asset-list.d.ts +2 -2
- package/dist/services/prewarm/assets/asset-list.js +6 -10
- package/dist/services/prewarm/csv-reader.js +6 -11
- package/dist/services/prewarm/error/invalid-origin-error.d.ts +1 -1
- package/dist/services/prewarm/error/invalid-origin-error.js +2 -7
- package/dist/services/prewarm/error/read-csv-error.d.ts +1 -1
- package/dist/services/prewarm/error/read-csv-error.js +2 -7
- package/dist/services/prewarm/index.d.ts +3 -3
- package/dist/services/prewarm/index.js +3 -6
- package/dist/services/prewarm/pre-warm-factory.d.ts +1 -1
- package/dist/services/prewarm/pre-warm-factory.js +13 -17
- package/dist/services/prewarm/pre-warm-model.js +16 -20
- package/dist/services/prewarm/pre-warm-service.d.ts +3 -3
- package/dist/services/prewarm/pre-warm-service.js +18 -22
- package/dist/services/pull/index.d.ts +3 -3
- package/dist/services/pull/index.js +3 -6
- package/dist/services/pull/pull-service-factory.d.ts +2 -2
- package/dist/services/pull/pull-service-factory.js +12 -16
- package/dist/services/pull/pull-service-model.js +4 -9
- package/dist/services/pull/pull-service.d.ts +3 -3
- package/dist/services/pull/pull-service.js +14 -19
- package/dist/services/query-builder/error/parse-config-speed-kit-error.d.ts +1 -1
- package/dist/services/query-builder/error/parse-config-speed-kit-error.js +2 -6
- package/dist/services/query-builder/query/parameter.js +1 -5
- package/dist/services/query-builder/query/prewarm.js +1 -5
- package/dist/services/query-builder/query-builder-factory.d.ts +3 -3
- package/dist/services/query-builder/query-builder-factory.js +16 -20
- package/dist/services/query-builder/query-builder-model.d.ts +6 -6
- package/dist/services/query-builder/query-builder-model.js +2 -5
- package/dist/services/query-builder/query-builder-service.d.ts +2 -2
- package/dist/services/query-builder/query-builder-service.js +24 -30
- package/oclif.manifest.json +15 -15
- package/package.json +63 -54
- package/dist/dummy.spec.d.ts +0 -1
- package/dist/dummy.spec.js +0 -18
|
@@ -1,22 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const database_mock_1 = tslib_1.__importDefault(require("./templates/database-mock"));
|
|
8
|
-
const vm = tslib_1.__importStar(require("node:vm"));
|
|
9
|
-
const cli_1 = require("../cli");
|
|
10
|
-
const node_path_1 = tslib_1.__importStar(require("node:path"));
|
|
11
|
-
const files_1 = require("../../models/files");
|
|
1
|
+
import { LATEST_DYNAMIC_FETCHER_URL, LOCAL_DOCUMENT_HANDLER, LOCAL_DOCUMENT_HANDLER_CONFIG, LOCAL_DYNAMIC_FETCHER, LOCAL_DYNAMIC_FETCHER_CONFIG, LOCAL_STYLES, } from "./context/document-handler-runtime-context.js";
|
|
2
|
+
import RequiredFileNotFoundError from "./error/required-file-not-found-error.js";
|
|
3
|
+
import DatabaseMock from "./templates/database-mock.js";
|
|
4
|
+
import * as vm from "node:vm";
|
|
5
|
+
import path, { resolve } from "node:path";
|
|
6
|
+
import { INTEGRATION_FILES } from "../../models/files.js";
|
|
12
7
|
// documentHandlerDependencies
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
8
|
+
import fetch from "node-fetch";
|
|
9
|
+
import { Request } from "./server/request.js";
|
|
10
|
+
import { DocumentHandlerResponse } from "./server/document-handler-response.js";
|
|
11
|
+
import { safe } from "../../helpers/safe.js";
|
|
12
|
+
import { VmEmptyResponseError } from "../onboarding/error/vm-empty-response-error.js";
|
|
13
|
+
import { DocumentHandlerTransformError } from "../onboarding/error/document-handler-transform-error.js";
|
|
14
|
+
import { createRequire } from "node:module";
|
|
15
|
+
export class DocumentHandlerServer {
|
|
20
16
|
customerConfig;
|
|
21
17
|
files;
|
|
22
18
|
bundler;
|
|
@@ -37,13 +33,13 @@ class DocumentHandlerServer {
|
|
|
37
33
|
this.entityManager = entityManager;
|
|
38
34
|
}
|
|
39
35
|
async transform(contentType, html, variation, url, headers) {
|
|
40
|
-
if (!this.documentHandlerCode) {
|
|
36
|
+
if (!this.documentHandlerCode || !this.documentHandlerConfigCode) {
|
|
41
37
|
await this.buildDocumentHandler();
|
|
42
38
|
}
|
|
43
|
-
const skInternalRequest = new
|
|
39
|
+
const skInternalRequest = new Request(url, html, variation, headers, {
|
|
44
40
|
"content-type": contentType,
|
|
45
41
|
});
|
|
46
|
-
const skInternalResponse = new
|
|
42
|
+
const skInternalResponse = new DocumentHandlerResponse();
|
|
47
43
|
const vmContext = {
|
|
48
44
|
db: await this.createDataBaseMock(),
|
|
49
45
|
skInternalRequest,
|
|
@@ -59,7 +55,7 @@ class DocumentHandlerServer {
|
|
|
59
55
|
...this.createNodeVmContext(),
|
|
60
56
|
skErrorContext: {},
|
|
61
57
|
};
|
|
62
|
-
const customDocumentHandlerFile = this.files.getByName(
|
|
58
|
+
const customDocumentHandlerFile = this.files.getByName(INTEGRATION_FILES.CUSTOM.DOCUMENT_HANDLER);
|
|
63
59
|
if (customDocumentHandlerFile.path) {
|
|
64
60
|
vm.runInNewContext(this.documentHandlerCode, vmContext, {
|
|
65
61
|
filename: customDocumentHandlerFile.path,
|
|
@@ -72,7 +68,7 @@ class DocumentHandlerServer {
|
|
|
72
68
|
const script = new vm.Script(this.documentHandlerConfigCode + this.getTransformFunctionWrapper(), {
|
|
73
69
|
filename: this.files.getByName("config_documentHandler").path,
|
|
74
70
|
});
|
|
75
|
-
const vmResponse = await
|
|
71
|
+
const vmResponse = await safe(new Promise((resolve, reject) => {
|
|
76
72
|
vmContext.skInternalResponse.resolve = resolve;
|
|
77
73
|
// @ts-expect-error reject is unknown
|
|
78
74
|
vmContext.reject = reject;
|
|
@@ -81,58 +77,54 @@ class DocumentHandlerServer {
|
|
|
81
77
|
}));
|
|
82
78
|
if (vmResponse.success === true) {
|
|
83
79
|
if (!vmResponse.data.body || vmResponse.data.body?.length === 0) {
|
|
84
|
-
throw new
|
|
80
|
+
throw new VmEmptyResponseError(`documentHandlerResponse is empty for url: ${url}`);
|
|
85
81
|
}
|
|
86
82
|
return vmResponse.data;
|
|
87
83
|
}
|
|
88
|
-
throw new
|
|
84
|
+
throw new DocumentHandlerTransformError(vmResponse.errorObj);
|
|
89
85
|
}
|
|
90
86
|
getTransformFunctionWrapper() {
|
|
91
87
|
return `\n\npost(db, skInternalRequest, skInternalResponse).catch((error)=>reject(error));`;
|
|
92
88
|
}
|
|
93
89
|
async buildDocumentHandler() {
|
|
94
|
-
this.
|
|
95
|
-
this.
|
|
96
|
-
|
|
97
|
-
this.cli.
|
|
90
|
+
this.cli.startAction("DOCUMENTHANDLER:BUILD", "rebuild documentHandler");
|
|
91
|
+
this.documentHandlerCode = await this.bundleDocumentHandlerCode("custom_documentHandler.js", await this.getDocumentHandler());
|
|
92
|
+
this.documentHandlerConfigCode = await this.bundleDocumentHandlerCode("config_documentHandler.js", this.deactivateReleaseAndDeploymentDetection());
|
|
93
|
+
this.cli.successAction("DOCUMENTHANDLER:BUILD");
|
|
98
94
|
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return this.deactivateReleaseAndDeploymentDetection(config);
|
|
102
|
-
}
|
|
103
|
-
deactivateReleaseAndDeploymentDetection(documentHandlerConfig) {
|
|
104
|
-
return documentHandlerConfig.replace("const documentHandler =", (selected) => {
|
|
95
|
+
deactivateReleaseAndDeploymentDetection() {
|
|
96
|
+
return this.getDocumentHandlerConfig().replace("const documentHandler =", (selected) => {
|
|
105
97
|
return (`config["executeDeploymentDetection"] = false;config["executeReleaseDetection"] = false;\n` +
|
|
106
98
|
selected);
|
|
107
99
|
});
|
|
108
100
|
}
|
|
109
101
|
async getDocumentHandler() {
|
|
110
102
|
return this.files
|
|
111
|
-
.getByName(
|
|
103
|
+
.getByName(LOCAL_DOCUMENT_HANDLER)
|
|
112
104
|
.getContent();
|
|
113
105
|
}
|
|
114
106
|
async getDynamicFetcher() {
|
|
115
107
|
// todo use fetchRemoteFile from integration api
|
|
116
|
-
if (!this.files.hasFile(
|
|
117
|
-
const response = await (
|
|
108
|
+
if (!this.files.hasFile(LOCAL_DYNAMIC_FETCHER)) {
|
|
109
|
+
const response = await fetch(LATEST_DYNAMIC_FETCHER_URL);
|
|
118
110
|
return await this.bundleDynamicFetcher({ "dynamic-fetcher": "https://www.baqend.com/speed-kit/latest/" }, await response.text());
|
|
119
111
|
}
|
|
120
112
|
return this.files
|
|
121
|
-
.getByName(
|
|
113
|
+
.getByName(INTEGRATION_FILES.CUSTOM.DYNAMIC_FETCHER)
|
|
122
114
|
.getContent();
|
|
123
115
|
}
|
|
124
116
|
async getDynamicFetcherConfig() {
|
|
125
117
|
return this.files
|
|
126
|
-
.getByName(
|
|
118
|
+
.getByName(LOCAL_DYNAMIC_FETCHER_CONFIG)
|
|
127
119
|
.getContent();
|
|
128
120
|
}
|
|
129
121
|
getStyles() {
|
|
130
|
-
return this.files.getByName(
|
|
122
|
+
return this.files.getByName(LOCAL_STYLES).getContent();
|
|
131
123
|
}
|
|
132
124
|
getDocumentHandlerConfig() {
|
|
133
|
-
const documentHandlerFile = this.files.getByName(
|
|
125
|
+
const documentHandlerFile = this.files.getByName(LOCAL_DOCUMENT_HANDLER_CONFIG);
|
|
134
126
|
if (!documentHandlerFile) {
|
|
135
|
-
throw new
|
|
127
|
+
throw new RequiredFileNotFoundError(`file ${LOCAL_DOCUMENT_HANDLER_CONFIG} not found`);
|
|
136
128
|
}
|
|
137
129
|
return documentHandlerFile.getContent();
|
|
138
130
|
}
|
|
@@ -146,26 +138,29 @@ class DocumentHandlerServer {
|
|
|
146
138
|
async createDataBaseMock() {
|
|
147
139
|
const vmConsole = {
|
|
148
140
|
log: (...logArguments) => {
|
|
141
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
149
142
|
this.verboseLevel
|
|
150
143
|
? this.cli.write(`[documentHandler.dbLog]: ${JSON.stringify(logArguments)}`)
|
|
151
144
|
: "";
|
|
152
145
|
},
|
|
153
146
|
info: (...logArguments) => {
|
|
147
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
154
148
|
this.verboseLevel
|
|
155
149
|
? this.cli.writeWarning(`[documentHandler.dbLog]: ${JSON.stringify(logArguments)}`)
|
|
156
150
|
: "";
|
|
157
151
|
},
|
|
158
152
|
error: (...logArguments) => {
|
|
153
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
159
154
|
this.verboseLevel
|
|
160
155
|
? this.cli.writeError(`[documentHandler.dbLog]: ${JSON.stringify(logArguments)}`)
|
|
161
156
|
: "";
|
|
162
157
|
},
|
|
163
158
|
};
|
|
164
159
|
if (!this.database) {
|
|
165
|
-
const dataBaseMock = new
|
|
160
|
+
const dataBaseMock = new DatabaseMock();
|
|
166
161
|
const databaseCode = dataBaseMock.render(dataBaseMock.buildContext(this.customerConfig.origins[0], this.customerConfig.app));
|
|
167
162
|
const vmContext = { console: vmConsole, module: { exports: {} } };
|
|
168
|
-
vm.runInNewContext(databaseCode, vmContext);
|
|
163
|
+
vm.runInNewContext(databaseCode, vmContext, { displayErrors: true });
|
|
169
164
|
this.database = vmContext.module.exports;
|
|
170
165
|
if (this.entityManager) {
|
|
171
166
|
this.database.token = this.entityManager.token;
|
|
@@ -176,11 +171,20 @@ class DocumentHandlerServer {
|
|
|
176
171
|
createNodeVmContext() {
|
|
177
172
|
const context = {
|
|
178
173
|
process: this.createProcessPartial(),
|
|
179
|
-
require:
|
|
180
|
-
URL
|
|
174
|
+
require: createRequire(import.meta.url),
|
|
175
|
+
URL,
|
|
176
|
+
URLSearchParams,
|
|
181
177
|
fetch: this.createFetchMock(),
|
|
182
178
|
Buffer: Buffer,
|
|
183
179
|
Blob: Blob,
|
|
180
|
+
setTimeout,
|
|
181
|
+
setImmediate,
|
|
182
|
+
clearTimeout,
|
|
183
|
+
clearImmediate,
|
|
184
|
+
global,
|
|
185
|
+
TextEncoder,
|
|
186
|
+
TextDecoder,
|
|
187
|
+
module: { exports: {} },
|
|
184
188
|
};
|
|
185
189
|
if (this.verboseLevel) {
|
|
186
190
|
context["console"] = console;
|
|
@@ -195,8 +199,8 @@ class DocumentHandlerServer {
|
|
|
195
199
|
if (module.toLowerCase().includes("fetch")) {
|
|
196
200
|
return this.createFetchMock();
|
|
197
201
|
}
|
|
198
|
-
const fileExtension =
|
|
199
|
-
const moduleFileName =
|
|
202
|
+
const fileExtension = path.extname(module);
|
|
203
|
+
const moduleFileName = path.basename(module, fileExtension);
|
|
200
204
|
if (this.files.hasFile(moduleFileName)) {
|
|
201
205
|
const vmContext = {
|
|
202
206
|
module: { exports: {} },
|
|
@@ -205,19 +209,18 @@ class DocumentHandlerServer {
|
|
|
205
209
|
};
|
|
206
210
|
vm.runInNewContext(this.files
|
|
207
211
|
.getByName(moduleFileName)
|
|
208
|
-
.getContent(), vmContext);
|
|
212
|
+
.getContent(), vmContext, { displayErrors: true });
|
|
209
213
|
return { ...vmContext.module.exports, ...vmContext.exports };
|
|
210
214
|
}
|
|
211
215
|
try {
|
|
212
|
-
|
|
213
|
-
return require(module);
|
|
216
|
+
return import(module);
|
|
214
217
|
}
|
|
215
218
|
catch {
|
|
216
219
|
// do nothing
|
|
217
220
|
}
|
|
218
221
|
try {
|
|
219
|
-
const additional =
|
|
220
|
-
return
|
|
222
|
+
const additional = resolve(this.nodeModulesPath, "node_modules", module);
|
|
223
|
+
return import(additional);
|
|
221
224
|
}
|
|
222
225
|
catch {
|
|
223
226
|
// do nothing
|
|
@@ -228,14 +231,14 @@ class DocumentHandlerServer {
|
|
|
228
231
|
createFetchMock() {
|
|
229
232
|
return async (url, options) => {
|
|
230
233
|
if (this.verboseLevel) {
|
|
231
|
-
this.cli.startAction(this.cli.style.yellow(`[documentHandler.fetch]: ${url}`));
|
|
234
|
+
this.cli.startAction("ONBOARDING:DOCUMENT_HANDLER:FETCH", this.cli.style.yellow(`[documentHandler.fetch]: ${url}`));
|
|
232
235
|
}
|
|
233
|
-
const result = await
|
|
236
|
+
const result = await safe(fetch(url, options));
|
|
234
237
|
if (result.success === true) {
|
|
235
|
-
this.cli.
|
|
238
|
+
this.cli.successAction("ONBOARDING:DOCUMENT_HANDLER:FETCH");
|
|
236
239
|
return result.data;
|
|
237
240
|
}
|
|
238
|
-
this.cli.
|
|
241
|
+
this.cli.failAction("ONBOARDING:DOCUMENT_HANDLER:FETCH");
|
|
239
242
|
if (result.errorObj) {
|
|
240
243
|
throw result.errorObj;
|
|
241
244
|
}
|
|
@@ -245,6 +248,10 @@ class DocumentHandlerServer {
|
|
|
245
248
|
createProcessPartial() {
|
|
246
249
|
return {
|
|
247
250
|
hrtime: process.hrtime,
|
|
251
|
+
env: {
|
|
252
|
+
// disable warning of node-fetch-native
|
|
253
|
+
DISABLE_NODE_FETCH_NATIVE_WARN: "1",
|
|
254
|
+
},
|
|
248
255
|
};
|
|
249
256
|
}
|
|
250
257
|
/**
|
|
@@ -261,5 +268,16 @@ class DocumentHandlerServer {
|
|
|
261
268
|
platform: "browser",
|
|
262
269
|
});
|
|
263
270
|
}
|
|
271
|
+
async bundleDocumentHandlerCode(name, code) {
|
|
272
|
+
return this.bundler.bundle({
|
|
273
|
+
entryPoints: {
|
|
274
|
+
[name]: code,
|
|
275
|
+
},
|
|
276
|
+
minify: false,
|
|
277
|
+
target: "ES2020",
|
|
278
|
+
platform: "node",
|
|
279
|
+
logLevel: "silent",
|
|
280
|
+
alias: { "node-fetch": "node-fetch-native" },
|
|
281
|
+
});
|
|
282
|
+
}
|
|
264
283
|
}
|
|
265
|
-
exports.DocumentHandlerServer = DocumentHandlerServer;
|
package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { FileListInterface } from "../../integration-api";
|
|
2
|
-
import DocumentHandlerRuntimeContext from "../context/document-handler-runtime-context";
|
|
3
|
-
import DocumentHandlerRuntimeService from "../document-handler-runtime-service";
|
|
4
|
-
import { DocumentHandlerServer } from "../document-handler-server";
|
|
5
|
-
import { UserCliConfig } from "../../../helpers/cli-config";
|
|
1
|
+
import { FileListInterface } from "../../integration-api/index.js";
|
|
2
|
+
import DocumentHandlerRuntimeContext from "../context/document-handler-runtime-context.js";
|
|
3
|
+
import DocumentHandlerRuntimeService from "../document-handler-runtime-service.js";
|
|
4
|
+
import { DocumentHandlerServer } from "../document-handler-server.js";
|
|
5
|
+
import { UserCliConfig } from "../../../helpers/cli-config.js";
|
|
6
6
|
export default class DocumentHandlerRuntimeServiceFactory {
|
|
7
7
|
private readonly context;
|
|
8
8
|
private cliConfig;
|
package/dist/services/document-handler-runtime/factory/document-handler-runtime-service-factory.js
CHANGED
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const safe_1 = require("../../../helpers/safe");
|
|
13
|
-
const node_fs_1 = require("node:fs");
|
|
14
|
-
class DocumentHandlerRuntimeServiceFactory {
|
|
1
|
+
import { IntegrationApiContext, IntegrationApiFactory, } from "../../integration-api/index.js";
|
|
2
|
+
import { TEST_DATABASE_MOCK_FILE_NAME, TEST_DOCUMENT_HANDLER_FILE_NAME, TEST_FILE_NAME_PREFIX, TEST_ORESTES_MOCK_FILE_NAME, TEST_PACKAGE_JSON, TEST_RUNTIME_FILE_NAME, } from "../context/document-handler-runtime-context.js";
|
|
3
|
+
import DocumentHandlerRuntimeService from "../document-handler-runtime-service.js";
|
|
4
|
+
import { CliServiceFactory } from "../../cli/index.js";
|
|
5
|
+
import RequiredFileNotFoundError from "../error/required-file-not-found-error.js";
|
|
6
|
+
import { DocumentHandlerServer } from "../document-handler-server.js";
|
|
7
|
+
import { BundleServiceFactory } from "../../bundler/index.js";
|
|
8
|
+
import { EntityManagerFactory } from "../../config-api/entity-manager-factory.js";
|
|
9
|
+
import { safe } from "../../../helpers/safe.js";
|
|
10
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
11
|
+
export default class DocumentHandlerRuntimeServiceFactory {
|
|
15
12
|
context;
|
|
16
13
|
cliConfig;
|
|
17
14
|
files;
|
|
@@ -24,27 +21,27 @@ class DocumentHandlerRuntimeServiceFactory {
|
|
|
24
21
|
const integrationApi = this.prepareIntegrationApi();
|
|
25
22
|
const files = await this.getIntegrationFiles(integrationApi);
|
|
26
23
|
this.checkRequiredFiles(files);
|
|
27
|
-
const cliService = new
|
|
24
|
+
const cliService = new CliServiceFactory().getService();
|
|
28
25
|
const customerConfig = this.getCustomerConfig(files);
|
|
29
26
|
this.preparePackageJson(integrationApi, customerConfig);
|
|
30
|
-
return new
|
|
27
|
+
return new DocumentHandlerRuntimeService(files, customerConfig, cliService, { testNames: this.context.testNames || [] });
|
|
31
28
|
}
|
|
32
29
|
async buildDocumentHandlerServer() {
|
|
33
|
-
const integrationApiContext = new
|
|
30
|
+
const integrationApiContext = new IntegrationApiContext(this.context.customerPath, this.context.configName, []);
|
|
34
31
|
const files = this.files ||
|
|
35
|
-
(await new
|
|
32
|
+
(await new IntegrationApiFactory(integrationApiContext, this.cliConfig)
|
|
36
33
|
.buildService()
|
|
37
34
|
.run());
|
|
38
35
|
const customerConfig = this.getCustomerConfig(files);
|
|
39
|
-
const bundler = new
|
|
40
|
-
const cliService = new
|
|
36
|
+
const bundler = new BundleServiceFactory(this.context.customerPath).buildService();
|
|
37
|
+
const cliService = new CliServiceFactory().getService();
|
|
41
38
|
await this.installAdditionalDependencies(customerConfig, cliService);
|
|
42
|
-
const entityManagerResult = await
|
|
43
|
-
return new
|
|
39
|
+
const entityManagerResult = await safe(new EntityManagerFactory().getEntityManager(customerConfig.app));
|
|
40
|
+
return new DocumentHandlerServer(customerConfig, files, bundler, cliService, this.cliConfig.nodeModulesPath, this.context.verboseLevel, entityManagerResult.success ? entityManagerResult.data : null);
|
|
44
41
|
}
|
|
45
42
|
prepareIntegrationApi() {
|
|
46
|
-
const integrationApiContext = new
|
|
47
|
-
return new
|
|
43
|
+
const integrationApiContext = new IntegrationApiContext(this.context.customerPath, this.context.configName, this.context.fileDependencies, [".git", ".idea", "node_modules"]);
|
|
44
|
+
return new IntegrationApiFactory(integrationApiContext, this.cliConfig).buildService();
|
|
48
45
|
}
|
|
49
46
|
async getIntegrationFiles(integrationApi) {
|
|
50
47
|
this.createNeededFolderStructure(integrationApi);
|
|
@@ -55,7 +52,7 @@ class DocumentHandlerRuntimeServiceFactory {
|
|
|
55
52
|
checkRequiredFiles(files) {
|
|
56
53
|
for (const requiredFile of this.context.requiredFiles) {
|
|
57
54
|
if (!files.hasFile(requiredFile)) {
|
|
58
|
-
throw new
|
|
55
|
+
throw new RequiredFileNotFoundError(`file ${requiredFile} not found`);
|
|
59
56
|
}
|
|
60
57
|
}
|
|
61
58
|
}
|
|
@@ -67,33 +64,33 @@ class DocumentHandlerRuntimeServiceFactory {
|
|
|
67
64
|
integrationApi.createFolder(".local/test/tmp/server");
|
|
68
65
|
}
|
|
69
66
|
prepareLocalDocumentHandler(integrationApi) {
|
|
70
|
-
if (!integrationApi.fileExists(`.local/test/src/${
|
|
71
|
-
integrationApi.writeFile(`.local/test/src/${
|
|
67
|
+
if (!integrationApi.fileExists(`.local/test/src/${TEST_DOCUMENT_HANDLER_FILE_NAME}`)) {
|
|
68
|
+
integrationApi.writeFile(`.local/test/src/${TEST_DOCUMENT_HANDLER_FILE_NAME}`);
|
|
72
69
|
}
|
|
73
|
-
if (!integrationApi.fileExists(`.local/test/src/${
|
|
74
|
-
integrationApi.writeFile(`.local/test/src/${
|
|
70
|
+
if (!integrationApi.fileExists(`.local/test/src/${TEST_DATABASE_MOCK_FILE_NAME}`)) {
|
|
71
|
+
integrationApi.writeFile(`.local/test/src/${TEST_DATABASE_MOCK_FILE_NAME}`);
|
|
75
72
|
}
|
|
76
|
-
if (!integrationApi.fileExists(`.local/test/src/${
|
|
77
|
-
integrationApi.writeFile(`.local/test/src/${
|
|
73
|
+
if (!integrationApi.fileExists(`.local/test/src/${TEST_ORESTES_MOCK_FILE_NAME}`)) {
|
|
74
|
+
integrationApi.writeFile(`.local/test/src/${TEST_ORESTES_MOCK_FILE_NAME}`);
|
|
78
75
|
}
|
|
79
|
-
if (!integrationApi.fileExists(`.local/test/src/${
|
|
80
|
-
integrationApi.writeFile(`.local/test/src/${
|
|
76
|
+
if (!integrationApi.fileExists(`.local/test/src/${TEST_RUNTIME_FILE_NAME}`)) {
|
|
77
|
+
integrationApi.writeFile(`.local/test/src/${TEST_RUNTIME_FILE_NAME}`);
|
|
81
78
|
}
|
|
82
|
-
if (!integrationApi.fileExists(`.local/test/src/${
|
|
83
|
-
integrationApi.writeFile(`.local/test/src/${
|
|
79
|
+
if (!integrationApi.fileExists(`.local/test/src/${TEST_PACKAGE_JSON}`, "json")) {
|
|
80
|
+
integrationApi.writeFile(`.local/test/src/${TEST_PACKAGE_JSON}`, "json");
|
|
84
81
|
}
|
|
85
82
|
}
|
|
86
83
|
preparePackageJson(integrationApi, customerConfig) {
|
|
87
84
|
if (customerConfig.dependencies &&
|
|
88
|
-
!integrationApi.fileExists(`.local/test/${
|
|
89
|
-
integrationApi.writeFile(`.local/test/${
|
|
85
|
+
!integrationApi.fileExists(`.local/test/${TEST_PACKAGE_JSON}`, "json")) {
|
|
86
|
+
integrationApi.writeFile(`.local/test/${TEST_PACKAGE_JSON}`, "json");
|
|
90
87
|
}
|
|
91
88
|
}
|
|
92
89
|
prepareTestCases(integrationApi) {
|
|
93
90
|
if (this.context.testNames && this.context.testNames.length > 0) {
|
|
94
91
|
this.context.testNames.map(async (testName) => {
|
|
95
|
-
if (!integrationApi.fileExists(`.local/test/${
|
|
96
|
-
integrationApi.writeFile(`.local/test/${
|
|
92
|
+
if (!integrationApi.fileExists(`.local/test/${TEST_FILE_NAME_PREFIX}-${testName}`)) {
|
|
93
|
+
integrationApi.writeFile(`.local/test/${TEST_FILE_NAME_PREFIX}-${testName}`);
|
|
97
94
|
}
|
|
98
95
|
});
|
|
99
96
|
}
|
|
@@ -109,26 +106,25 @@ class DocumentHandlerRuntimeServiceFactory {
|
|
|
109
106
|
return;
|
|
110
107
|
}
|
|
111
108
|
const nypm = await import("nypm");
|
|
112
|
-
if (!
|
|
113
|
-
|
|
109
|
+
if (!existsSync(workSpace)) {
|
|
110
|
+
mkdirSync(workSpace, { recursive: true });
|
|
114
111
|
}
|
|
115
112
|
cli.write("install additional dependencies");
|
|
116
113
|
for (const packageName in customerConfig.dependencies) {
|
|
117
114
|
const version = customerConfig.dependencies[packageName];
|
|
118
115
|
const dependency = `${packageName}@${version}`;
|
|
119
|
-
cli.startAction(`install ${dependency}`);
|
|
120
|
-
const result = await
|
|
116
|
+
cli.startAction(`ONBOARDING:NPM:INSTALL:${dependency}`, `install ${dependency}`);
|
|
117
|
+
const result = await safe(nypm.addDependency(dependency, {
|
|
121
118
|
cwd: workSpace,
|
|
122
119
|
packageManager: "npm",
|
|
123
120
|
silent: true,
|
|
124
121
|
}));
|
|
125
122
|
if (result.success === true) {
|
|
126
|
-
cli.
|
|
123
|
+
cli.successAction(`ONBOARDING:NPM:INSTALL:${dependency}`);
|
|
127
124
|
continue;
|
|
128
125
|
}
|
|
129
|
-
cli.
|
|
126
|
+
cli.failAction(`ONBOARDING:NPM:INSTALL:${dependency}`);
|
|
130
127
|
cli.writeError(result.error);
|
|
131
128
|
}
|
|
132
129
|
}
|
|
133
130
|
}
|
|
134
|
-
exports.default = DocumentHandlerRuntimeServiceFactory;
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
1
|
+
type TemplateContextInterface = Record<string, string | number | object | boolean>;
|
|
2
|
+
export default TemplateContextInterface;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import TemplateParameter from "./template-parameter-interface";
|
|
2
|
-
import TemplateContextInterface from "./template-context-interface";
|
|
1
|
+
import TemplateParameter from "./template-parameter-interface.js";
|
|
2
|
+
import TemplateContextInterface from "./template-context-interface.js";
|
|
3
3
|
export default interface TemplateInterface {
|
|
4
4
|
_buildContext(...parameters: TemplateParameter[]): TemplateContextInterface;
|
|
5
5
|
render(context: TemplateContextInterface): string;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DocumentHandlerResponse = void 0;
|
|
4
|
-
class DocumentHandlerResponse {
|
|
1
|
+
export class DocumentHandlerResponse {
|
|
5
2
|
headers = {};
|
|
6
3
|
body = "";
|
|
7
4
|
resolve;
|
|
@@ -19,4 +16,3 @@ class DocumentHandlerResponse {
|
|
|
19
16
|
this.resolve(this);
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
|
-
exports.DocumentHandlerResponse = DocumentHandlerResponse;
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
interface query {
|
|
2
2
|
url: string;
|
|
3
3
|
variation: string;
|
|
4
4
|
headers: string;
|
|
5
|
-
}
|
|
5
|
+
}
|
|
6
6
|
export declare class Request {
|
|
7
7
|
query: query;
|
|
8
8
|
body: string;
|
|
9
|
-
headers:
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
constructor(url: string, body: string, variation: string, originalHeaders: {
|
|
13
|
-
[name: string]: string;
|
|
14
|
-
}, requestHeaders?: {
|
|
15
|
-
[name: string]: string;
|
|
16
|
-
});
|
|
9
|
+
headers: Record<string, string>;
|
|
10
|
+
constructor(url: string, body: string, variation: string, originalHeaders: Record<string, string>, requestHeaders?: Record<string, string>);
|
|
17
11
|
get(key: string): string | null;
|
|
18
12
|
header(key: string): string | null;
|
|
19
13
|
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Request = void 0;
|
|
4
|
-
class Request {
|
|
1
|
+
export class Request {
|
|
5
2
|
query;
|
|
6
3
|
body;
|
|
7
4
|
headers;
|
|
@@ -20,4 +17,3 @@ class Request {
|
|
|
20
17
|
return this.get(key);
|
|
21
18
|
}
|
|
22
19
|
}
|
|
23
|
-
exports.Request = Request;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import TemplateInterface from "../interface/template-interface";
|
|
2
|
-
import TemplateParameter from "../interface/template-parameter-interface";
|
|
3
|
-
import TemplateContextInterface from "../interface/template-context-interface";
|
|
1
|
+
import TemplateInterface from "../interface/template-interface.js";
|
|
2
|
+
import TemplateParameter from "../interface/template-parameter-interface.js";
|
|
3
|
+
import TemplateContextInterface from "../interface/template-context-interface.js";
|
|
4
4
|
import { Template } from "handlebars";
|
|
5
5
|
export default abstract class AbstractTemplate implements TemplateInterface {
|
|
6
6
|
_buildContext(...parameters: TemplateParameter[]): TemplateContextInterface;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
|
|
5
|
-
class AbstractTemplate {
|
|
1
|
+
import handlebars from "handlebars";
|
|
2
|
+
export default class AbstractTemplate {
|
|
6
3
|
_buildContext(...parameters) {
|
|
7
4
|
const context = {};
|
|
8
5
|
for (const { key, value } of parameters) {
|
|
@@ -11,8 +8,7 @@ class AbstractTemplate {
|
|
|
11
8
|
return context;
|
|
12
9
|
}
|
|
13
10
|
render(context) {
|
|
14
|
-
const template =
|
|
11
|
+
const template = handlebars.compile(this.getTemplate());
|
|
15
12
|
return template(context);
|
|
16
13
|
}
|
|
17
14
|
}
|
|
18
|
-
exports.default = AbstractTemplate;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import AbstractTemplate from "./abstract-template";
|
|
2
|
-
import TemplateContextInterface from "../interface/template-context-interface";
|
|
1
|
+
import AbstractTemplate from "./abstract-template.js";
|
|
2
|
+
import TemplateContextInterface from "../interface/template-context-interface.js";
|
|
3
3
|
export default class DatabaseMock extends AbstractTemplate {
|
|
4
4
|
buildContext(domain: string, app: string): TemplateContextInterface;
|
|
5
5
|
getTemplate(): string;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 {
|
|
1
|
+
import AbstractTemplate from "./abstract-template.js";
|
|
2
|
+
export default class DatabaseMock extends AbstractTemplate {
|
|
6
3
|
buildContext(domain, app) {
|
|
7
4
|
return { domain, app };
|
|
8
5
|
}
|
|
@@ -114,4 +111,3 @@ module.exports = database
|
|
|
114
111
|
`;
|
|
115
112
|
}
|
|
116
113
|
}
|
|
117
|
-
exports.default = DatabaseMock;
|