@codeperfect/eslint-plugin 1.0.0 → 2.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.
Files changed (587) hide show
  1. package/README.md +26 -4
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
  4. package/dist/application/custom-rules.d.ts.map +1 -0
  5. package/dist/application/custom-rules.js +74 -0
  6. package/dist/application/index.d.ts +4 -0
  7. package/dist/application/index.d.ts.map +1 -0
  8. package/dist/application/index.js +3 -0
  9. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
  12. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
  13. package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
  14. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
  15. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
  16. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
  17. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
  18. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
  19. package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
  20. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
  22. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
  23. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +145 -0
  24. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
  25. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
  26. package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
  27. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
  28. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +90 -0
  29. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
  30. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
  31. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
  32. package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
  33. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
  34. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
  35. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
  36. package/dist/domain/architecture/consistent-barrel-files/rule.js +51 -0
  37. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
  38. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
  39. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
  40. package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
  41. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
  42. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
  43. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
  44. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
  45. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
  46. package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
  47. package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
  48. package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
  49. package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
  50. package/dist/domain/architecture/index.d.ts.map +1 -0
  51. package/dist/domain/architecture/index.js +2 -0
  52. package/dist/{core → domain/core}/index.d.ts +2 -2
  53. package/dist/domain/core/index.d.ts.map +1 -0
  54. package/dist/domain/core/index.js +3 -0
  55. package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
  56. package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
  57. package/dist/domain/core/no-multiple-declarators/index.js +2 -0
  58. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
  59. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
  60. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
  61. package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
  62. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
  63. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
  64. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
  65. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
  66. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
  67. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
  68. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
  69. package/dist/domain/core/no-multiple-declarators/rule.js +222 -0
  70. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
  71. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
  72. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
  73. package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
  74. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
  75. package/dist/domain/core/no-multiple-declarators/types.js +38 -0
  76. package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
  77. package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
  78. package/dist/domain/core/prefer-interface-types/index.js +2 -0
  79. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
  80. package/dist/domain/core/prefer-interface-types/rule.js +148 -0
  81. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
  82. package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
  83. package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +3 -1
  84. package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
  85. package/dist/domain/custom-rule-documentation.js +36 -0
  86. package/dist/domain/docs/index.d.ts +4 -0
  87. package/dist/domain/docs/index.d.ts.map +1 -0
  88. package/dist/domain/docs/index.js +4 -0
  89. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
  90. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
  91. package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
  92. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
  93. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
  94. package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
  95. package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
  96. package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
  97. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
  98. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
  99. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
  100. package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
  101. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
  102. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
  103. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
  104. package/dist/domain/docs/no-interface-member-docs/rule.js +171 -0
  105. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
  106. package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.js +2 -2
  107. package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
  108. package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
  109. package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
  110. package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
  111. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
  112. package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
  113. package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
  114. package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
  115. package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
  116. package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
  117. package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
  118. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
  119. package/dist/domain/docs/require-example-language/examples.js +181 -0
  120. package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
  121. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
  122. package/dist/domain/docs/require-example-language/fixes.js +182 -0
  123. package/dist/domain/docs/require-example-language/index.d.ts +3 -0
  124. package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
  125. package/dist/domain/docs/require-example-language/index.js +2 -0
  126. package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
  127. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
  128. package/dist/domain/docs/require-example-language/reporting.js +148 -0
  129. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
  130. package/dist/domain/docs/require-example-language/rule.js +37 -0
  131. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
  132. package/dist/domain/docs/require-example-language/types.js +2 -0
  133. package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
  134. package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
  135. package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
  136. package/dist/domain/docs/single-line-jsdoc/rule.d.ts +4 -0
  137. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
  138. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
  139. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
  140. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
  141. package/dist/domain/docs/single-line-jsdoc/rule.js +201 -0
  142. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
  143. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
  144. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
  145. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
  146. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
  147. package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
  148. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
  149. package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
  150. package/dist/domain/docs/test-helpers.d.ts.map +1 -0
  151. package/dist/domain/docs/test-helpers.js +107 -0
  152. package/dist/domain/index.d.ts +6 -0
  153. package/dist/domain/index.d.ts.map +1 -0
  154. package/dist/domain/index.js +6 -0
  155. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +34 -0
  156. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
  157. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +145 -0
  158. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
  159. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +203 -0
  160. package/dist/domain/testing/aaa/analyzer.analysis.js +82 -0
  161. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +4 -0
  162. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +1 -0
  163. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +4 -0
  164. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +18 -0
  165. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
  166. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +4 -0
  167. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +1 -0
  168. package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +4 -0
  169. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +95 -0
  170. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
  171. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +185 -0
  172. package/dist/domain/testing/aaa/analyzer.assertions.js +33 -0
  173. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +64 -0
  174. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
  175. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +105 -0
  176. package/dist/domain/testing/aaa/analyzer.classification.d.ts +16 -0
  177. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
  178. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +77 -0
  179. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
  180. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +203 -0
  181. package/dist/domain/testing/aaa/analyzer.classification.js +31 -0
  182. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
  183. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
  184. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
  185. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +4 -0
  186. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +1 -0
  187. package/dist/domain/testing/aaa/analyzer.classification.mutations.js +4 -0
  188. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +15 -0
  189. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
  190. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +34 -0
  191. package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
  192. package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
  193. package/dist/domain/testing/aaa/analyzer.js +59 -0
  194. package/dist/domain/testing/aaa/analyzer.super.d.ts +106 -0
  195. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
  196. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +27 -0
  197. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
  198. package/dist/domain/testing/aaa/analyzer.super.helpers.js +66 -0
  199. package/dist/domain/testing/aaa/analyzer.super.js +211 -0
  200. package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
  201. package/dist/domain/testing/aaa/index.d.ts.map +1 -0
  202. package/dist/domain/testing/aaa/index.js +2 -0
  203. package/dist/domain/testing/aaa/types.d.ts +58 -0
  204. package/dist/domain/testing/aaa/types.d.ts.map +1 -0
  205. package/dist/domain/testing/aaa/types.js +2 -0
  206. package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
  207. package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
  208. package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
  209. package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
  210. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
  211. package/dist/domain/testing/assert-actual-expected-names/rule.js +116 -0
  212. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
  213. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
  214. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
  215. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
  216. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
  217. package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
  218. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
  219. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
  220. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
  221. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +4 -0
  222. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +1 -0
  223. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +4 -0
  224. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +4 -0
  225. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +1 -0
  226. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +4 -0
  227. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
  228. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
  229. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
  230. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
  231. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
  232. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
  233. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
  234. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
  235. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
  236. package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
  237. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
  238. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +37 -0
  239. package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
  240. package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
  241. package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
  242. package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
  243. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
  244. package/dist/domain/testing/enforce-aaa-structure/rule.js +88 -0
  245. package/dist/{testing → domain/testing}/index.d.ts +9 -8
  246. package/dist/domain/testing/index.d.ts.map +1 -0
  247. package/dist/domain/testing/index.js +10 -0
  248. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
  249. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
  250. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
  251. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
  252. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
  253. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
  254. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
  255. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
  256. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
  257. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
  258. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
  259. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
  260. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
  261. package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
  262. package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
  263. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
  264. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
  265. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
  266. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
  267. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
  268. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
  269. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
  270. package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
  271. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
  272. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
  273. package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
  274. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
  275. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
  276. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
  277. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
  278. package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
  279. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
  280. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
  281. package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
  282. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
  283. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
  284. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
  285. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
  286. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +39 -0
  287. package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
  288. package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
  289. package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +97 -0
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +174 -0
  293. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
  294. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
  295. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
  296. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
  297. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
  298. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +84 -0
  299. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
  300. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
  301. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +195 -0
  302. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
  303. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
  304. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +96 -0
  305. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
  306. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
  307. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
  308. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
  309. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
  310. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
  311. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
  312. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
  313. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
  314. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
  315. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
  316. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +88 -0
  317. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
  318. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
  319. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
  320. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
  321. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
  322. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
  323. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
  324. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
  325. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
  326. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +187 -0
  327. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
  328. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
  329. package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
  330. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
  331. package/dist/domain/testing/require-aaa-sections/index.js +2 -0
  332. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
  333. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
  334. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
  335. package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
  336. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
  337. package/dist/domain/testing/require-aaa-sections/rule.js +134 -0
  338. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
  339. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
  340. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +216 -0
  341. package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
  342. package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
  343. package/dist/domain/testing/require-act-result-capture/index.js +2 -0
  344. package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
  345. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
  346. package/dist/domain/testing/require-act-result-capture/rule.js +109 -0
  347. package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
  348. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
  349. package/dist/domain/testing/require-test-companion/index.js +3 -0
  350. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
  351. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
  352. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
  353. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
  354. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
  355. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
  356. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
  357. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
  358. package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
  359. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
  360. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
  361. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
  362. package/dist/domain/testing/require-test-companion/rule.js +82 -0
  363. package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
  364. package/dist/domain/testing/require-test-companion/types.js +2 -0
  365. package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
  366. package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
  367. package/dist/domain/testing/single-act-statement/index.js +2 -0
  368. package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
  369. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
  370. package/dist/domain/testing/single-act-statement/rule.js +37 -0
  371. package/dist/index.d.ts +4 -5
  372. package/dist/index.d.ts.map +1 -1
  373. package/dist/index.js +3 -6
  374. package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
  375. package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
  376. package/dist/infrastructure/codeperfect-plugin.js +30 -0
  377. package/dist/infrastructure/index.d.ts +5 -0
  378. package/dist/infrastructure/index.d.ts.map +1 -0
  379. package/dist/infrastructure/index.js +4 -0
  380. package/dist/infrastructure/presets.d.ts +18 -0
  381. package/dist/infrastructure/presets.d.ts.map +1 -0
  382. package/dist/infrastructure/presets.js +81 -0
  383. package/package.json +67 -32
  384. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
  385. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
  386. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
  387. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
  388. package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
  389. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  390. package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
  391. package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
  392. package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
  393. package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
  394. package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
  395. package/dist/architecture/consistent-barrel-files/index.js +0 -4
  396. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
  397. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
  398. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  399. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
  400. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
  401. package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
  402. package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
  403. package/dist/architecture/consistent-barrel-files/rule.js +0 -58
  404. package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  405. package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
  406. package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
  407. package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
  408. package/dist/architecture/consistent-barrel-files/types.js +0 -2
  409. package/dist/architecture/index.d.ts.map +0 -1
  410. package/dist/architecture/index.js +0 -2
  411. package/dist/benchmark-rules.d.ts +0 -83
  412. package/dist/benchmark-rules.d.ts.map +0 -1
  413. package/dist/benchmark-rules.js +0 -175
  414. package/dist/codeperfect-plugin.d.ts.map +0 -1
  415. package/dist/codeperfect-plugin.js +0 -29
  416. package/dist/core/index.d.ts.map +0 -1
  417. package/dist/core/index.js +0 -3
  418. package/dist/core/no-multiple-declarators/index.d.ts +0 -2
  419. package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
  420. package/dist/core/no-multiple-declarators/index.js +0 -2
  421. package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
  422. package/dist/core/no-multiple-declarators/rule.js +0 -100
  423. package/dist/core/prefer-interface-types/index.d.ts +0 -2
  424. package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
  425. package/dist/core/prefer-interface-types/index.js +0 -2
  426. package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
  427. package/dist/core/prefer-interface-types/rule.js +0 -145
  428. package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  429. package/dist/core/prefer-interface-types/test-helpers.js +0 -116
  430. package/dist/custom-rule-documentation.d.ts.map +0 -1
  431. package/dist/custom-rule-documentation.js +0 -35
  432. package/dist/custom-rules.d.ts.map +0 -1
  433. package/dist/custom-rules.js +0 -70
  434. package/dist/docs/index.d.ts +0 -4
  435. package/dist/docs/index.d.ts.map +0 -1
  436. package/dist/docs/index.js +0 -4
  437. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  438. package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  439. package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
  440. package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
  441. package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
  442. package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
  443. package/dist/docs/no-interface-member-docs/index.js +0 -2
  444. package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
  445. package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
  446. package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
  447. package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
  448. package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
  449. package/dist/docs/no-interface-member-docs/rule.js +0 -168
  450. package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  451. package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
  452. package/dist/docs/no-interface-member-docs/types.js +0 -2
  453. package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
  454. package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
  455. package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
  456. package/dist/docs/require-example-language/example-utilities.js +0 -76
  457. package/dist/docs/require-example-language/examples.d.ts.map +0 -1
  458. package/dist/docs/require-example-language/examples.js +0 -181
  459. package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
  460. package/dist/docs/require-example-language/fixes.js +0 -182
  461. package/dist/docs/require-example-language/index.d.ts +0 -3
  462. package/dist/docs/require-example-language/index.d.ts.map +0 -1
  463. package/dist/docs/require-example-language/index.js +0 -2
  464. package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
  465. package/dist/docs/require-example-language/reporting.js +0 -145
  466. package/dist/docs/require-example-language/rule.d.ts.map +0 -1
  467. package/dist/docs/require-example-language/rule.js +0 -34
  468. package/dist/docs/require-example-language/types.d.ts.map +0 -1
  469. package/dist/docs/require-example-language/types.js +0 -2
  470. package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
  471. package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
  472. package/dist/docs/single-line-jsdoc/index.js +0 -2
  473. package/dist/docs/single-line-jsdoc/rule.d.ts +0 -5
  474. package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
  475. package/dist/docs/single-line-jsdoc/rule.js +0 -196
  476. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
  477. package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
  478. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
  479. package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
  480. package/dist/docs/test-helpers.d.ts.map +0 -1
  481. package/dist/docs/test-helpers.js +0 -107
  482. package/dist/presets.d.ts +0 -10
  483. package/dist/presets.d.ts.map +0 -1
  484. package/dist/presets.js +0 -50
  485. package/dist/rules/index.d.ts +0 -5
  486. package/dist/rules/index.d.ts.map +0 -1
  487. package/dist/rules/index.js +0 -6
  488. package/dist/testing/aaa/analyzer.d.ts +0 -36
  489. package/dist/testing/aaa/analyzer.d.ts.map +0 -1
  490. package/dist/testing/aaa/analyzer.js +0 -490
  491. package/dist/testing/aaa/index.d.ts.map +0 -1
  492. package/dist/testing/aaa/index.js +0 -2
  493. package/dist/testing/aaa/types.d.ts +0 -31
  494. package/dist/testing/aaa/types.d.ts.map +0 -1
  495. package/dist/testing/aaa/types.js +0 -2
  496. package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
  497. package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
  498. package/dist/testing/assert-actual-expected-names/index.js +0 -2
  499. package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
  500. package/dist/testing/assert-actual-expected-names/rule.js +0 -54
  501. package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
  502. package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
  503. package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
  504. package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  505. package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
  506. package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
  507. package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
  508. package/dist/testing/enforce-aaa-structure/index.js +0 -2
  509. package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
  510. package/dist/testing/enforce-aaa-structure/rule.js +0 -48
  511. package/dist/testing/index.d.ts.map +0 -1
  512. package/dist/testing/index.js +0 -9
  513. package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
  514. package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
  515. package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
  516. package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
  517. package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
  518. package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
  519. package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
  520. package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
  521. package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
  522. package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
  523. package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
  524. package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
  525. package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
  526. package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
  527. package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
  528. package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
  529. package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
  530. package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
  531. package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
  532. package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
  533. package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
  534. package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
  535. package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
  536. package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
  537. package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
  538. package/dist/testing/require-aaa-sections/index.d.ts +0 -2
  539. package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
  540. package/dist/testing/require-aaa-sections/index.js +0 -2
  541. package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
  542. package/dist/testing/require-aaa-sections/rule.js +0 -111
  543. package/dist/testing/require-act-result-capture/index.d.ts +0 -2
  544. package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
  545. package/dist/testing/require-act-result-capture/index.js +0 -2
  546. package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
  547. package/dist/testing/require-act-result-capture/rule.js +0 -34
  548. package/dist/testing/require-test-companion/index.d.ts +0 -3
  549. package/dist/testing/require-test-companion/index.d.ts.map +0 -1
  550. package/dist/testing/require-test-companion/index.js +0 -3
  551. package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
  552. package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
  553. package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
  554. package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
  555. package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  556. package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
  557. package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  558. package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
  559. package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
  560. package/dist/testing/require-test-companion/rule.js +0 -57
  561. package/dist/testing/require-test-companion/types.d.ts.map +0 -1
  562. package/dist/testing/require-test-companion/types.js +0 -2
  563. package/dist/testing/single-act-statement/index.d.ts +0 -2
  564. package/dist/testing/single-act-statement/index.d.ts.map +0 -1
  565. package/dist/testing/single-act-statement/index.js +0 -2
  566. package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
  567. package/dist/testing/single-act-statement/rule.js +0 -33
  568. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
  569. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
  570. /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
  571. /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
  572. /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
  573. /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
  574. /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
  575. /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
  576. /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
  577. /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
  578. /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
  579. /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
  580. /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
  581. /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
  582. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
  583. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
  584. /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
  585. /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
  586. /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
  587. /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
