@sarj/eslint-plugin 16.22.3 → 16.23.1
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 +147 -145
- package/dist/index.js +147 -145
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -354,7 +354,7 @@ var TEST_INTEGRATION_BASENAME_RE = /\.integration\.[cm]?[jt]sx?$/;
|
|
|
354
354
|
var TEST_DIR_RE = /(^|\/)(tests?|__tests__|__mocks__|fixtures|__fixtures__|__testfixtures__|e2e|integration)\//;
|
|
355
355
|
var FIXTURE_TREE_RE = /(^|\/)fixture\//;
|
|
356
356
|
function isTestFile(filename, gates = []) {
|
|
357
|
-
const normalized = filename
|
|
357
|
+
const normalized = scopedFilename(filename);
|
|
358
358
|
const base = normalized.slice(normalized.lastIndexOf("/") + 1);
|
|
359
359
|
if (TEST_BASENAME_RE.test(base) || TEST_INTEGRATION_BASENAME_RE.test(base)) {
|
|
360
360
|
return true;
|
|
@@ -365,14 +365,14 @@ function isTestFile(filename, gates = []) {
|
|
|
365
365
|
return gates.includes("fixtureTree") && FIXTURE_TREE_RE.test(normalized);
|
|
366
366
|
}
|
|
367
367
|
function isStoryFile(filename, gates = []) {
|
|
368
|
-
const normalized = filename
|
|
368
|
+
const normalized = scopedFilename(filename);
|
|
369
369
|
if (STORY_FILE_RE.test(normalized)) {
|
|
370
370
|
return true;
|
|
371
371
|
}
|
|
372
372
|
return gates.includes("storyTree") && STORY_TREE_RE.test(normalized);
|
|
373
373
|
}
|
|
374
374
|
function isGeneratedFile(filename, sourceText = "", gates = []) {
|
|
375
|
-
const normalized = filename
|
|
375
|
+
const normalized = scopedFilename(filename);
|
|
376
376
|
if (GENERATED_FILE_RE.test(normalized)) {
|
|
377
377
|
return true;
|
|
378
378
|
}
|
|
@@ -421,7 +421,10 @@ function leadingCommentBodies(sourceText) {
|
|
|
421
421
|
return bodies;
|
|
422
422
|
}
|
|
423
423
|
function isScriptFile(filename) {
|
|
424
|
-
return SCRIPT_FILE_RE.test(filename);
|
|
424
|
+
return SCRIPT_FILE_RE.test(scopedFilename(filename));
|
|
425
|
+
}
|
|
426
|
+
function scopedFilename(input) {
|
|
427
|
+
return (typeof input === "string" ? input : input.filename).replaceAll("\\", "/");
|
|
425
428
|
}
|
|
426
429
|
function matchesAnyPattern(filename, patterns) {
|
|
427
430
|
const normalized = filename.replaceAll("\\", "/");
|
|
@@ -692,7 +695,7 @@ var no_credential_in_browser_storage_default = createRule({
|
|
|
692
695
|
},
|
|
693
696
|
defaultOptions: [],
|
|
694
697
|
create(context) {
|
|
695
|
-
if (isGeneratedFile(context
|
|
698
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
696
699
|
const { sourceCode } = context;
|
|
697
700
|
const report2 = (node, key) => {
|
|
698
701
|
if (key !== null && isAuthSecretName(key) && !tokenize(key).some((word) => METADATA_WORDS.has(word))) {
|
|
@@ -809,7 +812,7 @@ var no_numeric_search_param_coercion_default = createRule({
|
|
|
809
812
|
},
|
|
810
813
|
defaultOptions: [],
|
|
811
814
|
create(context) {
|
|
812
|
-
if (isGeneratedFile(context
|
|
815
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context)) return {};
|
|
813
816
|
let services;
|
|
814
817
|
try {
|
|
815
818
|
services = import_utils6.ESLintUtils.getParserServices(context);
|
|
@@ -866,7 +869,7 @@ function isSearchParamReceiver(call, services) {
|
|
|
866
869
|
// package.json
|
|
867
870
|
var package_default = {
|
|
868
871
|
name: "@sarj/eslint-plugin",
|
|
869
|
-
version: "16.
|
|
872
|
+
version: "16.23.1",
|
|
870
873
|
packageManager: "npm@12.2.0",
|
|
871
874
|
description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
|
|
872
875
|
type: "module",
|
|
@@ -901,7 +904,7 @@ var package_default = {
|
|
|
901
904
|
scripts: {
|
|
902
905
|
build: "tsup",
|
|
903
906
|
dogfood: "npm run build && npm run dogfood:built",
|
|
904
|
-
lint:
|
|
907
|
+
lint: 'node ../standards/src/sarj_standards/configs/eslint-selected-rules.mts "{\\"full\\":true,\\"config\\":null,\\"rules\\":[],\\"consoleOutput\\":true,\\"failOnWarnings\\":true}" -- . ../../.github/scripts ../standards/src ../standards/eslint.config.mts',
|
|
905
908
|
prepack: "npm run build && npm run verify-package",
|
|
906
909
|
test: "vitest run",
|
|
907
910
|
typecheck: "tsc --noEmit && tsc --project tsconfig.tools.json",
|
|
@@ -1038,49 +1041,52 @@ function memberName(node) {
|
|
|
1038
1041
|
if (ts.isElementAccessExpression(node) && ts.isStringLiteralLike(node.argumentExpression)) return node.argumentExpression.text;
|
|
1039
1042
|
return null;
|
|
1040
1043
|
}
|
|
1041
|
-
function ownedSource(source) {
|
|
1042
|
-
|
|
1044
|
+
function ownedSource(source, cwd) {
|
|
1045
|
+
const path = { filename: source.fileName, cwd };
|
|
1046
|
+
return !source.isDeclarationFile && !/(?:^|[/\\])(?:node_modules|vendor|vendored|generated|dist)(?:[/\\])/u.test(scopedFilename(path)) && !isGeneratedFile(path, source.text);
|
|
1043
1047
|
}
|
|
1044
|
-
function escapedClasses(program, checker) {
|
|
1045
|
-
const
|
|
1048
|
+
function escapedClasses(program, checker, cwd) {
|
|
1049
|
+
const scopes = ESCAPED_CLASSES.get(program) ?? /* @__PURE__ */ new Map();
|
|
1050
|
+
const cached = scopes.get(cwd);
|
|
1046
1051
|
if (cached !== void 0) return cached;
|
|
1047
1052
|
const escaped = /* @__PURE__ */ new Set();
|
|
1048
1053
|
const namespaceValues = /* @__PURE__ */ new Map();
|
|
1049
1054
|
function visit(node) {
|
|
1050
1055
|
if (ts.isTypeNode(node) || ts.isImportDeclaration(node)) return;
|
|
1051
1056
|
if (ts.isIdentifier(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) {
|
|
1052
|
-
recordEscapedReference(checker, node, escaped, namespaceValues);
|
|
1057
|
+
recordEscapedReference(checker, node, escaped, namespaceValues, cwd);
|
|
1053
1058
|
}
|
|
1054
1059
|
ts.forEachChild(node, visit);
|
|
1055
1060
|
}
|
|
1056
|
-
for (const source of program.getSourceFiles()) if (ownedSource(source)) visit(source);
|
|
1057
|
-
|
|
1061
|
+
for (const source of program.getSourceFiles()) if (ownedSource(source, cwd)) visit(source);
|
|
1062
|
+
scopes.set(cwd, escaped);
|
|
1063
|
+
ESCAPED_CLASSES.set(program, scopes);
|
|
1058
1064
|
return escaped;
|
|
1059
1065
|
}
|
|
1060
|
-
function recordEscapedReference(checker, node, escaped, namespaceValues) {
|
|
1066
|
+
function recordEscapedReference(checker, node, escaped, namespaceValues, cwd) {
|
|
1061
1067
|
const symbol = canonicalSymbol(checker, node);
|
|
1062
1068
|
if (symbol !== void 0) {
|
|
1063
1069
|
let values = namespaceValues.get(symbol);
|
|
1064
1070
|
if (values === void 0) {
|
|
1065
|
-
values = ownedClassValues(checker, symbol);
|
|
1071
|
+
values = ownedClassValues(checker, symbol, cwd);
|
|
1066
1072
|
namespaceValues.set(symbol, values);
|
|
1067
1073
|
}
|
|
1068
1074
|
if (!namespacePrefix(symbol, node) && !safeClassReference(node)) for (const value of values) escaped.add(value);
|
|
1069
1075
|
}
|
|
1070
1076
|
if (ts.isElementAccessExpression(node) && !safeClassReference(node)) {
|
|
1071
1077
|
const receiver = canonicalSymbol(checker, node.expression) ?? checker.getTypeAtLocation(node.expression).getSymbol();
|
|
1072
|
-
if (receiver !== void 0) for (const value of ownedClassValues(checker, receiver)) escaped.add(value);
|
|
1078
|
+
if (receiver !== void 0) for (const value of ownedClassValues(checker, receiver, cwd)) escaped.add(value);
|
|
1073
1079
|
}
|
|
1074
1080
|
}
|
|
1075
|
-
function ownedClassValues(checker, original, seen = /* @__PURE__ */ new Set()) {
|
|
1081
|
+
function ownedClassValues(checker, original, cwd, seen = /* @__PURE__ */ new Set()) {
|
|
1076
1082
|
const symbol = original.flags & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(original) : original;
|
|
1077
1083
|
const values = /* @__PURE__ */ new Set();
|
|
1078
1084
|
if (seen.has(symbol)) return values;
|
|
1079
1085
|
seen.add(symbol);
|
|
1080
|
-
if (symbol.declarations?.some((declaration) => ts.isClassDeclaration(declaration) && ownedSource(declaration.getSourceFile()))) values.add(symbol);
|
|
1081
|
-
if (symbol.declarations?.some((declaration) => (ts.isSourceFile(declaration) || ts.isModuleDeclaration(declaration)) && ownedSource(declaration.getSourceFile()))) {
|
|
1086
|
+
if (symbol.declarations?.some((declaration) => ts.isClassDeclaration(declaration) && ownedSource(declaration.getSourceFile(), cwd))) values.add(symbol);
|
|
1087
|
+
if (symbol.declarations?.some((declaration) => (ts.isSourceFile(declaration) || ts.isModuleDeclaration(declaration)) && ownedSource(declaration.getSourceFile(), cwd))) {
|
|
1082
1088
|
for (const exported of checker.getExportsOfModule(symbol)) {
|
|
1083
|
-
for (const value of ownedClassValues(checker, exported, seen)) values.add(value);
|
|
1089
|
+
for (const value of ownedClassValues(checker, exported, cwd, seen)) values.add(value);
|
|
1084
1090
|
}
|
|
1085
1091
|
}
|
|
1086
1092
|
return values;
|
|
@@ -1096,7 +1102,7 @@ function namespacePrefix(symbol, node) {
|
|
|
1096
1102
|
const memberCall = (ts.isPropertyAccessExpression(parent) || ts.isElementAccessExpression(parent)) && ts.isCallExpression(parent.parent) && parent.parent.expression === parent;
|
|
1097
1103
|
return !symbol.declarations?.some(ts.isClassDeclaration) && (ts.isPropertyAccessExpression(parent) || ts.isElementAccessExpression(parent)) && parent.expression === node && !memberCall;
|
|
1098
1104
|
}
|
|
1099
|
-
function closedNominalBoundary(program, checker, call, consumer, missing) {
|
|
1105
|
+
function closedNominalBoundary(program, checker, call, consumer, missing, cwd) {
|
|
1100
1106
|
const { implementation, contractSymbol } = missing;
|
|
1101
1107
|
const implementationSymbol = implementation.name === void 0 ? void 0 : canonicalSymbol(checker, implementation.name);
|
|
1102
1108
|
const consumerSymbol = consumer.name === void 0 ? void 0 : canonicalSymbol(checker, consumer.name);
|
|
@@ -1105,7 +1111,7 @@ function closedNominalBoundary(program, checker, call, consumer, missing) {
|
|
|
1105
1111
|
if (contract === void 0) return false;
|
|
1106
1112
|
const targets = /* @__PURE__ */ new Set([consumerSymbol, ...classHierarchySymbols(checker, contract), ...classHierarchySymbols(checker, implementation)]);
|
|
1107
1113
|
const sources = /* @__PURE__ */ new Set([call.getSourceFile(), consumer.getSourceFile(), implementation.getSourceFile(), ...contractSymbol.declarations?.map((item) => item.getSourceFile()) ?? []]);
|
|
1108
|
-
return ![...sources].some(hasPrototypeMutation) && ![...targets].some((target) => escapedClasses(program, checker).has(target));
|
|
1114
|
+
return ![...sources].some(hasPrototypeMutation) && ![...targets].some((target) => escapedClasses(program, checker, cwd).has(target));
|
|
1109
1115
|
}
|
|
1110
1116
|
function classHierarchySymbols(checker, declaration, seen = /* @__PURE__ */ new Set()) {
|
|
1111
1117
|
const symbol = declaration.name === void 0 ? void 0 : canonicalSymbol(checker, declaration.name);
|
|
@@ -1228,7 +1234,7 @@ var require_explicit_contract_implementation_default = createRule({
|
|
|
1228
1234
|
},
|
|
1229
1235
|
defaultOptions: [],
|
|
1230
1236
|
create(context) {
|
|
1231
|
-
if (isGeneratedFile(context
|
|
1237
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
1232
1238
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap) return {};
|
|
1233
1239
|
const services = import_utils7.ESLintUtils.getParserServices(context);
|
|
1234
1240
|
const checker = services.program.getTypeChecker();
|
|
@@ -1246,7 +1252,7 @@ var require_explicit_contract_implementation_default = createRule({
|
|
|
1246
1252
|
if (parameter === void 0) continue;
|
|
1247
1253
|
const tsArgument = services.esTreeNodeToTSNodeMap.get(argument);
|
|
1248
1254
|
const missing = missingImplementation(checker, signature, parameter, tsNode, tsArgument);
|
|
1249
|
-
if (missing === null || !closedNominalBoundary(services.program, checker, tsNode, consumer, missing)) continue;
|
|
1255
|
+
if (missing === null || !closedNominalBoundary(services.program, checker, tsNode, consumer, missing, context.cwd)) continue;
|
|
1250
1256
|
context.report({
|
|
1251
1257
|
node: argument,
|
|
1252
1258
|
messageId: "declareActualContract",
|
|
@@ -1845,9 +1851,8 @@ var require_port_for_service_default = createRule({
|
|
|
1845
1851
|
},
|
|
1846
1852
|
defaultOptions: [],
|
|
1847
1853
|
create(context) {
|
|
1848
|
-
|
|
1849
|
-
if (
|
|
1850
|
-
if (isGeneratedFile(filename, context.sourceCode.getText())) return {};
|
|
1854
|
+
if (isTestFile(context) || isStoryFile(context) || isScriptFile(context)) return {};
|
|
1855
|
+
if (isGeneratedFile(context, context.sourceCode.getText())) return {};
|
|
1851
1856
|
let declaredTypes = null;
|
|
1852
1857
|
const detachedExports = detachedValueExports(context.sourceCode.ast);
|
|
1853
1858
|
const localClasses = localClassAbstractness(context.sourceCode.ast);
|
|
@@ -2122,14 +2127,14 @@ var require_explicit_service_contract_default = createRule({
|
|
|
2122
2127
|
},
|
|
2123
2128
|
defaultOptions: [],
|
|
2124
2129
|
create(context) {
|
|
2125
|
-
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isGeneratedFile(context
|
|
2130
|
+
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2126
2131
|
const program = context.sourceCode.ast;
|
|
2127
2132
|
const operationsFor = createServiceOperationResolver(program);
|
|
2128
2133
|
const isExportedServiceClass = createExportedServiceClassResolver(program);
|
|
2129
2134
|
return {
|
|
2130
2135
|
ClassDeclaration(node) {
|
|
2131
2136
|
if (node.id === null || node.abstract || node.decorators.length > 0 || !isServiceRole(node.id.name, context.filename)) return;
|
|
2132
|
-
if (isExportedServiceClass(node) && !isTestFile(context
|
|
2137
|
+
if (isExportedServiceClass(node) && !isTestFile(context) && !isStoryFile(context) && !isScriptFile(context)) return;
|
|
2133
2138
|
const operations = operationsFor(node);
|
|
2134
2139
|
if (operations.length === 0 || hasDeclaredServiceContract(node, operations, program) !== false) return;
|
|
2135
2140
|
context.report({
|
|
@@ -2211,7 +2216,7 @@ var no_conditional_empty_object_spread_default = createRule({
|
|
|
2211
2216
|
},
|
|
2212
2217
|
defaultOptions: [],
|
|
2213
2218
|
create(context) {
|
|
2214
|
-
if (isGeneratedFile(context
|
|
2219
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2215
2220
|
return {
|
|
2216
2221
|
SpreadElement(node) {
|
|
2217
2222
|
if (node.parent.type !== import_utils10.AST_NODE_TYPES.ObjectExpression || node.argument.type !== import_utils10.AST_NODE_TYPES.ConditionalExpression)
|
|
@@ -2283,7 +2288,7 @@ var prefer_typed_reflection_default = createRule({
|
|
|
2283
2288
|
},
|
|
2284
2289
|
defaultOptions: [],
|
|
2285
2290
|
create(context) {
|
|
2286
|
-
if (isGeneratedFile(context
|
|
2291
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2287
2292
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap)
|
|
2288
2293
|
return {};
|
|
2289
2294
|
const services = import_utils11.ESLintUtils.getParserServices(context);
|
|
@@ -2400,7 +2405,7 @@ var no_broad_return_type_default = createRule({
|
|
|
2400
2405
|
},
|
|
2401
2406
|
defaultOptions: [],
|
|
2402
2407
|
create(context) {
|
|
2403
|
-
if (isGeneratedFile(context
|
|
2408
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2404
2409
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap)
|
|
2405
2410
|
return {};
|
|
2406
2411
|
const services = import_utils12.ESLintUtils.getParserServices(context);
|
|
@@ -2476,7 +2481,7 @@ var no_reduce_accumulator_copy_default = createRule({
|
|
|
2476
2481
|
} },
|
|
2477
2482
|
defaultOptions: [],
|
|
2478
2483
|
create(context) {
|
|
2479
|
-
if (isGeneratedFile(context
|
|
2484
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2480
2485
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap) return {};
|
|
2481
2486
|
const services = import_utils13.ESLintUtils.getParserServices(context);
|
|
2482
2487
|
const program = services.program;
|
|
@@ -2563,7 +2568,7 @@ var no_known_value_widening_default = createRule({
|
|
|
2563
2568
|
},
|
|
2564
2569
|
defaultOptions: [],
|
|
2565
2570
|
create(context) {
|
|
2566
|
-
if (isGeneratedFile(context
|
|
2571
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2567
2572
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap) return {};
|
|
2568
2573
|
const services = import_utils14.ESLintUtils.getParserServices(context);
|
|
2569
2574
|
if (services.program === null) return {};
|
|
@@ -2617,7 +2622,7 @@ var no_invalid_typed_mutation_default = createRule({
|
|
|
2617
2622
|
},
|
|
2618
2623
|
defaultOptions: [],
|
|
2619
2624
|
create(context) {
|
|
2620
|
-
if (isGeneratedFile(context
|
|
2625
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
2621
2626
|
const services = import_utils15.ESLintUtils.getParserServices(context);
|
|
2622
2627
|
const checker = services.program.getTypeChecker();
|
|
2623
2628
|
const candidates = [];
|
|
@@ -3022,7 +3027,7 @@ var no_contradictory_type_predicate_default = createRule({
|
|
|
3022
3027
|
},
|
|
3023
3028
|
defaultOptions: [],
|
|
3024
3029
|
create(context) {
|
|
3025
|
-
if (isGeneratedFile(context
|
|
3030
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3026
3031
|
const services = import_utils17.ESLintUtils.getParserServices(context);
|
|
3027
3032
|
const checker = services.program.getTypeChecker();
|
|
3028
3033
|
const uncheckedArray = contradictoryArrayPredicate(context.sourceCode, services);
|
|
@@ -3183,7 +3188,7 @@ var no_partial_type_predicate_default = createRule({
|
|
|
3183
3188
|
},
|
|
3184
3189
|
defaultOptions: [],
|
|
3185
3190
|
create(context) {
|
|
3186
|
-
if (isGeneratedFile(context
|
|
3191
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3187
3192
|
const services = import_utils18.ESLintUtils.getParserServices(context);
|
|
3188
3193
|
function inspect(node) {
|
|
3189
3194
|
const predicate = primitivePredicate(node, services);
|
|
@@ -3620,7 +3625,7 @@ var no_boolean_selector_parameter_default = createRule({
|
|
|
3620
3625
|
},
|
|
3621
3626
|
defaultOptions: [],
|
|
3622
3627
|
create(context) {
|
|
3623
|
-
if (isGeneratedFile(context
|
|
3628
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3624
3629
|
const services = import_utils20.ESLintUtils.getParserServices(context);
|
|
3625
3630
|
const reported = /* @__PURE__ */ new Set();
|
|
3626
3631
|
function report2(identifier) {
|
|
@@ -3710,7 +3715,7 @@ var no_invalid_zod_custom_parse_default = createRule({
|
|
|
3710
3715
|
},
|
|
3711
3716
|
defaultOptions: [],
|
|
3712
3717
|
create(context) {
|
|
3713
|
-
if (isGeneratedFile(context
|
|
3718
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3714
3719
|
const services = import_utils22.ESLintUtils.getParserServices(context);
|
|
3715
3720
|
const checker = services.program.getTypeChecker();
|
|
3716
3721
|
const options = services.program.getCompilerOptions();
|
|
@@ -3827,7 +3832,7 @@ var no_contradictory_overload_return_default = createRule({
|
|
|
3827
3832
|
},
|
|
3828
3833
|
defaultOptions: [],
|
|
3829
3834
|
create(context) {
|
|
3830
|
-
if (isGeneratedFile(context
|
|
3835
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3831
3836
|
const services = import_utils23.ESLintUtils.getParserServices(context);
|
|
3832
3837
|
const checker = services.program.getTypeChecker();
|
|
3833
3838
|
const options = services.program.getCompilerOptions();
|
|
@@ -4178,7 +4183,7 @@ var require_button_accessible_name_default = createRule({
|
|
|
4178
4183
|
},
|
|
4179
4184
|
defaultOptions: [{}],
|
|
4180
4185
|
create(context, [options]) {
|
|
4181
|
-
if (isGeneratedFile(context
|
|
4186
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context) || isStoryFile(context))
|
|
4182
4187
|
return {};
|
|
4183
4188
|
const iconModules = options?.iconModules ?? ["lucide-react"];
|
|
4184
4189
|
return {
|
|
@@ -4256,7 +4261,7 @@ var require_camelcase_properties_default = createRule({
|
|
|
4256
4261
|
},
|
|
4257
4262
|
defaultOptions: [],
|
|
4258
4263
|
create(context) {
|
|
4259
|
-
if (isGeneratedFile(context
|
|
4264
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
4260
4265
|
const checkProperty = (node) => {
|
|
4261
4266
|
if (node.computed === true || node.key.type !== import_utils26.AST_NODE_TYPES.Identifier) return;
|
|
4262
4267
|
if (!SNAKE_CASE_RE.test(node.key.name)) return;
|
|
@@ -4335,7 +4340,7 @@ var require_svg_accessible_name_default = createRule({
|
|
|
4335
4340
|
},
|
|
4336
4341
|
defaultOptions: [],
|
|
4337
4342
|
create(context) {
|
|
4338
|
-
if (isGeneratedFile(context
|
|
4343
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context) || isStoryFile(context))
|
|
4339
4344
|
return {};
|
|
4340
4345
|
return {
|
|
4341
4346
|
JSXElement(node) {
|
|
@@ -4496,7 +4501,7 @@ var prefer_logical_tailwind_utilities_default = createRule({
|
|
|
4496
4501
|
},
|
|
4497
4502
|
defaultOptions: [{ enabled: true, checkInsets: false, allowUtilities: [] }],
|
|
4498
4503
|
create(context, [options]) {
|
|
4499
|
-
if (options?.enabled === false || isGeneratedFile(context
|
|
4504
|
+
if (options?.enabled === false || isGeneratedFile(context, context.sourceCode.text) || isTestFile(context) || isStoryFile(context))
|
|
4500
4505
|
return {};
|
|
4501
4506
|
return {
|
|
4502
4507
|
JSXOpeningElement(node) {
|
|
@@ -4645,7 +4650,7 @@ var no_unlocalized_toast_default = createRule({
|
|
|
4645
4650
|
},
|
|
4646
4651
|
defaultOptions: [{ enabled: true }],
|
|
4647
4652
|
create(context, [options]) {
|
|
4648
|
-
if (localizationExcluded(context
|
|
4653
|
+
if (localizationExcluded(context, context.sourceCode.text, options))
|
|
4649
4654
|
return {};
|
|
4650
4655
|
const functions = options?.functions ?? [
|
|
4651
4656
|
{ module: "sonner", export: "toast" },
|
|
@@ -4757,7 +4762,7 @@ var no_unlocalized_jsx_attributes_default = createRule({
|
|
|
4757
4762
|
},
|
|
4758
4763
|
defaultOptions: [{ enabled: true }],
|
|
4759
4764
|
create(context, [options]) {
|
|
4760
|
-
if (localizationExcluded(context
|
|
4765
|
+
if (localizationExcluded(context, context.sourceCode.text, options))
|
|
4761
4766
|
return {};
|
|
4762
4767
|
const attributes = options?.attributes ?? [
|
|
4763
4768
|
"title",
|
|
@@ -4835,7 +4840,7 @@ var no_unlocalized_jsx_text_default = createRule({
|
|
|
4835
4840
|
},
|
|
4836
4841
|
defaultOptions: [{ enabled: true }],
|
|
4837
4842
|
create(context, [options]) {
|
|
4838
|
-
if (localizationExcluded(context
|
|
4843
|
+
if (localizationExcluded(context, context.sourceCode.text, options))
|
|
4839
4844
|
return {};
|
|
4840
4845
|
return {
|
|
4841
4846
|
JSXText(node) {
|
|
@@ -5127,7 +5132,7 @@ var enforce_file_structure_default = createRule({
|
|
|
5127
5132
|
},
|
|
5128
5133
|
defaultOptions: [],
|
|
5129
5134
|
create(context) {
|
|
5130
|
-
if (isTestFile(context
|
|
5135
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
5131
5136
|
return {};
|
|
5132
5137
|
}
|
|
5133
5138
|
return {
|
|
@@ -5509,7 +5514,7 @@ var duplicate_test_body_default = createRule({
|
|
|
5509
5514
|
},
|
|
5510
5515
|
defaultOptions: [],
|
|
5511
5516
|
create(context) {
|
|
5512
|
-
if (!isTestFile(context
|
|
5517
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
5513
5518
|
return {};
|
|
5514
5519
|
}
|
|
5515
5520
|
const siblings = /* @__PURE__ */ new Map();
|
|
@@ -5751,7 +5756,7 @@ var excessive_commentary_default = createRule({
|
|
|
5751
5756
|
create(context) {
|
|
5752
5757
|
return {
|
|
5753
5758
|
Program() {
|
|
5754
|
-
for (const group of proseGroups(context
|
|
5759
|
+
for (const group of proseGroups(context, context.sourceCode)) {
|
|
5755
5760
|
const lines = lineCount(group.text);
|
|
5756
5761
|
const words2 = wordCount(group.text);
|
|
5757
5762
|
if (isJSDoc(group.comment)) {
|
|
@@ -6542,7 +6547,7 @@ var no_comment_cruft_default = createRule({
|
|
|
6542
6547
|
},
|
|
6543
6548
|
defaultOptions: [],
|
|
6544
6549
|
create(context) {
|
|
6545
|
-
if (isGeneratedFile(context
|
|
6550
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
6546
6551
|
return {};
|
|
6547
6552
|
}
|
|
6548
6553
|
const sourceCode = context.sourceCode;
|
|
@@ -6641,7 +6646,7 @@ var no_comment_cruft_default = createRule({
|
|
|
6641
6646
|
return {
|
|
6642
6647
|
Program() {
|
|
6643
6648
|
const comments = sourceCode.getAllComments();
|
|
6644
|
-
const callMatrixStems = isTestFile(context
|
|
6649
|
+
const callMatrixStems = isTestFile(context) ? testCallMatrixStems(comments) : /* @__PURE__ */ new Set();
|
|
6645
6650
|
const walls = findCommentWalls(comments);
|
|
6646
6651
|
const wallByLeader = new Map(walls.map((wall) => [wall.leader, wall]));
|
|
6647
6652
|
const wallMembers = new Set(walls.flatMap((wall) => [...wall.members]));
|
|
@@ -7090,7 +7095,7 @@ var no_duplicate_lifecycle_refresh_listeners_default = createRule({
|
|
|
7090
7095
|
},
|
|
7091
7096
|
defaultOptions: [],
|
|
7092
7097
|
create(context) {
|
|
7093
|
-
if (isTestFile(context
|
|
7098
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
7094
7099
|
const routerHooks = /* @__PURE__ */ new Set();
|
|
7095
7100
|
const routers = /* @__PURE__ */ new Set();
|
|
7096
7101
|
const functionCallbacks = /* @__PURE__ */ new Map();
|
|
@@ -7761,7 +7766,7 @@ var no_enum_default = createRule({
|
|
|
7761
7766
|
const filename = context.filename;
|
|
7762
7767
|
const sourceText = context.sourceCode.getText();
|
|
7763
7768
|
const isIgnoredByOption = ignoreFiles.length > 0 && matchesAnyPattern(filename, ignoreFiles);
|
|
7764
|
-
if (isIgnoredByOption || isGeneratedFile(
|
|
7769
|
+
if (isIgnoredByOption || isGeneratedFile(context, sourceText)) {
|
|
7765
7770
|
return {};
|
|
7766
7771
|
}
|
|
7767
7772
|
return {
|
|
@@ -7915,7 +7920,7 @@ var no_excessive_cognitive_complexity_default = createRule({
|
|
|
7915
7920
|
},
|
|
7916
7921
|
defaultOptions: [],
|
|
7917
7922
|
create(context) {
|
|
7918
|
-
if (isGeneratedFile(context
|
|
7923
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
7919
7924
|
function check(node) {
|
|
7920
7925
|
const points = functionComplexity(node, context.sourceCode.visitorKeys);
|
|
7921
7926
|
const score = points.reduce((sum, point) => sum + point.amount, 0);
|
|
@@ -8316,7 +8321,7 @@ var no_fat_try_blocks_default = createRule({
|
|
|
8316
8321
|
},
|
|
8317
8322
|
defaultOptions: [{ max: MAX_TRY_BODY_STATEMENTS }],
|
|
8318
8323
|
create(context, [options]) {
|
|
8319
|
-
if (isGeneratedFile(context
|
|
8324
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
8320
8325
|
return {};
|
|
8321
8326
|
}
|
|
8322
8327
|
const sourceCode = context.sourceCode;
|
|
@@ -8494,7 +8499,7 @@ var no_hand_rolled_sleep_default = createRule({
|
|
|
8494
8499
|
defaultOptions: [{}],
|
|
8495
8500
|
create(context, [optionsArg]) {
|
|
8496
8501
|
const { filename, sourceCode } = context;
|
|
8497
|
-
if (isTestFile(
|
|
8502
|
+
if (isTestFile(context) || isScriptFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
8498
8503
|
return {};
|
|
8499
8504
|
}
|
|
8500
8505
|
const allowIn = optionsArg?.allowIn ?? [];
|
|
@@ -8641,7 +8646,7 @@ var no_hand_rolled_spinner_default = createRule({
|
|
|
8641
8646
|
},
|
|
8642
8647
|
defaultOptions: [],
|
|
8643
8648
|
create(context) {
|
|
8644
|
-
if (DESIGN_SYSTEM_PATH.test(context.filename) || isTestFile(context
|
|
8649
|
+
if (DESIGN_SYSTEM_PATH.test(context.filename) || isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
8645
8650
|
return {};
|
|
8646
8651
|
}
|
|
8647
8652
|
return {
|
|
@@ -8762,7 +8767,7 @@ var no_insecure_random_id_default = createRule({
|
|
|
8762
8767
|
},
|
|
8763
8768
|
defaultOptions: [],
|
|
8764
8769
|
create(context) {
|
|
8765
|
-
if (isTestFile(context
|
|
8770
|
+
if (isTestFile(context)) {
|
|
8766
8771
|
return {};
|
|
8767
8772
|
}
|
|
8768
8773
|
return {
|
|
@@ -8852,7 +8857,7 @@ var no_detached_global_fetch_default = createRule({
|
|
|
8852
8857
|
defaultOptions: [],
|
|
8853
8858
|
create(context) {
|
|
8854
8859
|
const sourceCode = context.sourceCode;
|
|
8855
|
-
if (isTestFile(context
|
|
8860
|
+
if (isTestFile(context) || isScriptFile(context) || isGeneratedFile(context, sourceCode.text)) return {};
|
|
8856
8861
|
const aliases = /* @__PURE__ */ new Set();
|
|
8857
8862
|
function bindingOf(identifier) {
|
|
8858
8863
|
return import_utils52.ASTUtils.findVariable(sourceCode.getScope(identifier), identifier.name);
|
|
@@ -9010,7 +9015,7 @@ var no_exception_text_in_5xx_response_default = createRule({
|
|
|
9010
9015
|
defaultOptions: [],
|
|
9011
9016
|
create(context) {
|
|
9012
9017
|
const sourceCode = context.sourceCode;
|
|
9013
|
-
if (isTestFile(context
|
|
9018
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.text)) return {};
|
|
9014
9019
|
const candidates = [];
|
|
9015
9020
|
const changedErrors = /* @__PURE__ */ new Set();
|
|
9016
9021
|
const stableBindings = /* @__PURE__ */ new WeakMap();
|
|
@@ -9738,7 +9743,7 @@ var no_json_stringify_object_equality_default = createRule({
|
|
|
9738
9743
|
defaultOptions: [],
|
|
9739
9744
|
create(context) {
|
|
9740
9745
|
const sourceCode = context.sourceCode;
|
|
9741
|
-
if (isTestFile(context
|
|
9746
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.text)) {
|
|
9742
9747
|
return {};
|
|
9743
9748
|
}
|
|
9744
9749
|
let services;
|
|
@@ -9932,7 +9937,7 @@ var no_impossible_zod_literal_bounds_default = createRule({
|
|
|
9932
9937
|
defaultOptions: [{}],
|
|
9933
9938
|
create(context, [options]) {
|
|
9934
9939
|
const sourceCode = context.sourceCode;
|
|
9935
|
-
if (isTestFile(context
|
|
9940
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
9936
9941
|
return {};
|
|
9937
9942
|
}
|
|
9938
9943
|
const namespaces = /* @__PURE__ */ new Set();
|
|
@@ -10211,7 +10216,7 @@ var no_in_operator_on_built_in_collections_default = createRule({
|
|
|
10211
10216
|
},
|
|
10212
10217
|
defaultOptions: [],
|
|
10213
10218
|
create(context) {
|
|
10214
|
-
if (isGeneratedFile(context
|
|
10219
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
10215
10220
|
let services;
|
|
10216
10221
|
try {
|
|
10217
10222
|
services = import_utils57.ESLintUtils.getParserServices(context);
|
|
@@ -10340,7 +10345,7 @@ var no_redundant_optional_array_default_default = createRule({
|
|
|
10340
10345
|
defaultOptions: [],
|
|
10341
10346
|
create(context) {
|
|
10342
10347
|
const sourceCode = context.sourceCode;
|
|
10343
|
-
if (isTestFile(context
|
|
10348
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
10344
10349
|
return {};
|
|
10345
10350
|
}
|
|
10346
10351
|
const namespaces = /* @__PURE__ */ new Set();
|
|
@@ -10534,7 +10539,7 @@ var interface_contract_members_private_default = createRule({
|
|
|
10534
10539
|
},
|
|
10535
10540
|
defaultOptions: [],
|
|
10536
10541
|
create(context) {
|
|
10537
|
-
if (isGeneratedFile(context
|
|
10542
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
10538
10543
|
let services;
|
|
10539
10544
|
try {
|
|
10540
10545
|
services = import_utils60.ESLintUtils.getParserServices(context);
|
|
@@ -10830,7 +10835,7 @@ var no_log_only_catch_default = createRule({
|
|
|
10830
10835
|
const above = sourceCode.getCommentsBefore(node).at(-1);
|
|
10831
10836
|
return above !== void 0 && above.loc.end.line === node.loc.start.line - 1;
|
|
10832
10837
|
}
|
|
10833
|
-
if (isTestFile(
|
|
10838
|
+
if (isTestFile(context) || BENCHMARK_DIR_RE.test(filename.replaceAll("\\", "/"))) {
|
|
10834
10839
|
return {};
|
|
10835
10840
|
}
|
|
10836
10841
|
return {
|
|
@@ -11002,7 +11007,7 @@ var no_bare_return_from_test_catch_default = createRule({
|
|
|
11002
11007
|
},
|
|
11003
11008
|
defaultOptions: [],
|
|
11004
11009
|
create(context) {
|
|
11005
|
-
if (!isTestFile(context
|
|
11010
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
11006
11011
|
return {
|
|
11007
11012
|
ReturnStatement(node) {
|
|
11008
11013
|
if (node.argument !== null) return;
|
|
@@ -11129,7 +11134,7 @@ var no_bespoke_api_case_conversion_default = createRule({
|
|
|
11129
11134
|
create(context) {
|
|
11130
11135
|
const filename = context.filename.replaceAll("\\", "/");
|
|
11131
11136
|
const basename = filename.slice(filename.lastIndexOf("/") + 1);
|
|
11132
|
-
if (!ADAPTER_BASENAME_RE.test(basename) || isGeneratedFile(
|
|
11137
|
+
if (!ADAPTER_BASENAME_RE.test(basename) || isGeneratedFile(context, context.sourceCode.text) || isTestFile(context, ["fixtureTree"])) {
|
|
11133
11138
|
return {};
|
|
11134
11139
|
}
|
|
11135
11140
|
const hasApiReceiver = (value) => {
|
|
@@ -11261,7 +11266,7 @@ var no_long_comment_default = createRule({
|
|
|
11261
11266
|
if (VERSIONED_DEPENDENCY_TREE_RE.test(normalizedFilename)) return {};
|
|
11262
11267
|
return {
|
|
11263
11268
|
Program() {
|
|
11264
|
-
for (const group of proseGroups(context
|
|
11269
|
+
for (const group of proseGroups(context, context.sourceCode)) {
|
|
11265
11270
|
if (group.comment.type !== "Block" || !group.comment.value.startsWith("*") || group.hasTypedTags || hasDocumentationStructure(group.text) || hasTechnicalAnchor(group.text) || documentsTypedFunction(context.sourceCode, group.comment) || documentsTypeOrMember2(context.sourceCode, group.comment) || sentenceUnits(group.text) < EXCESSIVE_SENTENCE_COUNT && wordUnits(group.text) < EXCESSIVE_WORD_COUNT) continue;
|
|
11266
11271
|
context.report({ node: group.comment, messageId: "tooLong" });
|
|
11267
11272
|
}
|
|
@@ -11273,7 +11278,7 @@ var no_long_comment_default = createRule({
|
|
|
11273
11278
|
// src/rules/no-vague-suppression-description.ts
|
|
11274
11279
|
var ESLINT_DIRECTIVE_WITH_DESCRIPTION_RE = /^eslint-(?:disable|disable-next-line|disable-line)\b[^:\n]*?\s*(?::|--)\s*(.+?)\s*$/iu;
|
|
11275
11280
|
var TS_EXPECT_ERROR_WITH_DESCRIPTION_RE = /^@ts-expect-error\b(?:(?:\s*(?::|--)\s*)|\s+)(.+?)\s*$/iu;
|
|
11276
|
-
var VAGUE_RE = /^(?:needed|required|intentional(?:ly)?|ignore(?:d)?|false positive|type error|typescript|to satisfy (?:the )?(?:linter|typescript|type checker))\.?$/iu;
|
|
11281
|
+
var VAGUE_RE = /^(?:needed|required|same|n\/a|legacy|intentional(?:ly)?|ignore(?:d)?|false positive|type error|typescript|to satisfy (?:the )?(?:linter|typescript|type checker))\.?$/iu;
|
|
11277
11282
|
var NO_VAGUE_SUPPRESSION_DESCRIPTION_DOCUMENTATION = {
|
|
11278
11283
|
summary: "Require suppression descriptions to name the concrete mismatch or invariant instead of a generic non-reason.",
|
|
11279
11284
|
rationale: "Generic phrases satisfy require-description mechanically while leaving reviewers unable to audit the risk or remove stale debt.",
|
|
@@ -11282,7 +11287,7 @@ var NO_VAGUE_SUPPRESSION_DESCRIPTION_DOCUMENTATION = {
|
|
|
11282
11287
|
limitations: [
|
|
11283
11288
|
"Only ESLint disable comments and TypeScript expect-error directives are checked.",
|
|
11284
11289
|
"The rule uses a small anchored vocabulary and does not score prose quality generally.",
|
|
11285
|
-
"
|
|
11290
|
+
"Descriptions outside that exact vocabulary are excluded; an unflagged reason is not proof of a justified suppression. Missing descriptions remain owned by the upstream description requirement. Explicit path exclusions own generated-source boundaries; a source marker does not waive suppression accountability."
|
|
11286
11291
|
],
|
|
11287
11292
|
examples: [
|
|
11288
11293
|
{
|
|
@@ -11333,15 +11338,13 @@ var no_vague_suppression_description_default = createRule({
|
|
|
11333
11338
|
},
|
|
11334
11339
|
defaultOptions: [],
|
|
11335
11340
|
create(context) {
|
|
11336
|
-
if (isGeneratedFile(context.filename, context.sourceCode.text)) {
|
|
11337
|
-
return {};
|
|
11338
|
-
}
|
|
11339
11341
|
return {
|
|
11340
11342
|
Program() {
|
|
11341
11343
|
for (const comment of context.sourceCode.getAllComments()) {
|
|
11342
11344
|
const text = comment.value.trim();
|
|
11343
11345
|
const description = suppressionDescription(text);
|
|
11344
|
-
if (description === void 0 || !VAGUE_RE.test(description))
|
|
11346
|
+
if (description === void 0 || !VAGUE_RE.test(description))
|
|
11347
|
+
continue;
|
|
11345
11348
|
context.report({
|
|
11346
11349
|
loc: comment.loc,
|
|
11347
11350
|
messageId: "vagueDescription",
|
|
@@ -11527,7 +11530,7 @@ var no_generic_single_export_module_default = createRule({
|
|
|
11527
11530
|
create(context) {
|
|
11528
11531
|
const file = fileParts(context.filename);
|
|
11529
11532
|
const { stem: stem4 } = file;
|
|
11530
|
-
if (!GENERIC_MODULE_STEMS.has(stem4) || isTestFile(context
|
|
11533
|
+
if (!GENERIC_MODULE_STEMS.has(stem4) || isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
11531
11534
|
let hasCommonJsExport = false;
|
|
11532
11535
|
return {
|
|
11533
11536
|
"CallExpression, MemberExpression"(node) {
|
|
@@ -11586,7 +11589,7 @@ var no_offset_pagination_default = createRule({
|
|
|
11586
11589
|
},
|
|
11587
11590
|
defaultOptions: [],
|
|
11588
11591
|
create(context) {
|
|
11589
|
-
if (isTestFile(context
|
|
11592
|
+
if (isTestFile(context)) {
|
|
11590
11593
|
return {};
|
|
11591
11594
|
}
|
|
11592
11595
|
return createSqlListener((sql, node) => {
|
|
@@ -11855,7 +11858,7 @@ var no_positional_tuple_return_default = createRule({
|
|
|
11855
11858
|
},
|
|
11856
11859
|
defaultOptions: [],
|
|
11857
11860
|
create(context) {
|
|
11858
|
-
if (isGeneratedFile(context
|
|
11861
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
11859
11862
|
const specifierExports = specifierExportedNames(context.sourceCode.ast);
|
|
11860
11863
|
const typeExports = publiclyReachableTypeNames(
|
|
11861
11864
|
context.sourceCode.ast,
|
|
@@ -12123,7 +12126,7 @@ var no_raw_env_default = createRule({
|
|
|
12123
12126
|
defaultOptions: [],
|
|
12124
12127
|
create(context) {
|
|
12125
12128
|
const filename = context.filename;
|
|
12126
|
-
if (isTestFile(
|
|
12129
|
+
if (isTestFile(context) || isScriptFile(context) || CONFIG_FILE_RE.test(filename.replaceAll("\\", "/"))) {
|
|
12127
12130
|
return {};
|
|
12128
12131
|
}
|
|
12129
12132
|
const reads = [];
|
|
@@ -12324,7 +12327,7 @@ var no_raw_fetch_outside_clients_default = createRule({
|
|
|
12324
12327
|
defaultOptions: [{}],
|
|
12325
12328
|
create(context, [options]) {
|
|
12326
12329
|
const filename = context.filename;
|
|
12327
|
-
if (isTestFile(
|
|
12330
|
+
if (isTestFile(context) || isScriptFile(context) || NON_PRODUCTION_TREE_RE.test(filename)) {
|
|
12328
12331
|
return {};
|
|
12329
12332
|
}
|
|
12330
12333
|
const patterns = options?.allow ?? DEFAULT_ALLOW;
|
|
@@ -12601,7 +12604,7 @@ var no_router_refresh_polling_default = createRule({
|
|
|
12601
12604
|
},
|
|
12602
12605
|
defaultOptions: [],
|
|
12603
12606
|
create(context) {
|
|
12604
|
-
if (isTestFile(context
|
|
12607
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
12605
12608
|
const routerHooks = /* @__PURE__ */ new Set();
|
|
12606
12609
|
const routers = /* @__PURE__ */ new Set();
|
|
12607
12610
|
const reportedCallbacks = /* @__PURE__ */ new WeakSet();
|
|
@@ -12707,7 +12710,7 @@ var no_repeated_string_literal_default = createRule({
|
|
|
12707
12710
|
},
|
|
12708
12711
|
defaultOptions: [],
|
|
12709
12712
|
create(context) {
|
|
12710
|
-
if (isTestFile(context
|
|
12713
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
12711
12714
|
return {};
|
|
12712
12715
|
}
|
|
12713
12716
|
const occurrences = /* @__PURE__ */ new Map();
|
|
@@ -12860,7 +12863,7 @@ var no_restated_comment_default = createRule({
|
|
|
12860
12863
|
},
|
|
12861
12864
|
defaultOptions: [],
|
|
12862
12865
|
create(context) {
|
|
12863
|
-
if (isGeneratedFile(context
|
|
12866
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
12864
12867
|
return {};
|
|
12865
12868
|
}
|
|
12866
12869
|
const sourceCode = context.sourceCode;
|
|
@@ -13046,7 +13049,7 @@ var no_restated_jsdoc_default = createRule({
|
|
|
13046
13049
|
},
|
|
13047
13050
|
defaultOptions: [],
|
|
13048
13051
|
create(context) {
|
|
13049
|
-
if (isGeneratedFile(context
|
|
13052
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
13050
13053
|
return {};
|
|
13051
13054
|
}
|
|
13052
13055
|
const sourceCode = context.sourceCode;
|
|
@@ -13381,7 +13384,7 @@ var no_secret_in_log_default = createRule({
|
|
|
13381
13384
|
defaultOptions: [{}],
|
|
13382
13385
|
create(context, [loggingOptions]) {
|
|
13383
13386
|
const matcher = createLogMatcher(loggingOptions);
|
|
13384
|
-
const blobArmApplies = !isTestFile(context
|
|
13387
|
+
const blobArmApplies = !isTestFile(context);
|
|
13385
13388
|
function resolvesToGlobal(identifier) {
|
|
13386
13389
|
const variable = import_utils77.ASTUtils.findVariable(context.sourceCode.getScope(identifier), identifier.name);
|
|
13387
13390
|
return variable === null || variable.defs.length === 0;
|
|
@@ -13653,7 +13656,7 @@ var no_select_star_default = createRule({
|
|
|
13653
13656
|
},
|
|
13654
13657
|
defaultOptions: [],
|
|
13655
13658
|
create(context) {
|
|
13656
|
-
if (isTestFile(context
|
|
13659
|
+
if (isTestFile(context)) {
|
|
13657
13660
|
return {};
|
|
13658
13661
|
}
|
|
13659
13662
|
return createSqlListener((sql, node) => {
|
|
@@ -14031,7 +14034,7 @@ var no_sentinel_return_on_catch_default = createRule({
|
|
|
14031
14034
|
},
|
|
14032
14035
|
defaultOptions: [{}],
|
|
14033
14036
|
create(context, [loggingOptions]) {
|
|
14034
|
-
if (isGeneratedFile(context
|
|
14037
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
14035
14038
|
return {};
|
|
14036
14039
|
}
|
|
14037
14040
|
const matcher = createLogMatcher(loggingOptions);
|
|
@@ -14271,7 +14274,7 @@ var no_silent_promise_catch_default = createRule({
|
|
|
14271
14274
|
},
|
|
14272
14275
|
defaultOptions: [],
|
|
14273
14276
|
create(context) {
|
|
14274
|
-
if (isTestFile(context
|
|
14277
|
+
if (isTestFile(context) || isScriptFile(context)) {
|
|
14275
14278
|
return {};
|
|
14276
14279
|
}
|
|
14277
14280
|
function isZodSchema(node, seen = /* @__PURE__ */ new Set()) {
|
|
@@ -14466,7 +14469,7 @@ var no_sleep_in_test_body_default = createRule({
|
|
|
14466
14469
|
},
|
|
14467
14470
|
defaultOptions: [],
|
|
14468
14471
|
create(context) {
|
|
14469
|
-
if (!isTestFile(context
|
|
14472
|
+
if (!isTestFile(context)) {
|
|
14470
14473
|
return {};
|
|
14471
14474
|
}
|
|
14472
14475
|
const report2 = (node) => {
|
|
@@ -14604,7 +14607,7 @@ var no_storage_in_stateless_modules_default = createRule({
|
|
|
14604
14607
|
},
|
|
14605
14608
|
defaultOptions: [{}],
|
|
14606
14609
|
create(context, [options]) {
|
|
14607
|
-
if (isTestFile(context
|
|
14610
|
+
if (isTestFile(context)) {
|
|
14608
14611
|
return {};
|
|
14609
14612
|
}
|
|
14610
14613
|
const modules = options?.modules ?? [];
|
|
@@ -14844,7 +14847,7 @@ var no_string_concat_in_loop_default = createRule({
|
|
|
14844
14847
|
},
|
|
14845
14848
|
defaultOptions: [],
|
|
14846
14849
|
create(context) {
|
|
14847
|
-
if (isGeneratedFile(context
|
|
14850
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
14848
14851
|
return {};
|
|
14849
14852
|
}
|
|
14850
14853
|
const reported = /* @__PURE__ */ new WeakMap();
|
|
@@ -15005,7 +15008,7 @@ var no_duplicate_test_case_default = createRule({
|
|
|
15005
15008
|
},
|
|
15006
15009
|
defaultOptions: [],
|
|
15007
15010
|
create(context) {
|
|
15008
|
-
if (!isTestFile(context
|
|
15011
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
15009
15012
|
const inspected = /* @__PURE__ */ new Set();
|
|
15010
15013
|
return {
|
|
15011
15014
|
CallExpression(node) {
|
|
@@ -15358,7 +15361,7 @@ var no_tautological_expect_default = createRule({
|
|
|
15358
15361
|
},
|
|
15359
15362
|
defaultOptions: [],
|
|
15360
15363
|
create(context) {
|
|
15361
|
-
if (!isTestFile(context
|
|
15364
|
+
if (!isTestFile(context)) {
|
|
15362
15365
|
return {};
|
|
15363
15366
|
}
|
|
15364
15367
|
const customized = customizedMatchers(context.sourceCode);
|
|
@@ -15584,7 +15587,7 @@ var no_typed_doc_sections_default = createRule({
|
|
|
15584
15587
|
create(context) {
|
|
15585
15588
|
return {
|
|
15586
15589
|
Program() {
|
|
15587
|
-
for (const group of proseGroups(context
|
|
15590
|
+
for (const group of proseGroups(context, context.sourceCode, true)) {
|
|
15588
15591
|
const signature = documentedSignature(context.sourceCode, group.comment);
|
|
15589
15592
|
if (group.hasTypedTags && signature !== null && typedTags(group.text).some((tag) => isVacuousTag(tag, signature, context.sourceCode))) {
|
|
15590
15593
|
context.report({ node: group.comment, messageId: "typedSection" });
|
|
@@ -15760,7 +15763,7 @@ var no_trailing_value_narration_default = createRule({
|
|
|
15760
15763
|
},
|
|
15761
15764
|
defaultOptions: [],
|
|
15762
15765
|
create(context) {
|
|
15763
|
-
if (isGeneratedFile(context
|
|
15766
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
15764
15767
|
return {};
|
|
15765
15768
|
}
|
|
15766
15769
|
const sourceCode = context.sourceCode;
|
|
@@ -16034,7 +16037,7 @@ var no_declaration_comment_wall_default = createRule({
|
|
|
16034
16037
|
create(context, [provided]) {
|
|
16035
16038
|
const options = { ...WALL_DEFAULTS, ...provided };
|
|
16036
16039
|
const sourceCode = context.sourceCode;
|
|
16037
|
-
if (isGeneratedFile(context
|
|
16040
|
+
if (isGeneratedFile(context, sourceCode.text) || isTestFile(context) || isStoryFile(context)) {
|
|
16038
16041
|
return {};
|
|
16039
16042
|
}
|
|
16040
16043
|
const endingOn = /* @__PURE__ */ new Map();
|
|
@@ -16214,7 +16217,7 @@ var no_union_in_comment_default = createRule({
|
|
|
16214
16217
|
defaultOptions: [],
|
|
16215
16218
|
create(context) {
|
|
16216
16219
|
const sourceCode = context.sourceCode;
|
|
16217
|
-
if (isGeneratedFile(context
|
|
16220
|
+
if (isGeneratedFile(context, sourceCode.text)) {
|
|
16218
16221
|
return {};
|
|
16219
16222
|
}
|
|
16220
16223
|
function annotated(comment) {
|
|
@@ -16315,7 +16318,7 @@ var no_type_member_comment_wall_default = createRule({
|
|
|
16315
16318
|
create(context, [provided]) {
|
|
16316
16319
|
const options = { ...WALL_DEFAULTS, ...provided };
|
|
16317
16320
|
const sourceCode = context.sourceCode;
|
|
16318
|
-
if (isGeneratedFile(context
|
|
16321
|
+
if (isGeneratedFile(context, sourceCode.text, ["externalTree"]) || isTestFile(context, ["fixtureTree"]) || isStoryFile(context, ["storyTree"])) {
|
|
16319
16322
|
return {};
|
|
16320
16323
|
}
|
|
16321
16324
|
const endingOn = /* @__PURE__ */ new Map();
|
|
@@ -16700,7 +16703,7 @@ var no_unsafe_mock_casting_default = createRule({
|
|
|
16700
16703
|
},
|
|
16701
16704
|
defaultOptions: [],
|
|
16702
16705
|
create(context) {
|
|
16703
|
-
if (isGeneratedFile(context
|
|
16706
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
16704
16707
|
return {};
|
|
16705
16708
|
}
|
|
16706
16709
|
const directBindings = /* @__PURE__ */ new Set();
|
|
@@ -16793,7 +16796,7 @@ var no_unsafe_test_double_cast_default = createRule({
|
|
|
16793
16796
|
},
|
|
16794
16797
|
defaultOptions: [],
|
|
16795
16798
|
create(context) {
|
|
16796
|
-
if (!isTestFile(context
|
|
16799
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
16797
16800
|
return {
|
|
16798
16801
|
TSAsExpression(node) {
|
|
16799
16802
|
if ((node.expression.type === import_utils95.AST_NODE_TYPES.TSAsExpression || node.expression.type === import_utils95.AST_NODE_TYPES.TSTypeAssertion) && isUnknown(node.expression.typeAnnotation) && containsMockFactory(node.expression.expression, context.sourceCode)) context.report({ node, messageId: "noUnsafeTestDoubleCast" });
|
|
@@ -16832,7 +16835,7 @@ var no_first_party_module_mock_default = createRule({
|
|
|
16832
16835
|
},
|
|
16833
16836
|
defaultOptions: [{ additionalModulePrefixes: [] }],
|
|
16834
16837
|
create(context, [options]) {
|
|
16835
|
-
if (!isTestFile(context
|
|
16838
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
16836
16839
|
return {
|
|
16837
16840
|
CallExpression(node) {
|
|
16838
16841
|
const unwrappedNodeCallee = unwrapExpression(node.callee);
|
|
@@ -16964,10 +16967,10 @@ var no_zod_native_enum_default = createRule({
|
|
|
16964
16967
|
defaultOptions: [],
|
|
16965
16968
|
create(context) {
|
|
16966
16969
|
const sourceCode = context.sourceCode;
|
|
16967
|
-
if (isGeneratedFile(context
|
|
16970
|
+
if (isGeneratedFile(context, sourceCode.getText())) {
|
|
16968
16971
|
return {};
|
|
16969
16972
|
}
|
|
16970
|
-
if (isTestFile(context
|
|
16973
|
+
if (isTestFile(context)) {
|
|
16971
16974
|
return {};
|
|
16972
16975
|
}
|
|
16973
16976
|
let services;
|
|
@@ -17174,7 +17177,7 @@ var test_loops_over_literal_cases_default = createRule({
|
|
|
17174
17177
|
},
|
|
17175
17178
|
defaultOptions: [],
|
|
17176
17179
|
create(context) {
|
|
17177
|
-
if (!isTestFile(context
|
|
17180
|
+
if (!isTestFile(context)) {
|
|
17178
17181
|
return {};
|
|
17179
17182
|
}
|
|
17180
17183
|
const isFrameworkTest = (identifier) => TEST_CALLERS3.has(runtimeTestFrameworkName(context.sourceCode, identifier, "test") ?? "");
|
|
@@ -17286,7 +17289,7 @@ var test_phase_label_comment_default = createRule({
|
|
|
17286
17289
|
},
|
|
17287
17290
|
defaultOptions: [],
|
|
17288
17291
|
create(context) {
|
|
17289
|
-
if (!isTestFile(context
|
|
17292
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
17290
17293
|
return {
|
|
17291
17294
|
Program() {
|
|
17292
17295
|
const comments = context.sourceCode.getAllComments();
|
|
@@ -17390,7 +17393,7 @@ var prefer_constant_time_secret_compare_default = createRule({
|
|
|
17390
17393
|
},
|
|
17391
17394
|
defaultOptions: [],
|
|
17392
17395
|
create(context) {
|
|
17393
|
-
if (isTestFile(context
|
|
17396
|
+
if (isTestFile(context)) {
|
|
17394
17397
|
return {};
|
|
17395
17398
|
}
|
|
17396
17399
|
const sourceCode = context.sourceCode;
|
|
@@ -17527,7 +17530,7 @@ var prefer_ecmascript_private_members_default = createRule({
|
|
|
17527
17530
|
},
|
|
17528
17531
|
defaultOptions: [],
|
|
17529
17532
|
create(context) {
|
|
17530
|
-
if (isGeneratedFile(context
|
|
17533
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
17531
17534
|
let services;
|
|
17532
17535
|
try {
|
|
17533
17536
|
services = import_utils101.ESLintUtils.getParserServices(context);
|
|
@@ -17932,7 +17935,7 @@ var prefer_discriminated_union_default = createRule({
|
|
|
17932
17935
|
},
|
|
17933
17936
|
defaultOptions: [],
|
|
17934
17937
|
create(context) {
|
|
17935
|
-
if (isTestFile(context
|
|
17938
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
17936
17939
|
return {};
|
|
17937
17940
|
}
|
|
17938
17941
|
const reportedContracts = /* @__PURE__ */ new Set();
|
|
@@ -18210,7 +18213,7 @@ var prefer_millisecond_control_duration_schema_default = createRule({
|
|
|
18210
18213
|
},
|
|
18211
18214
|
defaultOptions: [],
|
|
18212
18215
|
create(context) {
|
|
18213
|
-
if (isGeneratedFile(context
|
|
18216
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context, ["fixtureTree"])) {
|
|
18214
18217
|
return {};
|
|
18215
18218
|
}
|
|
18216
18219
|
const zodNamespaces = /* @__PURE__ */ new Set();
|
|
@@ -18515,7 +18518,7 @@ var prefer_immutable_module_constant_default = createRule({
|
|
|
18515
18518
|
const declaration = definitions2.length === 1 ? definitions2[0]?.node : void 0;
|
|
18516
18519
|
return declaration?.type === import_utils107.AST_NODE_TYPES.TSTypeAliasDeclaration || declaration?.type === import_utils107.AST_NODE_TYPES.TSTypeParameter ? declaration : void 0;
|
|
18517
18520
|
};
|
|
18518
|
-
if (JAVASCRIPT_FILE_RE.test(context.filename) || isTestFile(context
|
|
18521
|
+
if (JAVASCRIPT_FILE_RE.test(context.filename) || isTestFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
18519
18522
|
return {};
|
|
18520
18523
|
}
|
|
18521
18524
|
const exportedNames2 = /* @__PURE__ */ new Set();
|
|
@@ -18929,7 +18932,7 @@ var prefer_shadcn_primitives_default = createRule({
|
|
|
18929
18932
|
defaultOptions: [{}],
|
|
18930
18933
|
create(context, [options]) {
|
|
18931
18934
|
const filename = context.filename.replaceAll("\\", "/");
|
|
18932
|
-
if (isTestFile(
|
|
18935
|
+
if (isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text) || SHARED_PRIMITIVE_IMPLEMENTATION_RE.test(filename)) {
|
|
18933
18936
|
return {};
|
|
18934
18937
|
}
|
|
18935
18938
|
const detectsProject = options?.detectProjectPrimitives === true;
|
|
@@ -19241,7 +19244,7 @@ var prefer_module_level_constant_default = createRule({
|
|
|
19241
19244
|
if (isIgnoredFile(filename, sourceCode.getText())) {
|
|
19242
19245
|
return {};
|
|
19243
19246
|
}
|
|
19244
|
-
if (ignoreTestFiles && isLocalFixtureFile(
|
|
19247
|
+
if (ignoreTestFiles && isLocalFixtureFile(context)) {
|
|
19245
19248
|
return {};
|
|
19246
19249
|
}
|
|
19247
19250
|
function allReferencesAreSafeReads(declarator) {
|
|
@@ -19575,11 +19578,10 @@ var prefer_module_level_schema_default = createRule({
|
|
|
19575
19578
|
const memoCallees = new Set(options?.memoCallees ?? MEMO_CALLEES);
|
|
19576
19579
|
const minProperties = options?.minProperties ?? DEFAULT_MIN_PROPERTIES;
|
|
19577
19580
|
const sourceCode = context.sourceCode;
|
|
19578
|
-
|
|
19579
|
-
if (isGeneratedFile(filename, sourceCode.getText())) {
|
|
19581
|
+
if (isGeneratedFile(context, sourceCode.getText())) {
|
|
19580
19582
|
return {};
|
|
19581
19583
|
}
|
|
19582
|
-
if (ignoreTestFiles && isTestFile(
|
|
19584
|
+
if (ignoreTestFiles && isTestFile(context)) {
|
|
19583
19585
|
return {};
|
|
19584
19586
|
}
|
|
19585
19587
|
const zodNamespaces = /* @__PURE__ */ new Set();
|
|
@@ -20023,7 +20025,7 @@ var prefer_module_level_refined_schema_default = createRule({
|
|
|
20023
20025
|
},
|
|
20024
20026
|
defaultOptions: [],
|
|
20025
20027
|
create(context) {
|
|
20026
|
-
if (isTestFile(context
|
|
20028
|
+
if (isTestFile(context) || BENCHMARK_PATH_RE.test(context.filename) || isGeneratedFile(context, context.sourceCode.text))
|
|
20027
20029
|
return {};
|
|
20028
20030
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
20029
20031
|
function resolvedBinding(identifier) {
|
|
@@ -20222,7 +20224,7 @@ var prefer_multi_value_zod_literal_default = createRule({
|
|
|
20222
20224
|
},
|
|
20223
20225
|
defaultOptions: [{}],
|
|
20224
20226
|
create(context, [options]) {
|
|
20225
|
-
if (isTestFile(context
|
|
20227
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text))
|
|
20226
20228
|
return {};
|
|
20227
20229
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
20228
20230
|
const zod4Bindings = /* @__PURE__ */ new Set();
|
|
@@ -20407,7 +20409,7 @@ var prefer_nominal_id_types_default = createRule({
|
|
|
20407
20409
|
},
|
|
20408
20410
|
defaultOptions: [],
|
|
20409
20411
|
create(context) {
|
|
20410
|
-
if (isGeneratedFile(context
|
|
20412
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
20411
20413
|
return {
|
|
20412
20414
|
ArrowFunctionExpression: (node) => checkBoundary(node, context),
|
|
20413
20415
|
FunctionDeclaration: (node) => checkBoundary(node, context),
|
|
@@ -20459,7 +20461,7 @@ var prefer_named_callback_domain_default = createRule({
|
|
|
20459
20461
|
},
|
|
20460
20462
|
defaultOptions: [],
|
|
20461
20463
|
create(context) {
|
|
20462
|
-
if (isTestFile(context
|
|
20464
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
20463
20465
|
return {
|
|
20464
20466
|
TSFunctionType(node) {
|
|
20465
20467
|
if (!exportedContract(node)) return;
|
|
@@ -20525,7 +20527,7 @@ var prefer_named_complex_return_type_default = createRule({
|
|
|
20525
20527
|
},
|
|
20526
20528
|
defaultOptions: [],
|
|
20527
20529
|
create(context) {
|
|
20528
|
-
if (isTestFile(context
|
|
20530
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
20529
20531
|
return {
|
|
20530
20532
|
ArrowFunctionExpression: (node) => report(context, node),
|
|
20531
20533
|
FunctionDeclaration: (node) => report(context, node),
|
|
@@ -20831,7 +20833,7 @@ var prefer_node_fs_promises_default = createRule({
|
|
|
20831
20833
|
defaultOptions: [],
|
|
20832
20834
|
create(context) {
|
|
20833
20835
|
const normalizedFilename = context.filename.replaceAll("\\", "/");
|
|
20834
|
-
if (isTestFile(context
|
|
20836
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text) || normalizedFilename.includes("src/rules/"))
|
|
20835
20837
|
return {};
|
|
20836
20838
|
const namespaces = /* @__PURE__ */ new Set();
|
|
20837
20839
|
const bindingOf = (node) => import_utils118.ASTUtils.findVariable(context.sourceCode.getScope(node), node.name);
|
|
@@ -21252,7 +21254,7 @@ var prefer_non_nullable_collection_default = createRule({
|
|
|
21252
21254
|
},
|
|
21253
21255
|
defaultOptions: [],
|
|
21254
21256
|
create(context) {
|
|
21255
|
-
if (isTestFile(context
|
|
21257
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
21256
21258
|
return {};
|
|
21257
21259
|
}
|
|
21258
21260
|
let shapes = /* @__PURE__ */ new Map();
|
|
@@ -21470,7 +21472,7 @@ var prefer_nullish_filter_predicate_default = createRule({
|
|
|
21470
21472
|
},
|
|
21471
21473
|
defaultOptions: [],
|
|
21472
21474
|
create(context) {
|
|
21473
|
-
if (isGeneratedFile(context
|
|
21475
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
21474
21476
|
let services;
|
|
21475
21477
|
try {
|
|
21476
21478
|
services = import_utils120.ESLintUtils.getParserServices(context);
|
|
@@ -22032,7 +22034,7 @@ var prefer_schema_for_api_payload_default = createRule({
|
|
|
22032
22034
|
},
|
|
22033
22035
|
defaultOptions: [],
|
|
22034
22036
|
create(context) {
|
|
22035
|
-
if (isTestFile(context
|
|
22037
|
+
if (isTestFile(context) || isScriptFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
22036
22038
|
return {};
|
|
22037
22039
|
}
|
|
22038
22040
|
const unvalidatedVariables = /* @__PURE__ */ new Set();
|
|
@@ -22339,7 +22341,7 @@ var prefer_shared_zod_enum_default = createRule({
|
|
|
22339
22341
|
},
|
|
22340
22342
|
defaultOptions: [],
|
|
22341
22343
|
create(context) {
|
|
22342
|
-
if (isTestFile(context
|
|
22344
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
22343
22345
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
22344
22346
|
const bindingOf = (node) => import_utils124.ASTUtils.findVariable(context.sourceCode.getScope(node), node.name);
|
|
22345
22347
|
const candidates = /* @__PURE__ */ new Map();
|
|
@@ -22427,7 +22429,7 @@ var prefer_switch_for_repeated_equality_default = createRule({
|
|
|
22427
22429
|
},
|
|
22428
22430
|
defaultOptions: [],
|
|
22429
22431
|
create(context) {
|
|
22430
|
-
if (isGeneratedFile(context
|
|
22432
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
22431
22433
|
return {
|
|
22432
22434
|
IfStatement(node) {
|
|
22433
22435
|
if (node.parent.type === import_utils125.AST_NODE_TYPES.IfStatement && node.parent.alternate === node) return;
|
|
@@ -23323,7 +23325,7 @@ var prefer_whole_object_assertion_default = createRule({
|
|
|
23323
23325
|
},
|
|
23324
23326
|
defaultOptions: [],
|
|
23325
23327
|
create(context) {
|
|
23326
|
-
if (!isTestFile(context
|
|
23328
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
23327
23329
|
return {};
|
|
23328
23330
|
}
|
|
23329
23331
|
const { sourceCode } = context;
|
|
@@ -23665,7 +23667,7 @@ var repeated_static_call_cases_default = createRule({
|
|
|
23665
23667
|
defaultOptions: [],
|
|
23666
23668
|
create(context) {
|
|
23667
23669
|
const sourceCode = context.sourceCode;
|
|
23668
|
-
if (!isTestFile(context
|
|
23670
|
+
if (!isTestFile(context) || isGeneratedFile(context, sourceCode.text)) return {};
|
|
23669
23671
|
const duplicateGroups = /* @__PURE__ */ new Map();
|
|
23670
23672
|
const pending = [];
|
|
23671
23673
|
return {
|
|
@@ -24174,7 +24176,7 @@ var prefer_zod_infer_default = createRule({
|
|
|
24174
24176
|
(source) => new RegExp(source, "u")
|
|
24175
24177
|
);
|
|
24176
24178
|
const requireIdenticalShape = optionsArg?.requireIdenticalShape ?? true;
|
|
24177
|
-
if (isTestFile(context
|
|
24179
|
+
if (isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
24178
24180
|
return {};
|
|
24179
24181
|
}
|
|
24180
24182
|
const zodNamespaces = /* @__PURE__ */ new Set();
|
|
@@ -24494,7 +24496,7 @@ var named_child_schema_type_default = createRule({
|
|
|
24494
24496
|
defaultOptions: [],
|
|
24495
24497
|
create(context) {
|
|
24496
24498
|
const source = context.sourceCode;
|
|
24497
|
-
if (isGeneratedFile(context
|
|
24499
|
+
if (isGeneratedFile(context, source.text)) return {};
|
|
24498
24500
|
const namespaces = /* @__PURE__ */ new Set();
|
|
24499
24501
|
const bindingOf = (node) => import_utils131.ASTUtils.findVariable(source.getScope(node), node.name);
|
|
24500
24502
|
function namespaceOf(type) {
|
|
@@ -24969,7 +24971,7 @@ function reportCandidates(context, services, schemas, candidates, zodNamespaces,
|
|
|
24969
24971
|
const declaration = handWrittenObjectDeclaration(contractSymbol);
|
|
24970
24972
|
if (declaration === null || declaration.getSourceFile().isDeclarationFile) return;
|
|
24971
24973
|
const source = declaration.getSourceFile();
|
|
24972
|
-
if (isGeneratedFile(source.fileName, source.text)) return;
|
|
24974
|
+
if (isGeneratedFile({ filename: source.fileName, cwd: context.cwd }, source.text)) return;
|
|
24973
24975
|
const tsOutput = services.esTreeNodeToTSNodeMap.get(candidate2.output);
|
|
24974
24976
|
const parsed = checker.getTypeAtLocation(tsOutput);
|
|
24975
24977
|
if (hasAuthoritativeOutputContract(checker, tsOutput, contractSymbol)) return;
|
|
@@ -25051,7 +25053,7 @@ var prefer_zod_parse_output_type_default = createRule({
|
|
|
25051
25053
|
},
|
|
25052
25054
|
defaultOptions: [],
|
|
25053
25055
|
create(context) {
|
|
25054
|
-
if (isTestFile(context
|
|
25056
|
+
if (isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
25055
25057
|
return {};
|
|
25056
25058
|
}
|
|
25057
25059
|
let services;
|
|
@@ -25345,7 +25347,7 @@ var require_fetch_timeout_default = createRule({
|
|
|
25345
25347
|
},
|
|
25346
25348
|
defaultOptions: [{}],
|
|
25347
25349
|
create(context, [optionsArg]) {
|
|
25348
|
-
if (isTestFile(context
|
|
25350
|
+
if (isTestFile(context) || isScriptFile(context)) {
|
|
25349
25351
|
return {};
|
|
25350
25352
|
}
|
|
25351
25353
|
const allowIn = optionsArg?.allowIn ?? [];
|
|
@@ -25497,7 +25499,7 @@ var require_interface_for_exported_class_default = createRule({
|
|
|
25497
25499
|
},
|
|
25498
25500
|
defaultOptions: [],
|
|
25499
25501
|
create(context) {
|
|
25500
|
-
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isTestFile(context
|
|
25502
|
+
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
25501
25503
|
return {
|
|
25502
25504
|
"Program:exit"(program) {
|
|
25503
25505
|
const classes = /* @__PURE__ */ new Map();
|
|
@@ -25818,7 +25820,7 @@ var require_sql_access_class_default = createRule({
|
|
|
25818
25820
|
},
|
|
25819
25821
|
defaultOptions: [],
|
|
25820
25822
|
create(context) {
|
|
25821
|
-
if (isTestFile(context
|
|
25823
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text))
|
|
25822
25824
|
return {};
|
|
25823
25825
|
function knownNonDatabase(node, seen = /* @__PURE__ */ new Set()) {
|
|
25824
25826
|
const unwrappedNodeCallee = node.type === "CallExpression" || node.type === "NewExpression" ? unwrapExpression(node.callee) : null;
|
|
@@ -26245,7 +26247,7 @@ var require_zod_form_validation_default = createRule({
|
|
|
26245
26247
|
},
|
|
26246
26248
|
defaultOptions: [],
|
|
26247
26249
|
create(context) {
|
|
26248
|
-
if (isTestFile(context
|
|
26250
|
+
if (isTestFile(context)) {
|
|
26249
26251
|
return {};
|
|
26250
26252
|
}
|
|
26251
26253
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
@@ -26540,7 +26542,7 @@ var store_insert_requires_on_conflict_default = createRule({
|
|
|
26540
26542
|
},
|
|
26541
26543
|
defaultOptions: [],
|
|
26542
26544
|
create(context) {
|
|
26543
|
-
if (isTestFile(context
|
|
26545
|
+
if (isTestFile(context)) {
|
|
26544
26546
|
return {};
|
|
26545
26547
|
}
|
|
26546
26548
|
return createSqlListener((sql, node) => {
|
|
@@ -27088,7 +27090,7 @@ var stepdown_default = createRule({
|
|
|
27088
27090
|
},
|
|
27089
27091
|
defaultOptions: [],
|
|
27090
27092
|
create(context) {
|
|
27091
|
-
if (isTestFile(context
|
|
27093
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
27092
27094
|
const classes = [];
|
|
27093
27095
|
const functionBodies = [];
|
|
27094
27096
|
return {
|
|
@@ -27263,7 +27265,7 @@ function createSourceCoupledRule(name, documentation, sourceSuffixRe) {
|
|
|
27263
27265
|
},
|
|
27264
27266
|
defaultOptions: [],
|
|
27265
27267
|
create(context) {
|
|
27266
|
-
if (!isTestFile(context
|
|
27268
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
27267
27269
|
const scopes = [newScope()];
|
|
27268
27270
|
const reportedOrigins = /* @__PURE__ */ new Set();
|
|
27269
27271
|
const currentScope = () => scopes.at(-1) ?? scopes[0];
|
|
@@ -27363,7 +27365,7 @@ function createSourceCoupledRule(name, documentation, sourceSuffixRe) {
|
|
|
27363
27365
|
};
|
|
27364
27366
|
const sourcePathValue = (value) => {
|
|
27365
27367
|
const normalized = import_node_path3.posix.normalize(value.replaceAll("\\", "/"));
|
|
27366
|
-
return sourceSuffixRe.test(normalized) && !REPRESENTATION_DIR_RE.test(normalized) && !isGeneratedFile(normalized);
|
|
27368
|
+
return sourceSuffixRe.test(normalized) && !REPRESENTATION_DIR_RE.test(normalized) && !isGeneratedFile({ filename: normalized, cwd: context.cwd });
|
|
27367
27369
|
};
|
|
27368
27370
|
const rawRead = (node) => {
|
|
27369
27371
|
const current = unwrap6(node);
|
|
@@ -27655,7 +27657,7 @@ var sole_export_matches_filename_default = createRule({
|
|
|
27655
27657
|
create(context) {
|
|
27656
27658
|
const fileStem = stem3(context.filename);
|
|
27657
27659
|
const normalizedFilename = context.filename.replaceAll("\\", "/");
|
|
27658
|
-
if (EXCLUDED_STEMS.has(fileStem) || GENERIC_MODULE_STEMS.has(fileStem) || context.filename.endsWith(".d.ts") || isTestFile(context
|
|
27660
|
+
if (EXCLUDED_STEMS.has(fileStem) || GENERIC_MODULE_STEMS.has(fileStem) || context.filename.endsWith(".d.ts") || isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
27659
27661
|
let hasCommonJsExport = false;
|
|
27660
27662
|
return {
|
|
27661
27663
|
"CallExpression, MemberExpression"(node) {
|
|
@@ -27952,7 +27954,7 @@ var require_pascal_case_zod_schema_name_default = createRule({
|
|
|
27952
27954
|
const binding = resolvedBinding(root);
|
|
27953
27955
|
return binding !== null && zodBindings.has(binding);
|
|
27954
27956
|
}
|
|
27955
|
-
if (isTestFile(context
|
|
27957
|
+
if (isTestFile(context) || BENCHMARK_PATH_RE2.test(context.filename.replaceAll("\\", "/")) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
27956
27958
|
return {};
|
|
27957
27959
|
}
|
|
27958
27960
|
return {
|