@ngcompass/engine 0.1.1-beta → 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/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/rule-handler.ts","../src/visitor-registry.ts","../src/constants.ts","../src/single-pass-engine.ts","../src/rule-context-factory.ts","../src/analysis-context.ts","../src/project-context-builder.ts","../src/type-aware-context.ts","../src/analysis-stats.ts","../src/rule-executor.ts","../src/runner.ts","../src/worker-pool.ts","../src/orchestrator.ts","../src/spinner.ts"],"names":["createComponentRule","name","handler","meta","streamType","handle","createAnyAngularClassRule","createDecoratedPropertyRule","createTemplateExpressionRule","createTemplateAttributeRule","createCallExpressionRule","createNewExpressionRule","createTemplateBlockRule","createTemplateRule","STREAM_TO_NODE_TYPE","AngularClass","AnyAngularClass","DecoratedProperty","TemplateExpression","TemplateAttribute","TemplateBlock","Template","CallExpression","NewExpression","buildVisitorMap","handlers","streamFilters","mutable","Map","nodeType","startsWith","filter","entry","ruleName","bind","existing","get","push","set","MIN_WORKER_COUNT","SPINNER_FRAME_INTERVAL_MS","WORKER_TIMEOUT_MS","BUDGET_MS_PER_FILE_WITHOUT_TYPES","BUDGET_MS_PER_FILE_WITH_TYPES","dispatchTemplateHandlers","nodes","context","failuresByRule","ruleTimings","errorCollector","length","templateNode","i","ruleStart","performance","now","failure","Array","isArray","e","record","createInfrastructureError","cause","Error","message","String","recoverable","phase","details","errorName","undefined","elapsed","timing","totalMs","invocations","runSinglePassAnalysis","rules","options","program","results","map","rule","failures","traversalMs","nodesVisited","cacheStats","hits","misses","budgetViolations","hasBudgetViolations","startTime","visitorMap","toAngularClassStream","toAnyAngularClassStream","toDecoratedPropertyStream","toCallExpressionStream","toNewExpressionStream","templateExpressionHandlers","r","templateAttributeHandlers","templateBlockHandlers","templateHandlers","resetComponentCacheStats","walkProgram","node","type","visitors","streamNode","template","templateAnalysis","analyzeTemplate","templateContext","templateFilePath","templateFileContent","templateLocator","filePath","fileContent","locator","expressions","attributes","blocks","budget","typeChecker","toFixed","values","avgMs","from","getComponentCacheStats","RuleContextFactory","build","needsTemplate","Promise","all","readFile","getProgram","Locator","getTypeChecker","getTemplate","project","getProjectContext","resolveExternalTemplatePath","crossRef","buildCrossRef","componentPath","endsWith","templateToComponent","componentGraph","templatePath","loadedTemplate","publicMembers","signalMembers","templateReferences","cluster","stylePaths","specPath","tsSourceFile","getComponentSourceFile","sourceFile","members","Set","statement","statements","ts","isClassDeclaration","member","mods","canHaveModifiers","getModifiers","some","m","kind","SyntaxKind","PrivateKeyword","ProtectedKeyword","isPrivateIdentifier","isIdentifier","isStringLiteral","add","text","isPropertyDeclaration","initializer","factoryName","expr","unwrapped","isAsExpression","isSatisfiesExpression","expression","isCallExpression","callee","isPropertyAccessExpression","SIGNAL_FACTORY_NAMES","has","effectiveTemplate","templateAst","refs","INTERPOLATION_RE","rootNodes","walkNode","attr","value","extractIdentifiersFromExprString","lastIndex","exec","child","getTsSourceFile","source","createSourceFile","ScriptTarget","Latest","TEMPLATE_IDENT_RE","match","CSS_EXTENSIONS","createAnalysisContext","rootDir","fileCache","LRUCache","max","programCache","templateCache","styleCache","readFileCached","cached","promise","readFileSafe","parseTs","extracted","resolveTemplateContent","content","parseHtml","startOffset","getStyle","ext","extname","toLowerCase","resolve","parseCss","evict","delete","msg","extractTemplateFromProgram","buildProjectContext","files","componentFiles","start","projectFileSet","dir","f","normRoot","sep","sf","getSourceFiles","isDeclarationFile","fileName","importGraph","reverseImportGraph","externalDeps","compilerOptions","getCompilerOptions","file","fromFile","specifier","specifiers","forEachChild","visit","isImportDeclaration","moduleSpecifier","isExportDeclaration","ImportKeyword","arguments","isStringLiteralLike","resolved","resolveModuleName","sys","toFile","resolvedModule","resolvedFileName","reverseSet","pkgName","isAbsolute","scopeSlash","indexOf","nameSlash","slice","slash","extSet","barrelFiles","every","stmt","graph","styleExts","dirname","base","basename","htmlPath","join","stylePath","specCandidate","tsPath","ngModuleMap","standaloneComponents","classToFile","ExportKeyword","decorators","canHaveDecorators","getDecorators","decorator","info","firstArg","arg","isObjectLiteralExpression","declarations","extractArrayElements","imports","exports","providers","isStandalone","extractBoolProp","edgeCount","n","s","size","debug","projectFiles","propName","prop","properties","isPropertyAssignment","init","isArrayLiteralExpression","names","el","elements","extractClassNameFromExpression","TrueKeyword","createTypeAwareAnalysisContext","parserOptions","projectContext","baseContext","tsStart","tsconfigRootDir","path","configPath","findConfigFile","fileExists","configFile","readConfigFile","parsedCommandLine","parseJsonConfigFileContent","config","tsFileRoots","programRoots","fileNames","createProgram","rootNames","err","_filePath","getSourceFile","warmup","calculateStats","cacheHitRate","duration","flatMap","uniqueFiles","totalErrors","isErrorSeverity","severity","totalWarnings","isWarningSeverity","totalFiles","_executor","_checker","configureRuleExecutor","executor","checker","getConfiguredExecutor","getConfiguredChecker","executeBatchedTasks","tasks","factory","batches","task","optionsKey","taskId","stableSerialize","serErr","SerializationError","batch","ruleNames","taskIds","severities","batchTaskIdSet","t","inputs","needsAst","ruleContext","batchResults","taskIdMap","id","ids","result","configuredSeverity","finalResult","shift","runAnalysisParallel","maxWorkers","concurrency","onFileProgress","chunkResults","Worker","workerCount","Math","os","cpus","workerPath","resolveWorkerPath","runLocalFallback","chunks","distributeTasks","completedWorkers","markWorkerComplete","workers","promises","chunk","reject","settled","worker","workerData","settle","clearTimeout","timeoutId","removeAllListeners","setTimeout","terminate","on","isWorkerFileProgress","errors","forEach","error","code","infraErr","exitCode","allSettled","w","successful","flat","Ok","parseErrors","stats","limit","pLimit","tasksByFile","groupTasksByFile","fileTasks","fileStart","buildFileProgress","taskCount","errorCount","warningCount","issueCount","__dirname","fileURLToPath","url","workerFromRules","createRequire","existsSync","candidate","sortedFiles","sort","a","b","buckets","bucketLoads","fill","minLoadIndex","minLoad","isRuleResult","runAnalysis","plan","precomputedAnalysis","skippedTasks","cachedResults","cpuCount","effectiveMaxWorkers","min","parallelThreshold","typeAwareTasks","needsTypeChecker","needsProjectContext","workerTasks","grandTotal","globalDone","notifyProgress","delta","onProgress","executedResults","ok","data","executeTasksLocally","skipTypeCheck","chunkSize","typeAwareChunkSize","typeAwareResults","executeTypeAwareTasks","skippedResults","retrieveSkippedResults","cache","totalTasks","globalHash","Object","keys","analysis","Err","useTypeAwareContext","onDelta","fileEntries","entries","allResults","ci","chunkTasks","chunkFiles","tasksToFetch","cachedEntries","getMany","FRAMES","Spinner","frameIndex","interval","process","stdout","write","setInterval","update","stop","finalMessage","clearInterval"],"mappings":"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","file":"index.js","sourcesContent":["export const createComponentRule = (e, t, a)=>({\n name: e,\n streamType: 'AngularClass',\n handle: t,\n meta: a\n });\nexport const createAnyAngularClassRule = (e, t, a)=>({\n name: e,\n streamType: 'AnyAngularClass',\n handle: t,\n meta: a\n });\nexport const createDecoratedPropertyRule = (e, t)=>({\n name: e,\n streamType: 'DecoratedProperty',\n handle: t\n });\nexport const createTemplateExpressionRule = (e, t, a)=>({\n name: e,\n streamType: 'TemplateExpression',\n handle: t,\n meta: a\n });\nexport const createTemplateAttributeRule = (e, t, a)=>({\n name: e,\n streamType: 'TemplateAttribute',\n handle: t,\n meta: a\n });\nexport const createCallExpressionRule = (e, t, a)=>({\n name: e,\n streamType: 'CallExpression',\n handle: t,\n meta: a\n });\nexport const createNewExpressionRule = (e, t, a)=>({\n name: e,\n streamType: 'NewExpression',\n handle: t,\n meta: a\n });\nexport const createTemplateBlockRule = (e, t, a)=>({\n name: e,\n streamType: 'TemplateBlock',\n handle: t,\n meta: a\n });\nexport const createTemplateRule = (e, t, a)=>({\n name: e,\n streamType: 'Template',\n handle: t,\n meta: a\n });\n","export const STREAM_TO_NODE_TYPE = {\n AngularClass: 'ClassDeclaration',\n AnyAngularClass: 'ClassDeclaration',\n DecoratedProperty: 'PropertyDefinition',\n TemplateExpression: '__template_expression__',\n TemplateAttribute: '__template_attribute__',\n TemplateBlock: '__template_block__',\n Template: '__template_analysis__',\n CallExpression: 'CallExpression',\n NewExpression: 'NewExpression'\n};\nexport function buildVisitorMap(e, t) {\n let a = new Map();\n for (let l of e){\n let e = STREAM_TO_NODE_TYPE[l.streamType];\n if (!e || e.startsWith('__')) continue;\n let s = t[l.streamType];\n if (!s) continue;\n let _ = {\n ruleName: l.name,\n filter: s,\n handle: l.handle.bind(l)\n }, n = a.get(e);\n n ? n.push(_) : a.set(e, [\n _\n ]);\n }\n return a;\n}\n","export const MIN_WORKER_COUNT = 2;\nexport const SPINNER_FRAME_INTERVAL_MS = 80;\nexport const WORKER_TIMEOUT_MS = 60_000;\nexport const BUDGET_MS_PER_FILE_WITHOUT_TYPES = 2;\nexport const BUDGET_MS_PER_FILE_WITH_TYPES = 5;\n","import { walkProgram as e, toAngularClassStream as t, toAnyAngularClassStream as r, toDecoratedPropertyStream as a, toCallExpressionStream as l, toNewExpressionStream as o, resetComponentCacheStats as s, getComponentCacheStats as n, analyzeTemplate as i } from '@ngcompass/ast';\nimport { buildVisitorMap as m } from './visitor-registry.js';\nimport { createInfrastructureError as p } from '@ngcompass/common';\nimport { BUDGET_MS_PER_FILE_WITHOUT_TYPES as c, BUDGET_MS_PER_FILE_WITH_TYPES as u } from './constants.js';\nlet dispatchTemplateHandlers = (e, t, r, a, l, o)=>{\n if (0 !== t.length) for (let s of e)for(let e = 0; e < t.length; e++){\n let n = t[e], i = performance.now();\n try {\n let e = n.handle(s, r);\n if (e) {\n let t = a.get(n.name) ?? [];\n Array.isArray(e) ? t.push(...e) : t.push(e), a.set(n.name, t);\n }\n } catch (e) {\n o?.record(p('RuleExecutionError', {\n cause: `Rule ${n.name} failed on template node: ${e instanceof Error ? e.message : String(e)}`,\n recoverable: !0,\n phase: 'engine',\n details: {\n ruleName: n.name,\n errorName: e instanceof Error ? e.name : void 0\n }\n }));\n }\n let m = performance.now() - i, c = l.get(n.name);\n c && (c.totalMs += m, c.invocations++);\n }\n};\nexport const runSinglePassAnalysis = (f, h, g)=>{\n let { program: d } = h;\n if (!d) return {\n results: f.map((e)=>({\n ruleName: e.name,\n failures: []\n })),\n performance: {\n traversalMs: 0,\n nodesVisited: 0,\n ruleTimings: [],\n cacheStats: {\n hits: 0,\n misses: 0\n },\n budgetViolations: [],\n hasBudgetViolations: !1\n }\n };\n let y = performance.now(), v = m(f, {\n AngularClass: t,\n AnyAngularClass: r,\n DecoratedProperty: a,\n CallExpression: l,\n NewExpression: o\n }), T = f.filter((e)=>'TemplateExpression' === e.streamType), N = f.filter((e)=>'TemplateAttribute' === e.streamType), C = f.filter((e)=>'TemplateBlock' === e.streamType), E = f.filter((e)=>'Template' === e.streamType), x = new Map(), A = new Map(), w = 0;\n for (let e of f)A.set(e.name, {\n ruleName: e.name,\n totalMs: 0,\n invocations: 0\n });\n if (s(), e(d, (e)=>{\n if (!e?.type) return;\n w++;\n let t = v.get(e.type);\n if (t) for(let r = 0; r < t.length; r++){\n let a = t[r], l = performance.now();\n try {\n let t = a.filter(e);\n if (null !== t) {\n let e = a.handle(t, h);\n if (e) {\n let t = x.get(a.ruleName) ?? [];\n Array.isArray(e) ? t.push(...e) : t.push(e), x.set(a.ruleName, t);\n }\n }\n } catch (e) {\n g?.errorCollector?.record(p('RuleExecutionError', {\n cause: `Rule ${a.ruleName} failed: ${e instanceof Error ? e.message : String(e)}`,\n recoverable: !0,\n phase: 'engine',\n details: {\n ruleName: a.ruleName,\n errorName: e instanceof Error ? e.name : void 0\n }\n }));\n }\n let o = performance.now() - l, s = A.get(a.ruleName);\n s && (s.totalMs += o, s.invocations++);\n }\n }), h.template && (T.length > 0 || N.length > 0 || C.length > 0 || E.length > 0)) {\n let e = i(h.template), t = h.templateFilePath && h.templateFileContent && h.templateLocator ? {\n ...h,\n filePath: h.templateFilePath,\n fileContent: h.templateFileContent,\n locator: h.templateLocator\n } : h;\n dispatchTemplateHandlers(e.expressions, T, t, x, A, g?.errorCollector), dispatchTemplateHandlers(e.attributes, N, t, x, A, g?.errorCollector), dispatchTemplateHandlers(e.blocks, C, t, x, A, g?.errorCollector), dispatchTemplateHandlers([\n e\n ], E, t, x, A, g?.errorCollector);\n }\n let $ = [];\n for (let e of f)$.push({\n ruleName: e.name,\n failures: x.get(e.name) ?? []\n });\n let b = performance.now() - y, M = [], F = h.typeChecker ? u : c;\n for (let e of (b > F && M.push(`Total traversal time ${b.toFixed(2)}ms exceeds budget ${F}ms`), A.values())){\n if (0 === e.invocations) continue;\n let t = e.totalMs / e.invocations;\n t > 1 && M.push(`Rule ${e.ruleName} averages ${t.toFixed(2)}ms per invocation (threshold: 1ms)`);\n }\n return {\n results: $,\n performance: {\n traversalMs: b,\n nodesVisited: w,\n ruleTimings: Array.from(A.values()),\n cacheStats: n(),\n budgetViolations: M,\n hasBudgetViolations: M.length > 0\n }\n };\n};\n","import { Locator as t } from '@ngcompass/common';\nimport e from \"typescript\";\nexport class RuleContextFactory {\n context;\n constructor(t){\n this.context = t;\n }\n async build(e, i, n) {\n let r, o, a, s, l, [c, f] = await Promise.all([\n this.context.readFile(e),\n this.context.getProgram(e)\n ]), p = new t(c);\n this.context.getTypeChecker && (r = await this.context.getTypeChecker(e)), n && (o = await this.context.getTemplate(e));\n let m = this.context.getProjectContext?.();\n n && !o && m && (a = this.resolveExternalTemplatePath(e, m)) && (o = await this.context.getTemplate(a), l = new t(s = await this.context.readFile(a)));\n let d = m ? await this.buildCrossRef(e, o, m) : void 0;\n return {\n filePath: e,\n fileContent: c,\n locator: p,\n program: f,\n typeChecker: r,\n template: o,\n templateFilePath: a,\n templateFileContent: s,\n templateLocator: l,\n options: i,\n project: m,\n crossRef: d\n };\n }\n resolveExternalTemplatePath(t, e) {\n let i = t.endsWith('.component.ts') ? t : e.templateToComponent.get(t);\n if (i) return e.componentGraph.get(i)?.templatePath;\n }\n async buildCrossRef(t, i, n) {\n let r, o, a, s = t.endsWith('.component.ts') ? t : n.templateToComponent.get(t);\n if (!s) return;\n let l = n.componentGraph.get(s), c = l?.templatePath, f = l?.stylePaths ?? [], p = l?.specPath;\n try {\n let t = await this.getComponentSourceFile(s);\n t && (r = function(t) {\n let i = new Set();\n for (let n of t.statements)if (e.isClassDeclaration(n)) for (let t of n.members){\n let n = e.canHaveModifiers(t) ? e.getModifiers(t) : void 0;\n if (n && n.some((t)=>t.kind === e.SyntaxKind.PrivateKeyword || t.kind === e.SyntaxKind.ProtectedKeyword)) continue;\n let r = t.name;\n r && !e.isPrivateIdentifier(r) && (e.isIdentifier(r) ? i.add(r.text) : e.isStringLiteral(r) && i.add(r.text));\n }\n return i;\n }(t), o = function(t) {\n let i = new Set();\n for (let n of t.statements)if (e.isClassDeclaration(n)) for (let t of n.members){\n if (!e.isPropertyDeclaration(t) || !t.initializer || !t.name || e.isPrivateIdentifier(t.name)) continue;\n let n = function(t) {\n let i = e.isAsExpression(t) || e.isSatisfiesExpression(t) ? t.expression : t;\n if (!e.isCallExpression(i)) return;\n let n = i.expression;\n return e.isIdentifier(n) ? n.text : e.isPropertyAccessExpression(n) ? e.isIdentifier(n.expression) && 'input' === n.expression.text ? 'input' : n.name.text : void 0;\n }(t.initializer);\n n && SIGNAL_FACTORY_NAMES.has(n) && (e.isIdentifier(t.name) || e.isStringLiteral(t.name)) && i.add(t.name.text);\n }\n return i;\n }(t));\n } catch {}\n let m = i;\n if (!m && c) try {\n m = await this.context.getTemplate(c);\n } catch {}\n if (m) try {\n a = function(t) {\n let e = new Set(), i = /\\{\\{([\\s\\S]*?)\\}\\}/g;\n for (let n of t.rootNodes)!function t(n) {\n if (n && 'object' == typeof n) {\n if (Array.isArray(n.attrs)) for (let t of n.attrs){\n if (('string' == typeof t.name ? t.name : '').startsWith('(')) continue;\n let i = t.value;\n 'string' == typeof i && i && extractIdentifiersFromExprString(i, e);\n }\n if ('string' == typeof n.value && n.value) {\n let t;\n for(i.lastIndex = 0; null !== (t = i.exec(n.value));)extractIdentifiersFromExprString(t[1], e);\n }\n if (Array.isArray(n.children)) for (let e of n.children)t(e);\n }\n }(n);\n return e;\n }(m);\n } catch {}\n return {\n componentPath: s,\n templatePath: c,\n stylePaths: f,\n specPath: p,\n publicMembers: r,\n signalMembers: o,\n templateReferences: a\n };\n }\n async getComponentSourceFile(t) {\n let i = this.context.getTsSourceFile?.(t);\n if (i) return i;\n let n = await this.context.readFile(t);\n return e.createSourceFile(t, n, e.ScriptTarget.Latest, !0);\n }\n}\nlet SIGNAL_FACTORY_NAMES = new Set([\n 'signal',\n 'computed',\n 'linkedSignal',\n 'input',\n 'model',\n 'toSignal'\n]), TEMPLATE_IDENT_RE = /\\b([a-zA-Z_$][a-zA-Z0-9_$]*)\\b/g;\nfunction extractIdentifiersFromExprString(t, e) {\n let i;\n for(TEMPLATE_IDENT_RE.lastIndex = 0; null !== (i = TEMPLATE_IDENT_RE.exec(t));)e.add(i[1]);\n}\n","import { readFile as e } from \"node:fs/promises\";\nimport * as t from \"node:path\";\nimport { LRUCache as r } from \"lru-cache\";\nimport { parseTs as n, parseHtml as a, parseCss as s, extractTemplateFromProgram as l } from \"@ngcompass/ast\";\nlet CSS_EXTENSIONS = new Set([\n '.css',\n '.scss',\n '.sass',\n '.less'\n]);\nexport const createAnalysisContext = (e)=>{\n let l = new r({\n max: 128\n }), o = new Map(), i = new Map(), f = new Map(), c = (t)=>{\n let r = l.get(t);\n if (r) return r;\n let n = readFileSafe(e, t);\n return l.set(t, n), n;\n }, m = (e)=>{\n let t = o.get(e);\n if (t) return t;\n let r = (async ()=>n(await c(e), e).program)();\n return o.set(e, r), r;\n };\n return {\n rootDir: e,\n readFile: c,\n getProgram: m,\n getTemplate: (e)=>{\n let t = i.get(e);\n if (t) return t;\n let r = (async ()=>{\n let t = await resolveTemplateContent(e, c, m);\n if (t && t.content) return a(t.content, t.startOffset);\n })();\n return i.set(e, r), r;\n },\n getStyle: (e)=>{\n let r = f.get(e);\n if (r) return r;\n let n = t.extname(e).toLowerCase();\n if (!CSS_EXTENSIONS.has(n)) {\n let t = Promise.resolve(void 0);\n return f.set(e, t), t;\n }\n let a = (async ()=>s(await c(e), e))();\n return f.set(e, a), a;\n },\n evict: (e)=>{\n l.delete(e), o.delete(e), i.delete(e), f.delete(e);\n }\n };\n};\nlet readFileSafe = async (r, n)=>{\n try {\n return await e(t.resolve(r, n), \"utf-8\");\n } catch (t) {\n let e = t instanceof Error ? t.message : String(t);\n throw Error(`Cannot read file: ${n}. ${e}`);\n }\n}, resolveTemplateContent = async (e, r, n)=>{\n let a = t.extname(e);\n if (\".html\" === a) return {\n content: await r(e),\n startOffset: 0\n };\n if (\".ts\" === a) {\n let t = l(await n(e));\n return t.content ? t : null;\n }\n return null;\n};\n","import e from \"typescript\";\nimport * as t from 'node:path';\nimport { debug as i } from '@ngcompass/common';\nexport function buildProjectContext(r, n, o, s) {\n let l = performance.now(), a = function(e, i, r) {\n var n;\n let o = new Set();\n for (let r of e)o.add(t.resolve(i, r));\n let s = (n = i).endsWith(t.sep) ? n : n + t.sep;\n for (let e of r.getSourceFiles())!e.isDeclarationFile && e.fileName.startsWith(s) && o.add(e.fileName);\n return o;\n }(n, o, r), { importGraph: f, reverseImportGraph: p, externalDeps: c } = function(i, r) {\n let n = i.getCompilerOptions(), o = new Map(), s = new Map(), l = new Map();\n for (let e of r)o.set(e, new Set()), s.set(e, new Set());\n for (let a of i.getSourceFiles()){\n if (a.isDeclarationFile || !r.has(a.fileName)) continue;\n let i = a.fileName;\n for (let f of function(t) {\n let i = [];\n return e.forEachChild(t, function t(r) {\n e.isImportDeclaration(r) && e.isStringLiteral(r.moduleSpecifier) || e.isExportDeclaration(r) && r.moduleSpecifier && e.isStringLiteral(r.moduleSpecifier) ? i.push(r.moduleSpecifier.text) : (e.isCallExpression(r) && r.expression.kind === e.SyntaxKind.ImportKeyword && r.arguments.length > 0 && e.isStringLiteralLike(r.arguments[0]) && i.push(r.arguments[0].text), e.forEachChild(r, t));\n }), i;\n }(a)){\n let a = e.resolveModuleName(f, i, n, e.sys), p = a.resolvedModule?.resolvedFileName;\n if (p && r.has(p)) {\n o.get(i).add(p);\n let e = s.get(p);\n e || (e = new Set(), s.set(p, e)), e.add(i);\n } else {\n let e = function(e) {\n if (e.startsWith('.') || t.isAbsolute(e)) return null;\n if (e.startsWith('@')) {\n let t = e.indexOf('/', 1);\n if (-1 === t) return null;\n let i = e.indexOf('/', t + 1);\n return -1 === i ? e : e.slice(0, i);\n }\n let i = e.indexOf('/');\n return -1 === i ? e : e.slice(0, i);\n }(f);\n if (e) {\n let t = l.get(i);\n t || (t = new Set(), l.set(i, t)), t.add(e);\n }\n }\n }\n }\n return {\n importGraph: o,\n reverseImportGraph: s,\n externalDeps: l\n };\n }(r, a), m = function(t, i) {\n let r = new Set();\n for (let n of t.getSourceFiles()){\n if (n.isDeclarationFile || !i.has(n.fileName)) continue;\n let { statements: t } = n;\n 0 !== t.length && t.every((t)=>e.isExportDeclaration(t) && null != t.moduleSpecifier) && r.add(n.fileName);\n }\n return r;\n }(r, a), u = s ?? function(e) {\n let i = new Map(), r = [\n '.scss',\n '.sass',\n '.css',\n '.less'\n ];\n for (let n of e){\n if (!n.endsWith('.component.ts')) continue;\n let o = t.dirname(n), s = t.basename(n, '.ts'), l = t.join(o, s + '.html'), a = e.has(l) ? l : void 0, f = [];\n for (let i of r){\n let r = t.join(o, s + i);\n e.has(r) && f.push(r);\n }\n let p = t.join(o, s + '.spec.ts'), c = e.has(p) ? p : void 0;\n i.set(n, {\n tsPath: n,\n templatePath: a,\n stylePaths: f,\n specPath: c\n });\n }\n return i;\n }(a), d = function(e) {\n let t = new Map();\n for (let [i, r] of e)r.templatePath && t.set(r.templatePath, i);\n return t;\n }(u), { ngModuleMap: x, standaloneComponents: h, classToFile: S } = function(t, i) {\n let r = new Map(), n = new Set(), o = function(t, i) {\n let r = new Map();\n for (let n of t.getSourceFiles())if (!n.isDeclarationFile && i.has(n.fileName)) for (let t of n.statements){\n if (!e.isClassDeclaration(t) || !t.name) continue;\n let i = e.canHaveModifiers(t) ? e.getModifiers(t) : void 0;\n i?.some((t)=>t.kind === e.SyntaxKind.ExportKeyword) && r.set(t.name.text, n.fileName);\n }\n return r;\n }(t, i);\n for (let o of t.getSourceFiles())if (!o.isDeclarationFile && i.has(o.fileName)) for (let t of o.statements){\n if (!e.isClassDeclaration(t)) continue;\n let i = e.canHaveDecorators(t) ? e.getDecorators(t) : void 0;\n if (i?.length) for (let t of i){\n let i = function(t) {\n let i = t.expression;\n if (!e.isCallExpression(i)) return;\n let r = i.expression;\n if (!e.isIdentifier(r)) return;\n let n = i.arguments[0], o = n && e.isObjectLiteralExpression(n) ? n : void 0;\n return {\n name: r.text,\n arg: o\n };\n }(t);\n if (!i) continue;\n let { name: s, arg: l } = i;\n if ('NgModule' === s) {\n l && r.set(o.fileName, {\n filePath: o.fileName,\n declarations: new Set(extractArrayElements(l, 'declarations')),\n imports: new Set(extractArrayElements(l, 'imports')),\n exports: new Set(extractArrayElements(l, 'exports')),\n providers: new Set(extractArrayElements(l, 'providers')),\n isStandalone: !1\n });\n break;\n }\n if ('Component' === s) {\n l && extractBoolProp(l, 'standalone') && (n.add(o.fileName), r.set(o.fileName, {\n filePath: o.fileName,\n declarations: new Set(),\n imports: new Set(l ? extractArrayElements(l, 'imports') : []),\n exports: new Set(),\n providers: new Set(l ? extractArrayElements(l, 'providers') : []),\n isStandalone: !0\n }));\n break;\n }\n if ('Directive' === s || 'Pipe' === s) {\n l && extractBoolProp(l, 'standalone') && n.add(o.fileName);\n break;\n }\n }\n }\n return {\n ngModuleMap: r,\n standaloneComponents: n,\n classToFile: o\n };\n }(r, a), g = function(e) {\n let t = 0;\n for (let i of e.values())t += i.size;\n return t;\n }(f);\n return i('engine', `ProjectContext built in ${(performance.now() - l).toFixed(2)}ms — ${a.size} files, ${g} import edges, ${m.size} barrels, ${c.size} files with ext deps, ${u.size} components, ${d.size} template↔component links, ${x.size} NgModules/standalone, ${h.size} standalone`), {\n importGraph: f,\n reverseImportGraph: p,\n ngModuleMap: x,\n standaloneComponents: h,\n classToFile: S,\n componentGraph: u,\n projectFiles: a,\n rootDir: o,\n barrelFiles: m,\n externalDeps: c,\n templateToComponent: d\n };\n}\nfunction extractArrayElements(t, i) {\n for (let r of t.properties){\n if (!e.isPropertyAssignment(r) || !e.isIdentifier(r.name) || r.name.text !== i) continue;\n let t = r.initializer;\n if (!e.isArrayLiteralExpression(t)) break;\n let n = [];\n for (let i of t.elements)n.push(...function t(i) {\n return e.isIdentifier(i) ? [\n i.text\n ] : e.isPropertyAccessExpression(i) || e.isCallExpression(i) ? t(i.expression) : [];\n }(i));\n return n;\n }\n return [];\n}\nfunction extractBoolProp(t, i) {\n for (let r of t.properties)if (e.isPropertyAssignment(r) && e.isIdentifier(r.name) && r.name.text === i) return r.initializer.kind === e.SyntaxKind.TrueKeyword;\n return !1;\n}\n","import e from \"node:path\";\nimport t from \"typescript\";\nimport { createAnalysisContext as o } from \"./analysis-context.js\";\nimport { buildProjectContext as n } from \"./project-context-builder.js\";\nimport { debug as i } from \"@ngcompass/common\";\nexport const createTypeAwareAnalysisContext = (r, s = [], a)=>{\n let c, l, g = o(r);\n i('engine', 'Initializing Type-Aware Context (ts.createProgram)...');\n let f = performance.now(), p = a?.tsconfigRootDir ? e.resolve(r, a.tsconfigRootDir) : r, m = a?.project ? e.resolve(p, a.project) : t.findConfigFile(p, t.sys.fileExists, \"tsconfig.json\");\n if (m) {\n let e = t.readConfigFile(m, t.sys.readFile), o = t.parseJsonConfigFileContent(e.config, t.sys, p), n = s.filter((e)=>(e.endsWith('.ts') || e.endsWith('.tsx')) && !e.endsWith('.d.ts')), r = n.length > 0 ? n : o.fileNames;\n c = t.createProgram({\n rootNames: r,\n options: o.options\n }), i('engine', `TypeScript Program initialized in ${(performance.now() - f).toFixed(2)}ms with ${r.length} roots (tsconfig had ${o.fileNames.length})`);\n } else i('engine', 'Could not find tsconfig.json; TypeChecker and ProjectContext will be unavailable.');\n let d = c?.getTypeChecker();\n if (c) try {\n l = n(c, s, r);\n } catch (t) {\n let e = t instanceof Error ? t.message : String(t);\n i('engine', `ProjectContext build failed (non-fatal): ${e}`);\n }\n return {\n ...g,\n getTypeChecker: async (e)=>d,\n getProjectContext: ()=>l,\n getTsSourceFile: (e)=>c?.getSourceFile(e),\n warmup: async ()=>{\n i('engine', `Type-aware context ready: ${c ? `ts.Program with ${c.getSourceFiles().length} source files` : 'no tsconfig found, TypeChecker unavailable'}`);\n }\n };\n};\n","export const calculateStats = (e, r, t)=>{\n let i = performance.now() - r, a = e.flatMap((e)=>e.failures), l = new Set(a.map((e)=>e.filePath)), n = a.filter((e)=>isErrorSeverity(e.severity)).length, s = a.filter((e)=>isWarningSeverity(e.severity)).length;\n return {\n totalFiles: l.size,\n totalErrors: n,\n totalWarnings: s,\n duration: i,\n cacheHitRate: t\n };\n};\nlet isErrorSeverity = (e)=>\"error\" === e, isWarningSeverity = (e)=>\"warn\" === e;\n","let _executor = ()=>{\n throw Error(\"[ngcompass] Rule executor not configured. Call configureRuleExecutor(executeBatchedNewEngineRules, isNewEngineRule) before running analysis.\");\n}, _checker = ()=>!1;\nexport const configureRuleExecutor = (e, r)=>{\n _executor = e, _checker = r;\n};\nexport const getConfiguredExecutor = ()=>_executor;\nexport const getConfiguredChecker = ()=>_checker;\n","import { stableSerialize as e, SerializationError as t, createInfrastructureError as s, debug as r } from \"@ngcompass/common\";\nimport { RuleContextFactory as a } from \"./rule-context-factory.js\";\nimport { getConfiguredExecutor as l, getConfiguredChecker as i } from \"./rule-executor.js\";\nexport const executeBatchedTasks = async (n, o, u)=>{\n if (0 === n.length) return [];\n let m = n[0].filePath, p = new a(o), f = new Map(), c = [];\n for (let a of n){\n let l;\n if (!i()(a.ruleName)) {\n r(\"engine\", `Skipping task ${a.taskId}: Rule \"${a.ruleName}\" not registered in engine.`), c.push({\n ruleName: a.ruleName,\n taskId: a.taskId,\n failures: []\n });\n continue;\n }\n try {\n l = e(a.options || {});\n } catch (l) {\n let e = l instanceof t ? l.message : String(l);\n r(\"engine\", `Skipping task ${a.taskId}: failed to serialize options — ${e}`), u?.record(s('SerializationError', {\n cause: e,\n phase: 'engine',\n recoverable: !0\n })), c.push({\n ruleName: a.ruleName,\n taskId: a.taskId,\n failures: []\n });\n continue;\n }\n let n = f.get(l) ?? {\n options: a.options,\n ruleNames: [],\n taskIds: [],\n severities: new Map()\n };\n n.ruleNames.push(a.ruleName), n.taskIds.push(a.taskId), n.severities.set(a.ruleName, a.severity), f.set(l, n);\n }\n for (let e of f.values())try {\n let t = new Set(e.taskIds), s = n.some((e)=>t.has(e.taskId) && e.inputs.template?.needsAst), r = await p.build(m, e.options, s), a = l()(e.ruleNames, r), i = new Map();\n for(let t = 0; t < e.ruleNames.length; t++){\n let s = e.ruleNames[t], r = e.taskIds[t], a = i.get(s) ?? [];\n a.push(r), i.set(s, a);\n }\n for (let t of a){\n let s = i.get(t.ruleName), r = e.severities.get(t.ruleName), a = r ? {\n ...t,\n failures: t.failures.map((e)=>({\n ...e,\n severity: r\n }))\n } : t;\n if (s && s.length > 0) {\n let e = s.shift();\n c.push({\n ...a,\n taskId: e\n });\n } else c.push(a);\n }\n } catch (a) {\n let t = a instanceof Error ? a.message : String(a);\n r(\"engine\", `Failed to execute batch for ${m}: ${t}`), u?.record(s('ParseError', {\n filePath: m,\n cause: t,\n phase: 'engine',\n recoverable: !0\n }));\n for(let t = 0; t < e.ruleNames.length; t++)c.push({\n ruleName: e.ruleNames[t],\n failures: [],\n taskId: e.taskIds[t]\n });\n }\n return c;\n};\n","import { createRequire as r } from \"node:module\";\nimport e from \"node:os\";\nimport { fileURLToPath as o } from \"node:url\";\nimport { dirname as t, join as s } from \"node:path\";\nimport { existsSync as a } from \"node:fs\";\nimport { createInfrastructureError as l, Ok as i, debug as n } from \"@ngcompass/common\";\nimport { MIN_WORKER_COUNT as m, WORKER_TIMEOUT_MS as u } from \"./constants.js\";\nimport { createAnalysisContext as f } from \"./analysis-context.js\";\nimport { calculateStats as c } from \"./analysis-stats.js\";\nimport { executeBatchedTasks as p } from \"./runner.js\";\nimport { groupTasksByFile as k } from \"@ngcompass/planner\";\nimport d from \"p-limit\";\nexport const runAnalysisParallel = async (r, o, t, s, a, f)=>{\n let p, { Worker: k } = await import(\"node:worker_threads\"), d = s ?? Math.max(m, e.cpus().length), h = await resolveWorkerPath();\n if (!h) return n(\"workers\", \"Execution worker not found, falling back to local execution.\"), runLocalFallback(r, o, t, a ?? d, f);\n let w = distributeTasks(r, d), g = 0, y = ()=>{\n g++, n(\"workers\", `Worker progress: ${g}/${d} complete`);\n }, P = [], x = w.map((r)=>new Promise((e, t)=>{\n let s = !1, a = new k(h, {\n workerData: {\n rootDir: o,\n tasks: r\n }\n });\n P.push(a);\n let i = ()=>{\n clearTimeout(m), a.removeAllListeners();\n }, m = setTimeout(()=>{\n s || (s = !0, i(), y(), a.terminate(), t(Error(`Worker timed out after ${u / 1000}s`)));\n }, u);\n a.on(\"message\", (r)=>{\n isWorkerFileProgress(r) ? f?.(r) : s || (s = !0, i(), r.errors && r.errors.length > 0 && r.errors.forEach((r)=>{\n n(\"workers\", `Worker failed task ${r.task.taskId}: ${r.error}`);\n }), y(), e(r.results));\n }), a.on(\"error\", (r)=>{\n s || (s = !0, i(), y(), t(r instanceof Error ? r : Error(String(r))));\n }), a.on(\"exit\", (r)=>{\n if (s || 0 === r) return;\n s = !0, i();\n let e = l('WorkerCrash', {\n cause: `Worker exited with code ${r}`,\n phase: 'engine',\n recoverable: !0,\n details: {\n exitCode: r\n }\n });\n n(\"workers\", `Worker crashed: ${e.cause}`), t(Error(e.cause));\n });\n }));\n try {\n p = await Promise.all(x);\n } catch (r) {\n throw await Promise.allSettled(P.map((r)=>r.terminate())), r;\n }\n let v = p.flat();\n return i({\n results: v,\n parseErrors: [],\n stats: c(v, t)\n });\n};\nlet runLocalFallback = async (r, e, o, t, s)=>{\n let a = f(e), l = d(t), n = k(r), m = (await Promise.all(Array.from(n.values()).map((r)=>l(async ()=>{\n let e = r[0]?.filePath, o = performance.now(), t = await p(r, a);\n return e && a.evict(e), e && s?.(buildFileProgress(e, r.length, t, performance.now() - o)), t;\n })))).flat();\n return i({\n results: m,\n parseErrors: [],\n stats: c(m, o)\n });\n}, isWorkerFileProgress = (r)=>!!r && 'object' == typeof r && 'file-progress' === r.kind, buildFileProgress = (r, e, o, t)=>{\n let s = 0, a = 0;\n for (let r of o)for (let e of r.failures)'error' === e.severity ? s++ : 'warn' === e.severity && a++;\n return {\n filePath: r,\n taskCount: e,\n issueCount: s + a,\n errorCount: s,\n warningCount: a,\n duration: t\n };\n}, resolveWorkerPath = async ()=>{\n let e = t(o(import.meta.url));\n try {\n let e = r(import.meta.url).resolve('@ngcompass/rules/execution-worker');\n if (a(e)) return e;\n } catch {}\n for (let r of [\n s(e, \"..\", \"..\", \"rules\", \"dist\", \"execution-worker.js\"),\n s(e, \"..\", \"..\", \"rules\", \"dist\", \"execution-worker.cjs\")\n ])if (a(r)) return r;\n return null;\n}, distributeTasks = (r, e)=>{\n let o = Array.from(k(r).values()).sort((r, e)=>e.length - r.length), t = Array.from({\n length: e\n }, ()=>[]), s = Array(e).fill(0);\n for (let r of o){\n let o = 0, a = s[0];\n for(let r = 1; r < e; r++)s[r] < a && (a = s[r], o = r);\n t[o].push(...r), s[o] += r.length;\n }\n return t;\n};\n","import e from \"node:os\";\nimport t from \"p-limit\";\nimport { groupTasksByFile as r } from \"@ngcompass/planner\";\nimport { Ok as s, Err as n, debug as a, createInfrastructureError as l } from \"@ngcompass/common\";\nimport { createAnalysisContext as o } from \"./analysis-context.js\";\nimport { createTypeAwareAnalysisContext as i } from \"./type-aware-context.js\";\nimport { runAnalysisParallel as c } from \"./worker-pool.js\";\nimport { calculateStats as g } from \"./analysis-stats.js\";\nimport { executeBatchedTasks as u } from \"./runner.js\";\nexport { createAnalysisContext } from \"./analysis-context.js\";\nfunction isRuleResult(e) {\n if (!e || 'object' != typeof e || 'string' != typeof e.ruleName || !Array.isArray(e.failures)) return !1;\n for (let t of e.failures)if (!t || 'object' != typeof t || 'string' != typeof t.filePath || 'number' != typeof t.line || 'number' != typeof t.column || 'string' != typeof t.severity) return !1;\n return !0;\n}\nexport const runAnalysis = async (t, r)=>{\n try {\n if (t.precomputedAnalysis) if (function(e) {\n if (!e || 'object' != typeof e || !Array.isArray(e.results) || !Array.isArray(e.parseErrors) || !e.stats || 'object' != typeof e.stats) return !1;\n let t = e.stats;\n return 'number' == typeof t.totalFiles && 'number' == typeof t.totalErrors && 'number' == typeof t.totalWarnings && 'number' == typeof t.duration;\n }(t.precomputedAnalysis)) return a(\"engine\", \"Returning precomputed analysis from cache (global hash match)\"), s(t.precomputedAnalysis);\n else a(\"engine\", \"Precomputed analysis failed schema validation — discarding stale cache entry and re-running analysis\");\n let n = performance.now(), { tasks: o, skippedTasks: i, cachedResults: u } = t, h = e.cpus().length, p = Math.max(1, Math.min(r.maxWorkers ?? h, h)), f = r.parallelThreshold ?? 150, y = o.filter((e)=>!!e.needsTypeChecker || !!e.needsProjectContext), m = o.filter((e)=>!e.needsTypeChecker && !e.needsProjectContext);\n a(\"engine\", `workerTasks: ${m.length}, typeAwareTasks: ${y.length}`);\n let d = o.length + i.length, k = i.length, w = (e)=>{\n k = Math.min(k + e, d), r.onProgress?.(k, d);\n };\n i.length > 0 && r.onProgress?.(k, d);\n let $ = [];\n if (m.length > 0) if (m.length > f) {\n a(\"engine\", `Running analysis on ${m.length} syntax-only tasks using workers (max: ${p})...`);\n let e = await c(m, r.rootDir, n, p, void 0, r.onFileProgress);\n if (!e.ok) return e;\n $ = e.data.results, w(m.length);\n } else a(\"engine\", `Running analysis on ${m.length} syntax-only tasks locally with batching (concurrency: ${p})...`), $ = await executeTasksLocally(m, r.rootDir, p, !1, r.errorCollector, void 0, void 0, w, r.onFileProgress);\n if (y.length > 0 && !r.skipTypeCheck) {\n let e = r.typeAwareChunkSize ?? 400, t = await executeTypeAwareTasks(y, r.rootDir, p, e, r, w, r.onFileProgress);\n $ = [\n ...$,\n ...t\n ];\n } else y.length > 0 && r.skipTypeCheck && a(\"engine\", `Skipping ${y.length} type-aware tasks (--skip-type-check)`);\n let b = await retrieveSkippedResults(i, u, r.cache), x = [\n ...$,\n ...b\n ], v = o.length + i.length, A = v > 0 ? b.length / v : void 0, P = {\n results: x,\n parseErrors: [],\n stats: g(x, n, A)\n };\n if (r.cache && t.globalHash) {\n a(\"engine\", \"Caching full analysis result for global hash...\"), r.debug && (a(\"engine\", `Analysis Results: ${P.results.length} items`), P.results.length > 0 && a(\"engine\", `Sample item keys: ${Object.keys(P.results[0]).join(', ')}`));\n try {\n await r.cache.analysis.set(t.globalHash, P);\n } catch (t) {\n let e = t instanceof Error ? t.message : String(t);\n a(\"engine\", `Failed to cache analysis result: ${e}`), r.errorCollector?.record(l('IOError', {\n cause: `Failed to write analysis cache: ${e}`,\n phase: 'engine',\n recoverable: !0\n }));\n }\n }\n return s(P);\n } catch (e) {\n return n(e instanceof Error ? e : Error(String(e)));\n }\n};\nlet executeTasksLocally = async (e, s, n, c, g, h, p, f, y)=>{\n let m = c ? i(s, h ?? [], p) : o(s);\n c && (await m.warmup(), a(\"engine\", `Phase 1 complete — TypeScript Program ready. Starting Phase 2: ${n} concurrent file batches.`));\n let d = r(e);\n a(\"engine\", `Grouped ${e.length} tasks into ${d.size} file batches`);\n let k = t(n);\n return (await Promise.all(Array.from(d.values()).map((e)=>k(async ()=>{\n let t = e[0]?.filePath, r = performance.now();\n try {\n let s = await u(e, m);\n return m.evict(t), f?.(e.length), t && y?.(buildFileProgress(t, e.length, s, performance.now() - r)), s;\n } catch (n) {\n let s = n instanceof Error ? n.message : String(n);\n return m.evict(t), f?.(e.length), t && y?.(buildFileProgress(t, e.length, [], performance.now() - r)), g?.record(l('IOError', {\n filePath: t,\n cause: `Batch execution failed: ${s}`,\n phase: 'engine',\n recoverable: !0\n })), [];\n }\n })))).flat().filter((e)=>null !== e);\n}, executeTypeAwareTasks = async (e, t, s, n, l, o, i)=>{\n let c = Array.from(r(e).entries()), g = [];\n for(let e = 0; e < c.length; e += n)g.push(c.slice(e, e + n));\n a(\"engine\", `Type-aware: ${e.length} tasks across ${c.length} files → ${g.length} chunk(s) of ≤${n} files`);\n let u = [];\n for(let e = 0; e < g.length; e++){\n let r = g[e], n = r.flatMap(([, e])=>e), c = r.map(([e])=>e);\n a(\"engine\", `Type-aware chunk ${e + 1}/${g.length}: ${c.length} files, ${n.length} tasks`);\n let h = await executeTasksLocally(n, t, s, !0, l.errorCollector, c, l.parserOptions, o, i);\n u.push(...h);\n }\n return u;\n}, buildFileProgress = (e, t, r, s)=>{\n let n = 0, a = 0;\n for (let e of r)for (let t of e.failures)'error' === t.severity ? n++ : 'warn' === t.severity && a++;\n return {\n filePath: e,\n taskCount: t,\n issueCount: n + a,\n errorCount: n,\n warningCount: a,\n duration: s\n };\n}, retrieveSkippedResults = async (e, t, r)=>{\n if (0 === e.length) return [];\n a(\"engine\", `Retrieving results for ${e.length} skipped tasks...`);\n let s = [], n = [];\n if (t) for (let r of e){\n let e = t.get(r.taskId);\n e && isRuleResult(e) ? s.push(e) : n.push(r);\n }\n else n.push(...e);\n if (n.length > 0 && r) {\n a(\"engine\", `Fetching ${n.length} results from cache service...`);\n let e = n.map((e)=>e.taskId), t = await r.results.getMany(e);\n for (let e of n){\n let r = t.get(e.taskId);\n r && isRuleResult(r) && s.push(r);\n }\n }\n return a(\"engine\", `Retrieved ${s.length} results from cache`), s;\n};\n","import { SPINNER_FRAME_INTERVAL_MS as t } from './constants.js';\nlet FRAMES = [\n '⠋',\n '⠙',\n '⠹',\n '⠸',\n '⠼',\n '⠴',\n '⠦',\n '⠧',\n '⠇',\n '⠏'\n];\nexport class Spinner {\n frameIndex = 0;\n interval = null;\n message = '';\n start(e) {\n this.message = e, this.frameIndex = 0, process.stdout.write('\\x1B[?25l'), this.interval = setInterval(()=>{\n process.stdout.write(`\\r${FRAMES[this.frameIndex]} ${this.message}`), this.frameIndex = (this.frameIndex + 1) % FRAMES.length;\n }, t);\n }\n update(t) {\n this.message = t;\n }\n stop(t) {\n this.interval && (clearInterval(this.interval), this.interval = null), process.stdout.write('\\r\\x1B[K'), t && process.stdout.write(t + '\\n'), process.stdout.write('\\x1B[?25h');\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/rule-handler.ts","../src/visitor-registry.ts","../src/constants.ts","../src/single-pass-engine.ts","../src/rule-context-factory.ts","../src/analysis-context.ts","../src/project-context-builder.ts","../src/type-aware-context.ts","../src/analysis-stats.ts","../src/rule-executor.ts","../src/runner.ts","../src/worker-pool.ts","../src/orchestrator.ts","../src/spinner.ts"],"names":["createComponentRule","name","handler","meta","streamType","handle","createAnyAngularClassRule","createDecoratedPropertyRule","createTemplateExpressionRule","createTemplateAttributeRule","createCallExpressionRule","createNewExpressionRule","createTemplateBlockRule","createTemplateRule","STREAM_TO_NODE_TYPE","AngularClass","AnyAngularClass","DecoratedProperty","TemplateExpression","TemplateAttribute","TemplateBlock","Template","CallExpression","NewExpression","buildVisitorMap","handlers","streamFilters","mutable","Map","nodeType","startsWith","filter","entry","ruleName","bind","existing","get","push","set","MIN_WORKER_COUNT","SPINNER_FRAME_INTERVAL_MS","WORKER_TIMEOUT_MS","BUDGET_MS_PER_FILE_WITHOUT_TYPES","BUDGET_MS_PER_FILE_WITH_TYPES","dispatchTemplateHandlers","nodes","context","failuresByRule","ruleTimings","collectRuleTimings","errorCollector","length","templateNode","i","ruleStart","performance","now","failure","Array","isArray","e","record","createInfrastructureError","cause","Error","message","String","recoverable","phase","details","errorName","undefined","elapsed","timing","totalMs","invocations","runSinglePassAnalysis","rules","options","program","results","map","rule","failures","traversalMs","nodesVisited","cacheStats","hits","misses","budgetViolations","hasBudgetViolations","startTime","visitorMap","toAngularClassStream","toAnyAngularClassStream","toDecoratedPropertyStream","toCallExpressionStream","toNewExpressionStream","templateExpressionHandlers","r","templateAttributeHandlers","templateBlockHandlers","templateHandlers","isDebugEnabled","resetComponentCacheStats","walkProgram","node","type","visitors","streamNode","template","templateAnalysis","analyzeTemplate","templateContext","templateFilePath","templateFileContent","templateLocator","filePath","fileContent","locator","expressions","attributes","blocks","budget","typeChecker","toFixed","values","avgMs","from","getComponentCacheStats","RuleContextFactory","build","needsTemplate","Promise","all","readFile","getProgram","Locator","getTypeChecker","getTemplate","project","getProjectContext","resolveExternalTemplatePath","crossRef","buildCrossRef","componentPath","endsWith","templateToComponent","componentGraph","templatePath","loadedTemplate","publicMembers","signalMembers","templateReferences","cluster","stylePaths","specPath","tsSourceFile","getComponentSourceFile","sourceFile","members","Set","statement","statements","ts","isClassDeclaration","member","mods","canHaveModifiers","getModifiers","some","m","kind","SyntaxKind","PrivateKeyword","ProtectedKeyword","isPrivateIdentifier","isIdentifier","isStringLiteral","add","text","isPropertyDeclaration","initializer","factoryName","expr","unwrapped","isAsExpression","isSatisfiesExpression","expression","isCallExpression","callee","isPropertyAccessExpression","SIGNAL_FACTORY_NAMES","has","effectiveTemplate","templateAst","refs","INTERPOLATION_RE","rootNodes","walkNode","attr","value","extractIdentifiersFromExprString","lastIndex","exec","child","getTsSourceFile","source","createSourceFile","ScriptTarget","Latest","TEMPLATE_IDENT_RE","match","CSS_EXTENSIONS","createAnalysisContext","rootDir","fileCache","LRUCache","max","programCache","templateCache","styleCache","readFileCached","cached","promise","readFileSafe","parseTs","extracted","resolveTemplateContent","content","parseHtml","startOffset","getStyle","ext","extname","toLowerCase","resolve","parseCss","evict","delete","dispose","clear","msg","extractTemplateFromProgram","buildProjectContext","files","componentFiles","start","projectFileSet","dir","f","normRoot","sep","sf","getSourceFiles","isDeclarationFile","fileName","importGraph","reverseImportGraph","externalDeps","compilerOptions","getCompilerOptions","moduleResolutionCache","createModuleResolutionCache","getCurrentDirectory","sys","useCaseSensitiveFileNames","file","fromFile","specifier","specifiers","forEachChild","visit","isImportDeclaration","moduleSpecifier","isExportDeclaration","ImportKeyword","arguments","isStringLiteralLike","resolved","resolveModuleName","toFile","resolvedModule","resolvedFileName","reverseSet","pkgName","isAbsolute","scopeSlash","indexOf","nameSlash","slice","slash","extSet","barrelFiles","every","stmt","graph","styleExts","dirname","base","basename","htmlPath","join","stylePath","specCandidate","tsPath","ngModuleMap","standaloneComponents","classToFile","ExportKeyword","decorators","canHaveDecorators","getDecorators","decorator","info","firstArg","arg","isObjectLiteralExpression","declarations","extractArrayElements","imports","exports","providers","isStandalone","extractBoolProp","edgeCount","n","s","size","debug","projectFiles","propName","prop","properties","isPropertyAssignment","init","isArrayLiteralExpression","names","el","elements","extractClassNameFromExpression","TrueKeyword","createTypeAwareAnalysisContext","parserOptions","contextOptions","projectContext","baseContext","tsStart","tsconfigRootDir","path","configPath","findConfigFile","fileExists","configFile","readConfigFile","parsedCommandLine","parseJsonConfigFileContent","config","tsFileRoots","programRootFiles","programRoots","fileNames","createProgram","rootNames","err","_filePath","getSourceFile","warmup","calculateStats","cacheHitRate","duration","flatMap","uniqueFiles","totalErrors","isErrorSeverity","severity","totalWarnings","isWarningSeverity","totalFiles","_executor","_checker","configureRuleExecutor","executor","checker","getConfiguredExecutor","getConfiguredChecker","executeBatchedTasks","tasks","factory","batches","task","optionsKey","taskId","stableSerialize","serErr","SerializationError","batch","ruleNames","taskIds","severities","batchTaskIdSet","t","inputs","needsAst","ruleContext","batchResults","taskIdMap","id","ids","result","configuredSeverity","finalResult","shift","runAnalysisParallel","maxWorkers","concurrency","onFileProgress","chunkResults","Worker","workerCount","Math","os","cpus","workerPath","resolveWorkerPath","runLocalFallback","chunks","distributeTasks","completedWorkers","markWorkerComplete","workers","promises","chunk","reject","settled","worker","workerData","settle","clearTimeout","timeoutId","removeAllListeners","setTimeout","terminate","on","isWorkerFileProgress","errors","forEach","error","code","infraErr","exitCode","allSettled","w","successful","flat","Ok","parseErrors","stats","limit","pLimit","tasksByFile","groupTasksByFile","fileTasks","fileStart","buildFileProgress","taskCount","errorCount","warningCount","issueCount","__dirname","fileURLToPath","url","workerFromRules","createRequire","existsSync","candidate","sortedFiles","sort","a","b","buckets","bucketLoads","fill","minLoadIndex","minLoad","isRuleResult","runAnalysis","plan","precomputedAnalysis","skippedTasks","cachedResults","cpuCount","defaultWorkerCount","min","effectiveMaxWorkers","parallelThreshold","typeAwareTasks","needsTypeChecker","needsProjectContext","workerTasks","grandTotal","globalDone","notifyProgress","delta","onProgress","executedResults","ok","data","executeTasksLocally","skipTypeCheck","typeAwareFileCount","chunkSize","typeAwareChunkSize","typeAwareConcurrency","getTypeAwareConcurrency","typeAwareFileConcurrency","getTypeAwareFileConcurrency","typeAwareResults","executeTypeAwareTasks","skippedResults","retrieveSkippedResults","cache","totalTasks","globalHash","Object","keys","analysis","Err","useTypeAwareContext","onDelta","fileConcurrency","fileEntries","buildTypeAwareFileEntries","typeAwareChunkStrategy","isolationMode","typeAwareIsolation","useProcessIsolation","adaptiveChunkCap","getAdaptiveTypeAwareChunkCap","allResults","wave","buildTypeAwareChunkWaves","waveResults","index","executeTypeAwareChunkInChildProcess","runGarbageCollectionHint","maybeGc","globalThis","gc","requested","Number","isNaN","floor","requestedChunkSize","waves","currentChunkSize","normalizeChunkSize","lowHeapStreak","chunkIndex","offset","slot","chunkTasks","getTypeScriptRootFiles","next","getNextAdaptiveChunkSize","maxChunkSize","isFinite","cap","totalGb","totalmem","freeGb","freemem","heapLimitGb","v8","getHeapStatistics","heap_size_limit","round","current","usage","process","memoryUsage","heapLimit","pressure","heapUsed","nextLowHeapStreak","roots","typescript","strategy","entries","sortFileEntries","dependencyEntries","buildDependencyAwareFileEntries","deadlineMs","groups","rootFile","key","getDependencyGroupKey","group","localeCompare","firstLocalImport","findFirstLocalImport","split","resolveTypeAwareWorkerPath","fork","cwd","execArgv","stdio","timeout","kill","stdout","trim","stderr","isAnalysisFileProgress","isTypeAwareChildComplete","isTypeAwareChildError","send","typeAware","tasksToFetch","cachedEntries","getMany","FRAMES","Spinner","frameIndex","interval","write","setInterval","update","stop","finalMessage","clearInterval"],"mappings":"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","file":"index.js","sourcesContent":["export const createComponentRule = (e, t, a)=>({\n name: e,\n streamType: 'AngularClass',\n handle: t,\n meta: a\n });\nexport const createAnyAngularClassRule = (e, t, a)=>({\n name: e,\n streamType: 'AnyAngularClass',\n handle: t,\n meta: a\n });\nexport const createDecoratedPropertyRule = (e, t)=>({\n name: e,\n streamType: 'DecoratedProperty',\n handle: t\n });\nexport const createTemplateExpressionRule = (e, t, a)=>({\n name: e,\n streamType: 'TemplateExpression',\n handle: t,\n meta: a\n });\nexport const createTemplateAttributeRule = (e, t, a)=>({\n name: e,\n streamType: 'TemplateAttribute',\n handle: t,\n meta: a\n });\nexport const createCallExpressionRule = (e, t, a)=>({\n name: e,\n streamType: 'CallExpression',\n handle: t,\n meta: a\n });\nexport const createNewExpressionRule = (e, t, a)=>({\n name: e,\n streamType: 'NewExpression',\n handle: t,\n meta: a\n });\nexport const createTemplateBlockRule = (e, t, a)=>({\n name: e,\n streamType: 'TemplateBlock',\n handle: t,\n meta: a\n });\nexport const createTemplateRule = (e, t, a)=>({\n name: e,\n streamType: 'Template',\n handle: t,\n meta: a\n });\n","export const STREAM_TO_NODE_TYPE = {\n AngularClass: 'ClassDeclaration',\n AnyAngularClass: 'ClassDeclaration',\n DecoratedProperty: 'PropertyDefinition',\n TemplateExpression: '__template_expression__',\n TemplateAttribute: '__template_attribute__',\n TemplateBlock: '__template_block__',\n Template: '__template_analysis__',\n CallExpression: 'CallExpression',\n NewExpression: 'NewExpression'\n};\nexport function buildVisitorMap(e, t) {\n let a = new Map();\n for (let l of e){\n let e = STREAM_TO_NODE_TYPE[l.streamType];\n if (!e || e.startsWith('__')) continue;\n let s = t[l.streamType];\n if (!s) continue;\n let _ = {\n ruleName: l.name,\n filter: s,\n handle: l.handle.bind(l)\n }, n = a.get(e);\n n ? n.push(_) : a.set(e, [\n _\n ]);\n }\n return a;\n}\n","export const MIN_WORKER_COUNT = 2;\nexport const SPINNER_FRAME_INTERVAL_MS = 80;\nexport const WORKER_TIMEOUT_MS = 60_000;\nexport const BUDGET_MS_PER_FILE_WITHOUT_TYPES = 2;\nexport const BUDGET_MS_PER_FILE_WITH_TYPES = 5;\n","import { walkProgram as e, toAngularClassStream as t, toAnyAngularClassStream as r, toDecoratedPropertyStream as a, toCallExpressionStream as l, toNewExpressionStream as o, resetComponentCacheStats as s, getComponentCacheStats as n, analyzeTemplate as i } from '@ngcompass/ast';\nimport { buildVisitorMap as m } from './visitor-registry.js';\nimport { createInfrastructureError as p, isDebugEnabled as c } from '@ngcompass/common';\nimport { BUDGET_MS_PER_FILE_WITHOUT_TYPES as f, BUDGET_MS_PER_FILE_WITH_TYPES as u } from './constants.js';\nlet dispatchTemplateHandlers = (e, t, r, a, l, o, s)=>{\n if (0 !== t.length) for (let n of e)for(let e = 0; e < t.length; e++){\n let i = t[e], m = o ? performance.now() : 0;\n try {\n let e = i.handle(n, r);\n if (e) {\n let t = a.get(i.name) ?? [];\n Array.isArray(e) ? t.push(...e) : t.push(e), a.set(i.name, t);\n }\n } catch (e) {\n s?.record(p('RuleExecutionError', {\n cause: `Rule ${i.name} failed on template node: ${e instanceof Error ? e.message : String(e)}`,\n recoverable: !0,\n phase: 'engine',\n details: {\n ruleName: i.name,\n errorName: e instanceof Error ? e.name : void 0\n }\n }));\n }\n if (o) {\n let e = performance.now() - m, t = l.get(i.name);\n t && (t.totalMs += e, t.invocations++);\n }\n }\n};\nexport const runSinglePassAnalysis = (h, g, d)=>{\n let { program: y } = g;\n if (!y) return {\n results: h.map((e)=>({\n ruleName: e.name,\n failures: []\n })),\n performance: {\n traversalMs: 0,\n nodesVisited: 0,\n ruleTimings: [],\n cacheStats: {\n hits: 0,\n misses: 0\n },\n budgetViolations: [],\n hasBudgetViolations: !1\n }\n };\n let T = performance.now(), v = m(h, {\n AngularClass: t,\n AnyAngularClass: r,\n DecoratedProperty: a,\n CallExpression: l,\n NewExpression: o\n }), N = h.filter((e)=>'TemplateExpression' === e.streamType), C = h.filter((e)=>'TemplateAttribute' === e.streamType), E = h.filter((e)=>'TemplateBlock' === e.streamType), x = h.filter((e)=>'Template' === e.streamType), A = new Map(), w = new Map(), $ = d?.collectRuleTimings ?? c(), b = 0;\n for (let e of h)w.set(e.name, {\n ruleName: e.name,\n totalMs: 0,\n invocations: 0\n });\n if (s(), e(y, (e)=>{\n if (!e?.type) return;\n b++;\n let t = v.get(e.type);\n if (t) for(let r = 0; r < t.length; r++){\n let a = t[r], l = $ ? performance.now() : 0;\n try {\n let t = a.filter(e);\n if (null !== t) {\n let e = a.handle(t, g);\n if (e) {\n let t = A.get(a.ruleName) ?? [];\n Array.isArray(e) ? t.push(...e) : t.push(e), A.set(a.ruleName, t);\n }\n }\n } catch (e) {\n d?.errorCollector?.record(p('RuleExecutionError', {\n cause: `Rule ${a.ruleName} failed: ${e instanceof Error ? e.message : String(e)}`,\n recoverable: !0,\n phase: 'engine',\n details: {\n ruleName: a.ruleName,\n errorName: e instanceof Error ? e.name : void 0\n }\n }));\n }\n if ($) {\n let e = performance.now() - l, t = w.get(a.ruleName);\n t && (t.totalMs += e, t.invocations++);\n }\n }\n }), g.template && (N.length > 0 || C.length > 0 || E.length > 0 || x.length > 0)) {\n let e = i(g.template), t = g.templateFilePath && g.templateFileContent && g.templateLocator ? {\n ...g,\n filePath: g.templateFilePath,\n fileContent: g.templateFileContent,\n locator: g.templateLocator\n } : g;\n dispatchTemplateHandlers(e.expressions, N, t, A, w, $, d?.errorCollector), dispatchTemplateHandlers(e.attributes, C, t, A, w, $, d?.errorCollector), dispatchTemplateHandlers(e.blocks, E, t, A, w, $, d?.errorCollector), dispatchTemplateHandlers([\n e\n ], x, t, A, w, $, d?.errorCollector);\n }\n let M = [];\n for (let e of h)M.push({\n ruleName: e.name,\n failures: A.get(e.name) ?? []\n });\n let F = performance.now() - T, R = [], H = g.typeChecker ? u : f;\n if (F > H && R.push(`Total traversal time ${F.toFixed(2)}ms exceeds budget ${H}ms`), $) for (let e of w.values()){\n if (0 === e.invocations) continue;\n let t = e.totalMs / e.invocations;\n t > 1 && R.push(`Rule ${e.ruleName} averages ${t.toFixed(2)}ms per invocation (threshold: 1ms)`);\n }\n return {\n results: M,\n performance: {\n traversalMs: F,\n nodesVisited: b,\n ruleTimings: Array.from(w.values()),\n cacheStats: n(),\n budgetViolations: R,\n hasBudgetViolations: R.length > 0\n }\n };\n};\n","import { Locator as t } from '@ngcompass/common';\nimport e from \"typescript\";\nexport class RuleContextFactory {\n context;\n constructor(t){\n this.context = t;\n }\n async build(e, i, n) {\n let r, o, a, s, l, [c, f] = await Promise.all([\n this.context.readFile(e),\n this.context.getProgram(e)\n ]), p = new t(c);\n this.context.getTypeChecker && (r = await this.context.getTypeChecker(e)), n && (o = await this.context.getTemplate(e));\n let m = this.context.getProjectContext?.();\n n && !o && m && (a = this.resolveExternalTemplatePath(e, m)) && (o = await this.context.getTemplate(a), l = new t(s = await this.context.readFile(a)));\n let d = m ? await this.buildCrossRef(e, o, m) : void 0;\n return {\n filePath: e,\n fileContent: c,\n locator: p,\n program: f,\n typeChecker: r,\n template: o,\n templateFilePath: a,\n templateFileContent: s,\n templateLocator: l,\n options: i,\n project: m,\n crossRef: d\n };\n }\n resolveExternalTemplatePath(t, e) {\n let i = t.endsWith('.component.ts') ? t : e.templateToComponent.get(t);\n if (i) return e.componentGraph.get(i)?.templatePath;\n }\n async buildCrossRef(t, i, n) {\n let r, o, a, s = t.endsWith('.component.ts') ? t : n.templateToComponent.get(t);\n if (!s) return;\n let l = n.componentGraph.get(s), c = l?.templatePath, f = l?.stylePaths ?? [], p = l?.specPath;\n try {\n let t = await this.getComponentSourceFile(s);\n t && (r = function(t) {\n let i = new Set();\n for (let n of t.statements)if (e.isClassDeclaration(n)) for (let t of n.members){\n let n = e.canHaveModifiers(t) ? e.getModifiers(t) : void 0;\n if (n && n.some((t)=>t.kind === e.SyntaxKind.PrivateKeyword || t.kind === e.SyntaxKind.ProtectedKeyword)) continue;\n let r = t.name;\n r && !e.isPrivateIdentifier(r) && (e.isIdentifier(r) ? i.add(r.text) : e.isStringLiteral(r) && i.add(r.text));\n }\n return i;\n }(t), o = function(t) {\n let i = new Set();\n for (let n of t.statements)if (e.isClassDeclaration(n)) for (let t of n.members){\n if (!e.isPropertyDeclaration(t) || !t.initializer || !t.name || e.isPrivateIdentifier(t.name)) continue;\n let n = function(t) {\n let i = e.isAsExpression(t) || e.isSatisfiesExpression(t) ? t.expression : t;\n if (!e.isCallExpression(i)) return;\n let n = i.expression;\n return e.isIdentifier(n) ? n.text : e.isPropertyAccessExpression(n) ? e.isIdentifier(n.expression) && 'input' === n.expression.text ? 'input' : n.name.text : void 0;\n }(t.initializer);\n n && SIGNAL_FACTORY_NAMES.has(n) && (e.isIdentifier(t.name) || e.isStringLiteral(t.name)) && i.add(t.name.text);\n }\n return i;\n }(t));\n } catch {}\n let m = i;\n if (!m && c) try {\n m = await this.context.getTemplate(c);\n } catch {}\n if (m) try {\n a = function(t) {\n let e = new Set(), i = /\\{\\{([\\s\\S]*?)\\}\\}/g;\n for (let n of t.rootNodes)!function t(n) {\n if (n && 'object' == typeof n) {\n if (Array.isArray(n.attrs)) for (let t of n.attrs){\n if (('string' == typeof t.name ? t.name : '').startsWith('(')) continue;\n let i = t.value;\n 'string' == typeof i && i && extractIdentifiersFromExprString(i, e);\n }\n if ('string' == typeof n.value && n.value) {\n let t;\n for(i.lastIndex = 0; null !== (t = i.exec(n.value));)extractIdentifiersFromExprString(t[1], e);\n }\n if (Array.isArray(n.children)) for (let e of n.children)t(e);\n }\n }(n);\n return e;\n }(m);\n } catch {}\n return {\n componentPath: s,\n templatePath: c,\n stylePaths: f,\n specPath: p,\n publicMembers: r,\n signalMembers: o,\n templateReferences: a\n };\n }\n async getComponentSourceFile(t) {\n let i = this.context.getTsSourceFile?.(t);\n if (i) return i;\n let n = await this.context.readFile(t);\n return e.createSourceFile(t, n, e.ScriptTarget.Latest, !0);\n }\n}\nlet SIGNAL_FACTORY_NAMES = new Set([\n 'signal',\n 'computed',\n 'linkedSignal',\n 'input',\n 'model',\n 'toSignal'\n]), TEMPLATE_IDENT_RE = /\\b([a-zA-Z_$][a-zA-Z0-9_$]*)\\b/g;\nfunction extractIdentifiersFromExprString(t, e) {\n let i;\n for(TEMPLATE_IDENT_RE.lastIndex = 0; null !== (i = TEMPLATE_IDENT_RE.exec(t));)e.add(i[1]);\n}\n","import { readFile as e } from \"node:fs/promises\";\nimport * as t from \"node:path\";\nimport { LRUCache as r } from \"lru-cache\";\nimport { parseTs as a, parseHtml as n, parseCss as s, extractTemplateFromProgram as l } from \"@ngcompass/ast\";\nlet CSS_EXTENSIONS = new Set([\n '.css',\n '.scss',\n '.sass',\n '.less'\n]);\nexport const createAnalysisContext = (e)=>{\n let l = new r({\n max: 128\n }), o = new Map(), i = new Map(), c = new Map(), f = (t)=>{\n let r = l.get(t);\n if (r) return r;\n let a = readFileSafe(e, t);\n return l.set(t, a), a;\n }, m = (e)=>{\n let t = o.get(e);\n if (t) return t;\n let r = (async ()=>a(await f(e), e).program)();\n return o.set(e, r), r;\n };\n return {\n rootDir: e,\n readFile: f,\n getProgram: m,\n getTemplate: (e)=>{\n let t = i.get(e);\n if (t) return t;\n let r = (async ()=>{\n let t = await resolveTemplateContent(e, f, m);\n if (t && t.content) return n(t.content, t.startOffset);\n })();\n return i.set(e, r), r;\n },\n getStyle: (e)=>{\n let r = c.get(e);\n if (r) return r;\n let a = t.extname(e).toLowerCase();\n if (!CSS_EXTENSIONS.has(a)) {\n let t = Promise.resolve(void 0);\n return c.set(e, t), t;\n }\n let n = (async ()=>s(await f(e), e))();\n return c.set(e, n), n;\n },\n evict: (e)=>{\n l.delete(e), o.delete(e), i.delete(e), c.delete(e);\n },\n dispose: ()=>{\n l.clear(), o.clear(), i.clear(), c.clear();\n }\n };\n};\nlet readFileSafe = async (r, a)=>{\n try {\n return await e(t.resolve(r, a), \"utf-8\");\n } catch (t) {\n let e = t instanceof Error ? t.message : String(t);\n throw Error(`Cannot read file: ${a}. ${e}`);\n }\n}, resolveTemplateContent = async (e, r, a)=>{\n let n = t.extname(e);\n if (\".html\" === n) return {\n content: await r(e),\n startOffset: 0\n };\n if (\".ts\" === n) {\n let t = l(await a(e));\n return t.content ? t : null;\n }\n return null;\n};\n","import e from \"typescript\";\nimport * as t from 'node:path';\nimport { debug as i } from '@ngcompass/common';\nexport function buildProjectContext(r, n, o, s) {\n let l = performance.now(), a = function(e, i, r) {\n var n;\n let o = new Set();\n for (let r of e)o.add(t.resolve(i, r));\n let s = (n = i).endsWith(t.sep) ? n : n + t.sep;\n for (let e of r.getSourceFiles())!e.isDeclarationFile && e.fileName.startsWith(s) && o.add(e.fileName);\n return o;\n }(n, o, r), { importGraph: f, reverseImportGraph: p, externalDeps: c } = function(i, r) {\n let n = i.getCompilerOptions(), o = e.createModuleResolutionCache(i.getCurrentDirectory(), e.sys.useCaseSensitiveFileNames ? (e)=>e : (e)=>e.toLowerCase(), n), s = new Map(), l = new Map(), a = new Map();\n for (let e of r)s.set(e, new Set()), l.set(e, new Set());\n for (let f of i.getSourceFiles()){\n if (f.isDeclarationFile || !r.has(f.fileName)) continue;\n let i = f.fileName;\n for (let p of function(t) {\n let i = [];\n return e.forEachChild(t, function t(r) {\n e.isImportDeclaration(r) && e.isStringLiteral(r.moduleSpecifier) || e.isExportDeclaration(r) && r.moduleSpecifier && e.isStringLiteral(r.moduleSpecifier) ? i.push(r.moduleSpecifier.text) : (e.isCallExpression(r) && r.expression.kind === e.SyntaxKind.ImportKeyword && r.arguments.length > 0 && e.isStringLiteralLike(r.arguments[0]) && i.push(r.arguments[0].text), e.forEachChild(r, t));\n }), i;\n }(f)){\n let f = e.resolveModuleName(p, i, n, e.sys, o), c = f.resolvedModule?.resolvedFileName;\n if (c && r.has(c)) {\n s.get(i).add(c);\n let e = l.get(c);\n e || (e = new Set(), l.set(c, e)), e.add(i);\n } else {\n let e = function(e) {\n if (e.startsWith('.') || t.isAbsolute(e)) return null;\n if (e.startsWith('@')) {\n let t = e.indexOf('/', 1);\n if (-1 === t) return null;\n let i = e.indexOf('/', t + 1);\n return -1 === i ? e : e.slice(0, i);\n }\n let i = e.indexOf('/');\n return -1 === i ? e : e.slice(0, i);\n }(p);\n if (e) {\n let t = a.get(i);\n t || (t = new Set(), a.set(i, t)), t.add(e);\n }\n }\n }\n }\n return {\n importGraph: s,\n reverseImportGraph: l,\n externalDeps: a\n };\n }(r, a), m = function(t, i) {\n let r = new Set();\n for (let n of t.getSourceFiles()){\n if (n.isDeclarationFile || !i.has(n.fileName)) continue;\n let { statements: t } = n;\n 0 !== t.length && t.every((t)=>e.isExportDeclaration(t) && null != t.moduleSpecifier) && r.add(n.fileName);\n }\n return r;\n }(r, a), u = s ?? function(e) {\n let i = new Map(), r = [\n '.scss',\n '.sass',\n '.css',\n '.less'\n ];\n for (let n of e){\n if (!n.endsWith('.component.ts')) continue;\n let o = t.dirname(n), s = t.basename(n, '.ts'), l = t.join(o, s + '.html'), a = e.has(l) ? l : void 0, f = [];\n for (let i of r){\n let r = t.join(o, s + i);\n e.has(r) && f.push(r);\n }\n let p = t.join(o, s + '.spec.ts'), c = e.has(p) ? p : void 0;\n i.set(n, {\n tsPath: n,\n templatePath: a,\n stylePaths: f,\n specPath: c\n });\n }\n return i;\n }(a), d = function(e) {\n let t = new Map();\n for (let [i, r] of e)r.templatePath && t.set(r.templatePath, i);\n return t;\n }(u), { ngModuleMap: x, standaloneComponents: h, classToFile: S } = function(t, i) {\n let r = new Map(), n = new Set(), o = function(t, i) {\n let r = new Map();\n for (let n of t.getSourceFiles())if (!n.isDeclarationFile && i.has(n.fileName)) for (let t of n.statements){\n if (!e.isClassDeclaration(t) || !t.name) continue;\n let i = e.canHaveModifiers(t) ? e.getModifiers(t) : void 0;\n i?.some((t)=>t.kind === e.SyntaxKind.ExportKeyword) && r.set(t.name.text, n.fileName);\n }\n return r;\n }(t, i);\n for (let o of t.getSourceFiles())if (!o.isDeclarationFile && i.has(o.fileName)) for (let t of o.statements){\n if (!e.isClassDeclaration(t)) continue;\n let i = e.canHaveDecorators(t) ? e.getDecorators(t) : void 0;\n if (i?.length) for (let t of i){\n let i = function(t) {\n let i = t.expression;\n if (!e.isCallExpression(i)) return;\n let r = i.expression;\n if (!e.isIdentifier(r)) return;\n let n = i.arguments[0], o = n && e.isObjectLiteralExpression(n) ? n : void 0;\n return {\n name: r.text,\n arg: o\n };\n }(t);\n if (!i) continue;\n let { name: s, arg: l } = i;\n if ('NgModule' === s) {\n l && r.set(o.fileName, {\n filePath: o.fileName,\n declarations: new Set(extractArrayElements(l, 'declarations')),\n imports: new Set(extractArrayElements(l, 'imports')),\n exports: new Set(extractArrayElements(l, 'exports')),\n providers: new Set(extractArrayElements(l, 'providers')),\n isStandalone: !1\n });\n break;\n }\n if ('Component' === s) {\n l && extractBoolProp(l, 'standalone') && (n.add(o.fileName), r.set(o.fileName, {\n filePath: o.fileName,\n declarations: new Set(),\n imports: new Set(l ? extractArrayElements(l, 'imports') : []),\n exports: new Set(),\n providers: new Set(l ? extractArrayElements(l, 'providers') : []),\n isStandalone: !0\n }));\n break;\n }\n if ('Directive' === s || 'Pipe' === s) {\n l && extractBoolProp(l, 'standalone') && n.add(o.fileName);\n break;\n }\n }\n }\n return {\n ngModuleMap: r,\n standaloneComponents: n,\n classToFile: o\n };\n }(r, a), g = function(e) {\n let t = 0;\n for (let i of e.values())t += i.size;\n return t;\n }(f);\n return i('engine', `ProjectContext built in ${(performance.now() - l).toFixed(2)}ms — ${a.size} files, ${g} import edges, ${m.size} barrels, ${c.size} files with ext deps, ${u.size} components, ${d.size} template↔component links, ${x.size} NgModules/standalone, ${h.size} standalone`), {\n importGraph: f,\n reverseImportGraph: p,\n ngModuleMap: x,\n standaloneComponents: h,\n classToFile: S,\n componentGraph: u,\n projectFiles: a,\n rootDir: o,\n barrelFiles: m,\n externalDeps: c,\n templateToComponent: d\n };\n}\nfunction extractArrayElements(t, i) {\n for (let r of t.properties){\n if (!e.isPropertyAssignment(r) || !e.isIdentifier(r.name) || r.name.text !== i) continue;\n let t = r.initializer;\n if (!e.isArrayLiteralExpression(t)) break;\n let n = [];\n for (let i of t.elements)n.push(...function t(i) {\n return e.isIdentifier(i) ? [\n i.text\n ] : e.isPropertyAccessExpression(i) || e.isCallExpression(i) ? t(i.expression) : [];\n }(i));\n return n;\n }\n return [];\n}\nfunction extractBoolProp(t, i) {\n for (let r of t.properties)if (e.isPropertyAssignment(r) && e.isIdentifier(r.name) && r.name.text === i) return r.initializer.kind === e.SyntaxKind.TrueKeyword;\n return !1;\n}\n","import e from \"node:path\";\nimport t from \"typescript\";\nimport { createAnalysisContext as o } from \"./analysis-context.js\";\nimport { buildProjectContext as i } from \"./project-context-builder.js\";\nimport { debug as n } from \"@ngcompass/common\";\nexport const createTypeAwareAnalysisContext = (r, s = [], a, c = {})=>{\n let l, g, p = o(r);\n n('engine', 'Initializing Type-Aware Context (ts.createProgram)...');\n let f = performance.now(), d = a?.tsconfigRootDir ? e.resolve(r, a.tsconfigRootDir) : r, m = a?.project ? e.resolve(d, a.project) : t.findConfigFile(d, t.sys.fileExists, \"tsconfig.json\");\n if (m) {\n let e = t.readConfigFile(m, t.sys.readFile), o = t.parseJsonConfigFileContent(e.config, t.sys, d), i = (c.programRootFiles ?? s).filter((e)=>(e.endsWith('.ts') || e.endsWith('.tsx')) && !e.endsWith('.d.ts')), r = i.length > 0 ? i : o.fileNames;\n l = t.createProgram({\n rootNames: r,\n options: o.options\n }), n('engine', `TypeScript Program initialized in ${(performance.now() - f).toFixed(2)}ms with ${r.length} roots (tsconfig had ${o.fileNames.length})`);\n } else n('engine', 'Could not find tsconfig.json; TypeChecker and ProjectContext will be unavailable.');\n let y = l?.getTypeChecker();\n if (l && !1 !== c.buildProjectContext) try {\n g = i(l, s, r);\n } catch (t) {\n let e = t instanceof Error ? t.message : String(t);\n n('engine', `ProjectContext build failed (non-fatal): ${e}`);\n }\n else l && n('engine', 'Skipping ProjectContext build for type-checker-only chunk');\n return {\n ...p,\n getTypeChecker: async (e)=>y,\n getProjectContext: ()=>g,\n getTsSourceFile: (e)=>l?.getSourceFile(e),\n warmup: async ()=>{\n n('engine', `Type-aware context ready: ${l ? `ts.Program with ${l.getSourceFiles().length} source files` : 'no tsconfig found, TypeChecker unavailable'}`);\n },\n dispose: ()=>{\n g = void 0, y = void 0, l = void 0, p.dispose();\n }\n };\n};\n","export const calculateStats = (e, r, t)=>{\n let i = performance.now() - r, a = e.flatMap((e)=>e.failures), l = new Set(a.map((e)=>e.filePath)), n = a.filter((e)=>isErrorSeverity(e.severity)).length, s = a.filter((e)=>isWarningSeverity(e.severity)).length;\n return {\n totalFiles: l.size,\n totalErrors: n,\n totalWarnings: s,\n duration: i,\n cacheHitRate: t\n };\n};\nlet isErrorSeverity = (e)=>\"error\" === e, isWarningSeverity = (e)=>\"warn\" === e;\n","let _executor = ()=>{\n throw Error(\"[ngcompass] Rule executor not configured. Call configureRuleExecutor(executeBatchedNewEngineRules, isNewEngineRule) before running analysis.\");\n}, _checker = ()=>!1;\nexport const configureRuleExecutor = (e, r)=>{\n _executor = e, _checker = r;\n};\nexport const getConfiguredExecutor = ()=>_executor;\nexport const getConfiguredChecker = ()=>_checker;\n","import { stableSerialize as e, SerializationError as t, createInfrastructureError as s, debug as r } from \"@ngcompass/common\";\nimport { RuleContextFactory as a } from \"./rule-context-factory.js\";\nimport { getConfiguredExecutor as l, getConfiguredChecker as i } from \"./rule-executor.js\";\nexport const executeBatchedTasks = async (n, o, u)=>{\n if (0 === n.length) return [];\n let m = n[0].filePath, p = new a(o), f = new Map(), c = [];\n for (let a of n){\n let l;\n if (!i()(a.ruleName)) {\n r(\"engine\", `Skipping task ${a.taskId}: Rule \"${a.ruleName}\" not registered in engine.`), c.push({\n ruleName: a.ruleName,\n taskId: a.taskId,\n failures: []\n });\n continue;\n }\n try {\n l = e(a.options || {});\n } catch (l) {\n let e = l instanceof t ? l.message : String(l);\n r(\"engine\", `Skipping task ${a.taskId}: failed to serialize options — ${e}`), u?.record(s('SerializationError', {\n cause: e,\n phase: 'engine',\n recoverable: !0\n })), c.push({\n ruleName: a.ruleName,\n taskId: a.taskId,\n failures: []\n });\n continue;\n }\n let n = f.get(l) ?? {\n options: a.options,\n ruleNames: [],\n taskIds: [],\n severities: new Map()\n };\n n.ruleNames.push(a.ruleName), n.taskIds.push(a.taskId), n.severities.set(a.ruleName, a.severity), f.set(l, n);\n }\n for (let e of f.values())try {\n let t = new Set(e.taskIds), s = n.some((e)=>t.has(e.taskId) && e.inputs.template?.needsAst), r = await p.build(m, e.options, s), a = l()(e.ruleNames, r), i = new Map();\n for(let t = 0; t < e.ruleNames.length; t++){\n let s = e.ruleNames[t], r = e.taskIds[t], a = i.get(s) ?? [];\n a.push(r), i.set(s, a);\n }\n for (let t of a){\n let s = i.get(t.ruleName), r = e.severities.get(t.ruleName), a = r ? {\n ...t,\n failures: t.failures.map((e)=>({\n ...e,\n severity: r\n }))\n } : t;\n if (s && s.length > 0) {\n let e = s.shift();\n c.push({\n ...a,\n taskId: e\n });\n } else c.push(a);\n }\n } catch (a) {\n let t = a instanceof Error ? a.message : String(a);\n r(\"engine\", `Failed to execute batch for ${m}: ${t}`), u?.record(s('ParseError', {\n filePath: m,\n cause: t,\n phase: 'engine',\n recoverable: !0\n }));\n for(let t = 0; t < e.ruleNames.length; t++)c.push({\n ruleName: e.ruleNames[t],\n failures: [],\n taskId: e.taskIds[t]\n });\n }\n return c;\n};\n","import { createRequire as r } from \"node:module\";\nimport e from \"node:os\";\nimport { fileURLToPath as o } from \"node:url\";\nimport { dirname as t, join as s } from \"node:path\";\nimport { existsSync as a } from \"node:fs\";\nimport { createInfrastructureError as l, Ok as i, debug as n } from \"@ngcompass/common\";\nimport { MIN_WORKER_COUNT as m, WORKER_TIMEOUT_MS as u } from \"./constants.js\";\nimport { createAnalysisContext as f } from \"./analysis-context.js\";\nimport { calculateStats as c } from \"./analysis-stats.js\";\nimport { executeBatchedTasks as p } from \"./runner.js\";\nimport { groupTasksByFile as k } from \"@ngcompass/planner\";\nimport d from \"p-limit\";\nexport const runAnalysisParallel = async (r, o, t, s, a, f)=>{\n let p, { Worker: k } = await import(\"node:worker_threads\"), d = s ?? Math.max(m, e.cpus().length), h = await resolveWorkerPath();\n if (!h) return n(\"workers\", \"Execution worker not found, falling back to local execution.\"), runLocalFallback(r, o, t, a ?? d, f);\n let w = distributeTasks(r, d), g = 0, y = ()=>{\n g++, n(\"workers\", `Worker progress: ${g}/${d} complete`);\n }, P = [], x = w.map((r)=>new Promise((e, t)=>{\n let s = !1, a = new k(h, {\n workerData: {\n rootDir: o,\n tasks: r\n }\n });\n P.push(a);\n let i = ()=>{\n clearTimeout(m), a.removeAllListeners();\n }, m = setTimeout(()=>{\n s || (s = !0, i(), y(), a.terminate(), t(Error(`Worker timed out after ${u / 1000}s`)));\n }, u);\n a.on(\"message\", (r)=>{\n isWorkerFileProgress(r) ? f?.(r) : s || (s = !0, i(), r.errors && r.errors.length > 0 && r.errors.forEach((r)=>{\n n(\"workers\", `Worker failed task ${r.task.taskId}: ${r.error}`);\n }), y(), e(r.results));\n }), a.on(\"error\", (r)=>{\n s || (s = !0, i(), y(), t(r instanceof Error ? r : Error(String(r))));\n }), a.on(\"exit\", (r)=>{\n if (s || 0 === r) return;\n s = !0, i();\n let e = l('WorkerCrash', {\n cause: `Worker exited with code ${r}`,\n phase: 'engine',\n recoverable: !0,\n details: {\n exitCode: r\n }\n });\n n(\"workers\", `Worker crashed: ${e.cause}`), t(Error(e.cause));\n });\n }));\n try {\n p = await Promise.all(x);\n } catch (r) {\n throw await Promise.allSettled(P.map((r)=>r.terminate())), r;\n }\n let v = p.flat();\n return i({\n results: v,\n parseErrors: [],\n stats: c(v, t)\n });\n};\nlet runLocalFallback = async (r, e, o, t, s)=>{\n let a = f(e), l = d(t), n = k(r), m = (await Promise.all(Array.from(n.values()).map((r)=>l(async ()=>{\n let e = r[0]?.filePath, o = performance.now(), t = await p(r, a);\n return e && a.evict(e), e && s?.(buildFileProgress(e, r.length, t, performance.now() - o)), t;\n })))).flat();\n return i({\n results: m,\n parseErrors: [],\n stats: c(m, o)\n });\n}, isWorkerFileProgress = (r)=>!!r && 'object' == typeof r && 'file-progress' === r.kind, buildFileProgress = (r, e, o, t)=>{\n let s = 0, a = 0;\n for (let r of o)for (let e of r.failures)'error' === e.severity ? s++ : 'warn' === e.severity && a++;\n return {\n filePath: r,\n taskCount: e,\n issueCount: s + a,\n errorCount: s,\n warningCount: a,\n duration: t\n };\n}, resolveWorkerPath = async ()=>{\n let e = t(o(import.meta.url));\n try {\n let e = r(import.meta.url).resolve('@ngcompass/rules/execution-worker');\n if (a(e)) return e;\n } catch {}\n for (let r of [\n s(e, \"..\", \"..\", \"rules\", \"dist\", \"execution-worker.js\"),\n s(e, \"..\", \"..\", \"rules\", \"dist\", \"execution-worker.cjs\")\n ])if (a(r)) return r;\n return null;\n}, distributeTasks = (r, e)=>{\n let o = Array.from(k(r).values()).sort((r, e)=>e.length - r.length), t = Array.from({\n length: e\n }, ()=>[]), s = Array(e).fill(0);\n for (let r of o){\n let o = 0, a = s[0];\n for(let r = 1; r < e; r++)s[r] < a && (a = s[r], o = r);\n t[o].push(...r), s[o] += r.length;\n }\n return t;\n};\n","import e from \"node:os\";\nimport { readFile as t } from \"node:fs/promises\";\nimport { createRequire as r } from \"node:module\";\nimport { fork as n } from \"node:child_process\";\nimport { dirname as a, join as i } from \"node:path\";\nimport { fileURLToPath as s } from \"node:url\";\nimport { existsSync as o } from \"node:fs\";\nimport l from \"node:v8\";\nimport p from \"p-limit\";\nimport { groupTasksByFile as c } from \"@ngcompass/planner\";\nimport { Ok as u, Err as h, debug as g, createInfrastructureError as y } from \"@ngcompass/common\";\nimport { createAnalysisContext as m } from \"./analysis-context.js\";\nimport { createTypeAwareAnalysisContext as f } from \"./type-aware-context.js\";\nimport { runAnalysisParallel as d } from \"./worker-pool.js\";\nimport { calculateStats as k } from \"./analysis-stats.js\";\nimport { executeBatchedTasks as w } from \"./runner.js\";\nexport { createAnalysisContext } from \"./analysis-context.js\";\nfunction isRuleResult(e) {\n if (!e || 'object' != typeof e || 'string' != typeof e.ruleName || !Array.isArray(e.failures)) return !1;\n for (let t of e.failures)if (!t || 'object' != typeof t || 'string' != typeof t.filePath || 'number' != typeof t.line || 'number' != typeof t.column || 'string' != typeof t.severity) return !1;\n return !0;\n}\nexport const runAnalysis = async (t, r)=>{\n try {\n if (t.precomputedAnalysis) if (function(e) {\n if (!e || 'object' != typeof e || !Array.isArray(e.results) || !Array.isArray(e.parseErrors) || !e.stats || 'object' != typeof e.stats) return !1;\n let t = e.stats;\n return 'number' == typeof t.totalFiles && 'number' == typeof t.totalErrors && 'number' == typeof t.totalWarnings && 'number' == typeof t.duration;\n }(t.precomputedAnalysis)) return g(\"engine\", \"Returning precomputed analysis from cache (global hash match)\"), u(t.precomputedAnalysis);\n else g(\"engine\", \"Precomputed analysis failed schema validation — discarding stale cache entry and re-running analysis\");\n let n = performance.now(), { tasks: a, skippedTasks: i, cachedResults: s } = t, o = e.cpus().length, l = Math.max(1, Math.min(4, o - 1)), p = Math.max(1, Math.min(r.maxWorkers ?? l, o)), h = r.parallelThreshold ?? 150, m = a.filter((e)=>!!e.needsTypeChecker || !!e.needsProjectContext), f = a.filter((e)=>!e.needsTypeChecker && !e.needsProjectContext);\n g(\"engine\", `workerTasks: ${f.length}, typeAwareTasks: ${m.length}`);\n let w = a.length + i.length, C = i.length, x = (e)=>{\n C = Math.min(C + e, w), r.onProgress?.(C, w);\n };\n i.length > 0 && r.onProgress?.(C, w);\n let b = [];\n if (f.length > 0) if (f.length > h) {\n g(\"engine\", `Running analysis on ${f.length} syntax-only tasks using workers (max: ${p})...`);\n let e = await d(f, r.rootDir, n, p, void 0, r.onFileProgress);\n if (!e.ok) return e;\n b = e.data.results, x(f.length);\n } else g(\"engine\", `Running analysis on ${f.length} syntax-only tasks locally with batching (concurrency: ${p})...`), b = await executeTasksLocally(f, r.rootDir, p, !1, r.errorCollector, void 0, void 0, !0, void 0, x, r.onFileProgress);\n if (m.length > 0 && !r.skipTypeCheck) {\n let e = c(m).size, t = r.typeAwareChunkSize ?? (e >= 1000 ? 50 : 100), n = getTypeAwareConcurrency(r.typeAwareConcurrency, p), a = getTypeAwareFileConcurrency(r.typeAwareFileConcurrency, p), i = await executeTypeAwareTasks(m, r.rootDir, n, a, t, r, x, r.onFileProgress);\n b = [\n ...b,\n ...i\n ];\n } else m.length > 0 && r.skipTypeCheck && g(\"engine\", `Skipping ${m.length} type-aware tasks (--skip-type-check)`);\n let A = await retrieveSkippedResults(i, s, r.cache), T = [\n ...b,\n ...A\n ], $ = a.length + i.length, S = $ > 0 ? A.length / $ : void 0, F = {\n results: T,\n parseErrors: [],\n stats: k(T, n, S)\n };\n if (r.cache && t.globalHash && F.results.length <= 20_000) {\n g(\"engine\", \"Caching full analysis result for global hash...\"), r.debug && (g(\"engine\", `Analysis Results: ${F.results.length} items`), F.results.length > 0 && g(\"engine\", `Sample item keys: ${Object.keys(F.results[0]).join(', ')}`));\n try {\n await r.cache.analysis.set(t.globalHash, F);\n } catch (t) {\n let e = t instanceof Error ? t.message : String(t);\n g(\"engine\", `Failed to cache analysis result: ${e}`), r.errorCollector?.record(y('IOError', {\n cause: `Failed to write analysis cache: ${e}`,\n phase: 'engine',\n recoverable: !0\n }));\n }\n } else r.cache && t.globalHash && g(\"engine\", `Skipping full analysis cache: ${F.results.length} results exceeds 20000 result safety limit`);\n return u(F);\n } catch (e) {\n return h(e instanceof Error ? e : Error(String(e)));\n }\n};\nlet executeTasksLocally = async (e, t, r, n, a, i, s, o = !0, l, u, h)=>{\n let d = n ? f(t, i ?? [], s, {\n buildProjectContext: o,\n programRootFiles: l\n }) : m(t);\n n && (await d.warmup(), g(\"engine\", `Phase 1 complete — TypeScript Program ready. Starting Phase 2: ${r} concurrent file batches.`));\n let k = c(e);\n g(\"engine\", `Grouped ${e.length} tasks into ${k.size} file batches`);\n let C = p(r), x = await Promise.all(Array.from(k.values()).map((e)=>C(async ()=>{\n let t = e[0]?.filePath, r = performance.now();\n try {\n let a = await w(e, d);\n return d.evict(t), u?.(e.length), t && h?.(buildFileProgress(t, e.length, a, performance.now() - r, n)), a;\n } catch (s) {\n let i = s instanceof Error ? s.message : String(s);\n return d.evict(t), u?.(e.length), t && h?.(buildFileProgress(t, e.length, [], performance.now() - r, n)), a?.record(y('IOError', {\n filePath: t,\n cause: `Batch execution failed: ${i}`,\n phase: 'engine',\n recoverable: !0\n })), [];\n }\n })));\n return d.dispose(), x.flat().filter((e)=>null !== e);\n}, executeTypeAwareTasks = async (e, t, r, n, a, i, s, o)=>{\n let l = c(e), u = await buildTypeAwareFileEntries(l, t, i.typeAwareChunkStrategy ?? 'dependency'), h = i.typeAwareIsolation ?? 'auto', y = 'process' === h || 'auto' === h && u.length >= 500, m = getAdaptiveTypeAwareChunkCap();\n g(\"engine\", `Type-aware: ${e.length} tasks across ${u.length} files; requested chunk size ${a}; adaptive cap ${m}; chunk concurrency=${r}; file concurrency=${n}; isolation=${y ? 'process' : 'in-process'}`);\n let f = [], d = p(r);\n for (let e of buildTypeAwareChunkWaves(u, a, m, r)){\n let r = await Promise.all(e.map((e)=>d(async ()=>{\n g(\"engine\", `Type-aware chunk ${e.index}: ${e.files.length} files, ${e.programRootFiles.length} TS roots, ${e.tasks.length} tasks`);\n let r = y ? await executeTypeAwareChunkInChildProcess(e.tasks, t, e.files, e.programRootFiles, e.buildProjectContext, n, i, o) : await executeTasksLocally(e.tasks, t, n, !0, i.errorCollector, e.files, i.parserOptions, e.buildProjectContext, e.programRootFiles, s, o);\n return y && s?.(e.tasks.length), r;\n })));\n f.push(...r.flat()), runGarbageCollectionHint();\n }\n return f;\n}, runGarbageCollectionHint = ()=>{\n let e = globalThis.gc;\n 'function' == typeof e && e();\n}, getTypeAwareConcurrency = (e, t)=>Math.max(1, Math.min(null == e || Number.isNaN(e) ? 1 : Math.floor(e), t, 4)), getTypeAwareFileConcurrency = (e, t)=>Math.max(1, Math.min(null == e || Number.isNaN(e) ? 1 : Math.floor(e), t, 8)), buildTypeAwareChunkWaves = (e, t, r, n)=>{\n let a = [], i = normalizeChunkSize(t, r), s = 0, o = 1;\n for(let t = 0; t < e.length;){\n let l = [];\n for(let r = 0; r < n && t < e.length; r++){\n let r = e.slice(t, t + i), n = r.flatMap(([, e])=>e), a = getTypeScriptRootFiles(n);\n a.length > 0 ? l.push({\n index: o,\n tasks: n,\n files: r.map(([e])=>e),\n programRootFiles: a,\n buildProjectContext: n.some((e)=>!!e.needsProjectContext)\n }) : g(\"engine\", `Skipping type-aware chunk ${o} with no TypeScript roots (${n.length} tasks)`), o++, t += r.length;\n }\n l.length > 0 && a.push(l);\n let p = getNextAdaptiveChunkSize(i, s, r);\n i = p.chunkSize, s = p.lowHeapStreak;\n }\n return a;\n}, normalizeChunkSize = (e, t)=>Number.isFinite(e) ? Math.max(10, Math.min(t, Math.floor(e))) : t, getAdaptiveTypeAwareChunkCap = ()=>{\n let t, r = e.totalmem() / 1073741824, n = e.freemem() / 1073741824, a = l.getHeapStatistics().heap_size_limit / 1073741824, i = e.cpus().length;\n return t = n < 1.5 || r < 4 ? 100 : n < 3 || r < 8 ? 300 : n < 6 || r < 16 ? 650 : n < 12 || r < 32 ? 1000 : 1500, i <= 4 ? t = Math.min(t, 500) : i >= 12 && (t = Math.min(2000, Math.round(1.2 * t))), a < 2 ? t = Math.min(t, 250) : a < 4 && (t = Math.min(t, 650)), t = Math.max(10, Math.min(2000, t)), g(\"engine\", `Adaptive type-aware chunk cap: ${t} files (free memory ${n.toFixed(1)}GB, total memory ${r.toFixed(1)}GB, V8 heap limit ${a.toFixed(1)}GB, CPUs ${i})`), t;\n}, getNextAdaptiveChunkSize = (e, t, r)=>{\n let n = process.memoryUsage(), a = l.getHeapStatistics().heap_size_limit, i = a > 0 ? n.heapUsed / a : 0;\n if (i >= 0.94 && e > 10) {\n let t = Math.max(10, Math.floor(e / 2));\n return g(\"engine\", `Critical heap pressure after type-aware chunk (${Math.round(100 * i)}% of V8 heap limit); reducing chunk size to ${t}`), {\n chunkSize: t,\n lowHeapStreak: 0\n };\n }\n if (i >= 0.88 && e > 10) {\n let t = Math.max(10, Math.floor(0.8 * e));\n return g(\"engine\", `High heap pressure after type-aware chunk (${Math.round(100 * i)}% of V8 heap limit); reducing chunk size to ${t}`), {\n chunkSize: t,\n lowHeapStreak: 0\n };\n }\n if (i <= 0.35 && e < r) {\n let n = t + 1;\n if (n < 3) return {\n chunkSize: e,\n lowHeapStreak: n\n };\n let a = Math.min(r, e + Math.max(10, Math.floor(0.1 * e)));\n return g(\"engine\", `Sustained low heap pressure after type-aware chunk (${Math.round(100 * i)}% of V8 heap limit); increasing chunk size to ${a}`), {\n chunkSize: a,\n lowHeapStreak: 0\n };\n }\n return {\n chunkSize: e,\n lowHeapStreak: 0\n };\n}, getTypeScriptRootFiles = (e)=>{\n let t = new Set();\n for (let r of e){\n let e = r.inputs.typescript.path;\n (e.endsWith('.ts') || e.endsWith('.tsx')) && !e.endsWith('.d.ts') && t.add(e);\n }\n return [\n ...t\n ];\n}, buildTypeAwareFileEntries = async (e, t, r)=>{\n let n = Array.from(e.entries());\n if ('simple' === r) return g(\"engine\", `Type-aware chunk ordering: simple path sort for ${n.length} files`), sortFileEntries(n);\n g(\"engine\", `Type-aware chunk ordering: dependency pre-pass for ${n.length} files`);\n let a = performance.now(), i = await buildDependencyAwareFileEntries(n, t, a + 5_000);\n return i ? (g(\"engine\", `Dependency chunk ordering complete in ${(performance.now() - a).toFixed(1)}ms`), i) : (g(\"engine\", \"Dependency chunk ordering exceeded 5000ms; falling back to simple path sort\"), sortFileEntries(n));\n}, buildDependencyAwareFileEntries = async (e, t, r)=>{\n let n = new Map(), a = p(64);\n for(let i = 0; i < e.length; i += 64){\n if (performance.now() > r) return null;\n let s = e.slice(i, i + 64);\n await Promise.all(s.map((e)=>a(async ()=>{\n let [r, a] = e, i = getTypeScriptRootFiles(a)[0] ?? r, s = await getDependencyGroupKey(i, t), o = n.get(s) ?? [];\n o.push(e), n.set(s, o);\n })));\n }\n return [\n ...n.entries()\n ].sort(([e], [t])=>e.localeCompare(t)).flatMap(([, e])=>sortFileEntries(e));\n}, sortFileEntries = (e)=>[\n ...e\n ].sort(([e], [t])=>e.localeCompare(t)), getDependencyGroupKey = async (e, r)=>{\n let n = a(e);\n try {\n let r = await t(e, 'utf8'), a = findFirstLocalImport(r);\n if (!a) return n;\n return i(n, a.split('/')[0] ?? '');\n } catch {\n return a(i(r, e));\n }\n}, findFirstLocalImport = (e)=>{\n let t = /\\b(?:import|export)\\b[^'\"]*['\"](\\.{1,2}\\/[^'\"]+)['\"]/g.exec(e);\n return t?.[1] ?? null;\n}, executeTypeAwareChunkInChildProcess = async (e, t, r, a, i, s, o, l)=>{\n let p = await resolveTypeAwareWorkerPath();\n return p ? new Promise((c, u)=>{\n let h = n(p, [], {\n cwd: t,\n execArgv: [],\n stdio: [\n 'ignore',\n 'pipe',\n 'pipe',\n 'ipc'\n ]\n }), y = !1, m = setTimeout(()=>{\n y || (y = !0, h.kill(), u(Error(\"Type-aware child process timed out after 600s\")));\n }, 600000);\n h.stdout?.on('data', (e)=>g(\"engine\", `[type-aware-child] ${String(e).trim()}`)), h.stderr?.on('data', (e)=>g(\"engine\", `[type-aware-child:stderr] ${String(e).trim()}`)), h.on('message', (e)=>{\n if (isAnalysisFileProgress(e)) return void l?.(e);\n if (isTypeAwareChildComplete(e)) {\n if (y) return;\n y = !0, clearTimeout(m), c(e.results);\n return;\n }\n if (isTypeAwareChildError(e)) {\n if (y) return;\n y = !0, clearTimeout(m), u(Error(e.error));\n }\n }), h.on('error', (e)=>{\n y || (y = !0, clearTimeout(m), u(e));\n }), h.on('exit', (e)=>{\n y || (y = !0, clearTimeout(m), u(Error(`Type-aware child process exited before completion with code ${e}`)));\n }), h.send({\n rootDir: t,\n tasks: e,\n files: r,\n programRootFiles: a,\n parserOptions: o.parserOptions,\n buildProjectContext: i,\n fileConcurrency: s\n });\n }) : (g(\"engine\", \"Type-aware child worker not found; falling back to in-process execution\"), executeTasksLocally(e, t, s, !0, o.errorCollector, r, o.parserOptions, i, a, void 0, l));\n}, resolveTypeAwareWorkerPath = async ()=>{\n let e = a(s(import.meta.url));\n try {\n let e = r(import.meta.url).resolve('@ngcompass/rules/type-aware-worker');\n if (o(e)) return e;\n } catch {}\n for (let t of [\n i(e, \"..\", \"..\", \"rules\", \"dist\", \"type-aware-worker.js\"),\n i(e, \"..\", \"..\", \"rules\", \"dist\", \"type-aware-worker.cjs\")\n ])if (o(t)) return t;\n return null;\n}, isAnalysisFileProgress = (e)=>!!e && 'object' == typeof e && 'file-progress' === e.kind && 'string' == typeof e.filePath && 'number' == typeof e.taskCount && 'number' == typeof e.issueCount && 'number' == typeof e.errorCount && 'number' == typeof e.warningCount && 'number' == typeof e.duration, isTypeAwareChildComplete = (e)=>!!e && 'object' == typeof e && 'complete' === e.kind && Array.isArray(e.results), isTypeAwareChildError = (e)=>!!e && 'object' == typeof e && 'error' === e.kind && 'string' == typeof e.error, buildFileProgress = (e, t, r, n, a)=>{\n let i = 0, s = 0;\n for (let e of r)for (let t of e.failures)'error' === t.severity ? i++ : 'warn' === t.severity && s++;\n return {\n filePath: e,\n taskCount: t,\n issueCount: i + s,\n errorCount: i,\n warningCount: s,\n duration: n,\n typeAware: a\n };\n}, retrieveSkippedResults = async (e, t, r)=>{\n if (0 === e.length) return [];\n g(\"engine\", `Retrieving results for ${e.length} skipped tasks...`);\n let n = [], a = [];\n if (t) for (let r of e){\n let e = t.get(r.taskId);\n e && isRuleResult(e) ? n.push(e) : a.push(r);\n }\n else a.push(...e);\n if (a.length > 0 && r) {\n g(\"engine\", `Fetching ${a.length} results from cache service...`);\n let e = a.map((e)=>e.taskId), t = await r.results.getMany(e);\n for (let e of a){\n let r = t.get(e.taskId);\n r && isRuleResult(r) && n.push(r);\n }\n }\n return g(\"engine\", `Retrieved ${n.length} results from cache`), n;\n};\n","import { SPINNER_FRAME_INTERVAL_MS as t } from './constants.js';\nlet FRAMES = [\n '⠋',\n '⠙',\n '⠹',\n '⠸',\n '⠼',\n '⠴',\n '⠦',\n '⠧',\n '⠇',\n '⠏'\n];\nexport class Spinner {\n frameIndex = 0;\n interval = null;\n message = '';\n start(e) {\n this.message = e, this.frameIndex = 0, process.stdout.write('\\x1B[?25l'), this.interval = setInterval(()=>{\n process.stdout.write(`\\r${FRAMES[this.frameIndex]} ${this.message}`), this.frameIndex = (this.frameIndex + 1) % FRAMES.length;\n }, t);\n }\n update(t) {\n this.message = t;\n }\n stop(t) {\n this.interval && (clearInterval(this.interval), this.interval = null), process.stdout.write('\\r\\x1B[K'), t && process.stdout.write(t + '\\n'), process.stdout.write('\\x1B[?25h');\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngcompass/engine",
3
- "version": "0.1.1-beta",
3
+ "version": "0.1.3-beta",
4
4
  "description": "Rule execution engine for ngcompass",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.cjs",
@@ -24,10 +24,10 @@
24
24
  "lru-cache": "^11.2.5",
25
25
  "oxc-parser": "^0.112.0",
26
26
  "p-limit": "^6.1.0",
27
- "@ngcompass/common": "0.1.1-beta",
28
- "@ngcompass/ast": "0.1.1-beta",
29
- "@ngcompass/cache": "0.1.1-beta",
30
- "@ngcompass/planner": "0.1.1-beta"
27
+ "@ngcompass/common": "0.1.3-beta",
28
+ "@ngcompass/ast": "0.1.3-beta",
29
+ "@ngcompass/planner": "0.1.3-beta",
30
+ "@ngcompass/cache": "0.1.3-beta"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "typescript": "5.9.3"