@sarj/eslint-plugin 14.0.0 → 15.0.0
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 +1276 -1505
- package/dist/index.d.cts +48 -30
- package/dist/index.d.ts +48 -30
- package/dist/index.js +1245 -1474
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -10,19 +10,6 @@ interface RetiredRule {
|
|
|
10
10
|
}
|
|
11
11
|
declare const retiredRules: Readonly<Record<string, RetiredRule>>;
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* @fileoverview _comment-wall — the shared judgement behind the comment-VOLUME rules: a run of member comments that mostly re-spell their members is a wall.
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/** Every threshold the wall rules apply; each is documented at `WALL_DEFAULTS`. */
|
|
19
|
-
interface WallOptions {
|
|
20
|
-
readonly minCommentedMembers: number;
|
|
21
|
-
readonly minCommentedRatio: number;
|
|
22
|
-
readonly minRestatedRatio: number;
|
|
23
|
-
readonly maxNovelWords: number;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
13
|
/**
|
|
27
14
|
* @fileoverview _docs — typed source-owned rule documentation and executable examples.
|
|
28
15
|
*
|
|
@@ -104,12 +91,34 @@ declare function publicDocumentation(rules: Readonly<Record<string, {
|
|
|
104
91
|
readonly documentation?: NativeRuleSpec;
|
|
105
92
|
}>>): readonly PublicRuleSpec[];
|
|
106
93
|
|
|
94
|
+
/**
|
|
95
|
+
* @fileoverview prefer-shadcn-primitives — visible application UI should use shared shadcn primitives.
|
|
96
|
+
*
|
|
97
|
+
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/prefer-shadcn-primitives.test.ts
|
|
98
|
+
*/
|
|
99
|
+
interface RuleOptions$4 {
|
|
100
|
+
readonly assumeAvailable?: boolean;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @fileoverview _comment-wall — the shared judgement behind the comment-VOLUME rules: a run of member comments that mostly re-spell their members is a wall.
|
|
105
|
+
*
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/** Every threshold the wall rules apply; each is documented at `WALL_DEFAULTS`. */
|
|
109
|
+
interface WallOptions {
|
|
110
|
+
readonly minCommentedMembers: number;
|
|
111
|
+
readonly minCommentedRatio: number;
|
|
112
|
+
readonly minRestatedRatio: number;
|
|
113
|
+
readonly maxNovelWords: number;
|
|
114
|
+
}
|
|
115
|
+
|
|
107
116
|
/**
|
|
108
117
|
* @fileoverview no-storage-in-stateless-modules — private storage inside a module a team declared stateless diverges from the system of record, silently.
|
|
109
118
|
*
|
|
110
119
|
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/no-storage-in-stateless-modules.test.ts
|
|
111
120
|
*/
|
|
112
|
-
interface RuleOptions$
|
|
121
|
+
interface RuleOptions$3 {
|
|
113
122
|
readonly modules?: readonly string[];
|
|
114
123
|
readonly methods?: readonly string[];
|
|
115
124
|
}
|
|
@@ -131,7 +140,7 @@ interface RestrictedLibrary {
|
|
|
131
140
|
*
|
|
132
141
|
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/no-raw-fetch-outside-clients.test.ts
|
|
133
142
|
*/
|
|
134
|
-
interface RuleOptions$
|
|
143
|
+
interface RuleOptions$2 {
|
|
135
144
|
/** Regular-expression sources matched against the filename. */
|
|
136
145
|
readonly allow?: readonly string[];
|
|
137
146
|
}
|
|
@@ -146,6 +155,15 @@ interface LoggingOptions {
|
|
|
146
155
|
readonly logFunctions?: readonly string[];
|
|
147
156
|
}
|
|
148
157
|
|
|
158
|
+
/**
|
|
159
|
+
* @fileoverview no-fat-try-blocks — a `try` holding more than three throwing statements catches failures its handler was never written for.
|
|
160
|
+
*
|
|
161
|
+
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/no-fat-try-blocks.test.ts
|
|
162
|
+
*/
|
|
163
|
+
interface RuleOptions$1 {
|
|
164
|
+
readonly max?: number;
|
|
165
|
+
}
|
|
166
|
+
|
|
149
167
|
/**
|
|
150
168
|
* @fileoverview no-dynamic-sql — a runtime value interpolated into statement text is SQL injection, and it defeats the prepared-statement cache.
|
|
151
169
|
*
|
|
@@ -173,13 +191,12 @@ declare const rules: {
|
|
|
173
191
|
readonly "enforce-file-structure": DocumentedRule<readonly [], "importsFirst" | "useServerDirective">;
|
|
174
192
|
readonly "no-client-side-data-fetching": DocumentedRule<readonly [], "noClientFetch">;
|
|
175
193
|
readonly "no-comment-cruft": DocumentedRule<readonly [], "commentedOutCode" | "sectionBanner" | "fileHeaderPreamble" | "commentWall" | "redundantNarration" | "placeholderImplementation" | "untrackedTodo">;
|
|
176
|
-
readonly "no-conditional-in-test": DocumentedRule<readonly [], "noConditionalInTest">;
|
|
177
194
|
readonly "no-cors-wildcard-with-credentials": DocumentedRule<readonly [], "corsWildcardWithCredentials">;
|
|
178
195
|
readonly "no-dynamic-sql": DocumentedRule<readonly [RuleOptions?], "dynamicSql">;
|
|
179
196
|
readonly "no-enum": DocumentedRule<readonly [{
|
|
180
197
|
ignoreFiles?: readonly string[];
|
|
181
198
|
}?], "noEnum">;
|
|
182
|
-
readonly "no-fat-try-blocks": DocumentedRule<readonly [], "fatTryBlock">;
|
|
199
|
+
readonly "no-fat-try-blocks": DocumentedRule<readonly [RuleOptions$1?], "fatTryBlock">;
|
|
183
200
|
readonly "no-hand-rolled-sleep": DocumentedRule<readonly [{
|
|
184
201
|
allowIn?: readonly string[];
|
|
185
202
|
checkClientModules?: boolean;
|
|
@@ -194,7 +211,7 @@ declare const rules: {
|
|
|
194
211
|
readonly "no-offset-pagination": DocumentedRule<readonly [], "noOffsetPagination">;
|
|
195
212
|
readonly "no-positional-tuple-return": DocumentedRule<readonly [], "noPositionalTupleReturn">;
|
|
196
213
|
readonly "no-raw-env": DocumentedRule<readonly [], "noRawEnv">;
|
|
197
|
-
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$
|
|
214
|
+
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$2?], "rawFetch">;
|
|
198
215
|
readonly "no-restricted-library-load": DocumentedRule<readonly [{
|
|
199
216
|
libraries: readonly RestrictedLibrary[];
|
|
200
217
|
}], "restrictedLibraryLoad">;
|
|
@@ -206,7 +223,7 @@ declare const rules: {
|
|
|
206
223
|
readonly "no-sentinel-return-on-catch": DocumentedRule<readonly [LoggingOptions?], "noSentinelReturn">;
|
|
207
224
|
readonly "no-silent-promise-catch": DocumentedRule<readonly [], "silentCatch">;
|
|
208
225
|
readonly "no-sleep-in-test-body": DocumentedRule<readonly [], "noSleepInTestBody">;
|
|
209
|
-
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$
|
|
226
|
+
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$3?], "storageInStatelessModule">;
|
|
210
227
|
readonly "no-string-concat-in-loop": DocumentedRule<readonly [], "noStringConcatInLoop">;
|
|
211
228
|
readonly "no-tautological-expect": DocumentedRule<readonly [], "tautologicalComparison" | "tautologicalMatcher">;
|
|
212
229
|
readonly "no-typed-doc-sections": DocumentedRule<readonly [], "typedSection">;
|
|
@@ -222,7 +239,7 @@ declare const rules: {
|
|
|
222
239
|
readonly "prefer-discriminated-union": DocumentedRule<readonly [], "preferDiscriminatedUnion">;
|
|
223
240
|
readonly "prefer-input-group-search": DocumentedRule<readonly [], "preferInputGroup">;
|
|
224
241
|
readonly "prefer-immutable-module-constant": DocumentedRule<readonly [], "preferAsConst" | "preferReadonlyCollection">;
|
|
225
|
-
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [], "preferShadcnPrimitive">;
|
|
242
|
+
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [RuleOptions$4?], "preferShadcnPrimitive">;
|
|
226
243
|
readonly "prefer-module-level-constant": DocumentedRule<readonly [{
|
|
227
244
|
minElements?: number;
|
|
228
245
|
checkRegex?: boolean;
|
|
@@ -266,10 +283,11 @@ declare const recommendedRules: {
|
|
|
266
283
|
readonly "@sarj/enforce-file-structure": "error";
|
|
267
284
|
readonly "@sarj/no-client-side-data-fetching": "error";
|
|
268
285
|
readonly "@sarj/no-comment-cruft": "error";
|
|
269
|
-
readonly "@sarj/no-conditional-in-test": "error";
|
|
270
286
|
readonly "@sarj/no-cors-wildcard-with-credentials": "error";
|
|
271
287
|
readonly "@sarj/no-dynamic-sql": "error";
|
|
272
|
-
readonly "@sarj/no-fat-try-blocks": "error"
|
|
288
|
+
readonly "@sarj/no-fat-try-blocks": readonly ["error", {
|
|
289
|
+
readonly max: 5;
|
|
290
|
+
}];
|
|
273
291
|
readonly "@sarj/no-hand-rolled-sleep": "error";
|
|
274
292
|
readonly "@sarj/no-hand-rolled-spinner": "error";
|
|
275
293
|
readonly "@sarj/no-insecure-random-id": "error";
|
|
@@ -327,11 +345,12 @@ declare const strictRules: {
|
|
|
327
345
|
readonly "@sarj/enforce-file-structure": "error";
|
|
328
346
|
readonly "@sarj/no-client-side-data-fetching": "error";
|
|
329
347
|
readonly "@sarj/no-comment-cruft": "error";
|
|
330
|
-
readonly "@sarj/no-conditional-in-test": "error";
|
|
331
348
|
readonly "@sarj/no-cors-wildcard-with-credentials": "error";
|
|
332
349
|
readonly "@sarj/no-dynamic-sql": "error";
|
|
333
350
|
readonly "@sarj/no-enum": "error";
|
|
334
|
-
readonly "@sarj/no-fat-try-blocks": "error"
|
|
351
|
+
readonly "@sarj/no-fat-try-blocks": readonly ["error", {
|
|
352
|
+
readonly max: 5;
|
|
353
|
+
}];
|
|
335
354
|
readonly "@sarj/no-hand-rolled-sleep": "error";
|
|
336
355
|
readonly "@sarj/no-hand-rolled-spinner": "error";
|
|
337
356
|
readonly "@sarj/no-insecure-random-id": "error";
|
|
@@ -395,20 +414,19 @@ type FlatPreset = {
|
|
|
395
414
|
declare const plugin: {
|
|
396
415
|
readonly meta: {
|
|
397
416
|
readonly name: "@sarj/eslint-plugin";
|
|
398
|
-
readonly version: "
|
|
417
|
+
readonly version: "15.0.0";
|
|
399
418
|
};
|
|
400
419
|
readonly rules: {
|
|
401
420
|
readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
|
|
402
421
|
readonly "enforce-file-structure": DocumentedRule<readonly [], "importsFirst" | "useServerDirective">;
|
|
403
422
|
readonly "no-client-side-data-fetching": DocumentedRule<readonly [], "noClientFetch">;
|
|
404
423
|
readonly "no-comment-cruft": DocumentedRule<readonly [], "commentedOutCode" | "sectionBanner" | "fileHeaderPreamble" | "commentWall" | "redundantNarration" | "placeholderImplementation" | "untrackedTodo">;
|
|
405
|
-
readonly "no-conditional-in-test": DocumentedRule<readonly [], "noConditionalInTest">;
|
|
406
424
|
readonly "no-cors-wildcard-with-credentials": DocumentedRule<readonly [], "corsWildcardWithCredentials">;
|
|
407
425
|
readonly "no-dynamic-sql": DocumentedRule<readonly [RuleOptions?], "dynamicSql">;
|
|
408
426
|
readonly "no-enum": DocumentedRule<readonly [{
|
|
409
427
|
ignoreFiles?: readonly string[];
|
|
410
428
|
}?], "noEnum">;
|
|
411
|
-
readonly "no-fat-try-blocks": DocumentedRule<readonly [], "fatTryBlock">;
|
|
429
|
+
readonly "no-fat-try-blocks": DocumentedRule<readonly [RuleOptions$1?], "fatTryBlock">;
|
|
412
430
|
readonly "no-hand-rolled-sleep": DocumentedRule<readonly [{
|
|
413
431
|
allowIn?: readonly string[];
|
|
414
432
|
checkClientModules?: boolean;
|
|
@@ -423,7 +441,7 @@ declare const plugin: {
|
|
|
423
441
|
readonly "no-offset-pagination": DocumentedRule<readonly [], "noOffsetPagination">;
|
|
424
442
|
readonly "no-positional-tuple-return": DocumentedRule<readonly [], "noPositionalTupleReturn">;
|
|
425
443
|
readonly "no-raw-env": DocumentedRule<readonly [], "noRawEnv">;
|
|
426
|
-
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$
|
|
444
|
+
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$2?], "rawFetch">;
|
|
427
445
|
readonly "no-restricted-library-load": DocumentedRule<readonly [{
|
|
428
446
|
libraries: readonly RestrictedLibrary[];
|
|
429
447
|
}], "restrictedLibraryLoad">;
|
|
@@ -435,7 +453,7 @@ declare const plugin: {
|
|
|
435
453
|
readonly "no-sentinel-return-on-catch": DocumentedRule<readonly [LoggingOptions?], "noSentinelReturn">;
|
|
436
454
|
readonly "no-silent-promise-catch": DocumentedRule<readonly [], "silentCatch">;
|
|
437
455
|
readonly "no-sleep-in-test-body": DocumentedRule<readonly [], "noSleepInTestBody">;
|
|
438
|
-
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$
|
|
456
|
+
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$3?], "storageInStatelessModule">;
|
|
439
457
|
readonly "no-string-concat-in-loop": DocumentedRule<readonly [], "noStringConcatInLoop">;
|
|
440
458
|
readonly "no-tautological-expect": DocumentedRule<readonly [], "tautologicalComparison" | "tautologicalMatcher">;
|
|
441
459
|
readonly "no-typed-doc-sections": DocumentedRule<readonly [], "typedSection">;
|
|
@@ -451,7 +469,7 @@ declare const plugin: {
|
|
|
451
469
|
readonly "prefer-discriminated-union": DocumentedRule<readonly [], "preferDiscriminatedUnion">;
|
|
452
470
|
readonly "prefer-input-group-search": DocumentedRule<readonly [], "preferInputGroup">;
|
|
453
471
|
readonly "prefer-immutable-module-constant": DocumentedRule<readonly [], "preferAsConst" | "preferReadonlyCollection">;
|
|
454
|
-
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [], "preferShadcnPrimitive">;
|
|
472
|
+
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [RuleOptions$4?], "preferShadcnPrimitive">;
|
|
455
473
|
readonly "prefer-module-level-constant": DocumentedRule<readonly [{
|
|
456
474
|
minElements?: number;
|
|
457
475
|
checkRegex?: boolean;
|
package/dist/index.d.ts
CHANGED
|
@@ -10,19 +10,6 @@ interface RetiredRule {
|
|
|
10
10
|
}
|
|
11
11
|
declare const retiredRules: Readonly<Record<string, RetiredRule>>;
|
|
12
12
|
|
|
13
|
-
/**
|
|
14
|
-
* @fileoverview _comment-wall — the shared judgement behind the comment-VOLUME rules: a run of member comments that mostly re-spell their members is a wall.
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/** Every threshold the wall rules apply; each is documented at `WALL_DEFAULTS`. */
|
|
19
|
-
interface WallOptions {
|
|
20
|
-
readonly minCommentedMembers: number;
|
|
21
|
-
readonly minCommentedRatio: number;
|
|
22
|
-
readonly minRestatedRatio: number;
|
|
23
|
-
readonly maxNovelWords: number;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
13
|
/**
|
|
27
14
|
* @fileoverview _docs — typed source-owned rule documentation and executable examples.
|
|
28
15
|
*
|
|
@@ -104,12 +91,34 @@ declare function publicDocumentation(rules: Readonly<Record<string, {
|
|
|
104
91
|
readonly documentation?: NativeRuleSpec;
|
|
105
92
|
}>>): readonly PublicRuleSpec[];
|
|
106
93
|
|
|
94
|
+
/**
|
|
95
|
+
* @fileoverview prefer-shadcn-primitives — visible application UI should use shared shadcn primitives.
|
|
96
|
+
*
|
|
97
|
+
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/prefer-shadcn-primitives.test.ts
|
|
98
|
+
*/
|
|
99
|
+
interface RuleOptions$4 {
|
|
100
|
+
readonly assumeAvailable?: boolean;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* @fileoverview _comment-wall — the shared judgement behind the comment-VOLUME rules: a run of member comments that mostly re-spell their members is a wall.
|
|
105
|
+
*
|
|
106
|
+
*/
|
|
107
|
+
|
|
108
|
+
/** Every threshold the wall rules apply; each is documented at `WALL_DEFAULTS`. */
|
|
109
|
+
interface WallOptions {
|
|
110
|
+
readonly minCommentedMembers: number;
|
|
111
|
+
readonly minCommentedRatio: number;
|
|
112
|
+
readonly minRestatedRatio: number;
|
|
113
|
+
readonly maxNovelWords: number;
|
|
114
|
+
}
|
|
115
|
+
|
|
107
116
|
/**
|
|
108
117
|
* @fileoverview no-storage-in-stateless-modules — private storage inside a module a team declared stateless diverges from the system of record, silently.
|
|
109
118
|
*
|
|
110
119
|
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/no-storage-in-stateless-modules.test.ts
|
|
111
120
|
*/
|
|
112
|
-
interface RuleOptions$
|
|
121
|
+
interface RuleOptions$3 {
|
|
113
122
|
readonly modules?: readonly string[];
|
|
114
123
|
readonly methods?: readonly string[];
|
|
115
124
|
}
|
|
@@ -131,7 +140,7 @@ interface RestrictedLibrary {
|
|
|
131
140
|
*
|
|
132
141
|
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/no-raw-fetch-outside-clients.test.ts
|
|
133
142
|
*/
|
|
134
|
-
interface RuleOptions$
|
|
143
|
+
interface RuleOptions$2 {
|
|
135
144
|
/** Regular-expression sources matched against the filename. */
|
|
136
145
|
readonly allow?: readonly string[];
|
|
137
146
|
}
|
|
@@ -146,6 +155,15 @@ interface LoggingOptions {
|
|
|
146
155
|
readonly logFunctions?: readonly string[];
|
|
147
156
|
}
|
|
148
157
|
|
|
158
|
+
/**
|
|
159
|
+
* @fileoverview no-fat-try-blocks — a `try` holding more than three throwing statements catches failures its handler was never written for.
|
|
160
|
+
*
|
|
161
|
+
* Examples: https://github.com/sarj-ai/standards/blob/main/packages/typescript/tests/rules/no-fat-try-blocks.test.ts
|
|
162
|
+
*/
|
|
163
|
+
interface RuleOptions$1 {
|
|
164
|
+
readonly max?: number;
|
|
165
|
+
}
|
|
166
|
+
|
|
149
167
|
/**
|
|
150
168
|
* @fileoverview no-dynamic-sql — a runtime value interpolated into statement text is SQL injection, and it defeats the prepared-statement cache.
|
|
151
169
|
*
|
|
@@ -173,13 +191,12 @@ declare const rules: {
|
|
|
173
191
|
readonly "enforce-file-structure": DocumentedRule<readonly [], "importsFirst" | "useServerDirective">;
|
|
174
192
|
readonly "no-client-side-data-fetching": DocumentedRule<readonly [], "noClientFetch">;
|
|
175
193
|
readonly "no-comment-cruft": DocumentedRule<readonly [], "commentedOutCode" | "sectionBanner" | "fileHeaderPreamble" | "commentWall" | "redundantNarration" | "placeholderImplementation" | "untrackedTodo">;
|
|
176
|
-
readonly "no-conditional-in-test": DocumentedRule<readonly [], "noConditionalInTest">;
|
|
177
194
|
readonly "no-cors-wildcard-with-credentials": DocumentedRule<readonly [], "corsWildcardWithCredentials">;
|
|
178
195
|
readonly "no-dynamic-sql": DocumentedRule<readonly [RuleOptions?], "dynamicSql">;
|
|
179
196
|
readonly "no-enum": DocumentedRule<readonly [{
|
|
180
197
|
ignoreFiles?: readonly string[];
|
|
181
198
|
}?], "noEnum">;
|
|
182
|
-
readonly "no-fat-try-blocks": DocumentedRule<readonly [], "fatTryBlock">;
|
|
199
|
+
readonly "no-fat-try-blocks": DocumentedRule<readonly [RuleOptions$1?], "fatTryBlock">;
|
|
183
200
|
readonly "no-hand-rolled-sleep": DocumentedRule<readonly [{
|
|
184
201
|
allowIn?: readonly string[];
|
|
185
202
|
checkClientModules?: boolean;
|
|
@@ -194,7 +211,7 @@ declare const rules: {
|
|
|
194
211
|
readonly "no-offset-pagination": DocumentedRule<readonly [], "noOffsetPagination">;
|
|
195
212
|
readonly "no-positional-tuple-return": DocumentedRule<readonly [], "noPositionalTupleReturn">;
|
|
196
213
|
readonly "no-raw-env": DocumentedRule<readonly [], "noRawEnv">;
|
|
197
|
-
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$
|
|
214
|
+
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$2?], "rawFetch">;
|
|
198
215
|
readonly "no-restricted-library-load": DocumentedRule<readonly [{
|
|
199
216
|
libraries: readonly RestrictedLibrary[];
|
|
200
217
|
}], "restrictedLibraryLoad">;
|
|
@@ -206,7 +223,7 @@ declare const rules: {
|
|
|
206
223
|
readonly "no-sentinel-return-on-catch": DocumentedRule<readonly [LoggingOptions?], "noSentinelReturn">;
|
|
207
224
|
readonly "no-silent-promise-catch": DocumentedRule<readonly [], "silentCatch">;
|
|
208
225
|
readonly "no-sleep-in-test-body": DocumentedRule<readonly [], "noSleepInTestBody">;
|
|
209
|
-
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$
|
|
226
|
+
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$3?], "storageInStatelessModule">;
|
|
210
227
|
readonly "no-string-concat-in-loop": DocumentedRule<readonly [], "noStringConcatInLoop">;
|
|
211
228
|
readonly "no-tautological-expect": DocumentedRule<readonly [], "tautologicalComparison" | "tautologicalMatcher">;
|
|
212
229
|
readonly "no-typed-doc-sections": DocumentedRule<readonly [], "typedSection">;
|
|
@@ -222,7 +239,7 @@ declare const rules: {
|
|
|
222
239
|
readonly "prefer-discriminated-union": DocumentedRule<readonly [], "preferDiscriminatedUnion">;
|
|
223
240
|
readonly "prefer-input-group-search": DocumentedRule<readonly [], "preferInputGroup">;
|
|
224
241
|
readonly "prefer-immutable-module-constant": DocumentedRule<readonly [], "preferAsConst" | "preferReadonlyCollection">;
|
|
225
|
-
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [], "preferShadcnPrimitive">;
|
|
242
|
+
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [RuleOptions$4?], "preferShadcnPrimitive">;
|
|
226
243
|
readonly "prefer-module-level-constant": DocumentedRule<readonly [{
|
|
227
244
|
minElements?: number;
|
|
228
245
|
checkRegex?: boolean;
|
|
@@ -266,10 +283,11 @@ declare const recommendedRules: {
|
|
|
266
283
|
readonly "@sarj/enforce-file-structure": "error";
|
|
267
284
|
readonly "@sarj/no-client-side-data-fetching": "error";
|
|
268
285
|
readonly "@sarj/no-comment-cruft": "error";
|
|
269
|
-
readonly "@sarj/no-conditional-in-test": "error";
|
|
270
286
|
readonly "@sarj/no-cors-wildcard-with-credentials": "error";
|
|
271
287
|
readonly "@sarj/no-dynamic-sql": "error";
|
|
272
|
-
readonly "@sarj/no-fat-try-blocks": "error"
|
|
288
|
+
readonly "@sarj/no-fat-try-blocks": readonly ["error", {
|
|
289
|
+
readonly max: 5;
|
|
290
|
+
}];
|
|
273
291
|
readonly "@sarj/no-hand-rolled-sleep": "error";
|
|
274
292
|
readonly "@sarj/no-hand-rolled-spinner": "error";
|
|
275
293
|
readonly "@sarj/no-insecure-random-id": "error";
|
|
@@ -327,11 +345,12 @@ declare const strictRules: {
|
|
|
327
345
|
readonly "@sarj/enforce-file-structure": "error";
|
|
328
346
|
readonly "@sarj/no-client-side-data-fetching": "error";
|
|
329
347
|
readonly "@sarj/no-comment-cruft": "error";
|
|
330
|
-
readonly "@sarj/no-conditional-in-test": "error";
|
|
331
348
|
readonly "@sarj/no-cors-wildcard-with-credentials": "error";
|
|
332
349
|
readonly "@sarj/no-dynamic-sql": "error";
|
|
333
350
|
readonly "@sarj/no-enum": "error";
|
|
334
|
-
readonly "@sarj/no-fat-try-blocks": "error"
|
|
351
|
+
readonly "@sarj/no-fat-try-blocks": readonly ["error", {
|
|
352
|
+
readonly max: 5;
|
|
353
|
+
}];
|
|
335
354
|
readonly "@sarj/no-hand-rolled-sleep": "error";
|
|
336
355
|
readonly "@sarj/no-hand-rolled-spinner": "error";
|
|
337
356
|
readonly "@sarj/no-insecure-random-id": "error";
|
|
@@ -395,20 +414,19 @@ type FlatPreset = {
|
|
|
395
414
|
declare const plugin: {
|
|
396
415
|
readonly meta: {
|
|
397
416
|
readonly name: "@sarj/eslint-plugin";
|
|
398
|
-
readonly version: "
|
|
417
|
+
readonly version: "15.0.0";
|
|
399
418
|
};
|
|
400
419
|
readonly rules: {
|
|
401
420
|
readonly "duplicate-test-body": DocumentedRule<readonly [], "duplicateTestBody">;
|
|
402
421
|
readonly "enforce-file-structure": DocumentedRule<readonly [], "importsFirst" | "useServerDirective">;
|
|
403
422
|
readonly "no-client-side-data-fetching": DocumentedRule<readonly [], "noClientFetch">;
|
|
404
423
|
readonly "no-comment-cruft": DocumentedRule<readonly [], "commentedOutCode" | "sectionBanner" | "fileHeaderPreamble" | "commentWall" | "redundantNarration" | "placeholderImplementation" | "untrackedTodo">;
|
|
405
|
-
readonly "no-conditional-in-test": DocumentedRule<readonly [], "noConditionalInTest">;
|
|
406
424
|
readonly "no-cors-wildcard-with-credentials": DocumentedRule<readonly [], "corsWildcardWithCredentials">;
|
|
407
425
|
readonly "no-dynamic-sql": DocumentedRule<readonly [RuleOptions?], "dynamicSql">;
|
|
408
426
|
readonly "no-enum": DocumentedRule<readonly [{
|
|
409
427
|
ignoreFiles?: readonly string[];
|
|
410
428
|
}?], "noEnum">;
|
|
411
|
-
readonly "no-fat-try-blocks": DocumentedRule<readonly [], "fatTryBlock">;
|
|
429
|
+
readonly "no-fat-try-blocks": DocumentedRule<readonly [RuleOptions$1?], "fatTryBlock">;
|
|
412
430
|
readonly "no-hand-rolled-sleep": DocumentedRule<readonly [{
|
|
413
431
|
allowIn?: readonly string[];
|
|
414
432
|
checkClientModules?: boolean;
|
|
@@ -423,7 +441,7 @@ declare const plugin: {
|
|
|
423
441
|
readonly "no-offset-pagination": DocumentedRule<readonly [], "noOffsetPagination">;
|
|
424
442
|
readonly "no-positional-tuple-return": DocumentedRule<readonly [], "noPositionalTupleReturn">;
|
|
425
443
|
readonly "no-raw-env": DocumentedRule<readonly [], "noRawEnv">;
|
|
426
|
-
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$
|
|
444
|
+
readonly "no-raw-fetch-outside-clients": DocumentedRule<readonly [RuleOptions$2?], "rawFetch">;
|
|
427
445
|
readonly "no-restricted-library-load": DocumentedRule<readonly [{
|
|
428
446
|
libraries: readonly RestrictedLibrary[];
|
|
429
447
|
}], "restrictedLibraryLoad">;
|
|
@@ -435,7 +453,7 @@ declare const plugin: {
|
|
|
435
453
|
readonly "no-sentinel-return-on-catch": DocumentedRule<readonly [LoggingOptions?], "noSentinelReturn">;
|
|
436
454
|
readonly "no-silent-promise-catch": DocumentedRule<readonly [], "silentCatch">;
|
|
437
455
|
readonly "no-sleep-in-test-body": DocumentedRule<readonly [], "noSleepInTestBody">;
|
|
438
|
-
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$
|
|
456
|
+
readonly "no-storage-in-stateless-modules": DocumentedRule<readonly [RuleOptions$3?], "storageInStatelessModule">;
|
|
439
457
|
readonly "no-string-concat-in-loop": DocumentedRule<readonly [], "noStringConcatInLoop">;
|
|
440
458
|
readonly "no-tautological-expect": DocumentedRule<readonly [], "tautologicalComparison" | "tautologicalMatcher">;
|
|
441
459
|
readonly "no-typed-doc-sections": DocumentedRule<readonly [], "typedSection">;
|
|
@@ -451,7 +469,7 @@ declare const plugin: {
|
|
|
451
469
|
readonly "prefer-discriminated-union": DocumentedRule<readonly [], "preferDiscriminatedUnion">;
|
|
452
470
|
readonly "prefer-input-group-search": DocumentedRule<readonly [], "preferInputGroup">;
|
|
453
471
|
readonly "prefer-immutable-module-constant": DocumentedRule<readonly [], "preferAsConst" | "preferReadonlyCollection">;
|
|
454
|
-
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [], "preferShadcnPrimitive">;
|
|
472
|
+
readonly "prefer-shadcn-primitives": DocumentedRule<readonly [RuleOptions$4?], "preferShadcnPrimitive">;
|
|
455
473
|
readonly "prefer-module-level-constant": DocumentedRule<readonly [{
|
|
456
474
|
minElements?: number;
|
|
457
475
|
checkRegex?: boolean;
|