@codeperfect/eslint-plugin 2.0.0 → 2.2.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 (301) hide show
  1. package/README.md +3 -2
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/application/custom-rules.d.ts +8 -8
  4. package/dist/application/custom-rules.js +14 -14
  5. package/dist/application/index.d.ts +1 -1
  6. package/dist/application/index.d.ts.map +1 -1
  7. package/dist/application/index.js +2 -2
  8. package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
  9. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +3 -4
  10. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
  11. package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +5 -3
  12. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
  13. package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +17 -7
  14. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
  15. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +36 -4
  16. package/dist/domain/architecture/consistent-barrel-files/index.d.ts +2 -0
  17. package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -1
  18. package/dist/domain/architecture/consistent-barrel-files/index.js +3 -1
  19. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts +5 -0
  20. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -0
  21. package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +247 -0
  22. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts +5 -0
  23. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -0
  24. package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +136 -0
  25. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
  26. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +8 -3
  27. package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
  28. package/dist/domain/architecture/consistent-barrel-files/rule.js +12 -5
  29. package/dist/domain/architecture/index.d.ts +2 -1
  30. package/dist/domain/architecture/index.d.ts.map +1 -1
  31. package/dist/domain/architecture/index.js +3 -2
  32. package/dist/domain/architecture/no-unused-exports/index.d.ts +3 -0
  33. package/dist/domain/architecture/no-unused-exports/index.d.ts.map +1 -0
  34. package/dist/domain/architecture/no-unused-exports/index.js +2 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts +50 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -0
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +141 -0
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +49 -0
  39. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -0
  40. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +608 -0
  41. package/dist/domain/architecture/no-unused-exports/rule.d.ts +5 -0
  42. package/dist/domain/architecture/no-unused-exports/rule.d.ts.map +1 -0
  43. package/dist/domain/architecture/no-unused-exports/rule.js +82 -0
  44. package/dist/domain/architecture/no-unused-exports/types.d.ts +32 -0
  45. package/dist/domain/architecture/no-unused-exports/types.d.ts.map +1 -0
  46. package/dist/domain/architecture/no-unused-exports/types.js +2 -0
  47. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  48. package/dist/domain/core/no-multiple-declarators/rule.js +58 -6
  49. package/dist/domain/core/no-multiple-declarators/types.d.ts +3 -1
  50. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -1
  51. package/dist/domain/core/no-multiple-declarators/types.js +5 -2
  52. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  53. package/dist/domain/core/prefer-interface-types/rule.js +94 -23
  54. package/dist/domain/custom-rule-documentation.d.ts +3 -14
  55. package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
  56. package/dist/domain/custom-rule-documentation.js +3 -2
  57. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  58. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +11 -2
  59. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  60. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +1 -1
  61. package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +1 -1
  62. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  63. package/dist/domain/docs/no-interface-member-docs/rule.js +12 -4
  64. package/dist/domain/docs/require-example-language/examples.d.ts +4 -15
  65. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  66. package/dist/domain/docs/require-example-language/examples.js +119 -26
  67. package/dist/domain/docs/require-example-language/fixes.d.ts +1 -21
  68. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
  69. package/dist/domain/docs/require-example-language/fixes.js +5 -2
  70. package/dist/domain/docs/require-example-language/reporting.d.ts +2 -38
  71. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  72. package/dist/domain/docs/require-example-language/reporting.js +2 -2
  73. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  74. package/dist/domain/docs/require-example-language/rule.js +7 -3
  75. package/dist/domain/docs/require-example-language/types.d.ts +1 -1
  76. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  77. package/dist/domain/docs/require-example-language/types.js +1 -1
  78. package/dist/domain/docs/single-line-jsdoc/rule.d.ts +1 -2
  79. package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
  80. package/dist/domain/docs/single-line-jsdoc/rule.js +18 -13
  81. package/dist/domain/index.d.ts +2 -3
  82. package/dist/domain/index.d.ts.map +1 -1
  83. package/dist/domain/index.js +3 -4
  84. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +2 -78
  85. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
  86. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +121 -3
  87. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  88. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +199 -4
  89. package/dist/domain/testing/aaa/analyzer.analysis.js +30 -188
  90. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +1 -92
  91. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
  92. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +93 -0
  93. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
  94. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +184 -0
  95. package/dist/domain/testing/aaa/analyzer.assertions.js +5 -283
  96. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +62 -0
  97. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
  98. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +106 -0
  99. package/dist/domain/testing/aaa/analyzer.classification.d.ts +1 -74
  100. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
  101. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +75 -0
  102. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
  103. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +202 -0
  104. package/dist/domain/testing/aaa/analyzer.classification.js +5 -201
  105. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +13 -0
  106. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
  107. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +32 -0
  108. package/dist/domain/testing/aaa/analyzer.super.d.ts +6 -13
  109. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  110. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +14 -0
  111. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
  112. package/dist/domain/testing/aaa/analyzer.super.helpers.js +64 -0
  113. package/dist/domain/testing/aaa/analyzer.super.js +29 -61
  114. package/dist/domain/testing/aaa/index.d.ts +1 -2
  115. package/dist/domain/testing/aaa/index.d.ts.map +1 -1
  116. package/dist/domain/testing/aaa/index.js +2 -2
  117. package/dist/domain/testing/aaa/types.d.ts +1 -1
  118. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  119. package/dist/domain/testing/aaa/types.js +1 -1
  120. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  121. package/dist/domain/testing/assert-actual-expected-names/rule.js +33 -5
  122. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -1
  123. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -1
  124. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +3 -2
  125. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +1 -1
  126. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -1
  127. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
  128. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +1 -1
  129. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  130. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +78 -16
  131. package/dist/domain/testing/{require-aaa-sections → enforce-aaa-structure}/missing-section-fixes.d.ts +1 -1
  132. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -0
  133. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +150 -0
  134. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  135. package/dist/domain/testing/enforce-aaa-structure/rule.js +165 -3
  136. package/dist/domain/testing/index.d.ts +0 -3
  137. package/dist/domain/testing/index.d.ts.map +1 -1
  138. package/dist/domain/testing/index.js +1 -4
  139. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +1 -15
  140. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -1
  141. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +2 -71
  142. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  143. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +4 -2
  144. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +1 -13
  145. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
  146. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +3 -21
  147. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
  148. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +2 -1
  149. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
  150. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +1 -1
  151. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +6 -6
  152. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +1 -12
  153. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  154. package/dist/domain/testing/prefer-vi-mocked-import/match.js +149 -15
  155. package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
  156. package/dist/domain/testing/prefer-vi-mocked-import/rule.js +6 -3
  157. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  158. package/dist/domain/testing/require-act-result-capture/rule.js +42 -10
  159. package/dist/domain/testing/require-test-companion/index.d.ts +0 -1
  160. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -1
  161. package/dist/domain/testing/require-test-companion/index.js +1 -2
  162. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts +2 -1
  163. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
  164. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +13 -58
  165. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts +2 -1
  166. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -1
  167. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -5
  168. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  169. package/dist/domain/testing/require-test-companion/rule.js +34 -9
  170. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  171. package/dist/domain/testing/single-act-statement/rule.js +11 -5
  172. package/dist/index.d.ts +1 -1
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +2 -2
  175. package/dist/infrastructure/codeperfect-plugin.d.ts +6 -6
  176. package/dist/infrastructure/codeperfect-plugin.js +5 -5
  177. package/dist/infrastructure/presets.d.ts.map +1 -1
  178. package/dist/infrastructure/presets.js +23 -7
  179. package/package.json +37 -38
  180. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +0 -41
  181. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  182. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -87
  183. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +0 -40
  184. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  185. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -91
  186. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +0 -4
  187. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +0 -1
  188. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +0 -4
  189. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts +0 -141
  190. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  191. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +0 -20
  192. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +0 -1
  193. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +0 -25
  194. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +0 -235
  195. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +0 -101
  196. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +0 -1
  197. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +0 -108
  198. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +0 -35
  199. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +0 -1
  200. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +0 -95
  201. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +0 -4
  202. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +0 -1
  203. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +0 -4
  204. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +0 -4
  205. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +0 -1
  206. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +0 -4
  207. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts +0 -110
  208. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  209. package/dist/domain/core/prefer-interface-types/test-helpers.js +0 -116
  210. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -89
  211. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  212. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  213. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts +0 -103
  214. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  215. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +0 -157
  216. package/dist/domain/docs/require-example-language/create-fixer.d.ts +0 -5
  217. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +0 -1
  218. package/dist/domain/docs/require-example-language/create-fixer.js +0 -5
  219. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +0 -4
  220. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +0 -1
  221. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +0 -5
  222. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +0 -4
  223. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +0 -1
  224. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +0 -5
  225. package/dist/domain/docs/test-helpers.d.ts +0 -50
  226. package/dist/domain/docs/test-helpers.d.ts.map +0 -1
  227. package/dist/domain/docs/test-helpers.js +0 -107
  228. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +0 -9
  229. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +0 -1
  230. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +0 -10
  231. package/dist/domain/testing/aaa/analyzer.d.ts +0 -46
  232. package/dist/domain/testing/aaa/analyzer.d.ts.map +0 -1
  233. package/dist/domain/testing/aaa/analyzer.js +0 -59
  234. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +0 -4
  235. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +0 -1
  236. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +0 -4
  237. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +0 -42
  238. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +0 -1
  239. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +0 -188
  240. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts +0 -5
  241. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  242. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +0 -34
  243. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +0 -20
  244. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +0 -1
  245. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +0 -39
  246. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +0 -86
  247. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +0 -1
  248. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +0 -150
  249. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +0 -2
  250. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +0 -1
  251. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +0 -2
  252. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +0 -14
  253. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +0 -1
  254. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +0 -81
  255. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +0 -13
  256. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +0 -1
  257. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +0 -189
  258. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +0 -25
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +0 -1
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +0 -92
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +0 -32
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +0 -1
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +0 -164
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +0 -5
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +0 -1
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +0 -4
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +0 -1
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +0 -4
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +0 -4
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +0 -1
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +0 -4
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +0 -62
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +0 -4
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +0 -1
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +0 -4
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +0 -24
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +0 -1
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +0 -113
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +0 -36
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +0 -1
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +0 -138
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +0 -203
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +0 -1
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +0 -2
  285. package/dist/domain/testing/require-aaa-sections/index.d.ts +0 -2
  286. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +0 -1
  287. package/dist/domain/testing/require-aaa-sections/index.js +0 -2
  288. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +0 -1
  289. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +0 -150
  290. package/dist/domain/testing/require-aaa-sections/rule.d.ts +0 -5
  291. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +0 -1
  292. package/dist/domain/testing/require-aaa-sections/rule.js +0 -129
  293. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +0 -104
  294. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +0 -1
  295. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +0 -217
  296. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts +0 -51
  297. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  298. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +0 -184
  299. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts +0 -28
  300. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  301. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +0 -26
