@speedkit/cli 3.43.2 → 4.1.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/customer-config/templates/config_documentHandler.js.hbs +88 -1
- 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 +6 -10
- 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,47 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const logging_helper_1 = require("../helpers/logging-helper");
|
|
10
|
-
const cli_parameters_1 = require("../models/cli-parameters");
|
|
11
|
-
const airports = tslib_1.__importStar(require("./airports_iata.json"));
|
|
1
|
+
import { Args, Command, Flags } from "@oclif/core";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import fetch from "node-fetch";
|
|
4
|
+
import * as https from "node:https";
|
|
5
|
+
import { account } from "baqend/cli";
|
|
6
|
+
import { logInfo } from "../helpers/logging-helper.js";
|
|
7
|
+
import { CLIParameters, CLIParametersChar } from "../models/cli-parameters.js";
|
|
8
|
+
import * as airports from "./airports_iata.json" with { type: "json" };
|
|
12
9
|
const agent = new https.Agent({
|
|
13
10
|
rejectUnauthorized: false,
|
|
14
11
|
keepAlive: true,
|
|
15
12
|
});
|
|
16
|
-
class FindPops extends
|
|
13
|
+
export default class FindPops extends Command {
|
|
17
14
|
static description = "Get IPs for all fastly PoPs";
|
|
18
15
|
static args = {
|
|
19
|
-
[
|
|
20
|
-
name:
|
|
16
|
+
[CLIParameters.AppName]: Args.string({
|
|
17
|
+
name: CLIParameters.AppName, // name of arg to show in help and reference with args[name]
|
|
21
18
|
required: true, // make the arg required with `required: true`
|
|
22
19
|
description: "The customers appName", // help description
|
|
23
20
|
hidden: false, // hide this arg from help
|
|
24
21
|
}),
|
|
25
22
|
};
|
|
26
23
|
static flags = {
|
|
27
|
-
[
|
|
24
|
+
[CLIParameters.Ips]: Flags.string({
|
|
28
25
|
default: "151.101.x.194",
|
|
29
|
-
char:
|
|
26
|
+
char: CLIParametersChar.Ips,
|
|
30
27
|
}),
|
|
31
28
|
};
|
|
32
29
|
static examples = [
|
|
33
|
-
`$ sk find-pops <${
|
|
34
|
-
`$ sk find-pops appName -${
|
|
30
|
+
`$ sk find-pops <${CLIParameters.AppName}> -${CLIParametersChar.Ips} <${CLIParameters.Ips}>`,
|
|
31
|
+
`$ sk find-pops appName -${CLIParametersChar.Ips} ips`,
|
|
35
32
|
];
|
|
36
33
|
pops = {};
|
|
37
34
|
async run() {
|
|
38
35
|
const { args: { app }, flags: { ips }, } = await this.parse(FindPops);
|
|
39
|
-
const database = await
|
|
36
|
+
const database = await account.login({ app });
|
|
40
37
|
const ranges = ips.split(",");
|
|
41
38
|
const fetches = [];
|
|
42
39
|
for (const range of ranges) {
|
|
43
40
|
for (let index = 0; index < 255; index++) {
|
|
44
|
-
fetches.push(
|
|
41
|
+
fetches.push(
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
43
|
+
this.getPop(range.replace("x", String(index)), app, database.token));
|
|
45
44
|
}
|
|
46
45
|
}
|
|
47
46
|
const results = await Promise.all(fetches);
|
|
@@ -56,12 +55,12 @@ class FindPops extends core_1.Command {
|
|
|
56
55
|
this.pops[id].push(r.ip);
|
|
57
56
|
}
|
|
58
57
|
}
|
|
59
|
-
|
|
60
|
-
|
|
58
|
+
fs.writeFileSync("pops.json", JSON.stringify(this.pops));
|
|
59
|
+
logInfo("List of POPs was successfully created in pops.json");
|
|
61
60
|
}
|
|
62
61
|
async getPop(ip, app, token) {
|
|
63
62
|
try {
|
|
64
|
-
const resp = await (
|
|
63
|
+
const resp = await fetch(`https://${ip}/`, {
|
|
65
64
|
agent,
|
|
66
65
|
method: "HEAD",
|
|
67
66
|
headers: {
|
|
@@ -83,4 +82,3 @@ class FindPops extends core_1.Command {
|
|
|
83
82
|
}
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
|
-
exports.default = FindPops;
|
|
@@ -3,8 +3,8 @@ export default class GenerateCustomerConfig extends Command {
|
|
|
3
3
|
static description: string;
|
|
4
4
|
static examples: string[];
|
|
5
5
|
static flags: {
|
|
6
|
-
app: import("@oclif/core/
|
|
7
|
-
customersDirectory: import("@oclif/core/
|
|
6
|
+
app: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
customersDirectory: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
8
8
|
};
|
|
9
9
|
run(): Promise<void>;
|
|
10
10
|
}
|
|
@@ -1,29 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const customer_config_1 = require("../services/customer-config");
|
|
6
|
-
class GenerateCustomerConfig extends core_1.Command {
|
|
1
|
+
import { Command, Flags } from "@oclif/core";
|
|
2
|
+
import { CLIParameters, CLIParametersChar, CLIParametersExample, } from "../models/cli-parameters.js";
|
|
3
|
+
import { CustomerConfigServiceContext, CustomerConfigServiceFactory, } from "../services/customer-config/index.js";
|
|
4
|
+
export default class GenerateCustomerConfig extends Command {
|
|
7
5
|
static description = "Generates a customer config guided by a wizard 🧙";
|
|
8
6
|
static examples = [
|
|
9
|
-
`$ sk generate-customer-config -${
|
|
10
|
-
`$ sk generate-customer-config -${
|
|
7
|
+
`$ sk generate-customer-config -${CLIParametersChar.AppName} <${CLIParameters.AppName}> -${CLIParametersChar.CustomersDirectory} <${CLIParameters.CustomersDirectory}>`,
|
|
8
|
+
`$ sk generate-customer-config -${CLIParametersChar.AppName} ${CLIParametersExample.AppName} -${CLIParametersChar.CustomersDirectory} ${CLIParametersExample.CustomersDirectory}`,
|
|
11
9
|
];
|
|
12
10
|
static flags = {
|
|
13
|
-
[
|
|
14
|
-
char:
|
|
11
|
+
[CLIParameters.AppName]: Flags.string({
|
|
12
|
+
char: CLIParametersChar.AppName,
|
|
15
13
|
description: "The SK app name which is also being used the config output directory name (kebab-case)",
|
|
16
14
|
}),
|
|
17
|
-
[
|
|
18
|
-
char:
|
|
19
|
-
description: `Name of the sk-onboarding directory where all customer configs are being stored (default: "${
|
|
15
|
+
[CLIParameters.CustomersDirectory]: Flags.string({
|
|
16
|
+
char: CLIParametersChar.CustomersDirectory,
|
|
17
|
+
description: `Name of the sk-onboarding directory where all customer configs are being stored (default: "${CLIParametersExample.CustomersDirectory}")`,
|
|
20
18
|
}),
|
|
21
19
|
};
|
|
22
20
|
async run() {
|
|
23
21
|
const { flags: { app, customersDirectory }, } = await this.parse(GenerateCustomerConfig);
|
|
24
|
-
const context = new
|
|
25
|
-
const customerConfigService = await new
|
|
22
|
+
const context = new CustomerConfigServiceContext(app, customersDirectory);
|
|
23
|
+
const customerConfigService = await new CustomerConfigServiceFactory(context).buildService();
|
|
26
24
|
await customerConfigService.generateConfig();
|
|
27
25
|
}
|
|
28
26
|
}
|
|
29
|
-
exports.default = GenerateCustomerConfig;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { Command } from "@oclif/core";
|
|
2
2
|
export default class GeneratePopConfig extends Command {
|
|
3
3
|
static args: {
|
|
4
|
-
app: import("@oclif/core/
|
|
4
|
+
app: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
5
5
|
};
|
|
6
6
|
static description: string;
|
|
7
7
|
static examples: string[];
|
|
8
8
|
static flags: {
|
|
9
|
-
coverage: import("@oclif/core/
|
|
10
|
-
deploy: import("@oclif/core/
|
|
11
|
-
"pop-limit": import("@oclif/core/
|
|
12
|
-
"traffic-share": import("@oclif/core/
|
|
13
|
-
"use-rum": import("@oclif/core/
|
|
14
|
-
"force-shield": import("@oclif/core/
|
|
9
|
+
coverage: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
10
|
+
deploy: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
11
|
+
"pop-limit": import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
"traffic-share": import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
"use-rum": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
"force-shield": import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
};
|
|
16
16
|
createPopPrewarmingCode(popConfig: string): Promise<string>;
|
|
17
17
|
deployPrewarmingConfig(app: string, config: string, deploy: boolean | undefined): Promise<void>;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const cli_config_1 = require("../helpers/cli-config");
|
|
1
|
+
import { Args, Command, Flags } from "@oclif/core";
|
|
2
|
+
import { account } from "baqend/cli";
|
|
3
|
+
import { readLocalFile } from "../helpers/file-helper.js";
|
|
4
|
+
import { CLIParameters } from "../models/cli-parameters.js";
|
|
5
|
+
import { CliServiceFactory } from "../services/cli/index.js";
|
|
6
|
+
import ConfigApiService from "../services/config-api-service.js";
|
|
7
|
+
import { PopConfigFactory, } from "../services/pop-config/index.js";
|
|
8
|
+
import { DiffContext, DiffServiceFactory } from "../services/diff/index.js";
|
|
9
|
+
import { CliConfig } from "../helpers/cli-config.js";
|
|
10
|
+
import path from "node:path";
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
13
12
|
const POP_REMAPPING = {
|
|
14
13
|
HHN: "FRA",
|
|
15
14
|
};
|
|
@@ -70,69 +69,70 @@ const percentageFormatter = new Intl.NumberFormat("en-US", {
|
|
|
70
69
|
minimumFractionDigits: 1,
|
|
71
70
|
style: "percent",
|
|
72
71
|
});
|
|
73
|
-
class GeneratePopConfig extends
|
|
72
|
+
export default class GeneratePopConfig extends Command {
|
|
74
73
|
static args = {
|
|
75
|
-
[
|
|
74
|
+
[CLIParameters.AppName]: Args.string({
|
|
76
75
|
description: "The customers appName", // help description
|
|
77
76
|
hidden: false, // hide this arg from help
|
|
78
|
-
name:
|
|
77
|
+
name: CLIParameters.AppName, // name of arg to show in help and reference with args[name]
|
|
79
78
|
required: true, // make the arg required with `required: true`
|
|
80
79
|
}),
|
|
81
80
|
};
|
|
82
81
|
static description = "Generate a pop config for the given app";
|
|
83
82
|
static examples = [
|
|
84
|
-
`$ sk generate-pop-config <${
|
|
85
|
-
`$ sk generate-pop-config --use-rum <${
|
|
83
|
+
`$ sk generate-pop-config <${CLIParameters.AppName}>`,
|
|
84
|
+
`$ sk generate-pop-config --use-rum <${CLIParameters.AppName}>`,
|
|
86
85
|
"$ sk generate-pop-config --coverage 95 appName",
|
|
87
86
|
"$ sk generate-pop-config --no-deploy appName",
|
|
88
87
|
"$ sk generate-pop-config --deploy appName",
|
|
89
88
|
"$ sk generate-pop-config --coverage 95 --pop-limit 6 --traffic-share 2 --deploy appName",
|
|
90
89
|
];
|
|
91
90
|
static flags = {
|
|
92
|
-
coverage:
|
|
91
|
+
coverage: Flags.integer({
|
|
93
92
|
char: "c",
|
|
94
93
|
default: 95,
|
|
95
94
|
description: "The percentage of traffic which should be covered through prewarming.",
|
|
96
95
|
}),
|
|
97
|
-
deploy:
|
|
96
|
+
deploy: Flags.boolean({
|
|
98
97
|
allowNo: true,
|
|
99
98
|
char: "d",
|
|
100
99
|
description: "Default it diffs with the deployed config and ask for deployment. If the flag is passed deployment will be skipped or forced.",
|
|
101
100
|
}),
|
|
102
|
-
"pop-limit":
|
|
101
|
+
"pop-limit": Flags.integer({
|
|
103
102
|
char: "p",
|
|
104
103
|
default: 5,
|
|
105
104
|
description: "The maximal pop count which should prewarmed.",
|
|
106
105
|
}),
|
|
107
|
-
"traffic-share":
|
|
106
|
+
"traffic-share": Flags.integer({
|
|
108
107
|
char: "t",
|
|
109
108
|
default: 5,
|
|
110
109
|
description: "The minimum traffic share in percent a pop must have to be actually prewarmed.",
|
|
111
110
|
}),
|
|
112
|
-
"use-rum":
|
|
111
|
+
"use-rum": Flags.boolean({
|
|
113
112
|
char: "r",
|
|
114
113
|
default: false,
|
|
115
114
|
description: "Compute the pop statistics based on RUM. Otherwise the real Speed Kit traffic is used.",
|
|
116
115
|
}),
|
|
117
|
-
"force-shield":
|
|
116
|
+
"force-shield": Flags.boolean({
|
|
118
117
|
char: "s",
|
|
119
118
|
default: false,
|
|
120
119
|
description: "Force a shield based prewarming config.",
|
|
121
120
|
}),
|
|
122
121
|
};
|
|
123
122
|
async createPopPrewarmingCode(popConfig) {
|
|
124
|
-
const
|
|
125
|
-
const
|
|
123
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
124
|
+
const revalidationTemplate = await readLocalFile(__dirname, "../templates/speedKit.Revalidated.js");
|
|
125
|
+
const pops = await readLocalFile(__dirname, "../templates/pops.js");
|
|
126
126
|
popConfig = pops + popConfig;
|
|
127
127
|
return revalidationTemplate.replace("{{config}}", popConfig);
|
|
128
128
|
}
|
|
129
129
|
async deployPrewarmingConfig(app, config, deploy) {
|
|
130
130
|
const moduleName = "speedKit.Revalidated";
|
|
131
|
-
const database = await
|
|
132
|
-
const configService = new
|
|
133
|
-
const cliService = new
|
|
134
|
-
const userConfig = new
|
|
135
|
-
const diffService = new
|
|
131
|
+
const database = await account.login({ app });
|
|
132
|
+
const configService = new ConfigApiService(database, app);
|
|
133
|
+
const cliService = new CliServiceFactory().getService();
|
|
134
|
+
const userConfig = new CliConfig(this.config).load();
|
|
135
|
+
const diffService = new DiffServiceFactory(new DiffContext(userConfig.diffExec, userConfig.diffExecTemplate)).getService();
|
|
136
136
|
// new DiffService(cliService);
|
|
137
137
|
const popPrewarmingCode = await this.createPopPrewarmingCode(config);
|
|
138
138
|
const remoteConfig = await configService.getRemoteModule(moduleName);
|
|
@@ -152,7 +152,7 @@ class GeneratePopConfig extends core_1.Command {
|
|
|
152
152
|
async run() {
|
|
153
153
|
const { args: { app }, flags: { coverage, deploy, "pop-limit": popLimit, "traffic-share": minimalShare, "use-rum": useRum, "force-shield": forceShield, }, } = await this.parse(GeneratePopConfig);
|
|
154
154
|
// @todo refactor businessCode from this command to src/pop-config/pop-config-service
|
|
155
|
-
const popConfigService = await new
|
|
155
|
+
const popConfigService = await new PopConfigFactory().getService();
|
|
156
156
|
const result = await popConfigService.getUsedPopsPerOrigin(app, useRum);
|
|
157
157
|
const originStats = this.generateOriginStats(result)
|
|
158
158
|
.filter((stats) => {
|
|
@@ -209,7 +209,6 @@ class GeneratePopConfig extends core_1.Command {
|
|
|
209
209
|
for (const { hits, origin, pop: givenPop, region } of result) {
|
|
210
210
|
const pop = POP_REMAPPING[givenPop] ?? givenPop;
|
|
211
211
|
const shieldInfo = this.getShieldInfo(region, pop);
|
|
212
|
-
// eslint-disable-next-line no-multi-assign
|
|
213
212
|
const stats = (originStats[origin] = originStats[origin] ?? {
|
|
214
213
|
hits: 0,
|
|
215
214
|
origin,
|
|
@@ -218,16 +217,13 @@ class GeneratePopConfig extends core_1.Command {
|
|
|
218
217
|
shields: {},
|
|
219
218
|
});
|
|
220
219
|
stats.hits += hits;
|
|
221
|
-
// eslint-disable-next-line no-multi-assign
|
|
222
220
|
const regionStats = (stats.regions[region] = stats.regions[region] ?? {
|
|
223
221
|
hits: 0,
|
|
224
222
|
region,
|
|
225
223
|
});
|
|
226
224
|
regionStats.hits += hits;
|
|
227
|
-
// eslint-disable-next-line no-multi-assign
|
|
228
225
|
const shieldStats = (stats.shields[shieldInfo.shield] = stats.shields[shieldInfo.shield] ?? { ...shieldInfo, hits: 0 });
|
|
229
226
|
shieldStats.hits += hits;
|
|
230
|
-
// eslint-disable-next-line no-multi-assign
|
|
231
227
|
const popStats = (stats.pops[pop] = stats.pops[pop] ?? {
|
|
232
228
|
hits: 0,
|
|
233
229
|
pop,
|
|
@@ -280,10 +276,7 @@ const ORIGIN_POPS = ${serializedConfig}`;
|
|
|
280
276
|
shieldCoverage += shieldStats.share;
|
|
281
277
|
let { pop } = shieldStats;
|
|
282
278
|
// We try to use the top edge pop of the shield, if that pop still has enough traffic
|
|
283
|
-
const bestEdgePopOfShield = originStat.pops.find((popStats) =>
|
|
284
|
-
// eslint-disable-next-line eqeqeq
|
|
285
|
-
popStats.shield == pop &&
|
|
286
|
-
// eslint-disable-next-line eqeqeq
|
|
279
|
+
const bestEdgePopOfShield = originStat.pops.find((popStats) => popStats.shield == pop &&
|
|
287
280
|
popStats.pop != pop &&
|
|
288
281
|
popStats.share > minimalShare);
|
|
289
282
|
if (bestEdgePopOfShield) {
|
|
@@ -298,7 +291,6 @@ const ORIGIN_POPS = ${serializedConfig}`;
|
|
|
298
291
|
if (pops.length < popLimit && // when the shield pre warming list is short, we can add additional big traffic pops
|
|
299
292
|
pop.share > minimalShare &&
|
|
300
293
|
!pops.includes(pop.pop) &&
|
|
301
|
-
// eslint-disable-next-line eqeqeq
|
|
302
294
|
pop.shield != pop.pop) {
|
|
303
295
|
pops.push(pop.pop);
|
|
304
296
|
edgeCoverage += pop.share;
|
|
@@ -363,4 +355,3 @@ const ORIGIN_POPS = ${serializedConfig}`;
|
|
|
363
355
|
}
|
|
364
356
|
}
|
|
365
357
|
}
|
|
366
|
-
exports.default = GeneratePopConfig;
|
package/dist/commands/login.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Command } from "@oclif/core";
|
|
|
2
2
|
export default class Login extends Command {
|
|
3
3
|
static description: string;
|
|
4
4
|
static args: {
|
|
5
|
-
app: import("@oclif/core/
|
|
5
|
+
app: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
6
|
};
|
|
7
7
|
static examples: string[];
|
|
8
8
|
run(): Promise<void>;
|
package/dist/commands/login.js
CHANGED
|
@@ -1,36 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const node_fs_1 = require("node:fs");
|
|
8
|
-
const node_path_1 = tslib_1.__importDefault(require("node:path"));
|
|
9
|
-
class Login extends core_1.Command {
|
|
1
|
+
import { Args, Command } from "@oclif/core";
|
|
2
|
+
import { account } from "baqend/cli";
|
|
3
|
+
import { CLIParameters } from "../models/cli-parameters.js";
|
|
4
|
+
import { existsSync, writeFileSync } from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
export default class Login extends Command {
|
|
10
7
|
static description = "Login to your app";
|
|
11
8
|
static args = {
|
|
12
|
-
[
|
|
13
|
-
name:
|
|
9
|
+
[CLIParameters.AppName]: Args.string({
|
|
10
|
+
name: CLIParameters.AppName, // name of arg to show in help and reference with args[name]
|
|
14
11
|
required: false,
|
|
15
12
|
default: "bbq",
|
|
16
13
|
description: "The customers appName", // help description
|
|
17
14
|
}),
|
|
18
15
|
};
|
|
19
16
|
static examples = [
|
|
20
|
-
`$ sk login <${
|
|
17
|
+
`$ sk login <${CLIParameters.AppName}>`,
|
|
21
18
|
"$ sk login appName",
|
|
22
19
|
];
|
|
23
20
|
async run() {
|
|
24
21
|
const parsedLogin = await this.parse(Login);
|
|
25
22
|
const { app } = parsedLogin.args;
|
|
26
23
|
this.createLoginTokenFileIfNotExists();
|
|
27
|
-
await
|
|
24
|
+
await account.persistLogin({ app });
|
|
28
25
|
}
|
|
29
26
|
createLoginTokenFileIfNotExists() {
|
|
30
|
-
if (!
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
if (!existsSync(path.resolve(this.config.home, ".baqend"))) {
|
|
28
|
+
writeFileSync(path.resolve(this.config.home, ".baqend"), "{}");
|
|
29
|
+
writeFileSync("~/.baqend", "{}");
|
|
33
30
|
}
|
|
34
31
|
}
|
|
35
32
|
}
|
|
36
|
-
exports.default = Login;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
import { Command } from "@oclif/core";
|
|
2
2
|
export default class Onboarding extends Command {
|
|
3
3
|
static description: string;
|
|
4
|
-
static flags:
|
|
5
|
-
[flag: string]: any;
|
|
6
|
-
}>;
|
|
4
|
+
static flags: Record<string, Command.Flag>;
|
|
7
5
|
static args: {
|
|
8
|
-
customerPath: import("@oclif/core/
|
|
9
|
-
exists?: boolean
|
|
6
|
+
customerPath: import("@oclif/core/interfaces").Arg<string, {
|
|
7
|
+
exists?: boolean;
|
|
10
8
|
}>;
|
|
11
9
|
};
|
|
12
10
|
static examples: string[];
|
|
@@ -1,21 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const cli_config_1 = require("../helpers/cli-config");
|
|
7
|
-
class Onboarding extends core_1.Command {
|
|
1
|
+
import { Command } from "@oclif/core";
|
|
2
|
+
import { CLI_CUSTOMER_CONFIG, CLIParameters, CLIParametersExample, CLIParametersChar, } from "../models/cli-parameters.js";
|
|
3
|
+
import { OnboardingContext, OnboardingServiceFactory, } from "../services/onboarding/index.js";
|
|
4
|
+
import { CliConfig } from "../helpers/cli-config.js";
|
|
5
|
+
export default class Onboarding extends Command {
|
|
8
6
|
static description = "Start a local dev environment for building and testing the Speed Kit configuration";
|
|
9
|
-
static flags =
|
|
10
|
-
static args =
|
|
7
|
+
static flags = OnboardingContext.flags;
|
|
8
|
+
static args = CLI_CUSTOMER_CONFIG;
|
|
11
9
|
static examples = [
|
|
12
|
-
`$ sk onboarding <${
|
|
13
|
-
`$ sk onboarding ${
|
|
10
|
+
`$ sk onboarding <${CLIParameters.CustomerPath}> -${CLIParametersChar.ConfigName} <${CLIParameters.ConfigName}> -${CLIParametersChar.Domain} <${CLIParameters.Domain}>`,
|
|
11
|
+
`$ sk onboarding ${CLIParametersExample.CustomerPath} -${CLIParametersChar.ConfigName} ${CLIParametersExample.ConfigName} -${CLIParametersChar.Domain} ${CLIParametersExample.Domain}`,
|
|
14
12
|
];
|
|
15
13
|
async run() {
|
|
16
14
|
const { args: { customerPath }, flags: { configName, domain, local, verboseLevel, ignoreContentSecurityPolicy, useTestConfig, debuggingPort, headless, }, } = await this.parse(Onboarding);
|
|
17
|
-
const service = await new
|
|
15
|
+
const service = await new OnboardingServiceFactory(new OnboardingContext(customerPath, configName, domain, local, ignoreContentSecurityPolicy, this.config.root, verboseLevel, useTestConfig, debuggingPort, headless), new CliConfig(this.config).load(customerPath)).getService();
|
|
18
16
|
await service.run();
|
|
19
17
|
}
|
|
20
18
|
}
|
|
21
|
-
exports.default = Onboarding;
|
|
@@ -2,18 +2,18 @@ import { Command } from "@oclif/core";
|
|
|
2
2
|
export default class Prewarm extends Command {
|
|
3
3
|
static description: string;
|
|
4
4
|
static args: {
|
|
5
|
-
app: import("@oclif/core/
|
|
6
|
-
path: import("@oclif/core/
|
|
7
|
-
exists?: boolean
|
|
5
|
+
app: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
6
|
+
path: import("@oclif/core/interfaces").Arg<string, {
|
|
7
|
+
exists?: boolean;
|
|
8
8
|
}>;
|
|
9
9
|
};
|
|
10
10
|
static flags: {
|
|
11
|
-
variation: import("@oclif/core/
|
|
12
|
-
variationPath: import("@oclif/core/
|
|
13
|
-
keepParameterSorting: import("@oclif/core/
|
|
14
|
-
quiet: import("@oclif/core/
|
|
15
|
-
verbose: import("@oclif/core/
|
|
16
|
-
delay: import("@oclif/core/
|
|
11
|
+
variation: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
12
|
+
variationPath: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
13
|
+
keepParameterSorting: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
quiet: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
15
|
+
verbose: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
delay: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
|
|
17
17
|
};
|
|
18
18
|
static examples: string[];
|
|
19
19
|
run(): Promise<void>;
|
package/dist/commands/prewarm.js
CHANGED
|
@@ -1,47 +1,45 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const prewarm_1 = require("../services/prewarm");
|
|
6
|
-
class Prewarm extends core_1.Command {
|
|
1
|
+
import { Args, Command, Flags } from "@oclif/core";
|
|
2
|
+
import { CLIParameters, CLIParametersChar, CLIParametersExample, } from "../models/cli-parameters.js";
|
|
3
|
+
import { PreWarmContext, PreWarmFactory } from "../services/prewarm/index.js";
|
|
4
|
+
export default class Prewarm extends Command {
|
|
7
5
|
static description = "Pre-warm Fastly";
|
|
8
6
|
static args = {
|
|
9
|
-
[
|
|
10
|
-
name:
|
|
7
|
+
[CLIParameters.AppName]: Args.string({
|
|
8
|
+
name: CLIParameters.AppName, // name of arg to show in help and reference with args[name]
|
|
11
9
|
required: true, // make the arg required with `required: true`
|
|
12
10
|
description: "The customer app name", // help description
|
|
13
11
|
}),
|
|
14
|
-
[
|
|
15
|
-
name:
|
|
12
|
+
[CLIParameters.Path]: Args.file({
|
|
13
|
+
name: CLIParameters.Path, // name of arg to show in help and reference with args[name]
|
|
16
14
|
required: true, // make the arg required with `required: true`
|
|
17
15
|
description: "path to prewarmFile.csv", // help description
|
|
18
16
|
}),
|
|
19
17
|
};
|
|
20
18
|
static flags = {
|
|
21
|
-
[
|
|
22
|
-
char:
|
|
19
|
+
[CLIParameters.Variation]: Flags.string({
|
|
20
|
+
char: CLIParametersChar.Variation,
|
|
23
21
|
default: "default",
|
|
24
22
|
}),
|
|
25
|
-
[
|
|
26
|
-
char:
|
|
27
|
-
exclusive: [
|
|
23
|
+
[CLIParameters.VariationPath]: Flags.file({
|
|
24
|
+
char: CLIParametersChar.VariationPath,
|
|
25
|
+
exclusive: [CLIParameters.Variation],
|
|
28
26
|
description: "path to variations.csv",
|
|
29
27
|
}),
|
|
30
|
-
[
|
|
31
|
-
char:
|
|
28
|
+
[CLIParameters.KeepParameterSorting]: Flags.boolean({
|
|
29
|
+
char: CLIParametersChar.KeepParameterSorting,
|
|
32
30
|
default: false,
|
|
33
31
|
description: "Prevents alphabetical sorting of the URL parameters",
|
|
34
32
|
}),
|
|
35
|
-
[
|
|
36
|
-
char:
|
|
33
|
+
[CLIParameters.Quiet]: Flags.boolean({
|
|
34
|
+
char: CLIParametersChar.Quiet,
|
|
37
35
|
default: false,
|
|
38
36
|
description: "less output non interactive",
|
|
39
37
|
}),
|
|
40
|
-
[
|
|
38
|
+
[CLIParameters.Verbose]: Flags.boolean({
|
|
41
39
|
default: false,
|
|
42
40
|
description: "Log information about failed requests",
|
|
43
41
|
}),
|
|
44
|
-
["delay"]:
|
|
42
|
+
["delay"]: Flags.integer({
|
|
45
43
|
char: "d",
|
|
46
44
|
description: "Request delay in ms (deprecated)",
|
|
47
45
|
deprecated: true,
|
|
@@ -49,19 +47,18 @@ class Prewarm extends core_1.Command {
|
|
|
49
47
|
};
|
|
50
48
|
static examples = [
|
|
51
49
|
"for a single variation:",
|
|
52
|
-
`$ sk prewarm <${
|
|
53
|
-
`$ sk prewarm ${
|
|
50
|
+
`$ sk prewarm <${CLIParameters.AppName}> <${CLIParameters.Path}> -${CLIParametersChar.Variation} <${CLIParameters.Variation}> -${CLIParametersChar.KeepParameterSorting}`,
|
|
51
|
+
`$ sk prewarm ${CLIParametersExample.AppName} ${CLIParametersExample.Path} -${CLIParametersChar.Variation} ${CLIParametersExample.Variation} -${CLIParametersChar.KeepParameterSorting}`,
|
|
54
52
|
"",
|
|
55
53
|
"for a list of variations:",
|
|
56
|
-
`$ sk prewarm <${
|
|
57
|
-
`$ sk prewarm ${
|
|
58
|
-
`$ sk prewarm ${
|
|
54
|
+
`$ sk prewarm <${CLIParameters.AppName}> <${CLIParameters.Path}> -${CLIParametersChar.Path} <${CLIParameters.VariationPath}> -${CLIParametersChar.KeepParameterSorting}`,
|
|
55
|
+
`$ sk prewarm ${CLIParametersExample.AppName} ${CLIParametersExample.Path} -${CLIParametersChar.Variation} ${CLIParametersExample.Variations} -${CLIParametersChar.KeepParameterSorting}`,
|
|
56
|
+
`$ sk prewarm ${CLIParametersExample.AppName} ${CLIParametersExample.Path} -${CLIParametersChar.Path} ${CLIParametersExample.VariationPath} -${CLIParametersChar.KeepParameterSorting}`,
|
|
59
57
|
];
|
|
60
58
|
async run() {
|
|
61
59
|
const { args: { app, path }, flags: { variation, variationPath, keepParameterSorting, quiet, verbose }, } = await this.parse(Prewarm);
|
|
62
60
|
const sortParameters = !keepParameterSorting;
|
|
63
|
-
const service = await new
|
|
61
|
+
const service = await new PreWarmFactory(new PreWarmContext(app, path, variation, variationPath, sortParameters, quiet, verbose)).getService();
|
|
64
62
|
await service.run();
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
|
-
exports.default = Prewarm;
|
package/dist/commands/pull.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ import { Command } from "@oclif/core";
|
|
|
2
2
|
export default class Pull extends Command {
|
|
3
3
|
static description: string;
|
|
4
4
|
static args: {
|
|
5
|
-
customerPath: import("@oclif/core/
|
|
6
|
-
exists?: boolean
|
|
5
|
+
customerPath: import("@oclif/core/interfaces").Arg<string, {
|
|
6
|
+
exists?: boolean;
|
|
7
7
|
}>;
|
|
8
8
|
};
|
|
9
9
|
static flags: {
|
|
10
|
-
configName: import("@oclif/core/
|
|
10
|
+
configName: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
11
|
};
|
|
12
12
|
static examples: string[];
|
|
13
13
|
run(): Promise<void>;
|