fallow 3.31.0 → 3.32.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.
@@ -30,7 +30,7 @@
30
30
  "note": "Reported by fallow dupes (and bare fallow / fallow audit)",
31
31
  "license": "free",
32
32
  "license_note": null,
33
- "docs_url": "https://docs.fallow.tools/explanations/duplication#clone-groups"
33
+ "docs_url": "https://fallow.tools/docs/explanations/duplication/#clone-groups"
34
34
  },
35
35
  {
36
36
  "id": "unused-file",
@@ -67,7 +67,7 @@
67
67
  "note": null,
68
68
  "license": "free",
69
69
  "license_note": null,
70
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-files"
70
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-files"
71
71
  },
72
72
  {
73
73
  "id": "unused-export",
@@ -104,7 +104,7 @@
104
104
  "note": null,
105
105
  "license": "free",
106
106
  "license_note": null,
107
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-exports"
107
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-exports"
108
108
  },
109
109
  {
110
110
  "id": "unused-type",
@@ -138,7 +138,7 @@
138
138
  "note": null,
139
139
  "license": "free",
140
140
  "license_note": null,
141
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-types"
141
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-types"
142
142
  },
143
143
  {
144
144
  "id": "private-type-leak",
@@ -175,7 +175,7 @@
175
175
  "note": "Opt-in API hygiene check; the rule defaults to off",
176
176
  "license": "free",
177
177
  "license_note": null,
178
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#private-type-leaks"
178
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#private-type-leaks"
179
179
  },
180
180
  {
181
181
  "id": "deprecated-export-in-use",
@@ -212,7 +212,7 @@
212
212
  "note": "Opt-in migration sweep; the rule defaults to off",
213
213
  "license": "free",
214
214
  "license_note": null,
215
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#deprecated-exports-in-use"
215
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#deprecated-exports-in-use"
216
216
  },
217
217
  {
218
218
  "id": "unused-dependency",
@@ -249,7 +249,7 @@
249
249
  "note": "--unused-deps controls unused-dependency, unused-dev-dependency, unused-optional-dependency, type-only-dependency, and test-only-dependency",
250
250
  "license": "free",
251
251
  "license_note": null,
252
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-dependencies"
252
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-dependencies"
253
253
  },
254
254
  {
255
255
  "id": "unused-dev-dependency",
@@ -289,7 +289,7 @@
289
289
  "note": "--unused-deps controls unused-dependency, unused-dev-dependency, unused-optional-dependency, type-only-dependency, and test-only-dependency",
290
290
  "license": "free",
291
291
  "license_note": null,
292
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-devdependencies"
292
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-devdependencies"
293
293
  },
294
294
  {
295
295
  "id": "unused-optional-dependency",
@@ -329,7 +329,7 @@
329
329
  "note": "--unused-deps controls unused-dependency, unused-dev-dependency, unused-optional-dependency, type-only-dependency, and test-only-dependency",
330
330
  "license": "free",
331
331
  "license_note": null,
332
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-optionaldependencies"
332
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-optionaldependencies"
333
333
  },
334
334
  {
335
335
  "id": "unused-enum-member",
@@ -366,7 +366,7 @@
366
366
  "note": null,
367
367
  "license": "free",
368
368
  "license_note": null,
369
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-enum-members"
369
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-enum-members"
370
370
  },
371
371
  {
372
372
  "id": "unused-class-member",
@@ -403,7 +403,7 @@
403
403
  "note": null,
404
404
  "license": "free",
405
405
  "license_note": null,
406
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-class-members"
406
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-class-members"
407
407
  },
408
408
  {
409
409
  "id": "unused-store-member",
@@ -442,7 +442,7 @@
442
442
  "note": null,
443
443
  "license": "free",
444
444
  "license_note": null,
445
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-store-members"
445
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-store-members"
446
446
  },
447
447
  {
448
448
  "id": "unresolved-import",
@@ -479,7 +479,7 @@
479
479
  "note": null,
480
480
  "license": "free",
481
481
  "license_note": null,
482
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unresolved-imports"
482
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unresolved-imports"
483
483
  },
484
484
  {
485
485
  "id": "unlisted-dependency",
@@ -516,7 +516,7 @@
516
516
  "note": null,
517
517
  "license": "free",
518
518
  "license_note": null,
519
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unlisted-dependencies"
519
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unlisted-dependencies"
520
520
  },
521
521
  {
522
522
  "id": "duplicate-export",
@@ -553,7 +553,7 @@
553
553
  "note": "fallow fix can add an ignoreExports rule to the fallow config instead of editing source",
554
554
  "license": "free",
555
555
  "license_note": null,
556
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#duplicate-exports"
556
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#duplicate-exports"
557
557
  },
558
558
  {
559
559
  "id": "type-only-dependency",
@@ -590,7 +590,7 @@
590
590
  "note": "Only reported in --production mode; --unused-deps scopes it together with the other dependency kinds",
591
591
  "license": "free",
592
592
  "license_note": null,
593
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#type-only-dependencies"
593
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#type-only-dependencies"
594
594
  },
595
595
  {
596
596
  "id": "test-only-dependency",
@@ -627,7 +627,7 @@
627
627
  "note": "Not reported in --production mode (test files are excluded there); --unused-deps scopes it together with the other dependency kinds",
628
628
  "license": "free",
629
629
  "license_note": null,
630
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#test-only-dependencies"
630
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#test-only-dependencies"
631
631
  },
632
632
  {
633
633
  "id": "dev-dependency-in-production",
@@ -664,7 +664,7 @@
664
664
  "note": null,
665
665
  "license": "free",
666
666
  "license_note": null,
667
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#dev-dependencies-in-production"
667
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#dev-dependencies-in-production"
668
668
  },
669
669
  {
670
670
  "id": "circular-dependency",
@@ -703,7 +703,7 @@
703
703
  "note": null,
704
704
  "license": "free",
705
705
  "license_note": null,
706
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#circular-dependencies"
706
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#circular-dependencies"
707
707
  },
708
708
  {
709
709
  "id": "re-export-cycle",
@@ -744,7 +744,7 @@
744
744
  "note": null,
745
745
  "license": "free",
746
746
  "license_note": null,
747
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#re-export-cycles"
747
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#re-export-cycles"
748
748
  },
749
749
  {
750
750
  "id": "package-cycle",
@@ -783,7 +783,7 @@
783
783
  "note": "Requires a workspace with two or more packages",
784
784
  "license": "free",
785
785
  "license_note": null,
786
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#package-cycles"
786
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#package-cycles"
787
787
  },
788
788
  {
789
789
  "id": "boundary-violation",
@@ -820,7 +820,7 @@
820
820
  "note": "Requires configured boundary zones (boundaries config)",
821
821
  "license": "free",
822
822
  "license_note": null,
823
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#boundary-violations"
823
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
824
824
  },
825
825
  {
826
826
  "id": "boundary-coverage",
@@ -856,7 +856,7 @@
856
856
  "note": "Requires boundaries.coverage.requireAllFiles",
857
857
  "license": "free",
858
858
  "license_note": null,
859
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#boundary-violations"
859
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
860
860
  },
