fallow 3.30.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.
- package/README.md +18 -13
- package/capabilities.json +402 -177
- package/issue-registry.json +241 -166
- package/package.json +14 -13
- package/schema.json +89 -6
- package/skills/fallow/SKILL.md +30 -9
- package/skills/fallow/references/cli-reference.md +103 -44
- package/skills/fallow/references/gotchas.md +45 -13
- package/skills/fallow/references/issue-types.md +4 -2
- package/skills/fallow/references/mcp.md +48 -6
- package/skills/fallow/references/node-bindings.md +9 -3
- package/skills/fallow/references/patterns.md +37 -12
- package/skills/fallow-setup/SKILL.md +50 -0
- package/skills/fallow-setup/agents/openai.yaml +4 -0
- package/skills/fallow-setup/references/ci-gate.md +61 -0
- package/skills/fallow-setup/references/configure-and-install.md +56 -0
- package/skills/fallow-setup/references/tooling-detection.md +44 -0
- package/types/output-contract.d.ts +1044 -35
package/issue-registry.json
CHANGED
|
@@ -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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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://
|
|
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,46 @@
|
|
|
744
744
|
"note": null,
|
|
745
745
|
"license": "free",
|
|
746
746
|
"license_note": null,
|
|
747
|
-
"docs_url": "https://
|
|
747
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#re-export-cycles"
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"id": "package-cycle",
|
|
751
|
+
"rule_id": "fallow/package-cycle",
|
|
752
|
+
"command": "dead-code",
|
|
753
|
+
"category": "Architecture",
|
|
754
|
+
"description": "Two or more workspace packages import each other in a loop",
|
|
755
|
+
"label": "Package Cycles",
|
|
756
|
+
"config_key": "package-cycle",
|
|
757
|
+
"registry_index": 20,
|
|
758
|
+
"aliases": [
|
|
759
|
+
"package-cycles"
|
|
760
|
+
],
|
|
761
|
+
"lsp": true,
|
|
762
|
+
"filter_flag": "--package-cycles",
|
|
763
|
+
"result_key": "package_cycles",
|
|
764
|
+
"summary_label": "Package cycles",
|
|
765
|
+
"summary_docs_anchor": "package-cycles",
|
|
766
|
+
"sarif_rule_ids": [
|
|
767
|
+
"fallow/package-cycle"
|
|
768
|
+
],
|
|
769
|
+
"codeclimate_check_names": [
|
|
770
|
+
"fallow/package-cycle"
|
|
771
|
+
],
|
|
772
|
+
"ts_alias": {
|
|
773
|
+
"name": "PackageCycle",
|
|
774
|
+
"parent": "PackageCycleFinding"
|
|
775
|
+
},
|
|
776
|
+
"counts_in_total": true,
|
|
777
|
+
"fixable": false,
|
|
778
|
+
"suppressible": true,
|
|
779
|
+
"suppress_comment": "// fallow-ignore-next-line package-cycle",
|
|
780
|
+
"default_severity": "warn",
|
|
781
|
+
"opt_in": false,
|
|
782
|
+
"frameworks": [],
|
|
783
|
+
"note": "Requires a workspace with two or more packages",
|
|
784
|
+
"license": "free",
|
|
785
|
+
"license_note": null,
|
|
786
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#package-cycles"
|
|
748
787
|
},
|
|
749
788
|
{
|
|
750
789
|
"id": "boundary-violation",
|
|
@@ -754,7 +793,7 @@
|
|
|
754
793
|
"description": "Import crosses a configured architecture boundary",
|
|
755
794
|
"label": "Boundary Violations",
|
|
756
795
|
"config_key": "boundary-violation",
|
|
757
|
-
"registry_index":
|
|
796
|
+
"registry_index": 21,
|
|
758
797
|
"aliases": [],
|
|
759
798
|
"lsp": true,
|
|
760
799
|
"filter_flag": "--boundary-violations",
|
|
@@ -781,7 +820,7 @@
|
|
|
781
820
|
"note": "Requires configured boundary zones (boundaries config)",
|
|
782
821
|
"license": "free",
|
|
783
822
|
"license_note": null,
|
|
784
|
-
"docs_url": "https://
|
|
823
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
|
|
785
824
|
},
|
|
786
825
|
{
|
|
787
826
|
"id": "boundary-coverage",
|
|
@@ -791,7 +830,7 @@
|
|
|
791
830
|
"description": "Source file matches no configured architecture boundary zone",
|
|
792
831
|
"label": "Boundary Coverage",
|
|
793
832
|
"config_key": "boundary-violation",
|
|
794
|
-
"registry_index":
|
|
833
|
+
"registry_index": 22,
|
|
795
834
|
"aliases": [
|
|
796
835
|
"boundary-coverage-violations"
|
|
797
836
|
],
|
|
@@ -817,7 +856,7 @@
|
|
|
817
856
|
"note": "Requires boundaries.coverage.requireAllFiles",
|
|
818
857
|
"license": "free",
|
|
819
858
|
"license_note": null,
|
|
820
|
-
"docs_url": "https://
|
|
859
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
|
|
821
860
|
},
|
|
822
861
|
{
|
|
823
862
|
"id": "boundary-call-violation",
|
|
@@ -827,7 +866,7 @@
|
|
|
827
866
|
"description": "Zoned file calls a callee its zone forbids",
|
|
828
867
|
"label": "Boundary Call Violations",
|
|
829
868
|
"config_key": "boundary-violation",
|
|
830
|
-
"registry_index":
|
|
869
|
+
"registry_index": 23,
|
|
831
870
|
"aliases": [
|
|
832
871
|
"boundary-calls",
|
|
833
872
|
"boundary-call-violations"
|
|
@@ -854,17 +893,17 @@
|
|
|
854
893
|
"note": "Requires boundaries.calls.forbidden patterns",
|
|
855
894
|
"license": "free",
|
|
856
895
|
"license_note": null,
|
|
857
|
-
"docs_url": "https://
|
|
896
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#boundary-violations"
|
|
858
897
|
},
|
|
859
898
|
{
|
|
860
899
|
"id": "policy-violation",
|
|
861
900
|
"rule_id": "fallow/policy-violation",
|
|
862
901
|
"command": "dead-code",
|
|
863
902
|
"category": "Policy",
|
|
864
|
-
"description": "
|
|
903
|
+
"description": "Usage violates a configured rule-pack policy",
|
|
865
904
|
"label": "Policy Violations",
|
|
866
905
|
"config_key": "policy-violation",
|
|
867
|
-
"registry_index":
|
|
906
|
+
"registry_index": 24,
|
|
868
907
|
"aliases": [
|
|
869
908
|
"policy-violations"
|
|
870
909
|
],
|
|
@@ -890,7 +929,7 @@
|
|
|
890
929
|
"note": "Requires a configured rule pack (rulePacks config)",
|
|
891
930
|
"license": "free",
|
|
892
931
|
"license_note": null,
|
|
893
|
-
"docs_url": "https://
|
|
932
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#policy-violations"
|
|
894
933
|
},
|
|
895
934
|
{
|
|
896
935
|
"id": "invalid-client-export",
|
|
@@ -900,7 +939,7 @@
|
|
|
900
939
|
"description": "\"use client\" file exports a server-only / route-config name",
|
|
901
940
|
"label": "Invalid Client Exports",
|
|
902
941
|
"config_key": "invalid-client-export",
|
|
903
|
-
"registry_index":
|
|
942
|
+
"registry_index": 25,
|
|
904
943
|
"aliases": [
|
|
905
944
|
"invalid-client-exports"
|
|
906
945
|
],
|
|
@@ -928,7 +967,7 @@
|
|
|
928
967
|
"note": "Requires the project to declare next",
|
|
929
968
|
"license": "free",
|
|
930
969
|
"license_note": null,
|
|
931
|
-
"docs_url": "https://
|
|
970
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#invalid-client-exports"
|
|
932
971
|
},
|
|
933
972
|
{
|
|
934
973
|
"id": "mixed-client-server-barrel",
|
|
@@ -938,7 +977,7 @@
|
|
|
938
977
|
"description": "Barrel re-exports both a \"use client\" module and a server-only module",
|
|
939
978
|
"label": "Mixed Client/Server Barrels",
|
|
940
979
|
"config_key": "mixed-client-server-barrel",
|
|
941
|
-
"registry_index":
|
|
980
|
+
"registry_index": 26,
|
|
942
981
|
"aliases": [
|
|
943
982
|
"mixed-client-server-barrels"
|
|
944
983
|
],
|
|
@@ -964,7 +1003,7 @@
|
|
|
964
1003
|
"note": "Requires the project to declare next",
|
|
965
1004
|
"license": "free",
|
|
966
1005
|
"license_note": null,
|
|
967
|
-
"docs_url": "https://
|
|
1006
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#mixed-client-server-barrels"
|
|
968
1007
|
},
|
|
969
1008
|
{
|
|
970
1009
|
"id": "misplaced-directive",
|
|
@@ -974,7 +1013,7 @@
|
|
|
974
1013
|
"description": "\"use client\" / \"use server\" directive is not in the leading position and is ignored",
|
|
975
1014
|
"label": "Misplaced Directives",
|
|
976
1015
|
"config_key": "misplaced-directive",
|
|
977
|
-
"registry_index":
|
|
1016
|
+
"registry_index": 27,
|
|
978
1017
|
"aliases": [
|
|
979
1018
|
"misplaced-directives"
|
|
980
1019
|
],
|
|
@@ -1000,7 +1039,7 @@
|
|
|
1000
1039
|
"note": "Requires the project to declare next",
|
|
1001
1040
|
"license": "free",
|
|
1002
1041
|
"license_note": null,
|
|
1003
|
-
"docs_url": "https://
|
|
1042
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#misplaced-directives"
|
|
1004
1043
|
},
|
|
1005
1044
|
{
|
|
1006
1045
|
"id": "unprovided-inject",
|
|
@@ -1010,7 +1049,7 @@
|
|
|
1010
1049
|
"description": "inject() / getContext() reads a key that no provide() / setContext() supplies",
|
|
1011
1050
|
"label": "Unprovided Injects",
|
|
1012
1051
|
"config_key": "unprovided-injects",
|
|
1013
|
-
"registry_index":
|
|
1052
|
+
"registry_index": 28,
|
|
1014
1053
|
"aliases": [
|
|
1015
1054
|
"unprovided-injects"
|
|
1016
1055
|
],
|
|
@@ -1018,7 +1057,7 @@
|
|
|
1018
1057
|
"filter_flag": "--unprovided-injects",
|
|
1019
1058
|
"result_key": "unprovided_injects",
|
|
1020
1059
|
"summary_label": "Unprovided injects",
|
|
1021
|
-
"summary_docs_anchor": "unprovided-
|
|
1060
|
+
"summary_docs_anchor": "unprovided-injects",
|
|
1022
1061
|
"sarif_rule_ids": [
|
|
1023
1062
|
"fallow/unprovided-inject"
|
|
1024
1063
|
],
|
|
@@ -1036,7 +1075,7 @@
|
|
|
1036
1075
|
"note": null,
|
|
1037
1076
|
"license": "free",
|
|
1038
1077
|
"license_note": null,
|
|
1039
|
-
"docs_url": "https://
|
|
1078
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unprovided-injects"
|
|
1040
1079
|
},
|
|
1041
1080
|
{
|
|
1042
1081
|
"id": "unrendered-component",
|
|
@@ -1046,7 +1085,7 @@
|
|
|
1046
1085
|
"description": "A Vue / Svelte component is reachable through a barrel but rendered nowhere",
|
|
1047
1086
|
"label": "Unrendered Components",
|
|
1048
1087
|
"config_key": "unrendered-components",
|
|
1049
|
-
"registry_index":
|
|
1088
|
+
"registry_index": 29,
|
|
1050
1089
|
"aliases": [
|
|
1051
1090
|
"unrendered-components"
|
|
1052
1091
|
],
|
|
@@ -1054,7 +1093,7 @@
|
|
|
1054
1093
|
"filter_flag": "--unrendered-components",
|
|
1055
1094
|
"result_key": "unrendered_components",
|
|
1056
1095
|
"summary_label": "Unrendered components",
|
|
1057
|
-
"summary_docs_anchor": "unrendered-
|
|
1096
|
+
"summary_docs_anchor": "unrendered-components",
|
|
1058
1097
|
"sarif_rule_ids": [
|
|
1059
1098
|
"fallow/unrendered-component"
|
|
1060
1099
|
],
|
|
@@ -1072,7 +1111,7 @@
|
|
|
1072
1111
|
"note": null,
|
|
1073
1112
|
"license": "free",
|
|
1074
1113
|
"license_note": null,
|
|
1075
|
-
"docs_url": "https://
|
|
1114
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unrendered-components"
|
|
1076
1115
|
},
|
|
1077
1116
|
{
|
|
1078
1117
|
"id": "unused-component-prop",
|
|
@@ -1082,7 +1121,7 @@
|
|
|
1082
1121
|
"description": "A Vue, Svelte, or React component prop is referenced nowhere in its own component",
|
|
1083
1122
|
"label": "Unused Component Props",
|
|
1084
1123
|
"config_key": "unused-component-props",
|
|
1085
|
-
"registry_index":
|
|
1124
|
+
"registry_index": 30,
|
|
1086
1125
|
"aliases": [
|
|
1087
1126
|
"unused-component-props"
|
|
1088
1127
|
],
|
|
@@ -1090,7 +1129,7 @@
|
|
|
1090
1129
|
"filter_flag": "--unused-component-props",
|
|
1091
1130
|
"result_key": "unused_component_props",
|
|
1092
1131
|
"summary_label": "Unused component props",
|
|
1093
|
-
"summary_docs_anchor": "unused-component-
|
|
1132
|
+
"summary_docs_anchor": "unused-component-props",
|
|
1094
1133
|
"sarif_rule_ids": [
|
|
1095
1134
|
"fallow/unused-component-prop"
|
|
1096
1135
|
],
|
|
@@ -1108,7 +1147,43 @@
|
|
|
1108
1147
|
"note": null,
|
|
1109
1148
|
"license": "free",
|
|
1110
1149
|
"license_note": null,
|
|
1111
|
-
"docs_url": "https://
|
|
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"
|
|
1112
1187
|
},
|
|
1113
1188
|
{
|
|
1114
1189
|
"id": "unused-component-emit",
|
|
@@ -1118,7 +1193,7 @@
|
|
|
1118
1193
|
"description": "A Vue <script setup> defineEmits event is emitted nowhere in its own component",
|
|
1119
1194
|
"label": "Unused Component Emits",
|
|
1120
1195
|
"config_key": "unused-component-emits",
|
|
1121
|
-
"registry_index":
|
|
1196
|
+
"registry_index": 32,
|
|
1122
1197
|
"aliases": [
|
|
1123
1198
|
"unused-component-emits"
|
|
1124
1199
|
],
|
|
@@ -1126,7 +1201,7 @@
|
|
|
1126
1201
|
"filter_flag": "--unused-component-emits",
|
|
1127
1202
|
"result_key": "unused_component_emits",
|
|
1128
1203
|
"summary_label": "Unused component emits",
|
|
1129
|
-
"summary_docs_anchor": "unused-component-
|
|
1204
|
+
"summary_docs_anchor": "unused-component-emits",
|
|
1130
1205
|
"sarif_rule_ids": [
|
|
1131
1206
|
"fallow/unused-component-emit"
|
|
1132
1207
|
],
|
|
@@ -1144,7 +1219,7 @@
|
|
|
1144
1219
|
"note": null,
|
|
1145
1220
|
"license": "free",
|
|
1146
1221
|
"license_note": null,
|
|
1147
|
-
"docs_url": "https://
|
|
1222
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-emits"
|
|
1148
1223
|
},
|
|
1149
1224
|
{
|
|
1150
1225
|
"id": "unused-component-input",
|
|
@@ -1154,7 +1229,7 @@
|
|
|
1154
1229
|
"description": "An Angular @Input() / signal input() / model() input is read nowhere in its own component",
|
|
1155
1230
|
"label": "Unused Component Inputs",
|
|
1156
1231
|
"config_key": "unused-component-inputs",
|
|
1157
|
-
"registry_index":
|
|
1232
|
+
"registry_index": 33,
|
|
1158
1233
|
"aliases": [
|
|
1159
1234
|
"unused-component-inputs"
|
|
1160
1235
|
],
|
|
@@ -1162,7 +1237,7 @@
|
|
|
1162
1237
|
"filter_flag": "--unused-component-inputs",
|
|
1163
1238
|
"result_key": "unused_component_inputs",
|
|
1164
1239
|
"summary_label": "Unused component inputs",
|
|
1165
|
-
"summary_docs_anchor": "unused-component-
|
|
1240
|
+
"summary_docs_anchor": "unused-component-inputs",
|
|
1166
1241
|
"sarif_rule_ids": [
|
|
1167
1242
|
"fallow/unused-component-input"
|
|
1168
1243
|
],
|
|
@@ -1180,7 +1255,7 @@
|
|
|
1180
1255
|
"note": null,
|
|
1181
1256
|
"license": "free",
|
|
1182
1257
|
"license_note": null,
|
|
1183
|
-
"docs_url": "https://
|
|
1258
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-inputs"
|
|
1184
1259
|
},
|
|
1185
1260
|
{
|
|
1186
1261
|
"id": "unused-component-output",
|
|
@@ -1190,7 +1265,7 @@
|
|
|
1190
1265
|
"description": "An Angular @Output() / signal output() output is emitted nowhere in its own component",
|
|
1191
1266
|
"label": "Unused Component Outputs",
|
|
1192
1267
|
"config_key": "unused-component-outputs",
|
|
1193
|
-
"registry_index":
|
|
1268
|
+
"registry_index": 34,
|
|
1194
1269
|
"aliases": [
|
|
1195
1270
|
"unused-component-outputs"
|
|
1196
1271
|
],
|
|
@@ -1198,7 +1273,7 @@
|
|
|
1198
1273
|
"filter_flag": "--unused-component-outputs",
|
|
1199
1274
|
"result_key": "unused_component_outputs",
|
|
1200
1275
|
"summary_label": "Unused component outputs",
|
|
1201
|
-
"summary_docs_anchor": "unused-component-
|
|
1276
|
+
"summary_docs_anchor": "unused-component-outputs",
|
|
1202
1277
|
"sarif_rule_ids": [
|
|
1203
1278
|
"fallow/unused-component-output"
|
|
1204
1279
|
],
|
|
@@ -1216,7 +1291,7 @@
|
|
|
1216
1291
|
"note": null,
|
|
1217
1292
|
"license": "free",
|
|
1218
1293
|
"license_note": null,
|
|
1219
|
-
"docs_url": "https://
|
|
1294
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-component-outputs"
|
|
1220
1295
|
},
|
|
1221
1296
|
{
|
|
1222
1297
|
"id": "unused-svelte-event",
|
|
@@ -1226,7 +1301,7 @@
|
|
|
1226
1301
|
"description": "A Svelte component dispatches a createEventDispatcher event whose name is listened to nowhere in the project",
|
|
1227
1302
|
"label": "Unused Svelte Events",
|
|
1228
1303
|
"config_key": "unused-svelte-events",
|
|
1229
|
-
"registry_index":
|
|
1304
|
+
"registry_index": 35,
|
|
1230
1305
|
"aliases": [
|
|
1231
1306
|
"unused-svelte-events"
|
|
1232
1307
|
],
|
|
@@ -1234,7 +1309,7 @@
|
|
|
1234
1309
|
"filter_flag": "--unused-svelte-events",
|
|
1235
1310
|
"result_key": "unused_svelte_events",
|
|
1236
1311
|
"summary_label": "Unused Svelte events",
|
|
1237
|
-
"summary_docs_anchor": "unused-svelte-
|
|
1312
|
+
"summary_docs_anchor": "unused-svelte-events",
|
|
1238
1313
|
"sarif_rule_ids": [
|
|
1239
1314
|
"fallow/unused-svelte-event"
|
|
1240
1315
|
],
|
|
@@ -1252,7 +1327,7 @@
|
|
|
1252
1327
|
"note": null,
|
|
1253
1328
|
"license": "free",
|
|
1254
1329
|
"license_note": null,
|
|
1255
|
-
"docs_url": "https://
|
|
1330
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-svelte-events"
|
|
1256
1331
|
},
|
|
1257
1332
|
{
|
|
1258
1333
|
"id": "unused-server-action",
|
|
@@ -1262,7 +1337,7 @@
|
|
|
1262
1337
|
"description": "A Next.js Server Action exported from a \"use server\" file is referenced by no code in the project",
|
|
1263
1338
|
"label": "Unused Server Actions",
|
|
1264
1339
|
"config_key": "unused-server-actions",
|
|
1265
|
-
"registry_index":
|
|
1340
|
+
"registry_index": 36,
|
|
1266
1341
|
"aliases": [
|
|
1267
1342
|
"unused-server-actions"
|
|
1268
1343
|
],
|
|
@@ -1270,7 +1345,7 @@
|
|
|
1270
1345
|
"filter_flag": "--unused-server-actions",
|
|
1271
1346
|
"result_key": "unused_server_actions",
|
|
1272
1347
|
"summary_label": "Unused server actions",
|
|
1273
|
-
"summary_docs_anchor": "unused-server-
|
|
1348
|
+
"summary_docs_anchor": "unused-server-actions",
|
|
1274
1349
|
"sarif_rule_ids": [
|
|
1275
1350
|
"fallow/unused-server-action"
|
|
1276
1351
|
],
|
|
@@ -1288,7 +1363,7 @@
|
|
|
1288
1363
|
"note": null,
|
|
1289
1364
|
"license": "free",
|
|
1290
1365
|
"license_note": null,
|
|
1291
|
-
"docs_url": "https://
|
|
1366
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-server-actions"
|
|
1292
1367
|
},
|
|
1293
1368
|
{
|
|
1294
1369
|
"id": "unused-load-data-key",
|
|
@@ -1298,7 +1373,7 @@
|
|
|
1298
1373
|
"description": "A SvelteKit load() return-object key is read by no consumer",
|
|
1299
1374
|
"label": "Unused Load Data Keys",
|
|
1300
1375
|
"config_key": "unused-load-data-keys",
|
|
1301
|
-
"registry_index":
|
|
1376
|
+
"registry_index": 37,
|
|
1302
1377
|
"aliases": [
|
|
1303
1378
|
"unused-load-data-keys"
|
|
1304
1379
|
],
|
|
@@ -1306,7 +1381,7 @@
|
|
|
1306
1381
|
"filter_flag": "--unused-load-data-keys",
|
|
1307
1382
|
"result_key": "unused_load_data_keys",
|
|
1308
1383
|
"summary_label": "Unused load data keys",
|
|
1309
|
-
"summary_docs_anchor": "unused-load-data-
|
|
1384
|
+
"summary_docs_anchor": "unused-load-data-keys",
|
|
1310
1385
|
"sarif_rule_ids": [
|
|
1311
1386
|
"fallow/unused-load-data-key"
|
|
1312
1387
|
],
|
|
@@ -1324,7 +1399,7 @@
|
|
|
1324
1399
|
"note": null,
|
|
1325
1400
|
"license": "free",
|
|
1326
1401
|
"license_note": null,
|
|
1327
|
-
"docs_url": "https://
|
|
1402
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-load-data-keys"
|
|
1328
1403
|
},
|
|
1329
1404
|
{
|
|
1330
1405
|
"id": "route-collision",
|
|
@@ -1334,7 +1409,7 @@
|
|
|
1334
1409
|
"description": "Two or more Next.js App Router route files resolve to the same URL",
|
|
1335
1410
|
"label": "Route Collisions",
|
|
1336
1411
|
"config_key": "route-collision",
|
|
1337
|
-
"registry_index":
|
|
1412
|
+
"registry_index": 38,
|
|
1338
1413
|
"aliases": [
|
|
1339
1414
|
"route-collisions"
|
|
1340
1415
|
],
|
|
@@ -1362,7 +1437,7 @@
|
|
|
1362
1437
|
"note": null,
|
|
1363
1438
|
"license": "free",
|
|
1364
1439
|
"license_note": null,
|
|
1365
|
-
"docs_url": "https://
|
|
1440
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#route-collisions"
|
|
1366
1441
|
},
|
|
1367
1442
|
{
|
|
1368
1443
|
"id": "dynamic-segment-name-conflict",
|
|
@@ -1372,7 +1447,7 @@
|
|
|
1372
1447
|
"description": "Sibling Next.js dynamic route segments use different slug names at the same position",
|
|
1373
1448
|
"label": "Dynamic Segment Conflicts",
|
|
1374
1449
|
"config_key": "dynamic-segment-name-conflict",
|
|
1375
|
-
"registry_index":
|
|
1450
|
+
"registry_index": 39,
|
|
1376
1451
|
"aliases": [
|
|
1377
1452
|
"dynamic-segment-name-conflicts"
|
|
1378
1453
|
],
|
|
@@ -1400,7 +1475,7 @@
|
|
|
1400
1475
|
"note": null,
|
|
1401
1476
|
"license": "free",
|
|
1402
1477
|
"license_note": null,
|
|
1403
|
-
"docs_url": "https://
|
|
1478
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#dynamic-segment-name-conflicts"
|
|
1404
1479
|
},
|
|
1405
1480
|
{
|
|
1406
1481
|
"id": "stale-suppression",
|
|
@@ -1410,7 +1485,7 @@
|
|
|
1410
1485
|
"description": "Suppression comment or tag no longer matches any issue",
|
|
1411
1486
|
"label": "Stale Suppressions",
|
|
1412
1487
|
"config_key": "stale-suppressions",
|
|
1413
|
-
"registry_index":
|
|
1488
|
+
"registry_index": 40,
|
|
1414
1489
|
"aliases": [],
|
|
1415
1490
|
"lsp": true,
|
|
1416
1491
|
"filter_flag": "--stale-suppressions",
|
|
@@ -1436,7 +1511,7 @@
|
|
|
1436
1511
|
"note": "Fix by removing the stale suppression marker itself",
|
|
1437
1512
|
"license": "free",
|
|
1438
1513
|
"license_note": null,
|
|
1439
|
-
"docs_url": "https://
|
|
1514
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#stale-suppressions"
|
|
1440
1515
|
},
|
|
1441
1516
|
{
|
|
1442
1517
|
"id": "missing-suppression-reason",
|
|
@@ -1446,7 +1521,7 @@
|
|
|
1446
1521
|
"description": "Suppression comment omits a required reason",
|
|
1447
1522
|
"label": "Missing Suppression Reasons",
|
|
1448
1523
|
"config_key": "require-suppression-reason",
|
|
1449
|
-
"registry_index":
|
|
1524
|
+
"registry_index": 41,
|
|
1450
1525
|
"aliases": [
|
|
1451
1526
|
"missing-suppression-reasons"
|
|
1452
1527
|
],
|
|
@@ -1468,7 +1543,7 @@
|
|
|
1468
1543
|
"note": null,
|
|
1469
1544
|
"license": "free",
|
|
1470
1545
|
"license_note": null,
|
|
1471
|
-
"docs_url": "https://
|
|
1546
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#stale-suppressions"
|
|
1472
1547
|
},
|
|
1473
1548
|
{
|
|
1474
1549
|
"id": "unused-catalog-entry",
|
|
@@ -1478,7 +1553,7 @@
|
|
|
1478
1553
|
"description": "Catalog entry not referenced by any workspace package",
|
|
1479
1554
|
"label": "Unused Catalog Entries",
|
|
1480
1555
|
"config_key": "unused-catalog-entries",
|
|
1481
|
-
"registry_index":
|
|
1556
|
+
"registry_index": 42,
|
|
1482
1557
|
"aliases": [
|
|
1483
1558
|
"catalog",
|
|
1484
1559
|
"unused-catalog-entries"
|
|
@@ -1508,7 +1583,7 @@
|
|
|
1508
1583
|
"note": null,
|
|
1509
1584
|
"license": "free",
|
|
1510
1585
|
"license_note": null,
|
|
1511
|
-
"docs_url": "https://
|
|
1586
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-catalog-entries"
|
|
1512
1587
|
},
|
|
1513
1588
|
{
|
|
1514
1589
|
"id": "empty-catalog-group",
|
|
@@ -1518,7 +1593,7 @@
|
|
|
1518
1593
|
"description": "Named catalog group has no entries",
|
|
1519
1594
|
"label": "Empty Catalog Groups",
|
|
1520
1595
|
"config_key": "empty-catalog-groups",
|
|
1521
|
-
"registry_index":
|
|
1596
|
+
"registry_index": 43,
|
|
1522
1597
|
"aliases": [
|
|
1523
1598
|
"empty-catalog",
|
|
1524
1599
|
"empty-catalog-groups"
|
|
@@ -1548,7 +1623,7 @@
|
|
|
1548
1623
|
"note": null,
|
|
1549
1624
|
"license": "free",
|
|
1550
1625
|
"license_note": null,
|
|
1551
|
-
"docs_url": "https://
|
|
1626
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#empty-catalog-groups"
|
|
1552
1627
|
},
|
|
1553
1628
|
{
|
|
1554
1629
|
"id": "unresolved-catalog-reference",
|
|
@@ -1558,7 +1633,7 @@
|
|
|
1558
1633
|
"description": "package.json references a catalog that does not declare the package",
|
|
1559
1634
|
"label": "Unresolved Catalog References",
|
|
1560
1635
|
"config_key": "unresolved-catalog-references",
|
|
1561
|
-
"registry_index":
|
|
1636
|
+
"registry_index": 44,
|
|
1562
1637
|
"aliases": [
|
|
1563
1638
|
"unresolved-catalog",
|
|
1564
1639
|
"unresolved-catalog-references"
|
|
@@ -1588,7 +1663,7 @@
|
|
|
1588
1663
|
"note": null,
|
|
1589
1664
|
"license": "free",
|
|
1590
1665
|
"license_note": null,
|
|
1591
|
-
"docs_url": "https://
|
|
1666
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unresolved-catalog-references"
|
|
1592
1667
|
},
|
|
1593
1668
|
{
|
|
1594
1669
|
"id": "unused-dependency-override",
|
|
@@ -1598,7 +1673,7 @@
|
|
|
1598
1673
|
"description": "Package-manager override target is not declared or resolved",
|
|
1599
1674
|
"label": "Unused Dependency Overrides",
|
|
1600
1675
|
"config_key": "unused-dependency-overrides",
|
|
1601
|
-
"registry_index":
|
|
1676
|
+
"registry_index": 45,
|
|
1602
1677
|
"aliases": [
|
|
1603
1678
|
"unused-dependency-overrides",
|
|
1604
1679
|
"unused-override",
|
|
@@ -1629,7 +1704,7 @@
|
|
|
1629
1704
|
"note": null,
|
|
1630
1705
|
"license": "free",
|
|
1631
1706
|
"license_note": null,
|
|
1632
|
-
"docs_url": "https://
|
|
1707
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#unused-dependency-overrides"
|
|
1633
1708
|
},
|
|
1634
1709
|
{
|
|
1635
1710
|
"id": "misconfigured-dependency-override",
|
|
@@ -1639,7 +1714,7 @@
|
|
|
1639
1714
|
"description": "Package-manager override has an unparsable key or value",
|
|
1640
1715
|
"label": "Misconfigured Dependency Overrides",
|
|
1641
1716
|
"config_key": "misconfigured-dependency-overrides",
|
|
1642
|
-
"registry_index":
|
|
1717
|
+
"registry_index": 46,
|
|
1643
1718
|
"aliases": [
|
|
1644
1719
|
"misconfigured-dependency-overrides",
|
|
1645
1720
|
"misconfigured-override",
|
|
@@ -1670,7 +1745,7 @@
|
|
|
1670
1745
|
"note": null,
|
|
1671
1746
|
"license": "free",
|
|
1672
1747
|
"license_note": null,
|
|
1673
|
-
"docs_url": "https://
|
|
1748
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#misconfigured-dependency-overrides"
|
|
1674
1749
|
},
|
|
1675
1750
|
{
|
|
1676
1751
|
"id": "feature-flag",
|
|
@@ -1680,7 +1755,7 @@
|
|
|
1680
1755
|
"description": "Detected feature flag pattern",
|
|
1681
1756
|
"label": "Feature Flags",
|
|
1682
1757
|
"config_key": "feature-flags",
|
|
1683
|
-
"registry_index":
|
|
1758
|
+
"registry_index": 50,
|
|
1684
1759
|
"aliases": [],
|
|
1685
1760
|
"lsp": false,
|
|
1686
1761
|
"filter_flag": null,
|
|
@@ -1700,7 +1775,7 @@
|
|
|
1700
1775
|
"note": "Reported by fallow flags",
|
|
1701
1776
|
"license": "free",
|
|
1702
1777
|
"license_note": null,
|
|
1703
|
-
"docs_url": "https://
|
|
1778
|
+
"docs_url": "https://fallow.tools/docs/cli/flags/"
|
|
1704
1779
|
},
|
|
1705
1780
|
{
|
|
1706
1781
|
"id": "prop-drilling",
|
|
@@ -1710,9 +1785,9 @@
|
|
|
1710
1785
|
"description": "A React/Preact prop is forwarded unchanged through 3+ pass-through components to a distant consumer",
|
|
1711
1786
|
"label": "Prop Drilling",
|
|
1712
1787
|
"config_key": "prop-drilling",
|
|
1713
|
-
"registry_index":
|
|
1788
|
+
"registry_index": 52,
|
|
1714
1789
|
"aliases": [],
|
|
1715
|
-
"lsp":
|
|
1790
|
+
"lsp": true,
|
|
1716
1791
|
"filter_flag": null,
|
|
1717
1792
|
"result_key": "prop_drilling_chains",
|
|
1718
1793
|
"summary_label": "Prop drilling",
|
|
@@ -1732,7 +1807,7 @@
|
|
|
1732
1807
|
"note": "Opt-in: set rules.prop-drilling to warn or error to enable. Defaults to off.",
|
|
1733
1808
|
"license": "free",
|
|
1734
1809
|
"license_note": null,
|
|
1735
|
-
"docs_url": "https://
|
|
1810
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#prop-drilling"
|
|
1736
1811
|
},
|
|
1737
1812
|
{
|
|
1738
1813
|
"id": "thin-wrapper",
|
|
@@ -1742,11 +1817,11 @@
|
|
|
1742
1817
|
"description": "A React/Preact component whose whole body is a single spread-forwarded child render (a candidate for inlining)",
|
|
1743
1818
|
"label": "Thin Wrappers",
|
|
1744
1819
|
"config_key": "thin-wrapper",
|
|
1745
|
-
"registry_index":
|
|
1820
|
+
"registry_index": 53,
|
|
1746
1821
|
"aliases": [
|
|
1747
1822
|
"thin-wrappers"
|
|
1748
1823
|
],
|
|
1749
|
-
"lsp":
|
|
1824
|
+
"lsp": true,
|
|
1750
1825
|
"filter_flag": null,
|
|
1751
1826
|
"result_key": "thin_wrappers",
|
|
1752
1827
|
"summary_label": "Thin wrappers",
|
|
@@ -1766,7 +1841,7 @@
|
|
|
1766
1841
|
"note": "Opt-in: set rules.thin-wrapper to warn or error to enable. Defaults to off.",
|
|
1767
1842
|
"license": "free",
|
|
1768
1843
|
"license_note": null,
|
|
1769
|
-
"docs_url": "https://
|
|
1844
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#thin-wrapper"
|
|
1770
1845
|
},
|
|
1771
1846
|
{
|
|
1772
1847
|
"id": "duplicate-prop-shape",
|
|
@@ -1776,11 +1851,11 @@
|
|
|
1776
1851
|
"description": "Three or more React/Preact components across two or more files declare an identical prop-name set (a missing shared Props type)",
|
|
1777
1852
|
"label": "Duplicate Prop Shapes",
|
|
1778
1853
|
"config_key": "duplicate-prop-shape",
|
|
1779
|
-
"registry_index":
|
|
1854
|
+
"registry_index": 54,
|
|
1780
1855
|
"aliases": [
|
|
1781
1856
|
"duplicate-prop-shapes"
|
|
1782
1857
|
],
|
|
1783
|
-
"lsp":
|
|
1858
|
+
"lsp": true,
|
|
1784
1859
|
"filter_flag": null,
|
|
1785
1860
|
"result_key": "duplicate_prop_shapes",
|
|
1786
1861
|
"summary_label": "Duplicate prop shapes",
|
|
@@ -1800,7 +1875,7 @@
|
|
|
1800
1875
|
"note": "Opt-in: set rules.duplicate-prop-shape to warn or error to enable. Defaults to off.",
|
|
1801
1876
|
"license": "free",
|
|
1802
1877
|
"license_note": null,
|
|
1803
|
-
"docs_url": "https://
|
|
1878
|
+
"docs_url": "https://fallow.tools/docs/explanations/dead-code/#duplicate-prop-shape"
|
|
1804
1879
|
},
|
|
1805
1880
|
{
|
|
1806
1881
|
"id": "css-token-drift",
|
|
@@ -1810,7 +1885,7 @@
|
|
|
1810
1885
|
"description": "CSS or CSS-in-JS hardcoded styling value bypasses the design token system",
|
|
1811
1886
|
"label": "CSS Token Drift",
|
|
1812
1887
|
"config_key": "css-token-drift",
|
|
1813
|
-
"registry_index":
|
|
1888
|
+
"registry_index": 55,
|
|
1814
1889
|
"aliases": [],
|
|
1815
1890
|
"lsp": false,
|
|
1816
1891
|
"filter_flag": null,
|
|
@@ -1830,7 +1905,7 @@
|
|
|
1830
1905
|
"note": null,
|
|
1831
1906
|
"license": "free",
|
|
1832
1907
|
"license_note": null,
|
|
1833
|
-
"docs_url": "https://
|
|
1908
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#css-token-drift"
|
|
1834
1909
|
},
|
|
1835
1910
|
{
|
|
1836
1911
|
"id": "css-duplicate-block",
|
|
@@ -1840,7 +1915,7 @@
|
|
|
1840
1915
|
"description": "CSS or CSS-in-JS declaration block is duplicated across rules",
|
|
1841
1916
|
"label": "CSS Duplicate Block",
|
|
1842
1917
|
"config_key": "css-duplicate-block",
|
|
1843
|
-
"registry_index":
|
|
1918
|
+
"registry_index": 56,
|
|
1844
1919
|
"aliases": [],
|
|
1845
1920
|
"lsp": false,
|
|
1846
1921
|
"filter_flag": null,
|
|
@@ -1860,7 +1935,7 @@
|
|
|
1860
1935
|
"note": null,
|
|
1861
1936
|
"license": "free",
|
|
1862
1937
|
"license_note": null,
|
|
1863
|
-
"docs_url": "https://
|
|
1938
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#css-duplicate-block"
|
|
1864
1939
|
},
|
|
1865
1940
|
{
|
|
1866
1941
|
"id": "css-selector-complexity",
|
|
@@ -1870,7 +1945,7 @@
|
|
|
1870
1945
|
"description": "CSS selector, nesting, or important usage is structurally complex",
|
|
1871
1946
|
"label": "CSS Selector Complexity",
|
|
1872
1947
|
"config_key": "css-selector-complexity",
|
|
1873
|
-
"registry_index":
|
|
1948
|
+
"registry_index": 57,
|
|
1874
1949
|
"aliases": [],
|
|
1875
1950
|
"lsp": false,
|
|
1876
1951
|
"filter_flag": null,
|
|
@@ -1890,7 +1965,7 @@
|
|
|
1890
1965
|
"note": null,
|
|
1891
1966
|
"license": "free",
|
|
1892
1967
|
"license_note": null,
|
|
1893
|
-
"docs_url": "https://
|
|
1968
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#css-selector-complexity"
|
|
1894
1969
|
},
|
|
1895
1970
|
{
|
|
1896
1971
|
"id": "css-dead-surface",
|
|
@@ -1900,7 +1975,7 @@
|
|
|
1900
1975
|
"description": "CSS or CSS-in-JS surface appears unused",
|
|
1901
1976
|
"label": "CSS Dead Surface",
|
|
1902
1977
|
"config_key": "css-dead-surface",
|
|
1903
|
-
"registry_index":
|
|
1978
|
+
"registry_index": 58,
|
|
1904
1979
|
"aliases": [],
|
|
1905
1980
|
"lsp": false,
|
|
1906
1981
|
"filter_flag": null,
|
|
@@ -1920,7 +1995,7 @@
|
|
|
1920
1995
|
"note": null,
|
|
1921
1996
|
"license": "free",
|
|
1922
1997
|
"license_note": null,
|
|
1923
|
-
"docs_url": "https://
|
|
1998
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#css-dead-surface"
|
|
1924
1999
|
},
|
|
1925
2000
|
{
|
|
1926
2001
|
"id": "css-broken-reference",
|
|
@@ -1930,7 +2005,7 @@
|
|
|
1930
2005
|
"description": "CSS or CSS-in-JS reference resolves to no stylesheet definition",
|
|
1931
2006
|
"label": "CSS Broken Reference",
|
|
1932
2007
|
"config_key": "css-broken-reference",
|
|
1933
|
-
"registry_index":
|
|
2008
|
+
"registry_index": 59,
|
|
1934
2009
|
"aliases": [],
|
|
1935
2010
|
"lsp": false,
|
|
1936
2011
|
"filter_flag": null,
|
|
@@ -1950,7 +2025,7 @@
|
|
|
1950
2025
|
"note": null,
|
|
1951
2026
|
"license": "free",
|
|
1952
2027
|
"license_note": null,
|
|
1953
|
-
"docs_url": "https://
|
|
2028
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#css-broken-reference"
|
|
1954
2029
|
},
|
|
1955
2030
|
{
|
|
1956
2031
|
"id": "angular-trusted-html",
|
|
@@ -1980,7 +2055,7 @@
|
|
|
1980
2055
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
1981
2056
|
"license": "free",
|
|
1982
2057
|
"license_note": null,
|
|
1983
|
-
"docs_url": "https://
|
|
2058
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
1984
2059
|
},
|
|
1985
2060
|
{
|
|
1986
2061
|
"id": "cleartext-transport",
|
|
@@ -2010,7 +2085,7 @@
|
|
|
2010
2085
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2011
2086
|
"license": "free",
|
|
2012
2087
|
"license_note": null,
|
|
2013
|
-
"docs_url": "https://
|
|
2088
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2014
2089
|
},
|
|
2015
2090
|
{
|
|
2016
2091
|
"id": "client-server-leak",
|
|
@@ -2040,7 +2115,7 @@
|
|
|
2040
2115
|
"note": null,
|
|
2041
2116
|
"license": "free",
|
|
2042
2117
|
"license_note": null,
|
|
2043
|
-
"docs_url": "https://
|
|
2118
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2044
2119
|
},
|
|
2045
2120
|
{
|
|
2046
2121
|
"id": "code-injection",
|
|
@@ -2070,7 +2145,7 @@
|
|
|
2070
2145
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2071
2146
|
"license": "free",
|
|
2072
2147
|
"license_note": null,
|
|
2073
|
-
"docs_url": "https://
|
|
2148
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2074
2149
|
},
|
|
2075
2150
|
{
|
|
2076
2151
|
"id": "command-injection",
|
|
@@ -2100,7 +2175,7 @@
|
|
|
2100
2175
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2101
2176
|
"license": "free",
|
|
2102
2177
|
"license_note": null,
|
|
2103
|
-
"docs_url": "https://
|
|
2178
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2104
2179
|
},
|
|
2105
2180
|
{
|
|
2106
2181
|
"id": "coverage-intelligence-delete",
|
|
@@ -2130,7 +2205,7 @@
|
|
|
2130
2205
|
"note": "Produced by fallow coverage analyze",
|
|
2131
2206
|
"license": "freemium",
|
|
2132
2207
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
2133
|
-
"docs_url": "https://
|
|
2208
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
|
|
2134
2209
|
},
|
|
2135
2210
|
{
|
|
2136
2211
|
"id": "coverage-intelligence-refactor",
|
|
@@ -2160,7 +2235,7 @@
|
|
|
2160
2235
|
"note": "Produced by fallow coverage analyze",
|
|
2161
2236
|
"license": "freemium",
|
|
2162
2237
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
2163
|
-
"docs_url": "https://
|
|
2238
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
|
|
2164
2239
|
},
|
|
2165
2240
|
{
|
|
2166
2241
|
"id": "coverage-intelligence-review",
|
|
@@ -2190,7 +2265,7 @@
|
|
|
2190
2265
|
"note": "Produced by fallow coverage analyze",
|
|
2191
2266
|
"license": "freemium",
|
|
2192
2267
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
2193
|
-
"docs_url": "https://
|
|
2268
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
|
|
2194
2269
|
},
|
|
2195
2270
|
{
|
|
2196
2271
|
"id": "coverage-intelligence-risky-change",
|
|
@@ -2220,7 +2295,7 @@
|
|
|
2220
2295
|
"note": "Produced by fallow coverage analyze",
|
|
2221
2296
|
"license": "freemium",
|
|
2222
2297
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
2223
|
-
"docs_url": "https://
|
|
2298
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#coverage-intelligence"
|
|
2224
2299
|
},
|
|
2225
2300
|
{
|
|
2226
2301
|
"id": "dangerous-html",
|
|
@@ -2250,7 +2325,7 @@
|
|
|
2250
2325
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2251
2326
|
"license": "free",
|
|
2252
2327
|
"license_note": null,
|
|
2253
|
-
"docs_url": "https://
|
|
2328
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2254
2329
|
},
|
|
2255
2330
|
{
|
|
2256
2331
|
"id": "deprecated-cipher",
|
|
@@ -2280,7 +2355,7 @@
|
|
|
2280
2355
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2281
2356
|
"license": "free",
|
|
2282
2357
|
"license_note": null,
|
|
2283
|
-
"docs_url": "https://
|
|
2358
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2284
2359
|
},
|
|
2285
2360
|
{
|
|
2286
2361
|
"id": "dom-document-write",
|
|
@@ -2310,7 +2385,7 @@
|
|
|
2310
2385
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2311
2386
|
"license": "free",
|
|
2312
2387
|
"license_note": null,
|
|
2313
|
-
"docs_url": "https://
|
|
2388
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2314
2389
|
},
|
|
2315
2390
|
{
|
|
2316
2391
|
"id": "dynamic-module-load",
|
|
@@ -2340,7 +2415,7 @@
|
|
|
2340
2415
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2341
2416
|
"license": "free",
|
|
2342
2417
|
"license_note": null,
|
|
2343
|
-
"docs_url": "https://
|
|
2418
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2344
2419
|
},
|
|
2345
2420
|
{
|
|
2346
2421
|
"id": "dynamic-regex",
|
|
@@ -2370,7 +2445,7 @@
|
|
|
2370
2445
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2371
2446
|
"license": "free",
|
|
2372
2447
|
"license_note": null,
|
|
2373
|
-
"docs_url": "https://
|
|
2448
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2374
2449
|
},
|
|
2375
2450
|
{
|
|
2376
2451
|
"id": "electron-unsafe-webpreferences",
|
|
@@ -2400,7 +2475,7 @@
|
|
|
2400
2475
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2401
2476
|
"license": "free",
|
|
2402
2477
|
"license_note": null,
|
|
2403
|
-
"docs_url": "https://
|
|
2478
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2404
2479
|
},
|
|
2405
2480
|
{
|
|
2406
2481
|
"id": "flag-retirement-candidate",
|
|
@@ -2430,7 +2505,7 @@
|
|
|
2430
2505
|
"note": null,
|
|
2431
2506
|
"license": "free",
|
|
2432
2507
|
"license_note": null,
|
|
2433
|
-
"docs_url": "https://
|
|
2508
|
+
"docs_url": "https://fallow.tools/docs/cli/flags/#retirement-report"
|
|
2434
2509
|
},
|
|
2435
2510
|
{
|
|
2436
2511
|
"id": "hardcoded-secret",
|
|
@@ -2460,7 +2535,7 @@
|
|
|
2460
2535
|
"note": "Include-required category: enable via security.categories.include",
|
|
2461
2536
|
"license": "free",
|
|
2462
2537
|
"license_note": null,
|
|
2463
|
-
"docs_url": "https://
|
|
2538
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2464
2539
|
},
|
|
2465
2540
|
{
|
|
2466
2541
|
"id": "header-injection",
|
|
@@ -2490,7 +2565,7 @@
|
|
|
2490
2565
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2491
2566
|
"license": "free",
|
|
2492
2567
|
"license_note": null,
|
|
2493
|
-
"docs_url": "https://
|
|
2568
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2494
2569
|
},
|
|
2495
2570
|
{
|
|
2496
2571
|
"id": "high-cognitive-complexity",
|
|
@@ -2520,7 +2595,7 @@
|
|
|
2520
2595
|
"note": null,
|
|
2521
2596
|
"license": "free",
|
|
2522
2597
|
"license_note": null,
|
|
2523
|
-
"docs_url": "https://
|
|
2598
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#cognitive-complexity"
|
|
2524
2599
|
},
|
|
2525
2600
|
{
|
|
2526
2601
|
"id": "high-complexity",
|
|
@@ -2550,7 +2625,7 @@
|
|
|
2550
2625
|
"note": null,
|
|
2551
2626
|
"license": "free",
|
|
2552
2627
|
"license_note": null,
|
|
2553
|
-
"docs_url": "https://
|
|
2628
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#complexity-metrics"
|
|
2554
2629
|
},
|
|
2555
2630
|
{
|
|
2556
2631
|
"id": "high-crap-score",
|
|
@@ -2580,7 +2655,7 @@
|
|
|
2580
2655
|
"note": null,
|
|
2581
2656
|
"license": "free",
|
|
2582
2657
|
"license_note": null,
|
|
2583
|
-
"docs_url": "https://
|
|
2658
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#crap-score"
|
|
2584
2659
|
},
|
|
2585
2660
|
{
|
|
2586
2661
|
"id": "high-cyclomatic-complexity",
|
|
@@ -2610,7 +2685,7 @@
|
|
|
2610
2685
|
"note": null,
|
|
2611
2686
|
"license": "free",
|
|
2612
2687
|
"license_note": null,
|
|
2613
|
-
"docs_url": "https://
|
|
2688
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#cyclomatic-complexity"
|
|
2614
2689
|
},
|
|
2615
2690
|
{
|
|
2616
2691
|
"id": "insecure-cookie",
|
|
@@ -2640,7 +2715,7 @@
|
|
|
2640
2715
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2641
2716
|
"license": "free",
|
|
2642
2717
|
"license_note": null,
|
|
2643
|
-
"docs_url": "https://
|
|
2718
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2644
2719
|
},
|
|
2645
2720
|
{
|
|
2646
2721
|
"id": "insecure-randomness",
|
|
@@ -2670,7 +2745,7 @@
|
|
|
2670
2745
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2671
2746
|
"license": "free",
|
|
2672
2747
|
"license_note": null,
|
|
2673
|
-
"docs_url": "https://
|
|
2748
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2674
2749
|
},
|
|
2675
2750
|
{
|
|
2676
2751
|
"id": "insecure-temp-file",
|
|
@@ -2700,7 +2775,7 @@
|
|
|
2700
2775
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2701
2776
|
"license": "free",
|
|
2702
2777
|
"license_note": null,
|
|
2703
|
-
"docs_url": "https://
|
|
2778
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2704
2779
|
},
|
|
2705
2780
|
{
|
|
2706
2781
|
"id": "jquery-html",
|
|
@@ -2730,7 +2805,7 @@
|
|
|
2730
2805
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2731
2806
|
"license": "free",
|
|
2732
2807
|
"license_note": null,
|
|
2733
|
-
"docs_url": "https://
|
|
2808
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2734
2809
|
},
|
|
2735
2810
|
{
|
|
2736
2811
|
"id": "jwt-alg-none",
|
|
@@ -2760,7 +2835,7 @@
|
|
|
2760
2835
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2761
2836
|
"license": "free",
|
|
2762
2837
|
"license_note": null,
|
|
2763
|
-
"docs_url": "https://
|
|
2838
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2764
2839
|
},
|
|
2765
2840
|
{
|
|
2766
2841
|
"id": "jwt-verify-missing-algorithms",
|
|
@@ -2790,7 +2865,7 @@
|
|
|
2790
2865
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2791
2866
|
"license": "free",
|
|
2792
2867
|
"license_note": null,
|
|
2793
|
-
"docs_url": "https://
|
|
2868
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2794
2869
|
},
|
|
2795
2870
|
{
|
|
2796
2871
|
"id": "llm-call-injection",
|
|
@@ -2820,7 +2895,7 @@
|
|
|
2820
2895
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2821
2896
|
"license": "free",
|
|
2822
2897
|
"license_note": null,
|
|
2823
|
-
"docs_url": "https://
|
|
2898
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2824
2899
|
},
|
|
2825
2900
|
{
|
|
2826
2901
|
"id": "mass-assignment",
|
|
@@ -2850,7 +2925,7 @@
|
|
|
2850
2925
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2851
2926
|
"license": "free",
|
|
2852
2927
|
"license_note": null,
|
|
2853
|
-
"docs_url": "https://
|
|
2928
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2854
2929
|
},
|
|
2855
2930
|
{
|
|
2856
2931
|
"id": "mysql-multiple-statements",
|
|
@@ -2880,7 +2955,7 @@
|
|
|
2880
2955
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2881
2956
|
"license": "free",
|
|
2882
2957
|
"license_note": null,
|
|
2883
|
-
"docs_url": "https://
|
|
2958
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2884
2959
|
},
|
|
2885
2960
|
{
|
|
2886
2961
|
"id": "nextjs-open-redirect",
|
|
@@ -2910,7 +2985,7 @@
|
|
|
2910
2985
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2911
2986
|
"license": "free",
|
|
2912
2987
|
"license_note": null,
|
|
2913
|
-
"docs_url": "https://
|
|
2988
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2914
2989
|
},
|
|
2915
2990
|
{
|
|
2916
2991
|
"id": "nosql-injection",
|
|
@@ -2940,7 +3015,7 @@
|
|
|
2940
3015
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2941
3016
|
"license": "free",
|
|
2942
3017
|
"license_note": null,
|
|
2943
|
-
"docs_url": "https://
|
|
3018
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2944
3019
|
},
|
|
2945
3020
|
{
|
|
2946
3021
|
"id": "open-redirect",
|
|
@@ -2970,7 +3045,7 @@
|
|
|
2970
3045
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
2971
3046
|
"license": "free",
|
|
2972
3047
|
"license_note": null,
|
|
2973
|
-
"docs_url": "https://
|
|
3048
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
2974
3049
|
},
|
|
2975
3050
|
{
|
|
2976
3051
|
"id": "path-traversal",
|
|
@@ -3000,7 +3075,7 @@
|
|
|
3000
3075
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3001
3076
|
"license": "free",
|
|
3002
3077
|
"license_note": null,
|
|
3003
|
-
"docs_url": "https://
|
|
3078
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3004
3079
|
},
|
|
3005
3080
|
{
|
|
3006
3081
|
"id": "permissive-cors",
|
|
@@ -3030,7 +3105,7 @@
|
|
|
3030
3105
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3031
3106
|
"license": "free",
|
|
3032
3107
|
"license_note": null,
|
|
3033
|
-
"docs_url": "https://
|
|
3108
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3034
3109
|
},
|
|
3035
3110
|
{
|
|
3036
3111
|
"id": "postmessage-wildcard-origin",
|
|
@@ -3060,7 +3135,7 @@
|
|
|
3060
3135
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3061
3136
|
"license": "free",
|
|
3062
3137
|
"license_note": null,
|
|
3063
|
-
"docs_url": "https://
|
|
3138
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3064
3139
|
},
|
|
3065
3140
|
{
|
|
3066
3141
|
"id": "prototype-pollution",
|
|
@@ -3090,7 +3165,7 @@
|
|
|
3090
3165
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3091
3166
|
"license": "free",
|
|
3092
3167
|
"license_note": null,
|
|
3093
|
-
"docs_url": "https://
|
|
3168
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3094
3169
|
},
|
|
3095
3170
|
{
|
|
3096
3171
|
"id": "redos-regex",
|
|
@@ -3120,7 +3195,7 @@
|
|
|
3120
3195
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3121
3196
|
"license": "free",
|
|
3122
3197
|
"license_note": null,
|
|
3123
|
-
"docs_url": "https://
|
|
3198
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3124
3199
|
},
|
|
3125
3200
|
{
|
|
3126
3201
|
"id": "refactoring-target",
|
|
@@ -3150,7 +3225,7 @@
|
|
|
3150
3225
|
"note": null,
|
|
3151
3226
|
"license": "free",
|
|
3152
3227
|
"license_note": null,
|
|
3153
|
-
"docs_url": "https://
|
|
3228
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#refactoring-targets"
|
|
3154
3229
|
},
|
|
3155
3230
|
{
|
|
3156
3231
|
"id": "resource-amplification",
|
|
@@ -3180,7 +3255,7 @@
|
|
|
3180
3255
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3181
3256
|
"license": "free",
|
|
3182
3257
|
"license_note": null,
|
|
3183
|
-
"docs_url": "https://
|
|
3258
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3184
3259
|
},
|
|
3185
3260
|
{
|
|
3186
3261
|
"id": "route-send-file",
|
|
@@ -3210,7 +3285,7 @@
|
|
|
3210
3285
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3211
3286
|
"license": "free",
|
|
3212
3287
|
"license_note": null,
|
|
3213
|
-
"docs_url": "https://
|
|
3288
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3214
3289
|
},
|
|
3215
3290
|
{
|
|
3216
3291
|
"id": "runtime-coverage",
|
|
@@ -3240,7 +3315,7 @@
|
|
|
3240
3315
|
"note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
|
|
3241
3316
|
"license": "freemium",
|
|
3242
3317
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
3243
|
-
"docs_url": "https://
|
|
3318
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
|
|
3244
3319
|
},
|
|
3245
3320
|
{
|
|
3246
3321
|
"id": "runtime-coverage-unavailable",
|
|
@@ -3270,7 +3345,7 @@
|
|
|
3270
3345
|
"note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
|
|
3271
3346
|
"license": "freemium",
|
|
3272
3347
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
3273
|
-
"docs_url": "https://
|
|
3348
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
|
|
3274
3349
|
},
|
|
3275
3350
|
{
|
|
3276
3351
|
"id": "runtime-low-traffic",
|
|
@@ -3300,7 +3375,7 @@
|
|
|
3300
3375
|
"note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
|
|
3301
3376
|
"license": "freemium",
|
|
3302
3377
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
3303
|
-
"docs_url": "https://
|
|
3378
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
|
|
3304
3379
|
},
|
|
3305
3380
|
{
|
|
3306
3381
|
"id": "runtime-review-required",
|
|
@@ -3330,7 +3405,7 @@
|
|
|
3330
3405
|
"note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
|
|
3331
3406
|
"license": "freemium",
|
|
3332
3407
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
3333
|
-
"docs_url": "https://
|
|
3408
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
|
|
3334
3409
|
},
|
|
3335
3410
|
{
|
|
3336
3411
|
"id": "runtime-safe-to-delete",
|
|
@@ -3360,7 +3435,7 @@
|
|
|
3360
3435
|
"note": "Requires --runtime-coverage input (V8 directory, V8 JSON, or Istanbul map)",
|
|
3361
3436
|
"license": "freemium",
|
|
3362
3437
|
"license_note": "A single local runtime-coverage capture is free; continuous or multi-capture runtime monitoring requires an active license (fallow license activate).",
|
|
3363
|
-
"docs_url": "https://
|
|
3438
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#runtime-coverage"
|
|
3364
3439
|
},
|
|
3365
3440
|
{
|
|
3366
3441
|
"id": "secret-pii-log",
|
|
@@ -3390,7 +3465,7 @@
|
|
|
3390
3465
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3391
3466
|
"license": "free",
|
|
3392
3467
|
"license_note": null,
|
|
3393
|
-
"docs_url": "https://
|
|
3468
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3394
3469
|
},
|
|
3395
3470
|
{
|
|
3396
3471
|
"id": "secret-to-network",
|
|
@@ -3420,7 +3495,7 @@
|
|
|
3420
3495
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3421
3496
|
"license": "free",
|
|
3422
3497
|
"license_note": null,
|
|
3423
|
-
"docs_url": "https://
|
|
3498
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3424
3499
|
},
|
|
3425
3500
|
{
|
|
3426
3501
|
"id": "sql-injection",
|
|
@@ -3450,7 +3525,7 @@
|
|
|
3450
3525
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3451
3526
|
"license": "free",
|
|
3452
3527
|
"license_note": null,
|
|
3453
|
-
"docs_url": "https://
|
|
3528
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3454
3529
|
},
|
|
3455
3530
|
{
|
|
3456
3531
|
"id": "ssrf",
|
|
@@ -3480,7 +3555,7 @@
|
|
|
3480
3555
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3481
3556
|
"license": "free",
|
|
3482
3557
|
"license_note": null,
|
|
3483
|
-
"docs_url": "https://
|
|
3558
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3484
3559
|
},
|
|
3485
3560
|
{
|
|
3486
3561
|
"id": "ssti",
|
|
@@ -3510,7 +3585,7 @@
|
|
|
3510
3585
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3511
3586
|
"license": "free",
|
|
3512
3587
|
"license_note": null,
|
|
3513
|
-
"docs_url": "https://
|
|
3588
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3514
3589
|
},
|
|
3515
3590
|
{
|
|
3516
3591
|
"id": "tainted-sink",
|
|
@@ -3540,7 +3615,7 @@
|
|
|
3540
3615
|
"note": null,
|
|
3541
3616
|
"license": "free",
|
|
3542
3617
|
"license_note": null,
|
|
3543
|
-
"docs_url": "https://
|
|
3618
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3544
3619
|
},
|
|
3545
3620
|
{
|
|
3546
3621
|
"id": "template-escape-bypass",
|
|
@@ -3570,7 +3645,7 @@
|
|
|
3570
3645
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3571
3646
|
"license": "free",
|
|
3572
3647
|
"license_note": null,
|
|
3573
|
-
"docs_url": "https://
|
|
3648
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3574
3649
|
},
|
|
3575
3650
|
{
|
|
3576
3651
|
"id": "tls-validation-disabled",
|
|
@@ -3600,7 +3675,7 @@
|
|
|
3600
3675
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3601
3676
|
"license": "free",
|
|
3602
3677
|
"license_note": null,
|
|
3603
|
-
"docs_url": "https://
|
|
3678
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3604
3679
|
},
|
|
3605
3680
|
{
|
|
3606
3681
|
"id": "unsafe-buffer-alloc",
|
|
@@ -3630,7 +3705,7 @@
|
|
|
3630
3705
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3631
3706
|
"license": "free",
|
|
3632
3707
|
"license_note": null,
|
|
3633
|
-
"docs_url": "https://
|
|
3708
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3634
3709
|
},
|
|
3635
3710
|
{
|
|
3636
3711
|
"id": "unsafe-deserialization",
|
|
@@ -3660,7 +3735,7 @@
|
|
|
3660
3735
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3661
3736
|
"license": "free",
|
|
3662
3737
|
"license_note": null,
|
|
3663
|
-
"docs_url": "https://
|
|
3738
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3664
3739
|
},
|
|
3665
3740
|
{
|
|
3666
3741
|
"id": "untested-export",
|
|
@@ -3690,7 +3765,7 @@
|
|
|
3690
3765
|
"note": null,
|
|
3691
3766
|
"license": "free",
|
|
3692
3767
|
"license_note": null,
|
|
3693
|
-
"docs_url": "https://
|
|
3768
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#coverage-gaps"
|
|
3694
3769
|
},
|
|
3695
3770
|
{
|
|
3696
3771
|
"id": "untested-file",
|
|
@@ -3720,7 +3795,7 @@
|
|
|
3720
3795
|
"note": null,
|
|
3721
3796
|
"license": "free",
|
|
3722
3797
|
"license_note": null,
|
|
3723
|
-
"docs_url": "https://
|
|
3798
|
+
"docs_url": "https://fallow.tools/docs/explanations/health/#coverage-gaps"
|
|
3724
3799
|
},
|
|
3725
3800
|
{
|
|
3726
3801
|
"id": "weak-crypto",
|
|
@@ -3750,7 +3825,7 @@
|
|
|
3750
3825
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3751
3826
|
"license": "free",
|
|
3752
3827
|
"license_note": null,
|
|
3753
|
-
"docs_url": "https://
|
|
3828
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3754
3829
|
},
|
|
3755
3830
|
{
|
|
3756
3831
|
"id": "webview-injection",
|
|
@@ -3780,7 +3855,7 @@
|
|
|
3780
3855
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3781
3856
|
"license": "free",
|
|
3782
3857
|
"license_note": null,
|
|
3783
|
-
"docs_url": "https://
|
|
3858
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3784
3859
|
},
|
|
3785
3860
|
{
|
|
3786
3861
|
"id": "world-writable-permission",
|
|
@@ -3810,7 +3885,7 @@
|
|
|
3810
3885
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3811
3886
|
"license": "free",
|
|
3812
3887
|
"license_note": null,
|
|
3813
|
-
"docs_url": "https://
|
|
3888
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3814
3889
|
},
|
|
3815
3890
|
{
|
|
3816
3891
|
"id": "xpath-injection",
|
|
@@ -3840,7 +3915,7 @@
|
|
|
3840
3915
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3841
3916
|
"license": "free",
|
|
3842
3917
|
"license_note": null,
|
|
3843
|
-
"docs_url": "https://
|
|
3918
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3844
3919
|
},
|
|
3845
3920
|
{
|
|
3846
3921
|
"id": "xxe",
|
|
@@ -3870,7 +3945,7 @@
|
|
|
3870
3945
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3871
3946
|
"license": "free",
|
|
3872
3947
|
"license_note": null,
|
|
3873
|
-
"docs_url": "https://
|
|
3948
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3874
3949
|
},
|
|
3875
3950
|
{
|
|
3876
3951
|
"id": "zip-slip",
|
|
@@ -3900,7 +3975,7 @@
|
|
|
3900
3975
|
"note": "Tainted-sink catalogue category; the security-sink suppression token covers every category",
|
|
3901
3976
|
"license": "free",
|
|
3902
3977
|
"license_note": null,
|
|
3903
|
-
"docs_url": "https://
|
|
3978
|
+
"docs_url": "https://fallow.tools/docs/cli/security/"
|
|
3904
3979
|
}
|
|
3905
3980
|
]
|
|
3906
3981
|
}
|