eslint-plugin-sonarjs 4.0.2 → 4.1.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 +73 -76
- package/cjs/S100/config.js +3 -3
- package/cjs/S100/generated-meta.js +5 -4
- package/cjs/S100/index.js +3 -3
- package/cjs/S100/meta.js +3 -3
- package/cjs/S100/rule.js +3 -3
- package/cjs/S101/config.js +4 -4
- package/cjs/S101/generated-meta.js +6 -5
- package/cjs/S101/index.js +3 -3
- package/cjs/S101/meta.js +3 -3
- package/cjs/S101/rule.js +4 -4
- package/cjs/S104/config.js +3 -3
- package/cjs/S104/generated-meta.js +5 -4
- package/cjs/S104/index.js +3 -3
- package/cjs/S104/meta.js +3 -3
- package/cjs/S104/rule.js +3 -3
- package/cjs/S105/generated-meta.js +5 -4
- package/cjs/S105/index.js +3 -3
- package/cjs/S105/meta.js +3 -3
- package/cjs/S105/rule.js +3 -3
- package/cjs/S1066/generated-meta.js +5 -4
- package/cjs/S1066/index.js +3 -3
- package/cjs/S1066/meta.js +3 -3
- package/cjs/S1066/rule.js +3 -3
- package/cjs/S1067/config.js +3 -3
- package/cjs/S1067/generated-meta.js +5 -4
- package/cjs/S1067/index.js +3 -3
- package/cjs/S1067/meta.js +3 -3
- package/cjs/S1067/rule.js +3 -3
- package/cjs/S1110/generated-meta.js +5 -4
- package/cjs/S1110/index.js +3 -3
- package/cjs/S1110/meta.js +3 -3
- package/cjs/S1110/rule.js +3 -3
- package/cjs/S1119/generated-meta.js +5 -4
- package/cjs/S1119/index.js +3 -3
- package/cjs/S1119/meta.js +3 -3
- package/cjs/S1119/rule.js +3 -3
- package/cjs/S1121/generated-meta.js +5 -4
- package/cjs/S1121/index.js +3 -3
- package/cjs/S1121/meta.js +3 -3
- package/cjs/S1121/rule.js +3 -3
- package/cjs/S1125/generated-meta.js +5 -4
- package/cjs/S1125/index.js +3 -3
- package/cjs/S1125/meta.js +3 -3
- package/cjs/S1125/rule.js +3 -3
- package/cjs/S1126/generated-meta.js +5 -4
- package/cjs/S1126/index.js +3 -3
- package/cjs/S1126/meta.js +3 -3
- package/cjs/S1126/rule.js +29 -10
- package/cjs/S1128/generated-meta.js +6 -4
- package/cjs/S1128/index.js +3 -3
- package/cjs/S1128/meta.js +3 -3
- package/cjs/S1128/rule.js +3 -3
- package/cjs/S1134/generated-meta.js +5 -4
- package/cjs/S1134/index.js +3 -3
- package/cjs/S1134/meta.js +3 -3
- package/cjs/S1134/rule.js +3 -3
- package/cjs/S1135/generated-meta.js +5 -4
- package/cjs/S1135/index.js +3 -3
- package/cjs/S1135/meta.js +3 -3
- package/cjs/S1135/rule.js +3 -3
- package/cjs/S1154/generated-meta.js +5 -4
- package/cjs/S1154/index.js +3 -3
- package/cjs/S1154/meta.js +3 -3
- package/cjs/S1154/rule.js +24 -5
- package/cjs/S117/config.js +3 -3
- package/cjs/S117/generated-meta.js +5 -4
- package/cjs/S117/index.js +3 -3
- package/cjs/S117/meta.js +3 -3
- package/cjs/S117/rule.js +3 -3
- package/cjs/S1172/generated-meta.js +5 -4
- package/cjs/S1172/index.js +3 -3
- package/cjs/S1172/meta.js +3 -3
- package/cjs/S1172/rule.js +3 -3
- package/cjs/S1192/config.js +3 -3
- package/cjs/S1192/generated-meta.js +5 -4
- package/cjs/S1192/index.js +3 -3
- package/cjs/S1192/meta.js +3 -3
- package/cjs/S1192/rule.js +5 -5
- package/cjs/S1219/generated-meta.js +5 -4
- package/cjs/S1219/index.js +3 -3
- package/cjs/S1219/meta.js +3 -3
- package/cjs/S1219/rule.js +3 -3
- package/cjs/S1226/generated-meta.js +5 -4
- package/cjs/S1226/index.js +3 -3
- package/cjs/S1226/meta.js +3 -3
- package/cjs/S1226/rule.js +3 -3
- package/cjs/S124/config.js +3 -3
- package/cjs/S124/generated-meta.js +5 -4
- package/cjs/S124/index.js +3 -3
- package/cjs/S124/meta.js +3 -3
- package/cjs/S124/rule.js +3 -3
- package/cjs/{S2255 → S1244}/generated-meta.js +11 -10
- package/cjs/{S4784 → S1244}/index.js +3 -3
- package/cjs/{S4817 → S1244}/meta.js +4 -4
- package/cjs/S1244/rule.js +265 -0
- package/cjs/S125/generated-meta.js +6 -5
- package/cjs/S125/index.js +3 -3
- package/cjs/S125/meta.js +3 -3
- package/cjs/S125/rule.js +67 -20
- package/cjs/S126/generated-meta.js +5 -4
- package/cjs/S126/index.js +3 -3
- package/cjs/S126/meta.js +3 -3
- package/cjs/S126/rule.js +3 -3
- package/cjs/S1264/generated-meta.js +5 -4
- package/cjs/S1264/index.js +3 -3
- package/cjs/S1264/meta.js +3 -3
- package/cjs/S1264/rule.js +3 -3
- package/cjs/S128/generated-meta.js +5 -4
- package/cjs/S128/index.js +3 -3
- package/cjs/S128/meta.js +3 -3
- package/cjs/S128/rule.js +3 -3
- package/cjs/S1291/generated-meta.js +5 -4
- package/cjs/S1291/index.js +3 -3
- package/cjs/S1291/meta.js +3 -3
- package/cjs/S1291/rule.js +3 -3
- package/cjs/S1301/generated-meta.js +6 -5
- package/cjs/S1301/index.js +3 -3
- package/cjs/S1301/meta.js +3 -3
- package/cjs/S1301/rule.js +141 -3
- package/cjs/S1313/generated-meta.js +7 -6
- package/cjs/S1313/index.js +3 -3
- package/cjs/S1313/meta.js +3 -3
- package/cjs/S1313/rule.js +3 -3
- package/cjs/S134/config.js +4 -4
- package/cjs/S134/generated-meta.js +5 -4
- package/cjs/S134/index.js +3 -3
- package/cjs/S134/meta.js +3 -3
- package/cjs/S134/rule.js +3 -3
- package/cjs/S135/generated-meta.js +5 -4
- package/cjs/S135/index.js +3 -3
- package/cjs/S135/meta.js +3 -3
- package/cjs/S135/rule.js +3 -3
- package/cjs/S138/config.js +3 -3
- package/cjs/S138/generated-meta.js +5 -4
- package/cjs/S138/index.js +3 -3
- package/cjs/S138/meta.js +3 -3
- package/cjs/S138/rule.js +3 -3
- package/cjs/S1439/generated-meta.js +5 -4
- package/cjs/S1439/index.js +3 -3
- package/cjs/S1439/meta.js +3 -3
- package/cjs/S1439/rule.js +3 -3
- package/cjs/S1444/generated-meta.js +5 -4
- package/cjs/S1444/index.js +3 -3
- package/cjs/S1444/meta.js +3 -3
- package/cjs/S1444/rule.js +3 -3
- package/cjs/S1451/config.js +3 -3
- package/cjs/S1451/generated-meta.js +5 -4
- package/cjs/S1451/index.js +3 -3
- package/cjs/S1451/meta.js +3 -3
- package/cjs/S1451/rule.js +3 -3
- package/cjs/S1472/generated-meta.js +5 -4
- package/cjs/S1472/index.js +3 -3
- package/cjs/S1472/meta.js +3 -3
- package/cjs/S1472/rule.js +3 -3
- package/cjs/S1479/config.js +3 -3
- package/cjs/S1479/generated-meta.js +5 -4
- package/cjs/S1479/index.js +3 -3
- package/cjs/S1479/meta.js +3 -3
- package/cjs/S1479/rule.js +3 -3
- package/cjs/S1481/generated-meta.js +5 -4
- package/cjs/S1481/index.js +3 -3
- package/cjs/S1481/meta.js +3 -3
- package/cjs/S1481/rule.js +3 -3
- package/cjs/S1488/generated-meta.js +5 -4
- package/cjs/S1488/index.js +3 -3
- package/cjs/S1488/meta.js +3 -3
- package/cjs/S1488/rule.js +3 -3
- package/cjs/S1515/generated-meta.js +5 -4
- package/cjs/S1515/index.js +3 -3
- package/cjs/S1515/meta.js +3 -3
- package/cjs/S1515/rule.js +3 -3
- package/cjs/S1523/generated-meta.js +6 -5
- package/cjs/S1523/index.js +3 -3
- package/cjs/S1523/meta.js +3 -3
- package/cjs/S1523/rule.js +3 -3
- package/cjs/S1526/generated-meta.js +5 -4
- package/cjs/S1526/index.js +3 -3
- package/cjs/S1526/meta.js +3 -3
- package/cjs/S1526/rule.js +3 -3
- package/cjs/S1527/generated-meta.js +5 -4
- package/cjs/S1527/index.js +3 -3
- package/cjs/S1527/meta.js +3 -3
- package/cjs/S1527/rule.js +3 -3
- package/cjs/S1528/generated-meta.js +5 -4
- package/cjs/S1528/index.js +3 -3
- package/cjs/S1528/meta.js +3 -3
- package/cjs/S1529/generated-meta.js +5 -4
- package/cjs/S1529/index.js +3 -3
- package/cjs/S1529/meta.js +3 -3
- package/cjs/S1529/rule.js +3 -3
- package/cjs/S1530/generated-meta.js +5 -4
- package/cjs/S1530/index.js +3 -3
- package/cjs/S1530/meta.js +3 -3
- package/cjs/S1530/rule.js +3 -3
- package/cjs/S1533/generated-meta.js +5 -4
- package/cjs/S1533/index.js +3 -3
- package/cjs/S1533/meta.js +3 -3
- package/cjs/S1533/rule.js +3 -3
- package/cjs/S1535/generated-meta.js +5 -4
- package/cjs/S1535/index.js +3 -3
- package/cjs/S1535/meta.js +3 -3
- package/cjs/S1535/rule.js +3 -3
- package/cjs/S1541/config.js +3 -3
- package/cjs/S1541/generated-meta.js +5 -4
- package/cjs/S1541/index.js +3 -3
- package/cjs/S1541/meta.js +3 -3
- package/cjs/S1541/rule.js +3 -3
- package/cjs/S1607/generated-meta.js +5 -4
- package/cjs/S1607/index.js +3 -3
- package/cjs/S1607/meta.js +3 -3
- package/cjs/S1607/rule.js +75 -10
- package/cjs/S1764/generated-meta.js +5 -4
- package/cjs/S1764/index.js +3 -3
- package/cjs/S1764/meta.js +3 -3
- package/cjs/S1764/rule.js +3 -3
- package/cjs/S1821/generated-meta.js +5 -4
- package/cjs/S1821/index.js +3 -3
- package/cjs/S1821/meta.js +3 -3
- package/cjs/S1821/rule.js +3 -3
- package/cjs/S1848/generated-meta.js +5 -4
- package/cjs/S1848/index.js +3 -3
- package/cjs/S1848/meta.js +3 -3
- package/cjs/S1848/rule.js +3 -3
- package/cjs/S1854/generated-meta.js +5 -4
- package/cjs/S1854/index.js +3 -3
- package/cjs/S1854/meta.js +3 -3
- package/cjs/S1854/rule.js +3 -3
- package/cjs/S1862/generated-meta.js +5 -4
- package/cjs/S1862/index.js +3 -3
- package/cjs/S1862/meta.js +3 -3
- package/cjs/S1862/rule.js +3 -3
- package/cjs/S1871/generated-meta.js +5 -4
- package/cjs/S1871/index.js +3 -3
- package/cjs/S1871/meta.js +3 -3
- package/cjs/S1871/rule.js +3 -3
- package/cjs/S1874/generated-meta.js +5 -4
- package/cjs/S1874/index.js +3 -3
- package/cjs/S1874/meta.js +3 -3
- package/cjs/S1874/rule.js +3 -3
- package/cjs/S1940/generated-meta.js +5 -4
- package/cjs/S1940/index.js +3 -3
- package/cjs/S1940/meta.js +3 -3
- package/cjs/S1940/rule.js +3 -3
- package/cjs/S1994/generated-meta.js +5 -4
- package/cjs/S1994/index.js +3 -3
- package/cjs/S1994/meta.js +3 -3
- package/cjs/S1994/rule.js +3 -3
- package/cjs/S2004/config.js +3 -3
- package/cjs/S2004/generated-meta.js +5 -4
- package/cjs/S2004/index.js +3 -3
- package/cjs/S2004/meta.js +3 -3
- package/cjs/S2004/rule.js +3 -3
- package/cjs/S2068/config.js +3 -3
- package/cjs/S2068/generated-meta.js +5 -4
- package/cjs/S2068/index.js +3 -3
- package/cjs/S2068/meta.js +3 -3
- package/cjs/S2068/rule.js +28 -18
- package/cjs/S2077/generated-meta.js +6 -5
- package/cjs/S2077/index.js +3 -3
- package/cjs/S2077/meta.js +3 -3
- package/cjs/S2077/rule.js +35 -3
- package/cjs/S2092/generated-meta.js +6 -5
- package/cjs/S2092/index.js +3 -3
- package/cjs/S2092/meta.js +3 -3
- package/cjs/S2092/rule.js +3 -3
- package/cjs/S2123/generated-meta.js +5 -4
- package/cjs/S2123/index.js +3 -3
- package/cjs/S2123/meta.js +3 -3
- package/cjs/S2123/rule.js +3 -3
- package/cjs/S2137/generated-meta.js +5 -4
- package/cjs/S2137/index.js +3 -3
- package/cjs/S2137/meta.js +3 -3
- package/cjs/S2137/rule.js +3 -3
- package/cjs/S2138/generated-meta.js +5 -4
- package/cjs/S2138/index.js +3 -3
- package/cjs/S2138/meta.js +3 -3
- package/cjs/S2138/rule.js +3 -3
- package/cjs/S2187/generated-meta.js +5 -4
- package/cjs/S2187/index.js +3 -3
- package/cjs/S2187/meta.js +3 -3
- package/cjs/S2187/rule.js +53 -16
- package/cjs/S2201/generated-meta.js +5 -4
- package/cjs/S2201/index.js +3 -3
- package/cjs/S2201/meta.js +3 -3
- package/cjs/S2201/rule.js +3 -3
- package/cjs/S2208/generated-meta.js +6 -4
- package/cjs/S2208/index.js +3 -3
- package/cjs/S2208/meta.js +3 -3
- package/cjs/S2208/rule.js +3 -3
- package/cjs/S2234/generated-meta.js +5 -4
- package/cjs/S2234/index.js +3 -3
- package/cjs/S2234/meta.js +3 -3
- package/cjs/S2234/rule.js +148 -5
- package/cjs/S2245/generated-meta.js +6 -5
- package/cjs/S2245/index.js +3 -3
- package/cjs/S2245/meta.js +3 -3
- package/cjs/S2245/rule.js +3 -3
- package/cjs/S2251/generated-meta.js +5 -4
- package/cjs/S2251/index.js +3 -3
- package/cjs/S2251/meta.js +3 -3
- package/cjs/S2251/rule.js +3 -3
- package/cjs/S2259/generated-meta.js +5 -4
- package/cjs/S2259/index.js +3 -3
- package/cjs/S2259/meta.js +3 -3
- package/cjs/S2259/rule.js +3 -3
- package/cjs/S2301/generated-meta.js +5 -4
- package/cjs/S2301/index.js +3 -3
- package/cjs/S2301/meta.js +3 -3
- package/cjs/S2301/rule.js +10 -4
- package/cjs/S2310/generated-meta.js +5 -4
- package/cjs/S2310/index.js +3 -3
- package/cjs/S2310/meta.js +3 -3
- package/cjs/S2310/rule.js +3 -3
- package/cjs/S2392/generated-meta.js +5 -4
- package/cjs/S2392/index.js +3 -3
- package/cjs/S2392/meta.js +3 -3
- package/cjs/S2392/rule.js +44 -3
- package/cjs/S2424/generated-meta.js +5 -4
- package/cjs/S2424/index.js +3 -3
- package/cjs/S2424/meta.js +3 -3
- package/cjs/S2424/rule.js +3 -3
- package/cjs/S2428/generated-meta.js +5 -4
- package/cjs/S2428/index.js +3 -3
- package/cjs/S2428/meta.js +3 -3
- package/cjs/S2428/rule.js +3 -3
- package/cjs/S2486/generated-meta.js +5 -4
- package/cjs/S2486/index.js +3 -3
- package/cjs/S2486/meta.js +3 -3
- package/cjs/S2486/rule.js +3 -3
- package/cjs/S2589/generated-meta.js +5 -4
- package/cjs/S2589/index.js +3 -3
- package/cjs/S2589/meta.js +3 -3
- package/cjs/S2589/rule.js +3 -3
- package/cjs/S2598/generated-meta.js +5 -4
- package/cjs/S2598/index.js +3 -3
- package/cjs/S2598/meta.js +3 -3
- package/cjs/S2598/rule.js +3 -3
- package/cjs/S2612/generated-meta.js +5 -4
- package/cjs/S2612/index.js +3 -3
- package/cjs/S2612/meta.js +3 -3
- package/cjs/S2612/rule.js +3 -3
- package/cjs/S2639/generated-meta.js +5 -4
- package/cjs/S2639/index.js +3 -3
- package/cjs/S2639/meta.js +3 -3
- package/cjs/S2639/rule.js +3 -3
- package/cjs/S2681/generated-meta.js +5 -4
- package/cjs/S2681/index.js +3 -3
- package/cjs/S2681/meta.js +3 -3
- package/cjs/S2681/rule.js +3 -3
- package/cjs/S2692/generated-meta.js +5 -4
- package/cjs/S2692/index.js +3 -3
- package/cjs/S2692/meta.js +3 -3
- package/cjs/S2692/rule.js +3 -3
- package/cjs/S2699/generated-meta.js +5 -4
- package/cjs/S2699/index.js +3 -3
- package/cjs/S2699/meta.js +3 -3
- package/cjs/S2699/rule.js +19 -5
- package/cjs/S2703/generated-meta.js +5 -4
- package/cjs/S2703/index.js +3 -3
- package/cjs/S2703/meta.js +3 -3
- package/cjs/S2703/rule.js +3 -3
- package/cjs/S2737/generated-meta.js +5 -4
- package/cjs/S2737/index.js +3 -3
- package/cjs/S2737/meta.js +3 -3
- package/cjs/S2737/rule.js +3 -3
- package/cjs/S2755/generated-meta.js +5 -4
- package/cjs/S2755/index.js +3 -3
- package/cjs/S2755/meta.js +3 -3
- package/cjs/S2755/rule.js +3 -3
- package/cjs/S2757/generated-meta.js +5 -4
- package/cjs/S2757/index.js +3 -3
- package/cjs/S2757/meta.js +3 -3
- package/cjs/S2757/rule.js +3 -3
- package/cjs/S2817/generated-meta.js +5 -4
- package/cjs/S2817/index.js +3 -3
- package/cjs/S2817/meta.js +3 -3
- package/cjs/S2817/rule.js +3 -3
- package/cjs/S2819/generated-meta.js +5 -4
- package/cjs/S2819/index.js +3 -3
- package/cjs/S2819/meta.js +3 -3
- package/cjs/S2819/rule.js +3 -3
- package/cjs/S2870/generated-meta.js +5 -4
- package/cjs/S2870/index.js +3 -3
- package/cjs/S2870/meta.js +3 -3
- package/cjs/S2870/rule.js +3 -3
- package/cjs/S2871/generated-meta.js +5 -4
- package/cjs/S2871/index.js +3 -3
- package/cjs/S2871/meta.js +3 -3
- package/cjs/S2871/rule.js +88 -4
- package/cjs/S2970/generated-meta.js +5 -4
- package/cjs/S2970/index.js +3 -3
- package/cjs/S2970/meta.js +3 -3
- package/cjs/S2970/rule.js +3 -3
- package/cjs/S2990/generated-meta.js +5 -4
- package/cjs/S2990/index.js +3 -3
- package/cjs/S2990/meta.js +3 -3
- package/cjs/S2990/rule.js +3 -3
- package/cjs/S2999/config.js +3 -3
- package/cjs/S2999/generated-meta.js +5 -4
- package/cjs/S2999/index.js +3 -3
- package/cjs/S2999/meta.js +3 -3
- package/cjs/S2999/rule.js +3 -3
- package/cjs/S3001/generated-meta.js +5 -4
- package/cjs/S3001/index.js +3 -3
- package/cjs/S3001/meta.js +3 -3
- package/cjs/S3001/rule.js +3 -3
- package/cjs/S3003/generated-meta.js +5 -4
- package/cjs/S3003/index.js +3 -3
- package/cjs/S3003/meta.js +3 -3
- package/cjs/S3003/rule.js +3 -3
- package/cjs/S3317/generated-meta.js +6 -4
- package/cjs/S3317/index.js +3 -3
- package/cjs/S3317/meta.js +3 -3
- package/cjs/S3317/rule.js +3 -3
- package/cjs/S3330/generated-meta.js +6 -5
- package/cjs/S3330/index.js +3 -3
- package/cjs/S3330/meta.js +3 -3
- package/cjs/S3330/rule.js +3 -3
- package/cjs/S3358/generated-meta.js +5 -4
- package/cjs/S3358/index.js +3 -3
- package/cjs/S3358/meta.js +3 -3
- package/cjs/S3358/rule.js +3 -3
- package/cjs/S3402/generated-meta.js +5 -4
- package/cjs/S3402/index.js +3 -3
- package/cjs/S3402/meta.js +3 -3
- package/cjs/S3402/rule.js +3 -3
- package/cjs/S3403/generated-meta.js +5 -4
- package/cjs/S3403/index.js +3 -3
- package/cjs/S3403/meta.js +3 -3
- package/cjs/S3403/rule.js +24 -4
- package/cjs/S3415/generated-meta.js +5 -4
- package/cjs/S3415/index.js +3 -3
- package/cjs/S3415/meta.js +3 -3
- package/cjs/S3415/rule.js +3 -3
- package/cjs/S3499/generated-meta.js +6 -4
- package/cjs/S3499/index.js +3 -3
- package/cjs/S3499/meta.js +3 -3
- package/cjs/S3499/rule.js +3 -3
- package/cjs/S3500/generated-meta.js +6 -4
- package/cjs/S3500/index.js +3 -3
- package/cjs/S3500/meta.js +3 -3
- package/cjs/S3500/rule.js +3 -3
- package/cjs/S3513/generated-meta.js +6 -4
- package/cjs/S3513/index.js +3 -3
- package/cjs/S3513/meta.js +3 -3
- package/cjs/S3513/rule.js +3 -3
- package/cjs/S3514/generated-meta.js +6 -4
- package/cjs/S3514/index.js +3 -3
- package/cjs/S3514/meta.js +3 -3
- package/cjs/S3514/rule.js +3 -3
- package/cjs/S3516/generated-meta.js +5 -4
- package/cjs/S3516/index.js +3 -3
- package/cjs/S3516/meta.js +3 -3
- package/cjs/S3516/rule.js +102 -3
- package/cjs/S3524/config.js +3 -3
- package/cjs/S3524/generated-meta.js +6 -4
- package/cjs/S3524/index.js +3 -3
- package/cjs/S3524/meta.js +3 -3
- package/cjs/S3524/rule.js +3 -3
- package/cjs/S3525/generated-meta.js +6 -4
- package/cjs/S3525/index.js +3 -3
- package/cjs/S3525/meta.js +3 -3
- package/cjs/S3525/rule.js +3 -3
- package/cjs/S3531/generated-meta.js +6 -4
- package/cjs/S3531/index.js +3 -3
- package/cjs/S3531/meta.js +3 -3
- package/cjs/S3531/rule.js +3 -3
- package/cjs/S3533/generated-meta.js +6 -4
- package/cjs/S3533/index.js +3 -3
- package/cjs/S3533/meta.js +3 -3
- package/cjs/S3533/rule.js +3 -3
- package/cjs/S3579/generated-meta.js +5 -4
- package/cjs/S3579/index.js +3 -3
- package/cjs/S3579/meta.js +3 -3
- package/cjs/S3579/rule.js +3 -3
- package/cjs/S3616/generated-meta.js +5 -4
- package/cjs/S3616/index.js +3 -3
- package/cjs/S3616/meta.js +3 -3
- package/cjs/S3616/rule.js +3 -3
- package/cjs/S3626/generated-meta.js +5 -4
- package/cjs/S3626/index.js +3 -3
- package/cjs/S3626/meta.js +3 -3
- package/cjs/S3626/rule.js +4 -4
- package/cjs/S3686/generated-meta.js +5 -4
- package/cjs/S3686/index.js +3 -3
- package/cjs/S3686/meta.js +3 -3
- package/cjs/S3686/rule.js +3 -3
- package/cjs/S3699/generated-meta.js +5 -4
- package/cjs/S3699/index.js +3 -3
- package/cjs/S3699/meta.js +3 -3
- package/cjs/S3699/rule.js +4 -4
- package/cjs/S3735/generated-meta.js +5 -4
- package/cjs/S3735/index.js +3 -3
- package/cjs/S3735/meta.js +3 -3
- package/cjs/S3735/rule.js +3 -3
- package/cjs/S3757/generated-meta.js +5 -4
- package/cjs/S3757/index.js +3 -3
- package/cjs/S3757/meta.js +3 -3
- package/cjs/S3757/rule.js +6 -4
- package/cjs/S3758/generated-meta.js +5 -4
- package/cjs/S3758/index.js +3 -3
- package/cjs/S3758/meta.js +3 -3
- package/cjs/S3758/rule.js +3 -3
- package/cjs/S3760/generated-meta.js +5 -4
- package/cjs/S3760/index.js +3 -3
- package/cjs/S3760/meta.js +3 -3
- package/cjs/S3760/rule.js +3 -3
- package/cjs/S3776/config.js +3 -3
- package/cjs/S3776/generated-meta.js +5 -4
- package/cjs/S3776/index.js +3 -3
- package/cjs/S3776/meta.js +12 -4
- package/cjs/S3776/rule.js +13 -16
- package/cjs/S3782/generated-meta.js +5 -4
- package/cjs/S3782/index.js +3 -3
- package/cjs/S3782/meta.js +3 -3
- package/cjs/S3782/rule.js +4 -4
- package/cjs/S3785/generated-meta.js +5 -4
- package/cjs/S3785/index.js +3 -3
- package/cjs/S3785/meta.js +3 -3
- package/cjs/S3785/rule.js +3 -3
- package/cjs/S3796/generated-meta.js +5 -4
- package/cjs/S3796/index.js +3 -3
- package/cjs/S3796/meta.js +3 -3
- package/cjs/S3796/rule.js +3 -3
- package/cjs/S3798/generated-meta.js +5 -4
- package/cjs/S3798/index.js +3 -3
- package/cjs/S3798/meta.js +3 -3
- package/cjs/S3798/rule.js +57 -17
- package/cjs/S3800/generated-meta.js +5 -4
- package/cjs/S3800/index.js +3 -3
- package/cjs/S3800/meta.js +3 -3
- package/cjs/S3800/rule.js +3 -3
- package/cjs/S3801/generated-meta.js +5 -4
- package/cjs/S3801/index.js +3 -3
- package/cjs/S3801/meta.js +3 -3
- package/cjs/S3801/rule.js +3 -3
- package/cjs/S3827/generated-meta.js +5 -4
- package/cjs/S3827/index.js +3 -3
- package/cjs/S3827/meta.js +3 -3
- package/cjs/S3923/generated-meta.js +5 -4
- package/cjs/S3923/index.js +3 -3
- package/cjs/S3923/meta.js +3 -3
- package/cjs/S3923/rule.js +3 -3
- package/cjs/S3972/generated-meta.js +5 -4
- package/cjs/S3972/index.js +3 -3
- package/cjs/S3972/meta.js +3 -3
- package/cjs/S3972/rule.js +3 -3
- package/cjs/S3973/generated-meta.js +5 -4
- package/cjs/S3973/index.js +3 -3
- package/cjs/S3973/meta.js +3 -3
- package/cjs/S3973/rule.js +3 -3
- package/cjs/S3981/generated-meta.js +5 -4
- package/cjs/S3981/index.js +3 -3
- package/cjs/S3981/meta.js +3 -3
- package/cjs/S3981/rule.js +3 -3
- package/cjs/S3984/generated-meta.js +5 -4
- package/cjs/S3984/index.js +3 -3
- package/cjs/S3984/meta.js +3 -3
- package/cjs/S3984/rule.js +3 -3
- package/cjs/S4030/generated-meta.js +5 -4
- package/cjs/S4030/index.js +3 -3
- package/cjs/S4030/meta.js +3 -3
- package/cjs/S4030/rule.js +5 -5
- package/cjs/S4036/generated-meta.js +6 -5
- package/cjs/S4036/index.js +3 -3
- package/cjs/S4036/meta.js +3 -3
- package/cjs/S4036/rule.js +4 -4
- package/cjs/S4043/generated-meta.js +5 -4
- package/cjs/S4043/index.js +3 -3
- package/cjs/S4043/meta.js +3 -3
- package/cjs/S4043/rule.js +3 -3
- package/cjs/S4139/generated-meta.js +5 -4
- package/cjs/S4139/index.js +3 -3
- package/cjs/S4139/meta.js +3 -3
- package/cjs/S4139/rule.js +3 -3
- package/cjs/S4143/generated-meta.js +5 -4
- package/cjs/S4143/index.js +3 -3
- package/cjs/S4143/meta.js +3 -3
- package/cjs/S4143/rule.js +3 -3
- package/cjs/S4144/config.js +3 -3
- package/cjs/S4144/generated-meta.js +5 -4
- package/cjs/S4144/index.js +3 -3
- package/cjs/S4144/meta.js +3 -3
- package/cjs/S4144/rule.js +3 -3
- package/cjs/S4158/generated-meta.js +5 -4
- package/cjs/S4158/index.js +3 -3
- package/cjs/S4158/meta.js +3 -3
- package/cjs/S4158/rule.js +4 -4
- package/cjs/S4165/generated-meta.js +5 -4
- package/cjs/S4165/index.js +3 -3
- package/cjs/S4165/meta.js +3 -3
- package/cjs/S4165/rule.js +3 -3
- package/cjs/S4322/generated-meta.js +5 -4
- package/cjs/S4322/index.js +3 -3
- package/cjs/S4322/meta.js +3 -3
- package/cjs/S4322/rule.js +3 -3
- package/cjs/S4323/generated-meta.js +5 -4
- package/cjs/S4323/index.js +3 -3
- package/cjs/S4323/meta.js +3 -3
- package/cjs/S4323/rule.js +3 -3
- package/cjs/S4324/generated-meta.js +5 -4
- package/cjs/S4324/index.js +3 -3
- package/cjs/S4324/meta.js +3 -3
- package/cjs/S4324/rule.js +3 -3
- package/cjs/S4328/config.js +3 -3
- package/cjs/S4328/generated-meta.js +5 -4
- package/cjs/S4328/index.js +3 -3
- package/cjs/S4328/meta.js +3 -3
- package/cjs/S4328/rule.js +10 -5
- package/cjs/S4335/generated-meta.js +5 -4
- package/cjs/S4335/index.js +3 -3
- package/cjs/S4335/meta.js +3 -3
- package/cjs/S4335/rule.js +3 -3
- package/cjs/S4423/generated-meta.js +5 -4
- package/cjs/S4423/index.js +3 -3
- package/cjs/S4423/meta.js +3 -3
- package/cjs/S4423/rule.aws.js +3 -3
- package/cjs/S4423/rule.js +3 -3
- package/cjs/S4423/rule.lib.js +3 -3
- package/cjs/S4426/generated-meta.js +5 -4
- package/cjs/S4426/index.js +3 -3
- package/cjs/S4426/meta.js +3 -3
- package/cjs/S4426/rule.js +3 -3
- package/cjs/S4502/generated-meta.js +6 -5
- package/cjs/S4502/index.js +3 -3
- package/cjs/S4502/meta.js +3 -3
- package/cjs/S4502/rule.js +3 -3
- package/cjs/S4507/generated-meta.js +6 -5
- package/cjs/S4507/index.js +3 -3
- package/cjs/S4507/meta.js +3 -3
- package/cjs/S4507/rule.js +3 -3
- package/cjs/S4524/generated-meta.js +5 -4
- package/cjs/S4524/index.js +3 -3
- package/cjs/S4524/meta.js +3 -3
- package/cjs/S4524/rule.js +3 -3
- package/cjs/S4619/generated-meta.js +5 -4
- package/cjs/S4619/index.js +3 -3
- package/cjs/S4619/meta.js +3 -3
- package/cjs/S4619/rule.js +3 -3
- package/cjs/S4621/generated-meta.js +5 -4
- package/cjs/S4621/index.js +3 -3
- package/cjs/S4621/meta.js +3 -3
- package/cjs/S4621/rule.js +3 -3
- package/cjs/S4622/config.js +3 -3
- package/cjs/S4622/generated-meta.js +5 -4
- package/cjs/S4622/index.js +3 -3
- package/cjs/S4622/meta.js +3 -3
- package/cjs/S4622/rule.js +3 -3
- package/cjs/S4623/generated-meta.js +5 -4
- package/cjs/S4623/index.js +3 -3
- package/cjs/S4623/meta.js +3 -3
- package/cjs/S4623/rule.js +3 -3
- package/cjs/S4624/generated-meta.js +6 -4
- package/cjs/S4624/index.js +3 -3
- package/cjs/S4624/meta.js +3 -3
- package/cjs/S4624/rule.js +5 -10
- package/cjs/S4634/generated-meta.js +6 -4
- package/cjs/S4634/index.js +3 -3
- package/cjs/S4634/meta.js +3 -3
- package/cjs/S4634/rule.js +3 -3
- package/cjs/S4721/generated-meta.js +8 -7
- package/cjs/S4721/index.js +3 -3
- package/cjs/S4721/meta.js +3 -3
- package/cjs/S4721/rule.js +3 -3
- package/cjs/S4782/generated-meta.js +5 -4
- package/cjs/S4782/index.js +3 -3
- package/cjs/S4782/meta.js +3 -3
- package/cjs/S4782/rule.js +99 -17
- package/cjs/S4790/generated-meta.js +6 -5
- package/cjs/S4790/index.js +3 -3
- package/cjs/S4790/meta.js +3 -3
- package/cjs/S4790/rule.js +220 -5
- package/cjs/S4798/generated-meta.js +5 -4
- package/cjs/S4798/index.js +3 -3
- package/cjs/S4798/meta.js +3 -3
- package/cjs/S4798/rule.js +3 -3
- package/cjs/S4822/generated-meta.js +6 -4
- package/cjs/S4822/index.js +3 -3
- package/cjs/S4822/meta.js +3 -3
- package/cjs/S4822/rule.js +3 -3
- package/cjs/S4830/generated-meta.js +5 -4
- package/cjs/S4830/index.js +3 -3
- package/cjs/S4830/meta.js +3 -3
- package/cjs/S4830/rule.js +3 -3
- package/cjs/S5042/generated-meta.js +9 -8
- package/cjs/S5042/index.js +3 -3
- package/cjs/S5042/meta.js +3 -3
- package/cjs/S5042/rule.js +3 -3
- package/cjs/S5122/generated-meta.js +6 -5
- package/cjs/S5122/index.js +3 -3
- package/cjs/S5122/meta.js +3 -3
- package/cjs/S5122/rule.js +3 -3
- package/cjs/S5148/generated-meta.js +6 -5
- package/cjs/S5148/index.js +3 -3
- package/cjs/S5148/meta.js +3 -3
- package/cjs/S5148/rule.js +3 -3
- package/cjs/S5247/generated-meta.js +6 -5
- package/cjs/S5247/index.js +3 -3
- package/cjs/S5247/meta.js +3 -3
- package/cjs/S5247/rule.js +3 -3
- package/cjs/S5256/generated-meta.js +5 -4
- package/cjs/S5256/index.js +3 -3
- package/cjs/S5256/meta.js +3 -3
- package/cjs/S5256/rule.js +3 -3
- package/cjs/S5257/generated-meta.js +5 -4
- package/cjs/S5257/index.js +3 -3
- package/cjs/S5257/meta.js +3 -3
- package/cjs/S5257/rule.js +3 -3
- package/cjs/S5260/generated-meta.js +5 -4
- package/cjs/S5260/index.js +3 -3
- package/cjs/S5260/meta.js +3 -3
- package/cjs/S5260/rule.js +3 -3
- package/cjs/S5264/generated-meta.js +5 -4
- package/cjs/S5264/index.js +3 -3
- package/cjs/S5264/meta.js +3 -3
- package/cjs/S5264/rule.js +3 -3
- package/cjs/S5332/generated-meta.js +6 -5
- package/cjs/S5332/index.js +3 -3
- package/cjs/S5332/meta.js +3 -3
- package/cjs/S5332/rule.aws.js +3 -3
- package/cjs/S5332/rule.js +3 -3
- package/cjs/S5332/rule.lib.js +57 -49
- package/cjs/S5443/generated-meta.js +6 -5
- package/cjs/S5443/index.js +3 -3
- package/cjs/S5443/meta.js +3 -3
- package/cjs/S5443/rule.js +3 -3
- package/cjs/S5527/generated-meta.js +5 -4
- package/cjs/S5527/index.js +3 -3
- package/cjs/S5527/meta.js +3 -3
- package/cjs/S5527/rule.js +3 -3
- package/cjs/S5542/generated-meta.js +5 -4
- package/cjs/S5542/index.js +3 -3
- package/cjs/S5542/meta.js +3 -3
- package/cjs/S5542/rule.js +3 -3
- package/cjs/S5547/generated-meta.js +5 -4
- package/cjs/S5547/index.js +3 -3
- package/cjs/S5547/meta.js +3 -3
- package/cjs/S5547/rule.js +3 -3
- package/cjs/S5604/config.js +3 -3
- package/cjs/S5604/generated-meta.js +8 -7
- package/cjs/S5604/index.js +3 -3
- package/cjs/S5604/meta.js +3 -3
- package/cjs/S5604/rule.js +3 -3
- package/cjs/S5659/generated-meta.js +5 -4
- package/cjs/S5659/index.js +3 -3
- package/cjs/S5659/meta.js +3 -3
- package/cjs/S5659/rule.js +3 -3
- package/cjs/S5689/generated-meta.js +6 -5
- package/cjs/S5689/index.js +3 -3
- package/cjs/S5689/meta.js +3 -3
- package/cjs/S5689/rule.js +3 -3
- package/cjs/S5691/generated-meta.js +8 -7
- package/cjs/S5691/index.js +3 -3
- package/cjs/S5691/meta.js +3 -3
- package/cjs/S5691/rule.js +3 -3
- package/cjs/S5693/config.js +3 -3
- package/cjs/S5693/generated-meta.js +6 -5
- package/cjs/S5693/index.js +3 -3
- package/cjs/S5693/meta.js +3 -3
- package/cjs/S5693/rule.js +48 -4
- package/cjs/S5725/generated-meta.js +6 -5
- package/cjs/S5725/index.js +3 -3
- package/cjs/S5725/meta.js +3 -3
- package/cjs/S5725/rule.js +78 -15
- package/cjs/S5728/generated-meta.js +6 -5
- package/cjs/S5728/index.js +3 -3
- package/cjs/S5728/meta.js +3 -3
- package/cjs/S5728/rule.js +3 -3
- package/cjs/S5730/generated-meta.js +8 -7
- package/cjs/S5730/index.js +3 -3
- package/cjs/S5730/meta.js +3 -3
- package/cjs/S5730/rule.js +3 -3
- package/cjs/S5732/generated-meta.js +8 -7
- package/cjs/S5732/index.js +3 -3
- package/cjs/S5732/meta.js +3 -3
- package/cjs/S5732/rule.js +3 -3
- package/cjs/S5734/generated-meta.js +6 -5
- package/cjs/S5734/index.js +3 -3
- package/cjs/S5734/meta.js +3 -3
- package/cjs/S5734/rule.js +3 -3
- package/cjs/S5736/generated-meta.js +6 -5
- package/cjs/S5736/index.js +3 -3
- package/cjs/S5736/meta.js +3 -3
- package/cjs/S5736/rule.js +3 -3
- package/cjs/S5739/generated-meta.js +6 -5
- package/cjs/S5739/index.js +3 -3
- package/cjs/S5739/meta.js +3 -3
- package/cjs/S5739/rule.js +3 -3
- package/cjs/S5757/generated-meta.js +8 -7
- package/cjs/S5757/index.js +3 -3
- package/cjs/S5757/meta.js +3 -3
- package/cjs/S5757/rule.js +3 -3
- package/cjs/S5759/generated-meta.js +8 -7
- package/cjs/S5759/index.js +3 -3
- package/cjs/S5759/meta.js +3 -3
- package/cjs/S5759/rule.js +3 -3
- package/cjs/S5842/generated-meta.js +5 -4
- package/cjs/S5842/index.js +3 -3
- package/cjs/S5842/meta.js +3 -3
- package/cjs/S5842/rule.js +3 -3
- package/cjs/S5843/config.js +3 -3
- package/cjs/S5843/generated-meta.js +5 -4
- package/cjs/S5843/index.js +3 -3
- package/cjs/S5843/meta.js +3 -3
- package/cjs/S5843/rule.js +3 -3
- package/cjs/S5845/generated-meta.js +52 -0
- package/cjs/{S2255 → S5845}/index.js +3 -3
- package/cjs/{S2255 → S5845}/meta.js +4 -4
- package/cjs/S5845/rule.js +296 -0
- package/cjs/S5850/generated-meta.js +5 -4
- package/cjs/S5850/index.js +3 -3
- package/cjs/S5850/meta.js +3 -3
- package/cjs/S5850/rule.js +3 -3
- package/cjs/S5852/generated-meta.js +6 -5
- package/cjs/S5852/index.js +3 -3
- package/cjs/S5852/meta.js +3 -3
- package/cjs/S5852/rule.js +14 -6
- package/cjs/S5856/generated-meta.js +5 -4
- package/cjs/S5856/index.js +3 -3
- package/cjs/S5856/meta.js +3 -3
- package/cjs/S5856/rule.js +3 -3
- package/cjs/S5860/generated-meta.js +5 -4
- package/cjs/S5860/index.js +3 -3
- package/cjs/S5860/meta.js +3 -3
- package/cjs/S5860/rule.js +3 -3
- package/cjs/S5863/generated-meta.js +5 -4
- package/cjs/S5863/index.js +3 -3
- package/cjs/S5863/meta.js +3 -3
- package/cjs/S5863/rule.js +3 -3
- package/cjs/S5867/generated-meta.js +5 -4
- package/cjs/S5867/index.js +3 -3
- package/cjs/S5867/meta.js +3 -3
- package/cjs/S5867/rule.js +3 -3
- package/cjs/S5868/generated-meta.js +5 -4
- package/cjs/S5868/index.js +3 -3
- package/cjs/S5868/meta.js +3 -3
- package/cjs/S5868/rule.js +57 -28
- package/cjs/S5869/generated-meta.js +5 -4
- package/cjs/S5869/index.js +3 -3
- package/cjs/S5869/meta.js +3 -3
- package/cjs/S5869/rule.js +3 -3
- package/cjs/S5876/generated-meta.js +5 -4
- package/cjs/S5876/index.js +3 -3
- package/cjs/S5876/meta.js +3 -3
- package/cjs/S5876/rule.js +3 -3
- package/cjs/S5906/assertion-suggestions.js +279 -0
- package/cjs/S5906/assertion-utils.js +103 -0
- package/cjs/S5906/cypress-suggestions.js +62 -0
- package/cjs/S5906/expect-chain.js +16 -0
- package/cjs/S5906/generated-meta.js +52 -0
- package/cjs/{S4787 → S5906}/index.js +3 -3
- package/cjs/{S4818 → S5906}/meta.js +4 -4
- package/cjs/S5906/playwright-suggestions.js +103 -0
- package/cjs/S5906/rule.js +365 -0
- package/cjs/S5914/generated-meta.js +52 -0
- package/cjs/{S4817 → S5914}/index.js +3 -3
- package/cjs/{S4787 → S5914}/meta.js +4 -4
- package/cjs/S5914/rule.js +213 -0
- package/cjs/S5958/generated-meta.js +5 -4
- package/cjs/S5958/index.js +3 -3
- package/cjs/S5958/meta.js +3 -3
- package/cjs/S5958/rule.js +3 -3
- package/cjs/S5973/generated-meta.js +5 -4
- package/cjs/S5973/index.js +3 -3
- package/cjs/S5973/meta.js +3 -3
- package/cjs/S5973/rule.js +4 -4
- package/cjs/S6019/generated-meta.js +5 -4
- package/cjs/S6019/index.js +3 -3
- package/cjs/S6019/meta.js +3 -3
- package/cjs/S6019/rule.js +3 -3
- package/cjs/S6035/generated-meta.js +5 -4
- package/cjs/S6035/index.js +3 -3
- package/cjs/S6035/meta.js +3 -3
- package/cjs/S6035/rule.js +3 -3
- package/cjs/S6079/generated-meta.js +5 -4
- package/cjs/S6079/index.js +3 -3
- package/cjs/S6079/meta.js +3 -3
- package/cjs/S6079/rule.js +3 -3
- package/cjs/S6080/generated-meta.js +5 -4
- package/cjs/S6080/index.js +3 -3
- package/cjs/S6080/meta.js +3 -3
- package/cjs/S6080/rule.js +3 -3
- package/cjs/S6092/generated-meta.js +5 -4
- package/cjs/S6092/index.js +3 -3
- package/cjs/S6092/meta.js +3 -3
- package/cjs/S6092/rule.js +3 -3
- package/cjs/S6249/generated-meta.js +6 -5
- package/cjs/S6249/index.js +3 -3
- package/cjs/S6249/meta.js +3 -3
- package/cjs/S6249/rule.js +3 -3
- package/cjs/S6252/generated-meta.js +6 -5
- package/cjs/S6252/index.js +3 -3
- package/cjs/S6252/meta.js +3 -3
- package/cjs/S6252/rule.js +3 -3
- package/cjs/S6265/generated-meta.js +6 -5
- package/cjs/S6265/index.js +3 -3
- package/cjs/S6265/meta.js +3 -3
- package/cjs/S6265/rule.js +3 -3
- package/cjs/S6268/generated-meta.js +6 -5
- package/cjs/S6268/index.js +3 -3
- package/cjs/S6268/meta.js +3 -3
- package/cjs/S6268/rule.js +3 -3
- package/cjs/S6270/generated-meta.js +6 -5
- package/cjs/S6270/index.js +3 -3
- package/cjs/S6270/meta.js +3 -3
- package/cjs/S6270/rule.js +3 -3
- package/cjs/S6275/generated-meta.js +6 -5
- package/cjs/S6275/index.js +3 -3
- package/cjs/S6275/meta.js +3 -3
- package/cjs/S6275/rule.js +3 -3
- package/cjs/S6281/generated-meta.js +6 -5
- package/cjs/S6281/index.js +3 -3
- package/cjs/S6281/meta.js +3 -3
- package/cjs/S6281/rule.js +10 -23
- package/cjs/S6302/generated-meta.js +6 -5
- package/cjs/S6302/index.js +3 -3
- package/cjs/S6302/meta.js +3 -3
- package/cjs/S6302/rule.js +3 -3
- package/cjs/S6303/generated-meta.js +6 -5
- package/cjs/S6303/index.js +3 -3
- package/cjs/S6303/meta.js +3 -3
- package/cjs/S6303/rule.js +3 -3
- package/cjs/S6304/generated-meta.js +6 -5
- package/cjs/S6304/index.js +3 -3
- package/cjs/S6304/meta.js +3 -3
- package/cjs/S6304/rule.js +3 -3
- package/cjs/S6308/generated-meta.js +6 -5
- package/cjs/S6308/index.js +3 -3
- package/cjs/S6308/meta.js +3 -3
- package/cjs/S6308/rule.js +3 -3
- package/cjs/S6317/generated-meta.js +5 -4
- package/cjs/S6317/index.js +3 -3
- package/cjs/S6317/meta.js +3 -3
- package/cjs/S6317/rule.js +3 -3
- package/cjs/S6319/generated-meta.js +6 -5
- package/cjs/S6319/index.js +3 -3
- package/cjs/S6319/meta.js +3 -3
- package/cjs/S6319/rule.js +3 -3
- package/cjs/S6321/generated-meta.js +5 -4
- package/cjs/S6321/index.js +3 -3
- package/cjs/S6321/meta.js +3 -3
- package/cjs/S6321/rule.js +3 -3
- package/cjs/S6323/generated-meta.js +5 -4
- package/cjs/S6323/index.js +3 -3
- package/cjs/S6323/meta.js +3 -3
- package/cjs/S6323/rule.js +3 -3
- package/cjs/S6324/generated-meta.js +5 -4
- package/cjs/S6324/index.js +3 -3
- package/cjs/S6324/meta.js +3 -3
- package/cjs/S6324/rule.js +8 -8
- package/cjs/S6326/generated-meta.js +5 -4
- package/cjs/S6326/index.js +3 -3
- package/cjs/S6326/meta.js +3 -3
- package/cjs/S6326/rule.js +3 -3
- package/cjs/S6327/generated-meta.js +6 -5
- package/cjs/S6327/index.js +3 -3
- package/cjs/S6327/meta.js +3 -3
- package/cjs/S6327/rule.js +3 -3
- package/cjs/S6328/generated-meta.js +5 -4
- package/cjs/S6328/index.js +3 -3
- package/cjs/S6328/meta.js +3 -3
- package/cjs/S6328/rule.js +3 -3
- package/cjs/S6329/generated-meta.js +6 -5
- package/cjs/S6329/index.js +3 -3
- package/cjs/S6329/meta.js +3 -3
- package/cjs/S6329/rule.js +3 -3
- package/cjs/S6330/generated-meta.js +6 -5
- package/cjs/S6330/index.js +3 -3
- package/cjs/S6330/meta.js +3 -3
- package/cjs/S6330/rule.js +3 -3
- package/cjs/S6331/generated-meta.js +5 -4
- package/cjs/S6331/index.js +3 -3
- package/cjs/S6331/meta.js +3 -3
- package/cjs/S6331/rule.js +3 -3
- package/cjs/S6332/generated-meta.js +6 -5
- package/cjs/S6332/index.js +3 -3
- package/cjs/S6332/meta.js +3 -3
- package/cjs/S6332/rule.js +3 -3
- package/cjs/S6333/generated-meta.js +6 -5
- package/cjs/S6333/index.js +3 -3
- package/cjs/S6333/meta.js +3 -3
- package/cjs/S6333/rule.js +3 -3
- package/cjs/S6351/generated-meta.js +5 -4
- package/cjs/S6351/index.js +3 -3
- package/cjs/S6351/meta.js +3 -3
- package/cjs/S6351/rule.js +3 -3
- package/cjs/S6353/generated-meta.js +5 -4
- package/cjs/S6353/index.js +3 -3
- package/cjs/S6353/meta.js +3 -3
- package/cjs/S6353/rule.js +3 -3
- package/cjs/S6397/generated-meta.js +5 -4
- package/cjs/S6397/index.js +3 -3
- package/cjs/S6397/meta.js +3 -3
- package/cjs/S6397/rule.js +3 -3
- package/cjs/S6418/config.js +3 -3
- package/cjs/S6418/generated-meta.js +5 -4
- package/cjs/S6418/index.js +3 -3
- package/cjs/S6418/meta.js +3 -3
- package/cjs/S6418/rule.js +3 -3
- package/cjs/S6426/generated-meta.js +5 -4
- package/cjs/S6426/index.js +3 -3
- package/cjs/S6426/meta.js +3 -3
- package/cjs/S6426/rule.js +9 -4
- package/cjs/S6437/generated-meta.js +5 -4
- package/cjs/S6437/index.js +3 -3
- package/cjs/S6437/meta.js +3 -3
- package/cjs/S6437/rule.js +12 -5
- package/cjs/S6439/generated-meta.js +6 -5
- package/cjs/S6439/index.js +3 -3
- package/cjs/S6439/meta.js +3 -3
- package/cjs/S6439/rule.js +3 -3
- package/cjs/S6442/generated-meta.js +6 -5
- package/cjs/S6442/index.js +3 -3
- package/cjs/S6442/meta.js +3 -3
- package/cjs/S6442/rule.js +3 -3
- package/cjs/S6443/generated-meta.js +6 -5
- package/cjs/S6443/index.js +3 -3
- package/cjs/S6443/meta.js +3 -3
- package/cjs/S6443/rule.js +3 -3
- package/cjs/S6486/generated-meta.js +5 -4
- package/cjs/S6486/index.js +3 -3
- package/cjs/S6486/meta.js +3 -3
- package/cjs/S6486/rule.js +8 -8
- package/cjs/S6564/generated-meta.js +5 -4
- package/cjs/S6564/index.js +3 -3
- package/cjs/S6564/meta.js +3 -3
- package/cjs/S6564/rule.js +3 -3
- package/cjs/S6594/generated-meta.js +5 -4
- package/cjs/S6594/index.js +3 -3
- package/cjs/S6594/meta.js +3 -3
- package/cjs/S6594/rule.js +3 -3
- package/cjs/S6627/generated-meta.js +5 -4
- package/cjs/S6627/index.js +3 -3
- package/cjs/S6627/meta.js +3 -3
- package/cjs/S6627/rule.js +3 -3
- package/cjs/S6759/generated-meta.js +5 -4
- package/cjs/S6759/index.js +3 -3
- package/cjs/S6759/meta.js +3 -3
- package/cjs/S6759/rule.js +34 -4
- package/cjs/S6958/generated-meta.js +5 -4
- package/cjs/S6958/index.js +3 -3
- package/cjs/S6958/meta.js +3 -3
- package/cjs/S6959/generated-meta.js +5 -4
- package/cjs/S6959/index.js +3 -3
- package/cjs/S6959/meta.js +3 -3
- package/cjs/S6959/rule.js +3 -3
- package/cjs/S7059/generated-meta.js +6 -4
- package/cjs/S7059/index.js +3 -3
- package/cjs/S7059/meta.js +3 -3
- package/cjs/S7059/rule.js +3 -3
- package/cjs/S7639/generated-meta.js +5 -4
- package/cjs/S7639/index.js +3 -3
- package/cjs/S7639/meta.js +3 -3
- package/cjs/S7639/rule.js +3 -3
- package/cjs/S7790/generated-meta.js +5 -4
- package/cjs/S7790/index.js +3 -3
- package/cjs/S7790/meta.js +3 -3
- package/cjs/S7790/rule.js +3 -3
- package/cjs/S8441/generated-meta.js +5 -4
- package/cjs/S8441/index.js +3 -3
- package/cjs/S8441/meta.js +3 -3
- package/cjs/S8441/rule.js +3 -3
- package/cjs/{S4817 → S8479}/generated-meta.js +12 -11
- package/cjs/S8479/index.js +21 -0
- package/cjs/S8479/meta.js +22 -0
- package/cjs/S8479/rule.js +239 -0
- package/cjs/S8754/generated-meta.js +52 -0
- package/cjs/S8754/index.js +21 -0
- package/cjs/{S5743 → S8754}/meta.js +4 -4
- package/cjs/S8754/rule.js +289 -0
- package/cjs/{S4784 → S8780}/generated-meta.js +12 -11
- package/cjs/S8780/index.js +21 -0
- package/cjs/S8780/meta.js +21 -0
- package/cjs/S8780/rule.js +321 -0
- package/cjs/S8781/generated-meta.js +52 -0
- package/cjs/S8781/index.js +21 -0
- package/cjs/S8781/meta.js +21 -0
- package/cjs/S8781/rule.js +112 -0
- package/cjs/S8782/generated-meta.js +52 -0
- package/cjs/S8782/index.js +21 -0
- package/cjs/S8782/meta.js +21 -0
- package/cjs/S8782/rule.js +148 -0
- package/cjs/S8783/generated-meta.js +52 -0
- package/cjs/S8783/index.js +21 -0
- package/cjs/S8783/meta.js +21 -0
- package/cjs/S8783/rule.js +167 -0
- package/cjs/{S4787 → S8786}/generated-meta.js +12 -11
- package/cjs/S8786/index.js +21 -0
- package/cjs/{S4784 → S8786}/meta.js +5 -4
- package/cjs/{S4818 → S8786}/rule.js +27 -23
- package/cjs/S881/generated-meta.js +5 -4
- package/cjs/S881/index.js +3 -3
- package/cjs/S881/meta.js +3 -3
- package/cjs/S881/rule.js +3 -3
- package/cjs/S888/generated-meta.js +5 -4
- package/cjs/S888/index.js +3 -3
- package/cjs/S888/meta.js +3 -3
- package/cjs/S888/rule.js +3 -3
- package/cjs/S930/generated-meta.js +5 -4
- package/cjs/S930/index.js +3 -3
- package/cjs/S930/meta.js +3 -3
- package/cjs/S930/rule.js +3 -3
- package/cjs/helpers/accessibility.js +3 -3
- package/cjs/helpers/assertions-chai-common.js +29 -0
- package/cjs/helpers/assertions-chai.js +331 -0
- package/cjs/helpers/assertions-cypress.js +95 -0
- package/cjs/helpers/assertions.js +285 -0
- package/cjs/helpers/ast.js +31 -1
- package/cjs/helpers/cache.js +3 -3
- package/cjs/helpers/chai.js +1 -1
- package/cjs/helpers/collection.js +3 -3
- package/cjs/helpers/configs.js +39 -3
- package/cjs/helpers/cypress.js +73 -0
- package/cjs/helpers/dependency-manifests/all-in-parent-dirs.js +92 -0
- package/cjs/helpers/dependency-manifests/closest.js +40 -0
- package/cjs/helpers/dependency-manifests/dependencies.js +255 -0
- package/cjs/helpers/dependency-manifests/index.js +78 -0
- package/cjs/helpers/dependency-manifests/parse.js +51 -0
- package/cjs/helpers/dependency-manifests/parsed-dependency-files.js +80 -0
- package/cjs/helpers/dependency-manifests/resolvers/deno.js +79 -0
- package/cjs/helpers/dependency-manifests/resolvers/helpers.js +41 -0
- package/cjs/helpers/dependency-manifests/resolvers/package-json.js +167 -0
- package/cjs/helpers/dependency-manifests/resolvers/types.js +4 -0
- package/cjs/helpers/entropy.js +5 -5
- package/cjs/helpers/files.js +33 -4
- package/cjs/helpers/find-up/all-in-parent-dirs.js +1 -0
- package/cjs/helpers/find-up/closest.js +4 -3
- package/cjs/helpers/find-up/find-minimatch.js +2 -2
- package/cjs/helpers/generate-meta.js +1 -1
- package/cjs/helpers/internal-metrics.js +27 -0
- package/cjs/helpers/mocha-style-test-frameworks.js +132 -0
- package/cjs/helpers/mocha.js +17 -7
- package/cjs/helpers/module-ts.js +8 -3
- package/cjs/helpers/module.js +116 -23
- package/cjs/helpers/numbers.js +62 -0
- package/cjs/helpers/playwright.js +13 -0
- package/cjs/helpers/recognizers/Detector.js +3 -3
- package/cjs/helpers/recognizers/detectors/CamelCaseDetector.js +3 -3
- package/cjs/helpers/recognizers/detectors/ContainsDetector.js +3 -3
- package/cjs/helpers/recognizers/detectors/EndWithDetector.js +3 -3
- package/cjs/helpers/recognizers/detectors/KeywordsDetector.js +3 -3
- package/cjs/helpers/regex/extract.js +21 -9
- package/cjs/helpers/regex/flags.js +12 -5
- package/cjs/helpers/sinon.js +0 -4
- package/cjs/helpers/supertest.js +0 -4
- package/cjs/helpers/test-file-pattern.js +63 -0
- package/cjs/helpers/type-origin.js +82 -0
- package/cjs/helpers/type.js +162 -1
- package/cjs/helpers/vitest.js +0 -4
- package/cjs/plugin-rules.js +299 -299
- package/docs/async-test-assertions.md +7 -0
- package/docs/aws-apigateway-public-api.md +1 -1
- package/docs/aws-ec2-rds-dms-public.md +1 -1
- package/docs/aws-ec2-unencrypted-ebs-volume.md +1 -1
- package/docs/aws-efs-unencrypted.md +1 -1
- package/docs/aws-iam-all-privileges.md +1 -1
- package/docs/aws-iam-all-resources-accessible.md +1 -1
- package/docs/aws-iam-public-access.md +1 -1
- package/docs/aws-opensearchservice-domain.md +1 -1
- package/docs/aws-rds-unencrypted-databases.md +1 -1
- package/docs/aws-s3-bucket-granted-access.md +1 -1
- package/docs/aws-s3-bucket-insecure-http.md +1 -1
- package/docs/aws-s3-bucket-public-access.md +1 -1
- package/docs/aws-s3-bucket-versioning.md +1 -1
- package/docs/aws-sagemaker-unencrypted-notebook.md +1 -1
- package/docs/aws-sns-unencrypted-topics.md +1 -1
- package/docs/aws-sqs-unencrypted-queue.md +1 -1
- package/docs/class-name.md +3 -3
- package/docs/code-eval.md +1 -1
- package/docs/confidential-information-logging.md +4 -2
- package/docs/content-length.md +1 -1
- package/docs/content-security-policy.md +1 -1
- package/docs/cookie-no-httponly.md +1 -1
- package/docs/cors.md +1 -1
- package/docs/csrf.md +1 -1
- package/docs/disabled-auto-escaping.md +1 -1
- package/docs/disabled-resource-integrity.md +1 -1
- package/docs/dompurify-unsafe-config.md +9 -0
- package/docs/frame-ancestors.md +4 -2
- package/docs/hashing.md +1 -1
- package/docs/hidden-files.md +4 -2
- package/docs/hooks-before-test-cases.md +7 -0
- package/docs/insecure-cookie.md +1 -1
- package/docs/link-with-target-blank.md +1 -1
- package/docs/no-angular-bypass-sanitization.md +1 -1
- package/docs/no-clear-text-protocols.md +1 -1
- package/docs/no-commented-code.md +1 -1
- package/docs/no-duplicate-test-title.md +7 -0
- package/docs/no-empty-test-title.md +7 -0
- package/docs/no-floating-point-equality.md +7 -0
- package/docs/no-forced-browser-interaction.md +7 -0
- package/docs/no-hardcoded-ip.md +1 -1
- package/docs/no-incompatible-assertion-types.md +9 -0
- package/docs/no-intrusive-permissions.md +4 -2
- package/docs/no-ip-forward.md +4 -2
- package/docs/no-mime-sniff.md +1 -1
- package/docs/no-mixed-content.md +4 -2
- package/docs/no-os-command-from-path.md +1 -1
- package/docs/no-referrer-policy.md +1 -1
- package/docs/no-small-switch.md +2 -0
- package/docs/no-trivial-assertions.md +7 -0
- package/docs/no-unsafe-unzip.md +4 -2
- package/docs/os-command.md +4 -2
- package/docs/prefer-specific-assertions.md +9 -0
- package/docs/production-debug.md +1 -1
- package/docs/pseudo-random.md +1 -1
- package/docs/publicly-writable-directories.md +1 -1
- package/docs/slow-regex.md +1 -1
- package/docs/sql-queries.md +1 -1
- package/docs/strict-transport-security.md +1 -1
- package/docs/super-linear-regex.md +7 -0
- package/docs/x-powered-by.md +1 -1
- package/package.json +7 -6
- package/types/S100/generated-meta.d.ts +1 -0
- package/types/S101/config.d.ts +1 -1
- package/types/S101/generated-meta.d.ts +1 -0
- package/types/S104/generated-meta.d.ts +1 -0
- package/types/S105/generated-meta.d.ts +1 -0
- package/types/S1066/generated-meta.d.ts +1 -0
- package/types/S1067/generated-meta.d.ts +1 -0
- package/types/S1110/generated-meta.d.ts +1 -0
- package/types/S1119/generated-meta.d.ts +1 -0
- package/types/S1121/generated-meta.d.ts +1 -0
- package/types/S1125/generated-meta.d.ts +1 -0
- package/types/S1126/generated-meta.d.ts +1 -0
- package/types/S1128/generated-meta.d.ts +2 -0
- package/types/S1134/generated-meta.d.ts +1 -0
- package/types/S1135/generated-meta.d.ts +1 -0
- package/types/S1154/generated-meta.d.ts +1 -0
- package/types/S117/generated-meta.d.ts +1 -0
- package/types/S1172/generated-meta.d.ts +1 -0
- package/types/S1192/generated-meta.d.ts +1 -0
- package/types/S1219/generated-meta.d.ts +1 -0
- package/types/S1226/generated-meta.d.ts +1 -0
- package/types/S124/generated-meta.d.ts +1 -0
- package/types/{S2255 → S1244}/generated-meta.d.ts +3 -2
- package/types/S1244/meta.d.ts +2 -0
- package/types/S125/generated-meta.d.ts +1 -0
- package/types/S126/generated-meta.d.ts +1 -0
- package/types/S1264/generated-meta.d.ts +1 -0
- package/types/S128/generated-meta.d.ts +1 -0
- package/types/S1291/generated-meta.d.ts +1 -0
- package/types/S1301/generated-meta.d.ts +2 -1
- package/types/S1313/generated-meta.d.ts +2 -1
- package/types/S134/config.d.ts +1 -1
- package/types/S134/generated-meta.d.ts +1 -0
- package/types/S135/generated-meta.d.ts +1 -0
- package/types/S138/generated-meta.d.ts +1 -0
- package/types/S1439/generated-meta.d.ts +1 -0
- package/types/S1444/generated-meta.d.ts +1 -0
- package/types/S1451/generated-meta.d.ts +1 -0
- package/types/S1472/generated-meta.d.ts +1 -0
- package/types/S1479/generated-meta.d.ts +1 -0
- package/types/S1481/generated-meta.d.ts +1 -0
- package/types/S1488/generated-meta.d.ts +1 -0
- package/types/S1515/generated-meta.d.ts +1 -0
- package/types/S1523/generated-meta.d.ts +1 -0
- package/types/S1526/generated-meta.d.ts +1 -0
- package/types/S1527/generated-meta.d.ts +1 -0
- package/types/S1528/generated-meta.d.ts +1 -0
- package/types/S1529/generated-meta.d.ts +1 -0
- package/types/S1530/generated-meta.d.ts +1 -0
- package/types/S1533/generated-meta.d.ts +1 -0
- package/types/S1535/generated-meta.d.ts +1 -0
- package/types/S1541/generated-meta.d.ts +1 -0
- package/types/S1607/generated-meta.d.ts +1 -0
- package/types/S1764/generated-meta.d.ts +1 -0
- package/types/S1821/generated-meta.d.ts +1 -0
- package/types/S1848/generated-meta.d.ts +1 -0
- package/types/S1854/generated-meta.d.ts +1 -0
- package/types/S1862/generated-meta.d.ts +1 -0
- package/types/S1871/generated-meta.d.ts +1 -0
- package/types/S1874/generated-meta.d.ts +1 -0
- package/types/S1940/generated-meta.d.ts +1 -0
- package/types/S1994/generated-meta.d.ts +1 -0
- package/types/S2004/generated-meta.d.ts +1 -0
- package/types/S2068/generated-meta.d.ts +1 -0
- package/types/S2077/generated-meta.d.ts +1 -0
- package/types/S2092/generated-meta.d.ts +1 -0
- package/types/S2123/generated-meta.d.ts +1 -0
- package/types/S2137/generated-meta.d.ts +1 -0
- package/types/S2138/generated-meta.d.ts +1 -0
- package/types/S2187/generated-meta.d.ts +1 -0
- package/types/S2201/generated-meta.d.ts +1 -0
- package/types/S2208/generated-meta.d.ts +2 -0
- package/types/S2234/generated-meta.d.ts +1 -0
- package/types/S2245/generated-meta.d.ts +1 -0
- package/types/S2251/generated-meta.d.ts +1 -0
- package/types/S2259/generated-meta.d.ts +1 -0
- package/types/S2301/generated-meta.d.ts +1 -0
- package/types/S2310/generated-meta.d.ts +1 -0
- package/types/S2392/generated-meta.d.ts +1 -0
- package/types/S2424/generated-meta.d.ts +1 -0
- package/types/S2428/generated-meta.d.ts +1 -0
- package/types/S2486/generated-meta.d.ts +1 -0
- package/types/S2589/generated-meta.d.ts +1 -0
- package/types/S2598/generated-meta.d.ts +1 -0
- package/types/S2612/generated-meta.d.ts +1 -0
- package/types/S2639/generated-meta.d.ts +1 -0
- package/types/S2681/generated-meta.d.ts +1 -0
- package/types/S2692/generated-meta.d.ts +1 -0
- package/types/S2699/generated-meta.d.ts +1 -0
- package/types/S2703/generated-meta.d.ts +1 -0
- package/types/S2737/generated-meta.d.ts +1 -0
- package/types/S2755/generated-meta.d.ts +1 -0
- package/types/S2757/generated-meta.d.ts +1 -0
- package/types/S2817/generated-meta.d.ts +1 -0
- package/types/S2819/generated-meta.d.ts +1 -0
- package/types/S2870/generated-meta.d.ts +1 -0
- package/types/S2871/generated-meta.d.ts +1 -0
- package/types/S2970/generated-meta.d.ts +1 -0
- package/types/S2990/generated-meta.d.ts +1 -0
- package/types/S2999/generated-meta.d.ts +1 -0
- package/types/S3001/generated-meta.d.ts +1 -0
- package/types/S3003/generated-meta.d.ts +1 -0
- package/types/S3317/generated-meta.d.ts +2 -0
- package/types/S3330/generated-meta.d.ts +1 -0
- package/types/S3358/generated-meta.d.ts +1 -0
- package/types/S3402/generated-meta.d.ts +1 -0
- package/types/S3403/generated-meta.d.ts +1 -0
- package/types/S3415/generated-meta.d.ts +1 -0
- package/types/S3499/generated-meta.d.ts +2 -0
- package/types/S3500/generated-meta.d.ts +2 -0
- package/types/S3513/generated-meta.d.ts +2 -0
- package/types/S3514/generated-meta.d.ts +2 -0
- package/types/S3516/generated-meta.d.ts +1 -0
- package/types/S3524/generated-meta.d.ts +2 -0
- package/types/S3525/generated-meta.d.ts +2 -0
- package/types/S3531/generated-meta.d.ts +2 -0
- package/types/S3533/generated-meta.d.ts +2 -0
- package/types/S3579/generated-meta.d.ts +1 -0
- package/types/S3616/generated-meta.d.ts +1 -0
- package/types/S3626/generated-meta.d.ts +1 -0
- package/types/S3686/generated-meta.d.ts +1 -0
- package/types/S3699/generated-meta.d.ts +1 -0
- package/types/S3735/generated-meta.d.ts +1 -0
- package/types/S3757/generated-meta.d.ts +1 -0
- package/types/S3758/generated-meta.d.ts +1 -0
- package/types/S3760/generated-meta.d.ts +1 -0
- package/types/S3776/generated-meta.d.ts +1 -0
- package/types/S3776/meta.d.ts +2 -0
- package/types/S3782/generated-meta.d.ts +1 -0
- package/types/S3785/generated-meta.d.ts +1 -0
- package/types/S3796/generated-meta.d.ts +1 -0
- package/types/S3798/generated-meta.d.ts +1 -0
- package/types/S3800/generated-meta.d.ts +1 -0
- package/types/S3801/generated-meta.d.ts +1 -0
- package/types/S3827/generated-meta.d.ts +1 -0
- package/types/S3923/generated-meta.d.ts +1 -0
- package/types/S3972/generated-meta.d.ts +1 -0
- package/types/S3973/generated-meta.d.ts +1 -0
- package/types/S3981/generated-meta.d.ts +1 -0
- package/types/S3984/generated-meta.d.ts +1 -0
- package/types/S4030/generated-meta.d.ts +1 -0
- package/types/S4036/generated-meta.d.ts +1 -0
- package/types/S4043/generated-meta.d.ts +1 -0
- package/types/S4139/generated-meta.d.ts +1 -0
- package/types/S4143/generated-meta.d.ts +1 -0
- package/types/S4144/generated-meta.d.ts +1 -0
- package/types/S4158/generated-meta.d.ts +1 -0
- package/types/S4165/generated-meta.d.ts +1 -0
- package/types/S4322/generated-meta.d.ts +1 -0
- package/types/S4323/generated-meta.d.ts +1 -0
- package/types/S4324/generated-meta.d.ts +1 -0
- package/types/S4328/generated-meta.d.ts +1 -0
- package/types/S4335/generated-meta.d.ts +1 -0
- package/types/S4423/generated-meta.d.ts +1 -0
- package/types/S4426/generated-meta.d.ts +1 -0
- package/types/S4502/generated-meta.d.ts +1 -0
- package/types/S4507/generated-meta.d.ts +1 -0
- package/types/S4524/generated-meta.d.ts +1 -0
- package/types/S4619/generated-meta.d.ts +1 -0
- package/types/S4621/generated-meta.d.ts +1 -0
- package/types/S4622/generated-meta.d.ts +1 -0
- package/types/S4623/generated-meta.d.ts +1 -0
- package/types/S4624/generated-meta.d.ts +2 -0
- package/types/S4634/generated-meta.d.ts +2 -0
- package/types/S4721/generated-meta.d.ts +2 -1
- package/types/S4782/generated-meta.d.ts +1 -0
- package/types/S4790/generated-meta.d.ts +1 -0
- package/types/S4798/generated-meta.d.ts +1 -0
- package/types/S4822/generated-meta.d.ts +2 -0
- package/types/S4830/generated-meta.d.ts +1 -0
- package/types/S5042/generated-meta.d.ts +3 -2
- package/types/S5122/generated-meta.d.ts +1 -0
- package/types/S5148/generated-meta.d.ts +1 -0
- package/types/S5247/generated-meta.d.ts +1 -0
- package/types/S5256/generated-meta.d.ts +1 -0
- package/types/S5257/generated-meta.d.ts +1 -0
- package/types/S5260/generated-meta.d.ts +1 -0
- package/types/S5264/generated-meta.d.ts +1 -0
- package/types/S5332/generated-meta.d.ts +1 -0
- package/types/S5443/generated-meta.d.ts +1 -0
- package/types/S5527/generated-meta.d.ts +1 -0
- package/types/S5542/generated-meta.d.ts +1 -0
- package/types/S5547/generated-meta.d.ts +1 -0
- package/types/S5604/generated-meta.d.ts +2 -1
- package/types/S5659/generated-meta.d.ts +1 -0
- package/types/S5689/generated-meta.d.ts +1 -0
- package/types/S5691/generated-meta.d.ts +2 -1
- package/types/S5693/generated-meta.d.ts +1 -0
- package/types/S5725/generated-meta.d.ts +1 -0
- package/types/S5728/generated-meta.d.ts +1 -0
- package/types/S5730/generated-meta.d.ts +2 -1
- package/types/S5732/generated-meta.d.ts +2 -1
- package/types/S5734/generated-meta.d.ts +1 -0
- package/types/S5736/generated-meta.d.ts +1 -0
- package/types/S5739/generated-meta.d.ts +1 -0
- package/types/S5757/generated-meta.d.ts +2 -1
- package/types/S5759/generated-meta.d.ts +2 -1
- package/types/S5842/generated-meta.d.ts +1 -0
- package/types/S5843/generated-meta.d.ts +1 -0
- package/types/S5845/generated-meta.d.ts +18 -0
- package/types/S5845/meta.d.ts +2 -0
- package/types/S5850/generated-meta.d.ts +1 -0
- package/types/S5852/generated-meta.d.ts +1 -0
- package/types/S5856/generated-meta.d.ts +1 -0
- package/types/S5860/generated-meta.d.ts +1 -0
- package/types/S5863/generated-meta.d.ts +1 -0
- package/types/S5867/generated-meta.d.ts +1 -0
- package/types/S5868/generated-meta.d.ts +1 -0
- package/types/S5869/generated-meta.d.ts +1 -0
- package/types/S5876/generated-meta.d.ts +1 -0
- package/types/S5906/assertion-suggestions.d.ts +7 -0
- package/types/S5906/assertion-utils.d.ts +14 -0
- package/types/S5906/cypress-suggestions.d.ts +4 -0
- package/types/S5906/expect-chain.d.ts +5 -0
- package/types/S5906/generated-meta.d.ts +18 -0
- package/types/S5906/meta.d.ts +2 -0
- package/types/S5906/playwright-suggestions.d.ts +4 -0
- package/types/S5914/generated-meta.d.ts +18 -0
- package/types/S5914/meta.d.ts +2 -0
- package/types/S5958/generated-meta.d.ts +1 -0
- package/types/S5973/generated-meta.d.ts +1 -0
- package/types/S6019/generated-meta.d.ts +1 -0
- package/types/S6035/generated-meta.d.ts +1 -0
- package/types/S6079/generated-meta.d.ts +1 -0
- package/types/S6080/generated-meta.d.ts +1 -0
- package/types/S6092/generated-meta.d.ts +1 -0
- package/types/S6249/generated-meta.d.ts +1 -0
- package/types/S6252/generated-meta.d.ts +1 -0
- package/types/S6265/generated-meta.d.ts +1 -0
- package/types/S6268/generated-meta.d.ts +1 -0
- package/types/S6270/generated-meta.d.ts +1 -0
- package/types/S6275/generated-meta.d.ts +1 -0
- package/types/S6281/generated-meta.d.ts +1 -0
- package/types/S6302/generated-meta.d.ts +1 -0
- package/types/S6303/generated-meta.d.ts +1 -0
- package/types/S6304/generated-meta.d.ts +1 -0
- package/types/S6308/generated-meta.d.ts +1 -0
- package/types/S6317/generated-meta.d.ts +1 -0
- package/types/S6319/generated-meta.d.ts +1 -0
- package/types/S6321/generated-meta.d.ts +1 -0
- package/types/S6323/generated-meta.d.ts +1 -0
- package/types/S6324/generated-meta.d.ts +1 -0
- package/types/S6326/generated-meta.d.ts +1 -0
- package/types/S6327/generated-meta.d.ts +1 -0
- package/types/S6328/generated-meta.d.ts +1 -0
- package/types/S6329/generated-meta.d.ts +1 -0
- package/types/S6330/generated-meta.d.ts +1 -0
- package/types/S6331/generated-meta.d.ts +1 -0
- package/types/S6332/generated-meta.d.ts +1 -0
- package/types/S6333/generated-meta.d.ts +1 -0
- package/types/S6351/generated-meta.d.ts +1 -0
- package/types/S6353/generated-meta.d.ts +1 -0
- package/types/S6397/generated-meta.d.ts +1 -0
- package/types/S6418/generated-meta.d.ts +1 -0
- package/types/S6426/generated-meta.d.ts +1 -0
- package/types/S6437/generated-meta.d.ts +1 -0
- package/types/S6439/generated-meta.d.ts +2 -1
- package/types/S6442/generated-meta.d.ts +2 -1
- package/types/S6443/generated-meta.d.ts +2 -1
- package/types/S6486/generated-meta.d.ts +1 -0
- package/types/S6564/generated-meta.d.ts +1 -0
- package/types/S6594/generated-meta.d.ts +1 -0
- package/types/S6627/generated-meta.d.ts +1 -0
- package/types/S6759/generated-meta.d.ts +1 -0
- package/types/S6958/generated-meta.d.ts +1 -0
- package/types/S6959/generated-meta.d.ts +1 -0
- package/types/S7059/generated-meta.d.ts +2 -0
- package/types/S7639/generated-meta.d.ts +1 -0
- package/types/S7790/generated-meta.d.ts +1 -0
- package/types/S8441/generated-meta.d.ts +1 -0
- package/types/{S4787 → S8479}/generated-meta.d.ts +4 -3
- package/types/S8479/meta.d.ts +2 -0
- package/types/S8754/generated-meta.d.ts +18 -0
- package/types/{S5743 → S8754}/meta.d.ts +1 -1
- package/types/{S4817 → S8780}/generated-meta.d.ts +4 -3
- package/types/S8780/meta.d.ts +2 -0
- package/types/S8781/generated-meta.d.ts +18 -0
- package/types/S8781/meta.d.ts +2 -0
- package/types/S8782/generated-meta.d.ts +18 -0
- package/types/S8782/meta.d.ts +2 -0
- package/types/S8783/generated-meta.d.ts +18 -0
- package/types/S8783/meta.d.ts +2 -0
- package/types/{S4784 → S8786}/generated-meta.d.ts +4 -3
- package/types/S8786/meta.d.ts +2 -0
- package/types/S881/generated-meta.d.ts +1 -0
- package/types/S888/generated-meta.d.ts +1 -0
- package/types/S930/generated-meta.d.ts +1 -0
- package/types/helpers/assertions-chai-common.d.ts +7 -0
- package/types/helpers/assertions-chai.d.ts +4 -0
- package/types/helpers/assertions-cypress.d.ts +7 -0
- package/types/helpers/assertions.d.ts +39 -0
- package/types/helpers/ast.d.ts +10 -0
- package/types/helpers/configs.d.ts +7 -38
- package/types/helpers/cypress.d.ts +11 -0
- package/types/helpers/dependency-manifests/all-in-parent-dirs.d.ts +18 -0
- package/types/helpers/dependency-manifests/closest.d.ts +5 -0
- package/types/helpers/dependency-manifests/dependencies.d.ts +73 -0
- package/types/helpers/dependency-manifests/index.d.ts +22 -0
- package/types/helpers/dependency-manifests/parse.d.ts +12 -0
- package/types/helpers/dependency-manifests/parsed-dependency-files.d.ts +8 -0
- package/types/helpers/dependency-manifests/resolvers/deno.d.ts +12 -0
- package/types/helpers/dependency-manifests/resolvers/helpers.d.ts +12 -0
- package/types/helpers/dependency-manifests/resolvers/package-json.d.ts +2 -0
- package/types/helpers/dependency-manifests/resolvers/types.d.ts +46 -0
- package/types/helpers/files.d.ts +14 -21
- package/types/helpers/generate-meta.d.ts +5 -0
- package/types/helpers/internal-metrics.d.ts +5 -0
- package/types/helpers/mocha-style-test-frameworks.d.ts +19 -0
- package/types/helpers/mocha.d.ts +7 -0
- package/types/helpers/module.d.ts +14 -8
- package/types/helpers/numbers.d.ts +4 -0
- package/types/helpers/playwright.d.ts +2 -0
- package/types/helpers/regex/extract.d.ts +7 -3
- package/types/helpers/sinon.d.ts +0 -1
- package/types/helpers/supertest.d.ts +0 -1
- package/types/helpers/test-file-pattern.d.ts +17 -0
- package/types/helpers/type-origin.d.ts +31 -0
- package/types/helpers/type.d.ts +92 -1
- package/types/helpers/vitest.d.ts +0 -1
- package/types/plugin-rules.d.ts +11 -11
- package/cjs/S2255/rule.js +0 -111
- package/cjs/S4784/rule.js +0 -120
- package/cjs/S4787/rule.js +0 -124
- package/cjs/S4817/rule.js +0 -103
- package/cjs/S4818/generated-meta.js +0 -51
- package/cjs/S4818/index.js +0 -21
- package/cjs/S4823/generated-meta.js +0 -51
- package/cjs/S4823/index.js +0 -21
- package/cjs/S4823/meta.js +0 -21
- package/cjs/S4823/rule.js +0 -75
- package/cjs/S4829/generated-meta.js +0 -51
- package/cjs/S4829/index.js +0 -21
- package/cjs/S4829/meta.js +0 -21
- package/cjs/S4829/rule.js +0 -75
- package/cjs/S5742/generated-meta.js +0 -51
- package/cjs/S5742/index.js +0 -21
- package/cjs/S5742/meta.js +0 -22
- package/cjs/S5742/rule.js +0 -75
- package/cjs/S5743/generated-meta.js +0 -51
- package/cjs/S5743/index.js +0 -21
- package/cjs/S5743/rule.js +0 -78
- package/cjs/S6245/generated-meta.js +0 -51
- package/cjs/S6245/index.js +0 -21
- package/cjs/S6245/meta.js +0 -22
- package/cjs/S6245/rule.js +0 -87
- package/cjs/S6299/generated-meta.js +0 -51
- package/cjs/S6299/index.js +0 -21
- package/cjs/S6299/meta.js +0 -21
- package/cjs/S6299/rule.js +0 -93
- package/cjs/helpers/package-jsons/all-in-parent-dirs.js +0 -31
- package/cjs/helpers/package-jsons/closest.js +0 -32
- package/cjs/helpers/package-jsons/dependencies.js +0 -87
- package/cjs/helpers/package-jsons/index.js +0 -41
- package/cjs/helpers/package-jsons/parse.js +0 -79
- package/docs/aws-s3-bucket-server-encryption.md +0 -9
- package/docs/certificate-transparency.md +0 -9
- package/docs/cookies.md +0 -9
- package/docs/dns-prefetching.md +0 -9
- package/docs/encryption.md +0 -9
- package/docs/no-vue-bypass-sanitization.md +0 -9
- package/docs/process-argv.md +0 -9
- package/docs/regular-expr.md +0 -9
- package/docs/sockets.md +0 -9
- package/docs/standard-input.md +0 -9
- package/docs/xpath.md +0 -9
- package/types/S2255/meta.d.ts +0 -2
- package/types/S4784/meta.d.ts +0 -2
- package/types/S4787/meta.d.ts +0 -2
- package/types/S4817/meta.d.ts +0 -2
- package/types/S4818/generated-meta.d.ts +0 -17
- package/types/S4818/meta.d.ts +0 -2
- package/types/S4823/generated-meta.d.ts +0 -17
- package/types/S4823/meta.d.ts +0 -2
- package/types/S4829/generated-meta.d.ts +0 -17
- package/types/S4829/meta.d.ts +0 -2
- package/types/S5742/generated-meta.d.ts +0 -17
- package/types/S5742/meta.d.ts +0 -3
- package/types/S5743/generated-meta.d.ts +0 -17
- package/types/S6245/generated-meta.d.ts +0 -17
- package/types/S6245/meta.d.ts +0 -3
- package/types/S6299/generated-meta.d.ts +0 -17
- package/types/S6299/meta.d.ts +0 -2
- package/types/helpers/package-jsons/all-in-parent-dirs.d.ts +0 -10
- package/types/helpers/package-jsons/closest.d.ts +0 -2
- package/types/helpers/package-jsons/dependencies.d.ts +0 -32
- package/types/helpers/package-jsons/index.d.ts +0 -8
- package/types/helpers/package-jsons/parse.d.ts +0 -13
- /package/types/{S2255 → S1244}/index.d.ts +0 -0
- /package/types/{S2255 → S1244}/rule.d.ts +0 -0
- /package/types/{S4784 → S5845}/index.d.ts +0 -0
- /package/types/{S4784 → S5845}/rule.d.ts +0 -0
- /package/types/{S4787 → S5906}/index.d.ts +0 -0
- /package/types/{S4787 → S5906}/rule.d.ts +0 -0
- /package/types/{S4817 → S5914}/index.d.ts +0 -0
- /package/types/{S4817 → S5914}/rule.d.ts +0 -0
- /package/types/{S4818 → S8479}/index.d.ts +0 -0
- /package/types/{S4818 → S8479}/rule.d.ts +0 -0
- /package/types/{S4823 → S8754}/index.d.ts +0 -0
- /package/types/{S4823 → S8754}/rule.d.ts +0 -0
- /package/types/{S4829 → S8780}/index.d.ts +0 -0
- /package/types/{S4829 → S8780}/rule.d.ts +0 -0
- /package/types/{S5742 → S8781}/index.d.ts +0 -0
- /package/types/{S5742 → S8781}/rule.d.ts +0 -0
- /package/types/{S5743 → S8782}/index.d.ts +0 -0
- /package/types/{S5743 → S8782}/rule.d.ts +0 -0
- /package/types/{S6245 → S8783}/index.d.ts +0 -0
- /package/types/{S6245 → S8783}/rule.d.ts +0 -0
- /package/types/{S6299 → S8786}/index.d.ts +0 -0
- /package/types/{S6299 → S8786}/rule.d.ts +0 -0
package/cjs/S5868/rule.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
3
|
* SonarQube JavaScript Plugin
|
|
4
|
-
* Copyright (C)
|
|
4
|
+
* Copyright (C) SonarSource Sàrl
|
|
5
5
|
* mailto:info AT sonarsource DOT com
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* You can redistribute and/or modify this program under the terms of
|
|
8
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
9
9
|
*
|
|
10
10
|
* This program is distributed in the hope that it will be useful,
|
|
11
11
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
@@ -51,7 +51,6 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
51
51
|
})();
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
53
|
exports.rule = void 0;
|
|
54
|
-
const ancestor_js_1 = require("../helpers/ancestor.js");
|
|
55
54
|
const generate_meta_js_1 = require("../helpers/generate-meta.js");
|
|
56
55
|
const ast_js_1 = require("../helpers/ast.js");
|
|
57
56
|
const regexpp_1 = require("@eslint-community/regexpp");
|
|
@@ -65,7 +64,21 @@ const MODIFIABLE_REGEXP_FLAGS_TYPES = new Set([
|
|
|
65
64
|
'TemplateLiteral',
|
|
66
65
|
'TaggedTemplateExpression',
|
|
67
66
|
]);
|
|
67
|
+
const MIN_HIGH_SURROGATE = 0xd800;
|
|
68
|
+
const MIN_LOW_SURROGATE = 0xdc00;
|
|
69
|
+
const MAX_LOW_SURROGATE_EXCLUSIVE = 0xe000;
|
|
70
|
+
const MIN_EMOJI_MODIFIER = 0x1f3fb;
|
|
71
|
+
const MAX_EMOJI_MODIFIER = 0x1f3ff;
|
|
72
|
+
const MIN_REGIONAL_INDICATOR = 0x1f1e6;
|
|
73
|
+
const MAX_REGIONAL_INDICATOR = 0x1f1ff;
|
|
74
|
+
const ZERO_WIDTH_JOINER = 0x200d;
|
|
68
75
|
exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
76
|
+
let currentSeams = [];
|
|
77
|
+
// Seam positions are in pattern space, while regexpp positions include the opening slash.
|
|
78
|
+
// A pair straddles a seam only when the seam is exactly before charB.
|
|
79
|
+
function spansSeam(charA, charB) {
|
|
80
|
+
return charA.end === charB.start && currentSeams.some(seam => seam + 1 === charB.start);
|
|
81
|
+
}
|
|
69
82
|
function checkSequence(sequence) {
|
|
70
83
|
// Stop on the first illegal character in the sequence
|
|
71
84
|
for (let index = 0; index < sequence.length; index++) {
|
|
@@ -75,20 +88,16 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
75
88
|
}
|
|
76
89
|
}
|
|
77
90
|
function checkCharacter(character, index, characters) {
|
|
78
|
-
// Stop on the first
|
|
79
|
-
// for instance a zero-width
|
|
80
|
-
|
|
81
|
-
if (check(character, index, characters)) {
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return false;
|
|
91
|
+
// Stop on the first check that fires as checks may overlap,
|
|
92
|
+
// for instance a zero-width sequence containing a modified emoji.
|
|
93
|
+
return characterChecks.some(check => check(character, index, characters));
|
|
86
94
|
}
|
|
87
95
|
function checkCombinedCharacter(character, index, characters) {
|
|
88
96
|
let reported = false;
|
|
89
97
|
if (index !== 0 &&
|
|
90
98
|
isCombiningCharacter(character.value) &&
|
|
91
|
-
!isCombiningCharacter(characters[index - 1].value)
|
|
99
|
+
!isCombiningCharacter(characters[index - 1].value) &&
|
|
100
|
+
!spansSeam(characters[index - 1], character)) {
|
|
92
101
|
const combinedChar = characters[index - 1].raw + characters[index].raw;
|
|
93
102
|
const message = `Move this Unicode combined character '${combinedChar}' outside of the character class`;
|
|
94
103
|
context.reportRegExpNode({ regexpNode: characters[index], node: context.node, message });
|
|
@@ -98,7 +107,9 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
98
107
|
}
|
|
99
108
|
function checkSurrogatePairTailCharacter(character, index, characters) {
|
|
100
109
|
let reported = false;
|
|
101
|
-
if (index !== 0 &&
|
|
110
|
+
if (index !== 0 &&
|
|
111
|
+
isSurrogatePair(characters[index - 1].value, character.value) &&
|
|
112
|
+
!spansSeam(characters[index - 1], character)) {
|
|
102
113
|
const surrogatePair = characters[index - 1].raw + characters[index].raw;
|
|
103
114
|
const message = `Move this Unicode surrogate pair '${surrogatePair}' outside of the character class or use 'u' flag`;
|
|
104
115
|
const pattern = (0, extract_js_1.getPatternFromNode)(context.node, context)?.pattern;
|
|
@@ -125,7 +136,7 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
125
136
|
if ((0, ast_js_1.isRegexLiteral)(node)) {
|
|
126
137
|
return insertTextAfter(fixer, node, 'u');
|
|
127
138
|
}
|
|
128
|
-
const regExpConstructor = getRegExpConstructor(node);
|
|
139
|
+
const regExpConstructor = getRegExpConstructor(node, sourceCode);
|
|
129
140
|
if (!regExpConstructor) {
|
|
130
141
|
return null;
|
|
131
142
|
}
|
|
@@ -144,7 +155,8 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
144
155
|
let reported = false;
|
|
145
156
|
if (index !== 0 &&
|
|
146
157
|
isEmojiModifier(character.value) &&
|
|
147
|
-
!isEmojiModifier(characters[index - 1].value)
|
|
158
|
+
!isEmojiModifier(characters[index - 1].value) &&
|
|
159
|
+
!spansSeam(characters[index - 1], character)) {
|
|
148
160
|
const modifiedEmoji = characters[index - 1].raw + characters[index].raw;
|
|
149
161
|
const message = `Move this Unicode modified Emoji '${modifiedEmoji}' outside of the character class`;
|
|
150
162
|
context.reportRegExpNode({ regexpNode: characters[index], node: context.node, message });
|
|
@@ -156,7 +168,8 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
156
168
|
let reported = false;
|
|
157
169
|
if (index !== 0 &&
|
|
158
170
|
isRegionalIndicator(character.value) &&
|
|
159
|
-
isRegionalIndicator(characters[index - 1].value)
|
|
171
|
+
isRegionalIndicator(characters[index - 1].value) &&
|
|
172
|
+
!spansSeam(characters[index - 1], character)) {
|
|
160
173
|
const regionalIndicator = characters[index - 1].raw + characters[index].raw;
|
|
161
174
|
const message = `Move this Unicode regional indicator '${regionalIndicator}' outside of the character class`;
|
|
162
175
|
context.reportRegExpNode({ regexpNode: characters[index], node: context.node, message });
|
|
@@ -170,7 +183,9 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
170
183
|
index !== characters.length - 1 &&
|
|
171
184
|
isZeroWidthJoiner(character.value) &&
|
|
172
185
|
!isZeroWidthJoiner(characters[index - 1].value) &&
|
|
173
|
-
!isZeroWidthJoiner(characters[index + 1].value)
|
|
186
|
+
!isZeroWidthJoiner(characters[index + 1].value) &&
|
|
187
|
+
!spansSeam(characters[index - 1], character) &&
|
|
188
|
+
!spansSeam(character, characters[index + 1])) {
|
|
174
189
|
// It's practically difficult to determine the full joined character sequence
|
|
175
190
|
// as it may join more than 2 elements that consist of characters or modified Emojis
|
|
176
191
|
// see: https://unicode.org/emoji/charts/emoji-zwj-sequences.html
|
|
@@ -186,7 +201,7 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
186
201
|
}
|
|
187
202
|
function isValidWithUnicodeFlag(pattern) {
|
|
188
203
|
try {
|
|
189
|
-
validator.validatePattern(pattern, undefined, undefined, true);
|
|
204
|
+
validator.validatePattern(pattern, undefined, undefined, { unicode: true });
|
|
190
205
|
return true;
|
|
191
206
|
}
|
|
192
207
|
catch {
|
|
@@ -205,6 +220,7 @@ exports.rule = (0, rule_template_js_1.createRegExpRule)(context => {
|
|
|
205
220
|
];
|
|
206
221
|
return {
|
|
207
222
|
onCharacterClassEnter(ccNode) {
|
|
223
|
+
currentSeams = (0, extract_js_1.getPatternFromNode)(context.node, context)?.seams ?? [];
|
|
208
224
|
for (const chars of characters(ccNode.elements)) {
|
|
209
225
|
checkSequence(chars);
|
|
210
226
|
}
|
|
@@ -219,10 +235,10 @@ function characters(nodes) {
|
|
|
219
235
|
current.push(node);
|
|
220
236
|
}
|
|
221
237
|
else if (node.type === 'CharacterClassRange') {
|
|
222
|
-
//
|
|
223
|
-
//
|
|
238
|
+
// For [xa-z], check [xa] but do not pair z with the next range or character.
|
|
239
|
+
// Report if the sequence ending at the range minimum is a grapheme cluster.
|
|
224
240
|
current.push(node.min);
|
|
225
|
-
current = [
|
|
241
|
+
current = [];
|
|
226
242
|
sequences.push(current);
|
|
227
243
|
}
|
|
228
244
|
else if (node.type === 'CharacterSet' && current.length > 0) {
|
|
@@ -238,19 +254,32 @@ function isCombiningCharacter(codePoint) {
|
|
|
238
254
|
return /^[\p{Mc}\p{Me}\p{Mn}]$/u.test(String.fromCodePoint(codePoint));
|
|
239
255
|
}
|
|
240
256
|
function isSurrogatePair(lead, tail) {
|
|
241
|
-
return lead >=
|
|
257
|
+
return (lead >= MIN_HIGH_SURROGATE &&
|
|
258
|
+
lead < MIN_LOW_SURROGATE &&
|
|
259
|
+
tail >= MIN_LOW_SURROGATE &&
|
|
260
|
+
tail < MAX_LOW_SURROGATE_EXCLUSIVE);
|
|
242
261
|
}
|
|
243
262
|
function isEmojiModifier(code) {
|
|
244
|
-
return code >=
|
|
263
|
+
return code >= MIN_EMOJI_MODIFIER && code <= MAX_EMOJI_MODIFIER;
|
|
245
264
|
}
|
|
246
265
|
function isRegionalIndicator(code) {
|
|
247
|
-
return code >=
|
|
266
|
+
return code >= MIN_REGIONAL_INDICATOR && code <= MAX_REGIONAL_INDICATOR;
|
|
248
267
|
}
|
|
249
268
|
function isZeroWidthJoiner(code) {
|
|
250
|
-
return code ===
|
|
269
|
+
return code === ZERO_WIDTH_JOINER;
|
|
270
|
+
}
|
|
271
|
+
function getRegExpConstructor(node, sourceCode) {
|
|
272
|
+
const ancestors = sourceCode.getAncestors(node);
|
|
273
|
+
for (let i = ancestors.length - 1; i >= 0; i--) {
|
|
274
|
+
const ancestor = ancestors[i];
|
|
275
|
+
if (ancestor && isRegExpConstructorCallOrNew(ancestor)) {
|
|
276
|
+
return ancestor;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return undefined;
|
|
251
280
|
}
|
|
252
|
-
function
|
|
253
|
-
return (0,
|
|
281
|
+
function isRegExpConstructorCallOrNew(node) {
|
|
282
|
+
return (0, ast_js_2.isRegExpConstructor)(node);
|
|
254
283
|
}
|
|
255
284
|
function hasModifiableFlags(regExpConstructor) {
|
|
256
285
|
const args = regExpConstructor.arguments;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
3
|
* SonarQube JavaScript Plugin
|
|
4
|
-
* Copyright (C)
|
|
4
|
+
* Copyright (C) SonarSource Sàrl
|
|
5
5
|
* mailto:info AT sonarsource DOT com
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* You can redistribute and/or modify this program under the terms of
|
|
8
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
9
9
|
*
|
|
10
10
|
* This program is distributed in the hope that it will be useful,
|
|
11
11
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
@@ -31,7 +31,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
31
31
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
|
|
34
|
+
exports.skipOnGeneratedSource = exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
|
|
35
35
|
__exportStar(require("./meta.js"), exports);
|
|
36
36
|
exports.meta = {
|
|
37
37
|
type: 'suggestion',
|
|
@@ -49,3 +49,4 @@ exports.sonarKey = 'S5869';
|
|
|
49
49
|
exports.scope = 'Main';
|
|
50
50
|
exports.languages = ['js', 'ts'];
|
|
51
51
|
exports.requiredDependency = [];
|
|
52
|
+
exports.skipOnGeneratedSource = false;
|
package/cjs/S5869/index.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.rule = void 0;
|
|
4
4
|
/*
|
|
5
5
|
* SonarQube JavaScript Plugin
|
|
6
|
-
* Copyright (C)
|
|
6
|
+
* Copyright (C) SonarSource Sàrl
|
|
7
7
|
* mailto:info AT sonarsource DOT com
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* You can redistribute and/or modify this program under the terms of
|
|
10
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
11
11
|
*
|
|
12
12
|
* This program is distributed in the hope that it will be useful,
|
|
13
13
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
package/cjs/S5869/meta.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.hasSecondaries = exports.eslintId = exports.implementation = void 0;
|
|
4
4
|
/*
|
|
5
5
|
* SonarQube JavaScript Plugin
|
|
6
|
-
* Copyright (C)
|
|
6
|
+
* Copyright (C) SonarSource Sàrl
|
|
7
7
|
* mailto:info AT sonarsource DOT com
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* You can redistribute and/or modify this program under the terms of
|
|
10
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
11
11
|
*
|
|
12
12
|
* This program is distributed in the hope that it will be useful,
|
|
13
13
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
package/cjs/S5869/rule.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
3
|
* SonarQube JavaScript Plugin
|
|
4
|
-
* Copyright (C)
|
|
4
|
+
* Copyright (C) SonarSource Sàrl
|
|
5
5
|
* mailto:info AT sonarsource DOT com
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* You can redistribute and/or modify this program under the terms of
|
|
8
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
9
9
|
*
|
|
10
10
|
* This program is distributed in the hope that it will be useful,
|
|
11
11
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
3
|
* SonarQube JavaScript Plugin
|
|
4
|
-
* Copyright (C)
|
|
4
|
+
* Copyright (C) SonarSource Sàrl
|
|
5
5
|
* mailto:info AT sonarsource DOT com
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* You can redistribute and/or modify this program under the terms of
|
|
8
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
9
9
|
*
|
|
10
10
|
* This program is distributed in the hope that it will be useful,
|
|
11
11
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
@@ -31,7 +31,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
31
31
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
|
|
34
|
+
exports.skipOnGeneratedSource = exports.requiredDependency = exports.languages = exports.scope = exports.sonarKey = exports.meta = void 0;
|
|
35
35
|
__exportStar(require("./meta.js"), exports);
|
|
36
36
|
exports.meta = {
|
|
37
37
|
type: 'problem',
|
|
@@ -49,3 +49,4 @@ exports.sonarKey = 'S5876';
|
|
|
49
49
|
exports.scope = 'Main';
|
|
50
50
|
exports.languages = ['js', 'ts'];
|
|
51
51
|
exports.requiredDependency = [];
|
|
52
|
+
exports.skipOnGeneratedSource = false;
|
package/cjs/S5876/index.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.rule = void 0;
|
|
4
4
|
/*
|
|
5
5
|
* SonarQube JavaScript Plugin
|
|
6
|
-
* Copyright (C)
|
|
6
|
+
* Copyright (C) SonarSource Sàrl
|
|
7
7
|
* mailto:info AT sonarsource DOT com
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* You can redistribute and/or modify this program under the terms of
|
|
10
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
11
11
|
*
|
|
12
12
|
* This program is distributed in the hope that it will be useful,
|
|
13
13
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
package/cjs/S5876/meta.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.eslintId = exports.implementation = void 0;
|
|
4
4
|
/*
|
|
5
5
|
* SonarQube JavaScript Plugin
|
|
6
|
-
* Copyright (C)
|
|
6
|
+
* Copyright (C) SonarSource Sàrl
|
|
7
7
|
* mailto:info AT sonarsource DOT com
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
9
|
+
* You can redistribute and/or modify this program under the terms of
|
|
10
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
11
11
|
*
|
|
12
12
|
* This program is distributed in the hope that it will be useful,
|
|
13
13
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
package/cjs/S5876/rule.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
3
|
* SonarQube JavaScript Plugin
|
|
4
|
-
* Copyright (C)
|
|
4
|
+
* Copyright (C) SonarSource Sàrl
|
|
5
5
|
* mailto:info AT sonarsource DOT com
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* You can redistribute and/or modify this program under the terms of
|
|
8
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
9
9
|
*
|
|
10
10
|
* This program is distributed in the hope that it will be useful,
|
|
11
11
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* SonarQube JavaScript Plugin
|
|
4
|
+
* Copyright (C) SonarSource Sàrl
|
|
5
|
+
* mailto:info AT sonarsource DOT com
|
|
6
|
+
*
|
|
7
|
+
* You can redistribute and/or modify this program under the terms of
|
|
8
|
+
* the Sonar Source-Available License Version 1, as published by SonarSource Sàrl.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
13
|
+
* See the Sonar Source-Available License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the Sonar Source-Available License
|
|
16
|
+
* along with this program; if not, see https://sonarsource.com/license/ssal/
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.getBooleanExpressionSuggestion = getBooleanExpressionSuggestion;
|
|
20
|
+
exports.chaiShouldReceiver = chaiShouldReceiver;
|
|
21
|
+
const ast_js_1 = require("../helpers/ast.js");
|
|
22
|
+
const assertion_utils_js_1 = require("./assertion-utils.js");
|
|
23
|
+
const STRICT_EQUALITY_OPERATORS = new Set(['===', '!==']);
|
|
24
|
+
const STRING_LIKE_IDENTIFIER = /(?:text|string|message|content|html)$/i;
|
|
25
|
+
const NUMERIC_IDENTIFIER = /(?:amount|count|delta|depth|diff|duration|elapsed|height|index|length|level|limit|number|price|score|size|total|width)$/i;
|
|
26
|
+
const DATE_LIKE_IDENTIFIER = /(?:date|time|timestamp)$/i;
|
|
27
|
+
function getBooleanExpressionSuggestion(actual, positive, family, sourceCode, node, assertObject = 'assert', extraArguments = '') {
|
|
28
|
+
if (actual.type === 'BinaryExpression') {
|
|
29
|
+
return getBinaryExpressionSuggestion(actual, positive, family, sourceCode, node, assertObject, extraArguments);
|
|
30
|
+
}
|
|
31
|
+
return getIncludesSuggestion(actual, positive, family, sourceCode, node, assertObject, extraArguments);
|
|
32
|
+
}
|
|
33
|
+
function chaiShouldReceiver(source, node) {
|
|
34
|
+
return isSafeChaiShouldReceiver(node) ? source : `(${source})`;
|
|
35
|
+
}
|
|
36
|
+
const SAFE_CHAI_SHOULD_RECEIVER_TYPES = new Set([
|
|
37
|
+
'Identifier',
|
|
38
|
+
'MemberExpression',
|
|
39
|
+
'CallExpression',
|
|
40
|
+
'ThisExpression',
|
|
41
|
+
]);
|
|
42
|
+
function isSafeChaiShouldReceiver(node) {
|
|
43
|
+
return SAFE_CHAI_SHOULD_RECEIVER_TYPES.has(node.type);
|
|
44
|
+
}
|
|
45
|
+
function getBinaryExpressionSuggestion(actual, positive, family, sourceCode, node, assertObject, extraArguments) {
|
|
46
|
+
const left = sourceCode.getText(actual.left);
|
|
47
|
+
const right = sourceCode.getText(actual.right);
|
|
48
|
+
const suggestionContext = { family, sourceCode, node, assertObject, extraArguments };
|
|
49
|
+
if (STRICT_EQUALITY_OPERATORS.has(actual.operator)) {
|
|
50
|
+
const same = actual.operator === '===' ? positive : !positive;
|
|
51
|
+
const specificSuggestion = buildSpecificEqualitySuggestion(actual, same, suggestionContext);
|
|
52
|
+
if (specificSuggestion !== undefined) {
|
|
53
|
+
return specificSuggestion;
|
|
54
|
+
}
|
|
55
|
+
return buildEqualitySuggestion(actual.left, right, same, suggestionContext);
|
|
56
|
+
}
|
|
57
|
+
if (actual.operator === 'instanceof') {
|
|
58
|
+
return buildInstanceofSuggestion(left, actual.left, right, positive, suggestionContext);
|
|
59
|
+
}
|
|
60
|
+
const comparison = isNumericComparison(actual)
|
|
61
|
+
? getNumericComparison(actual.operator, positive)
|
|
62
|
+
: null;
|
|
63
|
+
if (comparison) {
|
|
64
|
+
return buildNumericComparisonSuggestion(left, actual.left, right, comparison, suggestionContext);
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
function buildSpecificEqualitySuggestion(actual, same, context) {
|
|
69
|
+
const leftNullish = getNullishKind(actual.left);
|
|
70
|
+
if (leftNullish) {
|
|
71
|
+
return buildNullishEqualitySuggestion(actual.right, leftNullish, same, context);
|
|
72
|
+
}
|
|
73
|
+
const rightNullish = getNullishKind(actual.right);
|
|
74
|
+
if (rightNullish) {
|
|
75
|
+
return buildNullishEqualitySuggestion(actual.left, rightNullish, same, context);
|
|
76
|
+
}
|
|
77
|
+
if ((0, assertion_utils_js_1.isLengthAccess)(actual.left)) {
|
|
78
|
+
return buildLengthEqualitySuggestion(actual.left.object, context.sourceCode.getText(actual.right), same, context);
|
|
79
|
+
}
|
|
80
|
+
if ((0, assertion_utils_js_1.isLengthAccess)(actual.right)) {
|
|
81
|
+
return buildLengthEqualitySuggestion(actual.right.object, context.sourceCode.getText(actual.left), same, context);
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
function getNullishKind(node) {
|
|
86
|
+
if ((0, assertion_utils_js_1.isNullLiteral)(node)) {
|
|
87
|
+
return 'null';
|
|
88
|
+
}
|
|
89
|
+
if ((0, assertion_utils_js_1.isUndefinedExpression)(node)) {
|
|
90
|
+
return 'undefined';
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
function buildNullishEqualitySuggestion(actualNode, nullish, same, context) {
|
|
95
|
+
const { family, sourceCode, node, assertObject, extraArguments } = context;
|
|
96
|
+
const actual = sourceCode.getText(actualNode);
|
|
97
|
+
if (family === 'jest' || family === 'jasmine') {
|
|
98
|
+
if (nullish === 'null') {
|
|
99
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${actual})${negation(same)}.toBeNull()`, node);
|
|
100
|
+
}
|
|
101
|
+
return (0, assertion_utils_js_1.replacement)(same ? `expect(${actual}).toBeUndefined()` : `expect(${actual}).toBeDefined()`, node);
|
|
102
|
+
}
|
|
103
|
+
if (family === 'assert') {
|
|
104
|
+
const method = getAssertNullishMethod(nullish, same);
|
|
105
|
+
return (0, assertion_utils_js_1.replacement)(`${assertObject}.${method}(${actual}${extraArguments})`, node);
|
|
106
|
+
}
|
|
107
|
+
if (family === 'chai-should') {
|
|
108
|
+
return (0, assertion_utils_js_1.replacement)(`${chaiShouldReceiver(actual, actualNode)}.should${negation(same)}.be.${nullish}`, node);
|
|
109
|
+
}
|
|
110
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${actual}${extraArguments}).to${negation(same)}.be.${nullish}`, node);
|
|
111
|
+
}
|
|
112
|
+
function getAssertNullishMethod(nullish, same) {
|
|
113
|
+
if (nullish === 'null') {
|
|
114
|
+
return same ? 'isNull' : 'isNotNull';
|
|
115
|
+
}
|
|
116
|
+
return same ? 'isUndefined' : 'isDefined';
|
|
117
|
+
}
|
|
118
|
+
function buildLengthEqualitySuggestion(actualNode, expected, same, context) {
|
|
119
|
+
const { family, sourceCode, node, assertObject, extraArguments } = context;
|
|
120
|
+
const actual = sourceCode.getText(actualNode);
|
|
121
|
+
if (family === 'jest' || family === 'jasmine') {
|
|
122
|
+
const matcher = family === 'jasmine' ? 'toHaveSize' : 'toHaveLength';
|
|
123
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${actual})${negation(same)}.${matcher}(${expected})`, node);
|
|
124
|
+
}
|
|
125
|
+
if (family === 'assert') {
|
|
126
|
+
return same
|
|
127
|
+
? (0, assertion_utils_js_1.replacement)(`${assertObject}.lengthOf(${actual}, ${expected}${extraArguments})`, node)
|
|
128
|
+
: null;
|
|
129
|
+
}
|
|
130
|
+
if (family === 'chai-should') {
|
|
131
|
+
return (0, assertion_utils_js_1.replacement)(`${chaiShouldReceiver(actual, actualNode)}.should${negation(same)}.have.lengthOf(${expected})`, node);
|
|
132
|
+
}
|
|
133
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${actual}${extraArguments}).to${negation(same)}.have.lengthOf(${expected})`, node);
|
|
134
|
+
}
|
|
135
|
+
function buildEqualitySuggestion(leftNode, right, same, context) {
|
|
136
|
+
const { family, sourceCode, node, assertObject, extraArguments } = context;
|
|
137
|
+
const left = sourceCode.getText(leftNode);
|
|
138
|
+
if (family === 'jest' || family === 'jasmine') {
|
|
139
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${left})${negation(same)}.toBe(${right})`, node);
|
|
140
|
+
}
|
|
141
|
+
if (family === 'assert') {
|
|
142
|
+
return (0, assertion_utils_js_1.replacement)(`${assertObject}.${same ? 'strictEqual' : 'notStrictEqual'}(${left}, ${right}${extraArguments})`, node);
|
|
143
|
+
}
|
|
144
|
+
if (family === 'chai-should') {
|
|
145
|
+
return (0, assertion_utils_js_1.replacement)(`${chaiShouldReceiver(left, leftNode)}.should${negation(same)}.equal(${right})`, node);
|
|
146
|
+
}
|
|
147
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${left}${extraArguments}).to${negation(same)}.equal(${right})`, node);
|
|
148
|
+
}
|
|
149
|
+
function buildInstanceofSuggestion(left, leftNode, right, positive, context) {
|
|
150
|
+
const { family, node, assertObject, extraArguments } = context;
|
|
151
|
+
if (family === 'jest' || family === 'jasmine') {
|
|
152
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${left})${negation(positive)}.toBeInstanceOf(${right})`, node);
|
|
153
|
+
}
|
|
154
|
+
if (family === 'assert') {
|
|
155
|
+
return (0, assertion_utils_js_1.replacement)(`${assertObject}.${positive ? 'instanceOf' : 'notInstanceOf'}(${left}, ${right}${extraArguments})`, node);
|
|
156
|
+
}
|
|
157
|
+
if (family === 'chai-should') {
|
|
158
|
+
return (0, assertion_utils_js_1.replacement)(`${chaiShouldReceiver(left, leftNode)}.should${negation(positive)}.be.instanceOf(${right})`, node);
|
|
159
|
+
}
|
|
160
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${left}${extraArguments}).to${negation(positive)}.be.instanceOf(${right})`, node);
|
|
161
|
+
}
|
|
162
|
+
function buildNumericComparisonSuggestion(left, leftNode, right, comparison, context) {
|
|
163
|
+
const { family, node, assertObject, extraArguments } = context;
|
|
164
|
+
if (family === 'jest' || family === 'jasmine') {
|
|
165
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${left}).${comparison.jest}(${right})`, node);
|
|
166
|
+
}
|
|
167
|
+
if (family === 'assert') {
|
|
168
|
+
return (0, assertion_utils_js_1.replacement)(`${assertObject}.${comparison.assert}(${left}, ${right}${extraArguments})`, node);
|
|
169
|
+
}
|
|
170
|
+
if (family === 'chai-should') {
|
|
171
|
+
return (0, assertion_utils_js_1.replacement)(`${chaiShouldReceiver(left, leftNode)}.should.be.${comparison.chai}(${right})`, node);
|
|
172
|
+
}
|
|
173
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${left}${extraArguments}).to.be.${comparison.chai}(${right})`, node);
|
|
174
|
+
}
|
|
175
|
+
function getIncludesSuggestion(actual, positive, family, sourceCode, node, assertObject, extraArguments) {
|
|
176
|
+
if (actual.type !== 'CallExpression' ||
|
|
177
|
+
!(0, ast_js_1.isMethodCall)(actual) ||
|
|
178
|
+
!(0, ast_js_1.isIdentifier)(actual.callee.property, 'includes') ||
|
|
179
|
+
actual.arguments.length !== 1 ||
|
|
180
|
+
!isTrustedStringReceiver(actual.callee.object)) {
|
|
181
|
+
return null;
|
|
182
|
+
}
|
|
183
|
+
const receiver = sourceCode.getText(actual.callee.object);
|
|
184
|
+
const needle = sourceCode.getText(actual.arguments[0]);
|
|
185
|
+
if (family === 'jest' || family === 'jasmine') {
|
|
186
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${receiver})${negation(positive)}.toContain(${needle})`, node);
|
|
187
|
+
}
|
|
188
|
+
if (family === 'assert') {
|
|
189
|
+
return (0, assertion_utils_js_1.replacement)(`${assertObject}.${positive ? 'include' : 'notInclude'}(${receiver}, ${needle}${extraArguments})`, node);
|
|
190
|
+
}
|
|
191
|
+
if (family === 'chai-should') {
|
|
192
|
+
return (0, assertion_utils_js_1.replacement)(`${chaiShouldReceiver(receiver, actual.callee.object)}.should${negation(positive)}.include(${needle})`, node);
|
|
193
|
+
}
|
|
194
|
+
return (0, assertion_utils_js_1.replacement)(`expect(${receiver}${extraArguments}).to${negation(positive)}.include(${needle})`, node);
|
|
195
|
+
}
|
|
196
|
+
function negation(positive) {
|
|
197
|
+
return positive ? '' : '.not';
|
|
198
|
+
}
|
|
199
|
+
function isTrustedStringReceiver(node) {
|
|
200
|
+
if (node.type === 'Literal') {
|
|
201
|
+
return typeof node.value === 'string';
|
|
202
|
+
}
|
|
203
|
+
if (node.type === 'TemplateLiteral') {
|
|
204
|
+
return node.expressions.length === 0;
|
|
205
|
+
}
|
|
206
|
+
return (0, ast_js_1.isIdentifier)(node) && STRING_LIKE_IDENTIFIER.test(node.name);
|
|
207
|
+
}
|
|
208
|
+
function isNumericComparison(node) {
|
|
209
|
+
return (isKnownNumericOperand(node.left) &&
|
|
210
|
+
isKnownNumericOperand(node.right) &&
|
|
211
|
+
!isKnownNonNumericOperand(node.left) &&
|
|
212
|
+
!isKnownNonNumericOperand(node.right));
|
|
213
|
+
}
|
|
214
|
+
function isKnownNumericOperand(node) {
|
|
215
|
+
if (node.type === 'Literal') {
|
|
216
|
+
return typeof node.value === 'number' || typeof node.value === 'bigint';
|
|
217
|
+
}
|
|
218
|
+
if (node.type === 'UnaryExpression' && ['+', '-'].includes(node.operator)) {
|
|
219
|
+
return isKnownNumericOperand(node.argument);
|
|
220
|
+
}
|
|
221
|
+
if ((0, ast_js_1.isIdentifier)(node)) {
|
|
222
|
+
return NUMERIC_IDENTIFIER.test(node.name);
|
|
223
|
+
}
|
|
224
|
+
if (node.type === 'MemberExpression' && !node.computed && (0, ast_js_1.isIdentifier)(node.property)) {
|
|
225
|
+
return NUMERIC_IDENTIFIER.test(node.property.name);
|
|
226
|
+
}
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
function isKnownNonNumericOperand(node) {
|
|
230
|
+
if (node.type === 'Literal') {
|
|
231
|
+
return typeof node.value === 'string';
|
|
232
|
+
}
|
|
233
|
+
if (node.type === 'TemplateLiteral') {
|
|
234
|
+
return node.expressions.length === 0;
|
|
235
|
+
}
|
|
236
|
+
if (node.type === 'NewExpression' && (0, ast_js_1.isIdentifier)(node.callee, 'Date')) {
|
|
237
|
+
return true;
|
|
238
|
+
}
|
|
239
|
+
if (node.type === 'CallExpression' && (0, ast_js_1.isIdentifier)(node.callee, 'Date')) {
|
|
240
|
+
return true;
|
|
241
|
+
}
|
|
242
|
+
if ((0, ast_js_1.isIdentifier)(node)) {
|
|
243
|
+
return STRING_LIKE_IDENTIFIER.test(node.name) || DATE_LIKE_IDENTIFIER.test(node.name);
|
|
244
|
+
}
|
|
245
|
+
if (node.type === 'MemberExpression' && !node.computed && (0, ast_js_1.isIdentifier)(node.property)) {
|
|
246
|
+
return (STRING_LIKE_IDENTIFIER.test(node.property.name) ||
|
|
247
|
+
DATE_LIKE_IDENTIFIER.test(node.property.name));
|
|
248
|
+
}
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
function getNumericComparison(operator, positive) {
|
|
252
|
+
const effective = positive ? operator : invertComparison(operator);
|
|
253
|
+
switch (effective) {
|
|
254
|
+
case '>':
|
|
255
|
+
return { jest: 'toBeGreaterThan', chai: 'above', assert: 'isAbove' };
|
|
256
|
+
case '>=':
|
|
257
|
+
return { jest: 'toBeGreaterThanOrEqual', chai: 'at.least', assert: 'isAtLeast' };
|
|
258
|
+
case '<':
|
|
259
|
+
return { jest: 'toBeLessThan', chai: 'below', assert: 'isBelow' };
|
|
260
|
+
case '<=':
|
|
261
|
+
return { jest: 'toBeLessThanOrEqual', chai: 'at.most', assert: 'isAtMost' };
|
|
262
|
+
default:
|
|
263
|
+
return null;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
function invertComparison(operator) {
|
|
267
|
+
switch (operator) {
|
|
268
|
+
case '>':
|
|
269
|
+
return '<=';
|
|
270
|
+
case '>=':
|
|
271
|
+
return '<';
|
|
272
|
+
case '<':
|
|
273
|
+
return '>=';
|
|
274
|
+
case '<=':
|
|
275
|
+
return '>';
|
|
276
|
+
default:
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
}
|