861
861
  {
862
862
  "id": "boundary-call-violation",
@@ -893,14 +893,14 @@
893
893
  "note": "Requires boundaries.calls.forbidden patterns",
894
894
  "license": "free",
895
895
  "license_note": null,
896
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#boundary-violations"
896
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
897
897
  },
898
898
  {
899
899
  "id": "policy-violation",
900
900
  "rule_id": "fallow/policy-violation",
901
901
  "command": "dead-code",
902
902
  "category": "Policy",
903
- "description": "Banned usage matched a rule-pack rule",
903
+ "description": "Usage violates a configured rule-pack policy",
904
904
  "label": "Policy Violations",
905
905
  "config_key": "policy-violation",
906
906
  "registry_index": 24,
@@ -929,7 +929,7 @@
929
929
  "note": "Requires a configured rule pack (rulePacks config)",
930
930
  "license": "free",
931
931
  "license_note": null,
932
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#policy-violations"
932
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#policy-violations"
933
933
  },
934
934
  {
935
935
  "id": "invalid-client-export",
@@ -967,7 +967,7 @@
967
967
  "note": "Requires the project to declare next",
968
968
  "license": "free",
969
969
  "license_note": null,
970
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#invalid-client-exports"
970
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#invalid-client-exports"
971
971
  },
972
972
  {
973
973
  "id": "mixed-client-server-barrel",
@@ -1003,7 +1003,7 @@
1003
1003
  "note": "Requires the project to declare next",
1004
1004
  "license": "free",
1005
1005
  "license_note": null,
1006
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#mixed-client-server-barrels"
1006
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#mixed-client-server-barrels"
1007
1007
  },
1008
1008
  {
1009
1009
  "id": "misplaced-directive",
@@ -1039,7 +1039,7 @@
1039
1039
  "note": "Requires the project to declare next",
1040
1040
  "license": "free",
1041
1041
  "license_note": null,
1042
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#misplaced-directives"
1042
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#misplaced-directives"
1043
1043
  },
1044
1044
  {
1045
1045
  "id": "unprovided-inject",
@@ -1057,7 +1057,7 @@
1057
1057
  "filter_flag": "--unprovided-injects",
1058
1058
  "result_key": "unprovided_injects",
1059
1059
  "summary_label": "Unprovided injects",
1060
- "summary_docs_anchor": "unprovided-inject",
1060
+ "summary_docs_anchor": "unprovided-injects",
1061
1061
  "sarif_rule_ids": [
1062
1062
  "fallow/unprovided-inject"
1063
1063
  ],
@@ -1075,7 +1075,7 @@
1075
1075
  "note": null,
1076
1076
  "license": "free",
1077
1077
  "license_note": null,
1078
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unprovided-injects"
1078
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unprovided-injects"
1079
1079
  },
1080
1080
  {
1081
1081
  "id": "unrendered-component",
@@ -1093,7 +1093,7 @@
1093
1093
  "filter_flag": "--unrendered-components",
1094
1094
  "result_key": "unrendered_components",
1095
1095
  "summary_label": "Unrendered components",
1096
- "summary_docs_anchor": "unrendered-component",
1096
+ "summary_docs_anchor": "unrendered-components",
1097
1097
  "sarif_rule_ids": [
1098
1098
  "fallow/unrendered-component"
1099
1099
  ],
@@ -1111,7 +1111,7 @@
1111
1111
  "note": null,
1112
1112
  "license": "free",
1113
1113
  "license_note": null,
1114
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unrendered-components"
1114
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unrendered-components"
1115
1115
  },
1116
1116
  {
1117
1117
  "id": "unused-component-prop",
@@ -1129,7 +1129,7 @@
1129
1129
  "filter_flag": "--unused-component-props",
1130
1130
  "result_key": "unused_component_props",
1131
1131
  "summary_label": "Unused component props",
1132
- "summary_docs_anchor": "unused-component-prop",
1132
+ "summary_docs_anchor": "unused-component-props",
1133
1133
  "sarif_rule_ids": [
1134
1134
  "fallow/unused-component-prop"
1135
1135
  ],
@@ -1147,7 +1147,43 @@
1147
1147
  "note": null,
1148
1148
  "license": "free",
1149
1149
  "license_note": null,
1150
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-component-props"
1150
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-props"
1151
+ },
1152
+ {
1153
+ "id": "absent-component-prop",
1154
+ "rule_id": "fallow/absent-component-prop",
1155
+ "command": "dead-code",
1156
+ "category": "Dead code",
1157
+ "description": "Known reachable callers omit an optional prop consumed inside its component",
1158
+ "label": "Absent Optional Component Props",
1159
+ "config_key": "absent-component-props",
1160
+ "registry_index": 31,
1161
+ "aliases": [
1162
+ "absent-component-props"
1163
+ ],
1164
+ "lsp": true,
1165
+ "filter_flag": "--absent-component-props",
1166
+ "result_key": "absent_component_props",
1167
+ "summary_label": "Absent optional component props",
1168
+ "summary_docs_anchor": "absent-component-props",
1169
+ "sarif_rule_ids": [
1170
+ "fallow/absent-component-prop"
1171
+ ],
1172
+ "codeclimate_check_names": [
1173
+ "fallow/absent-component-prop"
1174
+ ],
1175
+ "ts_alias": null,
1176
+ "counts_in_total": true,
1177
+ "fixable": false,
1178
+ "suppressible": true,
1179
+ "suppress_comment": "// fallow-ignore-next-line absent-component-prop",
1180
+ "default_severity": "off",
1181
+ "opt_in": true,
1182
+ "frameworks": [],
1183
+ "note": "Opt-in manual review candidate; defaults to off. Inspect caller evidence and defaults before changing the component. No automatic fix.",
1184
+ "license": "free",
1185
+ "license_note": null,
1186
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#absent-component-props"
1151
1187
  },
1152
1188
  {
1153
1189
  "id": "unused-component-emit",
@@ -1157,7 +1193,7 @@
1157
1193
  "description": "A Vue <script setup> defineEmits event is emitted nowhere in its own component",
1158
1194
  "label": "Unused Component Emits",
1159
1195
  "config_key": "unused-component-emits",
1160
- "registry_index": 31,
1196
+ "registry_index": 32,
1161
1197
  "aliases": [
1162
1198
  "unused-component-emits"
1163
1199
  ],
@@ -1165,7 +1201,7 @@
1165
1201
  "filter_flag": "--unused-component-emits",
1166
1202
  "result_key": "unused_component_emits",
1167
1203
  "summary_label": "Unused component emits",
1168
- "summary_docs_anchor": "unused-component-emit",
1204
+ "summary_docs_anchor": "unused-component-emits",
1169
1205
  "sarif_rule_ids": [
1170
1206
  "fallow/unused-component-emit"
1171
1207
  ],
@@ -1183,7 +1219,7 @@
1183
1219
  "note": null,
1184
1220
  "license": "free",
1185
1221
  "license_note": null,
1186
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-component-emits"
1222
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-emits"
1187
1223
  },
