checkly 0.0.0-canary.7b9cf29
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/LICENSE +201 -0
- package/README.md +117 -0
- package/assets/runtimes/snapshots/20260130/runtimes.json +349 -0
- package/bin/run +8 -0
- package/bin/run.cmd +3 -0
- package/constructs.d.ts +1 -0
- package/constructs.js +2 -0
- package/dist/ai-context/checkly.rules.md +916 -0
- package/dist/ai-context/context.d.ts +150 -0
- package/dist/ai-context/context.js +263 -0
- package/dist/ai-context/context.js.map +1 -0
- package/dist/ai-context/onboarding-boilerplate/__checks__/api.check.ts +22 -0
- package/dist/ai-context/onboarding-boilerplate/__checks__/heartbeat.check.ts +16 -0
- package/dist/ai-context/onboarding-boilerplate/__checks__/homepage.spec.ts +12 -0
- package/dist/ai-context/onboarding-boilerplate/__checks__/url.check.ts +18 -0
- package/dist/ai-context/onboarding-boilerplate/checkly-config-template.ts +50 -0
- package/dist/ai-context/onboarding-prompts/base.md +1 -0
- package/dist/ai-context/onboarding-prompts/playwright.md +1 -0
- package/dist/ai-context/public-skills/checkly/README.md +43 -0
- package/dist/ai-context/public-skills/checkly/SKILL.md +112 -0
- package/dist/ai-context/skills-command/references/communicate-incidents.md +79 -0
- package/dist/ai-context/skills-command/references/communicate.md +33 -0
- package/dist/ai-context/skills-command/references/configure-agentic-checks.md +65 -0
- package/dist/ai-context/skills-command/references/configure-alert-channels.md +54 -0
- package/dist/ai-context/skills-command/references/configure-api-checks.md +73 -0
- package/dist/ai-context/skills-command/references/configure-browser-checks.md +36 -0
- package/dist/ai-context/skills-command/references/configure-check-groups.md +16 -0
- package/dist/ai-context/skills-command/references/configure-dns-monitors.md +39 -0
- package/dist/ai-context/skills-command/references/configure-environment.md +92 -0
- package/dist/ai-context/skills-command/references/configure-heartbeat-monitors.md +28 -0
- package/dist/ai-context/skills-command/references/configure-icmp-monitors.md +42 -0
- package/dist/ai-context/skills-command/references/configure-multistep-checks.md +34 -0
- package/dist/ai-context/skills-command/references/configure-playwright-checks.md +70 -0
- package/dist/ai-context/skills-command/references/configure-supporting-constructs.md +120 -0
- package/dist/ai-context/skills-command/references/configure-tcp-monitors.md +41 -0
- package/dist/ai-context/skills-command/references/configure-url-monitors.md +40 -0
- package/dist/ai-context/skills-command/references/configure.md +152 -0
- package/dist/ai-context/skills-command/references/initialize.md +134 -0
- package/dist/ai-context/skills-command/references/investigate-checks.md +156 -0
- package/dist/ai-context/skills-command/references/investigate-test-sessions.md +165 -0
- package/dist/ai-context/skills-command/references/investigate.md +15 -0
- package/dist/ai-context/skills-command/references/manage-account-members.md +82 -0
- package/dist/ai-context/skills-command/references/manage-plan.md +49 -0
- package/dist/ai-context/skills-command/references/manage.md +53 -0
- package/dist/auth/index.d.ts +15 -0
- package/dist/auth/index.js +226 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/commands/account/plan.d.ts +18 -0
- package/dist/commands/account/plan.js +113 -0
- package/dist/commands/account/plan.js.map +1 -0
- package/dist/commands/alert-channels/get.d.ts +14 -0
- package/dist/commands/alert-channels/get.js +50 -0
- package/dist/commands/alert-channels/get.js.map +1 -0
- package/dist/commands/alert-channels/list.d.ts +13 -0
- package/dist/commands/alert-channels/list.js +64 -0
- package/dist/commands/alert-channels/list.js.map +1 -0
- package/dist/commands/alert-channels/logs.d.ts +19 -0
- package/dist/commands/alert-channels/logs.js +91 -0
- package/dist/commands/alert-channels/logs.js.map +1 -0
- package/dist/commands/api.d.ts +23 -0
- package/dist/commands/api.js +205 -0
- package/dist/commands/api.js.map +1 -0
- package/dist/commands/assets/download.d.ts +19 -0
- package/dist/commands/assets/download.js +170 -0
- package/dist/commands/assets/download.js.map +1 -0
- package/dist/commands/assets/list.d.ts +17 -0
- package/dist/commands/assets/list.js +107 -0
- package/dist/commands/assets/list.js.map +1 -0
- package/dist/commands/authCommand.d.ts +14 -0
- package/dist/commands/authCommand.js +49 -0
- package/dist/commands/authCommand.js.map +1 -0
- package/dist/commands/baseCommand.d.ts +23 -0
- package/dist/commands/baseCommand.js +93 -0
- package/dist/commands/baseCommand.js.map +1 -0
- package/dist/commands/checks/delete.d.ts +15 -0
- package/dist/commands/checks/delete.js +65 -0
- package/dist/commands/checks/delete.js.map +1 -0
- package/dist/commands/checks/get.d.ts +30 -0
- package/dist/commands/checks/get.js +361 -0
- package/dist/commands/checks/get.js.map +1 -0
- package/dist/commands/checks/list.d.ts +18 -0
- package/dist/commands/checks/list.js +124 -0
- package/dist/commands/checks/list.js.map +1 -0
- package/dist/commands/checks/stats.d.ts +22 -0
- package/dist/commands/checks/stats.js +181 -0
- package/dist/commands/checks/stats.js.map +1 -0
- package/dist/commands/debug/parse-file.d.ts +13 -0
- package/dist/commands/debug/parse-file.js +74 -0
- package/dist/commands/debug/parse-file.js.map +1 -0
- package/dist/commands/debug/parse-playwright-config.d.ts +9 -0
- package/dist/commands/debug/parse-playwright-config.js +27 -0
- package/dist/commands/debug/parse-playwright-config.js.map +1 -0
- package/dist/commands/debug/parse-project.d.ts +43 -0
- package/dist/commands/debug/parse-project.js +187 -0
- package/dist/commands/debug/parse-project.js.map +1 -0
- package/dist/commands/deploy.d.ts +20 -0
- package/dist/commands/deploy.js +341 -0
- package/dist/commands/deploy.js.map +1 -0
- package/dist/commands/destroy.d.ts +12 -0
- package/dist/commands/destroy.js +76 -0
- package/dist/commands/destroy.js.map +1 -0
- package/dist/commands/env/add.d.ts +14 -0
- package/dist/commands/env/add.js +54 -0
- package/dist/commands/env/add.js.map +1 -0
- package/dist/commands/env/ls.d.ts +8 -0
- package/dist/commands/env/ls.js +20 -0
- package/dist/commands/env/ls.js.map +1 -0
- package/dist/commands/env/pull.d.ts +14 -0
- package/dist/commands/env/pull.js +72 -0
- package/dist/commands/env/pull.js.map +1 -0
- package/dist/commands/env/rm.d.ts +13 -0
- package/dist/commands/env/rm.js +46 -0
- package/dist/commands/env/rm.js.map +1 -0
- package/dist/commands/env/update.d.ts +15 -0
- package/dist/commands/env/update.js +55 -0
- package/dist/commands/env/update.js.map +1 -0
- package/dist/commands/help.d.ts +6 -0
- package/dist/commands/help.js +11 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/import/apply.d.ts +14 -0
- package/dist/commands/import/apply.js +125 -0
- package/dist/commands/import/apply.js.map +1 -0
- package/dist/commands/import/cancel.d.ts +12 -0
- package/dist/commands/import/cancel.js +91 -0
- package/dist/commands/import/cancel.js.map +1 -0
- package/dist/commands/import/commit.d.ts +14 -0
- package/dist/commands/import/commit.js +109 -0
- package/dist/commands/import/commit.js.map +1 -0
- package/dist/commands/import/plan.d.ts +23 -0
- package/dist/commands/import/plan.js +1273 -0
- package/dist/commands/import/plan.js.map +1 -0
- package/dist/commands/incidents/create.d.ts +17 -0
- package/dist/commands/incidents/create.js +102 -0
- package/dist/commands/incidents/create.js.map +1 -0
- package/dist/commands/incidents/list.d.ts +14 -0
- package/dist/commands/incidents/list.js +80 -0
- package/dist/commands/incidents/list.js.map +1 -0
- package/dist/commands/incidents/resolve.d.ts +16 -0
- package/dist/commands/incidents/resolve.js +78 -0
- package/dist/commands/incidents/resolve.js.map +1 -0
- package/dist/commands/incidents/update.d.ts +18 -0
- package/dist/commands/incidents/update.js +105 -0
- package/dist/commands/incidents/update.js.map +1 -0
- package/dist/commands/init.d.ts +23 -0
- package/dist/commands/init.js +273 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/login.d.ts +14 -0
- package/dist/commands/login.js +96 -0
- package/dist/commands/login.js.map +1 -0
- package/dist/commands/logout.d.ts +10 -0
- package/dist/commands/logout.js +38 -0
- package/dist/commands/logout.js.map +1 -0
- package/dist/commands/members/delete.d.ts +18 -0
- package/dist/commands/members/delete.js +73 -0
- package/dist/commands/members/delete.js.map +1 -0
- package/dist/commands/members/update.d.ts +21 -0
- package/dist/commands/members/update.js +104 -0
- package/dist/commands/members/update.js.map +1 -0
- package/dist/commands/members.d.ts +23 -0
- package/dist/commands/members.js +136 -0
- package/dist/commands/members.js.map +1 -0
- package/dist/commands/pw-test.d.ts +34 -0
- package/dist/commands/pw-test.js +378 -0
- package/dist/commands/pw-test.js.map +1 -0
- package/dist/commands/rca/get.d.ts +15 -0
- package/dist/commands/rca/get.js +69 -0
- package/dist/commands/rca/get.js.map +1 -0
- package/dist/commands/rca/run.d.ts +16 -0
- package/dist/commands/rca/run.js +113 -0
- package/dist/commands/rca/run.js.map +1 -0
- package/dist/commands/rules.d.ts +10 -0
- package/dist/commands/rules.js +127 -0
- package/dist/commands/rules.js.map +1 -0
- package/dist/commands/runtimes.d.ts +8 -0
- package/dist/commands/runtimes.js +25 -0
- package/dist/commands/runtimes.js.map +1 -0
- package/dist/commands/skills/index.d.ts +12 -0
- package/dist/commands/skills/index.js +108 -0
- package/dist/commands/skills/index.js.map +1 -0
- package/dist/commands/skills/install.d.ts +23 -0
- package/dist/commands/skills/install.js +203 -0
- package/dist/commands/skills/install.js.map +1 -0
- package/dist/commands/status-pages/get.d.ts +14 -0
- package/dist/commands/status-pages/get.js +48 -0
- package/dist/commands/status-pages/get.js.map +1 -0
- package/dist/commands/status-pages/list.d.ts +14 -0
- package/dist/commands/status-pages/list.js +82 -0
- package/dist/commands/status-pages/list.js.map +1 -0
- package/dist/commands/switch.d.ts +10 -0
- package/dist/commands/switch.js +53 -0
- package/dist/commands/switch.js.map +1 -0
- package/dist/commands/sync-playwright.d.ts +8 -0
- package/dist/commands/sync-playwright.js +53 -0
- package/dist/commands/sync-playwright.js.map +1 -0
- package/dist/commands/test-sessions/get.d.ts +21 -0
- package/dist/commands/test-sessions/get.js +121 -0
- package/dist/commands/test-sessions/get.js.map +1 -0
- package/dist/commands/test-sessions/list.d.ts +22 -0
- package/dist/commands/test-sessions/list.js +190 -0
- package/dist/commands/test-sessions/list.js.map +1 -0
- package/dist/commands/test.d.ts +37 -0
- package/dist/commands/test.js +390 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/trigger.d.ts +40 -0
- package/dist/commands/trigger.js +241 -0
- package/dist/commands/trigger.js.map +1 -0
- package/dist/commands/validate.d.ts +13 -0
- package/dist/commands/validate.js +81 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/whoami.d.ts +8 -0
- package/dist/commands/whoami.js +22 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config.d.ts +31 -0
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +16 -0
- package/dist/constants.js +25 -0
- package/dist/constants.js.map +1 -0
- package/dist/constructs/agentic-check-codegen.d.ts +22 -0
- package/dist/constructs/agentic-check-codegen.js +58 -0
- package/dist/constructs/agentic-check-codegen.js.map +1 -0
- package/dist/constructs/agentic-check.d.ts +130 -0
- package/dist/constructs/agentic-check.js +100 -0
- package/dist/constructs/agentic-check.js.map +1 -0
- package/dist/constructs/alert-channel-codegen.d.ts +37 -0
- package/dist/constructs/alert-channel-codegen.js +96 -0
- package/dist/constructs/alert-channel-codegen.js.map +1 -0
- package/dist/constructs/alert-channel-subscription-codegen.d.ts +11 -0
- package/dist/constructs/alert-channel-subscription-codegen.js +20 -0
- package/dist/constructs/alert-channel-subscription-codegen.js.map +1 -0
- package/dist/constructs/alert-channel-subscription.d.ts +46 -0
- package/dist/constructs/alert-channel-subscription.js +45 -0
- package/dist/constructs/alert-channel-subscription.js.map +1 -0
- package/dist/constructs/alert-channel.d.ts +130 -0
- package/dist/constructs/alert-channel.js +103 -0
- package/dist/constructs/alert-channel.js.map +1 -0
- package/dist/constructs/alert-escalation-policy-codegen.d.ts +4 -0
- package/dist/constructs/alert-escalation-policy-codegen.js +55 -0
- package/dist/constructs/alert-escalation-policy-codegen.js.map +1 -0
- package/dist/constructs/alert-escalation-policy.d.ts +114 -0
- package/dist/constructs/alert-escalation-policy.js +62 -0
- package/dist/constructs/alert-escalation-policy.js.map +1 -0
- package/dist/constructs/api-assertion-codegen.d.ts +3 -0
- package/dist/constructs/api-assertion-codegen.js +19 -0
- package/dist/constructs/api-assertion-codegen.js.map +1 -0
- package/dist/constructs/api-assertion.d.ts +74 -0
- package/dist/constructs/api-assertion.js +81 -0
- package/dist/constructs/api-assertion.js.map +1 -0
- package/dist/constructs/api-check-bundle.d.ts +58 -0
- package/dist/constructs/api-check-bundle.js +30 -0
- package/dist/constructs/api-check-bundle.js.map +1 -0
- package/dist/constructs/api-check-codegen.d.ts +19 -0
- package/dist/constructs/api-check-codegen.js +83 -0
- package/dist/constructs/api-check-codegen.js.map +1 -0
- package/dist/constructs/api-check.d.ts +193 -0
- package/dist/constructs/api-check.js +219 -0
- package/dist/constructs/api-check.js.map +1 -0
- package/dist/constructs/api-request-codegen.d.ts +4 -0
- package/dist/constructs/api-request-codegen.js +64 -0
- package/dist/constructs/api-request-codegen.js.map +1 -0
- package/dist/constructs/api-request.d.ts +67 -0
- package/dist/constructs/api-request.js +2 -0
- package/dist/constructs/api-request.js.map +1 -0
- package/dist/constructs/browser-check-bundle.d.ts +59 -0
- package/dist/constructs/browser-check-bundle.js +27 -0
- package/dist/constructs/browser-check-bundle.js.map +1 -0
- package/dist/constructs/browser-check-codegen.d.ts +14 -0
- package/dist/constructs/browser-check-codegen.js +44 -0
- package/dist/constructs/browser-check-codegen.js.map +1 -0
- package/dist/constructs/browser-check.d.ts +129 -0
- package/dist/constructs/browser-check.js +169 -0
- package/dist/constructs/browser-check.js.map +1 -0
- package/dist/constructs/check-codegen.d.ts +74 -0
- package/dist/constructs/check-codegen.js +251 -0
- package/dist/constructs/check-codegen.js.map +1 -0
- package/dist/constructs/check-config.d.ts +2 -0
- package/dist/constructs/check-config.js +17 -0
- package/dist/constructs/check-config.js.map +1 -0
- package/dist/constructs/check-group-codegen.d.ts +46 -0
- package/dist/constructs/check-group-codegen.js +268 -0
- package/dist/constructs/check-group-codegen.js.map +1 -0
- package/dist/constructs/check-group-ref.d.ts +20 -0
- package/dist/constructs/check-group-ref.js +46 -0
- package/dist/constructs/check-group-ref.js.map +1 -0
- package/dist/constructs/check-group-v1.d.ts +304 -0
- package/dist/constructs/check-group-v1.js +254 -0
- package/dist/constructs/check-group-v1.js.map +1 -0
- package/dist/constructs/check-group-v2.d.ts +120 -0
- package/dist/constructs/check-group-v2.js +68 -0
- package/dist/constructs/check-group-v2.js.map +1 -0
- package/dist/constructs/check-group.d.ts +4 -0
- package/dist/constructs/check-group.js +5 -0
- package/dist/constructs/check-group.js.map +1 -0
- package/dist/constructs/check.d.ts +336 -0
- package/dist/constructs/check.js +234 -0
- package/dist/constructs/check.js.map +1 -0
- package/dist/constructs/construct-codegen.d.ts +39 -0
- package/dist/constructs/construct-codegen.js +95 -0
- package/dist/constructs/construct-codegen.js.map +1 -0
- package/dist/constructs/construct-diagnostics.d.ts +53 -0
- package/dist/constructs/construct-diagnostics.js +156 -0
- package/dist/constructs/construct-diagnostics.js.map +1 -0
- package/dist/constructs/construct.d.ts +142 -0
- package/dist/constructs/construct.js +120 -0
- package/dist/constructs/construct.js.map +1 -0
- package/dist/constructs/dashboard-bundle.d.ts +11 -0
- package/dist/constructs/dashboard-bundle.js +15 -0
- package/dist/constructs/dashboard-bundle.js.map +1 -0
- package/dist/constructs/dashboard-codegen.d.ts +29 -0
- package/dist/constructs/dashboard-codegen.js +104 -0
- package/dist/constructs/dashboard-codegen.js.map +1 -0
- package/dist/constructs/dashboard.d.ts +226 -0
- package/dist/constructs/dashboard.js +140 -0
- package/dist/constructs/dashboard.js.map +1 -0
- package/dist/constructs/diagnostics.d.ts +59 -0
- package/dist/constructs/diagnostics.js +71 -0
- package/dist/constructs/diagnostics.js.map +1 -0
- package/dist/constructs/dns-assertion-codegen.d.ts +3 -0
- package/dist/constructs/dns-assertion-codegen.js +26 -0
- package/dist/constructs/dns-assertion-codegen.js.map +1 -0
- package/dist/constructs/dns-assertion.d.ts +45 -0
- package/dist/constructs/dns-assertion.js +51 -0
- package/dist/constructs/dns-assertion.js.map +1 -0
- package/dist/constructs/dns-monitor-codegen.d.ts +13 -0
- package/dist/constructs/dns-monitor-codegen.js +34 -0
- package/dist/constructs/dns-monitor-codegen.js.map +1 -0
- package/dist/constructs/dns-monitor.d.ts +87 -0
- package/dist/constructs/dns-monitor.js +55 -0
- package/dist/constructs/dns-monitor.js.map +1 -0
- package/dist/constructs/dns-request-codegen.d.ts +4 -0
- package/dist/constructs/dns-request-codegen.js +28 -0
- package/dist/constructs/dns-request-codegen.js.map +1 -0
- package/dist/constructs/dns-request.d.ts +53 -0
- package/dist/constructs/dns-request.js +2 -0
- package/dist/constructs/dns-request.js.map +1 -0
- package/dist/constructs/email-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/email-alert-channel-codegen.js +34 -0
- package/dist/constructs/email-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/email-alert-channel.d.ts +27 -0
- package/dist/constructs/email-alert-channel.js +37 -0
- package/dist/constructs/email-alert-channel.js.map +1 -0
- package/dist/constructs/engine.d.ts +40 -0
- package/dist/constructs/engine.js +23 -0
- package/dist/constructs/engine.js.map +1 -0
- package/dist/constructs/environment-variable.d.ts +21 -0
- package/dist/constructs/environment-variable.js +2 -0
- package/dist/constructs/environment-variable.js.map +1 -0
- package/dist/constructs/frequency-codegen.d.ts +8 -0
- package/dist/constructs/frequency-codegen.js +51 -0
- package/dist/constructs/frequency-codegen.js.map +1 -0
- package/dist/constructs/frequency.d.ts +62 -0
- package/dist/constructs/frequency.js +66 -0
- package/dist/constructs/frequency.js.map +1 -0
- package/dist/constructs/heartbeat-monitor-codegen.d.ts +11 -0
- package/dist/constructs/heartbeat-monitor-codegen.js +29 -0
- package/dist/constructs/heartbeat-monitor-codegen.js.map +1 -0
- package/dist/constructs/heartbeat-monitor.d.ts +40 -0
- package/dist/constructs/heartbeat-monitor.js +56 -0
- package/dist/constructs/heartbeat-monitor.js.map +1 -0
- package/dist/constructs/http-header.d.ts +18 -0
- package/dist/constructs/http-header.js +2 -0
- package/dist/constructs/http-header.js.map +1 -0
- package/dist/constructs/http-request.d.ts +2 -0
- package/dist/constructs/http-request.js +2 -0
- package/dist/constructs/http-request.js.map +1 -0
- package/dist/constructs/icmp-assertion-codegen.d.ts +3 -0
- package/dist/constructs/icmp-assertion-codegen.js +18 -0
- package/dist/constructs/icmp-assertion-codegen.js.map +1 -0
- package/dist/constructs/icmp-assertion.d.ts +56 -0
- package/dist/constructs/icmp-assertion.js +57 -0
- package/dist/constructs/icmp-assertion.js.map +1 -0
- package/dist/constructs/icmp-monitor-codegen.d.ts +13 -0
- package/dist/constructs/icmp-monitor-codegen.js +34 -0
- package/dist/constructs/icmp-monitor-codegen.js.map +1 -0
- package/dist/constructs/icmp-monitor.d.ts +83 -0
- package/dist/constructs/icmp-monitor.js +43 -0
- package/dist/constructs/icmp-monitor.js.map +1 -0
- package/dist/constructs/icmp-request-codegen.d.ts +4 -0
- package/dist/constructs/icmp-request-codegen.js +24 -0
- package/dist/constructs/icmp-request-codegen.js.map +1 -0
- package/dist/constructs/icmp-request.d.ts +37 -0
- package/dist/constructs/icmp-request.js +2 -0
- package/dist/constructs/icmp-request.js.map +1 -0
- package/dist/constructs/incident.d.ts +15 -0
- package/dist/constructs/incident.js +2 -0
- package/dist/constructs/incident.js.map +1 -0
- package/dist/constructs/incidentio-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/incidentio-alert-channel-codegen.js +85 -0
- package/dist/constructs/incidentio-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/incidentio-alert-channel.d.ts +44 -0
- package/dist/constructs/incidentio-alert-channel.js +67 -0
- package/dist/constructs/incidentio-alert-channel.js.map +1 -0
- package/dist/constructs/index.d.ts +54 -0
- package/dist/constructs/index.js +55 -0
- package/dist/constructs/index.js.map +1 -0
- package/dist/constructs/internal/assertion-codegen.d.ts +11 -0
- package/dist/constructs/internal/assertion-codegen.js +144 -0
- package/dist/constructs/internal/assertion-codegen.js.map +1 -0
- package/dist/constructs/internal/assertion.d.ts +40 -0
- package/dist/constructs/internal/assertion.js +93 -0
- package/dist/constructs/internal/assertion.js.map +1 -0
- package/dist/constructs/internal/codegen/codegen.d.ts +9 -0
- package/dist/constructs/internal/codegen/codegen.js +16 -0
- package/dist/constructs/internal/codegen/codegen.js.map +1 -0
- package/dist/constructs/internal/codegen/context.d.ts +62 -0
- package/dist/constructs/internal/codegen/context.js +413 -0
- package/dist/constructs/internal/codegen/context.js.map +1 -0
- package/dist/constructs/internal/codegen/index.d.ts +4 -0
- package/dist/constructs/internal/codegen/index.js +5 -0
- package/dist/constructs/internal/codegen/index.js.map +1 -0
- package/dist/constructs/internal/codegen/safety.d.ts +2 -0
- package/dist/constructs/internal/codegen/safety.js +3 -0
- package/dist/constructs/internal/codegen/safety.js.map +1 -0
- package/dist/constructs/internal/codegen/snippet.d.ts +12 -0
- package/dist/constructs/internal/codegen/snippet.js +39 -0
- package/dist/constructs/internal/codegen/snippet.js.map +1 -0
- package/dist/constructs/internal/common-diagnostics.d.ts +21 -0
- package/dist/constructs/internal/common-diagnostics.js +84 -0
- package/dist/constructs/internal/common-diagnostics.js.map +1 -0
- package/dist/constructs/internal/sanitize.d.ts +15 -0
- package/dist/constructs/internal/sanitize.js +36 -0
- package/dist/constructs/internal/sanitize.js.map +1 -0
- package/dist/constructs/ip.d.ts +2 -0
- package/dist/constructs/ip.js +2 -0
- package/dist/constructs/ip.js.map +1 -0
- package/dist/constructs/key-value-pair-codegen.d.ts +4 -0
- package/dist/constructs/key-value-pair-codegen.js +35 -0
- package/dist/constructs/key-value-pair-codegen.js.map +1 -0
- package/dist/constructs/key-value-pair.d.ts +41 -0
- package/dist/constructs/key-value-pair.js +2 -0
- package/dist/constructs/key-value-pair.js.map +1 -0
- package/dist/constructs/maintenance-window-codegen.d.ts +14 -0
- package/dist/constructs/maintenance-window-codegen.js +53 -0
- package/dist/constructs/maintenance-window-codegen.js.map +1 -0
- package/dist/constructs/maintenance-window.d.ts +62 -0
- package/dist/constructs/maintenance-window.js +53 -0
- package/dist/constructs/maintenance-window.js.map +1 -0
- package/dist/constructs/monitor-codegen.d.ts +1 -0
- package/dist/constructs/monitor-codegen.js +2 -0
- package/dist/constructs/monitor-codegen.js.map +1 -0
- package/dist/constructs/monitor.d.ts +127 -0
- package/dist/constructs/monitor.js +17 -0
- package/dist/constructs/monitor.js.map +1 -0
- package/dist/constructs/msteams-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/msteams-alert-channel-codegen.js +71 -0
- package/dist/constructs/msteams-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/msteams-alert-channel.d.ts +39 -0
- package/dist/constructs/msteams-alert-channel.js +162 -0
- package/dist/constructs/msteams-alert-channel.js.map +1 -0
- package/dist/constructs/multi-step-check-bundle.d.ts +47 -0
- package/dist/constructs/multi-step-check-bundle.js +21 -0
- package/dist/constructs/multi-step-check-bundle.js.map +1 -0
- package/dist/constructs/multi-step-check-codegen.d.ts +13 -0
- package/dist/constructs/multi-step-check-codegen.js +35 -0
- package/dist/constructs/multi-step-check-codegen.js.map +1 -0
- package/dist/constructs/multi-step-check.d.ts +75 -0
- package/dist/constructs/multi-step-check.js +121 -0
- package/dist/constructs/multi-step-check.js.map +1 -0
- package/dist/constructs/opsgenie-alert-channel-codegen.d.ts +16 -0
- package/dist/constructs/opsgenie-alert-channel-codegen.js +37 -0
- package/dist/constructs/opsgenie-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/opsgenie-alert-channel.d.ts +46 -0
- package/dist/constructs/opsgenie-alert-channel.js +47 -0
- package/dist/constructs/opsgenie-alert-channel.js.map +1 -0
- package/dist/constructs/pagerduty-alert-channel-codegen.d.ts +15 -0
- package/dist/constructs/pagerduty-alert-channel-codegen.js +49 -0
- package/dist/constructs/pagerduty-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/pagerduty-alert-channel.d.ts +40 -0
- package/dist/constructs/pagerduty-alert-channel.js +44 -0
- package/dist/constructs/pagerduty-alert-channel.js.map +1 -0
- package/dist/constructs/phone-call-alert-channel-codegen.d.ts +14 -0
- package/dist/constructs/phone-call-alert-channel-codegen.js +42 -0
- package/dist/constructs/phone-call-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/phone-call-alert-channel.d.ts +34 -0
- package/dist/constructs/phone-call-alert-channel.js +42 -0
- package/dist/constructs/phone-call-alert-channel.js.map +1 -0
- package/dist/constructs/playwright-check-bundle.d.ts +63 -0
- package/dist/constructs/playwright-check-bundle.js +36 -0
- package/dist/constructs/playwright-check-bundle.js.map +1 -0
- package/dist/constructs/playwright-check.d.ts +193 -0
- package/dist/constructs/playwright-check.js +328 -0
- package/dist/constructs/playwright-check.js.map +1 -0
- package/dist/constructs/playwright-config-codegen.d.ts +4 -0
- package/dist/constructs/playwright-config-codegen.js +5 -0
- package/dist/constructs/playwright-config-codegen.js.map +1 -0
- package/dist/constructs/playwright-config.d.ts +52 -0
- package/dist/constructs/playwright-config.js +2 -0
- package/dist/constructs/playwright-config.js.map +1 -0
- package/dist/constructs/private-location-check-assignment-codegen.d.ts +10 -0
- package/dist/constructs/private-location-check-assignment-codegen.js +15 -0
- package/dist/constructs/private-location-check-assignment-codegen.js.map +1 -0
- package/dist/constructs/private-location-check-assignment.d.ts +30 -0
- package/dist/constructs/private-location-check-assignment.js +36 -0
- package/dist/constructs/private-location-check-assignment.js.map +1 -0
- package/dist/constructs/private-location-codegen.d.ts +15 -0
- package/dist/constructs/private-location-codegen.js +46 -0
- package/dist/constructs/private-location-codegen.js.map +1 -0
- package/dist/constructs/private-location-group-assignment-codegen.d.ts +10 -0
- package/dist/constructs/private-location-group-assignment-codegen.js +15 -0
- package/dist/constructs/private-location-group-assignment-codegen.js.map +1 -0
- package/dist/constructs/private-location-group-assignment.d.ts +31 -0
- package/dist/constructs/private-location-group-assignment.js +39 -0
- package/dist/constructs/private-location-group-assignment.js.map +1 -0
- package/dist/constructs/private-location.d.ts +66 -0
- package/dist/constructs/private-location.js +88 -0
- package/dist/constructs/private-location.js.map +1 -0
- package/dist/constructs/project-bundle.d.ts +30 -0
- package/dist/constructs/project-bundle.js +40 -0
- package/dist/constructs/project-bundle.js.map +1 -0
- package/dist/constructs/project.d.ts +61 -0
- package/dist/constructs/project.js +127 -0
- package/dist/constructs/project.js.map +1 -0
- package/dist/constructs/query-param.d.ts +18 -0
- package/dist/constructs/query-param.js +2 -0
- package/dist/constructs/query-param.js.map +1 -0
- package/dist/constructs/ref-codegen.d.ts +3 -0
- package/dist/constructs/ref-codegen.js +11 -0
- package/dist/constructs/ref-codegen.js.map +1 -0
- package/dist/constructs/ref.d.ts +49 -0
- package/dist/constructs/ref.js +54 -0
- package/dist/constructs/ref.js.map +1 -0
- package/dist/constructs/retry-strategy-codegen.d.ts +4 -0
- package/dist/constructs/retry-strategy-codegen.js +104 -0
- package/dist/constructs/retry-strategy-codegen.js.map +1 -0
- package/dist/constructs/retry-strategy.d.ts +196 -0
- package/dist/constructs/retry-strategy.js +110 -0
- package/dist/constructs/retry-strategy.js.map +1 -0
- package/dist/constructs/session.d.ts +67 -0
- package/dist/constructs/session.js +197 -0
- package/dist/constructs/session.js.map +1 -0
- package/dist/constructs/slack-alert-channel-codegen.d.ts +14 -0
- package/dist/constructs/slack-alert-channel-codegen.js +42 -0
- package/dist/constructs/slack-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/slack-alert-channel.d.ts +27 -0
- package/dist/constructs/slack-alert-channel.js +41 -0
- package/dist/constructs/slack-alert-channel.js.map +1 -0
- package/dist/constructs/slack-app-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/slack-app-alert-channel-codegen.js +39 -0
- package/dist/constructs/slack-app-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/slack-app-alert-channel.d.ts +31 -0
- package/dist/constructs/slack-app-alert-channel.js +38 -0
- package/dist/constructs/slack-app-alert-channel.js.map +1 -0
- package/dist/constructs/sms-alert-channel-codegen.d.ts +14 -0
- package/dist/constructs/sms-alert-channel-codegen.js +42 -0
- package/dist/constructs/sms-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/sms-alert-channel.d.ts +33 -0
- package/dist/constructs/sms-alert-channel.js +41 -0
- package/dist/constructs/sms-alert-channel.js.map +1 -0
- package/dist/constructs/status-page-codegen.d.ts +23 -0
- package/dist/constructs/status-page-codegen.js +67 -0
- package/dist/constructs/status-page-codegen.js.map +1 -0
- package/dist/constructs/status-page-service-codegen.d.ts +12 -0
- package/dist/constructs/status-page-service-codegen.js +39 -0
- package/dist/constructs/status-page-service-codegen.js.map +1 -0
- package/dist/constructs/status-page-service.d.ts +43 -0
- package/dist/constructs/status-page-service.js +61 -0
- package/dist/constructs/status-page-service.js.map +1 -0
- package/dist/constructs/status-page.d.ts +72 -0
- package/dist/constructs/status-page.js +58 -0
- package/dist/constructs/status-page.js.map +1 -0
- package/dist/constructs/tcp-monitor-codegen.d.ts +15 -0
- package/dist/constructs/tcp-monitor-codegen.js +64 -0
- package/dist/constructs/tcp-monitor-codegen.js.map +1 -0
- package/dist/constructs/tcp-monitor.d.ts +155 -0
- package/dist/constructs/tcp-monitor.js +83 -0
- package/dist/constructs/tcp-monitor.js.map +1 -0
- package/dist/constructs/telegram-alert-channel-codegen.d.ts +13 -0
- package/dist/constructs/telegram-alert-channel-codegen.js +98 -0
- package/dist/constructs/telegram-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/telegram-alert-channel.d.ts +44 -0
- package/dist/constructs/telegram-alert-channel.js +60 -0
- package/dist/constructs/telegram-alert-channel.js.map +1 -0
- package/dist/constructs/url-assertion-codegen.d.ts +3 -0
- package/dist/constructs/url-assertion-codegen.js +11 -0
- package/dist/constructs/url-assertion-codegen.js.map +1 -0
- package/dist/constructs/url-assertion.d.ts +60 -0
- package/dist/constructs/url-assertion.js +52 -0
- package/dist/constructs/url-assertion.js.map +1 -0
- package/dist/constructs/url-monitor-codegen.d.ts +13 -0
- package/dist/constructs/url-monitor-codegen.js +34 -0
- package/dist/constructs/url-monitor-codegen.js.map +1 -0
- package/dist/constructs/url-monitor.d.ts +151 -0
- package/dist/constructs/url-monitor.js +109 -0
- package/dist/constructs/url-monitor.js.map +1 -0
- package/dist/constructs/url-request-codegen.d.ts +4 -0
- package/dist/constructs/url-request-codegen.js +27 -0
- package/dist/constructs/url-request-codegen.js.map +1 -0
- package/dist/constructs/url-request.d.ts +65 -0
- package/dist/constructs/url-request.js +2 -0
- package/dist/constructs/url-request.js.map +1 -0
- package/dist/constructs/validator-error.d.ts +2 -0
- package/dist/constructs/validator-error.js +3 -0
- package/dist/constructs/validator-error.js.map +1 -0
- package/dist/constructs/webhook-alert-channel-codegen.d.ts +34 -0
- package/dist/constructs/webhook-alert-channel-codegen.js +147 -0
- package/dist/constructs/webhook-alert-channel-codegen.js.map +1 -0
- package/dist/constructs/webhook-alert-channel.d.ts +68 -0
- package/dist/constructs/webhook-alert-channel.js +59 -0
- package/dist/constructs/webhook-alert-channel.js.map +1 -0
- package/dist/formatters/account-members.d.ts +8 -0
- package/dist/formatters/account-members.js +115 -0
- package/dist/formatters/account-members.js.map +1 -0
- package/dist/formatters/account-plan.d.ts +16 -0
- package/dist/formatters/account-plan.js +320 -0
- package/dist/formatters/account-plan.js.map +1 -0
- package/dist/formatters/alert-channels.d.ts +15 -0
- package/dist/formatters/alert-channels.js +257 -0
- package/dist/formatters/alert-channels.js.map +1 -0
- package/dist/formatters/analytics.d.ts +8 -0
- package/dist/formatters/analytics.js +223 -0
- package/dist/formatters/analytics.js.map +1 -0
- package/dist/formatters/assets.d.ts +22 -0
- package/dist/formatters/assets.js +280 -0
- package/dist/formatters/assets.js.map +1 -0
- package/dist/formatters/batch-stats.d.ts +8 -0
- package/dist/formatters/batch-stats.js +184 -0
- package/dist/formatters/batch-stats.js.map +1 -0
- package/dist/formatters/check-result-detail.d.ts +12 -0
- package/dist/formatters/check-result-detail.js +651 -0
- package/dist/formatters/check-result-detail.js.map +1 -0
- package/dist/formatters/checks.d.ts +29 -0
- package/dist/formatters/checks.js +336 -0
- package/dist/formatters/checks.js.map +1 -0
- package/dist/formatters/incidents.d.ts +7 -0
- package/dist/formatters/incidents.js +172 -0
- package/dist/formatters/incidents.js.map +1 -0
- package/dist/formatters/rca.d.ts +42 -0
- package/dist/formatters/rca.js +156 -0
- package/dist/formatters/rca.js.map +1 -0
- package/dist/formatters/render.d.ts +47 -0
- package/dist/formatters/render.js +261 -0
- package/dist/formatters/render.js.map +1 -0
- package/dist/formatters/status-pages.d.ts +7 -0
- package/dist/formatters/status-pages.js +236 -0
- package/dist/formatters/status-pages.js.map +1 -0
- package/dist/formatters/test-sessions.d.ts +18 -0
- package/dist/formatters/test-sessions.js +341 -0
- package/dist/formatters/test-sessions.js.map +1 -0
- package/dist/help/examples.d.ts +6 -0
- package/dist/help/examples.js +20 -0
- package/dist/help/examples.js.map +1 -0
- package/dist/help/help-extension.d.ts +6 -0
- package/dist/help/help-extension.js +91 -0
- package/dist/help/help-extension.js.map +1 -0
- package/dist/help/skills.d.ts +7 -0
- package/dist/help/skills.js +20 -0
- package/dist/help/skills.js.map +1 -0
- package/dist/helpers/account-member-target.d.ts +14 -0
- package/dist/helpers/account-member-target.js +37 -0
- package/dist/helpers/account-member-target.js.map +1 -0
- package/dist/helpers/api-fields.d.ts +4 -0
- package/dist/helpers/api-fields.js +24 -0
- package/dist/helpers/api-fields.js.map +1 -0
- package/dist/helpers/cli-mode.d.ts +4 -0
- package/dist/helpers/cli-mode.js +62 -0
- package/dist/helpers/cli-mode.js.map +1 -0
- package/dist/helpers/command-preview.d.ts +24 -0
- package/dist/helpers/command-preview.js +50 -0
- package/dist/helpers/command-preview.js.map +1 -0
- package/dist/helpers/command-style.d.ts +21 -0
- package/dist/helpers/command-style.js +108 -0
- package/dist/helpers/command-style.js.map +1 -0
- package/dist/helpers/constants.d.ts +1 -0
- package/dist/helpers/constants.js +2 -0
- package/dist/helpers/constants.js.map +1 -0
- package/dist/helpers/content-range.d.ts +1 -0
- package/dist/helpers/content-range.js +7 -0
- package/dist/helpers/content-range.js.map +1 -0
- package/dist/helpers/flags.d.ts +11 -0
- package/dist/helpers/flags.js +45 -0
- package/dist/helpers/flags.js.map +1 -0
- package/dist/helpers/incidents.d.ts +15 -0
- package/dist/helpers/incidents.js +50 -0
- package/dist/helpers/incidents.js.map +1 -0
- package/dist/helpers/number.d.ts +3 -0
- package/dist/helpers/number.js +20 -0
- package/dist/helpers/number.js.map +1 -0
- package/dist/helpers/onboarding/boilerplate.d.ts +15 -0
- package/dist/helpers/onboarding/boilerplate.js +166 -0
- package/dist/helpers/onboarding/boilerplate.js.map +1 -0
- package/dist/helpers/onboarding/clipboard.d.ts +1 -0
- package/dist/helpers/onboarding/clipboard.js +28 -0
- package/dist/helpers/onboarding/clipboard.js.map +1 -0
- package/dist/helpers/onboarding/detect-project.d.ts +10 -0
- package/dist/helpers/onboarding/detect-project.js +31 -0
- package/dist/helpers/onboarding/detect-project.js.map +1 -0
- package/dist/helpers/onboarding/index.d.ts +7 -0
- package/dist/helpers/onboarding/index.js +8 -0
- package/dist/helpers/onboarding/index.js.map +1 -0
- package/dist/helpers/onboarding/messages.d.ts +5 -0
- package/dist/helpers/onboarding/messages.js +141 -0
- package/dist/helpers/onboarding/messages.js.map +1 -0
- package/dist/helpers/onboarding/prompt-display.d.ts +1 -0
- package/dist/helpers/onboarding/prompt-display.js +76 -0
- package/dist/helpers/onboarding/prompt-display.js.map +1 -0
- package/dist/helpers/onboarding/prompts-helpers.d.ts +2 -0
- package/dist/helpers/onboarding/prompts-helpers.js +11 -0
- package/dist/helpers/onboarding/prompts-helpers.js.map +1 -0
- package/dist/helpers/onboarding/skill-install.d.ts +10 -0
- package/dist/helpers/onboarding/skill-install.js +85 -0
- package/dist/helpers/onboarding/skill-install.js.map +1 -0
- package/dist/helpers/onboarding/template-prompt.d.ts +2 -0
- package/dist/helpers/onboarding/template-prompt.js +14 -0
- package/dist/helpers/onboarding/template-prompt.js.map +1 -0
- package/dist/helpers/recast-acorn-parser.d.ts +2 -0
- package/dist/helpers/recast-acorn-parser.js +22 -0
- package/dist/helpers/recast-acorn-parser.js.map +1 -0
- package/dist/helpers/result-assets.d.ts +54 -0
- package/dist/helpers/result-assets.js +305 -0
- package/dist/helpers/result-assets.js.map +1 -0
- package/dist/helpers/test-helper.d.ts +17 -0
- package/dist/helpers/test-helper.js +75 -0
- package/dist/helpers/test-helper.js.map +1 -0
- package/dist/helpers/wrap.d.ts +6 -0
- package/dist/helpers/wrap.js +49 -0
- package/dist/helpers/wrap.js.map +1 -0
- package/dist/helpers/write-config-helpers.d.ts +5 -0
- package/dist/helpers/write-config-helpers.js +55 -0
- package/dist/helpers/write-config-helpers.js.map +1 -0
- package/dist/hooks/command-not-found.d.ts +3 -0
- package/dist/hooks/command-not-found.js +22 -0
- package/dist/hooks/command-not-found.js.map +1 -0
- package/dist/hooks/parse-error.d.ts +3 -0
- package/dist/hooks/parse-error.js +15 -0
- package/dist/hooks/parse-error.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/loader/config.d.ts +3 -0
- package/dist/loader/config.js +8 -0
- package/dist/loader/config.js.map +1 -0
- package/dist/loader/index.d.ts +5 -0
- package/dist/loader/index.js +6 -0
- package/dist/loader/index.js.map +1 -0
- package/dist/loader/jiti.d.ts +28 -0
- package/dist/loader/jiti.js +76 -0
- package/dist/loader/jiti.js.map +1 -0
- package/dist/loader/loader.d.ts +43 -0
- package/dist/loader/loader.js +37 -0
- package/dist/loader/loader.js.map +1 -0
- package/dist/loader/match.d.ts +15 -0
- package/dist/loader/match.js +43 -0
- package/dist/loader/match.js.map +1 -0
- package/dist/loader/mixed.d.ts +7 -0
- package/dist/loader/mixed.js +36 -0
- package/dist/loader/mixed.js.map +1 -0
- package/dist/loader/native.d.ts +10 -0
- package/dist/loader/native.js +30 -0
- package/dist/loader/native.js.map +1 -0
- package/dist/messages/common-messages.d.ts +5 -0
- package/dist/messages/common-messages.js +7 -0
- package/dist/messages/common-messages.js.map +1 -0
- package/dist/playwright/playwright-config-loader.d.ts +1 -0
- package/dist/playwright/playwright-config-loader.js +26 -0
- package/dist/playwright/playwright-config-loader.js.map +1 -0
- package/dist/playwright/playwright-config-template.d.ts +8 -0
- package/dist/playwright/playwright-config-template.js +53 -0
- package/dist/playwright/playwright-config-template.js.map +1 -0
- package/dist/reporters/abstract-list.d.ts +57 -0
- package/dist/reporters/abstract-list.js +283 -0
- package/dist/reporters/abstract-list.js.map +1 -0
- package/dist/reporters/ci.d.ts +12 -0
- package/dist/reporters/ci.js +28 -0
- package/dist/reporters/ci.js.map +1 -0
- package/dist/reporters/dot.d.ts +10 -0
- package/dist/reporters/dot.js +26 -0
- package/dist/reporters/dot.js.map +1 -0
- package/dist/reporters/github.d.ts +32 -0
- package/dist/reporters/github.js +93 -0
- package/dist/reporters/github.js.map +1 -0
- package/dist/reporters/json.d.ts +26 -0
- package/dist/reporters/json.js +74 -0
- package/dist/reporters/json.js.map +1 -0
- package/dist/reporters/list.d.ts +15 -0
- package/dist/reporters/list.js +81 -0
- package/dist/reporters/list.js.map +1 -0
- package/dist/reporters/reporter.d.ts +25 -0
- package/dist/reporters/reporter.js +22 -0
- package/dist/reporters/reporter.js.map +1 -0
- package/dist/reporters/util.d.ts +20 -0
- package/dist/reporters/util.js +596 -0
- package/dist/reporters/util.js.map +1 -0
- package/dist/rest/account-members.d.ts +56 -0
- package/dist/rest/account-members.js +18 -0
- package/dist/rest/account-members.js.map +1 -0
- package/dist/rest/accounts.d.ts +20 -0
- package/dist/rest/accounts.js +14 -0
- package/dist/rest/accounts.js.map +1 -0
- package/dist/rest/alert-channels.d.ts +52 -0
- package/dist/rest/alert-channels.js +23 -0
- package/dist/rest/alert-channels.js.map +1 -0
- package/dist/rest/alert-notifications.d.ts +39 -0
- package/dist/rest/alert-notifications.js +19 -0
- package/dist/rest/alert-notifications.js.map +1 -0
- package/dist/rest/analytics.d.ts +41 -0
- package/dist/rest/analytics.js +60 -0
- package/dist/rest/analytics.js.map +1 -0
- package/dist/rest/api.d.ts +67 -0
- package/dist/rest/api.js +121 -0
- package/dist/rest/api.js.map +1 -0
- package/dist/rest/asset-manifests.d.ts +30 -0
- package/dist/rest/asset-manifests.js +29 -0
- package/dist/rest/asset-manifests.js.map +1 -0
- package/dist/rest/assets.d.ts +64 -0
- package/dist/rest/assets.js +90 -0
- package/dist/rest/assets.js.map +1 -0
- package/dist/rest/batch-analytics.d.ts +25 -0
- package/dist/rest/batch-analytics.js +14 -0
- package/dist/rest/batch-analytics.js.map +1 -0
- package/dist/rest/cancel.d.ts +14 -0
- package/dist/rest/cancel.js +28 -0
- package/dist/rest/cancel.js.map +1 -0
- package/dist/rest/check-groups.d.ts +16 -0
- package/dist/rest/check-groups.js +11 -0
- package/dist/rest/check-groups.js.map +1 -0
- package/dist/rest/check-results.d.ts +183 -0
- package/dist/rest/check-results.js +14 -0
- package/dist/rest/check-results.js.map +1 -0
- package/dist/rest/check-statuses.d.ts +23 -0
- package/dist/rest/check-statuses.js +20 -0
- package/dist/rest/check-statuses.js.map +1 -0
- package/dist/rest/checkly-storage.d.ts +14 -0
- package/dist/rest/checkly-storage.js +17 -0
- package/dist/rest/checkly-storage.js.map +1 -0
- package/dist/rest/checks.d.ts +48 -0
- package/dist/rest/checks.js +43 -0
- package/dist/rest/checks.js.map +1 -0
- package/dist/rest/entitlements.d.ts +47 -0
- package/dist/rest/entitlements.js +11 -0
- package/dist/rest/entitlements.js.map +1 -0
- package/dist/rest/environment-variables.d.ts +43 -0
- package/dist/rest/environment-variables.js +91 -0
- package/dist/rest/environment-variables.js.map +1 -0
- package/dist/rest/error-groups.d.ts +49 -0
- package/dist/rest/error-groups.js +14 -0
- package/dist/rest/error-groups.js.map +1 -0
- package/dist/rest/errors.d.ts +84 -0
- package/dist/rest/errors.js +216 -0
- package/dist/rest/errors.js.map +1 -0
- package/dist/rest/heartbeat-checks.d.ts +11 -0
- package/dist/rest/heartbeat-checks.js +16 -0
- package/dist/rest/heartbeat-checks.js.map +1 -0
- package/dist/rest/incidents.d.ts +60 -0
- package/dist/rest/incidents.js +28 -0
- package/dist/rest/incidents.js.map +1 -0
- package/dist/rest/locations.d.ts +11 -0
- package/dist/rest/locations.js +11 -0
- package/dist/rest/locations.js.map +1 -0
- package/dist/rest/private-locations.d.ts +10 -0
- package/dist/rest/private-locations.js +10 -0
- package/dist/rest/private-locations.js.map +1 -0
- package/dist/rest/projects.d.ts +161 -0
- package/dist/rest/projects.js +205 -0
- package/dist/rest/projects.js.map +1 -0
- package/dist/rest/rca.d.ts +14 -0
- package/dist/rest/rca.js +28 -0
- package/dist/rest/rca.js.map +1 -0
- package/dist/rest/runtimes.d.ts +9 -0
- package/dist/rest/runtimes.js +16 -0
- package/dist/rest/runtimes.js.map +1 -0
- package/dist/rest/status-pages.d.ts +40 -0
- package/dist/rest/status-pages.js +16 -0
- package/dist/rest/status-pages.js.map +1 -0
- package/dist/rest/test-session-error-groups.d.ts +18 -0
- package/dist/rest/test-session-error-groups.js +11 -0
- package/dist/rest/test-session-error-groups.js.map +1 -0
- package/dist/rest/test-sessions.d.ts +167 -0
- package/dist/rest/test-sessions.js +76 -0
- package/dist/rest/test-sessions.js.map +1 -0
- package/dist/rest/users.d.ts +12 -0
- package/dist/rest/users.js +11 -0
- package/dist/rest/users.js.map +1 -0
- package/dist/rest/util.d.ts +3 -0
- package/dist/rest/util.js +10 -0
- package/dist/rest/util.js.map +1 -0
- package/dist/runtimes/index.d.ts +2 -0
- package/dist/runtimes/index.js +2 -0
- package/dist/runtimes/index.js.map +1 -0
- package/dist/runtimes/runtime.d.ts +8 -0
- package/dist/runtimes/runtime.js +2 -0
- package/dist/runtimes/runtime.js.map +1 -0
- package/dist/runtimes/snapshot.d.ts +2 -0
- package/dist/runtimes/snapshot.js +11 -0
- package/dist/runtimes/snapshot.js.map +1 -0
- package/dist/services/abstract-check-runner.d.ts +63 -0
- package/dist/services/abstract-check-runner.js +289 -0
- package/dist/services/abstract-check-runner.js.map +1 -0
- package/dist/services/check-parser/bundler.d.ts +58 -0
- package/dist/services/check-parser/bundler.js +219 -0
- package/dist/services/check-parser/bundler.js.map +1 -0
- package/dist/services/check-parser/cache-hash.d.ts +79 -0
- package/dist/services/check-parser/cache-hash.js +179 -0
- package/dist/services/check-parser/cache-hash.js.map +1 -0
- package/dist/services/check-parser/collector.d.ts +33 -0
- package/dist/services/check-parser/collector.js +46 -0
- package/dist/services/check-parser/collector.js.map +1 -0
- package/dist/services/check-parser/errors.d.ts +8 -0
- package/dist/services/check-parser/errors.js +46 -0
- package/dist/services/check-parser/errors.js.map +1 -0
- package/dist/services/check-parser/faux-package.d.ts +4 -0
- package/dist/services/check-parser/faux-package.js +16 -0
- package/dist/services/check-parser/faux-package.js.map +1 -0
- package/dist/services/check-parser/package-files/extension.d.ts +38 -0
- package/dist/services/check-parser/package-files/extension.js +66 -0
- package/dist/services/check-parser/package-files/extension.js.map +1 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.d.ts +17 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.js +23 -0
- package/dist/services/check-parser/package-files/jsconfig-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/json-source-file.d.ts +11 -0
- package/dist/services/check-parser/package-files/json-source-file.js +32 -0
- package/dist/services/check-parser/package-files/json-source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/json-text-source-file-parser.d.ts +7 -0
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js +47 -0
- package/dist/services/check-parser/package-files/json-text-source-file-parser.js.map +1 -0
- package/dist/services/check-parser/package-files/json-text-source-file.d.ts +7 -0
- package/dist/services/check-parser/package-files/json-text-source-file.js +18 -0
- package/dist/services/check-parser/package-files/json-text-source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/loader.d.ts +7 -0
- package/dist/services/check-parser/package-files/loader.js +24 -0
- package/dist/services/check-parser/package-files/loader.js.map +1 -0
- package/dist/services/check-parser/package-files/lockfile-package-version.d.ts +85 -0
- package/dist/services/check-parser/package-files/lockfile-package-version.js +317 -0
- package/dist/services/check-parser/package-files/lockfile-package-version.js.map +1 -0
- package/dist/services/check-parser/package-files/lookup.d.ts +12 -0
- package/dist/services/check-parser/package-files/lookup.js +52 -0
- package/dist/services/check-parser/package-files/lookup.js.map +1 -0
- package/dist/services/check-parser/package-files/package-json-file.d.ts +59 -0
- package/dist/services/check-parser/package-files/package-json-file.js +248 -0
- package/dist/services/check-parser/package-files/package-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/package-manager.d.ts +222 -0
- package/dist/services/check-parser/package-files/package-manager.js +785 -0
- package/dist/services/check-parser/package-files/package-manager.js.map +1 -0
- package/dist/services/check-parser/package-files/paths.d.ts +98 -0
- package/dist/services/check-parser/package-files/paths.js +234 -0
- package/dist/services/check-parser/package-files/paths.js.map +1 -0
- package/dist/services/check-parser/package-files/resolver.d.ts +124 -0
- package/dist/services/check-parser/package-files/resolver.js +468 -0
- package/dist/services/check-parser/package-files/resolver.js.map +1 -0
- package/dist/services/check-parser/package-files/result.d.ts +38 -0
- package/dist/services/check-parser/package-files/result.js +53 -0
- package/dist/services/check-parser/package-files/result.js.map +1 -0
- package/dist/services/check-parser/package-files/source-file-parser.d.ts +10 -0
- package/dist/services/check-parser/package-files/source-file-parser.js +13 -0
- package/dist/services/check-parser/package-files/source-file-parser.js.map +1 -0
- package/dist/services/check-parser/package-files/source-file.d.ts +15 -0
- package/dist/services/check-parser/package-files/source-file.js +38 -0
- package/dist/services/check-parser/package-files/source-file.js.map +1 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.d.ts +66 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.js +81 -0
- package/dist/services/check-parser/package-files/tsconfig-json-file.js.map +1 -0
- package/dist/services/check-parser/package-files/walk.d.ts +8 -0
- package/dist/services/check-parser/package-files/walk.js +35 -0
- package/dist/services/check-parser/package-files/walk.js.map +1 -0
- package/dist/services/check-parser/package-files/workspace.d.ts +60 -0
- package/dist/services/check-parser/package-files/workspace.js +103 -0
- package/dist/services/check-parser/package-files/workspace.js.map +1 -0
- package/dist/services/check-parser/parser.d.ts +67 -0
- package/dist/services/check-parser/parser.js +491 -0
- package/dist/services/check-parser/parser.js.map +1 -0
- package/dist/services/check-parser/playwright-config-expander.d.ts +7 -0
- package/dist/services/check-parser/playwright-config-expander.js +96 -0
- package/dist/services/check-parser/playwright-config-expander.js.map +1 -0
- package/dist/services/checkly-config-codegen.d.ts +4 -0
- package/dist/services/checkly-config-codegen.js +189 -0
- package/dist/services/checkly-config-codegen.js.map +1 -0
- package/dist/services/checkly-config-loader.d.ts +97 -0
- package/dist/services/checkly-config-loader.js +113 -0
- package/dist/services/checkly-config-loader.js.map +1 -0
- package/dist/services/config.d.ts +28 -0
- package/dist/services/config.js +93 -0
- package/dist/services/config.js.map +1 -0
- package/dist/services/engine-detector.d.ts +6 -0
- package/dist/services/engine-detector.js +141 -0
- package/dist/services/engine-detector.js.map +1 -0
- package/dist/services/engine-resolver.d.ts +6 -0
- package/dist/services/engine-resolver.js +47 -0
- package/dist/services/engine-resolver.js.map +1 -0
- package/dist/services/engine-rules-loader.d.ts +21 -0
- package/dist/services/engine-rules-loader.js +44 -0
- package/dist/services/engine-rules-loader.js.map +1 -0
- package/dist/services/load-dotenv.d.ts +1 -0
- package/dist/services/load-dotenv.js +44 -0
- package/dist/services/load-dotenv.js.map +1 -0
- package/dist/services/playwright-config.d.ts +27 -0
- package/dist/services/playwright-config.js +139 -0
- package/dist/services/playwright-config.js.map +1 -0
- package/dist/services/playwright-project-bundler.d.ts +28 -0
- package/dist/services/playwright-project-bundler.js +258 -0
- package/dist/services/playwright-project-bundler.js.map +1 -0
- package/dist/services/project-parser.d.ts +30 -0
- package/dist/services/project-parser.js +291 -0
- package/dist/services/project-parser.js.map +1 -0
- package/dist/services/proxy.d.ts +2 -0
- package/dist/services/proxy.js +36 -0
- package/dist/services/proxy.js.map +1 -0
- package/dist/services/shell.d.ts +2 -0
- package/dist/services/shell.js +15 -0
- package/dist/services/shell.js.map +1 -0
- package/dist/services/snapshot-service.d.ts +13 -0
- package/dist/services/snapshot-service.js +56 -0
- package/dist/services/snapshot-service.js.map +1 -0
- package/dist/services/socket-client.d.ts +4 -0
- package/dist/services/socket-client.js +58 -0
- package/dist/services/socket-client.js.map +1 -0
- package/dist/services/test-filters.d.ts +3 -0
- package/dist/services/test-filters.js +21 -0
- package/dist/services/test-filters.js.map +1 -0
- package/dist/services/test-runner.d.ts +28 -0
- package/dist/services/test-runner.js +82 -0
- package/dist/services/test-runner.js.map +1 -0
- package/dist/services/trigger-runner.d.ts +29 -0
- package/dist/services/trigger-runner.js +49 -0
- package/dist/services/trigger-runner.js.map +1 -0
- package/dist/services/util.d.ts +34 -0
- package/dist/services/util.js +167 -0
- package/dist/services/util.js.map +1 -0
- package/dist/sourcegen/args.d.ts +7 -0
- package/dist/sourcegen/args.js +22 -0
- package/dist/sourcegen/args.js.map +1 -0
- package/dist/sourcegen/argsbuilder.d.ts +22 -0
- package/dist/sourcegen/argsbuilder.js +106 -0
- package/dist/sourcegen/argsbuilder.js.map +1 -0
- package/dist/sourcegen/array.d.ts +8 -0
- package/dist/sourcegen/array.js +28 -0
- package/dist/sourcegen/array.js.map +1 -0
- package/dist/sourcegen/arraybuilder.d.ts +21 -0
- package/dist/sourcegen/arraybuilder.js +104 -0
- package/dist/sourcegen/arraybuilder.js.map +1 -0
- package/dist/sourcegen/boolean.d.ts +7 -0
- package/dist/sourcegen/boolean.js +18 -0
- package/dist/sourcegen/boolean.js.map +1 -0
- package/dist/sourcegen/case.d.ts +9 -0
- package/dist/sourcegen/case.js +96 -0
- package/dist/sourcegen/case.js.map +1 -0
- package/dist/sourcegen/comment.d.ts +32 -0
- package/dist/sourcegen/comment.js +113 -0
- package/dist/sourcegen/comment.js.map +1 -0
- package/dist/sourcegen/decl.d.ts +43 -0
- package/dist/sourcegen/decl.js +86 -0
- package/dist/sourcegen/decl.js.map +1 -0
- package/dist/sourcegen/declbuilder.d.ts +14 -0
- package/dist/sourcegen/declbuilder.js +34 -0
- package/dist/sourcegen/declbuilder.js.map +1 -0
- package/dist/sourcegen/expr.d.ts +39 -0
- package/dist/sourcegen/expr.js +77 -0
- package/dist/sourcegen/expr.js.map +1 -0
- package/dist/sourcegen/exprbuilder.d.ts +13 -0
- package/dist/sourcegen/exprbuilder.js +49 -0
- package/dist/sourcegen/exprbuilder.js.map +1 -0
- package/dist/sourcegen/identifier.d.ts +12 -0
- package/dist/sourcegen/identifier.js +22 -0
- package/dist/sourcegen/identifier.js.map +1 -0
- package/dist/sourcegen/index.d.ts +22 -0
- package/dist/sourcegen/index.js +23 -0
- package/dist/sourcegen/index.js.map +1 -0
- package/dist/sourcegen/null.d.ts +5 -0
- package/dist/sourcegen/null.js +7 -0
- package/dist/sourcegen/null.js.map +1 -0
- package/dist/sourcegen/number.d.ts +7 -0
- package/dist/sourcegen/number.js +18 -0
- package/dist/sourcegen/number.js.map +1 -0
- package/dist/sourcegen/object.d.ts +28 -0
- package/dist/sourcegen/object.js +80 -0
- package/dist/sourcegen/object.js.map +1 -0
- package/dist/sourcegen/objectbuilder.d.ts +25 -0
- package/dist/sourcegen/objectbuilder.js +122 -0
- package/dist/sourcegen/objectbuilder.js.map +1 -0
- package/dist/sourcegen/output.d.ts +14 -0
- package/dist/sourcegen/output.js +81 -0
- package/dist/sourcegen/output.js.map +1 -0
- package/dist/sourcegen/program.d.ts +53 -0
- package/dist/sourcegen/program.js +254 -0
- package/dist/sourcegen/program.js.map +1 -0
- package/dist/sourcegen/string.d.ts +8 -0
- package/dist/sourcegen/string.js +23 -0
- package/dist/sourcegen/string.js.map +1 -0
- package/dist/sourcegen/undefined.d.ts +5 -0
- package/dist/sourcegen/undefined.js +7 -0
- package/dist/sourcegen/undefined.js.map +1 -0
- package/dist/sourcegen/unknown.d.ts +2 -0
- package/dist/sourcegen/unknown.js +36 -0
- package/dist/sourcegen/unknown.js.map +1 -0
- package/dist/sourcegen/value.d.ts +4 -0
- package/dist/sourcegen/value.js +3 -0
- package/dist/sourcegen/value.js.map +1 -0
- package/dist/testing/fixture-sandbox.d.ts +41 -0
- package/dist/testing/fixture-sandbox.js +122 -0
- package/dist/testing/fixture-sandbox.js.map +1 -0
- package/dist/testing/global-setup.d.ts +2 -0
- package/dist/testing/global-setup.js +14 -0
- package/dist/testing/global-setup.js.map +1 -0
- package/dist/util/index.d.ts +9 -0
- package/dist/util/index.js +23 -0
- package/dist/util/index.js.map +1 -0
- package/oclif.manifest.json +3702 -0
- package/package.json +166 -0
|
@@ -0,0 +1,785 @@
|
|
|
1
|
+
import fs from 'node:fs/promises';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { execa } from 'execa';
|
|
4
|
+
import { lineage } from './walk.js';
|
|
5
|
+
import { shellQuote } from '../../../services/shell.js';
|
|
6
|
+
import { PackageJsonFile } from './package-json-file.js';
|
|
7
|
+
import { JsonSourceFile } from './json-source-file.js';
|
|
8
|
+
import { Package, Workspace } from './workspace.js';
|
|
9
|
+
import { Err, Ok } from './result.js';
|
|
10
|
+
import { parseBunLockfileVersion, parseNpmLockfileVersion, parsePnpmLockfileVersion, parseYarnLockfileVersion, } from './lockfile-package-version.js';
|
|
11
|
+
export class Runnable {
|
|
12
|
+
executable;
|
|
13
|
+
args;
|
|
14
|
+
constructor(executable, args) {
|
|
15
|
+
this.executable = executable;
|
|
16
|
+
this.args = args;
|
|
17
|
+
}
|
|
18
|
+
get unsafeDisplayCommand() {
|
|
19
|
+
return [this.executable, ...this.args.map(shellQuote)].join(' ');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
class NotDetectedError extends Error {
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Reads a lockfile and runs a format-specific parser over it, swallowing IO
|
|
26
|
+
* and parse errors so detection degrades to the caller's fallback rather than
|
|
27
|
+
* throwing on an unreadable or unexpected lockfile.
|
|
28
|
+
*/
|
|
29
|
+
async function parseLockfileWith(lockfilePath, query, parse) {
|
|
30
|
+
let content;
|
|
31
|
+
try {
|
|
32
|
+
content = await fs.readFile(lockfilePath, 'utf8');
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
return parse(content, query);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
export class PackageManagerDetector {
|
|
45
|
+
async detectLockfile(dir) {
|
|
46
|
+
for (const lockfile of this.representativeLockfiles) {
|
|
47
|
+
try {
|
|
48
|
+
return await accessR(path.join(dir, lockfile));
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
throw new NotDetectedError();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Default: lockfile parsing is unsupported, so callers fall back. Package
|
|
58
|
+
* managers that can parse their lockfile override this.
|
|
59
|
+
*/
|
|
60
|
+
// eslint-disable-next-line require-await
|
|
61
|
+
async resolvePackageVersionFromLockfile(lockfilePath, query) {
|
|
62
|
+
void lockfilePath;
|
|
63
|
+
void query;
|
|
64
|
+
return undefined;
|
|
65
|
+
}
|
|
66
|
+
detector() {
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export class NpmDetector extends PackageManagerDetector {
|
|
71
|
+
get name() {
|
|
72
|
+
return 'npm';
|
|
73
|
+
}
|
|
74
|
+
priority(method) {
|
|
75
|
+
// npm is nearly always installed, so finding the npm binary on PATH is not
|
|
76
|
+
// a meaningful signal — rank it below every other built-in detector for the
|
|
77
|
+
// executable method. Its normal priority applies elsewhere, so it still
|
|
78
|
+
// wins the package-lock.json lockfile tie over cnpm.
|
|
79
|
+
return method === 'executable' ? 0 : 20;
|
|
80
|
+
}
|
|
81
|
+
detectUserAgent(userAgent) {
|
|
82
|
+
return userAgent.startsWith('npm/');
|
|
83
|
+
}
|
|
84
|
+
detectRuntime() {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
get representativeLockfiles() {
|
|
88
|
+
return ['package-lock.json'];
|
|
89
|
+
}
|
|
90
|
+
get representativeConfigFile() {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
94
|
+
async detectConfigFile(dir) {
|
|
95
|
+
throw new NotDetectedError();
|
|
96
|
+
}
|
|
97
|
+
async detectExecutable(lookup) {
|
|
98
|
+
await lookup.detectPresence('npm');
|
|
99
|
+
}
|
|
100
|
+
installCommand() {
|
|
101
|
+
return new Runnable('npm', ['install']);
|
|
102
|
+
}
|
|
103
|
+
addCommand(options) {
|
|
104
|
+
return new Runnable('npm', [
|
|
105
|
+
'install',
|
|
106
|
+
...options.saveDev ? ['--save-dev'] : [],
|
|
107
|
+
...options.packages,
|
|
108
|
+
]);
|
|
109
|
+
}
|
|
110
|
+
execCommand(args) {
|
|
111
|
+
return new Runnable('npx', args);
|
|
112
|
+
}
|
|
113
|
+
async lookupWorkspace(dir) {
|
|
114
|
+
return await lookupNearestPackageJsonWorkspace(this, dir);
|
|
115
|
+
}
|
|
116
|
+
async resolvePackageVersionFromLockfile(lockfilePath, query) {
|
|
117
|
+
return await parseLockfileWith(lockfilePath, query, parseNpmLockfileVersion);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
export class CNpmDetector extends PackageManagerDetector {
|
|
121
|
+
get name() {
|
|
122
|
+
return 'cnpm';
|
|
123
|
+
}
|
|
124
|
+
priority() {
|
|
125
|
+
return 10;
|
|
126
|
+
}
|
|
127
|
+
detectUserAgent(userAgent) {
|
|
128
|
+
return userAgent.startsWith('npminstall/');
|
|
129
|
+
}
|
|
130
|
+
detectRuntime() {
|
|
131
|
+
return false;
|
|
132
|
+
}
|
|
133
|
+
get representativeLockfiles() {
|
|
134
|
+
// cnpm has no lockfile of its own — it uses npm's package-lock.json. We
|
|
135
|
+
// claim it here so a cnpm user agent can be matched against a real
|
|
136
|
+
// lockfile. npm has a higher lockfile priority than cnpm, so a bare
|
|
137
|
+
// package-lock.json with no cnpm user agent still resolves to npm.
|
|
138
|
+
return ['package-lock.json'];
|
|
139
|
+
}
|
|
140
|
+
get representativeConfigFile() {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
144
|
+
async detectConfigFile(dir) {
|
|
145
|
+
throw new NotDetectedError();
|
|
146
|
+
}
|
|
147
|
+
async detectExecutable(lookup) {
|
|
148
|
+
await lookup.detectPresence('cnpm');
|
|
149
|
+
}
|
|
150
|
+
installCommand() {
|
|
151
|
+
return new Runnable('cnpm', ['install']);
|
|
152
|
+
}
|
|
153
|
+
addCommand(options) {
|
|
154
|
+
return new Runnable('cnpm', [
|
|
155
|
+
'install',
|
|
156
|
+
...options.saveDev ? ['--save-dev'] : [],
|
|
157
|
+
...options.packages,
|
|
158
|
+
]);
|
|
159
|
+
}
|
|
160
|
+
execCommand(args) {
|
|
161
|
+
return new Runnable('npx', args);
|
|
162
|
+
}
|
|
163
|
+
async lookupWorkspace(dir) {
|
|
164
|
+
return await lookupNearestPackageJsonWorkspace(this, dir);
|
|
165
|
+
}
|
|
166
|
+
async resolvePackageVersionFromLockfile(lockfilePath, query) {
|
|
167
|
+
// cnpm shares npm's package-lock.json format.
|
|
168
|
+
return await parseLockfileWith(lockfilePath, query, parseNpmLockfileVersion);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
export class PNpmDetector extends PackageManagerDetector {
|
|
172
|
+
get name() {
|
|
173
|
+
return 'pnpm';
|
|
174
|
+
}
|
|
175
|
+
priority() {
|
|
176
|
+
return 60;
|
|
177
|
+
}
|
|
178
|
+
detectUserAgent(userAgent) {
|
|
179
|
+
return userAgent.startsWith('pnpm/');
|
|
180
|
+
}
|
|
181
|
+
detectRuntime() {
|
|
182
|
+
return false;
|
|
183
|
+
}
|
|
184
|
+
get representativeLockfiles() {
|
|
185
|
+
return ['pnpm-lock.yaml'];
|
|
186
|
+
}
|
|
187
|
+
get representativeConfigFile() {
|
|
188
|
+
return 'pnpm-workspace.yaml';
|
|
189
|
+
}
|
|
190
|
+
async detectConfigFile(dir) {
|
|
191
|
+
return await accessR(path.join(dir, this.representativeConfigFile));
|
|
192
|
+
}
|
|
193
|
+
async detectExecutable(lookup) {
|
|
194
|
+
await lookup.detectPresence('pnpm');
|
|
195
|
+
}
|
|
196
|
+
installCommand() {
|
|
197
|
+
return new Runnable('pnpm', ['install']);
|
|
198
|
+
}
|
|
199
|
+
addCommand(options) {
|
|
200
|
+
return new Runnable('pnpm', [
|
|
201
|
+
'add',
|
|
202
|
+
...options.saveDev ? ['--save-dev'] : [],
|
|
203
|
+
...options.packages,
|
|
204
|
+
]);
|
|
205
|
+
}
|
|
206
|
+
execCommand(args) {
|
|
207
|
+
return new Runnable('pnpm', args);
|
|
208
|
+
}
|
|
209
|
+
async lookupWorkspace(dir) {
|
|
210
|
+
// To avoid having to bring in a yaml parser, just call pnpm directly.
|
|
211
|
+
// However, to avoid calling pnpm if it's likely not installed, detect
|
|
212
|
+
// the presence of the workspace file first.
|
|
213
|
+
for (const searchPath of lineage(dir)) {
|
|
214
|
+
try {
|
|
215
|
+
await this.detectConfigFile(searchPath);
|
|
216
|
+
}
|
|
217
|
+
catch {
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
220
|
+
const pnpmArgs = [
|
|
221
|
+
'list',
|
|
222
|
+
'--json',
|
|
223
|
+
'--recursive',
|
|
224
|
+
'--depth',
|
|
225
|
+
'1',
|
|
226
|
+
];
|
|
227
|
+
const result = await execa('pnpm', pnpmArgs, {
|
|
228
|
+
cwd: searchPath,
|
|
229
|
+
});
|
|
230
|
+
const output = JSON.parse(result.stdout);
|
|
231
|
+
if (!Array.isArray(output)) {
|
|
232
|
+
throw new Error(`The output of 'pnpm list' was not an array (stdout=${result.stdout}, stderr=${result.stderr})`);
|
|
233
|
+
}
|
|
234
|
+
const [root, dependencies] = output.reduce(([root, dependencies], project) => {
|
|
235
|
+
if (root === undefined) {
|
|
236
|
+
return [project, dependencies];
|
|
237
|
+
}
|
|
238
|
+
// The project with the shortest path should be the workspace root.
|
|
239
|
+
if (root.path.length > project.path.length) {
|
|
240
|
+
return [project, [...dependencies, root]];
|
|
241
|
+
}
|
|
242
|
+
return [root, [...dependencies, project]];
|
|
243
|
+
}, [undefined, []]);
|
|
244
|
+
if (root === undefined) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const rootPackage = new Package({
|
|
248
|
+
name: root.name,
|
|
249
|
+
path: root.path,
|
|
250
|
+
workspaces: dependencies.map(dep => dep.path),
|
|
251
|
+
});
|
|
252
|
+
const packages = dependencies.map(({ name, path }) => {
|
|
253
|
+
return new Package({
|
|
254
|
+
name,
|
|
255
|
+
path,
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
return await initWorkspace(this, {
|
|
259
|
+
root: rootPackage,
|
|
260
|
+
packages,
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
async resolvePackageVersionFromLockfile(lockfilePath, query) {
|
|
265
|
+
return await parseLockfileWith(lockfilePath, query, parsePnpmLockfileVersion);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
export class YarnDetector extends PackageManagerDetector {
|
|
269
|
+
get name() {
|
|
270
|
+
return 'yarn';
|
|
271
|
+
}
|
|
272
|
+
priority() {
|
|
273
|
+
return 30;
|
|
274
|
+
}
|
|
275
|
+
detectUserAgent(userAgent) {
|
|
276
|
+
return userAgent.startsWith('yarn/');
|
|
277
|
+
}
|
|
278
|
+
detectRuntime() {
|
|
279
|
+
return false;
|
|
280
|
+
}
|
|
281
|
+
get representativeLockfiles() {
|
|
282
|
+
return ['yarn.lock'];
|
|
283
|
+
}
|
|
284
|
+
get representativeConfigFile() {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
288
|
+
async detectConfigFile(dir) {
|
|
289
|
+
throw new NotDetectedError();
|
|
290
|
+
}
|
|
291
|
+
async detectExecutable(lookup) {
|
|
292
|
+
await lookup.detectPresence('yarn');
|
|
293
|
+
}
|
|
294
|
+
installCommand() {
|
|
295
|
+
return new Runnable('yarn', ['install']);
|
|
296
|
+
}
|
|
297
|
+
addCommand(options) {
|
|
298
|
+
return new Runnable('yarn', [
|
|
299
|
+
'add',
|
|
300
|
+
...options.saveDev ? ['--dev'] : [],
|
|
301
|
+
...options.packages,
|
|
302
|
+
]);
|
|
303
|
+
}
|
|
304
|
+
execCommand(args) {
|
|
305
|
+
return new Runnable('yarn', args);
|
|
306
|
+
}
|
|
307
|
+
async lookupWorkspace(dir) {
|
|
308
|
+
return await lookupNearestPackageJsonWorkspace(this, dir);
|
|
309
|
+
}
|
|
310
|
+
async resolvePackageVersionFromLockfile(lockfilePath, query) {
|
|
311
|
+
return await parseLockfileWith(lockfilePath, query, parseYarnLockfileVersion);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
export class DenoDetector extends PackageManagerDetector {
|
|
315
|
+
get name() {
|
|
316
|
+
return 'deno';
|
|
317
|
+
}
|
|
318
|
+
priority() {
|
|
319
|
+
return 40;
|
|
320
|
+
}
|
|
321
|
+
detectUserAgent(userAgent) {
|
|
322
|
+
return userAgent.startsWith('deno/');
|
|
323
|
+
}
|
|
324
|
+
detectRuntime() {
|
|
325
|
+
return process.versions.deno !== undefined;
|
|
326
|
+
}
|
|
327
|
+
get representativeLockfiles() {
|
|
328
|
+
return ['deno.lock'];
|
|
329
|
+
}
|
|
330
|
+
get representativeConfigFile() {
|
|
331
|
+
return 'deno.json';
|
|
332
|
+
}
|
|
333
|
+
async detectConfigFile(dir) {
|
|
334
|
+
return await accessR(path.join(dir, this.representativeConfigFile));
|
|
335
|
+
}
|
|
336
|
+
async detectExecutable(lookup) {
|
|
337
|
+
await lookup.detectPresence('deno');
|
|
338
|
+
}
|
|
339
|
+
installCommand() {
|
|
340
|
+
return new Runnable('deno', ['install']);
|
|
341
|
+
}
|
|
342
|
+
addCommand(options) {
|
|
343
|
+
return new Runnable('deno', [
|
|
344
|
+
'add',
|
|
345
|
+
...options.saveDev ? ['--dev'] : [],
|
|
346
|
+
...options.packages,
|
|
347
|
+
]);
|
|
348
|
+
}
|
|
349
|
+
execCommand(args) {
|
|
350
|
+
return new Runnable('deno', ['run', '-A', `npm:${args[0]}`, ...args.slice(1)]);
|
|
351
|
+
}
|
|
352
|
+
async lookupWorkspace(dir) {
|
|
353
|
+
for (const searchPath of lineage(dir)) {
|
|
354
|
+
try {
|
|
355
|
+
const configFile = await this.detectConfigFile(searchPath);
|
|
356
|
+
const jsonFile = await JsonSourceFile.loadFromFilePath(configFile);
|
|
357
|
+
if (!jsonFile) {
|
|
358
|
+
continue;
|
|
359
|
+
}
|
|
360
|
+
const rootPackage = await Package.loadFromDirPath(searchPath);
|
|
361
|
+
if (rootPackage === undefined) {
|
|
362
|
+
continue;
|
|
363
|
+
}
|
|
364
|
+
const workspaces = jsonFile.data.workspace?.map(packagePath => {
|
|
365
|
+
return path.resolve(searchPath, packagePath);
|
|
366
|
+
});
|
|
367
|
+
if (!workspaces) {
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
const packages = [];
|
|
371
|
+
for (const workspace of workspaces) {
|
|
372
|
+
const workspacePackage = await Package.loadFromDirPath(workspace);
|
|
373
|
+
if (workspacePackage === undefined) {
|
|
374
|
+
continue;
|
|
375
|
+
}
|
|
376
|
+
packages.push(workspacePackage);
|
|
377
|
+
}
|
|
378
|
+
return await initWorkspace(this, {
|
|
379
|
+
root: rootPackage,
|
|
380
|
+
packages,
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
catch {
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
export class BunDetector extends PackageManagerDetector {
|
|
390
|
+
get name() {
|
|
391
|
+
return 'bun';
|
|
392
|
+
}
|
|
393
|
+
priority() {
|
|
394
|
+
return 50;
|
|
395
|
+
}
|
|
396
|
+
detectUserAgent(userAgent) {
|
|
397
|
+
return userAgent.startsWith('bun/');
|
|
398
|
+
}
|
|
399
|
+
detectRuntime() {
|
|
400
|
+
return process.versions.bun !== undefined;
|
|
401
|
+
}
|
|
402
|
+
get representativeLockfiles() {
|
|
403
|
+
return ['bun.lock', 'bun.lockb'];
|
|
404
|
+
}
|
|
405
|
+
get representativeConfigFile() {
|
|
406
|
+
return;
|
|
407
|
+
}
|
|
408
|
+
// eslint-disable-next-line require-await, @typescript-eslint/no-unused-vars
|
|
409
|
+
async detectConfigFile(dir) {
|
|
410
|
+
throw new NotDetectedError();
|
|
411
|
+
}
|
|
412
|
+
async detectExecutable(lookup) {
|
|
413
|
+
await lookup.detectPresence('bun');
|
|
414
|
+
}
|
|
415
|
+
installCommand() {
|
|
416
|
+
return new Runnable('bun', ['install']);
|
|
417
|
+
}
|
|
418
|
+
addCommand(options) {
|
|
419
|
+
return new Runnable('bun', [
|
|
420
|
+
'add',
|
|
421
|
+
...options.saveDev ? ['--dev'] : [],
|
|
422
|
+
...options.packages,
|
|
423
|
+
]);
|
|
424
|
+
}
|
|
425
|
+
execCommand(args) {
|
|
426
|
+
return new Runnable('bunx', args);
|
|
427
|
+
}
|
|
428
|
+
async lookupWorkspace(dir) {
|
|
429
|
+
return await lookupNearestPackageJsonWorkspace(this, dir);
|
|
430
|
+
}
|
|
431
|
+
async resolvePackageVersionFromLockfile(lockfilePath, query) {
|
|
432
|
+
// The legacy binary lockfile (bun.lockb) isn't parseable here; only the
|
|
433
|
+
// text format (bun.lock) is. Skip the binary form so the caller falls back.
|
|
434
|
+
if (lockfilePath.endsWith('.lockb')) {
|
|
435
|
+
return undefined;
|
|
436
|
+
}
|
|
437
|
+
return await parseLockfileWith(lockfilePath, query, parseBunLockfileVersion);
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
async function accessR(filePath) {
|
|
441
|
+
try {
|
|
442
|
+
await fs.access(filePath, fs.constants.R_OK);
|
|
443
|
+
return filePath;
|
|
444
|
+
}
|
|
445
|
+
catch {
|
|
446
|
+
throw new NotDetectedError();
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
async function accessX(filePath) {
|
|
450
|
+
try {
|
|
451
|
+
await fs.access(filePath, fs.constants.X_OK);
|
|
452
|
+
return filePath;
|
|
453
|
+
}
|
|
454
|
+
catch {
|
|
455
|
+
throw new NotDetectedError();
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
function* chunks(array, size) {
|
|
459
|
+
for (let i = 0, l = array.length; i < l; i += size) {
|
|
460
|
+
yield array.slice(i, i + size);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
/**
|
|
464
|
+
* Inspiration taken from https://github.com/otiai10/lookpath.
|
|
465
|
+
*/
|
|
466
|
+
export class PathLookup {
|
|
467
|
+
static win = process.platform.startsWith('win');
|
|
468
|
+
paths;
|
|
469
|
+
pathext;
|
|
470
|
+
pathextSet = new Set();
|
|
471
|
+
constructor() {
|
|
472
|
+
if (PathLookup.win) {
|
|
473
|
+
this.paths = process.env['Path']?.split(path.delimiter) ?? [];
|
|
474
|
+
this.pathext = process.env['PATHEXT']?.split(path.delimiter) ?? [];
|
|
475
|
+
this.pathext.forEach(ext => this.pathextSet.add(ext.toUpperCase()));
|
|
476
|
+
}
|
|
477
|
+
else {
|
|
478
|
+
this.paths = process.env['PATH']?.split(path.delimiter) ?? [];
|
|
479
|
+
this.pathext = [];
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
// eslint-disable-next-line require-await
|
|
483
|
+
async detectPresence(executable) {
|
|
484
|
+
const foundPath = this.lookupPath(executable);
|
|
485
|
+
if (foundPath === undefined) {
|
|
486
|
+
throw new NotDetectedError();
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
async lookupPath(executable) {
|
|
490
|
+
const ext = path.extname(executable).toUpperCase();
|
|
491
|
+
const paths = this.paths.flatMap(prefix => {
|
|
492
|
+
if (this.pathextSet.has(ext)) {
|
|
493
|
+
return [path.join(prefix, executable)];
|
|
494
|
+
}
|
|
495
|
+
return [
|
|
496
|
+
path.join(prefix, executable),
|
|
497
|
+
...this.pathext.map(ext => path.join(prefix, executable + ext)),
|
|
498
|
+
];
|
|
499
|
+
});
|
|
500
|
+
// There may be a large number of paths. With Promise.all(), we'd have to
|
|
501
|
+
// wait until every single possible path has been checked even if we found
|
|
502
|
+
// a match immediately. Use reasonably sized chunks instead.
|
|
503
|
+
//
|
|
504
|
+
// On Windows (where PATHEXT exists), make sure that the chunk size is
|
|
505
|
+
// at least large enough to cover all the possible extensions of a path.
|
|
506
|
+
for (const chunk of chunks(paths, Math.max(this.pathext.length + 1, 8))) {
|
|
507
|
+
const results = await Promise.all(chunk.map(async (path) => {
|
|
508
|
+
try {
|
|
509
|
+
await accessX(path);
|
|
510
|
+
return path;
|
|
511
|
+
}
|
|
512
|
+
catch {
|
|
513
|
+
return;
|
|
514
|
+
}
|
|
515
|
+
}));
|
|
516
|
+
for (const result of results) {
|
|
517
|
+
if (result !== undefined) {
|
|
518
|
+
return result;
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
export const npmPackageManager = new NpmDetector();
|
|
525
|
+
// Detection precedence is governed by each detector's priority(method), not by
|
|
526
|
+
// this array's order, so listing is free to stay readable. (The order is still
|
|
527
|
+
// used verbatim for the `checkly import` package-manager prompt menu.)
|
|
528
|
+
export const knownPackageManagers = [
|
|
529
|
+
new PNpmDetector(),
|
|
530
|
+
new BunDetector(),
|
|
531
|
+
new DenoDetector(),
|
|
532
|
+
new YarnDetector(),
|
|
533
|
+
npmPackageManager,
|
|
534
|
+
new CNpmDetector(),
|
|
535
|
+
];
|
|
536
|
+
async function detectPackageManagerImpl(dir, options) {
|
|
537
|
+
const { detectors, requireLockfile, } = options;
|
|
538
|
+
// Detectors are evaluated highest-priority-first within each detection
|
|
539
|
+
// method, so the order they were supplied in never affects the result.
|
|
540
|
+
const ordered = (method) => [...detectors].sort((a, b) => b.priority(method) - a.priority(method));
|
|
541
|
+
const lockfileDetected = new Set(Array.from(await detectNearestLockfiles(dir, {
|
|
542
|
+
detectors,
|
|
543
|
+
root: options?.root,
|
|
544
|
+
}).catch(() => []), ({ packageManager }) => packageManager));
|
|
545
|
+
// Try user agent first.
|
|
546
|
+
const userAgent = process.env['npm_config_user_agent'];
|
|
547
|
+
if (userAgent !== undefined) {
|
|
548
|
+
for (const detector of ordered('userAgent')) {
|
|
549
|
+
if (detector.detectUserAgent(userAgent)) {
|
|
550
|
+
if ((!requireLockfile || lockfileDetected.has(detector))) {
|
|
551
|
+
return detector;
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
// Next, try runtime.
|
|
557
|
+
for (const detector of ordered('runtime')) {
|
|
558
|
+
if (detector.detectRuntime()) {
|
|
559
|
+
if ((!requireLockfile || lockfileDetected.has(detector))) {
|
|
560
|
+
return detector;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
}
|
|
564
|
+
// Next, try to find a lockfile. When several package managers claim a lockfile
|
|
565
|
+
// in the nearest directory (e.g. npm and cnpm both claim package-lock.json),
|
|
566
|
+
// the highest-priority one wins.
|
|
567
|
+
const lockfileWinner = ordered('lockfile').find(detector => lockfileDetected.has(detector));
|
|
568
|
+
if (lockfileWinner !== undefined) {
|
|
569
|
+
return lockfileWinner;
|
|
570
|
+
}
|
|
571
|
+
// If we get here, there's no lockfile, in which case we have to stop
|
|
572
|
+
// if it's required.
|
|
573
|
+
if (requireLockfile) {
|
|
574
|
+
return undefined;
|
|
575
|
+
}
|
|
576
|
+
// Next, try to find a config file. As with lockfiles, when several package
|
|
577
|
+
// managers have a config file in the nearest directory, the highest-priority
|
|
578
|
+
// one wins.
|
|
579
|
+
const configDetected = new Set(Array.from(await detectNearestConfigFiles(dir, {
|
|
580
|
+
detectors,
|
|
581
|
+
root: options?.root,
|
|
582
|
+
}).catch(() => []), ({ packageManager }) => packageManager));
|
|
583
|
+
const configWinner = ordered('configFile').find(detector => configDetected.has(detector));
|
|
584
|
+
if (configWinner !== undefined) {
|
|
585
|
+
return configWinner;
|
|
586
|
+
}
|
|
587
|
+
// Finally, try to find a relevant executable.
|
|
588
|
+
//
|
|
589
|
+
// This can generate a whole bunch of path lookups. Try one by one despite
|
|
590
|
+
// async support.
|
|
591
|
+
const lookup = new PathLookup();
|
|
592
|
+
for (const detector of ordered('executable')) {
|
|
593
|
+
try {
|
|
594
|
+
await detector.detectExecutable(lookup);
|
|
595
|
+
return detector;
|
|
596
|
+
}
|
|
597
|
+
catch {
|
|
598
|
+
continue;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
return undefined;
|
|
602
|
+
}
|
|
603
|
+
export async function detectPackageManager(dir, options) {
|
|
604
|
+
const detectors = options?.detectors ?? knownPackageManagers;
|
|
605
|
+
// Try with lockfile required first, which gives a stronger signal.
|
|
606
|
+
// Fall back to not requiring it.
|
|
607
|
+
for (const requireLockfile of [true, false]) {
|
|
608
|
+
const pm = await detectPackageManagerImpl(dir, {
|
|
609
|
+
detectors,
|
|
610
|
+
requireLockfile,
|
|
611
|
+
root: options?.root,
|
|
612
|
+
});
|
|
613
|
+
if (pm !== undefined) {
|
|
614
|
+
return pm;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
// If all else fails, just assume npm.
|
|
618
|
+
return npmPackageManager;
|
|
619
|
+
}
|
|
620
|
+
export class NoLockfileFoundError extends Error {
|
|
621
|
+
searchPaths;
|
|
622
|
+
lockfiles;
|
|
623
|
+
constructor(searchPaths, lockfiles, options) {
|
|
624
|
+
const message = `Unable to detect a lockfile in any of the following paths:`
|
|
625
|
+
+ `\n\n`
|
|
626
|
+
+ `${searchPaths.map(searchPath => ` ${searchPath}`).join('\n')}`
|
|
627
|
+
+ `\n\n`
|
|
628
|
+
+ `Lockfiles we looked for:`
|
|
629
|
+
+ `\n\n`
|
|
630
|
+
+ `${lockfiles.map(lockfile => ` ${lockfile}`).join('\n')}`;
|
|
631
|
+
super(message, options);
|
|
632
|
+
this.name = 'NoLockfileFoundError';
|
|
633
|
+
this.searchPaths = searchPaths;
|
|
634
|
+
this.lockfiles = lockfiles;
|
|
635
|
+
}
|
|
636
|
+
}
|
|
637
|
+
/**
|
|
638
|
+
* Searches `dir` and every parent directory (up to and including
|
|
639
|
+
* `options.root`) for a lockfile of any of the given `options.detectors`
|
|
640
|
+
* (or all known package manager detectors if not given). The search stops
|
|
641
|
+
* when a directory containing lockfiles is found.
|
|
642
|
+
*
|
|
643
|
+
* @returns All detected lockfiles in the directory.
|
|
644
|
+
* @throws {NoLockfileFoundError} If no directory containing a lockfile is found.
|
|
645
|
+
*/
|
|
646
|
+
export async function detectNearestLockfiles(dir, options) {
|
|
647
|
+
const detectors = options?.detectors ?? knownPackageManagers;
|
|
648
|
+
const searchPaths = [];
|
|
649
|
+
for (const searchPath of lineage(dir, { root: options?.root })) {
|
|
650
|
+
searchPaths.push(searchPath);
|
|
651
|
+
const results = await Promise.all(detectors.map(async (detector) => {
|
|
652
|
+
try {
|
|
653
|
+
const lockfile = await detector.detectLockfile(searchPath);
|
|
654
|
+
return {
|
|
655
|
+
packageManager: detector,
|
|
656
|
+
lockfile,
|
|
657
|
+
};
|
|
658
|
+
}
|
|
659
|
+
catch {
|
|
660
|
+
return null;
|
|
661
|
+
}
|
|
662
|
+
}));
|
|
663
|
+
const found = results.filter(value => value !== null);
|
|
664
|
+
if (found.length > 0) {
|
|
665
|
+
return found;
|
|
666
|
+
}
|
|
667
|
+
}
|
|
668
|
+
const lockfiles = [...new Set(detectors.flatMap(detector => detector.representativeLockfiles))];
|
|
669
|
+
throw new NoLockfileFoundError(searchPaths, lockfiles);
|
|
670
|
+
}
|
|
671
|
+
export class NoConfigFileFoundError extends Error {
|
|
672
|
+
searchPaths;
|
|
673
|
+
configFiles;
|
|
674
|
+
constructor(searchPaths, configFiles, options) {
|
|
675
|
+
const message = `Unable to detect a config file in any of the following paths:`
|
|
676
|
+
+ `\n\n`
|
|
677
|
+
+ `${searchPaths.map(searchPath => ` ${searchPath}`).join('\n')}`
|
|
678
|
+
+ `\n\n`
|
|
679
|
+
+ `Config files we looked for:`
|
|
680
|
+
+ `\n\n`
|
|
681
|
+
+ `${configFiles.map(lockfile => ` ${lockfile}`).join('\n')}`;
|
|
682
|
+
super(message, options);
|
|
683
|
+
this.name = 'NoConfigFileFoundError';
|
|
684
|
+
this.searchPaths = searchPaths;
|
|
685
|
+
this.configFiles = configFiles;
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Searches `dir` and every parent directory (up to and including
|
|
690
|
+
* `options.root`) for a config file of any of the given `options.detectors`
|
|
691
|
+
* (or all known package manager detectors if not given). The search stops
|
|
692
|
+
* when a directory containing config files is found.
|
|
693
|
+
*
|
|
694
|
+
* @returns All detected config files in the directory.
|
|
695
|
+
* @throws {NoConfigFileFoundError} If no directory containing a config file is found.
|
|
696
|
+
*/
|
|
697
|
+
export async function detectNearestConfigFiles(dir, options) {
|
|
698
|
+
const detectors = options?.detectors ?? knownPackageManagers;
|
|
699
|
+
const searchPaths = [];
|
|
700
|
+
for (const searchPath of lineage(dir, { root: options?.root })) {
|
|
701
|
+
searchPaths.push(searchPath);
|
|
702
|
+
const results = await Promise.all(detectors.map(async (detector) => {
|
|
703
|
+
try {
|
|
704
|
+
const configFile = await detector.detectConfigFile(searchPath);
|
|
705
|
+
return {
|
|
706
|
+
packageManager: detector,
|
|
707
|
+
configFile,
|
|
708
|
+
};
|
|
709
|
+
}
|
|
710
|
+
catch {
|
|
711
|
+
return null;
|
|
712
|
+
}
|
|
713
|
+
}));
|
|
714
|
+
const found = results.filter(value => value !== null);
|
|
715
|
+
if (found.length > 0) {
|
|
716
|
+
return found;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
const configFiles = [...new Set(detectors.flatMap(detector => detector.representativeConfigFile ?? []))];
|
|
720
|
+
throw new NoConfigFileFoundError(searchPaths, configFiles);
|
|
721
|
+
}
|
|
722
|
+
export class NoPackageJsonFoundError extends Error {
|
|
723
|
+
searchPaths;
|
|
724
|
+
constructor(searchPaths, options) {
|
|
725
|
+
const message = `Unable to detect a package.json in any of the following paths:`
|
|
726
|
+
+ `\n\n`
|
|
727
|
+
+ `${searchPaths.map(searchPath => ` ${searchPath}`).join('\n')}`;
|
|
728
|
+
super(message, options);
|
|
729
|
+
this.name = 'NoPackageJsonFoundError';
|
|
730
|
+
this.searchPaths = searchPaths;
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
export async function detectNearestPackageJson(dir, options) {
|
|
734
|
+
const searchPaths = [];
|
|
735
|
+
for (const searchPath of lineage(dir, { root: options?.root })) {
|
|
736
|
+
searchPaths.push(searchPath);
|
|
737
|
+
const packageJson = await PackageJsonFile.loadFromFilePath(PackageJsonFile.filePath(searchPath));
|
|
738
|
+
if (packageJson) {
|
|
739
|
+
return packageJson;
|
|
740
|
+
}
|
|
741
|
+
}
|
|
742
|
+
throw new NoPackageJsonFoundError(searchPaths);
|
|
743
|
+
}
|
|
744
|
+
export async function fauxWorkspaceFromPackageJson(packageManager, packageJsonFile) {
|
|
745
|
+
const rootPackage = new Package({
|
|
746
|
+
name: packageJsonFile.name,
|
|
747
|
+
path: packageJsonFile.basePath,
|
|
748
|
+
});
|
|
749
|
+
return await initWorkspace(packageManager.detector(), {
|
|
750
|
+
root: rootPackage,
|
|
751
|
+
packages: [],
|
|
752
|
+
});
|
|
753
|
+
}
|
|
754
|
+
async function lookupNearestPackageJsonWorkspace(detector, dir) {
|
|
755
|
+
for (const searchPath of lineage(dir)) {
|
|
756
|
+
const rootPackage = await Package.loadFromDirPath(searchPath);
|
|
757
|
+
if (!rootPackage) {
|
|
758
|
+
continue;
|
|
759
|
+
}
|
|
760
|
+
if (rootPackage.workspaces === undefined || rootPackage.workspaces.length === 0) {
|
|
761
|
+
continue;
|
|
762
|
+
}
|
|
763
|
+
const packages = await Workspace.resolvePatterns(searchPath, rootPackage.workspaces);
|
|
764
|
+
return await initWorkspace(detector, {
|
|
765
|
+
root: rootPackage,
|
|
766
|
+
packages,
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
async function initWorkspace(detector, options) {
|
|
771
|
+
const lockfile = await detectNearestLockfiles(options.root.path, {
|
|
772
|
+
root: options.root.path,
|
|
773
|
+
detectors: [detector],
|
|
774
|
+
}).then(([{ lockfile }]) => Ok(lockfile), reason => Err(reason));
|
|
775
|
+
const configFile = await detectNearestConfigFiles(options.root.path, {
|
|
776
|
+
root: options.root.path,
|
|
777
|
+
detectors: [detector],
|
|
778
|
+
}).then(([{ configFile }]) => Ok(configFile), reason => Err(reason));
|
|
779
|
+
return new Workspace({
|
|
780
|
+
...options,
|
|
781
|
+
lockfile,
|
|
782
|
+
configFile,
|
|
783
|
+
});
|
|
784
|
+
}
|
|
785
|
+
//# sourceMappingURL=package-manager.js.map
|