Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions src/lib/runners/run-non-interactive.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export function runNonInteractive(
const { configureLogFileFromEnvironment, logToFile } = await import(
'@utils/debug'
);
const { wizardAbort, WizardError } = await import('@utils/wizard-abort');
const { wizardAbort } = await import('@utils/wizard-abort');

configureLogFileFromEnvironment();

Expand Down Expand Up @@ -213,14 +213,18 @@ export function runNonInteractive(
kind: OutroKind.Error,
message: `Prerequisites not met: ${detectError.kind}`,
});
// A failed prerequisite is an expected user-state check (no
// package.json, no PostHog SDK), not a wizard defect. Record it as a
// structured event so it does not reach error tracking as a crash.
analytics.wizardCapture('non-interactive prerequisites not met', {
integration: config.id,
program_id: config.id,
detect_error_kind: detectError.kind,
});
Comment thread
posthog[bot] marked this conversation as resolved.
await wizardAbort({
message: `Prerequisites not met: ${detectError.kind}\n\nSee ${
runDef?.docsUrl ?? POSTHOG_DOCS_URL
}`,
error: new WizardError(`${config.id} prerequisites failed`, {
integration: config.id,
detect_error_kind: detectError.kind,
}),
});
}
}
Expand Down
Loading