@@ -3,6 +3,9 @@ import { codeperfectPlugin, codeperfectRules } from "./codeperfect-plugin.js";
3
3
  const architectureRuleNames = [
4
4
  "barrel-files-exports-only",
5
5
  "consistent-barrel-files",
6
+ "no-import-export-aliases",
7
+ "no-import-export-extensions",
8
+ "no-unused-exports",
6
9
  "no-reexports-outside-barrels",
7
10
  ];
8
11
  /** Rule names grouped into the core preset. */
@@ -18,24 +21,37 @@ const documentationRuleNames = [
18
21
  ];
19
22
  /** Rule names grouped into the AAA-focused preset. */
20
23
  const aaaRuleNames = [
21
- "enforce-aaa-phase-purity",
22
24
  "enforce-aaa-structure",
23
- "require-aaa-sections",
24
25
  ];
25
26
  /** Rule names grouped into the broader testing preset. */
26
27
  const testingRuleNames = [
27
28
  "assert-actual-expected-names",
28
- "enforce-aaa-phase-purity",
29
29
  "enforce-aaa-structure",
30
30
  "prefer-vi-mocked-import",
31
- "prefer-vitest-incremental-casts",
32
- "require-aaa-sections",
33
31
  "require-act-result-capture",
34
32
  "require-test-companion",
35
33
  "single-act-statement",
36
34
  ];
37
35
  /** Rule names used by the all-rules preset. */
38
- const allRuleNames = Object.keys(codeperfectRules);
36
+ const allRuleNames = [
37
+ "assert-actual-expected-names",
38
+ "barrel-files-exports-only",
39
+ "consistent-barrel-files",
40
+ "enforce-aaa-structure",
41
+ "no-import-export-aliases",
42
+ "no-import-export-extensions",
43
+ "no-interface-member-docs",
44
+ "no-multiple-declarators",
45
+ "no-reexports-outside-barrels",
46
+ "no-unused-exports",
47
+ "prefer-interface-types",
48
+ "prefer-vi-mocked-import",
49
+ "require-act-result-capture",
50
+ "require-example-language",
51
+ "require-test-companion",
52
+ "single-act-statement",
53
+ "single-line-jsdoc",
54
+ ];
39
55
  /**
40
56
  * Creates a preset for the provided rule names.
41
57
  * @param ruleNames Rule names to enable.
@@ -78,4 +94,4 @@ const testing = createPreset(testingRuleNames);
78
94
  /** Preset that enables AAA-specific testing rules. */
79
95
  const aaa = createPreset(aaaRuleNames);