@@ -0,0 +1,82 @@
1
+ import { buildListenerForFilename } from "./require-test-companion-listeners.js";
2
+ import { getOptions } from "./require-test-companion-options.js";
3
+ /** ESLint rule enforcing 1:1 test companions for TypeScript files. */
4
+ const requireTestCompanionRule = {
5
+ create(context) {
6
+ return buildListenerForFilename(context, context.filename, getOptions(context.options));
7
+ },
8
+ meta: {
9
+ defaultOptions: [
10
+ {
11
+ enforceIn: ["src/**"],
12
+ ignorePatterns: ["/*.d.ts", "/index.ts"],
13
+ testSuffixes: ["spec", "test"],
14
+ },
15
+ ],
16
+ docs: {
17
+ description: "Require a matching test file for each TypeScript file and vice versa.",
18
+ recommended: false,
19
+ url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/require-test-companion.md",
20
+ },
21
+ messages: {
22
+ missingSource: "Test file requires a matching source file '{{sourceFile}}' in the same folder.",
23
+ missingTest: "Source file requires a matching test file ({{testFiles}}) in the same folder.",
24
+ },
25
+ schema: [
26
+ {
27
+ additionalProperties: false,
28
+ properties: {
29
+ enforceIn: {
30
+ description: "Glob patterns that define where source files must have matching test companions.",
31
+ oneOf: [
32
+ {
33
+ description: "A single glob pattern.",
34
+ type: "string",
35
+ },
36
+ {
37
+ description: "A list of glob patterns.",
38
+ items: { type: "string" },
39
+ minItems: 1,
40
+ type: "array",
41
+ },
42
+ ],
43
+ },
44
+ ignorePatterns: {
45
+ description: "Glob patterns that should be excluded from the companion-file requirement.",
46
+ oneOf: [
47
+ {
48
+ description: "A single ignore glob pattern.",
49
+ type: "string",
50
+ },
51
+ {
52
+ description: "A list of ignore glob patterns.",
53
+ items: { type: "string" },
54
+ minItems: 1,
55
+ type: "array",
56
+ },
57
+ ],
58
+ },
59
+ testSuffixes: {
60
+ description: "Filename suffixes that are recognized as valid test companions.",
61
+ oneOf: [
62
+ {
63
+ description: "A single test filename suffix.",
64
+ type: "string",
65
+ },
66
+ {
67
+ description: "A list of test filename suffixes.",
68
+ items: { type: "string" },
69
+ minItems: 1,
70
+ type: "array",
71
+ },
72
+ ],
73
+ },
74
+ },
75
+ type: "object",
76
+ },
77
+ ],
78
+ type: "problem",
79
+ },
80
+ };
81
+ export { requireTestCompanionRule };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9yZXF1aXJlLXRlc3QtY29tcGFuaW9uL3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTlELHNFQUFzRTtBQUN0RSxNQUFNLHdCQUF3QixHQUFvQjtJQUNoRCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTyx3QkFBd0IsQ0FDN0IsT0FBTyxFQUNQLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osY0FBYyxFQUFFO1lBQ2Q7Z0JBQ0UsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQUNyQixjQUFjLEVBQUUsQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDO2dCQUN4QyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO2FBQy9CO1NBQ0Y7UUFDRCxJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1QsdUVBQXVFO1lBQ3pFLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSx5RkFBeUY7U0FDL0Y7UUFDRCxRQUFRLEVBQUU7WUFDUixhQUFhLEVBQ1gsZ0ZBQWdGO1lBQ2xGLFdBQVcsRUFDVCwrRUFBK0U7U0FDbEY7UUFDRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxvQkFBb0IsRUFBRSxLQUFLO2dCQUMzQixVQUFVLEVBQUU7b0JBQ1YsU0FBUyxFQUFFO3dCQUNULFdBQVcsRUFDVCxrRkFBa0Y7d0JBQ3BGLEtBQUssRUFBRTs0QkFDTDtnQ0FDRSxXQUFXLEVBQUUsd0JBQXdCO2dDQUNyQyxJQUFJLEVBQUUsUUFBUTs2QkFDZjs0QkFDRDtnQ0FDRSxXQUFXLEVBQUUsMEJBQTBCO2dDQUN2QyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO2dDQUN6QixRQUFRLEVBQUUsQ0FBQztnQ0FDWCxJQUFJLEVBQUUsT0FBTzs2QkFDZDt5QkFDRjtxQkFDRjtvQkFDRCxjQUFjLEVBQUU7d0JBQ2QsV0FBVyxFQUNULDRFQUE0RTt3QkFDOUUsS0FBSyxFQUFFOzRCQUNMO2dDQUNFLFdBQVcsRUFBRSwrQkFBK0I7Z0NBQzVDLElBQUksRUFBRSxRQUFROzZCQUNmOzRCQUNEO2dDQUNFLFdBQVcsRUFBRSxpQ0FBaUM7Z0NBQzlDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7Z0NBQ3pCLFFBQVEsRUFBRSxDQUFDO2dDQUNYLElBQUksRUFBRSxPQUFPOzZCQUNkO3lCQUNGO3FCQUNGO29CQUNELFlBQVksRUFBRTt3QkFDWixXQUFXLEVBQ1QsaUVBQWlFO3dCQUNuRSxLQUFLLEVBQUU7NEJBQ0w7Z0NBQ0UsV0FBVyxFQUFFLGdDQUFnQztnQ0FDN0MsSUFBSSxFQUFFLFFBQVE7NkJBQ2Y7NEJBQ0Q7Z0NBQ0UsV0FBVyxFQUFFLG1DQUFtQztnQ0FDaEQsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQ0FDekIsUUFBUSxFQUFFLENBQUM7Z0NBQ1gsSUFBSSxFQUFFLE9BQU87NkJBQ2Q7eUJBQ0Y7cUJBQ0Y7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGJ1aWxkTGlzdGVuZXJGb3JGaWxlbmFtZSB9IGZyb20gXCIuL3JlcXVpcmUtdGVzdC1jb21wYW5pb24tbGlzdGVuZXJzXCI7XG5pbXBvcnQgeyBnZXRPcHRpb25zIH0gZnJvbSBcIi4vcmVxdWlyZS10ZXN0LWNvbXBhbmlvbi1vcHRpb25zXCI7XG5cbi8qKiBFU0xpbnQgcnVsZSBlbmZvcmNpbmcgMToxIHRlc3QgY29tcGFuaW9ucyBmb3IgVHlwZVNjcmlwdCBmaWxlcy4gKi9cbmNvbnN0IHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGVuYW1lKFxuICAgICAgY29udGV4dCxcbiAgICAgIGNvbnRleHQuZmlsZW5hbWUsXG4gICAgICBnZXRPcHRpb25zKGNvbnRleHQub3B0aW9ucyksXG4gICAgKTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRlZmF1bHRPcHRpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGVuZm9yY2VJbjogW1wic3JjLyoqXCJdLFxuICAgICAgICBpZ25vcmVQYXR0ZXJuczogW1wiLyouZC50c1wiLCBcIi9pbmRleC50c1wiXSxcbiAgICAgICAgdGVzdFN1ZmZpeGVzOiBbXCJzcGVjXCIsIFwidGVzdFwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIGEgbWF0Y2hpbmcgdGVzdCBmaWxlIGZvciBlYWNoIFR5cGVTY3JpcHQgZmlsZSBhbmQgdmljZSB2ZXJzYS5cIixcbiAgICAgIHJlY29tbWVuZGVkOiBmYWxzZSxcbiAgICAgIHVybDogXCJodHRwczovL2dpdGh1Yi5jb20vcGFybG90aS9lc2xpbnQtcGx1Z2luL2Jsb2IvbWFpbi9kb2NzL3J1bGVzL3JlcXVpcmUtdGVzdC1jb21wYW5pb24ubWRcIixcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBtaXNzaW5nU291cmNlOlxuICAgICAgICBcIlRlc3QgZmlsZSByZXF1aXJlcyBhIG1hdGNoaW5nIHNvdXJjZSBmaWxlICd7e3NvdXJjZUZpbGV9fScgaW4gdGhlIHNhbWUgZm9sZGVyLlwiLFxuICAgICAgbWlzc2luZ1Rlc3Q6XG4gICAgICAgIFwiU291cmNlIGZpbGUgcmVxdWlyZXMgYSBtYXRjaGluZyB0ZXN0IGZpbGUgKHt7dGVzdEZpbGVzfX0pIGluIHRoZSBzYW1lIGZvbGRlci5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW1xuICAgICAge1xuICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICBlbmZvcmNlSW46IHtcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICBcIkdsb2IgcGF0dGVybnMgdGhhdCBkZWZpbmUgd2hlcmUgc291cmNlIGZpbGVzIG11c3QgaGF2ZSBtYXRjaGluZyB0ZXN0IGNvbXBhbmlvbnMuXCIsXG4gICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgZ2xvYiBwYXR0ZXJuLlwiLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJBIGxpc3Qgb2YgZ2xvYiBwYXR0ZXJucy5cIixcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGlnbm9yZVBhdHRlcm5zOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJHbG9iIHBhdHRlcm5zIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gdGhlIGNvbXBhbmlvbi1maWxlIHJlcXVpcmVtZW50LlwiLFxuICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgc2luZ2xlIGlnbm9yZSBnbG9iIHBhdHRlcm4uXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiBpZ25vcmUgZ2xvYiBwYXR0ZXJucy5cIixcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICAgICAgbWluSXRlbXM6IDEsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJhcnJheVwiLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHRlc3RTdWZmaXhlczoge1xuICAgICAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgICAgIFwiRmlsZW5hbWUgc3VmZml4ZXMgdGhhdCBhcmUgcmVjb2duaXplZCBhcyB2YWxpZCB0ZXN0IGNvbXBhbmlvbnMuXCIsXG4gICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IFwiQSBzaW5nbGUgdGVzdCBmaWxlbmFtZSBzdWZmaXguXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBcIkEgbGlzdCBvZiB0ZXN0IGZpbGVuYW1lIHN1ZmZpeGVzLlwiLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6IFwic3RyaW5nXCIgfSxcbiAgICAgICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImFycmF5XCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFwib2JqZWN0XCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgdHlwZTogXCJwcm9ibGVtXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUgfTtcbiJdfQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/require-test-companion/types.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,UAAU,2BAA2B;IACnC,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE9B,mCAAmC;IACnC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEnC,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAClC;AAED,YAAY,EAAE,2BAA2B,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcmVxdWlyZS10ZXN0LWNvbXBhbmlvbi90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcXVpcmVUZXN0Q29tcGFuaW9uT3B0aW9ucyB7XG4gIC8qKiBFbmZvcmNlSW4gaGVscGVyIHZhbHVlLiAqL1xuICBlbmZvcmNlSW4/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKiogSWdub3JlUGF0dGVybnMgaGVscGVyIHZhbHVlLiAqL1xuICBpZ25vcmVQYXR0ZXJucz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKiBUZXN0U3VmZml4ZXMgaGVscGVyIHZhbHVlLiAqL1xuICB0ZXN0U3VmZml4ZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgeyBSZXF1aXJlVGVzdENvbXBhbmlvbk9wdGlvbnMgfTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export { singleActStatementRule } from "./rule.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/single-act-statement/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { singleActStatementRule } from "./rule.js";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3Rpbmcvc2luZ2xlLWFjdC1zdGF0ZW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgc2luZ2xlQWN0U3RhdGVtZW50UnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import type { Rule } from "eslint";
2
+ /** Requires the Act phase to contain a single top-level statement. */
2
3
  declare const singleActStatementRule: Rule.RuleModule;
