@splendidlabz/utils 1.11.1 → 1.11.3

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 (306) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +2 -2
  3. package/src/dom/actions/masonry.js +1 -0
  4. package/src/lib/objects/omit-empty.js +1 -1
  5. package/src/lib/strings/markdown.spec.js +73 -0
  6. package/src/node/context.js +0 -0
  7. package/src/node/file-cache.js +1 -1
  8. package/src/node/pkce.js +1 -1
  9. package/tsup.config.mjs +19 -1
  10. package/dist/cjs/dom/accessibility.cjs +0 -51
  11. package/dist/cjs/dom/actions/index.cjs +0 -25
  12. package/dist/cjs/dom/actions/masonry.cjs +0 -60
  13. package/dist/cjs/dom/actions/prefer-horizontal-scroll.cjs +0 -113
  14. package/dist/cjs/dom/actions/sticky.cjs +0 -93
  15. package/dist/cjs/dom/bounding-box.cjs +0 -68
  16. package/dist/cjs/dom/clipboard.cjs +0 -35
  17. package/dist/cjs/dom/cookie.cjs +0 -55
  18. package/dist/cjs/dom/css-vars.cjs +0 -47
  19. package/dist/cjs/dom/events.cjs +0 -57
  20. package/dist/cjs/dom/focusable.cjs +0 -141
  21. package/dist/cjs/dom/font-size.cjs +0 -68
  22. package/dist/cjs/dom/get-element.cjs +0 -96
  23. package/dist/cjs/dom/hash.cjs +0 -33
  24. package/dist/cjs/dom/index.cjs +0 -65
  25. package/dist/cjs/dom/keyboard.cjs +0 -49
  26. package/dist/cjs/dom/local-store.cjs +0 -77
  27. package/dist/cjs/dom/media.cjs +0 -57
  28. package/dist/cjs/dom/observers/index.cjs +0 -27
  29. package/dist/cjs/dom/observers/intersection-observer.cjs +0 -59
  30. package/dist/cjs/dom/observers/mutation-observer.cjs +0 -63
  31. package/dist/cjs/dom/observers/observer.cjs +0 -38
  32. package/dist/cjs/dom/observers/resize-observer.cjs +0 -52
  33. package/dist/cjs/dom/observers/scroll-observer.cjs +0 -118
  34. package/dist/cjs/dom/pkce.cjs +0 -43
  35. package/dist/cjs/dom/query-params.cjs +0 -36
  36. package/dist/cjs/dom/random-string.cjs +0 -36
  37. package/dist/cjs/dom/sanitize.cjs +0 -41
  38. package/dist/cjs/dom/session-store.cjs +0 -47
  39. package/dist/cjs/dom/spam-prevention.cjs +0 -48
  40. package/dist/cjs/dom/trap-focus.cjs +0 -75
  41. package/dist/cjs/dom/ui/aria-current.cjs +0 -41
  42. package/dist/cjs/dom/ui/inconsistent-button-fix.cjs +0 -33
  43. package/dist/cjs/dom/ui/index.cjs +0 -27
  44. package/dist/cjs/dom/ui/scroll-container.cjs +0 -45
  45. package/dist/cjs/dom/ui/traverse-and-scramble.cjs +0 -48
  46. package/dist/cjs/lib/arrays/index.cjs +0 -31
  47. package/dist/cjs/lib/arrays/item-position.cjs +0 -40
  48. package/dist/cjs/lib/arrays/join.cjs +0 -35
  49. package/dist/cjs/lib/arrays/shuffle.cjs +0 -40
  50. package/dist/cjs/lib/arrays/sort.cjs +0 -59
  51. package/dist/cjs/lib/arrays/split-array.cjs +0 -39
  52. package/dist/cjs/lib/arrays/unique.cjs +0 -29
  53. package/dist/cjs/lib/auth/index.cjs +0 -21
  54. package/dist/cjs/lib/auth/route-manager.cjs +0 -49
  55. package/dist/cjs/lib/checks.cjs +0 -61
  56. package/dist/cjs/lib/date/days.cjs +0 -35
  57. package/dist/cjs/lib/date/index.cjs +0 -25
  58. package/dist/cjs/lib/date/months.cjs +0 -100
  59. package/dist/cjs/lib/date/time.cjs +0 -105
  60. package/dist/cjs/lib/form/form-data.cjs +0 -81
  61. package/dist/cjs/lib/form/index.cjs +0 -23
  62. package/dist/cjs/lib/form/sanitize.cjs +0 -59
  63. package/dist/cjs/lib/functions/callback.cjs +0 -29
  64. package/dist/cjs/lib/functions/debounce.cjs +0 -41
  65. package/dist/cjs/lib/functions/env.cjs +0 -30
  66. package/dist/cjs/lib/functions/functional.cjs +0 -80
  67. package/dist/cjs/lib/functions/index.cjs +0 -29
  68. package/dist/cjs/lib/functions/throttle.cjs +0 -36
  69. package/dist/cjs/lib/functions/timeout.cjs +0 -39
  70. package/dist/cjs/lib/hash.cjs +0 -41
  71. package/dist/cjs/lib/index.cjs +0 -47
  72. package/dist/cjs/lib/numbers/index.cjs +0 -36
  73. package/dist/cjs/lib/numbers/math.cjs +0 -34
  74. package/dist/cjs/lib/objects/camelcase-keys.cjs +0 -39
  75. package/dist/cjs/lib/objects/empty.cjs +0 -37
  76. package/dist/cjs/lib/objects/equal.cjs +0 -45
  77. package/dist/cjs/lib/objects/extend.cjs +0 -36
  78. package/dist/cjs/lib/objects/flatten.cjs +0 -40
  79. package/dist/cjs/lib/objects/index.cjs +0 -45
  80. package/dist/cjs/lib/objects/json.cjs +0 -33
  81. package/dist/cjs/lib/objects/loop.cjs +0 -38
  82. package/dist/cjs/lib/objects/mix/mix.cjs +0 -113
  83. package/dist/cjs/lib/objects/nested-property.cjs +0 -43
  84. package/dist/cjs/lib/objects/normalize-object.cjs +0 -32
  85. package/dist/cjs/lib/objects/omit-empty.cjs +0 -38
  86. package/dist/cjs/lib/objects/size.cjs +0 -61
  87. package/dist/cjs/lib/objects/split.cjs +0 -37
  88. package/dist/cjs/lib/promises/index.cjs +0 -21
  89. package/dist/cjs/lib/promises/reject.cjs +0 -50
  90. package/dist/cjs/lib/sse.cjs +0 -74
  91. package/dist/cjs/lib/strings/convert-case/convert-case.cjs +0 -94
  92. package/dist/cjs/lib/strings/index.cjs +0 -29
  93. package/dist/cjs/lib/strings/markdown.cjs +0 -74
  94. package/dist/cjs/lib/strings/name.cjs +0 -44
  95. package/dist/cjs/lib/strings/pluralize.cjs +0 -38
  96. package/dist/cjs/lib/strings/query-string.cjs +0 -41
  97. package/dist/cjs/lib/style/index.cjs +0 -35
  98. package/dist/cjs/lib/symbols/index.cjs +0 -21
  99. package/dist/cjs/lib/symbols/symbols.cjs +0 -36
  100. package/dist/cjs/node/dirname.cjs +0 -47
  101. package/dist/cjs/node/file-cache.cjs +0 -158
  102. package/dist/cjs/node/file.cjs +0 -48
  103. package/dist/cjs/node/hash.cjs +0 -40
  104. package/dist/cjs/node/index.cjs +0 -33
  105. package/dist/cjs/node/pkce.cjs +0 -52
  106. package/dist/cjs/node/random-string.cjs +0 -41
  107. package/dist/cjs/node/sanitize.cjs +0 -41
  108. package/dist/cjs/node/uuid.cjs +0 -40
  109. package/dist/esm/dom/accessibility.js +0 -26
  110. package/dist/esm/dom/actions/index.js +0 -3
  111. package/dist/esm/dom/actions/masonry.js +0 -37
  112. package/dist/esm/dom/actions/prefer-horizontal-scroll.js +0 -90
  113. package/dist/esm/dom/actions/sticky.js +0 -70
  114. package/dist/esm/dom/bounding-box.js +0 -44
  115. package/dist/esm/dom/clipboard.js +0 -12
  116. package/dist/esm/dom/cookie.js +0 -31
  117. package/dist/esm/dom/css-vars.js +0 -21
  118. package/dist/esm/dom/events.js +0 -31
  119. package/dist/esm/dom/focusable.js +0 -117
  120. package/dist/esm/dom/font-size.js +0 -40
  121. package/dist/esm/dom/get-element.js +0 -66
  122. package/dist/esm/dom/hash.js +0 -10
  123. package/dist/esm/dom/index.js +0 -23
  124. package/dist/esm/dom/keyboard.js +0 -22
  125. package/dist/esm/dom/local-store.js +0 -54
  126. package/dist/esm/dom/media.js +0 -32
  127. package/dist/esm/dom/observers/index.js +0 -4
  128. package/dist/esm/dom/observers/intersection-observer.js +0 -36
  129. package/dist/esm/dom/observers/mutation-observer.js +0 -40
  130. package/dist/esm/dom/observers/observer.js +0 -15
  131. package/dist/esm/dom/observers/resize-observer.js +0 -29
  132. package/dist/esm/dom/observers/scroll-observer.js +0 -95
  133. package/dist/esm/dom/pkce.js +0 -20
  134. package/dist/esm/dom/query-params.js +0 -13
  135. package/dist/esm/dom/random-string.js +0 -12
  136. package/dist/esm/dom/sanitize.js +0 -8
  137. package/dist/esm/dom/session-store.js +0 -24
  138. package/dist/esm/dom/spam-prevention.js +0 -25
  139. package/dist/esm/dom/trap-focus.js +0 -51
  140. package/dist/esm/dom/ui/aria-current.js +0 -17
  141. package/dist/esm/dom/ui/inconsistent-button-fix.js +0 -10
  142. package/dist/esm/dom/ui/index.js +0 -4
  143. package/dist/esm/dom/ui/scroll-container.js +0 -22
  144. package/dist/esm/dom/ui/traverse-and-scramble.js +0 -25
  145. package/dist/esm/lib/arrays/index.js +0 -6
  146. package/dist/esm/lib/arrays/item-position.js +0 -15
  147. package/dist/esm/lib/arrays/join.js +0 -12
  148. package/dist/esm/lib/arrays/shuffle.js +0 -17
  149. package/dist/esm/lib/arrays/sort.js +0 -36
  150. package/dist/esm/lib/arrays/split-array.js +0 -16
  151. package/dist/esm/lib/arrays/unique.js +0 -6
  152. package/dist/esm/lib/auth/index.js +0 -1
  153. package/dist/esm/lib/auth/route-manager.js +0 -25
  154. package/dist/esm/lib/checks.js +0 -34
  155. package/dist/esm/lib/date/days.js +0 -12
  156. package/dist/esm/lib/date/index.js +0 -3
  157. package/dist/esm/lib/date/months.js +0 -77
  158. package/dist/esm/lib/date/time.js +0 -75
  159. package/dist/esm/lib/form/form-data.js +0 -57
  160. package/dist/esm/lib/form/index.js +0 -2
  161. package/dist/esm/lib/form/sanitize.js +0 -34
  162. package/dist/esm/lib/functions/callback.js +0 -6
  163. package/dist/esm/lib/functions/debounce.js +0 -18
  164. package/dist/esm/lib/functions/env.js +0 -7
  165. package/dist/esm/lib/functions/functional.js +0 -52
  166. package/dist/esm/lib/functions/index.js +0 -5
  167. package/dist/esm/lib/functions/throttle.js +0 -13
  168. package/dist/esm/lib/functions/timeout.js +0 -14
  169. package/dist/esm/lib/hash.js +0 -18
  170. package/dist/esm/lib/index.js +0 -14
  171. package/dist/esm/lib/numbers/index.js +0 -11
  172. package/dist/esm/lib/numbers/math.js +0 -10
  173. package/dist/esm/lib/objects/camelcase-keys.js +0 -16
  174. package/dist/esm/lib/objects/empty.js +0 -13
  175. package/dist/esm/lib/objects/equal.js +0 -11
  176. package/dist/esm/lib/objects/extend.js +0 -13
  177. package/dist/esm/lib/objects/flatten.js +0 -17
  178. package/dist/esm/lib/objects/index.js +0 -13
  179. package/dist/esm/lib/objects/json.js +0 -10
  180. package/dist/esm/lib/objects/loop.js +0 -14
  181. package/dist/esm/lib/objects/mix/mix.js +0 -88
  182. package/dist/esm/lib/objects/nested-property.js +0 -18
  183. package/dist/esm/lib/objects/normalize-object.js +0 -9
  184. package/dist/esm/lib/objects/omit-empty.js +0 -15
  185. package/dist/esm/lib/objects/size.js +0 -38
  186. package/dist/esm/lib/objects/split.js +0 -14
  187. package/dist/esm/lib/promises/index.js +0 -1
  188. package/dist/esm/lib/promises/reject.js +0 -17
  189. package/dist/esm/lib/sse.js +0 -50
  190. package/dist/esm/lib/strings/convert-case/convert-case.js +0 -64
  191. package/dist/esm/lib/strings/index.js +0 -5
  192. package/dist/esm/lib/strings/markdown.js +0 -40
  193. package/dist/esm/lib/strings/name.js +0 -21
  194. package/dist/esm/lib/strings/pluralize.js +0 -5
  195. package/dist/esm/lib/strings/query-string.js +0 -16
  196. package/dist/esm/lib/style/index.js +0 -12
  197. package/dist/esm/lib/symbols/index.js +0 -1
  198. package/dist/esm/lib/symbols/symbols.js +0 -12
  199. package/dist/esm/node/dirname.js +0 -13
  200. package/dist/esm/node/file-cache.js +0 -121
  201. package/dist/esm/node/file.js +0 -14
  202. package/dist/esm/node/hash.js +0 -7
  203. package/dist/esm/node/index.js +0 -7
  204. package/dist/esm/node/pkce.js +0 -19
  205. package/dist/esm/node/random-string.js +0 -8
  206. package/dist/esm/node/sanitize.js +0 -8
  207. package/dist/esm/node/uuid.js +0 -7
  208. package/dist/types/dom/accessibility.d.cts +0 -30
  209. package/dist/types/dom/actions/index.d.cts +0 -3
  210. package/dist/types/dom/actions/masonry.d.cts +0 -5
  211. package/dist/types/dom/actions/prefer-horizontal-scroll.d.cts +0 -5
  212. package/dist/types/dom/actions/sticky.d.cts +0 -5
  213. package/dist/types/dom/bounding-box.d.cts +0 -41
  214. package/dist/types/dom/clipboard.d.cts +0 -7
  215. package/dist/types/dom/cookie.d.cts +0 -7
  216. package/dist/types/dom/css-vars.d.cts +0 -6
  217. package/dist/types/dom/events.d.cts +0 -92
  218. package/dist/types/dom/focusable.d.cts +0 -78
  219. package/dist/types/dom/font-size.d.cts +0 -8
  220. package/dist/types/dom/get-element.d.cts +0 -102
  221. package/dist/types/dom/hash.d.cts +0 -3
  222. package/dist/types/dom/index.d.cts +0 -31
  223. package/dist/types/dom/keyboard.d.cts +0 -32
  224. package/dist/types/dom/local-store.d.cts +0 -31
  225. package/dist/types/dom/media.d.cts +0 -5
  226. package/dist/types/dom/observers/index.d.cts +0 -4
  227. package/dist/types/dom/observers/intersection-observer.d.cts +0 -10
  228. package/dist/types/dom/observers/mutation-observer.d.cts +0 -9
  229. package/dist/types/dom/observers/observer.d.cts +0 -3
  230. package/dist/types/dom/observers/resize-observer.d.cts +0 -40
  231. package/dist/types/dom/observers/scroll-observer.d.cts +0 -40
  232. package/dist/types/dom/pkce.d.cts +0 -8
  233. package/dist/types/dom/query-params.d.cts +0 -6
  234. package/dist/types/dom/random-string.d.cts +0 -9
  235. package/dist/types/dom/sanitize.d.cts +0 -10
  236. package/dist/types/dom/session-store.d.cts +0 -7
  237. package/dist/types/dom/spam-prevention.d.cts +0 -14
  238. package/dist/types/dom/trap-focus.d.cts +0 -32
  239. package/dist/types/dom/ui/aria-current.d.cts +0 -7
  240. package/dist/types/dom/ui/inconsistent-button-fix.d.cts +0 -14
  241. package/dist/types/dom/ui/index.d.cts +0 -4
  242. package/dist/types/dom/ui/scroll-container.d.cts +0 -3
  243. package/dist/types/dom/ui/traverse-and-scramble.d.cts +0 -21
  244. package/dist/types/lib/arrays/index.d.cts +0 -6
  245. package/dist/types/lib/arrays/item-position.d.cts +0 -16
  246. package/dist/types/lib/arrays/join.d.cts +0 -15
  247. package/dist/types/lib/arrays/shuffle.d.cts +0 -3
  248. package/dist/types/lib/arrays/sort.d.cts +0 -32
  249. package/dist/types/lib/arrays/split-array.d.cts +0 -6
  250. package/dist/types/lib/arrays/unique.d.cts +0 -3
  251. package/dist/types/lib/auth/index.d.cts +0 -1
  252. package/dist/types/lib/auth/route-manager.d.cts +0 -28
  253. package/dist/types/lib/checks.d.cts +0 -33
  254. package/dist/types/lib/date/days.d.cts +0 -7
  255. package/dist/types/lib/date/index.d.cts +0 -3
  256. package/dist/types/lib/date/months.d.cts +0 -11
  257. package/dist/types/lib/date/time.d.cts +0 -21
  258. package/dist/types/lib/form/form-data.d.cts +0 -9
  259. package/dist/types/lib/form/index.d.cts +0 -2
  260. package/dist/types/lib/form/sanitize.d.cts +0 -60
  261. package/dist/types/lib/functions/callback.d.cts +0 -8
  262. package/dist/types/lib/functions/debounce.d.cts +0 -3
  263. package/dist/types/lib/functions/env.d.cts +0 -3
  264. package/dist/types/lib/functions/functional.d.cts +0 -72
  265. package/dist/types/lib/functions/index.d.cts +0 -5
  266. package/dist/types/lib/functions/throttle.d.cts +0 -3
  267. package/dist/types/lib/functions/timeout.d.cts +0 -5
  268. package/dist/types/lib/hash.d.cts +0 -3
  269. package/dist/types/lib/index.d.cts +0 -43
  270. package/dist/types/lib/numbers/index.d.cts +0 -5
  271. package/dist/types/lib/numbers/math.d.cts +0 -4
  272. package/dist/types/lib/objects/camelcase-keys.d.cts +0 -3
  273. package/dist/types/lib/objects/empty.d.cts +0 -4
  274. package/dist/types/lib/objects/equal.d.cts +0 -4
  275. package/dist/types/lib/objects/extend.d.cts +0 -6
  276. package/dist/types/lib/objects/flatten.d.cts +0 -6
  277. package/dist/types/lib/objects/index.d.cts +0 -13
  278. package/dist/types/lib/objects/json.d.cts +0 -3
  279. package/dist/types/lib/objects/loop.d.cts +0 -4
  280. package/dist/types/lib/objects/mix/mix.d.cts +0 -44
  281. package/dist/types/lib/objects/nested-property.d.cts +0 -24
  282. package/dist/types/lib/objects/normalize-object.d.cts +0 -3
  283. package/dist/types/lib/objects/omit-empty.d.cts +0 -3
  284. package/dist/types/lib/objects/size.d.cts +0 -3
  285. package/dist/types/lib/objects/split.d.cts +0 -14
  286. package/dist/types/lib/promises/index.d.cts +0 -1
  287. package/dist/types/lib/promises/reject.d.cts +0 -5
  288. package/dist/types/lib/sse.d.cts +0 -18
  289. package/dist/types/lib/strings/convert-case/convert-case.d.cts +0 -10
  290. package/dist/types/lib/strings/index.d.cts +0 -5
  291. package/dist/types/lib/strings/markdown.d.cts +0 -25
  292. package/dist/types/lib/strings/name.d.cts +0 -7
  293. package/dist/types/lib/strings/pluralize.d.cts +0 -3
  294. package/dist/types/lib/strings/query-string.d.cts +0 -10
  295. package/dist/types/lib/style/index.d.cts +0 -3
  296. package/dist/types/lib/symbols/index.d.cts +0 -1
  297. package/dist/types/lib/symbols/symbols.d.cts +0 -4
  298. package/dist/types/node/dirname.d.cts +0 -9
  299. package/dist/types/node/file-cache.d.cts +0 -56
  300. package/dist/types/node/file.d.cts +0 -4
  301. package/dist/types/node/hash.d.cts +0 -3
  302. package/dist/types/node/index.d.cts +0 -7
  303. package/dist/types/node/pkce.d.cts +0 -8
  304. package/dist/types/node/random-string.d.cts +0 -3
  305. package/dist/types/node/sanitize.d.cts +0 -10
  306. package/dist/types/node/uuid.d.cts +0 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @splendidlabz/utils
