@ngcompass/planner 0.1.2-beta → 0.1.4-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.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/overrides.ts","../src/file-type.ts","../src/incremental.ts","../src/resources.ts","../src/hashing.ts","../src/task-builder.ts","../src/indexes.ts","../src/serialize.ts","../src/utils.ts","../src/component-graph.ts","../src/builder.ts","../src/integration.ts"],"names":["findMatchingOverrides","filePath","overrides","filter","o","matchesAnyGlob","Array","isArray","files","resolveOverridesForFile","globalRules","matching","length","result","Map","override","rules","ruleName","ruleConfig","Object","entries","existing","get","normalized","normalizeOverrideConfig","severity","delete","set","options","patterns","some","p","minimatch","replace","dot","rc","ANGULAR_DECORATOR_RE","detectFileType","basename","path","ext","extname","endsWith","isTypeScriptFile","isTemplateFile","isStyleFile","isSpecFile","isComponentFile","getBaseName","suffix","slice","filterCachedTasks","tasks","cache","startTime","performance","now","debug","forceRerun","buildForcedRerunPlan","taskIds","map","t","taskId","buildEmptyIncrementalPlan","cachedTaskIds","hasMany","size","skippedTasks","pendingTasks","splitTasksByCache","cachedResults","maybeLoadCachedResults","stats","buildCacheFilterStats","logFilterSummary","areAllTasksCached","getCacheHitRate","pruneStaleCache","getManyWithMetadata","maxAgeMs","minHits","resolvePrunePolicy","staleTaskIds","collectStaleTaskIds","prunedCount","deleteMany","totalTasks","cachedTasks","cacheHitRate","timeSavedEstimate","task","has","push","loadCachedResults","cachedIds","getMany","total","cached","pending","elapsed","toFixed","Date","maxAge","stale","entry","tooOld","metadata","timestamp","tooCold","hits","deleted","STYLE_EXTENSIONS","TEMPLATE_URL_RE","STYLE_URL_RE","STYLE_URLS_RE","STYLE_STR_RE","extractTemplateUrlFromContent","tsFilePath","dir","content","readFile","match","exec","resolve","extractStyleUrlsFromContent","results","singleMatch","arrayMatch","m","lastIndex","discoverResources","needsTsAst","needsHtmlAst","needsCssAst","needsSpecAst","directoryCache","dirname","baseName","listDirectory","typescript","buildFileInput","template","findTemplateFile","extracted","styles","findStyleFiles","spec","findSpecFile","undefined","resourceExists","resourceType","hasTemplateFile","hasAnyStyleFile","hasSpecFile","getStyleFiles","flatMap","name","styleFileName","includes","join","getTemplateFile","templateFileName","getSpecFile","specFileName","readdir","error","Error","message","String","needsAst","hash","warmupHashCache","filePaths","metaCache","hashCache","i","batch","Promise","all","stat","mtime","mtimeMs","cachedMeta","hashFile","flush","computeHash","hashFiles","sort","stableStringify","value","seen","WeakSet","normalize","v","add","out","k","keys","JSON","stringify","hashRules","rule","a","b","localeCompare","calculateFileHash","inputs","applicableRules","parts","styleHashes","s","hashTaskInputs","hashFileStats","calculateTaskId","ctx","toolVersion","ruleRegistryHash","stylesHash","calculateGlobalHash","fileEntries","f","from","values","parserVersion","platform","shouldApplyRule","fileType","dependencyType","isTypescriptLike","filterRulesByAstRequirement","astType","filtered","requires","groupRulesByDependencyType","groups","standalone","component","imports","buildTask","context","applicability","evaluateRuleApplicability","apply","reason","requirements","resolveAstRequirements","buildTaskInputsWithHashes","cacheKeyCtx","needsTypeChecker","needsProjectContext","buildTasksForFileTaskCentric","discovered","getOrDiscoverResources","buildHashedInput","buildTemplateInput","buildStyleInputs","buildSpecInput","Boolean","tsAst","htmlAst","cssAst","specAst","typeChecker","projectContext","resourceCache","componentGraph","node","getResources","graphStats","stylePaths","templatePath","specPath","misses","fallbacks","buildIndexes","plan","filesNeedingTsAst","buildFilesNeedingAst","filesNeedingHtmlAst","filesNeedingCssAst","filesNeedingTypeChecker","buildFilesNeedingTypeChecker","tasksByFile","buildTasksByFile","tasksBySeverityLevel","buildTasksBySeverityLevel","createEmptyTasksBySeverityLevel","tasksByRule","buildTasksByRule","filesByType","buildFilesByType","tasksBySeverity","buildTasksBySeverity","buildStats","logIndexSummary","Set","unit","index","createEmptyFilesByTypeIndex","file","type","directive","pipe","service","module","guard","logic","style","config","unknown","counts","createEmptySeverityCounts","off","warn","units","totalFiles","filesWithTemplates","filesWithStyles","filesWithSpecs","avgTasksPerFile","getFilesForRules","ruleNames","ruleFiles","getTotalTasks","indexes","getTasksCountBySeverity","createEmptyTasksBySeverityLevelMutable","fileCompare","ts","html","css","serializePlan","output","StringInterner","hashes","ReferenceInterner","serializeUnit","r","h","deserializePlan","compact","allTasks","unitData","fileHash","ruleTasks","deserializeUnit","rt","toTask","fileId","id","fileHashId","idOrMinusOne","serializeRuleTask","ruleId","optId","cacheKeyId","cacheKey","encodeInput","tpl","typeCheckerFlag","input","tasksData","decodeHash","taskData","deserializeRuleTask","tData","tsCompact","tplCompact","stylesCompact","specCompact","ruleOptions","decodeInput","styleInput","d","hashId","ruleTask","list","next","groupTasksByFile","extractTemplateUrl","tsPath","fileSet","resolved","extractStyleUrls","ComponentDependencyGraph","graph","build","clear","byDirectory","dirFiles","dirFileSet","comp","baseNamePath","find","startsWith","test","buildExecutionPlan","timerLabel","time","changedFiles","cachedFiles","initHasher","validationError","validateBuildInputs","Err","createTaskBuilderContext","fileTypeCache","errorCollector","InfrastructureErrorCollector","cachedPlan","tryLoadPlanFromCache","start","metas","precomputedAnalysis","timeLog","Ok","buildAllTasks","parallelThreshold","workerCount","globalHash","fullPlan","convertTasksToPlan","fullIndexes","fullOutput","savePlanToCacheIfEnabled","incremental","getExecutionPlanSummary","lines","analysisCache","analysis","tCacheStart","cachedData","plans","tIOEnd","planSize","tDeserStart","deserErr","record","createInfrastructureError","cause","phase","recoverable","details","tDeserEnd","cacheSaveStart","cacheSaveTime","collectApplicableRulesFromTasks","ruleNamesInFile","applicable","calculateHashFromTasks","preclassifyLogicFiles","tryBuildAllTasksParallel","buildAllTasksSequential","candidates","getOrDetectFileType","fileRules","fileTasks","workerPath","resolveWorkerPath","chunks","splitIntoChunks","runWorkerChunks","Worker","fileURLToPath","existsSync","__dirname","url","candidate","items","chunkCount","Math","ceil","rulesEntries","fileTypeCacheEntries","overridesData","workerPromises","chunk","reject","worker","workerData","on","err","code","flat","detected","scanResultToPlanInput","scanResult","opts","rootDir","hasScanFiles","getScanFileCount"],"mappings":"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","file":"index.js","sourcesContent":["import { minimatch as e } from 'minimatch';\nexport const findMatchingOverrides = (e, t)=>t.filter((t)=>matchesAnyGlob(e, Array.isArray(t.files) ? t.files : [\n t.files\n ]));\nexport const resolveOverridesForFile = (e, t, i)=>{\n let r = findMatchingOverrides(e, i);\n if (0 === r.length) return t;\n let o = new Map(t);\n for (let e of r)if (e.rules) for (let [t, i] of Object.entries(e.rules)){\n let e = o.get(t);\n if (!e) continue;\n let r = normalizeOverrideConfig(i);\n 'off' === r.severity ? o.delete(t) : o.set(t, {\n ...e,\n severity: r.severity,\n options: {\n ...e.options,\n ...r.options\n }\n });\n }\n return o;\n};\nlet matchesAnyGlob = (t, i)=>i.some((i)=>e(t.replace(/\\\\/g, '/'), i, {\n dot: !0\n })), normalizeOverrideConfig = (e)=>'string' == typeof e ? {\n severity: e,\n options: {}\n } : 'object' == typeof e && null !== e && 'severity' in e ? {\n severity: e.severity,\n options: e.options ?? {}\n } : {\n severity: 'off',\n options: {}\n };\n","import e from 'node:path';\nexport const ANGULAR_DECORATOR_RE = /\\@(Component|Directive|Pipe|Injectable|NgModule)\\s*[\\(\\{]/;\nexport const detectFileType = (t)=>{\n let s = e.basename(t), n = e.extname(t);\n return s.endsWith('.component.ts') ? 'component' : s.endsWith('.directive.ts') ? 'directive' : s.endsWith('.pipe.ts') ? 'pipe' : s.endsWith('.service.ts') ? 'service' : s.endsWith('.module.ts') ? 'module' : s.endsWith('.guard.ts') ? 'guard' : '.html' === n ? 'template' : '.css' === n || '.scss' === n || '.sass' === n || '.less' === n ? 'style' : s.endsWith('.config.ts') || '.json' === n ? 'config' : s.endsWith('.spec.ts') || s.endsWith('.test.ts') ? 'spec' : '.ts' === n ? 'logic' : 'unknown';\n};\nexport const isTypeScriptFile = (t)=>'.ts' === e.extname(t);\nexport const isTemplateFile = (t)=>'.html' === e.extname(t);\nexport const isStyleFile = (t)=>{\n let s = e.extname(t);\n return '.css' === s || '.scss' === s || '.sass' === s || '.less' === s;\n};\nexport const isSpecFile = (t)=>e.basename(t).endsWith('.spec.ts');\nexport const isComponentFile = (t)=>e.basename(t).endsWith('.component.ts');\nexport const getBaseName = (t)=>{\n let s = e.basename(t);\n for (let e of [\n '.component.ts',\n '.directive.ts',\n '.pipe.ts',\n '.service.ts',\n '.module.ts',\n '.guard.ts',\n '.spec.ts'\n ])if (s.endsWith(e)) return s.slice(0, -e.length);\n return e.basename(t, e.extname(t));\n};\n","import { debug as e } from \"@ngcompass/common\";\nexport const filterCachedTasks = async (t, a, n = {})=>{\n let s = performance.now();\n if (e(\"incremental\", `Filtering ${t.length} tasks by cache...`), n.forceRerun) return buildForcedRerunPlan(t);\n let l = t.map((e)=>e.taskId);\n if (0 === l.length) return buildEmptyIncrementalPlan();\n let r = await a.hasMany(l);\n e(\"incremental\", `Found ${r.size}/${t.length} tasks in cache`);\n let { skippedTasks: i, tasks: c } = splitTasksByCache(t, r), d = await maybeLoadCachedResults(a, i, n), h = buildCacheFilterStats(t.length, i.length, c.length);\n return logFilterSummary(s, h), {\n skippedTasks: i,\n tasks: c,\n cachedResults: d,\n stats: h\n };\n};\nexport const areAllTasksCached = async (e, t)=>{\n if (0 === e.length) return !0;\n let a = e.map((e)=>e.taskId);\n return (await t.hasMany(a)).size === e.length;\n};\nexport const getCacheHitRate = async (e, t)=>{\n if (0 === e.length) return 0;\n let a = e.map((e)=>e.taskId);\n return (await t.hasMany(a)).size / e.length;\n};\nexport const pruneStaleCache = async (t, a, n = {})=>{\n if (e(\"incremental\", \"Pruning stale cache entries...\"), 0 === t.length) return e(\"incremental\", \"No tasks to prune\"), 0;\n let s = await a.getManyWithMetadata(t);\n if (0 === s.size) return e(\"incremental\", \"Cache is empty, nothing to prune\"), 0;\n let { now: l, maxAgeMs: r, minHits: i } = resolvePrunePolicy(n), c = collectStaleTaskIds(s, l, r, i), d = await deleteMany(a, c);\n return e(\"incremental\", `Pruned ${d} stale entries`), d;\n};\nlet buildForcedRerunPlan = (t)=>{\n e(\"incremental\", \"Force rerun enabled - skipping cache check\");\n let a = {\n totalTasks: t.length,\n cachedTasks: 0,\n pendingTasks: t.length,\n cacheHitRate: 0,\n timeSavedEstimate: 0\n };\n return {\n skippedTasks: [],\n tasks: t,\n cachedResults: new Map(),\n stats: a\n };\n}, buildEmptyIncrementalPlan = ()=>({\n skippedTasks: [],\n tasks: [],\n cachedResults: new Map(),\n stats: {\n totalTasks: 0,\n cachedTasks: 0,\n pendingTasks: 0,\n cacheHitRate: 0,\n timeSavedEstimate: 0\n }\n }), splitTasksByCache = (e, t)=>{\n let a = [], n = [];\n for (let s of e)t.has(s.taskId) ? a.push(s) : n.push(s);\n return {\n skippedTasks: a,\n tasks: n\n };\n}, maybeLoadCachedResults = async (t, a, n)=>{\n if (!n.loadCachedResults || 0 === a.length) return new Map();\n e(\"incremental\", `Loading ${a.length} cached results...`);\n let s = a.map((e)=>e.taskId), l = await t.getMany(s);\n return e(\"incremental\", `Loaded ${l.size} cached results`), l;\n}, buildCacheFilterStats = (e, t, a)=>{\n let n = e > 0 ? t / e : 0;\n return {\n totalTasks: e,\n cachedTasks: t,\n pendingTasks: a,\n cacheHitRate: n,\n timeSavedEstimate: 100 * n\n };\n}, logFilterSummary = (t, a)=>{\n let n = performance.now() - t;\n e(\"incremental\", `Cache filtering completed in ${n.toFixed(2)}ms`), e(\"incremental\", `Cache hit rate: ${(100 * a.cacheHitRate).toFixed(1)}%`), e(\"incremental\", `Skipping ${a.cachedTasks} tasks, executing ${a.pendingTasks} tasks`);\n}, resolvePrunePolicy = (e)=>{\n let t = Date.now();\n return {\n now: t,\n maxAgeMs: e.maxAge ?? 604800000,\n minHits: e.minHits ?? 1\n };\n}, collectStaleTaskIds = (e, t, a, n)=>{\n let s = [];\n for (let [, l] of e){\n let e = t - l.metadata.timestamp > a, r = l.metadata.hits < n;\n (e || r) && s.push(l.metadata.taskId);\n }\n return s;\n}, deleteMany = async (e, t)=>{\n let a = 0;\n for (let n of t)await e.delete(n), a++;\n return a;\n};\n","import { readdir as e, readFile as t } from \"node:fs/promises\";\nimport l from \"node:path\";\nimport { getBaseName as r, isComponentFile as i } from \"./file-type.js\";\nimport { debug as s } from \"@ngcompass/common\";\nlet STYLE_EXTENSIONS = [\n \".css\",\n \".scss\",\n \".sass\",\n \".less\"\n], TEMPLATE_URL_RE = /templateUrl\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URL_RE = /\\bstyleUrl(?!s)\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URLS_RE = /\\bstyleUrls\\s*:\\s*\\[([^\\]]+)\\]/, STYLE_STR_RE = /['\"`]([^'\"`\\n]+\\.(?:css|scss|sass|less))['\"`]/g, extractTemplateUrlFromContent = async (e, r)=>{\n try {\n let i = await t(e, 'utf-8'), s = TEMPLATE_URL_RE.exec(i);\n if (!s) return;\n return l.resolve(r, s[1]);\n } catch {\n return;\n }\n}, extractStyleUrlsFromContent = async (e, r)=>{\n try {\n let i = await t(e, 'utf-8'), s = [], n = STYLE_URL_RE.exec(i);\n n && s.push(l.resolve(r, n[1]));\n let a = STYLE_URLS_RE.exec(i);\n if (a) {\n let e;\n for(STYLE_STR_RE.lastIndex = 0; null !== (e = STYLE_STR_RE.exec(a[1]));)s.push(l.resolve(r, e[1]));\n }\n return s;\n } catch {\n return [];\n }\n};\nexport const discoverResources = async (e, t, s, n, a, o)=>{\n let c = l.dirname(e), u = r(e), m = await listDirectory(c, o), p = buildFileInput(e, t), F = findTemplateFile(c, u, m, s);\n if (!F) {\n let t = await extractTemplateUrlFromContent(e, c);\n t && (F = buildFileInput(t, s));\n }\n let d = findStyleFiles(e, c, u, m, n);\n 0 === d.length && i(e) && (d = (await extractStyleUrlsFromContent(e, c)).map((e)=>buildFileInput(e, n)));\n let S = findSpecFile(c, u, m, a);\n return {\n typescript: p,\n template: F,\n styles: d.length > 0 ? d : void 0,\n spec: S\n };\n};\nexport const resourceExists = async (e, t, s)=>{\n let n = l.dirname(e), a = r(e), o = await listDirectory(n, s);\n return \"template\" === t ? hasTemplateFile(a, o) : \"style\" === t ? !!i(e) && hasAnyStyleFile(a, o) : hasSpecFile(a, o);\n};\nexport const getStyleFiles = async (e, t)=>{\n if (!i(e)) return [];\n let s = l.dirname(e), n = r(e), a = await listDirectory(s, t);\n return STYLE_EXTENSIONS.flatMap((e)=>{\n let t = styleFileName(n, e);\n return a.includes(t) ? [\n l.join(s, t)\n ] : [];\n });\n};\nexport const getTemplateFile = async (e, t)=>{\n if (!i(e)) return null;\n let s = l.dirname(e), n = r(e), a = await listDirectory(s, t), o = templateFileName(n);\n return a.includes(o) ? l.join(s, o) : null;\n};\nexport const getSpecFile = async (e, t)=>{\n let i = l.dirname(e), s = r(e), n = await listDirectory(i, t), a = specFileName(s);\n return n.includes(a) ? l.join(i, a) : null;\n};\nlet listDirectory = async (t, l)=>{\n let r = l?.get(t);\n if (r) return r;\n try {\n let r = await e(t);\n return l?.set(t, r), r;\n } catch (e) {\n return s(\"planner\", `Failed to read directory: ${t}. Error: ${e instanceof Error ? e.message : String(e)}`), [];\n }\n}, buildFileInput = (e, t)=>({\n path: e,\n needsAst: t,\n hash: \"\"\n }), templateFileName = (e)=>`${e}.component.html`, styleFileName = (e, t)=>`${e}.component${t}`, specFileName = (e)=>`${e}.spec.ts`, hasTemplateFile = (e, t)=>t.includes(templateFileName(e)), hasAnyStyleFile = (e, t)=>STYLE_EXTENSIONS.some((l)=>t.includes(styleFileName(e, l))), hasSpecFile = (e, t)=>t.includes(specFileName(e)), findTemplateFile = (e, t, r, i)=>{\n let s = templateFileName(t);\n return r.includes(s) ? buildFileInput(l.join(e, s), i) : void 0;\n}, findStyleFiles = (e, t, r, s, n)=>{\n if (!i(e)) return [];\n let a = [];\n for (let e of STYLE_EXTENSIONS){\n let i = styleFileName(r, e);\n s.includes(i) && a.push(buildFileInput(l.join(t, i), n));\n }\n return a;\n}, findSpecFile = (e, t, r, i)=>{\n let s = specFileName(t);\n return r.includes(s) ? buildFileInput(l.join(e, s), i) : void 0;\n};\n","import * as t from \"node:fs/promises\";\nimport { debug as s } from \"@ngcompass/common\";\nimport { computeHash as e } from \"@ngcompass/cache\";\nexport const warmupHashCache = async (s, e, a)=>{\n for(let r = 0; r < s.length; r += 500){\n let h = s.slice(r, r + 500);\n await Promise.all(h.map(async (s)=>{\n if (!a.has(s)) try {\n let r = await t.stat(s), h = r.mtimeMs, p = r.size, l = await e.get(s);\n if (l && l.mtime === h && l.size === p) return void a.set(s, l.hash);\n let i = await hashFile(s);\n a.set(s, i), await e.set(s, {\n mtime: h,\n size: p,\n hash: i\n });\n } catch {\n return;\n }\n }));\n }\n e.flush && await e.flush();\n};\nexport const hashFile = async (a, r)=>{\n let h = r?.get(a);\n if (h) return h;\n try {\n let s = await t.readFile(a, \"utf-8\"), h = e(s);\n return r?.set(a, h), h;\n } catch (t) {\n return s(\"planner\", `Failed to hash file: ${a}. Error: ${t instanceof Error ? t.message : String(t)}`), \"\";\n }\n};\nexport const hashFileInput = hashFile;\nexport const hashFiles = async (t, s)=>{\n if (0 === t.length) return \"\";\n let a = await Promise.all(t.map(async (t)=>`${t}:${await hashFile(t, s)}`));\n return a.sort(), e(a.join(\"|\"));\n};\nlet stableStringify = (t)=>{\n let s = new WeakSet(), e = (t)=>{\n if (t && \"object\" == typeof t) {\n if (s.has(t)) return \"[Circular]\";\n if (s.add(t), Array.isArray(t)) return t.map(e);\n let a = {};\n for (let s of Object.keys(t).sort())a[s] = e(t[s]);\n return a;\n }\n return t;\n };\n return JSON.stringify(e(t));\n};\nexport const hashRules = (t)=>e(stableStringify(t.map((t)=>({\n name: t.name,\n severity: t.severity,\n options: t.options\n })).sort((t, s)=>t.name.localeCompare(s.name))));\nexport const calculateFileHash = (t, s)=>{\n let a = [];\n if (a.push(t.typescript.hash), t.template && a.push(t.template.hash), t.styles) {\n let s = t.styles.map((t)=>t.hash).sort();\n a.push(...s);\n }\n return t.spec && a.push(t.spec.hash), a.push(hashRules(s)), e(a.join(\"::\"));\n};\nexport const hashTaskInputs = async (t)=>{\n let s = [\n t.typescript.path\n ];\n return t.template && s.push(t.template.path), t.styles && s.push(...t.styles.map((t)=>t.path)), t.spec && s.push(t.spec.path), hashFiles(s);\n};\nexport const hashFileStats = async (s)=>{\n try {\n let a = await t.stat(s);\n return e(`${s}::${a.size}::${a.mtimeMs}`);\n } catch {\n return \"\";\n }\n};\nexport const calculateTaskId = (t, s, a, r)=>{\n let h = [];\n if (r && (h.push(r.toolVersion), h.push(r.ruleRegistryHash)), h.push(t), h.push(s.typescript.path), h.push(s.typescript.hash), s.template && h.push(s.template.hash), s.styles?.length) {\n let t = s.styles.map((t)=>t.hash).sort().join(\"::\");\n h.push(t);\n }\n return s.spec && h.push(s.spec.hash), h.push(stableStringify(a)), e(h.join(\"::\"));\n};\nexport const calculateGlobalHash = async (t, s, a, r)=>{\n let h = await Promise.all(t.map(async (t)=>`${t}:${a.get(t) ?? await hashFile(t, a)}`));\n h.sort();\n let p = [];\n return p.push(...h), p.push(hashRules(Array.from(s.values()))), r && (p.push(`tool:${r.toolVersion}`), p.push(`parser:${r.parserVersion}`), p.push(`registry:${r.ruleRegistryHash}`), p.push(`platform:${r.platform}`)), e(p.join(\"||\"));\n};\n","import { discoverResources as e } from \"./resources.js\";\nimport { hashFile as t, calculateTaskId as s } from \"./hashing.js\";\nimport { debug as a } from \"@ngcompass/common\";\nexport const shouldApplyRule = (e, t)=>{\n let { dependencyType: s } = e.metadata;\n return \"standalone\" === s || \"imports\" === s ? isTypescriptLike(t) : \"component\" === s ? \"component\" === t || \"directive\" === t || \"angular-class\" === t : \"styles\" === s ? \"component\" === t : \"spec\" === s && \"spec\" === t;\n};\nexport const filterRulesByAstRequirement = (e, t)=>{\n let s = [];\n for (let a of e.values())a.metadata.requires[t] && s.push(a);\n return s;\n};\nexport const getRulesByFileType = (e)=>{\n let t = {\n allTs: [],\n component: [],\n directive: [],\n spec: []\n };\n for (let s of e.values()){\n let { dependencyType: e } = s.metadata;\n if (\"standalone\" === e || \"imports\" === e) {\n t.allTs.push(s);\n continue;\n }\n if (\"component\" === e) {\n t.component.push(s), t.directive.push(s);\n continue;\n }\n if (\"styles\" === e) {\n t.component.push(s);\n continue;\n }\n \"spec\" === e && t.spec.push(s);\n }\n return t;\n};\nexport const groupRulesByDependencyType = (e)=>{\n let t = {\n standalone: [],\n component: [],\n styles: [],\n imports: [],\n spec: []\n };\n for (let s of e.values())t[s.metadata.dependencyType].push(s);\n return t;\n};\nexport const buildTask = async (e, t, p, n)=>{\n let l = evaluateRuleApplicability(p, t);\n if (!l.apply) return a(\"planner\", ` - Rule ${p.name} skipped: ${l.reason}`), null;\n let r = resolveAstRequirements(p), o = await buildTaskInputsWithHashes(e, p, n);\n return {\n taskId: s(p.name, o, p.options, n?.cacheKeyCtx),\n ruleName: p.name,\n filePath: e,\n severity: p.severity,\n options: p.options,\n inputs: o,\n needsTypeChecker: r.needsTypeChecker,\n needsProjectContext: r.needsProjectContext || void 0\n };\n};\nexport const buildTasksForFileTaskCentric = async (e, t, s, a)=>{\n let p = [];\n for (let n of s.values()){\n let s = await buildTask(e, t, n, a);\n s && p.push(s);\n }\n return p;\n};\nlet buildTaskInputsWithHashes = async (e, t, s)=>{\n let a = resolveAstRequirements(t), p = await getOrDiscoverResources(e, s), n = {\n typescript: await buildHashedInput(p.typescript.path, a.needsTsAst, s)\n }, l = buildTemplateInput(e, p, t, a, n, s);\n l && (n.template = l);\n let r = await buildStyleInputs(p, t, a, s);\n r && (n.styles = r);\n let o = await buildSpecInput(p, a, s);\n return o && (n.spec = o), n;\n}, isTypescriptLike = (e)=>\"template\" !== e && \"style\" !== e && \"config\" !== e && \"unknown\" !== e, evaluateRuleApplicability = (e, t)=>shouldApplyRule(e, t) ? \"off\" === e.severity ? {\n apply: !1,\n reason: \"disabled ('off')\"\n } : {\n apply: !0,\n reason: \"applicable\"\n } : {\n apply: !1,\n reason: `does not apply to ${t}`\n }, resolveAstRequirements = (e)=>{\n let t = e.metadata.requires;\n return {\n needsTsAst: !!t.tsAst,\n needsHtmlAst: !!t.htmlAst,\n needsCssAst: !!t.cssAst,\n needsSpecAst: !!t.specAst,\n needsTypeChecker: !!t.typeChecker,\n needsProjectContext: !!t.projectContext\n };\n}, getOrDiscoverResources = async (t, s)=>{\n let a = s?.resourceCache?.get(t);\n if (a) return a;\n if (s?.componentGraph) {\n let e = s.componentGraph.getResources(t);\n if (e) {\n s.graphStats && s.graphStats.hits++;\n let a = {\n typescript: {\n path: t,\n hash: \"\",\n needsAst: !1\n },\n styles: e.stylePaths.map((e)=>({\n path: e,\n hash: \"\",\n needsAst: !1\n }))\n };\n return e.templatePath && (a.template = {\n path: e.templatePath,\n hash: \"\",\n needsAst: !1\n }), e.specPath && (a.spec = {\n path: e.specPath,\n hash: \"\",\n needsAst: !1\n }), s?.resourceCache?.set(t, a), a;\n }\n s.graphStats && s.graphStats.misses++;\n }\n s?.graphStats && s.graphStats.fallbacks++;\n let p = await e(t, !0, !0, !0, !0, s?.directoryCache);\n return s?.resourceCache?.set(t, p), p;\n}, buildHashedInput = async (e, s, a)=>({\n path: e,\n hash: await t(e, a?.hashCache),\n needsAst: s\n }), buildTemplateInput = (e, t, s, a, p, n)=>{\n let { dependencyType: l } = s.metadata, r = a.needsHtmlAst && (\"component\" === l || \"styles\" === l);\n return t.template ? {\n path: t.template.path,\n hash: n?.hashCache?.get(t.template.path) ?? t.template.hash ?? \"\",\n needsAst: r\n } : \"component\" === l && a.needsHtmlAst ? {\n path: e,\n hash: p.typescript.hash,\n needsAst: !0\n } : void 0;\n}, buildStyleInputs = async (e, t, s, a)=>{\n if (!e.styles || 0 === e.styles.length) return;\n let p = s.needsCssAst && \"styles\" === t.metadata.dependencyType;\n return Promise.all(e.styles.map((e)=>buildHashedInput(e.path, p, a)));\n}, buildSpecInput = async (e, t, s)=>{\n if (e.spec) return buildHashedInput(e.spec.path, t.needsSpecAst, s);\n};\n","import { debug as e } from \"@ngcompass/common\";\nexport function buildIndexes(t, s) {\n e(\"planner\", \"Generating execution indexes...\");\n let r = buildFilesNeedingAst(t, \"typescript\"), l = buildFilesNeedingAst(t, \"html\"), n = buildFilesNeedingAst(t, \"css\"), o = buildFilesNeedingTypeChecker(t), a = s ? buildTasksByFile(s) : {}, i = s ? buildTasksBySeverityLevel(s) : createEmptyTasksBySeverityLevel(), u = buildTasksByRule(t), y = buildFilesByType(t), p = buildTasksBySeverity(t), d = buildStats(t);\n return logIndexSummary(t, s, r, l, n, u), {\n filesNeedingTsAst: r,\n filesNeedingHtmlAst: l,\n filesNeedingCssAst: n,\n filesNeedingTypeChecker: o,\n tasksByFile: a,\n tasksBySeverityLevel: i,\n tasksByRule: u,\n filesByType: y,\n tasksBySeverity: p,\n stats: d\n };\n}\nlet buildFilesNeedingAst = (e, t)=>{\n let s = new Set();\n for (let [r, l] of Object.entries(e))l.tasks.some((e)=>needsAst(e, t)) && s.add(r);\n return Array.from(s).sort();\n}, needsAst = (e, t)=>{\n switch(t){\n case \"typescript\":\n return !!e.inputs.typescript.needsAst;\n case \"html\":\n return !!e.inputs.template?.needsAst;\n case \"css\":\n return !!e.inputs.styles?.some((e)=>e.needsAst);\n }\n}, buildFilesNeedingTypeChecker = (e)=>{\n let t = new Set();\n for (let [s, r] of Object.entries(e))r.tasks.some((e)=>!0 === e.needsTypeChecker || !0 === e.needsProjectContext) && t.add(s);\n return Array.from(t).sort();\n}, buildTasksByRule = (e)=>{\n let t = {};\n for (let [s, r] of Object.entries(e))for (let e of r.tasks)(t[e.ruleName] ??= []).push(s);\n for (let e of Object.keys(t))t[e].sort();\n return t;\n}, buildFilesByType = (e)=>{\n let t = createEmptyFilesByTypeIndex();\n for (let [s, r] of Object.entries(e))t[r.file.type].push(s);\n for (let e of Object.keys(t))t[e].sort();\n return t;\n}, createEmptyFilesByTypeIndex = ()=>({\n component: [],\n directive: [],\n pipe: [],\n service: [],\n module: [],\n guard: [],\n logic: [],\n 'angular-class': [],\n spec: [],\n template: [],\n style: [],\n config: [],\n unknown: []\n }), buildTasksBySeverity = (e)=>{\n let t = createEmptySeverityCounts();\n for (let s of Object.values(e))for (let e of s.tasks)t[e.severity]++;\n return t;\n}, createEmptySeverityCounts = ()=>({\n off: 0,\n warn: 0,\n error: 0\n }), buildStats = (e)=>{\n let t = Object.values(e), s = t.length, r = 0, l = 0, n = 0, o = 0;\n for (let e of t)r += e.tasks.length, e.tasks.some((e)=>!!e.inputs.template) && l++, e.tasks.some((e)=>!!e.inputs.styles?.length) && n++, e.tasks.some((e)=>!!e.inputs.spec) && o++;\n return {\n totalFiles: s,\n totalTasks: r,\n avgTasksPerFile: s > 0 ? r / s : 0,\n filesWithTemplates: l,\n filesWithStyles: n,\n filesWithSpecs: o\n };\n};\nexport const getFilesForRules = (e, t)=>{\n let s = new Set();\n for (let r of t){\n let t = e[r];\n if (t) for (let e of t)s.add(e);\n }\n return Array.from(s).sort();\n};\nexport const getTotalTasks = (e)=>e.stats.totalTasks;\nexport const getTasksCountBySeverity = (e, t)=>e.tasksBySeverity[t];\nlet buildTasksByFile = (e)=>{\n let t = {};\n for (let s of e)(t[s.filePath] ??= []).push(s);\n for (let e of Object.keys(t))t[e].sort((e, t)=>e.ruleName.localeCompare(t.ruleName));\n return t;\n}, buildTasksBySeverityLevel = (e)=>{\n let t = createEmptyTasksBySeverityLevelMutable();\n for (let s of e)t[s.severity].push(s);\n for (let e of Object.keys(t))t[e].sort((e, t)=>{\n let s = e.filePath.localeCompare(t.filePath);\n return 0 !== s ? s : e.ruleName.localeCompare(t.ruleName);\n });\n return t;\n}, createEmptyTasksBySeverityLevel = ()=>({\n off: [],\n warn: [],\n error: []\n }), createEmptyTasksBySeverityLevelMutable = ()=>({\n off: [],\n warn: [],\n error: []\n }), logIndexSummary = (t, s, r, l, n, o)=>{\n e(\"planner\", \"Indexing complete:\"), e(\"planner\", ` - TypeScript AST needed: ${r.length} files`), e(\"planner\", ` - HTML AST needed: ${l.length} files`), e(\"planner\", ` - CSS AST needed: ${n.length} files`), e(\"planner\", ` - Unique rules to run: ${Object.keys(o).length}`), s && e(\"planner\", ` - Total tasks: ${s.length}`);\n};\n","import { buildIndexes as e } from \"./indexes.js\";\nexport const serializePlan = (e)=>{\n let t = new StringInterner(), s = new StringInterner(), i = new StringInterner(), n = new ReferenceInterner(), r = Object.values(e.plan).map((e)=>serializeUnit(e, t, s, i, n));\n return {\n v: 1,\n r: t.values(),\n o: n.values(),\n f: s.values(),\n h: i.values(),\n t: r\n };\n};\nexport const deserializePlan = (t)=>{\n let { r: s, o: i, f: n, h: r, t: a } = t, l = {}, p = [];\n for (let e of a){\n let { filePath: t, fileType: a, fileHash: u, ruleTasks: d } = deserializeUnit(e, s, n, r, i);\n for (let e of (l[t] = {\n file: {\n path: t,\n type: a,\n hash: u\n },\n tasks: d\n }, d))p.push(toTask(t, e));\n }\n let u = e(l, p);\n return {\n tasks: p,\n plan: l,\n indexes: u,\n skippedTasks: []\n };\n};\nlet serializeUnit = (e, t, s, i, n)=>{\n let r = s.id(e.file.path), a = i.idOrMinusOne(e.file.hash), l = e.tasks.map((e)=>serializeRuleTask(e, t, s, i, n));\n return [\n r,\n e.file.type,\n a,\n l\n ];\n}, serializeRuleTask = (e, t, s, i, n)=>{\n let r = t.id(e.ruleName), a = n.id(e.options), l = i.idOrMinusOne(e.cacheKey), p = encodeInput(e.inputs.typescript, s, i), u = e.inputs.template ? encodeInput(e.inputs.template, s, i) : void 0, d = e.inputs.styles && e.inputs.styles.length > 0 ? e.inputs.styles.map((e)=>encodeInput(e, s, i)) : void 0, h = e.inputs.spec ? encodeInput(e.inputs.spec, s, i) : void 0, o = +!!e.needsTypeChecker;\n return [\n r,\n e.severity,\n a,\n l,\n p,\n u,\n d,\n h,\n o\n ];\n}, encodeInput = (e, t, s)=>[\n t.id(e.path),\n s.idOrMinusOne(e.hash),\n +!!e.needsAst\n ], deserializeUnit = (e, t, s, i, n)=>{\n let [r, a, l, p] = e, u = s[r];\n return {\n filePath: u,\n fileType: a,\n fileHash: decodeHash(l, i),\n ruleTasks: p.map((e)=>deserializeRuleTask(e, t, s, i, n))\n };\n}, deserializeRuleTask = (e, t, s, i, n)=>{\n let [r, a, l, p, u, d, h, o, c] = e, m = t[r], k = n[l], v = decodeHash(p, i), y = {\n typescript: decodeInput(u, s, i)\n };\n return d && (y.template = decodeInput(d, s, i)), h && (y.styles = h.map((e)=>decodeInput(e, s, i))), o && (y.spec = decodeInput(o, s, i)), {\n ruleName: m,\n severity: a,\n options: k,\n cacheKey: v,\n inputs: y,\n needsTypeChecker: 1 === c || void 0\n };\n}, decodeInput = (e, t, s)=>({\n path: t[e[0]],\n hash: decodeHash(e[1], s),\n needsAst: 1 === e[2]\n }), decodeHash = (e, t)=>e >= 0 ? t[e] : \"\", toTask = (e, t)=>({\n taskId: t.cacheKey,\n filePath: e,\n ruleName: t.ruleName,\n severity: t.severity,\n options: t.options,\n inputs: t.inputs,\n needsTypeChecker: t.needsTypeChecker\n });\nclass StringInterner {\n map = new Map();\n list = [];\n id(e) {\n let t = this.map.get(e);\n if (void 0 !== t) return t;\n let s = this.list.length;\n return this.map.set(e, s), this.list.push(e), s;\n }\n idOrMinusOne(e) {\n return e ? this.id(e) : -1;\n }\n values() {\n return this.list;\n }\n}\nclass ReferenceInterner {\n map = new Map();\n list = [];\n id(e) {\n let t = this.map.get(e);\n if (void 0 !== t) return t;\n let s = this.list.length;\n return this.map.set(e, s), this.list.push(e), s;\n }\n values() {\n return this.list;\n }\n}\n","export const groupTasksByFile = (e)=>{\n let t = new Map();\n for (let l of e){\n let e = t.get(l.filePath);\n e ? e.push(l) : t.set(l.filePath, [\n l\n ]);\n }\n return t;\n};\n","import * as e from 'node:path';\nimport { readFile as t } from 'node:fs/promises';\nlet TEMPLATE_URL_RE = /templateUrl\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URL_RE = /\\bstyleUrl(?!s)\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URLS_RE = /\\bstyleUrls\\s*:\\s*\\[([^\\]]+)\\]/, STYLE_STR_RE = /['\"`]([^'\"`\\n]+\\.(?:css|scss|sass|less))['\"`]/g;\nasync function extractTemplateUrl(s, r, n) {\n try {\n let l = await t(s, 'utf-8'), a = TEMPLATE_URL_RE.exec(l);\n if (!a) return;\n let o = e.resolve(r, a[1]);\n return n.has(o) ? o : void 0;\n } catch {\n return;\n }\n}\nasync function extractStyleUrls(s, r, n) {\n try {\n let l = await t(s, 'utf-8'), a = [], o = STYLE_URL_RE.exec(l);\n if (o) {\n let t = e.resolve(r, o[1]);\n n.has(t) && a.push(t);\n }\n let c = STYLE_URLS_RE.exec(l);\n if (c) {\n let t;\n for(STYLE_STR_RE.lastIndex = 0; null !== (t = STYLE_STR_RE.exec(c[1]));){\n let s = e.resolve(r, t[1]);\n n.has(s) && a.push(s);\n }\n }\n return a;\n } catch {\n return [];\n }\n}\nexport class ComponentDependencyGraph {\n graph = new Map();\n async build(t) {\n this.graph.clear();\n let s = new Set(t), r = new Map();\n for (let s of t){\n let t = e.dirname(s), n = r.get(t);\n n ? n.push(s) : r.set(t, [\n s\n ]);\n }\n for (let [t, n] of r){\n let r = new Set(n);\n for (let l of n.filter((e)=>e.endsWith('.component.ts'))){\n let a = e.basename(l, '.component.ts'), o = e.join(t, a), c = [\n `${o}.component.html`,\n `${o}.html`\n ].find((e)=>r.has(e));\n c || (c = await extractTemplateUrl(l, t, s));\n let p = n.filter((t)=>{\n if (!t.startsWith(o)) return !1;\n let s = e.extname(t);\n return (t === `${o}.component${s}` || t === `${o}${s}`) && /\\.(css|scss|sass|less)$/.test(s);\n });\n 0 === p.length && (p = await extractStyleUrls(l, t, s));\n let h = {\n tsPath: l,\n templatePath: c,\n stylePaths: p,\n specPath: r.has(`${o}.component.spec.ts`) ? `${o}.component.spec.ts` : r.has(`${o}.spec.ts`) ? `${o}.spec.ts` : void 0,\n type: 'component'\n };\n this.graph.set(l, h);\n }\n }\n }\n getResources(e) {\n return this.graph.get(e);\n }\n}\n","import { resolveOverridesForFile as e } from \"./overrides.js\";\nimport { Ok as a, Err as t } from \"./types.js\";\nimport { debug as r, time as l, timeLog as n, createInfrastructureError as s, InfrastructureErrorCollector as i } from \"@ngcompass/common\";\nimport { detectFileType as o, ANGULAR_DECORATOR_RE as c } from \"./file-type.js\";\nimport { readFile as p } from \"node:fs/promises\";\nimport { filterCachedTasks as u } from \"./incremental.js\";\nimport { buildTasksForFileTaskCentric as h } from \"./task-builder.js\";\nimport { buildIndexes as f } from \"./indexes.js\";\nimport { serializePlan as d, deserializePlan as m } from \"./serialize.js\";\nimport { initHasher as g } from \"@ngcompass/cache\";\nimport { warmupHashCache as k, calculateGlobalHash as w, calculateFileHash as y } from \"./hashing.js\";\nimport { groupTasksByFile as T } from \"./utils.js\";\nimport { ComponentDependencyGraph as b } from \"./component-graph.js\";\nexport const buildExecutionPlan = async (e)=>{\n let s = \"buildExecutionPlan\";\n l(s);\n try {\n let l, o, c, p;\n await g();\n let { files: h, rules: d } = e;\n r(\"planner\", `Building execution plan for ${h.length} files and ${d.size} rules`);\n let m = validateBuildInputs(h, d);\n if (m) return t(m);\n let w = createTaskBuilderContext(e), y = new Map(), T = new i(), v = await tryLoadPlanFromCache(e, w, T);\n if (!v && e.cache) {\n r(\"planner\", \"Warming up hash cache from metadata index...\");\n let a = performance.now();\n await k(e.files, e.cache.metas, w.hashCache), r(\"planner\", `Metadata warmup took ${(performance.now() - a).toFixed(2)}ms`);\n }\n if (!v) {\n let a = new b();\n await a.build(e.files), w.componentGraph = a, w.graphStats = {\n hits: 0,\n misses: 0,\n fallbacks: 0\n }, r(\"planner\", \"Component dependency graph built\");\n }\n if (v && v.precomputedAnalysis) return n(s, \"planner\", \"Full analysis cached — returning precomputed result\"), a(v);\n if (v) n(s, \"planner\", \"Execution plan loaded from cache\"), l = v.tasks;\n else {\n if (r(\"planner\", \"Building tasks...\"), l = await buildAllTasks(h, d, w, y, e.parallelThreshold, e.workerCount, e.overrides), e.debug && w.graphStats) {\n let { hits: e, misses: a, fallbacks: t } = w.graphStats;\n r(\"planner\", `Graph stats — hits: ${e}, misses: ${a}, fallbacks: ${t}`);\n }\n if (e.cache && w.globalHash) {\n r(\"planner\", \"Converting all tasks to full plan for cache...\");\n let a = convertTasksToPlan(l, d, y), t = f(a, l), n = {\n tasks: l,\n plan: a,\n indexes: t,\n skippedTasks: [],\n globalHash: w.globalHash\n };\n await savePlanToCacheIfEnabled(e, w, n);\n }\n }\n let x = l, $ = [];\n if (e.cache) {\n r(\"planner\", \"Filtering cached tasks...\");\n let a = await u(l, e.cache.results, e.incremental);\n x = a.tasks, $ = a.skippedTasks, o = a.cachedResults, c = [\n ...new Set(x.map((e)=>e.filePath))\n ], p = [\n ...new Set($.map((e)=>e.filePath))\n ].filter((e)=>!c.includes(e));\n }\n r(\"planner\", \"Converting tasks to file-centric plan...\");\n let F = convertTasksToPlan(x, d, y);\n r(\"planner\", `Building indexes for ${x.length} tasks...`);\n let C = f(F, x), P = {\n tasks: x,\n plan: F,\n indexes: C,\n skippedTasks: $,\n cachedResults: o,\n globalHash: w.globalHash,\n changedFiles: c,\n cachedFiles: p\n };\n return n(s, \"planner\", \"Execution plan built\"), a(P);\n } catch (e) {\n return r(\"planner\", `Error building plan: ${e.message}`), t(Error(`Failed to build execution plan: ${e.message}`));\n }\n};\nexport const getExecutionPlanSummary = (e)=>{\n let { stats: a } = e.indexes, t = [];\n return t.push(\"--- Execution Plan Summary ---\"), t.push(`Total files: ${a.totalFiles}`), t.push(`Total tasks: ${a.totalTasks}`), t.push(`Avg tasks per file: ${a.avgTasksPerFile.toFixed(1)}`), t.push(`Files with templates: ${a.filesWithTemplates}`), t.push(`Files with styles: ${a.filesWithStyles}`), t.push(`Files with specs: ${a.filesWithSpecs}`), t.push(\"\"), t.join(\"\\n\");\n};\nlet validateBuildInputs = (e, a)=>0 === e.length ? Error(\"No files to analyze\") : 0 === a.size ? Error(\"No rules configured\") : null, createTaskBuilderContext = (e)=>({\n hashCache: new Map(),\n resourceCache: new Map(),\n directoryCache: new Map(),\n cacheKeyCtx: e?.cacheKeyCtx\n }), tryLoadPlanFromCache = async (e, a, t)=>{\n let l;\n if (!e.cache) return null;\n let { files: n, rules: i } = e, o = await w(n, i, a.hashCache, e.cacheKeyCtx);\n if (a.globalHash = o, e.incremental?.forceRerun) return null;\n let c = e.cache.analysis, p = await c.get(o);\n if (p) return e.debug && r(\"planner\", \"Analysis results cached (Short-circuit enabled)\"), {\n tasks: [],\n plan: {},\n indexes: {\n filesNeedingTsAst: [],\n filesNeedingHtmlAst: [],\n filesNeedingCssAst: [],\n filesNeedingTypeChecker: [],\n tasksByFile: {},\n tasksByRule: {},\n tasksBySeverityLevel: {\n off: [],\n warn: [],\n error: []\n },\n filesByType: {\n component: [],\n directive: [],\n pipe: [],\n service: [],\n module: [],\n guard: [],\n logic: [],\n 'angular-class': [],\n spec: [],\n template: [],\n style: [],\n config: [],\n unknown: []\n },\n tasksBySeverity: {\n off: 0,\n warn: 0,\n error: 0\n },\n stats: {\n totalFiles: 0,\n totalTasks: 0,\n avgTasksPerFile: 0,\n filesWithTemplates: 0,\n filesWithStyles: 0,\n filesWithSpecs: 0\n }\n },\n skippedTasks: [],\n globalHash: o,\n precomputedAnalysis: p\n };\n let u = performance.now(), h = await e.cache.plans.get(o), f = performance.now();\n if (!h) return null;\n let d = JSON.stringify(h).length, g = performance.now();\n try {\n l = 1 === h.v ? m(h) : h;\n } catch (a) {\n r(\"planner\", \"Plan cache deserialization failed — deleting corrupted entry and rebuilding\");\n try {\n await e.cache.plans.delete?.(o);\n } catch {}\n return t && t.record(s('CacheCorruption', {\n cause: a instanceof Error ? a.message : String(a),\n phase: 'planner',\n recoverable: !0,\n details: {\n globalHash: o\n }\n })), null;\n }\n let k = performance.now();\n return e.debug && (r(\"planner\", \"Plan cache HIT\"), r(\"planner\", ` Size: ${(d / 1024).toFixed(1)}KB`), r(\"planner\", ` IO: ${(f - u).toFixed(2)}ms`), r(\"planner\", ` Deser: ${(k - g).toFixed(2)}ms`)), {\n ...l,\n globalHash: o\n };\n}, savePlanToCacheIfEnabled = async (e, a, t)=>{\n if (!e.cache || !a.globalHash) return;\n let l = performance.now();\n r(\"planner\", \"Saving execution plan to cache...\");\n let n = d(t);\n await e.cache.plans.set(a.globalHash, n);\n let s = performance.now() - l;\n r(\"planner\", ` Plan cache saved in ${s.toFixed(2)}ms`);\n}, collectApplicableRulesFromTasks = (e, a)=>{\n let t = new Set(e.map((e)=>e.ruleName)), r = [];\n for (let e of t){\n let t = a.get(e);\n t && r.push(t);\n }\n return r;\n}, calculateHashFromTasks = (e, a)=>0 === e.length ? \"\" : y(e[0].inputs, a), buildAllTasks = async (e, a, t, r, l = 10000, n = 4, s)=>{\n if (await preclassifyLogicFiles(e, r), e.length >= l) {\n let t = await tryBuildAllTasksParallel(e, a, r, n, s);\n if (t) return t;\n }\n return buildAllTasksSequential(e, a, t, r, s);\n}, preclassifyLogicFiles = async (e, a)=>{\n if (!a) return;\n let t = e.filter((e)=>!a.has(e) && 'logic' === o(e));\n if (0 === t.length) return;\n r(\"planner\", `Level-2 classification: scanning ${t.length} unclassified .ts files for Angular decorators`);\n let l = performance.now();\n await Promise.all(t.map(async (e)=>{\n try {\n let t = await p(e, 'utf8');\n a.set(e, c.test(t) ? 'angular-class' : 'logic');\n } catch {\n a.set(e, 'logic');\n }\n })), r(\"planner\", `Level-2 classification complete in ${(performance.now() - l).toFixed(1)}ms — upgraded ${[\n ...a.values()\n ].filter((e)=>'angular-class' === e).length} files to 'angular-class'`);\n}, buildAllTasksSequential = async (a, t, r, l, n)=>{\n let s = [];\n for (let i of a){\n let a = getOrDetectFileType(i, l), o = n?.length ? e(i, t, n) : t, c = await h(i, a, o, r);\n s.push(...c);\n }\n return s;\n}, tryBuildAllTasksParallel = async (e, a, t, l, n)=>{\n r(\"planner\", `Parallelizing task discovery across ${l} workers...`);\n try {\n let s = await resolveWorkerPath();\n if (!s) return r(\"planner\", \"Worker script not found, falling back to sequential execution\"), null;\n r(\"planner\", `Using worker: ${s}`);\n let i = splitIntoChunks(e, l);\n r(\"planner\", `Split ${e.length} files into ${i.length} chunks`);\n let o = await runWorkerChunks(i, s, a, t, n);\n return r(\"planner\", `Workers completed. Generated ${o.length} tasks.`), o;\n } catch (e) {\n return r(\"planner\", `Parallel execution failed, falling back to sequential: ${String(e)}`), null;\n }\n}, resolveWorkerPath = async ()=>{\n let { Worker: e } = await import(\"node:worker_threads\"), { fileURLToPath: a } = await import(\"node:url\"), { dirname: t, join: r } = await import(\"node:path\"), { existsSync: l } = await import(\"node:fs\"), n = t(a(import.meta.url));\n for (let e of [\n r(n, \"worker.js\"),\n r(n, \"worker.cjs\"),\n r(n, \"worker.ts\"),\n r(n, \"planner\", \"worker.js\"),\n r(n, \"planner\", \"worker.cjs\")\n ])if (l(e)) return e;\n return null;\n}, splitIntoChunks = (e, a)=>{\n let t = Math.ceil(e.length / a), r = [];\n for(let a = 0; a < e.length; a += t)r.push(e.slice(a, a + t));\n return r;\n}, runWorkerChunks = async (e, a, t, l, n)=>{\n let { Worker: s } = await import(\"node:worker_threads\"), i = Array.from(t.entries()), o = l ? Array.from(l.entries()) : void 0, c = n?.length ? [\n ...n\n ] : void 0, p = e.map((e, t)=>new Promise((l, n)=>{\n let p = new s(a, {\n workerData: {\n files: e,\n rulesEntries: i,\n fileTypeCacheEntries: o,\n overridesData: c\n }\n });\n p.on(\"message\", (e)=>l(e.tasks)), p.on(\"error\", (e)=>{\n r(\"planner\", `Worker ${t} error: ${String(e)}`), n(e instanceof Error ? e : Error(String(e)));\n }), p.on(\"exit\", (e)=>{\n 0 !== e && n(Error(`Worker ${t} stopped with exit code ${e}`));\n });\n }));\n return (await Promise.all(p)).flat();\n}, getOrDetectFileType = (e, a)=>{\n if (!a) return o(e);\n let t = a.get(e);\n if (t) return t;\n let r = o(e);\n return a.set(e, r), r;\n}, convertTasksToPlan = (e, a, t)=>{\n let r = T(e), l = {};\n for (let [e, n] of r){\n let r = getOrDetectFileType(e, t), s = collectApplicableRulesFromTasks(n, a), i = calculateHashFromTasks(n, s), o = n.map((e)=>({\n ruleName: e.ruleName,\n severity: e.severity,\n options: e.options,\n cacheKey: e.taskId,\n inputs: e.inputs,\n needsTypeChecker: e.needsTypeChecker\n }));\n l[e] = {\n file: {\n path: e,\n type: r,\n hash: i\n },\n tasks: o\n };\n }\n return l;\n};\n","export const scanResultToPlanInput = (e, l)=>({\n files: e.files,\n rules: l.rules,\n rootDir: l.rootDir,\n cache: l.cache,\n debug: l.debug,\n incremental: l.incremental,\n cacheKeyCtx: l.cacheKeyCtx,\n parallelThreshold: l.parallelThreshold,\n workerCount: l.workerCount\n });\nexport const hasScanFiles = (e)=>e.files.length > 0;\nexport const getScanFileCount = (e)=>e.files.length;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/overrides.ts","../src/file-type.ts","../src/incremental.ts","../src/resources.ts","../src/hashing.ts","../src/task-builder.ts","../src/indexes.ts","../src/serialize.ts","../src/utils.ts","../src/component-graph.ts","../src/builder.ts","../src/integration.ts"],"names":["findMatchingOverrides","filePath","overrides","filter","o","matchesAnyGlob","Array","isArray","files","resolveOverridesForFile","globalRules","matching","length","result","Map","override","rules","ruleName","ruleConfig","Object","entries","existing","get","normalized","normalizeOverrideConfig","severity","delete","set","options","patterns","some","p","minimatch","replace","dot","rc","ANGULAR_DECORATOR_RE","detectFileType","basename","path","ext","extname","endsWith","isTypeScriptFile","isTemplateFile","isStyleFile","isSpecFile","isComponentFile","getBaseName","suffix","slice","filterCachedTasks","tasks","cache","startTime","performance","now","debug","forceRerun","buildForcedRerunPlan","taskIds","map","t","taskId","buildEmptyIncrementalPlan","cachedTaskIds","hasMany","size","skippedTasks","pendingTasks","splitTasksByCache","cachedResults","maybeLoadCachedResults","stats","buildCacheFilterStats","logFilterSummary","areAllTasksCached","getCacheHitRate","pruneStaleCache","getManyWithMetadata","maxAgeMs","minHits","resolvePrunePolicy","staleTaskIds","collectStaleTaskIds","prunedCount","deleteMany","totalTasks","cachedTasks","cacheHitRate","timeSavedEstimate","task","has","push","loadCachedResults","cachedIds","getMany","total","cached","pending","elapsed","toFixed","Date","maxAge","stale","entry","tooOld","metadata","timestamp","tooCold","hits","deleted","STYLE_EXTENSIONS","TEMPLATE_URL_RE","STYLE_URL_RE","STYLE_URLS_RE","STYLE_STR_RE","extractTemplateUrlFromContent","tsFilePath","dir","content","readFile","match","exec","resolve","extractStyleUrlsFromContent","results","singleMatch","arrayMatch","m","lastIndex","discoverResources","needsTsAst","needsHtmlAst","needsCssAst","needsSpecAst","directoryCache","dirname","baseName","listDirectory","typescript","buildFileInput","template","findTemplateFile","extracted","styles","findStyleFiles","spec","findSpecFile","undefined","resourceExists","resourceType","hasTemplateFile","hasAnyStyleFile","hasSpecFile","getStyleFiles","flatMap","name","styleFileName","includes","join","getTemplateFile","templateFileName","getSpecFile","specFileName","readdir","error","Error","message","String","needsAst","hash","warmupHashCache","filePaths","metaCache","hashCache","i","batch","Promise","all","stat","mtime","mtimeMs","cachedMeta","hashFile","flush","computeHash","hashFiles","sort","stableStringify","value","seen","WeakSet","normalize","v","add","out","k","keys","JSON","stringify","hashRules","rule","a","b","localeCompare","calculateFileHash","inputs","applicableRules","parts","styleHashes","s","hashTaskInputs","hashFileStats","calculateTaskId","ctx","toolVersion","ruleRegistryHash","stylesHash","calculateGlobalHash","fileEntries","batchEntries","f","from","values","parserVersion","platform","shouldApplyRule","fileType","dependencyType","isTypescriptLike","filterRulesByAstRequirement","astType","filtered","requires","groupRulesByDependencyType","groups","standalone","component","imports","buildTask","context","applicability","evaluateRuleApplicability","apply","reason","requirements","resolveAstRequirements","buildTaskInputsWithHashes","cacheKeyCtx","needsTypeChecker","needsProjectContext","buildTasksForFileTaskCentric","discovered","getOrDiscoverResources","buildHashedInput","buildTemplateInput","buildStyleInputs","buildSpecInput","Boolean","tsAst","htmlAst","cssAst","specAst","typeChecker","projectContext","resourceCache","componentGraph","node","getResources","graphStats","stylePaths","templatePath","specPath","misses","fallbacks","buildIndexes","plan","filesNeedingTsAst","buildFilesNeedingAst","filesNeedingHtmlAst","filesNeedingCssAst","filesNeedingTypeChecker","buildFilesNeedingTypeChecker","tasksByFile","buildTasksByFile","tasksBySeverityLevel","buildTasksBySeverityLevel","createEmptyTasksBySeverityLevel","tasksByRule","buildTasksByRule","filesByType","buildFilesByType","tasksBySeverity","buildTasksBySeverity","buildStats","logIndexSummary","Set","unit","index","createEmptyFilesByTypeIndex","file","type","directive","pipe","service","module","guard","logic","style","config","unknown","counts","createEmptySeverityCounts","off","warn","units","totalFiles","filesWithTemplates","filesWithStyles","filesWithSpecs","avgTasksPerFile","getFilesForRules","ruleNames","ruleFiles","getTotalTasks","indexes","getTasksCountBySeverity","createEmptyTasksBySeverityLevelMutable","fileCompare","ts","html","css","serializePlan","output","StringInterner","hashes","ReferenceInterner","serializeUnit","r","h","deserializePlan","compact","allTasks","unitData","fileHash","ruleTasks","deserializeUnit","rt","toTask","fileId","id","fileHashId","idOrMinusOne","serializeRuleTask","ruleId","optId","cacheKeyId","cacheKey","encodeInput","tpl","typeCheckerFlag","input","tasksData","decodeHash","taskData","deserializeRuleTask","tData","tsCompact","tplCompact","stylesCompact","specCompact","ruleOptions","decodeInput","styleInput","d","hashId","ruleTask","list","next","groupTasksByFile","extractTemplateUrl","tsPath","fileSet","resolved","extractStyleUrls","ComponentDependencyGraph","graph","build","clear","byDirectory","dirFiles","dirFileSet","comp","baseNamePath","find","startsWith","test","buildExecutionPlan","timerLabel","time","changedFiles","cachedFiles","initHasher","validationError","validateBuildInputs","Err","createTaskBuilderContext","fileTypeCache","errorCollector","InfrastructureErrorCollector","start","metas","cachedPlan","tryLoadPlanFromCache","precomputedAnalysis","timeLog","Ok","buildAllTasks","parallelThreshold","workerCount","globalHash","fullPlan","convertTasksToPlan","fullIndexes","fullOutput","savePlanToCacheIfEnabled","incremental","getExecutionPlanSummary","lines","analysisCache","analysis","tCacheStart","cachedData","plans","tIOEnd","planSize","tDeserStart","deserErr","record","createInfrastructureError","cause","phase","recoverable","details","tDeserEnd","cacheSaveStart","cacheSaveTime","collectApplicableRulesFromTasks","ruleNamesInFile","applicable","calculateHashFromTasks","preclassifyLogicFiles","tryBuildAllTasksParallel","buildAllTasksSequential","candidates","getOrDetectFileType","fileRules","fileTasks","workerPath","resolveWorkerPath","chunks","splitIntoChunks","runWorkerChunks","Worker","fileURLToPath","existsSync","__dirname","url","candidate","items","chunkCount","Math","ceil","rulesEntries","fileTypeCacheEntries","overridesData","workerPromises","chunk","reject","worker","workerData","on","err","code","flat","detected","scanResultToPlanInput","scanResult","opts","rootDir","hasScanFiles","getScanFileCount"],"mappings":"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","file":"index.js","sourcesContent":["import { minimatch as e } from 'minimatch';\nexport const findMatchingOverrides = (e, t)=>t.filter((t)=>matchesAnyGlob(e, Array.isArray(t.files) ? t.files : [\n t.files\n ]));\nexport const resolveOverridesForFile = (e, t, i)=>{\n let r = findMatchingOverrides(e, i);\n if (0 === r.length) return t;\n let o = new Map(t);\n for (let e of r)if (e.rules) for (let [t, i] of Object.entries(e.rules)){\n let e = o.get(t);\n if (!e) continue;\n let r = normalizeOverrideConfig(i);\n 'off' === r.severity ? o.delete(t) : o.set(t, {\n ...e,\n severity: r.severity,\n options: {\n ...e.options,\n ...r.options\n }\n });\n }\n return o;\n};\nlet matchesAnyGlob = (t, i)=>i.some((i)=>e(t.replace(/\\\\/g, '/'), i, {\n dot: !0\n })), normalizeOverrideConfig = (e)=>'string' == typeof e ? {\n severity: e,\n options: {}\n } : 'object' == typeof e && null !== e && 'severity' in e ? {\n severity: e.severity,\n options: e.options ?? {}\n } : {\n severity: 'off',\n options: {}\n };\n","import e from 'node:path';\nexport const ANGULAR_DECORATOR_RE = /\\@(Component|Directive|Pipe|Injectable|NgModule)\\s*[\\(\\{]/;\nexport const detectFileType = (t)=>{\n let s = e.basename(t), n = e.extname(t);\n return s.endsWith('.component.ts') ? 'component' : s.endsWith('.directive.ts') ? 'directive' : s.endsWith('.pipe.ts') ? 'pipe' : s.endsWith('.service.ts') ? 'service' : s.endsWith('.module.ts') ? 'module' : s.endsWith('.guard.ts') ? 'guard' : '.html' === n ? 'template' : '.css' === n || '.scss' === n || '.sass' === n || '.less' === n ? 'style' : s.endsWith('.config.ts') || '.json' === n ? 'config' : s.endsWith('.spec.ts') || s.endsWith('.test.ts') ? 'spec' : '.ts' === n ? 'logic' : 'unknown';\n};\nexport const isTypeScriptFile = (t)=>'.ts' === e.extname(t);\nexport const isTemplateFile = (t)=>'.html' === e.extname(t);\nexport const isStyleFile = (t)=>{\n let s = e.extname(t);\n return '.css' === s || '.scss' === s || '.sass' === s || '.less' === s;\n};\nexport const isSpecFile = (t)=>e.basename(t).endsWith('.spec.ts');\nexport const isComponentFile = (t)=>e.basename(t).endsWith('.component.ts');\nexport const getBaseName = (t)=>{\n let s = e.basename(t);\n for (let e of [\n '.component.ts',\n '.directive.ts',\n '.pipe.ts',\n '.service.ts',\n '.module.ts',\n '.guard.ts',\n '.spec.ts'\n ])if (s.endsWith(e)) return s.slice(0, -e.length);\n return e.basename(t, e.extname(t));\n};\n","import { debug as e } from \"@ngcompass/common\";\nexport const filterCachedTasks = async (t, a, n = {})=>{\n let s = performance.now();\n if (e(\"incremental\", `Filtering ${t.length} tasks by cache...`), n.forceRerun) return buildForcedRerunPlan(t);\n let l = t.map((e)=>e.taskId);\n if (0 === l.length) return buildEmptyIncrementalPlan();\n let r = await a.hasMany(l);\n e(\"incremental\", `Found ${r.size}/${t.length} tasks in cache`);\n let { skippedTasks: i, tasks: c } = splitTasksByCache(t, r), d = await maybeLoadCachedResults(a, i, n), h = buildCacheFilterStats(t.length, i.length, c.length);\n return logFilterSummary(s, h), {\n skippedTasks: i,\n tasks: c,\n cachedResults: d,\n stats: h\n };\n};\nexport const areAllTasksCached = async (e, t)=>{\n if (0 === e.length) return !0;\n let a = e.map((e)=>e.taskId);\n return (await t.hasMany(a)).size === e.length;\n};\nexport const getCacheHitRate = async (e, t)=>{\n if (0 === e.length) return 0;\n let a = e.map((e)=>e.taskId);\n return (await t.hasMany(a)).size / e.length;\n};\nexport const pruneStaleCache = async (t, a, n = {})=>{\n if (e(\"incremental\", \"Pruning stale cache entries...\"), 0 === t.length) return e(\"incremental\", \"No tasks to prune\"), 0;\n let s = await a.getManyWithMetadata(t);\n if (0 === s.size) return e(\"incremental\", \"Cache is empty, nothing to prune\"), 0;\n let { now: l, maxAgeMs: r, minHits: i } = resolvePrunePolicy(n), c = collectStaleTaskIds(s, l, r, i), d = await deleteMany(a, c);\n return e(\"incremental\", `Pruned ${d} stale entries`), d;\n};\nlet buildForcedRerunPlan = (t)=>{\n e(\"incremental\", \"Force rerun enabled - skipping cache check\");\n let a = {\n totalTasks: t.length,\n cachedTasks: 0,\n pendingTasks: t.length,\n cacheHitRate: 0,\n timeSavedEstimate: 0\n };\n return {\n skippedTasks: [],\n tasks: t,\n cachedResults: new Map(),\n stats: a\n };\n}, buildEmptyIncrementalPlan = ()=>({\n skippedTasks: [],\n tasks: [],\n cachedResults: new Map(),\n stats: {\n totalTasks: 0,\n cachedTasks: 0,\n pendingTasks: 0,\n cacheHitRate: 0,\n timeSavedEstimate: 0\n }\n }), splitTasksByCache = (e, t)=>{\n let a = [], n = [];\n for (let s of e)t.has(s.taskId) ? a.push(s) : n.push(s);\n return {\n skippedTasks: a,\n tasks: n\n };\n}, maybeLoadCachedResults = async (t, a, n)=>{\n if (!n.loadCachedResults || 0 === a.length) return new Map();\n e(\"incremental\", `Loading ${a.length} cached results...`);\n let s = a.map((e)=>e.taskId), l = await t.getMany(s);\n return e(\"incremental\", `Loaded ${l.size} cached results`), l;\n}, buildCacheFilterStats = (e, t, a)=>{\n let n = e > 0 ? t / e : 0;\n return {\n totalTasks: e,\n cachedTasks: t,\n pendingTasks: a,\n cacheHitRate: n,\n timeSavedEstimate: 100 * n\n };\n}, logFilterSummary = (t, a)=>{\n let n = performance.now() - t;\n e(\"incremental\", `Cache filtering completed in ${n.toFixed(2)}ms`), e(\"incremental\", `Cache hit rate: ${(100 * a.cacheHitRate).toFixed(1)}%`), e(\"incremental\", `Skipping ${a.cachedTasks} tasks, executing ${a.pendingTasks} tasks`);\n}, resolvePrunePolicy = (e)=>{\n let t = Date.now();\n return {\n now: t,\n maxAgeMs: e.maxAge ?? 604800000,\n minHits: e.minHits ?? 1\n };\n}, collectStaleTaskIds = (e, t, a, n)=>{\n let s = [];\n for (let [, l] of e){\n let e = t - l.metadata.timestamp > a, r = l.metadata.hits < n;\n (e || r) && s.push(l.metadata.taskId);\n }\n return s;\n}, deleteMany = async (e, t)=>{\n let a = 0;\n for (let n of t)await e.delete(n), a++;\n return a;\n};\n","import { readdir as e, readFile as t } from \"node:fs/promises\";\nimport l from \"node:path\";\nimport { getBaseName as r, isComponentFile as i } from \"./file-type.js\";\nimport { debug as s } from \"@ngcompass/common\";\nlet STYLE_EXTENSIONS = [\n \".css\",\n \".scss\",\n \".sass\",\n \".less\"\n], TEMPLATE_URL_RE = /templateUrl\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URL_RE = /\\bstyleUrl(?!s)\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URLS_RE = /\\bstyleUrls\\s*:\\s*\\[([^\\]]+)\\]/, STYLE_STR_RE = /['\"`]([^'\"`\\n]+\\.(?:css|scss|sass|less))['\"`]/g, extractTemplateUrlFromContent = async (e, r)=>{\n try {\n let i = await t(e, 'utf-8'), s = TEMPLATE_URL_RE.exec(i);\n if (!s) return;\n return l.resolve(r, s[1]);\n } catch {\n return;\n }\n}, extractStyleUrlsFromContent = async (e, r)=>{\n try {\n let i = await t(e, 'utf-8'), s = [], n = STYLE_URL_RE.exec(i);\n n && s.push(l.resolve(r, n[1]));\n let a = STYLE_URLS_RE.exec(i);\n if (a) {\n let e;\n for(STYLE_STR_RE.lastIndex = 0; null !== (e = STYLE_STR_RE.exec(a[1]));)s.push(l.resolve(r, e[1]));\n }\n return s;\n } catch {\n return [];\n }\n};\nexport const discoverResources = async (e, t, s, n, a, o)=>{\n let c = l.dirname(e), u = r(e), m = await listDirectory(c, o), p = buildFileInput(e, t), F = findTemplateFile(c, u, m, s);\n if (!F) {\n let t = await extractTemplateUrlFromContent(e, c);\n t && (F = buildFileInput(t, s));\n }\n let d = findStyleFiles(e, c, u, m, n);\n 0 === d.length && i(e) && (d = (await extractStyleUrlsFromContent(e, c)).map((e)=>buildFileInput(e, n)));\n let S = findSpecFile(c, u, m, a);\n return {\n typescript: p,\n template: F,\n styles: d.length > 0 ? d : void 0,\n spec: S\n };\n};\nexport const resourceExists = async (e, t, s)=>{\n let n = l.dirname(e), a = r(e), o = await listDirectory(n, s);\n return \"template\" === t ? hasTemplateFile(a, o) : \"style\" === t ? !!i(e) && hasAnyStyleFile(a, o) : hasSpecFile(a, o);\n};\nexport const getStyleFiles = async (e, t)=>{\n if (!i(e)) return [];\n let s = l.dirname(e), n = r(e), a = await listDirectory(s, t);\n return STYLE_EXTENSIONS.flatMap((e)=>{\n let t = styleFileName(n, e);\n return a.includes(t) ? [\n l.join(s, t)\n ] : [];\n });\n};\nexport const getTemplateFile = async (e, t)=>{\n if (!i(e)) return null;\n let s = l.dirname(e), n = r(e), a = await listDirectory(s, t), o = templateFileName(n);\n return a.includes(o) ? l.join(s, o) : null;\n};\nexport const getSpecFile = async (e, t)=>{\n let i = l.dirname(e), s = r(e), n = await listDirectory(i, t), a = specFileName(s);\n return n.includes(a) ? l.join(i, a) : null;\n};\nlet listDirectory = async (t, l)=>{\n let r = l?.get(t);\n if (r) return r;\n try {\n let r = await e(t);\n return l?.set(t, r), r;\n } catch (e) {\n return s(\"planner\", `Failed to read directory: ${t}. Error: ${e instanceof Error ? e.message : String(e)}`), [];\n }\n}, buildFileInput = (e, t)=>({\n path: e,\n needsAst: t,\n hash: \"\"\n }), templateFileName = (e)=>`${e}.component.html`, styleFileName = (e, t)=>`${e}.component${t}`, specFileName = (e)=>`${e}.spec.ts`, hasTemplateFile = (e, t)=>t.includes(templateFileName(e)), hasAnyStyleFile = (e, t)=>STYLE_EXTENSIONS.some((l)=>t.includes(styleFileName(e, l))), hasSpecFile = (e, t)=>t.includes(specFileName(e)), findTemplateFile = (e, t, r, i)=>{\n let s = templateFileName(t);\n return r.includes(s) ? buildFileInput(l.join(e, s), i) : void 0;\n}, findStyleFiles = (e, t, r, s, n)=>{\n if (!i(e)) return [];\n let a = [];\n for (let e of STYLE_EXTENSIONS){\n let i = styleFileName(r, e);\n s.includes(i) && a.push(buildFileInput(l.join(t, i), n));\n }\n return a;\n}, findSpecFile = (e, t, r, i)=>{\n let s = specFileName(t);\n return r.includes(s) ? buildFileInput(l.join(e, s), i) : void 0;\n};\n","import * as t from \"node:fs/promises\";\nimport { debug as e } from \"@ngcompass/common\";\nimport { computeHash as s } from \"@ngcompass/cache\";\nexport const warmupHashCache = async (e, s, a)=>{\n for(let r = 0; r < e.length; r += 500){\n let h = e.slice(r, r + 500);\n await Promise.all(h.map(async (e)=>{\n if (!a.has(e)) try {\n let r = await t.stat(e), h = r.mtimeMs, l = r.size, p = await s.get(e);\n if (p && p.mtime === h && p.size === l) return void a.set(e, p.hash);\n let i = await hashFile(e);\n a.set(e, i), await s.set(e, {\n mtime: h,\n size: l,\n hash: i\n });\n } catch {\n return;\n }\n }));\n }\n s.flush && await s.flush();\n};\nexport const hashFile = async (a, r)=>{\n let h = r?.get(a);\n if (h) return h;\n try {\n let e = await t.readFile(a, \"utf-8\"), h = s(e);\n return r?.set(a, h), h;\n } catch (t) {\n return e(\"planner\", `Failed to hash file: ${a}. Error: ${t instanceof Error ? t.message : String(t)}`), \"\";\n }\n};\nexport const hashFileInput = hashFile;\nexport const hashFiles = async (t, e)=>{\n if (0 === t.length) return \"\";\n let a = await Promise.all(t.map(async (t)=>`${t}:${await hashFile(t, e)}`));\n return a.sort(), s(a.join(\"|\"));\n};\nlet stableStringify = (t)=>{\n let e = new WeakSet(), s = (t)=>{\n if (t && \"object\" == typeof t) {\n if (e.has(t)) return \"[Circular]\";\n if (e.add(t), Array.isArray(t)) return t.map(s);\n let a = {};\n for (let e of Object.keys(t).sort())a[e] = s(t[e]);\n return a;\n }\n return t;\n };\n return JSON.stringify(s(t));\n};\nexport const hashRules = (t)=>s(stableStringify(t.map((t)=>({\n name: t.name,\n severity: t.severity,\n options: t.options\n })).sort((t, e)=>t.name.localeCompare(e.name))));\nexport const calculateFileHash = (t, e)=>{\n let a = [];\n if (a.push(t.typescript.hash), t.template && a.push(t.template.hash), t.styles) {\n let e = t.styles.map((t)=>t.hash).sort();\n a.push(...e);\n }\n return t.spec && a.push(t.spec.hash), a.push(hashRules(e)), s(a.join(\"::\"));\n};\nexport const hashTaskInputs = async (t)=>{\n let e = [\n t.typescript.path\n ];\n return t.template && e.push(t.template.path), t.styles && e.push(...t.styles.map((t)=>t.path)), t.spec && e.push(t.spec.path), hashFiles(e);\n};\nexport const hashFileStats = async (e)=>{\n try {\n let a = await t.stat(e);\n return s(`${e}::${a.size}::${a.mtimeMs}`);\n } catch {\n return \"\";\n }\n};\nexport const calculateTaskId = (t, e, a, r)=>{\n let h = [];\n if (r && (h.push(r.toolVersion), h.push(r.ruleRegistryHash)), h.push(t), h.push(e.typescript.path), h.push(e.typescript.hash), e.template && h.push(e.template.hash), e.styles?.length) {\n let t = e.styles.map((t)=>t.hash).sort().join(\"::\");\n h.push(t);\n }\n return e.spec && h.push(e.spec.hash), h.push(stableStringify(a)), s(h.join(\"::\"));\n};\nexport const calculateGlobalHash = async (t, e, a, r)=>{\n let h = [];\n for(let e = 0; e < t.length; e += 500){\n let s = t.slice(e, e + 500), r = await Promise.all(s.map(async (t)=>`${t}:${a.get(t) ?? await hashFile(t, a)}`));\n h.push(...r);\n }\n h.sort();\n let l = [];\n return l.push(...h), l.push(hashRules(Array.from(e.values()))), r && (l.push(`tool:${r.toolVersion}`), l.push(`parser:${r.parserVersion}`), l.push(`registry:${r.ruleRegistryHash}`), l.push(`platform:${r.platform}`)), s(l.join(\"||\"));\n};\n","import { discoverResources as e } from \"./resources.js\";\nimport { hashFile as t, calculateTaskId as s } from \"./hashing.js\";\nimport { debug as a } from \"@ngcompass/common\";\nexport const shouldApplyRule = (e, t)=>{\n let { dependencyType: s } = e.metadata;\n return \"standalone\" === s || \"imports\" === s ? isTypescriptLike(t) : \"component\" === s ? \"component\" === t || \"directive\" === t || \"angular-class\" === t : \"styles\" === s ? \"component\" === t : \"spec\" === s && \"spec\" === t;\n};\nexport const filterRulesByAstRequirement = (e, t)=>{\n let s = [];\n for (let a of e.values())a.metadata.requires[t] && s.push(a);\n return s;\n};\nexport const getRulesByFileType = (e)=>{\n let t = {\n allTs: [],\n component: [],\n directive: [],\n spec: []\n };\n for (let s of e.values()){\n let { dependencyType: e } = s.metadata;\n if (\"standalone\" === e || \"imports\" === e) {\n t.allTs.push(s);\n continue;\n }\n if (\"component\" === e) {\n t.component.push(s), t.directive.push(s);\n continue;\n }\n if (\"styles\" === e) {\n t.component.push(s);\n continue;\n }\n \"spec\" === e && t.spec.push(s);\n }\n return t;\n};\nexport const groupRulesByDependencyType = (e)=>{\n let t = {\n standalone: [],\n component: [],\n styles: [],\n imports: [],\n spec: []\n };\n for (let s of e.values())t[s.metadata.dependencyType].push(s);\n return t;\n};\nexport const buildTask = async (e, t, p, n)=>{\n let l = evaluateRuleApplicability(p, t);\n if (!l.apply) return a(\"planner\", ` - Rule ${p.name} skipped: ${l.reason}`), null;\n let r = resolveAstRequirements(p), o = await buildTaskInputsWithHashes(e, p, n);\n return {\n taskId: s(p.name, o, p.options, n?.cacheKeyCtx),\n ruleName: p.name,\n filePath: e,\n severity: p.severity,\n options: p.options,\n inputs: o,\n needsTypeChecker: r.needsTypeChecker,\n needsProjectContext: r.needsProjectContext || void 0\n };\n};\nexport const buildTasksForFileTaskCentric = async (e, t, s, a)=>{\n let p = [];\n for (let n of s.values()){\n let s = await buildTask(e, t, n, a);\n s && p.push(s);\n }\n return p;\n};\nlet buildTaskInputsWithHashes = async (e, t, s)=>{\n let a = resolveAstRequirements(t), p = await getOrDiscoverResources(e, s), n = {\n typescript: await buildHashedInput(p.typescript.path, a.needsTsAst, s)\n }, l = buildTemplateInput(e, p, t, a, n, s);\n l && (n.template = l);\n let r = await buildStyleInputs(p, t, a, s);\n r && (n.styles = r);\n let o = await buildSpecInput(p, a, s);\n return o && (n.spec = o), n;\n}, isTypescriptLike = (e)=>\"template\" !== e && \"style\" !== e && \"config\" !== e && \"unknown\" !== e, evaluateRuleApplicability = (e, t)=>shouldApplyRule(e, t) ? \"off\" === e.severity ? {\n apply: !1,\n reason: \"disabled ('off')\"\n } : {\n apply: !0,\n reason: \"applicable\"\n } : {\n apply: !1,\n reason: `does not apply to ${t}`\n }, resolveAstRequirements = (e)=>{\n let t = e.metadata.requires;\n return {\n needsTsAst: !!t.tsAst,\n needsHtmlAst: !!t.htmlAst,\n needsCssAst: !!t.cssAst,\n needsSpecAst: !!t.specAst,\n needsTypeChecker: !!t.typeChecker,\n needsProjectContext: !!t.projectContext\n };\n}, getOrDiscoverResources = async (t, s)=>{\n let a = s?.resourceCache?.get(t);\n if (a) return a;\n if (s?.componentGraph) {\n let e = s.componentGraph.getResources(t);\n if (e) {\n s.graphStats && s.graphStats.hits++;\n let a = {\n typescript: {\n path: t,\n hash: \"\",\n needsAst: !1\n },\n styles: e.stylePaths.map((e)=>({\n path: e,\n hash: \"\",\n needsAst: !1\n }))\n };\n return e.templatePath && (a.template = {\n path: e.templatePath,\n hash: \"\",\n needsAst: !1\n }), e.specPath && (a.spec = {\n path: e.specPath,\n hash: \"\",\n needsAst: !1\n }), s?.resourceCache?.set(t, a), a;\n }\n s.graphStats && s.graphStats.misses++;\n }\n s?.graphStats && s.graphStats.fallbacks++;\n let p = await e(t, !0, !0, !0, !0, s?.directoryCache);\n return s?.resourceCache?.set(t, p), p;\n}, buildHashedInput = async (e, s, a)=>({\n path: e,\n hash: await t(e, a?.hashCache),\n needsAst: s\n }), buildTemplateInput = (e, t, s, a, p, n)=>{\n let { dependencyType: l } = s.metadata, r = a.needsHtmlAst && (\"component\" === l || \"styles\" === l);\n return t.template ? {\n path: t.template.path,\n hash: n?.hashCache?.get(t.template.path) ?? t.template.hash ?? \"\",\n needsAst: r\n } : \"component\" === l && a.needsHtmlAst ? {\n path: e,\n hash: p.typescript.hash,\n needsAst: !0\n } : void 0;\n}, buildStyleInputs = async (e, t, s, a)=>{\n if (!e.styles || 0 === e.styles.length) return;\n let p = s.needsCssAst && \"styles\" === t.metadata.dependencyType;\n return Promise.all(e.styles.map((e)=>buildHashedInput(e.path, p, a)));\n}, buildSpecInput = async (e, t, s)=>{\n if (e.spec) return buildHashedInput(e.spec.path, t.needsSpecAst, s);\n};\n","import { debug as e } from \"@ngcompass/common\";\nexport function buildIndexes(t, s) {\n e(\"planner\", \"Generating execution indexes...\");\n let r = buildFilesNeedingAst(t, \"typescript\"), l = buildFilesNeedingAst(t, \"html\"), n = buildFilesNeedingAst(t, \"css\"), o = buildFilesNeedingTypeChecker(t), a = s ? buildTasksByFile(s) : {}, i = s ? buildTasksBySeverityLevel(s) : createEmptyTasksBySeverityLevel(), u = buildTasksByRule(t), y = buildFilesByType(t), p = buildTasksBySeverity(t), d = buildStats(t);\n return logIndexSummary(t, s, r, l, n, u), {\n filesNeedingTsAst: r,\n filesNeedingHtmlAst: l,\n filesNeedingCssAst: n,\n filesNeedingTypeChecker: o,\n tasksByFile: a,\n tasksBySeverityLevel: i,\n tasksByRule: u,\n filesByType: y,\n tasksBySeverity: p,\n stats: d\n };\n}\nlet buildFilesNeedingAst = (e, t)=>{\n let s = new Set();\n for (let [r, l] of Object.entries(e))l.tasks.some((e)=>needsAst(e, t)) && s.add(r);\n return Array.from(s).sort();\n}, needsAst = (e, t)=>{\n switch(t){\n case \"typescript\":\n return !!e.inputs.typescript.needsAst;\n case \"html\":\n return !!e.inputs.template?.needsAst;\n case \"css\":\n return !!e.inputs.styles?.some((e)=>e.needsAst);\n }\n}, buildFilesNeedingTypeChecker = (e)=>{\n let t = new Set();\n for (let [s, r] of Object.entries(e))r.tasks.some((e)=>!0 === e.needsTypeChecker || !0 === e.needsProjectContext) && t.add(s);\n return Array.from(t).sort();\n}, buildTasksByRule = (e)=>{\n let t = {};\n for (let [s, r] of Object.entries(e))for (let e of r.tasks)(t[e.ruleName] ??= []).push(s);\n for (let e of Object.keys(t))t[e].sort();\n return t;\n}, buildFilesByType = (e)=>{\n let t = createEmptyFilesByTypeIndex();\n for (let [s, r] of Object.entries(e))t[r.file.type].push(s);\n for (let e of Object.keys(t))t[e].sort();\n return t;\n}, createEmptyFilesByTypeIndex = ()=>({\n component: [],\n directive: [],\n pipe: [],\n service: [],\n module: [],\n guard: [],\n logic: [],\n 'angular-class': [],\n spec: [],\n template: [],\n style: [],\n config: [],\n unknown: []\n }), buildTasksBySeverity = (e)=>{\n let t = createEmptySeverityCounts();\n for (let s of Object.values(e))for (let e of s.tasks)t[e.severity]++;\n return t;\n}, createEmptySeverityCounts = ()=>({\n off: 0,\n warn: 0,\n error: 0\n }), buildStats = (e)=>{\n let t = Object.values(e), s = t.length, r = 0, l = 0, n = 0, o = 0;\n for (let e of t)r += e.tasks.length, e.tasks.some((e)=>!!e.inputs.template) && l++, e.tasks.some((e)=>!!e.inputs.styles?.length) && n++, e.tasks.some((e)=>!!e.inputs.spec) && o++;\n return {\n totalFiles: s,\n totalTasks: r,\n avgTasksPerFile: s > 0 ? r / s : 0,\n filesWithTemplates: l,\n filesWithStyles: n,\n filesWithSpecs: o\n };\n};\nexport const getFilesForRules = (e, t)=>{\n let s = new Set();\n for (let r of t){\n let t = e[r];\n if (t) for (let e of t)s.add(e);\n }\n return Array.from(s).sort();\n};\nexport const getTotalTasks = (e)=>e.stats.totalTasks;\nexport const getTasksCountBySeverity = (e, t)=>e.tasksBySeverity[t];\nlet buildTasksByFile = (e)=>{\n let t = {};\n for (let s of e)(t[s.filePath] ??= []).push(s);\n for (let e of Object.keys(t))t[e].sort((e, t)=>e.ruleName.localeCompare(t.ruleName));\n return t;\n}, buildTasksBySeverityLevel = (e)=>{\n let t = createEmptyTasksBySeverityLevelMutable();\n for (let s of e)t[s.severity].push(s);\n for (let e of Object.keys(t))t[e].sort((e, t)=>{\n let s = e.filePath.localeCompare(t.filePath);\n return 0 !== s ? s : e.ruleName.localeCompare(t.ruleName);\n });\n return t;\n}, createEmptyTasksBySeverityLevel = ()=>({\n off: [],\n warn: [],\n error: []\n }), createEmptyTasksBySeverityLevelMutable = ()=>({\n off: [],\n warn: [],\n error: []\n }), logIndexSummary = (t, s, r, l, n, o)=>{\n e(\"planner\", \"Indexing complete:\"), e(\"planner\", ` - TypeScript AST needed: ${r.length} files`), e(\"planner\", ` - HTML AST needed: ${l.length} files`), e(\"planner\", ` - CSS AST needed: ${n.length} files`), e(\"planner\", ` - Unique rules to run: ${Object.keys(o).length}`), s && e(\"planner\", ` - Total tasks: ${s.length}`);\n};\n","import { buildIndexes as e } from \"./indexes.js\";\nexport const serializePlan = (e)=>{\n let t = new StringInterner(), s = new StringInterner(), i = new StringInterner(), n = new ReferenceInterner(), r = Object.values(e.plan).map((e)=>serializeUnit(e, t, s, i, n));\n return {\n v: 1,\n r: t.values(),\n o: n.values(),\n f: s.values(),\n h: i.values(),\n t: r\n };\n};\nexport const deserializePlan = (t)=>{\n let { r: s, o: i, f: n, h: r, t: a } = t, l = {}, p = [];\n for (let e of a){\n let { filePath: t, fileType: a, fileHash: u, ruleTasks: d } = deserializeUnit(e, s, n, r, i);\n for (let e of (l[t] = {\n file: {\n path: t,\n type: a,\n hash: u\n },\n tasks: d\n }, d))p.push(toTask(t, e));\n }\n let u = e(l, p);\n return {\n tasks: p,\n plan: l,\n indexes: u,\n skippedTasks: []\n };\n};\nlet serializeUnit = (e, t, s, i, n)=>{\n let r = s.id(e.file.path), a = i.idOrMinusOne(e.file.hash), l = e.tasks.map((e)=>serializeRuleTask(e, t, s, i, n));\n return [\n r,\n e.file.type,\n a,\n l\n ];\n}, serializeRuleTask = (e, t, s, i, n)=>{\n let r = t.id(e.ruleName), a = n.id(e.options), l = i.idOrMinusOne(e.cacheKey), p = encodeInput(e.inputs.typescript, s, i), u = e.inputs.template ? encodeInput(e.inputs.template, s, i) : void 0, d = e.inputs.styles && e.inputs.styles.length > 0 ? e.inputs.styles.map((e)=>encodeInput(e, s, i)) : void 0, h = e.inputs.spec ? encodeInput(e.inputs.spec, s, i) : void 0, o = +!!e.needsTypeChecker;\n return [\n r,\n e.severity,\n a,\n l,\n p,\n u,\n d,\n h,\n o\n ];\n}, encodeInput = (e, t, s)=>[\n t.id(e.path),\n s.idOrMinusOne(e.hash),\n +!!e.needsAst\n ], deserializeUnit = (e, t, s, i, n)=>{\n let [r, a, l, p] = e, u = s[r];\n return {\n filePath: u,\n fileType: a,\n fileHash: decodeHash(l, i),\n ruleTasks: p.map((e)=>deserializeRuleTask(e, t, s, i, n))\n };\n}, deserializeRuleTask = (e, t, s, i, n)=>{\n let [r, a, l, p, u, d, h, o, c] = e, m = t[r], k = n[l], v = decodeHash(p, i), y = {\n typescript: decodeInput(u, s, i)\n };\n return d && (y.template = decodeInput(d, s, i)), h && (y.styles = h.map((e)=>decodeInput(e, s, i))), o && (y.spec = decodeInput(o, s, i)), {\n ruleName: m,\n severity: a,\n options: k,\n cacheKey: v,\n inputs: y,\n needsTypeChecker: 1 === c || void 0\n };\n}, decodeInput = (e, t, s)=>({\n path: t[e[0]],\n hash: decodeHash(e[1], s),\n needsAst: 1 === e[2]\n }), decodeHash = (e, t)=>e >= 0 ? t[e] : \"\", toTask = (e, t)=>({\n taskId: t.cacheKey,\n filePath: e,\n ruleName: t.ruleName,\n severity: t.severity,\n options: t.options,\n inputs: t.inputs,\n needsTypeChecker: t.needsTypeChecker\n });\nclass StringInterner {\n map = new Map();\n list = [];\n id(e) {\n let t = this.map.get(e);\n if (void 0 !== t) return t;\n let s = this.list.length;\n return this.map.set(e, s), this.list.push(e), s;\n }\n idOrMinusOne(e) {\n return e ? this.id(e) : -1;\n }\n values() {\n return this.list;\n }\n}\nclass ReferenceInterner {\n map = new Map();\n list = [];\n id(e) {\n let t = this.map.get(e);\n if (void 0 !== t) return t;\n let s = this.list.length;\n return this.map.set(e, s), this.list.push(e), s;\n }\n values() {\n return this.list;\n }\n}\n","export const groupTasksByFile = (e)=>{\n let t = new Map();\n for (let l of e){\n let e = t.get(l.filePath);\n e ? e.push(l) : t.set(l.filePath, [\n l\n ]);\n }\n return t;\n};\n","import * as e from 'node:path';\nimport { readFile as t } from 'node:fs/promises';\nlet TEMPLATE_URL_RE = /templateUrl\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URL_RE = /\\bstyleUrl(?!s)\\s*:\\s*['\"`]([^'\"`\\n]+)['\"`]/, STYLE_URLS_RE = /\\bstyleUrls\\s*:\\s*\\[([^\\]]+)\\]/, STYLE_STR_RE = /['\"`]([^'\"`\\n]+\\.(?:css|scss|sass|less))['\"`]/g;\nasync function extractTemplateUrl(s, r, n) {\n try {\n let l = await t(s, 'utf-8'), a = TEMPLATE_URL_RE.exec(l);\n if (!a) return;\n let o = e.resolve(r, a[1]);\n return n.has(o) ? o : void 0;\n } catch {\n return;\n }\n}\nasync function extractStyleUrls(s, r, n) {\n try {\n let l = await t(s, 'utf-8'), a = [], o = STYLE_URL_RE.exec(l);\n if (o) {\n let t = e.resolve(r, o[1]);\n n.has(t) && a.push(t);\n }\n let c = STYLE_URLS_RE.exec(l);\n if (c) {\n let t;\n for(STYLE_STR_RE.lastIndex = 0; null !== (t = STYLE_STR_RE.exec(c[1]));){\n let s = e.resolve(r, t[1]);\n n.has(s) && a.push(s);\n }\n }\n return a;\n } catch {\n return [];\n }\n}\nexport class ComponentDependencyGraph {\n graph = new Map();\n async build(t) {\n this.graph.clear();\n let s = new Set(t), r = new Map();\n for (let s of t){\n let t = e.dirname(s), n = r.get(t);\n n ? n.push(s) : r.set(t, [\n s\n ]);\n }\n for (let [t, n] of r){\n let r = new Set(n);\n for (let l of n.filter((e)=>e.endsWith('.component.ts'))){\n let a = e.basename(l, '.component.ts'), o = e.join(t, a), c = [\n `${o}.component.html`,\n `${o}.html`\n ].find((e)=>r.has(e));\n c || (c = await extractTemplateUrl(l, t, s));\n let p = n.filter((t)=>{\n if (!t.startsWith(o)) return !1;\n let s = e.extname(t);\n return (t === `${o}.component${s}` || t === `${o}${s}`) && /\\.(css|scss|sass|less)$/.test(s);\n });\n 0 === p.length && (p = await extractStyleUrls(l, t, s));\n let h = {\n tsPath: l,\n templatePath: c,\n stylePaths: p,\n specPath: r.has(`${o}.component.spec.ts`) ? `${o}.component.spec.ts` : r.has(`${o}.spec.ts`) ? `${o}.spec.ts` : void 0,\n type: 'component'\n };\n this.graph.set(l, h);\n }\n }\n }\n getResources(e) {\n return this.graph.get(e);\n }\n}\n","import { resolveOverridesForFile as e } from \"./overrides.js\";\nimport { Ok as a, Err as t } from \"./types.js\";\nimport { debug as r, time as l, timeLog as n, createInfrastructureError as s, InfrastructureErrorCollector as i } from \"@ngcompass/common\";\nimport { detectFileType as o, ANGULAR_DECORATOR_RE as c } from \"./file-type.js\";\nimport { readFile as p } from \"node:fs/promises\";\nimport { filterCachedTasks as u } from \"./incremental.js\";\nimport { buildTasksForFileTaskCentric as h } from \"./task-builder.js\";\nimport { buildIndexes as f } from \"./indexes.js\";\nimport { serializePlan as d, deserializePlan as m } from \"./serialize.js\";\nimport { initHasher as g } from \"@ngcompass/cache\";\nimport { warmupHashCache as k, calculateGlobalHash as w, calculateFileHash as y } from \"./hashing.js\";\nimport { groupTasksByFile as T } from \"./utils.js\";\nimport { ComponentDependencyGraph as b } from \"./component-graph.js\";\nexport const buildExecutionPlan = async (e)=>{\n let s = \"buildExecutionPlan\";\n l(s);\n try {\n let l, o, c, p;\n await g();\n let { files: h, rules: d } = e;\n r(\"planner\", `Building execution plan for ${h.length} files and ${d.size} rules`);\n let m = validateBuildInputs(h, d);\n if (m) return t(m);\n let w = createTaskBuilderContext(e), y = new Map(), T = new i();\n if (e.cache) {\n r(\"planner\", \"Warming up hash cache from metadata index...\");\n let a = performance.now();\n await k(e.files, e.cache.metas, w.hashCache), r(\"planner\", `Metadata warmup took ${(performance.now() - a).toFixed(2)}ms`);\n }\n let v = await tryLoadPlanFromCache(e, w, T);\n if (!v) {\n let a = new b();\n await a.build(e.files), w.componentGraph = a, w.graphStats = {\n hits: 0,\n misses: 0,\n fallbacks: 0\n }, r(\"planner\", \"Component dependency graph built\");\n }\n if (v && v.precomputedAnalysis) return n(s, \"planner\", \"Full analysis cached — returning precomputed result\"), a(v);\n if (v) n(s, \"planner\", \"Execution plan loaded from cache\"), l = v.tasks;\n else {\n if (r(\"planner\", \"Building tasks...\"), l = await buildAllTasks(h, d, w, y, e.parallelThreshold, e.workerCount, e.overrides), e.debug && w.graphStats) {\n let { hits: e, misses: a, fallbacks: t } = w.graphStats;\n r(\"planner\", `Graph stats — hits: ${e}, misses: ${a}, fallbacks: ${t}`);\n }\n if (e.cache && w.globalHash) {\n r(\"planner\", \"Converting all tasks to full plan for cache...\");\n let a = convertTasksToPlan(l, d, y), t = f(a, l), n = {\n tasks: l,\n plan: a,\n indexes: t,\n skippedTasks: [],\n globalHash: w.globalHash\n };\n await savePlanToCacheIfEnabled(e, w, n);\n }\n }\n let x = l, $ = [];\n if (e.cache) {\n r(\"planner\", \"Filtering cached tasks...\");\n let a = await u(l, e.cache.results, e.incremental);\n x = a.tasks, $ = a.skippedTasks, o = a.cachedResults, c = [\n ...new Set(x.map((e)=>e.filePath))\n ], p = [\n ...new Set($.map((e)=>e.filePath))\n ].filter((e)=>!c.includes(e));\n }\n r(\"planner\", \"Converting tasks to file-centric plan...\");\n let F = convertTasksToPlan(x, d, y);\n r(\"planner\", `Building indexes for ${x.length} tasks...`);\n let C = f(F, x), P = {\n tasks: x,\n plan: F,\n indexes: C,\n skippedTasks: $,\n cachedResults: o,\n globalHash: w.globalHash,\n changedFiles: c,\n cachedFiles: p\n };\n return n(s, \"planner\", \"Execution plan built\"), a(P);\n } catch (e) {\n return r(\"planner\", `Error building plan: ${e.message}`), t(Error(`Failed to build execution plan: ${e.message}`));\n }\n};\nexport const getExecutionPlanSummary = (e)=>{\n let { stats: a } = e.indexes, t = [];\n return t.push(\"--- Execution Plan Summary ---\"), t.push(`Total files: ${a.totalFiles}`), t.push(`Total tasks: ${a.totalTasks}`), t.push(`Avg tasks per file: ${a.avgTasksPerFile.toFixed(1)}`), t.push(`Files with templates: ${a.filesWithTemplates}`), t.push(`Files with styles: ${a.filesWithStyles}`), t.push(`Files with specs: ${a.filesWithSpecs}`), t.push(\"\"), t.join(\"\\n\");\n};\nlet validateBuildInputs = (e, a)=>0 === e.length ? Error(\"No files to analyze\") : 0 === a.size ? Error(\"No rules configured\") : null, createTaskBuilderContext = (e)=>({\n hashCache: new Map(),\n resourceCache: new Map(),\n directoryCache: new Map(),\n cacheKeyCtx: e?.cacheKeyCtx\n }), tryLoadPlanFromCache = async (e, a, t)=>{\n let l;\n if (!e.cache) return null;\n let { files: n, rules: i } = e, o = await w(n, i, a.hashCache, e.cacheKeyCtx);\n if (a.globalHash = o, e.incremental?.forceRerun) return null;\n let c = e.cache.analysis, p = await c.get(o);\n if (p) return e.debug && r(\"planner\", \"Analysis results cached (Short-circuit enabled)\"), {\n tasks: [],\n plan: {},\n indexes: {\n filesNeedingTsAst: [],\n filesNeedingHtmlAst: [],\n filesNeedingCssAst: [],\n filesNeedingTypeChecker: [],\n tasksByFile: {},\n tasksByRule: {},\n tasksBySeverityLevel: {\n off: [],\n warn: [],\n error: []\n },\n filesByType: {\n component: [],\n directive: [],\n pipe: [],\n service: [],\n module: [],\n guard: [],\n logic: [],\n 'angular-class': [],\n spec: [],\n template: [],\n style: [],\n config: [],\n unknown: []\n },\n tasksBySeverity: {\n off: 0,\n warn: 0,\n error: 0\n },\n stats: {\n totalFiles: 0,\n totalTasks: 0,\n avgTasksPerFile: 0,\n filesWithTemplates: 0,\n filesWithStyles: 0,\n filesWithSpecs: 0\n }\n },\n skippedTasks: [],\n globalHash: o,\n precomputedAnalysis: p\n };\n let u = performance.now(), h = await e.cache.plans.get(o), f = performance.now();\n if (!h) return null;\n let d = JSON.stringify(h).length, g = performance.now();\n try {\n l = 1 === h.v ? m(h) : h;\n } catch (a) {\n r(\"planner\", \"Plan cache deserialization failed — deleting corrupted entry and rebuilding\");\n try {\n await e.cache.plans.delete?.(o);\n } catch {}\n return t && t.record(s('CacheCorruption', {\n cause: a instanceof Error ? a.message : String(a),\n phase: 'planner',\n recoverable: !0,\n details: {\n globalHash: o\n }\n })), null;\n }\n let k = performance.now();\n return e.debug && (r(\"planner\", \"Plan cache HIT\"), r(\"planner\", ` Size: ${(d / 1024).toFixed(1)}KB`), r(\"planner\", ` IO: ${(f - u).toFixed(2)}ms`), r(\"planner\", ` Deser: ${(k - g).toFixed(2)}ms`)), {\n ...l,\n globalHash: o\n };\n}, savePlanToCacheIfEnabled = async (e, a, t)=>{\n if (!e.cache || !a.globalHash) return;\n let l = performance.now();\n r(\"planner\", \"Saving execution plan to cache...\");\n let n = d(t);\n await e.cache.plans.set(a.globalHash, n);\n let s = performance.now() - l;\n r(\"planner\", ` Plan cache saved in ${s.toFixed(2)}ms`);\n}, collectApplicableRulesFromTasks = (e, a)=>{\n let t = new Set(e.map((e)=>e.ruleName)), r = [];\n for (let e of t){\n let t = a.get(e);\n t && r.push(t);\n }\n return r;\n}, calculateHashFromTasks = (e, a)=>0 === e.length ? \"\" : y(e[0].inputs, a), buildAllTasks = async (e, a, t, r, l = 10000, n = 4, s)=>{\n if (await preclassifyLogicFiles(e, r), e.length >= l) {\n let t = await tryBuildAllTasksParallel(e, a, r, n, s);\n if (t) return t;\n }\n return buildAllTasksSequential(e, a, t, r, s);\n}, preclassifyLogicFiles = async (e, a)=>{\n if (!a) return;\n let t = e.filter((e)=>!a.has(e) && 'logic' === o(e));\n if (0 === t.length) return;\n r(\"planner\", `Level-2 classification: scanning ${t.length} unclassified .ts files for Angular decorators`);\n let l = performance.now();\n for(let e = 0; e < t.length; e += 256){\n let r = t.slice(e, e + 256);\n await Promise.all(r.map(async (e)=>{\n try {\n let t = await p(e, 'utf8');\n a.set(e, c.test(t) ? 'angular-class' : 'logic');\n } catch {\n a.set(e, 'logic');\n }\n }));\n }\n r(\"planner\", `Level-2 classification complete in ${(performance.now() - l).toFixed(1)}ms — upgraded ${[\n ...a.values()\n ].filter((e)=>'angular-class' === e).length} files to 'angular-class'`);\n}, buildAllTasksSequential = async (a, t, r, l, n)=>{\n let s = [];\n for (let i of a){\n let a = getOrDetectFileType(i, l), o = n?.length ? e(i, t, n) : t, c = await h(i, a, o, r);\n s.push(...c);\n }\n return s;\n}, tryBuildAllTasksParallel = async (e, a, t, l, n)=>{\n r(\"planner\", `Parallelizing task discovery across ${l} workers...`);\n try {\n let s = await resolveWorkerPath();\n if (!s) return r(\"planner\", \"Worker script not found, falling back to sequential execution\"), null;\n r(\"planner\", `Using worker: ${s}`);\n let i = splitIntoChunks(e, l);\n r(\"planner\", `Split ${e.length} files into ${i.length} chunks`);\n let o = await runWorkerChunks(i, s, a, t, n);\n return r(\"planner\", `Workers completed. Generated ${o.length} tasks.`), o;\n } catch (e) {\n return r(\"planner\", `Parallel execution failed, falling back to sequential: ${String(e)}`), null;\n }\n}, resolveWorkerPath = async ()=>{\n let { Worker: e } = await import(\"node:worker_threads\"), { fileURLToPath: a } = await import(\"node:url\"), { dirname: t, join: r } = await import(\"node:path\"), { existsSync: l } = await import(\"node:fs\"), n = t(a(import.meta.url));\n for (let e of [\n r(n, \"worker.js\"),\n r(n, \"worker.cjs\"),\n r(n, \"worker.ts\"),\n r(n, \"planner\", \"worker.js\"),\n r(n, \"planner\", \"worker.cjs\")\n ])if (l(e)) return e;\n return null;\n}, splitIntoChunks = (e, a)=>{\n let t = Math.ceil(e.length / a), r = [];\n for(let a = 0; a < e.length; a += t)r.push(e.slice(a, a + t));\n return r;\n}, runWorkerChunks = async (e, a, t, l, n)=>{\n let { Worker: s } = await import(\"node:worker_threads\"), i = Array.from(t.entries()), o = l ? Array.from(l.entries()) : void 0, c = n?.length ? [\n ...n\n ] : void 0, p = e.map((e, t)=>new Promise((l, n)=>{\n let p = new s(a, {\n workerData: {\n files: e,\n rulesEntries: i,\n fileTypeCacheEntries: o,\n overridesData: c\n }\n });\n p.on(\"message\", (e)=>l(e.tasks)), p.on(\"error\", (e)=>{\n r(\"planner\", `Worker ${t} error: ${String(e)}`), n(e instanceof Error ? e : Error(String(e)));\n }), p.on(\"exit\", (e)=>{\n 0 !== e && n(Error(`Worker ${t} stopped with exit code ${e}`));\n });\n }));\n return (await Promise.all(p)).flat();\n}, getOrDetectFileType = (e, a)=>{\n if (!a) return o(e);\n let t = a.get(e);\n if (t) return t;\n let r = o(e);\n return a.set(e, r), r;\n}, convertTasksToPlan = (e, a, t)=>{\n let r = T(e), l = {};\n for (let [e, n] of r){\n let r = getOrDetectFileType(e, t), s = collectApplicableRulesFromTasks(n, a), i = calculateHashFromTasks(n, s), o = n.map((e)=>({\n ruleName: e.ruleName,\n severity: e.severity,\n options: e.options,\n cacheKey: e.taskId,\n inputs: e.inputs,\n needsTypeChecker: e.needsTypeChecker\n }));\n l[e] = {\n file: {\n path: e,\n type: r,\n hash: i\n },\n tasks: o\n };\n }\n return l;\n};\n","export const scanResultToPlanInput = (e, l)=>({\n files: e.files,\n rules: l.rules,\n rootDir: l.rootDir,\n cache: l.cache,\n debug: l.debug,\n incremental: l.incremental,\n cacheKeyCtx: l.cacheKeyCtx,\n parallelThreshold: l.parallelThreshold,\n workerCount: l.workerCount\n });\nexport const hasScanFiles = (e)=>e.files.length > 0;\nexport const getScanFileCount = (e)=>e.files.length;\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ngcompass/planner",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4-beta",
|
|
4
4
|
"description": "Execution planning and incremental analysis for ngcompass",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"minimatch": "^10.2.4",
|
|
25
|
-
"@ngcompass/
|
|
26
|
-
"@ngcompass/
|
|
27
|
-
"@ngcompass/
|
|
25
|
+
"@ngcompass/cache": "0.1.4-beta",
|
|
26
|
+
"@ngcompass/common": "0.1.4-beta",
|
|
27
|
+
"@ngcompass/scanner": "0.1.4-beta"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
30
|
"typescript": "5.9.3"
|