@codeperfect/eslint-plugin 2.1.0 → 2.3.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 (309) 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 +29 -2
  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/rule.d.ts.map +1 -1
  26. package/dist/domain/architecture/consistent-barrel-files/rule.js +1 -2
  27. package/dist/domain/architecture/index.d.ts +2 -1
  28. package/dist/domain/architecture/index.d.ts.map +1 -1
  29. package/dist/domain/architecture/index.js +3 -2
  30. package/dist/domain/architecture/no-unused-exports/index.d.ts +3 -0
  31. package/dist/domain/architecture/no-unused-exports/index.d.ts.map +1 -0
  32. package/dist/domain/architecture/no-unused-exports/index.js +2 -0
  33. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts +50 -0
  34. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -0
  35. package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +141 -0
  36. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +49 -0
  37. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -0
  38. package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +612 -0
  39. package/dist/domain/architecture/no-unused-exports/rule.d.ts +5 -0
  40. package/dist/domain/architecture/no-unused-exports/rule.d.ts.map +1 -0
  41. package/dist/domain/architecture/no-unused-exports/rule.js +82 -0
  42. package/dist/domain/architecture/no-unused-exports/types.d.ts +32 -0
  43. package/dist/domain/architecture/no-unused-exports/types.d.ts.map +1 -0
  44. package/dist/domain/architecture/no-unused-exports/types.js +2 -0
  45. package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
  46. package/dist/domain/core/no-multiple-declarators/rule.js +53 -4
  47. package/dist/domain/core/no-multiple-declarators/types.d.ts +3 -1
  48. package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -1
  49. package/dist/domain/core/no-multiple-declarators/types.js +5 -2
  50. package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
  51. package/dist/domain/core/prefer-interface-types/rule.js +90 -22
  52. package/dist/domain/custom-rule-documentation.d.ts +1 -14
  53. package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
  54. package/dist/domain/custom-rule-documentation.js +2 -2
  55. package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
  56. package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +11 -2
  57. package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
  58. package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +1 -1
  59. package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
  60. package/dist/domain/docs/no-interface-member-docs/rule.js +7 -2
  61. package/dist/domain/docs/require-example-language/examples.d.ts +4 -15
  62. package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
  63. package/dist/domain/docs/require-example-language/examples.js +119 -26
  64. package/dist/domain/docs/require-example-language/fixes.d.ts +1 -21
  65. package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
  66. package/dist/domain/docs/require-example-language/fixes.js +5 -2
  67. package/dist/domain/docs/require-example-language/reporting.d.ts +2 -38
  68. package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
  69. package/dist/domain/docs/require-example-language/reporting.js +2 -2
  70. package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
  71. package/dist/domain/docs/require-example-language/rule.js +2 -1
  72. package/dist/domain/docs/require-example-language/types.d.ts +1 -1
  73. package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
  74. package/dist/domain/docs/require-example-language/types.js +1 -1
  75. package/dist/domain/docs/single-line-jsdoc/rule.js +8 -8
  76. package/dist/domain/index.d.ts +2 -3
  77. package/dist/domain/index.d.ts.map +1 -1
  78. package/dist/domain/index.js +3 -4
  79. package/dist/domain/testing/aaa/analyzer.analysis.d.ts +1 -19
  80. package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
  81. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +8 -31
  82. package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
  83. package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +18 -22
  84. package/dist/domain/testing/aaa/analyzer.analysis.js +46 -39
  85. package/dist/domain/testing/aaa/analyzer.assertions.d.ts +1 -17
  86. package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
  87. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +1 -3
  88. package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -1
  89. package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +3 -4
  90. package/dist/domain/testing/aaa/analyzer.assertions.js +5 -33
  91. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +1 -3
  92. package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -1
  93. package/dist/domain/testing/aaa/analyzer.assertions.operands.js +6 -5
  94. package/dist/domain/testing/aaa/analyzer.classification.d.ts +1 -15
  95. package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
  96. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +1 -3
  97. package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -1
  98. package/dist/domain/testing/aaa/analyzer.classification.helpers.js +5 -6
  99. package/dist/domain/testing/aaa/analyzer.classification.js +5 -31
  100. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +1 -3
  101. package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -1
  102. package/dist/domain/testing/aaa/analyzer.classification.traversal.js +3 -5
  103. package/dist/domain/testing/aaa/analyzer.super.d.ts +1 -7
  104. package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
  105. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +1 -14
  106. package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -1
  107. package/dist/domain/testing/aaa/analyzer.super.helpers.js +2 -4
  108. package/dist/domain/testing/aaa/analyzer.super.js +5 -20
  109. package/dist/domain/testing/aaa/index.d.ts +1 -2
  110. package/dist/domain/testing/aaa/index.d.ts.map +1 -1
  111. package/dist/domain/testing/aaa/index.js +2 -2
  112. package/dist/domain/testing/aaa/types.d.ts +1 -1
  113. package/dist/domain/testing/aaa/types.d.ts.map +1 -1
  114. package/dist/domain/testing/aaa/types.js +1 -1
  115. package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
  116. package/dist/domain/testing/assert-actual-expected-names/rule.js +28 -3
  117. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -1
  118. package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -1
  119. package/dist/domain/testing/enforce-aaa-phase-purity/index.js +3 -2
  120. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +1 -1
  121. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -1
  122. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
  123. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +1 -1
  124. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
  125. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +78 -16
  126. package/dist/domain/testing/{require-aaa-sections → enforce-aaa-structure}/missing-section-fixes.d.ts +1 -1
  127. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -0
  128. package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +150 -0
  129. package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
  130. package/dist/domain/testing/enforce-aaa-structure/rule.js +166 -7
  131. package/dist/domain/testing/index.d.ts +0 -3
  132. package/dist/domain/testing/index.d.ts.map +1 -1
  133. package/dist/domain/testing/index.js +1 -4
  134. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +1 -15
  135. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -1
  136. package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +2 -71
  137. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
  138. package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +4 -2
  139. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +1 -13
  140. package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
  141. package/dist/domain/testing/prefer-vi-mocked-import/fix.js +3 -21
  142. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
  143. package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +2 -1
  144. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
  145. package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +1 -1
  146. package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +6 -6
  147. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +1 -12
  148. package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
  149. package/dist/domain/testing/prefer-vi-mocked-import/match.js +149 -15
  150. package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
  151. package/dist/domain/testing/require-act-result-capture/rule.js +37 -8
  152. package/dist/domain/testing/require-test-companion/index.d.ts +0 -1
  153. package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -1
  154. package/dist/domain/testing/require-test-companion/index.js +1 -2
  155. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts +2 -1
  156. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
  157. package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +13 -58
  158. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts +2 -1
  159. package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -1
  160. package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -5
  161. package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
  162. package/dist/domain/testing/require-test-companion/rule.js +7 -7
  163. package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
  164. package/dist/domain/testing/single-act-statement/rule.js +6 -3
  165. package/dist/index.d.ts +1 -1
  166. package/dist/index.d.ts.map +1 -1
  167. package/dist/index.js +2 -2
  168. package/dist/infrastructure/codeperfect-plugin.d.ts +6 -6
  169. package/dist/infrastructure/codeperfect-plugin.js +5 -5
  170. package/dist/infrastructure/presets.d.ts.map +1 -1
  171. package/dist/infrastructure/presets.js +23 -7
  172. package/package.json +24 -31
  173. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +0 -41
  174. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
  175. package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -87
  176. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +0 -40
  177. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
  178. package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -91
  179. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +0 -4
  180. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +0 -1
  181. package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +0 -4
  182. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts +0 -141
  183. package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
  184. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +0 -20
  185. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +0 -1
  186. package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +0 -25
  187. package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +0 -235
  188. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +0 -101
  189. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +0 -1
  190. package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +0 -108
  191. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +0 -35
  192. package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +0 -1
  193. package/dist/domain/core/no-multiple-declarators/rule.fixes.js +0 -95
  194. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +0 -4
  195. package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +0 -1
  196. package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +0 -4
  197. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +0 -4
  198. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +0 -1
  199. package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +0 -4
  200. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts +0 -110
  201. package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
  202. package/dist/domain/core/prefer-interface-types/test-helpers.js +0 -116
  203. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -89
  204. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
  205. package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
  206. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts +0 -103
  207. package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
  208. package/dist/domain/docs/no-interface-member-docs/test-helpers.js +0 -157
  209. package/dist/domain/docs/require-example-language/create-fixer.d.ts +0 -5
  210. package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +0 -1
  211. package/dist/domain/docs/require-example-language/create-fixer.js +0 -5
  212. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +0 -4
  213. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +0 -1
  214. package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +0 -5
  215. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +0 -4
  216. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +0 -1
  217. package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +0 -5
  218. package/dist/domain/docs/test-helpers.d.ts +0 -50
  219. package/dist/domain/docs/test-helpers.d.ts.map +0 -1
  220. package/dist/domain/docs/test-helpers.js +0 -107
  221. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts +0 -4
  222. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.d.ts.map +0 -1
  223. package/dist/domain/testing/aaa/analyzer.analysis.unsupported.js +0 -4
  224. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts +0 -4
  225. package/dist/domain/testing/aaa/analyzer.assertions.destructured.d.ts.map +0 -1
  226. package/dist/domain/testing/aaa/analyzer.assertions.destructured.js +0 -4
  227. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +0 -9
  228. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +0 -1
  229. package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +0 -10
  230. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts +0 -4
  231. package/dist/domain/testing/aaa/analyzer.classification.mutations.d.ts.map +0 -1
  232. package/dist/domain/testing/aaa/analyzer.classification.mutations.js +0 -4
  233. package/dist/domain/testing/aaa/analyzer.d.ts +0 -46
  234. package/dist/domain/testing/aaa/analyzer.d.ts.map +0 -1
  235. package/dist/domain/testing/aaa/analyzer.js +0 -59
  236. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts +0 -4
  237. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.d.ts.map +0 -1
  238. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.combined.js +0 -4
  239. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts +0 -4
  240. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.d.ts.map +0 -1
  241. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.companion.js +0 -4
  242. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +0 -4
  243. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +0 -1
  244. package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +0 -4
  245. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +0 -42
  246. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +0 -1
  247. package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +0 -188
  248. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts +0 -5
  249. package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
  250. package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +0 -37
  251. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +0 -20
  252. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +0 -1
  253. package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +0 -39
  254. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +0 -97
  255. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +0 -1
  256. package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +0 -174
  257. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +0 -2
  258. package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +0 -1
  259. package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +0 -2
  260. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +0 -14
  261. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +0 -1
  262. package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +0 -84
  263. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +0 -13
  264. package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +0 -1
  265. package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +0 -195
  266. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +0 -25
  267. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +0 -1
  268. package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +0 -96
  269. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +0 -32
  270. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +0 -1
  271. package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +0 -164
  272. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +0 -5
  273. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +0 -1
  274. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +0 -4
  275. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +0 -1
  276. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +0 -4
  277. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +0 -4
  278. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +0 -1
  279. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +0 -4
  280. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +0 -88
  281. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +0 -4
  282. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +0 -1
  283. package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +0 -4
  284. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +0 -24
  285. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +0 -1
  286. package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +0 -113
  287. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +0 -36
  288. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +0 -1
  289. package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +0 -138
  290. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +0 -187
  291. package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +0 -1
  292. package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +0 -2
  293. package/dist/domain/testing/require-aaa-sections/index.d.ts +0 -2
  294. package/dist/domain/testing/require-aaa-sections/index.d.ts.map +0 -1
  295. package/dist/domain/testing/require-aaa-sections/index.js +0 -2
  296. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +0 -1
  297. package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +0 -150
  298. package/dist/domain/testing/require-aaa-sections/rule.d.ts +0 -5
  299. package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +0 -1
  300. package/dist/domain/testing/require-aaa-sections/rule.js +0 -134
  301. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +0 -104
  302. package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +0 -1
  303. package/dist/domain/testing/require-aaa-sections/rule.reporting.js +0 -216
  304. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts +0 -51
  305. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
  306. package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +0 -184
  307. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts +0 -28
  308. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
  309. package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +0 -26
