oxlint-plugin-react-doctor 0.9.9-dev.e69faca → 0.9.10-dev.3bb84fb

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/core.d.ts CHANGED
@@ -1,2 +1,1045 @@
1
- import { A as ScanFinding, C as RuleFramework, F as FrameworkToken, M as Capability, N as CapabilityQuery, O as EsTreeNode, P as FRAMEWORK_TOKENS, S as Rule, _ as MOTION_LIBRARY_PACKAGES, a as REACT_NATIVE_DEPENDENCY_NAMES, b as OxlintRuleSeverity, c as classifySecurityScanFile, d as reactDoctorScanRules, f as CROSS_FILE_DEPENDENCY_COLLECTORS, g as CROSS_FILE_RULE_IDS, h as CrossFileProbeTrace, i as REACT_DOCTOR_RULE_REGISTRY, j as ScannedFile, k as FileScan, l as shouldReadSecurityScanContent, m as collectCrossFileDependencyProbes, n as FRAMEWORK_SPECIFIC_RULE_KEYS, o as REACT_NATIVE_DEPENDENCY_PREFIXES, p as UNBOUNDED_CROSS_FILE_RULE_IDS, r as REACT_DOCTOR_RULES, s as isReactNativeDependencyName, t as ALL_REACT_DOCTOR_RULE_KEYS, u as resetFilesystemCaches, v as EXTERNAL_RULES, w as RuleSeverity, x as CoreRuleMetadata, y as REACT_COMPILER_RULES } from "./core-NYcNjo1f.js";
2
- export { ALL_REACT_DOCTOR_RULE_KEYS, CROSS_FILE_DEPENDENCY_COLLECTORS, CROSS_FILE_RULE_IDS, Capability, CapabilityQuery, CoreRuleMetadata, CrossFileProbeTrace, EXTERNAL_RULES, EsTreeNode, FRAMEWORK_SPECIFIC_RULE_KEYS, FRAMEWORK_TOKENS, FileScan, FrameworkToken, MOTION_LIBRARY_PACKAGES, OxlintRuleSeverity, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, REACT_DOCTOR_RULE_REGISTRY, reactDoctorScanRules as REACT_DOCTOR_SCAN_RULES, REACT_NATIVE_DEPENDENCY_NAMES, REACT_NATIVE_DEPENDENCY_PREFIXES, Rule, RuleFramework, RuleSeverity, ScanFinding, ScannedFile, UNBOUNDED_CROSS_FILE_RULE_IDS, classifySecurityScanFile, collectCrossFileDependencyProbes, isReactNativeDependencyName, resetFilesystemCaches as resetManifestCaches, shouldReadSecurityScanContent };
1
+ import { C as FileScan, D as CapabilityQuery, E as Capability, O as FRAMEWORK_TOKENS, S as EsTreeNode, T as ScannedFile, _ as RuleFramework, a as shouldReadSecurityScanContent, c as UNBOUNDED_CROSS_FILE_RULE_IDS, d as CROSS_FILE_RULE_IDS, f as MOTION_LIBRARY_PACKAGES, g as Rule, h as OxlintRuleSeverity, i as classifySecurityScanFile, k as FrameworkToken, l as collectCrossFileDependencyProbes, m as REACT_COMPILER_RULES, n as REACT_NATIVE_DEPENDENCY_PREFIXES, o as resetFilesystemCaches, p as EXTERNAL_RULES, r as isReactNativeDependencyName, s as CROSS_FILE_DEPENDENCY_COLLECTORS, t as REACT_NATIVE_DEPENDENCY_NAMES, u as CrossFileProbeTrace, v as RuleSeverity, w as ScanFinding, x as RuleContext, y as RuleVisitors } from "./react-native-dependency-names-DrsRME-d.js";
2
+
3
+ //#region src/plugin/utils/core-rule-metadata.d.ts
4
+ interface CoreRuleMetadata {
5
+ readonly id: string;
6
+ readonly title?: string;
7
+ readonly severity: RuleSeverity;
8
+ readonly recommendation?: string;
9
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
10
+ readonly category: string;
11
+ readonly framework: RuleFramework;
12
+ readonly requires?: ReadonlyArray<Capability>;
13
+ readonly disabledWhen?: ReadonlyArray<Capability>;
14
+ readonly tags?: ReadonlyArray<string>;
15
+ readonly defaultEnabled?: boolean;
16
+ readonly matchByOccurrence?: boolean;
17
+ readonly isScanRule: boolean;
18
+ }
19
+ interface CoreRuleRegistryEntry {
20
+ readonly key: string;
21
+ readonly id: string;
22
+ readonly source: "react-doctor";
23
+ readonly originallyExternal: boolean;
24
+ readonly rule: CoreRuleMetadata;
25
+ }
26
+ //#endregion
27
+ //#region src/plugin/security-scan-rule-registry.d.ts
28
+ declare const reactDoctorScanRules: readonly [{
29
+ readonly key: "react-doctor/active-static-asset";
30
+ readonly id: "active-static-asset";
31
+ readonly source: "react-doctor";
32
+ readonly originallyExternal: false;
33
+ readonly rule: {
34
+ readonly framework: "global";
35
+ readonly category: "Security";
36
+ readonly tags: readonly string[];
37
+ readonly id: string;
38
+ readonly title?: string;
39
+ readonly severity: RuleSeverity;
40
+ readonly requires?: ReadonlyArray<Capability>;
41
+ readonly minimumInkVersion?: string;
42
+ readonly disabledWhen?: ReadonlyArray<Capability>;
43
+ readonly matchByOccurrence?: boolean;
44
+ readonly defaultEnabled?: boolean;
45
+ readonly lifecycle?: "retired";
46
+ readonly scan?: FileScan;
47
+ readonly committedFilesOnly?: boolean;
48
+ readonly recommendation?: string;
49
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
50
+ readonly create: (context: RuleContext) => RuleVisitors;
51
+ };
52
+ }, {
53
+ readonly key: "react-doctor/agent-tool-capability-risk";
54
+ readonly id: "agent-tool-capability-risk";
55
+ readonly source: "react-doctor";
56
+ readonly originallyExternal: false;
57
+ readonly rule: {
58
+ readonly framework: "global";
59
+ readonly category: "Security";
60
+ readonly tags: readonly string[];
61
+ readonly id: string;
62
+ readonly title?: string;
63
+ readonly severity: RuleSeverity;
64
+ readonly requires?: ReadonlyArray<Capability>;
65
+ readonly minimumInkVersion?: string;
66
+ readonly disabledWhen?: ReadonlyArray<Capability>;
67
+ readonly matchByOccurrence?: boolean;
68
+ readonly defaultEnabled?: boolean;
69
+ readonly lifecycle?: "retired";
70
+ readonly scan?: FileScan;
71
+ readonly committedFilesOnly?: boolean;
72
+ readonly recommendation?: string;
73
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
74
+ readonly create: (context: RuleContext) => RuleVisitors;
75
+ };
76
+ }, {
77
+ readonly key: "react-doctor/artifact-baas-authority-surface";
78
+ readonly id: "artifact-baas-authority-surface";
79
+ readonly source: "react-doctor";
80
+ readonly originallyExternal: false;
81
+ readonly rule: {
82
+ readonly framework: "global";
83
+ readonly category: "Security";
84
+ readonly tags: readonly string[];
85
+ readonly id: string;
86
+ readonly title?: string;
87
+ readonly severity: RuleSeverity;
88
+ readonly requires?: ReadonlyArray<Capability>;
89
+ readonly minimumInkVersion?: string;
90
+ readonly disabledWhen?: ReadonlyArray<Capability>;
91
+ readonly matchByOccurrence?: boolean;
92
+ readonly defaultEnabled?: boolean;
93
+ readonly lifecycle?: "retired";
94
+ readonly scan?: FileScan;
95
+ readonly committedFilesOnly?: boolean;
96
+ readonly recommendation?: string;
97
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
98
+ readonly create: (context: RuleContext) => RuleVisitors;
99
+ };
100
+ }, {
101
+ readonly key: "react-doctor/artifact-env-leak";
102
+ readonly id: "artifact-env-leak";
103
+ readonly source: "react-doctor";
104
+ readonly originallyExternal: false;
105
+ readonly rule: {
106
+ readonly framework: "global";
107
+ readonly category: "Security";
108
+ readonly tags: readonly string[];
109
+ readonly id: string;
110
+ readonly title?: string;
111
+ readonly severity: RuleSeverity;
112
+ readonly requires?: ReadonlyArray<Capability>;
113
+ readonly minimumInkVersion?: string;
114
+ readonly disabledWhen?: ReadonlyArray<Capability>;
115
+ readonly matchByOccurrence?: boolean;
116
+ readonly defaultEnabled?: boolean;
117
+ readonly lifecycle?: "retired";
118
+ readonly scan?: FileScan;
119
+ readonly committedFilesOnly?: boolean;
120
+ readonly recommendation?: string;
121
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
122
+ readonly create: (context: RuleContext) => RuleVisitors;
123
+ };
124
+ }, {
125
+ readonly key: "react-doctor/artifact-secret-leak";
126
+ readonly id: "artifact-secret-leak";
127
+ readonly source: "react-doctor";
128
+ readonly originallyExternal: false;
129
+ readonly rule: {
130
+ readonly framework: "global";
131
+ readonly category: "Security";
132
+ readonly tags: readonly string[];
133
+ readonly id: string;
134
+ readonly title?: string;
135
+ readonly severity: RuleSeverity;
136
+ readonly requires?: ReadonlyArray<Capability>;
137
+ readonly minimumInkVersion?: string;
138
+ readonly disabledWhen?: ReadonlyArray<Capability>;
139
+ readonly matchByOccurrence?: boolean;
140
+ readonly defaultEnabled?: boolean;
141
+ readonly lifecycle?: "retired";
142
+ readonly scan?: FileScan;
143
+ readonly committedFilesOnly?: boolean;
144
+ readonly recommendation?: string;
145
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
146
+ readonly create: (context: RuleContext) => RuleVisitors;
147
+ };
148
+ }, {
149
+ readonly key: "react-doctor/build-pipeline-secret-boundary";
150
+ readonly id: "build-pipeline-secret-boundary";
151
+ readonly source: "react-doctor";
152
+ readonly originallyExternal: false;
153
+ readonly rule: {
154
+ readonly framework: "global";
155
+ readonly category: "Security";
156
+ readonly tags: readonly string[];
157
+ readonly id: string;
158
+ readonly title?: string;
159
+ readonly severity: RuleSeverity;
160
+ readonly requires?: ReadonlyArray<Capability>;
161
+ readonly minimumInkVersion?: string;
162
+ readonly disabledWhen?: ReadonlyArray<Capability>;
163
+ readonly matchByOccurrence?: boolean;
164
+ readonly defaultEnabled?: boolean;
165
+ readonly lifecycle?: "retired";
166
+ readonly scan?: FileScan;
167
+ readonly committedFilesOnly?: boolean;
168
+ readonly recommendation?: string;
169
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
170
+ readonly create: (context: RuleContext) => RuleVisitors;
171
+ };
172
+ }, {
173
+ readonly key: "react-doctor/clickjacking-redirect-risk";
174
+ readonly id: "clickjacking-redirect-risk";
175
+ readonly source: "react-doctor";
176
+ readonly originallyExternal: false;
177
+ readonly rule: {
178
+ readonly framework: "global";
179
+ readonly category: "Security";
180
+ readonly tags: readonly string[];
181
+ readonly id: string;
182
+ readonly title?: string;
183
+ readonly severity: RuleSeverity;
184
+ readonly requires?: ReadonlyArray<Capability>;
185
+ readonly minimumInkVersion?: string;
186
+ readonly disabledWhen?: ReadonlyArray<Capability>;
187
+ readonly matchByOccurrence?: boolean;
188
+ readonly defaultEnabled?: boolean;
189
+ readonly lifecycle?: "retired";
190
+ readonly scan?: FileScan;
191
+ readonly committedFilesOnly?: boolean;
192
+ readonly recommendation?: string;
193
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
194
+ readonly create: (context: RuleContext) => RuleVisitors;
195
+ };
196
+ }, {
197
+ readonly key: "react-doctor/command-execution-input-risk";
198
+ readonly id: "command-execution-input-risk";
199
+ readonly source: "react-doctor";
200
+ readonly originallyExternal: false;
201
+ readonly rule: {
202
+ readonly framework: "global";
203
+ readonly category: "Security";
204
+ readonly tags: readonly string[];
205
+ readonly id: string;
206
+ readonly title?: string;
207
+ readonly severity: RuleSeverity;
208
+ readonly requires?: ReadonlyArray<Capability>;
209
+ readonly minimumInkVersion?: string;
210
+ readonly disabledWhen?: ReadonlyArray<Capability>;
211
+ readonly matchByOccurrence?: boolean;
212
+ readonly defaultEnabled?: boolean;
213
+ readonly lifecycle?: "retired";
214
+ readonly scan?: FileScan;
215
+ readonly committedFilesOnly?: boolean;
216
+ readonly recommendation?: string;
217
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
218
+ readonly create: (context: RuleContext) => RuleVisitors;
219
+ };
220
+ }, {
221
+ readonly key: "react-doctor/cors-cookie-trust-risk";
222
+ readonly id: "cors-cookie-trust-risk";
223
+ readonly source: "react-doctor";
224
+ readonly originallyExternal: false;
225
+ readonly rule: {
226
+ readonly framework: "global";
227
+ readonly category: "Security";
228
+ readonly tags: readonly string[];
229
+ readonly id: string;
230
+ readonly title?: string;
231
+ readonly severity: RuleSeverity;
232
+ readonly requires?: ReadonlyArray<Capability>;
233
+ readonly minimumInkVersion?: string;
234
+ readonly disabledWhen?: ReadonlyArray<Capability>;
235
+ readonly matchByOccurrence?: boolean;
236
+ readonly defaultEnabled?: boolean;
237
+ readonly lifecycle?: "retired";
238
+ readonly scan?: FileScan;
239
+ readonly committedFilesOnly?: boolean;
240
+ readonly recommendation?: string;
241
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
242
+ readonly create: (context: RuleContext) => RuleVisitors;
243
+ };
244
+ }, {
245
+ readonly key: "react-doctor/dangerous-html-sink";
246
+ readonly id: "dangerous-html-sink";
247
+ readonly source: "react-doctor";
248
+ readonly originallyExternal: false;
249
+ readonly rule: {
250
+ readonly framework: "global";
251
+ readonly category: "Security";
252
+ readonly tags: readonly string[];
253
+ readonly id: string;
254
+ readonly title?: string;
255
+ readonly severity: RuleSeverity;
256
+ readonly requires?: ReadonlyArray<Capability>;
257
+ readonly minimumInkVersion?: string;
258
+ readonly disabledWhen?: ReadonlyArray<Capability>;
259
+ readonly matchByOccurrence?: boolean;
260
+ readonly defaultEnabled?: boolean;
261
+ readonly lifecycle?: "retired";
262
+ readonly scan?: FileScan;
263
+ readonly committedFilesOnly?: boolean;
264
+ readonly recommendation?: string;
265
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
266
+ readonly create: (context: RuleContext) => RuleVisitors;
267
+ };
268
+ }, {
269
+ readonly key: "react-doctor/firebase-client-owned-authz-field";
270
+ readonly id: "firebase-client-owned-authz-field";
271
+ readonly source: "react-doctor";
272
+ readonly originallyExternal: false;
273
+ readonly rule: {
274
+ readonly framework: "global";
275
+ readonly category: "Security";
276
+ readonly tags: readonly string[];
277
+ readonly id: string;
278
+ readonly title?: string;
279
+ readonly severity: RuleSeverity;
280
+ readonly requires?: ReadonlyArray<Capability>;
281
+ readonly minimumInkVersion?: string;
282
+ readonly disabledWhen?: ReadonlyArray<Capability>;
283
+ readonly matchByOccurrence?: boolean;
284
+ readonly defaultEnabled?: boolean;
285
+ readonly lifecycle?: "retired";
286
+ readonly scan?: FileScan;
287
+ readonly committedFilesOnly?: boolean;
288
+ readonly recommendation?: string;
289
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
290
+ readonly create: (context: RuleContext) => RuleVisitors;
291
+ };
292
+ }, {
293
+ readonly key: "react-doctor/firebase-permissive-rules";
294
+ readonly id: "firebase-permissive-rules";
295
+ readonly source: "react-doctor";
296
+ readonly originallyExternal: false;
297
+ readonly rule: {
298
+ readonly framework: "global";
299
+ readonly category: "Security";
300
+ readonly tags: readonly string[];
301
+ readonly id: string;
302
+ readonly title?: string;
303
+ readonly severity: RuleSeverity;
304
+ readonly requires?: ReadonlyArray<Capability>;
305
+ readonly minimumInkVersion?: string;
306
+ readonly disabledWhen?: ReadonlyArray<Capability>;
307
+ readonly matchByOccurrence?: boolean;
308
+ readonly defaultEnabled?: boolean;
309
+ readonly lifecycle?: "retired";
310
+ readonly scan?: FileScan;
311
+ readonly committedFilesOnly?: boolean;
312
+ readonly recommendation?: string;
313
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
314
+ readonly create: (context: RuleContext) => RuleVisitors;
315
+ };
316
+ }, {
317
+ readonly key: "react-doctor/firebase-query-filter-as-auth";
318
+ readonly id: "firebase-query-filter-as-auth";
319
+ readonly source: "react-doctor";
320
+ readonly originallyExternal: false;
321
+ readonly rule: {
322
+ readonly framework: "global";
323
+ readonly category: "Security";
324
+ readonly tags: readonly string[];
325
+ readonly id: string;
326
+ readonly title?: string;
327
+ readonly severity: RuleSeverity;
328
+ readonly requires?: ReadonlyArray<Capability>;
329
+ readonly minimumInkVersion?: string;
330
+ readonly disabledWhen?: ReadonlyArray<Capability>;
331
+ readonly matchByOccurrence?: boolean;
332
+ readonly defaultEnabled?: boolean;
333
+ readonly lifecycle?: "retired";
334
+ readonly scan?: FileScan;
335
+ readonly committedFilesOnly?: boolean;
336
+ readonly recommendation?: string;
337
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
338
+ readonly create: (context: RuleContext) => RuleVisitors;
339
+ };
340
+ }, {
341
+ readonly key: "react-doctor/git-provider-url-injection-risk";
342
+ readonly id: "git-provider-url-injection-risk";
343
+ readonly source: "react-doctor";
344
+ readonly originallyExternal: false;
345
+ readonly rule: {
346
+ readonly framework: "global";
347
+ readonly category: "Security";
348
+ readonly tags: readonly string[];
349
+ readonly id: string;
350
+ readonly title?: string;
351
+ readonly severity: RuleSeverity;
352
+ readonly requires?: ReadonlyArray<Capability>;
353
+ readonly minimumInkVersion?: string;
354
+ readonly disabledWhen?: ReadonlyArray<Capability>;
355
+ readonly matchByOccurrence?: boolean;
356
+ readonly defaultEnabled?: boolean;
357
+ readonly lifecycle?: "retired";
358
+ readonly scan?: FileScan;
359
+ readonly committedFilesOnly?: boolean;
360
+ readonly recommendation?: string;
361
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
362
+ readonly create: (context: RuleContext) => RuleVisitors;
363
+ };
364
+ }, {
365
+ readonly key: "react-doctor/import-metadata-execution-risk";
366
+ readonly id: "import-metadata-execution-risk";
367
+ readonly source: "react-doctor";
368
+ readonly originallyExternal: false;
369
+ readonly rule: {
370
+ readonly framework: "global";
371
+ readonly category: "Security";
372
+ readonly tags: readonly string[];
373
+ readonly id: string;
374
+ readonly title?: string;
375
+ readonly severity: RuleSeverity;
376
+ readonly requires?: ReadonlyArray<Capability>;
377
+ readonly minimumInkVersion?: string;
378
+ readonly disabledWhen?: ReadonlyArray<Capability>;
379
+ readonly matchByOccurrence?: boolean;
380
+ readonly defaultEnabled?: boolean;
381
+ readonly lifecycle?: "retired";
382
+ readonly scan?: FileScan;
383
+ readonly committedFilesOnly?: boolean;
384
+ readonly recommendation?: string;
385
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
386
+ readonly create: (context: RuleContext) => RuleVisitors;
387
+ };
388
+ }, {
389
+ readonly key: "react-doctor/insecure-crypto-risk";
390
+ readonly id: "insecure-crypto-risk";
391
+ readonly source: "react-doctor";
392
+ readonly originallyExternal: false;
393
+ readonly rule: {
394
+ readonly framework: "global";
395
+ readonly category: "Security";
396
+ readonly tags: readonly string[];
397
+ readonly id: string;
398
+ readonly title?: string;
399
+ readonly severity: RuleSeverity;
400
+ readonly requires?: ReadonlyArray<Capability>;
401
+ readonly minimumInkVersion?: string;
402
+ readonly disabledWhen?: ReadonlyArray<Capability>;
403
+ readonly matchByOccurrence?: boolean;
404
+ readonly defaultEnabled?: boolean;
405
+ readonly lifecycle?: "retired";
406
+ readonly scan?: FileScan;
407
+ readonly committedFilesOnly?: boolean;
408
+ readonly recommendation?: string;
409
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
410
+ readonly create: (context: RuleContext) => RuleVisitors;
411
+ };
412
+ }, {
413
+ readonly key: "react-doctor/insecure-session-cookie";
414
+ readonly id: "insecure-session-cookie";
415
+ readonly source: "react-doctor";
416
+ readonly originallyExternal: false;
417
+ readonly rule: {
418
+ readonly framework: "global";
419
+ readonly category: "Security";
420
+ readonly tags: readonly string[];
421
+ readonly id: string;
422
+ readonly title?: string;
423
+ readonly severity: RuleSeverity;
424
+ readonly requires?: ReadonlyArray<Capability>;
425
+ readonly minimumInkVersion?: string;
426
+ readonly disabledWhen?: ReadonlyArray<Capability>;
427
+ readonly matchByOccurrence?: boolean;
428
+ readonly defaultEnabled?: boolean;
429
+ readonly lifecycle?: "retired";
430
+ readonly scan?: FileScan;
431
+ readonly committedFilesOnly?: boolean;
432
+ readonly recommendation?: string;
433
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
434
+ readonly create: (context: RuleContext) => RuleVisitors;
435
+ };
436
+ }, {
437
+ readonly key: "react-doctor/jwt-insecure-verification";
438
+ readonly id: "jwt-insecure-verification";
439
+ readonly source: "react-doctor";
440
+ readonly originallyExternal: false;
441
+ readonly rule: {
442
+ readonly framework: "global";
443
+ readonly category: "Security";
444
+ readonly tags: readonly string[];
445
+ readonly id: string;
446
+ readonly title?: string;
447
+ readonly severity: RuleSeverity;
448
+ readonly requires?: ReadonlyArray<Capability>;
449
+ readonly minimumInkVersion?: string;
450
+ readonly disabledWhen?: ReadonlyArray<Capability>;
451
+ readonly matchByOccurrence?: boolean;
452
+ readonly defaultEnabled?: boolean;
453
+ readonly lifecycle?: "retired";
454
+ readonly scan?: FileScan;
455
+ readonly committedFilesOnly?: boolean;
456
+ readonly recommendation?: string;
457
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
458
+ readonly create: (context: RuleContext) => RuleVisitors;
459
+ };
460
+ }, {
461
+ readonly key: "react-doctor/key-lifecycle-risk";
462
+ readonly id: "key-lifecycle-risk";
463
+ readonly source: "react-doctor";
464
+ readonly originallyExternal: false;
465
+ readonly rule: {
466
+ readonly framework: "global";
467
+ readonly category: "Security";
468
+ readonly tags: readonly string[];
469
+ readonly id: string;
470
+ readonly title?: string;
471
+ readonly severity: RuleSeverity;
472
+ readonly requires?: ReadonlyArray<Capability>;
473
+ readonly minimumInkVersion?: string;
474
+ readonly disabledWhen?: ReadonlyArray<Capability>;
475
+ readonly matchByOccurrence?: boolean;
476
+ readonly defaultEnabled?: boolean;
477
+ readonly lifecycle?: "retired";
478
+ readonly scan?: FileScan;
479
+ readonly committedFilesOnly?: boolean;
480
+ readonly recommendation?: string;
481
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
482
+ readonly create: (context: RuleContext) => RuleVisitors;
483
+ };
484
+ }, {
485
+ readonly key: "react-doctor/local-rpc-native-bridge-risk";
486
+ readonly id: "local-rpc-native-bridge-risk";
487
+ readonly source: "react-doctor";
488
+ readonly originallyExternal: false;
489
+ readonly rule: {
490
+ readonly framework: "global";
491
+ readonly category: "Security";
492
+ readonly tags: readonly string[];
493
+ readonly id: string;
494
+ readonly title?: string;
495
+ readonly severity: RuleSeverity;
496
+ readonly requires?: ReadonlyArray<Capability>;
497
+ readonly minimumInkVersion?: string;
498
+ readonly disabledWhen?: ReadonlyArray<Capability>;
499
+ readonly matchByOccurrence?: boolean;
500
+ readonly defaultEnabled?: boolean;
501
+ readonly lifecycle?: "retired";
502
+ readonly scan?: FileScan;
503
+ readonly committedFilesOnly?: boolean;
504
+ readonly recommendation?: string;
505
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
506
+ readonly create: (context: RuleContext) => RuleVisitors;
507
+ };
508
+ }, {
509
+ readonly key: "react-doctor/mcp-tool-capability-risk";
510
+ readonly id: "mcp-tool-capability-risk";
511
+ readonly source: "react-doctor";
512
+ readonly originallyExternal: false;
513
+ readonly rule: {
514
+ readonly framework: "global";
515
+ readonly category: "Security";
516
+ readonly tags: readonly string[];
517
+ readonly id: string;
518
+ readonly title?: string;
519
+ readonly severity: RuleSeverity;
520
+ readonly requires?: ReadonlyArray<Capability>;
521
+ readonly minimumInkVersion?: string;
522
+ readonly disabledWhen?: ReadonlyArray<Capability>;
523
+ readonly matchByOccurrence?: boolean;
524
+ readonly defaultEnabled?: boolean;
525
+ readonly lifecycle?: "retired";
526
+ readonly scan?: FileScan;
527
+ readonly committedFilesOnly?: boolean;
528
+ readonly recommendation?: string;
529
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
530
+ readonly create: (context: RuleContext) => RuleVisitors;
531
+ };
532
+ }, {
533
+ readonly key: "react-doctor/mdx-ssr-execution-risk";
534
+ readonly id: "mdx-ssr-execution-risk";
535
+ readonly source: "react-doctor";
536
+ readonly originallyExternal: false;
537
+ readonly rule: {
538
+ readonly framework: "global";
539
+ readonly category: "Security";
540
+ readonly tags: readonly string[];
541
+ readonly id: string;
542
+ readonly title?: string;
543
+ readonly severity: RuleSeverity;
544
+ readonly requires?: ReadonlyArray<Capability>;
545
+ readonly minimumInkVersion?: string;
546
+ readonly disabledWhen?: ReadonlyArray<Capability>;
547
+ readonly matchByOccurrence?: boolean;
548
+ readonly defaultEnabled?: boolean;
549
+ readonly lifecycle?: "retired";
550
+ readonly scan?: FileScan;
551
+ readonly committedFilesOnly?: boolean;
552
+ readonly recommendation?: string;
553
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
554
+ readonly create: (context: RuleContext) => RuleVisitors;
555
+ };
556
+ }, {
557
+ readonly key: "react-doctor/nosql-injection-risk";
558
+ readonly id: "nosql-injection-risk";
559
+ readonly source: "react-doctor";
560
+ readonly originallyExternal: false;
561
+ readonly rule: {
562
+ readonly framework: "global";
563
+ readonly category: "Security";
564
+ readonly tags: readonly string[];
565
+ readonly id: string;
566
+ readonly title?: string;
567
+ readonly severity: RuleSeverity;
568
+ readonly requires?: ReadonlyArray<Capability>;
569
+ readonly minimumInkVersion?: string;
570
+ readonly disabledWhen?: ReadonlyArray<Capability>;
571
+ readonly matchByOccurrence?: boolean;
572
+ readonly defaultEnabled?: boolean;
573
+ readonly lifecycle?: "retired";
574
+ readonly scan?: FileScan;
575
+ readonly committedFilesOnly?: boolean;
576
+ readonly recommendation?: string;
577
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
578
+ readonly create: (context: RuleContext) => RuleVisitors;
579
+ };
580
+ }, {
581
+ readonly key: "react-doctor/package-metadata-secret";
582
+ readonly id: "package-metadata-secret";
583
+ readonly source: "react-doctor";
584
+ readonly originallyExternal: false;
585
+ readonly rule: {
586
+ readonly framework: "global";
587
+ readonly category: "Security";
588
+ readonly tags: readonly string[];
589
+ readonly id: string;
590
+ readonly title?: string;
591
+ readonly severity: RuleSeverity;
592
+ readonly requires?: ReadonlyArray<Capability>;
593
+ readonly minimumInkVersion?: string;
594
+ readonly disabledWhen?: ReadonlyArray<Capability>;
595
+ readonly matchByOccurrence?: boolean;
596
+ readonly defaultEnabled?: boolean;
597
+ readonly lifecycle?: "retired";
598
+ readonly scan?: FileScan;
599
+ readonly committedFilesOnly?: boolean;
600
+ readonly recommendation?: string;
601
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
602
+ readonly create: (context: RuleContext) => RuleVisitors;
603
+ };
604
+ }, {
605
+ readonly key: "react-doctor/path-traversal-risk";
606
+ readonly id: "path-traversal-risk";
607
+ readonly source: "react-doctor";
608
+ readonly originallyExternal: false;
609
+ readonly rule: {
610
+ readonly framework: "global";
611
+ readonly category: "Security";
612
+ readonly tags: readonly string[];
613
+ readonly id: string;
614
+ readonly title?: string;
615
+ readonly severity: RuleSeverity;
616
+ readonly requires?: ReadonlyArray<Capability>;
617
+ readonly minimumInkVersion?: string;
618
+ readonly disabledWhen?: ReadonlyArray<Capability>;
619
+ readonly matchByOccurrence?: boolean;
620
+ readonly defaultEnabled?: boolean;
621
+ readonly lifecycle?: "retired";
622
+ readonly scan?: FileScan;
623
+ readonly committedFilesOnly?: boolean;
624
+ readonly recommendation?: string;
625
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
626
+ readonly create: (context: RuleContext) => RuleVisitors;
627
+ };
628
+ }, {
629
+ readonly key: "react-doctor/plugin-update-trust-risk";
630
+ readonly id: "plugin-update-trust-risk";
631
+ readonly source: "react-doctor";
632
+ readonly originallyExternal: false;
633
+ readonly rule: {
634
+ readonly framework: "global";
635
+ readonly category: "Security";
636
+ readonly tags: readonly string[];
637
+ readonly id: string;
638
+ readonly title?: string;
639
+ readonly severity: RuleSeverity;
640
+ readonly requires?: ReadonlyArray<Capability>;
641
+ readonly minimumInkVersion?: string;
642
+ readonly disabledWhen?: ReadonlyArray<Capability>;
643
+ readonly matchByOccurrence?: boolean;
644
+ readonly defaultEnabled?: boolean;
645
+ readonly lifecycle?: "retired";
646
+ readonly scan?: FileScan;
647
+ readonly committedFilesOnly?: boolean;
648
+ readonly recommendation?: string;
649
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
650
+ readonly create: (context: RuleContext) => RuleVisitors;
651
+ };
652
+ }, {
653
+ readonly key: "react-doctor/postmessage-origin-risk";
654
+ readonly id: "postmessage-origin-risk";
655
+ readonly source: "react-doctor";
656
+ readonly originallyExternal: false;
657
+ readonly rule: {
658
+ readonly framework: "global";
659
+ readonly category: "Security";
660
+ readonly tags: readonly string[];
661
+ readonly id: string;
662
+ readonly title?: string;
663
+ readonly severity: RuleSeverity;
664
+ readonly requires?: ReadonlyArray<Capability>;
665
+ readonly minimumInkVersion?: string;
666
+ readonly disabledWhen?: ReadonlyArray<Capability>;
667
+ readonly matchByOccurrence?: boolean;
668
+ readonly defaultEnabled?: boolean;
669
+ readonly lifecycle?: "retired";
670
+ readonly scan?: FileScan;
671
+ readonly committedFilesOnly?: boolean;
672
+ readonly recommendation?: string;
673
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
674
+ readonly create: (context: RuleContext) => RuleVisitors;
675
+ };
676
+ }, {
677
+ readonly key: "react-doctor/public-debug-artifact";
678
+ readonly id: "public-debug-artifact";
679
+ readonly source: "react-doctor";
680
+ readonly originallyExternal: false;
681
+ readonly rule: {
682
+ readonly framework: "global";
683
+ readonly category: "Security";
684
+ readonly tags: readonly string[];
685
+ readonly id: string;
686
+ readonly title?: string;
687
+ readonly severity: RuleSeverity;
688
+ readonly requires?: ReadonlyArray<Capability>;
689
+ readonly minimumInkVersion?: string;
690
+ readonly disabledWhen?: ReadonlyArray<Capability>;
691
+ readonly matchByOccurrence?: boolean;
692
+ readonly defaultEnabled?: boolean;
693
+ readonly lifecycle?: "retired";
694
+ readonly scan?: FileScan;
695
+ readonly committedFilesOnly?: boolean;
696
+ readonly recommendation?: string;
697
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
698
+ readonly create: (context: RuleContext) => RuleVisitors;
699
+ };
700
+ }, {
701
+ readonly key: "react-doctor/public-env-secret-name";
702
+ readonly id: "public-env-secret-name";
703
+ readonly source: "react-doctor";
704
+ readonly originallyExternal: false;
705
+ readonly rule: {
706
+ readonly framework: "global";
707
+ readonly category: "Security";
708
+ readonly tags: readonly string[];
709
+ readonly id: string;
710
+ readonly title?: string;
711
+ readonly severity: RuleSeverity;
712
+ readonly requires?: ReadonlyArray<Capability>;
713
+ readonly minimumInkVersion?: string;
714
+ readonly disabledWhen?: ReadonlyArray<Capability>;
715
+ readonly matchByOccurrence?: boolean;
716
+ readonly defaultEnabled?: boolean;
717
+ readonly lifecycle?: "retired";
718
+ readonly scan?: FileScan;
719
+ readonly committedFilesOnly?: boolean;
720
+ readonly recommendation?: string;
721
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
722
+ readonly create: (context: RuleContext) => RuleVisitors;
723
+ };
724
+ }, {
725
+ readonly key: "react-doctor/raw-sql-injection-risk";
726
+ readonly id: "raw-sql-injection-risk";
727
+ readonly source: "react-doctor";
728
+ readonly originallyExternal: false;
729
+ readonly rule: {
730
+ readonly framework: "global";
731
+ readonly category: "Security";
732
+ readonly tags: readonly string[];
733
+ readonly id: string;
734
+ readonly title?: string;
735
+ readonly severity: RuleSeverity;
736
+ readonly requires?: ReadonlyArray<Capability>;
737
+ readonly minimumInkVersion?: string;
738
+ readonly disabledWhen?: ReadonlyArray<Capability>;
739
+ readonly matchByOccurrence?: boolean;
740
+ readonly defaultEnabled?: boolean;
741
+ readonly lifecycle?: "retired";
742
+ readonly scan?: FileScan;
743
+ readonly committedFilesOnly?: boolean;
744
+ readonly recommendation?: string;
745
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
746
+ readonly create: (context: RuleContext) => RuleVisitors;
747
+ };
748
+ }, {
749
+ readonly key: "react-doctor/repository-secret-file";
750
+ readonly id: "repository-secret-file";
751
+ readonly source: "react-doctor";
752
+ readonly originallyExternal: false;
753
+ readonly rule: {
754
+ readonly framework: "global";
755
+ readonly category: "Security";
756
+ readonly tags: readonly string[];
757
+ readonly id: string;
758
+ readonly title?: string;
759
+ readonly severity: RuleSeverity;
760
+ readonly requires?: ReadonlyArray<Capability>;
761
+ readonly minimumInkVersion?: string;
762
+ readonly disabledWhen?: ReadonlyArray<Capability>;
763
+ readonly matchByOccurrence?: boolean;
764
+ readonly defaultEnabled?: boolean;
765
+ readonly lifecycle?: "retired";
766
+ readonly scan?: FileScan;
767
+ readonly committedFilesOnly?: boolean;
768
+ readonly recommendation?: string;
769
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
770
+ readonly create: (context: RuleContext) => RuleVisitors;
771
+ };
772
+ }, {
773
+ readonly key: "react-doctor/request-body-mass-assignment";
774
+ readonly id: "request-body-mass-assignment";
775
+ readonly source: "react-doctor";
776
+ readonly originallyExternal: false;
777
+ readonly rule: {
778
+ readonly framework: "global";
779
+ readonly category: "Security";
780
+ readonly tags: readonly string[];
781
+ readonly id: string;
782
+ readonly title?: string;
783
+ readonly severity: RuleSeverity;
784
+ readonly requires?: ReadonlyArray<Capability>;
785
+ readonly minimumInkVersion?: string;
786
+ readonly disabledWhen?: ReadonlyArray<Capability>;
787
+ readonly matchByOccurrence?: boolean;
788
+ readonly defaultEnabled?: boolean;
789
+ readonly lifecycle?: "retired";
790
+ readonly scan?: FileScan;
791
+ readonly committedFilesOnly?: boolean;
792
+ readonly recommendation?: string;
793
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
794
+ readonly create: (context: RuleContext) => RuleVisitors;
795
+ };
796
+ }, {
797
+ readonly key: "react-doctor/secret-in-fallback";
798
+ readonly id: "secret-in-fallback";
799
+ readonly source: "react-doctor";
800
+ readonly originallyExternal: false;
801
+ readonly rule: {
802
+ readonly framework: "global";
803
+ readonly category: "Security";
804
+ readonly tags: readonly string[];
805
+ readonly id: string;
806
+ readonly title?: string;
807
+ readonly severity: RuleSeverity;
808
+ readonly requires?: ReadonlyArray<Capability>;
809
+ readonly minimumInkVersion?: string;
810
+ readonly disabledWhen?: ReadonlyArray<Capability>;
811
+ readonly matchByOccurrence?: boolean;
812
+ readonly defaultEnabled?: boolean;
813
+ readonly lifecycle?: "retired";
814
+ readonly scan?: FileScan;
815
+ readonly committedFilesOnly?: boolean;
816
+ readonly recommendation?: string;
817
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
818
+ readonly create: (context: RuleContext) => RuleVisitors;
819
+ };
820
+ }, {
821
+ readonly key: "react-doctor/supabase-client-owned-authz-field";
822
+ readonly id: "supabase-client-owned-authz-field";
823
+ readonly source: "react-doctor";
824
+ readonly originallyExternal: false;
825
+ readonly rule: {
826
+ readonly framework: "global";
827
+ readonly category: "Security";
828
+ readonly tags: readonly string[];
829
+ readonly id: string;
830
+ readonly title?: string;
831
+ readonly severity: RuleSeverity;
832
+ readonly requires?: ReadonlyArray<Capability>;
833
+ readonly minimumInkVersion?: string;
834
+ readonly disabledWhen?: ReadonlyArray<Capability>;
835
+ readonly matchByOccurrence?: boolean;
836
+ readonly defaultEnabled?: boolean;
837
+ readonly lifecycle?: "retired";
838
+ readonly scan?: FileScan;
839
+ readonly committedFilesOnly?: boolean;
840
+ readonly recommendation?: string;
841
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
842
+ readonly create: (context: RuleContext) => RuleVisitors;
843
+ };
844
+ }, {
845
+ readonly key: "react-doctor/supabase-rls-policy-risk";
846
+ readonly id: "supabase-rls-policy-risk";
847
+ readonly source: "react-doctor";
848
+ readonly originallyExternal: false;
849
+ readonly rule: {
850
+ readonly framework: "global";
851
+ readonly category: "Security";
852
+ readonly tags: readonly string[];
853
+ readonly id: string;
854
+ readonly title?: string;
855
+ readonly severity: RuleSeverity;
856
+ readonly requires?: ReadonlyArray<Capability>;
857
+ readonly minimumInkVersion?: string;
858
+ readonly disabledWhen?: ReadonlyArray<Capability>;
859
+ readonly matchByOccurrence?: boolean;
860
+ readonly defaultEnabled?: boolean;
861
+ readonly lifecycle?: "retired";
862
+ readonly scan?: FileScan;
863
+ readonly committedFilesOnly?: boolean;
864
+ readonly recommendation?: string;
865
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
866
+ readonly create: (context: RuleContext) => RuleVisitors;
867
+ };
868
+ }, {
869
+ readonly key: "react-doctor/supabase-table-missing-rls";
870
+ readonly id: "supabase-table-missing-rls";
871
+ readonly source: "react-doctor";
872
+ readonly originallyExternal: false;
873
+ readonly rule: {
874
+ readonly framework: "global";
875
+ readonly category: "Security";
876
+ readonly tags: readonly string[];
877
+ readonly id: string;
878
+ readonly title?: string;
879
+ readonly severity: RuleSeverity;
880
+ readonly requires?: ReadonlyArray<Capability>;
881
+ readonly minimumInkVersion?: string;
882
+ readonly disabledWhen?: ReadonlyArray<Capability>;
883
+ readonly matchByOccurrence?: boolean;
884
+ readonly defaultEnabled?: boolean;
885
+ readonly lifecycle?: "retired";
886
+ readonly scan?: FileScan;
887
+ readonly committedFilesOnly?: boolean;
888
+ readonly recommendation?: string;
889
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
890
+ readonly create: (context: RuleContext) => RuleVisitors;
891
+ };
892
+ }, {
893
+ readonly key: "react-doctor/svg-filter-clickjacking-risk";
894
+ readonly id: "svg-filter-clickjacking-risk";
895
+ readonly source: "react-doctor";
896
+ readonly originallyExternal: false;
897
+ readonly rule: {
898
+ readonly framework: "global";
899
+ readonly category: "Security";
900
+ readonly tags: readonly string[];
901
+ readonly id: string;
902
+ readonly title?: string;
903
+ readonly severity: RuleSeverity;
904
+ readonly requires?: ReadonlyArray<Capability>;
905
+ readonly minimumInkVersion?: string;
906
+ readonly disabledWhen?: ReadonlyArray<Capability>;
907
+ readonly matchByOccurrence?: boolean;
908
+ readonly defaultEnabled?: boolean;
909
+ readonly lifecycle?: "retired";
910
+ readonly scan?: FileScan;
911
+ readonly committedFilesOnly?: boolean;
912
+ readonly recommendation?: string;
913
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
914
+ readonly create: (context: RuleContext) => RuleVisitors;
915
+ };
916
+ }, {
917
+ readonly key: "react-doctor/tenant-static-proxy-risk";
918
+ readonly id: "tenant-static-proxy-risk";
919
+ readonly source: "react-doctor";
920
+ readonly originallyExternal: false;
921
+ readonly rule: {
922
+ readonly framework: "global";
923
+ readonly category: "Security";
924
+ readonly tags: readonly string[];
925
+ readonly id: string;
926
+ readonly title?: string;
927
+ readonly severity: RuleSeverity;
928
+ readonly requires?: ReadonlyArray<Capability>;
929
+ readonly minimumInkVersion?: string;
930
+ readonly disabledWhen?: ReadonlyArray<Capability>;
931
+ readonly matchByOccurrence?: boolean;
932
+ readonly defaultEnabled?: boolean;
933
+ readonly lifecycle?: "retired";
934
+ readonly scan?: FileScan;
935
+ readonly committedFilesOnly?: boolean;
936
+ readonly recommendation?: string;
937
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
938
+ readonly create: (context: RuleContext) => RuleVisitors;
939
+ };
940
+ }, {
941
+ readonly key: "react-doctor/unsafe-json-in-html";
942
+ readonly id: "unsafe-json-in-html";
943
+ readonly source: "react-doctor";
944
+ readonly originallyExternal: false;
945
+ readonly rule: {
946
+ readonly framework: "global";
947
+ readonly category: "Security";
948
+ readonly tags: readonly string[];
949
+ readonly id: string;
950
+ readonly title?: string;
951
+ readonly severity: RuleSeverity;
952
+ readonly requires?: ReadonlyArray<Capability>;
953
+ readonly minimumInkVersion?: string;
954
+ readonly disabledWhen?: ReadonlyArray<Capability>;
955
+ readonly matchByOccurrence?: boolean;
956
+ readonly defaultEnabled?: boolean;
957
+ readonly lifecycle?: "retired";
958
+ readonly scan?: FileScan;
959
+ readonly committedFilesOnly?: boolean;
960
+ readonly recommendation?: string;
961
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
962
+ readonly create: (context: RuleContext) => RuleVisitors;
963
+ };
964
+ }, {
965
+ readonly key: "react-doctor/untrusted-redirect-following";
966
+ readonly id: "untrusted-redirect-following";
967
+ readonly source: "react-doctor";
968
+ readonly originallyExternal: false;
969
+ readonly rule: {
970
+ readonly framework: "global";
971
+ readonly category: "Security";
972
+ readonly tags: readonly string[];
973
+ readonly id: string;
974
+ readonly title?: string;
975
+ readonly severity: RuleSeverity;
976
+ readonly requires?: ReadonlyArray<Capability>;
977
+ readonly minimumInkVersion?: string;
978
+ readonly disabledWhen?: ReadonlyArray<Capability>;
979
+ readonly matchByOccurrence?: boolean;
980
+ readonly defaultEnabled?: boolean;
981
+ readonly lifecycle?: "retired";
982
+ readonly scan?: FileScan;
983
+ readonly committedFilesOnly?: boolean;
984
+ readonly recommendation?: string;
985
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
986
+ readonly create: (context: RuleContext) => RuleVisitors;
987
+ };
988
+ }, {
989
+ readonly key: "react-doctor/url-prefilled-privileged-action";
990
+ readonly id: "url-prefilled-privileged-action";
991
+ readonly source: "react-doctor";
992
+ readonly originallyExternal: false;
993
+ readonly rule: {
994
+ readonly framework: "global";
995
+ readonly category: "Security";
996
+ readonly tags: readonly string[];
997
+ readonly id: string;
998
+ readonly title?: string;
999
+ readonly severity: RuleSeverity;
1000
+ readonly requires?: ReadonlyArray<Capability>;
1001
+ readonly minimumInkVersion?: string;
1002
+ readonly disabledWhen?: ReadonlyArray<Capability>;
1003
+ readonly matchByOccurrence?: boolean;
1004
+ readonly defaultEnabled?: boolean;
1005
+ readonly lifecycle?: "retired";
1006
+ readonly scan?: FileScan;
1007
+ readonly committedFilesOnly?: boolean;
1008
+ readonly recommendation?: string;
1009
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
1010
+ readonly create: (context: RuleContext) => RuleVisitors;
1011
+ };
1012
+ }, {
1013
+ readonly key: "react-doctor/webhook-signature-risk";
1014
+ readonly id: "webhook-signature-risk";
1015
+ readonly source: "react-doctor";
1016
+ readonly originallyExternal: false;
1017
+ readonly rule: {
1018
+ readonly framework: "global";
1019
+ readonly category: "Security";
1020
+ readonly tags: readonly string[];
1021
+ readonly id: string;
1022
+ readonly title?: string;
1023
+ readonly severity: RuleSeverity;
1024
+ readonly requires?: ReadonlyArray<Capability>;
1025
+ readonly minimumInkVersion?: string;
1026
+ readonly disabledWhen?: ReadonlyArray<Capability>;
1027
+ readonly matchByOccurrence?: boolean;
1028
+ readonly defaultEnabled?: boolean;
1029
+ readonly lifecycle?: "retired";
1030
+ readonly scan?: FileScan;
1031
+ readonly committedFilesOnly?: boolean;
1032
+ readonly recommendation?: string;
1033
+ readonly recommendationFor?: (hasCapability: CapabilityQuery) => string | undefined;
1034
+ readonly create: (context: RuleContext) => RuleVisitors;
1035
+ };
1036
+ }];
1037
+ //#endregion
1038
+ //#region src/core.d.ts
1039
+ declare const REACT_DOCTOR_RULES: readonly CoreRuleRegistryEntry[];
1040
+ declare const REACT_DOCTOR_RULE_REGISTRY: Readonly<Record<string, CoreRuleMetadata>>;
1041
+ declare const ALL_REACT_DOCTOR_RULE_KEYS: ReadonlySet<string>;
1042
+ declare const FRAMEWORK_SPECIFIC_RULE_KEYS: ReadonlySet<string>;
1043
+ //#endregion
1044
+ export { ALL_REACT_DOCTOR_RULE_KEYS, CROSS_FILE_DEPENDENCY_COLLECTORS, CROSS_FILE_RULE_IDS, type Capability, type CapabilityQuery, type CoreRuleMetadata, type CrossFileProbeTrace, EXTERNAL_RULES, type EsTreeNode, FRAMEWORK_SPECIFIC_RULE_KEYS, FRAMEWORK_TOKENS, type FileScan, type FrameworkToken, MOTION_LIBRARY_PACKAGES, type OxlintRuleSeverity, REACT_COMPILER_RULES, REACT_DOCTOR_RULES, REACT_DOCTOR_RULE_REGISTRY, reactDoctorScanRules as REACT_DOCTOR_SCAN_RULES, REACT_NATIVE_DEPENDENCY_NAMES, REACT_NATIVE_DEPENDENCY_PREFIXES, type Rule, type RuleFramework, type RuleSeverity, type ScanFinding, type ScannedFile, UNBOUNDED_CROSS_FILE_RULE_IDS, classifySecurityScanFile, collectCrossFileDependencyProbes, isReactNativeDependencyName, resetFilesystemCaches as resetManifestCaches, shouldReadSecurityScanContent };
1045
+ //# sourceMappingURL=core.d.ts.map