eslint-plugin-digigov 1.0.0 → 2.0.0-0138f8bd

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.
@@ -1,26 +1,107 @@
1
1
  {
2
+ "../../plugins/eslint-plugin-digigov": "../../plugins/eslint-plugin-digigov:TXS5GbySEspTUEtFyahY38rLbFIV97Gqd3B40meETQc=:",
3
+ "@eslint-community/eslint-utils@4.5.1(eslint@9.16.0(jiti@2.4.2))": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==",
4
+ "@eslint-community/regexpp@4.12.1": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
5
+ "@eslint/config-array@0.19.2": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
6
+ "@eslint/core@0.12.0": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==",
7
+ "@eslint/core@0.9.1": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==",
8
+ "@eslint/eslintrc@3.3.1": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
9
+ "@eslint/js@9.16.0": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==",
10
+ "@eslint/object-schema@2.1.6": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
11
+ "@eslint/plugin-kit@0.2.7": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==",
12
+ "@humanfs/core@0.19.1": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
13
+ "@humanfs/node@0.16.6": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
14
+ "@humanwhocodes/module-importer@1.0.1": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
15
+ "@humanwhocodes/retry@0.3.1": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
16
+ "@humanwhocodes/retry@0.4.2": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==",
17
+ "@types/estree@1.0.7": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==",
18
+ "@types/json-schema@7.0.15": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
19
+ "acorn-jsx@5.3.2(acorn@8.14.1)": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
20
+ "acorn@8.14.1": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==",
21
+ "ajv@6.12.6": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
22
+ "ansi-styles@4.3.0": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
23
+ "argparse@2.0.1": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
2
24
  "balanced-match@1.0.2": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
25
+ "brace-expansion@1.1.11": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
3
26
  "brace-expansion@2.0.1": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
4
- "find-up@3.0.0": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
27
+ "callsites@3.1.0": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
28
+ "chalk@4.1.0": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
29
+ "color-convert@2.0.1": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
30
+ "color-name@1.1.4": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
31
+ "concat-map@0.0.1": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
32
+ "cross-spawn@7.0.6": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
33
+ "debug@4.4.0": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
34
+ "deep-is@0.1.4": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
35
+ "escape-string-regexp@4.0.0": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
36
+ "eslint-scope@8.3.0": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==",
37
+ "eslint-visitor-keys@3.4.3": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
38
+ "eslint-visitor-keys@4.2.0": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
39
+ "eslint@9.16.0(jiti@2.4.2)": "sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==",
40
+ "espree@10.3.0": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
41
+ "esquery@1.6.0": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==",
42
+ "esrecurse@4.3.0": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
43
+ "estraverse@5.3.0": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
44
+ "esutils@2.0.3": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
45
+ "fast-deep-equal@3.1.3": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
46
+ "fast-json-stable-stringify@2.1.0": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
47
+ "fast-levenshtein@2.0.6": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
48
+ "file-entry-cache@8.0.0": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
49
+ "find-up@5.0.0": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
50
+ "flat-cache@4.0.1": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
51
+ "flatted@3.3.3": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
5
52
  "fs.realpath@1.0.0": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
53
+ "glob-parent@6.0.2": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
6
54
  "glob@8.1.0": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
55
+ "globals@14.0.0": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
56
+ "has-flag@4.0.0": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
7
57
  "ignore-walk@5.0.1": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==",
58
+ "ignore@5.3.2": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
59
+ "import-fresh@3.3.1": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
60
+ "imurmurhash@0.1.4": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
8
61
  "inflight@1.0.6": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
9
62
  "inherits@2.0.4": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
10
- "locate-path@3.0.0": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
63
+ "is-extglob@2.1.1": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
64
+ "is-glob@4.0.3": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
65
+ "isexe@2.0.0": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
66
+ "jiti@2.4.2": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==",
67
+ "js-yaml@4.1.0": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
68
+ "json-buffer@3.0.1": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
69
+ "json-schema-traverse@0.4.1": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
70
+ "json-stable-stringify-without-jsonify@1.0.1": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
71
+ "keyv@4.5.4": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
72
+ "levn@0.4.1": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
73
+ "locate-path@6.0.0": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
74
+ "lodash.merge@4.6.2": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
75
+ "minimatch@3.1.2": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
11
76
  "minimatch@5.1.6": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
12
77
  "mri@1.2.0": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
78
+ "ms@2.1.3": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
79
+ "natural-compare@1.4.0": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
13
80
  "npm-bundled@2.0.1": "sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==",
14
81
  "npm-normalize-package-bin@2.0.0": "sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==",
15
82
  "npm-packlist@5.1.3": "sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==",
16
83
  "once@1.4.0": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
17
- "p-limit@2.3.0": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
18
- "p-locate@3.0.0": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
19
- "p-try@2.2.0": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
20
- "path-exists@3.0.0": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
21
- "picocolors@1.0.0": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
22
- "pkg-up@3.1.0": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
84
+ "optionator@0.9.4": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
85
+ "p-limit@3.1.0": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
86
+ "p-locate@5.0.0": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
87
+ "parent-module@1.0.1": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
88
+ "path-exists@4.0.0": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
89
+ "path-key@3.1.1": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
90
+ "picocolors@1.1.1": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
91
+ "prelude-ls@1.2.1": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
23
92
  "publint@0.1.8": "sha512-czOfocZAwS3d5RNrx4VyMxJJDyTn9MajMfuzJYlMrztFLrWkM+3KVdPozTfd8ka8aGWfR1cS66tMSDCgF70T+A==",
93
+ "punycode@2.3.1": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
94
+ "resolve-from@4.0.0": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
24
95
  "sade@1.8.1": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
25
- "wrappy@1.0.2": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
96
+ "shebang-command@2.0.0": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
97
+ "shebang-regex@3.0.0": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
98
+ "strip-json-comments@3.1.1": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
99
+ "supports-color@7.2.0": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
100
+ "type-check@0.4.0": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
101
+ "typescript@5.6.2": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
102
+ "uri-js@4.4.1": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
103
+ "which@2.0.2": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
104
+ "word-wrap@1.2.5": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
105
+ "wrappy@1.0.2": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
106
+ "yocto-queue@0.1.0": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
26
107
  }
