keep-a-changelog 2.5.3 → 2.6.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 (673) hide show
  1. package/CHANGELOG.md +22 -1
  2. package/README.md +15 -14
  3. package/esm/keep-a-changelog/bin.d.ts +2 -0
  4. package/esm/{bin.js → keep-a-changelog/bin.js} +85 -13
  5. package/esm/{mod.d.ts → keep-a-changelog/mod.d.ts} +1 -1
  6. package/esm/{mod.js → keep-a-changelog/mod.js} +1 -1
  7. package/esm/keep-a-changelog/test/changelog.azdo.md +24 -0
  8. package/esm/keep-a-changelog/test/changelog.sort.md +17 -0
  9. package/esm/std/cli/parse_args.d.ts +193 -0
  10. package/esm/std/cli/parse_args.js +357 -0
  11. package/esm/std/ini/_ini_map.d.ts +90 -0
  12. package/esm/std/ini/_ini_map.js +371 -0
  13. package/esm/std/ini/mod.d.ts +31 -0
  14. package/esm/std/ini/mod.js +33 -0
  15. package/esm/std/ini/parse.d.ts +77 -0
  16. package/esm/std/ini/parse.js +72 -0
  17. package/esm/std/ini/stringify.d.ts +83 -0
  18. package/esm/std/ini/stringify.js +66 -0
  19. package/esm/std/path/_common/assert_path.d.ts +1 -0
  20. package/esm/std/path/_common/assert_path.js +7 -0
  21. package/esm/std/path/_common/basename.d.ts +3 -0
  22. package/esm/std/path/_common/basename.js +40 -0
  23. package/esm/std/path/_common/common.d.ts +1 -0
  24. package/esm/std/path/_common/common.js +23 -0
  25. package/esm/{deps/deno.land/std@0.189.0/path/_constants.js → std/path/_common/constants.js} +1 -1
  26. package/esm/std/path/_common/dirname.d.ts +1 -0
  27. package/esm/std/path/_common/dirname.js +8 -0
  28. package/esm/std/path/_common/format.d.ts +3 -0
  29. package/esm/std/path/_common/format.js +19 -0
  30. package/esm/std/path/_common/from_file_url.d.ts +2 -0
  31. package/esm/std/path/_common/from_file_url.js +9 -0
  32. package/esm/std/path/_common/glob_to_reg_exp.d.ts +34 -0
  33. package/esm/std/path/_common/glob_to_reg_exp.js +234 -0
  34. package/esm/std/path/_common/normalize.d.ts +1 -0
  35. package/esm/std/path/_common/normalize.js +8 -0
  36. package/esm/std/path/_common/normalize_string.d.ts +1 -0
  37. package/esm/std/path/_common/normalize_string.js +77 -0
  38. package/esm/std/path/_common/relative.d.ts +1 -0
  39. package/esm/std/path/_common/relative.js +9 -0
  40. package/esm/std/path/_common/strip_trailing_separators.d.ts +1 -0
  41. package/esm/std/path/_common/strip_trailing_separators.js +19 -0
  42. package/esm/std/path/_common/to_file_url.d.ts +1 -0
  43. package/esm/std/path/_common/to_file_url.js +15 -0
  44. package/esm/std/path/_os.d.ts +1 -0
  45. package/esm/std/path/_os.js +9 -0
  46. package/esm/std/path/basename.d.ts +27 -0
  47. package/esm/std/path/basename.js +36 -0
  48. package/esm/std/path/common.d.ts +27 -0
  49. package/esm/std/path/common.js +33 -0
  50. package/esm/std/path/constants.d.ts +14 -0
  51. package/esm/std/path/constants.js +17 -0
  52. package/esm/std/path/dirname.d.ts +22 -0
  53. package/esm/std/path/dirname.js +29 -0
  54. package/esm/std/path/extname.d.ts +22 -0
  55. package/esm/std/path/extname.js +29 -0
  56. package/esm/std/path/format.d.ts +21 -0
  57. package/esm/std/path/format.js +27 -0
  58. package/esm/std/path/from_file_url.d.ts +22 -0
  59. package/esm/std/path/from_file_url.js +28 -0
  60. package/esm/std/path/glob_to_regexp.d.ts +76 -0
  61. package/esm/std/path/glob_to_regexp.js +83 -0
  62. package/esm/std/path/is_absolute.d.ts +21 -0
  63. package/esm/std/path/is_absolute.js +28 -0
  64. package/esm/std/path/is_glob.d.ts +16 -0
  65. package/esm/std/path/is_glob.js +42 -0
  66. package/esm/std/path/join.d.ts +22 -0
  67. package/esm/std/path/join.js +29 -0
  68. package/esm/std/path/join_globs.d.ts +27 -0
  69. package/esm/std/path/join_globs.js +34 -0
  70. package/esm/std/path/mod.d.ts +53 -0
  71. package/esm/std/path/mod.js +57 -0
  72. package/esm/std/path/normalize.d.ts +26 -0
  73. package/esm/std/path/normalize.js +33 -0
  74. package/esm/std/path/normalize_glob.d.ts +28 -0
  75. package/esm/std/path/normalize_glob.js +35 -0
  76. package/esm/std/path/parse.d.ts +34 -0
  77. package/esm/std/path/parse.js +39 -0
  78. package/esm/std/path/posix/_util.d.ts +1 -0
  79. package/esm/std/path/posix/_util.js +8 -0
  80. package/esm/std/path/posix/basename.d.ts +39 -0
  81. package/esm/std/path/posix/basename.js +49 -0
  82. package/esm/std/path/posix/constants.d.ts +12 -0
  83. package/esm/std/path/posix/constants.js +14 -0
  84. package/esm/std/path/posix/dirname.d.ts +31 -0
  85. package/esm/std/path/posix/dirname.js +62 -0
  86. package/esm/std/path/posix/extname.d.ts +36 -0
  87. package/esm/std/path/posix/extname.js +89 -0
  88. package/esm/std/path/posix/format.d.ts +23 -0
  89. package/esm/std/path/posix/format.js +28 -0
  90. package/esm/std/path/posix/from_file_url.d.ts +16 -0
  91. package/esm/std/path/posix/from_file_url.js +21 -0
  92. package/esm/std/path/posix/glob_to_regexp.d.ts +71 -0
  93. package/{script/deps/deno.land/std@0.189.0/path/glob.d.ts → esm/std/path/posix/glob_to_regexp.js} +28 -29
  94. package/esm/std/path/posix/is_absolute.d.ts +16 -0
  95. package/esm/std/path/posix/is_absolute.js +23 -0
  96. package/esm/std/path/posix/join.d.ts +32 -0
  97. package/esm/std/path/posix/join.js +42 -0
  98. package/esm/std/path/posix/join_globs.d.ts +19 -0
  99. package/esm/std/path/posix/join_globs.js +40 -0
  100. package/esm/std/path/posix/normalize.d.ts +39 -0
  101. package/esm/std/path/posix/normalize.js +57 -0
  102. package/esm/std/path/posix/normalize_glob.d.ts +19 -0
  103. package/esm/std/path/posix/normalize_glob.js +32 -0
  104. package/esm/std/path/posix/parse.d.ts +24 -0
  105. package/esm/std/path/posix/parse.js +115 -0
  106. package/esm/std/path/posix/relative.d.ts +19 -0
  107. package/esm/std/path/posix/relative.js +106 -0
  108. package/esm/std/path/posix/resolve.d.ts +16 -0
  109. package/esm/std/path/posix/resolve.js +59 -0
  110. package/esm/std/path/posix/to_file_url.d.ts +17 -0
  111. package/esm/std/path/posix/to_file_url.js +27 -0
  112. package/esm/std/path/posix/to_namespaced_path.d.ts +15 -0
  113. package/esm/std/path/posix/to_namespaced_path.js +20 -0
  114. package/esm/std/path/relative.d.ts +23 -0
  115. package/esm/std/path/relative.js +30 -0
  116. package/esm/std/path/resolve.d.ts +21 -0
  117. package/esm/std/path/resolve.js +30 -0
  118. package/esm/std/path/to_file_url.d.ts +22 -0
  119. package/esm/std/path/to_file_url.js +28 -0
  120. package/esm/std/path/to_namespaced_path.d.ts +20 -0
  121. package/esm/std/path/to_namespaced_path.js +29 -0
  122. package/esm/{deps/deno.land/std@0.189.0/path/_interface.d.ts → std/path/types.d.ts} +13 -2
  123. package/esm/std/path/types.js +3 -0
  124. package/esm/std/path/windows/_util.d.ts +3 -0
  125. package/esm/std/path/windows/_util.js +15 -0
  126. package/esm/std/path/windows/basename.d.ts +22 -0
  127. package/esm/std/path/windows/basename.js +44 -0
  128. package/esm/std/path/windows/constants.d.ts +12 -0
  129. package/esm/std/path/windows/constants.js +14 -0
  130. package/esm/std/path/windows/dirname.d.ts +19 -0
  131. package/esm/std/path/windows/dirname.js +112 -0
  132. package/esm/std/path/windows/extname.d.ts +19 -0
  133. package/esm/std/path/windows/extname.js +81 -0
  134. package/esm/std/path/windows/format.d.ts +23 -0
  135. package/esm/std/path/windows/format.js +28 -0
  136. package/esm/std/path/windows/from_file_url.d.ts +18 -0
  137. package/esm/std/path/windows/from_file_url.js +30 -0
  138. package/esm/std/path/windows/glob_to_regexp.d.ts +70 -0
  139. package/esm/{deps/deno.land/std@0.189.0/path/glob.d.ts → std/path/windows/glob_to_regexp.js} +28 -29
  140. package/esm/std/path/windows/is_absolute.d.ts +16 -0
  141. package/esm/std/path/windows/is_absolute.js +38 -0
  142. package/esm/std/path/windows/join.d.ts +19 -0
  143. package/esm/std/path/windows/join.js +74 -0
  144. package/esm/std/path/windows/join_globs.d.ts +20 -0
  145. package/esm/std/path/windows/join_globs.js +41 -0
  146. package/esm/std/path/windows/normalize.d.ts +21 -0
  147. package/esm/std/path/windows/normalize.js +134 -0
  148. package/esm/std/path/windows/normalize_glob.d.ts +19 -0
  149. package/esm/std/path/windows/normalize_glob.js +32 -0
  150. package/esm/std/path/windows/parse.d.ts +24 -0
  151. package/esm/std/path/windows/parse.js +176 -0
  152. package/esm/std/path/windows/relative.d.ts +22 -0
  153. package/esm/std/path/windows/relative.js +131 -0
  154. package/esm/std/path/windows/resolve.d.ts +16 -0
  155. package/esm/std/path/windows/resolve.js +154 -0
  156. package/esm/std/path/windows/to_file_url.d.ts +17 -0
  157. package/esm/std/path/windows/to_file_url.js +34 -0
  158. package/esm/std/path/windows/to_namespaced_path.d.ts +16 -0
  159. package/esm/std/path/windows/to_namespaced_path.js +49 -0
  160. package/esm/std/semver/_constants.d.ts +15 -0
  161. package/esm/std/semver/_constants.js +38 -0
  162. package/esm/std/semver/_shared.d.ts +43 -0
  163. package/esm/std/semver/_shared.js +162 -0
  164. package/esm/std/semver/_test_comparator_set.d.ts +2 -0
  165. package/esm/std/semver/_test_comparator_set.js +58 -0
  166. package/esm/std/semver/can_parse.d.ts +16 -0
  167. package/esm/std/semver/can_parse.js +27 -0
  168. package/esm/std/semver/compare.d.ts +27 -0
  169. package/esm/std/semver/compare.js +35 -0
  170. package/esm/std/semver/difference.d.ts +26 -0
  171. package/esm/std/semver/difference.js +41 -0
  172. package/esm/std/semver/equals.d.ts +23 -0
  173. package/esm/std/semver/equals.js +27 -0
  174. package/esm/std/semver/format.d.ts +21 -0
  175. package/esm/std/semver/format.js +32 -0
  176. package/esm/std/semver/format_range.d.ts +17 -0
  177. package/esm/std/semver/format_range.js +27 -0
  178. package/esm/std/semver/greater_or_equal.d.ts +24 -0
  179. package/esm/std/semver/greater_or_equal.js +26 -0
  180. package/esm/std/semver/greater_than.d.ts +24 -0
  181. package/esm/std/semver/greater_than.js +28 -0
  182. package/esm/std/semver/greater_than_range.d.ts +22 -0
  183. package/esm/std/semver/greater_than_range.js +58 -0
  184. package/{script/deps/deno.land/std@0.205.0 → esm/std}/semver/increment.d.ts +27 -5
  185. package/esm/std/semver/increment.js +176 -0
  186. package/esm/std/semver/is_range.d.ts +22 -0
  187. package/esm/std/semver/is_range.js +38 -0
  188. package/{script/deps/deno.land/std@0.205.0 → esm/std}/semver/is_semver.d.ts +16 -0
  189. package/esm/{deps/deno.land/std@0.205.0 → std}/semver/is_semver.js +25 -13
  190. package/esm/std/semver/less_or_equal.d.ts +24 -0
  191. package/esm/std/semver/less_or_equal.js +26 -0
  192. package/esm/std/semver/less_than.d.ts +24 -0
  193. package/esm/std/semver/less_than.js +26 -0
  194. package/esm/std/semver/less_than_range.d.ts +22 -0
  195. package/esm/std/semver/less_than_range.js +58 -0
  196. package/esm/std/semver/max_satisfying.d.ts +21 -0
  197. package/esm/std/semver/max_satisfying.js +30 -0
  198. package/esm/std/semver/min_satisfying.d.ts +21 -0
  199. package/esm/std/semver/min_satisfying.js +30 -0
  200. package/{script/deps/deno.land/std@0.205.0 → esm/std}/semver/mod.d.ts +72 -85
  201. package/esm/{deps/deno.land/std@0.205.0 → std}/semver/mod.js +73 -86
  202. package/esm/std/semver/not_equals.d.ts +23 -0
  203. package/esm/std/semver/not_equals.js +25 -0
  204. package/esm/std/semver/parse.d.ts +24 -0
  205. package/esm/std/semver/parse.js +44 -0
  206. package/esm/std/semver/parse_range.d.ts +26 -0
  207. package/esm/std/semver/parse_range.js +358 -0
  208. package/esm/std/semver/range_intersects.d.ts +24 -0
  209. package/esm/std/semver/range_intersects.js +89 -0
  210. package/esm/std/semver/satisfies.d.ts +23 -0
  211. package/esm/std/semver/satisfies.js +26 -0
  212. package/esm/std/semver/try_parse.d.ts +20 -0
  213. package/esm/std/semver/try_parse.js +27 -0
  214. package/esm/std/semver/try_parse_range.d.ts +22 -0
  215. package/esm/std/semver/try_parse_range.js +33 -0
  216. package/esm/std/semver/types.d.ts +57 -0
  217. package/esm/std/semver/types.js +3 -0
  218. package/package.json +14 -13
  219. package/script/keep-a-changelog/bin.d.ts +2 -0
  220. package/script/{bin.js → keep-a-changelog/bin.js} +86 -14
  221. package/script/{mod.d.ts → keep-a-changelog/mod.d.ts} +1 -1
  222. package/script/{mod.js → keep-a-changelog/mod.js} +1 -1
  223. package/script/keep-a-changelog/test/changelog.azdo.md +24 -0
  224. package/script/keep-a-changelog/test/changelog.sort.md +17 -0
  225. package/script/std/cli/parse_args.d.ts +193 -0
  226. package/script/std/cli/parse_args.js +361 -0
  227. package/script/std/ini/_ini_map.d.ts +90 -0
  228. package/script/std/ini/_ini_map.js +375 -0
  229. package/script/std/ini/mod.d.ts +31 -0
  230. package/script/std/ini/mod.js +49 -0
  231. package/script/std/ini/parse.d.ts +77 -0
  232. package/script/std/ini/parse.js +76 -0
  233. package/script/std/ini/stringify.d.ts +83 -0
  234. package/script/std/ini/stringify.js +70 -0
  235. package/script/std/path/_common/assert_path.d.ts +1 -0
  236. package/script/std/path/_common/assert_path.js +11 -0
  237. package/script/std/path/_common/basename.d.ts +3 -0
  238. package/script/std/path/_common/basename.js +46 -0
  239. package/script/std/path/_common/common.d.ts +1 -0
  240. package/script/std/path/_common/common.js +27 -0
  241. package/script/{deps/deno.land/std@0.189.0/path/_constants.js → std/path/_common/constants.js} +1 -1
  242. package/script/std/path/_common/dirname.d.ts +1 -0
  243. package/script/std/path/_common/dirname.js +12 -0
  244. package/script/std/path/_common/format.d.ts +3 -0
  245. package/script/std/path/_common/format.js +24 -0
  246. package/script/std/path/_common/from_file_url.d.ts +2 -0
  247. package/script/std/path/_common/from_file_url.js +13 -0
  248. package/script/std/path/_common/glob_to_reg_exp.d.ts +34 -0
  249. package/script/std/path/_common/glob_to_reg_exp.js +238 -0
  250. package/script/std/path/_common/normalize.d.ts +1 -0
  251. package/script/std/path/_common/normalize.js +12 -0
  252. package/script/std/path/_common/normalize_string.d.ts +1 -0
  253. package/script/std/path/_common/normalize_string.js +81 -0
  254. package/script/std/path/_common/relative.d.ts +1 -0
  255. package/script/std/path/_common/relative.js +13 -0
  256. package/script/std/path/_common/strip_trailing_separators.d.ts +1 -0
  257. package/script/std/path/_common/strip_trailing_separators.js +23 -0
  258. package/script/std/path/_common/to_file_url.d.ts +1 -0
  259. package/script/std/path/_common/to_file_url.js +19 -0
  260. package/script/std/path/_os.d.ts +1 -0
  261. package/script/{deps/deno.land/std@0.189.0/_util/os.js → std/path/_os.js} +10 -19
  262. package/script/std/path/basename.d.ts +27 -0
  263. package/script/std/path/basename.js +40 -0
  264. package/script/std/path/common.d.ts +27 -0
  265. package/script/std/path/common.js +37 -0
  266. package/script/std/path/constants.d.ts +14 -0
  267. package/script/std/path/constants.js +20 -0
  268. package/script/std/path/dirname.d.ts +22 -0
  269. package/script/std/path/dirname.js +33 -0
  270. package/script/std/path/extname.d.ts +22 -0
  271. package/script/std/path/extname.js +33 -0
  272. package/script/std/path/format.d.ts +21 -0
  273. package/script/std/path/format.js +31 -0
  274. package/script/std/path/from_file_url.d.ts +22 -0
  275. package/script/std/path/from_file_url.js +32 -0
  276. package/script/std/path/glob_to_regexp.d.ts +76 -0
  277. package/script/std/path/glob_to_regexp.js +87 -0
  278. package/script/std/path/is_absolute.d.ts +21 -0
  279. package/script/std/path/is_absolute.js +32 -0
  280. package/script/std/path/is_glob.d.ts +16 -0
  281. package/script/std/path/is_glob.js +46 -0
  282. package/script/std/path/join.d.ts +22 -0
  283. package/script/std/path/join.js +33 -0
  284. package/script/std/path/join_globs.d.ts +27 -0
  285. package/script/std/path/join_globs.js +38 -0
  286. package/script/std/path/mod.d.ts +53 -0
  287. package/script/std/path/mod.js +73 -0
  288. package/script/std/path/normalize.d.ts +26 -0
  289. package/script/std/path/normalize.js +37 -0
  290. package/script/std/path/normalize_glob.d.ts +28 -0
  291. package/script/std/path/normalize_glob.js +39 -0
  292. package/script/std/path/parse.d.ts +34 -0
  293. package/script/std/path/parse.js +43 -0
  294. package/script/std/path/posix/_util.d.ts +1 -0
  295. package/script/std/path/posix/_util.js +12 -0
  296. package/script/std/path/posix/basename.d.ts +39 -0
  297. package/script/std/path/posix/basename.js +53 -0
  298. package/script/std/path/posix/constants.d.ts +12 -0
  299. package/script/std/path/posix/constants.js +17 -0
  300. package/script/std/path/posix/dirname.d.ts +31 -0
  301. package/script/std/path/posix/dirname.js +66 -0
  302. package/script/std/path/posix/extname.d.ts +36 -0
  303. package/script/std/path/posix/extname.js +93 -0
  304. package/script/std/path/posix/format.d.ts +23 -0
  305. package/script/std/path/posix/format.js +32 -0
  306. package/script/std/path/posix/from_file_url.d.ts +16 -0
  307. package/script/std/path/posix/from_file_url.js +25 -0
  308. package/script/std/path/posix/glob_to_regexp.d.ts +71 -0
  309. package/script/std/path/posix/glob_to_regexp.js +86 -0
  310. package/script/std/path/posix/is_absolute.d.ts +16 -0
  311. package/script/std/path/posix/is_absolute.js +27 -0
  312. package/script/std/path/posix/join.d.ts +32 -0
  313. package/script/std/path/posix/join.js +46 -0
  314. package/script/std/path/posix/join_globs.d.ts +19 -0
  315. package/script/std/path/posix/join_globs.js +44 -0
  316. package/script/std/path/posix/normalize.d.ts +39 -0
  317. package/script/std/path/posix/normalize.js +61 -0
  318. package/script/std/path/posix/normalize_glob.d.ts +19 -0
  319. package/script/std/path/posix/normalize_glob.js +36 -0
  320. package/script/std/path/posix/parse.d.ts +24 -0
  321. package/script/std/path/posix/parse.js +119 -0
  322. package/script/std/path/posix/relative.d.ts +19 -0
  323. package/script/std/path/posix/relative.js +110 -0
  324. package/script/std/path/posix/resolve.d.ts +16 -0
  325. package/script/std/path/posix/resolve.js +86 -0
  326. package/script/std/path/posix/to_file_url.d.ts +17 -0
  327. package/script/std/path/posix/to_file_url.js +31 -0
  328. package/script/std/path/posix/to_namespaced_path.d.ts +15 -0
  329. package/script/std/path/posix/to_namespaced_path.js +24 -0
  330. package/script/std/path/relative.d.ts +23 -0
  331. package/script/std/path/relative.js +34 -0
  332. package/script/std/path/resolve.d.ts +21 -0
  333. package/script/std/path/resolve.js +34 -0
  334. package/script/std/path/to_file_url.d.ts +22 -0
  335. package/script/std/path/to_file_url.js +32 -0
  336. package/script/std/path/to_namespaced_path.d.ts +20 -0
  337. package/script/std/path/to_namespaced_path.js +33 -0
  338. package/script/{deps/deno.land/std@0.189.0/path/_interface.d.ts → std/path/types.d.ts} +13 -2
  339. package/script/{deps/deno.land/std@0.189.0/path/_interface.js → std/path/types.js} +1 -1
  340. package/script/std/path/windows/_util.d.ts +3 -0
  341. package/script/std/path/windows/_util.js +21 -0
  342. package/script/std/path/windows/basename.d.ts +22 -0
  343. package/script/std/path/windows/basename.js +48 -0
  344. package/script/std/path/windows/constants.d.ts +12 -0
  345. package/script/std/path/windows/constants.js +17 -0
  346. package/script/std/path/windows/dirname.d.ts +19 -0
  347. package/script/std/path/windows/dirname.js +116 -0
  348. package/script/std/path/windows/extname.d.ts +19 -0
  349. package/script/std/path/windows/extname.js +85 -0
  350. package/script/std/path/windows/format.d.ts +23 -0
  351. package/script/std/path/windows/format.js +32 -0
  352. package/script/std/path/windows/from_file_url.d.ts +18 -0
  353. package/script/std/path/windows/from_file_url.js +34 -0
  354. package/script/std/path/windows/glob_to_regexp.d.ts +70 -0
  355. package/script/std/path/windows/glob_to_regexp.js +86 -0
  356. package/script/std/path/windows/is_absolute.d.ts +16 -0
  357. package/script/std/path/windows/is_absolute.js +42 -0
  358. package/script/std/path/windows/join.d.ts +19 -0
  359. package/script/std/path/windows/join.js +78 -0
  360. package/script/std/path/windows/join_globs.d.ts +20 -0
  361. package/script/std/path/windows/join_globs.js +45 -0
  362. package/script/std/path/windows/normalize.d.ts +21 -0
  363. package/script/std/path/windows/normalize.js +138 -0
  364. package/script/std/path/windows/normalize_glob.d.ts +19 -0
  365. package/script/std/path/windows/normalize_glob.js +36 -0
  366. package/script/std/path/windows/parse.d.ts +24 -0
  367. package/script/std/path/windows/parse.js +180 -0
  368. package/script/std/path/windows/relative.d.ts +22 -0
  369. package/script/std/path/windows/relative.js +135 -0
  370. package/script/std/path/windows/resolve.d.ts +16 -0
  371. package/script/std/path/windows/resolve.js +181 -0
  372. package/script/std/path/windows/to_file_url.d.ts +17 -0
  373. package/script/std/path/windows/to_file_url.js +38 -0
  374. package/script/std/path/windows/to_namespaced_path.d.ts +16 -0
  375. package/script/std/path/windows/to_namespaced_path.js +53 -0
  376. package/script/std/semver/_constants.d.ts +15 -0
  377. package/script/std/semver/_constants.js +41 -0
  378. package/script/std/semver/_shared.d.ts +43 -0
  379. package/script/std/semver/_shared.js +174 -0
  380. package/script/std/semver/_test_comparator_set.d.ts +2 -0
  381. package/script/std/semver/_test_comparator_set.js +62 -0
  382. package/script/std/semver/can_parse.d.ts +16 -0
  383. package/script/std/semver/can_parse.js +31 -0
  384. package/script/std/semver/compare.d.ts +27 -0
  385. package/script/std/semver/compare.js +39 -0
  386. package/script/std/semver/difference.d.ts +26 -0
  387. package/script/std/semver/difference.js +45 -0
  388. package/script/std/semver/equals.d.ts +23 -0
  389. package/script/std/semver/equals.js +31 -0
  390. package/script/std/semver/format.d.ts +21 -0
  391. package/script/std/semver/format.js +36 -0
  392. package/script/std/semver/format_range.d.ts +17 -0
  393. package/script/std/semver/format_range.js +31 -0
  394. package/script/std/semver/greater_or_equal.d.ts +24 -0
  395. package/script/std/semver/greater_or_equal.js +30 -0
  396. package/script/std/semver/greater_than.d.ts +24 -0
  397. package/script/std/semver/greater_than.js +32 -0
  398. package/script/std/semver/greater_than_range.d.ts +22 -0
  399. package/script/std/semver/greater_than_range.js +62 -0
  400. package/{esm/deps/deno.land/std@0.205.0 → script/std}/semver/increment.d.ts +27 -5
  401. package/script/std/semver/increment.js +180 -0
  402. package/script/std/semver/is_range.d.ts +22 -0
  403. package/script/std/semver/is_range.js +42 -0
  404. package/{esm/deps/deno.land/std@0.205.0 → script/std}/semver/is_semver.d.ts +16 -0
  405. package/script/{deps/deno.land/std@0.205.0 → std}/semver/is_semver.js +26 -14
  406. package/script/std/semver/less_or_equal.d.ts +24 -0
  407. package/script/std/semver/less_or_equal.js +30 -0
  408. package/script/std/semver/less_than.d.ts +24 -0
  409. package/script/std/semver/less_than.js +30 -0
  410. package/script/std/semver/less_than_range.d.ts +22 -0
  411. package/script/std/semver/less_than_range.js +62 -0
  412. package/script/std/semver/max_satisfying.d.ts +21 -0
  413. package/script/std/semver/max_satisfying.js +34 -0
  414. package/script/std/semver/min_satisfying.d.ts +21 -0
  415. package/script/std/semver/min_satisfying.js +34 -0
  416. package/{esm/deps/deno.land/std@0.205.0 → script/std}/semver/mod.d.ts +72 -85
  417. package/script/{deps/deno.land/std@0.205.0 → std}/semver/mod.js +73 -87
  418. package/script/std/semver/not_equals.d.ts +23 -0
  419. package/script/std/semver/not_equals.js +29 -0
  420. package/script/std/semver/parse.d.ts +24 -0
  421. package/script/std/semver/parse.js +48 -0
  422. package/script/std/semver/parse_range.d.ts +26 -0
  423. package/script/std/semver/parse_range.js +362 -0
  424. package/script/std/semver/range_intersects.d.ts +24 -0
  425. package/script/std/semver/range_intersects.js +93 -0
  426. package/script/std/semver/satisfies.d.ts +23 -0
  427. package/script/std/semver/satisfies.js +30 -0
  428. package/script/std/semver/try_parse.d.ts +20 -0
  429. package/script/std/semver/try_parse.js +31 -0
  430. package/script/std/semver/try_parse_range.d.ts +22 -0
  431. package/script/std/semver/try_parse_range.js +37 -0
  432. package/script/std/semver/types.d.ts +57 -0
  433. package/script/std/semver/types.js +4 -0
  434. package/esm/bin.d.ts +0 -2
  435. package/esm/deps/deno.land/std@0.189.0/_util/asserts.d.ts +0 -10
  436. package/esm/deps/deno.land/std@0.189.0/_util/asserts.js +0 -21
  437. package/esm/deps/deno.land/std@0.189.0/_util/os.d.ts +0 -4
  438. package/esm/deps/deno.land/std@0.189.0/_util/os.js +0 -18
  439. package/esm/deps/deno.land/std@0.189.0/flags/mod.d.ts +0 -166
  440. package/esm/deps/deno.land/std@0.189.0/flags/mod.js +0 -365
  441. package/esm/deps/deno.land/std@0.189.0/path/_interface.js +0 -3
  442. package/esm/deps/deno.land/std@0.189.0/path/_util.d.ts +0 -11
  443. package/esm/deps/deno.land/std@0.189.0/path/_util.js +0 -161
  444. package/esm/deps/deno.land/std@0.189.0/path/common.d.ts +0 -13
  445. package/esm/deps/deno.land/std@0.189.0/path/common.js +0 -36
  446. package/esm/deps/deno.land/std@0.189.0/path/glob.js +0 -361
  447. package/esm/deps/deno.land/std@0.189.0/path/mod.d.ts +0 -11
  448. package/esm/deps/deno.land/std@0.189.0/path/mod.js +0 -35
  449. package/esm/deps/deno.land/std@0.189.0/path/posix.d.ts +0 -86
  450. package/esm/deps/deno.land/std@0.189.0/path/posix.js +0 -442
  451. package/esm/deps/deno.land/std@0.189.0/path/separator.d.ts +0 -2
  452. package/esm/deps/deno.land/std@0.189.0/path/separator.js +0 -5
  453. package/esm/deps/deno.land/std@0.189.0/path/win32.d.ts +0 -91
  454. package/esm/deps/deno.land/std@0.189.0/path/win32.js +0 -909
  455. package/esm/deps/deno.land/std@0.205.0/semver/_shared.d.ts +0 -42
  456. package/esm/deps/deno.land/std@0.205.0/semver/_shared.js +0 -230
  457. package/esm/deps/deno.land/std@0.205.0/semver/cmp.d.ts +0 -9
  458. package/esm/deps/deno.land/std@0.205.0/semver/cmp.js +0 -35
  459. package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +0 -8
  460. package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.js +0 -11
  461. package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +0 -8
  462. package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +0 -45
  463. package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +0 -9
  464. package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.js +0 -45
  465. package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +0 -8
  466. package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.js +0 -32
  467. package/esm/deps/deno.land/std@0.205.0/semver/compare.d.ts +0 -10
  468. package/esm/deps/deno.land/std@0.205.0/semver/compare.js +0 -18
  469. package/esm/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +0 -13
  470. package/esm/deps/deno.land/std@0.205.0/semver/compare_build.js +0 -23
  471. package/esm/deps/deno.land/std@0.205.0/semver/constants.d.ts +0 -42
  472. package/esm/deps/deno.land/std@0.205.0/semver/constants.js +0 -75
  473. package/esm/deps/deno.land/std@0.205.0/semver/difference.d.ts +0 -4
  474. package/esm/deps/deno.land/std@0.205.0/semver/difference.js +0 -26
  475. package/esm/deps/deno.land/std@0.205.0/semver/eq.d.ts +0 -4
  476. package/esm/deps/deno.land/std@0.205.0/semver/eq.js +0 -7
  477. package/esm/deps/deno.land/std@0.205.0/semver/format.d.ts +0 -12
  478. package/esm/deps/deno.land/std@0.205.0/semver/format.js +0 -54
  479. package/esm/deps/deno.land/std@0.205.0/semver/gt.d.ts +0 -3
  480. package/esm/deps/deno.land/std@0.205.0/semver/gt.js +0 -5
  481. package/esm/deps/deno.land/std@0.205.0/semver/gte.d.ts +0 -3
  482. package/esm/deps/deno.land/std@0.205.0/semver/gte.js +0 -5
  483. package/esm/deps/deno.land/std@0.205.0/semver/gtr.d.ts +0 -3
  484. package/esm/deps/deno.land/std@0.205.0/semver/gtr.js +0 -5
  485. package/esm/deps/deno.land/std@0.205.0/semver/increment.js +0 -207
  486. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +0 -12
  487. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +0 -31
  488. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +0 -12
  489. package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.js +0 -22
  490. package/esm/deps/deno.land/std@0.205.0/semver/lt.d.ts +0 -3
  491. package/esm/deps/deno.land/std@0.205.0/semver/lt.js +0 -5
  492. package/esm/deps/deno.land/std@0.205.0/semver/lte.d.ts +0 -3
  493. package/esm/deps/deno.land/std@0.205.0/semver/lte.js +0 -5
  494. package/esm/deps/deno.land/std@0.205.0/semver/ltr.d.ts +0 -3
  495. package/esm/deps/deno.land/std@0.205.0/semver/ltr.js +0 -5
  496. package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +0 -9
  497. package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.js +0 -14
  498. package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +0 -9
  499. package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.js +0 -14
  500. package/esm/deps/deno.land/std@0.205.0/semver/neq.d.ts +0 -3
  501. package/esm/deps/deno.land/std@0.205.0/semver/neq.js +0 -5
  502. package/esm/deps/deno.land/std@0.205.0/semver/outside.d.ts +0 -11
  503. package/esm/deps/deno.land/std@0.205.0/semver/outside.js +0 -67
  504. package/esm/deps/deno.land/std@0.205.0/semver/parse.d.ts +0 -8
  505. package/esm/deps/deno.land/std@0.205.0/semver/parse.js +0 -66
  506. package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +0 -7
  507. package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.js +0 -28
  508. package/esm/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +0 -7
  509. package/esm/deps/deno.land/std@0.205.0/semver/parse_range.js +0 -292
  510. package/esm/deps/deno.land/std@0.205.0/semver/range_format.d.ts +0 -8
  511. package/esm/deps/deno.land/std@0.205.0/semver/range_format.js +0 -11
  512. package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +0 -8
  513. package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.js +0 -35
  514. package/esm/deps/deno.land/std@0.205.0/semver/range_max.d.ts +0 -7
  515. package/esm/deps/deno.land/std@0.205.0/semver/range_max.js +0 -15
  516. package/esm/deps/deno.land/std@0.205.0/semver/range_min.d.ts +0 -7
  517. package/esm/deps/deno.land/std@0.205.0/semver/range_min.js +0 -14
  518. package/esm/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +0 -8
  519. package/esm/deps/deno.land/std@0.205.0/semver/rcompare.js +0 -10
  520. package/esm/deps/deno.land/std@0.205.0/semver/rsort.d.ts +0 -3
  521. package/esm/deps/deno.land/std@0.205.0/semver/rsort.js +0 -5
  522. package/esm/deps/deno.land/std@0.205.0/semver/sort.d.ts +0 -3
  523. package/esm/deps/deno.land/std@0.205.0/semver/sort.js +0 -5
  524. package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +0 -8
  525. package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.js +0 -10
  526. package/esm/deps/deno.land/std@0.205.0/semver/test_range.d.ts +0 -8
  527. package/esm/deps/deno.land/std@0.205.0/semver/test_range.js +0 -16
  528. package/esm/deps/deno.land/std@0.205.0/semver/types.d.ts +0 -44
  529. package/esm/deps/deno.land/std@0.205.0/semver/types.js +0 -2
  530. package/esm/deps/deno.land/std@0.51.0/fs/eol.d.ts +0 -12
  531. package/esm/deps/deno.land/std@0.51.0/fs/eol.js +0 -29
  532. package/esm/deps/deno.land/x/ini@v2.1.0/ini.d.ts +0 -53
  533. package/esm/deps/deno.land/x/ini@v2.1.0/ini.js +0 -226
  534. package/esm/deps/deno.land/x/ini@v2.1.0/mod.d.ts +0 -1
  535. package/esm/deps/deno.land/x/ini@v2.1.0/mod.js +0 -1
  536. package/esm/src/Change.d.ts +0 -8
  537. package/esm/src/Change.js +0 -48
  538. package/esm/src/Changelog.d.ts +0 -23
  539. package/esm/src/Changelog.js +0 -183
  540. package/esm/src/Release.d.ts +0 -28
  541. package/esm/src/Release.js +0 -220
  542. package/esm/src/deps.d.ts +0 -2
  543. package/esm/src/deps.js +0 -1
  544. package/esm/src/parser.d.ts +0 -11
  545. package/esm/src/parser.js +0 -178
  546. package/esm/src/settings.d.ts +0 -17
  547. package/esm/src/settings.js +0 -47
  548. package/script/bin.d.ts +0 -2
  549. package/script/deps/deno.land/std@0.189.0/_util/asserts.d.ts +0 -10
  550. package/script/deps/deno.land/std@0.189.0/_util/asserts.js +0 -27
  551. package/script/deps/deno.land/std@0.189.0/_util/os.d.ts +0 -4
  552. package/script/deps/deno.land/std@0.189.0/flags/mod.d.ts +0 -166
  553. package/script/deps/deno.land/std@0.189.0/flags/mod.js +0 -369
  554. package/script/deps/deno.land/std@0.189.0/path/_util.d.ts +0 -11
  555. package/script/deps/deno.land/std@0.189.0/path/_util.js +0 -174
  556. package/script/deps/deno.land/std@0.189.0/path/common.d.ts +0 -13
  557. package/script/deps/deno.land/std@0.189.0/path/common.js +0 -40
  558. package/script/deps/deno.land/std@0.189.0/path/glob.js +0 -391
  559. package/script/deps/deno.land/std@0.189.0/path/mod.d.ts +0 -11
  560. package/script/deps/deno.land/std@0.189.0/path/mod.js +0 -66
  561. package/script/deps/deno.land/std@0.189.0/path/posix.d.ts +0 -86
  562. package/script/deps/deno.land/std@0.189.0/path/posix.js +0 -481
  563. package/script/deps/deno.land/std@0.189.0/path/separator.d.ts +0 -2
  564. package/script/deps/deno.land/std@0.189.0/path/separator.js +0 -8
  565. package/script/deps/deno.land/std@0.189.0/path/win32.d.ts +0 -91
  566. package/script/deps/deno.land/std@0.189.0/path/win32.js +0 -948
  567. package/script/deps/deno.land/std@0.205.0/semver/_shared.d.ts +0 -42
  568. package/script/deps/deno.land/std@0.205.0/semver/_shared.js +0 -248
  569. package/script/deps/deno.land/std@0.205.0/semver/cmp.d.ts +0 -9
  570. package/script/deps/deno.land/std@0.205.0/semver/cmp.js +0 -39
  571. package/script/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +0 -8
  572. package/script/deps/deno.land/std@0.205.0/semver/comparator_format.js +0 -15
  573. package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +0 -8
  574. package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +0 -49
  575. package/script/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +0 -9
  576. package/script/deps/deno.land/std@0.205.0/semver/comparator_max.js +0 -49
  577. package/script/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +0 -8
  578. package/script/deps/deno.land/std@0.205.0/semver/comparator_min.js +0 -36
  579. package/script/deps/deno.land/std@0.205.0/semver/compare.d.ts +0 -10
  580. package/script/deps/deno.land/std@0.205.0/semver/compare.js +0 -22
  581. package/script/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +0 -13
  582. package/script/deps/deno.land/std@0.205.0/semver/compare_build.js +0 -27
  583. package/script/deps/deno.land/std@0.205.0/semver/constants.d.ts +0 -42
  584. package/script/deps/deno.land/std@0.205.0/semver/constants.js +0 -78
  585. package/script/deps/deno.land/std@0.205.0/semver/difference.d.ts +0 -4
  586. package/script/deps/deno.land/std@0.205.0/semver/difference.js +0 -30
  587. package/script/deps/deno.land/std@0.205.0/semver/eq.d.ts +0 -4
  588. package/script/deps/deno.land/std@0.205.0/semver/eq.js +0 -11
  589. package/script/deps/deno.land/std@0.205.0/semver/format.d.ts +0 -12
  590. package/script/deps/deno.land/std@0.205.0/semver/format.js +0 -58
  591. package/script/deps/deno.land/std@0.205.0/semver/gt.d.ts +0 -3
  592. package/script/deps/deno.land/std@0.205.0/semver/gt.js +0 -9
  593. package/script/deps/deno.land/std@0.205.0/semver/gte.d.ts +0 -3
  594. package/script/deps/deno.land/std@0.205.0/semver/gte.js +0 -9
  595. package/script/deps/deno.land/std@0.205.0/semver/gtr.d.ts +0 -3
  596. package/script/deps/deno.land/std@0.205.0/semver/gtr.js +0 -9
  597. package/script/deps/deno.land/std@0.205.0/semver/increment.js +0 -211
  598. package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +0 -12
  599. package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +0 -35
  600. package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +0 -12
  601. package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.js +0 -26
  602. package/script/deps/deno.land/std@0.205.0/semver/lt.d.ts +0 -3
  603. package/script/deps/deno.land/std@0.205.0/semver/lt.js +0 -9
  604. package/script/deps/deno.land/std@0.205.0/semver/lte.d.ts +0 -3
  605. package/script/deps/deno.land/std@0.205.0/semver/lte.js +0 -9
  606. package/script/deps/deno.land/std@0.205.0/semver/ltr.d.ts +0 -3
  607. package/script/deps/deno.land/std@0.205.0/semver/ltr.js +0 -9
  608. package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +0 -9
  609. package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.js +0 -18
  610. package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +0 -9
  611. package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.js +0 -18
  612. package/script/deps/deno.land/std@0.205.0/semver/neq.d.ts +0 -3
  613. package/script/deps/deno.land/std@0.205.0/semver/neq.js +0 -9
  614. package/script/deps/deno.land/std@0.205.0/semver/outside.d.ts +0 -11
  615. package/script/deps/deno.land/std@0.205.0/semver/outside.js +0 -71
  616. package/script/deps/deno.land/std@0.205.0/semver/parse.d.ts +0 -8
  617. package/script/deps/deno.land/std@0.205.0/semver/parse.js +0 -70
  618. package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +0 -7
  619. package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.js +0 -32
  620. package/script/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +0 -7
  621. package/script/deps/deno.land/std@0.205.0/semver/parse_range.js +0 -296
  622. package/script/deps/deno.land/std@0.205.0/semver/range_format.d.ts +0 -8
  623. package/script/deps/deno.land/std@0.205.0/semver/range_format.js +0 -15
  624. package/script/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +0 -8
  625. package/script/deps/deno.land/std@0.205.0/semver/range_intersects.js +0 -39
  626. package/script/deps/deno.land/std@0.205.0/semver/range_max.d.ts +0 -7
  627. package/script/deps/deno.land/std@0.205.0/semver/range_max.js +0 -19
  628. package/script/deps/deno.land/std@0.205.0/semver/range_min.d.ts +0 -7
  629. package/script/deps/deno.land/std@0.205.0/semver/range_min.js +0 -18
  630. package/script/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +0 -8
  631. package/script/deps/deno.land/std@0.205.0/semver/rcompare.js +0 -14
  632. package/script/deps/deno.land/std@0.205.0/semver/rsort.d.ts +0 -3
  633. package/script/deps/deno.land/std@0.205.0/semver/rsort.js +0 -9
  634. package/script/deps/deno.land/std@0.205.0/semver/sort.d.ts +0 -3
  635. package/script/deps/deno.land/std@0.205.0/semver/sort.js +0 -9
  636. package/script/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +0 -8
  637. package/script/deps/deno.land/std@0.205.0/semver/test_comparator.js +0 -14
  638. package/script/deps/deno.land/std@0.205.0/semver/test_range.d.ts +0 -8
  639. package/script/deps/deno.land/std@0.205.0/semver/test_range.js +0 -20
  640. package/script/deps/deno.land/std@0.205.0/semver/types.d.ts +0 -44
  641. package/script/deps/deno.land/std@0.205.0/semver/types.js +0 -3
  642. package/script/deps/deno.land/std@0.51.0/fs/eol.d.ts +0 -12
  643. package/script/deps/deno.land/std@0.51.0/fs/eol.js +0 -34
  644. package/script/deps/deno.land/x/ini@v2.1.0/ini.d.ts +0 -53
  645. package/script/deps/deno.land/x/ini@v2.1.0/ini.js +0 -256
  646. package/script/deps/deno.land/x/ini@v2.1.0/mod.d.ts +0 -1
  647. package/script/deps/deno.land/x/ini@v2.1.0/mod.js +0 -17
  648. package/script/src/Change.d.ts +0 -8
  649. package/script/src/Change.js +0 -51
  650. package/script/src/Changelog.d.ts +0 -23
  651. package/script/src/Changelog.js +0 -186
  652. package/script/src/Release.d.ts +0 -28
  653. package/script/src/Release.js +0 -226
  654. package/script/src/deps.d.ts +0 -2
  655. package/script/src/deps.js +0 -8
  656. package/script/src/parser.d.ts +0 -11
  657. package/script/src/parser.js +0 -184
  658. package/script/src/settings.d.ts +0 -17
  659. package/script/src/settings.js +0 -51
  660. /package/esm/{test → keep-a-changelog/test}/changelog.custom.type.md +0 -0
  661. /package/esm/{test → keep-a-changelog/test}/changelog.expected.linted.md +0 -0
  662. /package/esm/{test → keep-a-changelog/test}/changelog.expected.md +0 -0
  663. /package/esm/{test → keep-a-changelog/test}/changelog.gitlab.md +0 -0
  664. /package/esm/{test → keep-a-changelog/test}/changelog.md +0 -0
  665. /package/esm/{test → keep-a-changelog/test}/empty.expected.md +0 -0
  666. /package/esm/{deps/deno.land/std@0.189.0/path/_constants.d.ts → std/path/_common/constants.d.ts} +0 -0
  667. /package/script/{test → keep-a-changelog/test}/changelog.custom.type.md +0 -0
  668. /package/script/{test → keep-a-changelog/test}/changelog.expected.linted.md +0 -0
  669. /package/script/{test → keep-a-changelog/test}/changelog.expected.md +0 -0
  670. /package/script/{test → keep-a-changelog/test}/changelog.gitlab.md +0 -0
  671. /package/script/{test → keep-a-changelog/test}/changelog.md +0 -0
  672. /package/script/{test → keep-a-changelog/test}/empty.expected.md +0 -0
  673. /package/script/{deps/deno.land/std@0.189.0/path/_constants.d.ts → std/path/_common/constants.d.ts} +0 -0