80
96
  export { aaa, all, architecture, core, documentation, testing };
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsd0JBQXdCO0NBQ3lCLENBQUM7QUFFcEQsd0RBQXdEO0FBQ3hELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRCxzREFBc0Q7QUFDdEQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2QixzQkFBc0I7Q0FDMkIsQ0FBQztBQUVwRCwwREFBMEQ7QUFDMUQsTUFBTSxnQkFBZ0IsR0FBRztJQUN2Qiw4QkFBOEI7SUFDOUIsMEJBQTBCO0lBQzFCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsaUNBQWlDO0lBQ2pDLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtDQUMyQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUEwQixDQUFDO0FBRTVFOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxZQUFZLENBQ25CLFNBQXlDO0lBRXpDLE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsaUJBQWlCO1NBQy9CO1FBQ0QsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUNsQixTQUF5QztJQUV6QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0FBQzlCLENBQUM7QUFFRCxvREFBb0Q7QUFDcEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLHNEQUFzRDtBQUN0RCxNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztBQUV6RCxzQ0FBc0M7QUFDdEMsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXpDLCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUUzRCx5Q0FBeUM7QUFDekMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLGdCQUFnQixDQUFDLENBQUM7QUFFL0Msc0RBQXNEO0FBQ3RELE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgeyBjb2RlcGVyZmVjdFBsdWdpbiwgY29kZXBlcmZlY3RSdWxlcyB9IGZyb20gXCIuL2NvZGVwZXJmZWN0LXBsdWdpblwiO1xuXG4vKiogUmVwcmVzZW50cyBhIHJlYWR5LXRvLXVzZSBwcmVzZXQgZXhwb3J0ZWQgYnkgdGhlIHBhY2thZ2UuICovXG50eXBlIENvZGVwZXJmZWN0UHJlc2V0ID0gUGljazxMaW50ZXIuQ29uZmlnLCBcInBsdWdpbnNcIiB8IFwicnVsZXNcIj47XG5cbi8qKiBSZXByZXNlbnRzIHRoZSBlbmFibGVkIHJ1bGUgZW50cmllcyBpbnNpZGUgYSBwcmVzZXQuICovXG50eXBlIENvZGVwZXJmZWN0UnVsZUVudHJpZXMgPSBQYXJ0aWFsPFxuICBSZWNvcmQ8Q29kZXBlcmZlY3RSdWxlS2V5LCBMaW50ZXIuUnVsZUVudHJ5PlxuPjtcblxuLyoqIE5hbWVzcGFjZXMgYSBwYWNrYWdlLW93bmVkIHJ1bGUgdW5kZXIgdGhlIGBjb2RlcGVyZmVjdC9gIHByZWZpeC4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlS2V5ID0gYGNvZGVwZXJmZWN0LyR7Q29kZXBlcmZlY3RSdWxlTmFtZX1gO1xuXG4vKiogRW51bWVyYXRlcyB0aGUgcGFja2FnZS1vd25lZCBydWxlIG5hbWVzLiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVOYW1lID0ga2V5b2YgdHlwZW9mIGNvZGVwZXJmZWN0UnVsZXM7XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgYXJjaGl0ZWN0dXJlIHByZXNldC4gKi9cbmNvbnN0IGFyY2hpdGVjdHVyZVJ1bGVOYW1lcyA9IFtcbiAgXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIFwiY29uc2lzdGVudC1iYXJyZWwtZmlsZXNcIixcbiAgXCJuby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgY29yZSBwcmVzZXQuICovXG5jb25zdCBjb3JlUnVsZU5hbWVzID0gW1xuICBcIm5vLW11bHRpcGxlLWRlY2xhcmF0b3JzXCIsXG4gIFwicHJlZmVyLWludGVyZmFjZS10eXBlc1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGRvY3VtZW50YXRpb24gcHJlc2V0LiAqL1xuY29uc3QgZG9jdW1lbnRhdGlvblJ1bGVOYW1lcyA9IFtcbiAgXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIixcbiAgXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgXCJzaW5nbGUtbGluZS1qc2RvY1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIEFBQS1mb2N1c2VkIHByZXNldC4gKi9cbmNvbnN0IGFhYVJ1bGVOYW1lcyA9IFtcbiAgXCJlbmZvcmNlLWFhYS1waGFzZS1wdXJpdHlcIixcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgXCJyZXF1aXJlLWFhYS1zZWN0aW9uc1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGJyb2FkZXIgdGVzdGluZyBwcmVzZXQuICovXG5jb25zdCB0ZXN0aW5nUnVsZU5hbWVzID0gW1xuICBcImFzc2VydC1hY3R1YWwtZXhwZWN0ZWQtbmFtZXNcIixcbiAgXCJlbmZvcmNlLWFhYS1waGFzZS1wdXJpdHlcIixcbiAgXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICBcInByZWZlci12aXRlc3QtaW5jcmVtZW50YWwtY2FzdHNcIixcbiAgXCJyZXF1aXJlLWFhYS1zZWN0aW9uc1wiLFxuICBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICBcInNpbmdsZS1hY3Qtc3RhdGVtZW50XCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIHVzZWQgYnkgdGhlIGFsbC1ydWxlcyBwcmVzZXQuICovXG5jb25zdCBhbGxSdWxlTmFtZXMgPSBPYmplY3Qua2V5cyhjb2RlcGVyZmVjdFJ1bGVzKSBhcyBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByZXNldCBmb3IgdGhlIHByb3ZpZGVkIHJ1bGUgbmFtZXMuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgRVNMaW50IHByZXNldCBjb250YWluaW5nIHRoZSBwYWNrYWdlIHBsdWdpbiBhbmQgZW5hYmxlZCBydWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcmVzZXQgPSBjcmVhdGVQcmVzZXQoW1wibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVByZXNldChcbiAgcnVsZU5hbWVzOiByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW10sXG4pOiBDb2RlcGVyZmVjdFByZXNldCB7XG4gIHJldHVybiB7XG4gICAgcGx1Z2luczoge1xuICAgICAgY29kZXBlcmZlY3Q6IGNvZGVwZXJmZWN0UGx1Z2luLFxuICAgIH0sXG4gICAgcnVsZXM6IGNyZWF0ZVJ1bGVzKHJ1bGVOYW1lcyksXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgcnVsZSBlbnRyeSBtYXAgZm9yIGEgcHJlc2V0LlxuICogQHBhcmFtIHJ1bGVOYW1lcyBSdWxlIG5hbWVzIHRvIGVuYWJsZS5cbiAqIEByZXR1cm5zIFJ1bGUgZW50cnkgbWFwIGtleWVkIGJ5IGBjb2RlcGVyZmVjdC9gIHJ1bGUgbmFtZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlcyA9IGNyZWF0ZVJ1bGVzKFtcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVJ1bGVzKFxuICBydWxlTmFtZXM6IHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXSxcbik6IENvZGVwZXJmZWN0UnVsZUVudHJpZXMge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiBbYGNvZGVwZXJmZWN0LyR7cnVsZU5hbWV9YCwgXCJlcnJvclwiXSksXG4gICkgYXMgQ29kZXBlcmZlY3RSdWxlRW50cmllcztcbn1cblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgZXZlcnkgcGFja2FnZS1vd25lZCBydWxlLiAqL1xuY29uc3QgYWxsID0gY3JlYXRlUHJlc2V0KGFsbFJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGFyY2hpdGVjdHVyZS1mb2N1c2VkIHJ1bGVzLiAqL1xuY29uc3QgYXJjaGl0ZWN0dXJlID0gY3JlYXRlUHJlc2V0KGFyY2hpdGVjdHVyZVJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGNvcmUgcnVsZXMuICovXG5jb25zdCBjb3JlID0gY3JlYXRlUHJlc2V0KGNvcmVSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBkb2N1bWVudGF0aW9uIHJ1bGVzLiAqL1xuY29uc3QgZG9jdW1lbnRhdGlvbiA9IGNyZWF0ZVByZXNldChkb2N1bWVudGF0aW9uUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgdGVzdGluZyBydWxlcy4gKi9cbmNvbnN0IHRlc3RpbmcgPSBjcmVhdGVQcmVzZXQodGVzdGluZ1J1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIEFBQS1zcGVjaWZpYyB0ZXN0aW5nIHJ1bGVzLiAqL1xuY29uc3QgYWFhID0gY3JlYXRlUHJlc2V0KGFhYVJ1bGVOYW1lcyk7XG5cbmV4cG9ydCB7IGFhYSwgYWxsLCBhcmNoaXRlY3R1cmUsIGNvcmUsIGRvY3VtZW50YXRpb24sIHRlc3RpbmcgfTtcbmV4cG9ydCB0eXBlIHsgQ29kZXBlcmZlY3RQcmVzZXQgfTtcbiJdfQ==
97
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlc2V0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmZyYXN0cnVjdHVyZS9wcmVzZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBZ0IzRSx1REFBdUQ7QUFDdkQsTUFBTSxxQkFBcUIsR0FBRztJQUM1QiwyQkFBMkI7SUFDM0IseUJBQXlCO0lBQ3pCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLDhCQUE4QjtDQUNtQixDQUFDO0FBRXBELCtDQUErQztBQUMvQyxNQUFNLGFBQWEsR0FBRztJQUNwQix5QkFBeUI7SUFDekIsd0JBQXdCO0NBQ3lCLENBQUM7QUFFcEQsd0RBQXdEO0FBQ3hELE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixtQkFBbUI7Q0FDOEIsQ0FBQztBQUVwRCxzREFBc0Q7QUFDdEQsTUFBTSxZQUFZLEdBQUc7SUFDbkIsdUJBQXVCO0NBQzBCLENBQUM7QUFFcEQsMERBQTBEO0FBQzFELE1BQU0sZ0JBQWdCLEdBQUc7SUFDdkIsOEJBQThCO0lBQzlCLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLHdCQUF3QjtJQUN4QixzQkFBc0I7Q0FDMkIsQ0FBQztBQUVwRCwrQ0FBK0M7QUFDL0MsTUFBTSxZQUFZLEdBQUc7SUFDbkIsOEJBQThCO0lBQzlCLDJCQUEyQjtJQUMzQix5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLDBCQUEwQjtJQUMxQiw2QkFBNkI7SUFDN0IsMEJBQTBCO0lBQzFCLHlCQUF5QjtJQUN6Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0lBQ25CLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtDQUM4QixDQUFDO0FBRXBEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxZQUFZLENBQ25CLFNBQXlDO0lBRXpDLE9BQU87UUFDTCxPQUFPLEVBQUU7WUFDUCxXQUFXLEVBQUUsaUJBQWlCO1NBQy9CO1FBQ0QsS0FBSyxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUM7S0FDOUIsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUNsQixTQUF5QztJQUV6QyxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsZUFBZSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQztBQUVELG9EQUFvRDtBQUNwRCxNQUFNLEdBQUcsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUM7QUFFdkMsc0RBQXNEO0FBQ3RELE1BQU0sWUFBWSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBRXpELHNDQUFzQztBQUN0QyxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFekMsK0NBQStDO0FBQy9DLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRTNELHlDQUF5QztBQUN6QyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUUvQyxzREFBc0Q7QUFDdEQsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBRXZDLE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBMaW50ZXIgfSBmcm9tIFwiZXNsaW50XCI7XG5cbmltcG9ydCB7IGNvZGVwZXJmZWN0UGx1Z2luLCBjb2RlcGVyZmVjdFJ1bGVzIH0gZnJvbSBcIi4vY29kZXBlcmZlY3QtcGx1Z2luXCI7XG5cbi8qKiBSZXByZXNlbnRzIGEgcmVhZHktdG8tdXNlIHByZXNldCBleHBvcnRlZCBieSB0aGUgcGFja2FnZS4gKi9cbnR5cGUgQ29kZXBlcmZlY3RQcmVzZXQgPSBQaWNrPExpbnRlci5Db25maWcsIFwicGx1Z2luc1wiIHwgXCJydWxlc1wiPjtcblxuLyoqIFJlcHJlc2VudHMgdGhlIGVuYWJsZWQgcnVsZSBlbnRyaWVzIGluc2lkZSBhIHByZXNldC4gKi9cbnR5cGUgQ29kZXBlcmZlY3RSdWxlRW50cmllcyA9IFBhcnRpYWw8XG4gIFJlY29yZDxDb2RlcGVyZmVjdFJ1bGVLZXksIExpbnRlci5SdWxlRW50cnk+XG4+O1xuXG4vKiogTmFtZXNwYWNlcyBhIHBhY2thZ2Utb3duZWQgcnVsZSB1bmRlciB0aGUgYGNvZGVwZXJmZWN0L2AgcHJlZml4LiAqL1xudHlwZSBDb2RlcGVyZmVjdFJ1bGVLZXkgPSBgY29kZXBlcmZlY3QvJHtDb2RlcGVyZmVjdFJ1bGVOYW1lfWA7XG5cbi8qKiBFbnVtZXJhdGVzIHRoZSBwYWNrYWdlLW93bmVkIHJ1bGUgbmFtZXMuICovXG50eXBlIENvZGVwZXJmZWN0UnVsZU5hbWUgPSBrZXlvZiB0eXBlb2YgY29kZXBlcmZlY3RSdWxlcztcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBhcmNoaXRlY3R1cmUgcHJlc2V0LiAqL1xuY29uc3QgYXJjaGl0ZWN0dXJlUnVsZU5hbWVzID0gW1xuICBcImJhcnJlbC1maWxlcy1leHBvcnRzLW9ubHlcIixcbiAgXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiLFxuICBcIm5vLWltcG9ydC1leHBvcnQtYWxpYXNlc1wiLFxuICBcIm5vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9uc1wiLFxuICBcIm5vLXVudXNlZC1leHBvcnRzXCIsXG4gIFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ29kZXBlcmZlY3RSdWxlTmFtZVtdO1xuXG4vKiogUnVsZSBuYW1lcyBncm91cGVkIGludG8gdGhlIGNvcmUgcHJlc2V0LiAqL1xuY29uc3QgY29yZVJ1bGVOYW1lcyA9IFtcbiAgXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBkb2N1bWVudGF0aW9uIHByZXNldC4gKi9cbmNvbnN0IGRvY3VtZW50YXRpb25SdWxlTmFtZXMgPSBbXG4gIFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIFwicmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlXCIsXG4gIFwic2luZ2xlLWxpbmUtanNkb2NcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgZ3JvdXBlZCBpbnRvIHRoZSBBQUEtZm9jdXNlZCBwcmVzZXQuICovXG5jb25zdCBhYWFSdWxlTmFtZXMgPSBbXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKiBSdWxlIG5hbWVzIGdyb3VwZWQgaW50byB0aGUgYnJvYWRlciB0ZXN0aW5nIHByZXNldC4gKi9cbmNvbnN0IHRlc3RpbmdSdWxlTmFtZXMgPSBbXG4gIFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiLFxuICBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCIsXG4gIFwicmVxdWlyZS1hY3QtcmVzdWx0LWNhcHR1cmVcIixcbiAgXCJyZXF1aXJlLXRlc3QtY29tcGFuaW9uXCIsXG4gIFwic2luZ2xlLWFjdC1zdGF0ZW1lbnRcIixcbl0gYXMgY29uc3Qgc2F0aXNmaWVzIHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXTtcblxuLyoqIFJ1bGUgbmFtZXMgdXNlZCBieSB0aGUgYWxsLXJ1bGVzIHByZXNldC4gKi9cbmNvbnN0IGFsbFJ1bGVOYW1lcyA9IFtcbiAgXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIFwiZW5mb3JjZS1hYWEtc3RydWN0dXJlXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIFwibm8taW1wb3J0LWV4cG9ydC1leHRlbnNpb25zXCIsXG4gIFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIFwibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIixcbiAgXCJuby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzXCIsXG4gIFwibm8tdW51c2VkLWV4cG9ydHNcIixcbiAgXCJwcmVmZXItaW50ZXJmYWNlLXR5cGVzXCIsXG4gIFwicHJlZmVyLXZpLW1vY2tlZC1pbXBvcnRcIixcbiAgXCJyZXF1aXJlLWFjdC1yZXN1bHQtY2FwdHVyZVwiLFxuICBcInJlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZVwiLFxuICBcInJlcXVpcmUtdGVzdC1jb21wYW5pb25cIixcbiAgXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICBcInNpbmdsZS1saW5lLWpzZG9jXCIsXG5dIGFzIGNvbnN0IHNhdGlzZmllcyByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW107XG5cbi8qKlxuICogQ3JlYXRlcyBhIHByZXNldCBmb3IgdGhlIHByb3ZpZGVkIHJ1bGUgbmFtZXMuXG4gKiBAcGFyYW0gcnVsZU5hbWVzIFJ1bGUgbmFtZXMgdG8gZW5hYmxlLlxuICogQHJldHVybnMgRVNMaW50IHByZXNldCBjb250YWluaW5nIHRoZSBwYWNrYWdlIHBsdWdpbiBhbmQgZW5hYmxlZCBydWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwcmVzZXQgPSBjcmVhdGVQcmVzZXQoW1wibm8tbXVsdGlwbGUtZGVjbGFyYXRvcnNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVByZXNldChcbiAgcnVsZU5hbWVzOiByZWFkb25seSBDb2RlcGVyZmVjdFJ1bGVOYW1lW10sXG4pOiBDb2RlcGVyZmVjdFByZXNldCB7XG4gIHJldHVybiB7XG4gICAgcGx1Z2luczoge1xuICAgICAgY29kZXBlcmZlY3Q6IGNvZGVwZXJmZWN0UGx1Z2luLFxuICAgIH0sXG4gICAgcnVsZXM6IGNyZWF0ZVJ1bGVzKHJ1bGVOYW1lcyksXG4gIH07XG59XG5cbi8qKlxuICogQ3JlYXRlcyB0aGUgcnVsZSBlbnRyeSBtYXAgZm9yIGEgcHJlc2V0LlxuICogQHBhcmFtIHJ1bGVOYW1lcyBSdWxlIG5hbWVzIHRvIGVuYWJsZS5cbiAqIEByZXR1cm5zIFJ1bGUgZW50cnkgbWFwIGtleWVkIGJ5IGBjb2RlcGVyZmVjdC9gIHJ1bGUgbmFtZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlcyA9IGNyZWF0ZVJ1bGVzKFtcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIl0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVJ1bGVzKFxuICBydWxlTmFtZXM6IHJlYWRvbmx5IENvZGVwZXJmZWN0UnVsZU5hbWVbXSxcbik6IENvZGVwZXJmZWN0UnVsZUVudHJpZXMge1xuICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgIHJ1bGVOYW1lcy5tYXAoKHJ1bGVOYW1lKSA9PiBbYGNvZGVwZXJmZWN0LyR7cnVsZU5hbWV9YCwgXCJlcnJvclwiXSksXG4gICk7XG59XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIGV2ZXJ5IHBhY2thZ2Utb3duZWQgcnVsZS4gKi9cbmNvbnN0IGFsbCA9IGNyZWF0ZVByZXNldChhbGxSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBhcmNoaXRlY3R1cmUtZm9jdXNlZCBydWxlcy4gKi9cbmNvbnN0IGFyY2hpdGVjdHVyZSA9IGNyZWF0ZVByZXNldChhcmNoaXRlY3R1cmVSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBjb3JlIHJ1bGVzLiAqL1xuY29uc3QgY29yZSA9IGNyZWF0ZVByZXNldChjb3JlUnVsZU5hbWVzKTtcblxuLyoqIFByZXNldCB0aGF0IGVuYWJsZXMgZG9jdW1lbnRhdGlvbiBydWxlcy4gKi9cbmNvbnN0IGRvY3VtZW50YXRpb24gPSBjcmVhdGVQcmVzZXQoZG9jdW1lbnRhdGlvblJ1bGVOYW1lcyk7XG5cbi8qKiBQcmVzZXQgdGhhdCBlbmFibGVzIHRlc3RpbmcgcnVsZXMuICovXG5jb25zdCB0ZXN0aW5nID0gY3JlYXRlUHJlc2V0KHRlc3RpbmdSdWxlTmFtZXMpO1xuXG4vKiogUHJlc2V0IHRoYXQgZW5hYmxlcyBBQUEtc3BlY2lmaWMgdGVzdGluZyBydWxlcy4gKi9cbmNvbnN0IGFhYSA9IGNyZWF0ZVByZXNldChhYWFSdWxlTmFtZXMpO1xuXG5leHBvcnQgeyBhYWEsIGFsbCwgYXJjaGl0ZWN0dXJlLCBjb3JlLCBkb2N1bWVudGF0aW9uLCB0ZXN0aW5nIH07XG5leHBvcnQgdHlwZSB7IENvZGVwZXJmZWN0UHJlc2V0IH07XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codeperfect/eslint-plugin",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "Custom ESLint rules for TypeScript repositories",
5
5
  "keywords": [
6
6
  "eslint",
@@ -41,11 +41,8 @@
41
41
  "build": "npm run clean && npm run compile && npm run resolve-paths",
42
42
  "clean": "npx --yes rimraf dist",
43
43
  "compile": "tsc --build --force ./tsconfig.build.json",
44
- "resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
45
- "docs": "npm run docs:api",
46
- "docs:api": "typedoc --options typedoc.json",
47
44
  "pack": "npm pack --pack-destination dist",
48
- "release:dry-run": "semantic-release --dry-run",
45
+ "resolve-paths": "tsc-alias --project ./tsconfig.build.json --resolve-full-paths",
49
46
  "\n# --------------- LINTING --------------- #": "",
50
47
  "\t• --------------- checking --------------- •": "",
51
48
  "eslint": "npx --yes eslint --max-warnings=0",
@@ -59,70 +56,72 @@
59
56
  "prettier:write": "npm run prettier -- --write",
60
57
  "\n\t• --------------- helpers --------------- •": "",
61
58
  "check:rules": "npx --yes eslint-config-prettier eslint.config.ts",
62
- "benchmark:rules": "npx --yes tsx src/benchmark-rules.ts",
63
59
  "eslint:inspect": "npx --yes @eslint/config-inspector",
64
60
  "\n# --------------- TESTING --------------- #": "",
65
61
  "typecheck": "tsc --noEmit",
66
- "typecheck:spec": "tsc --project tsconfig.spec.json --noEmit",
62
+ "typecheck:spec": "tsc -p tsconfig.spec.json --noEmit",
67
63
  "validate": "npm run lint && npm run typecheck && npm run typecheck:spec && npm run test && npm run build && npm run pack",
68
64
  "\n\t• --------------- unit --------------- •": "",
65
+ "mutation": "npx --yes stryker run",
69
66
  "tdd": "npx --yes vitest run --watch --silent=true --coverage.enabled=false",
70
- "tdd:notify": "npm run tdd -- --notify",
71
- "test": "npx --yes vitest run"
67
+ "test": "npm run unit && npm run mutation",
68
+ "unit": "npx --yes vitest run",
69
+ "\n# --------------- DOCS --------------- #": "",
70
+ "docs:api": "npx --yes typedoc --options typedoc.json",
71
+ "docs:clean": "npx --yes rimraf docs/api",
72
+ "docs": "npm run docs:clean && npm run docs:api"
72
73
  },