package/index.js CHANGED
@@ -1,7 +1,21 @@
1
- exports.rules = {
2
- 'no-relative-imports': require('./rules/no-relative-imports'),
3
- };
1
+ import noRelativeImports from "./rules/no-relative-imports/index.js";
4
2
 
5
- exports.configs = {
6
- recommended: require('./config/recommended'),
3
+ const plugin = {
4
+ configs: {},
5
+ rules: {
6
+ "no-relative-imports": noRelativeImports,
7
+ },
7
8
  };
9
+
10
+ Object.assign(plugin.configs, {
11
+ recommended: {
12
+ plugins: {
13
+ digigov: plugin,
14
+ },
15
+ rules: {
16
+ "digigov/no-relative-imports": "warn",
17
+ },
18
+ },
19
+ });
20
+
21
+ export default plugin;
package/package.json CHANGED
@@ -1,18 +1,25 @@
1
1
  {
2
2
  "name": "eslint-plugin-digigov",
3
- "version": "1.0.0",
3
+ "version": "2.0.0-0138f8bd",
4
4
  "description": "Custom lint rules for digigov projects",
5
5
  "main": "index.js",
6
+ "type": "module",
6
7
  "author": "GRNET Devs <devs@lists.grnet.gr>",
7
8
  "license": "BSD-2-Clause",
8
9
  "dependencies": {
9
- "pkg-up": "3.1.0",
10
- "publint": "0.1.8"
10
+ "@digigov/cli": "2.0.0-0138f8bd"
11
11
  },
12
12
  "devDependencies": {
13
- "publint": "0.1.8"
13
+ "publint": "0.1.8",
14
+ "typescript": "5.6.2",
15
+ "@digigov/cli": "2.0.0-0138f8bd",
16
+ "eslint": "9.16.0"
17
+ },
18
+ "peerDependencies": {
19
+ "eslint": "^9"
14
20
  },
15
21
  "scripts": {
16
- "publint": "publint"
22
+ "publint": "publint",
23
+ "typecheck": "tsc"
17
24
  }
18
- }
25
+ }
@@ -1,75 +1,67 @@
1
- const moduleVisitor = require('./moduleVisitor');
2
- const path = require('path');
3
- const pkgUp = require('pkg-up');
4
- const pkgLocation = pkgUp.sync()
5
- const package = require(pkgLocation)
6
- const project = {
7
- name: package.name,
8
- root: path.dirname(pkgLocation)
9
- }
1
+ import moduleVisitor from "./moduleVisitor.js";
2
+ import path from "path";
3
+ import { resolveProject } from "@digigov/cli/lib";
4
+
5
+ const project = resolveProject();
6
+
7
+ /** @type {import('eslint').Rule.RuleModule} */
10
8
  const rule = {
11
9
  meta: {
12
- type: 'suggestion',
10
+ type: "suggestion",
13
11
  docs: {
14
- url: '',
12
+ description: "Disallow relative imports",
15
13
  },
16
- fixable: true,
14
+ fixable: "code",
17
15
  schema: [
18
16
  {
19
- type: 'object',
17
+ type: "object",
20
18
  properties: {
21
- commonjs: { type: 'boolean' },
22
- amd: { type: 'boolean' },
23
- esmodule: { type: 'boolean' },
19
+ commonjs: { type: "boolean" },
20
+ amd: { type: "boolean" },
21
+ esmodule: { type: "boolean" },
24
22
  ignore: {
25
- type: 'array',
23
+ type: "array",
26
24
  minItems: 1,
27
- items: { type: 'string' },
25
+ items: { type: "string" },
28
26
  uniqueItems: true,
29
27
  },
30
28
  root: {
31
- type: 'string',
32
- enum: ['package-name', 'src']
33
- }
29
+ type: "string",
30
+ enum: ["package-name", "src"],
31
+ },
34
32
  },
35
33
  additionalProperties: false,
36
34
  },
37
35
  ],
38
36
  },
