refactor(lint): guard extension runner coverage

This commit is contained in:
Vincent Koc
2026-04-06 15:34:25 +01:00
parent d14121e648
commit 586e5f7289

View File

@@ -55,9 +55,32 @@ function writeTempOxlintConfig(repoRoot, configPath) {
delete config.$schema;
if (Array.isArray(config.ignorePatterns)) {
const extensionsIgnorePattern = config.ignorePatterns.find((pattern) =>
isTopLevelExtensionsIgnorePattern(pattern),
);
if (extensionsIgnorePattern) {
throw new Error(
`Refusing to run extension oxlint with .oxlintrc.json ignore pattern ${JSON.stringify(
extensionsIgnorePattern,
)}. Remove the top-level extensions ignore so root and focused lint agree.`,
);
}
}
fs.writeFileSync(configPath, `${JSON.stringify(config, null, 2)}\n`, "utf8");
}
function isTopLevelExtensionsIgnorePattern(pattern) {
const normalized = pattern
.trim()
.replaceAll("\\", "/")
.replaceAll(/^\.?\//g, "");
return (
normalized === "extensions" || normalized === "extensions/" || normalized === "extensions/**"
);
}
function collectTypeScriptFiles(directoryPath) {
const entries = fs.readdirSync(directoryPath, { withFileTypes: true });
const files = [];