@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
package/README.md CHANGED
@@ -96,13 +96,14 @@ void preferInterfaceTypesRule;
96
96
  - `codeperfect/assert-actual-expected-names`
97
97
  - `codeperfect/barrel-files-exports-only`
98
98
  - `codeperfect/consistent-barrel-files`
99
- - `codeperfect/enforce-aaa-phase-purity`
100
99
  - `codeperfect/enforce-aaa-structure`
100
+ - `codeperfect/no-import-export-aliases`
101
+ - `codeperfect/no-import-export-extensions`
101
102
  - `codeperfect/no-interface-member-docs`
102
103
  - `codeperfect/no-reexports-outside-barrels`
104
+ - `codeperfect/no-unused-exports`
103
105
  - `codeperfect/prefer-interface-types`
104
106
  - `codeperfect/prefer-vi-mocked-import`
105
- - `codeperfect/require-aaa-sections`
106
107
  - `codeperfect/require-act-result-capture`
107
108
  - `codeperfect/require-example-language`
108
109
  - `codeperfect/require-test-companion`
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/application/custom-rules.ts","../src/application/index.ts","../src/domain/custom-rule-documentation.ts","../src/domain/index.ts","../src/domain/architecture/index.ts","../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts","../src/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.ts","../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts","../src/domain/architecture/consistent-barrel-files/index.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.ts","../src/domain/architecture/consistent-barrel-files/rule.repeat-runs.ts","../src/domain/architecture/consistent-barrel-files/rule.ts","../src/domain/architecture/consistent-barrel-files/test-helpers.file-writers.ts","../src/domain/architecture/consistent-barrel-files/test-helpers.ts","../src/domain/architecture/consistent-barrel-files/types.ts","../src/domain/core/index.ts","../src/domain/core/no-multiple-declarators/index.ts","../src/domain/core/no-multiple-declarators/rule-test-helpers.ts","../src/domain/core/no-multiple-declarators/rule.fixes.ts","../src/domain/core/no-multiple-declarators/rule.guardrails.ts","../src/domain/core/no-multiple-declarators/rule.mocked-types.ts","../src/domain/core/no-multiple-declarators/rule.ts","../src/domain/core/no-multiple-declarators/types.ts","../src/domain/core/prefer-interface-types/index.ts","../src/domain/core/prefer-interface-types/rule.ts","../src/domain/core/prefer-interface-types/test-helpers.ts","../src/domain/docs/index.ts","../src/domain/docs/test-helpers.ts","../src/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.ts","../src/domain/docs/no-interface-member-docs/comment-utilities.ts","../src/domain/docs/no-interface-member-docs/index.ts","../src/domain/docs/no-interface-member-docs/parameter-tags.ts","../src/domain/docs/no-interface-member-docs/parameter-utilities.ts","../src/domain/docs/no-interface-member-docs/rule.ts","../src/domain/docs/no-interface-member-docs/test-helpers.ts","../src/domain/docs/no-interface-member-docs/types.ts","../src/domain/docs/require-example-language/create-fixer.ts","../src/domain/docs/require-example-language/empty-fence-fixes.ts","../src/domain/docs/require-example-language/example-utilities.ts","../src/domain/docs/require-example-language/examples.ts","../src/domain/docs/require-example-language/fixes.ts","../src/domain/docs/require-example-language/index.ts","../src/domain/docs/require-example-language/reporting.ts","../src/domain/docs/require-example-language/rule.ts","../src/domain/docs/require-example-language/types.ts","../src/domain/docs/single-line-jsdoc/index.ts","../src/domain/docs/single-line-jsdoc/rule.edge-cases.ts","../src/domain/docs/single-line-jsdoc/rule.node-lookups.ts","../src/domain/docs/single-line-jsdoc/rule.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-content.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.ts","../src/domain/testing/index.ts","../src/domain/testing/aaa/analyzer.analysis.helpers.ts","../src/domain/testing/aaa/analyzer.analysis.ts","../src/domain/testing/aaa/analyzer.assertions.ts","../src/domain/testing/aaa/analyzer.classification.member-patterns.ts","../src/domain/testing/aaa/analyzer.classification.ts","../src/domain/testing/aaa/analyzer.super.ts","../src/domain/testing/aaa/analyzer.ts","../src/domain/testing/aaa/index.ts","../src/domain/testing/aaa/types.ts","../src/domain/testing/assert-actual-expected-names/index.ts","../src/domain/testing/assert-actual-expected-names/rule.ts","../src/domain/testing/enforce-aaa-phase-purity/index.ts","../src/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.ts","../src/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.ts","../src/domain/testing/enforce-aaa-phase-purity/rule.ts","../src/domain/testing/enforce-aaa-structure/index.ts","../src/domain/testing/enforce-aaa-structure/rule.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-statements.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-updates.ts","../src/domain/testing/prefer-vi-mocked-import/fix-imports.ts","../src/domain/testing/prefer-vi-mocked-import/fix.ts","../src/domain/testing/prefer-vi-mocked-import/index.ts","../src/domain/testing/prefer-vi-mocked-import/match-bindings.ts","../src/domain/testing/prefer-vi-mocked-import/match-declarations.ts","../src/domain/testing/prefer-vi-mocked-import/match-helpers.ts","../src/domain/testing/prefer-vi-mocked-import/match-imports.ts","../src/domain/testing/prefer-vi-mocked-import/match-rewrites.ts","../src/domain/testing/prefer-vi-mocked-import/match-walk.ts","../src/domain/testing/prefer-vi-mocked-import/match.ts","../src/domain/testing/prefer-vi-mocked-import/rule-test-helpers.ts","../src/domain/testing/prefer-vi-mocked-import/rule.ts","../src/domain/testing/prefer-vi-mocked-import/types.ts","../src/domain/testing/prefer-vitest-incremental-casts/ast-helpers.ts","../src/domain/testing/prefer-vitest-incremental-casts/index.ts","../src/domain/testing/prefer-vitest-incremental-casts/match-input.ts","../src/domain/testing/prefer-vitest-incremental-casts/match.ts","../src/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.ts","../src/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.ts","../src/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.ts","../src/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.ts","../src/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.ts","../src/domain/testing/prefer-vitest-incremental-casts/rule.ts","../src/domain/testing/prefer-vitest-incremental-casts/type-helpers.ts","../src/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.ts","../src/domain/testing/prefer-vitest-incremental-casts/types.ts","../src/domain/testing/require-aaa-sections/index.ts","../src/domain/testing/require-aaa-sections/missing-section-fixes.ts","../src/domain/testing/require-aaa-sections/rule.reporting.ts","../src/domain/testing/require-aaa-sections/rule.ts","../src/domain/testing/require-act-result-capture/index.ts","../src/domain/testing/require-act-result-capture/rule.ts","../src/domain/testing/require-test-companion/index.ts","../src/domain/testing/require-test-companion/require-test-companion-listeners.ts","../src/domain/testing/require-test-companion/require-test-companion-options.ts","../src/domain/testing/require-test-companion/require-test-companion-test-helpers.ts","../src/domain/testing/require-test-companion/require-test-companion-utilities.ts","../src/domain/testing/require-test-companion/rule.ts","../src/domain/testing/require-test-companion/types.ts","../src/domain/testing/single-act-statement/index.ts","../src/domain/testing/single-act-statement/rule.ts","../src/infrastructure/codeperfect-plugin.ts","../src/infrastructure/index.ts","../src/infrastructure/presets.ts","../conventional-changelog-conventionalcommits.d.ts"],"version":"5.9.3"}
1
+ {"root":["../src/index.ts","../src/application/custom-rules.ts","../src/application/index.ts","../src/domain/custom-rule-documentation.ts","../src/domain/index.ts","../src/domain/architecture/index.ts","../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts","../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.ts","../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts","../src/domain/architecture/consistent-barrel-files/index.ts","../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts","../src/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.ts","../src/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.ts","../src/domain/architecture/consistent-barrel-files/rule.ts","../src/domain/architecture/consistent-barrel-files/types.ts","../src/domain/architecture/no-unused-exports/index.ts","../src/domain/architecture/no-unused-exports/no-unused-exports-options.ts","../src/domain/architecture/no-unused-exports/no-unused-exports-utilities.ts","../src/domain/architecture/no-unused-exports/rule.ts","../src/domain/architecture/no-unused-exports/types.ts","../src/domain/core/index.ts","../src/domain/core/no-multiple-declarators/index.ts","../src/domain/core/no-multiple-declarators/rule.ts","../src/domain/core/no-multiple-declarators/types.ts","../src/domain/core/prefer-interface-types/index.ts","../src/domain/core/prefer-interface-types/rule.ts","../src/domain/docs/index.ts","../src/domain/docs/no-interface-member-docs/comment-utilities.ts","../src/domain/docs/no-interface-member-docs/index.ts","../src/domain/docs/no-interface-member-docs/parameter-tags.ts","../src/domain/docs/no-interface-member-docs/parameter-utilities.ts","../src/domain/docs/no-interface-member-docs/rule.ts","../src/domain/docs/no-interface-member-docs/types.ts","../src/domain/docs/require-example-language/empty-fence-fixes.ts","../src/domain/docs/require-example-language/example-utilities.ts","../src/domain/docs/require-example-language/examples.ts","../src/domain/docs/require-example-language/fixes.ts","../src/domain/docs/require-example-language/index.ts","../src/domain/docs/require-example-language/reporting.ts","../src/domain/docs/require-example-language/rule.ts","../src/domain/docs/require-example-language/types.ts","../src/domain/docs/single-line-jsdoc/index.ts","../src/domain/docs/single-line-jsdoc/rule.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-content.ts","../src/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.ts","../src/domain/testing/index.ts","../src/domain/testing/aaa/analyzer.analysis.helpers.ts","../src/domain/testing/aaa/analyzer.analysis.ts","../src/domain/testing/aaa/analyzer.assertions.helpers.ts","../src/domain/testing/aaa/analyzer.assertions.operands.ts","../src/domain/testing/aaa/analyzer.assertions.ts","../src/domain/testing/aaa/analyzer.classification.helpers.ts","../src/domain/testing/aaa/analyzer.classification.traversal.ts","../src/domain/testing/aaa/analyzer.classification.ts","../src/domain/testing/aaa/analyzer.super.helpers.ts","../src/domain/testing/aaa/analyzer.super.ts","../src/domain/testing/aaa/index.ts","../src/domain/testing/aaa/types.ts","../src/domain/testing/assert-actual-expected-names/index.ts","../src/domain/testing/assert-actual-expected-names/rule.ts","../src/domain/testing/enforce-aaa-phase-purity/index.ts","../src/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.ts","../src/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.ts","../src/domain/testing/enforce-aaa-structure/index.ts","../src/domain/testing/enforce-aaa-structure/missing-section-fixes.ts","../src/domain/testing/enforce-aaa-structure/rule.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-statements.ts","../src/domain/testing/prefer-vi-mocked-import/fix-import-updates.ts","../src/domain/testing/prefer-vi-mocked-import/fix-imports.ts","../src/domain/testing/prefer-vi-mocked-import/fix.ts","../src/domain/testing/prefer-vi-mocked-import/index.ts","../src/domain/testing/prefer-vi-mocked-import/match-bindings.ts","../src/domain/testing/prefer-vi-mocked-import/match-declarations.ts","../src/domain/testing/prefer-vi-mocked-import/match-helpers.ts","../src/domain/testing/prefer-vi-mocked-import/match-imports.ts","../src/domain/testing/prefer-vi-mocked-import/match-rewrites.ts","../src/domain/testing/prefer-vi-mocked-import/match-walk.ts","../src/domain/testing/prefer-vi-mocked-import/match.ts","../src/domain/testing/prefer-vi-mocked-import/rule.ts","../src/domain/testing/prefer-vi-mocked-import/types.ts","../src/domain/testing/require-act-result-capture/index.ts","../src/domain/testing/require-act-result-capture/rule.ts","../src/domain/testing/require-test-companion/index.ts","../src/domain/testing/require-test-companion/require-test-companion-listeners.ts","../src/domain/testing/require-test-companion/require-test-companion-options.ts","../src/domain/testing/require-test-companion/rule.ts","../src/domain/testing/require-test-companion/types.ts","../src/domain/testing/single-act-statement/index.ts","../src/domain/testing/single-act-statement/rule.ts","../src/infrastructure/codeperfect-plugin.ts","../src/infrastructure/index.ts","../src/infrastructure/presets.ts"],"version":"6.0.3"}
@@ -18,10 +18,16 @@ declare const customRules: readonly [{
18
18
  readonly ruleName: "consistent-barrel-files";
19
19
  }, {
20
20
  readonly rule: Rule.RuleModule;
21
- readonly ruleName: "enforce-aaa-phase-purity";
21
+ readonly ruleName: "enforce-aaa-structure";
22
22
  }, {
23
23
  readonly rule: Rule.RuleModule;
24
- readonly ruleName: "enforce-aaa-structure";
24
+ readonly ruleName: "no-import-export-aliases";
25
+ }, {
26
+ readonly rule: Rule.RuleModule;
27
+ readonly ruleName: "no-import-export-extensions";
28
+ }, {
29
+ readonly rule: Rule.RuleModule;
30
+ readonly ruleName: "no-unused-exports";
25
31
  }, {
26
32
  readonly rule: Rule.RuleModule;
27
33
  readonly ruleName: "no-reexports-outside-barrels";
@@ -43,12 +49,6 @@ declare const customRules: readonly [{
43
49
  }, {
44
50
  readonly rule: Rule.RuleModule;
45
51
  readonly ruleName: "prefer-vi-mocked-import";
46
- }, {
47
- readonly rule: Rule.RuleModule;
48
- readonly ruleName: "prefer-vitest-incremental-casts";
49
- }, {
50
- readonly rule: Rule.RuleModule;
51
- readonly ruleName: "require-aaa-sections";
52
52
  }, {
53
53
  readonly rule: Rule.RuleModule;
54
54
  readonly ruleName: "require-act-result-capture";
@@ -1,4 +1,4 @@
1
- import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
1
+ import { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
2
2
  /** Source-of-truth registry for all package-owned custom rules. */
3
3
  const customRules = [
4
4
  {
@@ -13,14 +13,22 @@ const customRules = [
13
13
  rule: consistentBarrelFilesRule,
14
14
  ruleName: "consistent-barrel-files",
15
15
  },
16
- {
17
- rule: enforceAaaPhasePurityRule,
18
- ruleName: "enforce-aaa-phase-purity",
19
- },
20
16
  {
21
17
  rule: enforceAaaStructureRule,
22
18
  ruleName: "enforce-aaa-structure",
23
19
  },
20
+ {
21
+ rule: noImportExportAliasesRule,
22
+ ruleName: "no-import-export-aliases",
23
+ },
24
+ {
25
+ rule: noImportExportExtensionsRule,
26
+ ruleName: "no-import-export-extensions",
27
+ },
28
+ {
29
+ rule: noUnusedExportsRule,
30
+ ruleName: "no-unused-exports",
31
+ },
24
32
  {
25
33
  rule: noReexportsOutsideBarrelsRule,
26
34
  ruleName: "no-reexports-outside-barrels",
@@ -49,14 +57,6 @@ const customRules = [
49
57
  rule: preferViMockedImportRule,
50
58
  ruleName: "prefer-vi-mocked-import",
51
59
  },
52
- {
53
- rule: preferVitestIncrementalCastsRule,
54
- ruleName: "prefer-vitest-incremental-casts",
55
- },
56
- {
57
- rule: requireAaaSectionsRule,
58
- ruleName: "require-aaa-sections",
59
- },
60
60
  {
61
61
  rule: requireActResultCaptureRule,
62
62
  ruleName: "require-act-result-capture",
@@ -71,4 +71,4 @@ const customRules = [
71
71
  },
72
72
  ];
73
73
  export { customRules };
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2N1c3RvbS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixrQ0FBa0MsRUFDbEMseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLGdDQUFnQyxFQUNoQyxzQkFBc0IsRUFDdEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLFdBQVcsQ0FBQztBQVduQixtRUFBbUU7QUFDbkUsTUFBTSxXQUFXLEdBQUc7SUFDbEI7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRDtRQUNFLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsUUFBUSxFQUFFLDJCQUEyQjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFFBQVEsRUFBRSwwQkFBMEI7S0FDckM7SUFDRDtRQUNFLElBQUksRUFBRSx1QkFBdUI7UUFDN0IsUUFBUSxFQUFFLHVCQUF1QjtLQUNsQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDZCQUE2QjtRQUNuQyxRQUFRLEVBQUUsOEJBQThCO0tBQ3pDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUseUJBQXlCO1FBQy9CLFFBQVEsRUFBRSx5QkFBeUI7S0FDcEM7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLHdCQUF3QjtLQUNuQztJQUNEO1FBQ0UsSUFBSSxFQUFFLGtDQUFrQztRQUN4QyxRQUFRLEVBQUUsMEJBQTBCO0tBQ3JDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsMEJBQTBCO1FBQ2hDLFFBQVEsRUFBRSwwQkFBMEI7S0FDckM7SUFDRDtRQUNFLElBQUksRUFBRSxtQkFBbUI7UUFDekIsUUFBUSxFQUFFLG1CQUFtQjtLQUM5QjtJQUNEO1FBQ0UsSUFBSSxFQUFFLHdCQUF3QjtRQUM5QixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsZ0NBQWdDO1FBQ3RDLFFBQVEsRUFBRSxpQ0FBaUM7S0FDNUM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxRQUFRLEVBQUUsNEJBQTRCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUM0QyxDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzUnVsZSxcbiAgcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vZG9tYWluXCI7XG5cbi8qKiBJbnRlcm5hbCByZWdpc3RyeSBlbnRyeSBmb3IgYSBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlLiAqL1xuaW50ZXJmYWNlIEN1c3RvbVJ1bGVFbnRyeSB7XG4gIC8qKiBFU0xpbnQgcnVsZSBpbXBsZW1lbnRhdGlvbi4gKi9cbiAgcnVsZTogUnVsZS5SdWxlTW9kdWxlO1xuXG4gIC8qKiBFU0xpbnQgcnVsZSBuYW1lIHdpdGhvdXQgdGhlIHBsdWdpbiBwcmVmaXguICovXG4gIHJ1bGVOYW1lOiBzdHJpbmc7XG59XG5cbi8qKiBTb3VyY2Utb2YtdHJ1dGggcmVnaXN0cnkgZm9yIGFsbCBwYWNrYWdlLW93bmVkIGN1c3RvbSBydWxlcy4gKi9cbmNvbnN0IGN1c3RvbVJ1bGVzID0gW1xuICB7XG4gICAgcnVsZTogYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwiYXNzZXJ0LWFjdHVhbC1leHBlY3RlZC1uYW1lc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUsXG4gICAgcnVsZU5hbWU6IFwiYmFycmVsLWZpbGVzLWV4cG9ydHMtb25seVwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSxcbiAgICBydWxlTmFtZTogXCJjb25zaXN0ZW50LWJhcnJlbC1maWxlc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogZW5mb3JjZUFhYVBoYXNlUHVyaXR5UnVsZSxcbiAgICBydWxlTmFtZTogXCJlbmZvcmNlLWFhYS1waGFzZS1wdXJpdHlcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IGVuZm9yY2VBYWFTdHJ1Y3R1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcImVuZm9yY2UtYWFhLXN0cnVjdHVyZVwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG4gICAgcnVsZU5hbWU6IFwic2luZ2xlLWxpbmUtanNkb2NcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgICBydWxlTmFtZTogXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVyVml0ZXN0SW5jcmVtZW50YWxDYXN0c1J1bGUsXG4gICAgcnVsZU5hbWU6IFwicHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0c1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWFhYS1zZWN0aW9uc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgICBydWxlTmFtZTogXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ3VzdG9tUnVsZUVudHJ5W107XG5cbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9O1xuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJ1bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwcGxpY2F0aW9uL2N1c3RvbS1ydWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHlCQUF5QixFQUN6Qiw0QkFBNEIsRUFDNUIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLHdCQUF3QixFQUN4Qix3QkFBd0IsRUFDeEIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMxQix3QkFBd0IsRUFDeEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLFdBQVcsQ0FBQztBQVduQixtRUFBbUU7QUFDbkUsTUFBTSxXQUFXLEdBQUc7SUFDbEI7UUFDRSxJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7SUFDRDtRQUNFLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsUUFBUSxFQUFFLDJCQUEyQjtLQUN0QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsdUJBQXVCO1FBQzdCLFFBQVEsRUFBRSx1QkFBdUI7S0FDbEM7SUFDRDtRQUNFLElBQUksRUFBRSx5QkFBeUI7UUFDL0IsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDRCQUE0QjtRQUNsQyxRQUFRLEVBQUUsNkJBQTZCO0tBQ3hDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSw2QkFBNkI7UUFDbkMsUUFBUSxFQUFFLDhCQUE4QjtLQUN6QztJQUNEO1FBQ0UsSUFBSSxFQUFFLHlCQUF5QjtRQUMvQixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxrQ0FBa0M7UUFDeEMsUUFBUSxFQUFFLDBCQUEwQjtLQUNyQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxRQUFRLEVBQUUsMEJBQTBCO0tBQ3JDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLFFBQVEsRUFBRSxtQkFBbUI7S0FDOUI7SUFDRDtRQUNFLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsUUFBUSxFQUFFLHlCQUF5QjtLQUNwQztJQUNEO1FBQ0UsSUFBSSxFQUFFLDJCQUEyQjtRQUNqQyxRQUFRLEVBQUUsNEJBQTRCO0tBQ3ZDO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsd0JBQXdCO1FBQzlCLFFBQVEsRUFBRSx3QkFBd0I7S0FDbkM7SUFDRDtRQUNFLElBQUksRUFBRSxzQkFBc0I7UUFDNUIsUUFBUSxFQUFFLHNCQUFzQjtLQUNqQztDQUM0QyxDQUFDO0FBRWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9kb21haW5cIjtcblxuLyoqIEludGVybmFsIHJlZ2lzdHJ5IGVudHJ5IGZvciBhIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGUuICovXG5pbnRlcmZhY2UgQ3VzdG9tUnVsZUVudHJ5IHtcbiAgLyoqIEVTTGludCBydWxlIGltcGxlbWVudGF0aW9uLiAqL1xuICBydWxlOiBSdWxlLlJ1bGVNb2R1bGU7XG5cbiAgLyoqIEVTTGludCBydWxlIG5hbWUgd2l0aG91dCB0aGUgcGx1Z2luIHByZWZpeC4gKi9cbiAgcnVsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqIFNvdXJjZS1vZi10cnV0aCByZWdpc3RyeSBmb3IgYWxsIHBhY2thZ2Utb3duZWQgY3VzdG9tIHJ1bGVzLiAqL1xuY29uc3QgY3VzdG9tUnVsZXMgPSBbXG4gIHtcbiAgICBydWxlOiBhc3NlcnRBY3R1YWxFeHBlY3RlZE5hbWVzUnVsZSxcbiAgICBydWxlTmFtZTogXCJhc3NlcnQtYWN0dWFsLWV4cGVjdGVkLW5hbWVzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSxcbiAgICBydWxlTmFtZTogXCJiYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5XCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcImNvbnNpc3RlbnQtYmFycmVsLWZpbGVzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgICBydWxlTmFtZTogXCJlbmZvcmNlLWFhYS1zdHJ1Y3R1cmVcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW1wb3J0RXhwb3J0QWxpYXNlc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiBub0ltcG9ydEV4cG9ydEV4dGVuc2lvbnNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcIm5vLWltcG9ydC1leHBvcnQtZXh0ZW5zaW9uc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9VbnVzZWRFeHBvcnRzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby11bnVzZWQtZXhwb3J0c1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8tcmVleHBvcnRzLW91dHNpZGUtYmFycmVsc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgICBydWxlTmFtZTogXCJuby1tdWx0aXBsZS1kZWNsYXJhdG9yc1wiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcHJlZmVySW50ZXJmYWNlVHlwZXNSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInByZWZlci1pbnRlcmZhY2UtdHlwZXNcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IG5vSW50ZXJmYWNlTWVtYmVyRG9jdW1lbnRhdGlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwibm8taW50ZXJmYWNlLW1lbWJlci1kb2NzXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgICBydWxlTmFtZTogXCJyZXF1aXJlLWV4YW1wbGUtbGFuZ3VhZ2VcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHNpbmdsZUxpbmVKc2RvY1J1bGUsXG4gICAgcnVsZU5hbWU6IFwic2luZ2xlLWxpbmUtanNkb2NcIixcbiAgfSxcbiAge1xuICAgIHJ1bGU6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcbiAgICBydWxlTmFtZTogXCJwcmVmZXItdmktbW9ja2VkLWltcG9ydFwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICAgIHJ1bGVOYW1lOiBcInJlcXVpcmUtYWN0LXJlc3VsdC1jYXB0dXJlXCIsXG4gIH0sXG4gIHtcbiAgICBydWxlOiByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gICAgcnVsZU5hbWU6IFwicmVxdWlyZS10ZXN0LWNvbXBhbmlvblwiLFxuICB9LFxuICB7XG4gICAgcnVsZTogc2luZ2xlQWN0U3RhdGVtZW50UnVsZSxcbiAgICBydWxlTmFtZTogXCJzaW5nbGUtYWN0LXN0YXRlbWVudFwiLFxuICB9LFxuXSBhcyBjb25zdCBzYXRpc2ZpZXMgcmVhZG9ubHkgQ3VzdG9tUnVsZUVudHJ5W107XG5cbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH07XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9O1xuIl19
@@ -1,4 +1,4 @@
1
- export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
1
+ export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
2
2
  export { customRules } from "./custom-rules.js";
3
3
  export type { CustomRuleEntry } from "./custom-rules.js";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,gCAAgC,EAChC,sBAAsB,EACtB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/application/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,4BAA4B,EAC5B,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,3 +1,3 @@
1
- export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaPhasePurityRule, enforceAaaStructureRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, preferInterfaceTypesRule, preferViMockedImportRule, preferVitestIncrementalCastsRule, requireAaaSectionsRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
1
+ export { assertActualExpectedNamesRule, barrelFilesExportsOnlyRule, consistentBarrelFilesRule, enforceAaaStructureRule, noImportExportAliasesRule, noImportExportExtensionsRule, noInterfaceMemberDocumentationRule, noMultipleDeclaratorsRule, noReexportsOutsideBarrelsRule, noUnusedExportsRule, preferInterfaceTypesRule, preferViMockedImportRule, requireActResultCaptureRule, requireExampleLanguageRule, requireTestCompanionRule, singleActStatementRule, singleLineJsdocRule, } from "../domain/index.js";
2
2
  export { customRules } from "./custom-rules.js";
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsa0NBQWtDLEVBQ2xDLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0Isd0JBQXdCLEVBQ3hCLHdCQUF3QixFQUN4QixnQ0FBZ0MsRUFDaEMsc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhUGhhc2VQdXJpdHlSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICBwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzUnVsZSxcbiAgcmVxdWlyZUFhYVNlY3Rpb25zUnVsZSxcbiAgcmVxdWlyZUFjdFJlc3VsdENhcHR1cmVSdWxlLFxuICByZXF1aXJlRXhhbXBsZUxhbmd1YWdlUnVsZSxcbiAgcmVxdWlyZVRlc3RDb21wYW5pb25SdWxlLFxuICBzaW5nbGVBY3RTdGF0ZW1lbnRSdWxlLFxuICBzaW5nbGVMaW5lSnNkb2NSdWxlLFxufSBmcm9tIFwiLi4vZG9tYWluXCI7XG5leHBvcnQgeyBjdXN0b21SdWxlcyB9IGZyb20gXCIuL2N1c3RvbS1ydWxlc1wiO1xuZXhwb3J0IHR5cGUgeyBDdXN0b21SdWxlRW50cnkgfSBmcm9tIFwiLi9jdXN0b20tcnVsZXNcIjtcbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix5QkFBeUIsRUFDekIsNEJBQTRCLEVBQzVCLGtDQUFrQyxFQUNsQyx5QkFBeUIsRUFDekIsNkJBQTZCLEVBQzdCLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQiwwQkFBMEIsRUFDMUIsd0JBQXdCLEVBQ3hCLHNCQUFzQixFQUN0QixtQkFBbUIsR0FDcEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHtcbiAgYXNzZXJ0QWN0dWFsRXhwZWN0ZWROYW1lc1J1bGUsXG4gIGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLFxuICBjb25zaXN0ZW50QmFycmVsRmlsZXNSdWxlLFxuICBlbmZvcmNlQWFhU3RydWN0dXJlUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRBbGlhc2VzUnVsZSxcbiAgbm9JbXBvcnRFeHBvcnRFeHRlbnNpb25zUnVsZSxcbiAgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSxcbiAgbm9NdWx0aXBsZURlY2xhcmF0b3JzUnVsZSxcbiAgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUsXG4gIG5vVW51c2VkRXhwb3J0c1J1bGUsXG4gIHByZWZlckludGVyZmFjZVR5cGVzUnVsZSxcbiAgcHJlZmVyVmlNb2NrZWRJbXBvcnRSdWxlLFxuICByZXF1aXJlQWN0UmVzdWx0Q2FwdHVyZVJ1bGUsXG4gIHJlcXVpcmVFeGFtcGxlTGFuZ3VhZ2VSdWxlLFxuICByZXF1aXJlVGVzdENvbXBhbmlvblJ1bGUsXG4gIHNpbmdsZUFjdFN0YXRlbWVudFJ1bGUsXG4gIHNpbmdsZUxpbmVKc2RvY1J1bGUsXG59IGZyb20gXCIuLi9kb21haW5cIjtcbmV4cG9ydCB7IGN1c3RvbVJ1bGVzIH0gZnJvbSBcIi4vY3VzdG9tLXJ1bGVzXCI7XG5leHBvcnQgdHlwZSB7IEN1c3RvbVJ1bGVFbnRyeSB9IGZyb20gXCIuL2N1c3RvbS1ydWxlc1wiO1xuIl19
@@ -1,11 +1,11 @@
1
- /** Default barrel basenames used when no options are supplied. */
2
- declare const DEFAULT_ALLOWED_BARREL_NAMES: string[];
3
1
  /** Captures whether a directory contains barrel and non-barrel modules. */
4
2
  interface DirectoryBarrelState {
5
3
  /** Whether the directory includes an allowed barrel file. */
6
4
  hasAllowedBarrelFile: boolean;
7
5
  /** Whether the directory includes any non-barrel module file. */
8
6
  hasNonBarrelModuleFile: boolean;
7
+ /** The first allowed barrel file discovered in the directory. */
8
+ primaryAllowedBarrelFile: string | undefined;
9
9
  /** The first non-barrel module file discovered in the directory. */
10
10
  primaryNonBarrelModuleFile: string | undefined;
11
11
  }
@@ -51,6 +51,5 @@ declare const isBarrelFile: (filename: string, allowedBarrelNames: ReadonlySet<s
51
51
  * ```
52
52
  */
53
53
  declare const getDirectoryBarrelState: (directory: string, allowedBarrelNames: ReadonlySet<string>) => DirectoryBarrelState;
54
- export { DEFAULT_ALLOWED_BARREL_NAMES, getDirectoryBarrelState, isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, };
55
- export type { DirectoryBarrelState };
54
+ export { getDirectoryBarrelState, isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, };
56
55
  //# sourceMappingURL=barrel-file-utilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"barrel-file-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts"],"names":[],"mappings":"AAIA,kEAAkE;AAClE,QAAA,MAAM,4BAA4B,UAAY,CAAC;AAe/C,2EAA2E;AAC3E,UAAU,oBAAoB;IAC5B,6DAA6D;IAC7D,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,sBAAsB,EAAE,OAAO,CAAC;IAChC,oEAAoE;IACpE,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAUD;;;;;;;;GAQG;AACH,QAAA,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,MAAM,EAW3D,CAAC;AAkDF;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,OAKhD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,GAChB,UAAU,MAAM,EAChB,oBAAoB,WAAW,CAAC,MAAM,CAAC,KACtC,OAIF,CAAC;AA2BF;;;;;;;;;GASG;AACH,QAAA,MAAM,uBAAuB,GAC3B,WAAW,MAAM,EACjB,oBAAoB,WAAW,CAAC,MAAM,CAAC,KACtC,oBAaF,CAAC;AAEF,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,GAC5B,CAAC;AACF,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"barrel-file-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/barrel-file-utilities.ts"],"names":[],"mappings":"AAoBA,2EAA2E;AAC3E,UAAU,oBAAoB;IAC5B,6DAA6D;IAC7D,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iEAAiE;IACjE,sBAAsB,EAAE,OAAO,CAAC;IAChC,iEAAiE;IACjE,wBAAwB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,oEAAoE;IACpE,0BAA0B,EAAE,MAAM,GAAG,SAAS,CAAC;CAChD;AAUD;;;;;;;;GAQG;AACH,QAAA,MAAM,2BAA2B,GAAI,OAAO,OAAO,KAAG,MAAM,EAW3D,CAAC;AAkDF;;;;;;;;GAQG;AACH,QAAA,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,OAKhD,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,YAAY,GAChB,UAAU,MAAM,EAChB,oBAAoB,WAAW,CAAC,MAAM,CAAC,KACtC,OAIF,CAAC;AA2BF;;;;;;;;;GASG;AACH,QAAA,MAAM,uBAAuB,GAC3B,WAAW,MAAM,EACjB,oBAAoB,WAAW,CAAC,MAAM,CAAC,KACtC,oBAeF,CAAC;AAEF,OAAO,EACL,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,2BAA2B,GAC5B,CAAC"}
@@ -138,12 +138,14 @@ const getDirectoryModuleFiles = (directory) => {
138
138
  */
139
139
  const getDirectoryBarrelState = (directory, allowedBarrelNames) => {
140
140
  const moduleFiles = getDirectoryModuleFiles(directory);
141
+ const primaryAllowedBarrelFile = moduleFiles.find((entry) => allowedBarrelNames.has(entry.stem))?.name;
141
142
  const primaryNonBarrelModuleFile = moduleFiles.find((entry) => !allowedBarrelNames.has(entry.stem))?.name;
142
143
  return {
143
- hasAllowedBarrelFile: moduleFiles.some((entry) => allowedBarrelNames.has(entry.stem)),
144
+ hasAllowedBarrelFile: primaryAllowedBarrelFile !== void 0,
144
145
  hasNonBarrelModuleFile: primaryNonBarrelModuleFile !== void 0,
146
+ primaryAllowedBarrelFile,
145
147
  primaryNonBarrelModuleFile,
146
148
  };
147
149
  };
148
- export { DEFAULT_ALLOWED_BARREL_NAMES, getDirectoryBarrelState, isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, };
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmVsLWZpbGUtdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvYmFycmVsLWZpbGUtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkMsa0VBQWtFO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQyw2RUFBNkU7QUFDN0UsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEUsa0VBQWtFO0FBQ2xFLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDO0FBb0JGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWMsRUFBWSxFQUFFO0lBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQW1CLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7U0FDN0QsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUIsTUFBTSxDQUFDLENBQUMs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QUFZLEVBQ1osb0JBQW9CLEVBQ3BCLDJCQUEyQixHQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGRpclN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xyXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XHJcbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcclxuXHJcbi8qKiBEZWZhdWx0IGJhcnJlbCBiYXNlbmFtZXMgdXNlZCB3aGVuIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLiAqL1xyXG5jb25zdCBERUZBVUxUX0FMTE9XRURfQkFSUkVMX05BTUVTID0gW1wiaW5kZXhcIl07XHJcbi8qKiBEZWNsYXJhdGlvbi1vbmx5IHN1ZmZpeGVzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgZHVyaW5nIG1vZHVsZSBjaGVja3MuICovXHJcbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfU1VGRklYRVMgPSBbXCIuZC5jdHNcIiwgXCIuZC5tdHNcIiwgXCIuZC50c1wiXTtcclxuLyoqIE1vZHVsZSBzdWZmaXhlcyB0aGF0IHBhcnRpY2lwYXRlIGluIGJhcnJlbC1maWxlIGV2YWx1YXRpb24uICovXHJcbmNvbnN0IE1PRFVMRV9GSUxFX1NVRkZJWEVTID0gW1xyXG4gIFwiLmNqc1wiLFxyXG4gIFwiLmN0c1wiLFxyXG4gIFwiLmpzXCIsXHJcbiAgXCIuanN4XCIsXHJcbiAgXCIubWpzXCIsXHJcbiAgXCIubXRzXCIsXHJcbiAgXCIudHNcIixcclxuICBcIi50c3hcIixcclxuXTtcclxuXHJcbi8qKiBDYXB0dXJlcyB3aGV0aGVyIGEgZGlyZWN0b3J5IGNvbnRhaW5zIGJhcnJlbCBhbmQgbm9uLWJhcnJlbCBtb2R1bGVzLiAqL1xyXG5pbnRlcmZhY2UgRGlyZWN0b3J5QmFycmVsU3RhdGUge1xyXG4gIC8qKiBXaGV0aGVyIHRoZSBkaXJlY3RvcnkgaW5jbHVkZXMgYW4gYWxsb3dlZCBiYXJyZWwgZmlsZS4gKi9cclxuICBoYXNBbGxvd2VkQmFycmVsRmlsZTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciB0aGUgZGlyZWN0b3J5IGluY2x1ZGVzIGFueSBub24tYmFycmVsIG1vZHVsZSBmaWxlLiAqL1xyXG4gIGhhc05vbkJhcnJlbE1vZHVsZUZpbGU6IGJvb2xlYW47XHJcbiAgLyoqIFRoZSBmaXJzdCBub24tYmFycmVsIG1vZHVsZSBmaWxlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeS4gKi9cclxuICBwcmltYXJ5Tm9uQmFycmVsTW9kdWxlRmlsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogU3RvcmVzIHRoZSBtb2R1bGUgZmlsZW5hbWUgYW5kIGRlcml2ZWQgc3RlbSBmb3IgYSBkaXJlY3RvcnkgZW50cnkuICovXHJcbmludGVyZmFjZSBEaXJlY3RvcnlNb2R1bGVGaWxlIHtcclxuICAvKiogVGhlIG9yaWdpbmFsIGZpbGVuYW1lIG9mIHRoZSBtb2R1bGUgZW50cnkuICovXHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIC8qKiBUaGUgZmlsZW5hbWUgc3RlbSBhZnRlciBzdHJpcHBpbmcgdGhlIG1vZHVsZSBzdWZmaXguICovXHJcbiAgc3RlbTogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogTm9ybWFsaXplcyBhbGxvd2VkIGJhcnJlbCBuYW1lcyBmcm9tIHJhdyBydWxlIGlucHV0LlxyXG4gKiBAcGFyYW0gdmFsdWUgUmF3IGFsbG93ZWQgYmFycmVsIG5hbWVzIGlucHV0LlxyXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBiYXJyZWwgbmFtZXMuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbmFtZXMgPSBub3JtYWxpemVBbGxvd2VkQmFycmVsTmFtZXMoW1wiaW5kZXhcIiwgXCJiYXJyZWxcIl0pO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyA9ICh2YWx1ZTogdW5rbm93bik6IHN0cmluZ1tdID0+IHtcclxuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICByZXR1cm4gWy4uLkRFRkFVTFRfQUxMT1dFRF9CQVJSRUxfTkFNRVNdO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbmFtZXMgPSB2YWx1ZVxyXG4gICAgLmZpbHRlcigoZW50cnkpOiBlbnRyeSBpcyBzdHJpbmcgPT4gdHlwZW9mIGVudHJ5ID09PSBcInN0cmluZ1wiKVxyXG4gICAgLm1hcCgoZW50cnkpID0+IGVudHJ5LnRyaW0oKSlcclxuICAgIC5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5sZW5ndGggPiAwKTtcclxuXHJcbiAgcmV0dXJuIG5hbWVzLmxlbmd0aCA9PT0gMCA/IFsuLi5ERUZBVUxUX0FMTE9XRURfQkFSUkVMX05BTUVTXSA6IG5hbWVzO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIENvbnZlcnRzIGFuIGFic29sdXRlIGZpbGVuYW1lIGludG8gYSByZXBvLXJlbGF0aXZlIHBhdGguXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBBYnNvbHV0ZSBmaWxlbmFtZSB0byBjb252ZXJ0LlxyXG4gKiBAcmV0dXJucyBUaGUgcmVwby1yZWxhdGl2ZSBwYXRoIHdoZW4gdGhlIGZpbGUgaXMgaW5zaWRlIHRoZSByZXBvLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlbGF0aXZlUGF0aCA9IGdldFJlcG9SZWxhdGl2ZVBhdGgoYCR7Y3dkKCl9L3NyYy9pbmRleC50c2ApO1xyXG4gKiBgYGBcclxuICovXHJcbmNvbnN0IGdldFJlcG9SZWxhdGl2ZVBhdGggPSAoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgaWYgKGZpbGVuYW1lLmxlbmd0aCA9PT0gMCB8fCAhcGF0aC5pc0Fic29sdXRlKGZpbGVuYW1lKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGNvbnN0IHJlbGF0aXZlUGF0aCA9IHBhdGgucmVsYXRpdmUoY3dkKCksIGZpbGVuYW1lKTtcclxuXHJcbiAgaWYgKHJlbGF0aXZlUGF0aC5zdGFydHNXaXRoKFwiLi5cIikgfHwgcGF0aC5pc0Fic29sdXRlKHJlbGF0aXZlUGF0aCkpIHtcclxuICAgIHJldHVybiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gcmVsYXRpdmVQYXRoLnNwbGl0KHBhdGguc2VwKS5qb2luKFwiL1wiKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXJpdmVzIHRoZSBtb2R1bGUgc3RlbSBmb3IgYSBzdXBwb3J0ZWQgc291cmNlIGZpbGUuXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUaGUgbW9kdWxlIHN0ZW0gd2hlbiB0aGUgZmlsZW5hbWUgaXMgbGludGFibGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3Qgc3RlbSA9IGdldE1vZHVsZUZpbGVTdGVtKFwiaW5kZXgudHNcIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0TW9kdWxlRmlsZVN0ZW0gPSAoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XHJcbiAgY29uc3QgYmFzZW5hbWUgPSBwYXRoLmJhc2VuYW1lKGZpbGVuYW1lKTtcclxuXHJcbiAgaWYgKERFQ0xBUkFUSU9OX0ZJTEVfU1VGRklYRVMuc29tZSgoc3VmZml4KSA9PiBiYXNlbmFtZS5lbmRzV2l0aChzdWZmaXgpKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIGZvciAoY29uc3Qgc3VmZml4IG9mIE1PRFVMRV9GSUxFX1NVRkZJWEVTKSB7XHJcbiAgICBpZiAoYmFzZW5hbWUuZW5kc1dpdGgoc3VmZml4KSkge1xyXG4gICAgICByZXR1cm4gYmFzZW5hbWUuc2xpY2UoMCwgLXN1ZmZpeC5sZW5ndGgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHZvaWQgMDtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmaWxlbmFtZSBpcyBhIGxpbnRhYmxlIG1vZHVsZSBmaWxlLlxyXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBmaWxlbmFtZSBiZWxvbmdzIHRvIGEgc3VwcG9ydGVkIG1vZHVsZSBpbnNpZGUgdGhlIHJlcG8uXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgbGludGFibGUgPSBpc0xpbnRhYmxlTW9kdWxlRmlsZShgJHtjd2QoKX0vc3JjL2luZGV4LnRzYCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgaXNMaW50YWJsZU1vZHVsZUZpbGUgPSAoZmlsZW5hbWU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xyXG4gIHJldHVybiAoXHJcbiAgICBnZXRSZXBvUmVsYXRpdmVQYXRoKGZpbGVuYW1lKSAhPT0gdm9pZCAwICYmXHJcbiAgICBnZXRNb2R1bGVGaWxlU3RlbShmaWxlbmFtZSkgIT09IHZvaWQgMFxyXG4gICk7XHJcbn07XHJcblxyXG4vKipcclxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZmlsZW5hbWUgbWF0Y2hlcyBhbiBhbGxvd2VkIGJhcnJlbCBuYW1lLlxyXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgdG8gaW5zcGVjdC5cclxuICogQHBhcmFtIGFsbG93ZWRCYXJyZWxOYW1lcyBBbGxvd2VkIGJhcnJlbCBuYW1lcyBmb3IgdGhlIHJ1bGUgcnVuLlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGZpbGVuYW1lIGlzIGEgYmFycmVsIGZpbGUuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgYmFycmVsID0gaXNCYXJyZWxGaWxlKGAke2N3ZCgpfS9zcmMvaW5kZXgudHNgLCBuZXcgU2V0KFtcImluZGV4XCJdKSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgaXNCYXJyZWxGaWxlID0gKFxyXG4gIGZpbGVuYW1lOiBzdHJpbmcsXHJcbiAgYWxsb3dlZEJhcnJlbE5hbWVzOiBSZWFkb25seVNldDxzdHJpbmc+LFxyXG4pOiBib29sZWFuID0+IHtcclxuICBjb25zdCBzdGVtID0gZ2V0TW9kdWxlRmlsZVN0ZW0oZmlsZW5hbWUpO1xyXG5cclxuICByZXR1cm4gc3RlbSAhPT0gdm9pZCAwICYmIGFsbG93ZWRCYXJyZWxOYW1lcy5oYXMoc3RlbSk7XHJcbn07XHJcblxyXG4vKipcclxuICogTGlzdHMgbW9kdWxlIGZpbGVzIGluIGEgZGlyZWN0b3J5IHdpdGggdGhlaXIgZGVyaXZlZCBzdGVtcy5cclxuICogQHBhcmFtIGRpcmVjdG9yeSBEaXJlY3RvcnkgdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgVGhlIHNvcnRlZCBtb2R1bGUgZmlsZXMgZm9yIHRoZSBkaXJlY3RvcnkuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgZmlsZXMgPSBnZXREaXJlY3RvcnlNb2R1bGVGaWxlcyhgJHtjd2QoKX0vc3JjYCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0RGlyZWN0b3J5TW9kdWxlRmlsZXMgPSAoZGlyZWN0b3J5OiBzdHJpbmcpOiBEaXJlY3RvcnlNb2R1bGVGaWxlW10gPT4ge1xyXG4gIHRyeSB7XHJcbiAgICByZXR1cm4gcmVhZGRpclN5bmMoZGlyZWN0b3J5LCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSlcclxuICAgICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5LmlzRmlsZSgpKVxyXG4gICAgICAubWFwKChlbnRyeSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHN0ZW0gPSBnZXRNb2R1bGVGaWxlU3RlbShlbnRyeS5uYW1lKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHN0ZW0gPT09IHZvaWQgMCA/IHZvaWQgMCA6IHsgbmFtZTogZW50cnkubmFtZSwgc3RlbSB9O1xyXG4gICAgICB9KVxyXG4gICAgICAuZmlsdGVyKChlbnRyeSk6IGVudHJ5IGlzIERpcmVjdG9yeU1vZHVsZUZpbGUgPT4gZW50cnkgIT09IHZvaWQgMClcclxuICAgICAgLnRvU29ydGVkKChsZWZ0LCByaWdodCkgPT4gbGVmdC5uYW1lLmxvY2FsZUNvbXBhcmUocmlnaHQubmFtZSkpO1xyXG4gIH0gY2F0Y2gge1xyXG4gICAgcmV0dXJuIFtdO1xyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBCdWlsZHMgYmFycmVsLXJlbGF0ZWQgc3RhdGUgZm9yIGEgZGlyZWN0b3J5LlxyXG4gKiBAcGFyYW0gZGlyZWN0b3J5IERpcmVjdG9yeSB0byBpbnNwZWN0LlxyXG4gKiBAcGFyYW0gYWxsb3dlZEJhcnJlbE5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIGZvciB0aGUgcnVsZSBydW4uXHJcbiAqIEByZXR1cm5zIFRoZSBkZXJpdmVkIGJhcnJlbCBzdGF0ZSBmb3IgdGhlIGRpcmVjdG9yeS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdGF0ZSA9IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlKGAke2N3ZCgpfS9zcmNgLCBuZXcgU2V0KFtcImluZGV4XCJdKSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0RGlyZWN0b3J5QmFycmVsU3RhdGUgPSAoXHJcbiAgZGlyZWN0b3J5OiBzdHJpbmcsXHJcbiAgYWxsb3dlZEJhcnJlbE5hbWVzOiBSZWFkb25seVNldDxzdHJpbmc+LFxyXG4pOiBEaXJlY3RvcnlCYXJyZWxTdGF0ZSA9PiB7XHJcbiAgY29uc3QgbW9kdWxlRmlsZXMgPSBnZXREaXJlY3RvcnlNb2R1bGVGaWxlcyhkaXJlY3RvcnkpO1xyXG4gIGNvbnN0IHByaW1hcnlOb25CYXJyZWxNb2R1bGVGaWxlID0gbW9kdWxlRmlsZXMuZmluZChcclxuICAgIChlbnRyeSkgPT4gIWFsbG93ZWRCYXJyZWxOYW1lcy5oYXMoZW50cnkuc3RlbSksXHJcbiAgKT8ubmFtZTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGhhc0FsbG93ZWRCYXJyZWxGaWxlOiBtb2R1bGVGaWxlcy5zb21lKChlbnRyeSkgPT5cclxuICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzLmhhcyhlbnRyeS5zdGVtKSxcclxuICAgICksXHJcbiAgICBoYXNOb25CYXJyZWxNb2R1bGVGaWxlOiBwcmltYXJ5Tm9uQmFycmVsTW9kdWxlRmlsZSAhPT0gdm9pZCAwLFxyXG4gICAgcHJpbWFyeU5vbkJhcnJlbE1vZHVsZUZpbGUsXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCB7XHJcbiAgREVGQVVMVF9BTExPV0VEX0JBUlJFTF9OQU1FUyxcclxuICBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZSxcclxuICBpc0JhcnJlbEZpbGUsXHJcbiAgaXNMaW50YWJsZU1vZHVsZUZpbGUsXHJcbiAgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzLFxyXG59O1xyXG5leHBvcnQgdHlwZSB7IERpcmVjdG9yeUJhcnJlbFN0YXRlIH07XHJcbiJdfQ==
150
+ export { getDirectoryBarrelState, isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, };
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFycmVsLWZpbGUtdXRpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvYmFycmVsLWZpbGUtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdEMsT0FBTyxJQUFJLE1BQU0sV0FBVyxDQUFDO0FBQzdCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFbkMsa0VBQWtFO0FBQ2xFLE1BQU0sNEJBQTRCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUMvQyw2RUFBNkU7QUFDN0UsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDaEUsa0VBQWtFO0FBQ2xFLE1BQU0sb0JBQW9CLEdBQUc7SUFDM0IsTUFBTTtJQUNOLE1BQU07SUFDTixLQUFLO0lBQ0wsTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sS0FBSztJQUNMLE1BQU07Q0FDUCxDQUFDO0FBc0JGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEtBQWMsRUFBWSxFQUFFO0lBQy9ELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDMUIsT0FBTyxDQUFDLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsS0FBSztTQUNoQixNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQW1CLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUM7U0FDN0QsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUIsTUFBTSxDQUFDLENBQUMs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QUEwQjtLQUMzQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLDJCQUEyQixHQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGRpclN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xyXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XHJcbmltcG9ydCB7IGN3ZCB9IGZyb20gXCJub2RlOnByb2Nlc3NcIjtcclxuXHJcbi8qKiBEZWZhdWx0IGJhcnJlbCBiYXNlbmFtZXMgdXNlZCB3aGVuIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLiAqL1xyXG5jb25zdCBERUZBVUxUX0FMTE9XRURfQkFSUkVMX05BTUVTID0gW1wiaW5kZXhcIl07XHJcbi8qKiBEZWNsYXJhdGlvbi1vbmx5IHN1ZmZpeGVzIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQgZHVyaW5nIG1vZHVsZSBjaGVja3MuICovXHJcbmNvbnN0IERFQ0xBUkFUSU9OX0ZJTEVfU1VGRklYRVMgPSBbXCIuZC5jdHNcIiwgXCIuZC5tdHNcIiwgXCIuZC50c1wiXTtcclxuLyoqIE1vZHVsZSBzdWZmaXhlcyB0aGF0IHBhcnRpY2lwYXRlIGluIGJhcnJlbC1maWxlIGV2YWx1YXRpb24uICovXHJcbmNvbnN0IE1PRFVMRV9GSUxFX1NVRkZJWEVTID0gW1xyXG4gIFwiLmNqc1wiLFxyXG4gIFwiLmN0c1wiLFxyXG4gIFwiLmpzXCIsXHJcbiAgXCIuanN4XCIsXHJcbiAgXCIubWpzXCIsXHJcbiAgXCIubXRzXCIsXHJcbiAgXCIudHNcIixcclxuICBcIi50c3hcIixcclxuXTtcclxuXHJcbi8qKiBDYXB0dXJlcyB3aGV0aGVyIGEgZGlyZWN0b3J5IGNvbnRhaW5zIGJhcnJlbCBhbmQgbm9uLWJhcnJlbCBtb2R1bGVzLiAqL1xyXG5pbnRlcmZhY2UgRGlyZWN0b3J5QmFycmVsU3RhdGUge1xyXG4gIC8qKiBXaGV0aGVyIHRoZSBkaXJlY3RvcnkgaW5jbHVkZXMgYW4gYWxsb3dlZCBiYXJyZWwgZmlsZS4gKi9cclxuICBoYXNBbGxvd2VkQmFycmVsRmlsZTogYm9vbGVhbjtcclxuICAvKiogV2hldGhlciB0aGUgZGlyZWN0b3J5IGluY2x1ZGVzIGFueSBub24tYmFycmVsIG1vZHVsZSBmaWxlLiAqL1xyXG4gIGhhc05vbkJhcnJlbE1vZHVsZUZpbGU6IGJvb2xlYW47XHJcbiAgLyoqIFRoZSBmaXJzdCBhbGxvd2VkIGJhcnJlbCBmaWxlIGRpc2NvdmVyZWQgaW4gdGhlIGRpcmVjdG9yeS4gKi9cclxuICBwcmltYXJ5QWxsb3dlZEJhcnJlbEZpbGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAvKiogVGhlIGZpcnN0IG5vbi1iYXJyZWwgbW9kdWxlIGZpbGUgZGlzY292ZXJlZCBpbiB0aGUgZGlyZWN0b3J5LiAqL1xyXG4gIHByaW1hcnlOb25CYXJyZWxNb2R1bGVGaWxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKiBTdG9yZXMgdGhlIG1vZHVsZSBmaWxlbmFtZSBhbmQgZGVyaXZlZCBzdGVtIGZvciBhIGRpcmVjdG9yeSBlbnRyeS4gKi9cclxuaW50ZXJmYWNlIERpcmVjdG9yeU1vZHVsZUZpbGUge1xyXG4gIC8qKiBUaGUgb3JpZ2luYWwgZmlsZW5hbWUgb2YgdGhlIG1vZHVsZSBlbnRyeS4gKi9cclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBmaWxlbmFtZSBzdGVtIGFmdGVyIHN0cmlwcGluZyB0aGUgbW9kdWxlIHN1ZmZpeC4gKi9cclxuICBzdGVtOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBOb3JtYWxpemVzIGFsbG93ZWQgYmFycmVsIG5hbWVzIGZyb20gcmF3IHJ1bGUgaW5wdXQuXHJcbiAqIEBwYXJhbSB2YWx1ZSBSYXcgYWxsb3dlZCBiYXJyZWwgbmFtZXMgaW5wdXQuXHJcbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGJhcnJlbCBuYW1lcy5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBuYW1lcyA9IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyhbXCJpbmRleFwiLCBcImJhcnJlbFwiXSk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3Qgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzID0gKHZhbHVlOiB1bmtub3duKTogc3RyaW5nW10gPT4ge1xyXG4gIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcclxuICAgIHJldHVybiBbLi4uREVGQVVMVF9BTExPV0VEX0JBUlJFTF9OQU1FU107XHJcbiAgfVxyXG5cclxuICBjb25zdCBuYW1lcyA9IHZhbHVlXHJcbiAgICAuZmlsdGVyKChlbnRyeSk6IGVudHJ5IGlzIHN0cmluZyA9PiB0eXBlb2YgZW50cnkgPT09IFwic3RyaW5nXCIpXHJcbiAgICAubWFwKChlbnRyeSkgPT4gZW50cnkudHJpbSgpKVxyXG4gICAgLmZpbHRlcigoZW50cnkpID0+IGVudHJ5Lmxlbmd0aCA+IDApO1xyXG5cclxuICByZXR1cm4gbmFtZXMubGVuZ3RoID09PSAwID8gWy4uLkRFRkFVTFRfQUxMT1dFRF9CQVJSRUxfTkFNRVNdIDogbmFtZXM7XHJcbn07XHJcblxyXG4vKipcclxuICogQ29udmVydHMgYW4gYWJzb2x1dGUgZmlsZW5hbWUgaW50byBhIHJlcG8tcmVsYXRpdmUgcGF0aC5cclxuICogQHBhcmFtIGZpbGVuYW1lIEFic29sdXRlIGZpbGVuYW1lIHRvIGNvbnZlcnQuXHJcbiAqIEByZXR1cm5zIFRoZSByZXBvLXJlbGF0aXZlIHBhdGggd2hlbiB0aGUgZmlsZSBpcyBpbnNpZGUgdGhlIHJlcG8uXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcmVsYXRpdmVQYXRoID0gZ2V0UmVwb1JlbGF0aXZlUGF0aChgJHtjd2QoKX0vc3JjL2luZGV4LnRzYCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgZ2V0UmVwb1JlbGF0aXZlUGF0aCA9IChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuICBpZiAoZmlsZW5hbWUubGVuZ3RoID09PSAwIHx8ICFwYXRoLmlzQWJzb2x1dGUoZmlsZW5hbWUpKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcmVsYXRpdmVQYXRoID0gcGF0aC5yZWxhdGl2ZShjd2QoKSwgZmlsZW5hbWUpO1xyXG5cclxuICBpZiAocmVsYXRpdmVQYXRoLnN0YXJ0c1dpdGgoXCIuLlwiKSB8fCBwYXRoLmlzQWJzb2x1dGUocmVsYXRpdmVQYXRoKSkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHJldHVybiByZWxhdGl2ZVBhdGguc3BsaXQocGF0aC5zZXApLmpvaW4oXCIvXCIpO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERlcml2ZXMgdGhlIG1vZHVsZSBzdGVtIGZvciBhIHN1cHBvcnRlZCBzb3VyY2UgZmlsZS5cclxuICogQHBhcmFtIGZpbGVuYW1lIEZpbGVuYW1lIHRvIGluc3BlY3QuXHJcbiAqIEByZXR1cm5zIFRoZSBtb2R1bGUgc3RlbSB3aGVuIHRoZSBmaWxlbmFtZSBpcyBsaW50YWJsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdGVtID0gZ2V0TW9kdWxlRmlsZVN0ZW0oXCJpbmRleC50c1wiKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXRNb2R1bGVGaWxlU3RlbSA9IChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcclxuICBjb25zdCBiYXNlbmFtZSA9IHBhdGguYmFzZW5hbWUoZmlsZW5hbWUpO1xyXG5cclxuICBpZiAoREVDTEFSQVRJT05fRklMRV9TVUZGSVhFUy5zb21lKChzdWZmaXgpID0+IGJhc2VuYW1lLmVuZHNXaXRoKHN1ZmZpeCkpKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgZm9yIChjb25zdCBzdWZmaXggb2YgTU9EVUxFX0ZJTEVfU1VGRklYRVMpIHtcclxuICAgIGlmIChiYXNlbmFtZS5lbmRzV2l0aChzdWZmaXgpKSB7XHJcbiAgICAgIHJldHVybiBiYXNlbmFtZS5zbGljZSgwLCAtc3VmZml4Lmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdm9pZCAwO1xyXG59O1xyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgd2hldGhlciBhIGZpbGVuYW1lIGlzIGEgbGludGFibGUgbW9kdWxlIGZpbGUuXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGZpbGVuYW1lIGJlbG9uZ3MgdG8gYSBzdXBwb3J0ZWQgbW9kdWxlIGluc2lkZSB0aGUgcmVwby5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBsaW50YWJsZSA9IGlzTGludGFibGVNb2R1bGVGaWxlKGAke2N3ZCgpfS9zcmMvaW5kZXgudHNgKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBpc0xpbnRhYmxlTW9kdWxlRmlsZSA9IChmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGdldFJlcG9SZWxhdGl2ZVBhdGgoZmlsZW5hbWUpICE9PSB2b2lkIDAgJiZcclxuICAgIGdldE1vZHVsZUZpbGVTdGVtKGZpbGVuYW1lKSAhPT0gdm9pZCAwXHJcbiAgKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYSBmaWxlbmFtZSBtYXRjaGVzIGFuIGFsbG93ZWQgYmFycmVsIG5hbWUuXHJcbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSB0byBpbnNwZWN0LlxyXG4gKiBAcGFyYW0gYWxsb3dlZEJhcnJlbE5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIGZvciB0aGUgcnVsZSBydW4uXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZmlsZW5hbWUgaXMgYSBiYXJyZWwgZmlsZS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBiYXJyZWwgPSBpc0JhcnJlbEZpbGUoYCR7Y3dkKCl9L3NyYy9pbmRleC50c2AsIG5ldyBTZXQoW1wiaW5kZXhcIl0pKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBpc0JhcnJlbEZpbGUgPSAoXHJcbiAgZmlsZW5hbWU6IHN0cmluZyxcclxuICBhbGxvd2VkQmFycmVsTmFtZXM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXHJcbik6IGJvb2xlYW4gPT4ge1xyXG4gIGNvbnN0IHN0ZW0gPSBnZXRNb2R1bGVGaWxlU3RlbShmaWxlbmFtZSk7XHJcblxyXG4gIHJldHVybiBzdGVtICE9PSB2b2lkIDAgJiYgYWxsb3dlZEJhcnJlbE5hbWVzLmhhcyhzdGVtKTtcclxufTtcclxuXHJcbi8qKlxyXG4gKiBMaXN0cyBtb2R1bGUgZmlsZXMgaW4gYSBkaXJlY3Rvcnkgd2l0aCB0aGVpciBkZXJpdmVkIHN0ZW1zLlxyXG4gKiBAcGFyYW0gZGlyZWN0b3J5IERpcmVjdG9yeSB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUaGUgc29ydGVkIG1vZHVsZSBmaWxlcyBmb3IgdGhlIGRpcmVjdG9yeS5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBmaWxlcyA9IGdldERpcmVjdG9yeU1vZHVsZUZpbGVzKGAke2N3ZCgpfS9zcmNgKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXREaXJlY3RvcnlNb2R1bGVGaWxlcyA9IChkaXJlY3Rvcnk6IHN0cmluZyk6IERpcmVjdG9yeU1vZHVsZUZpbGVbXSA9PiB7XHJcbiAgdHJ5IHtcclxuICAgIHJldHVybiByZWFkZGlyU3luYyhkaXJlY3RvcnksIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KVxyXG4gICAgICAuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuaXNGaWxlKCkpXHJcbiAgICAgIC5tYXAoKGVudHJ5KSA9PiB7XHJcbiAgICAgICAgY29uc3Qgc3RlbSA9IGdldE1vZHVsZUZpbGVTdGVtKGVudHJ5Lm5hbWUpO1xyXG5cclxuICAgICAgICByZXR1cm4gc3RlbSA9PT0gdm9pZCAwID8gdm9pZCAwIDogeyBuYW1lOiBlbnRyeS5uYW1lLCBzdGVtIH07XHJcbiAgICAgIH0pXHJcbiAgICAgIC5maWx0ZXIoKGVudHJ5KTogZW50cnkgaXMgRGlyZWN0b3J5TW9kdWxlRmlsZSA9PiBlbnRyeSAhPT0gdm9pZCAwKVxyXG4gICAgICAudG9Tb3J0ZWQoKGxlZnQsIHJpZ2h0KSA9PiBsZWZ0Lm5hbWUubG9jYWxlQ29tcGFyZShyaWdodC5uYW1lKSk7XHJcbiAgfSBjYXRjaCB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG59O1xyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyBiYXJyZWwtcmVsYXRlZCBzdGF0ZSBmb3IgYSBkaXJlY3RvcnkuXHJcbiAqIEBwYXJhbSBkaXJlY3RvcnkgRGlyZWN0b3J5IHRvIGluc3BlY3QuXHJcbiAqIEBwYXJhbSBhbGxvd2VkQmFycmVsTmFtZXMgQWxsb3dlZCBiYXJyZWwgbmFtZXMgZm9yIHRoZSBydWxlIHJ1bi5cclxuICogQHJldHVybnMgVGhlIGRlcml2ZWQgYmFycmVsIHN0YXRlIGZvciB0aGUgZGlyZWN0b3J5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHN0YXRlID0gZ2V0RGlyZWN0b3J5QmFycmVsU3RhdGUoYCR7Y3dkKCl9L3NyY2AsIG5ldyBTZXQoW1wiaW5kZXhcIl0pKTtcclxuICogYGBgXHJcbiAqL1xyXG5jb25zdCBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZSA9IChcclxuICBkaXJlY3Rvcnk6IHN0cmluZyxcclxuICBhbGxvd2VkQmFycmVsTmFtZXM6IFJlYWRvbmx5U2V0PHN0cmluZz4sXHJcbik6IERpcmVjdG9yeUJhcnJlbFN0YXRlID0+IHtcclxuICBjb25zdCBtb2R1bGVGaWxlcyA9IGdldERpcmVjdG9yeU1vZHVsZUZpbGVzKGRpcmVjdG9yeSk7XHJcbiAgY29uc3QgcHJpbWFyeUFsbG93ZWRCYXJyZWxGaWxlID0gbW9kdWxlRmlsZXMuZmluZCgoZW50cnkpID0+XHJcbiAgICBhbGxvd2VkQmFycmVsTmFtZXMuaGFzKGVudHJ5LnN0ZW0pLFxyXG4gICk/Lm5hbWU7XHJcbiAgY29uc3QgcHJpbWFyeU5vbkJhcnJlbE1vZHVsZUZpbGUgPSBtb2R1bGVGaWxlcy5maW5kKFxyXG4gICAgKGVudHJ5KSA9PiAhYWxsb3dlZEJhcnJlbE5hbWVzLmhhcyhlbnRyeS5zdGVtKSxcclxuICApPy5uYW1lO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgaGFzQWxsb3dlZEJhcnJlbEZpbGU6IHByaW1hcnlBbGxvd2VkQmFycmVsRmlsZSAhPT0gdm9pZCAwLFxyXG4gICAgaGFzTm9uQmFycmVsTW9kdWxlRmlsZTogcHJpbWFyeU5vbkJhcnJlbE1vZHVsZUZpbGUgIT09IHZvaWQgMCxcclxuICAgIHByaW1hcnlBbGxvd2VkQmFycmVsRmlsZSxcclxuICAgIHByaW1hcnlOb25CYXJyZWxNb2R1bGVGaWxlLFxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQge1xyXG4gIGdldERpcmVjdG9yeUJhcnJlbFN0YXRlLFxyXG4gIGlzQmFycmVsRmlsZSxcclxuICBpc0xpbnRhYmxlTW9kdWxlRmlsZSxcclxuICBub3JtYWxpemVBbGxvd2VkQmFycmVsTmFtZXMsXHJcbn07XHJcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"consistent-barrel-files-listeners.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AA0GpF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,IAAI,CAAC,WAAW,EACzB,UAAU,MAAM,EAChB,SAAS,0BAA0B,KAClC,IAAI,CAAC,YAYP,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"consistent-barrel-files-listeners.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AA0HpF;;;;;;;;;;GAUG;AACH,QAAA,MAAM,oBAAoB,GACxB,SAAS,IAAI,CAAC,WAAW,EACzB,UAAU,MAAM,EAChB,SAAS,0BAA0B,KAClC,IAAI,CAAC,YAYP,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- import { getDirectoryBarrelState, isBarrelFile } from "./barrel-file-utilities.js";
2
+ import { getDirectoryBarrelState } from "./barrel-file-utilities.js";
3
3
  import { shouldLintFile } from "./consistent-barrel-files-options.js";
4
4
  /**
5
5
  * Builds the enforcement listener for a file's directory.
@@ -19,9 +19,6 @@ const buildListenerForDirectory = (context, filename, options) => {
19
19
  directoryState.hasAllowedBarrelFile) {
20
20
  return {};
21
21
  }
22
- if (directoryState.primaryNonBarrelModuleFile !== path.basename(filename)) {
23
- return {};
24
- }
25
22
  return buildMissingListener(context, options.allowedNames);
26
23
  };
27
24
  /**
@@ -39,13 +36,26 @@ const buildForbiddenListener = (context, filename, options) => {
39
36
  const directory = path.dirname(filename);
40
37
  const directoryState = getDirectoryBarrelState(directory, options.allowedNamesSet);
41
38
  if (!directoryState.hasNonBarrelModuleFile ||
42
- !isBarrelFile(filename, options.allowedNamesSet)) {
39
+ directoryState.primaryAllowedBarrelFile === void 0) {
43
40
  return {};
44
41
  }
42
+ return buildForbiddenListenerFromName(context, directoryState.primaryAllowedBarrelFile);
43
+ };
44
+ /**
45
+ * Builds the listener that reports a forbidden barrel filename.
46
+ * @param context Rule execution context.
47
+ * @param forbiddenName Barrel filename to report.
48
+ * @returns The forbidden-barrel listener.
49
+ * @example
50
+ * ```typescript
51
+ * const listener = buildForbiddenListenerFromName(context, "index.ts");
52
+ * ```
53
+ */
54
+ const buildForbiddenListenerFromName = (context, forbiddenName) => {
45
55
  return {
46
56
  Program(node) {
47
57
  context.report({
48
- data: { name: path.basename(filename) },
58
+ data: { name: forbiddenName },
49
59
  messageId: "forbiddenBarrel",
50
60
  node,
51
61
  });
@@ -95,4 +105,4 @@ const buildListenerForFile = (context, filename, options) => {
95
105
  return buildListenerForDirectory(context, filename, options);
96
106
  };
97
107
  export { buildListenerForFile };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtbGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtbGlzdGVuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUk3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRW5FOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLHlCQUF5QixHQUFHLENBQ2hDLE9BQXlCLEVBQ3pCLFFBQWdCLEVBQ2hCLE9BQW1DLEVBQ2hCLEVBQUU7SUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FDNUMsU0FBUyxFQUNULE9BQU8sQ0FBQyxlQUFlLENBQ3hCLENBQUM7SUFFRixJQUNFLENBQUMsY0FBYyxDQUFDLHNCQUFzQjtRQUN0QyxjQUFjLENBQUMsb0JBQW9CLEVBQ25DLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQywwQkFBMEIsS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7UUFDMUUsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyxvQkFBb0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLHNCQUFzQixHQUFHLENBQzdCLE9BQXlCLEVBQ3pCLFFBQWdCLEVBQ2hCLE9BQW1DLEVBQ2hCLEVBQUU7SUFDckIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxNQUFNLGNBQWMsR0FBRyx1QkFBdUIsQ0FDNUMsU0FBUyxFQUNULE9BQU8sQ0FBQyxlQUFlLENBQ3hCLENBQUM7SUFFRixJQUNFLENBQUMsY0FBYyxDQUFDLHNCQUFzQjtRQUN0QyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUNoRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sQ0FBQyxJQUFJO1lBQ1YsT0FBTyxDQUFDLE1BQU0sQ0FBQztnQkFDYixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdkMsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUF5QixFQUN6QixLQUFlLEVBQ0ksRUFBRTtJQUNyQixPQUFPO1FBQ0wsT0FBTyxDQUFDLElBQUk7WUFDVixPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNiLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FDM0IsT0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBbUMsRUFDaEIsRUFBRTtJQUNyQixNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB0eXBlIHsgQ29uc2lzdGVudEJhcnJlbEZpbGVzU3RhdGUgfSBmcm9tIFwiLi9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy1vcHRpb25zXCI7XG5cbmltcG9ydCB7IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlLCBpc0JhcnJlbEZpbGUgfSBmcm9tIFwiLi9iYXJyZWwtZmlsZS11dGlsaXRpZXNcIjtcbmltcG9ydCB7IHNob3VsZExpbnRGaWxlIH0gZnJvbSBcIi4vY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtb3B0aW9uc1wiO1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgZW5mb3JjZW1lbnQgbGlzdGVuZXIgZm9yIGEgZmlsZSdzIGRpcmVjdG9yeS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgYmVpbmcgbGludGVkLlxuICogQHBhcmFtIG9wdGlvbnMgTm9ybWFsaXplZCBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgZGlyZWN0b3J5LWxldmVsIHJ1bGUgbGlzdGVuZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGlzdGVuZXIgPSBidWlsZExpc3RlbmVyRm9yRGlyZWN0b3J5KGNvbnRleHQsIGZpbGVuYW1lLCBzdGF0ZSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgYnVpbGRMaXN0ZW5lckZvckRpcmVjdG9yeSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogQ29uc2lzdGVudEJhcnJlbEZpbGVzU3RhdGUsXG4pOiBSdWxlLlJ1bGVMaXN0ZW5lciA9PiB7XG4gIGNvbnN0IGRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShmaWxlbmFtZSk7XG4gIGNvbnN0IGRpcmVjdG9yeVN0YXRlID0gZ2V0RGlyZWN0b3J5QmFycmVsU3RhdGUoXG4gICAgZGlyZWN0b3J5LFxuICAgIG9wdGlvbnMuYWxsb3dlZE5hbWVzU2V0LFxuICApO1xuXG4gIGlmIChcbiAgICAhZGlyZWN0b3J5U3RhdGUuaGFzTm9uQmFycmVsTW9kdWxlRmlsZSB8fFxuICAgIGRpcmVjdG9yeVN0YXRlLmhhc0FsbG93ZWRCYXJyZWxGaWxlXG4gICkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmIChkaXJlY3RvcnlTdGF0ZS5wcmltYXJ5Tm9uQmFycmVsTW9kdWxlRmlsZSAhPT0gcGF0aC5iYXNlbmFtZShmaWxlbmFtZSkpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4gYnVpbGRNaXNzaW5nTGlzdGVuZXIoY29udGV4dCwgb3B0aW9ucy5hbGxvd2VkTmFtZXMpO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGxpc3RlbmVyIHRoYXQgZm9yYmlkcyBiYXJyZWwgZmlsZXMgd2hlbiBlbmZvcmNlbWVudCBpcyBkaXNhYmxlZC5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgYmVpbmcgbGludGVkLlxuICogQHBhcmFtIG9wdGlvbnMgTm9ybWFsaXplZCBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgZm9yYmlkZGVuLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXIoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZEZvcmJpZGRlbkxpc3RlbmVyID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSxcbik6IFJ1bGUuUnVsZUxpc3RlbmVyID0+IHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lKGZpbGVuYW1lKTtcbiAgY29uc3QgZGlyZWN0b3J5U3RhdGUgPSBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZShcbiAgICBkaXJlY3RvcnksXG4gICAgb3B0aW9ucy5hbGxvd2VkTmFtZXNTZXQsXG4gICk7XG5cbiAgaWYgKFxuICAgICFkaXJlY3RvcnlTdGF0ZS5oYXNOb25CYXJyZWxNb2R1bGVGaWxlIHx8XG4gICAgIWlzQmFycmVsRmlsZShmaWxlbmFtZSwgb3B0aW9ucy5hbGxvd2VkTmFtZXNTZXQpXG4gICkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgUHJvZ3JhbShub2RlKTogdm9pZCB7XG4gICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgIGRhdGE6IHsgbmFtZTogcGF0aC5iYXNlbmFtZShmaWxlbmFtZSkgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImZvcmJpZGRlbkJhcnJlbFwiLFxuICAgICAgICBub2RlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHRoZSBsaXN0ZW5lciB0aGF0IHJlcG9ydHMgbWlzc2luZyBiYXJyZWwgZmlsZXMuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIHRvIHJlcG9ydC5cbiAqIEByZXR1cm5zIFRoZSBtaXNzaW5nLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkTWlzc2luZ0xpc3RlbmVyKGNvbnRleHQsIFtcImluZGV4XCJdKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZE1pc3NpbmdMaXN0ZW5lciA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbmFtZXM6IHN0cmluZ1tdLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIFByb2dyYW0obm9kZSk6IHZvaWQge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IG5hbWVzOiBuYW1lcy5qb2luKFwiLCBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcIm1pc3NpbmdCYXJyZWxcIixcbiAgICAgICAgbm9kZSxcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59O1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgbGlzdGVuZXIgdXNlZCBmb3IgYSBzaW5nbGUgZmlsZSBldmFsdWF0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSBiZWluZyBsaW50ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyBOb3JtYWxpemVkIHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBmaWxlLXNwZWNpZmljIHJ1bGUgbGlzdGVuZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGlzdGVuZXIgPSBidWlsZExpc3RlbmVyRm9yRmlsZShjb250ZXh0LCBmaWxlbmFtZSwgc3RhdGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkTGlzdGVuZXJGb3JGaWxlID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSxcbik6IFJ1bGUuUnVsZUxpc3RlbmVyID0+IHtcbiAgY29uc3QgeyBhbGxvd2VkTmFtZXMsIGVuZm9yY2UgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKCFzaG91bGRMaW50RmlsZShmaWxlbmFtZSwgYWxsb3dlZE5hbWVzKSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmICghZW5mb3JjZSkge1xuICAgIHJldHVybiBidWlsZEZvcmJpZGRlbkxpc3RlbmVyKGNvbnRleHQsIGZpbGVuYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZExpc3RlbmVyRm9yRGlyZWN0b3J5KGNvbnRleHQsIGZpbGVuYW1lLCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCB7IGJ1aWxkTGlzdGVuZXJGb3JGaWxlIH07XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtbGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9hcmNoaXRlY3R1cmUvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMvY29uc2lzdGVudC1iYXJyZWwtZmlsZXMtbGlzdGVuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUk3QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbkU7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0seUJBQXlCLEdBQUcsQ0FDaEMsT0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBbUMsRUFDaEIsRUFBRTtJQUNyQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sY0FBYyxHQUFHLHVCQUF1QixDQUM1QyxTQUFTLEVBQ1QsT0FBTyxDQUFDLGVBQWUsQ0FDeEIsQ0FBQztJQUVGLElBQ0UsQ0FBQyxjQUFjLENBQUMsc0JBQXNCO1FBQ3RDLGNBQWMsQ0FBQyxvQkFBb0IsRUFDbkMsQ0FBQztRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxzQkFBc0IsR0FBRyxDQUM3QixPQUF5QixFQUN6QixRQUFnQixFQUNoQixPQUFtQyxFQUNoQixFQUFFO0lBQ3JCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsTUFBTSxjQUFjLEdBQUcsdUJBQXVCLENBQzVDLFNBQVMsRUFDVCxPQUFPLENBQUMsZUFBZSxDQUN4QixDQUFDO0lBRUYsSUFDRSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0I7UUFDdEMsY0FBYyxDQUFDLHdCQUF3QixLQUFLLEtBQUssQ0FBQyxFQUNsRCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTyw4QkFBOEIsQ0FDbkMsT0FBTyxFQUNQLGNBQWMsQ0FBQyx3QkFBd0IsQ0FDeEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sOEJBQThCLEdBQUcsQ0FDckMsT0FBeUIsRUFDekIsYUFBcUIsRUFDRixFQUFFO0lBQ3JCLE9BQU87UUFDTCxPQUFPLENBQUMsSUFBSTtZQUNWLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQ2IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtnQkFDN0IsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUF5QixFQUN6QixLQUFlLEVBQ0ksRUFBRTtJQUNyQixPQUFPO1FBQ0wsT0FBTyxDQUFDLElBQUk7WUFDVixPQUFPLENBQUMsTUFBTSxDQUFDO2dCQUNiLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUNqQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsSUFBSTthQUNMLENBQUMsQ0FBQztRQUNMLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sb0JBQW9CLEdBQUcsQ0FDM0IsT0FBeUIsRUFDekIsUUFBZ0IsRUFDaEIsT0FBbUMsRUFDaEIsRUFBRTtJQUNyQixNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUUxQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE9BQU8sc0JBQXNCLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsT0FBTyx5QkFBeUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9ELENBQUMsQ0FBQztBQUVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgcGF0aCBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmltcG9ydCB0eXBlIHsgQ29uc2lzdGVudEJhcnJlbEZpbGVzU3RhdGUgfSBmcm9tIFwiLi9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy1vcHRpb25zXCI7XG5cbmltcG9ydCB7IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlIH0gZnJvbSBcIi4vYmFycmVsLWZpbGUtdXRpbGl0aWVzXCI7XG5pbXBvcnQgeyBzaG91bGRMaW50RmlsZSB9IGZyb20gXCIuL2NvbnNpc3RlbnQtYmFycmVsLWZpbGVzLW9wdGlvbnNcIjtcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGVuZm9yY2VtZW50IGxpc3RlbmVyIGZvciBhIGZpbGUncyBkaXJlY3RvcnkuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIGZpbGVuYW1lIEZpbGVuYW1lIGJlaW5nIGxpbnRlZC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIGRpcmVjdG9yeS1sZXZlbCBydWxlIGxpc3RlbmVyLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckRpcmVjdG9yeShjb250ZXh0LCBmaWxlbmFtZSwgc3RhdGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkTGlzdGVuZXJGb3JEaXJlY3RvcnkgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIGZpbGVuYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IENvbnNpc3RlbnRCYXJyZWxGaWxlc1N0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBjb25zdCBkaXJlY3RvcnkgPSBwYXRoLmRpcm5hbWUoZmlsZW5hbWUpO1xuICBjb25zdCBkaXJlY3RvcnlTdGF0ZSA9IGdldERpcmVjdG9yeUJhcnJlbFN0YXRlKFxuICAgIGRpcmVjdG9yeSxcbiAgICBvcHRpb25zLmFsbG93ZWROYW1lc1NldCxcbiAgKTtcblxuICBpZiAoXG4gICAgIWRpcmVjdG9yeVN0YXRlLmhhc05vbkJhcnJlbE1vZHVsZUZpbGUgfHxcbiAgICBkaXJlY3RvcnlTdGF0ZS5oYXNBbGxvd2VkQmFycmVsRmlsZVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4gYnVpbGRNaXNzaW5nTGlzdGVuZXIoY29udGV4dCwgb3B0aW9ucy5hbGxvd2VkTmFtZXMpO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgdGhlIGxpc3RlbmVyIHRoYXQgZm9yYmlkcyBiYXJyZWwgZmlsZXMgd2hlbiBlbmZvcmNlbWVudCBpcyBkaXNhYmxlZC5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgRmlsZW5hbWUgYmVpbmcgbGludGVkLlxuICogQHBhcmFtIG9wdGlvbnMgTm9ybWFsaXplZCBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgZm9yYmlkZGVuLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXIoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZEZvcmJpZGRlbkxpc3RlbmVyID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSxcbik6IFJ1bGUuUnVsZUxpc3RlbmVyID0+IHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gcGF0aC5kaXJuYW1lKGZpbGVuYW1lKTtcbiAgY29uc3QgZGlyZWN0b3J5U3RhdGUgPSBnZXREaXJlY3RvcnlCYXJyZWxTdGF0ZShcbiAgICBkaXJlY3RvcnksXG4gICAgb3B0aW9ucy5hbGxvd2VkTmFtZXNTZXQsXG4gICk7XG5cbiAgaWYgKFxuICAgICFkaXJlY3RvcnlTdGF0ZS5oYXNOb25CYXJyZWxNb2R1bGVGaWxlIHx8XG4gICAgZGlyZWN0b3J5U3RhdGUucHJpbWFyeUFsbG93ZWRCYXJyZWxGaWxlID09PSB2b2lkIDBcbiAgKSB7XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgcmV0dXJuIGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXJGcm9tTmFtZShcbiAgICBjb250ZXh0LFxuICAgIGRpcmVjdG9yeVN0YXRlLnByaW1hcnlBbGxvd2VkQmFycmVsRmlsZSxcbiAgKTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHRoZSBsaXN0ZW5lciB0aGF0IHJlcG9ydHMgYSBmb3JiaWRkZW4gYmFycmVsIGZpbGVuYW1lLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmb3JiaWRkZW5OYW1lIEJhcnJlbCBmaWxlbmFtZSB0byByZXBvcnQuXG4gKiBAcmV0dXJucyBUaGUgZm9yYmlkZGVuLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXJGcm9tTmFtZShjb250ZXh0LCBcImluZGV4LnRzXCIpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkRm9yYmlkZGVuTGlzdGVuZXJGcm9tTmFtZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZm9yYmlkZGVuTmFtZTogc3RyaW5nLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIFByb2dyYW0obm9kZSk6IHZvaWQge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IG5hbWU6IGZvcmJpZGRlbk5hbWUgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcImZvcmJpZGRlbkJhcnJlbFwiLFxuICAgICAgICBub2RlLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHRoZSBsaXN0ZW5lciB0aGF0IHJlcG9ydHMgbWlzc2luZyBiYXJyZWwgZmlsZXMuXG4gKiBAcGFyYW0gY29udGV4dCBSdWxlIGV4ZWN1dGlvbiBjb250ZXh0LlxuICogQHBhcmFtIG5hbWVzIEFsbG93ZWQgYmFycmVsIG5hbWVzIHRvIHJlcG9ydC5cbiAqIEByZXR1cm5zIFRoZSBtaXNzaW5nLWJhcnJlbCBsaXN0ZW5lci5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBsaXN0ZW5lciA9IGJ1aWxkTWlzc2luZ0xpc3RlbmVyKGNvbnRleHQsIFtcImluZGV4XCJdKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZE1pc3NpbmdMaXN0ZW5lciA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgbmFtZXM6IHN0cmluZ1tdLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICByZXR1cm4ge1xuICAgIFByb2dyYW0obm9kZSk6IHZvaWQge1xuICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICBkYXRhOiB7IG5hbWVzOiBuYW1lcy5qb2luKFwiLCBcIikgfSxcbiAgICAgICAgbWVzc2FnZUlkOiBcIm1pc3NpbmdCYXJyZWxcIixcbiAgICAgICAgbm9kZSxcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59O1xuXG4vKipcbiAqIEJ1aWxkcyB0aGUgbGlzdGVuZXIgdXNlZCBmb3IgYSBzaW5nbGUgZmlsZSBldmFsdWF0aW9uLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBmaWxlbmFtZSBGaWxlbmFtZSBiZWluZyBsaW50ZWQuXG4gKiBAcGFyYW0gb3B0aW9ucyBOb3JtYWxpemVkIHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBmaWxlLXNwZWNpZmljIHJ1bGUgbGlzdGVuZXIuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGlzdGVuZXIgPSBidWlsZExpc3RlbmVyRm9yRmlsZShjb250ZXh0LCBmaWxlbmFtZSwgc3RhdGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IGJ1aWxkTGlzdGVuZXJGb3JGaWxlID0gKFxuICBjb250ZXh0OiBSdWxlLlJ1bGVDb250ZXh0LFxuICBmaWxlbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBDb25zaXN0ZW50QmFycmVsRmlsZXNTdGF0ZSxcbik6IFJ1bGUuUnVsZUxpc3RlbmVyID0+IHtcbiAgY29uc3QgeyBhbGxvd2VkTmFtZXMsIGVuZm9yY2UgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKCFzaG91bGRMaW50RmlsZShmaWxlbmFtZSwgYWxsb3dlZE5hbWVzKSkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIGlmICghZW5mb3JjZSkge1xuICAgIHJldHVybiBidWlsZEZvcmJpZGRlbkxpc3RlbmVyKGNvbnRleHQsIGZpbGVuYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldHVybiBidWlsZExpc3RlbmVyRm9yRGlyZWN0b3J5KGNvbnRleHQsIGZpbGVuYW1lLCBvcHRpb25zKTtcbn07XG5cbmV4cG9ydCB7IGJ1aWxkTGlzdGVuZXJGb3JGaWxlIH07XG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"exports-only-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmJxC;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UAyCtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
1
+ {"version":3,"file":"exports-only-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/exports-only-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,IAAI,EAAE,MAAM,QAAQ,CAAC;AAmMxC;;;;;;GAMG;AACH,QAAA,MAAM,0BAA0B,EAAE,IAAI,CAAC,UA8CtC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC"}
@@ -1,4 +1,3 @@
1
- import { createRuleDocumentation } from "../../custom-rule-documentation.js";
2
1
  import { isBarrelFile, isLintableModuleFile, normalizeAllowedBarrelNames, } from "./barrel-file-utilities.js";
3
2
  /**
4
3
  * Builds normalized rule options from raw input.
@@ -34,6 +33,30 @@ const isTypeOnlyDeclaration = (value) => {
34
33
  return (declarationType === "TSInterfaceDeclaration" ||
35
34
  declarationType === "TSTypeAliasDeclaration");
36
35
  };
36
+ /**
37
+ * Determines whether an export declaration is type-only via specifiers.
38
+ * @param candidate Export declaration candidate to inspect.
39
+ * @returns True when the export declaration is type-only.
40
+ * @example
41
+ * ```typescript
42
+ * const ok = isTypeOnlyExport({ exportKind: "type", specifiers: [{ exportKind: "type" }] });
43
+ * ```
44
+ */
45
+ const isTypeOnlyExport = (candidate) => {
46
+ const specifiers = candidate.specifiers;
47
+ if (!Array.isArray(specifiers) || specifiers.length === 0) {
48
+ return false;
49
+ }
50
+ if (candidate.exportKind === "type") {
51
+ return true;
52
+ }
53
+ return specifiers.every((specifier) => {
54
+ if (specifier === null || typeof specifier !== "object") {
55
+ return false;
56
+ }
57
+ return (specifier.exportKind === "type");
58
+ });
59
+ };
37
60
  /**
38
61
  * Checks whether a statement is allowed in a barrel file.
39
62
  * @param statement Program statement node.
@@ -55,7 +78,10 @@ const isAllowedBarrelStatement = (statement) => {
55
78
  return isTypeOnlyDeclaration(declaration);
56
79
  }
57
80
  const source = statement.source ?? void 0;
58
- return source !== void 0;
81
+ if (source === void 0) {
82
+ return isTypeOnlyExport(statement);
83
+ }
84
+ return true;
59
85
  };
60
86
  /**
61
87
  * Builds a rule listener for the supplied file.
@@ -116,7 +142,12 @@ const barrelFilesExportsOnlyRule = {
116
142
  return buildListenerForFile(context, context.filename, getOptions(context.options));
117
143
  },
118
144
  meta: {
119
- docs: createRuleDocumentation("barrel-files-exports-only", "Require barrel files to only contain re-export statements or type-only declarations."),
145
+ defaultOptions: [{ allowedBarrelNames: ["index"] }],
146
+ docs: {
147
+ description: "Require barrel files to only contain re-export statements or type-only declarations.",
148
+ recommended: false,
149
+ url: "https://github.com/parloti/eslint-plugin/blob/main/docs/rules/barrel-files-exports-only.md",
150
+ },
120
151
  messages: {
121
152
  invalidBarrelContent: "Barrel files must only contain re-export statements or type-only declarations.",
122
153
  },
@@ -125,6 +156,7 @@ const barrelFilesExportsOnlyRule = {
125
156
  additionalProperties: false,
126
157
  properties: {
127
158
  allowedBarrelNames: {
159
+ description: "Allowed barrel basenames that should be treated as barrel files.",
128
160
  items: { type: "string" },
129
161
  minItems: 1,
130
162
  type: "array",
@@ -137,4 +169,4 @@ const barrelFilesExportsOnlyRule = {
137
169
  },
138
170
  };
139
171
  export { barrelFilesExportsOnlyRule };
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMxRSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQWdCakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixPQUEyQixFQUNFLEVBQUU7SUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBOEMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUNwRCxVQUFVLEVBQUUsa0JBQWtCLENBQy9CLENBQUM7SUFFRixPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFFLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUN4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUksS0FBc0MsQ0FBQyxJQUFJLENBQUM7SUFFckUsT0FBTyxDQUNMLGVBQWUsS0FBSyx3QkFBd0I7UUFDNUMsZUFBZSxLQUFLLHdCQUF3QixDQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLHdCQUF3QixHQUFHLENBQy9CLFNBQXNDLEVBQzdCLEVBQUU7SUFDWCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssc0JBQXNCLEVBQUUsQ0FBQztRQUM5QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssd0JBQXdCLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBRXBELElBQUksV0FBVyxLQUFLLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQztJQUUxQyxPQUFPLE1BQU0sS0FBSyxLQUFLLENBQUMsQ0FBQztBQUMzQixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxDQUMzQixPQUF5QixFQUN6QixRQUFnQixFQUNoQixPQUFvQyxFQUNqQixFQUFFO0lBQ3JCLElBQ0UsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFDL0IsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUN0RCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsT0FBTztRQUNMOzs7Ozs7O1dBT0c7UUFDSCxPQUFPLENBQUMsSUFBaUI7WUFDdkIsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUN6QyxPQUFPLENBQUMsTUFBTSxDQUFDO3dCQUNiLFNBQVMsRUFBRSxzQkFBc0I7d0JBQ2pDLElBQUksRUFBRSxTQUFTO3FCQUNoQixDQUFDLENBQUM7b0JBQ0gsTUFBTTtnQkFDUixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7OztHQU1HO0FBQ0gsTUFBTSwwQkFBMEIsR0FBb0I7SUFDbEQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsT0FBeUI7UUFDOUIsT0FBTyxvQkFBb0IsQ0FDekIsT0FBTyxFQUNQLE9BQU8sQ0FBQyxRQUFRLEVBQ2hCLFVBQVUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQzVCLENBQUM7SUFDSixDQUFDO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFLHVCQUF1QixDQUMzQiwyQkFBMkIsRUFDM0Isc0ZBQXNGLENBQ3ZGO1FBQ0QsUUFBUSxFQUFFO1lBQ1Isb0JBQW9CLEVBQ2xCLGdGQUFnRjtTQUNuRjtRQUNELE1BQU0sRUFBRTtZQUNOO2dCQUNFLG9CQUFvQixFQUFFLEtBQUs7Z0JBQzNCLFVBQVUsRUFBRTtvQkFDVixrQkFBa0IsRUFBRTt3QkFDbEIsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTt3QkFDekIsUUFBUSxFQUFFLENBQUM7d0JBQ1gsSUFBSSxFQUFFLE9BQU87cUJBQ2Q7aUJBQ0Y7Z0JBQ0QsSUFBSSxFQUFFLFFBQVE7YUFDZjtTQUNGO1FBQ0QsSUFBSSxFQUFFLFNBQVM7S0FDaEI7Q0FDRixDQUFDO0FBRUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFTVCwgUnVsZSB9IGZyb20gXCJlc2xpbnRcIjtcblxuaW1wb3J0IHR5cGUgeyBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5T3B0aW9ucyB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmltcG9ydCB7IGNyZWF0ZVJ1bGVEb2N1bWVudGF0aW9uIH0gZnJvbSBcIi4uLy4uL2N1c3RvbS1ydWxlLWRvY3VtZW50YXRpb25cIjtcbmltcG9ydCB7XG4gIGlzQmFycmVsRmlsZSxcbiAgaXNMaW50YWJsZU1vZHVsZUZpbGUsXG4gIG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyxcbn0gZnJvbSBcIi4vYmFycmVsLWZpbGUtdXRpbGl0aWVzXCI7XG5cbi8qKiBTdG9yZXMgbm9ybWFsaXplZCBydWxlIG9wdGlvbnMgZm9yIHRoZSBleHBvcnRzLW9ubHkgcnVsZS4gKi9cbmludGVyZmFjZSBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5U3RhdGUge1xuICAvKiogQWxsb3dlZCBiYXJyZWwgYmFzZW5hbWVzIGZvciB0aGUgY3VycmVudCBydWxlIHJ1bi4gKi9cbiAgYWxsb3dlZEJhcnJlbE5hbWVzOiBzdHJpbmdbXTtcbiAgLyoqIEFsbG93ZWQgYmFycmVsIGJhc2VuYW1lcyBpbiBzZXQgZm9ybSBmb3IgcXVpY2sgbG9va3Vwcy4gKi9cbiAgYWxsb3dlZEJhcnJlbE5hbWVzU2V0OiBTZXQ8c3RyaW5nPjtcbn1cblxuLyoqIERlc2NyaWJlcyBhIGRlY2xhcmF0aW9uLWxpa2UgdmFsdWUgdGhhdCBtYXkgZXhwb3NlIGEgYHR5cGVgIGZpZWxkLiAqL1xuaW50ZXJmYWNlIFR5cGVPbmx5RGVjbGFyYXRpb25DYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGRlY2xhcmF0aW9uIHR5cGUuICovXG4gIHR5cGU/OiB1bmtub3duO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBub3JtYWxpemVkIHJ1bGUgb3B0aW9ucyBmcm9tIHJhdyBpbnB1dC5cbiAqIEBwYXJhbSBvcHRpb25zIFJhdyBydWxlIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgbm9ybWFsaXplZCBleHBvcnRzLW9ubHkgcnVsZSBzdGF0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzdGF0ZSA9IGdldE9wdGlvbnMoW3t9XSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgZ2V0T3B0aW9ucyA9IChcbiAgb3B0aW9uczogcmVhZG9ubHkgdW5rbm93bltdLFxuKTogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlID0+IHtcbiAgY29uc3QgcmF3T3B0aW9ucyA9IG9wdGlvbnNbMF0gYXMgQmFycmVsRmlsZXNFeHBvcnRzT25seU9wdGlvbnMgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGFsbG93ZWRCYXJyZWxOYW1lcyA9IG5vcm1hbGl6ZUFsbG93ZWRCYXJyZWxOYW1lcyhcbiAgICByYXdPcHRpb25zPy5hbGxvd2VkQmFycmVsTmFtZXMsXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBhbGxvd2VkQmFycmVsTmFtZXMsXG4gICAgYWxsb3dlZEJhcnJlbE5hbWVzU2V0OiBuZXcgU2V0KGFsbG93ZWRCYXJyZWxOYW1lcyksXG4gIH07XG59O1xuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seS5cbiAqIEBwYXJhbSB2YWx1ZSBEZWNsYXJhdGlvbiBjYW5kaWRhdGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZGVjbGFyYXRpb24gaXMgdHlwZS1vbmx5LlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG9rID0gaXNUeXBlT25seURlY2xhcmF0aW9uKHsgdHlwZTogXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIgfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNUeXBlT25seURlY2xhcmF0aW9uID0gKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiA9PiB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBkZWNsYXJhdGlvblR5cGUgPSAodmFsdWUgYXMgVHlwZU9ubHlEZWNsYXJhdGlvbkNhbmRpZGF0ZSkudHlwZTtcblxuICByZXR1cm4gKFxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIgfHxcbiAgICBkZWNsYXJhdGlvblR5cGUgPT09IFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiXG4gICk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgc3RhdGVtZW50IGlzIGFsbG93ZWQgaW4gYSBiYXJyZWwgZmlsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgUHJvZ3JhbSBzdGF0ZW1lbnQgbm9kZS5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIHBlcm1pdHRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudCA9IChcbiAgc3RhdGVtZW50OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc3RhdGVtZW50LmRlY2xhcmF0aW9uID8/IHZvaWQgMDtcblxuICBpZiAoZGVjbGFyYXRpb24gIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBpc1R5cGVPbmx5RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGVtZW50LnNvdXJjZSA/PyB2b2lkIDA7XG5cbiAgcmV0dXJuIHNvdXJjZSAhPT0gdm9pZCAwO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBydWxlIGxpc3RlbmVyIGZvciB0aGUgc3VwcGxpZWQgZmlsZS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgQWJzb2x1dGUgZmlsZW5hbWUgdG8gbGludC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHJ1bGUgbGlzdGVuZXIgZm9yIHRoZSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckZpbGUoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZExpc3RlbmVyRm9yRmlsZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBpZiAoXG4gICAgIWlzTGludGFibGVNb2R1bGVGaWxlKGZpbGVuYW1lKSB8fFxuICAgICFpc0JhcnJlbEZpbGUoZmlsZW5hbWUsIG9wdGlvbnMuYWxsb3dlZEJhcnJlbE5hbWVzU2V0KVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgdGhlIGZpcnN0IGludmFsaWQgYmFycmVsIHN0YXRlbWVudCBpbiB0aGUgcHJvZ3JhbS5cbiAgICAgKiBAcGFyYW0gbm9kZSBQcm9ncmFtIG5vZGUgdG8gaW5zcGVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsaXN0ZW5lci5Qcm9ncmFtKHByb2dyYW1Ob2RlKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBQcm9ncmFtKG5vZGU6IEFTVC5Qcm9ncmFtKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcbiAgICAgICAgaWYgKCFpc0FsbG93ZWRCYXJyZWxTdGF0ZW1lbnQoc3RhdGVtZW50KSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJpbnZhbGlkQmFycmVsQ29udGVudFwiLFxuICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgZW5mb3JjaW5nIHJlLWV4cG9ydC1vbmx5IGJhcnJlbCBmaWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU7XG4gKiBgYGBcbiAqL1xuY29uc3QgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgbGlzdGVuZXJzIGZvciB0aGUgY3VycmVudCBsaW50IGNvbnRleHQuXG4gICAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0ZW5lcnMgZm9yIHRoZSBjb250ZXh0LlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxpc3RlbmVycyA9IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgICogYGBgXG4gICAqL1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5maWxlbmFtZSxcbiAgICAgIGdldE9wdGlvbnMoY29udGV4dC5vcHRpb25zKSxcbiAgICApO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczogY3JlYXRlUnVsZURvY3VtZW50YXRpb24oXG4gICAgICBcImJhcnJlbC1maWxlcy1leHBvcnRzLW9ubHlcIixcbiAgICAgIFwiUmVxdWlyZSBiYXJyZWwgZmlsZXMgdG8gb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgKSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW52YWxpZEJhcnJlbENvbnRlbnQ6XG4gICAgICAgIFwiQmFycmVsIGZpbGVzIG11c3Qgb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzOiB7XG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUgfTtcbiJdfQ==
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy1vbmx5LXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9leHBvcnRzLW9ubHktcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLG9CQUFvQixFQUNwQiwyQkFBMkIsR0FDNUIsTUFBTSx5QkFBeUIsQ0FBQztBQThCakM7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsR0FBRyxDQUNqQixPQUEyQixFQUNFLEVBQUU7SUFDL0IsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBOEMsQ0FBQztJQUMzRSxNQUFNLGtCQUFrQixHQUFHLDJCQUEyQixDQUNwRCxVQUFVLEVBQUUsa0JBQWtCLENBQy9CLENBQUM7SUFFRixPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLHFCQUFxQixFQUFFLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO0tBQ25ELENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxLQUFjLEVBQVcsRUFBRTtJQUN4RCxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxlQUFlLEdBQUksS0FBc0MsQ0FBQyxJQUFJLENBQUM7SUFFckUsT0FBTyxDQUNMLGVBQWUsS0FBSyx3QkFBd0I7UUFDNUMsZUFBZSxLQUFLLHdCQUF3QixDQUM3QyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUY7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQUMsU0FBa0MsRUFBVyxFQUFFO0lBQ3ZFLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxVQUFVLENBQUM7SUFFeEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMxRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxVQUFVLEtBQUssTUFBTSxFQUFFLENBQUM7UUFDcEMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7UUFDcEMsSUFBSSxTQUFTLEtBQUssSUFBSSxJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sQ0FDSixTQUE4QyxDQUFDLFVBQVUsS0FBSyxNQUFNLENBQ3RFLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSx3QkFBd0IsR0FBRyxDQUMvQixTQUFzQyxFQUM3QixFQUFFO0lBQ1gsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHNCQUFzQixFQUFFLENBQUM7UUFDOUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsSUFBSSxLQUFLLHdCQUF3QixFQUFFLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsQ0FBQztJQUVwRCxJQUFJLFdBQVcsS0FBSyxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQzNCLE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUM7SUFFMUMsSUFBSSxNQUFNLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN0QixPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLG9CQUFvQixHQUFHLENBQzNCLE9BQXlCLEVBQ3pCLFFBQWdCLEVBQ2hCLE9BQW9DLEVBQ2pCLEVBQUU7SUFDckIsSUFDRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztRQUMvQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQ3RELENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPO1FBQ0w7Ozs7Ozs7V0FPRztRQUNILE9BQU8sQ0FBQyxJQUFpQjtZQUN2QixLQUFLLE1BQU0sU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7b0JBQ3pDLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ2IsU0FBUyxFQUFFLHNCQUFzQjt3QkFDakMsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCLENBQUMsQ0FBQztvQkFDSCxNQUFNO2dCQUNSLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDSCxNQUFNLDBCQUEwQixHQUFvQjtJQUNsRDs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxPQUF5QjtRQUM5QixPQUFPLG9CQUFvQixDQUN6QixPQUFPLEVBQ1AsT0FBTyxDQUFDLFFBQVEsRUFDaEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7SUFDRCxJQUFJLEVBQUU7UUFDSixjQUFjLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNuRCxJQUFJLEVBQUU7WUFDSixXQUFXLEVBQ1Qsc0ZBQXNGO1lBQ3hGLFdBQVcsRUFBRSxLQUFLO1lBQ2xCLEdBQUcsRUFBRSw0RkFBNEY7U0FDbEc7UUFDRCxRQUFRLEVBQUU7WUFDUixvQkFBb0IsRUFDbEIsZ0ZBQWdGO1NBQ25GO1FBQ0QsTUFBTSxFQUFFO1lBQ047Z0JBQ0Usb0JBQW9CLEVBQUUsS0FBSztnQkFDM0IsVUFBVSxFQUFFO29CQUNWLGtCQUFrQixFQUFFO3dCQUNsQixXQUFXLEVBQ1Qsa0VBQWtFO3dCQUNwRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO3dCQUN6QixRQUFRLEVBQUUsQ0FBQzt3QkFDWCxJQUFJLEVBQUUsT0FBTztxQkFDZDtpQkFDRjtnQkFDRCxJQUFJLEVBQUUsUUFBUTthQUNmO1NBQ0Y7UUFDRCxJQUFJLEVBQUUsU0FBUztLQUNoQjtDQUNGLENBQUM7QUFFRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQVNULCBSdWxlIH0gZnJvbSBcImVzbGludFwiO1xuXG5pbXBvcnQgdHlwZSB7IEJhcnJlbEZpbGVzRXhwb3J0c09ubHlPcHRpb25zIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuaW1wb3J0IHtcbiAgaXNCYXJyZWxGaWxlLFxuICBpc0xpbnRhYmxlTW9kdWxlRmlsZSxcbiAgbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzLFxufSBmcm9tIFwiLi9iYXJyZWwtZmlsZS11dGlsaXRpZXNcIjtcblxuLyoqIFN0b3JlcyBub3JtYWxpemVkIHJ1bGUgb3B0aW9ucyBmb3IgdGhlIGV4cG9ydHMtb25seSBydWxlLiAqL1xuaW50ZXJmYWNlIEJhcnJlbEZpbGVzRXhwb3J0c09ubHlTdGF0ZSB7XG4gIC8qKiBBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgZm9yIHRoZSBjdXJyZW50IHJ1bGUgcnVuLiAqL1xuICBhbGxvd2VkQmFycmVsTmFtZXM6IHN0cmluZ1tdO1xuICAvKiogQWxsb3dlZCBiYXJyZWwgYmFzZW5hbWVzIGluIHNldCBmb3JtIGZvciBxdWljayBsb29rdXBzLiAqL1xuICBhbGxvd2VkQmFycmVsTmFtZXNTZXQ6IFNldDxzdHJpbmc+O1xufVxuXG4vKiogRGVzY3JpYmVzIGEgZGVjbGFyYXRpb24tbGlrZSB2YWx1ZSB0aGF0IG1heSBleHBvc2UgYSBgdHlwZWAgZmllbGQuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlEZWNsYXJhdGlvbkNhbmRpZGF0ZSB7XG4gIC8qKiBDYW5kaWRhdGUgZGVjbGFyYXRpb24gdHlwZS4gKi9cbiAgdHlwZT86IHVua25vd247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gZXhwb3J0IGRlY2xhcmF0aW9uLWxpa2UgdmFsdWUgd2l0aCBleHBvcnQgbWV0YWRhdGEuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlFeHBvcnRDYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGRlY2xhcmF0aW9uLWxldmVsIGV4cG9ydCBraW5kLiAqL1xuICBleHBvcnRLaW5kPzogdW5rbm93bjtcbiAgLyoqIENhbmRpZGF0ZSBleHBvcnQgc3BlY2lmaWVycy4gKi9cbiAgc3BlY2lmaWVycz86IHVua25vd247XG59XG5cbi8qKiBEZXNjcmliZXMgYW4gZXhwb3J0IHNwZWNpZmllci1saWtlIHZhbHVlIHRoYXQgbWF5IGV4cG9zZSBgZXhwb3J0S2luZGAuICovXG5pbnRlcmZhY2UgVHlwZU9ubHlFeHBvcnRTcGVjaWZpZXJDYW5kaWRhdGUge1xuICAvKiogQ2FuZGlkYXRlIGV4cG9ydCBraW5kIGZvciBhIHNwZWNpZmllci4gKi9cbiAgZXhwb3J0S2luZD86IHVua25vd247XG59XG5cbi8qKlxuICogQnVpbGRzIG5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zIGZyb20gcmF3IGlucHV0LlxuICogQHBhcmFtIG9wdGlvbnMgUmF3IHJ1bGUgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIGV4cG9ydHMtb25seSBydWxlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHN0YXRlID0gZ2V0T3B0aW9ucyhbe31dKTtcbiAqIGBgYFxuICovXG5jb25zdCBnZXRPcHRpb25zID0gKFxuICBvcHRpb25zOiByZWFkb25seSB1bmtub3duW10sXG4pOiBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5U3RhdGUgPT4ge1xuICBjb25zdCByYXdPcHRpb25zID0gb3B0aW9uc1swXSBhcyBCYXJyZWxGaWxlc0V4cG9ydHNPbmx5T3B0aW9ucyB8IHVuZGVmaW5lZDtcbiAgY29uc3QgYWxsb3dlZEJhcnJlbE5hbWVzID0gbm9ybWFsaXplQWxsb3dlZEJhcnJlbE5hbWVzKFxuICAgIHJhd09wdGlvbnM/LmFsbG93ZWRCYXJyZWxOYW1lcyxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGFsbG93ZWRCYXJyZWxOYW1lcyxcbiAgICBhbGxvd2VkQmFycmVsTmFtZXNTZXQ6IG5ldyBTZXQoYWxsb3dlZEJhcnJlbE5hbWVzKSxcbiAgfTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgZGVjbGFyYXRpb24gaXMgdHlwZS1vbmx5LlxuICogQHBhcmFtIHZhbHVlIERlY2xhcmF0aW9uIGNhbmRpZGF0ZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBpc1R5cGVPbmx5RGVjbGFyYXRpb24oeyB0eXBlOiBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB9KTtcbiAqIGBgYFxuICovXG5jb25zdCBpc1R5cGVPbmx5RGVjbGFyYXRpb24gPSAodmFsdWU6IHVua25vd24pOiBib29sZWFuID0+IHtcbiAgaWYgKHZhbHVlID09PSBudWxsIHx8IHR5cGVvZiB2YWx1ZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uVHlwZSA9ICh2YWx1ZSBhcyBUeXBlT25seURlY2xhcmF0aW9uQ2FuZGlkYXRlKS50eXBlO1xuXG4gIHJldHVybiAoXG4gICAgZGVjbGFyYXRpb25UeXBlID09PSBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB8fFxuICAgIGRlY2xhcmF0aW9uVHlwZSA9PT0gXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCJcbiAgKTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGFuIGV4cG9ydCBkZWNsYXJhdGlvbiBpcyB0eXBlLW9ubHkgdmlhIHNwZWNpZmllcnMuXG4gKiBAcGFyYW0gY2FuZGlkYXRlIEV4cG9ydCBkZWNsYXJhdGlvbiBjYW5kaWRhdGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgZXhwb3J0IGRlY2xhcmF0aW9uIGlzIHR5cGUtb25seS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzVHlwZU9ubHlFeHBvcnQoeyBleHBvcnRLaW5kOiBcInR5cGVcIiwgc3BlY2lmaWVyczogW3sgZXhwb3J0S2luZDogXCJ0eXBlXCIgfV0gfSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgaXNUeXBlT25seUV4cG9ydCA9IChjYW5kaWRhdGU6IFR5cGVPbmx5RXhwb3J0Q2FuZGlkYXRlKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHNwZWNpZmllcnMgPSBjYW5kaWRhdGUuc3BlY2lmaWVycztcblxuICBpZiAoIUFycmF5LmlzQXJyYXkoc3BlY2lmaWVycykgfHwgc3BlY2lmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoY2FuZGlkYXRlLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gc3BlY2lmaWVycy5ldmVyeSgoc3BlY2lmaWVyKSA9PiB7XG4gICAgaWYgKHNwZWNpZmllciA9PT0gbnVsbCB8fCB0eXBlb2Ygc3BlY2lmaWVyICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIChzcGVjaWZpZXIgYXMgVHlwZU9ubHlFeHBvcnRTcGVjaWZpZXJDYW5kaWRhdGUpLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiXG4gICAgKTtcbiAgfSk7XG59O1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgc3RhdGVtZW50IGlzIGFsbG93ZWQgaW4gYSBiYXJyZWwgZmlsZS5cbiAqIEBwYXJhbSBzdGF0ZW1lbnQgUHJvZ3JhbSBzdGF0ZW1lbnQgbm9kZS5cbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgc3RhdGVtZW50IGlzIHBlcm1pdHRlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudChzdGF0ZW1lbnQpO1xuICogYGBgXG4gKi9cbmNvbnN0IGlzQWxsb3dlZEJhcnJlbFN0YXRlbWVudCA9IChcbiAgc3RhdGVtZW50OiBBU1QuUHJvZ3JhbVtcImJvZHlcIl1bbnVtYmVyXSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoc3RhdGVtZW50LnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHN0YXRlbWVudC50eXBlICE9PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc3RhdGVtZW50LmRlY2xhcmF0aW9uID8/IHZvaWQgMDtcblxuICBpZiAoZGVjbGFyYXRpb24gIT09IHZvaWQgMCkge1xuICAgIHJldHVybiBpc1R5cGVPbmx5RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pO1xuICB9XG5cbiAgY29uc3Qgc291cmNlID0gc3RhdGVtZW50LnNvdXJjZSA/PyB2b2lkIDA7XG5cbiAgaWYgKHNvdXJjZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIGlzVHlwZU9ubHlFeHBvcnQoc3RhdGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBydWxlIGxpc3RlbmVyIGZvciB0aGUgc3VwcGxpZWQgZmlsZS5cbiAqIEBwYXJhbSBjb250ZXh0IFJ1bGUgZXhlY3V0aW9uIGNvbnRleHQuXG4gKiBAcGFyYW0gZmlsZW5hbWUgQWJzb2x1dGUgZmlsZW5hbWUgdG8gbGludC5cbiAqIEBwYXJhbSBvcHRpb25zIE5vcm1hbGl6ZWQgcnVsZSBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIHJ1bGUgbGlzdGVuZXIgZm9yIHRoZSBmaWxlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGxpc3RlbmVyID0gYnVpbGRMaXN0ZW5lckZvckZpbGUoY29udGV4dCwgZmlsZW5hbWUsIHN0YXRlKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZExpc3RlbmVyRm9yRmlsZSA9IChcbiAgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCxcbiAgZmlsZW5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogQmFycmVsRmlsZXNFeHBvcnRzT25seVN0YXRlLFxuKTogUnVsZS5SdWxlTGlzdGVuZXIgPT4ge1xuICBpZiAoXG4gICAgIWlzTGludGFibGVNb2R1bGVGaWxlKGZpbGVuYW1lKSB8fFxuICAgICFpc0JhcnJlbEZpbGUoZmlsZW5hbWUsIG9wdGlvbnMuYWxsb3dlZEJhcnJlbE5hbWVzU2V0KVxuICApIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFJlcG9ydHMgdGhlIGZpcnN0IGludmFsaWQgYmFycmVsIHN0YXRlbWVudCBpbiB0aGUgcHJvZ3JhbS5cbiAgICAgKiBAcGFyYW0gbm9kZSBQcm9ncmFtIG5vZGUgdG8gaW5zcGVjdC5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHR5cGVzY3JpcHRcbiAgICAgKiBsaXN0ZW5lci5Qcm9ncmFtKHByb2dyYW1Ob2RlKTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBQcm9ncmFtKG5vZGU6IEFTVC5Qcm9ncmFtKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudCBvZiBub2RlLmJvZHkpIHtcbiAgICAgICAgaWYgKCFpc0FsbG93ZWRCYXJyZWxTdGF0ZW1lbnQoc3RhdGVtZW50KSkge1xuICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgIG1lc3NhZ2VJZDogXCJpbnZhbGlkQmFycmVsQ29udGVudFwiLFxuICAgICAgICAgICAgbm9kZTogc3RhdGVtZW50LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgfTtcbn07XG5cbi8qKlxuICogRVNMaW50IHJ1bGUgZW5mb3JjaW5nIHJlLWV4cG9ydC1vbmx5IGJhcnJlbCBmaWxlcy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBydWxlID0gYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU7XG4gKiBgYGBcbiAqL1xuY29uc3QgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgbGlzdGVuZXJzIGZvciB0aGUgY3VycmVudCBsaW50IGNvbnRleHQuXG4gICAqIEBwYXJhbSBjb250ZXh0IEVTTGludCBydWxlIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIFRoZSBsaXN0ZW5lcnMgZm9yIHRoZSBjb250ZXh0LlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxpc3RlbmVycyA9IGJhcnJlbEZpbGVzRXhwb3J0c09ubHlSdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgICogYGBgXG4gICAqL1xuICBjcmVhdGUoY29udGV4dDogUnVsZS5SdWxlQ29udGV4dCk6IFJ1bGUuUnVsZUxpc3RlbmVyIHtcbiAgICByZXR1cm4gYnVpbGRMaXN0ZW5lckZvckZpbGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5maWxlbmFtZSxcbiAgICAgIGdldE9wdGlvbnMoY29udGV4dC5vcHRpb25zKSxcbiAgICApO1xuICB9LFxuICBtZXRhOiB7XG4gICAgZGVmYXVsdE9wdGlvbnM6IFt7IGFsbG93ZWRCYXJyZWxOYW1lczogW1wiaW5kZXhcIl0gfV0sXG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiUmVxdWlyZSBiYXJyZWwgZmlsZXMgdG8gb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgICByZWNvbW1lbmRlZDogZmFsc2UsXG4gICAgICB1cmw6IFwiaHR0cHM6Ly9naXRodWIuY29tL3BhcmxvdGkvZXNsaW50LXBsdWdpbi9ibG9iL21haW4vZG9jcy9ydWxlcy9iYXJyZWwtZmlsZXMtZXhwb3J0cy1vbmx5Lm1kXCIsXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgaW52YWxpZEJhcnJlbENvbnRlbnQ6XG4gICAgICAgIFwiQmFycmVsIGZpbGVzIG11c3Qgb25seSBjb250YWluIHJlLWV4cG9ydCBzdGF0ZW1lbnRzIG9yIHR5cGUtb25seSBkZWNsYXJhdGlvbnMuXCIsXG4gICAgfSxcbiAgICBzY2hlbWE6IFtcbiAgICAgIHtcbiAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgYWxsb3dlZEJhcnJlbE5hbWVzOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICAgXCJBbGxvd2VkIGJhcnJlbCBiYXNlbmFtZXMgdGhhdCBzaG91bGQgYmUgdHJlYXRlZCBhcyBiYXJyZWwgZmlsZXMuXCIsXG4gICAgICAgICAgICBpdGVtczogeyB0eXBlOiBcInN0cmluZ1wiIH0sXG4gICAgICAgICAgICBtaW5JdGVtczogMSxcbiAgICAgICAgICAgIHR5cGU6IFwiYXJyYXlcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcIm9iamVjdFwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6IFwicHJvYmxlbVwiLFxuICB9LFxufTtcblxuZXhwb3J0IHsgYmFycmVsRmlsZXNFeHBvcnRzT25seVJ1bGUgfTtcbiJdfQ==
@@ -1,4 +1,6 @@
1
1
  export { barrelFilesExportsOnlyRule } from "./exports-only-rule.js";
2
+ export { noImportExportAliasesRule } from "./no-import-export-aliases-rule.js";
3
+ export { noImportExportExtensionsRule } from "./no-import-export-extensions-rule.js";
2
4
  export { noReexportsOutsideBarrelsRule } from "./no-reexports-outside-barrels-rule.js";
3
5
  export { consistentBarrelFilesRule } from "./rule.js";
4
6
  export type { BarrelFilesExportsOnlyOptions, ConsistentBarrelFilesOptions, NoReexportsOutsideBarrelsOptions, } from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,yBAAyB,EAAE,MAAM,QAAQ,CAAC;AACnD,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,SAAS,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export { barrelFilesExportsOnlyRule } from "./exports-only-rule.js";
2
+ export { noImportExportAliasesRule } from "./no-import-export-aliases-rule.js";
3
+ export { noImportExportExtensionsRule } from "./no-import-export-extensions-rule.js";
2
4
  export { noReexportsOutsideBarrelsRule } from "./no-reexports-outside-barrels-rule.js";
3
5
  export { consistentBarrelFilesRule } from "./rule.js";
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSB9IGZyb20gXCIuL2V4cG9ydHMtb25seS1ydWxlXCI7XG5leHBvcnQgeyBub1JlZXhwb3J0c091dHNpZGVCYXJyZWxzUnVsZSB9IGZyb20gXCIuL25vLXJlZXhwb3J0cy1vdXRzaWRlLWJhcnJlbHMtcnVsZVwiO1xuZXhwb3J0IHsgY29uc2lzdGVudEJhcnJlbEZpbGVzUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcbmV4cG9ydCB0eXBlIHtcbiAgQmFycmVsRmlsZXNFeHBvcnRzT25seU9wdGlvbnMsXG4gIENvbnNpc3RlbnRCYXJyZWxGaWxlc09wdGlvbnMsXG4gIE5vUmVleHBvcnRzT3V0c2lkZUJhcnJlbHNPcHRpb25zLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuIl19
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2FyY2hpdGVjdHVyZS9jb25zaXN0ZW50LWJhcnJlbC1maWxlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNwRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBiYXJyZWxGaWxlc0V4cG9ydHNPbmx5UnVsZSB9IGZyb20gXCIuL2V4cG9ydHMtb25seS1ydWxlXCI7XG5leHBvcnQgeyBub0ltcG9ydEV4cG9ydEFsaWFzZXNSdWxlIH0gZnJvbSBcIi4vbm8taW1wb3J0LWV4cG9ydC1hbGlhc2VzLXJ1bGVcIjtcbmV4cG9ydCB7IG5vSW1wb3J0RXhwb3J0RXh0ZW5zaW9uc1J1bGUgfSBmcm9tIFwiLi9uby1pbXBvcnQtZXhwb3J0LWV4dGVuc2lvbnMtcnVsZVwiO1xuZXhwb3J0IHsgbm9SZWV4cG9ydHNPdXRzaWRlQmFycmVsc1J1bGUgfSBmcm9tIFwiLi9uby1yZWV4cG9ydHMtb3V0c2lkZS1iYXJyZWxzLXJ1bGVcIjtcbmV4cG9ydCB7IGNvbnNpc3RlbnRCYXJyZWxGaWxlc1J1bGUgfSBmcm9tIFwiLi9ydWxlXCI7XG5leHBvcnQgdHlwZSB7XG4gIEJhcnJlbEZpbGVzRXhwb3J0c09ubHlPcHRpb25zLFxuICBDb25zaXN0ZW50QmFycmVsRmlsZXNPcHRpb25zLFxuICBOb1JlZXhwb3J0c091dHNpZGVCYXJyZWxzT3B0aW9ucyxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ import type { Rule } from "eslint";
2
+ /** ESLint rule that forbids aliased import/export names unless required by same-file name collisions. */
3
+ declare const noImportExportAliasesRule: Rule.RuleModule;
4
+ export { noImportExportAliasesRule };
5
+ //# sourceMappingURL=no-import-export-aliases-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-import-export-aliases-rule.d.ts","sourceRoot":"","sources":["../../../../src/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAqUnC,yGAAyG;AACzG,QAAA,MAAM,yBAAyB,EAAE,IAAI,CAAC,UAkBrC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,CAAC"}