2
2
 
3
+ ## 1.11.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 7b9b628: Added context utility
8
+
9
+ ## 1.11.2
10
+
11
+ ### Patch Changes
12
+
13
+ - - Add `updateMasonryLayout` method to `masonry` nodes.
14
+
3
15
  ## 1.11.1
4
16
 
5
17
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splendidlabz/utils",
3
- "version": "1.11.1",
3
+ "version": "1.11.3",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "homepage": "https://splendidlabz.com/docs/utils",
@@ -66,7 +66,7 @@
66
66
  "statuses": "^2.0.1"
67
67
  },
68
68
  "devDependencies": {
69
- "@splendidlabz/eslint-config": "2.1.0",
69
+ "@splendidlabz/eslint-config": "2.1.3",
70
70
  "jsdom": "^26.0.0",
71
71
  "np": "^10.2.0",
72
72
  "tsup": "^8.0.0",
@@ -10,6 +10,7 @@ export async function masonry(node) {
10
10
 
11
11
  node.style.setProperty('row-gap', '1px', 'important')
12
12
  node.style.gridAutoRows = '0px'
13
+ node.updateMasonryLayout = _ => layout({ colGap, items })
13
14
 
14
15
  try {
15
16
  await mediaLoaded(node)
@@ -1,4 +1,4 @@
1
- // Written by Claude AI and tested.
1
+ // Written by AI and tested.
2
2
  export function omitEmpty(obj, shallow = false) {
3
3
  if (typeof obj !== 'object' || obj === null) return obj
4
4
  if (obj instanceof Date) return obj
@@ -0,0 +1,73 @@
1
+ import { describe, expect, test } from 'vitest'
2
+ import { markdown, treatMarkdownWhitespace } from './markdown.js'
3
+
4
+ describe('markdown', () => {
5
+ describe('block (default)', () => {
6
+ test('wraps output in <p>', () => {
7
+ const result = markdown('hello')
8
+ expect(result).toBe('<p>hello</p>\n')
9
+ })
10
+
11
+ test('renders bold', () => {
12
+ const result = markdown('**bold**')
13
+ expect(result).toBe('<p><strong>bold</strong></p>\n')
14
+ })
15
+
16
+ test('renders headings', () => {
17
+ const result = markdown('# Hello')
18
+ expect(result).toContain('<h1')
19
+ expect(result).toContain('Hello</h1>')
20
+ })
21
+ })
22
+
23
+ describe('inline', () => {
24
+ test('never produces <p> tags', () => {
25
+ const result = markdown('hello', { inline: true })
26
+ expect(result).not.toContain('<p>')
27
+ expect(result).not.toContain('</p>')
28
+ })
29
+
30
+ test('plain text renders as-is', () => {
31
+ const result = markdown('hello', { inline: true })
32
+ expect(result).toBe('hello')
33
+ })
34
+
35
+ test('renders bold without <p>', () => {
36
+ const result = markdown('**bold**', { inline: true })
37
+ expect(result).toBe('<strong>bold</strong>')
38
+ })
39
+
40
+ test('renders em without <p>', () => {
41
+ const result = markdown('_em_', { inline: true })
42
+ expect(result).toBe('<em>em</em>')
43
+ })
44
+
45
+ test('renders inline code without <p>', () => {
46
+ const result = markdown('`code`', { inline: true })
47
+ expect(result).toBe('<code>code</code>')
48
+ })
49
+ })
50
+ })
51
+
52
+ describe('treatMarkdownWhitespace', () => {
53
+ test('returns empty string for falsy content', () => {
54
+ const a = treatMarkdownWhitespace('')
55
+ const b = treatMarkdownWhitespace(null)
56
+ const c = treatMarkdownWhitespace(undefined)
57
+ expect(a.content).toBe('')
58
+ expect(b.content).toBe('')
59
+ expect(c.content).toBe('')
60
+ })
61
+
62
+ test('strips leading indentation', () => {
63
+ const { content } = treatMarkdownWhitespace('\n hello\n world')
64
+ expect(content).not.toContain(' hello')
65
+ expect(content).toContain('hello')
66
+ expect(content).toContain('world')
67
+ })
68
+
69
+ test('returns inline content as-is when first line is not empty', () => {
70
+ const { content } = treatMarkdownWhitespace('hello world', { inline: true })
71
+ expect(content).toBe('hello world')
72
+ })
73
+ })
File without changes
@@ -1,7 +1,7 @@
1
1
  import fs from 'fs/promises'
2
2
  import { glob } from 'glob'
3
3
  import path from 'node:path'
4
- import { sort } from '../lib/arrays/index.js'
4
+ import { sort } from '../lib/arrays/sort.js'
5
5
 
6
6
  /**
7
7
  * Resolves a path to an absolute path, handling both absolute and relative paths
package/src/node/pkce.js CHANGED
@@ -20,7 +20,7 @@ export async function PKCE() {
20
20
  * @param {string} verifier
21
21
  * @returns string
22
22
  */
23
- async function getCodeChallenge(verifier) {
23
+ export function getCodeChallenge(verifier) {
24
24
  // Hash to code verifier with SHA-256
25
25
  const hash = crypto.createHash('sha256').update(verifier).digest()
26
26
 
package/tsup.config.mjs CHANGED
@@ -27,10 +27,28 @@ export default defineConfig([
27
27
  outDir: 'dist/cjs',
28
28
  outExtension: () => ({ js: '.cjs' }),
29
29
  clean: false,
30
- bundle: false,
30
+ bundle: true,
31
31
  splitting: false,
32
32
  sourcemap: false,
33
33
  dts: false,
34
+ external: [
35
+ 'fs',
36
+ 'fs/promises',
37
+ 'node:path',
38
+ 'node:crypto',
39
+ 'node:fs',
40
+ 'glob',
41
+ 'deep-eql',
42
+ 'dompurify',
43
+ 'markdown-it',
44
+ 'markdown-it-anchor',
45
+ 'marked',
46
+ 'marked-gfm-heading-id',
47
+ 'marked-mangle',
48
+ 'pluralize',
49
+ 'sanitize-html',
50
+ 'statuses',
51
+ ],
34
52
  },
35
53
  // Types build
36
54
  {
@@ -1,51 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var accessibility_exports = {};
19
- __export(accessibility_exports, {
20
- checkForAccessibleName: () => checkForAccessibleName,
21
- hasAccessibleName: () => hasAccessibleName,
22
- isInvalidAriaPopup: () => isInvalidAriaPopup
23
- });
24
- module.exports = __toCommonJS(accessibility_exports);
25
- function hasAccessibleName(label, labelledBy) {
26
- if (label || labelledBy) return true;
27
- return false;
28
- }
29
- function checkForAccessibleName({
30
- name,
31
- ariaLabel,
32
- ariaLabelledBy,
33
- severity = "warn"
34
- } = {}) {
35
- if (ariaLabel || ariaLabelledBy) return true;
36
- const message = `${name} is missing an accessible name. Please provide an accessible name with 'aria-label' or 'aria-labelledby'.`;
37
- if (severity === "warn") console.warn(message);
38
- if (severity === "error") console.error(message);
39
- return false;
40
- }
41
- function isInvalidAriaPopup(value) {
42
- const allowedPopoupValues = ["dialog", "menu", "listbox", "grid", "tree"];
43
- if (!allowedPopoupValues.includes(value)) return true;
44
- return false;
45
- }
46
- // Annotate the CommonJS export names for ESM import in node:
47
- 0 && (module.exports = {
48
- checkForAccessibleName,
49
- hasAccessibleName,
50
- isInvalidAriaPopup
51
- });
@@ -1,25 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
- var actions_exports = {};
16
- module.exports = __toCommonJS(actions_exports);
17
- __reExport(actions_exports, require("./masonry.js"), module.exports);
18
- __reExport(actions_exports, require("./prefer-horizontal-scroll.js"), module.exports);
19
- __reExport(actions_exports, require("./sticky.js"), module.exports);
20
- // Annotate the CommonJS export names for ESM import in node:
21
- 0 && (module.exports = {
22
- ...require("./masonry.js"),
23
- ...require("./prefer-horizontal-scroll.js"),
24
- ...require("./sticky.js")
25
- });
@@ -1,60 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var masonry_exports = {};
19
- __export(masonry_exports, {
20
- masonry: () => masonry
21
- });
22
- module.exports = __toCommonJS(masonry_exports);
23
- var import_get_element = require("../get-element.js");
24
- var import_media = require("../media.js");
25
- var import_resize_observer = require("../observers/resize-observer.js");
26
- async function masonry(node) {
27
- if (nativeMasonrySupport(node)) return;
28
- const colGap = parseFloat(getComputedStyle(node).columnGap);
29
- const items = (0, import_get_element.getChildrenElements)(node);
30
- node.style.setProperty("row-gap", "1px", "important");
31
- node.style.gridAutoRows = "0px";
32
- try {
33
- await (0, import_media.mediaLoaded)(node);
34
- } catch (e) {
35
- }
36
- layout({ colGap, items });
37
- const obs = (0, import_resize_observer.resizeObserver)(node, {
38
- async callback(opts) {
39
- layout({ colGap, items });
40
- }
41
- });
42
- async function layout({ colGap: colGap2, items: items2 }) {
43
- items2.forEach((item) => {
44
- const ib = item.getBoundingClientRect();
45
- item.style.gridRowEnd = `span ${Math.round(ib.height + colGap2)}`;
46
- });
47
- }
48
- return {
49
- destroy() {
50
- obs.disconnect();
51
- }
52
- };
53
- }
54
- function nativeMasonrySupport(node) {
55
- return getComputedStyle(node).gridTemplateRows === "masonry";
56
- }
57
- // Annotate the CommonJS export names for ESM import in node:
58
- 0 && (module.exports = {
59
- masonry
60
- });
@@ -1,113 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var prefer_horizontal_scroll_exports = {};
19
- __export(prefer_horizontal_scroll_exports, {
20
- preferHorizontalScroll: () => preferHorizontalScroll
21
- });
22
- module.exports = __toCommonJS(prefer_horizontal_scroll_exports);
23
- var import_omit_empty = require("../../lib/objects/omit-empty.js");
24
- var import_css_vars = require("../css-vars.js");
25
- var import_events = require("../events.js");
26
- const DEFAULT_OPTIONS = {
27
- scrollSnapDelay: 1e3
28
- };
29
- function preferHorizontalScroll(node, props = {}) {
30
- if (!node.classList.contains("scrollable-prefer-horizontal")) return;
31
- const state = {
32
- origSnapType: null,
33
- currentSnapType: null,
34
- snapTimeoutID: null
35
- };
36
- const options = {
37
- ...DEFAULT_OPTIONS,
38
- ...(0, import_omit_empty.omitEmpty)({
39
- scrollSnapDelay: (0, import_css_vars.getCSSVar)(node, "--scroll-snap-delay")
40
- }),
41
- ...(0, import_omit_empty.omitEmpty)(props)
42
- };
43
- const listeners = [
44
- {
45
- event: "wheel",
46
- node,
47
- handler: handleWheel
48
- },
49
- {
50
- event: "pointerenter",
51
- node,
52
- handler: handlePointerEnter
53
- },
54
- {
55
- event: "pointerleave",
56
- node,
57
- handler: handlePointerLeave
58
- }
59
- ];
60
- (0, import_events.addListeners)(listeners);
61
- function handleWheel(event) {
62
- const direction = event.deltaY > 0 ? "down" : "up";
63
- const updatedDelta = event.deltaY;
64
- if (isTrackpad(event)) return false;
65
- (0, import_css_vars.setCSSVar)(node, "--snap-type", "none");
66
- const scrolledAmount = node.scrollLeft;
67
- const scrollWidth = node.scrollWidth;
68
- const clientWidth = node.clientWidth;
69
- const scrollableAmount = scrollWidth - clientWidth;
70
- if (direction === "down" && scrolledAmount < scrollableAmount) {
71
- node.scrollLeft += updatedDelta;
72
- event.preventDefault();
73
- }
74
- if (direction === "up" && scrolledAmount > 0) {
75
- node.scrollLeft += updatedDelta;
76
- event.preventDefault();
77
- }
78
- const { snapTimeoutID } = state;
79
- if (snapTimeoutID) clearTimeout(snapTimeoutID);
80
- state.snapTimeoutID = setTimeout((_) => {
81
- restoreHijackedState(node, state);
82
- }, options.scrollSnapDelay);
83
- }
84
- function handlePointerEnter(event) {
85
- state.origSnapType = (0, import_css_vars.getCSSVar)(node, "--snap-type") || "proximity";
86
- }
87
- function handlePointerLeave(event) {
88
- restoreHijackedState(node, state);
89
- }
90
- return {
91
- destroy() {
92
- (0, import_events.removeListeners)(listeners);
93
- }
94
- };
95
- }
96
- function restoreHijackedState(node, state) {
97
- const scrollLeft = node.scrollLeft;
98
- (0, import_css_vars.setCSSVar)(node, "--snap-type", state.origSnapType);
99
- const finalScrollLeft = node.scrollLeft;
100
- (0, import_css_vars.setCSSVar)(node, "--snap-type", "none");
101
- node.scrollTo({ left: scrollLeft, behavior: "instant" });
102
- node.scrollTo({ left: finalScrollLeft, behavior: "smooth" });
103
- setTimeout((_) => {
104
- (0, import_css_vars.setCSSVar)(node, "--snap-type", state.origSnapType);
105
- }, 250);
106
- }
107
- function isTrackpad(event) {
108
- if (event.wheelDeltaY === event.deltaY * -3) return true;
109
- }
110
- // Annotate the CommonJS export names for ESM import in node:
111
- 0 && (module.exports = {
112
- preferHorizontalScroll
113
- });
@@ -1,93 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var sticky_exports = {};
19
- __export(sticky_exports, {
20
- sticky: () => sticky
21
- });
22
- module.exports = __toCommonJS(sticky_exports);
23
- var import_bounding_box = require("../bounding-box.js");
24
- var import_resize_observer = require("../observers/resize-observer.js");
25
- var import_scroll_container = require("../ui/scroll-container.js");
26
- function sticky(node, props = {}) {
27
- const scrollContainer = (0, import_scroll_container.findScrollContainer)(node);
28
- let stickyTBLR = getComputedTBLR(node);
29
- const obs = (0, import_resize_observer.resizeObserver)(node, {
30
- callback: ({ entry }) => {
31
- stickyTBLR = getComputedTBLR(node);
32
- isSticking();
33
- scrollContainer === document.documentElement ? window.addEventListener("scroll", scrollEventListener) : scrollContainer.addEventListener("scroll", scrollEventListener);
34
- }
35
- });
36
- function scrollEventListener(event) {
37
- isSticking();
38
- }
39
- function isSticking() {
40
- const { top, bottom, left, right } = stickyTBLR;
41
- const relativeRect = (0, import_bounding_box.boundingBoxRelativeToAncestor)({
42
- element: node,
43
- ancestorElement: scrollContainer
44
- });
45
- if (!isNaN(top)) {
46
- if (relativeRect.top - top <= 1) {
47
- node.classList.add("sticking");
48
- } else {
49
- node.classList.remove("sticking");
50
- }
51
- }
52
- if (!isNaN(bottom)) {
53
- if (relativeRect.bottom + bottom >= -1) {
54
- node.classList.add("sticking");
55
- } else {
56
- node.classList.remove("sticking");
57
- }
58
- }
59
- if (!isNaN(left)) {
60
- if (relativeRect.left - left <= 1) {
61
- node.classList.add("sticking");
62
- } else {
63
- node.classList.remove("sticking");
64
- }
65
- }
66
- if (!isNaN(right)) {
67
- if (relativeRect.right + right >= -1) {
68
- node.classList.add("sticking");
69
- } else {
70
- node.classList.remove("sticking");
71
- }
72
- }
73
- }
74
- return {
75
- destroy() {
76
- obs.disconnect();
77
- scrollContainer.removeEventListener("scroll", scrollEventListener);
78
- }
79
- };
80
- }
81
- function getComputedTBLR(element) {
82
- const style = getComputedStyle(element);
83
- return {
84
- top: parseFloat(style.top),
85
- bottom: parseFloat(style.bottom),
86
- left: parseFloat(style.left),
87
- right: parseFloat(style.right)
88
- };
89
- }
90
- // Annotate the CommonJS export names for ESM import in node:
91
- 0 && (module.exports = {
92
- sticky
93
- });
@@ -1,68 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var bounding_box_exports = {};
19
- __export(bounding_box_exports, {
20
- boundingBox: () => boundingBox,
21
- boundingBoxRelativeToAncestor: () => boundingBoxRelativeToAncestor
22
- });
23
- module.exports = __toCommonJS(bounding_box_exports);
24
- function boundingBox(element, { containsPadding = true } = {}) {
25
- const box = element.getBoundingClientRect();
26
- const ret = {};
27
- for (const prop in box) ret[prop] = box[prop];
28
- if (!containsPadding) {
29
- const style = getComputedStyle(element);
30
- const paddingTop = parseFloat(style.paddingTop);
31
- const paddingRight = parseFloat(style.paddingRight);
32
- const paddingBottom = parseFloat(style.paddingBottom);
33
- const paddingLeft = parseFloat(style.paddingLeft);
34
- ret.x = ret.x + paddingLeft;
35
- ret.y = ret.y + paddingTop;
36
- ret.width = ret.width - paddingLeft - paddingRight;
37
- ret.height = ret.height - paddingTop - paddingBottom;
38
- ret.top = ret.top + paddingTop;
39
- ret.bottom = ret.bottom - paddingBottom;
40
- ret.right = ret.right - paddingRight;
41
- ret.left = ret.left + paddingLeft;
42
- }
43
- ret.xCenter = (ret.left + ret.right) / 2;
44
- ret.yCenter = (ret.top + ret.bottom) / 2;
45
- return ret;
46
- }
47
- function boundingBoxRelativeToAncestor({ element, ancestorElement }) {
48
- ancestorElement = ancestorElement || element.parentElement;
49
- const box = boundingBox(element);
50
- const ancestorBox = boundingBox(ancestorElement, {
51
- containsPadding: false
52
- });
53
- return {
54
- top: box.top - ancestorBox.top,
55
- right: box.right - ancestorBox.right,
56
- bottom: box.bottom - ancestorBox.bottom,
57
- left: box.left - ancestorBox.left,
58
- width: box.width,
59
- height: box.height,
60
- xCenter: (box.left + box.right) / 2 - ancestorBox.left,
61
- yCenter: (box.top + box.bottom) / 2 - ancestorBox.top
62
- };
63
- }
64
- // Annotate the CommonJS export names for ESM import in node:
65
- 0 && (module.exports = {
66
- boundingBox,
67
- boundingBoxRelativeToAncestor
68
- });
@@ -1,35 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var clipboard_exports = {};
19
- __export(clipboard_exports, {
20
- copyRichText: () => copyRichText
21
- });
22
- module.exports = __toCommonJS(clipboard_exports);
23
- function copyRichText(element) {
24
- const range = document.createRange();
25
- range.selectNode(element);
26
- const selection = window.getSelection();
27
- selection.removeAllRanges();
28
- selection.addRange(range);
29
- document.execCommand("copy");
30
- selection.removeAllRanges();
31
- }
32
- // Annotate the CommonJS export names for ESM import in node:
33
- 0 && (module.exports = {
34
- copyRichText
35
- });
@@ -1,55 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var cookie_exports = {};
19
- __export(cookie_exports, {
20
- cookies: () => cookies,
21
- getCookie: () => getCookie
22
- });
23
- module.exports = __toCommonJS(cookie_exports);
24
- const cookies = {
25
- get(name) {
26
- return getCookie(name);
27
- },
28
- set(name, value, days) {
29
- setCookie(name, value, days);
30
- }
31
- };
32
- function getCookie(name) {
33
- const match = document.cookie.match(new RegExp("(^| )" + name + "=([^;]+)"));
34
- if (!match) return null;
35
- const decoded = decodeURIComponent(match[2]);
36
- try {
37
- return JSON.parse(decoded);
38
- } catch (e) {
39
- return decoded;
40
- }
41
- }
42
- function setCookie(name, value, days) {
43
- let expires = "";
44
- if (days) {
45
- const date = /* @__PURE__ */ new Date();
46
- date.setTime(date.getTime() + days * 24 * 60 * 60 * 1e3);
47
- expires = "; expires=" + date.toUTCString();
48
- }
49
- document.cookie = name + "=" + (value || "") + expires + "; path=/";
50
- }
51
- // Annotate the CommonJS export names for ESM import in node:
52
- 0 && (module.exports = {
53
- cookies,
54
- getCookie
55
- });