@@ -0,0 +1,371 @@
1
+ // Copyright 2018-2025 the Deno authors. MIT license.
2
+ // This module is browser compatible.
3
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
+ };
8
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
9
+ if (kind === "m") throw new TypeError("Private method is not writable");
10
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
11
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
12
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
13
+ };
14
+ var _IniMap_instances, _IniMap_global, _IniMap_sections, _IniMap_lines, _IniMap_formatting, _IniMap_getOrCreateSection, _IniMap_appendValue, _IniMap_appendOrDeleteLine, _IniMap_readTextLines, _IniMap_cleanFormatting;
15
+ const ASSIGNMENT_MARK = "=";
16
+ function trimQuotes(value) {
17
+ if (value.startsWith('"') && value.endsWith('"')) {
18
+ return value.slice(1, -1);
19
+ }
20
+ return value;
21
+ }
22
+ const NON_WHITESPACE_REGEXP = /\S/;
23
+ /**
24
+ * Class implementation for fine control of INI data structures.
25
+ */
26
+ // deno-lint-ignore no-explicit-any
27
+ export class IniMap {
28
+ /** Constructs a new `IniMap`.
29
+ *
30
+ * @param formatting Optional formatting options when printing an INI file.
31
+ */
32
+ constructor(formatting) {
33
+ _IniMap_instances.add(this);
34
+ _IniMap_global.set(this, new Map());
35
+ _IniMap_sections.set(this, new Map());
36
+ _IniMap_lines.set(this, []);
37
+ _IniMap_formatting.set(this, void 0);
38
+ __classPrivateFieldSet(this, _IniMap_formatting, __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_cleanFormatting).call(this, formatting), "f");
39
+ }
40
+ // deno-lint-ignore no-explicit-any
41
+ set(keyOrSection, valueOrKey, value) {
42
+ if (typeof valueOrKey === "string" && value !== undefined) {
43
+ const section = __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_getOrCreateSection).call(this, keyOrSection);
44
+ const exists = section.map.get(valueOrKey);
45
+ if (exists) {
46
+ exists.val = value;
47
+ }
48
+ else {
49
+ section.end += 1;
50
+ const lineValue = {
51
+ type: "value",
52
+ num: section.end,
53
+ sec: section.sec,
54
+ key: valueOrKey,
55
+ val: value,
56
+ };
57
+ __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_appendValue).call(this, lineValue);
58
+ section.map.set(valueOrKey, lineValue);
59
+ }
60
+ }
61
+ else {
62
+ const lineValue = {
63
+ type: "value",
64
+ num: 0,
65
+ key: keyOrSection,
66
+ val: valueOrKey,
67
+ };
68
+ __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_appendValue).call(this, lineValue);
69
+ __classPrivateFieldGet(this, _IniMap_global, "f").set(keyOrSection, lineValue);
70
+ }
71
+ return this;
72
+ }
73
+ /**
74
+ * Convert this `IniMap` to a plain object.
75
+ *
76
+ * @returns The object equivalent to this {@code IniMap}
77
+ */
78
+ toObject() {
79
+ const obj = {};
80
+ for (const { key, val } of __classPrivateFieldGet(this, _IniMap_global, "f").values()) {
81
+ Object.defineProperty(obj, key, {
82
+ value: val,
83
+ writable: true,
84
+ enumerable: true,
85
+ configurable: true,
86
+ });
87
+ }
88
+ for (const { sec, map } of __classPrivateFieldGet(this, _IniMap_sections, "f").values()) {
89
+ const section = {};
90
+ Object.defineProperty(obj, sec, {
91
+ value: section,
92
+ writable: true,
93
+ enumerable: true,
94
+ configurable: true,
95
+ });
96
+ for (const { key, val } of map.values()) {
97
+ Object.defineProperty(section, key, {
98
+ value: val,
99
+ writable: true,
100
+ enumerable: true,
101
+ configurable: true,
102
+ });
103
+ }
104
+ }
105
+ return obj;
106
+ }
107
+ /**
108
+ * Convert this `IniMap` to an INI string.
109
+ *
110
+ * @param replacer The replacer
111
+ * @returns Ini string
112
+ */
113
+ toString(replacer) {
114
+ const replacerFunc = typeof replacer === "function"
115
+ ? replacer
116
+ : (_key, value, _section) => `${value}`;
117
+ const pretty = __classPrivateFieldGet(this, _IniMap_formatting, "f")?.pretty ?? false;
118
+ const assignment = pretty ? ` ${ASSIGNMENT_MARK} ` : ASSIGNMENT_MARK;
119
+ const lines = __classPrivateFieldGet(this, _IniMap_lines, "f");
120
+ return lines.map((line) => {
121
+ switch (line.type) {
122
+ case "comment":
123
+ return line.val;
124
+ case "section":
125
+ return `[${line.sec}]`;
126
+ case "value":
127
+ return line.key + assignment +
128
+ replacerFunc(line.key, line.val, line.sec);
129
+ }
130
+ }).join(__classPrivateFieldGet(this, _IniMap_formatting, "f")?.lineBreak ?? "\n");
131
+ }
132
+ /**
133
+ * Parse an INI string in this `IniMap`.
134
+ *
135
+ * @param text The text to parse
136
+ * @param reviver The reviver function
137
+ * @returns This {@code IniMap} object
138
+ */
139
+ parse(text, reviver) {
140
+ if (typeof text !== "string") {
141
+ throw new SyntaxError(`Unexpected token ${text} in INI at line 0`);
142
+ }
143
+ const reviverFunc = typeof reviver === "function"
144
+ ? reviver
145
+ : (_key, value, _section) => {
146
+ if (!isNaN(+value) && !value.includes('"'))
147
+ return +value;
148
+ if (value === "null")
149
+ return null;
150
+ if (value === "true" || value === "false")
151
+ return value === "true";
152
+ return trimQuotes(value);
153
+ };
154
+ let lineNumber = 1;
155
+ let currentSection;
156
+ for (const line of __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_readTextLines).call(this, text)) {
157
+ const trimmed = line.trim();
158
+ if (isComment(trimmed)) {
159
+ __classPrivateFieldGet(this, _IniMap_lines, "f").push({
160
+ type: "comment",
161
+ num: lineNumber,
162
+ val: trimmed,
163
+ });
164
+ }
165
+ else if (isSection(trimmed, lineNumber)) {
166
+ const sec = trimmed.substring(1, trimmed.length - 1);
167
+ if (!NON_WHITESPACE_REGEXP.test(sec)) {
168
+ throw new SyntaxError(`Unexpected empty section name at line ${lineNumber}`);
169
+ }
170
+ currentSection = {
171
+ type: "section",
172
+ num: lineNumber,
173
+ sec,
174
+ map: new Map(),
175
+ end: lineNumber,
176
+ };
177
+ __classPrivateFieldGet(this, _IniMap_lines, "f").push(currentSection);
178
+ __classPrivateFieldGet(this, _IniMap_sections, "f").set(currentSection.sec, currentSection);
179
+ }
180
+ else {
181
+ const assignmentPos = trimmed.indexOf(ASSIGNMENT_MARK);
182
+ if (assignmentPos === -1) {
183
+ throw new SyntaxError(`Unexpected token ${trimmed[0]} in INI at line ${lineNumber}`);
184
+ }
185
+ if (assignmentPos === 0) {
186
+ throw new SyntaxError(`Unexpected empty key name at line ${lineNumber}`);
187
+ }
188
+ const leftHand = trimmed.substring(0, assignmentPos);
189
+ const rightHand = trimmed.substring(assignmentPos + 1);
190
+ if (__classPrivateFieldGet(this, _IniMap_formatting, "f").pretty === undefined) {
191
+ __classPrivateFieldGet(this, _IniMap_formatting, "f").pretty = leftHand.endsWith(" ") &&
192
+ rightHand.startsWith(" ");
193
+ }
194
+ const key = leftHand.trim();
195
+ const value = rightHand.trim();
196
+ if (currentSection) {
197
+ const lineValue = {
198
+ type: "value",
199
+ num: lineNumber,
200
+ sec: currentSection.sec,
201
+ key,
202
+ val: reviverFunc(key, value, currentSection.sec),
203
+ };
204
+ currentSection.map.set(key, lineValue);
205
+ __classPrivateFieldGet(this, _IniMap_lines, "f").push(lineValue);
206
+ currentSection.end = lineNumber;
207
+ }
208
+ else {
209
+ const lineValue = {
210
+ type: "value",
211
+ num: lineNumber,
212
+ key,
213
+ val: reviverFunc(key, value),
214
+ };
215
+ __classPrivateFieldGet(this, _IniMap_global, "f").set(key, lineValue);
216
+ __classPrivateFieldGet(this, _IniMap_lines, "f").push(lineValue);
217
+ }
218
+ }
219
+ lineNumber += 1;
220
+ }
221
+ return this;
222
+ }
223
+ static from(
224
+ // deno-lint-ignore no-explicit-any
225
+ input, formatting) {
226
+ const ini = new IniMap(formatting);
227
+ if (typeof input === "object" && input !== null) {
228
+ // deno-lint-ignore no-explicit-any
229
+ const isRecord = (val) => typeof val === "object" && val !== null;
230
+ // deno-lint-ignore no-explicit-any
231
+ const sort = ([_a, valA], [_b, valB]) => {
232
+ if (isRecord(valA))
233
+ return 1;
234
+ if (isRecord(valB))
235
+ return -1;
236
+ return 0;
237
+ };
238
+ for (const [key, val] of Object.entries(input).sort(sort)) {
239
+ if (isRecord(val)) {
240
+ for (const [sectionKey, sectionValue] of Object.entries(val)) {
241
+ ini.set(key, sectionKey, sectionValue);
242
+ }
243
+ }
244
+ else {
245
+ ini.set(key, val);
246
+ }
247
+ }
248
+ }
249
+ else {
250
+ ini.parse(input, formatting?.reviver);
251
+ }
252
+ return ini;
253
+ }
254
+ }
255
+ _IniMap_global = new WeakMap(), _IniMap_sections = new WeakMap(), _IniMap_lines = new WeakMap(), _IniMap_formatting = new WeakMap(), _IniMap_instances = new WeakSet(), _IniMap_getOrCreateSection = function _IniMap_getOrCreateSection(section) {
256
+ const existing = __classPrivateFieldGet(this, _IniMap_sections, "f").get(section);
257
+ if (existing) {
258
+ return existing;
259
+ }
260
+ const lineSection = {
261
+ type: "section",
262
+ num: __classPrivateFieldGet(this, _IniMap_lines, "f").length + 1,
263
+ sec: section,
264
+ map: new Map(),
265
+ end: __classPrivateFieldGet(this, _IniMap_lines, "f").length + 1,
266
+ };
267
+ __classPrivateFieldGet(this, _IniMap_lines, "f").push(lineSection);
268
+ __classPrivateFieldGet(this, _IniMap_sections, "f").set(section, lineSection);
269
+ return lineSection;
270
+ }, _IniMap_appendValue = function _IniMap_appendValue(lineValue) {
271
+ if (__classPrivateFieldGet(this, _IniMap_lines, "f").length === 0) {
272
+ // For an empty array, just insert the line value
273
+ lineValue.num = 1;
274
+ __classPrivateFieldGet(this, _IniMap_lines, "f").push(lineValue);
275
+ }
276
+ else if (lineValue.sec) {
277
+ // For line values in a section, the end of the section is known
278
+ __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_appendOrDeleteLine).call(this, lineValue, LineOp.Add);
279
+ }
280
+ else {
281
+ // For global values, find the line preceding the first section
282
+ lineValue.num = __classPrivateFieldGet(this, _IniMap_lines, "f").length + 1;
283
+ for (const [i, line] of __classPrivateFieldGet(this, _IniMap_lines, "f").entries()) {
284
+ if (line.type === "section") {
285
+ lineValue.num = i + 1;
286
+ break;
287
+ }
288
+ }
289
+ // Append the line value at the end of all global values
290
+ __classPrivateFieldGet(this, _IniMap_instances, "m", _IniMap_appendOrDeleteLine).call(this, lineValue, LineOp.Add);
291
+ }
292
+ }, _IniMap_appendOrDeleteLine = function _IniMap_appendOrDeleteLine(input, op) {
293
+ if (op === LineOp.Add) {
294
+ __classPrivateFieldGet(this, _IniMap_lines, "f").splice(input.num - 1, 0, input);
295
+ }
296
+ else {
297
+ __classPrivateFieldGet(this, _IniMap_lines, "f").splice(input.num - 1, 1);
298
+ }
299
+ // If the input is a comment, find the next section if any to update.
300
+ let updateSection = input.type === "comment";
301
+ const start = op === LineOp.Add ? input.num : input.num - 1;
302
+ for (const line of __classPrivateFieldGet(this, _IniMap_lines, "f").slice(start)) {
303
+ line.num += op;
304
+ if (line.type === "section") {
305
+ line.end += op;
306
+ // If the comment is before the nearest section, don't update the section further.
307
+ updateSection = false;
308
+ }
309
+ if (updateSection) {
310
+ // if the comment precedes a value in a section, get and update the section end.
311
+ if (line.type === "value" && line.sec) {
312
+ const section = __classPrivateFieldGet(this, _IniMap_sections, "f").get(line.sec);
313
+ if (section) {
314
+ section.end += op;
315
+ updateSection = false;
316
+ }
317
+ }
318
+ }
319
+ }
320
+ }, _IniMap_readTextLines = function* _IniMap_readTextLines(text) {
321
+ const { length } = text;
322
+ let line = "";
323
+ for (let i = 0; i < length; i += 1) {
324
+ const char = text[i];
325
+ if (char === "\n" || char === "\r") {
326
+ yield line;
327
+ line = "";
328
+ if (char === "\r" && text[i + 1] === "\n") {
329
+ i++;
330
+ if (!__classPrivateFieldGet(this, _IniMap_formatting, "f").lineBreak) {
331
+ __classPrivateFieldGet(this, _IniMap_formatting, "f").lineBreak = "\r\n";
332
+ }
333
+ }
334
+ else if (!__classPrivateFieldGet(this, _IniMap_formatting, "f").lineBreak) {
335
+ __classPrivateFieldGet(this, _IniMap_formatting, "f").lineBreak = char;
336
+ }
337
+ }
338
+ else {
339
+ line += char;
340
+ }
341
+ }
342
+ yield line;
343
+ }, _IniMap_cleanFormatting = function _IniMap_cleanFormatting(options) {
344
+ return Object.fromEntries(Object.entries(options ?? {}).filter(([key]) => FormattingKeys.includes(key)));
345
+ };
346
+ /** Detect supported comment styles. */
347
+ function isComment(input) {
348
+ return input === "" ||
349
+ input.startsWith("#") ||
350
+ input.startsWith(";") ||
351
+ input.startsWith("//");
352
+ }
353
+ /** Detect a section start. */
354
+ function isSection(input, lineNumber) {
355
+ if (input.startsWith("[")) {
356
+ if (input.endsWith("]")) {
357
+ return true;
358
+ }
359
+ throw new SyntaxError(`Unexpected end of INI section at line ${lineNumber}`);
360
+ }
361
+ return false;
362
+ }
363
+ const LineOp = {
364
+ Del: -1,
365
+ Add: 1,
366
+ };
367
+ const DummyFormatting = {
368
+ lineBreak: "\n",
369
+ pretty: false,
370
+ };
371
+ const FormattingKeys = Object.keys(DummyFormatting);
@@ -0,0 +1,31 @@
1
+ /**
2
+ * {@linkcode parse} and {@linkcode stringify} for handling
3
+ * {@link https://en.wikipedia.org/wiki/INI_file | INI} encoded data, such as the
4
+ * {@link https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s03.html | Desktop Entry specification}.
5
+ *
6
+ * ```ts
7
+ * import { parse, stringify } from "mod.ts";
8
+ * import { assertEquals } from "../assert/mod.ts";
9
+ *
10
+ * const text = `Global Key=Some data here
11
+ * [Section #1]
12
+ * Section Value=42
13
+ * Section Date=1977-05-25`;
14
+ *
15
+ * const parsed = parse(text);
16
+ *
17
+ * assertEquals(parse(text), {
18
+ * "Global Key": "Some data here",
19
+ * "Section #1": {
20
+ * "Section Value": 42,
21
+ * "Section Date": "1977-05-25",
22
+ * },
23
+ * });
24
+ *
25
+ * assertEquals(stringify(parsed), text);
26
+ * ```
27
+ *
28
+ * @module
29
+ */
30
+ export * from "./parse.js";
31
+ export * from "./stringify.js";
@@ -0,0 +1,33 @@
1
+ // Copyright 2018-2025 the Deno authors. MIT license.
2
+ // This module is browser compatible.
3
+ /**
4
+ * {@linkcode parse} and {@linkcode stringify} for handling
5
+ * {@link https://en.wikipedia.org/wiki/INI_file | INI} encoded data, such as the
6
+ * {@link https://specifications.freedesktop.org/desktop-entry-spec/latest/ar01s03.html | Desktop Entry specification}.
7
+ *
8
+ * ```ts
9
+ * import { parse, stringify } from "mod.ts";
10
+ * import { assertEquals } from "../assert/mod.ts";
11
+ *
12
+ * const text = `Global Key=Some data here
13
+ * [Section #1]
14
+ * Section Value=42
15
+ * Section Date=1977-05-25`;
16
+ *
17
+ * const parsed = parse(text);
18
+ *
19
+ * assertEquals(parse(text), {
20
+ * "Global Key": "Some data here",
21
+ * "Section #1": {
22
+ * "Section Value": 42,
23
+ * "Section Date": "1977-05-25",
24
+ * },
25
+ * });
26
+ *
27
+ * assertEquals(stringify(parsed), text);
28
+ * ```
29
+ *
30
+ * @module
31
+ */
32
+ export * from "./parse.js";
33
+ export * from "./stringify.js";
@@ -0,0 +1,77 @@
1
+ import { type ReviverFunction } from "./_ini_map.js";
2
+ export type { ReviverFunction };
3
+ /** Options for {@linkcode parse}. */
4
+ export interface ParseOptions<T = any> {
5
+ /**
6
+ * Provide custom parsing of the value in a key/value pair. Similar to the
7
+ * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse#reviver | reviver}
8
+ * function in {@linkcode JSON.parse}.
9
+ */
10
+ reviver?: ReviverFunction<T>;
11
+ }
12
+ /**
13
+ * Parse an INI config string into an object.
14
+ *
15
+ * Values are parsed as strings by default to preserve data parity from the
16
+ * original. To parse values as other types besides strings, use
17
+ * {@linkcode ParseOptions.reviver}.
18
+ *
19
+ * Nested sections, repeated key names within a section, and key/value arrays
20
+ * are not supported. White space padding and lines starting with `#`, `;`, or
21
+ * `//` will be treated as comments.
22
+ *
23
+ * @throws {SyntaxError} If the INI string is invalid or if it contains
24
+ * multi-line values.
25
+ *
26
+ * @example Usage
27
+ * ```ts
28
+ * import { parse } from "parse.ts";
29
+ * import { assertEquals } from "../assert/mod.ts";
30
+ *
31
+ * const parsed = parse(`
32
+ * key = value
33
+ *
34
+ * [section 1]
35
+ * foo = Hello
36
+ * baz = World
37
+ * `);
38
+ *
39
+ * assertEquals(parsed, { key: "value", "section 1": { foo: "Hello", baz: "World" } })
40
+ * ```
41
+ *
42
+ * @example Using custom reviver
43
+ * ```ts
44
+ * import { parse } from "parse.ts";
45
+ * import { assertEquals } from "../assert/mod.ts";
46
+ *
47
+ * const parsed = parse(`
48
+ * [section Foo]
49
+ * date = 2012-10-10
50
+ * amount = 12345
51
+ * `, {
52
+ * reviver(key, value, section) {
53
+ * if (section === "section Foo") {
54
+ * if (key === "date") {
55
+ * return new Date(value);
56
+ * } else if (key === "amount") {
57
+ * return +value;
58
+ * }
59
+ * }
60
+ * return value;
61
+ * }
62
+ * });
63
+ *
64
+ * assertEquals(parsed, {
65
+ * "section Foo": {
66
+ * date: new Date("2012-10-10"),
67
+ * amount: 12345,
68
+ * }
69
+ * })
70
+ * ```
71
+ *
72
+ * @param text The text to parse
73
+ * @param options The options to use
74
+ * @typeParam T The type of the value
75
+ * @return The parsed object
76
+ */
77
+ export declare function parse<T = any>(text: string, options?: ParseOptions<T>): Record<string, T | Record<string, T>>;
@@ -0,0 +1,72 @@
1
+ // Copyright 2018-2025 the Deno authors. MIT license.
2
+ // This module is browser compatible.
3
+ import { IniMap } from "./_ini_map.js";
4
+ /**
5
+ * Parse an INI config string into an object.
6
+ *
7
+ * Values are parsed as strings by default to preserve data parity from the
8
+ * original. To parse values as other types besides strings, use
9
+ * {@linkcode ParseOptions.reviver}.
10
+ *
11
+ * Nested sections, repeated key names within a section, and key/value arrays
12
+ * are not supported. White space padding and lines starting with `#`, `;`, or
13
+ * `//` will be treated as comments.
14
+ *
15
+ * @throws {SyntaxError} If the INI string is invalid or if it contains
16
+ * multi-line values.
17
+ *
18
+ * @example Usage
19
+ * ```ts
20
+ * import { parse } from "parse.ts";
21
+ * import { assertEquals } from "../assert/mod.ts";
22
+ *
23
+ * const parsed = parse(`
24
+ * key = value
25
+ *
26
+ * [section 1]
27
+ * foo = Hello
28
+ * baz = World
29
+ * `);
30
+ *
31
+ * assertEquals(parsed, { key: "value", "section 1": { foo: "Hello", baz: "World" } })
32
+ * ```
33
+ *
34
+ * @example Using custom reviver
35
+ * ```ts
36
+ * import { parse } from "parse.ts";
37
+ * import { assertEquals } from "../assert/mod.ts";
38
+ *
39
+ * const parsed = parse(`
40
+ * [section Foo]
41
+ * date = 2012-10-10
42
+ * amount = 12345
43
+ * `, {
44
+ * reviver(key, value, section) {
45
+ * if (section === "section Foo") {
46
+ * if (key === "date") {
47
+ * return new Date(value);
48
+ * } else if (key === "amount") {
49
+ * return +value;
50
+ * }
51
+ * }
52
+ * return value;
53
+ * }
54
+ * });
55
+ *
56
+ * assertEquals(parsed, {
57
+ * "section Foo": {
58
+ * date: new Date("2012-10-10"),
59
+ * amount: 12345,
60
+ * }
61
+ * })
62
+ * ```
63
+ *
64
+ * @param text The text to parse
65
+ * @param options The options to use
66
+ * @typeParam T The type of the value
67
+ * @return The parsed object
68
+ */
69
+ // deno-lint-ignore no-explicit-any
70
+ export function parse(text, options) {
71
+ return IniMap.from(text, options).toObject();
72
+ }
@@ -0,0 +1,83 @@
1
+ import { type ReplacerFunction } from "./_ini_map.js";
2
+ /** Options for {@linkcode stringify}. */
3
+ export interface StringifyOptions {
4
+ /**
5
+ * Character(s) used to break lines in the config file.
6
+ *
7
+ * @default {"\n"}
8
+ */
9
+ lineBreak?: "\n" | "\r\n" | "\r";
10
+ /**
11
+ * Use a plain assignment char or pad with spaces.
12
+ *
13
+ * @default {false}
14
+ */
15
+ pretty?: boolean;
16
+ /**
17
+ * Provide custom string conversion for the value in a key/value pair.
18
+ * Similar to the
19
+ * {@linkcode https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#replacer | replacer}
20
+ * function in {@linkcode JSON.stringify}.
21
+ */
22
+ replacer?: ReplacerFunction;
23
+ }
24
+ export type { ReplacerFunction };
25
+ /**
26
+ * Compile an object into an INI config string. Provide formatting options to modify the output.
27
+ *
28
+ * @example Usage
29
+ * ```ts
30
+ * import { stringify } from "stringify.ts";
31
+ * import { assertEquals } from "../assert/mod.ts";
32
+ *
33
+ * const str = stringify({
34
+ * key1: "value1",
35
+ * key2: "value2",
36
+ * section1: {
37
+ * foo: "bar",
38
+ * },
39
+ * section2: {
40
+ * hello: "world",
41
+ * },
42
+ * });
43
+ *
44
+ * assertEquals(str, `key1=value1
45
+ * key2=value2
46
+ * [section1]
47
+ * foo=bar
48
+ * [section2]
49
+ * hello=world`);
50
+ * ```
51
+ *
52
+ * @example Using replacer option
53
+ * ```ts
54
+ * import { stringify } from "stringify.ts";
55
+ * import { assertEquals } from "../assert/mod.ts";
56
+ *
57
+ * const str = stringify({
58
+ * "section X": {
59
+ * date: new Date("2024-06-10"),
60
+ * },
61
+ * "section Y": {
62
+ * name: "John"
63
+ * }
64
+ * }, {
65
+ * replacer(key, value, section) {
66
+ * if (section === "section X" && key === "date") {
67
+ * return value.toISOString().slice(0, 10);
68
+ * }
69
+ * return value;
70
+ * },
71
+ * });
72
+ *
73
+ * assertEquals(str, `[section X]
74
+ * date=2024-06-10
75
+ * [section Y]
76
+ * name=John`);
77
+ * ```
78
+ *
79
+ * @param object The object to stringify
80
+ * @param options The option to use
81
+ * @returns The INI string
82
+ */
83
+ export declare function stringify(object: any, options?: StringifyOptions): string;