checkly 9.5.0 → 10.0.0-prerelease-4f88d60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/bin/launch.cjs +12 -0
- package/dist/ai-context/context.js +1 -0
- package/dist/ai-context/context.js.map +1 -1
- package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +2 -2
- package/dist/ai-context/public-skills/checkly/SKILL.md +34 -5
- package/dist/ai-context/skills-command/references/communicate.md +8 -5
- package/dist/ai-context/skills-command/references/configure-api-checks.md +1 -9
- package/dist/ai-context/skills-command/references/configure-browser-checks.md +1 -8
- package/dist/ai-context/skills-command/references/configure-check-groups.md +1 -0
- package/dist/ai-context/skills-command/references/configure-dns-monitors.md +1 -9
- package/dist/ai-context/skills-command/references/configure-grpc-monitors.md +24 -0
- package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +1 -9
- package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +1 -9
- package/dist/ai-context/skills-command/references/configure-multistep-checks.md +1 -9
- package/dist/ai-context/skills-command/references/configure-playwright-checks.md +2 -2
- package/dist/ai-context/skills-command/references/configure-supporting-constructs.md +6 -2
- package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +1 -10
- package/dist/ai-context/skills-command/references/configure-url-monitors.md +1 -10
- package/dist/ai-context/skills-command/references/configure.md +17 -5
- package/dist/ai-context/skills-command/references/initialize.md +11 -3
- package/dist/ai-context/skills-command/references/investigate-checks.md +1 -1
- package/dist/auth/api-key.d.ts +24 -0
- package/dist/auth/api-key.js +104 -0
- package/dist/auth/api-key.js.map +1 -0
- package/dist/auth/device-flow.d.ts +58 -0
- package/dist/auth/device-flow.js +228 -0
- package/dist/auth/device-flow.js.map +1 -0
- package/dist/auth/index.d.ts +6 -6
- package/dist/auth/index.js +64 -64
- package/dist/auth/index.js.map +1 -1
- package/dist/commands/account/plan.js +1 -1
- package/dist/commands/account/plan.js.map +1 -1
- package/dist/commands/account/usage/projections.d.ts +16 -0
- package/dist/commands/account/usage/projections.js +40 -0
- package/dist/commands/account/usage/projections.js.map +1 -0
- package/dist/commands/account/usage/series.d.ts +7 -3
- package/dist/commands/account/usage/series.js +30 -87
- package/dist/commands/account/usage/series.js.map +1 -1
- package/dist/commands/account/usage/summary.d.ts +4 -1
- package/dist/commands/account/usage/summary.js +19 -27
- package/dist/commands/account/usage/summary.js.map +1 -1
- package/dist/commands/account/usage/term.d.ts +15 -0
- package/dist/commands/account/usage/term.js +32 -0
- package/dist/commands/account/usage/term.js.map +1 -0
- package/dist/commands/account/usage/terms.d.ts +4 -0
- package/dist/commands/account/usage/terms.js +19 -27
- package/dist/commands/account/usage/terms.js.map +1 -1
- package/dist/commands/alert-channels/get.js +2 -1
- package/dist/commands/alert-channels/get.js.map +1 -1
- package/dist/commands/alert-channels/list.js +2 -1
- package/dist/commands/alert-channels/list.js.map +1 -1
- package/dist/commands/alert-channels/logs.js +2 -1
- package/dist/commands/alert-channels/logs.js.map +1 -1
- package/dist/commands/api.js +53 -10
- package/dist/commands/api.js.map +1 -1
- package/dist/commands/assets/download.js +11 -7
- package/dist/commands/assets/download.js.map +1 -1
- package/dist/commands/assets/list.js +2 -3
- package/dist/commands/assets/list.js.map +1 -1
- package/dist/commands/authCommand.d.ts +19 -0
- package/dist/commands/authCommand.js +118 -12
- package/dist/commands/authCommand.js.map +1 -1
- package/dist/commands/baseCommand.d.ts +12 -1
- package/dist/commands/baseCommand.js +24 -5
- package/dist/commands/baseCommand.js.map +1 -1
- package/dist/commands/checks/delete.js +1 -1
- package/dist/commands/checks/delete.js.map +1 -1
- package/dist/commands/checks/run.js +3 -1
- package/dist/commands/checks/run.js.map +1 -1
- package/dist/commands/debug/parse-project.d.ts +1 -0
- package/dist/commands/debug/parse-project.js +5 -2
- package/dist/commands/debug/parse-project.js.map +1 -1
- package/dist/commands/deploy.d.ts +8 -2
- package/dist/commands/deploy.js +735 -274
- package/dist/commands/deploy.js.map +1 -1
- package/dist/commands/destroy.js +3 -3
- package/dist/commands/destroy.js.map +1 -1
- package/dist/commands/env/add.js +2 -2
- package/dist/commands/env/add.js.map +1 -1
- package/dist/commands/env/ls.js +2 -1
- package/dist/commands/env/ls.js.map +1 -1
- package/dist/commands/env/pull.js +3 -3
- package/dist/commands/env/pull.js.map +1 -1
- package/dist/commands/env/update.js +2 -2
- package/dist/commands/env/update.js.map +1 -1
- package/dist/commands/import/apply.js +12 -10
- package/dist/commands/import/apply.js.map +1 -1
- package/dist/commands/import/cancel.js +4 -4
- package/dist/commands/import/cancel.js.map +1 -1
- package/dist/commands/import/commit.js +11 -9
- package/dist/commands/import/commit.js.map +1 -1
- package/dist/commands/import/plan.js +82 -62
- package/dist/commands/import/plan.js.map +1 -1
- package/dist/commands/init.d.ts +2 -0
- package/dist/commands/init.js +62 -41
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts +38 -2
- package/dist/commands/login.js +848 -52
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.js +10 -4
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/pw-test.js +6 -3
- package/dist/commands/pw-test.js.map +1 -1
- package/dist/commands/rca/get.js +1 -1
- package/dist/commands/rca/get.js.map +1 -1
- package/dist/commands/rca/run.js +1 -1
- package/dist/commands/rca/run.js.map +1 -1
- package/dist/commands/skills/index.js +1 -1
- package/dist/commands/skills/index.js.map +1 -1
- package/dist/commands/skills/install.js +12 -12
- package/dist/commands/skills/install.js.map +1 -1
- package/dist/commands/switch.d.ts +10 -1
- package/dist/commands/switch.js +75 -13
- package/dist/commands/switch.js.map +1 -1
- package/dist/commands/sync-playwright.js +5 -10
- package/dist/commands/sync-playwright.js.map +1 -1
- package/dist/commands/test.d.ts +2 -0
- package/dist/commands/test.js +58 -29
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/trigger.d.ts +1 -2
- package/dist/commands/trigger.js +27 -20
- package/dist/commands/trigger.js.map +1 -1
- package/dist/commands/validate.js +1 -0
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/whoami.d.ts +8 -0
- package/dist/commands/whoami.js +57 -6
- package/dist/commands/whoami.js.map +1 -1
- package/dist/constants.d.ts +3 -2
- package/dist/constants.js +8 -1
- package/dist/constants.js.map +1 -1
- package/dist/constructs/alert-channel-codegen.d.ts +6 -1
- package/dist/constructs/alert-channel-codegen.js +12 -6
- package/dist/constructs/alert-channel-codegen.js.map +1 -1
- package/dist/constructs/alert-channel-subscription.d.ts +1 -0
- package/dist/constructs/alert-channel-subscription.js +4 -0
- package/dist/constructs/alert-channel-subscription.js.map +1 -1
- package/dist/constructs/alert-channel.js +8 -5
- package/dist/constructs/alert-channel.js.map +1 -1
- package/dist/constructs/alert-escalation-policy-codegen.d.ts +7 -0
- package/dist/constructs/alert-escalation-policy-codegen.js +25 -8
- package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -1
- package/dist/constructs/api-assertion.d.ts +0 -2
- package/dist/constructs/api-assertion.js +0 -4
- package/dist/constructs/api-assertion.js.map +1 -1
- package/dist/constructs/api-check-bundle.d.ts +4 -124
- package/dist/constructs/api-check-codegen.js +1 -1
- package/dist/constructs/api-check-codegen.js.map +1 -1
- package/dist/constructs/api-check.d.ts +8 -128
- package/dist/constructs/api-check.js +15 -17
- package/dist/constructs/api-check.js.map +1 -1
- package/dist/constructs/api-request-codegen.js +10 -8
- package/dist/constructs/api-request-codegen.js.map +1 -1
- package/dist/constructs/browser-check-bundle.d.ts +11 -125
- package/dist/constructs/browser-check-bundle.js +5 -1
- package/dist/constructs/browser-check-bundle.js.map +1 -1
- package/dist/constructs/browser-check.d.ts +5 -107
- package/dist/constructs/browser-check.js +1 -1
- package/dist/constructs/browser-check.js.map +1 -1
- package/dist/constructs/check-codegen.d.ts +46 -14
- package/dist/constructs/check-codegen.js +118 -34
- package/dist/constructs/check-codegen.js.map +1 -1
- package/dist/constructs/check-group-codegen.js +23 -9
- package/dist/constructs/check-group-codegen.js.map +1 -1
- package/dist/constructs/check-group-v1.d.ts +28 -16
- package/dist/constructs/check-group-v1.js +48 -17
- package/dist/constructs/check-group-v1.js.map +1 -1
- package/dist/constructs/check-group-v2.d.ts +2 -21
- package/dist/constructs/check-group-v2.js +4 -4
- package/dist/constructs/check-group-v2.js.map +1 -1
- package/dist/constructs/check.d.ts +68 -220
- package/dist/constructs/check.js +106 -37
- package/dist/constructs/check.js.map +1 -1
- package/dist/constructs/construct-codegen.d.ts +1 -2
- package/dist/constructs/construct-diagnostics.d.ts +3 -0
- package/dist/constructs/construct-diagnostics.js +11 -0
- package/dist/constructs/construct-diagnostics.js.map +1 -1
- package/dist/constructs/construct.d.ts +30 -4
- package/dist/constructs/construct.js +52 -6
- package/dist/constructs/construct.js.map +1 -1
- package/dist/constructs/dashboard.js +11 -7
- package/dist/constructs/dashboard.js.map +1 -1
- package/dist/constructs/dns-monitor.d.ts +4 -100
- package/dist/constructs/dns-request-codegen.js +1 -1
- package/dist/constructs/dns-request-codegen.js.map +1 -1
- package/dist/constructs/email-alert-channel-codegen.js +1 -1
- package/dist/constructs/email-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/engine.d.ts +4 -2
- package/dist/constructs/engine.js +3 -1
- package/dist/constructs/engine.js.map +1 -1
- package/dist/constructs/frequency-codegen.js +10 -2
- package/dist/constructs/frequency-codegen.js.map +1 -1
- package/dist/constructs/frequency.d.ts +8 -3
- package/dist/constructs/frequency.js +7 -2
- package/dist/constructs/frequency.js.map +1 -1
- package/dist/constructs/grpc-monitor.d.ts +4 -100
- package/dist/constructs/grpc-monitor.js +19 -0
- package/dist/constructs/grpc-monitor.js.map +1 -1
- package/dist/constructs/grpc-request-codegen.js +13 -4
- package/dist/constructs/grpc-request-codegen.js.map +1 -1
- package/dist/constructs/grpc-request.d.ts +23 -0
- package/dist/constructs/heartbeat-monitor.d.ts +2 -1
- package/dist/constructs/heartbeat-monitor.js +2 -2
- package/dist/constructs/heartbeat-monitor.js.map +1 -1
- package/dist/constructs/icmp-monitor.d.ts +4 -100
- package/dist/constructs/icmp-request-codegen.js +1 -1
- package/dist/constructs/icmp-request-codegen.js.map +1 -1
- package/dist/constructs/incidentio-alert-channel-codegen.d.ts +1 -1
- package/dist/constructs/incidentio-alert-channel-codegen.js +14 -8
- package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/index.d.ts +1 -1
- package/dist/constructs/index.js +1 -1
- package/dist/constructs/index.js.map +1 -1
- package/dist/constructs/internal/assertion-validation.js +1 -2
- package/dist/constructs/internal/assertion-validation.js.map +1 -1
- package/dist/constructs/internal/codegen/context.d.ts +73 -6
- package/dist/constructs/internal/codegen/context.js +78 -6
- package/dist/constructs/internal/codegen/context.js.map +1 -1
- package/dist/constructs/internal/codegen/index.d.ts +3 -1
- package/dist/constructs/internal/codegen/index.js +2 -1
- package/dist/constructs/internal/codegen/index.js.map +1 -1
- package/dist/constructs/internal/codegen/render.d.ts +68 -0
- package/dist/constructs/internal/codegen/render.js +75 -0
- package/dist/constructs/internal/codegen/render.js.map +1 -0
- package/dist/constructs/internal/common-diagnostics.d.ts +1 -2
- package/dist/constructs/internal/common-diagnostics.js +7 -17
- package/dist/constructs/internal/common-diagnostics.js.map +1 -1
- package/dist/constructs/internal/declaring-file.d.ts +39 -0
- package/dist/constructs/internal/declaring-file.js +139 -0
- package/dist/constructs/internal/declaring-file.js.map +1 -0
- package/dist/constructs/internal/default-retry-strategy.d.ts +9 -0
- package/dist/constructs/internal/default-retry-strategy.js +13 -0
- package/dist/constructs/internal/default-retry-strategy.js.map +1 -0
- package/dist/constructs/internal/retry-strategy-defaults.d.ts +13 -0
- package/dist/constructs/internal/retry-strategy-defaults.js +14 -0
- package/dist/constructs/internal/retry-strategy-defaults.js.map +1 -0
- package/dist/constructs/key-value-pair-codegen.d.ts +6 -1
- package/dist/constructs/key-value-pair-codegen.js +24 -3
- package/dist/constructs/key-value-pair-codegen.js.map +1 -1
- package/dist/constructs/maintenance-window-codegen.d.ts +7 -0
- package/dist/constructs/maintenance-window-codegen.js +36 -19
- package/dist/constructs/maintenance-window-codegen.js.map +1 -1
- package/dist/constructs/maintenance-window.d.ts +37 -3
- package/dist/constructs/maintenance-window.js +34 -1
- package/dist/constructs/maintenance-window.js.map +1 -1
- package/dist/constructs/monitor.d.ts +6 -119
- package/dist/constructs/monitor.js +3 -5
- package/dist/constructs/monitor.js.map +1 -1
- package/dist/constructs/msteams-alert-channel-codegen.d.ts +1 -1
- package/dist/constructs/msteams-alert-channel-codegen.js +8 -18
- package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/multi-step-check-bundle.d.ts +4 -109
- package/dist/constructs/multi-step-check.d.ts +4 -100
- package/dist/constructs/opsgenie-alert-channel-codegen.js +1 -1
- package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/pagerduty-alert-channel-codegen.js +1 -1
- package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/phone-call-alert-channel-codegen.js +1 -1
- package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/playwright-check-bundle.d.ts +10 -130
- package/dist/constructs/playwright-check-bundle.js +3 -3
- package/dist/constructs/playwright-check-bundle.js.map +1 -1
- package/dist/constructs/playwright-check-codegen.d.ts +85 -0
- package/dist/constructs/playwright-check-codegen.js +212 -0
- package/dist/constructs/playwright-check-codegen.js.map +1 -0
- package/dist/constructs/playwright-check.d.ts +14 -122
- package/dist/constructs/playwright-check.js +17 -51
- package/dist/constructs/playwright-check.js.map +1 -1
- package/dist/constructs/private-location-check-assignment.d.ts +1 -0
- package/dist/constructs/private-location-check-assignment.js +4 -0
- package/dist/constructs/private-location-check-assignment.js.map +1 -1
- package/dist/constructs/private-location-group-assignment.d.ts +1 -0
- package/dist/constructs/private-location-group-assignment.js +4 -0
- package/dist/constructs/private-location-group-assignment.js.map +1 -1
- package/dist/constructs/private-location.js +3 -1
- package/dist/constructs/private-location.js.map +1 -1
- package/dist/constructs/retry-strategy-codegen.d.ts +7 -1
- package/dist/constructs/retry-strategy-codegen.js +41 -32
- package/dist/constructs/retry-strategy-codegen.js.map +1 -1
- package/dist/constructs/retry-strategy.d.ts +0 -4
- package/dist/constructs/retry-strategy.js +5 -8
- package/dist/constructs/retry-strategy.js.map +1 -1
- package/dist/constructs/session.d.ts +38 -1
- package/dist/constructs/session.js +73 -3
- package/dist/constructs/session.js.map +1 -1
- package/dist/constructs/slack-alert-channel-codegen.js +1 -1
- package/dist/constructs/slack-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/slack-app-alert-channel-codegen.js +1 -1
- package/dist/constructs/slack-app-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/sms-alert-channel-codegen.js +1 -1
- package/dist/constructs/sms-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/ssl-monitor.d.ts +4 -142
- package/dist/constructs/ssl-request-codegen.js +4 -3
- package/dist/constructs/ssl-request-codegen.js.map +1 -1
- package/dist/constructs/status-page-v3-automation-rule-codegen.js +5 -4
- package/dist/constructs/status-page-v3-automation-rule-codegen.js.map +1 -1
- package/dist/constructs/status-page-v3-codegen.js +3 -2
- package/dist/constructs/status-page-v3-codegen.js.map +1 -1
- package/dist/constructs/status-page-v3-component-codegen.js +8 -7
- package/dist/constructs/status-page-v3-component-codegen.js.map +1 -1
- package/dist/constructs/tcp-monitor-codegen.js +3 -2
- package/dist/constructs/tcp-monitor-codegen.js.map +1 -1
- package/dist/constructs/tcp-monitor.d.ts +8 -103
- package/dist/constructs/tcp-monitor.js +3 -2
- package/dist/constructs/tcp-monitor.js.map +1 -1
- package/dist/constructs/telegram-alert-channel-codegen.d.ts +1 -1
- package/dist/constructs/telegram-alert-channel-codegen.js +14 -8
- package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -1
- package/dist/constructs/time-zone.d.ts +24 -0
- package/dist/constructs/time-zone.js +455 -0
- package/dist/constructs/time-zone.js.map +1 -0
- package/dist/constructs/traceroute-monitor.d.ts +4 -100
- package/dist/constructs/traceroute-request-codegen.js +2 -2
- package/dist/constructs/traceroute-request-codegen.js.map +1 -1
- package/dist/constructs/url-monitor-codegen.js +1 -1
- package/dist/constructs/url-monitor-codegen.js.map +1 -1
- package/dist/constructs/url-monitor.d.ts +7 -123
- package/dist/constructs/url-monitor.js +3 -0
- package/dist/constructs/url-monitor.js.map +1 -1
- package/dist/constructs/url-request-codegen.js +4 -3
- package/dist/constructs/url-request-codegen.js.map +1 -1
- package/dist/constructs/webhook-alert-channel-codegen.js +3 -3
- package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -1
- package/dist/formatters/check-result-detail.js +0 -185
- package/dist/formatters/check-result-detail.js.map +1 -1
- package/dist/formatters/render.d.ts +2 -1
- package/dist/formatters/render.js +2 -2
- package/dist/formatters/render.js.map +1 -1
- package/dist/formatters/usage.d.ts +18 -12
- package/dist/formatters/usage.js +285 -245
- package/dist/formatters/usage.js.map +1 -1
- package/dist/help/help-extension.js +2 -1
- package/dist/help/help-extension.js.map +1 -1
- package/dist/helpers/accounts.d.ts +28 -0
- package/dist/helpers/accounts.js +50 -0
- package/dist/helpers/accounts.js.map +1 -0
- package/dist/helpers/activate-account.d.ts +13 -0
- package/dist/helpers/activate-account.js +24 -0
- package/dist/helpers/activate-account.js.map +1 -0
- package/dist/helpers/api-fields.js +3 -2
- package/dist/helpers/api-fields.js.map +1 -1
- package/dist/helpers/cli-mode.d.ts +24 -0
- package/dist/helpers/cli-mode.js +64 -8
- package/dist/helpers/cli-mode.js.map +1 -1
- package/dist/helpers/command-preview.d.ts +44 -0
- package/dist/helpers/command-preview.js +29 -9
- package/dist/helpers/command-preview.js.map +1 -1
- package/dist/helpers/command-style.d.ts +1 -0
- package/dist/helpers/command-style.js +51 -37
- package/dist/helpers/command-style.js.map +1 -1
- package/dist/helpers/flags.d.ts +10 -0
- package/dist/helpers/flags.js +18 -0
- package/dist/helpers/flags.js.map +1 -1
- package/dist/helpers/import-plan-selection.d.ts +1 -1
- package/dist/helpers/import-plan-selection.js +8 -20
- package/dist/helpers/import-plan-selection.js.map +1 -1
- package/dist/helpers/invalid-input-error.d.ts +15 -0
- package/dist/helpers/invalid-input-error.js +17 -0
- package/dist/helpers/invalid-input-error.js.map +1 -0
- package/dist/helpers/number.js +4 -3
- package/dist/helpers/number.js.map +1 -1
- package/dist/helpers/onboarding/boilerplate.js +15 -3
- package/dist/helpers/onboarding/boilerplate.js.map +1 -1
- package/dist/helpers/onboarding/index.d.ts +1 -1
- package/dist/helpers/onboarding/index.js +1 -1
- package/dist/helpers/onboarding/index.js.map +1 -1
- package/dist/helpers/onboarding/messages.d.ts +7 -0
- package/dist/helpers/onboarding/messages.js +14 -0
- package/dist/helpers/onboarding/messages.js.map +1 -1
- package/dist/helpers/onboarding/prompt-display.js +2 -2
- package/dist/helpers/onboarding/prompt-display.js.map +1 -1
- package/dist/helpers/onboarding/prompts-helpers.js +3 -1
- package/dist/helpers/onboarding/prompts-helpers.js.map +1 -1
- package/dist/helpers/onboarding/skill-install.js +4 -4
- package/dist/helpers/onboarding/skill-install.js.map +1 -1
- package/dist/helpers/prompts.d.ts +7 -0
- package/dist/helpers/prompts.js +10 -0
- package/dist/helpers/prompts.js.map +1 -0
- package/dist/helpers/result-assets.js +4 -3
- package/dist/helpers/result-assets.js.map +1 -1
- package/dist/helpers/test-helper.d.ts +14 -0
- package/dist/helpers/test-helper.js +33 -3
- package/dist/helpers/test-helper.js.map +1 -1
- package/dist/helpers/usage.d.ts +51 -14
- package/dist/helpers/usage.js +193 -53
- package/dist/helpers/usage.js.map +1 -1
- package/dist/helpers/wrap.js +1 -1
- package/dist/helpers/wrap.js.map +1 -1
- package/dist/messages/common-messages.d.ts +1 -0
- package/dist/messages/common-messages.js +4 -2
- package/dist/messages/common-messages.js.map +1 -1
- package/dist/reporters/abstract-list.d.ts +9 -2
- package/dist/reporters/abstract-list.js +105 -32
- package/dist/reporters/abstract-list.js.map +1 -1
- package/dist/reporters/ci.js +7 -4
- package/dist/reporters/ci.js.map +1 -1
- package/dist/reporters/dot.d.ts +1 -0
- package/dist/reporters/dot.js +19 -7
- package/dist/reporters/dot.js.map +1 -1
- package/dist/reporters/github.d.ts +2 -0
- package/dist/reporters/github.js +29 -4
- package/dist/reporters/github.js.map +1 -1
- package/dist/reporters/json.d.ts +2 -0
- package/dist/reporters/json.js +27 -4
- package/dist/reporters/json.js.map +1 -1
- package/dist/reporters/list.js +10 -8
- package/dist/reporters/list.js.map +1 -1
- package/dist/reporters/reporter.d.ts +1 -0
- package/dist/reporters/reporter.js.map +1 -1
- package/dist/reporters/util.d.ts +5 -2
- package/dist/reporters/util.js +25 -61
- package/dist/reporters/util.js.map +1 -1
- package/dist/rest/analytics.js +0 -4
- package/dist/rest/analytics.js.map +1 -1
- package/dist/rest/api.d.ts +10 -1
- package/dist/rest/api.js +44 -9
- package/dist/rest/api.js.map +1 -1
- package/dist/rest/check-results.d.ts +1 -50
- package/dist/rest/check-results.js.map +1 -1
- package/dist/rest/checkly-storage.d.ts +6 -1
- package/dist/rest/checkly-storage.js +13 -2
- package/dist/rest/checkly-storage.js.map +1 -1
- package/dist/rest/errors.d.ts +19 -0
- package/dist/rest/errors.js +20 -1
- package/dist/rest/errors.js.map +1 -1
- package/dist/rest/projects.d.ts +254 -4
- package/dist/rest/projects.js +208 -17
- package/dist/rest/projects.js.map +1 -1
- package/dist/rest/usage.d.ts +164 -73
- package/dist/rest/usage.js +21 -10
- package/dist/rest/usage.js.map +1 -1
- package/dist/services/abstract-check-runner.d.ts +34 -2
- package/dist/services/abstract-check-runner.js +183 -56
- package/dist/services/abstract-check-runner.js.map +1 -1
- package/dist/services/check-parser/bundler.d.ts +26 -0
- package/dist/services/check-parser/bundler.js +81 -7
- package/dist/services/check-parser/bundler.js.map +1 -1
- package/dist/services/check-parser/cache-hash.d.ts +1 -4
- package/dist/services/check-parser/cache-hash.js.map +1 -1
- package/dist/services/check-parser/package-files/json-text-source-file.d.ts +0 -2
- package/dist/services/check-parser/package-files/json-text-source-file.js +6 -6
- package/dist/services/check-parser/package-files/json-text-source-file.js.map +1 -1
- package/dist/services/check-parser/parser.d.ts +3 -2
- package/dist/services/check-parser/parser.js +31 -40
- package/dist/services/check-parser/parser.js.map +1 -1
- package/dist/services/checkly-config-codegen.js +4 -4
- package/dist/services/checkly-config-codegen.js.map +1 -1
- package/dist/services/checkly-config-loader.d.ts +18 -33
- package/dist/services/checkly-config-loader.js +50 -47
- package/dist/services/checkly-config-loader.js.map +1 -1
- package/dist/services/config.d.ts +42 -1
- package/dist/services/config.js +93 -9
- package/dist/services/config.js.map +1 -1
- package/dist/services/content-hash.d.ts +14 -0
- package/dist/services/content-hash.js +22 -0
- package/dist/services/content-hash.js.map +1 -0
- package/dist/services/deploy-diff/diff-lines.d.ts +52 -0
- package/dist/services/deploy-diff/diff-lines.js +327 -0
- package/dist/services/deploy-diff/diff-lines.js.map +1 -0
- package/dist/services/deploy-diff/double-check.d.ts +9 -0
- package/dist/services/deploy-diff/double-check.js +21 -0
- package/dist/services/deploy-diff/double-check.js.map +1 -0
- package/dist/services/deploy-diff/import-shape.d.ts +171 -0
- package/dist/services/deploy-diff/import-shape.js +633 -0
- package/dist/services/deploy-diff/import-shape.js.map +1 -0
- package/dist/services/deploy-diff/legacy-payload.d.ts +22 -0
- package/dist/services/deploy-diff/legacy-payload.js +51 -0
- package/dist/services/deploy-diff/legacy-payload.js.map +1 -0
- package/dist/services/deploy-diff/plan-summary.d.ts +81 -0
- package/dist/services/deploy-diff/plan-summary.js +262 -0
- package/dist/services/deploy-diff/plan-summary.js.map +1 -0
- package/dist/services/deploy-diff/preview-output.d.ts +63 -0
- package/dist/services/deploy-diff/preview-output.js +403 -0
- package/dist/services/deploy-diff/preview-output.js.map +1 -0
- package/dist/services/deploy-diff/render.d.ts +59 -0
- package/dist/services/deploy-diff/render.js +326 -0
- package/dist/services/deploy-diff/render.js.map +1 -0
- package/dist/services/deploy-diff/shape-changes.d.ts +2 -0
- package/dist/services/deploy-diff/shape-changes.js +48 -0
- package/dist/services/deploy-diff/shape-changes.js.map +1 -0
- package/dist/services/deploy-diff/source-index.d.ts +18 -0
- package/dist/services/deploy-diff/source-index.js +48 -0
- package/dist/services/deploy-diff/source-index.js.map +1 -0
- package/dist/services/deploy-diff/variable-names.d.ts +30 -0
- package/dist/services/deploy-diff/variable-names.js +64 -0
- package/dist/services/deploy-diff/variable-names.js.map +1 -0
- package/dist/services/engine-resolver.js +3 -0
- package/dist/services/engine-resolver.js.map +1 -1
- package/dist/services/engine-rules-loader.d.ts +6 -0
- package/dist/services/engine-rules-loader.js +12 -3
- package/dist/services/engine-rules-loader.js.map +1 -1
- package/dist/services/oxc-parser.d.ts +26 -0
- package/dist/services/oxc-parser.js +70 -0
- package/dist/services/oxc-parser.js.map +1 -0
- package/dist/services/project-cli.d.ts +75 -0
- package/dist/services/project-cli.js +302 -0
- package/dist/services/project-cli.js.map +1 -0
- package/dist/services/project-parser.d.ts +5 -0
- package/dist/services/project-parser.js +25 -13
- package/dist/services/project-parser.js.map +1 -1
- package/dist/services/skills.js +3 -3
- package/dist/services/skills.js.map +1 -1
- package/dist/services/snapshot-service.d.ts +25 -8
- package/dist/services/snapshot-service.js +46 -4
- package/dist/services/snapshot-service.js.map +1 -1
- package/dist/services/socket-client.js +1 -1
- package/dist/services/socket-client.js.map +1 -1
- package/dist/services/test-filters.d.ts +18 -0
- package/dist/services/test-filters.js +10 -0
- package/dist/services/test-filters.js.map +1 -1
- package/dist/services/test-runner.d.ts +1 -1
- package/dist/services/test-runner.js +10 -11
- package/dist/services/test-runner.js.map +1 -1
- package/dist/services/test-session-cancel.d.ts +5 -0
- package/dist/services/test-session-cancel.js +28 -3
- package/dist/services/test-session-cancel.js.map +1 -1
- package/dist/services/trigger-runner.d.ts +1 -1
- package/dist/services/trigger-runner.js +2 -2
- package/dist/services/trigger-runner.js.map +1 -1
- package/dist/services/two-installs.d.ts +39 -0
- package/dist/services/two-installs.js +155 -0
- package/dist/services/two-installs.js.map +1 -0
- package/dist/services/util.d.ts +17 -2
- package/dist/services/util.js +118 -11
- package/dist/services/util.js.map +1 -1
- package/dist/services/write-back/apply-edits.d.ts +29 -0
- package/dist/services/write-back/apply-edits.js +255 -0
- package/dist/services/write-back/apply-edits.js.map +1 -0
- package/dist/services/write-back/helper-edit.d.ts +135 -0
- package/dist/services/write-back/helper-edit.js +343 -0
- package/dist/services/write-back/helper-edit.js.map +1 -0
- package/dist/services/write-back/imports.d.ts +30 -0
- package/dist/services/write-back/imports.js +88 -0
- package/dist/services/write-back/imports.js.map +1 -0
- package/dist/services/write-back/literal-edit.d.ts +183 -0
- package/dist/services/write-back/literal-edit.js +359 -0
- package/dist/services/write-back/literal-edit.js.map +1 -0
- package/dist/services/write-back/output.d.ts +26 -0
- package/dist/services/write-back/output.js +110 -0
- package/dist/services/write-back/output.js.map +1 -0
- package/dist/services/write-back/plan.d.ts +180 -0
- package/dist/services/write-back/plan.js +1046 -0
- package/dist/services/write-back/plan.js.map +1 -0
- package/dist/services/write-back/source-file.d.ts +133 -0
- package/dist/services/write-back/source-file.js +460 -0
- package/dist/services/write-back/source-file.js.map +1 -0
- package/dist/sourcegen/index.d.ts +1 -1
- package/dist/sourcegen/index.js +1 -1
- package/dist/sourcegen/index.js.map +1 -1
- package/dist/sourcegen/program.d.ts +19 -1
- package/dist/sourcegen/program.js +32 -7
- package/dist/sourcegen/program.js.map +1 -1
- package/dist/testing/clear-git-env.d.ts +1 -0
- package/dist/testing/clear-git-env.js +25 -0
- package/dist/testing/clear-git-env.js.map +1 -0
- package/dist/testing/global-setup.d.ts +1 -0
- package/dist/testing/global-setup.js +3 -0
- package/dist/testing/global-setup.js.map +1 -1
- package/oclif.manifest.json +1113 -884
- package/package.json +21 -19
- package/dist/commands/rules.d.ts +0 -9
- package/dist/commands/rules.js +0 -13
- package/dist/commands/rules.js.map +0 -1
- package/dist/constructs/agentic-check-codegen.d.ts +0 -22
- package/dist/constructs/agentic-check-codegen.js +0 -59
- package/dist/constructs/agentic-check-codegen.js.map +0 -1
- package/dist/constructs/agentic-check.d.ts +0 -237
- package/dist/constructs/agentic-check.js +0 -100
- package/dist/constructs/agentic-check.js.map +0 -1
- package/dist/services/check-parser/package-files/json-text-source-file-parser.d.ts +0 -7
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js +0 -47
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +0 -1
- package/dist/services/check-parser/package-files/source-file-parser.d.ts +0 -10
- package/dist/services/check-parser/package-files/source-file-parser.js +0 -13
- package/dist/services/check-parser/package-files/source-file-parser.js.map +0 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Mirrors the engine versions the backend accepts (PLAYWRIGHT_*_ENGINE_VERSIONS
|
|
2
|
+
// in the monorepo's apps/backend/api/src/modules/common/schemas.js); the
|
|
3
|
+
// terraform provider embeds the same rules in its checkly/engines.json.
|
|
2
4
|
// Async to match a future API call signature.
|
|
3
5
|
// eslint-disable-next-line require-await
|
|
4
6
|
export async function loadEngineRules() {
|
|
@@ -30,11 +32,18 @@ const enginesConfig = {
|
|
|
30
32
|
{
|
|
31
33
|
name: 'bun',
|
|
32
34
|
versions: {
|
|
33
|
-
|
|
35
|
+
// '1' is the newest 1.x the runner image carries; it is also what the
|
|
36
|
+
// runner uses when a check sets no engine version.
|
|
37
|
+
default: '1',
|
|
38
|
+
aliases: ['1'],
|
|
34
39
|
rules: [
|
|
35
40
|
{ source: '<1.3', target: '1.3', action: 'allow', follow: true, notice: 'Bun ${SOURCE} is not available. Using Bun 1.3 instead.' },
|
|
36
41
|
{ source: '~1.3', target: '1.3', action: 'allow', follow: false },
|
|
37
|
-
{ source: '
|
|
42
|
+
{ source: '~1.4', target: '1.4', action: 'allow', follow: false },
|
|
43
|
+
// Like Node's `>=27`: a not-yet-available minor maps to the highest
|
|
44
|
+
// pinned minor rather than the floating '1', so the version does not
|
|
45
|
+
// drift with later runner images while the project still pins it.
|
|
46
|
+
{ source: '>=1.5 <2', target: '1.4', action: 'allow', follow: false, notice: 'Bun ${SOURCE} is not available yet. Using Bun 1.4 instead.' },
|
|
38
47
|
{ source: '>=2', action: 'deny', follow: false, notice: 'Bun ${SOURCE} is not available yet.' },
|
|
39
48
|
],
|
|
40
49
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-rules-loader.js","sourceRoot":"","sources":["../../src/services/engine-rules-loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"engine-rules-loader.js","sourceRoot":"","sources":["../../src/services/engine-rules-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ParseResult, ParserOptions } from 'oxc-parser';
|
|
2
|
+
export type ParseSync = (filename: string, source: string, options?: ParserOptions) => ParseResult;
|
|
3
|
+
/**
|
|
4
|
+
* oxc-parser's `parseSync`. Its native binding can be missing, e.g. when
|
|
5
|
+
* optional dependencies weren't installed or node_modules was copied from
|
|
6
|
+
* another platform; `oxcLoadError` is thrown then, and again on every later
|
|
7
|
+
* call without retrying the load.
|
|
8
|
+
*/
|
|
9
|
+
export declare function loadOxcParser(): ParseSync;
|
|
10
|
+
/**
|
|
11
|
+
* A failure to load oxc-parser, named as such: its own error ("Cannot find
|
|
12
|
+
* native binding", with how to reinstall) doesn't say which package it is
|
|
13
|
+
* about.
|
|
14
|
+
*/
|
|
15
|
+
export declare function oxcLoadError(error: unknown): Error;
|
|
16
|
+
/**
|
|
17
|
+
* Parses a TypeScript or JSX file the way its extension says: declaration
|
|
18
|
+
* files allow syntax that regular files don't, and JSX is only enabled for
|
|
19
|
+
* `.tsx` and `.jsx`, since in a `.ts` file type brackets would confuse the
|
|
20
|
+
* parser. `.cts` files are CommonJS, the rest modules.
|
|
21
|
+
*
|
|
22
|
+
* @throws SyntaxError on the first syntax error, with its line and column.
|
|
23
|
+
* oxc recovers from syntax errors and returns a partial AST, which is never
|
|
24
|
+
* returned here.
|
|
25
|
+
*/
|
|
26
|
+
export declare function parseWithOxc(parseSync: ParseSync, filePath: string, contents: string, options?: ParserOptions): ParseResult;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
let loaded;
|
|
4
|
+
/**
|
|
5
|
+
* oxc-parser's `parseSync`. Its native binding can be missing, e.g. when
|
|
6
|
+
* optional dependencies weren't installed or node_modules was copied from
|
|
7
|
+
* another platform; `oxcLoadError` is thrown then, and again on every later
|
|
8
|
+
* call without retrying the load.
|
|
9
|
+
*/
|
|
10
|
+
export function loadOxcParser() {
|
|
11
|
+
if (loaded === undefined) {
|
|
12
|
+
try {
|
|
13
|
+
const require = createRequire(import.meta.url);
|
|
14
|
+
loaded = { parseSync: require('oxc-parser').parseSync };
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
loaded = { error: oxcLoadError(error) };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if ('error' in loaded) {
|
|
21
|
+
throw loaded.error;
|
|
22
|
+
}
|
|
23
|
+
return loaded.parseSync;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* A failure to load oxc-parser, named as such: its own error ("Cannot find
|
|
27
|
+
* native binding", with how to reinstall) doesn't say which package it is
|
|
28
|
+
* about.
|
|
29
|
+
*/
|
|
30
|
+
export function oxcLoadError(error) {
|
|
31
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
32
|
+
return new Error(`oxc-parser, which parses TypeScript files, failed to load: ${message}`, { cause: error });
|
|
33
|
+
}
|
|
34
|
+
// foo.d.ts, foo.d.mts, foo.d.cts and foo.d.css.ts (allowArbitraryExtensions)
|
|
35
|
+
const DECLARATION_FILE = /\.d\.([^.\\/]+\.)?[cm]?ts$/;
|
|
36
|
+
function lineColumn(contents, offset) {
|
|
37
|
+
const before = contents.slice(0, offset);
|
|
38
|
+
const line = before.split('\n').length;
|
|
39
|
+
// 0-based column, like acorn's
|
|
40
|
+
const column = offset - before.lastIndexOf('\n') - 1;
|
|
41
|
+
return `${line}:${column}`;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Parses a TypeScript or JSX file the way its extension says: declaration
|
|
45
|
+
* files allow syntax that regular files don't, and JSX is only enabled for
|
|
46
|
+
* `.tsx` and `.jsx`, since in a `.ts` file type brackets would confuse the
|
|
47
|
+
* parser. `.cts` files are CommonJS, the rest modules.
|
|
48
|
+
*
|
|
49
|
+
* @throws SyntaxError on the first syntax error, with its line and column.
|
|
50
|
+
* oxc recovers from syntax errors and returns a partial AST, which is never
|
|
51
|
+
* returned here.
|
|
52
|
+
*/
|
|
53
|
+
export function parseWithOxc(parseSync, filePath, contents, options = {}) {
|
|
54
|
+
const extension = path.extname(filePath);
|
|
55
|
+
const result = parseSync(filePath, contents, {
|
|
56
|
+
lang: DECLARATION_FILE.test(filePath)
|
|
57
|
+
? 'dts'
|
|
58
|
+
: extension === '.tsx' ? 'tsx' : extension === '.jsx' ? 'jsx' : 'ts',
|
|
59
|
+
sourceType: extension === '.cts' ? 'commonjs' : 'module',
|
|
60
|
+
astType: 'ts',
|
|
61
|
+
...options,
|
|
62
|
+
});
|
|
63
|
+
const [error] = result.errors;
|
|
64
|
+
if (error) {
|
|
65
|
+
const offset = error.labels[0]?.start;
|
|
66
|
+
throw new SyntaxError(offset === undefined ? error.message : `${error.message} (${lineColumn(contents, offset)})`);
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=oxc-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oxc-parser.js","sourceRoot":"","sources":["../../src/services/oxc-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAW5B,IAAI,MAAiE,CAAA;AAErE;;;;;GAKG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9C,MAAM,GAAG,EAAE,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE,CAAA;QACzD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;QACzC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,MAAM,MAAM,CAAC,KAAK,CAAA;IACpB,CAAC;IACD,OAAO,MAAM,CAAC,SAAS,CAAA;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAE,KAAc;IAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACtE,OAAO,IAAI,KAAK,CAAC,8DAA8D,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;AAC7G,CAAC;AAED,6EAA6E;AAC7E,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAErD,SAAS,UAAU,CAAE,QAAgB,EAAE,MAAc;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAA;IACtC,+BAA+B;IAC/B,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACpD,OAAO,GAAG,IAAI,IAAI,MAAM,EAAE,CAAA;AAC5B,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAoB,EACpB,QAAgB,EAChB,QAAgB,EAChB,UAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE;QAC3C,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnC,CAAC,CAAC,KAAK;YACP,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACtE,UAAU,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;QACxD,OAAO,EAAE,IAAI;QACb,GAAG,OAAO;KACX,CAAC,CAAA;IACF,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,CAAA;IAC7B,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAA;QACrC,MAAM,IAAI,WAAW,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;IACpH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set to `1` to always run the invoked CLI, even when the project has its own
|
|
3
|
+
* `checkly` install.
|
|
4
|
+
*/
|
|
5
|
+
export declare const NO_DELEGATION_ENV = "CHECKLY_NO_DELEGATION";
|
|
6
|
+
/** The root of the checkly package this module belongs to. */
|
|
7
|
+
export declare const ownRoot: string;
|
|
8
|
+
export interface Install {
|
|
9
|
+
root: string;
|
|
10
|
+
version: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ProjectCli {
|
|
13
|
+
/** The install's directory as found, i.e. `<dir>/node_modules/checkly`. */
|
|
14
|
+
dir: string;
|
|
15
|
+
version: string;
|
|
16
|
+
binPath: string;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The short boolean flags of the commands that take `-c`. In a group of
|
|
20
|
+
* short flags (`-pc path`), oclif lets each boolean letter pass and reads
|
|
21
|
+
* the next letter, so a `c` after them is still `--config`. Installs from
|
|
22
|
+
* before a new boolean short flag was added do not know it, and search from
|
|
23
|
+
* the working directory when it is grouped with `c`.
|
|
24
|
+
*/
|
|
25
|
+
export declare const booleanShortFlags: Set<string>;
|
|
26
|
+
/**
|
|
27
|
+
* The value of `--config` (or its short form `-c`) in raw command arguments,
|
|
28
|
+
* in any form oclif accepts: `--config v`, `--config=v`, `-c v`, `-c=v`,
|
|
29
|
+
* `-cv`, and `c` after boolean short flags in one group (`-pc v`, `-pcv`).
|
|
30
|
+
* Arguments after `--` are not flags.
|
|
31
|
+
*
|
|
32
|
+
* Every command that takes a config file calls the flag `config` with the
|
|
33
|
+
* short form `-c`, and other checkly installs read it here before handing a
|
|
34
|
+
* command over, so the flag has to keep that meaning in every release.
|
|
35
|
+
*/
|
|
36
|
+
export declare function findConfigFlag(args: string[]): string | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The `checkly` install that a bare `checkly` import in `directory` resolves
|
|
39
|
+
* to: the nearest `node_modules/checkly`, searched upwards like Node does.
|
|
40
|
+
* NODE_PATH and global folders are deliberately not searched, because ES
|
|
41
|
+
* module resolution of the project's files never uses them. Throws when a
|
|
42
|
+
* candidate's package.json cannot be read, rather than skipping past the
|
|
43
|
+
* install the project's imports would resolve to.
|
|
44
|
+
*/
|
|
45
|
+
export declare function findProjectCli(directory: string): Promise<ProjectCli | undefined>;
|
|
46
|
+
/** Whether `version` is a development or canary build rather than a release. */
|
|
47
|
+
export declare function isDevelopmentBuild(version: string): boolean;
|
|
48
|
+
/** Whether two paths are the same directory. Throws when either cannot be resolved. */
|
|
49
|
+
export declare function isSameDirectory(a: string, b: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* The project's own CLI to run the command with instead of `self`, if any.
|
|
52
|
+
*
|
|
53
|
+
* Constructs in a project's config and check files register with the
|
|
54
|
+
* `Session` of the `checkly` install the project resolves, so only that
|
|
55
|
+
* install can load the project: when the running CLI is another install
|
|
56
|
+
* (global, `pnpx`, an `npx` of another version), its `Session` would never
|
|
57
|
+
* see them. Every command is handed off, which makes any install behave like
|
|
58
|
+
* `npx checkly` run in the project's directory.
|
|
59
|
+
*/
|
|
60
|
+
export declare function findProjectCliHandOff(self: Install, directory?: string): Promise<ProjectCli | undefined>;
|
|
61
|
+
/**
|
|
62
|
+
* Node options for the project's CLI: this process's, minus inspector flags,
|
|
63
|
+
* which would make the child compete with this process for the debugger
|
|
64
|
+
* port. Use CHECKLY_NO_DELEGATION=1 to debug a hand-off case.
|
|
65
|
+
*/
|
|
66
|
+
export declare function childNodeOptions(execArgv: string[], nodeOptions: string | undefined): {
|
|
67
|
+
execArgv: string[];
|
|
68
|
+
nodeOptions: string | undefined;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Runs `args` with the project's own CLI when {@link findProjectCliHandOff}
|
|
72
|
+
* finds one, and exits with its exit status. Resolves to `false` when this
|
|
73
|
+
* CLI should run the command itself.
|
|
74
|
+
*/
|
|
75
|
+
export declare function runWithProjectCli(args: string[], self?: Install): Promise<boolean>;
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import fsSync from 'node:fs';
|
|
3
|
+
import fs from 'node:fs/promises';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import Debug from 'debug';
|
|
7
|
+
import semver from 'semver';
|
|
8
|
+
import { lineage } from './check-parser/package-files/walk.js';
|
|
9
|
+
// The launcher runs this module before oclif loads, so it must stay light:
|
|
10
|
+
// nothing here may import the commands or the constructs.
|
|
11
|
+
const debug = Debug('checkly:cli:project-cli');
|
|
12
|
+
/**
|
|
13
|
+
* Set to `1` to always run the invoked CLI, even when the project has its own
|
|
14
|
+
* `checkly` install.
|
|
15
|
+
*/
|
|
16
|
+
export const NO_DELEGATION_ENV = 'CHECKLY_NO_DELEGATION';
|
|
17
|
+
/**
|
|
18
|
+
* The install a hand-off started, set in its environment. That install never
|
|
19
|
+
* hands off to itself again, while a checkly it starts for another project
|
|
20
|
+
* still can.
|
|
21
|
+
*/
|
|
22
|
+
const HANDED_OFF_TO_ENV = 'CHECKLY_HANDED_OFF_TO';
|
|
23
|
+
/** The root of the checkly package this module belongs to. */
|
|
24
|
+
export const ownRoot = fileURLToPath(new URL('../..', import.meta.url));
|
|
25
|
+
/**
|
|
26
|
+
* The short boolean flags of the commands that take `-c`. In a group of
|
|
27
|
+
* short flags (`-pc path`), oclif lets each boolean letter pass and reads
|
|
28
|
+
* the next letter, so a `c` after them is still `--config`. Installs from
|
|
29
|
+
* before a new boolean short flag was added do not know it, and search from
|
|
30
|
+
* the working directory when it is grouped with `c`.
|
|
31
|
+
*/
|
|
32
|
+
export const booleanShortFlags = new Set(['d', 'f', 'o', 'p', 'u', 'v']);
|
|
33
|
+
/**
|
|
34
|
+
* The value of `--config` (or its short form `-c`) in raw command arguments,
|
|
35
|
+
* in any form oclif accepts: `--config v`, `--config=v`, `-c v`, `-c=v`,
|
|
36
|
+
* `-cv`, and `c` after boolean short flags in one group (`-pc v`, `-pcv`).
|
|
37
|
+
* Arguments after `--` are not flags.
|
|
38
|
+
*
|
|
39
|
+
* Every command that takes a config file calls the flag `config` with the
|
|
40
|
+
* short form `-c`, and other checkly installs read it here before handing a
|
|
41
|
+
* command over, so the flag has to keep that meaning in every release.
|
|
42
|
+
*/
|
|
43
|
+
export function findConfigFlag(args) {
|
|
44
|
+
for (let i = 0; i < args.length; i++) {
|
|
45
|
+
const arg = args[i];
|
|
46
|
+
if (arg === '--') {
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
if (arg === '--config') {
|
|
50
|
+
return args[i + 1] || undefined;
|
|
51
|
+
}
|
|
52
|
+
if (arg.startsWith('--config=')) {
|
|
53
|
+
return arg.slice('--config='.length) || undefined;
|
|
54
|
+
}
|
|
55
|
+
if (arg.startsWith('-') && !arg.startsWith('--')) {
|
|
56
|
+
let j = 1;
|
|
57
|
+
while (booleanShortFlags.has(arg[j])) {
|
|
58
|
+
j++;
|
|
59
|
+
}
|
|
60
|
+
if (arg[j] === 'c') {
|
|
61
|
+
if (arg[j + 1] === '=') {
|
|
62
|
+
return arg.slice(j + 2) || undefined;
|
|
63
|
+
}
|
|
64
|
+
return (arg.slice(j + 1) || args[i + 1]) || undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
async function exists(filePath) {
|
|
71
|
+
try {
|
|
72
|
+
await fs.access(filePath);
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/** Resolves to `undefined` when the file does not exist; throws on any other error. */
|
|
80
|
+
async function readJsonIfExists(filePath) {
|
|
81
|
+
let content;
|
|
82
|
+
try {
|
|
83
|
+
content = await fs.readFile(filePath, 'utf8');
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
if (err.code === 'ENOENT' || err.code === 'ENOTDIR') {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
throw err;
|
|
90
|
+
}
|
|
91
|
+
return JSON.parse(content);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* The `checkly` install that a bare `checkly` import in `directory` resolves
|
|
95
|
+
* to: the nearest `node_modules/checkly`, searched upwards like Node does.
|
|
96
|
+
* NODE_PATH and global folders are deliberately not searched, because ES
|
|
97
|
+
* module resolution of the project's files never uses them. Throws when a
|
|
98
|
+
* candidate's package.json cannot be read, rather than skipping past the
|
|
99
|
+
* install the project's imports would resolve to.
|
|
100
|
+
*/
|
|
101
|
+
export async function findProjectCli(directory) {
|
|
102
|
+
for (const current of lineage(directory)) {
|
|
103
|
+
if (path.basename(current) === 'node_modules') {
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
const dir = path.join(current, 'node_modules', 'checkly');
|
|
107
|
+
const packageJson = await readJsonIfExists(path.join(dir, 'package.json'));
|
|
108
|
+
if (!packageJson) {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (packageJson.name !== 'checkly') {
|
|
112
|
+
debug('%s is not the checkly package', dir);
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
const bin = typeof packageJson.bin === 'string' ? packageJson.bin : packageJson.bin?.checkly;
|
|
116
|
+
if (typeof bin !== 'string') {
|
|
117
|
+
debug('%s has no checkly bin', dir);
|
|
118
|
+
return undefined;
|
|
119
|
+
}
|
|
120
|
+
const binPath = path.join(dir, bin);
|
|
121
|
+
if (!await exists(binPath)) {
|
|
122
|
+
debug('the checkly bin of %s is missing at %s', dir, binPath);
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
return { dir, version: String(packageJson.version), binPath };
|
|
126
|
+
}
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
129
|
+
/** Whether `version` is a development or canary build rather than a release. */
|
|
130
|
+
export function isDevelopmentBuild(version) {
|
|
131
|
+
return version === '0.0.1-dev' || version.startsWith('0.0.0');
|
|
132
|
+
}
|
|
133
|
+
/** Whether two paths are the same directory. Throws when either cannot be resolved. */
|
|
134
|
+
export function isSameDirectory(a, b) {
|
|
135
|
+
const [realA, realB] = [fsSync.realpathSync(a), fsSync.realpathSync(b)];
|
|
136
|
+
// Windows paths compare case-insensitively; realpath can return either
|
|
137
|
+
// casing of a drive letter or folder name.
|
|
138
|
+
return process.platform === 'win32'
|
|
139
|
+
? realA.toLowerCase() === realB.toLowerCase()
|
|
140
|
+
: realA === realB;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* The project's own CLI to run the command with instead of `self`, if any.
|
|
144
|
+
*
|
|
145
|
+
* Constructs in a project's config and check files register with the
|
|
146
|
+
* `Session` of the `checkly` install the project resolves, so only that
|
|
147
|
+
* install can load the project: when the running CLI is another install
|
|
148
|
+
* (global, `pnpx`, an `npx` of another version), its `Session` would never
|
|
149
|
+
* see them. Every command is handed off, which makes any install behave like
|
|
150
|
+
* `npx checkly` run in the project's directory.
|
|
151
|
+
*/
|
|
152
|
+
export async function findProjectCliHandOff(self, directory = process.cwd()) {
|
|
153
|
+
if (process.env[NO_DELEGATION_ENV] === '1') {
|
|
154
|
+
debug('hand-off disabled via %s=1', NO_DELEGATION_ENV);
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
if (process.versions.deno) {
|
|
158
|
+
// A child started from process.execPath would run without the
|
|
159
|
+
// permission flags given to the outer `deno run`.
|
|
160
|
+
debug('hand-off not supported on Deno');
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
const projectCli = await findProjectCli(directory);
|
|
164
|
+
if (!projectCli) {
|
|
165
|
+
debug('no checkly install found from %s', directory);
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
if (isSameDirectory(projectCli.dir, self.root)) {
|
|
169
|
+
debug('running from the project\'s install at %s', projectCli.dir);
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
const handedOffTo = process.env[HANDED_OFF_TO_ENV];
|
|
173
|
+
if (handedOffTo && isSameDirectoryOrFalse(projectCli.dir, handedOffTo)) {
|
|
174
|
+
debug('already handed off to %s', projectCli.dir);
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
return projectCli;
|
|
178
|
+
}
|
|
179
|
+
function isSameDirectoryOrFalse(a, b) {
|
|
180
|
+
try {
|
|
181
|
+
return isSameDirectory(a, b);
|
|
182
|
+
}
|
|
183
|
+
catch {
|
|
184
|
+
return false;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
const forwardedSignals = ['SIGINT', 'SIGTERM', 'SIGHUP'];
|
|
188
|
+
function startFailed(self, err) {
|
|
189
|
+
process.stderr.write(`Could not start the checkly install of this project (${err.message}); running checkly ${self.version}.\n`);
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
const isInspectorFlag = (arg) => /^--(inspect|debug)/.test(arg);
|
|
193
|
+
/**
|
|
194
|
+
* Node options for the project's CLI: this process's, minus inspector flags,
|
|
195
|
+
* which would make the child compete with this process for the debugger
|
|
196
|
+
* port. Use CHECKLY_NO_DELEGATION=1 to debug a hand-off case.
|
|
197
|
+
*/
|
|
198
|
+
export function childNodeOptions(execArgv, nodeOptions) {
|
|
199
|
+
return {
|
|
200
|
+
execArgv: execArgv.filter(arg => !isInspectorFlag(arg)),
|
|
201
|
+
nodeOptions: nodeOptions?.split(/\s+/).filter(arg => arg && !isInspectorFlag(arg)).join(' '),
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
function versionNotice(projectCli, self) {
|
|
205
|
+
if (projectCli.version === self.version) {
|
|
206
|
+
return undefined;
|
|
207
|
+
}
|
|
208
|
+
const displayDir = path.relative(process.cwd(), projectCli.dir) || projectCli.dir;
|
|
209
|
+
const notice = `Using checkly ${projectCli.version} from this project (${displayDir}) `
|
|
210
|
+
+ `instead of checkly ${self.version}.`;
|
|
211
|
+
// Only worth acting on when the invoked version is the newer one.
|
|
212
|
+
return semver.valid(self.version) && semver.valid(projectCli.version)
|
|
213
|
+
&& semver.gt(self.version, projectCli.version)
|
|
214
|
+
? `${notice} To use ${self.version}, install it in this project.`
|
|
215
|
+
: notice;
|
|
216
|
+
}
|
|
217
|
+
async function readOwnInstall() {
|
|
218
|
+
const packageJson = await readJsonIfExists(path.join(ownRoot, 'package.json'));
|
|
219
|
+
return { root: ownRoot, version: String(packageJson?.version) };
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Runs `args` with the project's own CLI when {@link findProjectCliHandOff}
|
|
223
|
+
* finds one, and exits with its exit status. Resolves to `false` when this
|
|
224
|
+
* CLI should run the command itself.
|
|
225
|
+
*/
|
|
226
|
+
export async function runWithProjectCli(args, self) {
|
|
227
|
+
let projectCli;
|
|
228
|
+
try {
|
|
229
|
+
self ??= await readOwnInstall();
|
|
230
|
+
// The project is where the commands load it from: the config file's
|
|
231
|
+
// directory, or the working directory (splitConfigFilePath in util.ts).
|
|
232
|
+
const configFile = findConfigFlag(args);
|
|
233
|
+
projectCli = await findProjectCliHandOff(self, configFile ? path.dirname(path.resolve(configFile)) : undefined);
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
// Nothing has been handed off yet, so the command can still run here.
|
|
237
|
+
debug('looking for the project\'s checkly install failed: %O', err);
|
|
238
|
+
process.stderr.write(`Could not read the checkly install of this project (${err.message}); `
|
|
239
|
+
+ `running checkly${self ? ` ${self.version}` : ''}.\n`);
|
|
240
|
+
return false;
|
|
241
|
+
}
|
|
242
|
+
if (!projectCli) {
|
|
243
|
+
return false;
|
|
244
|
+
}
|
|
245
|
+
debug('handing off to checkly %s at %s', projectCli.version, projectCli.dir);
|
|
246
|
+
const notice = versionNotice(projectCli, self);
|
|
247
|
+
if (notice) {
|
|
248
|
+
process.stderr.write(`${notice}\n`);
|
|
249
|
+
}
|
|
250
|
+
let child;
|
|
251
|
+
try {
|
|
252
|
+
// With the environment including .env values: installs before 8.0.0
|
|
253
|
+
// do not load .env themselves, and later ones never override a set key.
|
|
254
|
+
const { execArgv, nodeOptions } = childNodeOptions(process.execArgv, process.env.NODE_OPTIONS);
|
|
255
|
+
const env = { ...process.env, [HANDED_OFF_TO_ENV]: projectCli.dir };
|
|
256
|
+
if (nodeOptions === undefined) {
|
|
257
|
+
delete env.NODE_OPTIONS;
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
env.NODE_OPTIONS = nodeOptions;
|
|
261
|
+
}
|
|
262
|
+
child = spawn(process.execPath, [...execArgv, projectCli.binPath, ...args], { stdio: 'inherit', env });
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
return startFailed(self, err);
|
|
266
|
+
}
|
|
267
|
+
// Keep this process alive until the child exits. A Ctrl+C in a terminal
|
|
268
|
+
// reaches both processes; the forwarded copy is a duplicate the CLI's
|
|
269
|
+
// SIGINT handling ignores. Signals sent to this process alone (a CI runner
|
|
270
|
+
// stopping a job) only reach the child through the forwarding. On Windows
|
|
271
|
+
// console events already reach the child, and kill() would terminate it
|
|
272
|
+
// outright, so nothing is forwarded there.
|
|
273
|
+
const forward = (signal) => {
|
|
274
|
+
if (process.platform !== 'win32' && child.pid !== undefined) {
|
|
275
|
+
child.kill(signal);
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
for (const signal of forwardedSignals) {
|
|
279
|
+
process.on(signal, forward);
|
|
280
|
+
}
|
|
281
|
+
const stopForwarding = () => {
|
|
282
|
+
for (const signal of forwardedSignals) {
|
|
283
|
+
process.off(signal, forward);
|
|
284
|
+
}
|
|
285
|
+
};
|
|
286
|
+
const result = await new Promise(resolve => {
|
|
287
|
+
child.once('error', resolve);
|
|
288
|
+
child.once('exit', (code, signal) => resolve({ code, signal }));
|
|
289
|
+
});
|
|
290
|
+
stopForwarding();
|
|
291
|
+
if (result instanceof Error) {
|
|
292
|
+
// The child never started (spawn errors precede any output of its own).
|
|
293
|
+
return startFailed(self, result);
|
|
294
|
+
}
|
|
295
|
+
if (result.signal) {
|
|
296
|
+
// Exit the way the child did, so callers see the same signal.
|
|
297
|
+
process.kill(process.pid, result.signal);
|
|
298
|
+
return true;
|
|
299
|
+
}
|
|
300
|
+
process.exit(result.code ?? 1);
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=project-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-cli.js","sourceRoot":"","sources":["../../src/services/project-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,11 @@ type ProjectParseOpts = {
|
|
|
26
26
|
loadPlaywrightChecksOnly?: boolean;
|
|
27
27
|
warnOnWebServerConfig?: boolean;
|
|
28
28
|
enableWorkspaces?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Warn about checks that have no location to run on. Only meaningful for
|
|
31
|
+
* commands that deploy the project, or validate it for deployment.
|
|
32
|
+
*/
|
|
33
|
+
warnOnMissingCheckLocations?: boolean;
|
|
29
34
|
};
|
|
30
35
|
export declare function parseProject(opts: ProjectParseOpts): Promise<Project>;
|
|
31
36
|
export {};
|