73
74
  "dependencies": {
74
- "@codeperfect/eslint-config": "^1.3.0",
75
- "@typescript-eslint/utils": "^8.58.0",
75
+ "@typescript-eslint/utils": "^8.60.0",
76
76
  "minimatch": "^10.2.5"
77
77
  },
78
78
  "peerDependencies": {
79
- "eslint": ">=10.0.0"
79
+ "eslint": ">=10.4.0"
80
80
  },
81
81
  "devDependencies": {
82
- "@commitlint/cli": "^20.5.0",
83
- "@commitlint/config-conventional": "^20.5.0",
84
- "@commitlint/cz-commitlint": "^20.5.1",
82
+ "@codeperfect/commitlint-config-emoji": "^1.0.0",
83
+ "@codeperfect/eslint-config": "^1.10.0",
84
+ "@commitlint/cz-commitlint": "^21.0.1",
85
85
  "@eslint-community/eslint-plugin-eslint-comments": "^4.7.1",
86
86
  "@eslint/js": "^10.0.1",
87
- "@semantic-release/commit-analyzer": "^13.0.1",
88
- "@semantic-release/github": "^12.0.6",
89
- "@semantic-release/npm": "^13.1.5",
90
- "@semantic-release/release-notes-generator": "^14.1.0",
87
+ "@stryker-mutator/core": "^9.6.1",
88
+ "@stryker-mutator/typescript-checker": "^9.6.1",
89
+ "@stryker-mutator/vitest-runner": "^9.6.1",
91
90
  "@stylistic/eslint-plugin": "^5.10.0",
92
91
  "@types/lodash-es": "^4.17.12",
93
- "@types/node": "^25.5.2",
94
- "@typescript-eslint/rule-tester": "^8.58.0",
95
- "@vitest/coverage-v8": "^4.1.2",
96
- "@vitest/eslint-plugin": "^1.6.14",
92
+ "@types/node": "^25.9.1",
93
+ "@types/signale": "^1.4.7",
94
+ "@typescript-eslint/rule-tester": "^8.60.0",
95
+ "@vitest/coverage-v8": "^4.1.7",
96
+ "@vitest/eslint-plugin": "^1.6.18",
97
97
  "chalk": "^5.6.2",
98
- "conventional-changelog-conventionalcommits": "^9.3.1",
99
- "eslint": "^10.1.0",
98
+ "eslint": "^10.4.0",
100
99
  "eslint-config-prettier": "^10.1.8",
101
100
  "eslint-import-resolver-typescript": "^4.4.4",
102
101
  "eslint-plugin-boundaries": "^6.0.2",
102
+ "eslint-plugin-eslint-plugin": "^7.3.3",
103
103
  "eslint-plugin-import-x": "^4.16.2",
104
104
  "eslint-plugin-jasmine": "^4.2.2",
105
- "eslint-plugin-jest": "^29.15.1",
106
- "eslint-plugin-jsdoc": "^62.9.0",
107
- "eslint-plugin-perfectionist": "^5.8.0",
105
+ "eslint-plugin-jest": "^29.15.2",
106
+ "eslint-plugin-jsdoc": "^63.0.0",
107
+ "eslint-plugin-perfectionist": "^5.9.0",
108
108
  "eslint-plugin-prettier": "^5.5.5",
109
109
  "eslint-plugin-rxjs-x": "^1.0.2",
110
110
  "eslint-plugin-unicorn": "^64.0.0",
111
- "globals": "^17.4.0",
111
+ "globals": "^17.6.0",
112
112
  "husky": "^9.1.7",
113
- "jiti": "^2.6.1",
114
- "lint-staged": "^16.4.0",
113
+ "jiti": "^2.7.0",
114
+ "lint-staged": "^17.0.5",
115
115
  "lodash-es": "^4.18.1",
116
- "prettier": "^3.8.1",
116
+ "prettier": "^3.8.3",
117
117
  "rimraf": "^6.1.3",
118
118
  "semantic-release": "^25.0.3",
119
- "typedoc": "^0.28.18",
119
+ "tsc-alias": "^1.8.17",
120
+ "typedoc": "^0.28.19",
120
121
  "typedoc-plugin-markdown": "^4.11.0",
121
- "typescript": "^5.9.3",
122
- "typescript-eslint": "^8.58.0",
123
- "tsc-alias": "^1.8.16",
124
- "vite-tsconfig-paths": "^6.1.1",
125
- "vitest": "^4.1.2"
122
+ "typescript": "^6.0.3",
123
+ "typescript-eslint": "^8.60.0",
124
+ "vitest": "^4.1.7"
126
125
  },
