@goodbones/core 0.1.0-beta.7 → 0.1.0-beta.9

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.
Files changed (113) hide show
  1. package/build/dts/core/campaigns.d.ts +141 -0
  2. package/build/dts/core/campaigns.d.ts.map +1 -0
  3. package/build/dts/core/ledger.d.ts +61 -0
  4. package/build/dts/core/ledger.d.ts.map +1 -0
  5. package/build/dts/core/structure.d.ts +1 -0
  6. package/build/dts/core/structure.d.ts.map +1 -1
  7. package/build/dts/domain/architecture-config.d.ts +309 -1
  8. package/build/dts/domain/architecture-config.d.ts.map +1 -1
  9. package/build/dts/domain/architecture-error.d.ts +8 -0
  10. package/build/dts/domain/architecture-error.d.ts.map +1 -1
  11. package/build/dts/domain/facts.d.ts +1 -0
  12. package/build/dts/domain/facts.d.ts.map +1 -1
  13. package/build/dts/domain/report.d.ts +15 -0
  14. package/build/dts/domain/report.d.ts.map +1 -0
  15. package/build/dts/domain/snapshot.d.ts +55 -3
  16. package/build/dts/domain/snapshot.d.ts.map +1 -1
  17. package/build/dts/domain/violation.d.ts +1 -1
  18. package/build/dts/domain/violation.d.ts.map +1 -1
  19. package/build/dts/index.d.ts +12 -4
  20. package/build/dts/index.d.ts.map +1 -1
  21. package/build/dts/infrastructure/campaign-functions.d.ts +7 -0
  22. package/build/dts/infrastructure/campaign-functions.d.ts.map +1 -0
  23. package/build/dts/infrastructure/report-source-fake.d.ts +4 -0
  24. package/build/dts/infrastructure/report-source-fake.d.ts.map +1 -0
  25. package/build/dts/infrastructure/report-source-live.d.ts +3 -0
  26. package/build/dts/infrastructure/report-source-live.d.ts.map +1 -0
  27. package/build/dts/infrastructure/syntax-matcher-fake.d.ts +10 -0
  28. package/build/dts/infrastructure/syntax-matcher-fake.d.ts.map +1 -0
  29. package/build/dts/load/policy.d.ts +14 -0
  30. package/build/dts/load/policy.d.ts.map +1 -1
  31. package/build/dts/manifest/compile.d.ts +2 -1
  32. package/build/dts/manifest/compile.d.ts.map +1 -1
  33. package/build/dts/manifest/json-schema.d.ts.map +1 -1
  34. package/build/dts/manifest/manifest.d.ts +362 -0
  35. package/build/dts/manifest/manifest.d.ts.map +1 -1
  36. package/build/dts/ports/campaign-predicate.d.ts +24 -0
  37. package/build/dts/ports/campaign-predicate.d.ts.map +1 -0
  38. package/build/dts/ports/language.d.ts +2 -0
  39. package/build/dts/ports/language.d.ts.map +1 -1
  40. package/build/dts/ports/report-source.d.ts +12 -0
  41. package/build/dts/ports/report-source.d.ts.map +1 -0
  42. package/build/dts/ports/syntax-matcher.d.ts +21 -0
  43. package/build/dts/ports/syntax-matcher.d.ts.map +1 -0
  44. package/build/dts/testing.d.ts +2 -0
  45. package/build/dts/testing.d.ts.map +1 -1
  46. package/build/esm/core/campaigns.js +778 -0
  47. package/build/esm/core/campaigns.js.map +1 -0
  48. package/build/esm/core/ledger.js +171 -0
  49. package/build/esm/core/ledger.js.map +1 -0
  50. package/build/esm/core/structure.js +5 -2
  51. package/build/esm/core/structure.js.map +1 -1
  52. package/build/esm/domain/architecture-config.js +133 -1
  53. package/build/esm/domain/architecture-config.js.map +1 -1
  54. package/build/esm/domain/architecture-error.js +27 -0
  55. package/build/esm/domain/architecture-error.js.map +1 -1
  56. package/build/esm/domain/report.js +151 -0
  57. package/build/esm/domain/report.js.map +1 -0
  58. package/build/esm/domain/snapshot.js +21 -0
  59. package/build/esm/domain/snapshot.js.map +1 -1
  60. package/build/esm/domain/violation.js.map +1 -1
  61. package/build/esm/index.js +8 -2
  62. package/build/esm/index.js.map +1 -1
  63. package/build/esm/infrastructure/campaign-functions.js +67 -0
  64. package/build/esm/infrastructure/campaign-functions.js.map +1 -0
  65. package/build/esm/infrastructure/report-source-fake.js +6 -0
  66. package/build/esm/infrastructure/report-source-fake.js.map +1 -0
  67. package/build/esm/infrastructure/report-source-live.js +74 -0
  68. package/build/esm/infrastructure/report-source-live.js.map +1 -0
  69. package/build/esm/infrastructure/syntax-matcher-fake.js +33 -0
  70. package/build/esm/infrastructure/syntax-matcher-fake.js.map +1 -0
  71. package/build/esm/load/policy.js +121 -1
  72. package/build/esm/load/policy.js.map +1 -1
  73. package/build/esm/manifest/compile.js +186 -1
  74. package/build/esm/manifest/compile.js.map +1 -1
  75. package/build/esm/manifest/json-schema.js +7 -3
  76. package/build/esm/manifest/json-schema.js.map +1 -1
  77. package/build/esm/manifest/manifest.js +148 -1
  78. package/build/esm/manifest/manifest.js.map +1 -1
  79. package/build/esm/ports/campaign-predicate.js +2 -0
  80. package/build/esm/ports/campaign-predicate.js.map +1 -0
  81. package/build/esm/ports/report-source.js +2 -0
  82. package/build/esm/ports/report-source.js.map +1 -0
  83. package/build/esm/ports/syntax-matcher.js +12 -0
  84. package/build/esm/ports/syntax-matcher.js.map +1 -0
  85. package/build/esm/testing.js +2 -0
  86. package/build/esm/testing.js.map +1 -1
  87. package/package.json +1 -1
  88. package/schema/architecture-node.schema.json +843 -0
  89. package/schema/architecture.schema.json +1253 -0
  90. package/schema/conformance.schema.json +118 -3
  91. package/src/core/campaigns.ts +1056 -0
  92. package/src/core/ledger.ts +242 -0
  93. package/src/core/structure.ts +10 -5
  94. package/src/domain/architecture-config.ts +178 -1
  95. package/src/domain/architecture-error.ts +30 -0
  96. package/src/domain/facts.ts +5 -0
  97. package/src/domain/report.ts +186 -0
  98. package/src/domain/snapshot.ts +52 -0
  99. package/src/domain/violation.ts +4 -1
  100. package/src/index.ts +76 -0
  101. package/src/infrastructure/campaign-functions.ts +98 -0
  102. package/src/infrastructure/report-source-fake.ts +10 -0
  103. package/src/infrastructure/report-source-live.ts +80 -0
  104. package/src/infrastructure/syntax-matcher-fake.ts +51 -0
  105. package/src/load/policy.ts +187 -1
  106. package/src/manifest/compile.ts +221 -0
  107. package/src/manifest/json-schema.ts +7 -3
  108. package/src/manifest/manifest.ts +192 -1
  109. package/src/ports/campaign-predicate.ts +30 -0
  110. package/src/ports/language.ts +6 -0
  111. package/src/ports/report-source.ts +21 -0
  112. package/src/ports/syntax-matcher.ts +42 -0
  113. package/src/testing.ts +2 -0
