@mnaoumov/typescript-dev-toolkit 0.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +15 -1
  3. package/bundlers/esbuild-impl/change-extension-plugin/package.json +6 -0
  4. package/bundlers/esbuild-impl/custom-esbuild-options-plugin/package.json +6 -0
  5. package/bundlers/esbuild-impl/fix-esm-plugin/package.json +6 -0
  6. package/bundlers/esbuild-impl/index/package.json +6 -0
  7. package/bundlers/esbuild-impl/package.json +6 -0
  8. package/bundlers/esbuild-impl/preprocess-plugin/package.json +6 -0
  9. package/bundlers/esbuild-impl/svelte-wrapper-plugin/package.json +6 -0
  10. package/bundlers/index/package.json +6 -0
  11. package/bundlers/package.json +6 -0
  12. package/dist/lib/cjs/build.cjs +191 -0
  13. package/dist/lib/cjs/build.d.cts +59 -0
  14. package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.cjs +139 -0
  15. package/dist/lib/cjs/bundlers/esbuild-impl/change-extension-plugin.d.cts +25 -0
  16. package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +96 -0
  17. package/dist/lib/cjs/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +14 -0
  18. package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.cjs +106 -0
  19. package/dist/lib/cjs/bundlers/esbuild-impl/fix-esm-plugin.d.cts +13 -0
  20. package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +111 -0
  21. package/dist/lib/cjs/bundlers/esbuild-impl/index.d.cts +6 -0
  22. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +211 -0
  23. package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.d.cts +143 -0
  24. package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +129 -0
  25. package/dist/lib/cjs/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +14 -0
  26. package/dist/lib/cjs/bundlers/index.cjs +99 -0
  27. package/dist/lib/cjs/bundlers/index.d.cts +2 -0
  28. package/dist/lib/cjs/check-project-types.cjs +163 -0
  29. package/dist/lib/cjs/check-project-types.d.cts +92 -0
  30. package/dist/lib/cjs/cli-utils.cjs +276 -0
  31. package/dist/lib/cjs/cli-utils.d.cts +123 -0
  32. package/dist/lib/cjs/code-generator.cjs +96 -0
  33. package/dist/lib/cjs/code-generator.d.cts +14 -0
  34. package/dist/lib/cjs/commitlint-config.cjs +110 -0
  35. package/dist/lib/cjs/commitlint-config.d.cts +14 -0
  36. package/dist/lib/cjs/commitlint-forbidden-patterns.cjs +110 -0
  37. package/dist/lib/cjs/commitlint-forbidden-patterns.d.cts +37 -0
  38. package/dist/lib/cjs/commitlint-spellcheck-header.cjs +126 -0
  39. package/dist/lib/cjs/commitlint-spellcheck-header.d.cts +40 -0
  40. package/dist/lib/cjs/env-toggle.cjs +133 -0
  41. package/dist/lib/cjs/env-toggle.d.cts +42 -0
  42. package/dist/lib/cjs/exec.cjs +455 -0
  43. package/dist/lib/cjs/exec.d.cts +162 -0
  44. package/dist/lib/cjs/forbidden-patterns.cjs +157 -0
  45. package/dist/lib/cjs/forbidden-patterns.d.cts +57 -0
  46. package/dist/lib/cjs/formatters/dprint.cjs +108 -0
  47. package/dist/lib/cjs/formatters/dprint.d.cts +33 -0
  48. package/dist/lib/cjs/formatters/index.cjs +99 -0
  49. package/dist/lib/cjs/formatters/index.d.cts +2 -0
  50. package/dist/lib/cjs/fs.cjs +123 -0
  51. package/dist/lib/cjs/fs.d.cts +80 -0
  52. package/dist/lib/cjs/gate.cjs +140 -0
  53. package/dist/lib/cjs/gate.d.cts +93 -0
  54. package/dist/lib/cjs/git.cjs +109 -0
  55. package/dist/lib/cjs/git.d.cts +37 -0
  56. package/dist/lib/cjs/index.cjs +186 -0
  57. package/dist/lib/cjs/index.d.cts +35 -0
  58. package/dist/lib/cjs/json.cjs +141 -0
  59. package/dist/lib/cjs/json.d.cts +102 -0
  60. package/dist/lib/cjs/library-build.cjs +483 -0
  61. package/dist/lib/cjs/library-build.d.cts +101 -0
  62. package/dist/lib/cjs/library-references.d.cts +5 -0
  63. package/dist/lib/cjs/linters/cspell-content.cjs +124 -0
  64. package/dist/lib/cjs/linters/cspell-content.d.cts +46 -0
  65. package/dist/lib/cjs/linters/cspell.cjs +103 -0
  66. package/dist/lib/cjs/linters/cspell.d.cts +36 -0
  67. package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.cjs +94 -0
  68. package/dist/lib/cjs/linters/eslint-agnostic-core-boundary.d.cts +49 -0
  69. package/dist/lib/cjs/linters/eslint-config.cjs +1068 -0
  70. package/dist/lib/cjs/linters/eslint-config.d.cts +123 -0
  71. package/dist/lib/cjs/linters/eslint-no-restricted-syntax.cjs +130 -0
  72. package/dist/lib/cjs/linters/eslint-no-restricted-syntax.d.cts +27 -0
  73. package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.cjs +116 -0
  74. package/dist/lib/cjs/linters/eslint-rules/in-house-plugin.d.cts +26 -0
  75. package/dist/lib/cjs/linters/eslint-rules/index.cjs +132 -0
  76. package/dist/lib/cjs/linters/eslint-rules/index.d.cts +13 -0
  77. package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +175 -0
  78. package/dist/lib/cjs/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +10 -0
  79. package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.cjs +290 -0
  80. package/dist/lib/cjs/linters/eslint-rules/no-unresolved-jsdoc-link.d.cts +10 -0
  81. package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.cjs +265 -0
  82. package/dist/lib/cjs/linters/eslint-rules/no-unused-params-members.d.cts +41 -0
  83. package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.cjs +134 -0
  84. package/dist/lib/cjs/linters/eslint-rules/no-used-underscore-variables.d.cts +20 -0
  85. package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.cjs +217 -0
  86. package/dist/lib/cjs/linters/eslint-rules/params-options-name-match.d.cts +36 -0
  87. package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.cjs +126 -0
  88. package/dist/lib/cjs/linters/eslint-rules/prefer-noop-async.d.cts +10 -0
  89. package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.cjs +125 -0
  90. package/dist/lib/cjs/linters/eslint-rules/readonly-params-options-result-members.d.cts +20 -0
  91. package/dist/lib/cjs/linters/eslint-rules/require-method-template.cjs +181 -0
  92. package/dist/lib/cjs/linters/eslint-rules/require-method-template.d.cts +14 -0
  93. package/dist/lib/cjs/linters/eslint-rules/require-super-call.cjs +217 -0
  94. package/dist/lib/cjs/linters/eslint-rules/require-super-call.d.cts +10 -0
  95. package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.cjs +92 -0
  96. package/dist/lib/cjs/linters/eslint-rules/rule-tester-helper.d.cts +18 -0
  97. package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.cjs +92 -0
  98. package/dist/lib/cjs/linters/eslint-rules/ts-estree-node.d.cts +23 -0
  99. package/dist/lib/cjs/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +20 -0
  100. package/dist/lib/cjs/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.cts +17 -0
  101. package/dist/lib/cjs/linters/eslint.cjs +196 -0
  102. package/dist/lib/cjs/linters/eslint.d.cts +74 -0
  103. package/dist/lib/cjs/linters/index.cjs +138 -0
  104. package/dist/lib/cjs/linters/index.d.cts +15 -0
  105. package/dist/lib/cjs/linters/lint-ignores.cjs +91 -0
  106. package/dist/lib/cjs/linters/lint-ignores.d.cts +30 -0
  107. package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +169 -0
  108. package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +11 -0
  109. package/dist/lib/cjs/linters/markdownlint-content.cjs +120 -0
  110. package/dist/lib/cjs/linters/markdownlint-content.d.cts +47 -0
  111. package/dist/lib/cjs/linters/markdownlint-ignores.cjs +95 -0
  112. package/dist/lib/cjs/linters/markdownlint-ignores.d.cts +35 -0
  113. package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +99 -0
  114. package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
  115. package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.cjs +152 -0
  116. package/dist/lib/cjs/linters/markdownlint-rules/no-soft-break-in-paragraph.d.cts +35 -0
  117. package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1344 -0
  118. package/dist/lib/cjs/linters/markdownlint-types/@types/markdownlint-cli2.d.cts +67 -0
  119. package/dist/lib/cjs/linters/markdownlint.cjs +151 -0
  120. package/dist/lib/cjs/linters/markdownlint.d.cts +32 -0
  121. package/dist/lib/cjs/linters/over-exposure.cjs +685 -0
  122. package/dist/lib/cjs/linters/over-exposure.d.cts +357 -0
  123. package/dist/lib/cjs/nano-staged-config.cjs +148 -0
  124. package/dist/lib/cjs/nano-staged-config.d.cts +54 -0
  125. package/dist/lib/cjs/npm-publish.cjs +93 -0
  126. package/dist/lib/cjs/npm-publish.d.cts +19 -0
  127. package/dist/lib/cjs/npm-run.cjs +120 -0
  128. package/dist/lib/cjs/npm-run.d.cts +34 -0
  129. package/dist/lib/cjs/npm.cjs +200 -0
  130. package/dist/lib/cjs/npm.d.cts +168 -0
  131. package/dist/lib/cjs/package-lock-integrity.cjs +134 -0
  132. package/dist/lib/cjs/package-lock-integrity.d.cts +38 -0
  133. package/dist/lib/cjs/package-manager.cjs +291 -0
  134. package/dist/lib/cjs/package-manager.d.cts +93 -0
  135. package/dist/lib/cjs/released-issues.cjs +178 -0
  136. package/dist/lib/cjs/released-issues.d.cts +79 -0
  137. package/dist/lib/cjs/repo-paths.cjs +167 -0
  138. package/dist/lib/cjs/repo-paths.d.cts +318 -0
  139. package/dist/lib/cjs/root.cjs +150 -0
  140. package/dist/lib/cjs/root.d.cts +107 -0
  141. package/dist/lib/cjs/test-runners/index.cjs +102 -0
  142. package/dist/lib/cjs/test-runners/index.d.cts +3 -0
  143. package/dist/lib/cjs/test-runners/vitest-config.cjs +126 -0
  144. package/dist/lib/cjs/test-runners/vitest-config.d.cts +90 -0
  145. package/dist/lib/cjs/test-runners/vitest.cjs +115 -0
  146. package/dist/lib/cjs/test-runners/vitest.d.cts +52 -0
  147. package/dist/lib/cjs/validate-declarations.cjs +120 -0
  148. package/dist/lib/cjs/validate-declarations.d.cts +37 -0
  149. package/dist/lib/cjs/version.cjs +758 -0
  150. package/dist/lib/cjs/version.d.cts +418 -0
  151. package/dist/lib/esm/build.d.mts +59 -0
  152. package/dist/lib/esm/build.mjs +165 -0
  153. package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.d.mts +25 -0
  154. package/dist/lib/esm/bundlers/esbuild-impl/change-extension-plugin.mjs +101 -0
  155. package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.mts +14 -0
  156. package/dist/lib/esm/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +59 -0
  157. package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.d.mts +13 -0
  158. package/dist/lib/esm/bundlers/esbuild-impl/fix-esm-plugin.mjs +69 -0
  159. package/dist/lib/esm/bundlers/esbuild-impl/index.d.mts +6 -0
  160. package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +60 -0
  161. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.d.mts +143 -0
  162. package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +176 -0
  163. package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +14 -0
  164. package/dist/lib/esm/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +82 -0
  165. package/dist/lib/esm/bundlers/index.d.mts +2 -0
  166. package/dist/lib/esm/bundlers/index.mjs +52 -0
  167. package/dist/lib/esm/check-project-types.d.mts +92 -0
  168. package/dist/lib/esm/check-project-types.mjs +123 -0
  169. package/dist/lib/esm/cli-utils.d.mts +123 -0
  170. package/dist/lib/esm/cli-utils.mjs +225 -0
  171. package/dist/lib/esm/code-generator.d.mts +14 -0
  172. package/dist/lib/esm/code-generator.mjs +59 -0
  173. package/dist/lib/esm/commitlint-config.d.mts +14 -0
  174. package/dist/lib/esm/commitlint-config.mjs +79 -0
  175. package/dist/lib/esm/commitlint-forbidden-patterns.d.mts +37 -0
  176. package/dist/lib/esm/commitlint-forbidden-patterns.mjs +75 -0
  177. package/dist/lib/esm/commitlint-spellcheck-header.d.mts +40 -0
  178. package/dist/lib/esm/commitlint-spellcheck-header.mjs +87 -0
  179. package/dist/lib/esm/env-toggle.d.mts +42 -0
  180. package/dist/lib/esm/env-toggle.mjs +84 -0
  181. package/dist/lib/esm/exec.d.mts +162 -0
  182. package/dist/lib/esm/exec.mjs +410 -0
  183. package/dist/lib/esm/forbidden-patterns.d.mts +57 -0
  184. package/dist/lib/esm/forbidden-patterns.mjs +108 -0
  185. package/dist/lib/esm/formatters/dprint.d.mts +33 -0
  186. package/dist/lib/esm/formatters/dprint.mjs +75 -0
  187. package/dist/lib/esm/formatters/index.d.mts +2 -0
  188. package/dist/lib/esm/formatters/index.mjs +52 -0
  189. package/dist/lib/esm/fs.d.mts +80 -0
  190. package/dist/lib/esm/fs.mjs +89 -0
  191. package/dist/lib/esm/gate.d.mts +93 -0
  192. package/dist/lib/esm/gate.mjs +106 -0
  193. package/dist/lib/esm/git.d.mts +37 -0
  194. package/dist/lib/esm/git.mjs +72 -0
  195. package/dist/lib/esm/index.d.mts +35 -0
  196. package/dist/lib/esm/index.mjs +110 -0
  197. package/dist/lib/esm/json.d.mts +102 -0
  198. package/dist/lib/esm/json.mjs +106 -0
  199. package/dist/lib/esm/library-build.d.mts +101 -0
  200. package/dist/lib/esm/library-build.mjs +443 -0
  201. package/dist/lib/esm/library-references.d.mts +5 -0
  202. package/dist/lib/esm/linters/cspell-content.d.mts +46 -0
  203. package/dist/lib/esm/linters/cspell-content.mjs +87 -0
  204. package/dist/lib/esm/linters/cspell.d.mts +36 -0
  205. package/dist/lib/esm/linters/cspell.mjs +69 -0
  206. package/dist/lib/esm/linters/eslint-agnostic-core-boundary.d.mts +49 -0
  207. package/dist/lib/esm/linters/eslint-agnostic-core-boundary.mjs +57 -0
  208. package/dist/lib/esm/linters/eslint-config.d.mts +123 -0
  209. package/dist/lib/esm/linters/eslint-config.mjs +1022 -0
  210. package/dist/lib/esm/linters/eslint-no-restricted-syntax.d.mts +27 -0
  211. package/dist/lib/esm/linters/eslint-no-restricted-syntax.mjs +93 -0
  212. package/dist/lib/esm/linters/eslint-rules/in-house-plugin.d.mts +26 -0
  213. package/dist/lib/esm/linters/eslint-rules/in-house-plugin.mjs +77 -0
  214. package/dist/lib/esm/linters/eslint-rules/index.d.mts +13 -0
  215. package/dist/lib/esm/linters/eslint-rules/index.mjs +74 -0
  216. package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +10 -0
  217. package/dist/lib/esm/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +144 -0
  218. package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.d.mts +10 -0
  219. package/dist/lib/esm/linters/eslint-rules/no-unresolved-jsdoc-link.mjs +277 -0
  220. package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.d.mts +41 -0
  221. package/dist/lib/esm/linters/eslint-rules/no-unused-params-members.mjs +227 -0
  222. package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.d.mts +20 -0
  223. package/dist/lib/esm/linters/eslint-rules/no-used-underscore-variables.mjs +96 -0
  224. package/dist/lib/esm/linters/eslint-rules/params-options-name-match.d.mts +36 -0
  225. package/dist/lib/esm/linters/eslint-rules/params-options-name-match.mjs +179 -0
  226. package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.d.mts +10 -0
  227. package/dist/lib/esm/linters/eslint-rules/prefer-noop-async.mjs +88 -0
  228. package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.d.mts +20 -0
  229. package/dist/lib/esm/linters/eslint-rules/readonly-params-options-result-members.mjs +87 -0
  230. package/dist/lib/esm/linters/eslint-rules/require-method-template.d.mts +14 -0
  231. package/dist/lib/esm/linters/eslint-rules/require-method-template.mjs +142 -0
  232. package/dist/lib/esm/linters/eslint-rules/require-super-call.d.mts +10 -0
  233. package/dist/lib/esm/linters/eslint-rules/require-super-call.mjs +183 -0
  234. package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.d.mts +18 -0
  235. package/dist/lib/esm/linters/eslint-rules/rule-tester-helper.mjs +55 -0
  236. package/dist/lib/esm/linters/eslint-rules/ts-estree-node.d.mts +23 -0
  237. package/dist/lib/esm/linters/eslint-rules/ts-estree-node.mjs +55 -0
  238. package/dist/lib/esm/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +20 -0
  239. package/dist/lib/esm/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.mts +17 -0
  240. package/dist/lib/esm/linters/eslint.d.mts +74 -0
  241. package/dist/lib/esm/linters/eslint.mjs +159 -0
  242. package/dist/lib/esm/linters/index.d.mts +15 -0
  243. package/dist/lib/esm/linters/index.mjs +78 -0
  244. package/dist/lib/esm/linters/lint-ignores.d.mts +30 -0
  245. package/dist/lib/esm/linters/lint-ignores.mjs +54 -0
  246. package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +11 -0
  247. package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +122 -0
  248. package/dist/lib/esm/linters/markdownlint-content.d.mts +47 -0
  249. package/dist/lib/esm/linters/markdownlint-content.mjs +83 -0
  250. package/dist/lib/esm/linters/markdownlint-ignores.d.mts +35 -0
  251. package/dist/lib/esm/linters/markdownlint-ignores.mjs +57 -0
  252. package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
  253. package/dist/lib/esm/linters/markdownlint-rules/index.mjs +52 -0
  254. package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.d.mts +35 -0
  255. package/dist/lib/esm/linters/markdownlint-rules/no-soft-break-in-paragraph.mjs +114 -0
  256. package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1344 -0
  257. package/dist/lib/esm/linters/markdownlint-types/@types/markdownlint-cli2.d.mts +67 -0
  258. package/dist/lib/esm/linters/markdownlint.d.mts +32 -0
  259. package/dist/lib/esm/linters/markdownlint.mjs +124 -0
  260. package/dist/lib/esm/linters/over-exposure.d.mts +357 -0
  261. package/dist/lib/esm/linters/over-exposure.mjs +672 -0
  262. package/dist/lib/esm/nano-staged-config.d.mts +54 -0
  263. package/dist/lib/esm/nano-staged-config.mjs +103 -0
  264. package/dist/lib/esm/npm-publish.d.mts +19 -0
  265. package/dist/lib/esm/npm-publish.mjs +56 -0
  266. package/dist/lib/esm/npm-run.d.mts +34 -0
  267. package/dist/lib/esm/npm-run.mjs +81 -0
  268. package/dist/lib/esm/npm.d.mts +168 -0
  269. package/dist/lib/esm/npm.mjs +155 -0
  270. package/dist/lib/esm/package-lock-integrity.d.mts +38 -0
  271. package/dist/lib/esm/package-lock-integrity.mjs +99 -0
  272. package/dist/lib/esm/package-manager.d.mts +93 -0
  273. package/dist/lib/esm/package-manager.mjs +245 -0
  274. package/dist/lib/esm/released-issues.d.mts +79 -0
  275. package/dist/lib/esm/released-issues.mjs +143 -0
  276. package/dist/lib/esm/repo-paths.d.mts +318 -0
  277. package/dist/lib/esm/repo-paths.mjs +130 -0
  278. package/dist/lib/esm/root.d.mts +107 -0
  279. package/dist/lib/esm/root.mjs +115 -0
  280. package/dist/lib/esm/test-runners/index.d.mts +3 -0
  281. package/dist/lib/esm/test-runners/index.mjs +54 -0
  282. package/dist/lib/esm/test-runners/vitest-config.d.mts +90 -0
  283. package/dist/lib/esm/test-runners/vitest-config.mjs +86 -0
  284. package/dist/lib/esm/test-runners/vitest.d.mts +52 -0
  285. package/dist/lib/esm/test-runners/vitest.mjs +76 -0
  286. package/dist/lib/esm/validate-declarations.d.mts +37 -0
  287. package/dist/lib/esm/validate-declarations.mjs +87 -0
  288. package/dist/lib/esm/version.d.mts +418 -0
  289. package/dist/lib/esm/version.mjs +723 -0
  290. package/formatters/dprint/package.json +6 -0
  291. package/formatters/index/package.json +6 -0
  292. package/formatters/package.json +6 -0
  293. package/linters/cspell/package.json +6 -0
  294. package/linters/cspell-content/package.json +6 -0
  295. package/linters/eslint/package.json +6 -0
  296. package/linters/eslint-agnostic-core-boundary/package.json +6 -0
  297. package/linters/eslint-config/package.json +6 -0
  298. package/linters/eslint-no-restricted-syntax/package.json +6 -0
  299. package/linters/eslint-rules/in-house-plugin/package.json +6 -0
  300. package/linters/eslint-rules/index/package.json +6 -0
  301. package/linters/eslint-rules/no-async-callback-to-unsafe-return/package.json +6 -0
  302. package/linters/eslint-rules/no-unresolved-jsdoc-link/package.json +6 -0
  303. package/linters/eslint-rules/no-unused-params-members/package.json +6 -0
  304. package/linters/eslint-rules/no-used-underscore-variables/package.json +6 -0
  305. package/linters/eslint-rules/package.json +6 -0
  306. package/linters/eslint-rules/params-options-name-match/package.json +6 -0
  307. package/linters/eslint-rules/prefer-noop-async/package.json +6 -0
  308. package/linters/eslint-rules/readonly-params-options-result-members/package.json +6 -0
  309. package/linters/eslint-rules/require-method-template/package.json +6 -0
  310. package/linters/eslint-rules/require-super-call/package.json +6 -0
  311. package/linters/eslint-rules/rule-tester-helper/package.json +6 -0
  312. package/linters/eslint-rules/ts-estree-node/package.json +6 -0
  313. package/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs/package.json +4 -0
  314. package/linters/eslint-types/@types/eslint-plugin-verify-tsdoc/package.json +4 -0
  315. package/linters/index/package.json +6 -0
  316. package/linters/lint-ignores/package.json +6 -0
  317. package/linters/markdownlint/package.json +6 -0
  318. package/linters/markdownlint-cli2-config/package.json +6 -0
  319. package/linters/markdownlint-content/package.json +6 -0
  320. package/linters/markdownlint-ignores/package.json +6 -0
  321. package/linters/markdownlint-rules/index/package.json +6 -0
  322. package/linters/markdownlint-rules/no-soft-break-in-paragraph/package.json +6 -0
  323. package/linters/markdownlint-rules/package.json +6 -0
  324. package/linters/markdownlint-types/@types/markdownlint-cli2/package.json +4 -0
  325. package/linters/markdownlint-types/@types/markdownlint-cli2-config-schema/package.json +4 -0
  326. package/linters/over-exposure/package.json +6 -0
  327. package/linters/package.json +6 -0
  328. package/package.json +329 -13
  329. package/test-runners/index/package.json +6 -0
  330. package/test-runners/package.json +6 -0
  331. package/test-runners/vitest/package.json +6 -0
  332. package/test-runners/vitest-config/package.json +6 -0
