@bomb.sh/tools
Version:
The internal dev, build, and lint CLI for Bombshell projects
43 lines (42 loc) • 1.72 kB
text/typescript
import { CommandContext } from "../context.mjs";
//#region src/commands/lint.d.ts
interface Violation {
tool: 'oxlint' | 'publint' | 'knip' | 'tsc';
level: 'error' | 'warning' | 'suggestion';
code: string;
message: string;
file?: string;
line?: number;
column?: number;
}
declare function runOxlint(targets: string[], fix?: boolean): Promise<Violation[]>;
/**
* Mechanically fix knip-reported issues. Dependency hygiene (removing unused
* deps from package.json) always runs with `--fix`; dead-code fixes (unused
* exports/types) only run in `--strict` mode, matching the report tiers.
* Unused files are never deleted automatically.
*/
declare function runKnipFix(strict?: boolean): Promise<void>;
/**
* Knip dead-code issue kinds (unused exports/types/files) fire constantly
* mid-implementation — an export is "unused" until its consumer exists.
* They only carry signal as a commit-time gate, so they require `--strict`.
* Dependency hygiene issues are stable and always reported.
*/
declare function runKnip(options?: {
strict?: boolean;
}): Promise<Violation[]>;
/**
* Print violations grouped by file. Errors are always shown in full.
* Warnings collapse to a per-rule count unless `warnings` is set — they
* don't affect the exit code, so a wall of them buries actual failures.
*/
declare function printViolations(violations: Violation[], options?: {
warnings?: boolean;
}): void;
/** Machine-readable report for agents and CI. */
declare function printJson(violations: Violation[]): void;
declare function lint(ctx: CommandContext): Promise<void>;
//#endregion
export { lint, printJson, printViolations, runKnip, runKnipFix, runOxlint };
//# sourceMappingURL=lint.d.mts.map