@@ -745,6 +745,849 @@
745
745
  },
746
746
  "additionalProperties": false,
747
747
  "$defs": {
748
+ "Detector": {
749
+ "anyOf": [
750
+ {
751
+ "anyOf": [
752
+ {
753
+ "$ref": "#/$defs/Use"
754
+ },
755
+ {
756
+ "$ref": "#/$defs/Include"
757
+ },
758
+ {
759
+ "type": "object",
760
+ "properties": {
761
+ "all": {
762
+ "anyOf": [
763
+ {
764
+ "$ref": "#/$defs/Include"
765
+ },
766
+ {
767
+ "type": "array",
768
+ "items": {
769
+ "$ref": "#/$defs/Detector"
770
+ }
771
+ }
772
+ ]
773
+ }
774
+ },
775
+ "required": [
776
+ "all"
777
+ ],
778
+ "additionalProperties": false
779
+ }
780
+ ]
781
+ },
782
+ {
783
+ "anyOf": [
784
+ {
785
+ "$ref": "#/$defs/Use"
786
+ },
787
+ {
788
+ "$ref": "#/$defs/Include"
789
+ },
790
+ {
791
+ "type": "object",
792
+ "properties": {
793
+ "any": {
794
+ "anyOf": [
795
+ {
796
+ "$ref": "#/$defs/Include"
797
+ },
798
+ {
799
+ "type": "array",
800
+ "items": {
801
+ "$ref": "#/$defs/Detector"
802
+ }
803
+ }
804
+ ]
805
+ }
806
+ },
807
+ "required": [
808
+ "any"
809
+ ],
810
+ "additionalProperties": false
811
+ }
812
+ ]
813
+ },
814
+ {
815
+ "anyOf": [
816
+ {
817
+ "$ref": "#/$defs/Use"
818
+ },
819
+ {
820
+ "$ref": "#/$defs/Include"
821
+ },
822
+ {
823
+ "type": "object",
824
+ "properties": {
825
+ "not": {
826
+ "$ref": "#/$defs/Detector"
827
+ }
828
+ },
829
+ "required": [
830
+ "not"
831
+ ],
832
+ "additionalProperties": false
833
+ }
834
+ ]
835
+ },
836
+ {
837
+ "anyOf": [
838
+ {
839
+ "$ref": "#/$defs/Use"
840
+ },
841
+ {
842
+ "$ref": "#/$defs/Include"
843
+ },
844
+ {
845
+ "type": "object",
846
+ "properties": {
847
+ "path": {
848
+ "anyOf": [
849
+ {
850
+ "$ref": "#/$defs/Use"
851
+ },
852
+ {
853
+ "$ref": "#/$defs/Include"
854
+ },
855
+ {
856
+ "type": "object",
857
+ "properties": {
858
+ "file": {
859
+ "anyOf": [
860
+ {
861
+ "type": "string"
862
+ },
863
+ {
864
+ "anyOf": [
865
+ {
866
+ "$ref": "#/$defs/Include"
867
+ },
868
+ {
869
+ "type": "array",
870
+ "items": {
871
+ "type": "string"
872
+ }
873
+ }
874
+ ]
875
+ }
876
+ ]
877
+ },
878
+ "fileNot": {
879
+ "anyOf": [
880
+ {
881
+ "type": "string"
882
+ },
883
+ {
884
+ "anyOf": [
885
+ {
886
+ "$ref": "#/$defs/Include"
887
+ },
888
+ {
889
+ "type": "array",
890
+ "items": {
891
+ "type": "string"
892
+ }
893
+ }
894
+ ]
895
+ }
896
+ ]
897
+ },
898
+ "subject": {
899
+ "type": "number"
900
+ },
901
+ "convention": {
902
+ "anyOf": [
903
+ {
904
+ "type": "string",
905
+ "enum": [
906
+ "kebab-case",
907
+ "camelCase",
908
+ "PascalCase",
909
+ "snake_case"
910
+ ]
911
+ },
912
+ {
913
+ "anyOf": [
914
+ {
915
+ "$ref": "#/$defs/Use"
916
+ },
917
+ {
918
+ "$ref": "#/$defs/Include"
919
+ },
920
+ {
921
+ "type": "object",
922
+ "properties": {
923
+ "regex": {
924
+ "type": "string"
925
+ }
926
+ },
927
+ "required": [
928
+ "regex"
929
+ ],
930
+ "additionalProperties": false
931
+ }
932
+ ]
933
+ }
934
+ ]
935
+ }
936
+ },
937
+ "required": [
938
+ "file"
939
+ ],
940
+ "additionalProperties": false
941
+ }
942
+ ]
943
+ }
944
+ },
945
+ "required": [
946
+ "path"
947
+ ],
948
+ "additionalProperties": false
949
+ }
950
+ ]
951
+ },
952
+ {
953
+ "anyOf": [
954
+ {
955
+ "$ref": "#/$defs/Use"
956
+ },
957
+ {
958
+ "$ref": "#/$defs/Include"
959
+ },
960
+ {
961
+ "type": "object",
962
+ "properties": {
963
+ "imports": {
964
+ "anyOf": [
965
+ {
966
+ "$ref": "#/$defs/Use"
967
+ },
968
+ {
969
+ "$ref": "#/$defs/Include"
970
+ },
971
+ {
972
+ "type": "object",
973
+ "properties": {
974
+ "resolves": {
975
+ "anyOf": [
976
+ {
977
+ "type": "string"
978
+ },
979
+ {
980
+ "anyOf": [
981
+ {
982
+ "$ref": "#/$defs/Use"
983
+ },
984
+ {
985
+ "$ref": "#/$defs/Include"
986
+ },
987
+ {
988
+ "type": "object",
989
+ "properties": {
990
+ "external": {
991
+ "type": "string"
992
+ }
993
+ },
994
+ "required": [
995
+ "external"
996
+ ],
997
+ "additionalProperties": false
998
+ }
999
+ ]
1000
+ },
1001
+ {
1002
+ "anyOf": [
1003
+ {
1004
+ "$ref": "#/$defs/Use"
1005
+ },
1006
+ {
1007
+ "$ref": "#/$defs/Include"
1008
+ },
1009
+ {
1010
+ "type": "object",
1011
+ "properties": {
1012
+ "builtin": {
1013
+ "type": "string"
1014
+ }
1015
+ },
1016
+ "required": [
1017
+ "builtin"
1018
+ ],
1019
+ "additionalProperties": false
1020
+ }
1021
+ ]
1022
+ }
1023
+ ]
1024
+ },
1025
+ "symbols": {
1026
+ "anyOf": [
1027
+ {
1028
+ "$ref": "#/$defs/Include"
1029
+ },
1030
+ {
1031
+ "type": "array",
1032
+ "items": {
1033
+ "type": "string"
1034
+ }
1035
+ }
1036
+ ]
1037
+ }
1038
+ },
1039
+ "required": [
1040
+ "resolves"
1041
+ ],
1042
+ "additionalProperties": false
1043
+ }
1044
+ ]
1045
+ }
1046
+ },
1047
+ "required": [
1048
+ "imports"
1049
+ ],
1050
+ "additionalProperties": false
1051
+ }
1052
+ ]
1053
+ },
1054
+ {
1055
+ "anyOf": [
1056
+ {
1057
+ "$ref": "#/$defs/Use"
1058
+ },
1059
+ {
1060
+ "$ref": "#/$defs/Include"
1061
+ },
1062
+ {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "exports": {
1066
+ "anyOf": [
1067
+ {
1068
+ "$ref": "#/$defs/Use"
1069
+ },
1070
+ {
1071
+ "$ref": "#/$defs/Include"
1072
+ },
1073
+ {
1074
+ "type": "object",
1075
+ "properties": {
1076
+ "name": {
1077
+ "anyOf": [
1078
+ {
1079
+ "type": "string"
1080
+ },
1081
+ {
1082
+ "anyOf": [
1083
+ {
1084
+ "$ref": "#/$defs/Include"
1085
+ },
1086
+ {
1087
+ "type": "array",
1088
+ "items": {
1089
+ "type": "string"
1090
+ }
1091
+ }
1092
+ ]
1093
+ }
1094
+ ]
1095
+ },
1096
+ "kinds": {
1097
+ "anyOf": [
1098
+ {
1099
+ "$ref": "#/$defs/Include"
1100
+ },
1101
+ {
1102
+ "type": "array",
1103
+ "items": {
1104
+ "type": "string",
1105
+ "enum": [
1106
+ "named",
1107
+ "default",
1108
+ "namespace"
1109
+ ]
1110
+ }
1111
+ }
1112
+ ]
1113
+ },
1114
+ "declares": {
1115
+ "anyOf": [
1116
+ {
1117
+ "$ref": "#/$defs/Include"
1118
+ },
1119
+ {
1120
+ "type": "array",
1121
+ "items": {
1122
+ "type": "string",
1123
+ "enum": [
1124
+ "function",
1125
+ "class",
1126
+ "variable",
1127
+ "type",
1128
+ "interface",
1129
+ "enum",
1130
+ "expression",
1131
+ "other"
1132
+ ]
1133
+ }
1134
+ }
1135
+ ]
1136
+ },
1137
+ "reexport": {
1138
+ "type": "boolean"
1139
+ }
1140
+ },
1141
+ "additionalProperties": false
1142
+ }
1143
+ ]
1144
+ }
1145
+ },
1146
+ "required": [
1147
+ "exports"
1148
+ ],
1149
+ "additionalProperties": false
1150
+ }
1151
+ ]
1152
+ },
1153
+ {
1154
+ "anyOf": [
1155
+ {
1156
+ "$ref": "#/$defs/Use"
1157
+ },
1158
+ {
1159
+ "$ref": "#/$defs/Include"
1160
+ },
1161
+ {
1162
+ "type": "object",
1163
+ "properties": {
1164
+ "members": {
1165
+ "anyOf": [
1166
+ {
1167
+ "$ref": "#/$defs/Use"
1168
+ },
1169
+ {
1170
+ "$ref": "#/$defs/Include"
1171
+ },
1172
+ {
1173
+ "type": "object",
1174
+ "properties": {
1175
+ "subject": {
1176
+ "type": "string",
1177
+ "enum": [
1178
+ "members",
1179
+ "calls"
1180
+ ]
1181
+ },
1182
+ "name": {
1183
+ "anyOf": [
1184
+ {
1185
+ "type": "string"
1186
+ },
1187
+ {
1188
+ "anyOf": [
1189
+ {
1190
+ "$ref": "#/$defs/Include"
1191
+ },
1192
+ {
1193
+ "type": "array",
1194
+ "items": {
1195
+ "type": "string"
1196
+ }
1197
+ }
1198
+ ]
1199
+ }
1200
+ ]
1201
+ },
1202
+ "in": {
1203
+ "anyOf": [
1204
+ {
1205
+ "type": "string"
1206
+ },
1207
+ {
1208
+ "anyOf": [
1209
+ {
1210
+ "$ref": "#/$defs/Include"
1211
+ },
1212
+ {
1213
+ "type": "array",
1214
+ "items": {
1215
+ "type": "string"
1216
+ }
1217
+ }
1218
+ ]
1219
+ }
1220
+ ]
1221
+ },
1222
+ "declares": {
1223
+ "anyOf": [
1224
+ {
1225
+ "$ref": "#/$defs/Include"
1226
+ },
1227
+ {
1228
+ "type": "array",
1229
+ "items": {
1230
+ "type": "string",
1231
+ "enum": [
1232
+ "function",
1233
+ "class",
1234
+ "variable",
1235
+ "type",
1236
+ "interface",
1237
+ "enum",
1238
+ "expression",
1239
+ "other"
1240
+ ]
1241
+ }
1242
+ }
1243
+ ]
1244
+ }
1245
+ },
1246
+ "required": [
1247
+ "subject"
1248
+ ],
1249
+ "additionalProperties": false
1250
+ }
1251
+ ]
1252
+ }
1253
+ },
1254
+ "required": [
1255
+ "members"
1256
+ ],
1257
+ "additionalProperties": false
1258
+ }
1259
+ ]
1260
+ },
1261
+ {
1262
+ "anyOf": [
1263
+ {
1264
+ "$ref": "#/$defs/Use"
1265
+ },
1266
+ {
1267
+ "$ref": "#/$defs/Include"
1268
+ },
1269
+ {
1270
+ "type": "object",
1271
+ "properties": {
1272
+ "requires": {
1273
+ "anyOf": [
1274
+ {
1275
+ "$ref": "#/$defs/Include"
1276
+ },
1277
+ {
1278
+ "type": "array",
1279
+ "items": {
1280
+ "type": "string"
1281
+ }
1282
+ }
1283
+ ]
1284
+ }
1285
+ },
1286
+ "required": [
1287
+ "requires"
1288
+ ],
1289
+ "additionalProperties": false
1290
+ }
1291
+ ]
1292
+ },
1293
+ {
1294
+ "anyOf": [
1295
+ {
1296
+ "$ref": "#/$defs/Use"
1297
+ },
1298
+ {
1299
+ "$ref": "#/$defs/Include"
1300
+ },
1301
+ {
1302
+ "type": "object",
1303
+ "properties": {
1304
+ "content": {
1305
+ "anyOf": [
1306
+ {
1307
+ "$ref": "#/$defs/Use"
1308
+ },
1309
+ {
1310
+ "$ref": "#/$defs/Include"
1311
+ },
1312
+ {
1313
+ "type": "object",
1314
+ "properties": {
1315
+ "regex": {
1316
+ "type": "string"
1317
+ }
1318
+ },
1319
+ "required": [
1320
+ "regex"
1321
+ ],
1322
+ "additionalProperties": false
1323
+ }
1324
+ ]
1325
+ }
1326
+ },
1327
+ "required": [
1328
+ "content"
1329
+ ],
1330
+ "additionalProperties": false
1331
+ }
1332
+ ]
1333
+ },
1334
+ {
1335
+ "anyOf": [
1336
+ {
1337
+ "$ref": "#/$defs/Use"
1338
+ },
1339
+ {
1340
+ "$ref": "#/$defs/Include"
1341
+ },
1342
+ {
1343
+ "type": "object",
1344
+ "properties": {
1345
+ "syntax": {
1346
+ "anyOf": [
1347
+ {
1348
+ "$ref": "#/$defs/Use"
1349
+ },
1350
+ {
1351
+ "$ref": "#/$defs/Include"
1352
+ },
1353
+ {
1354
+ "type": "object",
1355
+ "properties": {
1356
+ "pattern": {},
1357
+ "kind": {},
1358
+ "regex": {},
1359
+ "nthChild": {},
1360
+ "inside": {},
1361
+ "has": {},
1362
+ "precedes": {},
1363
+ "follows": {},
1364
+ "all": {},
1365
+ "any": {},
1366
+ "not": {},
1367
+ "where": {
1368
+ "type": "object",
1369
+ "additionalProperties": {
1370
+ "anyOf": [
1371
+ {
1372
+ "$ref": "#/$defs/Use"
1373
+ },
1374
+ {
1375
+ "$ref": "#/$defs/Include"
1376
+ },
1377
+ {
1378
+ "type": "object",
1379
+ "properties": {
1380
+ "regex": {
1381
+ "type": "string"
1382
+ },
1383
+ "binding": {
1384
+ "anyOf": [
1385
+ {
1386
+ "$ref": "#/$defs/Use"
1387
+ },
1388
+ {
1389
+ "$ref": "#/$defs/Include"
1390
+ },
1391
+ {
1392
+ "type": "object",
1393
+ "properties": {
1394
+ "resolves": {
1395
+ "anyOf": [
1396
+ {
1397
+ "type": "string"
1398
+ },
1399
+ {
1400
+ "anyOf": [
1401
+ {
1402
+ "$ref": "#/$defs/Use"
1403
+ },
1404
+ {
1405
+ "$ref": "#/$defs/Include"
1406
+ },
1407
+ {
1408
+ "type": "object",
1409
+ "properties": {
1410
+ "external": {
1411
+ "type": "string"
1412
+ }
1413
+ },
1414
+ "required": [
1415
+ "external"
1416
+ ],
1417
+ "additionalProperties": false
1418
+ }
1419
+ ]
1420
+ },
1421
+ {
1422
+ "anyOf": [
1423
+ {
1424
+ "$ref": "#/$defs/Use"
1425
+ },
1426
+ {
1427
+ "$ref": "#/$defs/Include"
1428
+ },
1429
+ {
1430
+ "type": "object",
1431
+ "properties": {
1432
+ "builtin": {
1433
+ "type": "string"
1434
+ }
1435
+ },
1436
+ "required": [
1437
+ "builtin"
1438
+ ],
1439
+ "additionalProperties": false
1440
+ }
1441
+ ]
1442
+ }
1443
+ ]
1444
+ },
1445
+ "member": {
1446
+ "anyOf": [
1447
+ {
1448
+ "$ref": "#/$defs/Include"
1449
+ },
1450
+ {
1451
+ "type": "array",
1452
+ "items": {
1453
+ "type": "string"
1454
+ }
1455
+ }
1456
+ ]
1457
+ }
1458
+ },
1459
+ "required": [
1460
+ "resolves"
1461
+ ],
1462
+ "additionalProperties": false
1463
+ }
1464
+ ]
1465
+ }
1466
+ },
1467
+ "additionalProperties": false
1468
+ }
1469
+ ]
1470
+ }
1471
+ }
1472
+ },
1473
+ "additionalProperties": false
1474
+ }
1475
+ ]
1476
+ }
1477
+ },
1478
+ "required": [
1479
+ "syntax"
1480
+ ],
1481
+ "additionalProperties": false
1482
+ }
1483
+ ]
1484
+ },
1485
+ {
1486
+ "anyOf": [
1487
+ {
1488
+ "$ref": "#/$defs/Use"
1489
+ },
1490
+ {
1491
+ "$ref": "#/$defs/Include"
1492
+ },
1493
+ {
1494
+ "type": "object",
1495
+ "properties": {
1496
+ "report": {
1497
+ "anyOf": [
1498
+ {
1499
+ "$ref": "#/$defs/Use"
1500
+ },
1501
+ {
1502
+ "$ref": "#/$defs/Include"
1503
+ },
1504
+ {
1505
+ "type": "object",
1506
+ "properties": {
1507
+ "command": {
1508
+ "type": "string"
1509
+ },
1510
+ "file": {
1511
+ "type": "string"
1512
+ },
1513
+ "format": {
1514
+ "type": "string",
1515
+ "enum": [
1516
+ "tsc",
1517
+ "eslint",
1518
+ "oxlint",
1519
+ "regex"
1520
+ ]
1521
+ },
1522
+ "pattern": {
1523
+ "type": "string"
1524
+ },
1525
+ "codes": {
1526
+ "anyOf": [
1527
+ {
1528
+ "$ref": "#/$defs/Include"
1529
+ },
1530
+ {
1531
+ "type": "array",
1532
+ "items": {
1533
+ "type": "string"
1534
+ }
1535
+ }
1536
+ ]
1537
+ },
1538
+ "codesNot": {
1539
+ "anyOf": [
1540
+ {
1541
+ "$ref": "#/$defs/Include"
1542
+ },
1543
+ {
1544
+ "type": "array",
1545
+ "items": {
1546
+ "type": "string"
1547
+ }
1548
+ }
1549
+ ]
1550
+ }
1551
+ },
1552
+ "required": [
1553
+ "format"
1554
+ ],
1555
+ "additionalProperties": false
1556
+ }
1557
+ ]
1558
+ }
1559
+ },
1560
+ "required": [
1561
+ "report"
1562
+ ],
1563
+ "additionalProperties": false
1564
+ }
1565
+ ]
1566
+ },
1567
+ {
1568
+ "anyOf": [
1569
+ {
1570
+ "$ref": "#/$defs/Use"
1571
+ },
1572
+ {
1573
+ "$ref": "#/$defs/Include"
1574
+ },
1575
+ {
1576
+ "type": "object",
1577
+ "properties": {
1578
+ "fn": {
1579
+ "type": "string"
1580
+ }
1581
+ },
1582
+ "required": [
1583
+ "fn"
1584
+ ],
1585
+ "additionalProperties": false
1586
+ }
1587
+ ]
1588
+ }
1589
+ ]
1590
+ },
748
1591
  "ManifestNode": {
749
1592
  "anyOf": [
750
1593
  {