1188
1224
  {
1189
1225
  "id": "unused-component-input",
@@ -1193,7 +1229,7 @@
1193
1229
  "description": "An Angular @Input() / signal input() / model() input is read nowhere in its own component",
1194
1230
  "label": "Unused Component Inputs",
1195
1231
  "config_key": "unused-component-inputs",
1196
- "registry_index": 32,
1232
+ "registry_index": 33,
1197
1233
  "aliases": [
1198
1234
  "unused-component-inputs"
1199
1235
  ],
@@ -1201,7 +1237,7 @@
1201
1237
  "filter_flag": "--unused-component-inputs",
1202
1238
  "result_key": "unused_component_inputs",
1203
1239
  "summary_label": "Unused component inputs",
1204
- "summary_docs_anchor": "unused-component-input",
1240
+ "summary_docs_anchor": "unused-component-inputs",
1205
1241
  "sarif_rule_ids": [
1206
1242
  "fallow/unused-component-input"
1207
1243
  ],
@@ -1219,7 +1255,7 @@
1219
1255
  "note": null,
1220
1256
  "license": "free",
1221
1257
  "license_note": null,
1222
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-component-inputs"
1258
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-inputs"
1223
1259
  },
1224
1260
  {
1225
1261
  "id": "unused-component-output",
@@ -1229,7 +1265,7 @@
1229
1265
  "description": "An Angular @Output() / signal output() output is emitted nowhere in its own component",
1230
1266
  "label": "Unused Component Outputs",
1231
1267
  "config_key": "unused-component-outputs",
1232
- "registry_index": 33,
1268
+ "registry_index": 34,
1233
1269
  "aliases": [
1234
1270
  "unused-component-outputs"
1235
1271
  ],
@@ -1237,7 +1273,7 @@
1237
1273
  "filter_flag": "--unused-component-outputs",
1238
1274
  "result_key": "unused_component_outputs",
1239
1275
  "summary_label": "Unused component outputs",
1240
- "summary_docs_anchor": "unused-component-output",
1276
+ "summary_docs_anchor": "unused-component-outputs",
1241
1277
  "sarif_rule_ids": [
1242
1278
  "fallow/unused-component-output"
1243
1279
  ],
@@ -1255,7 +1291,7 @@
1255
1291
  "note": null,
1256
1292
  "license": "free",
1257
1293
  "license_note": null,
1258
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-component-outputs"
1294
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-outputs"
1259
1295
  },
1260
1296
  {
1261
1297
  "id": "unused-svelte-event",
@@ -1265,7 +1301,7 @@
1265
1301
  "description": "A Svelte component dispatches a createEventDispatcher event whose name is listened to nowhere in the project",
1266
1302
  "label": "Unused Svelte Events",
1267
1303
  "config_key": "unused-svelte-events",
1268
- "registry_index": 34,
1304
+ "registry_index": 35,
1269
1305
  "aliases": [
1270
1306
  "unused-svelte-events"
1271
1307
  ],
@@ -1273,7 +1309,7 @@
1273
1309
  "filter_flag": "--unused-svelte-events",
1274
1310
  "result_key": "unused_svelte_events",
1275
1311
  "summary_label": "Unused Svelte events",
1276
- "summary_docs_anchor": "unused-svelte-event",
1312
+ "summary_docs_anchor": "unused-svelte-events",
1277
1313
  "sarif_rule_ids": [
1278
1314
  "fallow/unused-svelte-event"
1279
1315
  ],
@@ -1291,7 +1327,7 @@
1291
1327
  "note": null,
1292
1328
  "license": "free",
1293
1329
  "license_note": null,
1294
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-svelte-events"
1330
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-svelte-events"
1295
1331
  },
1296
1332
  {
1297
1333
  "id": "unused-server-action",
@@ -1301,7 +1337,7 @@
1301
1337
  "description": "A Next.js Server Action exported from a \"use server\" file is referenced by no code in the project",
1302
1338
  "label": "Unused Server Actions",
1303
1339
  "config_key": "unused-server-actions",
1304
- "registry_index": 35,
1340
+ "registry_index": 36,
1305
1341
  "aliases": [
1306
1342
  "unused-server-actions"
1307
1343
  ],
@@ -1309,7 +1345,7 @@
1309
1345
  "filter_flag": "--unused-server-actions",
1310
1346
  "result_key": "unused_server_actions",
1311
1347
  "summary_label": "Unused server actions",
1312
- "summary_docs_anchor": "unused-server-action",
1348
+ "summary_docs_anchor": "unused-server-actions",
1313
1349
  "sarif_rule_ids": [
1314
1350
  "fallow/unused-server-action"
1315
1351
  ],
@@ -1327,7 +1363,7 @@
1327
1363
  "note": null,
1328
1364
  "license": "free",
1329
1365
  "license_note": null,
1330
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-server-actions"
1366
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-server-actions"
1331
1367
  },
1332
1368
  {
1333
1369
  "id": "unused-load-data-key",
@@ -1337,7 +1373,7 @@
1337
1373
  "description": "A SvelteKit load() return-object key is read by no consumer",
1338
1374
  "label": "Unused Load Data Keys",
1339
1375
  "config_key": "unused-load-data-keys",
1340
- "registry_index": 36,
1376
+ "registry_index": 37,
1341
1377
  "aliases": [
1342
1378
  "unused-load-data-keys"
1343
1379
  ],
@@ -1345,7 +1381,7 @@
1345
1381
  "filter_flag": "--unused-load-data-keys",
1346
1382
  "result_key": "unused_load_data_keys",
1347
1383
  "summary_label": "Unused load data keys",
1348
- "summary_docs_anchor": "unused-load-data-key",
1384
+ "summary_docs_anchor": "unused-load-data-keys",
1349
1385
  "sarif_rule_ids": [
1350
1386
  "fallow/unused-load-data-key"
1351
1387
  ],
@@ -1363,7 +1399,7 @@
1363
1399
  "note": null,
1364
1400
  "license": "free",
1365
1401
  "license_note": null,
1366
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-load-data-keys"
1402
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-load-data-keys"
1367
1403
  },
1368
1404
  {
1369
1405
  "id": "route-collision",
@@ -1373,7 +1409,7 @@
1373
1409
  "description": "Two or more Next.js App Router route files resolve to the same URL",
1374
1410
  "label": "Route Collisions",
1375
1411
  "config_key": "route-collision",
1376
- "registry_index": 37,
1412
+ "registry_index": 38,
1377
1413
  "aliases": [
1378
1414
  "route-collisions"
1379
1415
  ],
@@ -1401,7 +1437,7 @@
1401
1437
  "note": null,
1402
1438
  "license": "free",
1403
1439
  "license_note": null,
1404
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#route-collisions"
1440
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#route-collisions"
1405
1441
  },
1406
1442
  {
1407
1443
  "id": "dynamic-segment-name-conflict",
@@ -1411,7 +1447,7 @@
1411
1447
  "description": "Sibling Next.js dynamic route segments use different slug names at the same position",
1412
1448
  "label": "Dynamic Segment Conflicts",
1413
1449
  "config_key": "dynamic-segment-name-conflict",
1414
- "registry_index": 38,
1450
+ "registry_index": 39,
1415
1451
  "aliases": [
1416
1452
  "dynamic-segment-name-conflicts"
1417
1453
  ],
@@ -1439,7 +1475,7 @@
1439
1475
  "note": null,
1440
1476
  "license": "free",
1441
1477
  "license_note": null,
1442
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#dynamic-segment-name-conflicts"
1478
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#dynamic-segment-name-conflicts"
1443
1479
  },