3
4
  export { singleActStatementRule };
4
5
  //# sourceMappingURL=rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/single-act-statement/rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,sEAAsE;AACtE,QAAA,MAAM,sBAAsB,EAAE,IAAI,CAAC,UAoClC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { analyzeTestBlock, countActStatements } from "../aaa/index.js";
2
+ /** Requires the Act phase to contain a single top-level statement. */
3
+ const singleActStatementRule = {
4
+ create(context) {
5
+ return {
6
+ CallExpression(node) {
7
+ const analysis = analyzeTestBlock(context, node);
8
+ if (analysis === void 0) {
9
+ return;
10
+ }
11
+ const actStatementCount = countActStatements(analysis);
12
+ if (actStatementCount <= 1) {
13
+ return;
14
+ }
15
+ context.report({
16
+ data: { count: String(actStatementCount) },
17
+ messageId: "multipleActStatements",
18
+ node: analysis.callExpression,
19
+ });
20
+ },
21
+ };
22
+ },
23
+ meta: {
24
+ docs: {
25
+ description: "Require the // Act section to contain a single top-level statement or declaration.",
26
+ recommended: false,
27
+ url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/single-act-statement.md",
28
+ },
29
+ messages: {
30
+ multipleActStatements: "Reduce the // Act section to a single top-level statement or variable declaration; found {{count}}.",
31
+ },
32
+ schema: [],
33
+ type: "suggestion",
34
+ },
35
+ };
36
+ export { singleActStatementRule };
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vdGVzdGluZy9zaW5nbGUtYWN0LXN0YXRlbWVudC9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5RCxzRUFBc0U7QUFDdEUsTUFBTSxzQkFBc0IsR0FBb0I7SUFDOUMsTUFBTSxDQUFDLE9BQXlCO1FBQzlCLE9BQU87WUFDTCxjQUFjLENBQUMsSUFBSTtnQkFDakIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLFFBQVEsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN4QixPQUFPO2dCQUNULENBQUM7Z0JBRUQsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDdkQsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDM0IsT0FBTztnQkFDVCxDQUFDO2dCQUVELE9BQU8sQ0FBQyxNQUFNLENBQUM7b0JBQ2IsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO29CQUMxQyxTQUFTLEVBQUUsdUJBQXVCO29CQUNsQyxJQUFJLEVBQUUsUUFBUSxDQUFDLGNBQWM7aUJBQzlCLENBQUMsQ0FBQztZQUNMLENBQUM7U0FDMEIsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osV0FBVyxFQUNULG9GQUFvRjtZQUN0RixXQUFXLEVBQUUsS0FBSztZQUNsQixHQUFHLEVBQUUsdUZBQXVGO1NBQzdGO1FBQ0QsUUFBUSxFQUFFO1lBQ1IscUJBQXFCLEVBQ25CLHFHQUFxRztTQUN4RztRQUNELE1BQU0sRUFBRSxFQUFFO1FBQ1YsSUFBSSxFQUFFLFlBQVk7S0FDbkI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGFuYWx5emVUZXN0QmxvY2ssIGNvdW50QWN0U3RhdGVtZW50cyB9IGZyb20gXCIuLi9hYWFcIjtcblxuLyoqIFJlcXVpcmVzIHRoZSBBY3QgcGhhc2UgdG8gY29udGFpbiBhIHNpbmdsZSB0b3AtbGV2ZWwgc3RhdGVtZW50LiAqL1xuY29uc3Qgc2luZ2xlQWN0U3RhdGVtZW50UnVsZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBhbmFseXNpcyA9IGFuYWx5emVUZXN0QmxvY2soY29udGV4dCwgbm9kZSk7XG4gICAgICAgIGlmIChhbmFseXNpcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0U3RhdGVtZW50Q291bnQgPSBjb3VudEFjdFN0YXRlbWVudHMoYW5hbHlzaXMpO1xuICAgICAgICBpZiAoYWN0U3RhdGVtZW50Q291bnQgPD0gMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBkYXRhOiB7IGNvdW50OiBTdHJpbmcoYWN0U3RhdGVtZW50Q291bnQpIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBcIm11bHRpcGxlQWN0U3RhdGVtZW50c1wiLFxuICAgICAgICAgIG5vZGU6IGFuYWx5c2lzLmNhbGxFeHByZXNzaW9uLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgUnVsZS5SdWxlTGlzdGVuZXI7XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJSZXF1aXJlIHRoZSAvLyBBY3Qgc2VjdGlvbiB0byBjb250YWluIGEgc2luZ2xlIHRvcC1sZXZlbCBzdGF0ZW1lbnQgb3IgZGVjbGFyYXRpb24uXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9zaW5nbGUtYWN0LXN0YXRlbWVudC5tZFwiLFxuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIG11bHRpcGxlQWN0U3RhdGVtZW50czpcbiAgICAgICAgXCJSZWR1Y2UgdGhlIC8vIEFjdCBzZWN0aW9uIHRvIGEgc2luZ2xlIHRvcC1sZXZlbCBzdGF0ZW1lbnQgb3IgdmFyaWFibGUgZGVjbGFyYXRpb247IGZvdW5kIHt7Y291bnR9fS5cIixcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogXCJzdWdnZXN0aW9uXCIsXG4gIH0sXG59O1xuXG5leHBvcnQgeyBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlIH07XG4iXX0=
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- export { codeperfectPlugin, codeperfectPlugin as default, } from "./codeperfect-plugin";
2
- export { aaa, all, architecture, core, docs, testing } from "./presets";
3
- export { customRules } from "./custom-rules";
4
- export type { CustomRuleEntry } from "./custom-rules";
5
- export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "./rules";
1
+ export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "./application/index.js";
2
+ export type { CustomRuleEntry } from "./application/index.js";
3
+ export { aaa, all, architecture, codeperfectPlugin, core, customRules, documentation, testing, } from "./infrastructure/index.js";
4
+ export type { CodeperfectPreset } from "./infrastructure/index.js";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,IAAI,OAAO,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EACL,GAAG,EACH,GAAG,EACH,YAAY,EACZ,iBAAiB,EACjB,IAAI,EACJ,WAAW,EACX,aAAa,EACb,OAAO,GACR,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,3 @@
1
- /* v8 ignore file */
2
- export { codeperfectPlugin, codeperfectPlugin as default, } from "./codeperfect-plugin";
3
- export { aaa, all, architecture, core, docs, testing } from "./presets";
4
- export { customRules } from "./custom-rules";
5
- export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "./rules";
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBRXBCLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsaUJBQWlCLElBQUksT0FBTyxHQUM3QixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4RSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHY4IGlnbm9yZSBmaWxlICovXG5cbmV4cG9ydCB7XG4gIGNvZGVwZXJmZWN0UGx1Z2luLFxuICBjb2RlcGVyZmVjdFBsdWdpbiBhcyBkZWZhdWx0LFxufSBmcm9tIFwiLi9jb2RlcGVyZmVjdC1wbHVnaW5cIjtcbmV4cG9ydCB7IGFhYSwgYWxsLCBhcmNoaXRlY3R1cmUsIGNvcmUsIGRvY3MsIHRlc3RpbmcgfSBmcm9tIFwiLi9wcmVzZXRzXCI7XG5leHBvcnQgeyBjdXN0b21SdWxlcyB9IGZyb20gXCIuL2N1c3RvbS1ydWxlc1wiO1xuZXhwb3J0IHR5cGUgeyBDdXN0b21SdWxlRW50cnkgfSBmcm9tIFwiLi9jdXN0b20tcnVsZXNcIjtcbmV4cG9ydCB7XG4gIGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlLFxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZSxcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXG4gIG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gIG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxuICBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi9ydWxlc1wiO1xuIl19
1
+ export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "./application/index.js";
2
+ export { aaa, all, architecture, codeperfectPlugin, core, customRules, documentation, testing, } from "./infrastructure/index.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNMLEdBQUcsRUFDSCxHQUFHLEVBQ0gsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixJQUFJLEVBQ0osV0FBVyxFQUNYLGFBQWEsRUFDYixPQUFPLEdBQ1IsTUFBTSxrQkFBa0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7XG4gIGFzc2VydEFjdHVhbEV4cGVjdGVkTmFtZXNSdWxlLFxuICBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZSxcbiAgZW5mb3JjZUFhYVN0cnVjdHVyZVJ1bGUsXG4gIG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gIG5vTXVsdGlwbGVEZWNsYXJhdG9yc1J1bGUsXG4gIG5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNSdWxlLFxuICBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgcHJlZmVyVml0ZXN0SW5jcmVtZW50YWxDYXN0c1J1bGUsXG4gIHJlcXVpcmVBYWFTZWN0aW9uc1J1bGUsXG4gIHJlcXVpcmVBY3RSZXN1bHRDYXB0dXJlUnVsZSxcbiAgcmVxdWlyZUV4YW1wbGVMYW5ndWFnZVJ1bGUsXG4gIHJlcXVpcmVUZXN0Q29tcGFuaW9uUnVsZSxcbiAgc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgc2luZ2xlTGluZUpzZG9jUnVsZSxcbn0gZnJvbSBcIi4vYXBwbGljYXRpb25cIjtcbmV4cG9ydCB0eXBlIHsgQ3VzdG9tUnVsZUVudHJ5IH0gZnJvbSBcIi4vYXBwbGljYXRpb25cIjtcbmV4cG9ydCB7XG4gIGFhYSxcbiAgYWxsLFxuICBhcmNoaXRlY3R1cmUsXG4gIGNvZGVwZXJmZWN0UGx1Z2luLFxuICBjb3JlLFxuICBjdXN0b21SdWxlcyxcbiAgZG9jdW1lbnRhdGlvbixcbiAgdGVzdGluZyxcbn0gZnJvbSBcIi4vaW5mcmFzdHJ1Y3R1cmVcIjtcbmV4cG9ydCB0eXBlIHsgQ29kZXBlcmZlY3RQcmVzZXQgfSBmcm9tIFwiLi9pbmZyYXN0cnVjdHVyZVwiO1xuIl19
@@ -11,6 +11,7 @@ declare const codeperfectRules: {
11
11
  readonly "no-reexports-outside-barrels": Rule.RuleModule;
12
12
  readonly "prefer-interface-types": Rule.RuleModule;
13
13
  readonly "prefer-vi-mocked-import": Rule.RuleModule;
14
+ readonly "prefer-vitest-incremental-casts": Rule.RuleModule;
14
15
  readonly "require-aaa-sections": Rule.RuleModule;
15
16
  readonly "require-act-result-capture": Rule.RuleModule;
16
17
  readonly "require-example-language": Rule.RuleModule;
@@ -34,6 +35,7 @@ declare const codeperfectPlugin: {
34
35
  readonly "no-reexports-outside-barrels": Rule.RuleModule;
35
36
  readonly "prefer-interface-types": Rule.RuleModule;
36
37
  readonly "prefer-vi-mocked-import": Rule.RuleModule;
38
+ readonly "prefer-vitest-incremental-casts": Rule.RuleModule;
37
39
  readonly "require-aaa-sections": Rule.RuleModule;
38
40
  readonly "require-act-result-capture": Rule.RuleModule;
39
41
  readonly "require-example-language": Rule.RuleModule;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codeperfect-plugin.d.ts","sourceRoot":"","sources":["../../src/infrastructure/codeperfect-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,IAAI,EAAE,MAAM,QAAQ,CAAC;AAsB3C,mDAAmD;AACnD,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;CAkB8B,CAAC;AAErD,oDAAoD;AACpD,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;CAKkC,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,30 @@
1
+ import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../application/index.js";
2
+ /** Rule registry exposed by the package plugin. */
3
+ const codeperfectRules = {
4
+ "assert-actual-expected-names": assertActualExpectedNamesRule,
5
+ "barrel-files-exports-only": barrelFilesExportsOnlyRule,
6
+ "consistent-barrel-files": consistentBarrelFilesRule,
7
+ "enforce-aaa-phase-purity": enforceAaaPhasePurityRule,
8
+ "enforce-aaa-structure": enforceAaaStructureRule,
9
+ "no-interface-member-docs": noInterfaceMemberDocumentationRule,
10
+ "no-multiple-declarators": noMultipleDeclaratorsRule,
11
+ "no-reexports-outside-barrels": noReexportsOutsideBarrelsRule,
12
+ "prefer-interface-types": preferInterfaceTypesRule,
13
+ "prefer-vi-mocked-import": preferViMockedImportRule,
14
+ "prefer-vitest-incremental-casts": preferVitestIncrementalCastsRule,
15
+ "require-aaa-sections": requireAaaSectionsRule,
16
+ "require-act-result-capture": requireActResultCaptureRule,
17
+ "require-example-language": requireExampleLanguageRule,
18
+ "require-test-companion": requireTestCompanionRule,
19
+ "single-act-statement": singleActStatementRule,
20
+ "single-line-jsdoc": singleLineJsdocRule,
21
+ };
22
+ /** ESLint plugin object exported by the package. */
23
+ const codeperfectPlugin = {
24
+ meta: {
25
+ name: "@codeperfect/eslint-plugin",
26
+ },
27
+ rules: codeperfectRules,
28
+ };
29
+ export { codeperfectPlugin, codeperfectRules };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZXBlcmZlY3QtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2luZnJhc3RydWN0dXJlL2NvZGVwZXJmZWN0LXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixrQ0FBa0MsRUFDbEMseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLGdDQUFnQyxFQUNoQyxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLG1EQUFtRDtBQUNuRCxNQUFNLGdCQUFnQixHQUFHO0lBQ3ZCLDhCQUE4QixFQUFFLDZCQUE2QjtJQUM3RCwyQkFBMkIsRUFBRSwwQkFBMEI7SUFDdkQseUJBQXlCLEVBQUUseUJBQXlCO0lBQ3BELDBCQUEwQixFQUFFLHlCQUF5QjtJQUNyRCx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQsMEJBQTBCLEVBQUUsa0NBQWtDO0lBQzlELHlCQUF5QixFQUFFLHlCQUF5QjtJQUNwRCw4QkFBOEIsRUFBRSw2QkFBNkI7SUFDN0Qsd0JBQXdCLEVBQUUsd0JBQXdCO0lBQ2xELHlCQUF5QixFQUFFLHdCQUF3QjtJQUNuRCxpQ0FBaUMsRUFBRSxnQ0FBZ0M7SUFDbkUsc0JBQXNCLEVBQUUsc0JBQXNCO0lBQzlDLDRCQUE0QixFQUFFLDJCQUEyQjtJQUN6RCwwQkFBMEIsRUFBRSwwQkFBMEI7SUFDdEQsd0JBQXdCLEVBQUUsd0JBQXdCO0lBQ2xELHNCQUFzQixFQUFFLHNCQUFzQjtJQUM5QyxtQkFBbUIsRUFBRSxtQkFBbUI7Q0FDVSxDQUFDO0FBRXJELG9EQUFvRDtBQUNwRCxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSw0QkFBNEI7S0FDbkM7SUFDRCxLQUFLLEVBQUUsZ0JBQWdCO0NBQ2dDLENBQUM7QUFFMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExpbnRlciwgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzUnVsZSxcbiAgcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vYXBwbGljYXRpb25cIjtcblxuLyoqIFJ1bGUgcmVnaXN0cnkgZXhwb3NlZCBieSB0aGUgcGFja2FnZSBwbHVnaW4uICovXG5jb25zdCBjb2RlcGVyZmVjdFJ1bGVzID0ge1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIjogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBcImVuZm9yY2UtYWFhLXBoYXNlLXB1cml0eVwiOiBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIjogbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiOiBub011bHRpcGxlRGVjbGFyYXRvcnNSdWxlLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIjogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiOiBwcmVmZXJJbnRlcmZhY2VUeXBlc1J1bGUsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIjogcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBcInByZWZlci12aXRlc3QtaW5jcmVtZW50YWwtY2FzdHNcIjogcHJlZmVyVml0ZXN0SW5jcmVtZW50YWxDYXN0c1J1bGUsXG4gIFwicmVxdWlyZS1hYWEtc2VjdGlvbnNcIjogcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiOiByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIFwicmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlXCI6IHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIjogcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBcInNpbmdsZS1hY3Qtc3RhdGVtZW50XCI6IHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIFwic2luZ2xlLWxpbmUtanNkb2NcIjogc2luZ2xlTGluZUpzZG9jUnVsZSxcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIFJ1bGUuUnVsZU1vZHVsZT47XG5cbi8qKiBFU0xpbnQgcGx1Z2luIG9iamVjdCBleHBvcnRlZCBieSB0aGUgcGFja2FnZS4gKi9cbmNvbnN0IGNvZGVwZXJmZWN0UGx1Z2luID0ge1xuICBtZXRhOiB7XG4gICAgbmFtZTogXCJAY29kZXBlcmZlY3QvZXNsaW50LXBsdWdpblwiLFxuICB9LFxuICBydWxlczogY29kZXBlcmZlY3RSdWxlcyxcbn0gc2F0aXNmaWVzIE5vbk51bGxhYmxlPExpbnRlci5Db25maWdbXCJwbHVnaW5zXCJdPltzdHJpbmddO1xuXG5leHBvcnQgeyBjb2RlcGVyZmVjdFBsdWdpbiwgY29kZXBlcmZlY3RSdWxlcyB9O1xuIl19
@@ -0,0 +1,5 @@
1
+ export { customRules } from "../application/index.js";
2
+ export { codeperfectPlugin, codeperfectRules } from "./codeperfect-plugin.js";
3
+ export { aaa, all, architecture, core, documentation, testing, } from "./presets.js";
4
+ export type { CodeperfectPreset } from "./presets.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infrastructure/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EACL,GAAG,EACH,GAAG,EACH,YAAY,EACZ,IAAI,EACJ,aAAa,EACb,OAAO,GACR,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { customRules } from "../application/index.js";
2
+ export { codeperfectPlugin, codeperfectRules } from "./codeperfect-plugin.js";
3
+ export { aaa, all, architecture, core, documentation, testing, } from "./presets.js";
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5mcmFzdHJ1Y3R1cmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFDTCxHQUFHLEVBQ0gsR0FBRyxFQUNILFlBQVksRUFDWixJQUFJLEVBQ0osYUFBYSxFQUNiLE9BQU8sR0FDUixNQUFNLFdBQVcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGN1c3RvbVJ1bGVzIH0gZnJvbSBcIi4uL2FwcGxpY2F0aW9uXCI7XHJcbmV4cG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH0gZnJvbSBcIi4vY29kZXBlcmZlY3QtcGx1Z2luXCI7XHJcbmV4cG9ydCB7XHJcbiAgYWFhLFxyXG4gIGFsbCxcclxuICBhcmNoaXRlY3R1cmUsXHJcbiAgY29yZSxcclxuICBkb2N1bWVudGF0aW9uLFxyXG4gIHRlc3RpbmcsXHJcbn0gZnJvbSBcIi4vcHJlc2V0c1wiO1xyXG5leHBvcnQgdHlwZSB7IENvZGVwZXJmZWN0UHJlc2V0IH0gZnJvbSBcIi4vcHJlc2V0c1wiO1xyXG4iXX0=
@@ -0,0 +1,18 @@
1
+ import type { Linter } from "eslint";
2
+ /** Represents a ready-to-use preset exported by the package. */
3
+ type CodeperfectPreset = Pick<Linter.Config, "plugins" | "rules">;
4
+ /** Preset that enables every package-owned rule. */
5
+ declare const all: CodeperfectPreset;
6
+ /** Preset that enables architecture-focused rules. */
7
+ declare const architecture: CodeperfectPreset;
8
+ /** Preset that enables core rules. */
9
+ declare const core: CodeperfectPreset;
10
+ /** Preset that enables documentation rules. */
11
+ declare const documentation: CodeperfectPreset;
12
+ /** Preset that enables testing rules. */
13
+ declare const testing: CodeperfectPreset;
14
+ /** Preset that enables AAA-specific testing rules. */
15
+ declare const aaa: CodeperfectPreset;
16
+ export { aaa, all, architecture, core, documentation, testing };
17
+ export type { CodeperfectPreset };
18
+ //# sourceMappingURL=presets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/infrastructure/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIrC,gEAAgE;AAChE,KAAK,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,CAAC;AA6FlE,oDAAoD;AACpD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,sDAAsD;AACtD,QAAA,MAAM,YAAY,mBAAsC,CAAC;AAEzD,sCAAsC;AACtC,QAAA,MAAM,IAAI,mBAA8B,CAAC;AAEzC,+CAA+C;AAC/C,QAAA,MAAM,aAAa,mBAAuC,CAAC;AAE3D,yCAAyC;AACzC,QAAA,MAAM,OAAO,mBAAiC,CAAC;AAE/C,sDAAsD;AACtD,QAAA,MAAM,GAAG,mBAA6B,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { codeperfectPlugin, codeperfectRules } from "./codeperfect-plugin.js";
2
+ /** Rule names grouped into the architecture preset. */
3
+ const architectureRuleNames = [
4
+ "barrel-files-exports-only",
5
+ "consistent-barrel-files",
6
+ "no-reexports-outside-barrels",
7
+ ];
8
+ /** Rule names grouped into the core preset. */
9
+ const coreRuleNames = [
10
+ "no-multiple-declarators",
11
+ "prefer-interface-types",
12
+ ];
13
+ /** Rule names grouped into the documentation preset. */
14
+ const documentationRuleNames = [
15
+ "no-interface-member-docs",
16
+ "require-example-language",
17
+ "single-line-jsdoc",
18
+ ];
19
+ /** Rule names grouped into the AAA-focused preset. */
20
+ const aaaRuleNames = [
21
+ "enforce-aaa-phase-purity",
22
+ "enforce-aaa-structure",
23
+ "require-aaa-sections",
24
+ ];
25
+ /** Rule names grouped into the broader testing preset. */
26
+ const testingRuleNames = [
27
+ "assert-actual-expected-names",
28
+ "enforce-aaa-phase-purity",
29
+ "enforce-aaa-structure",
30
+ "prefer-vi-mocked-import",
31
+ "prefer-vitest-incremental-casts",
32
+ "require-aaa-sections",
33
+ "require-act-result-capture",
34
+ "require-test-companion",
35
+ "single-act-statement",
36
+ ];
37
+ /** Rule names used by the all-rules preset. */
38
+ const allRuleNames = Object.keys(codeperfectRules);
39
+ /**
40
+ * Creates a preset for the provided rule names.
41
+ * @param ruleNames Rule names to enable.
42
+ * @returns ESLint preset containing the package plugin and enabled rules.
43
+ * @example
44
+ * ```typescript
45
+ * const preset = createPreset(["no-multiple-declarators"]);
46
+ * ```
47
+ */
48
+ function createPreset(ruleNames) {
49
+ return {
50
+ plugins: {
51
+ codeperfect: codeperfectPlugin,
52
+ },
53
+ rules: createRules(ruleNames),
54
+ };
55
+ }
56
+ /**
57
+ * Creates the rule entry map for a preset.
58
+ * @param ruleNames Rule names to enable.
59
+ * @returns Rule entry map keyed by `codeperfect/` rule name.
60
+ * @example
61
+ * ```typescript
62
+ * const rules = createRules(["prefer-interface-types"]);
63
+ * ```
64
+ */
65
+ function createRules(ruleNames) {
66
+ return Object.fromEntries(ruleNames.map((ruleName) => [`codeperfect/${ruleName}`, "error"]));
67
+ }
68
+ /** Preset that enables every package-owned rule. */
69
+ const all = createPreset(allRuleNames);
70
+ /** Preset that enables architecture-focused rules. */
71
+ const architecture = createPreset(architectureRuleNames);
72
+ /** Preset that enables core rules. */
73
+ const core = createPreset(coreRuleNames);
74
+ /** Preset that enables documentation rules. */
75
+ const documentation = createPreset(documentationRuleNames);
76
+ /** Preset that enables testing rules. */
77
+ const testing = createPreset(testingRuleNames);
78
+ /** Preset that enables AAA-specific testing rules. */
79
+ const aaa = createPreset(aaaRuleNames);
80
+ export { aaa, all, architecture, core, documentation, testing };
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsd0JBQXdCO0NBQ3lCLENBQUM7QUFFcEQsd0RBQXdEO0FBQ3hELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRCxzREFBc0Q7QUFDdEQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixzQkFBc0I7Q0FDMkIsQ0FBQztBQUVwRCwwREFBMEQ7QUFDMUQsTUFBTSxnQkFBZ0IsR0FBRztJQUN2Qiw4QkFBOEI7SUFDOUIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtDQUMyQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUEwQixDQUFDO0FBRTVFOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxZQUFZLENBQ25CLFNBQXlDO0lBRXpDLE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsaUJBQWlCO1NBQy9CO1FBQ0QsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUNsQixTQUF5QztJQUV6QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELG9EQUFvRDtBQUNwRCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFdkMsc0RBQXNEO0FBQ3RELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRXpELHNDQUFzQztBQUN0QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFekMsK0NBQStDO0FBQy9DLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTNELHlDQUF5QztBQUN6QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUUvQyxzREFBc0Q7QUFDdEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH0gZnJvbSBcIi4vY29kZXBlcmZlY3QtcGx1Z2luXCI7XG5cbi8qKiBSZXByZXNlbnRzIGEgcmVhZHktdG8tdXNlIHByZXNldCBleHBvcnRlZCBieSB0aGUgcGFja2FnZS4gKi9cbnR5cGUgQ29kZXBlcmZlY3RQcmVzZXQgPSBQaWNrPExpbnRlci5Db25maWcsIFwicGx1Z2luc1wiIHwgXCJydWxlc1wiPjtcblxuLyoqIFJlcHJlc2VudHMgdGhlIGVuYWJsZWQgcnVsZSBlbnRyaWVzIGluc2lkZSBhIHByZXNldC4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlRW50cmllcyA9IFBhcnRpYWw8XG4gIFJlY29yZDxDb2RlcGVyZmVjdFJ1bGVLZXksIExpbnRlci5SdWxlRW50cnk+XG4+O1xuXG4vKiogTmFtZXNwYWNlcyBhIHBhY2thZ2Utb3duZWQgcnVsZSB1bmRlciB0aGUgYGNvZGVwZXJmZWN0L2AgcHJlZml4LiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVLZXkgPSBgY29kZXBlcmZlY3QvJHtDb2RlcGVyZmVjdFJ1bGVOYW1lfWA7XG5cbi8qKiBFbnVtZXJhdGVzIHRoZSBwYWNrYWdlLW93bmVkIHJ1bGUgbmFtZXMuICovXG50eXBlIENvZGVwZXJmZWN0UnVsZU5hbWUgPSBrZXlvZiB0eXBlb2YgY29kZXBlcmZlY3RSdWxlcztcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBhcmNoaXRlY3R1cmUgcHJlc2V0LiAqL1xuY29uc3QgYXJjaGl0ZWN0dXJlUnVsZU5hbWVzID0gW1xuICBcImJhcnJlbC1maWxlcy1leHBvcnRzLW9ubHlcIixcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiLFxuICBcIm5vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHNcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBjb3JlIHByZXNldC4gKi9cbmNvbnN0IGNvcmVSdWxlTmFtZXMgPSBbXG4gIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgZG9jdW1lbnRhdGlvbiBwcmVzZXQuICovXG5jb25zdCBkb2N1bWVudGF0aW9uUnVsZU5hbWVzID0gW1xuICBcIm5vLWludGVyZmFjZS1tZW1iZXItZG9jc1wiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgQUFBLWZvY3VzZWQgcHJlc2V0LiAqL1xuY29uc3QgYWFhUnVsZU5hbWVzID0gW1xuICBcImVuZm9yY2UtYWFhLXBoYXNlLXB1cml0eVwiLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuICBcInJlcXVpcmUtYWFhLXNlY3Rpb25zXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgYnJvYWRlciB0ZXN0aW5nIHByZXNldC4gKi9cbmNvbnN0IHRlc3RpbmdSdWxlTmFtZXMgPSBbXG4gIFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiLFxuICBcImVuZm9yY2UtYWFhLXBoYXNlLXB1cml0eVwiLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIFwicHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0c1wiLFxuICBcInJlcXVpcmUtYWFhLXNlY3Rpb25zXCIsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIixcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCIsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgdXNlZCBieSB0aGUgYWxsLXJ1bGVzIHByZXNldC4gKi9cbmNvbnN0IGFsbFJ1bGVOYW1lcyA9IE9iamVjdC5rZXlzKGNvZGVwZXJmZWN0UnVsZXMpIGFzIENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcHJlc2V0IGZvciB0aGUgcHJvdmlkZWQgcnVsZSBuYW1lcy5cbiAqIEBwYXJhbSBydWxlTmFtZXMgUnVsZSBuYW1lcyB0byBlbmFibGUuXG4gKiBAcmV0dXJucyBFU0xpbnQgcHJlc2V0IGNvbnRhaW5pbmcgdGhlIHBhY2thZ2UgcGx1Z2luIGFuZCBlbmFibGVkIHJ1bGVzLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHByZXNldCA9IGNyZWF0ZVByZXNldChbXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiXSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlUHJlc2V0KFxuICBydWxlTmFtZXM6IHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXSxcbik6IENvZGVwZXJmZWN0UHJlc2V0IHtcbiAgcmV0dXJuIHtcbiAgICBwbHVnaW5zOiB7XG4gICAgICBjb2RlcGVyZmVjdDogY29kZXBlcmZlY3RQbHVnaW4sXG4gICAgfSxcbiAgICBydWxlczogY3JlYXRlUnVsZXMocnVsZU5hbWVzKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIHRoZSBydWxlIGVudHJ5IG1hcCBmb3IgYSBwcmVzZXQuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgUnVsZSBlbnRyeSBtYXAga2V5ZWQgYnkgYGNvZGVwZXJmZWN0L2AgcnVsZSBuYW1lLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJ1bGVzID0gY3JlYXRlUnVsZXMoW1wicHJlZmVyLWludGVyZmFjZS10eXBlc1wiXSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gY3JlYXRlUnVsZXMoXG4gIHJ1bGVOYW1lczogcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdLFxuKTogQ29kZXBlcmZlY3RSdWxlRW50cmllcyB7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgcnVsZU5hbWVzLm1hcCgocnVsZU5hbWUpID0+IFtgY29kZXBlcmZlY3QvJHtydWxlTmFtZX1gLCBcImVycm9yXCJdKSxcbiAgKTtcbn1cblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgZXZlcnkgcGFja2FnZS1vd25lZCBydWxlLiAqL1xuY29uc3QgYWxsID0gY3JlYXRlUHJlc2V0KGFsbFJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGFyY2hpdGVjdHVyZS1mb2N1c2VkIHJ1bGVzLiAqL1xuY29uc3QgYXJjaGl0ZWN0dXJlID0gY3JlYXRlUHJlc2V0KGFyY2hpdGVjdHVyZVJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGNvcmUgcnVsZXMuICovXG5jb25zdCBjb3JlID0gY3JlYXRlUHJlc2V0KGNvcmVSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBkb2N1bWVudGF0aW9uIHJ1bGVzLiAqL1xuY29uc3QgZG9jdW1lbnRhdGlvbiA9IGNyZWF0ZVByZXNldChkb2N1bWVudGF0aW9uUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgdGVzdGluZyBydWxlcy4gKi9cbmNvbnN0IHRlc3RpbmcgPSBjcmVhdGVQcmVzZXQodGVzdGluZ1J1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIEFBQS1zcGVjaWZpYyB0ZXN0aW5nIHJ1bGVzLiAqL1xuY29uc3QgYWFhID0gY3JlYXRlUHJlc2V0KGFhYVJ1bGVOYW1lcyk7XG5cbmV4cG9ydCB7IGFhYSwgYWxsLCBhcmNoaXRlY3R1cmUsIGNvcmUsIGRvY3VtZW50YXRpb24sIHRlc3RpbmcgfTtcbmV4cG9ydCB0eXBlIHsgQ29kZXBlcmZlY3RQcmVzZXQgfTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-plugin",
3
- "version": "1.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Custom ESLint rules for TypeScript repositories",
5
5
  "keywords": [
6
6
  "eslint",
@@ -10,13 +10,13 @@
10
10
  "typescript",
11
11
  "linting"
12
12
  ],
13
- "homepage": "https://github.com/codeperfect/eslint-plugin#readme",
13
+ "homepage": "https://github.com/parloti/eslint-plugin#readme",
14
14
  "bugs": {
15
- "url": "https://github.com/codeperfect/eslint-plugin/issues"
15
+ "url": "https://github.com/parloti/eslint-plugin/issues"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git+https://github.com/codeperfect/eslint-plugin.git"
19
+ "url": "git+https://github.com/parloti/eslint-plugin.git"
20
20
  },
21
21
  "license": "MIT",
22
22
  "author": "CodePerfect",
@@ -34,14 +34,19 @@
34
34
  "dist"
35
35
  ],
36
36
  "scripts": {
37
+ "\n# --------------- CUSTOM --------------- #": "",
38
+ "release:dry-run": "semantic-release --dry-run",
39
+ "\n# --------------- GENERAL --------------- #": "",
40
+ "preinstall": "npm cache clean --force",
37
41
  "\n# --------------- SCM --------------- #": "",
38
42
  "commit": "npx --yes git-cz",
39
43
  "prepare": "husky",
40
44
  "\n# --------------- BUILDING --------------- #": "",
41
- "build": "npm run clean && npm run compile",
45
+ "build": "npm run clean && npm run compile && npm run resolve-paths",
42
46
  "clean": "npx --yes rimraf dist",
43
- "compile": "tsc -b -f ./tsconfig.build.json",
47
+ "compile": "tsc --build --force ./tsconfig.build.json",
44
48
  "pack": "npm pack --pack-destination dist",
49
+ "resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
45
50
  "\n# --------------- LINTING --------------- #": "",
46
51
  "\t• --------------- checking --------------- •": "",
47
52
  "eslint": "npx --yes eslint --max-warnings=0",
@@ -55,50 +60,80 @@
55
60
  "prettier:write": "npm run prettier -- --write",
56
61
  "\n\t• --------------- helpers --------------- •": "",
57
62
  "check:rules": "npx --yes eslint-config-prettier eslint.config.ts",
58
- "benchmark:rules": "npx --yes tsx src/benchmark-rules.ts",
59
63
  "eslint:inspect": "npx --yes @eslint/config-inspector",
60
64
  "\n# --------------- TESTING --------------- #": "",
61
65
  "typecheck": "tsc --noEmit",
62
66
  "typecheck:spec": "tsc -p tsconfig.spec.json --noEmit",
63
- "validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test && npm run build && npm run pack",
67
+ "validate": "npm ci --ignore-scripts && npm run lint && npm run typecheck && npm run typecheck:spec && npm run test && npm run build && npm run pack",
64
68
  "\n\t• --------------- unit --------------- •": "",
65
- "tdd": "npx --yes vitest run --watch --silent=true --coverage.enabled=false",
69
+ "mutation": "npx --yes stryker run",
66
70
  "tdd:notify": "npm run tdd -- --notify",
67
- "test": "npx --yes vitest run"
71
+ "tdd": "npx --yes vitest run --watch --silent=true --coverage.enabled=false",
72
+ "test": "npm run unit && npm run mutation",
73
+ "unit": "npx --yes vitest run",
74
+ "\n# --------------- DOCS --------------- #": "",
75
+ "docs:api": "npx --yes typedoc --options typedoc.json",
76
+ "docs:clean": "npx --yes rimraf docs/api",
77
+ "docs": "npm run docs:clean && npm run docs:api"
68
78
  },
69
79
  "dependencies": {
70
- "minimatch": "^9.0.5"
80
+ "@codeperfect/eslint-config": "^1.4.0",
81
+ "@typescript-eslint/utils": "^8.59.0",
82
+ "minimatch": "^10.2.5"
71
83
  },
72
84
  "peerDependencies": {
73
- "eslint": ">=9.0.0"
85
+ "eslint": ">=10.2.1"
74
86
  },
75
87
  "devDependencies": {
76
- "@codeperfect/eslint-config": "file:../eslint-config/dist/codeperfect-eslint-config-1.0.0.tgz",
77
- "@commitlint/cli": "^20.4.1",
78
- "@commitlint/config-conventional": "^20.4.1",
79
- "@commitlint/cz-commitlint": "^20.4.1",
80
- "@eslint/js": "^9.39.2",
88
+ "@codeperfect/commitlint-config-emoji": "^1.0.0",
89
+ "@commitlint/cli": "^20.5.0",
90
+ "@commitlint/cz-commitlint": "^20.5.1",
91
+ "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
92
+ "@eslint/js": "^10.0.1",
93
+ "@semantic-release/commit-analyzer": "^13.0.1",
94
+ "@semantic-release/github": "^12.0.6",
95
+ "@semantic-release/npm": "^13.1.5",
96
+ "@semantic-release/release-notes-generator": "^14.1.0",
97
+ "@stryker-mutator/core": "^9.6.1",
98
+ "@stryker-mutator/vitest-runner": "^9.6.1",
99
+ "@stylistic/eslint-plugin": "^5.10.0",
81
100
  "@types/lodash-es": "^4.17.12",
82
- "@types/node": "^25.2.1",
83
- "@typescript-eslint/rule-tester": "^8.46.2",
84
- "@vitest/coverage-v8": "^4.0.18",
101
+ "@types/node": "^25.6.0",
102
+ "@typescript-eslint/rule-tester": "^8.59.0",
103
+ "@vitest/coverage-v8": "^4.1.5",
104
+ "@vitest/eslint-plugin": "^1.6.16",
85
105
  "chalk": "^5.6.2",
86
- "conventional-changelog-conventionalcommits": "^9.1.0",
87
- "eslint": "^9.39.2",
88
- "globals": "^17.3.0",
106
+ "eslint": "^10.2.1",
107
+ "eslint-config-prettier": "^10.1.8",
108
+ "eslint-import-resolver-typescript": "^4.4.4",
109
+ "eslint-plugin-boundaries": "^6.0.2",
110
+ "eslint-plugin-eslint-plugin": "^7.3.2",
111
+ "eslint-plugin-import-x": "^4.16.2",
112
+ "eslint-plugin-jasmine": "^4.2.2",
113
+ "eslint-plugin-jest": "^29.15.2",
114
+ "eslint-plugin-jsdoc": "^62.9.0",
115
+ "eslint-plugin-perfectionist": "^5.9.0",
116
+ "eslint-plugin-prettier": "^5.5.5",
117
+ "eslint-plugin-rxjs-x": "^1.0.2",
118
+ "eslint-plugin-unicorn": "^64.0.0",
119
+ "globals": "^17.5.0",
89
120
  "husky": "^9.1.7",
90
- "lint-staged": "^16.2.7",
91
- "lodash-es": "^4.17.23",
92
- "memfs": "^4.56.11",
93
- "prettier": "^3.8.1",
94
- "rimraf": "^6.1.2",
95
- "typescript": "^5.9.3",
96
- "typescript-eslint": "^8.46.2",
121
+ "jiti": "^2.6.1",
122
+ "lint-staged": "^16.4.0",
123
+ "lodash-es": "^4.18.1",
124
+ "prettier": "^3.8.3",
125
+ "rimraf": "^6.1.3",
126
+ "semantic-release": "^25.0.3",
127
+ "tsc-alias": "^1.8.16",
128
+ "typedoc": "^0.28.19",
129
+ "typedoc-plugin-markdown": "^4.11.0",
130
+ "typescript": "^6.0.3",
131
+ "typescript-eslint": "^8.59.0",
97
132
  "vite-tsconfig-paths": "^6.1.1",
98
- "vitest": "^4.0.18"
133
+ "vitest": "^4.1.5"
99
134
  },
100
135
  "engines": {
101
- "node": ">=20.0.0"
136
+ "node": ">=24.0.0"
102
137
  },
103
138
  "publishConfig": {
104
139
  "access": "public"
@@ -1 +0,0 @@
1
- {"version":3,"file":"consistent-barrel-files-listeners.d.ts","sourceRoot":"","sources":["../../../src/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAKnC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AA6IpF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,IAAI,CAAC,WAAW,EACzB,UAAU,MAAM,EAChB,SAAS,0BAA0B,KAClC,IAAI,CAAC,YAcP,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}