@@ -0,0 +1,178 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function () {
7
+ function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
+ symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
+ }
11
+
12
+ function ensureBrowserProcess() {
13
+ const browserProcess = {
14
+ browser: true,
15
+ cwd() {
16
+ return '/';
17
+ },
18
+ env: {},
19
+ platform: 'android'
20
+ };
21
+
22
+ const existingProcess = globalThis.process;
23
+
24
+ if (!existingProcess) {
25
+ globalThis.process = browserProcess;
26
+ return;
27
+ }
28
+
29
+ if (existingProcess.versions?.node) {
30
+ return;
31
+ }
32
+
33
+ const existingProcessRecord = existingProcess;
34
+
35
+ for (const [key, value] of Object.entries(browserProcess)) {
36
+ existingProcessRecord[key] ??= value;
37
+ }
38
+
39
+ existingProcessRecord['browser'] = true;
40
+ }
41
+
42
+ function keepName($unknown) {
43
+ return $unknown;
44
+ }
45
+
46
+ (function initCjs() {
47
+ const globalThisRecord = globalThis;
48
+ ensureDisposeSymbols();
49
+ globalThisRecord['__name'] ??= keepName;
50
+ globalThisRecord['__extractDefault'] ??= extractDefault;
51
+
52
+ ensureBrowserProcess();
53
+
54
+ // eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
55
+ function extractDefault(module) {
56
+ return module && module.__esModule && 'default' in module ? module.default : module;
57
+ }
58
+ })();
59
+ })();
60
+
61
+ "use strict";
62
+ var __defProp = Object.defineProperty;
63
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
64
+ var __getOwnPropNames = Object.getOwnPropertyNames;
65
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
66
+ var __export = (target, all) => {
67
+ for (var name in all)
68
+ __defProp(target, name, { get: all[name], enumerable: true });
69
+ };
70
+ var __copyProps = (to, from, except, desc) => {
71
+ if (from && typeof from === "object" || typeof from === "function") {
72
+ for (let key of __getOwnPropNames(from))
73
+ if (!__hasOwnProp.call(to, key) && key !== except)
74
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
75
+ }
76
+ return to;
77
+ };
78
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
79
+ var released_issues_exports = {};
80
+ __export(released_issues_exports, {
81
+ closeReleasedIssues: () => closeReleasedIssues,
82
+ getIssueReferences: () => getIssueReferences
83
+ });
84
+ module.exports = __toCommonJS(released_issues_exports);
85
+ var import_error = require('@mnaoumov/typescript-lib/error');
86
+ var import_reg_exp = require('@mnaoumov/typescript-lib/reg-exp');
87
+ var import_root = require('./root.cjs');
88
+ async function closeReleasedIssues(params) {
89
+ const { newVersion } = params;
90
+ const repoUrl = await (0, import_root.execFromRoot)("gh repo view --json url -q .url", { isQuiet: true });
91
+ const repoSlug = toRepoSlug(repoUrl);
92
+ if (!repoSlug) {
93
+ console.warn(`Not closing the released issues: '${repoUrl}' is not a GitHub repository URL.`);
94
+ return [];
95
+ }
96
+ const previousTag = await (0, import_root.execFromRoot)(["git", "describe", "--tags", "--abbrev=0", `${newVersion}^`], {
97
+ isQuiet: true,
98
+ shouldIgnoreExitCode: true
99
+ });
100
+ const commitRange = previousTag ? `${previousTag}..${newVersion}` : newVersion;
101
+ const commitMessagesString = await (0, import_root.execFromRoot)(["git", "log", commitRange, "--format=%B", "-z"], { isQuiet: true });
102
+ const references = getIssueReferences({ commitMessages: commitMessagesString.split("\0"), repoSlug });
103
+ const releaseUrl = `${repoUrl}/releases/tag/${newVersion}`;
104
+ const failedNumbers = [];
105
+ const leftOpenLines = [];
106
+ for (const reference of references) {
107
+ try {
108
+ const issue = JSON.parse(await (0, import_root.execFromRoot)(["gh", "api", `repos/${repoSlug}/issues/${String(reference.number)}`], { isQuiet: true }));
109
+ if (issue.pull_request !== void 0) {
110
+ continue;
111
+ }
112
+ const comment = `${issue.labels.some((label) => /bug/i.test(label.name)) ? "Fixed in" : "Implemented in"} ${releaseUrl}`;
113
+ const isOpen = issue.state === "open";
114
+ if (!reference.isClosing) {
115
+ if (isOpen) {
116
+ leftOpenLines.push(` #${String(reference.number)} ${issue.title}`);
117
+ }
118
+ continue;
119
+ }
120
+ if (isOpen) {
121
+ await (0, import_root.execFromRoot)(["gh", "issue", "close", String(reference.number), "-R", repoSlug, "--reason", "completed", "--comment", comment], {
122
+ isQuiet: true
123
+ });
124
+ console.warn(`Closed #${String(reference.number)} ${issue.title}: ${comment}`);
125
+ continue;
126
+ }
127
+ if (issue.state_reason !== "completed" || await hasCommentContaining(repoSlug, reference.number, releaseUrl)) {
128
+ continue;
129
+ }
130
+ await (0, import_root.execFromRoot)(["gh", "issue", "comment", String(reference.number), "-R", repoSlug, "--body", comment], { isQuiet: true });
131
+ console.warn(`Commented on the already closed #${String(reference.number)} ${issue.title}: ${comment}`);
132
+ } catch (error) {
133
+ failedNumbers.push(reference.number);
134
+ console.warn(`Could not process issue #${String(reference.number)} of ${repoSlug}: ${(0, import_error.errorToString)(error)}`);
135
+ }
136
+ }
137
+ if (leftOpenLines.length > 0) {
138
+ console.warn(
139
+ `Left open: the release names these issues without a closing keyword, so whether they are finished is not known here:
140
+ ${leftOpenLines.join("\n")}`
141
+ );
142
+ }
143
+ return failedNumbers;
144
+ }
145
+ function getIssueReferences(params) {
146
+ const { commitMessages, repoSlug } = params;
147
+ const escapedSlug = (0, import_reg_exp.escapeRegExp)(repoSlug);
148
+ const regExp = new RegExp(
149
+ String.raw`(?<keyword>\b(?:close[sd]?|fix(?:e[sd])?|resolve[sd]?):?\s+)?(?:https?://github\.com/${escapedSlug}/(?:issues|pull)/(?<urlNumber>\d+)|(?<![\w.-])${escapedSlug}#(?<slugNumber>\d+)\b|(?<![\w/&#.-])#(?<bareNumber>\d{1,6})\b)`,
150
+ "gi"
151
+ );
152
+ const closingFlagByNumber = /* @__PURE__ */ new Map();
153
+ for (const commitMessage of commitMessages) {
154
+ for (const match of commitMessage.matchAll(regExp)) {
155
+ const number = Number(
156
+ (0, import_reg_exp.getOptionalNamedGroup)(match, "urlNumber") ?? (0, import_reg_exp.getOptionalNamedGroup)(match, "slugNumber") ?? (0, import_reg_exp.getOptionalNamedGroup)(match, "bareNumber")
157
+ );
158
+ closingFlagByNumber.set(number, (closingFlagByNumber.get(number) ?? false) || (0, import_reg_exp.getOptionalNamedGroup)(match, "keyword") !== null);
159
+ }
160
+ }
161
+ return [...closingFlagByNumber].sort(([number1], [number2]) => number1 - number2).map(([number, isClosing]) => ({ isClosing, number }));
162
+ }
163
+ async function hasCommentContaining(repoSlug, issueNumber, text) {
164
+ const bodies = await (0, import_root.execFromRoot)(["gh", "api", "--paginate", `repos/${repoSlug}/issues/${String(issueNumber)}/comments`, "--jq", ".[].body"], {
165
+ isQuiet: true
166
+ });
167
+ return bodies.includes(text);
168
+ }
169
+ function toRepoSlug(repoUrl) {
170
+ const match = /^https:\/\/github\.com\/(?<slug>[^/]+\/[^/]+?)\/?$/.exec(repoUrl);
171
+ return match?.groups?.["slug"] ?? null;
172
+ }
173
+ // Annotate the CommonJS export names for ESM import in node:
174
+ 0 && (module.exports = {
175
+ closeReleasedIssues,
176
+ getIssueReferences
177
+ });
178
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlbGVhc2VkLWlzc3Vlcy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENsb3NlcyB0aGUgR2l0SHViIGlzc3VlcyBhIHJlbGVhc2UgY2Fycmllcywgd2l0aCBhIGNvbW1lbnQgbGlua2luZyB0aGUgcmVsZWFzZS5cbiAqXG4gKiBBbiBpc3N1ZSB0aGF0IGEgY29tbWl0IGluIHRoZSByZWxlYXNlIG5hbWVzIHdpdGggYSBjbG9zaW5nIGtleXdvcmQgKGBmaXhlcyAjMTJgLCBgY2xvc2VzICMxMmAsIGByZXNvbHZlcyAjMTJgLFxuICogYW5kIHRoZWlyIG90aGVyIHRlbnNlcykgaXMgY2xvc2VkIGFzIGNvbXBsZXRlZCwgd2l0aCBgRml4ZWQgaW4gPHJlbGVhc2UgVVJMPmAgd2hlbiBpdCBjYXJyaWVzIGEgYGJ1Z2AgbGFiZWwgYW5kXG4gKiBgSW1wbGVtZW50ZWQgaW4gPHJlbGVhc2UgVVJMPmAgb3RoZXJ3aXNlLiBUaGUgVVJMIGlzIHRoZSBgcmVsZWFzZXMvdGFnLzx2ZXJzaW9uPmAgcGFnZSwgd2hpY2ggZXhpc3RzIGJ5IHRoZSB0aW1lXG4gKiB0aGlzIHJ1bnMuXG4gKlxuICogT25seSBhIGNsb3Npbmcga2V5d29yZCBjbG9zZXMgYW55dGhpbmcuIEEgYmFyZSBtZW50aW9uIChgcmUgIzEyYCwgYCgjMTIpYCwgdGhlIGlzc3VlIFVSTCkgaXMgb2Z0ZW4gb25lIHN0ZXAgb2ZcbiAqIHVuZmluaXNoZWQgd29yaywgYW5kIHRoaXMgbW9kdWxlIGNhbm5vdCBrbm93IHdoZXRoZXIgdGhlIHJlc3QgaGFzIGxhbmRlZCwgc28gc3VjaCBhbiBpc3N1ZSBpcyBsaXN0ZWQgYXMgbGVmdCBvcGVuXG4gKiBhbmQgbm90aGluZyBpcyBwb3N0ZWQgdG8gaXQuXG4gKlxuICogR2l0SHViIGl0c2VsZiBjbG9zZXMgYW4gaXNzdWUgbmFtZWQgd2l0aCBhIGNsb3Npbmcga2V5d29yZCBhcyBzb29uIGFzIHRoZSBjb21taXQgcmVhY2hlcyB0aGUgZGVmYXVsdCBicmFuY2ggXHUyMDE0XG4gKiBiZWZvcmUgdGhlIHJlbGVhc2UsIGFuZCB3aXRob3V0IHNheWluZyB3aGljaCByZWxlYXNlIGNhcnJpZXMgdGhlIGNoYW5nZS4gU28gYW4gaXNzdWUgdGhhdCBpcyBhbHJlYWR5IGNsb3NlZCBhc1xuICogY29tcGxldGVkIHN0aWxsIGdldHMgdGhlIHJlbGVhc2UgbGluaywgdW5sZXNzIG9uZSBvZiBpdHMgY29tbWVudHMgYWxyZWFkeSBjYXJyaWVzIHRoaXMgcmVsZWFzZSdzIFVSTCwgd2hpY2ggYWxzb1xuICogbWFrZXMgYSBzZWNvbmQgcnVuIHBvc3Qgbm90aGluZy5cbiAqL1xuXG5pbXBvcnQgeyBlcnJvclRvU3RyaW5nIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Vycm9yJztcbmltcG9ydCB7XG4gIGVzY2FwZVJlZ0V4cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcblxuaW1wb3J0IHsgZXhlY0Zyb21Sb290IH0gZnJvbSAnLi9yb290LnRzJztcblxuLyoqXG4gKiBQYXJhbXMgZm9yIHtAbGluayBjbG9zZVJlbGVhc2VkSXNzdWVzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbG9zZVJlbGVhc2VkSXNzdWVzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIGp1c3QgcmVsZWFzZWQuIEl0cyB0YWcgbXVzdCBleGlzdCBsb2NhbGx5IGFuZCBpdHMgR2l0SHViIHJlbGVhc2UgbXVzdCBiZSBwdWJsaXNoZWQuXG4gICAqL1xuICByZWFkb25seSBuZXdWZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1zIGZvciB7QGxpbmsgZ2V0SXNzdWVSZWZlcmVuY2VzfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRJc3N1ZVJlZmVyZW5jZXNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGNvbW1pdCBtZXNzYWdlcyB0byByZWFkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWl0TWVzc2FnZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgYDxvd25lcj4vPG5hbWU+YCBvZiB0aGUgcmVwb3NpdG9yeSB3aG9zZSBpc3N1ZXMgY291bnQuIEEgcmVmZXJlbmNlIGludG8gYW55IG90aGVyIHJlcG9zaXRvcnkgaXMgaWdub3JlZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9TbHVnOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gaXNzdWUgbnVtYmVyIG5hbWVkIGJ5IHRoZSBjb21taXQgbWVzc2FnZXMgb2YgYSByZWxlYXNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElzc3VlUmVmZXJlbmNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgYXQgbGVhc3Qgb25lIG1lbnRpb24gdXNlZCBhIGNsb3Npbmcga2V5d29yZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzQ2xvc2luZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGlzc3VlIG9yIHB1bGwgcmVxdWVzdCBudW1iZXIuXG4gICAqL1xuICByZWFkb25seSBudW1iZXI6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEdpdEh1Yklzc3VlIHtcbiAgcmVhZG9ubHkgbGFiZWxzOiByZWFkb25seSBHaXRIdWJMYWJlbFtdO1xuICByZWFkb25seSBwdWxsX3JlcXVlc3Q/OiB1bmtub3duO1xuICByZWFkb25seSBzdGF0ZTogc3RyaW5nO1xuICByZWFkb25seSBzdGF0ZV9yZWFzb24/OiBudWxsIHwgc3RyaW5nO1xuICByZWFkb25seSB0aXRsZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgR2l0SHViTGFiZWwge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2xvc2VzIHRoZSBpc3N1ZXMgdGhlIHJlbGVhc2Ugb2Yge0BsaW5rIENsb3NlUmVsZWFzZWRJc3N1ZXNQYXJhbXMubmV3VmVyc2lvbn0gY2FycmllcywgYXMgZGVzY3JpYmVkIGluIHRoZSBmaWxlXG4gKiBvdmVydmlldy5cbiAqXG4gKiBBIGZhaWx1cmUgdG8gcmVhZCBvciB1cGRhdGUgb25lIGlzc3VlIGlzIHJlcG9ydGVkIGFuZCB0aGUgcmVzdCBhcmUgc3RpbGwgcHJvY2Vzc2VkLCBiZWNhdXNlIHRoZSByZWxlYXNlIGlzXG4gKiBhbHJlYWR5IHB1Ymxpc2hlZCBieSB0aGUgdGltZSB0aGlzIHJ1bnMgYW5kIG5vdGhpbmcgYWJvdXQgaXQgY2FuIGJlIHVuZG9uZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHtAbGluayBDbG9zZVJlbGVhc2VkSXNzdWVzUGFyYW1zfS5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG51bWJlcnMgb2YgdGhlIGlzc3VlcyB0aGF0IGNvdWxkIG5vdCBiZSBwcm9jZXNzZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjbG9zZVJlbGVhc2VkSXNzdWVzKHBhcmFtczogQ2xvc2VSZWxlYXNlZElzc3Vlc1BhcmFtcyk6IFByb21pc2U8bnVtYmVyW10+IHtcbiAgY29uc3QgeyBuZXdWZXJzaW9uIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHJlcG9VcmwgPSBhd2FpdCBleGVjRnJvbVJvb3QoJ2doIHJlcG8gdmlldyAtLWpzb24gdXJsIC1xIC51cmwnLCB7IGlzUXVpZXQ6IHRydWUgfSk7XG4gIGNvbnN0IHJlcG9TbHVnID0gdG9SZXBvU2x1ZyhyZXBvVXJsKTtcbiAgaWYgKCFyZXBvU2x1Zykge1xuICAgIGNvbnNvbGUud2FybihgTm90IGNsb3NpbmcgdGhlIHJlbGVhc2VkIGlzc3VlczogJyR7cmVwb1VybH0nIGlzIG5vdCBhIEdpdEh1YiByZXBvc2l0b3J5IFVSTC5gKTtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBjb25zdCBwcmV2aW91c1RhZyA9IGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2dpdCcsICdkZXNjcmliZScsICctLXRhZ3MnLCAnLS1hYmJyZXY9MCcsIGAke25ld1ZlcnNpb259XmBdLCB7XG4gICAgaXNRdWlldDogdHJ1ZSxcbiAgICBzaG91bGRJZ25vcmVFeGl0Q29kZTogdHJ1ZVxuICB9KTtcbiAgY29uc3QgY29tbWl0UmFuZ2UgPSBwcmV2aW91c1RhZyA/IGAke3ByZXZpb3VzVGFnfS4uJHtuZXdWZXJzaW9ufWAgOiBuZXdWZXJzaW9uO1xuICBjb25zdCBjb21taXRNZXNzYWdlc1N0cmluZyA9IGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2dpdCcsICdsb2cnLCBjb21taXRSYW5nZSwgJy0tZm9ybWF0PSVCJywgJy16J10sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgY29uc3QgcmVmZXJlbmNlcyA9IGdldElzc3VlUmVmZXJlbmNlcyh7IGNvbW1pdE1lc3NhZ2VzOiBjb21taXRNZXNzYWdlc1N0cmluZy5zcGxpdCgnXFwwJyksIHJlcG9TbHVnIH0pO1xuICBjb25zdCByZWxlYXNlVXJsID0gYCR7cmVwb1VybH0vcmVsZWFzZXMvdGFnLyR7bmV3VmVyc2lvbn1gO1xuICBjb25zdCBmYWlsZWROdW1iZXJzOiBudW1iZXJbXSA9IFtdO1xuICBjb25zdCBsZWZ0T3BlbkxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHJlZmVyZW5jZXMpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaXNzdWUgPSBKU09OLnBhcnNlKGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ2FwaScsIGByZXBvcy8ke3JlcG9TbHVnfS9pc3N1ZXMvJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9YF0sIHsgaXNRdWlldDogdHJ1ZSB9KSkgYXMgR2l0SHViSXNzdWU7XG4gICAgICBpZiAoaXNzdWUucHVsbF9yZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGNvbW1lbnQgPSBgJHtpc3N1ZS5sYWJlbHMuc29tZSgobGFiZWwpID0+IC9idWcvaS50ZXN0KGxhYmVsLm5hbWUpKSA/ICdGaXhlZCBpbicgOiAnSW1wbGVtZW50ZWQgaW4nfSAke3JlbGVhc2VVcmx9YDtcbiAgICAgIGNvbnN0IGlzT3BlbiA9IGlzc3VlLnN0YXRlID09PSAnb3Blbic7XG5cbiAgICAgIGlmICghcmVmZXJlbmNlLmlzQ2xvc2luZykge1xuICAgICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgbGVmdE9wZW5MaW5lcy5wdXNoKGAgICMke1N0cmluZyhyZWZlcmVuY2UubnVtYmVyKX0gJHtpc3N1ZS50aXRsZX1gKTtcbiAgICAgICAgfVxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzT3Blbikge1xuICAgICAgICBhd2FpdCBleGVjRnJvbVJvb3QoWydnaCcsICdpc3N1ZScsICdjbG9zZScsIFN0cmluZyhyZWZlcmVuY2UubnVtYmVyKSwgJy1SJywgcmVwb1NsdWcsICctLXJlYXNvbicsICdjb21wbGV0ZWQnLCAnLS1jb21tZW50JywgY29tbWVudF0sIHtcbiAgICAgICAgICBpc1F1aWV0OiB0cnVlXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLndhcm4oYENsb3NlZCAjJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9ICR7aXNzdWUudGl0bGV9OiAke2NvbW1lbnR9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNzdWUuc3RhdGVfcmVhc29uICE9PSAnY29tcGxldGVkJyB8fCBhd2FpdCBoYXNDb21tZW50Q29udGFpbmluZyhyZXBvU2x1ZywgcmVmZXJlbmNlLm51bWJlciwgcmVsZWFzZVVybCkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ2doJywgJ2lzc3VlJywgJ2NvbW1lbnQnLCBTdHJpbmcocmVmZXJlbmNlLm51bWJlciksICctUicsIHJlcG9TbHVnLCAnLS1ib2R5JywgY29tbWVudF0sIHsgaXNRdWlldDogdHJ1ZSB9KTtcbiAgICAgIGNvbnNvbGUud2FybihgQ29tbWVudGVkIG9uIHRoZSBhbHJlYWR5IGNsb3NlZCAjJHtTdHJpbmcocmVmZXJlbmNlLm51bWJlcil9ICR7aXNzdWUudGl0bGV9OiAke2NvbW1lbnR9YCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGZhaWxlZE51bWJlcnMucHVzaChyZWZlcmVuY2UubnVtYmVyKTtcbiAgICAgIGNvbnNvbGUud2FybihgQ291bGQgbm90IHByb2Nlc3MgaXNzdWUgIyR7U3RyaW5nKHJlZmVyZW5jZS5udW1iZXIpfSBvZiAke3JlcG9TbHVnfTogJHtlcnJvclRvU3RyaW5nKGVycm9yKX1gKTtcbiAgICB9XG4gIH1cblxuICBpZiAobGVmdE9wZW5MaW5lcy5sZW5ndGggPiAwKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgYExlZnQgb3BlbjogdGhlIHJlbGVhc2UgbmFtZXMgdGhlc2UgaXNzdWVzIHdpdGhvdXQgYSBjbG9zaW5nIGtleXdvcmQsIHNvIHdoZXRoZXIgdGhleSBhcmUgZmluaXNoZWQgaXMgbm90IGtub3duIGhlcmU6XFxuJHtsZWZ0T3BlbkxpbmVzLmpvaW4oJ1xcbicpfWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGZhaWxlZE51bWJlcnM7XG59XG5cbi8qKlxuICogQ29sbGVjdHMgdGhlIGlzc3VlIG51bWJlcnMgb2Ygb25lIHJlcG9zaXRvcnkgdGhhdCBhIHNldCBvZiBjb21taXQgbWVzc2FnZXMgbmFtZXMsIGFuZCB3aGV0aGVyIGVhY2ggd2FzIG5hbWVkIHdpdGhcbiAqIGEgY2xvc2luZyBrZXl3b3JkLlxuICpcbiAqIFRocmVlIGZvcm1zIGNvdW50OiBhIGJhcmUgYCMxMmAsIGA8b3duZXI+LzxuYW1lPiMxMmAsIGFuZCB0aGUgcmVwb3NpdG9yeSdzIGBpc3N1ZXMvMTJgIG9yIGBwdWxsLzEyYCBVUkwuIEEgYmFyZVxuICogYCMxMmAgZ2x1ZWQgdG8gYSBwcmVjZWRpbmcgdG9rZW4gKGBvdGhlciMxMmAsIGBvdGhlci9yZXBvIzEyYCwgYCYjMTJgKSBkb2VzIG5vdC4gQSBtZW50aW9uIGlzIGNsb3Npbmcgd2hlblxuICogR2l0SHViJ3Mgb3duIGNsb3Npbmcga2V5d29yZCBwcmVjZWRlcyBpdCBkaXJlY3RseTogYGNsb3NlYCwgYGNsb3Nlc2AsIGBjbG9zZWRgLCBgZml4YCwgYGZpeGVzYCwgYGZpeGVkYCxcbiAqIGByZXNvbHZlYCwgYHJlc29sdmVzYCBvciBgcmVzb2x2ZWRgLCBpbiBhbnkgY2FzZSwgb3B0aW9uYWxseSBmb2xsb3dlZCBieSBhIGNvbG9uLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIEdldElzc3VlUmVmZXJlbmNlc1BhcmFtc30uXG4gKiBAcmV0dXJucyBUaGUgcmVmZXJlbmNlcywgc29ydGVkIGJ5IG51bWJlciwgb25lIHBlciBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRJc3N1ZVJlZmVyZW5jZXMocGFyYW1zOiBHZXRJc3N1ZVJlZmVyZW5jZXNQYXJhbXMpOiBJc3N1ZVJlZmVyZW5jZVtdIHtcbiAgY29uc3QgeyBjb21taXRNZXNzYWdlcywgcmVwb1NsdWcgfSA9IHBhcmFtcztcbiAgY29uc3QgZXNjYXBlZFNsdWcgPSBlc2NhcGVSZWdFeHAocmVwb1NsdWcpO1xuICBjb25zdCByZWdFeHAgPSBuZXcgUmVnRXhwKFxuICAgIFN0cmluZy5yYXdgKD88a2V5d29yZD5cXGIoPzpjbG9zZVtzZF0/fGZpeCg/OmVbc2RdKT98cmVzb2x2ZVtzZF0/KTo/XFxzKyk/KD86aHR0cHM/Oi8vZ2l0aHViXFwuY29tLyR7ZXNjYXBlZFNsdWd9Lyg/Omlzc3Vlc3xwdWxsKS8oPzx1cmxOdW1iZXI+XFxkKyl8KD88IVtcXHcuLV0pJHtlc2NhcGVkU2x1Z30jKD88c2x1Z051bWJlcj5cXGQrKVxcYnwoPzwhW1xcdy8mIy4tXSkjKD88YmFyZU51bWJlcj5cXGR7MSw2fSlcXGIpYCxcbiAgICAnZ2knXG4gICk7XG4gIGNvbnN0IGNsb3NpbmdGbGFnQnlOdW1iZXIgPSBuZXcgTWFwPG51bWJlciwgYm9vbGVhbj4oKTtcblxuICBmb3IgKGNvbnN0IGNvbW1pdE1lc3NhZ2Ugb2YgY29tbWl0TWVzc2FnZXMpIHtcbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGNvbW1pdE1lc3NhZ2UubWF0Y2hBbGwocmVnRXhwKSkge1xuICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKFxuICAgICAgICBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICd1cmxOdW1iZXInKSA/PyBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICdzbHVnTnVtYmVyJykgPz8gZ2V0T3B0aW9uYWxOYW1lZEdyb3VwKG1hdGNoLCAnYmFyZU51bWJlcicpXG4gICAgICApO1xuICAgICAgY2xvc2luZ0ZsYWdCeU51bWJlci5zZXQobnVtYmVyLCAoY2xvc2luZ0ZsYWdCeU51bWJlci5nZXQobnVtYmVyKSA/PyBmYWxzZSkgfHwgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwKG1hdGNoLCAna2V5d29yZCcpICE9PSBudWxsKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gWy4uLmNsb3NpbmdGbGFnQnlOdW1iZXJdXG4gICAgLnNvcnQoKFtudW1iZXIxXSwgW251bWJlcjJdKSA9PiBudW1iZXIxIC0gbnVtYmVyMilcbiAgICAubWFwKChbbnVtYmVyLCBpc0Nsb3NpbmddKSA9PiAoeyBpc0Nsb3NpbmcsIG51bWJlciB9KSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhc0NvbW1lbnRDb250YWluaW5nKHJlcG9TbHVnOiBzdHJpbmcsIGlzc3VlTnVtYmVyOiBudW1iZXIsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBjb25zdCBib2RpZXMgPSBhd2FpdCBleGVjRnJvbVJvb3QoWydnaCcsICdhcGknLCAnLS1wYWdpbmF0ZScsIGByZXBvcy8ke3JlcG9TbHVnfS9pc3N1ZXMvJHtTdHJpbmcoaXNzdWVOdW1iZXIpfS9jb21tZW50c2AsICctLWpxJywgJy5bXS5ib2R5J10sIHtcbiAgICBpc1F1aWV0OiB0cnVlXG4gIH0pO1xuICByZXR1cm4gYm9kaWVzLmluY2x1ZGVzKHRleHQpO1xufVxuXG5mdW5jdGlvbiB0b1JlcG9TbHVnKHJlcG9Vcmw6IHN0cmluZyk6IG51bGwgfCBzdHJpbmcge1xuICBjb25zdCBtYXRjaCA9IC9eaHR0cHM6XFwvXFwvZ2l0aHViXFwuY29tXFwvKD88c2x1Zz5bXi9dK1xcL1teL10rPylcXC8/JC8uZXhlYyhyZXBvVXJsKTtcbiAgcmV0dXJuIG1hdGNoPy5ncm91cHM/Llsnc2x1ZyddID8/IG51bGw7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFvQkEsbUJBQThCO0FBQzlCLHFCQUdPO0FBRVAsa0JBQTZCO0FBZ0U3QixlQUFzQixvQkFBb0IsUUFBc0Q7QUFDOUYsUUFBTSxFQUFFLFdBQVcsSUFBSTtBQUN2QixRQUFNLFVBQVUsVUFBTSwwQkFBYSxtQ0FBbUMsRUFBRSxTQUFTLEtBQUssQ0FBQztBQUN2RixRQUFNLFdBQVcsV0FBVyxPQUFPO0FBQ25DLE1BQUksQ0FBQyxVQUFVO0FBQ2IsWUFBUSxLQUFLLHFDQUFxQyxPQUFPLG1DQUFtQztBQUM1RixXQUFPLENBQUM7QUFBQSxFQUNWO0FBRUEsUUFBTSxjQUFjLFVBQU0sMEJBQWEsQ0FBQyxPQUFPLFlBQVksVUFBVSxjQUFjLEdBQUcsVUFBVSxHQUFHLEdBQUc7QUFBQSxJQUNwRyxTQUFTO0FBQUEsSUFDVCxzQkFBc0I7QUFBQSxFQUN4QixDQUFDO0FBQ0QsUUFBTSxjQUFjLGNBQWMsR0FBRyxXQUFXLEtBQUssVUFBVSxLQUFLO0FBQ3BFLFFBQU0sdUJBQXVCLFVBQU0sMEJBQWEsQ0FBQyxPQUFPLE9BQU8sYUFBYSxlQUFlLElBQUksR0FBRyxFQUFFLFNBQVMsS0FBSyxDQUFDO0FBQ25ILFFBQU0sYUFBYSxtQkFBbUIsRUFBRSxnQkFBZ0IscUJBQXFCLE1BQU0sSUFBSSxHQUFH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
@@ -0,0 +1,79 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Closes the GitHub issues a release carries, with a comment linking the release.
6
+ *
7
+ * An issue that a commit in the release names with a closing keyword (`fixes #12`, `closes #12`, `resolves #12`,
8
+ * and their other tenses) is closed as completed, with `Fixed in <release URL>` when it carries a `bug` label and
9
+ * `Implemented in <release URL>` otherwise. The URL is the `releases/tag/<version>` page, which exists by the time
10
+ * this runs.
11
+ *
12
+ * Only a closing keyword closes anything. A bare mention (`re #12`, `(#12)`, the issue URL) is often one step of
13
+ * unfinished work, and this module cannot know whether the rest has landed, so such an issue is listed as left open
14
+ * and nothing is posted to it.
15
+ *
16
+ * GitHub itself closes an issue named with a closing keyword as soon as the commit reaches the default branch —
17
+ * before the release, and without saying which release carries the change. So an issue that is already closed as
18
+ * completed still gets the release link, unless one of its comments already carries this release's URL, which also
19
+ * makes a second run post nothing.
20
+ */
21
+ /**
22
+ * Params for {@link closeReleasedIssues}.
23
+ */
24
+ export interface CloseReleasedIssuesParams {
25
+ /**
26
+ * The version just released. Its tag must exist locally and its GitHub release must be published.
27
+ */
28
+ readonly newVersion: string;
29
+ }
30
+ /**
31
+ * Params for {@link getIssueReferences}.
32
+ */
33
+ export interface GetIssueReferencesParams {
34
+ /**
35
+ * The commit messages to read.
36
+ */
37
+ readonly commitMessages: readonly string[];
38
+ /**
39
+ * The `<owner>/<name>` of the repository whose issues count. A reference into any other repository is ignored.
40
+ */
41
+ readonly repoSlug: string;
42
+ }
43
+ /**
44
+ * An issue number named by the commit messages of a release.
45
+ */
46
+ export interface IssueReference {
47
+ /**
48
+ * Whether at least one mention used a closing keyword.
49
+ */
50
+ readonly isClosing: boolean;
51
+ /**
52
+ * The issue or pull request number.
53
+ */
54
+ readonly number: number;
55
+ }
56
+ /**
57
+ * Closes the issues the release of {@link CloseReleasedIssuesParams.newVersion} carries, as described in the file
58
+ * overview.
59
+ *
60
+ * A failure to read or update one issue is reported and the rest are still processed, because the release is
61
+ * already published by the time this runs and nothing about it can be undone.
62
+ *
63
+ * @param params - The {@link CloseReleasedIssuesParams}.
64
+ * @returns A {@link Promise} that resolves to the numbers of the issues that could not be processed.
65
+ */
66
+ export declare function closeReleasedIssues(params: CloseReleasedIssuesParams): Promise<number[]>;
67
+ /**
68
+ * Collects the issue numbers of one repository that a set of commit messages names, and whether each was named with
69
+ * a closing keyword.
70
+ *
71
+ * Three forms count: a bare `#12`, `<owner>/<name>#12`, and the repository's `issues/12` or `pull/12` URL. A bare
72
+ * `#12` glued to a preceding token (`other#12`, `other/repo#12`, `&#12`) does not. A mention is closing when
73
+ * GitHub's own closing keyword precedes it directly: `close`, `closes`, `closed`, `fix`, `fixes`, `fixed`,
74
+ * `resolve`, `resolves` or `resolved`, in any case, optionally followed by a colon.
75
+ *
76
+ * @param params - The {@link GetIssueReferencesParams}.
77
+ * @returns The references, sorted by number, one per number.
78
+ */
79
+ export declare function getIssueReferences(params: GetIssueReferencesParams): IssueReference[];
@@ -0,0 +1,167 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function () {
7
+ function ensureDisposeSymbols(symbolConstructor = Symbol) {
8
+ symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
9
+ symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
10
+ }
11
+
12
+ function ensureBrowserProcess() {
13
+ const browserProcess = {
14
+ browser: true,
15
+ cwd() {
16
+ return '/';
17
+ },
18
+ env: {},
19
+ platform: 'android'
20
+ };
21
+
22
+ const existingProcess = globalThis.process;
23
+
24
+ if (!existingProcess) {
25
+ globalThis.process = browserProcess;
26
+ return;
27
+ }
28
+
29
+ if (existingProcess.versions?.node) {
30
+ return;
31
+ }
32
+
33
+ const existingProcessRecord = existingProcess;
34
+
35
+ for (const [key, value] of Object.entries(browserProcess)) {
36
+ existingProcessRecord[key] ??= value;
37
+ }
38
+
39
+ existingProcessRecord['browser'] = true;
40
+ }
41
+
42
+ function keepName($unknown) {
43
+ return $unknown;
44
+ }
45
+
46
+ (function initCjs() {
47
+ const globalThisRecord = globalThis;
48
+ ensureDisposeSymbols();
49
+ globalThisRecord['__name'] ??= keepName;
50
+ globalThisRecord['__extractDefault'] ??= extractDefault;
51
+
52
+ ensureBrowserProcess();
53
+
54
+ // eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
55
+ function extractDefault(module) {
56
+ return module && module.__esModule && 'default' in module ? module.default : module;
57
+ }
58
+ })();
59
+ })();
60
+
61
+ "use strict";
62
+ var __defProp = Object.defineProperty;
63
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
64
+ var __getOwnPropNames = Object.getOwnPropertyNames;
65
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
66
+ var __export = (target, all) => {
67
+ for (var name in all)
68
+ __defProp(target, name, { get: all[name], enumerable: true });
69
+ };
70
+ var __copyProps = (to, from, except, desc) => {
71
+ if (from && typeof from === "object" || typeof from === "function") {
72
+ for (let key of __getOwnPropNames(from))
73
+ if (!__hasOwnProp.call(to, key) && key !== except)
74
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
75
+ }
76
+ return to;
77
+ };
78
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
79
+ var repo_paths_exports = {};
80
+ __export(repo_paths_exports, {
81
+ RepoPaths: () => RepoPaths
82
+ });
83
+ module.exports = __toCommonJS(repo_paths_exports);
84
+ var RepoPaths = /* @__PURE__ */ ((RepoPaths2) => {
85
+ RepoPaths2["Any"] = "*";
86
+ RepoPaths2["AnyCjs"] = "*.cjs";
87
+ RepoPaths2["AnyDcts"] = "*.d.cts";
88
+ RepoPaths2["AnyDmts"] = "*.d.mts";
89
+ RepoPaths2["AnyDts"] = "*.d.ts";
90
+ RepoPaths2["AnyMjs"] = "*.mjs";
91
+ RepoPaths2["AnyPath"] = "**";
92
+ RepoPaths2["AnyTestTs"] = "*.test.ts";
93
+ RepoPaths2["AnyTs"] = "*.ts";
94
+ RepoPaths2["AnyTsx"] = "*.tsx";
95
+ RepoPaths2["BatExtension"] = ".bat";
96
+ RepoPaths2["Bin"] = ".bin";
97
+ RepoPaths2["BunLock"] = "bun.lock";
98
+ RepoPaths2["BunLockb"] = "bun.lockb";
99
+ RepoPaths2["ChangelogMd"] = "CHANGELOG.md";
100
+ RepoPaths2["Cjs"] = "cjs";
101
+ RepoPaths2["CjsExtension"] = ".cjs";
102
+ RepoPaths2["ClaudeWorktrees"] = ".claude/worktrees";
103
+ RepoPaths2["CommandExtension"] = ".cmd";
104
+ RepoPaths2["CommitlintConfigTs"] = "commitlint.config.ts";
105
+ RepoPaths2["CurrentFolder"] = ".";
106
+ RepoPaths2["DctsExtension"] = ".d.cts";
107
+ RepoPaths2["Dist"] = "dist";
108
+ RepoPaths2["DistLib"] = "dist/lib";
109
+ RepoPaths2["DistTemplates"] = "dist/templates";
110
+ RepoPaths2["DjsExtension"] = ".d.js";
111
+ RepoPaths2["DmtsExtension"] = ".d.mts";
112
+ RepoPaths2["DotObsidian"] = ".obsidian";
113
+ RepoPaths2["DprintJson"] = "dprint.json";
114
+ RepoPaths2["DtsExtension"] = ".d.ts";
115
+ RepoPaths2["EslintConfigCjs"] = "eslint.config.cjs";
116
+ RepoPaths2["EslintConfigCts"] = "eslint.config.cts";
117
+ RepoPaths2["EslintConfigJs"] = "eslint.config.js";
118
+ RepoPaths2["EslintConfigMjs"] = "eslint.config.mjs";
119
+ RepoPaths2["EslintConfigMts"] = "eslint.config.mts";
120
+ RepoPaths2["EslintConfigTs"] = "eslint.config.ts";
121
+ RepoPaths2["Esm"] = "esm";
122
+ RepoPaths2["ExeExtension"] = ".exe";
123
+ RepoPaths2["IndexCjs"] = "index.cjs";
124
+ RepoPaths2["IndexDcts"] = "index.d.cts";
125
+ RepoPaths2["IndexDmts"] = "index.d.mts";
126
+ RepoPaths2["IndexMjs"] = "index.mjs";
127
+ RepoPaths2["IndexTs"] = "index.ts";
128
+ RepoPaths2["JsExtension"] = ".js";
129
+ RepoPaths2["MarkdownlintCli2ConfigCjs"] = ".markdownlint-cli2.cjs";
130
+ RepoPaths2["MarkdownlintCli2ConfigJsonc"] = ".markdownlint-cli2.jsonc";
131
+ RepoPaths2["MarkdownlintCli2ConfigMjs"] = ".markdownlint-cli2.mjs";
132
+ RepoPaths2["MarkdownlintCli2ConfigYaml"] = ".markdownlint-cli2.yaml";
133
+ RepoPaths2["MarkdownlintConfigCjs"] = ".markdownlint.cjs";
134
+ RepoPaths2["MarkdownlintConfigJson"] = ".markdownlint.json";
135
+ RepoPaths2["MarkdownlintConfigJsonc"] = ".markdownlint.jsonc";
136
+ RepoPaths2["MarkdownlintConfigMjs"] = ".markdownlint.mjs";
137
+ RepoPaths2["MarkdownlintConfigYaml"] = ".markdownlint.yaml";
138
+ RepoPaths2["MarkdownlintConfigYml"] = ".markdownlint.yml";
139
+ RepoPaths2["MjsExtension"] = ".mjs";
140
+ RepoPaths2["Mocks"] = "src/test-helpers";
141
+ RepoPaths2["NodeModules"] = "node_modules";
142
+ RepoPaths2["NpmShrinkwrapJson"] = "npm-shrinkwrap.json";
143
+ RepoPaths2["PackageJson"] = "package.json";
144
+ RepoPaths2["PackageLockJson"] = "package-lock.json";
145
+ RepoPaths2["PnpmLockYaml"] = "pnpm-lock.yaml";
146
+ RepoPaths2["RootFolder"] = "/";
147
+ RepoPaths2["Scripts"] = "scripts";
148
+ RepoPaths2["Src"] = "src";
149
+ RepoPaths2["Styles"] = "styles";
150
+ RepoPaths2["StylesCss"] = "styles.css";
151
+ RepoPaths2["Templates"] = "templates";
152
+ RepoPaths2["TestHelpers"] = "test-helpers";
153
+ RepoPaths2["Tests"] = "__tests__";
154
+ RepoPaths2["TsConfigJson"] = "tsconfig.json";
155
+ RepoPaths2["TsConfigValidateDeclarationsCjsJson"] = "tsconfig.validate-declarations-cjs.json";
156
+ RepoPaths2["TsConfigValidateDeclarationsJson"] = "tsconfig.validate-declarations.json";
157
+ RepoPaths2["TsExtension"] = ".ts";
158
+ RepoPaths2["Types"] = "@types";
159
+ RepoPaths2["VitestConfigTs"] = "vitest.config.ts";
160
+ RepoPaths2["YarnLock"] = "yarn.lock";
161
+ return RepoPaths2;
162
+ })(RepoPaths || {});
163
+ // Annotate the CommonJS export names for ESM import in node:
164
+ 0 && (module.exports = {
165
+ RepoPaths
166
+ });
167
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlcG8tcGF0aHMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21tb24gZmlsZSBwYXRocyBhbmQgcGF0dGVybnMgdGhlIFR5cGVTY3JpcHQgcHJvamVjdCB0b29saW5nIHVzZXMsIHNvIHRoZSB0b29saW5nIG5ldmVyIHNwZWxscyB0aGVtIGFzXG4gKiBoYXJkY29kZWQgc3RyaW5ncy5cbiAqL1xuXG4vKipcbiAqIENvbW1vbiBmaWxlIHBhdGhzIGFuZCBwYXR0ZXJucyB1c2VkIGJ5IHRoZSBUeXBlU2NyaXB0IHByb2plY3QgdG9vbGluZy5cbiAqL1xuZXhwb3J0IGVudW0gUmVwb1BhdGhzIHtcbiAgLyoqXG4gIEFueSBmaWxlIG9yIGZvbGRlci5cbiAgICovXG4gIEFueSA9ICcqJyxcblxuICAvKipcbiAgQ29tbW9uSlMgZmlsZS5cbiAgICovXG4gIEFueUNqcyA9ICcqLmNqcycsXG5cbiAgLyoqXG4gIENvbW1vbkpTIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZS5cbiAgICovXG4gIEFueURjdHMgPSAnKi5kLmN0cycsXG5cbiAgLyoqXG4gIEVTTSBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUuXG4gICAqL1xuICBBbnlEbXRzID0gJyouZC5tdHMnLFxuXG4gIC8qKlxuICBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUuXG4gICAqL1xuICBBbnlEdHMgPSAnKi5kLnRzJyxcblxuICAvKipcbiAgRVNNIEphdmFTY3JpcHQgZmlsZS5cbiAgICovXG4gIEFueU1qcyA9ICcqLm1qcycsXG5cbiAgLyoqXG4gIEFueSBwYXRoIHJlY3Vyc2l2ZWx5LlxuICAgKi9cbiAgQW55UGF0aCA9ICcqKicsXG5cbiAgLyoqXG4gIEFueSB0ZXN0IFR5cGVTY3JpcHQgZmlsZS5cbiAgICovXG4gIEFueVRlc3RUcyA9ICcqLnRlc3QudHMnLFxuXG4gIC8qKlxuICBBbnkgVHlwZVNjcmlwdCBmaWxlLlxuICAgKi9cbiAgQW55VHMgPSAnKi50cycsXG5cbiAgLyoqXG4gIEFueSBUU1ggZmlsZS5cbiAgICovXG4gIEFueVRzeCA9ICcqLnRzeCcsXG5cbiAgLyoqXG4gIFdpbmRvd3MgYmF0Y2ggZmlsZSBleHRlbnNpb24uXG4gICAqL1xuICBCYXRFeHRlbnNpb24gPSAnLmJhdCcsXG5cbiAgLyoqXG4gIEZvbGRlciBob2xkaW5nIHRoZSBleGVjdXRhYmxlIHNoaW1zIG9mIGxvY2FsbHktaW5zdGFsbGVkIHBhY2thZ2VzLlxuICAgKi9cbiAgQmluID0gJy5iaW4nLFxuXG4gIC8qKlxuICBCdW4gbG9ja2ZpbGUuXG4gICAqL1xuICBCdW5Mb2NrID0gJ2J1bi5sb2NrJyxcblxuICAvKipcbiAgQmluYXJ5IGJ1biBsb2NrZmlsZSwgd3JpdHRlbiBieSBidW4gYmVmb3JlIHYxLjIuXG4gICAqL1xuICBCdW5Mb2NrYiA9ICdidW4ubG9ja2InLFxuXG4gIC8qKlxuICBDaGFuZ2Vsb2cgZmlsZS5cbiAgICovXG4gIENoYW5nZWxvZ01kID0gJ0NIQU5HRUxPRy5tZCcsXG5cbiAgLyoqXG4gIENvbW1vbkpTIGZvbGRlci5cbiAgICovXG4gIENqcyA9ICdjanMnLFxuXG4gIC8qKlxuICBDb21tb25KUyBmaWxlIGV4dGVuc2lvbi5cbiAgICovXG4gIENqc0V4dGVuc2lvbiA9ICcuY2pzJyxcblxuICAvKipcbiAgQ2xhdWRlIENvZGUncyB3b3JrdHJlZSBmb2xkZXIuIGBnaXQgd29ya3RyZWUgYWRkYCBwdXRzIGEgc2Vjb25kLCBjb21wbGV0ZSBjaGVja291dCBvZiB0aGUgcmVwb3NpdG9yeVxuICBoZXJlLCBJTlNJREUgdGhlIHJlcG9zaXRvcnksIHdoaWNoIGlzIHRoZSBvbmx5IHJlYXNvbiBhIHJlcG8gZXZlciBjb250YWlucyBhIGNvcHkgb2YgaXRzZWxmLiBOZXZlclxuICBzb3VyY2UsIHNvIGV2ZXJ5IGxpbnRlciB0aGF0IHdhbGtzIHRoZSB0cmVlIGhhcyB0byBza2lwIGl0LlxuICAgKi9cbiAgQ2xhdWRlV29ya3RyZWVzID0gJy5jbGF1ZGUvd29ya3RyZWVzJyxcblxuICAvKipcbiAgV2luZG93cyBjb21tYW5kIHNjcmlwdCBleHRlbnNpb24uXG4gICAqL1xuICBDb21tYW5kRXh0ZW5zaW9uID0gJy5jbWQnLFxuXG4gIC8qKlxuICBDb21taXRsaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIENvbW1pdGxpbnRDb25maWdUcyA9ICdjb21taXRsaW50LmNvbmZpZy50cycsXG5cbiAgLyoqXG4gIEN1cnJlbnQgZm9sZGVyLlxuICAgKi9cbiAgQ3VycmVudEZvbGRlciA9ICcuJyxcblxuICAvKipcbiAgQ29tbW9uSlMgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlIGV4dGVuc2lvbi5cbiAgICovXG4gIERjdHNFeHRlbnNpb24gPSAnLmQuY3RzJyxcblxuICAvKipcbiAgRGlzdHJpYnV0aW9uIGZvbGRlci5cbiAgICovXG4gIERpc3QgPSAnZGlzdCcsXG5cbiAgLyoqXG4gIEEgcGF0aCB0byB0aGUgYGxpYmAgZm9sZGVyIHdpdGhpbiB0aGUge0BsaW5rIERpc3R9IGZvbGRlci5cbiAgICovXG4gIERpc3RMaWIgPSAnZGlzdC9saWInLFxuXG4gIC8qKlxuICBBIHBhdGggdG8gdGhlIGB0ZW1wbGF0ZXNgIGZvbGRlciB3aXRoaW4gdGhlIHtAbGluayBEaXN0fSBmb2xkZXIsIGhvbGRpbmcgdGhlIGNvbnN1bWVyLWZhY2luZyB0ZW1wbGF0ZXMuXG4gICAqL1xuICBEaXN0VGVtcGxhdGVzID0gJ2Rpc3QvdGVtcGxhdGVzJyxcblxuICAvKipcbiAgVHJhbnNwaWxlZCBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUgZXh0ZW5zaW9uLlxuICAgKi9cbiAgRGpzRXh0ZW5zaW9uID0gJy5kLmpzJyxcblxuICAvKipcbiAgRVNNIFR5cGVTY3JpcHQgZGVjbGFyYXRpb24gZmlsZSBleHRlbnNpb24uXG4gICAqL1xuICBEbXRzRXh0ZW5zaW9uID0gJy5kLm10cycsXG5cbiAgLyoqXG4gIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24gZm9sZGVyIHdpdGhpbiBhIHZhdWx0LlxuICAgKi9cbiAgRG90T2JzaWRpYW4gPSAnLm9ic2lkaWFuJyxcblxuICAvKipcbiAgRHByaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIERwcmludEpzb24gPSAnZHByaW50Lmpzb24nLFxuXG4gIC8qKlxuICBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIGZpbGUgZXh0ZW5zaW9uLlxuICAgKi9cbiAgRHRzRXh0ZW5zaW9uID0gJy5kLnRzJyxcblxuICAvKipcbiAgQ29tbW9uSlMgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0NqcyA9ICdlc2xpbnQuY29uZmlnLmNqcycsXG5cbiAgLyoqXG4gIENvbW1vbkpTIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0N0cyA9ICdlc2xpbnQuY29uZmlnLmN0cycsXG5cbiAgLyoqXG4gIEphdmFTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ0pzID0gJ2VzbGludC5jb25maWcuanMnLFxuXG4gIC8qKlxuICBFU00gSmF2YVNjcmlwdCBFU0xpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgRXNsaW50Q29uZmlnTWpzID0gJ2VzbGludC5jb25maWcubWpzJyxcblxuICAvKipcbiAgRVNNIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ010cyA9ICdlc2xpbnQuY29uZmlnLm10cycsXG5cbiAgLyoqXG4gIFR5cGVTY3JpcHQgRVNMaW50IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIEVzbGludENvbmZpZ1RzID0gJ2VzbGludC5jb25maWcudHMnLFxuXG4gIC8qKlxuICBFU00gSmF2YVNjcmlwdCBmb2xkZXIuXG4gICAqL1xuICBFc20gPSAnZXNtJyxcblxuICAvKipcbiAgV2luZG93cyBleGVjdXRhYmxlIGV4dGVuc2lvbi5cbiAgICovXG4gIEV4ZUV4dGVuc2lvbiA9ICcuZXhlJyxcblxuICAvKipcbiAgQ29tbW9uSlMgSmF2YVNjcmlwdCBpbmRleCBmaWxlLlxuICAgKi9cbiAgSW5kZXhDanMgPSAnaW5kZXguY2pzJyxcblxuICAvKipcbiAgQ29tbW9uSlMgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlIGluZGV4IGZpbGUuXG4gICAqL1xuICBJbmRleERjdHMgPSAnaW5kZXguZC5jdHMnLFxuXG4gIC8qKlxuICBFU00gVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiBmaWxlIGluZGV4IGZpbGUuXG4gICAqL1xuICBJbmRleERtdHMgPSAnaW5kZXguZC5tdHMnLFxuXG4gIC8qKlxuICBFU00gSmF2YVNjcmlwdCBpbmRleCBmaWxlLlxuICAgKi9cbiAgSW5kZXhNanMgPSAnaW5kZXgubWpzJyxcblxuICAvKipcbiAgVHlwZVNjcmlwdCBpbmRleCBmaWxlLlxuICAgKi9cbiAgSW5kZXhUcyA9ICdpbmRleC50cycsXG5cbiAgLyoqXG4gIEphdmFTY3JpcHQgZmlsZSBleHRlbnNpb24uXG4gICAqL1xuICBKc0V4dGVuc2lvbiA9ICcuanMnLFxuXG4gIC8qKlxuICBDb21tb25KUyBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnQ2pzID0gJy5tYXJrZG93bmxpbnQtY2xpMi5janMnLFxuXG4gIC8qKlxuICBKU09OQyBNYXJrZG93bmxpbnQgQ0xJMiBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDbGkyQ29uZmlnSnNvbmMgPSAnLm1hcmtkb3dubGludC1jbGkyLmpzb25jJyxcblxuICAvKipcbiAgRVNNIE1hcmtkb3dubGludCBDTEkyIGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICovXG4gIE1hcmtkb3dubGludENsaTJDb25maWdNanMgPSAnLm1hcmtkb3dubGludC1jbGkyLm1qcycsXG5cbiAgLyoqXG4gIFlBTUwgTWFya2Rvd25saW50IENMSTIgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q2xpMkNvbmZpZ1lhbWwgPSAnLm1hcmtkb3dubGludC1jbGkyLnlhbWwnLFxuXG4gIC8qKlxuICBDb21tb25KUyBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnQ2pzID0gJy5tYXJrZG93bmxpbnQuY2pzJyxcblxuICAvKipcbiAgSlNPTiBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnSnNvbiA9ICcubWFya2Rvd25saW50Lmpzb24nLFxuXG4gIC8qKlxuICBKU09OQyBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnSnNvbmMgPSAnLm1hcmtkb3dubGludC5qc29uYycsXG5cbiAgLyoqXG4gIEVTTSBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnTWpzID0gJy5tYXJrZG93bmxpbnQubWpzJyxcblxuICAvKipcbiAgWUFNTCBNYXJrZG93bmxpbnQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgTWFya2Rvd25saW50Q29uZmlnWWFtbCA9ICcubWFya2Rvd25saW50LnlhbWwnLFxuXG4gIC8qKlxuICBZQU1MIE1hcmtkb3dubGludCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBNYXJrZG93bmxpbnRDb25maWdZbWwgPSAnLm1hcmtkb3dubGludC55bWwnLFxuXG4gIC8qKlxuICBFU00gSmF2YVNjcmlwdCBmaWxlIGV4dGVuc2lvbi5cbiAgICovXG4gIE1qc0V4dGVuc2lvbiA9ICcubWpzJyxcblxuICAvKipcbiAgVGVzdCBtb2NrcyBmb2xkZXIuXG4gICAqL1xuICBNb2NrcyA9ICdzcmMvdGVzdC1oZWxwZXJzJyxcblxuICAvKipcbiAgTm9kZSBtb2R1bGVzIGZvbGRlci5cbiAgICovXG4gIE5vZGVNb2R1bGVzID0gJ25vZGVfbW9kdWxlcycsXG5cbiAgLyoqXG4gIE5QTSBzaHJpbmt3cmFwIGZpbGUuXG4gICAqL1xuICBOcG1TaHJpbmt3cmFwSnNvbiA9ICducG0tc2hyaW5rd3JhcC5qc29uJyxcblxuICAvKipcbiAgUGFja2FnZSBKU09OIGZpbGUuXG4gICAqL1xuICBQYWNrYWdlSnNvbiA9ICdwYWNrYWdlLmpzb24nLFxuXG4gIC8qKlxuICBOUE0gbG9ja2ZpbGUuXG4gICAqL1xuICBQYWNrYWdlTG9ja0pzb24gPSAncGFja2FnZS1sb2NrLmpzb24nLFxuXG4gIC8qKlxuICBQbnBtIGxvY2tmaWxlLlxuICAgKi9cbiAgUG5wbUxvY2tZYW1sID0gJ3BucG0tbG9jay55YW1sJyxcblxuICAvKipcbiAgUm9vdCBmb2xkZXIuXG4gICAqL1xuICBSb290Rm9sZGVyID0gJy8nLFxuXG4gIC8qKlxuICBTY3JpcHRzIGZvbGRlci5cbiAgICovXG4gIFNjcmlwdHMgPSAnc2NyaXB0cycsXG5cbiAgLyoqXG4gIFNvdXJjZSBmb2xkZXIuXG4gICAqL1xuICBTcmMgPSAnc3JjJyxcblxuICAvKipcbiAgU3R5bGVzIGZvbGRlci5cbiAgICovXG4gIFN0eWxlcyA9ICdzdHlsZXMnLFxuXG4gIC8qKlxuICBTdHlsZXMgQ1NTIGZpbGUuXG4gICAqL1xuICBTdHlsZXNDc3MgPSAnc3R5bGVzLmNzcycsXG5cbiAgLyoqXG4gIFRlbXBsYXRlcyBmb2xkZXIuXG4gICAqL1xuICBUZW1wbGF0ZXMgPSAndGVtcGxhdGVzJyxcblxuICAvKipcbiAgVGVzdCBoZWxwZXJzIGZvbGRlci5cbiAgICovXG4gIFRlc3RIZWxwZXJzID0gJ3Rlc3QtaGVscGVycycsXG5cbiAgLyoqXG4gIFRlc3RzIGZvbGRlci5cbiAgICovXG4gIFRlc3RzID0gJ19fdGVzdHNfXycsXG5cbiAgLyoqXG4gIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlLlxuICAgKi9cbiAgVHNDb25maWdKc29uID0gJ3RzY29uZmlnLmpzb24nLFxuXG4gIC8qKlxuICBUeXBlU2NyaXB0IGNvbmZpZ3VyYXRpb24gZmlsZSB0aGF0IHZhbGlkYXRlcyB0aGUgZ2VuZXJhdGVkIENvbW1vbkpTIGRlY2xhcmF0aW9ucy5cbiAgICovXG4gIFRzQ29uZmlnVmFsaWRhdGVEZWNsYXJhdGlvbnNDanNKc29uID0gJ3RzY29uZmlnLnZhbGlkYXRlLWRlY2xhcmF0aW9ucy1janMuanNvbicsXG5cbiAgLyoqXG4gIFR5cGVTY3JpcHQgY29uZmlndXJhdGlvbiBmaWxlIHRoYXQgdmFsaWRhdGVzIHRoZSBnZW5lcmF0ZWQgRVNNIGRlY2xhcmF0aW9ucy5cbiAgICovXG4gIFRzQ29uZmlnVmFsaWRhdGVEZWNsYXJhdGlvbnNKc29uID0gJ3RzY29uZmlnLnZhbGlkYXRlLWRlY2xhcmF0aW9ucy5qc29uJyxcblxuICAvKipcbiAgVHlwZVNjcmlwdCBmaWxlIGV4dGVuc2lvbi5cbiAgICovXG4gIFRzRXh0ZW5zaW9uID0gJy50cycsXG5cbiAgLyoqXG4gIFR5cGVzIGZvbGRlci5cbiAgICovXG4gIFR5cGVzID0gJ0B0eXBlcycsXG5cbiAgLyoqXG4gIFZpdGVzdCBjb25maWd1cmF0aW9uIGZpbGUuXG4gICAqL1xuICBWaXRlc3RDb25maWdUcyA9ICd2aXRlc3QuY29uZmlnLnRzJyxcblxuICAvKipcbiAgWWFybiBsb2NrZmlsZS5cbiAgICovXG4gIFlhcm5Mb2NrID0gJ3lhcm4ubG9jaydcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFVTyxJQUFLLFlBQUwsa0JBQUtBLGVBQUw7QUFJTCxFQUFBQSxXQUFBLFNBQU07QUFLTixFQUFBQSxXQUFBLFlBQVM7QUFLVCxFQUFB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