1444
1480
  {
1445
1481
  "id": "stale-suppression",
@@ -1449,7 +1485,7 @@
1449
1485
  "description": "Suppression comment or tag no longer matches any issue",
1450
1486
  "label": "Stale Suppressions",
1451
1487
  "config_key": "stale-suppressions",
1452
- "registry_index": 39,
1488
+ "registry_index": 40,
1453
1489
  "aliases": [],
1454
1490
  "lsp": true,
1455
1491
  "filter_flag": "--stale-suppressions",
@@ -1475,7 +1511,7 @@
1475
1511
  "note": "Fix by removing the stale suppression marker itself",
1476
1512
  "license": "free",
1477
1513
  "license_note": null,
1478
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#stale-suppressions"
1514
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#stale-suppressions"
1479
1515
  },
1480
1516
  {
1481
1517
  "id": "missing-suppression-reason",
@@ -1485,7 +1521,7 @@
1485
1521
  "description": "Suppression comment omits a required reason",
1486
1522
  "label": "Missing Suppression Reasons",
1487
1523
  "config_key": "require-suppression-reason",
1488
- "registry_index": 40,
1524
+ "registry_index": 41,
1489
1525
  "aliases": [
1490
1526
  "missing-suppression-reasons"
1491
1527
  ],
@@ -1507,7 +1543,7 @@
1507
1543
  "note": null,
1508
1544
  "license": "free",
1509
1545
  "license_note": null,
1510
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#stale-suppressions"
1546
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#stale-suppressions"
1511
1547
  },
