@flakiness-detective/utils
v0.1.1
Published
Shared utilities for Flakiness Detective - Logger and common helpers
Maintainers
Readme
@flakiness-detective/utils
Shared utilities and helper functions for Flakiness Detective.
Overview
This package provides common utilities used across all Flakiness Detective packages, including logging, type definitions, and helper functions.
Logger
A simple, configurable logger with multiple log levels.
Usage
import { createLogger } from "@flakiness-detective/utils";
const logger = createLogger({ level: "info" });
logger.log("Processing test failures...");
logger.log("Found 10 clusters");Log Levels
debug- Detailed debugging informationinfo- General informational messages (default)warn- Warning messageserror- Error messagessilent- No output
Custom Logger Implementation
You can also implement your own logger:
import type { Logger } from "@flakiness-detective/utils";
const customLogger: Logger = {
log: (message: string) => {
// Your custom logging logic
console.log(`[CUSTOM] ${message}`);
},
};API Reference
createLogger(options)
Creates a logger instance with the specified configuration.
Parameters:
options.level- Log level ('debug'|'info'|'warn'|'error'|'silent')
Returns: Logger instance
Logger Interface
interface Logger {
log(message: string): void;
}Examples
Basic Logging
import { createLogger } from "@flakiness-detective/utils";
const logger = createLogger({ level: "info" });
logger.log("Starting flakiness detection...");
logger.log("Analysis complete");Debug Mode
import { createLogger } from "@flakiness-detective/utils";
const logger = createLogger({ level: "debug" });
logger.log("Fetching failures from database...");
logger.log("Generating embeddings...");
logger.log("Running DBSCAN clustering...");Silent Mode
import { createLogger } from "@flakiness-detective/utils";
const logger = createLogger({ level: "silent" });
// No output
logger.log("This will not be logged");Integration
The utils package is used by all other Flakiness Detective packages:
- Core: For logging detection pipeline progress
- Adapters: For logging adapter operations (fetch, save, etc.)
- CLI: For user-facing output and verbose logging
Related Packages
- @flakiness-detective/core - Core detection engine (docs)
- @flakiness-detective/adapters - Data adapters and embedding providers (docs)
- @flakiness-detective/cli - Command-line interface (docs)
License
MIT
