mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 22:26:38 +03:00
* Add detector benchmark lab and visual contrast fallback * Expand visual contrast fixture coverage * Add browser visual contrast fallback * Show visual contrast overlays in detector lab * Fix detector lab short viewport layout * Fix detector lab visual overlays * Add visual contrast to browser scan overlays * Avoid browser scroll jumps during visual contrast scans * Resolve visual contrast lazily on scroll * Refresh detector lab visual counts lazily * Update pnpm lockfile for static parser deps * Address Bugbot detector API comments * Report extension visual contrast errors * Refactor detector into engine modules * Address Bugbot detector comments * Fix latest Bugbot detector notes * Fix visual contrast fixture labels * Refine detector lab fixtures * Fix stale detector overlay references * Fix detector lab fixture URLs * Fix typography lab fixture highlights * Fix typography lab page-level signal * Fix visual overlay lifecycle cleanup * Remove dead spotlight timer cleanup * Make browser async APIs reject consistently
44 lines
1.6 KiB
JavaScript
44 lines
1.6 KiB
JavaScript
#!/usr/bin/env node
|
|
|
|
/**
|
|
* Anti-Pattern Detector for Impeccable
|
|
* Copyright (c) 2026 Paul Bakaus
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*
|
|
* Public API facade. Runtime engines live under cli/engine/engines/.
|
|
*/
|
|
|
|
import { detectCli } from './cli/main.mjs';
|
|
|
|
export { ANTIPATTERNS, RULE_ENGINE_SUPPORT, getAntipattern, getRulesForCategory, getRuleEngineSupport } from './registry/antipatterns.mjs';
|
|
export { SAFE_TAGS, BORDER_SAFE_TAGS, OVERUSED_FONTS, GENERIC_FONTS, KNOWN_SERIF_FONTS } from './shared/constants.mjs';
|
|
export { isNeutralColor, parseRgb, relativeLuminance, contrastRatio, parseGradientColors, hasChroma, getHue, colorToHex } from './shared/color.mjs';
|
|
export { isFullPage } from './shared/page.mjs';
|
|
export {
|
|
checkElementBorders,
|
|
checkElementMotion,
|
|
checkElementGlow,
|
|
checkPageTypography,
|
|
checkPageLayout,
|
|
checkHtmlPatterns,
|
|
} from './rules/checks.mjs';
|
|
export { createDetectorProfile, summarizeDetectorProfile } from './profile/profiler.mjs';
|
|
export { detectHtml } from './engines/static-html/detect-html.mjs';
|
|
export { detectUrl, createBrowserDetector } from './engines/browser/detect-url.mjs';
|
|
export { detectText, extractStyleBlocks, extractCSSinJS } from './engines/regex/detect-text.mjs';
|
|
export {
|
|
walkDir,
|
|
SCANNABLE_EXTENSIONS,
|
|
SKIP_DIRS,
|
|
buildImportGraph,
|
|
resolveImport,
|
|
detectFrameworkConfig,
|
|
isPortListening,
|
|
FRAMEWORK_CONFIGS,
|
|
} from './node/file-system.mjs';
|
|
export { formatFindings, detectCli } from './cli/main.mjs';
|
|
|
|
const isMainModule = process.argv[1]?.endsWith('detect-antipatterns.mjs') ||
|
|
process.argv[1]?.endsWith('detect-antipatterns.mjs/');
|
|
if (isMainModule) detectCli();
|