@@ -1,141 +0,0 @@
1
- import type { AST } from "eslint";
2
- import type * as ESTree from "estree";
3
- /**
4
- * Creates a temporary repo directory for test fixtures.
5
- * @param root Root folder to create the temporary directory under.
6
- * @returns The generated temporary directory path.
7
- * @example
8
- * ```typescript
9
- * const directory = createRepoDirectory("tmp");
10
- * ```
11
- */
12
- declare const createRepoDirectory: (root: "src" | "tmp") => string;
13
- /**
14
- * Wraps statements in a program node for SourceCode construction.
15
- * @param body Program body statements.
16
- * @returns The AST program wrapper.
17
- * @example
18
- * ```typescript
19
- * const program = createProgram([]);
20
- * ```
21
- */
22
- declare const createProgram: (body: ESTree.Program["body"]) => AST.Program;
23
- /**
24
- * Creates an export specifier node.
25
- * @param localName Local identifier name.
26
- * @param exportedName Exported identifier name.
27
- * @returns The ESTree export specifier.
28
- * @example
29
- * ```typescript
30
- * const specifier = createExportSpecifier("feature");
31
- * ```
32
- */
33
- declare const createExportSpecifier: (localName: string, exportedName?: string) => ESTree.ExportSpecifier;
34
- /**
35
- * Creates an import specifier node.
36
- * @param localName Local identifier name.
37
- * @param importedName Imported identifier name.
38
- * @returns The ESTree import specifier.
39
- * @example
40
- * ```typescript
41
- * const specifier = createImportSpecifier("feature");
42
- * ```
43
- */
44
- declare const createImportSpecifier: (localName: string, importedName?: string) => ESTree.ImportSpecifier;
45
- /**
46
- * Creates an import default specifier node.
47
- * @param localName Local identifier name.
48
- * @returns The ESTree default import specifier.
49
- * @example
50
- * ```typescript
51
- * const specifier = createImportDefaultSpecifier("feature");
52
- * ```
53
- */
54
- declare const createImportDefaultSpecifier: (localName: string) => ESTree.ImportDefaultSpecifier;
55
- /**
56
- * Creates an import declaration for fixture programs.
57
- * @param specifiers Import specifiers to include.
58
- * @returns The ESTree import declaration.
59
- * @example
60
- * ```typescript
61
- * const declaration = createImportDeclaration();
62
- * ```
63
- */
64
- declare const createImportDeclaration: (specifiers?: ESTree.ImportDeclaration["specifiers"]) => ESTree.ImportDeclaration;
65
- /**
66
- * Creates an export-all declaration for fixture programs.
67
- * @returns The ESTree export-all declaration.
68
- * @example
69
- * ```typescript
70
- * const declaration = createExportAll();
71
- * ```
72
- */
73
- declare const createExportAll: () => ESTree.ExportAllDeclaration;
74
- /**
75
- * Creates an export-from declaration for fixture programs.
76
- * @returns The ESTree named export declaration.
77
- * @example
78
- * ```typescript
79
- * const declaration = createExportNamedFrom();
80
- * ```
81
- */
82
- declare const createExportNamedFrom: () => ESTree.ExportNamedDeclaration;
83
- /**
84
- * Creates an export declaration with an inline variable declaration.
85
- * @returns The ESTree named export declaration.
86
- * @example
87
- * ```typescript
88
- * const declaration = createExportWithDeclaration();
89
- * ```
90
- */
91
- declare const createExportWithDeclaration: () => ESTree.ExportNamedDeclaration;
92
- /**
93
- * Creates an exported interface declaration for tests.
94
- * @returns The exported interface declaration node.
95
- * @example
96
- * ```typescript
97
- * const declaration = createExportInterfaceDeclaration();
98
- * ```
99
- */
100
- declare const createExportInterfaceDeclaration: () => ESTree.Program["body"][number];
101
- /**
102
- * Creates an exported type alias declaration for tests.
103
- * @returns The exported type alias declaration node.
104
- * @example
105
- * ```typescript
106
- * const declaration = createExportTypeAliasDeclaration();
107
- * ```
108
- */
109
- declare const createExportTypeAliasDeclaration: () => ESTree.Program["body"][number];
110
- /**
111
- * Creates a named export without a source value.
112
- * @param specifiers Export specifiers to include.
113
- * @returns The ESTree named export declaration.
114
- * @example
115
- * ```typescript
116
- * const declaration = createExportWithoutSource();
117
- * ```
118
- */
119
- declare const createExportWithoutSource: (specifiers?: ESTree.ExportSpecifier[]) => ESTree.ExportNamedDeclaration;
120
- /**
121
- * Creates a default export declaration for an identifier.
122
- * @param name Identifier to export.
123
- * @returns The ESTree default export declaration.
124
- * @example
125
- * ```typescript
126
- * const declaration = createExportDefaultIdentifier("feature");
127
- * ```
128
- */
129
- declare const createExportDefaultIdentifier: (name: string) => ESTree.ExportDefaultDeclaration;
130
- /**
131
- * Collects statements into a program body.
132
- * @param statements Statements to include in the body.
133
- * @returns The program body array.
134
- * @example
135
- * ```typescript
136
- * const body = createBody();
137
- * ```
138
- */
139
- declare const createBody: (...statements: ESTree.Program["body"][number][]) => ESTree.Program["body"];
140
- export { createBody, createExportAll, createExportDefaultIdentifier, createExportInterfaceDeclaration, createExportNamedFrom, createExportSpecifier, createExportTypeAliasDeclaration, createExportWithDeclaration, createExportWithoutSource, createImportDeclaration, createImportDefaultSpecifier, createImportSpecifier, createProgram, createRepoDirectory, };
141
- //# sourceMappingURL=test-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,MAAM,QAAQ,CAAC;AAMtC;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,KAAK,GAAG,KAAK,KAAG,MAIlD,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,aAAa,GAAI,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAG,GAAG,CAAC,OAQxD,CAAC;AA0BH;;;;;;;;;GASG;AACH,QAAA,MAAM,qBAAqB,GACzB,WAAW,MAAM,EACjB,qBAAwB,KACvB,MAAM,CAAC,eAK2B,CAAC;AAEtC;;;;;;;;;GASG;AACH,QAAA,MAAM,qBAAqB,GACzB,WAAW,MAAM,EACjB,qBAAwB,KACvB,MAAM,CAAC,eAK2B,CAAC;AAEtC;;;;;;;;GAQG;AACH,QAAA,MAAM,4BAA4B,GAChC,WAAW,MAAM,KAChB,MAAM,CAAC,sBAIkC,CAAC;AAE7C;;;;;;;;GAQG;AACH,QAAA,MAAM,uBAAuB,GAC3B,aAAY,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAM,KACtD,MAAM,CAAC,iBAM6B,CAAC;AAExC;;;;;;;GAOG;AACH,QAAA,MAAM,eAAe,QAAO,MAAM,CAAC,oBAMO,CAAC;AAE3C;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB,QAAO,MAAM,CAAC,sBAMG,CAAC;AAE7C;;;;;;;GAOG;AACH,QAAA,MAAM,2BAA2B,QAAO,MAAM,CAAC,sBAa9C,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,gCAAgC,QAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CASzB,CAAC;AAElD;;;;;;;GAOG;AACH,QAAA,MAAM,gCAAgC,QAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CASzB,CAAC;AAElD;;;;;;;;GAQG;AACH,QAAA,MAAM,yBAAyB,GAC7B,aAAY,MAAM,CAAC,eAAe,EAAO,KACxC,MAAM,CAAC,sBAKkC,CAAC;AAE7C;;;;;;;;GAQG;AACH,QAAA,MAAM,6BAA6B,GACjC,MAAM,MAAM,KACX,MAAM,CAAC,wBAIoC,CAAC;AAE/C;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU,GACd,GAAG,YAAY,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,KAC9C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAe,CAAC;AAExC,OAAO,EACL,UAAU,EACV,eAAe,EACf,6BAA6B,EAC7B,gCAAgC,EAChC,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,aAAa,EACb,mBAAmB,GACpB,CAAC"}
@@ -1,20 +0,0 @@
1
- /**
2
- * Writes a barrel file fixture.
3
- * @param filePath File path for the barrel fixture.
4
- * @example
5
- * ```typescript
6
- * writeBarrel("/tmp/index.ts");
7
- * ```
8
- */
9
- declare const writeBarrel: (filePath: string) => void;
10
- /**
11
- * Writes a feature file fixture.
12
- * @param filePath File path for the feature fixture.
13
- * @example
14
- * ```typescript
15
- * writeFeature("/tmp/feature.ts");
16
- * ```
17
- */
18
- declare const writeFeature: (filePath: string) => void;
19
- export { writeBarrel, writeFeature };
20
- //# sourceMappingURL=test-helpers.file-writers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-helpers.file-writers.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/test-helpers.file-writers.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,QAAA,MAAM,WAAW,GAAI,UAAU,MAAM,KAAG,IAEvC,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,YAAY,GAAI,UAAU,MAAM,KAAG,IAExC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC"}
@@ -1,25 +0,0 @@
1
- import { writeFileSync } from "node:fs";
2
- /**
3
- * Writes a barrel file fixture.
4
- * @param filePath File path for the barrel fixture.
5
- * @example
6
- * ```typescript
7
- * writeBarrel("/tmp/index.ts");
8
- * ```
9
- */
10
- const writeBarrel = (filePath) => {
11
- writeFileSync(filePath, "export * from './feature';", "utf8");
12
- };
13
- /**
14
- * Writes a feature file fixture.
15
- * @param filePath File path for the feature fixture.
16
- * @example
17
- * ```typescript
18
- * writeFeature("/tmp/feature.ts");
19
- * ```
20
- */
21
- const writeFeature = (filePath) => {
22
- writeFileSync(filePath, "export const feature = 1;", "utf8");
23
- };
24
- export { writeBarrel, writeFeature };
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmZpbGUtd3JpdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kb21haW4vYXJjaGl0ZWN0dXJlL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzL3Rlc3QtaGVscGVycy5maWxlLXdyaXRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4Qzs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxRQUFnQixFQUFRLEVBQUU7SUFDN0MsYUFBYSxDQUFDLFFBQVEsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFnQixFQUFRLEVBQUU7SUFDOUMsYUFBYSxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMvRCxDQUFDLENBQUM7QUFFRixPQUFPLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XHJcblxyXG4vKipcclxuICogV3JpdGVzIGEgYmFycmVsIGZpbGUgZml4dHVyZS5cclxuICogQHBhcmFtIGZpbGVQYXRoIEZpbGUgcGF0aCBmb3IgdGhlIGJhcnJlbCBmaXh0dXJlLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIHdyaXRlQmFycmVsKFwiL3RtcC9pbmRleC50c1wiKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCB3cml0ZUJhcnJlbCA9IChmaWxlUGF0aDogc3RyaW5nKTogdm9pZCA9PiB7XHJcbiAgd3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgXCJleHBvcnQgKiBmcm9tICcuL2ZlYXR1cmUnO1wiLCBcInV0ZjhcIik7XHJcbn07XHJcblxyXG4vKipcclxuICogV3JpdGVzIGEgZmVhdHVyZSBmaWxlIGZpeHR1cmUuXHJcbiAqIEBwYXJhbSBmaWxlUGF0aCBGaWxlIHBhdGggZm9yIHRoZSBmZWF0dXJlIGZpeHR1cmUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogd3JpdGVGZWF0dXJlKFwiL3RtcC9mZWF0dXJlLnRzXCIpO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IHdyaXRlRmVhdHVyZSA9IChmaWxlUGF0aDogc3RyaW5nKTogdm9pZCA9PiB7XHJcbiAgd3JpdGVGaWxlU3luYyhmaWxlUGF0aCwgXCJleHBvcnQgY29uc3QgZmVhdHVyZSA9IDE7XCIsIFwidXRmOFwiKTtcclxufTtcclxuXHJcbmV4cG9ydCB7IHdyaXRlQmFycmVsLCB3cml0ZUZlYXR1cmUgfTtcclxuIl19
@@ -1,235 +0,0 @@
1
- import { mkdirSync, mkdtempSync } from "node:fs";
2
- import path from "node:path";
3
- import { cwd } from "node:process";
4
- /**
5
- * Creates a temporary repo directory for test fixtures.
6
- * @param root Root folder to create the temporary directory under.
7
- * @returns The generated temporary directory path.
8
- * @example
9
- * ```typescript
10
- * const directory = createRepoDirectory("tmp");
11
- * ```
12
- */
13
- const createRepoDirectory = (root) => {
14
- const baseDirectory = path.join(cwd(), root);
15
- mkdirSync(baseDirectory, { recursive: true });
16
- return mkdtempSync(path.join(baseDirectory, "barrel-files-"));
17
- };
18
- /**
19
- * Wraps statements in a program node for SourceCode construction.
20
- * @param body Program body statements.
21
- * @returns The AST program wrapper.
22
- * @example
23
- * ```typescript
24
- * const program = createProgram([]);
25
- * ```
26
- */
27
- const createProgram = (body) => ({
28
- body,
29
- comments: [],
30
- loc: { end: { column: 0, line: 1 }, start: { column: 0, line: 1 } },
31
- range: [0, 0],
32
- sourceType: "module",
33
- tokens: [],
34
- type: "Program",
35
- });
36
- /**
37
- * Creates a string literal node for import and export statements.
38
- * @param value Literal value to wrap.
39
- * @returns The ESTree literal node.
40
- * @example
41
- * ```typescript
42
- * const literal = createLiteral("./feature");
43
- * ```
44
- */
45
- const createLiteral = (value) => ({ raw: `'${value}'`, type: "Literal", value });
46
- /**
47
- * Converts a raw symbol name into the ESTree shape used by the fixture factories.
48
- * @param name Raw symbol text to encode in the AST node.
49
- * @returns An ESTree Identifier carrying the supplied symbol text.
50
- * @example
51
- * ```typescript
52
- * const identifier = createIdentifier("feature");
53
- * ```
54
- */
55
- const createIdentifier = (name) => ({ name, type: "Identifier" });
56
- /**
57
- * Creates an export specifier node.
58
- * @param localName Local identifier name.
59
- * @param exportedName Exported identifier name.
60
- * @returns The ESTree export specifier.
61
- * @example
62
- * ```typescript
63
- * const specifier = createExportSpecifier("feature");
64
- * ```
65
- */
66
- const createExportSpecifier = (localName, exportedName = localName) => ({
67
- exported: createIdentifier(exportedName),
68
- local: createIdentifier(localName),
69
- type: "ExportSpecifier",
70
- });
71
- /**
72
- * Creates an import specifier node.
73
- * @param localName Local identifier name.
74
- * @param importedName Imported identifier name.
75
- * @returns The ESTree import specifier.
76
- * @example
77
- * ```typescript
78
- * const specifier = createImportSpecifier("feature");
79
- * ```
80
- */
81
- const createImportSpecifier = (localName, importedName = localName) => ({
82
- imported: createIdentifier(importedName),
83
- local: createIdentifier(localName),
84
- type: "ImportSpecifier",
85
- });
86
- /**
87
- * Creates an import default specifier node.
88
- * @param localName Local identifier name.
89
- * @returns The ESTree default import specifier.
90
- * @example
91
- * ```typescript
92
- * const specifier = createImportDefaultSpecifier("feature");
93
- * ```
94
- */
95
- const createImportDefaultSpecifier = (localName) => ({
96
- local: createIdentifier(localName),
97
- type: "ImportDefaultSpecifier",
98
- });
99
- /**
100
- * Creates an import declaration for fixture programs.
101
- * @param specifiers Import specifiers to include.
102
- * @returns The ESTree import declaration.
103
- * @example
104
- * ```typescript
105
- * const declaration = createImportDeclaration();
106
- * ```
107
- */
108
- const createImportDeclaration = (specifiers = []) => ({
109
- attributes: [],
110
- source: createLiteral("./feature"),
111
- specifiers,
112
- type: "ImportDeclaration",
113
- });
114
- /**
115
- * Creates an export-all declaration for fixture programs.
116
- * @returns The ESTree export-all declaration.
117
- * @example
118
- * ```typescript
119
- * const declaration = createExportAll();
120
- * ```
121
- */
122
- const createExportAll = () => ({
123
- attributes: [],
124
- exported: createIdentifier("all"),
125
- source: createLiteral("./feature"),
126
- type: "ExportAllDeclaration",
127
- });
128
- /**
129
- * Creates an export-from declaration for fixture programs.
130
- * @returns The ESTree named export declaration.
131
- * @example
132
- * ```typescript
133
- * const declaration = createExportNamedFrom();
134
- * ```
135
- */
136
- const createExportNamedFrom = () => ({
137
- attributes: [],
138
- source: createLiteral("./feature"),
139
- specifiers: [],
140
- type: "ExportNamedDeclaration",
141
- });
142
- /**
143
- * Creates an export declaration with an inline variable declaration.
144
- * @returns The ESTree named export declaration.
145
- * @example
146
- * ```typescript
147
- * const declaration = createExportWithDeclaration();
148
- * ```
149
- */
150
- const createExportWithDeclaration = () => {
151
- const declaration = {
152
- declarations: [],
153
- kind: "const",
154
- type: "VariableDeclaration",
155
- };
156
- return {
157
- attributes: [],
158
- declaration,
159
- specifiers: [],
160
- type: "ExportNamedDeclaration",
161
- };
162
- };
163
- /**
164
- * Creates an exported interface declaration for tests.
165
- * @returns The exported interface declaration node.
166
- * @example
167
- * ```typescript
168
- * const declaration = createExportInterfaceDeclaration();
169
- * ```
170
- */
171
- const createExportInterfaceDeclaration = () => ({
172
- declaration: {
173
- body: { body: [], type: "TSInterfaceBody" },
174
- id: createIdentifier("Feature"),
175
- type: "TSInterfaceDeclaration",
176
- },
177
- specifiers: [],
178
- type: "ExportNamedDeclaration",
179
- });
180
- /**
181
- * Creates an exported type alias declaration for tests.
182
- * @returns The exported type alias declaration node.
183
- * @example
184
- * ```typescript
185
- * const declaration = createExportTypeAliasDeclaration();
186
- * ```
187
- */
188
- const createExportTypeAliasDeclaration = () => ({
189
- declaration: {
190
- id: createIdentifier("Feature"),
191
- type: "TSTypeAliasDeclaration",
192
- typeAnnotation: { type: "TSStringKeyword" },
193
- },
194
- specifiers: [],
195
- type: "ExportNamedDeclaration",
196
- });
197
- /**
198
- * Creates a named export without a source value.
199
- * @param specifiers Export specifiers to include.
200
- * @returns The ESTree named export declaration.
201
- * @example
202
- * ```typescript
203
- * const declaration = createExportWithoutSource();
204
- * ```
205
- */
206
- const createExportWithoutSource = (specifiers = []) => ({
207
- attributes: [],
208
- specifiers,
209
- type: "ExportNamedDeclaration",
210
- });
211
- /**
212
- * Creates a default export declaration for an identifier.
213
- * @param name Identifier to export.
214
- * @returns The ESTree default export declaration.
215
- * @example
216
- * ```typescript
217
- * const declaration = createExportDefaultIdentifier("feature");
218
- * ```
219
- */
220
- const createExportDefaultIdentifier = (name) => ({
221
- declaration: createIdentifier(name),
222
- type: "ExportDefaultDeclaration",
223
- });
224
- /**
225
- * Collects statements into a program body.
226
- * @param statements Statements to include in the body.
227
- * @returns The program body array.
228
- * @example
229
- * ```typescript
230
- * const body = createBody();
231
- * ```
232
- */
233
- const createBody = (...statements) => statements;
234
- export { createBody, createExportAll, createExportDefaultIdentifier, createExportInterfaceDeclaration, createExportNamedFrom, createExportSpecifier, createExportTypeAliasDeclaration, createExportWithDeclaration, createExportWithoutSource, createImportDeclaration, createImportDefaultSpecifier, createImportSpecifier, createProgram, createRepoDirectory, };
235
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvdGVzdC1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2pELE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUM3QixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRW5DOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLElBQW1CLEVBQVUsRUFBRTtJQUMxRCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLFNBQVMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5QyxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQ2hFLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUE0QixFQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ3BFLElBQUk7SUFDSixRQUFRLEVBQUUsRUFBRTtJQUNaLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQ25FLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDYixVQUFVLEVBQUUsUUFBUTtJQUNwQixNQUFNLEVBQUUsRUFBRTtJQUNWLElBQUks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NUIscUJBQXFCLEVBQ3JCLGFBQWEsRUFDYixtQkFBbUIsR0FDcEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVNUIH0gZnJvbSBcImVzbGludFwiO1xuaW1wb3J0IHR5cGUgKiBhcyBFU1RyZWUgZnJvbSBcImVzdHJlZVwiO1xuXG5pbXBvcnQgeyBta2RpclN5bmMsIG1rZHRlbXBTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgdGVtcG9yYXJ5IHJlcG8gZGlyZWN0b3J5IGZvciB0ZXN0IGZpeHR1cmVzLlxuICogQHBhcmFtIHJvb3QgUm9vdCBmb2xkZXIgdG8gY3JlYXRlIHRoZSB0ZW1wb3JhcnkgZGlyZWN0b3J5IHVuZGVyLlxuICogQHJldHVybnMgVGhlIGdlbmVyYXRlZCB0ZW1wb3JhcnkgZGlyZWN0b3J5IHBhdGguXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGlyZWN0b3J5ID0gY3JlYXRlUmVwb0RpcmVjdG9yeShcInRtcFwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVSZXBvRGlyZWN0b3J5ID0gKHJvb3Q6IFwic3JjXCIgfCBcInRtcFwiKTogc3RyaW5nID0+IHtcbiAgY29uc3QgYmFzZURpcmVjdG9yeSA9IHBhdGguam9pbihjd2QoKSwgcm9vdCk7XG4gIG1rZGlyU3luYyhiYXNlRGlyZWN0b3J5LCB7IHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgcmV0dXJuIG1rZHRlbXBTeW5jKHBhdGguam9pbihiYXNlRGlyZWN0b3J5LCBcImJhcnJlbC1maWxlcy1cIikpO1xufTtcblxuLyoqXG4gKiBXcmFwcyBzdGF0ZW1lbnRzIGluIGEgcHJvZ3JhbSBub2RlIGZvciBTb3VyY2VDb2RlIGNvbnN0cnVjdGlvbi5cbiAqIEBwYXJhbSBib2R5IFByb2dyYW0gYm9keSBzdGF0ZW1lbnRzLlxuICogQHJldHVybnMgVGhlIEFTVCBwcm9ncmFtIHdyYXBwZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJvZ3JhbSA9IGNyZWF0ZVByb2dyYW0oW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVByb2dyYW0gPSAoYm9keTogRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdKTogQVNULlByb2dyYW0gPT4gKHtcbiAgYm9keSxcbiAgY29tbWVudHM6IFtdLFxuICBsb2M6IHsgZW5kOiB7IGNvbHVtbjogMCwgbGluZTogMSB9LCBzdGFydDogeyBjb2x1bW46IDAsIGxpbmU6IDEgfSB9LFxuICByYW5nZTogWzAsIDBdLFxuICBzb3VyY2VUeXBlOiBcIm1vZHVsZVwiLFxuICB0b2tlbnM6IFtdLFxuICB0eXBlOiBcIlByb2dyYW1cIixcbn0pO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBzdHJpbmcgbGl0ZXJhbCBub2RlIGZvciBpbXBvcnQgYW5kIGV4cG9ydCBzdGF0ZW1lbnRzLlxuICogQHBhcmFtIHZhbHVlIExpdGVyYWwgdmFsdWUgdG8gd3JhcC5cbiAqIEByZXR1cm5zIFRoZSBFU1RyZWUgbGl0ZXJhbCBub2RlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpdGVyYWwgPSBjcmVhdGVMaXRlcmFsKFwiLi9mZWF0dXJlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUxpdGVyYWwgPSAodmFsdWU6IHN0cmluZyk6IEVTVHJlZS5MaXRlcmFsID0+XG4gICh7IHJhdzogYCcke3ZhbHVlfSdgLCB0eXBlOiBcIkxpdGVyYWxcIiwgdmFsdWUgfSkgc2F0aXNmaWVzIEVTVHJlZS5MaXRlcmFsO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgcmF3IHN5bWJvbCBuYW1lIGludG8gdGhlIEVTVHJlZSBzaGFwZSB1c2VkIGJ5IHRoZSBmaXh0dXJlIGZhY3Rvcmllcy5cbiAqIEBwYXJhbSBuYW1lIFJhdyBzeW1ib2wgdGV4dCB0byBlbmNvZGUgaW4gdGhlIEFTVCBub2RlLlxuICogQHJldHVybnMgQW4gRVNUcmVlIElkZW50aWZpZXIgY2FycnlpbmcgdGhlIHN1cHBsaWVkIHN5bWJvbCB0ZXh0LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGlkZW50aWZpZXIgPSBjcmVhdGVJZGVudGlmaWVyKFwiZmVhdHVyZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVJZGVudGlmaWVyID0gKG5hbWU6IHN0cmluZyk6IEVTVHJlZS5JZGVudGlmaWVyID0+XG4gICh7IG5hbWUsIHR5cGU6IFwiSWRlbnRpZmllclwiIH0pIHNhdGlzZmllcyBFU1RyZWUuSWRlbnRpZmllcjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGV4cG9ydCBzcGVjaWZpZXIgbm9kZS5cbiAqIEBwYXJhbSBsb2NhbE5hbWUgTG9jYWwgaWRlbnRpZmllciBuYW1lLlxuICogQHBhcmFtIGV4cG9ydGVkTmFtZSBFeHBvcnRlZCBpZGVudGlmaWVyIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgRVNUcmVlIGV4cG9ydCBzcGVjaWZpZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3BlY2lmaWVyID0gY3JlYXRlRXhwb3J0U3BlY2lmaWVyKFwiZmVhdHVyZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVFeHBvcnRTcGVjaWZpZXIgPSAoXG4gIGxvY2FsTmFtZTogc3RyaW5nLFxuICBleHBvcnRlZE5hbWUgPSBsb2NhbE5hbWUsXG4pOiBFU1RyZWUuRXhwb3J0U3BlY2lmaWVyID0+XG4gICh7XG4gICAgZXhwb3J0ZWQ6IGNyZWF0ZUlkZW50aWZpZXIoZXhwb3J0ZWROYW1lKSxcbiAgICBsb2NhbDogY3JlYXRlSWRlbnRpZmllcihsb2NhbE5hbWUpLFxuICAgIHR5cGU6IFwiRXhwb3J0U3BlY2lmaWVyXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuRXhwb3J0U3BlY2lmaWVyO1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gaW1wb3J0IHNwZWNpZmllciBub2RlLlxuICogQHBhcmFtIGxvY2FsTmFtZSBMb2NhbCBpZGVudGlmaWVyIG5hbWUuXG4gKiBAcGFyYW0gaW1wb3J0ZWROYW1lIEltcG9ydGVkIGlkZW50aWZpZXIgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBFU1RyZWUgaW1wb3J0IHNwZWNpZmllci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzcGVjaWZpZXIgPSBjcmVhdGVJbXBvcnRTcGVjaWZpZXIoXCJmZWF0dXJlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUltcG9ydFNwZWNpZmllciA9IChcbiAgbG9jYWxOYW1lOiBzdHJpbmcsXG4gIGltcG9ydGVkTmFtZSA9IGxvY2FsTmFtZSxcbik6IEVTVHJlZS5JbXBvcnRTcGVjaWZpZXIgPT5cbiAgKHtcbiAgICBpbXBvcnRlZDogY3JlYXRlSWRlbnRpZmllcihpbXBvcnRlZE5hbWUpLFxuICAgIGxvY2FsOiBjcmVhdGVJZGVudGlmaWVyKGxvY2FsTmFtZSksXG4gICAgdHlwZTogXCJJbXBvcnRTcGVjaWZpZXJcIixcbiAgfSkgc2F0aXNmaWVzIEVTVHJlZS5JbXBvcnRTcGVjaWZpZXI7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBpbXBvcnQgZGVmYXVsdCBzcGVjaWZpZXIgbm9kZS5cbiAqIEBwYXJhbSBsb2NhbE5hbWUgTG9jYWwgaWRlbnRpZmllciBuYW1lLlxuICogQHJldHVybnMgVGhlIEVTVHJlZSBkZWZhdWx0IGltcG9ydCBzcGVjaWZpZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3BlY2lmaWVyID0gY3JlYXRlSW1wb3J0RGVmYXVsdFNwZWNpZmllcihcImZlYXR1cmVcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlSW1wb3J0RGVmYXVsdFNwZWNpZmllciA9IChcbiAgbG9jYWxOYW1lOiBzdHJpbmcsXG4pOiBFU1RyZWUuSW1wb3J0RGVmYXVsdFNwZWNpZmllciA9PlxuICAoe1xuICAgIGxvY2FsOiBjcmVhdGVJZGVudGlmaWVyKGxvY2FsTmFtZSksXG4gICAgdHlwZTogXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuSW1wb3J0RGVmYXVsdFNwZWNpZmllcjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGltcG9ydCBkZWNsYXJhdGlvbiBmb3IgZml4dHVyZSBwcm9ncmFtcy5cbiAqIEBwYXJhbSBzcGVjaWZpZXJzIEltcG9ydCBzcGVjaWZpZXJzIHRvIGluY2x1ZGUuXG4gKiBAcmV0dXJucyBUaGUgRVNUcmVlIGltcG9ydCBkZWNsYXJhdGlvbi5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkZWNsYXJhdGlvbiA9IGNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24gPSAoXG4gIHNwZWNpZmllcnM6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbltcInNwZWNpZmllcnNcIl0gPSBbXSxcbik6IEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbiA9PlxuICAoe1xuICAgIGF0dHJpYnV0ZXM6IFtdLFxuICAgIHNvdXJjZTogY3JlYXRlTGl0ZXJhbChcIi4vZmVhdHVyZVwiKSxcbiAgICBzcGVjaWZpZXJzLFxuICAgIHR5cGU6IFwiSW1wb3J0RGVjbGFyYXRpb25cIixcbiAgfSkgc2F0aXNmaWVzIEVTVHJlZS5JbXBvcnREZWNsYXJhdGlvbjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGV4cG9ydC1hbGwgZGVjbGFyYXRpb24gZm9yIGZpeHR1cmUgcHJvZ3JhbXMuXG4gKiBAcmV0dXJucyBUaGUgRVNUcmVlIGV4cG9ydC1hbGwgZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGVjbGFyYXRpb24gPSBjcmVhdGVFeHBvcnRBbGwoKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVFeHBvcnRBbGwgPSAoKTogRVNUcmVlLkV4cG9ydEFsbERlY2xhcmF0aW9uID0+XG4gICh7XG4gICAgYXR0cmlidXRlczogW10sXG4gICAgZXhwb3J0ZWQ6IGNyZWF0ZUlkZW50aWZpZXIoXCJhbGxcIiksXG4gICAgc291cmNlOiBjcmVhdGVMaXRlcmFsKFwiLi9mZWF0dXJlXCIpLFxuICAgIHR5cGU6IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIixcbiAgfSkgc2F0aXNmaWVzIEVTVHJlZS5FeHBvcnRBbGxEZWNsYXJhdGlvbjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGV4cG9ydC1mcm9tIGRlY2xhcmF0aW9uIGZvciBmaXh0dXJlIHByb2dyYW1zLlxuICogQHJldHVybnMgVGhlIEVTVHJlZSBuYW1lZCBleHBvcnQgZGVjbGFyYXRpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGVjbGFyYXRpb24gPSBjcmVhdGVFeHBvcnROYW1lZEZyb20oKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVFeHBvcnROYW1lZEZyb20gPSAoKTogRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gPT5cbiAgKHtcbiAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICBzb3VyY2U6IGNyZWF0ZUxpdGVyYWwoXCIuL2ZlYXR1cmVcIiksXG4gICAgc3BlY2lmaWVyczogW10sXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0pIHNhdGlzZmllcyBFU1RyZWUuRXhwb3J0TmFtZWREZWNsYXJhdGlvbjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGV4cG9ydCBkZWNsYXJhdGlvbiB3aXRoIGFuIGlubGluZSB2YXJpYWJsZSBkZWNsYXJhdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBFU1RyZWUgbmFtZWQgZXhwb3J0IGRlY2xhcmF0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRlY2xhcmF0aW9uID0gY3JlYXRlRXhwb3J0V2l0aERlY2xhcmF0aW9uKCk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRXhwb3J0V2l0aERlY2xhcmF0aW9uID0gKCk6IEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uID0+IHtcbiAgY29uc3QgZGVjbGFyYXRpb24gPSB7XG4gICAgZGVjbGFyYXRpb25zOiBbXSxcbiAgICBraW5kOiBcImNvbnN0XCIsXG4gICAgdHlwZTogXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIsXG4gIH0gc2F0aXNmaWVzIEVTVHJlZS5WYXJpYWJsZURlY2xhcmF0aW9uO1xuXG4gIHJldHVybiB7XG4gICAgYXR0cmlidXRlczogW10sXG4gICAgZGVjbGFyYXRpb24sXG4gICAgc3BlY2lmaWVyczogW10sXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0gc2F0aXNmaWVzIEVTVHJlZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGV4cG9ydGVkIGludGVyZmFjZSBkZWNsYXJhdGlvbiBmb3IgdGVzdHMuXG4gKiBAcmV0dXJucyBUaGUgZXhwb3J0ZWQgaW50ZXJmYWNlIGRlY2xhcmF0aW9uIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGVjbGFyYXRpb24gPSBjcmVhdGVFeHBvcnRJbnRlcmZhY2VEZWNsYXJhdGlvbigpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUV4cG9ydEludGVyZmFjZURlY2xhcmF0aW9uID0gKCk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdID0+XG4gICh7XG4gICAgZGVjbGFyYXRpb246IHtcbiAgICAgIGJvZHk6IHsgYm9keTogW10sIHR5cGU6IFwiVFNJbnRlcmZhY2VCb2R5XCIgfSxcbiAgICAgIGlkOiBjcmVhdGVJZGVudGlmaWVyKFwiRmVhdHVyZVwiKSxcbiAgICAgIHR5cGU6IFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiLFxuICAgIH0sXG4gICAgc3BlY2lmaWVyczogW10sXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0pIGFzIHVua25vd24gYXMgRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdW251bWJlcl07XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBleHBvcnRlZCB0eXBlIGFsaWFzIGRlY2xhcmF0aW9uIGZvciB0ZXN0cy5cbiAqIEByZXR1cm5zIFRoZSBleHBvcnRlZCB0eXBlIGFsaWFzIGRlY2xhcmF0aW9uIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgZGVjbGFyYXRpb24gPSBjcmVhdGVFeHBvcnRUeXBlQWxpYXNEZWNsYXJhdGlvbigpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUV4cG9ydFR5cGVBbGlhc0RlY2xhcmF0aW9uID0gKCk6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdID0+XG4gICh7XG4gICAgZGVjbGFyYXRpb246IHtcbiAgICAgIGlkOiBjcmVhdGVJZGVudGlmaWVyKFwiRmVhdHVyZVwiKSxcbiAgICAgIHR5cGU6IFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiLFxuICAgICAgdHlwZUFubm90YXRpb246IHsgdHlwZTogXCJUU1N0cmluZ0tleXdvcmRcIiB9LFxuICAgIH0sXG4gICAgc3BlY2lmaWVyczogW10sXG4gICAgdHlwZTogXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXG4gIH0pIGFzIHVua25vd24gYXMgRVNUcmVlLlByb2dyYW1bXCJib2R5XCJdW251bWJlcl07XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5hbWVkIGV4cG9ydCB3aXRob3V0IGEgc291cmNlIHZhbHVlLlxuICogQHBhcmFtIHNwZWNpZmllcnMgRXhwb3J0IHNwZWNpZmllcnMgdG8gaW5jbHVkZS5cbiAqIEByZXR1cm5zIFRoZSBFU1RyZWUgbmFtZWQgZXhwb3J0IGRlY2xhcmF0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRlY2xhcmF0aW9uID0gY3JlYXRlRXhwb3J0V2l0aG91dFNvdXJjZSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUV4cG9ydFdpdGhvdXRTb3VyY2UgPSAoXG4gIHNwZWNpZmllcnM6IEVTVHJlZS5FeHBvcnRTcGVjaWZpZXJbXSA9IFtdLFxuKTogRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gPT5cbiAgKHtcbiAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICBzcGVjaWZpZXJzLFxuICAgIHR5cGU6IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiLFxuICB9KSBzYXRpc2ZpZXMgRVNUcmVlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb247XG5cbi8qKlxuICogQ3JlYXRlcyBhIGRlZmF1bHQgZXhwb3J0IGRlY2xhcmF0aW9uIGZvciBhbiBpZGVudGlmaWVyLlxuICogQHBhcmFtIG5hbWUgSWRlbnRpZmllciB0byBleHBvcnQuXG4gKiBAcmV0dXJucyBUaGUgRVNUcmVlIGRlZmF1bHQgZXhwb3J0IGRlY2xhcmF0aW9uLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGRlY2xhcmF0aW9uID0gY3JlYXRlRXhwb3J0RGVmYXVsdElkZW50aWZpZXIoXCJmZWF0dXJlXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUV4cG9ydERlZmF1bHRJZGVudGlmaWVyID0gKFxuICBuYW1lOiBzdHJpbmcsXG4pOiBFU1RyZWUuRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uID0+XG4gICh7XG4gICAgZGVjbGFyYXRpb246IGNyZWF0ZUlkZW50aWZpZXIobmFtZSksXG4gICAgdHlwZTogXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIixcbiAgfSkgc2F0aXNmaWVzIEVTVHJlZS5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb247XG5cbi8qKlxuICogQ29sbGVjdHMgc3RhdGVtZW50cyBpbnRvIGEgcHJvZ3JhbSBib2R5LlxuICogQHBhcmFtIHN0YXRlbWVudHMgU3RhdGVtZW50cyB0byBpbmNsdWRlIGluIHRoZSBib2R5LlxuICogQHJldHVybnMgVGhlIHByb2dyYW0gYm9keSBhcnJheS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBib2R5ID0gY3JlYXRlQm9keSgpO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZUJvZHkgPSAoXG4gIC4uLnN0YXRlbWVudHM6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXVtudW1iZXJdW11cbik6IEVTVHJlZS5Qcm9ncmFtW1wiYm9keVwiXSA9PiBzdGF0ZW1lbnRzO1xuXG5leHBvcnQge1xuICBjcmVhdGVCb2R5LFxuICBjcmVhdGVFeHBvcnRBbGwsXG4gIGNyZWF0ZUV4cG9ydERlZmF1bHRJZGVudGlmaWVyLFxuICBjcmVhdGVFeHBvcnRJbnRlcmZhY2VEZWNsYXJhdGlvbixcbiAgY3JlYXRlRXhwb3J0TmFtZWRGcm9tLFxuICBjcmVhdGVFeHBvcnRTcGVjaWZpZXIsXG4gIGNyZWF0ZUV4cG9ydFR5cGVBbGlhc0RlY2xhcmF0aW9uLFxuICBjcmVhdGVFeHBvcnRXaXRoRGVjbGFyYXRpb24sXG4gIGNyZWF0ZUV4cG9ydFdpdGhvdXRTb3VyY2UsXG4gIGNyZWF0ZUltcG9ydERlY2xhcmF0aW9uLFxuICBjcmVhdGVJbXBvcnREZWZhdWx0U3BlY2lmaWVyLFxuICBjcmVhdGVJbXBvcnRTcGVjaWZpZXIsXG4gIGNyZWF0ZVByb2dyYW0sXG4gIGNyZWF0ZVJlcG9EaXJlY3RvcnksXG59O1xuIl19
@@ -1,101 +0,0 @@
1
- import type { Rule } from "eslint";
2
- import type { Range } from "./types.js";
3
- /** Options that shape the mock ESLint source access used by the tests. */
4
- interface ContextOptions {
5
- /** Omits the raw `text` property to exercise the `getText()` fallback path. */
6
- omitText?: boolean;
7
- }
8
- /** Input used to build a mock variable declaration node. */
9
- interface CreateVariableDeclarationInput {
10
- /** Individual declarator source fragments in declaration order. */
11
- declaratorTexts: readonly string[];
12
- /** Declaration keyword such as `const` or `let`. */
13
- kind: string;
14
- /** Full file source used to resolve node ranges. */
15
- sourceText: string;
16
- /** Exact statement text that contains the declaration. */
17
- statementText: string;
18
- }
19
- /** Mock ESTree node shape required by the rule tests. */
20
- interface MockNode {
21
- /** Variable declarators belonging to a declaration statement. */
22
- declarations?: MockNode[];
23
- /** Loop initializer reference used by `ForStatement` parents. */
24
- init?: MockNode | null;
25
- /** Declaration keyword such as `const` or `let`. */
26
- kind?: string;
27
- /** Loop left-hand reference used by `for...of` and `for...in` parents. */
28
- left?: MockNode;
29
- /** Parent node used by the rule to inspect surrounding syntax. */
30
- parent?: MockNode;
31
- /** Source range used by the autofix logic. */
32
- range?: Range;
33
- /** ESTree node type. */
34
- type: string;
35
- }
36
- /** Captured report metadata asserted by the unit tests. */
37
- interface ReportEntry {
38
- /** Fix callback captured from the rule report descriptor. */
39
- fix: null | Rule.ReportFixer | undefined;
40
- /** Message identifier reported by the rule. */
41
- messageId: string | undefined;
42
- /** Node type captured from the report descriptor. */
43
- nodeType: string | undefined;
44
- }
45
- /** Captured reports and mock context returned from `createContext`. */
46
- interface RuleContextState {
47
- /** Mock rule context passed into the rule under test. */
48
- context: Rule.RuleContext;
49
- /** Reports captured during rule execution. */
50
- reports: ReportEntry[];
51
- }
52
- /**
53
- * Builds a mock ESLint context for the rule tests.
54
- * @param sourceText Full source text used by the mock source code object.
55
- * @param options Options that tweak the mock source code shape.
56
- * @returns The mock context and captured reports.
57
- * @example Create a context with the default source text access.
58
- * ```typescript
59
- * const { context, reports } = createContext("const value = 1;");
60
- * ```
61
- */
62
- declare const createContext: (sourceText: string, options?: ContextOptions) => RuleContextState;
63
- /**
64
- * Builds a mock variable declaration node with stable source ranges.
65
- * @param input Source fragments used to build the declaration node.
66
- * @param input.declaratorTexts Individual declarator source fragments.
67
- * @param input.kind Declaration keyword such as `const` or `let`.
68
- * @param input.sourceText Full file source used to resolve ranges.
69
- * @param input.statementText Exact statement text containing the declaration.
70
- * @returns A mock variable declaration node with linked declarator parents.
71
- * @example Build a declaration with two declarators.
72
- * ```typescript
73
- * const declaration = createVariableDeclaration({
74
- * declaratorTexts: ["first = 1", "second = 2"],
75
- * kind: "const",
76
- * sourceText: "const first = 1, second = 2;",
77
- * statementText: "const first = 1, second = 2;",
78
- * });
79
- * ```
80
- */
81
- declare const createVariableDeclaration: ({ declaratorTexts, kind, sourceText, statementText, }: CreateVariableDeclarationInput) => MockNode;
82
- /**
83
- * Executes the rule listener for a variable declaration node.
84
- * @param context Rule execution context.
85
- * @param node Declaration node passed to the rule listener.
86
- * @example Execute the rule against a mock declaration.
87
- * ```typescript
88
- * const state = createContext("const first = 1, second = 2;");
89
- * const declaration = createVariableDeclaration({
90
- * declaratorTexts: ["first = 1", "second = 2"],
91
- * kind: "const",
92
- * sourceText: "const first = 1, second = 2;",
93
- * statementText: "const first = 1, second = 2;",
94
- * });
95
- * runRule(state.context, declaration);
96
- * ```
97
- */
98
- declare const runRule: (context: Rule.RuleContext, node: MockNode) => void;
99
- export { createContext, createVariableDeclaration, runRule };
100
- export type { MockNode };
101
- //# sourceMappingURL=rule-test-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule-test-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/core/no-multiple-declarators/rule-test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIrC,0EAA0E;AAC1E,UAAU,cAAc;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4DAA4D;AAC5D,UAAU,8BAA8B;IACtC,mEAAmE;IACnE,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,yDAAyD;AACzD,UAAU,QAAQ;IAChB,iEAAiE;IACjE,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,iEAAiE;IACjE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,kEAAkE;IAClE,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,2DAA2D;AAC3D,UAAU,WAAW;IACnB,6DAA6D;IAC7D,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IACzC,+CAA+C;IAC/C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,qDAAqD;IACrD,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B;AAED,uEAAuE;AACvE,UAAU,gBAAgB;IACxB,yDAAyD;IACzD,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAC1B,8CAA8C;IAC9C,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,GACjB,YAAY,MAAM,EAClB,UAAU,cAAc,KACvB,gBA8BF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,QAAA,MAAM,yBAAyB,GAAI,uDAKhC,8BAA8B,KAAG,QAgCnC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,OAAO,GAAI,SAAS,IAAI,CAAC,WAAW,EAAE,MAAM,QAAQ,KAAG,IAO5D,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC;AAC7D,YAAY,EAAE,QAAQ,EAAE,CAAC"}