39
37
 
40
- create: function noRelativePackages(context) {
41
- const myPath = context.getFilename();
42
- let root = 'package-name'
43
- if(context.options.length){
44
- if(context.options[0].root){
45
- root = context.options[0].root
38
+ create: (context) => {
39
+ let root = "package-name";
40
+ if (context.options.length) {
41
+ if (context.options[0].root) {
42
+ root = context.options[0].root;
46
43
  }
47
44
  }
48
- if (myPath === '<text>') return {}; // can't check a non-file
49
-
50
45
  function checkSourceValue(sourceNode) {
51
46
  if (sourceNode.value.match(/^\./)) {
52
47
  const absoluteImportPath = path.resolve(
53
- path.dirname(myPath),
54
- sourceNode.value
48
+ path.dirname(context.filename),
49
+ sourceNode.value,
55
50
  );
56
- if(absoluteImportPath.endsWith('.svg')){
57
- return
51
+ if (absoluteImportPath.endsWith(".svg")) {
52
+ return;
58
53
  }
59
54
  // TODO: fix issue with importing svg files with babel-module-resolver
60
55
  // lint only import strings that dont have an svg extension
61
- if (path.extname(absoluteImportPath) !== '.svg') {
62
- const newPath = `'${root === 'package-name' ?project.name + '/':''}${absoluteImportPath
63
- .replace(
64
- `${project.root}/src/`,
65
- ''
66
- )
67
- .replace(/index$/, '')}'`;
56
+ if (path.extname(absoluteImportPath) !== ".svg") {
57
+ const newPath = `'${root === "package-name" ? project.name + "/" : ""}${absoluteImportPath
58
+ .replace(`${project.root}/src/`, "")
59
+ .replace(/index$/, "")}'`;
68
60
  context.report({
69
61
  node: sourceNode,
70
62
  message:
71
- 'Please use the absolute path of a file using the package name of your application as stated in the `name` key in your `package.json` file.\n' +
72
- 'Use of relative imports is not recommended\n' +
63
+ "Please use the absolute path of a file using the package name of your application as stated in the `name` key in your `package.json` file.\n" +
64
+ "Use of relative imports is not recommended\n" +
73
65
  `For this instance use ${newPath} instead of ${sourceNode.value}`,
74
66
  fix: (fixer) => {
75
67
  // see https://eslint.org/docs/developer-guide/working-with-rules#applying-fixes
@@ -84,4 +76,4 @@ const rule = {
84
76
  },
85
77
  };
86
78
 
87
- module.exports = rule;
79
+ export default rule;
@@ -2,12 +2,9 @@
2
2
  * Returns an object of node visitors that will call
3
3
  * 'visitor' with every discovered module path.
4
4
  *
5
- * todo: correct function prototype for visitor
6
- * @param {Function(String)} visitor [description]
7
- * @param {[type]} options [description]
8
- * @return {object}
5
+ * @returns {import('eslint').Rule.RuleListener}
9
6
  */
10
- module.exports = function visitModules(visitor, options) {
7
+ export default function visitModules(visitor, options) {
11
8
  // if esmodule is not explicitly disabled, it is assumed to be enabled
12
9
  options = Object.assign({ esmodule: true }, options);
13
10
 
@@ -31,68 +28,21 @@ module.exports = function visitModules(visitor, options) {
31
28
  checkSourceValue(node.source, node);
32
29
  }
33
30
 
34
- // for esmodule dynamic `import()` calls
35
31
  function checkImportCall(node) {
36
- if (node.callee.type !== 'Import') return;
32
+ if (node.callee.type !== "Import") return;
37
33
  if (node.arguments.length !== 1) return;
38
34
 
39
35
  const modulePath = node.arguments[0];
40
- if (modulePath.type !== 'Literal') return;
41
- if (typeof modulePath.value !== 'string') return;
36
+ if (modulePath.type !== "Literal") return;
37
+ if (typeof modulePath.value !== "string") return;
42
38
 
43
39
  checkSourceValue(modulePath, node);
44
40
  }
45
41
 
46
- // for CommonJS `require` calls
47
- // adapted from @mctep: http://git.io/v4rAu
48
- function checkCommon(call) {
49
- if (call.callee.type !== 'Identifier') return;
50
- if (call.callee.name !== 'require') return;
51
- if (call.arguments.length !== 1) return;
52
-
53
- const modulePath = call.arguments[0];
54
- if (modulePath.type !== 'Literal') return;
55
- if (typeof modulePath.value !== 'string') return;
56
-
57
- checkSourceValue(modulePath, call);
58
- }
59
-
60
- function checkAMD(call) {
61
- if (call.callee.type !== 'Identifier') return;
62
- if (call.callee.name !== 'require' && call.callee.name !== 'define') return;
63
- if (call.arguments.length !== 2) return;
64
-
65
- const modules = call.arguments[0];
66
- if (modules.type !== 'ArrayExpression') return;
67
-
68
- for (const element of modules.elements) {
69
- if (element.type !== 'Literal') continue;
70
- if (typeof element.value !== 'string') continue;
71
-
72
- if (element.value === 'require' || element.value === 'exports') continue; // magic modules: http://git.io/vByan
73
-
74
- checkSourceValue(element, element);
75
- }
76
- }
77
-
78
- const visitors = {};
79
- if (options.esmodule) {
80
- Object.assign(visitors, {
81
- ImportDeclaration: checkSource,
82
- ExportNamedDeclaration: checkSource,
83
- ExportAllDeclaration: checkSource,
84
- CallExpression: checkImportCall,
85
- });
86
- }
87
-
88
- if (options.commonjs || options.amd) {
89
- const currentCallExpression = visitors.CallExpression;
90
- visitors.CallExpression = function (call) {
91
- if (currentCallExpression) currentCallExpression(call);
92
- if (options.commonjs) checkCommon(call);
93
- if (options.amd) checkAMD(call);
94
- };
95
- }
96
-
97
- return visitors;
98
- };
42
+ return {
43
+ ImportDeclaration: checkSource,
44
+ ExportNamedDeclaration: checkSource,
45
+ ExportAllDeclaration: checkSource,
46
+ CallExpression: checkImportCall,
47
+ };
48
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "@digigov/cli/tsconfig.cli",
3
+ "include": ["./*.js", "./rules"]
4
+ }
@@ -1,21 +0,0 @@
1
- /**
2
- * The basics.
3
- * @type {Object}
4
- */
5
- module.exports = {
6
- plugins: ['digigov'],
7
-
8
- rules: {
9
- // analysis/correctness
10
- // 'digigov/no-relative-imports': 'error',
11
- // red flags (thus, warnings)
12
- 'digigov/no-relative-imports': 'warn',
13
- },
14
-
15
- // need all these for parsing dependencies (even if _your_ code doesn't need
16
- // all of them)
17
- parserOptions: {
18
- sourceType: 'module',
19
- ecmaVersion: 2018,
20
- },
21
- };