ngcompass 0.1.1-beta.0 → 0.1.3-beta

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/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/commands/exit.ts","../src/commands/init.ts","../src/spinner.ts","../src/commands/analyze.ts","../src/commands/config.ts","../src/commands/cache.ts","../src/commands/rules.ts","../src/commands/index.ts","../src/bin/ngcompass.ts"],"names":["exitWithError","code","process","stdout","isTTY","write","exit","registerInitCommand","program","_cache","command","description","option","cwd","action","options","result","initConfig","force","reporter","getConfigReporter","renderInitResult","success","alreadyExists","error","console","Error","message","String","FRAMES","Spinner","timer","frameIndex","stream","start","render","setInterval","pc","cyan","dim","writeLine","line","stop","clearInterval","frame","length","normalizeReporterFormat","format","formatDuration","ms","Math","max","round","toFixed","registerAnalyzeCommand","cache","startTime","performance","now","getReporter","compact","outputPath","output","quiet","noRecommendation","recommendation","activeCache","exitCode","stats","failOnSeverity","maxWarnings","configResult","loadConfigurationStep","config","createRuntimeCache","reporterFormat","cliFormat","configFormat","outputFormat","files","discoverFilesStep","enabledRules","resolveRulesStep","plan","buildPlanStep","progressStream","stderr","spinner","logFileProgress","expectedTasksByFile","Map","filePath","tasks","map","task","filter","set","get","completedByFile","printedFiles","Set","event","count","has","accumulated","next","taskCount","issueCount","errorCount","warningCount","duration","expectedTasks","add","relativePath","path","relative","hasIssues","status","red","green","toLocaleString","analysis","runAnalysisStep","undefined","maxWorkers","summary","scannedFiles","t","skippedTasks","size","discoveredFiles","totalFiles","totalTasks","cachedTasks","precomputedAnalysis","totalErrors","totalWarnings","parseErrors","report","results","step","saveToCacheStep","flush","tStart","resolveConfig","profile","valid","issueLines","issues","issue","pathString","join","severity","toUpperCase","pluginList","plugins","configDir","loadPlugins","getGlobalRegistry","info","debug","scanResult","scan","rootDir","include","DEFAULT_INCLUDE_PATTERNS","exclude","ignorePatterns","tsConfigPath","parserOptions","project","tsconfigRootDir","resolve","respectGitignore","ok","data","effectiveConfig","rule","rules","extends","rulesResult","resolveRules","getEnabledRules","planResult","buildExecutionPlan","incremental","forceRerun","workerCount","overrides","onProgress","_workerCountForCompatibility","onFileProgress","configureRuleExecutor","executeBatchedNewEngineRules","isNewEngineRule","cliMaxWorkers","parseInt","cliChunkSize","typeAwareChunkSize","runAnalysis","skipTypeCheck","cacheEntries","taskId","push","setMany","registerConfigCommand","validateConfig","renderHealthReport","errorMessage","registerCacheCommand","cacheCmd","getCacheReporter","type","validTypes","includes","resolveRuntimeCache","allowDisabled","clear","clearType","renderClearResult","err","getInfo","renderCacheInfo","getCachePath","fallbackCache","registerRulesCommand","ruleName","opts","preset","isBuiltinPreset","entries","getRuleListEntries","getRulesReporter","find","e","name","renderSingleRule","registerCommands","restoreCursor","shutdownInProgress","gracefulShutdown","flushTimeout","Promise","setTimeout","unref","race","run","Command","version","PACKAGE_VERSION","addHelpText","hook","thisCommand","actionCommand","enableDebug","actionOpts","default","parent","commandName","bgCyan","white","bold","createCacheContext","on","reason","msg","registerAllBuiltinRules","argv","slice","outputHelp","parseAsync","catch"],"mappings":"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","file":"cli.js","sourcesContent":["export const exitWithError = (s = 1)=>{\n process.stdout.isTTY && process.stdout.write('\\x1B[?25h'), process.exit(s);\n};\n","import { getConfigReporter as r } from '@ngcompass/reporters';\nimport { initConfig as e } from '@ngcompass/config';\nimport { exitWithError as o } from './exit.js';\nexport function registerInitCommand(t, i) {\n t.command('init').description('Create a starter ngcompass configuration in the current project').option('-f, --force', 'Overwrite an existing configuration file').option('--cwd <path>', 'Project directory where the configuration will be created', process.cwd()).action(async (t)=>{\n try {\n let i = await e({\n cwd: t.cwd,\n force: t.force\n }), c = r();\n await c.renderInitResult(i), i.success || i.alreadyExists || o();\n } catch (r) {\n console.error(r instanceof Error ? r.message : String(r)), o();\n }\n });\n}\n","import t from 'picocolors';\nlet FRAMES = [\n '⠋',\n '⠙',\n '⠹',\n '⠸',\n '⠼',\n '⠴',\n '⠦',\n '⠧',\n '⠇',\n '⠏'\n];\nexport class Spinner {\n stream;\n timer = null;\n frameIndex = 0;\n message = '';\n isTTY;\n constructor(t){\n this.stream = t, this.isTTY = !!t.isTTY;\n }\n start(e) {\n (this.message = e, this.frameIndex = 0, this.isTTY) ? (this.stream.write('\\x1B[?25l'), this.render(), this.timer = setInterval(()=>this.render(), 80)) : this.stream.write(`${t.cyan('❯')} ${t.dim(e)}\\n`);\n }\n writeLine(t) {\n this.isTTY && this.timer ? (this.stream.write('\\r\\x1B[K'), this.stream.write(`${t}\\n`), this.render()) : this.stream.write(`${t}\\n`);\n }\n stop() {\n this.timer && (clearInterval(this.timer), this.timer = null), this.isTTY && (this.stream.write('\\r\\x1B[K'), this.stream.write('\\x1B[?25h'));\n }\n render() {\n let e = t.cyan(FRAMES[this.frameIndex % FRAMES.length]);\n this.frameIndex++, this.stream.write(`\\r${e} ${t.dim(this.message)}`);\n }\n}\n","import e from 'node:path';\nimport r from 'picocolors';\nimport { DEFAULT_INCLUDE_PATTERNS as t } from '@ngcompass/common';\nimport { getReporter as o } from '@ngcompass/reporters';\nimport n from 'node:process';\nimport { createRuntimeCache as a } from '@ngcompass/cache';\nimport { exitWithError as i } from './exit.js';\nimport { Spinner as s } from '../spinner.js';\nimport { getGlobalRegistry as l, executeBatchedNewEngineRules as u, isNewEngineRule as p, resolveRules as c, getEnabledRules as m } from '@ngcompass/rules';\nimport { loadPlugins as f, resolveConfig as d } from '@ngcompass/config';\nimport { runAnalysis as g, configureRuleExecutor as h } from '@ngcompass/engine';\nimport { buildExecutionPlan as w } from '@ngcompass/planner';\nimport { scan as k } from '@ngcompass/scanner';\nfunction normalizeReporterFormat(e) {\n return 'ui' === e ? 'html' : e ?? 'console';\n}\nfunction formatDuration(e) {\n return e < 1000 ? `${Math.max(0, Math.round(e))}ms` : `${(e / 1000).toFixed(1)}s`;\n}\nexport function registerAnalyzeCommand(t, l) {\n t.command('analyze').description('Analyze your project and report rule violations and architecture risks').option('-p, --profile <name>', 'Configuration profile to run').option('--force', 'Ignore cached results and re-run all checks').option('--format <fmt>', 'Reporter format: console | json | sarif | html | ui').option('--compact', 'Use compact, ESLint-style output').option('-q, --quiet', 'Show summary counts only, suppress violation details').option('--no-recommendation', 'Suppress fix recommendations from output').option('--output <path>', 'Output path for UI reports (default: ngcompass-report.html)').option('--rule <id>', 'Run only one rule (useful for debugging or focused checks)').option('--max-workers <n>', 'Cap the number of worker threads (lower = less memory, e.g. --max-workers 2)').option('--type-aware-chunk-size <n>', 'Files per type-aware chunk (default 400; lower = less peak memory)').option('--skip-type-check', 'Skip rules that require the TypeScript type checker (fastest, lowest memory)').action(async (t)=>{\n let u = performance.now(), p = o(normalizeReporterFormat(t.format), {\n compact: !!t.compact,\n outputPath: t.output,\n quiet: !!t.quiet,\n noRecommendation: !1 === t.recommendation\n }), c = l, m = 0;\n try {\n var f;\n let i, d, g = await loadConfigurationStep(t, l, p);\n if (!g) {\n m = 1;\n return;\n }\n let { config: h } = g;\n c = a(h, n.cwd());\n let w = function(e, r) {\n if (e) return normalizeReporterFormat(e);\n switch(r){\n case 'json':\n return 'json';\n case 'sarif':\n return 'sarif';\n case 'html':\n return 'html';\n default:\n return 'console';\n }\n }(t.format, h.outputFormat);\n p = o(w, {\n compact: !!t.compact,\n outputPath: t.output ?? h.outputPath,\n quiet: !!t.quiet,\n noRecommendation: !1 === t.recommendation\n });\n let k = await discoverFilesStep(h, t, c, p);\n if (!k) {\n m = 1;\n return;\n }\n let y = await resolveRulesStep(h, t, p);\n if (!y) {\n m = 1;\n return;\n }\n let $ = await buildPlanStep(k, y, c, t, p, h);\n if (!$) {\n m = 1;\n return;\n }\n let v = 'console' === w ? n.stdout : n.stderr, C = new s(v);\n C.start('Running analysis...');\n let x = function(t, o, n) {\n let a = new Map();\n for (let e of t.tasks.map((e)=>e.filePath).filter((e)=>'string' == typeof e && e.length > 0))a.set(e, (a.get(e) ?? 0) + 1);\n let i = new Map(), s = new Set();\n return (t)=>{\n var l;\n if (s.has(t.filePath)) return;\n let u = i.get(t.filePath), p = u ? {\n filePath: t.filePath,\n taskCount: u.taskCount + t.taskCount,\n issueCount: u.issueCount + t.issueCount,\n errorCount: u.errorCount + t.errorCount,\n warningCount: u.warningCount + t.warningCount,\n duration: u.duration + t.duration\n } : t;\n i.set(t.filePath, p);\n let c = a.get(t.filePath) ?? p.taskCount;\n if (p.taskCount < c) return;\n s.add(t.filePath);\n let m = e.relative(n, t.filePath) || t.filePath, f = p.issueCount > 0, d = f ? r.red('❯') : r.green('❯'), g = f ? r.red(formatDuration(p.duration)) : r.green(formatDuration(p.duration));\n o(f ? `${d} ${r.red(m)} ${g} ${r.red((l = p.issueCount, `${l.toLocaleString()} issue${1 === l ? '' : 's'}`))}` : `${d} ${r.dim(m)} ${g}`);\n };\n }($, (e)=>C.writeLine(e), n.cwd()), S = await runAnalysisStep($, c, t, p, k, h, void 0, h.maxWorkers, x);\n if (C.stop(), !S) {\n m = 1;\n return;\n }\n let F = performance.now() - u, P = {\n scannedFiles: new Set([\n ...$.tasks.map((e)=>e.filePath),\n ...($.skippedTasks ?? []).map((e)=>e.filePath)\n ]).size,\n discoveredFiles: k.length,\n totalFiles: S.stats.totalFiles,\n totalTasks: $.tasks.length + ($.skippedTasks?.length ?? 0),\n cachedTasks: $.precomputedAnalysis ? $.tasks.length : void 0,\n totalErrors: S.stats.totalErrors,\n totalWarnings: S.stats.totalWarnings,\n failOnSeverity: h.failOnSeverity,\n maxWarnings: h.maxWarnings,\n duration: F\n };\n 'console' === w && p.summary(P), p.parseErrors(S.parseErrors), p.report(S.results), 'console' !== w && (p.step('❯ Writing report...'), p.summary(P)), $.precomputedAnalysis || await saveToCacheStep(S.results, c, t, p), f = S.stats, i = h.failOnSeverity ?? 'error', d = h.maxWarnings ?? 10, (f.totalErrors > 0 || 'warn' === i && f.totalWarnings > 0 || f.totalWarnings > d) && (m = 1);\n } catch (e) {\n p.error(e), m = 1;\n } finally{\n c && c !== l && await c.flush(), 0 !== m && i(m);\n }\n });\n}\nasync function loadConfigurationStep(e, r, t) {\n let o = performance.now();\n t.step('❯ Loading configuration...');\n let a = await d({\n profile: e.profile,\n cache: r,\n cwd: n.cwd()\n });\n if (!a.report.valid) {\n let e = a.report.issues.map((e)=>{\n let r = e.path?.join('.') || 'root';\n return `[${e.severity.toUpperCase()}] ${r}: ${e.message}`;\n });\n return t.error(Error([\n 'Configuration validation failed',\n ...e\n ].join('\\n'))), null;\n }\n if (!a.config) return t.error(Error('No configuration found')), null;\n let i = a.config.plugins;\n if (i && i.length > 0) {\n t.step(`❯ Loading ${i.length} plugin(s)...`);\n let e = n.cwd();\n await f(i, e, l()), t.info(`Loaded ${i.length} plugin(s)`);\n }\n return t.debug(`Config resolve: ${(performance.now() - o).toFixed(2)}ms`), {\n config: a.config\n };\n}\nasync function discoverFilesStep(r, o, a, i) {\n let s = performance.now();\n i.step('❯ Discovering files...');\n let l = await k({\n rootDir: n.cwd(),\n include: r.include ?? [\n ...t\n ],\n exclude: r.exclude ?? [],\n ignorePatterns: r.ignorePatterns,\n tsConfigPath: function(r, t) {\n if (!r?.project) return;\n let o = r.tsconfigRootDir ? e.resolve(t, r.tsconfigRootDir) : t;\n return e.resolve(o, r.project);\n }(r.parserOptions, n.cwd()),\n respectGitignore: !0,\n debug: o.debug,\n cache: a\n });\n return l.ok ? (i.info(`❯ Found ${l.data.files.length} files in ${(performance.now() - s).toFixed(0)}ms`), i.debug(`File discovery: ${(performance.now() - s).toFixed(2)}ms`), l.data.files) : (i.error(Error(`File discovery failed: ${l.error.message}`)), null);\n}\nasync function resolveRulesStep(e, r, t) {\n let o = performance.now();\n t.step('❯ Loading rules...');\n let n = e;\n r.rule && (t.info(`Filtering analysis to single rule: ${r.rule}`), n = {\n ...e,\n rules: {\n [r.rule]: 'error'\n },\n extends: []\n });\n let a = await c(n);\n if (!a.ok) return t.error(Error(`Rule resolution failed: ${a.error.message}`)), null;\n let i = m(a.data.rules);\n return t.info(`❯ Loaded ${i.size} active rules in ${(performance.now() - o).toFixed(0)}ms`), t.debug(`Rule resolution: ${(performance.now() - o).toFixed(2)}ms`), i;\n}\nasync function buildPlanStep(e, r, t, o, a, i) {\n let s = performance.now();\n a.step('❯ Planning analysis...');\n let l = await w({\n files: e,\n rules: r,\n rootDir: n.cwd(),\n cache: t,\n debug: o.debug,\n incremental: o.force ? {\n forceRerun: !0\n } : void 0,\n workerCount: i.maxWorkers,\n overrides: i.overrides\n });\n return l.ok ? (l.data.precomputedAnalysis ? a.info('❯ Reused cached analysis plan') : a.info(`❯ Prepared ${l.data.tasks.length.toLocaleString()} checks in ${(performance.now() - s).toFixed(0)}ms`), a.debug(`Plan build: ${(performance.now() - s).toFixed(2)}ms`), l.data) : (a.error(Error(`Execution plan building failed: ${l.error.message}`)), null);\n}\nasync function runAnalysisStep(e, r, t, o, a, i, s, l, c) {\n let m = performance.now();\n h(u, p);\n let f = t.maxWorkers ? parseInt(t.maxWorkers, 10) : void 0, d = t.typeAwareChunkSize ? parseInt(t.typeAwareChunkSize, 10) : void 0, w = await g(e, {\n rootDir: n.cwd(),\n cache: r,\n debug: t.debug,\n files: a,\n maxWorkers: f ?? i?.maxWorkers,\n typeAwareChunkSize: d,\n skipTypeCheck: t.skipTypeCheck,\n parserOptions: i?.parserOptions,\n onProgress: s,\n onFileProgress: c\n });\n return w.ok ? (o.debug(`Execution: ${(performance.now() - m).toFixed(2)}ms`), w.data) : (o.error(Error(`Analysis failed: ${w.error.message}`)), null);\n}\nasync function saveToCacheStep(e, r, t, o) {\n if (!r) return;\n let n = performance.now(), a = [];\n for (let r of e)r.taskId && a.push([\n r.taskId,\n r\n ]);\n a.length > 0 && (await r.results.setMany(a), t.debug && o.debug(`Saved ${a.length} results to cache (${(performance.now() - n).toFixed(2)}ms)`));\n}\n","import { getConfigReporter as o } from '@ngcompass/reporters';\nimport { validateConfig as r } from '@ngcompass/config';\nimport { exitWithError as e } from './exit.js';\nexport function registerConfigCommand(i, t) {\n i.command('config').description('Inspect and validate ngcompass configuration').command('health').description('Run semantic validation checks for the active configuration').option('-p, --profile <name>', 'Configuration profile to validate').action(async (i)=>{\n try {\n let a = await r({\n cache: i.cache ? t : void 0,\n profile: i.profile\n }), n = o();\n await n.renderHealthReport(a.report), a.report.valid || e();\n } catch (r) {\n let o = r instanceof Error ? r.message : String(r);\n console.error(`Error: ${o}`), e();\n }\n });\n}\n","import { createRuntimeCache as e } from '@ngcompass/cache';\nimport { getCacheReporter as o } from '@ngcompass/reporters';\nimport { resolveConfig as a } from '@ngcompass/config';\nimport r from 'picocolors';\nimport t from 'node:process';\nimport { exitWithError as i } from './exit.js';\nexport function registerCacheCommand(e, a) {\n let c = e.command('cache').description('Inspect and manage analysis cache data');\n c.command('clear').description('Clear cached data for one cache type or all cache types').option('-p, --profile <name>', 'Configuration profile used to resolve cache settings').option('--type <type>', 'Cache type to clear: ast | config | results | all', 'all').action(async (e)=>{\n let c = o();\n t.stdout.write(r.dim(' › Clearing cache...\\n'));\n let l = e.type, n = [\n 'ast',\n 'config',\n 'results',\n 'all'\n ];\n n.includes(l) || (console.error(r.red(`Invalid cache type: ${l}. Must be one of: ${n.join(', ')}`)), i());\n try {\n let o = await resolveRuntimeCache(a, {\n profile: e.profile,\n allowDisabled: !0\n });\n 'all' === l ? await o.clear() : await o.clearType(l), c.renderClearResult(l);\n } catch (e) {\n console.error(r.red('Error clearing cache:'), e), i();\n }\n }), c.command('info').description('Show cache status, size, and usage details').option('-p, --profile <name>', 'Configuration profile used to resolve cache settings').action(async (e)=>{\n let t = o();\n try {\n let o = await resolveRuntimeCache(a, {\n profile: e.profile,\n allowDisabled: !0\n }), r = await o.getInfo();\n t.renderCacheInfo(r);\n } catch (e) {\n console.error(r.red('Error getting cache info:'), e), i();\n }\n }), c.command('path').description('Print the resolved cache directory path').option('-p, --profile <name>', 'Configuration profile used to resolve cache settings').action(async (e)=>{\n let o = await resolveRuntimeCache(a, {\n profile: e.profile,\n allowDisabled: !0\n });\n t.stdout.write(`${o.getCachePath()}\\n`);\n });\n}\nasync function resolveRuntimeCache(o, r = {}) {\n let i = r.cwd ?? t.cwd();\n try {\n let t = await a({\n profile: r.profile,\n cache: o,\n cwd: i\n });\n if (!t.report.valid || !t.config) return o;\n return e(t.config, i, {\n allowDisabled: r.allowDisabled\n }) ?? o;\n } catch {\n return o;\n }\n}\n","import { getRulesReporter as e } from '@ngcompass/reporters';\nimport { getRuleListEntries as r, isBuiltinPreset as o } from '@ngcompass/rules';\nimport s from 'picocolors';\nimport { exitWithError as t } from './exit.js';\nexport function registerRulesCommand(i) {\n i.command('rules [ruleName]').description('Browse available rules or inspect details for a specific rule').option('--preset <name>', 'Filter by preset: recommended, strict, performance, reactivity, or all').action((i, l)=>{\n l.preset && !o(l.preset) && (console.error(s.red(`Unknown preset: \"${l.preset}\".`)), console.error(s.dim('Available presets: recommended, strict, all, performance, reactivity')), t());\n let n = r(), m = e({\n preset: l.preset\n });\n if (i) {\n let e = n.find((e)=>e.name === i);\n if (!e) {\n console.error(s.red(`Rule \"${i}\" not found.`)), console.error(s.dim('Run `ngcompass rules` to list available rules.')), t();\n return;\n }\n m.renderSingleRule(e);\n } else m.render(n);\n });\n}\n","import { registerInitCommand as o } from './init.js';\nimport { registerAnalyzeCommand as r } from './analyze.js';\nimport { registerConfigCommand as m } from './config.js';\nimport { registerCacheCommand as i } from './cache.js';\nimport { registerRulesCommand as t } from './rules.js';\nexport function registerCommands(s, f) {\n o(s, f), r(s, f), m(s, f), i(s, f), t(s);\n}\n","import { Command as r } from 'commander';\nimport { registerCommands as o } from '../commands/index.js';\nimport { enableDebug as e, PACKAGE_VERSION as s } from '@ngcompass/common';\nimport { createCacheContext as n } from '@ngcompass/cache';\nimport { registerAllBuiltinRules as t } from '@ngcompass/rules';\nlet restoreCursor = ()=>{\n process.stdout.isTTY && process.stdout.write('\\x1B[?25h');\n}, shutdownInProgress = !1, gracefulShutdown = async (r, o)=>{\n if (!shutdownInProgress) {\n if (shutdownInProgress = !0, restoreCursor(), r) try {\n let o = new Promise((r)=>setTimeout(r, 10_000).unref());\n await Promise.race([\n r.flush(),\n o\n ]);\n } catch {}\n process.exit(o);\n }\n};\nexport async function run() {\n let a = new r();\n a.name('ngcompass').description('Static analysis and architecture insights for Angular codebases.').version(s, '-V, --version', 'Display ngcompass version').option('--debug', 'Enable detailed debug logs across all modules').addHelpText('after', '\\nExamples:\\n $ ngcompass init\\n $ ngcompass analyze --profile strict\\n $ ngcompass cache info\\n').hook('preAction', async (r, o)=>{\n r.opts().debug && e('debug', 'all');\n let n = o.opts();\n if ('json' !== n.format && 'sarif' !== n.format && 'html' !== n.format && 'ui' !== n.format) {\n let { default: r } = await import('picocolors'), e = o.parent, n = e && 'ngcompass' !== e.name() ? e.name() : o.name(), t = process.cwd();\n process.stdout.write(`\\n${r.dim('>')} ${r.dim(`ngcompass@${s}`)} ${r.dim(n)} ${r.dim(t)}\\n${r.dim('>')} ${r.dim('ngcompass')} ${r.dim('run')}\\n\\n ${r.bgCyan(r.white(r.bold(` ${n.toUpperCase()} `)))} ${r.cyan(s)} ${r.dim(t)}\\n\\n`);\n }\n });\n let c = n();\n process.on('SIGINT', ()=>void gracefulShutdown(c, 130)), process.on('SIGTERM', ()=>void gracefulShutdown(c, 143)), process.on('uncaughtException', (r)=>{\n restoreCursor(), console.error(`\\n[ngcompass] Unexpected error: ${r.message}`), gracefulShutdown(c, 1);\n }), process.on('unhandledRejection', (r)=>{\n restoreCursor();\n let o = r instanceof Error ? r.message : String(r);\n console.error(`\\n[ngcompass] Unhandled promise rejection: ${o}`), gracefulShutdown(c, 1);\n });\n try {\n if (t(), o(a, c), !process.argv.slice(2).length) return void a.outputHelp();\n await a.parseAsync(process.argv), await c.flush(), process.exit(0);\n } catch (o) {\n restoreCursor();\n let r = o instanceof Error ? o.message : String(o);\n console.error(`[ngcompass] Fatal error: ${r}`), await gracefulShutdown(c, 1);\n }\n}\nrun().catch((r)=>{\n restoreCursor();\n let o = r instanceof Error ? r.message : String(r);\n console.error(`[ngcompass] Fatal error: ${o}`), process.exit(1);\n});\n"]}
1
+ {"version":3,"sources":["../src/commands/exit.ts","../src/commands/init.ts","../src/spinner.ts","../src/commands/analyze.ts","../src/commands/config.ts","../src/commands/cache.ts","../src/commands/rules.ts","../src/commands/index.ts","../src/bin/ngcompass.ts"],"names":["exitWithError","code","process","stdout","isTTY","write","exit","registerInitCommand","program","_cache","command","description","option","cwd","action","options","result","initConfig","force","getConfigReporter","renderInitResult","success","alreadyExists","error","console","Error","message","String","FRAMES","Spinner","timer","frameIndex","stream","start","render","setInterval","pc","cyan","dim","update","writeLine","line","stop","clearInterval","frame","length","PERFORMANCE_MODE_PRESETS","eco","typeAwareConcurrency","typeAwareFileConcurrency","typeAwareChunkSize","typeAwareIsolation","typeAwareChunkStrategy","balanced","turbo","PERFORMANCE_MODES","Object","keys","TYPE_AWARE_ISOLATION_MODES","TYPE_AWARE_CHUNK_STRATEGIES","parsePositiveIntegerOption","value","optionName","undefined","parsed","Number","isInteger","normalizeReporterFormat","format","formatDuration","ms","Math","max","round","toFixed","pluralise","count","singular","toLocaleString","formatAnalysisProgressMessage","mode","completed","total","registerAnalyzeCommand","cache","addOption","Option","hideHelp","startTime","performance","now","reporter","getReporter","compact","outputPath","output","quiet","noRecommendation","recommendation","activeCache","exitCode","stats","preset","cliMaxWorkers","cliChunkSize","cliTypeAwareConcurrency","cliTypeAwareFileConcurrency","failOnSeverity","maxWarnings","configResult","loadConfigurationStep","config","performanceOptions","includes","join","maxWorkers","createRuntimeCache","reporterFormat","cliFormat","configFormat","outputFormat","files","discoverFilesStep","enabledRules","resolveRulesStep","plan","buildPlanStep","progressStream","stderr","spinner","totalChecks","tasks","skippedTasks","logFileProgress","syntaxExpected","Map","typeAwareExpected","task","fp","filePath","needsTypeChecker","needsProjectContext","set","get","syntaxDone","typeAwareDone","syntaxLinePrinted","Set","finalLinePrinted","accumulate","map","event","prev","next","taskCount","issueCount","errorCount","warningCount","duration","printFinalLine","acc","has","add","relativePath","path","relative","hasIssues","status","red","green","dur","typeAware","expected","syntaxAcc","totalExpected","analysis","runAnalysisStep","summary","scannedFiles","t","size","discoveredFiles","totalFiles","totalTasks","cachedTasks","precomputedAnalysis","totalErrors","totalWarnings","parseErrors","report","results","step","saveToCacheStep","flush","tStart","resolveConfig","profile","valid","issueLines","issues","issue","pathString","severity","toUpperCase","pluginList","plugins","configDir","loadPlugins","getGlobalRegistry","info","debug","scanResult","scan","rootDir","include","DEFAULT_INCLUDE_PATTERNS","exclude","ignorePatterns","tsConfigPath","parserOptions","project","tsconfigRootDir","resolve","respectGitignore","ok","data","effectiveConfig","rule","rules","extends","rulesResult","resolveRules","getEnabledRules","planResult","buildExecutionPlan","incremental","forceRerun","workerCount","overrides","onProgress","onFileProgress","configureRuleExecutor","executeBatchedNewEngineRules","isNewEngineRule","runAnalysis","skipTypeCheck","cacheEntries","taskId","push","setMany","registerConfigCommand","validateConfig","renderHealthReport","errorMessage","registerCacheCommand","cacheCmd","getCacheReporter","type","validTypes","resolveRuntimeCache","allowDisabled","clear","clearType","renderClearResult","err","getInfo","renderCacheInfo","getCachePath","fallbackCache","registerRulesCommand","ruleName","opts","isBuiltinPreset","entries","getRuleListEntries","getRulesReporter","find","e","name","renderSingleRule","registerCommands","restoreCursor","shutdownInProgress","gracefulShutdown","flushTimeout","Promise","setTimeout","unref","race","run","Command","version","PACKAGE_VERSION","addHelpText","hook","thisCommand","actionCommand","enableDebug","actionOpts","default","parent","commandName","bgCyan","white","bold","createCacheContext","on","reason","msg","registerAllBuiltinRules","argv","slice","outputHelp","parseAsync","catch"],"mappings":"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","file":"cli.js","sourcesContent":["export const exitWithError = (s = 1)=>{\n process.stdout.isTTY && process.stdout.write('\\x1B[?25h'), process.exit(s);\n};\n","import { getConfigReporter as r } from '@ngcompass/reporters';\nimport { initConfig as e } from '@ngcompass/config';\nimport { exitWithError as o } from './exit.js';\nexport function registerInitCommand(t, i) {\n t.command('init').description('Create a starter ngcompass configuration in the current project').option('-f, --force', 'Overwrite an existing configuration file').option('--cwd <path>', 'Project directory where the configuration will be created', process.cwd()).action(async (t)=>{\n try {\n let i = await e({\n cwd: t.cwd,\n force: t.force\n }), c = r();\n await c.renderInitResult(i), i.success || i.alreadyExists || o();\n } catch (r) {\n console.error(r instanceof Error ? r.message : String(r)), o();\n }\n });\n}\n","import t from 'picocolors';\nlet FRAMES = [\n '⠋',\n '⠙',\n '⠹',\n '⠸',\n '⠼',\n '⠴',\n '⠦',\n '⠧',\n '⠇',\n '⠏'\n];\nexport class Spinner {\n stream;\n timer = null;\n frameIndex = 0;\n message = '';\n isTTY;\n constructor(t){\n this.stream = t, this.isTTY = !!t.isTTY;\n }\n start(e) {\n (this.message = e, this.frameIndex = 0, this.isTTY) ? (this.stream.write('\\x1B[?25l'), this.render(), this.timer = setInterval(()=>this.render(), 80)) : this.stream.write(`${t.cyan('❯')} ${t.dim(e)}\\n`);\n }\n update(t) {\n this.message = t, this.isTTY && this.timer && this.render();\n }\n writeLine(t) {\n this.isTTY && this.timer ? (this.stream.write('\\r\\x1B[K'), this.stream.write(`${t}\\n`), this.render()) : this.stream.write(`${t}\\n`);\n }\n stop() {\n this.timer && (clearInterval(this.timer), this.timer = null), this.isTTY && (this.stream.write('\\r\\x1B[K'), this.stream.write('\\x1B[?25h'));\n }\n render() {\n let e = t.cyan(FRAMES[this.frameIndex % FRAMES.length]);\n this.frameIndex++, this.stream.write(`\\r\\x1B[K${e} ${t.dim(this.message)}`);\n }\n}\n","import { Option as e } from 'commander';\nimport r from 'node:path';\nimport t from 'picocolors';\nimport { DEFAULT_INCLUDE_PATTERNS as o } from '@ngcompass/common';\nimport { getReporter as n } from '@ngcompass/reporters';\nimport a from 'node:process';\nimport { createRuntimeCache as i } from '@ngcompass/cache';\nimport { exitWithError as s } from './exit.js';\nimport { Spinner as u } from '../spinner.js';\nimport { getGlobalRegistry as l, executeBatchedNewEngineRules as p, isNewEngineRule as c, resolveRules as d, getEnabledRules as m } from '@ngcompass/rules';\nimport { loadPlugins as f, resolveConfig as y } from '@ngcompass/config';\nimport { runAnalysis as g, configureRuleExecutor as w } from '@ngcompass/engine';\nimport { buildExecutionPlan as C } from '@ngcompass/planner';\nimport { scan as h } from '@ngcompass/scanner';\nlet PERFORMANCE_MODE_PRESETS = {\n eco: {\n typeAwareConcurrency: 1,\n typeAwareFileConcurrency: 1,\n typeAwareChunkSize: 100,\n typeAwareIsolation: 'auto',\n typeAwareChunkStrategy: 'dependency'\n },\n balanced: {\n typeAwareConcurrency: 2,\n typeAwareFileConcurrency: 2,\n typeAwareChunkSize: 300,\n typeAwareIsolation: 'auto',\n typeAwareChunkStrategy: 'simple'\n },\n turbo: {\n typeAwareConcurrency: 2,\n typeAwareFileConcurrency: 4,\n typeAwareChunkSize: 500,\n typeAwareIsolation: 'off',\n typeAwareChunkStrategy: 'simple'\n }\n}, PERFORMANCE_MODES = Object.keys(PERFORMANCE_MODE_PRESETS), TYPE_AWARE_ISOLATION_MODES = [\n 'auto',\n 'process',\n 'off'\n], TYPE_AWARE_CHUNK_STRATEGIES = [\n 'dependency',\n 'simple'\n];\nfunction parsePositiveIntegerOption(e, r) {\n if (void 0 === e) return;\n let t = Number(e);\n if (!Number.isInteger(t) || t < 1) throw Error(`${r} must be a positive integer.`);\n return t;\n}\nfunction normalizeReporterFormat(e) {\n return 'ui' === e ? 'html' : e ?? 'console';\n}\nfunction formatDuration(e) {\n return e < 1000 ? `${Math.max(0, Math.round(e))}ms` : `${(e / 1000).toFixed(1)}s`;\n}\nfunction pluralise(e, r) {\n return `${e.toLocaleString()} ${r}${1 === e ? '' : 's'}`;\n}\nfunction formatAnalysisProgressMessage(e, r, t) {\n return `Running analysis in ${e} mode: ${r.toLocaleString()}/${t.toLocaleString()} checks complete...`;\n}\nexport function registerAnalyzeCommand(o, l) {\n o.command('analyze').description('Analyze your project and report rule violations and architecture risks').option('-p, --profile <name>', 'Configuration profile to run').option('--force', 'Ignore cached results and re-run all checks').option('--format <fmt>', 'Reporter format: console | json | sarif | html | ui').option('--compact', 'Use compact, ESLint-style output').option('-q, --quiet', 'Show summary counts only, suppress violation details').option('--no-recommendation', 'Suppress fix recommendations from output').option('--output <path>', 'Output path for UI reports (default: ngcompass-report.html)').option('--rule <id>', 'Run only one rule (useful for debugging or focused checks)').option('--mode <mode>', 'Performance mode: eco | balanced | turbo (default: balanced)', 'balanced').option('--max-workers <n>', 'Cap the number of worker threads (lower = less memory, e.g. --max-workers 2)').addOption(new e('--type-aware-chunk-size <n>', 'Files per type-aware chunk').hideHelp()).addOption(new e('--type-aware-concurrency <n>', 'Concurrent type-aware chunks').hideHelp()).addOption(new e('--type-aware-file-concurrency <n>', 'Concurrent files per type-aware chunk').hideHelp()).addOption(new e('--type-aware-isolation <mode>', 'Type-aware isolation: auto | process | off').hideHelp()).addOption(new e('--type-aware-chunk-strategy <mode>', 'Type-aware chunk ordering: dependency | simple').hideHelp()).option('--skip-type-check', 'Skip rules that require the TypeScript type checker (fastest, lowest memory)').action(async (e)=>{\n let o = performance.now(), p = n(normalizeReporterFormat(e.format), {\n compact: !!e.compact,\n outputPath: e.output,\n quiet: !!e.quiet,\n noRecommendation: !1 === e.recommendation\n }), c = l, d = 0;\n try {\n var m;\n let s, f, y, g, w, C, h, k = await loadConfigurationStep(e, l, p);\n if (!k) {\n d = 1;\n return;\n }\n let { config: A } = k, E = (s = PERFORMANCE_MODE_PRESETS[function(e) {\n let r = e ?? 'balanced';\n if (!PERFORMANCE_MODES.includes(r)) throw Error(`Invalid performance mode \"${r}\". Expected one of: ${PERFORMANCE_MODES.join(', ')}.`);\n return r;\n }(e.mode)], f = parsePositiveIntegerOption(e.maxWorkers, '--max-workers'), y = parsePositiveIntegerOption(e.typeAwareChunkSize, '--type-aware-chunk-size'), g = parsePositiveIntegerOption(e.typeAwareConcurrency, '--type-aware-concurrency'), w = parsePositiveIntegerOption(e.typeAwareFileConcurrency, '--type-aware-file-concurrency'), {\n maxWorkers: f ?? A.maxWorkers,\n typeAwareChunkSize: y ?? s.typeAwareChunkSize,\n typeAwareConcurrency: g ?? s.typeAwareConcurrency,\n typeAwareFileConcurrency: w ?? s.typeAwareFileConcurrency,\n typeAwareIsolation: function(e) {\n if (void 0 !== e) {\n if (!TYPE_AWARE_ISOLATION_MODES.includes(e)) throw Error(`Invalid --type-aware-isolation \"${e}\". Expected one of: ${TYPE_AWARE_ISOLATION_MODES.join(', ')}.`);\n return e;\n }\n }(e.typeAwareIsolation) ?? s.typeAwareIsolation,\n typeAwareChunkStrategy: function(e) {\n if (void 0 !== e) {\n if (!TYPE_AWARE_CHUNK_STRATEGIES.includes(e)) throw Error(`Invalid --type-aware-chunk-strategy \"${e}\". Expected one of: ${TYPE_AWARE_CHUNK_STRATEGIES.join(', ')}.`);\n return e;\n }\n }(e.typeAwareChunkStrategy) ?? s.typeAwareChunkStrategy\n });\n c = i(A, a.cwd());\n let S = function(e, r) {\n if (e) return normalizeReporterFormat(e);\n switch(r){\n case 'json':\n return 'json';\n case 'sarif':\n return 'sarif';\n case 'html':\n return 'html';\n default:\n return 'console';\n }\n }(e.format, A.outputFormat);\n p = n(S, {\n compact: !!e.compact,\n outputPath: e.output ?? A.outputPath,\n quiet: !!e.quiet,\n noRecommendation: !1 === e.recommendation\n });\n let $ = await discoverFilesStep(A, e, c, p);\n if (!$) {\n d = 1;\n return;\n }\n let v = await resolveRulesStep(A, e, p);\n if (!v) {\n d = 1;\n return;\n }\n let P = await buildPlanStep($, v, c, e, p, A, E.maxWorkers);\n if (!P) {\n d = 1;\n return;\n }\n let R = 'console' === S ? a.stdout : a.stderr, F = new u(R), O = P.tasks.length + (P.skippedTasks?.length ?? 0), x = e.mode ?? 'balanced';\n F.start(formatAnalysisProgressMessage(x, 0, O));\n let b = function(e, o, n) {\n let a = new Map(), i = new Map();\n for (let r of e.tasks){\n let e = r.filePath;\n 'string' == typeof e && 0 !== e.length && (r.needsTypeChecker || r.needsProjectContext ? i.set(e, (i.get(e) ?? 0) + 1) : a.set(e, (a.get(e) ?? 0) + 1));\n }\n let s = new Map(), u = new Map(), l = new Set(), p = new Set(), c = (e, r)=>{\n let t = e.get(r.filePath), o = t ? {\n taskCount: t.taskCount + r.taskCount,\n issueCount: t.issueCount + r.issueCount,\n errorCount: t.errorCount + r.errorCount,\n warningCount: t.warningCount + r.warningCount,\n duration: t.duration + r.duration\n } : {\n taskCount: r.taskCount,\n issueCount: r.issueCount,\n errorCount: r.errorCount,\n warningCount: r.warningCount,\n duration: r.duration\n };\n return e.set(r.filePath, o), o;\n }, d = (e, a)=>{\n if (p.has(e)) return;\n p.add(e);\n let i = r.relative(n, e) || e, s = a.issueCount > 0, u = s ? t.red('❯') : t.green('❯'), l = s ? t.red(formatDuration(a.duration)) : t.green(formatDuration(a.duration));\n o(s ? `${u} ${t.red(i)} ${l} ${t.red(pluralise(a.issueCount, 'issue'))}` : `${u} ${t.dim(i)} ${l}`);\n };\n return (e)=>{\n let m = e.filePath;\n if (!p.has(m)) if (!1 === e.typeAware) {\n let u = c(s, e), f = a.get(m) ?? u.taskCount;\n if (u.taskCount < f) return;\n i.has(m) ? ((e, a)=>{\n if (l.has(e) || p.has(e)) return;\n l.add(e);\n let i = r.relative(n, e) || e, s = a.issueCount > 0, u = s ? t.red('❯') : t.green('❯'), c = s ? t.red(formatDuration(a.duration)) : t.green(formatDuration(a.duration));\n o(s ? `${u} ${t.red(i)} ${c} ${t.red(pluralise(a.issueCount, 'issue'))}` : `${u} ${t.dim(i)} ${c}`);\n })(m, u) : d(m, u);\n } else if (!0 === e.typeAware) {\n let r = c(u, e), t = i.get(m) ?? r.taskCount;\n if (r.taskCount < t) return;\n let o = s.get(m);\n d(m, o ? {\n taskCount: o.taskCount + r.taskCount,\n issueCount: o.issueCount + r.issueCount,\n errorCount: o.errorCount + r.errorCount,\n warningCount: o.warningCount + r.warningCount,\n duration: o.duration + r.duration\n } : r);\n } else {\n let r = (a.get(m) ?? 0) + (i.get(m) ?? 0), t = c(s, e);\n if (t.taskCount < (r || t.taskCount)) return;\n d(m, t);\n }\n };\n }(P, (e)=>F.writeLine(e), a.cwd()), T = await runAnalysisStep(P, c, E, e, p, $, A, (e, r)=>{\n F.update(formatAnalysisProgressMessage(x, e, r));\n }, b);\n if (F.stop(), !T) {\n d = 1;\n return;\n }\n let I = performance.now() - o, _ = {\n scannedFiles: new Set([\n ...P.tasks.map((e)=>e.filePath),\n ...(P.skippedTasks ?? []).map((e)=>e.filePath)\n ]).size,\n discoveredFiles: $.length,\n totalFiles: T.stats.totalFiles,\n totalTasks: P.tasks.length + (P.skippedTasks?.length ?? 0),\n cachedTasks: P.precomputedAnalysis ? P.tasks.length : void 0,\n totalErrors: T.stats.totalErrors,\n totalWarnings: T.stats.totalWarnings,\n failOnSeverity: A.failOnSeverity,\n maxWarnings: A.maxWarnings,\n duration: I\n };\n 'console' === S && p.summary(_), p.parseErrors(T.parseErrors), p.report(T.results), 'console' !== S && (p.step('❯ Writing report...'), p.summary(_)), P.precomputedAnalysis || await saveToCacheStep(T.results, c, e, p), m = T.stats, C = A.failOnSeverity ?? 'error', h = A.maxWarnings ?? 10, (m.totalErrors > 0 || 'warn' === C && m.totalWarnings > 0 || m.totalWarnings > h) && (d = 1);\n } catch (e) {\n p.error(e), d = 1;\n } finally{\n c && c !== l && await c.flush(), 0 !== d && s(d);\n }\n });\n}\nasync function loadConfigurationStep(e, r, t) {\n let o = performance.now();\n t.step('❯ Loading configuration...');\n let n = await y({\n profile: e.profile,\n cache: r,\n cwd: a.cwd()\n });\n if (!n.report.valid) {\n let e = n.report.issues.map((e)=>{\n let r = e.path?.join('.') || 'root';\n return `[${e.severity.toUpperCase()}] ${r}: ${e.message}`;\n });\n return t.error(Error([\n 'Configuration validation failed',\n ...e\n ].join('\\n'))), null;\n }\n if (!n.config) return t.error(Error('No configuration found')), null;\n let i = n.config.plugins;\n if (i && i.length > 0) {\n t.step(`❯ Loading ${i.length} plugin(s)...`);\n let e = a.cwd();\n await f(i, e, l()), t.info(`Loaded ${i.length} plugin(s)`);\n }\n return t.debug(`Config resolve: ${(performance.now() - o).toFixed(2)}ms`), {\n config: n.config\n };\n}\nasync function discoverFilesStep(e, t, n, i) {\n let s = performance.now();\n i.step('❯ Discovering files...');\n let u = await h({\n rootDir: a.cwd(),\n include: e.include ?? [\n ...o\n ],\n exclude: e.exclude ?? [],\n ignorePatterns: e.ignorePatterns,\n tsConfigPath: function(e, t) {\n if (!e?.project) return;\n let o = e.tsconfigRootDir ? r.resolve(t, e.tsconfigRootDir) : t;\n return r.resolve(o, e.project);\n }(e.parserOptions, a.cwd()),\n respectGitignore: !0,\n debug: t.debug,\n cache: n\n });\n return u.ok ? (i.info(`❯ Found ${u.data.files.length} files in ${(performance.now() - s).toFixed(0)}ms`), i.debug(`File discovery: ${(performance.now() - s).toFixed(2)}ms`), u.data.files) : (i.error(Error(`File discovery failed: ${u.error.message}`)), null);\n}\nasync function resolveRulesStep(e, r, t) {\n let o = performance.now();\n t.step('❯ Loading rules...');\n let n = e;\n r.rule && (t.info(`Filtering analysis to single rule: ${r.rule}`), n = {\n ...e,\n rules: {\n [r.rule]: 'error'\n },\n extends: []\n });\n let a = await d(n);\n if (!a.ok) return t.error(Error(`Rule resolution failed: ${a.error.message}`)), null;\n let i = m(a.data.rules);\n return t.info(`❯ Loaded ${i.size} active rules in ${(performance.now() - o).toFixed(0)}ms`), t.debug(`Rule resolution: ${(performance.now() - o).toFixed(2)}ms`), i;\n}\nasync function buildPlanStep(e, r, t, o, n, i, s) {\n let u = performance.now();\n n.step('❯ Planning analysis...');\n let l = await C({\n files: e,\n rules: r,\n rootDir: a.cwd(),\n cache: t,\n debug: o.debug,\n incremental: o.force ? {\n forceRerun: !0\n } : void 0,\n workerCount: s,\n overrides: i.overrides\n });\n return l.ok ? (l.data.precomputedAnalysis ? n.info('❯ Reused cached analysis plan') : n.info(`❯ Prepared ${l.data.tasks.length.toLocaleString()} checks in ${(performance.now() - u).toFixed(0)}ms`), n.debug(`Plan build: ${(performance.now() - u).toFixed(2)}ms`), l.data) : (n.error(Error(`Execution plan building failed: ${l.error.message}`)), null);\n}\nasync function runAnalysisStep(e, r, t, o, n, i, s, u, l) {\n let d = performance.now();\n w(p, c);\n let m = await g(e, {\n rootDir: a.cwd(),\n cache: r,\n debug: o.debug,\n files: i,\n maxWorkers: t.maxWorkers,\n typeAwareChunkSize: t.typeAwareChunkSize,\n typeAwareConcurrency: t.typeAwareConcurrency,\n typeAwareFileConcurrency: t.typeAwareFileConcurrency,\n typeAwareIsolation: t.typeAwareIsolation,\n typeAwareChunkStrategy: t.typeAwareChunkStrategy,\n skipTypeCheck: o.skipTypeCheck,\n parserOptions: s?.parserOptions,\n onProgress: u,\n onFileProgress: l\n });\n return m.ok ? (n.debug(`Execution: ${(performance.now() - d).toFixed(2)}ms`), m.data) : (n.error(Error(`Analysis failed: ${m.error.message}`)), null);\n}\nasync function saveToCacheStep(e, r, t, o) {\n if (!r) return;\n let n = performance.now(), a = [];\n for (let r of e)r.taskId && a.push([\n r.taskId,\n r\n ]);\n a.length > 0 && (await r.results.setMany(a), t.debug && o.debug(`Saved ${a.length} results to cache (${(performance.now() - n).toFixed(2)}ms)`));\n}\n","import { getConfigReporter as o } from '@ngcompass/reporters';\nimport { validateConfig as r } from '@ngcompass/config';\nimport { exitWithError as e } from './exit.js';\nexport function registerConfigCommand(i, t) {\n i.command('config').description('Inspect and validate ngcompass configuration').command('health').description('Run semantic validation checks for the active configuration').option('-p, --profile <name>', 'Configuration profile to validate').action(async (i)=>{\n try {\n let a = await r({\n cache: i.cache ? t : void 0,\n profile: i.profile\n }), n = o();\n await n.renderHealthReport(a.report), a.report.valid || e();\n } catch (r) {\n let o = r instanceof Error ? r.message : String(r);\n console.error(`Error: ${o}`), e();\n }\n });\n}\n","import { createRuntimeCache as e } from '@ngcompass/cache';\nimport { getCacheReporter as o } from '@ngcompass/reporters';\nimport { resolveConfig as a } from '@ngcompass/config';\nimport r from 'picocolors';\nimport t from 'node:process';\nimport { exitWithError as i } from './exit.js';\nexport function registerCacheCommand(e, a) {\n let c = e.command('cache').description('Inspect and manage analysis cache data');\n c.command('clear').description('Clear cached data for one cache type or all cache types').option('-p, --profile <name>', 'Configuration profile used to resolve cache settings').option('--type <type>', 'Cache type to clear: ast | config | results | all', 'all').action(async (e)=>{\n let c = o();\n t.stdout.write(r.dim(' › Clearing cache...\\n'));\n let l = e.type, n = [\n 'ast',\n 'config',\n 'results',\n 'all'\n ];\n n.includes(l) || (console.error(r.red(`Invalid cache type: ${l}. Must be one of: ${n.join(', ')}`)), i());\n try {\n let o = await resolveRuntimeCache(a, {\n profile: e.profile,\n allowDisabled: !0\n });\n 'all' === l ? await o.clear() : await o.clearType(l), c.renderClearResult(l);\n } catch (e) {\n console.error(r.red('Error clearing cache:'), e), i();\n }\n }), c.command('info').description('Show cache status, size, and usage details').option('-p, --profile <name>', 'Configuration profile used to resolve cache settings').action(async (e)=>{\n let t = o();\n try {\n let o = await resolveRuntimeCache(a, {\n profile: e.profile,\n allowDisabled: !0\n }), r = await o.getInfo();\n t.renderCacheInfo(r);\n } catch (e) {\n console.error(r.red('Error getting cache info:'), e), i();\n }\n }), c.command('path').description('Print the resolved cache directory path').option('-p, --profile <name>', 'Configuration profile used to resolve cache settings').action(async (e)=>{\n let o = await resolveRuntimeCache(a, {\n profile: e.profile,\n allowDisabled: !0\n });\n t.stdout.write(`${o.getCachePath()}\\n`);\n });\n}\nasync function resolveRuntimeCache(o, r = {}) {\n let i = r.cwd ?? t.cwd();\n try {\n let t = await a({\n profile: r.profile,\n cache: o,\n cwd: i\n });\n if (!t.report.valid || !t.config) return o;\n return e(t.config, i, {\n allowDisabled: r.allowDisabled\n }) ?? o;\n } catch {\n return o;\n }\n}\n","import { getRulesReporter as e } from '@ngcompass/reporters';\nimport { getRuleListEntries as r, isBuiltinPreset as o } from '@ngcompass/rules';\nimport s from 'picocolors';\nimport { exitWithError as t } from './exit.js';\nexport function registerRulesCommand(i) {\n i.command('rules [ruleName]').description('Browse available rules or inspect details for a specific rule').option('--preset <name>', 'Filter by preset: recommended, strict, performance, reactivity, or all').action((i, l)=>{\n l.preset && !o(l.preset) && (console.error(s.red(`Unknown preset: \"${l.preset}\".`)), console.error(s.dim('Available presets: recommended, strict, all, performance, reactivity')), t());\n let n = r(), m = e({\n preset: l.preset\n });\n if (i) {\n let e = n.find((e)=>e.name === i);\n if (!e) {\n console.error(s.red(`Rule \"${i}\" not found.`)), console.error(s.dim('Run `ngcompass rules` to list available rules.')), t();\n return;\n }\n m.renderSingleRule(e);\n } else m.render(n);\n });\n}\n","import { registerInitCommand as o } from './init.js';\nimport { registerAnalyzeCommand as r } from './analyze.js';\nimport { registerConfigCommand as m } from './config.js';\nimport { registerCacheCommand as i } from './cache.js';\nimport { registerRulesCommand as t } from './rules.js';\nexport function registerCommands(s, f) {\n o(s, f), r(s, f), m(s, f), i(s, f), t(s);\n}\n","import { Command as r } from 'commander';\nimport { registerCommands as o } from '../commands/index.js';\nimport { enableDebug as e, PACKAGE_VERSION as s } from '@ngcompass/common';\nimport { createCacheContext as n } from '@ngcompass/cache';\nimport { registerAllBuiltinRules as t } from '@ngcompass/rules';\nlet restoreCursor = ()=>{\n process.stdout.isTTY && process.stdout.write('\\x1B[?25h');\n}, shutdownInProgress = !1, gracefulShutdown = async (r, o)=>{\n if (!shutdownInProgress) {\n if (shutdownInProgress = !0, restoreCursor(), r) try {\n let o = new Promise((r)=>setTimeout(r, 10_000).unref());\n await Promise.race([\n r.flush(),\n o\n ]);\n } catch {}\n process.exit(o);\n }\n};\nexport async function run() {\n let a = new r();\n a.name('ngcompass').description('Static analysis and architecture insights for Angular codebases.').version(s, '-V, --version', 'Display ngcompass version').option('--debug', 'Enable detailed debug logs across all modules').addHelpText('after', '\\nExamples:\\n $ ngcompass init\\n $ ngcompass analyze --profile strict\\n $ ngcompass cache info\\n').hook('preAction', async (r, o)=>{\n r.opts().debug && e('debug', 'all');\n let n = o.opts();\n if ('json' !== n.format && 'sarif' !== n.format && 'html' !== n.format && 'ui' !== n.format) {\n let { default: r } = await import('picocolors'), e = o.parent, n = e && 'ngcompass' !== e.name() ? e.name() : o.name(), t = process.cwd();\n process.stdout.write(`\\n${r.dim('>')} ${r.dim(`ngcompass@${s}`)} ${r.dim(n)} ${r.dim(t)}\\n${r.dim('>')} ${r.dim('ngcompass')} ${r.dim('run')}\\n\\n ${r.bgCyan(r.white(r.bold(` ${n.toUpperCase()} `)))} ${r.cyan(s)} ${r.dim(t)}\\n\\n`);\n }\n });\n let c = n();\n process.on('SIGINT', ()=>void gracefulShutdown(c, 130)), process.on('SIGTERM', ()=>void gracefulShutdown(c, 143)), process.on('uncaughtException', (r)=>{\n restoreCursor(), console.error(`\\n[ngcompass] Unexpected error: ${r.message}`), gracefulShutdown(c, 1);\n }), process.on('unhandledRejection', (r)=>{\n restoreCursor();\n let o = r instanceof Error ? r.message : String(r);\n console.error(`\\n[ngcompass] Unhandled promise rejection: ${o}`), gracefulShutdown(c, 1);\n });\n try {\n if (t(), o(a, c), !process.argv.slice(2).length) return void a.outputHelp();\n await a.parseAsync(process.argv), await c.flush(), process.exit(0);\n } catch (o) {\n restoreCursor();\n let r = o instanceof Error ? o.message : String(o);\n console.error(`[ngcompass] Fatal error: ${r}`), await gracefulShutdown(c, 1);\n }\n}\nrun().catch((r)=>{\n restoreCursor();\n let o = r instanceof Error ? r.message : String(r);\n console.error(`[ngcompass] Fatal error: ${o}`), process.exit(1);\n});\n"]}