127
126
  "engines": {
128
127
  "node": ">=24.0.0"
@@ -1,41 +0,0 @@
1
- import type * as ESTree from "estree";
2
- /** Type definition for rule data. */
3
- interface RuleReport {
4
- /** MessageId helper value. */
5
- messageId: string | undefined;
6
- }
7
- /** Type definition for rule data. */
8
- interface TemporaryRunner {
9
- /** RunDefaultIndex field value. */
10
- runDefaultIndex: (body: ESTree.Program["body"]) => RuleReport[];
11
- /** RunTemporaryBarrel field value. */
12
- runTemporaryBarrel: (filename: string, body: ESTree.Program["body"], options?: readonly unknown[]) => RuleReport[];
13
- /** RunTemporaryFeature field value. */
14
- runTemporaryFeature: (body: ESTree.Program["body"]) => RuleReport[];
15
- /** RunTemporaryIndex field value. */
16
- runTemporaryIndex: (body: ESTree.Program["body"]) => RuleReport[];
17
- }
18
- /**
19
- * Runs the rule against the provided AST body.
20
- * @param filename Target filename.
21
- * @param body AST program body.
22
- * @param options Rule options when provided.
23
- * @returns The captured rule reports.
24
- * @example
25
- * ```typescript
26
- * const reports = runRule("index.ts", createBody());
27
- * ```
28
- */
29
- declare const runRule: (filename: string, body: ESTree.Program["body"], options?: readonly unknown[]) => RuleReport[];
30
- /**
31
- * Creates temporary file runners for the rule.
32
- * @param temporaryDirectories Directories created during the run.
33
- * @returns Helpers for running the rule in temp folders.
34
- * @example
35
- * ```typescript
36
- * const runner = createTemporaryRunner([]);
37
- * ```
38
- */
39
- declare const createTemporaryRunner: (temporaryDirectories: string[]) => TemporaryRunner;
40
- export { createTemporaryRunner, runRule };
41
- //# sourceMappingURL=exports-only-rule-test-utilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"exports-only-rule-test-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AA8BtC,qCAAqC;AACrC,UAAU,UAAU;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAiBD,qCAAqC;AACrC,UAAU,eAAe;IACvB,mCAAmC;IACnC,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;IAEhE,sCAAsC;IACtC,kBAAkB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,KACzB,UAAU,EAAE,CAAC;IAElB,uCAAuC;IACvC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;IAEpE,qCAAqC;IACrC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;CACnE;AAkCD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,OAAO,GACX,UAAU,MAAM,EAChB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5B,UAAS,SAAS,OAAO,EAAO,KAC/B,UAAU,EAeZ,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,sBAAsB,MAAM,EAAE,KAC7B,eA+BF,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC"}
@@ -1,87 +0,0 @@
1
- import { SourceCode } from "eslint";
2
- import path from "node:path";
3
- import { cwd } from "node:process";
4
- import { barrelFilesExportsOnlyRule } from "./exports-only-rule.js";
5
- import { createProgram, createRepoDirectory } from "./test-helpers.js";
6
- /**
7
- * Builds a rule context for running the rule.
8
- * @param parameters Context parameters and report sink.
9
- * @returns The ESLint rule context.
10
- * @example
11
- * ```typescript
12
- * const context = createRuleContext({ filename, reports, sourceCode });
13
- * ```
14
- */
15
- const createRuleContext = (parameters) => ({
16
- cwd: cwd(),
17
- filename: parameters.filename,
18
- id: "barrel-files-exports-only",
19
- languageOptions: {
20
- ecmaVersion: "latest",
21
- sourceType: "module",
22
- },
23
- options: parameters.options,
24
- parserOptions: {},
25
- parserPath: void 0,
26
- physicalFilename: parameters.filename,
27
- report: (report) => {
28
- const { messageId } = report;
29
- parameters.reports.push({ messageId });
30
- },
31
- settings: {},
32
- sourceCode: parameters.sourceCode,
33
- });
34
- /**
35
- * Runs the rule against the provided AST body.
36
- * @param filename Target filename.
37
- * @param body AST program body.
38
- * @param options Rule options when provided.
39
- * @returns The captured rule reports.
40
- * @example
41
- * ```typescript
42
- * const reports = runRule("index.ts", createBody());
43
- * ```
44
- */
45
- const runRule = (filename, body, options = []) => {
46
- const reports = [];
47
- const sourceCode = new SourceCode("", createProgram(body));
48
- const context = createRuleContext({
49
- filename,
50
- options,
51
- reports,
52
- sourceCode,
53
- });
54
- const listeners = barrelFilesExportsOnlyRule.create(context);
55
- const programListener = listeners.Program;
56
- programListener?.(context.sourceCode.ast);
57
- return reports;
58
- };
59
- /**
60
- * Creates temporary file runners for the rule.
61
- * @param temporaryDirectories Directories created during the run.
62
- * @returns Helpers for running the rule in temp folders.
63
- * @example
64
- * ```typescript
65
- * const runner = createTemporaryRunner([]);
66
- * ```
67
- */
68
- const createTemporaryRunner = (temporaryDirectories) => {
69
- const runForTemporaryFile = (options) => {
70
- const directory = createRepoDirectory(options.root);
71
- temporaryDirectories.push(directory);
72
- const filePath = path.join(directory, options.filename);
73
- return runRule(filePath, options.body, options.options);
74
- };
75
- const runDefaultIndex = (body) => runForTemporaryFile({ body, filename: "index.ts", root: "src" });
76
- const runTemporaryBarrel = (filename, body, options = []) => runForTemporaryFile({ body, filename, options, root: "tmp" });
77
- const runTemporaryIndex = (body) => runForTemporaryFile({ body, filename: "index.ts", root: "tmp" });
78
- const runTemporaryFeature = (body) => runForTemporaryFile({ body, filename: "feature.ts", root: "tmp" });
79
- return {
80
- runDefaultIndex,
81
- runTemporaryBarrel,
82
- runTemporaryFeature,
83
- runTemporaryIndex,
84
- };
85
- };
86
- export { createTemporaryRunner, runRule };
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUtdGVzdC11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS10ZXN0LXV0aWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQStEcEU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLFVBQWlDLEVBQ2YsRUFBRSxDQUNwQixDQUFDO0lBQ0MsR0FBRyxFQUFFLEdBQUcsRUFBRTtJQUNWLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtJQUM3QixFQUFFLEVBQUUsMkJBQTJCO0lBQy9CLGVBQWUsRUFBRTtRQUNmLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFLFVBQVUsQ0FBQyxPQUFPO0lBQzNCLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLFVBQVUsRUFBRSxLQUFLLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLFFBQVE7SUFDckMsTUFBTSxFQUFFLENBQUMsTUFBNkIsRUFBUSxFQUFFO1FBQzlDLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUF1QyxDQUFDO1FBQzlELFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7Q0FDbEMsQ0FBZ0MsQ0FBQztBQUVwQzs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxPQUFPLEdBQUcsQ0FDZCxRQUFnQixFQUNoQixJQUE0QixFQUM1QixVQUE4QixFQUFFLEVBQ2xCLEVBQUU7SUFDaEIsTUFBTSxPQUFPLEdBQWlCLEVBQUUsQ0FBQztJQUNqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDM0QsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUM7UUFDaEMsUUFBUTtRQUNSLE9BQU87UUFDUCxPQUFPO1FBQ1AsVUFBVTtLQUNYLENBQUMsQ0FBQztJQUNILE1BQU0sU0FBUyxHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3RCxNQUFNLGVBQWUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBRTFDLGVBQWUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUMsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHFCQUFxQixHQUFHLENBQzVCLG9CQUE4QixFQUNiLEVBQUU7SUFDbkIsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLE9BQTZCLEVBQWdCLEVBQUU7UUFDMUUsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEQsT0FBTyxPQUFPLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFELENBQUMsQ0FBQztJQUVGLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBNEIsRUFBZ0IsRUFBRSxDQUNyRSxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRW5FLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsUUFBZ0IsRUFDaEIsSUFBNEIsRUFDNUIsVUFBOEIsRUFBRSxFQUNsQixFQUFFLENBQ2hCLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFFaEUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQTRCLEVBQWdCLEVBQUUsQ0FDdkUsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVuRSxNQUFNLG1CQUFtQixHQUFHLENBQUMsSUFBNEIsRUFBZ0IsRUFBRSxDQUN6RSxtQkFBbUIsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRXJFLE9BQU87UUFDTCxlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixpQkFBaUI7S0FDbEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCB0eXBlICogYXMgRVNUcmVlIGZyb20gXCJlc3RyZWVcIjtcblxuaW1wb3J0IHsgU291cmNlQ29kZSB9IGZyb20gXCJlc2xpbnRcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcblxuaW1wb3J0IHsgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUgfSBmcm9tIFwiLi9leHBvcnRzLW9ubHktcnVsZVwiO1xuaW1wb3J0IHsgY3JlYXRlUHJvZ3JhbSwgY3JlYXRlUmVwb0RpcmVjdG9yeSB9IGZyb20gXCIuL3Rlc3QtaGVscGVyc1wiO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUmVwb3J0RGVzY3JpcHRvcldpdGhNZXNzYWdlSWQge1xuICAvKiogTWVzc2FnZUlkIGZpZWxkIHZhbHVlLiAqL1xuICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSdWxlQ29udGV4dFBhcmFtZXRlcnMge1xuICAvKiogRmlsZW5hbWUgZmllbGQgdmFsdWUuICovXG4gIGZpbGVuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIE9wdGlvbnMgZmllbGQgdmFsdWUuICovXG4gIG9wdGlvbnM6IHJlYWRvbmx5IHVua25vd25bXTtcblxuICAvKiogUmVwb3J0cyBmaWVsZCB2YWx1ZS4gKi9cbiAgcmVwb3J0czogUnVsZVJlcG9ydFtdO1xuXG4gIC8qKiBTb3VyY2VDb2RlIGZpZWxkIHZhbHVlLiAqL1xuICBzb3VyY2VDb2RlOiBTb3VyY2VDb2RlO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUnVsZVJlcG9ydCB7XG4gIC8qKiBNZXNzYWdlSWQgaGVscGVyIHZhbHVlLiAqL1xuICBtZXNzYWdlSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFRlbXBvcmFyeUZpbGVPcHRpb25zIHtcbiAgLyoqIEJvZHkgZmllbGQgdmFsdWUuICovXG4gIGJvZHk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXTtcblxuICAvKiogRmlsZW5hbWUgZmllbGQgdmFsdWUuICovXG4gIGZpbGVuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIE9wdGlvbnMgZmllbGQgdmFsdWUuICovXG4gIG9wdGlvbnM/OiByZWFkb25seSB1bmtub3duW107XG5cbiAgLyoqIFJvb3QgZmllbGQgdmFsdWUuICovXG4gIHJvb3Q6IFwic3JjXCIgfCBcInRtcFwiO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgVGVtcG9yYXJ5UnVubmVyIHtcbiAgLyoqIFJ1bkRlZmF1bHRJbmRleCBmaWVsZCB2YWx1ZS4gKi9cbiAgcnVuRGVmYXVsdEluZGV4OiAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKSA9PiBSdWxlUmVwb3J0W107XG5cbiAgLyoqIFJ1blRlbXBvcmFyeUJhcnJlbCBmaWVsZCB2YWx1ZS4gKi9cbiAgcnVuVGVtcG9yYXJ5QmFycmVsOiAoXG4gICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICBib2R5OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl0sXG4gICAgb3B0aW9ucz86IHJlYWRvbmx5IHVua25vd25bXSxcbiAgKSA9PiBSdWxlUmVwb3J0W107XG5cbiAgLyoqIFJ1blRlbXBvcmFyeUZlYXR1cmUgZmllbGQgdmFsdWUuICovXG4gIHJ1blRlbXBvcmFyeUZlYXR1cmU6IChib2R5OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl0pID0+IFJ1bGVSZXBvcnRbXTtcblxuICAvKiogUnVuVGVtcG9yYXJ5SW5kZXggZmllbGQgdmFsdWUuICovXG4gIHJ1blRlbXBvcmFyeUluZGV4OiAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKSA9PiBSdWxlUmVwb3J0W107XG59XG5cbi8qKlxuICogQnVpbGRzIGEgcnVsZSBjb250ZXh0IGZvciBydW5uaW5nIHRoZSBydWxlLlxuICogQHBhcmFtIHBhcmFtZXRlcnMgQ29udGV4dCBwYXJhbWV0ZXJzIGFuZCByZXBvcnQgc2luay5cbiAqIEByZXR1cm5zIFRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVSdWxlQ29udGV4dCh7IGZpbGVuYW1lLCByZXBvcnRzLCBzb3VyY2VDb2RlIH0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVJ1bGVDb250ZXh0ID0gKFxuICBwYXJhbWV0ZXJzOiBSdWxlQ29udGV4dFBhcmFtZXRlcnMsXG4pOiBSdWxlLlJ1bGVDb250ZXh0ID0+XG4gICh7XG4gICAgY3dkOiBjd2QoKSxcbiAgICBmaWxlbmFtZTogcGFyYW1ldGVycy5maWxlbmFtZSxcbiAgICBpZDogXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICBlY21hVmVyc2lvbjogXCJsYXRlc3RcIixcbiAgICAgIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsXG4gICAgfSxcbiAgICBvcHRpb25zOiBwYXJhbWV0ZXJzLm9wdGlvbnMsXG4gICAgcGFyc2VyT3B0aW9uczoge30sXG4gICAgcGFyc2VyUGF0aDogdm9pZCAwLFxuICAgIHBoeXNpY2FsRmlsZW5hbWU6IHBhcmFtZXRlcnMuZmlsZW5hbWUsXG4gICAgcmVwb3J0OiAocmVwb3J0OiBSdWxlLlJlcG9ydERlc2NyaXB0b3IpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHsgbWVzc2FnZUlkIH0gPSByZXBvcnQgYXMgUmVwb3J0RGVzY3JpcHRvcldpdGhNZXNzYWdlSWQ7XG4gICAgICBwYXJhbWV0ZXJzLnJlcG9ydHMucHVzaCh7IG1lc3NhZ2VJZCB9KTtcbiAgICB9LFxuICAgIHNldHRpbmdzOiB7fSxcbiAgICBzb3VyY2VDb2RlOiBwYXJhbWV0ZXJzLnNvdXJjZUNvZGUsXG4gIH0pIGFzIHVua25vd24gYXMgUnVsZS5SdWxlQ29udGV4dDtcblxuLyoqXG4gKiBSdW5zIHRoZSBydWxlIGFnYWluc3QgdGhlIHByb3ZpZGVkIEFTVCBib2R5LlxuICogQHBhcmFtIGZpbGVuYW1lIFRhcmdldCBmaWxlbmFtZS5cbiAqIEBwYXJhbSBib2R5IEFTVCBwcm9ncmFtIGJvZHkuXG4gKiBAcGFyYW0gb3B0aW9ucyBSdWxlIG9wdGlvbnMgd2hlbiBwcm92aWRlZC5cbiAqIEByZXR1cm5zIFRoZSBjYXB0dXJlZCBydWxlIHJlcG9ydHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVwb3J0cyA9IHJ1blJ1bGUoXCJpbmRleC50c1wiLCBjcmVhdGVCb2R5KCkpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJ1blJ1bGUgPSAoXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIGJvZHk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXSxcbiAgb3B0aW9uczogcmVhZG9ubHkgdW5rbm93bltdID0gW10sXG4pOiBSdWxlUmVwb3J0W10gPT4ge1xuICBjb25zdCByZXBvcnRzOiBSdWxlUmVwb3J0W10gPSBbXTtcbiAgY29uc3Qgc291cmNlQ29kZSA9IG5ldyBTb3VyY2VDb2RlKFwiXCIsIGNyZWF0ZVByb2dyYW0oYm9keSkpO1xuICBjb25zdCBjb250ZXh0ID0gY3JlYXRlUnVsZUNvbnRleHQoe1xuICAgIGZpbGVuYW1lLFxuICAgIG9wdGlvbnMsXG4gICAgcmVwb3J0cyxcbiAgICBzb3VyY2VDb2RlLFxuICB9KTtcbiAgY29uc3QgbGlzdGVuZXJzID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUuY3JlYXRlKGNvbnRleHQpO1xuICBjb25zdCBwcm9ncmFtTGlzdGVuZXIgPSBsaXN0ZW5lcnMuUHJvZ3JhbTtcblxuICBwcm9ncmFtTGlzdGVuZXI/Lihjb250ZXh0LnNvdXJjZUNvZGUuYXN0KTtcblxuICByZXR1cm4gcmVwb3J0cztcbn07XG5cbi8qKlxuICogQ3JlYXRlcyB0ZW1wb3JhcnkgZmlsZSBydW5uZXJzIGZvciB0aGUgcnVsZS5cbiAqIEBwYXJhbSB0ZW1wb3JhcnlEaXJlY3RvcmllcyBEaXJlY3RvcmllcyBjcmVhdGVkIGR1cmluZyB0aGUgcnVuLlxuICogQHJldHVybnMgSGVscGVycyBmb3IgcnVubmluZyB0aGUgcnVsZSBpbiB0ZW1wIGZvbGRlcnMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcnVubmVyID0gY3JlYXRlVGVtcG9yYXJ5UnVubmVyKFtdKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVUZW1wb3JhcnlSdW5uZXIgPSAoXG4gIHRlbXBvcmFyeURpcmVjdG9yaWVzOiBzdHJpbmdbXSxcbik6IFRlbXBvcmFyeVJ1bm5lciA9PiB7XG4gIGNvbnN0IHJ1bkZvclRlbXBvcmFyeUZpbGUgPSAob3B0aW9uczogVGVtcG9yYXJ5RmlsZU9wdGlvbnMpOiBSdWxlUmVwb3J0W10gPT4ge1xuICAgIGNvbnN0IGRpcmVjdG9yeSA9IGNyZWF0ZVJlcG9EaXJlY3Rvcnkob3B0aW9ucy5yb290KTtcbiAgICB0ZW1wb3JhcnlEaXJlY3Rvcmllcy5wdXNoKGRpcmVjdG9yeSk7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oZGlyZWN0b3J5LCBvcHRpb25zLmZpbGVuYW1lKTtcblxuICAgIHJldHVybiBydW5SdWxlKGZpbGVQYXRoLCBvcHRpb25zLmJvZHksIG9wdGlvbnMub3B0aW9ucyk7XG4gIH07XG5cbiAgY29uc3QgcnVuRGVmYXVsdEluZGV4ID0gKGJvZHk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXSk6IFJ1bGVSZXBvcnRbXSA9PlxuICAgIHJ1bkZvclRlbXBvcmFyeUZpbGUoeyBib2R5LCBmaWxlbmFtZTogXCJpbmRleC50c1wiLCByb290OiBcInNyY1wiIH0pO1xuXG4gIGNvbnN0IHJ1blRlbXBvcmFyeUJhcnJlbCA9IChcbiAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgIGJvZHk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXSxcbiAgICBvcHRpb25zOiByZWFkb25seSB1bmtub3duW10gPSBbXSxcbiAgKTogUnVsZVJlcG9ydFtdID0+XG4gICAgcnVuRm9yVGVtcG9yYXJ5RmlsZSh7IGJvZHksIGZpbGVuYW1lLCBvcHRpb25zLCByb290OiBcInRtcFwiIH0pO1xuXG4gIGNvbnN0IHJ1blRlbXBvcmFyeUluZGV4ID0gKGJvZHk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXSk6IFJ1bGVSZXBvcnRbXSA9PlxuICAgIHJ1bkZvclRlbXBvcmFyeUZpbGUoeyBib2R5LCBmaWxlbmFtZTogXCJpbmRleC50c1wiLCByb290OiBcInRtcFwiIH0pO1xuXG4gIGNvbnN0IHJ1blRlbXBvcmFyeUZlYXR1cmUgPSAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKTogUnVsZVJlcG9ydFtdID0+XG4gICAgcnVuRm9yVGVtcG9yYXJ5RmlsZSh7IGJvZHksIGZpbGVuYW1lOiBcImZlYXR1cmUudHNcIiwgcm9vdDogXCJ0bXBcIiB9KTtcblxuICByZXR1cm4ge1xuICAgIHJ1bkRlZmF1bHRJbmRleCxcbiAgICBydW5UZW1wb3JhcnlCYXJyZWwsXG4gICAgcnVuVGVtcG9yYXJ5RmVhdHVyZSxcbiAgICBydW5UZW1wb3JhcnlJbmRleCxcbiAgfTtcbn07XG5cbmV4cG9ydCB7IGNyZWF0ZVRlbXBvcmFyeVJ1bm5lciwgcnVuUnVsZSB9O1xuIl19
@@ -1,40 +0,0 @@
1
- import type * as ESTree from "estree";
2
- import type { NoReexportsOutsideBarrelsOptions } from "./types.js";
3
- /** Type definition for rule data. */
4
- interface RuleReport {
5
- /** MessageId helper value. */
6
- messageId: string | undefined;
7
- }
8
- /** Type definition for rule data. */
9
- interface TemporaryRunner {
10
- /** RunDefaultFeature field value. */
11
- runDefaultFeature: (body: ESTree.Program["body"]) => RuleReport[];
12
- /** RunTemporaryFeature field value. */
13
- runTemporaryFeature: (body: ESTree.Program["body"], options?: NoReexportsOutsideBarrelsOptions) => RuleReport[];
14
- /** RunTemporaryIndex field value. */
15
- runTemporaryIndex: (body: ESTree.Program["body"], options?: NoReexportsOutsideBarrelsOptions) => RuleReport[];
16
- }
17
- /**
18
- * Runs the rule against the provided AST body.
19
- * @param filename Target filename.
20
- * @param body AST program body.
21
- * @param options Rule options when provided.
22
- * @returns The captured rule reports.
23
- * @example
24
- * ```typescript
25
- * const reports = runRule("feature.ts", createBody());
26
- * ```
27
- */
28
- declare const runRule: (filename: string, body: ESTree.Program["body"], options?: NoReexportsOutsideBarrelsOptions) => RuleReport[];
29
- /**
30
- * Creates temporary file runners for the rule.
31
- * @param temporaryDirectories Directories created during the run.
32
- * @returns Helpers for running the rule in temp folders.
33
- * @example
34
- * ```typescript
35
- * const runner = createTemporaryRunner([]);
36
- * ```
37
- */
38
- declare const createTemporaryRunner: (temporaryDirectories: string[]) => TemporaryRunner;
39
- export { createTemporaryRunner, runRule };
40
- //# sourceMappingURL=no-reexports-outside-barrels-test-utilities.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-reexports-outside-barrels-test-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAMtC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,SAAS,CAAC;AA0BhE,qCAAqC;AACrC,UAAU,UAAU;IAClB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAiBD,qCAAqC;AACrC,UAAU,eAAe;IACvB,qCAAqC;IACrC,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;IAElE,uCAAuC;IACvC,mBAAmB,EAAE,CACnB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,gCAAgC,KACvC,UAAU,EAAE,CAAC;IAElB,qCAAqC;IACrC,iBAAiB,EAAE,CACjB,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5B,OAAO,CAAC,EAAE,gCAAgC,KACvC,UAAU,EAAE,CAAC;CACnB;AAkCD;;;;;;;;;;GAUG;AACH,QAAA,MAAM,OAAO,GACX,UAAU,MAAM,EAChB,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAC5B,UAAU,gCAAgC,KACzC,UAAU,EAeZ,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,sBAAsB,MAAM,EAAE,KAC7B,eAmCF,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC"}
@@ -1,91 +0,0 @@
1
- import { SourceCode } from "eslint";
2
- import path from "node:path";
3
- import { cwd } from "node:process";
4
- import { noReexportsOutsideBarrelsRule } from "./no-reexports-outside-barrels-rule.js";
5
- import { createProgram, createRepoDirectory } from "./test-helpers.js";
6
- /**
7
- * Builds a rule context for running the rule.
8
- * @param parameters Context parameters and report sink.
9
- * @returns The ESLint rule context.
10
- * @example
11
- * ```typescript
12
- * const context = createRuleContext({ filename, reports, sourceCode });
13
- * ```
14
- */
15
- const createRuleContext = (parameters) => ({
16
- cwd: cwd(),
17
- filename: parameters.filename,
18
- id: "no-reexports-outside-barrels",
19
- languageOptions: {
20
- ecmaVersion: "latest",
21
- sourceType: "module",
22
- },
23
- options: parameters.options === void 0 ? [] : [parameters.options],
24
- parserOptions: {},
25
- parserPath: void 0,
26
- physicalFilename: parameters.filename,
27
- report: (report) => {
28
- const { messageId } = report;
29
- parameters.reports.push({ messageId });
30
- },
31
- settings: {},
32
- sourceCode: parameters.sourceCode,
33
- });
34
- /**
35
- * Runs the rule against the provided AST body.
36
- * @param filename Target filename.
37
- * @param body AST program body.
38
- * @param options Rule options when provided.
39
- * @returns The captured rule reports.
40
- * @example
41
- * ```typescript
42
- * const reports = runRule("feature.ts", createBody());
43
- * ```
44
- */
45
- const runRule = (filename, body, options) => {
46
- const reports = [];
47
- const sourceCode = new SourceCode("", createProgram(body));
48
- const context = createRuleContext({
49
- filename,
50
- reports,
51
- sourceCode,
52
- ...(options === void 0 ? {} : { options }),
53
- });
54
- const listeners = noReexportsOutsideBarrelsRule.create(context);
55
- const programListener = listeners.Program;
56
- programListener?.(context.sourceCode.ast);
57
- return reports;
58
- };
59
- /**
60
- * Creates temporary file runners for the rule.
61
- * @param temporaryDirectories Directories created during the run.
62
- * @returns Helpers for running the rule in temp folders.
63
- * @example
64
- * ```typescript
65
- * const runner = createTemporaryRunner([]);
66
- * ```
67
- */
68
- const createTemporaryRunner = (temporaryDirectories) => {
69
- const runForTemporaryFile = (options) => {
70
- const directory = createRepoDirectory(options.root);
71
- temporaryDirectories.push(directory);
72
- const filePath = path.join(directory, options.filename);
73
- return runRule(filePath, options.body, options.options);
74
- };
75
- const runDefaultFeature = (body) => runForTemporaryFile({ body, filename: "feature.ts", root: "src" });
76
- const runTemporaryFeature = (body, options) => runForTemporaryFile({
77
- body,
78
- filename: "feature.ts",
79
- root: "tmp",
80
- ...(options === void 0 ? {} : { options }),
81
- });
82
- const runTemporaryIndex = (body, options) => runForTemporaryFile({
83
- body,
84
- filename: "index.ts",
85
- root: "tmp",
86
- ...(options === void 0 ? {} : { options }),
87
- });
88
- return { runDefaultFeature, runTemporaryFeature, runTemporaryIndex };
89
- };
90
- export { createTemporaryRunner, runRule };
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVscy10ZXN0LXV0aWxpdGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzL25vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHMtdGVzdC11dGlsaXRpZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNwQyxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUluQyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUE4RHBFOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRyxDQUN4QixVQUFpQyxFQUNmLEVBQUUsQ0FDcEIsQ0FBQztJQUNDLEdBQUcsRUFBRSxHQUFHLEVBQUU7SUFDVixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7SUFDN0IsRUFBRSxFQUFFLDhCQUE4QjtJQUNsQyxlQUFlLEVBQUU7UUFDZixXQUFXLEVBQUUsUUFBUTtRQUNyQixVQUFVLEVBQUUsUUFBUTtLQUNyQjtJQUNELE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUNsRSxhQUFhLEVBQUUsRUFBRTtJQUNqQixVQUFVLEVBQUUsS0FBSyxDQUFDO0lBQ2xCLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxRQUFRO0lBQ3JDLE1BQU0sRUFBRSxDQUFDLE1BQTZCLEVBQVEsRUFBRTtRQUM5QyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBdUMsQ0FBQztRQUM5RCxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUNELFFBQVEsRUFBRSxFQUFFO0lBQ1osVUFBVSxFQUFFLFVBQVUsQ0FBQyxVQUFVO0NBQ2xDLENBQWdDLENBQUM7QUFFcEM7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sT0FBTyxHQUFHLENBQ2QsUUFBZ0IsRUFDaEIsSUFBNEIsRUFDNUIsT0FBMEMsRUFDNUIsRUFBRTtJQUNoQixNQUFNLE9BQU8sR0FBaUIsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sVUFBVSxHQUFHLElBQUksVUFBVSxDQUFDLEVBQUUsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQztRQUNoQyxRQUFRO1FBQ1IsT0FBTztRQUNQLFVBQVU7UUFDVixHQUFHLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7S0FDM0MsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxTQUFTLEdBQUcsNkJBQTZCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFFMUMsZUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUUxQyxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FDNUIsb0JBQThCLEVBQ2IsRUFBRTtJQUNuQixNQUFNLG1CQUFtQixHQUFHLENBQUMsT0FBNkIsRUFBZ0IsRUFBRTtRQUMxRSxNQUFNLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV4RCxPQUFPLE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUQsQ0FBQyxDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLElBQTRCLEVBQWdCLEVBQUUsQ0FDdkUsbUJBQW1CLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUVyRSxNQUFNLG1CQUFtQixHQUFHLENBQzFCLElBQTRCLEVBQzVCLE9BQTBDLEVBQzVCLEVBQUUsQ0FDaEIsbUJBQW1CLENBQUM7UUFDbEIsSUFBSTtRQUNKLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLElBQUksRUFBRSxLQUFLO1FBQ1gsR0FBRyxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO0tBQzNDLENBQUMsQ0FBQztJQUVMLE1BQU0saUJBQWlCLEdBQUcsQ0FDeEIsSUFBNEIsRUFDNUIsT0FBMEMsRUFDNUIsRUFBRSxDQUNoQixtQkFBbUIsQ0FBQztRQUNsQixJQUFJO1FBQ0osUUFBUSxFQUFFLFVBQVU7UUFDcEIsSUFBSSxFQUFFLEtBQUs7UUFDWCxHQUFHLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7S0FDM0MsQ0FBQyxDQUFDO0lBRUwsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixFQUFFLENBQUM7QUFDdkUsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgeyBTb3VyY2VDb2RlIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgY3dkIH0gZnJvbSBcIm5vZGU6cHJvY2Vzc1wiO1xuXG5pbXBvcnQgdHlwZSB7IE5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHsgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUgfSBmcm9tIFwiLi9uby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzLXJ1bGVcIjtcbmltcG9ydCB7IGNyZWF0ZVByb2dyYW0sIGNyZWF0ZVJlcG9EaXJlY3RvcnkgfSBmcm9tIFwiLi90ZXN0LWhlbHBlcnNcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFJlcG9ydERlc2NyaXB0b3JXaXRoTWVzc2FnZUlkIHtcbiAgLyoqIE1lc3NhZ2VJZCBmaWVsZCB2YWx1ZS4gKi9cbiAgbWVzc2FnZUlkPzogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUnVsZUNvbnRleHRQYXJhbWV0ZXJzIHtcbiAgLyoqIEZpbGVuYW1lIGZpZWxkIHZhbHVlLiAqL1xuICBmaWxlbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBPcHRpb25zIGhlbHBlciB2YWx1ZS4gKi9cbiAgb3B0aW9ucz86IE5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNPcHRpb25zO1xuXG4gIC8qKiBSZXBvcnRzIGZpZWxkIHZhbHVlLiAqL1xuICByZXBvcnRzOiBSdWxlUmVwb3J0W107XG5cbiAgLyoqIFNvdXJjZUNvZGUgZmllbGQgdmFsdWUuICovXG4gIHNvdXJjZUNvZGU6IFNvdXJjZUNvZGU7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSdWxlUmVwb3J0IHtcbiAgLyoqIE1lc3NhZ2VJZCBoZWxwZXIgdmFsdWUuICovXG4gIG1lc3NhZ2VJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgVGVtcG9yYXJ5RmlsZU9wdGlvbnMge1xuICAvKiogQm9keSBmaWVsZCB2YWx1ZS4gKi9cbiAgYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdO1xuXG4gIC8qKiBGaWxlbmFtZSBmaWVsZCB2YWx1ZS4gKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcblxuICAvKiogT3B0aW9ucyBoZWxwZXIgdmFsdWUuICovXG4gIG9wdGlvbnM/OiBOb1JlZXhwb3J0c091dHNpZGVCYXJyZWxzT3B0aW9ucztcblxuICAvKiogUm9vdCBmaWVsZCB2YWx1ZS4gKi9cbiAgcm9vdDogXCJzcmNcIiB8IFwidG1wXCI7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBUZW1wb3JhcnlSdW5uZXIge1xuICAvKiogUnVuRGVmYXVsdEZlYXR1cmUgZmllbGQgdmFsdWUuICovXG4gIHJ1bkRlZmF1bHRGZWF0dXJlOiAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKSA9PiBSdWxlUmVwb3J0W107XG5cbiAgLyoqIFJ1blRlbXBvcmFyeUZlYXR1cmUgZmllbGQgdmFsdWUuICovXG4gIHJ1blRlbXBvcmFyeUZlYXR1cmU6IChcbiAgICBib2R5OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl0sXG4gICAgb3B0aW9ucz86IE5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNPcHRpb25zLFxuICApID0+IFJ1bGVSZXBvcnRbXTtcblxuICAvKiogUnVuVGVtcG9yYXJ5SW5kZXggZmllbGQgdmFsdWUuICovXG4gIHJ1blRlbXBvcmFyeUluZGV4OiAoXG4gICAgYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdLFxuICAgIG9wdGlvbnM/OiBOb1JlZXhwb3J0c091dHNpZGVCYXJyZWxzT3B0aW9ucyxcbiAgKSA9PiBSdWxlUmVwb3J0W107XG59XG5cbi8qKlxuICogQnVpbGRzIGEgcnVsZSBjb250ZXh0IGZvciBydW5uaW5nIHRoZSBydWxlLlxuICogQHBhcmFtIHBhcmFtZXRlcnMgQ29udGV4dCBwYXJhbWV0ZXJzIGFuZCByZXBvcnQgc2luay5cbiAqIEByZXR1cm5zIFRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVSdWxlQ29udGV4dCh7IGZpbGVuYW1lLCByZXBvcnRzLCBzb3VyY2VDb2RlIH0pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVJ1bGVDb250ZXh0ID0gKFxuICBwYXJhbWV0ZXJzOiBSdWxlQ29udGV4dFBhcmFtZXRlcnMsXG4pOiBSdWxlLlJ1bGVDb250ZXh0ID0+XG4gICh7XG4gICAgY3dkOiBjd2QoKSxcbiAgICBmaWxlbmFtZTogcGFyYW1ldGVycy5maWxlbmFtZSxcbiAgICBpZDogXCJuby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzXCIsXG4gICAgbGFuZ3VhZ2VPcHRpb25zOiB7XG4gICAgICBlY21hVmVyc2lvbjogXCJsYXRlc3RcIixcbiAgICAgIHNvdXJjZVR5cGU6IFwibW9kdWxlXCIsXG4gICAgfSxcbiAgICBvcHRpb25zOiBwYXJhbWV0ZXJzLm9wdGlvbnMgPT09IHZvaWQgMCA/IFtdIDogW3BhcmFtZXRlcnMub3B0aW9uc10sXG4gICAgcGFyc2VyT3B0aW9uczoge30sXG4gICAgcGFyc2VyUGF0aDogdm9pZCAwLFxuICAgIHBoeXNpY2FsRmlsZW5hbWU6IHBhcmFtZXRlcnMuZmlsZW5hbWUsXG4gICAgcmVwb3J0OiAocmVwb3J0OiBSdWxlLlJlcG9ydERlc2NyaXB0b3IpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHsgbWVzc2FnZUlkIH0gPSByZXBvcnQgYXMgUmVwb3J0RGVzY3JpcHRvcldpdGhNZXNzYWdlSWQ7XG4gICAgICBwYXJhbWV0ZXJzLnJlcG9ydHMucHVzaCh7IG1lc3NhZ2VJZCB9KTtcbiAgICB9LFxuICAgIHNldHRpbmdzOiB7fSxcbiAgICBzb3VyY2VDb2RlOiBwYXJhbWV0ZXJzLnNvdXJjZUNvZGUsXG4gIH0pIGFzIHVua25vd24gYXMgUnVsZS5SdWxlQ29udGV4dDtcblxuLyoqXG4gKiBSdW5zIHRoZSBydWxlIGFnYWluc3QgdGhlIHByb3ZpZGVkIEFTVCBib2R5LlxuICogQHBhcmFtIGZpbGVuYW1lIFRhcmdldCBmaWxlbmFtZS5cbiAqIEBwYXJhbSBib2R5IEFTVCBwcm9ncmFtIGJvZHkuXG4gKiBAcGFyYW0gb3B0aW9ucyBSdWxlIG9wdGlvbnMgd2hlbiBwcm92aWRlZC5cbiAqIEByZXR1cm5zIFRoZSBjYXB0dXJlZCBydWxlIHJlcG9ydHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVwb3J0cyA9IHJ1blJ1bGUoXCJmZWF0dXJlLnRzXCIsIGNyZWF0ZUJvZHkoKSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgcnVuUnVsZSA9IChcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdLFxuICBvcHRpb25zPzogTm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc09wdGlvbnMsXG4pOiBSdWxlUmVwb3J0W10gPT4ge1xuICBjb25zdCByZXBvcnRzOiBSdWxlUmVwb3J0W10gPSBbXTtcbiAgY29uc3Qgc291cmNlQ29kZSA9IG5ldyBTb3VyY2VDb2RlKFwiXCIsIGNyZWF0ZVByb2dyYW0oYm9keSkpO1xuICBjb25zdCBjb250ZXh0ID0gY3JlYXRlUnVsZUNvbnRleHQoe1xuICAgIGZpbGVuYW1lLFxuICAgIHJlcG9ydHMsXG4gICAgc291cmNlQ29kZSxcbiAgICAuLi4ob3B0aW9ucyA9PT0gdm9pZCAwID8ge30gOiB7IG9wdGlvbnMgfSksXG4gIH0pO1xuICBjb25zdCBsaXN0ZW5lcnMgPSBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZS5jcmVhdGUoY29udGV4dCk7XG4gIGNvbnN0IHByb2dyYW1MaXN0ZW5lciA9IGxpc3RlbmVycy5Qcm9ncmFtO1xuXG4gIHByb2dyYW1MaXN0ZW5lcj8uKGNvbnRleHQuc291cmNlQ29kZS5hc3QpO1xuXG4gIHJldHVybiByZXBvcnRzO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIHRlbXBvcmFyeSBmaWxlIHJ1bm5lcnMgZm9yIHRoZSBydWxlLlxuICogQHBhcmFtIHRlbXBvcmFyeURpcmVjdG9yaWVzIERpcmVjdG9yaWVzIGNyZWF0ZWQgZHVyaW5nIHRoZSBydW4uXG4gKiBAcmV0dXJucyBIZWxwZXJzIGZvciBydW5uaW5nIHRoZSBydWxlIGluIHRlbXAgZm9sZGVycy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydW5uZXIgPSBjcmVhdGVUZW1wb3JhcnlSdW5uZXIoW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVRlbXBvcmFyeVJ1bm5lciA9IChcbiAgdGVtcG9yYXJ5RGlyZWN0b3JpZXM6IHN0cmluZ1tdLFxuKTogVGVtcG9yYXJ5UnVubmVyID0+IHtcbiAgY29uc3QgcnVuRm9yVGVtcG9yYXJ5RmlsZSA9IChvcHRpb25zOiBUZW1wb3JhcnlGaWxlT3B0aW9ucyk6IFJ1bGVSZXBvcnRbXSA9PiB7XG4gICAgY29uc3QgZGlyZWN0b3J5ID0gY3JlYXRlUmVwb0RpcmVjdG9yeShvcHRpb25zLnJvb3QpO1xuICAgIHRlbXBvcmFyeURpcmVjdG9yaWVzLnB1c2goZGlyZWN0b3J5KTtcbiAgICBjb25zdCBmaWxlUGF0aCA9IHBhdGguam9pbihkaXJlY3RvcnksIG9wdGlvbnMuZmlsZW5hbWUpO1xuXG4gICAgcmV0dXJuIHJ1blJ1bGUoZmlsZVBhdGgsIG9wdGlvbnMuYm9keSwgb3B0aW9ucy5vcHRpb25zKTtcbiAgfTtcblxuICBjb25zdCBydW5EZWZhdWx0RmVhdHVyZSA9IChib2R5OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl0pOiBSdWxlUmVwb3J0W10gPT5cbiAgICBydW5Gb3JUZW1wb3JhcnlGaWxlKHsgYm9keSwgZmlsZW5hbWU6IFwiZmVhdHVyZS50c1wiLCByb290OiBcInNyY1wiIH0pO1xuXG4gIGNvbnN0IHJ1blRlbXBvcmFyeUZlYXR1cmUgPSAoXG4gICAgYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdLFxuICAgIG9wdGlvbnM/OiBOb1JlZXhwb3J0c091dHNpZGVCYXJyZWxzT3B0aW9ucyxcbiAgKTogUnVsZVJlcG9ydFtdID0+XG4gICAgcnVuRm9yVGVtcG9yYXJ5RmlsZSh7XG4gICAgICBib2R5LFxuICAgICAgZmlsZW5hbWU6IFwiZmVhdHVyZS50c1wiLFxuICAgICAgcm9vdDogXCJ0bXBcIixcbiAgICAgIC4uLihvcHRpb25zID09PSB2b2lkIDAgPyB7fSA6IHsgb3B0aW9ucyB9KSxcbiAgICB9KTtcblxuICBjb25zdCBydW5UZW1wb3JhcnlJbmRleCA9IChcbiAgICBib2R5OiBFU1RyZWUuUHJvZ3JhbVtcImJvZHlcIl0sXG4gICAgb3B0aW9ucz86IE5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNPcHRpb25zLFxuICApOiBSdWxlUmVwb3J0W10gPT5cbiAgICBydW5Gb3JUZW1wb3JhcnlGaWxlKHtcbiAgICAgIGJvZHksXG4gICAgICBmaWxlbmFtZTogXCJpbmRleC50c1wiLFxuICAgICAgcm9vdDogXCJ0bXBcIixcbiAgICAgIC4uLihvcHRpb25zID09PSB2b2lkIDAgPyB7fSA6IHsgb3B0aW9ucyB9KSxcbiAgICB9KTtcblxuICByZXR1cm4geyBydW5EZWZhdWx0RmVhdHVyZSwgcnVuVGVtcG9yYXJ5RmVhdHVyZSwgcnVuVGVtcG9yYXJ5SW5kZXggfTtcbn07XG5cbmV4cG9ydCB7IGNyZWF0ZVRlbXBvcmFyeVJ1bm5lciwgcnVuUnVsZSB9O1xuIl19
@@ -1,4 +0,0 @@
1
- /** Companion module for rule.repeat-runs.spec.ts. */
2
- declare const ruleRepeatRunsCompanion = "rule.repeat-runs";
3
- export { ruleRepeatRunsCompanion };
4
- //# sourceMappingURL=rule.repeat-runs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule.repeat-runs.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/rule.repeat-runs.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,QAAA,MAAM,uBAAuB,qBAAqB,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,4 +0,0 @@
1
- /** Companion module for rule.repeat-runs.spec.ts. */
2
- const ruleRepeatRunsCompanion = "rule.repeat-runs";
3
- export { ruleRepeatRunsCompanion };
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS5yZXBlYXQtcnVucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzL3J1bGUucmVwZWF0LXJ1bnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscURBQXFEO0FBQ3JELE1BQU0sdUJBQXVCLEdBQUcsa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQ29tcGFuaW9uIG1vZHVsZSBmb3IgcnVsZS5yZXBlYXQtcnVucy5zcGVjLnRzLiAqL1xyXG5jb25zdCBydWxlUmVwZWF0UnVuc0NvbXBhbmlvbiA9IFwicnVsZS5yZXBlYXQtcnVuc1wiO1xyXG5cclxuZXhwb3J0IHsgcnVsZVJlcGVhdFJ1bnNDb21wYW5pb24gfTtcclxuIl19