1512
1548
  {
1513
1549
  "id": "unused-catalog-entry",
@@ -1517,7 +1553,7 @@
1517
1553
  "description": "Catalog entry not referenced by any workspace package",
1518
1554
  "label": "Unused Catalog Entries",
1519
1555
  "config_key": "unused-catalog-entries",
1520
- "registry_index": 41,
1556
+ "registry_index": 42,
1521
1557
  "aliases": [
1522
1558
  "catalog",
1523
1559
  "unused-catalog-entries"
@@ -1547,7 +1583,7 @@
1547
1583
  "note": null,
1548
1584
  "license": "free",
1549
1585
  "license_note": null,
1550
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-catalog-entries"
1586
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-catalog-entries"
1551
1587
  },
1552
1588
  {
1553
1589
  "id": "empty-catalog-group",
@@ -1557,7 +1593,7 @@
1557
1593
  "description": "Named catalog group has no entries",
1558
1594
  "label": "Empty Catalog Groups",
1559
1595
  "config_key": "empty-catalog-groups",
1560
- "registry_index": 42,
1596
+ "registry_index": 43,
1561
1597
  "aliases": [
1562
1598
  "empty-catalog",
1563
1599
  "empty-catalog-groups"
@@ -1587,7 +1623,7 @@
1587
1623
  "note": null,
1588
1624
  "license": "free",
1589
1625
  "license_note": null,
1590
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#empty-catalog-groups"
1626
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#empty-catalog-groups"
1591
1627
  },
1592
1628
  {
1593
1629
  "id": "unresolved-catalog-reference",
@@ -1597,7 +1633,7 @@
1597
1633
  "description": "package.json references a catalog that does not declare the package",
1598
1634
  "label": "Unresolved Catalog References",
1599
1635
  "config_key": "unresolved-catalog-references",
1600
- "registry_index": 43,
1636
+ "registry_index": 44,
1601
1637
  "aliases": [
1602
1638
  "unresolved-catalog",
1603
1639
  "unresolved-catalog-references"
@@ -1627,7 +1663,7 @@
1627
1663
  "note": null,
1628
1664
  "license": "free",
1629
1665
  "license_note": null,
1630
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unresolved-catalog-references"
1666
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unresolved-catalog-references"
1631
1667
  },
1632
1668
  {
1633
1669
  "id": "unused-dependency-override",
@@ -1637,7 +1673,7 @@
1637
1673
  "description": "Package-manager override target is not declared or resolved",
1638
1674
  "label": "Unused Dependency Overrides",
1639
1675
  "config_key": "unused-dependency-overrides",
1640
- "registry_index": 44,
1676
+ "registry_index": 45,
1641
1677
  "aliases": [
1642
1678
  "unused-dependency-overrides",
1643
1679
  "unused-override",
@@ -1668,7 +1704,7 @@
1668
1704
  "note": null,
1669
1705
  "license": "free",
1670
1706
  "license_note": null,
1671
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#unused-dependency-overrides"
1707
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-dependency-overrides"
1672
1708
  },
1673
1709
  {
1674
1710
  "id": "misconfigured-dependency-override",
@@ -1678,7 +1714,7 @@
1678
1714
  "description": "Package-manager override has an unparsable key or value",
1679
1715
  "label": "Misconfigured Dependency Overrides",
1680
1716
  "config_key": "misconfigured-dependency-overrides",
1681
- "registry_index": 45,
1717
+ "registry_index": 46,
1682
1718
  "aliases": [
1683
1719
  "misconfigured-dependency-overrides",
1684
1720
  "misconfigured-override",
@@ -1709,7 +1745,7 @@
1709
1745
  "note": null,
1710
1746
  "license": "free",
1711
1747
  "license_note": null,
1712
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#misconfigured-dependency-overrides"
1748
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#misconfigured-dependency-overrides"
1713
1749
  },
1714
1750
  {
1715
1751
  "id": "feature-flag",
@@ -1719,7 +1755,7 @@
1719
1755
  "description": "Detected feature flag pattern",
1720
1756
  "label": "Feature Flags",
1721
1757
  "config_key": "feature-flags",
1722
- "registry_index": 49,
1758
+ "registry_index": 50,
1723
1759
  "aliases": [],
1724
1760
  "lsp": false,
1725
1761
  "filter_flag": null,
@@ -1739,7 +1775,7 @@
1739
1775
  "note": "Reported by fallow flags",
1740
1776
  "license": "free",
1741
1777
  "license_note": null,
1742
- "docs_url": "https://docs.fallow.tools/cli/flags"
1778
+ "docs_url": "https://fallow.tools/docs/cli/flags/"
1743
1779
  },
1744
1780
  {
1745
1781
  "id": "prop-drilling",
@@ -1749,7 +1785,7 @@
1749
1785
  "description": "A React/Preact prop is forwarded unchanged through 3+ pass-through components to a distant consumer",
1750
1786
  "label": "Prop Drilling",
1751
1787
  "config_key": "prop-drilling",
1752
- "registry_index": 51,
1788
+ "registry_index": 52,
1753
1789
  "aliases": [],
1754
1790
  "lsp": true,
1755
1791
  "filter_flag": null,
@@ -1771,7 +1807,7 @@
1771
1807
  "note": "Opt-in: set rules.prop-drilling to warn or error to enable. Defaults to off.",
1772
1808
  "license": "free",
1773
1809
  "license_note": null,
1774
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#prop-drilling"
1810
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#prop-drilling"
1775
1811
  },
1776
1812
  {
1777
1813
  "id": "thin-wrapper",
@@ -1781,7 +1817,7 @@
1781
1817
  "description": "A React/Preact component whose whole body is a single spread-forwarded child render (a candidate for inlining)",
1782
1818
  "label": "Thin Wrappers",
1783
1819
  "config_key": "thin-wrapper",
1784
- "registry_index": 52,
1820
+ "registry_index": 53,
1785
1821
  "aliases": [
1786
1822
  "thin-wrappers"
1787
1823
  ],
@@ -1805,7 +1841,7 @@
1805
1841
  "note": "Opt-in: set rules.thin-wrapper to warn or error to enable. Defaults to off.",
1806
1842
  "license": "free",
1807
1843
  "license_note": null,
1808
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#thin-wrapper"
1844
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#thin-wrapper"
1809
1845
  },
1810
1846
  {
1811
1847
  "id": "duplicate-prop-shape",
@@ -1815,7 +1851,7 @@
1815
1851
  "description": "Three or more React/Preact components across two or more files declare an identical prop-name set (a missing shared Props type)",
1816
1852
  "label": "Duplicate Prop Shapes",
1817
1853
  "config_key": "duplicate-prop-shape",
1818
- "registry_index": 53,
1854
+ "registry_index": 54,
1819
1855
  "aliases": [
1820
1856
  "duplicate-prop-shapes"
1821
1857
  ],
@@ -1839,7 +1875,7 @@
1839
1875
  "note": "Opt-in: set rules.duplicate-prop-shape to warn or error to enable. Defaults to off.",
1840
1876
  "license": "free",
1841
1877
  "license_note": null,
1842
- "docs_url": "https://docs.fallow.tools/explanations/dead-code#duplicate-prop-shape"
1878
+ "docs_url": "https://fallow.tools/docs/explanations/dead-code/#duplicate-prop-shape"
1843
1879
  },
1844
1880
  {
1845
1881
  "id": "css-token-drift",
@@ -1849,7 +1885,7 @@
1849
1885
  "description": "CSS or CSS-in-JS hardcoded styling value bypasses the design token system",
1850
1886
  "label": "CSS Token Drift",
1851
1887
  "config_key": "css-token-drift",
1852
- "registry_index": 54,
1888
+ "registry_index": 55,
1853
1889
  "aliases": [],
1854
1890
  "lsp": false,
1855
1891
  "filter_flag": null,
@@ -1869,7 +1905,7 @@
1869
1905
  "note": null,
1870
1906
  "license": "free",
1871
1907
  "license_note": null,
1872
- "docs_url": "https://docs.fallow.tools/explanations/health#css-token-drift"
1908
+ "docs_url": "https://fallow.tools/docs/explanations/health/#css-token-drift"
1873
1909
  },
1874
1910
  {
1875
1911
  "id": "css-duplicate-block",
@@ -1879,7 +1915,7 @@
1879
1915
  "description": "CSS or CSS-in-JS declaration block is duplicated across rules",
1880
1916
  "label": "CSS Duplicate Block",
1881
1917
  "config_key": "css-duplicate-block",
1882
- "registry_index": 55,
1918
+ "registry_index": 56,
1883
1919
  "aliases": [],
1884
1920
  "lsp": false,
1885
1921
  "filter_flag": null,
@@ -1899,7 +1935,7 @@
1899
1935
  "note": null,
1900
1936
  "license": "free",
1901
1937
  "license_note": null,
1902
- "docs_url": "https://docs.fallow.tools/explanations/health#css-duplicate-block"
1938
+ "docs_url": "https://fallow.tools/docs/explanations/health/#css-duplicate-block"
1903
1939
  },
1904
1940
  {
1905
1941
  "id": "css-selector-complexity",
@@ -1909,7 +1945,7 @@
1909
1945
  "description": "CSS selector, nesting, or important usage is structurally complex",
1910
1946
  "label": "CSS Selector Complexity",
1911
1947
  "config_key": "css-selector-complexity",
1912
- "registry_index": 56,
1948
+ "registry_index": 57,
1913
1949
  "aliases": [],
1914
1950
  "lsp": false,
1915
1951
  "filter_flag": null,
@@ -1929,7 +1965,7 @@
1929
1965
  "note": null,
1930
1966
  "license": "free",
1931
1967
  "license_note": null,
1932
- "docs_url": "https://docs.fallow.tools/explanations/health#css-selector-complexity"
1968
+ "docs_url": "https://fallow.tools/docs/explanations/health/#css-selector-complexity"
1933
1969
  },
1934
1970
  {
1935
1971
  "id": "css-dead-surface",
@@ -1939,7 +1975,7 @@
1939
1975
  "description": "CSS or CSS-in-JS surface appears unused",
1940
1976
  "label": "CSS Dead Surface",
1941
1977
  "config_key": "css-dead-surface",
1942
- "registry_index": 57,
1978
+ "registry_index": 58,
1943
1979
  "aliases": [],
1944
1980
  "lsp": false,
1945
1981
  "filter_flag": null,
@@ -1959,7 +1995,7 @@
1959
1995
  "note": null,
1960
1996
  "license": "free",
1961
1997
  "license_note": null,
1962
- "docs_url": "https://docs.fallow.tools/explanations/health#css-dead-surface"
1998
+ "docs_url": "https://fallow.tools/docs/explanations/health/#css-dead-surface"
1963
1999
  },
1964
2000
  {
1965
2001
  "id": "css-broken-reference",
@@ -1969,7 +2005,7 @@
1969
2005
  "description": "CSS or CSS-in-JS reference resolves to no stylesheet definition",
1970
2006
  "label": "CSS Broken Reference",
1971
2007
  "config_key": "css-broken-reference",
1972
- "registry_index": 58,
2008
+ "registry_index": 59,
1973
2009
  "aliases": [],
1974
2010
  "lsp": false,
1975
2011
  "filter_flag": null,
@@ -1989,7 +2025,7 @@
1989
2025
  "note": null,
1990
2026
  "license": "free",
1991
2027
  "license_note": null,
1992
- "docs_url": "https://docs.fallow.tools/explanations/health#css-broken-reference"
2028
+ "docs_url": "https://fallow.tools/docs/explanations/health/#css-broken-reference"
1993
2029
  },
1994
2030
  {
1995
2031
  "id": "angular-trusted-html",
@@ -2019,7 +2055,7 @@
2019
2055
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2020
2056
  "license": "free",
2021
2057
  "license_note": null,
2022
- "docs_url": "https://docs.fallow.tools/cli/security"
2058
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2023
2059
  },
2024
2060
  {
2025
2061
  "id": "cleartext-transport",
@@ -2049,7 +2085,7 @@
2049
2085
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2050
2086
  "license": "free",
2051
2087
  "license_note": null,
2052
- "docs_url": "https://docs.fallow.tools/cli/security"
2088
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2053
2089
  },
2054
2090
  {
2055
2091
  "id": "client-server-leak",
@@ -2079,7 +2115,7 @@
2079
2115
  "note": null,
2080
2116
  "license": "free",
2081
2117
  "license_note": null,
2082
- "docs_url": "https://docs.fallow.tools/cli/security"
2118
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2083
2119
  },
2084
2120
  {
2085
2121
  "id": "code-injection",
@@ -2109,7 +2145,7 @@
2109
2145
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2110
2146
  "license": "free",
2111
2147
  "license_note": null,
2112
- "docs_url": "https://docs.fallow.tools/cli/security"
2148
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2113
2149
  },
2114
2150
  {
2115
2151
  "id": "command-injection",
@@ -2139,7 +2175,7 @@
2139
2175
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2140
2176
  "license": "free",
2141
2177
  "license_note": null,
2142
- "docs_url": "https://docs.fallow.tools/cli/security"
2178
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2143
2179
  },
2144
2180
  {
2145
2181
  "id": "coverage-intelligence-delete",
@@ -2169,7 +2205,7 @@
2169
2205
  "note": "Produced by fallow coverage analyze",
2170
2206
  "license": "freemium",
2171
2207
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
2172
- "docs_url": "https://docs.fallow.tools/explanations/health#coverage-intelligence"
2208
+ "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
2173
2209
  },
2174
2210
  {
2175
2211
  "id": "coverage-intelligence-refactor",
@@ -2199,7 +2235,7 @@
2199
2235
  "note": "Produced by fallow coverage analyze",
2200
2236
  "license": "freemium",
2201
2237
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
2202
- "docs_url": "https://docs.fallow.tools/explanations/health#coverage-intelligence"
2238
+ "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
2203
2239
  },
2204
2240
  {
2205
2241
  "id": "coverage-intelligence-review",
@@ -2229,7 +2265,7 @@
2229
2265
  "note": "Produced by fallow coverage analyze",
2230
2266
  "license": "freemium",
2231
2267
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
2232
- "docs_url": "https://docs.fallow.tools/explanations/health#coverage-intelligence"
2268
+ "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
2233
2269
  },
2234
2270
  {
2235
2271
  "id": "coverage-intelligence-risky-change",
@@ -2259,7 +2295,7 @@
2259
2295
  "note": "Produced by fallow coverage analyze",
2260
2296
  "license": "freemium",
2261
2297
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
2262
- "docs_url": "https://docs.fallow.tools/explanations/health#coverage-intelligence"
2298
+ "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
2263
2299
  },
2264
2300
  {
2265
2301
  "id": "dangerous-html",
@@ -2289,7 +2325,7 @@
2289
2325
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2290
2326
  "license": "free",
2291
2327
  "license_note": null,
2292
- "docs_url": "https://docs.fallow.tools/cli/security"
2328
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2293
2329
  },
2294
2330
  {
2295
2331
  "id": "deprecated-cipher",
@@ -2319,7 +2355,7 @@
2319
2355
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2320
2356
  "license": "free",
2321
2357
  "license_note": null,
2322
- "docs_url": "https://docs.fallow.tools/cli/security"
2358
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2323
2359
  },
2324
2360
  {
2325
2361
  "id": "dom-document-write",
@@ -2349,7 +2385,7 @@
2349
2385
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2350
2386
  "license": "free",
2351
2387
  "license_note": null,
2352
- "docs_url": "https://docs.fallow.tools/cli/security"
2388
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2353
2389
  },
2354
2390
  {
2355
2391
  "id": "dynamic-module-load",
@@ -2379,7 +2415,7 @@
2379
2415
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2380
2416
  "license": "free",
2381
2417
  "license_note": null,
2382
- "docs_url": "https://docs.fallow.tools/cli/security"
2418
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2383
2419
  },
2384
2420
  {
2385
2421
  "id": "dynamic-regex",
@@ -2409,7 +2445,7 @@
2409
2445
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2410
2446
  "license": "free",
2411
2447
  "license_note": null,
2412
- "docs_url": "https://docs.fallow.tools/cli/security"
2448
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2413
2449
  },
2414
2450
  {
2415
2451
  "id": "electron-unsafe-webpreferences",
@@ -2439,7 +2475,7 @@
2439
2475
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2440
2476
  "license": "free",
2441
2477
  "license_note": null,
2442
- "docs_url": "https://docs.fallow.tools/cli/security"
2478
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2443
2479
  },
2444
2480
  {
2445
2481
  "id": "flag-retirement-candidate",
@@ -2469,7 +2505,7 @@
2469
2505
  "note": null,
2470
2506
  "license": "free",
2471
2507
  "license_note": null,
2472
- "docs_url": "https://docs.fallow.tools/cli/flags#retirement-report"
2508
+ "docs_url": "https://fallow.tools/docs/cli/flags/#retirement-report"
2473
2509
  },
2474
2510
  {
2475
2511
  "id": "hardcoded-secret",
@@ -2499,7 +2535,7 @@
2499
2535
  "note": "Include-required category: enable via security.categories.include",
2500
2536
  "license": "free",
2501
2537
  "license_note": null,
2502
- "docs_url": "https://docs.fallow.tools/cli/security"
2538
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2503
2539
  },
2504
2540
  {
2505
2541
  "id": "header-injection",
@@ -2529,7 +2565,7 @@
2529
2565
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2530
2566
  "license": "free",
2531
2567
  "license_note": null,
2532
- "docs_url": "https://docs.fallow.tools/cli/security"
2568
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2533
2569
  },
2534
2570
  {
2535
2571
  "id": "high-cognitive-complexity",
@@ -2559,7 +2595,7 @@
2559
2595
  "note": null,
2560
2596
  "license": "free",
2561
2597
  "license_note": null,
2562
- "docs_url": "https://docs.fallow.tools/explanations/health#cognitive-complexity"
2598
+ "docs_url": "https://fallow.tools/docs/explanations/health/#cognitive-complexity"
2563
2599
  },
2564
2600
  {
2565
2601
  "id": "high-complexity",
@@ -2589,7 +2625,7 @@
2589
2625
  "note": null,
2590
2626
  "license": "free",
2591
2627
  "license_note": null,
2592
- "docs_url": "https://docs.fallow.tools/explanations/health#complexity-metrics"
2628
+ "docs_url": "https://fallow.tools/docs/explanations/health/#complexity-metrics"
2593
2629
  },
2594
2630
  {
2595
2631
  "id": "high-crap-score",
@@ -2619,7 +2655,7 @@
2619
2655
  "note": null,
2620
2656
  "license": "free",
2621
2657
  "license_note": null,
2622
- "docs_url": "https://docs.fallow.tools/explanations/health#crap-score"
2658
+ "docs_url": "https://fallow.tools/docs/explanations/health/#crap-score"
2623
2659
  },
2624
2660
  {
2625
2661
  "id": "high-cyclomatic-complexity",
@@ -2649,7 +2685,7 @@
2649
2685
  "note": null,
2650
2686
  "license": "free",
2651
2687
  "license_note": null,
2652
- "docs_url": "https://docs.fallow.tools/explanations/health#cyclomatic-complexity"
2688
+ "docs_url": "https://fallow.tools/docs/explanations/health/#cyclomatic-complexity"
2653
2689
  },
2654
2690
  {
2655
2691
  "id": "insecure-cookie",
@@ -2679,7 +2715,7 @@
2679
2715
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2680
2716
  "license": "free",
2681
2717
  "license_note": null,
2682
- "docs_url": "https://docs.fallow.tools/cli/security"
2718
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2683
2719
  },
2684
2720
  {
2685
2721
  "id": "insecure-randomness",
@@ -2709,7 +2745,7 @@
2709
2745
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2710
2746
  "license": "free",
2711
2747
  "license_note": null,
2712
- "docs_url": "https://docs.fallow.tools/cli/security"
2748
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2713
2749
  },
2714
2750
  {
2715
2751
  "id": "insecure-temp-file",
@@ -2739,7 +2775,7 @@
2739
2775
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2740
2776
  "license": "free",
2741
2777
  "license_note": null,
2742
- "docs_url": "https://docs.fallow.tools/cli/security"
2778
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2743
2779
  },
2744
2780
  {
2745
2781
  "id": "jquery-html",
@@ -2769,7 +2805,7 @@
2769
2805
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2770
2806
  "license": "free",
2771
2807
  "license_note": null,
2772
- "docs_url": "https://docs.fallow.tools/cli/security"
2808
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2773
2809
  },
2774
2810
  {
2775
2811
  "id": "jwt-alg-none",
@@ -2799,7 +2835,7 @@
2799
2835
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2800
2836
  "license": "free",
2801
2837
  "license_note": null,
2802
- "docs_url": "https://docs.fallow.tools/cli/security"
2838
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2803
2839
  },
2804
2840
  {
2805
2841
  "id": "jwt-verify-missing-algorithms",
@@ -2829,7 +2865,7 @@
2829
2865
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2830
2866
  "license": "free",
2831
2867
  "license_note": null,
2832
- "docs_url": "https://docs.fallow.tools/cli/security"
2868
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2833
2869
  },
2834
2870
  {
2835
2871
  "id": "llm-call-injection",
@@ -2859,7 +2895,7 @@
2859
2895
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2860
2896
  "license": "free",
2861
2897
  "license_note": null,
2862
- "docs_url": "https://docs.fallow.tools/cli/security"
2898
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2863
2899
  },
2864
2900
  {
2865
2901
  "id": "mass-assignment",
@@ -2889,7 +2925,7 @@
2889
2925
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2890
2926
  "license": "free",
2891
2927
  "license_note": null,
2892
- "docs_url": "https://docs.fallow.tools/cli/security"
2928
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2893
2929
  },
2894
2930
  {
2895
2931
  "id": "mysql-multiple-statements",
@@ -2919,7 +2955,7 @@
2919
2955
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2920
2956
  "license": "free",
2921
2957
  "license_note": null,
2922
- "docs_url": "https://docs.fallow.tools/cli/security"
2958
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2923
2959
  },
2924
2960
  {
2925
2961
  "id": "nextjs-open-redirect",
@@ -2949,7 +2985,7 @@
2949
2985
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2950
2986
  "license": "free",
2951
2987
  "license_note": null,
2952
- "docs_url": "https://docs.fallow.tools/cli/security"
2988
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2953
2989
  },
2954
2990
  {
2955
2991
  "id": "nosql-injection",
@@ -2979,7 +3015,7 @@
2979
3015
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
2980
3016
  "license": "free",
2981
3017
  "license_note": null,
2982
- "docs_url": "https://docs.fallow.tools/cli/security"
3018
+ "docs_url": "https://fallow.tools/docs/cli/security/"
2983
3019
  },
2984
3020
  {
2985
3021
  "id": "open-redirect",
@@ -3009,7 +3045,7 @@
3009
3045
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3010
3046
  "license": "free",
3011
3047
  "license_note": null,
3012
- "docs_url": "https://docs.fallow.tools/cli/security"
3048
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3013
3049
  },
3014
3050
  {
3015
3051
  "id": "path-traversal",
@@ -3039,7 +3075,7 @@
3039
3075
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3040
3076
  "license": "free",
3041
3077
  "license_note": null,
3042
- "docs_url": "https://docs.fallow.tools/cli/security"
3078
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3043
3079
  },
3044
3080
  {
3045
3081
  "id": "permissive-cors",
@@ -3069,7 +3105,7 @@
3069
3105
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3070
3106
  "license": "free",
3071
3107
  "license_note": null,
3072
- "docs_url": "https://docs.fallow.tools/cli/security"
3108
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3073
3109
  },
3074
3110
  {
3075
3111
  "id": "postmessage-wildcard-origin",
@@ -3099,7 +3135,7 @@
3099
3135
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3100
3136
  "license": "free",
3101
3137
  "license_note": null,
3102
- "docs_url": "https://docs.fallow.tools/cli/security"
3138
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3103
3139
  },
3104
3140
  {
3105
3141
  "id": "prototype-pollution",
@@ -3129,7 +3165,7 @@
3129
3165
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3130
3166
  "license": "free",
3131
3167
  "license_note": null,
3132
- "docs_url": "https://docs.fallow.tools/cli/security"
3168
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3133
3169
  },
3134
3170
  {
3135
3171
  "id": "redos-regex",
@@ -3159,7 +3195,7 @@
3159
3195
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3160
3196
  "license": "free",
3161
3197
  "license_note": null,
3162
- "docs_url": "https://docs.fallow.tools/cli/security"
3198
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3163
3199
  },
3164
3200
  {
3165
3201
  "id": "refactoring-target",
@@ -3189,7 +3225,7 @@
3189
3225
  "note": null,
3190
3226
  "license": "free",
3191
3227
  "license_note": null,
3192
- "docs_url": "https://docs.fallow.tools/explanations/health#refactoring-targets"
3228
+ "docs_url": "https://fallow.tools/docs/explanations/health/#refactoring-targets"
3193
3229
  },
3194
3230
  {
3195
3231
  "id": "resource-amplification",
@@ -3219,7 +3255,7 @@
3219
3255
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3220
3256
  "license": "free",
3221
3257
  "license_note": null,
3222
- "docs_url": "https://docs.fallow.tools/cli/security"
3258
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3223
3259
  },
3224
3260
  {
3225
3261
  "id": "route-send-file",
@@ -3249,7 +3285,7 @@
3249
3285
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3250
3286
  "license": "free",
3251
3287
  "license_note": null,
3252
- "docs_url": "https://docs.fallow.tools/cli/security"
3288
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3253
3289
  },
3254
3290
  {
3255
3291
  "id": "runtime-coverage",
@@ -3279,7 +3315,7 @@
3279
3315
  "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
3280
3316
  "license": "freemium",
3281
3317
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
3282
- "docs_url": "https://docs.fallow.tools/explanations/health#runtime-coverage"
3318
+ "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
3283
3319
  },
3284
3320
  {
3285
3321
  "id": "runtime-coverage-unavailable",
@@ -3309,7 +3345,7 @@
3309
3345
  "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
3310
3346
  "license": "freemium",
3311
3347
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
3312
- "docs_url": "https://docs.fallow.tools/explanations/health#runtime-coverage"
3348
+ "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
3313
3349
  },
3314
3350
  {
3315
3351
  "id": "runtime-low-traffic",
@@ -3339,7 +3375,7 @@
3339
3375
  "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
3340
3376
  "license": "freemium",
3341
3377
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
3342
- "docs_url": "https://docs.fallow.tools/explanations/health#runtime-coverage"
3378
+ "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
3343
3379
  },
3344
3380
  {
3345
3381
  "id": "runtime-review-required",
@@ -3369,7 +3405,7 @@
3369
3405
  "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
3370
3406
  "license": "freemium",
3371
3407
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
3372
- "docs_url": "https://docs.fallow.tools/explanations/health#runtime-coverage"
3408
+ "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
3373
3409
  },
3374
3410
  {
3375
3411
  "id": "runtime-safe-to-delete",
@@ -3399,7 +3435,7 @@
3399
3435
  "note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
3400
3436
  "license": "freemium",
3401
3437
  "license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
3402
- "docs_url": "https://docs.fallow.tools/explanations/health#runtime-coverage"
3438
+ "docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
3403
3439
  },
3404
3440
  {
3405
3441
  "id": "secret-pii-log",
@@ -3429,7 +3465,7 @@
3429
3465
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3430
3466
  "license": "free",
3431
3467
  "license_note": null,
3432
- "docs_url": "https://docs.fallow.tools/cli/security"
3468
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3433
3469
  },
3434
3470
  {
3435
3471
  "id": "secret-to-network",
@@ -3459,7 +3495,7 @@
3459
3495
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3460
3496
  "license": "free",
3461
3497
  "license_note": null,
3462
- "docs_url": "https://docs.fallow.tools/cli/security"
3498
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3463
3499
  },
3464
3500
  {
3465
3501
  "id": "sql-injection",
@@ -3489,7 +3525,7 @@
3489
3525
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3490
3526
  "license": "free",
3491
3527
  "license_note": null,
3492
- "docs_url": "https://docs.fallow.tools/cli/security"
3528
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3493
3529
  },
3494
3530
  {
3495
3531
  "id": "ssrf",
@@ -3519,7 +3555,7 @@
3519
3555
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3520
3556
  "license": "free",
3521
3557
  "license_note": null,
3522
- "docs_url": "https://docs.fallow.tools/cli/security"
3558
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3523
3559
  },
3524
3560
  {
3525
3561
  "id": "ssti",
@@ -3549,7 +3585,7 @@
3549
3585
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3550
3586
  "license": "free",
3551
3587
  "license_note": null,
3552
- "docs_url": "https://docs.fallow.tools/cli/security"
3588
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3553
3589
  },
3554
3590
  {
3555
3591
  "id": "tainted-sink",
@@ -3579,7 +3615,7 @@
3579
3615
  "note": null,
3580
3616
  "license": "free",
3581
3617
  "license_note": null,
3582
- "docs_url": "https://docs.fallow.tools/cli/security"
3618
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3583
3619
  },
3584
3620
  {
3585
3621
  "id": "template-escape-bypass",
@@ -3609,7 +3645,7 @@
3609
3645
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3610
3646
  "license": "free",
3611
3647
  "license_note": null,
3612
- "docs_url": "https://docs.fallow.tools/cli/security"
3648
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3613
3649
  },
3614
3650
  {
3615
3651
  "id": "tls-validation-disabled",
@@ -3639,7 +3675,7 @@
3639
3675
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3640
3676
  "license": "free",
3641
3677
  "license_note": null,
3642
- "docs_url": "https://docs.fallow.tools/cli/security"
3678
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3643
3679
  },
3644
3680
  {
3645
3681
  "id": "unsafe-buffer-alloc",
@@ -3669,7 +3705,7 @@
3669
3705
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3670
3706
  "license": "free",
3671
3707
  "license_note": null,
3672
- "docs_url": "https://docs.fallow.tools/cli/security"
3708
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3673
3709
  },
3674
3710
  {
3675
3711
  "id": "unsafe-deserialization",
@@ -3699,7 +3735,7 @@
3699
3735
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3700
3736
  "license": "free",
3701
3737
  "license_note": null,
3702
- "docs_url": "https://docs.fallow.tools/cli/security"
3738
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3703
3739
  },
3704
3740
  {
3705
3741
  "id": "untested-export",
@@ -3729,7 +3765,7 @@
3729
3765
  "note": null,
3730
3766
  "license": "free",
3731
3767
  "license_note": null,
3732
- "docs_url": "https://docs.fallow.tools/explanations/health#coverage-gaps"
3768
+ "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-gaps"
3733
3769
  },
3734
3770
  {
3735
3771
  "id": "untested-file",
@@ -3759,7 +3795,7 @@
3759
3795
  "note": null,
3760
3796
  "license": "free",
3761
3797
  "license_note": null,
3762
- "docs_url": "https://docs.fallow.tools/explanations/health#coverage-gaps"
3798
+ "docs_url": "https://fallow.tools/docs/explanations/health/#coverage-gaps"
3763
3799
  },
3764
3800
  {
3765
3801
  "id": "weak-crypto",
@@ -3789,7 +3825,7 @@
3789
3825
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3790
3826
  "license": "free",
3791
3827
  "license_note": null,
3792
- "docs_url": "https://docs.fallow.tools/cli/security"
3828
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3793
3829
  },
3794
3830
  {
3795
3831
  "id": "webview-injection",
@@ -3819,7 +3855,7 @@
3819
3855
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3820
3856
  "license": "free",
3821
3857
  "license_note": null,
3822
- "docs_url": "https://docs.fallow.tools/cli/security"
3858
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3823
3859
  },
3824
3860
  {
3825
3861
  "id": "world-writable-permission",
@@ -3849,7 +3885,7 @@
3849
3885
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3850
3886
  "license": "free",
3851
3887
  "license_note": null,
3852
- "docs_url": "https://docs.fallow.tools/cli/security"
3888
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3853
3889
  },
3854
3890
  {
3855
3891
  "id": "xpath-injection",
@@ -3879,7 +3915,7 @@
3879
3915
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3880
3916
  "license": "free",
3881
3917
  "license_note": null,
3882
- "docs_url": "https://docs.fallow.tools/cli/security"
3918
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3883
3919
  },
3884
3920
  {
3885
3921
  "id": "xxe",
@@ -3909,7 +3945,7 @@
3909
3945
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3910
3946
  "license": "free",
3911
3947
  "license_note": null,
3912
- "docs_url": "https://docs.fallow.tools/cli/security"
3948
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3913
3949
  },
3914
3950
  {
3915
3951
  "id": "zip-slip",
@@ -3939,7 +3975,7 @@
3939
3975
  "note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
3940
3976
  "license": "free",
3941
3977
  "license_note": null,
3942
- "docs_url": "https://docs.fallow.tools/cli/security"
3978
+ "docs_url": "https://fallow.tools/docs/cli/security/"
3943
3979
  }
3944
3980
  ]
3945
3981
  }