@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.js
CHANGED
|
@@ -303,7 +303,7 @@ var TEST_INTEGRATION_BASENAME_RE = /\.integration\.[cm]?[jt]sx?$/;
|
|
|
303
303
|
var TEST_DIR_RE = /(^|\/)(tests?|__tests__|__mocks__|fixtures|__fixtures__|__testfixtures__|e2e|integration)\//;
|
|
304
304
|
var FIXTURE_TREE_RE = /(^|\/)fixture\//;
|
|
305
305
|
function isTestFile(filename, gates = []) {
|
|
306
|
-
const normalized = filename
|
|
306
|
+
const normalized = scopedFilename(filename);
|
|
307
307
|
const base = normalized.slice(normalized.lastIndexOf("/") + 1);
|
|
308
308
|
if (TEST_BASENAME_RE.test(base) || TEST_INTEGRATION_BASENAME_RE.test(base)) {
|
|
309
309
|
return true;
|
|
@@ -314,14 +314,14 @@ function isTestFile(filename, gates = []) {
|
|
|
314
314
|
return gates.includes("fixtureTree") && FIXTURE_TREE_RE.test(normalized);
|
|
315
315
|
}
|
|
316
316
|
function isStoryFile(filename, gates = []) {
|
|
317
|
-
const normalized = filename
|
|
317
|
+
const normalized = scopedFilename(filename);
|
|
318
318
|
if (STORY_FILE_RE.test(normalized)) {
|
|
319
319
|
return true;
|
|
320
320
|
}
|
|
321
321
|
return gates.includes("storyTree") && STORY_TREE_RE.test(normalized);
|
|
322
322
|
}
|
|
323
323
|
function isGeneratedFile(filename, sourceText = "", gates = []) {
|
|
324
|
-
const normalized = filename
|
|
324
|
+
const normalized = scopedFilename(filename);
|
|
325
325
|
if (GENERATED_FILE_RE.test(normalized)) {
|
|
326
326
|
return true;
|
|
327
327
|
}
|
|
@@ -370,7 +370,10 @@ function leadingCommentBodies(sourceText) {
|
|
|
370
370
|
return bodies;
|
|
371
371
|
}
|
|
372
372
|
function isScriptFile(filename) {
|
|
373
|
-
return SCRIPT_FILE_RE.test(filename);
|
|
373
|
+
return SCRIPT_FILE_RE.test(scopedFilename(filename));
|
|
374
|
+
}
|
|
375
|
+
function scopedFilename(input) {
|
|
376
|
+
return (typeof input === "string" ? input : input.filename).replaceAll("\\", "/");
|
|
374
377
|
}
|
|
375
378
|
function matchesAnyPattern(filename, patterns) {
|
|
376
379
|
const normalized = filename.replaceAll("\\", "/");
|
|
@@ -641,7 +644,7 @@ var no_credential_in_browser_storage_default = createRule({
|
|
|
641
644
|
},
|
|
642
645
|
defaultOptions: [],
|
|
643
646
|
create(context) {
|
|
644
|
-
if (isGeneratedFile(context
|
|
647
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
645
648
|
const { sourceCode } = context;
|
|
646
649
|
const report2 = (node, key) => {
|
|
647
650
|
if (key !== null && isAuthSecretName(key) && !tokenize(key).some((word) => METADATA_WORDS.has(word))) {
|
|
@@ -762,7 +765,7 @@ var no_numeric_search_param_coercion_default = createRule({
|
|
|
762
765
|
},
|
|
763
766
|
defaultOptions: [],
|
|
764
767
|
create(context) {
|
|
765
|
-
if (isGeneratedFile(context
|
|
768
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context)) return {};
|
|
766
769
|
let services;
|
|
767
770
|
try {
|
|
768
771
|
services = ESLintUtils2.getParserServices(context);
|
|
@@ -819,7 +822,7 @@ function isSearchParamReceiver(call, services) {
|
|
|
819
822
|
// package.json
|
|
820
823
|
var package_default = {
|
|
821
824
|
name: "@sarj/eslint-plugin",
|
|
822
|
-
version: "16.
|
|
825
|
+
version: "16.23.1",
|
|
823
826
|
packageManager: "npm@12.2.0",
|
|
824
827
|
description: "Custom ESLint rules for hypermodern TypeScript / React / Next.js projects",
|
|
825
828
|
type: "module",
|
|
@@ -854,7 +857,7 @@ var package_default = {
|
|
|
854
857
|
scripts: {
|
|
855
858
|
build: "tsup",
|
|
856
859
|
dogfood: "npm run build && npm run dogfood:built",
|
|
857
|
-
lint:
|
|
860
|
+
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',
|
|
858
861
|
prepack: "npm run build && npm run verify-package",
|
|
859
862
|
test: "vitest run",
|
|
860
863
|
typecheck: "tsc --noEmit && tsc --project tsconfig.tools.json",
|
|
@@ -991,49 +994,52 @@ function memberName(node) {
|
|
|
991
994
|
if (ts.isElementAccessExpression(node) && ts.isStringLiteralLike(node.argumentExpression)) return node.argumentExpression.text;
|
|
992
995
|
return null;
|
|
993
996
|
}
|
|
994
|
-
function ownedSource(source) {
|
|
995
|
-
|
|
997
|
+
function ownedSource(source, cwd) {
|
|
998
|
+
const path = { filename: source.fileName, cwd };
|
|
999
|
+
return !source.isDeclarationFile && !/(?:^|[/\\])(?:node_modules|vendor|vendored|generated|dist)(?:[/\\])/u.test(scopedFilename(path)) && !isGeneratedFile(path, source.text);
|
|
996
1000
|
}
|
|
997
|
-
function escapedClasses(program, checker) {
|
|
998
|
-
const
|
|
1001
|
+
function escapedClasses(program, checker, cwd) {
|
|
1002
|
+
const scopes = ESCAPED_CLASSES.get(program) ?? /* @__PURE__ */ new Map();
|
|
1003
|
+
const cached = scopes.get(cwd);
|
|
999
1004
|
if (cached !== void 0) return cached;
|
|
1000
1005
|
const escaped = /* @__PURE__ */ new Set();
|
|
1001
1006
|
const namespaceValues = /* @__PURE__ */ new Map();
|
|
1002
1007
|
function visit(node) {
|
|
1003
1008
|
if (ts.isTypeNode(node) || ts.isImportDeclaration(node)) return;
|
|
1004
1009
|
if (ts.isIdentifier(node) || ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) {
|
|
1005
|
-
recordEscapedReference(checker, node, escaped, namespaceValues);
|
|
1010
|
+
recordEscapedReference(checker, node, escaped, namespaceValues, cwd);
|
|
1006
1011
|
}
|
|
1007
1012
|
ts.forEachChild(node, visit);
|
|
1008
1013
|
}
|
|
1009
|
-
for (const source of program.getSourceFiles()) if (ownedSource(source)) visit(source);
|
|
1010
|
-
|
|
1014
|
+
for (const source of program.getSourceFiles()) if (ownedSource(source, cwd)) visit(source);
|
|
1015
|
+
scopes.set(cwd, escaped);
|
|
1016
|
+
ESCAPED_CLASSES.set(program, scopes);
|
|
1011
1017
|
return escaped;
|
|
1012
1018
|
}
|
|
1013
|
-
function recordEscapedReference(checker, node, escaped, namespaceValues) {
|
|
1019
|
+
function recordEscapedReference(checker, node, escaped, namespaceValues, cwd) {
|
|
1014
1020
|
const symbol = canonicalSymbol(checker, node);
|
|
1015
1021
|
if (symbol !== void 0) {
|
|
1016
1022
|
let values = namespaceValues.get(symbol);
|
|
1017
1023
|
if (values === void 0) {
|
|
1018
|
-
values = ownedClassValues(checker, symbol);
|
|
1024
|
+
values = ownedClassValues(checker, symbol, cwd);
|
|
1019
1025
|
namespaceValues.set(symbol, values);
|
|
1020
1026
|
}
|
|
1021
1027
|
if (!namespacePrefix(symbol, node) && !safeClassReference(node)) for (const value of values) escaped.add(value);
|
|
1022
1028
|
}
|
|
1023
1029
|
if (ts.isElementAccessExpression(node) && !safeClassReference(node)) {
|
|
1024
1030
|
const receiver = canonicalSymbol(checker, node.expression) ?? checker.getTypeAtLocation(node.expression).getSymbol();
|
|
1025
|
-
if (receiver !== void 0) for (const value of ownedClassValues(checker, receiver)) escaped.add(value);
|
|
1031
|
+
if (receiver !== void 0) for (const value of ownedClassValues(checker, receiver, cwd)) escaped.add(value);
|
|
1026
1032
|
}
|
|
1027
1033
|
}
|
|
1028
|
-
function ownedClassValues(checker, original, seen = /* @__PURE__ */ new Set()) {
|
|
1034
|
+
function ownedClassValues(checker, original, cwd, seen = /* @__PURE__ */ new Set()) {
|
|
1029
1035
|
const symbol = original.flags & ts.SymbolFlags.Alias ? checker.getAliasedSymbol(original) : original;
|
|
1030
1036
|
const values = /* @__PURE__ */ new Set();
|
|
1031
1037
|
if (seen.has(symbol)) return values;
|
|
1032
1038
|
seen.add(symbol);
|
|
1033
|
-
if (symbol.declarations?.some((declaration) => ts.isClassDeclaration(declaration) && ownedSource(declaration.getSourceFile()))) values.add(symbol);
|
|
1034
|
-
if (symbol.declarations?.some((declaration) => (ts.isSourceFile(declaration) || ts.isModuleDeclaration(declaration)) && ownedSource(declaration.getSourceFile()))) {
|
|
1039
|
+
if (symbol.declarations?.some((declaration) => ts.isClassDeclaration(declaration) && ownedSource(declaration.getSourceFile(), cwd))) values.add(symbol);
|
|
1040
|
+
if (symbol.declarations?.some((declaration) => (ts.isSourceFile(declaration) || ts.isModuleDeclaration(declaration)) && ownedSource(declaration.getSourceFile(), cwd))) {
|
|
1035
1041
|
for (const exported of checker.getExportsOfModule(symbol)) {
|
|
1036
|
-
for (const value of ownedClassValues(checker, exported, seen)) values.add(value);
|
|
1042
|
+
for (const value of ownedClassValues(checker, exported, cwd, seen)) values.add(value);
|
|
1037
1043
|
}
|
|
1038
1044
|
}
|
|
1039
1045
|
return values;
|
|
@@ -1049,7 +1055,7 @@ function namespacePrefix(symbol, node) {
|
|
|
1049
1055
|
const memberCall = (ts.isPropertyAccessExpression(parent) || ts.isElementAccessExpression(parent)) && ts.isCallExpression(parent.parent) && parent.parent.expression === parent;
|
|
1050
1056
|
return !symbol.declarations?.some(ts.isClassDeclaration) && (ts.isPropertyAccessExpression(parent) || ts.isElementAccessExpression(parent)) && parent.expression === node && !memberCall;
|
|
1051
1057
|
}
|
|
1052
|
-
function closedNominalBoundary(program, checker, call, consumer, missing) {
|
|
1058
|
+
function closedNominalBoundary(program, checker, call, consumer, missing, cwd) {
|
|
1053
1059
|
const { implementation, contractSymbol } = missing;
|
|
1054
1060
|
const implementationSymbol = implementation.name === void 0 ? void 0 : canonicalSymbol(checker, implementation.name);
|
|
1055
1061
|
const consumerSymbol = consumer.name === void 0 ? void 0 : canonicalSymbol(checker, consumer.name);
|
|
@@ -1058,7 +1064,7 @@ function closedNominalBoundary(program, checker, call, consumer, missing) {
|
|
|
1058
1064
|
if (contract === void 0) return false;
|
|
1059
1065
|
const targets = /* @__PURE__ */ new Set([consumerSymbol, ...classHierarchySymbols(checker, contract), ...classHierarchySymbols(checker, implementation)]);
|
|
1060
1066
|
const sources = /* @__PURE__ */ new Set([call.getSourceFile(), consumer.getSourceFile(), implementation.getSourceFile(), ...contractSymbol.declarations?.map((item) => item.getSourceFile()) ?? []]);
|
|
1061
|
-
return ![...sources].some(hasPrototypeMutation) && ![...targets].some((target) => escapedClasses(program, checker).has(target));
|
|
1067
|
+
return ![...sources].some(hasPrototypeMutation) && ![...targets].some((target) => escapedClasses(program, checker, cwd).has(target));
|
|
1062
1068
|
}
|
|
1063
1069
|
function classHierarchySymbols(checker, declaration, seen = /* @__PURE__ */ new Set()) {
|
|
1064
1070
|
const symbol = declaration.name === void 0 ? void 0 : canonicalSymbol(checker, declaration.name);
|
|
@@ -1181,7 +1187,7 @@ var require_explicit_contract_implementation_default = createRule({
|
|
|
1181
1187
|
},
|
|
1182
1188
|
defaultOptions: [],
|
|
1183
1189
|
create(context) {
|
|
1184
|
-
if (isGeneratedFile(context
|
|
1190
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
1185
1191
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap) return {};
|
|
1186
1192
|
const services = ESLintUtils3.getParserServices(context);
|
|
1187
1193
|
const checker = services.program.getTypeChecker();
|
|
@@ -1199,7 +1205,7 @@ var require_explicit_contract_implementation_default = createRule({
|
|
|
1199
1205
|
if (parameter === void 0) continue;
|
|
1200
1206
|
const tsArgument = services.esTreeNodeToTSNodeMap.get(argument);
|
|
1201
1207
|
const missing = missingImplementation(checker, signature, parameter, tsNode, tsArgument);
|
|
1202
|
-
if (missing === null || !closedNominalBoundary(services.program, checker, tsNode, consumer, missing)) continue;
|
|
1208
|
+
if (missing === null || !closedNominalBoundary(services.program, checker, tsNode, consumer, missing, context.cwd)) continue;
|
|
1203
1209
|
context.report({
|
|
1204
1210
|
node: argument,
|
|
1205
1211
|
messageId: "declareActualContract",
|
|
@@ -1798,9 +1804,8 @@ var require_port_for_service_default = createRule({
|
|
|
1798
1804
|
},
|
|
1799
1805
|
defaultOptions: [],
|
|
1800
1806
|
create(context) {
|
|
1801
|
-
|
|
1802
|
-
if (
|
|
1803
|
-
if (isGeneratedFile(filename, context.sourceCode.getText())) return {};
|
|
1807
|
+
if (isTestFile(context) || isStoryFile(context) || isScriptFile(context)) return {};
|
|
1808
|
+
if (isGeneratedFile(context, context.sourceCode.getText())) return {};
|
|
1804
1809
|
let declaredTypes = null;
|
|
1805
1810
|
const detachedExports = detachedValueExports(context.sourceCode.ast);
|
|
1806
1811
|
const localClasses = localClassAbstractness(context.sourceCode.ast);
|
|
@@ -2075,14 +2080,14 @@ var require_explicit_service_contract_default = createRule({
|
|
|
2075
2080
|
},
|
|
2076
2081
|
defaultOptions: [],
|
|
2077
2082
|
create(context) {
|
|
2078
|
-
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isGeneratedFile(context
|
|
2083
|
+
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2079
2084
|
const program = context.sourceCode.ast;
|
|
2080
2085
|
const operationsFor = createServiceOperationResolver(program);
|
|
2081
2086
|
const isExportedServiceClass = createExportedServiceClassResolver(program);
|
|
2082
2087
|
return {
|
|
2083
2088
|
ClassDeclaration(node) {
|
|
2084
2089
|
if (node.id === null || node.abstract || node.decorators.length > 0 || !isServiceRole(node.id.name, context.filename)) return;
|
|
2085
|
-
if (isExportedServiceClass(node) && !isTestFile(context
|
|
2090
|
+
if (isExportedServiceClass(node) && !isTestFile(context) && !isStoryFile(context) && !isScriptFile(context)) return;
|
|
2086
2091
|
const operations = operationsFor(node);
|
|
2087
2092
|
if (operations.length === 0 || hasDeclaredServiceContract(node, operations, program) !== false) return;
|
|
2088
2093
|
context.report({
|
|
@@ -2164,7 +2169,7 @@ var no_conditional_empty_object_spread_default = createRule({
|
|
|
2164
2169
|
},
|
|
2165
2170
|
defaultOptions: [],
|
|
2166
2171
|
create(context) {
|
|
2167
|
-
if (isGeneratedFile(context
|
|
2172
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2168
2173
|
return {
|
|
2169
2174
|
SpreadElement(node) {
|
|
2170
2175
|
if (node.parent.type !== AST_NODE_TYPES8.ObjectExpression || node.argument.type !== AST_NODE_TYPES8.ConditionalExpression)
|
|
@@ -2240,7 +2245,7 @@ var prefer_typed_reflection_default = createRule({
|
|
|
2240
2245
|
},
|
|
2241
2246
|
defaultOptions: [],
|
|
2242
2247
|
create(context) {
|
|
2243
|
-
if (isGeneratedFile(context
|
|
2248
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2244
2249
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap)
|
|
2245
2250
|
return {};
|
|
2246
2251
|
const services = ESLintUtils4.getParserServices(context);
|
|
@@ -2360,7 +2365,7 @@ var no_broad_return_type_default = createRule({
|
|
|
2360
2365
|
},
|
|
2361
2366
|
defaultOptions: [],
|
|
2362
2367
|
create(context) {
|
|
2363
|
-
if (isGeneratedFile(context
|
|
2368
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2364
2369
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap)
|
|
2365
2370
|
return {};
|
|
2366
2371
|
const services = ESLintUtils5.getParserServices(context);
|
|
@@ -2436,7 +2441,7 @@ var no_reduce_accumulator_copy_default = createRule({
|
|
|
2436
2441
|
} },
|
|
2437
2442
|
defaultOptions: [],
|
|
2438
2443
|
create(context) {
|
|
2439
|
-
if (isGeneratedFile(context
|
|
2444
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2440
2445
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap) return {};
|
|
2441
2446
|
const services = ESLintUtils6.getParserServices(context);
|
|
2442
2447
|
const program = services.program;
|
|
@@ -2523,7 +2528,7 @@ var no_known_value_widening_default = createRule({
|
|
|
2523
2528
|
},
|
|
2524
2529
|
defaultOptions: [],
|
|
2525
2530
|
create(context) {
|
|
2526
|
-
if (isGeneratedFile(context
|
|
2531
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
2527
2532
|
if (!context.sourceCode.parserServices?.program || !context.sourceCode.parserServices.esTreeNodeToTSNodeMap) return {};
|
|
2528
2533
|
const services = ESLintUtils7.getParserServices(context);
|
|
2529
2534
|
if (services.program === null) return {};
|
|
@@ -2577,7 +2582,7 @@ var no_invalid_typed_mutation_default = createRule({
|
|
|
2577
2582
|
},
|
|
2578
2583
|
defaultOptions: [],
|
|
2579
2584
|
create(context) {
|
|
2580
|
-
if (isGeneratedFile(context
|
|
2585
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
2581
2586
|
const services = ESLintUtils8.getParserServices(context);
|
|
2582
2587
|
const checker = services.program.getTypeChecker();
|
|
2583
2588
|
const candidates = [];
|
|
@@ -2982,7 +2987,7 @@ var no_contradictory_type_predicate_default = createRule({
|
|
|
2982
2987
|
},
|
|
2983
2988
|
defaultOptions: [],
|
|
2984
2989
|
create(context) {
|
|
2985
|
-
if (isGeneratedFile(context
|
|
2990
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
2986
2991
|
const services = ESLintUtils9.getParserServices(context);
|
|
2987
2992
|
const checker = services.program.getTypeChecker();
|
|
2988
2993
|
const uncheckedArray = contradictoryArrayPredicate(context.sourceCode, services);
|
|
@@ -3143,7 +3148,7 @@ var no_partial_type_predicate_default = createRule({
|
|
|
3143
3148
|
},
|
|
3144
3149
|
defaultOptions: [],
|
|
3145
3150
|
create(context) {
|
|
3146
|
-
if (isGeneratedFile(context
|
|
3151
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3147
3152
|
const services = ESLintUtils10.getParserServices(context);
|
|
3148
3153
|
function inspect(node) {
|
|
3149
3154
|
const predicate = primitivePredicate(node, services);
|
|
@@ -3580,7 +3585,7 @@ var no_boolean_selector_parameter_default = createRule({
|
|
|
3580
3585
|
},
|
|
3581
3586
|
defaultOptions: [],
|
|
3582
3587
|
create(context) {
|
|
3583
|
-
if (isGeneratedFile(context
|
|
3588
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3584
3589
|
const services = ESLintUtils11.getParserServices(context);
|
|
3585
3590
|
const reported = /* @__PURE__ */ new Set();
|
|
3586
3591
|
function report2(identifier) {
|
|
@@ -3670,7 +3675,7 @@ var no_invalid_zod_custom_parse_default = createRule({
|
|
|
3670
3675
|
},
|
|
3671
3676
|
defaultOptions: [],
|
|
3672
3677
|
create(context) {
|
|
3673
|
-
if (isGeneratedFile(context
|
|
3678
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3674
3679
|
const services = ESLintUtils12.getParserServices(context);
|
|
3675
3680
|
const checker = services.program.getTypeChecker();
|
|
3676
3681
|
const options = services.program.getCompilerOptions();
|
|
@@ -3787,7 +3792,7 @@ var no_contradictory_overload_return_default = createRule({
|
|
|
3787
3792
|
},
|
|
3788
3793
|
defaultOptions: [],
|
|
3789
3794
|
create(context) {
|
|
3790
|
-
if (isGeneratedFile(context
|
|
3795
|
+
if (isGeneratedFile(context, context.sourceCode.text) || !context.sourceCode.parserServices?.program) return {};
|
|
3791
3796
|
const services = ESLintUtils13.getParserServices(context);
|
|
3792
3797
|
const checker = services.program.getTypeChecker();
|
|
3793
3798
|
const options = services.program.getCompilerOptions();
|
|
@@ -4141,7 +4146,7 @@ var require_button_accessible_name_default = createRule({
|
|
|
4141
4146
|
},
|
|
4142
4147
|
defaultOptions: [{}],
|
|
4143
4148
|
create(context, [options]) {
|
|
4144
|
-
if (isGeneratedFile(context
|
|
4149
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context) || isStoryFile(context))
|
|
4145
4150
|
return {};
|
|
4146
4151
|
const iconModules = options?.iconModules ?? ["lucide-react"];
|
|
4147
4152
|
return {
|
|
@@ -4219,7 +4224,7 @@ var require_camelcase_properties_default = createRule({
|
|
|
4219
4224
|
},
|
|
4220
4225
|
defaultOptions: [],
|
|
4221
4226
|
create(context) {
|
|
4222
|
-
if (isGeneratedFile(context
|
|
4227
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
4223
4228
|
const checkProperty = (node) => {
|
|
4224
4229
|
if (node.computed === true || node.key.type !== AST_NODE_TYPES23.Identifier) return;
|
|
4225
4230
|
if (!SNAKE_CASE_RE.test(node.key.name)) return;
|
|
@@ -4298,7 +4303,7 @@ var require_svg_accessible_name_default = createRule({
|
|
|
4298
4303
|
},
|
|
4299
4304
|
defaultOptions: [],
|
|
4300
4305
|
create(context) {
|
|
4301
|
-
if (isGeneratedFile(context
|
|
4306
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context) || isStoryFile(context))
|
|
4302
4307
|
return {};
|
|
4303
4308
|
return {
|
|
4304
4309
|
JSXElement(node) {
|
|
@@ -4459,7 +4464,7 @@ var prefer_logical_tailwind_utilities_default = createRule({
|
|
|
4459
4464
|
},
|
|
4460
4465
|
defaultOptions: [{ enabled: true, checkInsets: false, allowUtilities: [] }],
|
|
4461
4466
|
create(context, [options]) {
|
|
4462
|
-
if (options?.enabled === false || isGeneratedFile(context
|
|
4467
|
+
if (options?.enabled === false || isGeneratedFile(context, context.sourceCode.text) || isTestFile(context) || isStoryFile(context))
|
|
4463
4468
|
return {};
|
|
4464
4469
|
return {
|
|
4465
4470
|
JSXOpeningElement(node) {
|
|
@@ -4610,7 +4615,7 @@ var no_unlocalized_toast_default = createRule({
|
|
|
4610
4615
|
},
|
|
4611
4616
|
defaultOptions: [{ enabled: true }],
|
|
4612
4617
|
create(context, [options]) {
|
|
4613
|
-
if (localizationExcluded(context
|
|
4618
|
+
if (localizationExcluded(context, context.sourceCode.text, options))
|
|
4614
4619
|
return {};
|
|
4615
4620
|
const functions = options?.functions ?? [
|
|
4616
4621
|
{ module: "sonner", export: "toast" },
|
|
@@ -4722,7 +4727,7 @@ var no_unlocalized_jsx_attributes_default = createRule({
|
|
|
4722
4727
|
},
|
|
4723
4728
|
defaultOptions: [{ enabled: true }],
|
|
4724
4729
|
create(context, [options]) {
|
|
4725
|
-
if (localizationExcluded(context
|
|
4730
|
+
if (localizationExcluded(context, context.sourceCode.text, options))
|
|
4726
4731
|
return {};
|
|
4727
4732
|
const attributes = options?.attributes ?? [
|
|
4728
4733
|
"title",
|
|
@@ -4800,7 +4805,7 @@ var no_unlocalized_jsx_text_default = createRule({
|
|
|
4800
4805
|
},
|
|
4801
4806
|
defaultOptions: [{ enabled: true }],
|
|
4802
4807
|
create(context, [options]) {
|
|
4803
|
-
if (localizationExcluded(context
|
|
4808
|
+
if (localizationExcluded(context, context.sourceCode.text, options))
|
|
4804
4809
|
return {};
|
|
4805
4810
|
return {
|
|
4806
4811
|
JSXText(node) {
|
|
@@ -5092,7 +5097,7 @@ var enforce_file_structure_default = createRule({
|
|
|
5092
5097
|
},
|
|
5093
5098
|
defaultOptions: [],
|
|
5094
5099
|
create(context) {
|
|
5095
|
-
if (isTestFile(context
|
|
5100
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
5096
5101
|
return {};
|
|
5097
5102
|
}
|
|
5098
5103
|
return {
|
|
@@ -5474,7 +5479,7 @@ var duplicate_test_body_default = createRule({
|
|
|
5474
5479
|
},
|
|
5475
5480
|
defaultOptions: [],
|
|
5476
5481
|
create(context) {
|
|
5477
|
-
if (!isTestFile(context
|
|
5482
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
5478
5483
|
return {};
|
|
5479
5484
|
}
|
|
5480
5485
|
const siblings = /* @__PURE__ */ new Map();
|
|
@@ -5716,7 +5721,7 @@ var excessive_commentary_default = createRule({
|
|
|
5716
5721
|
create(context) {
|
|
5717
5722
|
return {
|
|
5718
5723
|
Program() {
|
|
5719
|
-
for (const group of proseGroups(context
|
|
5724
|
+
for (const group of proseGroups(context, context.sourceCode)) {
|
|
5720
5725
|
const lines = lineCount(group.text);
|
|
5721
5726
|
const words2 = wordCount(group.text);
|
|
5722
5727
|
if (isJSDoc(group.comment)) {
|
|
@@ -6507,7 +6512,7 @@ var no_comment_cruft_default = createRule({
|
|
|
6507
6512
|
},
|
|
6508
6513
|
defaultOptions: [],
|
|
6509
6514
|
create(context) {
|
|
6510
|
-
if (isGeneratedFile(context
|
|
6515
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
6511
6516
|
return {};
|
|
6512
6517
|
}
|
|
6513
6518
|
const sourceCode = context.sourceCode;
|
|
@@ -6606,7 +6611,7 @@ var no_comment_cruft_default = createRule({
|
|
|
6606
6611
|
return {
|
|
6607
6612
|
Program() {
|
|
6608
6613
|
const comments = sourceCode.getAllComments();
|
|
6609
|
-
const callMatrixStems = isTestFile(context
|
|
6614
|
+
const callMatrixStems = isTestFile(context) ? testCallMatrixStems(comments) : /* @__PURE__ */ new Set();
|
|
6610
6615
|
const walls = findCommentWalls(comments);
|
|
6611
6616
|
const wallByLeader = new Map(walls.map((wall) => [wall.leader, wall]));
|
|
6612
6617
|
const wallMembers = new Set(walls.flatMap((wall) => [...wall.members]));
|
|
@@ -7055,7 +7060,7 @@ var no_duplicate_lifecycle_refresh_listeners_default = createRule({
|
|
|
7055
7060
|
},
|
|
7056
7061
|
defaultOptions: [],
|
|
7057
7062
|
create(context) {
|
|
7058
|
-
if (isTestFile(context
|
|
7063
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
7059
7064
|
const routerHooks = /* @__PURE__ */ new Set();
|
|
7060
7065
|
const routers = /* @__PURE__ */ new Set();
|
|
7061
7066
|
const functionCallbacks = /* @__PURE__ */ new Map();
|
|
@@ -7726,7 +7731,7 @@ var no_enum_default = createRule({
|
|
|
7726
7731
|
const filename = context.filename;
|
|
7727
7732
|
const sourceText = context.sourceCode.getText();
|
|
7728
7733
|
const isIgnoredByOption = ignoreFiles.length > 0 && matchesAnyPattern(filename, ignoreFiles);
|
|
7729
|
-
if (isIgnoredByOption || isGeneratedFile(
|
|
7734
|
+
if (isIgnoredByOption || isGeneratedFile(context, sourceText)) {
|
|
7730
7735
|
return {};
|
|
7731
7736
|
}
|
|
7732
7737
|
return {
|
|
@@ -7880,7 +7885,7 @@ var no_excessive_cognitive_complexity_default = createRule({
|
|
|
7880
7885
|
},
|
|
7881
7886
|
defaultOptions: [],
|
|
7882
7887
|
create(context) {
|
|
7883
|
-
if (isGeneratedFile(context
|
|
7888
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
7884
7889
|
function check(node) {
|
|
7885
7890
|
const points = functionComplexity(node, context.sourceCode.visitorKeys);
|
|
7886
7891
|
const score = points.reduce((sum, point) => sum + point.amount, 0);
|
|
@@ -8281,7 +8286,7 @@ var no_fat_try_blocks_default = createRule({
|
|
|
8281
8286
|
},
|
|
8282
8287
|
defaultOptions: [{ max: MAX_TRY_BODY_STATEMENTS }],
|
|
8283
8288
|
create(context, [options]) {
|
|
8284
|
-
if (isGeneratedFile(context
|
|
8289
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
8285
8290
|
return {};
|
|
8286
8291
|
}
|
|
8287
8292
|
const sourceCode = context.sourceCode;
|
|
@@ -8459,7 +8464,7 @@ var no_hand_rolled_sleep_default = createRule({
|
|
|
8459
8464
|
defaultOptions: [{}],
|
|
8460
8465
|
create(context, [optionsArg]) {
|
|
8461
8466
|
const { filename, sourceCode } = context;
|
|
8462
|
-
if (isTestFile(
|
|
8467
|
+
if (isTestFile(context) || isScriptFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
8463
8468
|
return {};
|
|
8464
8469
|
}
|
|
8465
8470
|
const allowIn = optionsArg?.allowIn ?? [];
|
|
@@ -8606,7 +8611,7 @@ var no_hand_rolled_spinner_default = createRule({
|
|
|
8606
8611
|
},
|
|
8607
8612
|
defaultOptions: [],
|
|
8608
8613
|
create(context) {
|
|
8609
|
-
if (DESIGN_SYSTEM_PATH.test(context.filename) || isTestFile(context
|
|
8614
|
+
if (DESIGN_SYSTEM_PATH.test(context.filename) || isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
8610
8615
|
return {};
|
|
8611
8616
|
}
|
|
8612
8617
|
return {
|
|
@@ -8727,7 +8732,7 @@ var no_insecure_random_id_default = createRule({
|
|
|
8727
8732
|
},
|
|
8728
8733
|
defaultOptions: [],
|
|
8729
8734
|
create(context) {
|
|
8730
|
-
if (isTestFile(context
|
|
8735
|
+
if (isTestFile(context)) {
|
|
8731
8736
|
return {};
|
|
8732
8737
|
}
|
|
8733
8738
|
return {
|
|
@@ -8820,7 +8825,7 @@ var no_detached_global_fetch_default = createRule({
|
|
|
8820
8825
|
defaultOptions: [],
|
|
8821
8826
|
create(context) {
|
|
8822
8827
|
const sourceCode = context.sourceCode;
|
|
8823
|
-
if (isTestFile(context
|
|
8828
|
+
if (isTestFile(context) || isScriptFile(context) || isGeneratedFile(context, sourceCode.text)) return {};
|
|
8824
8829
|
const aliases = /* @__PURE__ */ new Set();
|
|
8825
8830
|
function bindingOf(identifier) {
|
|
8826
8831
|
return ASTUtils24.findVariable(sourceCode.getScope(identifier), identifier.name);
|
|
@@ -8978,7 +8983,7 @@ var no_exception_text_in_5xx_response_default = createRule({
|
|
|
8978
8983
|
defaultOptions: [],
|
|
8979
8984
|
create(context) {
|
|
8980
8985
|
const sourceCode = context.sourceCode;
|
|
8981
|
-
if (isTestFile(context
|
|
8986
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.text)) return {};
|
|
8982
8987
|
const candidates = [];
|
|
8983
8988
|
const changedErrors = /* @__PURE__ */ new Set();
|
|
8984
8989
|
const stableBindings = /* @__PURE__ */ new WeakMap();
|
|
@@ -9710,7 +9715,7 @@ var no_json_stringify_object_equality_default = createRule({
|
|
|
9710
9715
|
defaultOptions: [],
|
|
9711
9716
|
create(context) {
|
|
9712
9717
|
const sourceCode = context.sourceCode;
|
|
9713
|
-
if (isTestFile(context
|
|
9718
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.text)) {
|
|
9714
9719
|
return {};
|
|
9715
9720
|
}
|
|
9716
9721
|
let services;
|
|
@@ -9907,7 +9912,7 @@ var no_impossible_zod_literal_bounds_default = createRule({
|
|
|
9907
9912
|
defaultOptions: [{}],
|
|
9908
9913
|
create(context, [options]) {
|
|
9909
9914
|
const sourceCode = context.sourceCode;
|
|
9910
|
-
if (isTestFile(context
|
|
9915
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
9911
9916
|
return {};
|
|
9912
9917
|
}
|
|
9913
9918
|
const namespaces = /* @__PURE__ */ new Set();
|
|
@@ -10188,7 +10193,7 @@ var no_in_operator_on_built_in_collections_default = createRule({
|
|
|
10188
10193
|
},
|
|
10189
10194
|
defaultOptions: [],
|
|
10190
10195
|
create(context) {
|
|
10191
|
-
if (isGeneratedFile(context
|
|
10196
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
10192
10197
|
let services;
|
|
10193
10198
|
try {
|
|
10194
10199
|
services = ESLintUtils15.getParserServices(context);
|
|
@@ -10320,7 +10325,7 @@ var no_redundant_optional_array_default_default = createRule({
|
|
|
10320
10325
|
defaultOptions: [],
|
|
10321
10326
|
create(context) {
|
|
10322
10327
|
const sourceCode = context.sourceCode;
|
|
10323
|
-
if (isTestFile(context
|
|
10328
|
+
if (isTestFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
10324
10329
|
return {};
|
|
10325
10330
|
}
|
|
10326
10331
|
const namespaces = /* @__PURE__ */ new Set();
|
|
@@ -10519,7 +10524,7 @@ var interface_contract_members_private_default = createRule({
|
|
|
10519
10524
|
},
|
|
10520
10525
|
defaultOptions: [],
|
|
10521
10526
|
create(context) {
|
|
10522
|
-
if (isGeneratedFile(context
|
|
10527
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
10523
10528
|
let services;
|
|
10524
10529
|
try {
|
|
10525
10530
|
services = ESLintUtils16.getParserServices(context);
|
|
@@ -10815,7 +10820,7 @@ var no_log_only_catch_default = createRule({
|
|
|
10815
10820
|
const above = sourceCode.getCommentsBefore(node).at(-1);
|
|
10816
10821
|
return above !== void 0 && above.loc.end.line === node.loc.start.line - 1;
|
|
10817
10822
|
}
|
|
10818
|
-
if (isTestFile(
|
|
10823
|
+
if (isTestFile(context) || BENCHMARK_DIR_RE.test(filename.replaceAll("\\", "/"))) {
|
|
10819
10824
|
return {};
|
|
10820
10825
|
}
|
|
10821
10826
|
return {
|
|
@@ -10987,7 +10992,7 @@ var no_bare_return_from_test_catch_default = createRule({
|
|
|
10987
10992
|
},
|
|
10988
10993
|
defaultOptions: [],
|
|
10989
10994
|
create(context) {
|
|
10990
|
-
if (!isTestFile(context
|
|
10995
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
10991
10996
|
return {
|
|
10992
10997
|
ReturnStatement(node) {
|
|
10993
10998
|
if (node.argument !== null) return;
|
|
@@ -11114,7 +11119,7 @@ var no_bespoke_api_case_conversion_default = createRule({
|
|
|
11114
11119
|
create(context) {
|
|
11115
11120
|
const filename = context.filename.replaceAll("\\", "/");
|
|
11116
11121
|
const basename = filename.slice(filename.lastIndexOf("/") + 1);
|
|
11117
|
-
if (!ADAPTER_BASENAME_RE.test(basename) || isGeneratedFile(
|
|
11122
|
+
if (!ADAPTER_BASENAME_RE.test(basename) || isGeneratedFile(context, context.sourceCode.text) || isTestFile(context, ["fixtureTree"])) {
|
|
11118
11123
|
return {};
|
|
11119
11124
|
}
|
|
11120
11125
|
const hasApiReceiver = (value) => {
|
|
@@ -11246,7 +11251,7 @@ var no_long_comment_default = createRule({
|
|
|
11246
11251
|
if (VERSIONED_DEPENDENCY_TREE_RE.test(normalizedFilename)) return {};
|
|
11247
11252
|
return {
|
|
11248
11253
|
Program() {
|
|
11249
|
-
for (const group of proseGroups(context
|
|
11254
|
+
for (const group of proseGroups(context, context.sourceCode)) {
|
|
11250
11255
|
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;
|
|
11251
11256
|
context.report({ node: group.comment, messageId: "tooLong" });
|
|
11252
11257
|
}
|
|
@@ -11258,7 +11263,7 @@ var no_long_comment_default = createRule({
|
|
|
11258
11263
|
// src/rules/no-vague-suppression-description.ts
|
|
11259
11264
|
var ESLINT_DIRECTIVE_WITH_DESCRIPTION_RE = /^eslint-(?:disable|disable-next-line|disable-line)\b[^:\n]*?\s*(?::|--)\s*(.+?)\s*$/iu;
|
|
11260
11265
|
var TS_EXPECT_ERROR_WITH_DESCRIPTION_RE = /^@ts-expect-error\b(?:(?:\s*(?::|--)\s*)|\s+)(.+?)\s*$/iu;
|
|
11261
|
-
var VAGUE_RE = /^(?:needed|required|intentional(?:ly)?|ignore(?:d)?|false positive|type error|typescript|to satisfy (?:the )?(?:linter|typescript|type checker))\.?$/iu;
|
|
11266
|
+
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;
|
|
11262
11267
|
var NO_VAGUE_SUPPRESSION_DESCRIPTION_DOCUMENTATION = {
|
|
11263
11268
|
summary: "Require suppression descriptions to name the concrete mismatch or invariant instead of a generic non-reason.",
|
|
11264
11269
|
rationale: "Generic phrases satisfy require-description mechanically while leaving reviewers unable to audit the risk or remove stale debt.",
|
|
@@ -11267,7 +11272,7 @@ var NO_VAGUE_SUPPRESSION_DESCRIPTION_DOCUMENTATION = {
|
|
|
11267
11272
|
limitations: [
|
|
11268
11273
|
"Only ESLint disable comments and TypeScript expect-error directives are checked.",
|
|
11269
11274
|
"The rule uses a small anchored vocabulary and does not score prose quality generally.",
|
|
11270
|
-
"
|
|
11275
|
+
"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."
|
|
11271
11276
|
],
|
|
11272
11277
|
examples: [
|
|
11273
11278
|
{
|
|
@@ -11318,15 +11323,13 @@ var no_vague_suppression_description_default = createRule({
|
|
|
11318
11323
|
},
|
|
11319
11324
|
defaultOptions: [],
|
|
11320
11325
|
create(context) {
|
|
11321
|
-
if (isGeneratedFile(context.filename, context.sourceCode.text)) {
|
|
11322
|
-
return {};
|
|
11323
|
-
}
|
|
11324
11326
|
return {
|
|
11325
11327
|
Program() {
|
|
11326
11328
|
for (const comment of context.sourceCode.getAllComments()) {
|
|
11327
11329
|
const text = comment.value.trim();
|
|
11328
11330
|
const description = suppressionDescription(text);
|
|
11329
|
-
if (description === void 0 || !VAGUE_RE.test(description))
|
|
11331
|
+
if (description === void 0 || !VAGUE_RE.test(description))
|
|
11332
|
+
continue;
|
|
11330
11333
|
context.report({
|
|
11331
11334
|
loc: comment.loc,
|
|
11332
11335
|
messageId: "vagueDescription",
|
|
@@ -11512,7 +11515,7 @@ var no_generic_single_export_module_default = createRule({
|
|
|
11512
11515
|
create(context) {
|
|
11513
11516
|
const file = fileParts(context.filename);
|
|
11514
11517
|
const { stem: stem4 } = file;
|
|
11515
|
-
if (!GENERIC_MODULE_STEMS.has(stem4) || isTestFile(context
|
|
11518
|
+
if (!GENERIC_MODULE_STEMS.has(stem4) || isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
11516
11519
|
let hasCommonJsExport = false;
|
|
11517
11520
|
return {
|
|
11518
11521
|
"CallExpression, MemberExpression"(node) {
|
|
@@ -11571,7 +11574,7 @@ var no_offset_pagination_default = createRule({
|
|
|
11571
11574
|
},
|
|
11572
11575
|
defaultOptions: [],
|
|
11573
11576
|
create(context) {
|
|
11574
|
-
if (isTestFile(context
|
|
11577
|
+
if (isTestFile(context)) {
|
|
11575
11578
|
return {};
|
|
11576
11579
|
}
|
|
11577
11580
|
return createSqlListener((sql, node) => {
|
|
@@ -11840,7 +11843,7 @@ var no_positional_tuple_return_default = createRule({
|
|
|
11840
11843
|
},
|
|
11841
11844
|
defaultOptions: [],
|
|
11842
11845
|
create(context) {
|
|
11843
|
-
if (isGeneratedFile(context
|
|
11846
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
11844
11847
|
const specifierExports = specifierExportedNames(context.sourceCode.ast);
|
|
11845
11848
|
const typeExports = publiclyReachableTypeNames(
|
|
11846
11849
|
context.sourceCode.ast,
|
|
@@ -12108,7 +12111,7 @@ var no_raw_env_default = createRule({
|
|
|
12108
12111
|
defaultOptions: [],
|
|
12109
12112
|
create(context) {
|
|
12110
12113
|
const filename = context.filename;
|
|
12111
|
-
if (isTestFile(
|
|
12114
|
+
if (isTestFile(context) || isScriptFile(context) || CONFIG_FILE_RE.test(filename.replaceAll("\\", "/"))) {
|
|
12112
12115
|
return {};
|
|
12113
12116
|
}
|
|
12114
12117
|
const reads = [];
|
|
@@ -12309,7 +12312,7 @@ var no_raw_fetch_outside_clients_default = createRule({
|
|
|
12309
12312
|
defaultOptions: [{}],
|
|
12310
12313
|
create(context, [options]) {
|
|
12311
12314
|
const filename = context.filename;
|
|
12312
|
-
if (isTestFile(
|
|
12315
|
+
if (isTestFile(context) || isScriptFile(context) || NON_PRODUCTION_TREE_RE.test(filename)) {
|
|
12313
12316
|
return {};
|
|
12314
12317
|
}
|
|
12315
12318
|
const patterns = options?.allow ?? DEFAULT_ALLOW;
|
|
@@ -12586,7 +12589,7 @@ var no_router_refresh_polling_default = createRule({
|
|
|
12586
12589
|
},
|
|
12587
12590
|
defaultOptions: [],
|
|
12588
12591
|
create(context) {
|
|
12589
|
-
if (isTestFile(context
|
|
12592
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
12590
12593
|
const routerHooks = /* @__PURE__ */ new Set();
|
|
12591
12594
|
const routers = /* @__PURE__ */ new Set();
|
|
12592
12595
|
const reportedCallbacks = /* @__PURE__ */ new WeakSet();
|
|
@@ -12692,7 +12695,7 @@ var no_repeated_string_literal_default = createRule({
|
|
|
12692
12695
|
},
|
|
12693
12696
|
defaultOptions: [],
|
|
12694
12697
|
create(context) {
|
|
12695
|
-
if (isTestFile(context
|
|
12698
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
12696
12699
|
return {};
|
|
12697
12700
|
}
|
|
12698
12701
|
const occurrences = /* @__PURE__ */ new Map();
|
|
@@ -12845,7 +12848,7 @@ var no_restated_comment_default = createRule({
|
|
|
12845
12848
|
},
|
|
12846
12849
|
defaultOptions: [],
|
|
12847
12850
|
create(context) {
|
|
12848
|
-
if (isGeneratedFile(context
|
|
12851
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
12849
12852
|
return {};
|
|
12850
12853
|
}
|
|
12851
12854
|
const sourceCode = context.sourceCode;
|
|
@@ -13031,7 +13034,7 @@ var no_restated_jsdoc_default = createRule({
|
|
|
13031
13034
|
},
|
|
13032
13035
|
defaultOptions: [],
|
|
13033
13036
|
create(context) {
|
|
13034
|
-
if (isGeneratedFile(context
|
|
13037
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
13035
13038
|
return {};
|
|
13036
13039
|
}
|
|
13037
13040
|
const sourceCode = context.sourceCode;
|
|
@@ -13366,7 +13369,7 @@ var no_secret_in_log_default = createRule({
|
|
|
13366
13369
|
defaultOptions: [{}],
|
|
13367
13370
|
create(context, [loggingOptions]) {
|
|
13368
13371
|
const matcher = createLogMatcher(loggingOptions);
|
|
13369
|
-
const blobArmApplies = !isTestFile(context
|
|
13372
|
+
const blobArmApplies = !isTestFile(context);
|
|
13370
13373
|
function resolvesToGlobal(identifier) {
|
|
13371
13374
|
const variable = ASTUtils40.findVariable(context.sourceCode.getScope(identifier), identifier.name);
|
|
13372
13375
|
return variable === null || variable.defs.length === 0;
|
|
@@ -13638,7 +13641,7 @@ var no_select_star_default = createRule({
|
|
|
13638
13641
|
},
|
|
13639
13642
|
defaultOptions: [],
|
|
13640
13643
|
create(context) {
|
|
13641
|
-
if (isTestFile(context
|
|
13644
|
+
if (isTestFile(context)) {
|
|
13642
13645
|
return {};
|
|
13643
13646
|
}
|
|
13644
13647
|
return createSqlListener((sql, node) => {
|
|
@@ -14016,7 +14019,7 @@ var no_sentinel_return_on_catch_default = createRule({
|
|
|
14016
14019
|
},
|
|
14017
14020
|
defaultOptions: [{}],
|
|
14018
14021
|
create(context, [loggingOptions]) {
|
|
14019
|
-
if (isGeneratedFile(context
|
|
14022
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
14020
14023
|
return {};
|
|
14021
14024
|
}
|
|
14022
14025
|
const matcher = createLogMatcher(loggingOptions);
|
|
@@ -14256,7 +14259,7 @@ var no_silent_promise_catch_default = createRule({
|
|
|
14256
14259
|
},
|
|
14257
14260
|
defaultOptions: [],
|
|
14258
14261
|
create(context) {
|
|
14259
|
-
if (isTestFile(context
|
|
14262
|
+
if (isTestFile(context) || isScriptFile(context)) {
|
|
14260
14263
|
return {};
|
|
14261
14264
|
}
|
|
14262
14265
|
function isZodSchema(node, seen = /* @__PURE__ */ new Set()) {
|
|
@@ -14451,7 +14454,7 @@ var no_sleep_in_test_body_default = createRule({
|
|
|
14451
14454
|
},
|
|
14452
14455
|
defaultOptions: [],
|
|
14453
14456
|
create(context) {
|
|
14454
|
-
if (!isTestFile(context
|
|
14457
|
+
if (!isTestFile(context)) {
|
|
14455
14458
|
return {};
|
|
14456
14459
|
}
|
|
14457
14460
|
const report2 = (node) => {
|
|
@@ -14589,7 +14592,7 @@ var no_storage_in_stateless_modules_default = createRule({
|
|
|
14589
14592
|
},
|
|
14590
14593
|
defaultOptions: [{}],
|
|
14591
14594
|
create(context, [options]) {
|
|
14592
|
-
if (isTestFile(context
|
|
14595
|
+
if (isTestFile(context)) {
|
|
14593
14596
|
return {};
|
|
14594
14597
|
}
|
|
14595
14598
|
const modules = options?.modules ?? [];
|
|
@@ -14829,7 +14832,7 @@ var no_string_concat_in_loop_default = createRule({
|
|
|
14829
14832
|
},
|
|
14830
14833
|
defaultOptions: [],
|
|
14831
14834
|
create(context) {
|
|
14832
|
-
if (isGeneratedFile(context
|
|
14835
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
14833
14836
|
return {};
|
|
14834
14837
|
}
|
|
14835
14838
|
const reported = /* @__PURE__ */ new WeakMap();
|
|
@@ -14990,7 +14993,7 @@ var no_duplicate_test_case_default = createRule({
|
|
|
14990
14993
|
},
|
|
14991
14994
|
defaultOptions: [],
|
|
14992
14995
|
create(context) {
|
|
14993
|
-
if (!isTestFile(context
|
|
14996
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
14994
14997
|
const inspected = /* @__PURE__ */ new Set();
|
|
14995
14998
|
return {
|
|
14996
14999
|
CallExpression(node) {
|
|
@@ -15343,7 +15346,7 @@ var no_tautological_expect_default = createRule({
|
|
|
15343
15346
|
},
|
|
15344
15347
|
defaultOptions: [],
|
|
15345
15348
|
create(context) {
|
|
15346
|
-
if (!isTestFile(context
|
|
15349
|
+
if (!isTestFile(context)) {
|
|
15347
15350
|
return {};
|
|
15348
15351
|
}
|
|
15349
15352
|
const customized = customizedMatchers(context.sourceCode);
|
|
@@ -15569,7 +15572,7 @@ var no_typed_doc_sections_default = createRule({
|
|
|
15569
15572
|
create(context) {
|
|
15570
15573
|
return {
|
|
15571
15574
|
Program() {
|
|
15572
|
-
for (const group of proseGroups(context
|
|
15575
|
+
for (const group of proseGroups(context, context.sourceCode, true)) {
|
|
15573
15576
|
const signature = documentedSignature(context.sourceCode, group.comment);
|
|
15574
15577
|
if (group.hasTypedTags && signature !== null && typedTags(group.text).some((tag) => isVacuousTag(tag, signature, context.sourceCode))) {
|
|
15575
15578
|
context.report({ node: group.comment, messageId: "typedSection" });
|
|
@@ -15745,7 +15748,7 @@ var no_trailing_value_narration_default = createRule({
|
|
|
15745
15748
|
},
|
|
15746
15749
|
defaultOptions: [],
|
|
15747
15750
|
create(context) {
|
|
15748
|
-
if (isGeneratedFile(context
|
|
15751
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
15749
15752
|
return {};
|
|
15750
15753
|
}
|
|
15751
15754
|
const sourceCode = context.sourceCode;
|
|
@@ -16019,7 +16022,7 @@ var no_declaration_comment_wall_default = createRule({
|
|
|
16019
16022
|
create(context, [provided]) {
|
|
16020
16023
|
const options = { ...WALL_DEFAULTS, ...provided };
|
|
16021
16024
|
const sourceCode = context.sourceCode;
|
|
16022
|
-
if (isGeneratedFile(context
|
|
16025
|
+
if (isGeneratedFile(context, sourceCode.text) || isTestFile(context) || isStoryFile(context)) {
|
|
16023
16026
|
return {};
|
|
16024
16027
|
}
|
|
16025
16028
|
const endingOn = /* @__PURE__ */ new Map();
|
|
@@ -16199,7 +16202,7 @@ var no_union_in_comment_default = createRule({
|
|
|
16199
16202
|
defaultOptions: [],
|
|
16200
16203
|
create(context) {
|
|
16201
16204
|
const sourceCode = context.sourceCode;
|
|
16202
|
-
if (isGeneratedFile(context
|
|
16205
|
+
if (isGeneratedFile(context, sourceCode.text)) {
|
|
16203
16206
|
return {};
|
|
16204
16207
|
}
|
|
16205
16208
|
function annotated(comment) {
|
|
@@ -16300,7 +16303,7 @@ var no_type_member_comment_wall_default = createRule({
|
|
|
16300
16303
|
create(context, [provided]) {
|
|
16301
16304
|
const options = { ...WALL_DEFAULTS, ...provided };
|
|
16302
16305
|
const sourceCode = context.sourceCode;
|
|
16303
|
-
if (isGeneratedFile(context
|
|
16306
|
+
if (isGeneratedFile(context, sourceCode.text, ["externalTree"]) || isTestFile(context, ["fixtureTree"]) || isStoryFile(context, ["storyTree"])) {
|
|
16304
16307
|
return {};
|
|
16305
16308
|
}
|
|
16306
16309
|
const endingOn = /* @__PURE__ */ new Map();
|
|
@@ -16687,7 +16690,7 @@ var no_unsafe_mock_casting_default = createRule({
|
|
|
16687
16690
|
},
|
|
16688
16691
|
defaultOptions: [],
|
|
16689
16692
|
create(context) {
|
|
16690
|
-
if (isGeneratedFile(context
|
|
16693
|
+
if (isGeneratedFile(context, context.sourceCode.text)) {
|
|
16691
16694
|
return {};
|
|
16692
16695
|
}
|
|
16693
16696
|
const directBindings = /* @__PURE__ */ new Set();
|
|
@@ -16780,7 +16783,7 @@ var no_unsafe_test_double_cast_default = createRule({
|
|
|
16780
16783
|
},
|
|
16781
16784
|
defaultOptions: [],
|
|
16782
16785
|
create(context) {
|
|
16783
|
-
if (!isTestFile(context
|
|
16786
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
16784
16787
|
return {
|
|
16785
16788
|
TSAsExpression(node) {
|
|
16786
16789
|
if ((node.expression.type === AST_NODE_TYPES78.TSAsExpression || node.expression.type === AST_NODE_TYPES78.TSTypeAssertion) && isUnknown(node.expression.typeAnnotation) && containsMockFactory(node.expression.expression, context.sourceCode)) context.report({ node, messageId: "noUnsafeTestDoubleCast" });
|
|
@@ -16819,7 +16822,7 @@ var no_first_party_module_mock_default = createRule({
|
|
|
16819
16822
|
},
|
|
16820
16823
|
defaultOptions: [{ additionalModulePrefixes: [] }],
|
|
16821
16824
|
create(context, [options]) {
|
|
16822
|
-
if (!isTestFile(context
|
|
16825
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
16823
16826
|
return {
|
|
16824
16827
|
CallExpression(node) {
|
|
16825
16828
|
const unwrappedNodeCallee = unwrapExpression(node.callee);
|
|
@@ -16955,10 +16958,10 @@ var no_zod_native_enum_default = createRule({
|
|
|
16955
16958
|
defaultOptions: [],
|
|
16956
16959
|
create(context) {
|
|
16957
16960
|
const sourceCode = context.sourceCode;
|
|
16958
|
-
if (isGeneratedFile(context
|
|
16961
|
+
if (isGeneratedFile(context, sourceCode.getText())) {
|
|
16959
16962
|
return {};
|
|
16960
16963
|
}
|
|
16961
|
-
if (isTestFile(context
|
|
16964
|
+
if (isTestFile(context)) {
|
|
16962
16965
|
return {};
|
|
16963
16966
|
}
|
|
16964
16967
|
let services;
|
|
@@ -17165,7 +17168,7 @@ var test_loops_over_literal_cases_default = createRule({
|
|
|
17165
17168
|
},
|
|
17166
17169
|
defaultOptions: [],
|
|
17167
17170
|
create(context) {
|
|
17168
|
-
if (!isTestFile(context
|
|
17171
|
+
if (!isTestFile(context)) {
|
|
17169
17172
|
return {};
|
|
17170
17173
|
}
|
|
17171
17174
|
const isFrameworkTest = (identifier) => TEST_CALLERS3.has(runtimeTestFrameworkName(context.sourceCode, identifier, "test") ?? "");
|
|
@@ -17277,7 +17280,7 @@ var test_phase_label_comment_default = createRule({
|
|
|
17277
17280
|
},
|
|
17278
17281
|
defaultOptions: [],
|
|
17279
17282
|
create(context) {
|
|
17280
|
-
if (!isTestFile(context
|
|
17283
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
17281
17284
|
return {
|
|
17282
17285
|
Program() {
|
|
17283
17286
|
const comments = context.sourceCode.getAllComments();
|
|
@@ -17381,7 +17384,7 @@ var prefer_constant_time_secret_compare_default = createRule({
|
|
|
17381
17384
|
},
|
|
17382
17385
|
defaultOptions: [],
|
|
17383
17386
|
create(context) {
|
|
17384
|
-
if (isTestFile(context
|
|
17387
|
+
if (isTestFile(context)) {
|
|
17385
17388
|
return {};
|
|
17386
17389
|
}
|
|
17387
17390
|
const sourceCode = context.sourceCode;
|
|
@@ -17521,7 +17524,7 @@ var prefer_ecmascript_private_members_default = createRule({
|
|
|
17521
17524
|
},
|
|
17522
17525
|
defaultOptions: [],
|
|
17523
17526
|
create(context) {
|
|
17524
|
-
if (isGeneratedFile(context
|
|
17527
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
17525
17528
|
let services;
|
|
17526
17529
|
try {
|
|
17527
17530
|
services = ESLintUtils18.getParserServices(context);
|
|
@@ -17926,7 +17929,7 @@ var prefer_discriminated_union_default = createRule({
|
|
|
17926
17929
|
},
|
|
17927
17930
|
defaultOptions: [],
|
|
17928
17931
|
create(context) {
|
|
17929
|
-
if (isTestFile(context
|
|
17932
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
17930
17933
|
return {};
|
|
17931
17934
|
}
|
|
17932
17935
|
const reportedContracts = /* @__PURE__ */ new Set();
|
|
@@ -18207,7 +18210,7 @@ var prefer_millisecond_control_duration_schema_default = createRule({
|
|
|
18207
18210
|
},
|
|
18208
18211
|
defaultOptions: [],
|
|
18209
18212
|
create(context) {
|
|
18210
|
-
if (isGeneratedFile(context
|
|
18213
|
+
if (isGeneratedFile(context, context.sourceCode.text) || isTestFile(context, ["fixtureTree"])) {
|
|
18211
18214
|
return {};
|
|
18212
18215
|
}
|
|
18213
18216
|
const zodNamespaces = /* @__PURE__ */ new Set();
|
|
@@ -18512,7 +18515,7 @@ var prefer_immutable_module_constant_default = createRule({
|
|
|
18512
18515
|
const declaration = definitions2.length === 1 ? definitions2[0]?.node : void 0;
|
|
18513
18516
|
return declaration?.type === AST_NODE_TYPES89.TSTypeAliasDeclaration || declaration?.type === AST_NODE_TYPES89.TSTypeParameter ? declaration : void 0;
|
|
18514
18517
|
};
|
|
18515
|
-
if (JAVASCRIPT_FILE_RE.test(context.filename) || isTestFile(context
|
|
18518
|
+
if (JAVASCRIPT_FILE_RE.test(context.filename) || isTestFile(context) || isGeneratedFile(context, sourceCode.getText())) {
|
|
18516
18519
|
return {};
|
|
18517
18520
|
}
|
|
18518
18521
|
const exportedNames2 = /* @__PURE__ */ new Set();
|
|
@@ -18926,7 +18929,7 @@ var prefer_shadcn_primitives_default = createRule({
|
|
|
18926
18929
|
defaultOptions: [{}],
|
|
18927
18930
|
create(context, [options]) {
|
|
18928
18931
|
const filename = context.filename.replaceAll("\\", "/");
|
|
18929
|
-
if (isTestFile(
|
|
18932
|
+
if (isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text) || SHARED_PRIMITIVE_IMPLEMENTATION_RE.test(filename)) {
|
|
18930
18933
|
return {};
|
|
18931
18934
|
}
|
|
18932
18935
|
const detectsProject = options?.detectProjectPrimitives === true;
|
|
@@ -19238,7 +19241,7 @@ var prefer_module_level_constant_default = createRule({
|
|
|
19238
19241
|
if (isIgnoredFile(filename, sourceCode.getText())) {
|
|
19239
19242
|
return {};
|
|
19240
19243
|
}
|
|
19241
|
-
if (ignoreTestFiles && isLocalFixtureFile(
|
|
19244
|
+
if (ignoreTestFiles && isLocalFixtureFile(context)) {
|
|
19242
19245
|
return {};
|
|
19243
19246
|
}
|
|
19244
19247
|
function allReferencesAreSafeReads(declarator) {
|
|
@@ -19572,11 +19575,10 @@ var prefer_module_level_schema_default = createRule({
|
|
|
19572
19575
|
const memoCallees = new Set(options?.memoCallees ?? MEMO_CALLEES);
|
|
19573
19576
|
const minProperties = options?.minProperties ?? DEFAULT_MIN_PROPERTIES;
|
|
19574
19577
|
const sourceCode = context.sourceCode;
|
|
19575
|
-
|
|
19576
|
-
if (isGeneratedFile(filename, sourceCode.getText())) {
|
|
19578
|
+
if (isGeneratedFile(context, sourceCode.getText())) {
|
|
19577
19579
|
return {};
|
|
19578
19580
|
}
|
|
19579
|
-
if (ignoreTestFiles && isTestFile(
|
|
19581
|
+
if (ignoreTestFiles && isTestFile(context)) {
|
|
19580
19582
|
return {};
|
|
19581
19583
|
}
|
|
19582
19584
|
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) {
|
|
@@ -20225,7 +20227,7 @@ var prefer_multi_value_zod_literal_default = createRule({
|
|
|
20225
20227
|
},
|
|
20226
20228
|
defaultOptions: [{}],
|
|
20227
20229
|
create(context, [options]) {
|
|
20228
|
-
if (isTestFile(context
|
|
20230
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text))
|
|
20229
20231
|
return {};
|
|
20230
20232
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
20231
20233
|
const zod4Bindings = /* @__PURE__ */ new Set();
|
|
@@ -20410,7 +20412,7 @@ var prefer_nominal_id_types_default = createRule({
|
|
|
20410
20412
|
},
|
|
20411
20413
|
defaultOptions: [],
|
|
20412
20414
|
create(context) {
|
|
20413
|
-
if (isGeneratedFile(context
|
|
20415
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
20414
20416
|
return {
|
|
20415
20417
|
ArrowFunctionExpression: (node) => checkBoundary(node, context),
|
|
20416
20418
|
FunctionDeclaration: (node) => checkBoundary(node, context),
|
|
@@ -20462,7 +20464,7 @@ var prefer_named_callback_domain_default = createRule({
|
|
|
20462
20464
|
},
|
|
20463
20465
|
defaultOptions: [],
|
|
20464
20466
|
create(context) {
|
|
20465
|
-
if (isTestFile(context
|
|
20467
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
20466
20468
|
return {
|
|
20467
20469
|
TSFunctionType(node) {
|
|
20468
20470
|
if (!exportedContract(node)) return;
|
|
@@ -20528,7 +20530,7 @@ var prefer_named_complex_return_type_default = createRule({
|
|
|
20528
20530
|
},
|
|
20529
20531
|
defaultOptions: [],
|
|
20530
20532
|
create(context) {
|
|
20531
|
-
if (isTestFile(context
|
|
20533
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
20532
20534
|
return {
|
|
20533
20535
|
ArrowFunctionExpression: (node) => report(context, node),
|
|
20534
20536
|
FunctionDeclaration: (node) => report(context, node),
|
|
@@ -20834,7 +20836,7 @@ var prefer_node_fs_promises_default = createRule({
|
|
|
20834
20836
|
defaultOptions: [],
|
|
20835
20837
|
create(context) {
|
|
20836
20838
|
const normalizedFilename = context.filename.replaceAll("\\", "/");
|
|
20837
|
-
if (isTestFile(context
|
|
20839
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text) || normalizedFilename.includes("src/rules/"))
|
|
20838
20840
|
return {};
|
|
20839
20841
|
const namespaces = /* @__PURE__ */ new Set();
|
|
20840
20842
|
const bindingOf = (node) => ASTUtils62.findVariable(context.sourceCode.getScope(node), node.name);
|
|
@@ -21255,7 +21257,7 @@ var prefer_non_nullable_collection_default = createRule({
|
|
|
21255
21257
|
},
|
|
21256
21258
|
defaultOptions: [],
|
|
21257
21259
|
create(context) {
|
|
21258
|
-
if (isTestFile(context
|
|
21260
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
21259
21261
|
return {};
|
|
21260
21262
|
}
|
|
21261
21263
|
let shapes = /* @__PURE__ */ new Map();
|
|
@@ -21477,7 +21479,7 @@ var prefer_nullish_filter_predicate_default = createRule({
|
|
|
21477
21479
|
},
|
|
21478
21480
|
defaultOptions: [],
|
|
21479
21481
|
create(context) {
|
|
21480
|
-
if (isGeneratedFile(context
|
|
21482
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
21481
21483
|
let services;
|
|
21482
21484
|
try {
|
|
21483
21485
|
services = ESLintUtils19.getParserServices(context);
|
|
@@ -22043,7 +22045,7 @@ var prefer_schema_for_api_payload_default = createRule({
|
|
|
22043
22045
|
},
|
|
22044
22046
|
defaultOptions: [],
|
|
22045
22047
|
create(context) {
|
|
22046
|
-
if (isTestFile(context
|
|
22048
|
+
if (isTestFile(context) || isScriptFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
22047
22049
|
return {};
|
|
22048
22050
|
}
|
|
22049
22051
|
const unvalidatedVariables = /* @__PURE__ */ new Set();
|
|
@@ -22350,7 +22352,7 @@ var prefer_shared_zod_enum_default = createRule({
|
|
|
22350
22352
|
},
|
|
22351
22353
|
defaultOptions: [],
|
|
22352
22354
|
create(context) {
|
|
22353
|
-
if (isTestFile(context
|
|
22355
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
22354
22356
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
22355
22357
|
const bindingOf = (node) => ASTUtils68.findVariable(context.sourceCode.getScope(node), node.name);
|
|
22356
22358
|
const candidates = /* @__PURE__ */ new Map();
|
|
@@ -22438,7 +22440,7 @@ var prefer_switch_for_repeated_equality_default = createRule({
|
|
|
22438
22440
|
},
|
|
22439
22441
|
defaultOptions: [],
|
|
22440
22442
|
create(context) {
|
|
22441
|
-
if (isGeneratedFile(context
|
|
22443
|
+
if (isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
22442
22444
|
return {
|
|
22443
22445
|
IfStatement(node) {
|
|
22444
22446
|
if (node.parent.type === AST_NODE_TYPES107.IfStatement && node.parent.alternate === node) return;
|
|
@@ -23334,7 +23336,7 @@ var prefer_whole_object_assertion_default = createRule({
|
|
|
23334
23336
|
},
|
|
23335
23337
|
defaultOptions: [],
|
|
23336
23338
|
create(context) {
|
|
23337
|
-
if (!isTestFile(context
|
|
23339
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
23338
23340
|
return {};
|
|
23339
23341
|
}
|
|
23340
23342
|
const { sourceCode } = context;
|
|
@@ -23676,7 +23678,7 @@ var repeated_static_call_cases_default = createRule({
|
|
|
23676
23678
|
defaultOptions: [],
|
|
23677
23679
|
create(context) {
|
|
23678
23680
|
const sourceCode = context.sourceCode;
|
|
23679
|
-
if (!isTestFile(context
|
|
23681
|
+
if (!isTestFile(context) || isGeneratedFile(context, sourceCode.text)) return {};
|
|
23680
23682
|
const duplicateGroups = /* @__PURE__ */ new Map();
|
|
23681
23683
|
const pending = [];
|
|
23682
23684
|
return {
|
|
@@ -24185,7 +24187,7 @@ var prefer_zod_infer_default = createRule({
|
|
|
24185
24187
|
(source) => new RegExp(source, "u")
|
|
24186
24188
|
);
|
|
24187
24189
|
const requireIdenticalShape = optionsArg?.requireIdenticalShape ?? true;
|
|
24188
|
-
if (isTestFile(context
|
|
24190
|
+
if (isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
24189
24191
|
return {};
|
|
24190
24192
|
}
|
|
24191
24193
|
const zodNamespaces = /* @__PURE__ */ new Set();
|
|
@@ -24505,7 +24507,7 @@ var named_child_schema_type_default = createRule({
|
|
|
24505
24507
|
defaultOptions: [],
|
|
24506
24508
|
create(context) {
|
|
24507
24509
|
const source = context.sourceCode;
|
|
24508
|
-
if (isGeneratedFile(context
|
|
24510
|
+
if (isGeneratedFile(context, source.text)) return {};
|
|
24509
24511
|
const namespaces = /* @__PURE__ */ new Set();
|
|
24510
24512
|
const bindingOf = (node) => ASTUtils74.findVariable(source.getScope(node), node.name);
|
|
24511
24513
|
function namespaceOf(type) {
|
|
@@ -24984,7 +24986,7 @@ function reportCandidates(context, services, schemas, candidates, zodNamespaces,
|
|
|
24984
24986
|
const declaration = handWrittenObjectDeclaration(contractSymbol);
|
|
24985
24987
|
if (declaration === null || declaration.getSourceFile().isDeclarationFile) return;
|
|
24986
24988
|
const source = declaration.getSourceFile();
|
|
24987
|
-
if (isGeneratedFile(source.fileName, source.text)) return;
|
|
24989
|
+
if (isGeneratedFile({ filename: source.fileName, cwd: context.cwd }, source.text)) return;
|
|
24988
24990
|
const tsOutput = services.esTreeNodeToTSNodeMap.get(candidate2.output);
|
|
24989
24991
|
const parsed = checker.getTypeAtLocation(tsOutput);
|
|
24990
24992
|
if (hasAuthoritativeOutputContract(checker, tsOutput, contractSymbol)) return;
|
|
@@ -25066,7 +25068,7 @@ var prefer_zod_parse_output_type_default = createRule({
|
|
|
25066
25068
|
},
|
|
25067
25069
|
defaultOptions: [],
|
|
25068
25070
|
create(context) {
|
|
25069
|
-
if (isTestFile(context
|
|
25071
|
+
if (isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
25070
25072
|
return {};
|
|
25071
25073
|
}
|
|
25072
25074
|
let services;
|
|
@@ -25366,7 +25368,7 @@ var require_fetch_timeout_default = createRule({
|
|
|
25366
25368
|
},
|
|
25367
25369
|
defaultOptions: [{}],
|
|
25368
25370
|
create(context, [optionsArg]) {
|
|
25369
|
-
if (isTestFile(context
|
|
25371
|
+
if (isTestFile(context) || isScriptFile(context)) {
|
|
25370
25372
|
return {};
|
|
25371
25373
|
}
|
|
25372
25374
|
const allowIn = optionsArg?.allowIn ?? [];
|
|
@@ -25518,7 +25520,7 @@ var require_interface_for_exported_class_default = createRule({
|
|
|
25518
25520
|
},
|
|
25519
25521
|
defaultOptions: [],
|
|
25520
25522
|
create(context) {
|
|
25521
|
-
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isTestFile(context
|
|
25523
|
+
if (/\.(?:js|jsx|mjs|cjs)$/iu.test(context.filename) || isTestFile(context) || isStoryFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
25522
25524
|
return {
|
|
25523
25525
|
"Program:exit"(program) {
|
|
25524
25526
|
const classes = /* @__PURE__ */ new Map();
|
|
@@ -25839,7 +25841,7 @@ var require_sql_access_class_default = createRule({
|
|
|
25839
25841
|
},
|
|
25840
25842
|
defaultOptions: [],
|
|
25841
25843
|
create(context) {
|
|
25842
|
-
if (isTestFile(context
|
|
25844
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text))
|
|
25843
25845
|
return {};
|
|
25844
25846
|
function knownNonDatabase(node, seen = /* @__PURE__ */ new Set()) {
|
|
25845
25847
|
const unwrappedNodeCallee = node.type === "CallExpression" || node.type === "NewExpression" ? unwrapExpression(node.callee) : null;
|
|
@@ -26269,7 +26271,7 @@ var require_zod_form_validation_default = createRule({
|
|
|
26269
26271
|
},
|
|
26270
26272
|
defaultOptions: [],
|
|
26271
26273
|
create(context) {
|
|
26272
|
-
if (isTestFile(context
|
|
26274
|
+
if (isTestFile(context)) {
|
|
26273
26275
|
return {};
|
|
26274
26276
|
}
|
|
26275
26277
|
const zodBindings = /* @__PURE__ */ new Set();
|
|
@@ -26564,7 +26566,7 @@ var store_insert_requires_on_conflict_default = createRule({
|
|
|
26564
26566
|
},
|
|
26565
26567
|
defaultOptions: [],
|
|
26566
26568
|
create(context) {
|
|
26567
|
-
if (isTestFile(context
|
|
26569
|
+
if (isTestFile(context)) {
|
|
26568
26570
|
return {};
|
|
26569
26571
|
}
|
|
26570
26572
|
return createSqlListener((sql, node) => {
|
|
@@ -27112,7 +27114,7 @@ var stepdown_default = createRule({
|
|
|
27112
27114
|
},
|
|
27113
27115
|
defaultOptions: [],
|
|
27114
27116
|
create(context) {
|
|
27115
|
-
if (isTestFile(context
|
|
27117
|
+
if (isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
27116
27118
|
const classes = [];
|
|
27117
27119
|
const functionBodies = [];
|
|
27118
27120
|
return {
|
|
@@ -27287,7 +27289,7 @@ function createSourceCoupledRule(name, documentation, sourceSuffixRe) {
|
|
|
27287
27289
|
},
|
|
27288
27290
|
defaultOptions: [],
|
|
27289
27291
|
create(context) {
|
|
27290
|
-
if (!isTestFile(context
|
|
27292
|
+
if (!isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
27291
27293
|
const scopes = [newScope()];
|
|
27292
27294
|
const reportedOrigins = /* @__PURE__ */ new Set();
|
|
27293
27295
|
const currentScope = () => scopes.at(-1) ?? scopes[0];
|
|
@@ -27387,7 +27389,7 @@ function createSourceCoupledRule(name, documentation, sourceSuffixRe) {
|
|
|
27387
27389
|
};
|
|
27388
27390
|
const sourcePathValue = (value) => {
|
|
27389
27391
|
const normalized = posix2.normalize(value.replaceAll("\\", "/"));
|
|
27390
|
-
return sourceSuffixRe.test(normalized) && !REPRESENTATION_DIR_RE.test(normalized) && !isGeneratedFile(normalized);
|
|
27392
|
+
return sourceSuffixRe.test(normalized) && !REPRESENTATION_DIR_RE.test(normalized) && !isGeneratedFile({ filename: normalized, cwd: context.cwd });
|
|
27391
27393
|
};
|
|
27392
27394
|
const rawRead = (node) => {
|
|
27393
27395
|
const current = unwrap6(node);
|
|
@@ -27679,7 +27681,7 @@ var sole_export_matches_filename_default = createRule({
|
|
|
27679
27681
|
create(context) {
|
|
27680
27682
|
const fileStem = stem3(context.filename);
|
|
27681
27683
|
const normalizedFilename = context.filename.replaceAll("\\", "/");
|
|
27682
|
-
if (EXCLUDED_STEMS.has(fileStem) || GENERIC_MODULE_STEMS.has(fileStem) || context.filename.endsWith(".d.ts") || isTestFile(context
|
|
27684
|
+
if (EXCLUDED_STEMS.has(fileStem) || GENERIC_MODULE_STEMS.has(fileStem) || context.filename.endsWith(".d.ts") || isTestFile(context) || isGeneratedFile(context, context.sourceCode.text)) return {};
|
|
27683
27685
|
let hasCommonJsExport = false;
|
|
27684
27686
|
return {
|
|
27685
27687
|
"CallExpression, MemberExpression"(node) {
|
|
@@ -27979,7 +27981,7 @@ var require_pascal_case_zod_schema_name_default = createRule({
|
|
|
27979
27981
|
const binding = resolvedBinding(root);
|
|
27980
27982
|
return binding !== null && zodBindings.has(binding);
|
|
27981
27983
|
}
|
|
27982
|
-
if (isTestFile(context
|
|
27984
|
+
if (isTestFile(context) || BENCHMARK_PATH_RE2.test(context.filename.replaceAll("\\", "/")) || isGeneratedFile(context, context.sourceCode.text)) {
|
|
27983
27985
|
return {};
|
|
27984
27986
|
}
|
|
27985
27987
|
return {
|