staticalize 0.2.2

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 (433) hide show
  1. package/README.md +43 -0
  2. package/esm/_dnt.polyfills.d.ts +117 -0
  3. package/esm/_dnt.polyfills.d.ts.map +1 -0
  4. package/esm/_dnt.polyfills.js +144 -0
  5. package/esm/_dnt.polyfills.js.map +1 -0
  6. package/esm/_dnt.shims.d.ts +6 -0
  7. package/esm/_dnt.shims.d.ts.map +1 -0
  8. package/esm/_dnt.shims.js +62 -0
  9. package/esm/_dnt.shims.js.map +1 -0
  10. package/esm/config.d.ts +6 -0
  11. package/esm/config.d.ts.map +1 -0
  12. package/esm/config.js +25 -0
  13. package/esm/config.js.map +1 -0
  14. package/esm/deno.d.ts +45 -0
  15. package/esm/deno.d.ts.map +1 -0
  16. package/esm/deno.js +43 -0
  17. package/esm/deno.js.map +1 -0
  18. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.d.ts +48 -0
  19. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.d.ts.map +1 -0
  20. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.js +2 -0
  21. package/esm/deps/jsr.io/@libs/xml/6.0.8/_types.js.map +1 -0
  22. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.d.ts +127 -0
  23. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.d.ts.map +1 -0
  24. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.js +383 -0
  25. package/esm/deps/jsr.io/@libs/xml/6.0.8/parse.js.map +1 -0
  26. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.d.ts +93 -0
  27. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.d.ts.map +1 -0
  28. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.js +262 -0
  29. package/esm/deps/jsr.io/@libs/xml/6.0.8/stringify.js.map +1 -0
  30. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.d.ts +37 -0
  31. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.d.ts.map +1 -0
  32. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.js +90 -0
  33. package/esm/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.js.map +1 -0
  34. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts +13 -0
  35. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.d.ts.map +1 -0
  36. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js +19 -0
  37. package/esm/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.js.map +1 -0
  38. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts +49 -0
  39. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.d.ts.map +1 -0
  40. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js +103 -0
  41. package/esm/deps/jsr.io/@std/fs/1.0.22/ensure_dir.js.map +1 -0
  42. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts +2 -0
  43. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +1 -0
  44. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js +13 -0
  45. package/esm/deps/jsr.io/@std/internal/1.0.12/_os.js.map +1 -0
  46. package/esm/deps/jsr.io/@std/internal/1.0.12/os.d.ts +3 -0
  47. package/esm/deps/jsr.io/@std/internal/1.0.12/os.d.ts.map +1 -0
  48. package/esm/deps/jsr.io/@std/internal/1.0.12/os.js +6 -0
  49. package/esm/deps/jsr.io/@std/internal/1.0.12/os.js.map +1 -0
  50. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.d.ts +2 -0
  51. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.d.ts.map +1 -0
  52. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.js +8 -0
  53. package/esm/deps/jsr.io/@std/path/1.1.4/_common/assert_path.js.map +1 -0
  54. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.d.ts +4 -0
  55. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.d.ts.map +1 -0
  56. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.js +41 -0
  57. package/esm/deps/jsr.io/@std/path/1.1.4/_common/basename.js.map +1 -0
  58. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.d.ts +2 -0
  59. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.d.ts.map +1 -0
  60. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.js +24 -0
  61. package/esm/deps/jsr.io/@std/path/1.1.4/_common/common.js.map +1 -0
  62. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.d.ts +40 -0
  63. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.d.ts.map +1 -0
  64. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.js +47 -0
  65. package/esm/deps/jsr.io/@std/path/1.1.4/_common/constants.js.map +1 -0
  66. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.d.ts +2 -0
  67. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.d.ts.map +1 -0
  68. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.js +9 -0
  69. package/esm/deps/jsr.io/@std/path/1.1.4/_common/dirname.js.map +1 -0
  70. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.d.ts +4 -0
  71. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.d.ts.map +1 -0
  72. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.js +20 -0
  73. package/esm/deps/jsr.io/@std/path/1.1.4/_common/format.js.map +1 -0
  74. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.d.ts +2 -0
  75. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.d.ts.map +1 -0
  76. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.js +10 -0
  77. package/esm/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.js.map +1 -0
  78. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.d.ts +35 -0
  79. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.d.ts.map +1 -0
  80. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.js +236 -0
  81. package/esm/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.js.map +1 -0
  82. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.d.ts +2 -0
  83. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.d.ts.map +1 -0
  84. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.js +9 -0
  85. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize.js.map +1 -0
  86. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.d.ts +2 -0
  87. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.d.ts.map +1 -0
  88. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.js +78 -0
  89. package/esm/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.js.map +1 -0
  90. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.d.ts +2 -0
  91. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.d.ts.map +1 -0
  92. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.js +10 -0
  93. package/esm/deps/jsr.io/@std/path/1.1.4/_common/relative.js.map +1 -0
  94. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.d.ts +2 -0
  95. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.d.ts.map +1 -0
  96. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.js +20 -0
  97. package/esm/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.js.map +1 -0
  98. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.d.ts +2 -0
  99. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.d.ts.map +1 -0
  100. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.js +16 -0
  101. package/esm/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.js.map +1 -0
  102. package/esm/deps/jsr.io/@std/path/1.1.4/basename.d.ts +27 -0
  103. package/esm/deps/jsr.io/@std/path/1.1.4/basename.d.ts.map +1 -0
  104. package/esm/deps/jsr.io/@std/path/1.1.4/basename.js +36 -0
  105. package/esm/deps/jsr.io/@std/path/1.1.4/basename.js.map +1 -0
  106. package/esm/deps/jsr.io/@std/path/1.1.4/common.d.ts +28 -0
  107. package/esm/deps/jsr.io/@std/path/1.1.4/common.d.ts.map +1 -0
  108. package/esm/deps/jsr.io/@std/path/1.1.4/common.js +34 -0
  109. package/esm/deps/jsr.io/@std/path/1.1.4/common.js.map +1 -0
  110. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts +15 -0
  111. package/esm/deps/jsr.io/@std/path/1.1.4/constants.d.ts.map +1 -0
  112. package/esm/deps/jsr.io/@std/path/1.1.4/constants.js +18 -0
  113. package/esm/deps/jsr.io/@std/path/1.1.4/constants.js.map +1 -0
  114. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.d.ts +22 -0
  115. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.d.ts.map +1 -0
  116. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js +29 -0
  117. package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js.map +1 -0
  118. package/esm/deps/jsr.io/@std/path/1.1.4/extname.d.ts +22 -0
  119. package/esm/deps/jsr.io/@std/path/1.1.4/extname.d.ts.map +1 -0
  120. package/esm/deps/jsr.io/@std/path/1.1.4/extname.js +29 -0
  121. package/esm/deps/jsr.io/@std/path/1.1.4/extname.js.map +1 -0
  122. package/esm/deps/jsr.io/@std/path/1.1.4/format.d.ts +22 -0
  123. package/esm/deps/jsr.io/@std/path/1.1.4/format.d.ts.map +1 -0
  124. package/esm/deps/jsr.io/@std/path/1.1.4/format.js +28 -0
  125. package/esm/deps/jsr.io/@std/path/1.1.4/format.js.map +1 -0
  126. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.d.ts +22 -0
  127. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.d.ts.map +1 -0
  128. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js +29 -0
  129. package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js.map +1 -0
  130. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.d.ts +77 -0
  131. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.d.ts.map +1 -0
  132. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js +84 -0
  133. package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js.map +1 -0
  134. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.d.ts +22 -0
  135. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.d.ts.map +1 -0
  136. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js +29 -0
  137. package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js.map +1 -0
  138. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.d.ts +17 -0
  139. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.d.ts.map +1 -0
  140. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.js +43 -0
  141. package/esm/deps/jsr.io/@std/path/1.1.4/is_glob.js.map +1 -0
  142. package/esm/deps/jsr.io/@std/path/1.1.4/join.d.ts +23 -0
  143. package/esm/deps/jsr.io/@std/path/1.1.4/join.d.ts.map +1 -0
  144. package/esm/deps/jsr.io/@std/path/1.1.4/join.js +30 -0
  145. package/esm/deps/jsr.io/@std/path/1.1.4/join.js.map +1 -0
  146. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.d.ts +28 -0
  147. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.d.ts.map +1 -0
  148. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js +35 -0
  149. package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js.map +1 -0
  150. package/esm/deps/jsr.io/@std/path/1.1.4/mod.d.ts +213 -0
  151. package/esm/deps/jsr.io/@std/path/1.1.4/mod.d.ts.map +1 -0
  152. package/esm/deps/jsr.io/@std/path/1.1.4/mod.js +217 -0
  153. package/esm/deps/jsr.io/@std/path/1.1.4/mod.js.map +1 -0
  154. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.d.ts +26 -0
  155. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.d.ts.map +1 -0
  156. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js +33 -0
  157. package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js.map +1 -0
  158. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.d.ts +29 -0
  159. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.d.ts.map +1 -0
  160. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js +36 -0
  161. package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js.map +1 -0
  162. package/esm/deps/jsr.io/@std/path/1.1.4/parse.d.ts +35 -0
  163. package/esm/deps/jsr.io/@std/path/1.1.4/parse.d.ts.map +1 -0
  164. package/esm/deps/jsr.io/@std/path/1.1.4/parse.js +40 -0
  165. package/esm/deps/jsr.io/@std/path/1.1.4/parse.js.map +1 -0
  166. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.d.ts +2 -0
  167. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.d.ts.map +1 -0
  168. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.js +9 -0
  169. package/esm/deps/jsr.io/@std/path/1.1.4/posix/_util.js.map +1 -0
  170. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.d.ts +39 -0
  171. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.d.ts.map +1 -0
  172. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.js +53 -0
  173. package/esm/deps/jsr.io/@std/path/1.1.4/posix/basename.js.map +1 -0
  174. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts +13 -0
  175. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.d.ts.map +1 -0
  176. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.js +15 -0
  177. package/esm/deps/jsr.io/@std/path/1.1.4/posix/constants.js.map +1 -0
  178. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.d.ts +30 -0
  179. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.d.ts.map +1 -0
  180. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.js +65 -0
  181. package/esm/deps/jsr.io/@std/path/1.1.4/posix/dirname.js.map +1 -0
  182. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.d.ts +37 -0
  183. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.d.ts.map +1 -0
  184. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.js +94 -0
  185. package/esm/deps/jsr.io/@std/path/1.1.4/posix/extname.js.map +1 -0
  186. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.d.ts +24 -0
  187. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.d.ts.map +1 -0
  188. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.js +29 -0
  189. package/esm/deps/jsr.io/@std/path/1.1.4/posix/format.js.map +1 -0
  190. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.d.ts +16 -0
  191. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.d.ts.map +1 -0
  192. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.js +22 -0
  193. package/esm/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.js.map +1 -0
  194. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.d.ts +72 -0
  195. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.d.ts.map +1 -0
  196. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.js +83 -0
  197. package/esm/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.js.map +1 -0
  198. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.d.ts +17 -0
  199. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.d.ts.map +1 -0
  200. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.js +24 -0
  201. package/esm/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.js.map +1 -0
  202. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.d.ts +31 -0
  203. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.d.ts.map +1 -0
  204. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.js +46 -0
  205. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join.js.map +1 -0
  206. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.d.ts +20 -0
  207. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.d.ts.map +1 -0
  208. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.js +41 -0
  209. package/esm/deps/jsr.io/@std/path/1.1.4/posix/join_globs.js.map +1 -0
  210. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.d.ts +37 -0
  211. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.d.ts.map +1 -0
  212. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.js +59 -0
  213. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize.js.map +1 -0
  214. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.d.ts +20 -0
  215. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.d.ts.map +1 -0
  216. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.js +33 -0
  217. package/esm/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.js.map +1 -0
  218. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.d.ts +25 -0
  219. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.d.ts.map +1 -0
  220. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.js +116 -0
  221. package/esm/deps/jsr.io/@std/path/1.1.4/posix/parse.js.map +1 -0
  222. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.d.ts +20 -0
  223. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.d.ts.map +1 -0
  224. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.js +107 -0
  225. package/esm/deps/jsr.io/@std/path/1.1.4/posix/relative.js.map +1 -0
  226. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.d.ts +17 -0
  227. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.d.ts.map +1 -0
  228. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.js +60 -0
  229. package/esm/deps/jsr.io/@std/path/1.1.4/posix/resolve.js.map +1 -0
  230. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.d.ts +17 -0
  231. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.d.ts.map +1 -0
  232. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.js +28 -0
  233. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.js.map +1 -0
  234. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.d.ts +16 -0
  235. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.d.ts.map +1 -0
  236. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.js +21 -0
  237. package/esm/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.js.map +1 -0
  238. package/esm/deps/jsr.io/@std/path/1.1.4/relative.d.ts +24 -0
  239. package/esm/deps/jsr.io/@std/path/1.1.4/relative.d.ts.map +1 -0
  240. package/esm/deps/jsr.io/@std/path/1.1.4/relative.js +31 -0
  241. package/esm/deps/jsr.io/@std/path/1.1.4/relative.js.map +1 -0
  242. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.d.ts +22 -0
  243. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.d.ts.map +1 -0
  244. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js +31 -0
  245. package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js.map +1 -0
  246. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.d.ts +22 -0
  247. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.d.ts.map +1 -0
  248. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js +29 -0
  249. package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js.map +1 -0
  250. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.d.ts +21 -0
  251. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.d.ts.map +1 -0
  252. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js +30 -0
  253. package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js.map +1 -0
  254. package/esm/deps/jsr.io/@std/path/1.1.4/types.d.ts +38 -0
  255. package/esm/deps/jsr.io/@std/path/1.1.4/types.d.ts.map +1 -0
  256. package/esm/deps/jsr.io/@std/path/1.1.4/types.js +4 -0
  257. package/esm/deps/jsr.io/@std/path/1.1.4/types.js.map +1 -0
  258. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.d.ts +4 -0
  259. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.d.ts.map +1 -0
  260. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.js +16 -0
  261. package/esm/deps/jsr.io/@std/path/1.1.4/windows/_util.js.map +1 -0
  262. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.d.ts +22 -0
  263. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.d.ts.map +1 -0
  264. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.js +48 -0
  265. package/esm/deps/jsr.io/@std/path/1.1.4/windows/basename.js.map +1 -0
  266. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts +13 -0
  267. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.d.ts.map +1 -0
  268. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.js +15 -0
  269. package/esm/deps/jsr.io/@std/path/1.1.4/windows/constants.js.map +1 -0
  270. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.d.ts +17 -0
  271. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.d.ts.map +1 -0
  272. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.js +114 -0
  273. package/esm/deps/jsr.io/@std/path/1.1.4/windows/dirname.js.map +1 -0
  274. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.d.ts +17 -0
  275. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.d.ts.map +1 -0
  276. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.js +83 -0
  277. package/esm/deps/jsr.io/@std/path/1.1.4/windows/extname.js.map +1 -0
  278. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.d.ts +24 -0
  279. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.d.ts.map +1 -0
  280. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.js +29 -0
  281. package/esm/deps/jsr.io/@std/path/1.1.4/windows/format.js.map +1 -0
  282. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.d.ts +18 -0
  283. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.d.ts.map +1 -0
  284. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.js +31 -0
  285. package/esm/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.js.map +1 -0
  286. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.d.ts +71 -0
  287. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.d.ts.map +1 -0
  288. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.js +83 -0
  289. package/esm/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.js.map +1 -0
  290. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.d.ts +17 -0
  291. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.d.ts.map +1 -0
  292. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.js +39 -0
  293. package/esm/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.js.map +1 -0
  294. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.d.ts +18 -0
  295. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.d.ts.map +1 -0
  296. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.js +78 -0
  297. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join.js.map +1 -0
  298. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.d.ts +21 -0
  299. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.d.ts.map +1 -0
  300. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.js +42 -0
  301. package/esm/deps/jsr.io/@std/path/1.1.4/windows/join_globs.js.map +1 -0
  302. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.d.ts +19 -0
  303. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.d.ts.map +1 -0
  304. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.js +136 -0
  305. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize.js.map +1 -0
  306. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.d.ts +20 -0
  307. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.d.ts.map +1 -0
  308. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.js +33 -0
  309. package/esm/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.js.map +1 -0
  310. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.d.ts +25 -0
  311. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.d.ts.map +1 -0
  312. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.js +177 -0
  313. package/esm/deps/jsr.io/@std/path/1.1.4/windows/parse.js.map +1 -0
  314. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.d.ts +23 -0
  315. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.d.ts.map +1 -0
  316. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.js +132 -0
  317. package/esm/deps/jsr.io/@std/path/1.1.4/windows/relative.js.map +1 -0
  318. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.d.ts +17 -0
  319. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.d.ts.map +1 -0
  320. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.js +155 -0
  321. package/esm/deps/jsr.io/@std/path/1.1.4/windows/resolve.js.map +1 -0
  322. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.d.ts +17 -0
  323. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.d.ts.map +1 -0
  324. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.js +35 -0
  325. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.js.map +1 -0
  326. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.d.ts +17 -0
  327. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.d.ts.map +1 -0
  328. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.js +50 -0
  329. package/esm/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.js.map +1 -0
  330. package/esm/main.d.ts +3 -0
  331. package/esm/main.d.ts.map +1 -0
  332. package/esm/main.js +35 -0
  333. package/esm/main.js.map +1 -0
  334. package/esm/mod.d.ts +3 -0
  335. package/esm/mod.d.ts.map +1 -0
  336. package/esm/mod.js +3 -0
  337. package/esm/mod.js.map +1 -0
  338. package/esm/package.json +3 -0
  339. package/esm/staticalize.d.ts +11 -0
  340. package/esm/staticalize.d.ts.map +1 -0
  341. package/esm/staticalize.js +144 -0
  342. package/esm/staticalize.js.map +1 -0
  343. package/esm/task-buffer.d.ts +6 -0
  344. package/esm/task-buffer.d.ts.map +1 -0
  345. package/esm/task-buffer.js +59 -0
  346. package/esm/task-buffer.js.map +1 -0
  347. package/package.json +41 -0
  348. package/src/_dnt.polyfills.ts +283 -0
  349. package/src/_dnt.shims.ts +64 -0
  350. package/src/config.ts +28 -0
  351. package/src/deno.js +42 -0
  352. package/src/deps/jsr.io/@libs/xml/6.0.8/_types.ts +46 -0
  353. package/src/deps/jsr.io/@libs/xml/6.0.8/parse.ts +443 -0
  354. package/src/deps/jsr.io/@libs/xml/6.0.8/stringify.ts +308 -0
  355. package/src/deps/jsr.io/@libs/xml/6.0.8/wasm_xml_parser/wasm_xml_parser.js +2 -0
  356. package/src/deps/jsr.io/@std/fs/1.0.22/_get_file_info_type.ts +25 -0
  357. package/src/deps/jsr.io/@std/fs/1.0.22/ensure_dir.ts +110 -0
  358. package/src/deps/jsr.io/@std/internal/1.0.12/_os.ts +15 -0
  359. package/src/deps/jsr.io/@std/internal/1.0.12/os.ts +7 -0
  360. package/src/deps/jsr.io/@std/path/1.1.4/_common/assert_path.ts +10 -0
  361. package/src/deps/jsr.io/@std/path/1.1.4/_common/basename.ts +53 -0
  362. package/src/deps/jsr.io/@std/path/1.1.4/_common/common.ts +26 -0
  363. package/src/deps/jsr.io/@std/path/1.1.4/_common/constants.ts +49 -0
  364. package/src/deps/jsr.io/@std/path/1.1.4/_common/dirname.ts +9 -0
  365. package/src/deps/jsr.io/@std/path/1.1.4/_common/format.ts +25 -0
  366. package/src/deps/jsr.io/@std/path/1.1.4/_common/from_file_url.ts +12 -0
  367. package/src/deps/jsr.io/@std/path/1.1.4/_common/glob_to_reg_exp.ts +295 -0
  368. package/src/deps/jsr.io/@std/path/1.1.4/_common/normalize.ts +9 -0
  369. package/src/deps/jsr.io/@std/path/1.1.4/_common/normalize_string.ts +74 -0
  370. package/src/deps/jsr.io/@std/path/1.1.4/_common/relative.ts +10 -0
  371. package/src/deps/jsr.io/@std/path/1.1.4/_common/strip_trailing_separators.ts +25 -0
  372. package/src/deps/jsr.io/@std/path/1.1.4/_common/to_file_url.ts +17 -0
  373. package/src/deps/jsr.io/@std/path/1.1.4/basename.ts +37 -0
  374. package/src/deps/jsr.io/@std/path/1.1.4/common.ts +35 -0
  375. package/src/deps/jsr.io/@std/path/1.1.4/constants.ts +18 -0
  376. package/src/deps/jsr.io/@std/path/1.1.4/dirname.ts +30 -0
  377. package/src/deps/jsr.io/@std/path/1.1.4/extname.ts +29 -0
  378. package/src/deps/jsr.io/@std/path/1.1.4/format.ts +30 -0
  379. package/src/deps/jsr.io/@std/path/1.1.4/from_file_url.ts +30 -0
  380. package/src/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.ts +94 -0
  381. package/src/deps/jsr.io/@std/path/1.1.4/is_absolute.ts +30 -0
  382. package/src/deps/jsr.io/@std/path/1.1.4/is_glob.ts +49 -0
  383. package/src/deps/jsr.io/@std/path/1.1.4/join.ts +31 -0
  384. package/src/deps/jsr.io/@std/path/1.1.4/join_globs.ts +42 -0
  385. package/src/deps/jsr.io/@std/path/1.1.4/mod.ts +217 -0
  386. package/src/deps/jsr.io/@std/path/1.1.4/normalize.ts +33 -0
  387. package/src/deps/jsr.io/@std/path/1.1.4/normalize_glob.ts +45 -0
  388. package/src/deps/jsr.io/@std/path/1.1.4/parse.ts +44 -0
  389. package/src/deps/jsr.io/@std/path/1.1.4/posix/_util.ts +10 -0
  390. package/src/deps/jsr.io/@std/path/1.1.4/posix/basename.ts +62 -0
  391. package/src/deps/jsr.io/@std/path/1.1.4/posix/constants.ts +15 -0
  392. package/src/deps/jsr.io/@std/path/1.1.4/posix/dirname.ts +72 -0
  393. package/src/deps/jsr.io/@std/path/1.1.4/posix/extname.ts +96 -0
  394. package/src/deps/jsr.io/@std/path/1.1.4/posix/format.ts +31 -0
  395. package/src/deps/jsr.io/@std/path/1.1.4/posix/from_file_url.ts +25 -0
  396. package/src/deps/jsr.io/@std/path/1.1.4/posix/glob_to_regexp.ts +94 -0
  397. package/src/deps/jsr.io/@std/path/1.1.4/posix/is_absolute.ts +25 -0
  398. package/src/deps/jsr.io/@std/path/1.1.4/posix/join.ts +46 -0
  399. package/src/deps/jsr.io/@std/path/1.1.4/posix/join_globs.ts +45 -0
  400. package/src/deps/jsr.io/@std/path/1.1.4/posix/normalize.ts +63 -0
  401. package/src/deps/jsr.io/@std/path/1.1.4/posix/normalize_glob.ts +43 -0
  402. package/src/deps/jsr.io/@std/path/1.1.4/posix/parse.ts +121 -0
  403. package/src/deps/jsr.io/@std/path/1.1.4/posix/relative.ts +103 -0
  404. package/src/deps/jsr.io/@std/path/1.1.4/posix/resolve.ts +71 -0
  405. package/src/deps/jsr.io/@std/path/1.1.4/posix/to_file_url.ts +32 -0
  406. package/src/deps/jsr.io/@std/path/1.1.4/posix/to_namespaced_path.ts +21 -0
  407. package/src/deps/jsr.io/@std/path/1.1.4/relative.ts +32 -0
  408. package/src/deps/jsr.io/@std/path/1.1.4/resolve.ts +32 -0
  409. package/src/deps/jsr.io/@std/path/1.1.4/to_file_url.ts +30 -0
  410. package/src/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.ts +31 -0
  411. package/src/deps/jsr.io/@std/path/1.1.4/types.ts +40 -0
  412. package/src/deps/jsr.io/@std/path/1.1.4/windows/_util.ts +28 -0
  413. package/src/deps/jsr.io/@std/path/1.1.4/windows/basename.ts +54 -0
  414. package/src/deps/jsr.io/@std/path/1.1.4/windows/constants.ts +15 -0
  415. package/src/deps/jsr.io/@std/path/1.1.4/windows/dirname.ts +118 -0
  416. package/src/deps/jsr.io/@std/path/1.1.4/windows/extname.ts +90 -0
  417. package/src/deps/jsr.io/@std/path/1.1.4/windows/format.ts +31 -0
  418. package/src/deps/jsr.io/@std/path/1.1.4/windows/from_file_url.ts +34 -0
  419. package/src/deps/jsr.io/@std/path/1.1.4/windows/glob_to_regexp.ts +92 -0
  420. package/src/deps/jsr.io/@std/path/1.1.4/windows/is_absolute.ts +40 -0
  421. package/src/deps/jsr.io/@std/path/1.1.4/windows/join.ts +78 -0
  422. package/src/deps/jsr.io/@std/path/1.1.4/windows/join_globs.ts +46 -0
  423. package/src/deps/jsr.io/@std/path/1.1.4/windows/normalize.ts +136 -0
  424. package/src/deps/jsr.io/@std/path/1.1.4/windows/normalize_glob.ts +43 -0
  425. package/src/deps/jsr.io/@std/path/1.1.4/windows/parse.ts +184 -0
  426. package/src/deps/jsr.io/@std/path/1.1.4/windows/relative.ts +128 -0
  427. package/src/deps/jsr.io/@std/path/1.1.4/windows/resolve.ts +178 -0
  428. package/src/deps/jsr.io/@std/path/1.1.4/windows/to_file_url.ts +38 -0
  429. package/src/deps/jsr.io/@std/path/1.1.4/windows/to_namespaced_path.ts +60 -0
  430. package/src/main.ts +37 -0
  431. package/src/mod.ts +2 -0
  432. package/src/staticalize.ts +216 -0
  433. package/src/task-buffer.ts +87 -0
@@ -0,0 +1,144 @@
1
+ import * as dntShim from "./_dnt.shims.js";
2
+ import { call, resource, spawn, until, useAbortSignal, } from "effection";
3
+ import { dirname, join, normalize } from "./deps/jsr.io/@std/path/1.1.4/mod.js";
4
+ import { ensureDir } from "./deps/jsr.io/@std/fs/1.0.22/ensure_dir.js";
5
+ import { stringify } from "./deps/jsr.io/@libs/xml/6.0.8/stringify.js";
6
+ import { fromHtml } from "hast-util-from-html";
7
+ import { toHtml } from "hast-util-to-html";
8
+ import { selectAll } from "hast-util-select";
9
+ import { parse } from "./deps/jsr.io/@libs/xml/6.0.8/parse.js";
10
+ import { useTaskBuffer } from "./task-buffer.js";
11
+ export function* staticalize(options) {
12
+ let { host, base, dir } = options;
13
+ let signal = yield* useAbortSignal();
14
+ let urls = yield* call(async () => {
15
+ let url = new URL("/sitemap.xml", host);
16
+ let response = await fetch(url, { signal });
17
+ if (!response.ok) {
18
+ let error = new Error(`GET ${url} ${response.status} ${response.statusText}`);
19
+ error.name = `SitemapError`;
20
+ throw error;
21
+ }
22
+ let text = await response.text();
23
+ let xml = parse(text, {
24
+ flatten: { attributes: false, empty: false, text: true },
25
+ });
26
+ let urls = xml.urlset.url;
27
+ return Array.isArray(urls) ? urls : [urls];
28
+ });
29
+ let downloader = yield* useDownloader({ host, base, outdir: dir });
30
+ yield* call(() => ensureDir(dir));
31
+ for (let url of urls) {
32
+ yield* downloader.download(url.loc);
33
+ }
34
+ let sitemap = yield* spawn(function* () {
35
+ let xml = stringify({
36
+ urlset: {
37
+ "@xmlns": "http://www.sitemaps.org/schemas/sitemap/0.9",
38
+ "urls": urls.map((url) => {
39
+ let loc = new URL(url.loc);
40
+ loc.host = base.host;
41
+ loc.port = base.port;
42
+ loc.protocol = base.protocol;
43
+ return { loc: { "#text": loc } };
44
+ }),
45
+ },
46
+ });
47
+ yield* call(() => dntShim.Deno.writeFile(join(dir, "sitemap.xml"), new TextEncoder().encode(xml)));
48
+ });
49
+ yield* sitemap;
50
+ yield* downloader;
51
+ }
52
+ function useDownloader(opts) {
53
+ let seen = new Map();
54
+ return resource(function* (provide) {
55
+ let { host, base, outdir } = opts;
56
+ let buffer = yield* useTaskBuffer(75);
57
+ let signal = yield* useAbortSignal();
58
+ let downloader = {
59
+ *download(loc, context = host) {
60
+ if (seen.get(loc)) {
61
+ return;
62
+ }
63
+ seen.set(loc, true);
64
+ if (loc.startsWith("//")) {
65
+ return;
66
+ }
67
+ let source = loc.match(/^\w+:/) ? new URL(loc) : new URL(loc, context);
68
+ if (source.host !== host.host) {
69
+ return;
70
+ }
71
+ let path = normalize(join(outdir, source.pathname));
72
+ yield* buffer.spawn(function* () {
73
+ let response = yield* call(() => fetch(source.toString(), { signal }));
74
+ if (response.ok) {
75
+ if (response.headers.get("Content-Type")?.includes("html")) {
76
+ let destpath = join(path, "index.html");
77
+ let content = yield* until(response.text());
78
+ let html = fromHtml(content);
79
+ let links = selectAll("link[href]", html);
80
+ for (let link of links) {
81
+ let href = link.properties.href;
82
+ yield* downloader.download(href, source);
83
+ // replace self-referencing absolute urls with the destination site
84
+ if (href.startsWith(host.origin)) {
85
+ let url = new URL(href);
86
+ url.host = base.host;
87
+ url.port = base.port;
88
+ url.protocol = base.protocol;
89
+ link.properties.href = url.href;
90
+ }
91
+ }
92
+ let assets = selectAll("[src]", html);
93
+ for (let element of assets) {
94
+ let src = element.properties.src;
95
+ yield* downloader.download(src, source);
96
+ // replace self-referencing absolute urls with the destination sie
97
+ if (src.startsWith(host.origin)) {
98
+ let url = new URL(src);
99
+ url.host = base.host;
100
+ url.port = base.port;
101
+ url.protocol = base.protocol;
102
+ element.properties.src = url.href;
103
+ }
104
+ }
105
+ let withContents = selectAll("[content]", html);
106
+ for (let element of withContents) {
107
+ let attr = String(element.properties.content);
108
+ if (attr.startsWith(host.origin)) {
109
+ yield* downloader.download(attr, source);
110
+ let url = new URL(attr);
111
+ url.host = base.host;
112
+ url.port = base.port;
113
+ url.protocol = base.protocol;
114
+ element.properties.content = url.href;
115
+ }
116
+ }
117
+ yield* call(async () => {
118
+ let destdir = dirname(destpath);
119
+ await ensureDir(destdir);
120
+ await dntShim.Deno.writeTextFile(destpath, toHtml(html));
121
+ });
122
+ }
123
+ else {
124
+ yield* call(async () => {
125
+ let destpath = path;
126
+ let destdir = dirname(destpath);
127
+ await ensureDir(destdir);
128
+ await dntShim.Deno.writeFile(destpath, response.body);
129
+ });
130
+ }
131
+ }
132
+ else {
133
+ throw new Error(`GET ${source} ${response.status} ${response.statusText}`);
134
+ }
135
+ });
136
+ },
137
+ *[Symbol.iterator]() {
138
+ yield* buffer;
139
+ },
140
+ };
141
+ yield* provide(downloader);
142
+ });
143
+ }
144
+ //# sourceMappingURL=staticalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"staticalize.js","sourceRoot":"","sources":["../src/staticalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { type Operation, type Task } from "effection";
2
+ export interface TaskBuffer extends Operation<void> {
3
+ spawn<T>(op: () => Operation<T>): Operation<Operation<Task<T>>>;
4
+ }
5
+ export declare function useTaskBuffer(max: number): Operation<TaskBuffer>;
6
+ //# sourceMappingURL=task-buffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-buffer.d.ts","sourceRoot":"","sources":["../src/task-buffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,SAAS,EAMd,KAAK,IAAI,EAGV,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,UAAW,SAAQ,SAAS,CAAC,IAAI,CAAC;IACjD,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACjE;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,CAuDhE"}
@@ -0,0 +1,59 @@
1
+ import { createChannel, Err, Ok, resource, spawn, useScope, withResolvers, } from "effection";
2
+ export function useTaskBuffer(max) {
3
+ return resource(function* (provide) {
4
+ let input = createChannel();
5
+ let output = createChannel();
6
+ let buffer = new Set();
7
+ let scope = yield* useScope();
8
+ let requests = [];
9
+ yield* spawn(function* () {
10
+ while (true) {
11
+ if (requests.length === 0) {
12
+ yield* next(input);
13
+ }
14
+ else if (buffer.size < max) {
15
+ let request = requests.pop();
16
+ let task = yield* scope.spawn(request.operation);
17
+ buffer.add(task);
18
+ yield* spawn(function* () {
19
+ try {
20
+ let result = Ok(yield* task);
21
+ buffer.delete(task);
22
+ yield* output.send(result);
23
+ }
24
+ catch (error) {
25
+ buffer.delete(task);
26
+ yield* output.send(Err(error));
27
+ }
28
+ });
29
+ request.resolve(task);
30
+ }
31
+ else {
32
+ yield* next(output);
33
+ }
34
+ }
35
+ });
36
+ yield* provide({
37
+ *[Symbol.iterator]() {
38
+ let outputs = yield* output;
39
+ while (buffer.size > 0 || requests.length > 0) {
40
+ yield* outputs.next();
41
+ }
42
+ },
43
+ *spawn(fn) {
44
+ let { operation, resolve } = withResolvers();
45
+ requests.unshift({
46
+ operation: fn,
47
+ resolve: resolve,
48
+ });
49
+ yield* input.send();
50
+ return operation;
51
+ },
52
+ });
53
+ });
54
+ }
55
+ function* next(stream) {
56
+ let subscription = yield* stream;
57
+ return yield* subscription.next();
58
+ }
59
+ //# sourceMappingURL=task-buffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-buffer.js","sourceRoot":"","sources":["../src/task-buffer.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "staticalize",
3
+ "version": "0.2.2",
4
+ "description": "Download a dynamic website and turn it into a static site",
5
+ "author": "engineering@frontside.com",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/thefrontside/statical.git"
9
+ },
10
+ "license": "MIT",
11
+ "bugs": {
12
+ "url": "https://github.com/thefrontside/statical/issues"
13
+ },
14
+ "module": "./esm/mod.js",
15
+ "exports": {
16
+ ".": {
17
+ "import": "./esm/mod.js"
18
+ }
19
+ },
20
+ "scripts": {},
21
+ "bin": {
22
+ "staticalize": "./esm/main.js"
23
+ },
24
+ "engines": {
25
+ "node": ">= 18"
26
+ },
27
+ "sideEffects": false,
28
+ "dependencies": {
29
+ "configliere": "^0.2.2",
30
+ "effection": "4.0.0-beta.2",
31
+ "hast-util-from-html": "^2.0.3",
32
+ "hast-util-select": "^6.0.4",
33
+ "hast-util-to-html": "^9.0.5",
34
+ "zod": "^4.1.11",
35
+ "@deno/shim-deno": "~0.18.0"
36
+ },
37
+ "devDependencies": {
38
+ "@types/node": "^20.9.0"
39
+ },
40
+ "_generatedBy": "dnt@dev"
41
+ }
@@ -0,0 +1,283 @@
1
+ declare global {
2
+ // https://github.com/microsoft/TypeScript/blob/main/lib/lib.es2021.string.d.ts
3
+ interface String {
4
+ /**
5
+ * Replace all instances of a substring in a string, using a regular expression or search string.
6
+ * @param searchValue A string to search for.
7
+ * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
8
+ */
9
+ replaceAll(searchValue: string | RegExp, replaceValue: string): string;
10
+
11
+ /**
12
+ * Replace all instances of a substring in a string, using a regular expression or search string.
13
+ * @param searchValue A string to search for.
14
+ * @param replacer A function that returns the replacement text.
15
+ */
16
+ replaceAll(
17
+ searchValue: string | RegExp,
18
+ replacer: (substring: string, ...args: any[]) => string,
19
+ ): string;
20
+ }
21
+ }
22
+
23
+ /**
24
+ * String.prototype.replaceAll() polyfill
25
+ * https://gomakethings.com/how-to-replace-a-section-of-a-string-with-another-one-with-vanilla-js/
26
+ * @author Chris Ferdinandi
27
+ * @license MIT
28
+ */
29
+ if (!String.prototype.replaceAll) {
30
+ String.prototype.replaceAll = function (str: any, newStr: any) {
31
+ // If a regex pattern
32
+ if (
33
+ Object.prototype.toString.call(str).toLowerCase() === "[object regexp]"
34
+ ) {
35
+ return this.replace(str, newStr);
36
+ }
37
+
38
+ // If a string
39
+ return this.replace(new RegExp(str, "g"), newStr);
40
+ };
41
+ }
42
+
43
+ export {};
44
+ /**
45
+ * Based on [import-meta-ponyfill](https://github.com/gaubee/import-meta-ponyfill),
46
+ * but instead of using npm to install additional dependencies,
47
+ * this approach manually consolidates cjs/mjs/d.ts into a single file.
48
+ *
49
+ * Note that this code might be imported multiple times
50
+ * (for example, both dnt.test.polyfills.ts and dnt.polyfills.ts contain this code;
51
+ * or Node.js might dynamically clear the cache and then force a require).
52
+ * Therefore, it's important to avoid redundant writes to global objects.
53
+ * Additionally, consider that commonjs is used alongside esm,
54
+ * so the two ponyfill functions are stored independently in two separate global objects.
55
+ */
56
+ //@ts-ignore
57
+ import { createRequire } from "node:module";
58
+ //@ts-ignore
59
+ import { fileURLToPath, pathToFileURL, type URL } from "node:url";
60
+ //@ts-ignore
61
+ import { dirname } from "node:path";
62
+ declare global {
63
+ interface ImportMeta {
64
+ /** A string representation of the fully qualified module URL. When the
65
+ * module is loaded locally, the value will be a file URL (e.g.
66
+ * `file:///path/module.ts`).
67
+ *
68
+ * You can also parse the string as a URL to determine more information about
69
+ * how the current module was loaded. For example to determine if a module was
70
+ * local or not:
71
+ *
72
+ * ```ts
73
+ * const url = new URL(import.meta.url);
74
+ * if (url.protocol === "file:") {
75
+ * console.log("this module was loaded locally");
76
+ * }
77
+ * ```
78
+ */
79
+ url: string;
80
+ /**
81
+ * A function that returns resolved specifier as if it would be imported
82
+ * using `import(specifier)`.
83
+ *
84
+ * ```ts
85
+ * console.log(import.meta.resolve("./foo.js"));
86
+ * // file:///dev/foo.js
87
+ * ```
88
+ *
89
+ * @param specifier The module specifier to resolve relative to `parent`.
90
+ * @param parent The absolute parent module URL to resolve from.
91
+ * @returns The absolute (`file:`) URL string for the resolved module.
92
+ */
93
+ resolve(specifier: string, parent?: string | URL | undefined): string;
94
+ /** A flag that indicates if the current module is the main module that was
95
+ * called when starting the program under Deno.
96
+ *
97
+ * ```ts
98
+ * if (import.meta.main) {
99
+ * // this was loaded as the main module, maybe do some bootstrapping
100
+ * }
101
+ * ```
102
+ */
103
+ main: boolean;
104
+
105
+ /** The absolute path of the current module.
106
+ *
107
+ * This property is only provided for local modules (ie. using `file://` URLs).
108
+ *
109
+ * Example:
110
+ * ```
111
+ * // Unix
112
+ * console.log(import.meta.filename); // /home/alice/my_module.ts
113
+ *
114
+ * // Windows
115
+ * console.log(import.meta.filename); // C:\alice\my_module.ts
116
+ * ```
117
+ */
118
+ filename: string;
119
+
120
+ /** The absolute path of the directory containing the current module.
121
+ *
122
+ * This property is only provided for local modules (ie. using `file://` URLs).
123
+ *
124
+ * * Example:
125
+ * ```
126
+ * // Unix
127
+ * console.log(import.meta.dirname); // /home/alice
128
+ *
129
+ * // Windows
130
+ * console.log(import.meta.dirname); // C:\alice
131
+ * ```
132
+ */
133
+ dirname: string;
134
+ }
135
+ }
136
+
137
+ type NodeRequest = ReturnType<typeof createRequire>;
138
+ type NodeModule = NonNullable<NodeRequest["main"]>;
139
+ interface ImportMetaPonyfillCommonjs {
140
+ (require: NodeRequest, module: NodeModule): ImportMeta;
141
+ }
142
+ interface ImportMetaPonyfillEsmodule {
143
+ (importMeta: ImportMeta): ImportMeta;
144
+ }
145
+ interface ImportMetaPonyfill
146
+ extends ImportMetaPonyfillCommonjs, ImportMetaPonyfillEsmodule {
147
+ }
148
+
149
+ const defineGlobalPonyfill = (symbolFor: string, fn: Function) => {
150
+ if (!Reflect.has(globalThis, Symbol.for(symbolFor))) {
151
+ Object.defineProperty(
152
+ globalThis,
153
+ Symbol.for(symbolFor),
154
+ {
155
+ configurable: true,
156
+ get() {
157
+ return fn;
158
+ },
159
+ },
160
+ );
161
+ }
162
+ };
163
+
164
+ export let import_meta_ponyfill_commonjs = (
165
+ Reflect.get(globalThis, Symbol.for("import-meta-ponyfill-commonjs")) ??
166
+ (() => {
167
+ const moduleImportMetaWM = new WeakMap<NodeModule, ImportMeta>();
168
+ return (require, module) => {
169
+ let importMetaCache = moduleImportMetaWM.get(module);
170
+ if (importMetaCache == null) {
171
+ const importMeta = Object.assign(Object.create(null), {
172
+ url: pathToFileURL(module.filename).href,
173
+ main: require.main == module,
174
+ resolve: (specifier: string, parentURL = importMeta.url) => {
175
+ return pathToFileURL(
176
+ (importMeta.url === parentURL
177
+ ? require
178
+ : createRequire(parentURL))
179
+ .resolve(specifier),
180
+ ).href;
181
+ },
182
+ filename: module.filename,
183
+ dirname: module.path,
184
+ });
185
+ moduleImportMetaWM.set(module, importMeta);
186
+ importMetaCache = importMeta;
187
+ }
188
+ return importMetaCache;
189
+ };
190
+ })()
191
+ ) as ImportMetaPonyfillCommonjs;
192
+ defineGlobalPonyfill(
193
+ "import-meta-ponyfill-commonjs",
194
+ import_meta_ponyfill_commonjs,
195
+ );
196
+
197
+ export let import_meta_ponyfill_esmodule = (
198
+ Reflect.get(globalThis, Symbol.for("import-meta-ponyfill-esmodule")) ??
199
+ ((importMeta: ImportMeta) => {
200
+ const resolveFunStr = String(importMeta.resolve);
201
+ const shimWs = new WeakSet();
202
+ //@ts-ignore
203
+ const mainUrl = ("file:///" + process.argv[1].replace(/\\/g, "/"))
204
+ .replace(
205
+ /\/{3,}/,
206
+ "///",
207
+ );
208
+ const commonShim = (importMeta: ImportMeta) => {
209
+ if (typeof importMeta.main !== "boolean") {
210
+ importMeta.main = importMeta.url === mainUrl;
211
+ }
212
+ if (typeof importMeta.filename !== "string") {
213
+ importMeta.filename = fileURLToPath(importMeta.url);
214
+ importMeta.dirname = dirname(importMeta.filename);
215
+ }
216
+ };
217
+ if (
218
+ // v16.2.0+, v14.18.0+: Add support for WHATWG URL object to parentURL parameter.
219
+ resolveFunStr === "undefined" ||
220
+ // v20.0.0+, v18.19.0+"" This API now returns a string synchronously instead of a Promise.
221
+ resolveFunStr.startsWith("async")
222
+ // enable by --experimental-import-meta-resolve flag
223
+ ) {
224
+ import_meta_ponyfill_esmodule = (importMeta: ImportMeta) => {
225
+ if (!shimWs.has(importMeta)) {
226
+ shimWs.add(importMeta);
227
+ const importMetaUrlRequire = {
228
+ url: importMeta.url,
229
+ require: createRequire(importMeta.url),
230
+ };
231
+ importMeta.resolve = function resolve(
232
+ specifier: string,
233
+ parentURL = importMeta.url,
234
+ ) {
235
+ return pathToFileURL(
236
+ (importMetaUrlRequire.url === parentURL
237
+ ? importMetaUrlRequire.require
238
+ : createRequire(parentURL)).resolve(specifier),
239
+ ).href;
240
+ };
241
+ commonShim(importMeta);
242
+ }
243
+ return importMeta;
244
+ };
245
+ } else {
246
+ /// native support
247
+ import_meta_ponyfill_esmodule = (importMeta: ImportMeta) => {
248
+ if (!shimWs.has(importMeta)) {
249
+ shimWs.add(importMeta);
250
+ commonShim(importMeta);
251
+ }
252
+ return importMeta;
253
+ };
254
+ }
255
+ return import_meta_ponyfill_esmodule(importMeta);
256
+ })
257
+ ) as ImportMetaPonyfillEsmodule;
258
+ defineGlobalPonyfill(
259
+ "import-meta-ponyfill-esmodule",
260
+ import_meta_ponyfill_esmodule,
261
+ );
262
+
263
+ export let import_meta_ponyfill = (
264
+ (...args: any[]) => {
265
+ const _MODULE = (() => {
266
+ if (typeof require === "function" && typeof module === "object") {
267
+ return "commonjs";
268
+ } else {
269
+ // eval("typeof import.meta");
270
+ return "esmodule";
271
+ }
272
+ })();
273
+ if (_MODULE === "commonjs") {
274
+ //@ts-ignore
275
+ import_meta_ponyfill = (r, m) => import_meta_ponyfill_commonjs(r, m);
276
+ } else {
277
+ //@ts-ignore
278
+ import_meta_ponyfill = (im) => import_meta_ponyfill_esmodule(im);
279
+ }
280
+ //@ts-ignore
281
+ return import_meta_ponyfill(...args);
282
+ }
283
+ ) as ImportMetaPonyfill;
@@ -0,0 +1,64 @@
1
+ import { Deno } from "@deno/shim-deno";
2
+ export { Deno } from "@deno/shim-deno";
3
+
4
+ const dntGlobals = {
5
+ Deno,
6
+ };
7
+ export const dntGlobalThis = createMergeProxy(globalThis, dntGlobals);
8
+
9
+ function createMergeProxy<T extends object, U extends object>(
10
+ baseObj: T,
11
+ extObj: U,
12
+ ): Omit<T, keyof U> & U {
13
+ return new Proxy(baseObj, {
14
+ get(_target, prop, _receiver) {
15
+ if (prop in extObj) {
16
+ return (extObj as any)[prop];
17
+ } else {
18
+ return (baseObj as any)[prop];
19
+ }
20
+ },
21
+ set(_target, prop, value) {
22
+ if (prop in extObj) {
23
+ delete (extObj as any)[prop];
24
+ }
25
+ (baseObj as any)[prop] = value;
26
+ return true;
27
+ },
28
+ deleteProperty(_target, prop) {
29
+ let success = false;
30
+ if (prop in extObj) {
31
+ delete (extObj as any)[prop];
32
+ success = true;
33
+ }
34
+ if (prop in baseObj) {
35
+ delete (baseObj as any)[prop];
36
+ success = true;
37
+ }
38
+ return success;
39
+ },
40
+ ownKeys(_target) {
41
+ const baseKeys = Reflect.ownKeys(baseObj);
42
+ const extKeys = Reflect.ownKeys(extObj);
43
+ const extKeysSet = new Set(extKeys);
44
+ return [...baseKeys.filter((k) => !extKeysSet.has(k)), ...extKeys];
45
+ },
46
+ defineProperty(_target, prop, desc) {
47
+ if (prop in extObj) {
48
+ delete (extObj as any)[prop];
49
+ }
50
+ Reflect.defineProperty(baseObj, prop, desc);
51
+ return true;
52
+ },
53
+ getOwnPropertyDescriptor(_target, prop) {
54
+ if (prop in extObj) {
55
+ return Reflect.getOwnPropertyDescriptor(extObj, prop);
56
+ } else {
57
+ return Reflect.getOwnPropertyDescriptor(baseObj, prop);
58
+ }
59
+ },
60
+ has(_target, prop) {
61
+ return prop in extObj || prop in baseObj;
62
+ },
63
+ }) as any;
64
+ }
package/src/config.ts ADDED
@@ -0,0 +1,28 @@
1
+ import { cli, field, object, program } from "configliere";
2
+ import z from "zod";
3
+ import denoJSON from "./deno.js";
4
+
5
+ const url = () =>
6
+ z.string().refine((str) => str.match(/^http/), {
7
+ message: `must be a hypertext (http) url`,
8
+ });
9
+
10
+ export const config = program({
11
+ name: "staticalize",
12
+ version: denoJSON.version,
13
+ config: object({
14
+ site: {
15
+ description:
16
+ "URL of the website to staticalize. E.g. http://localhost:8000",
17
+ ...field(url(), cli.argument()),
18
+ },
19
+ output: {
20
+ description: "Directory to place the downloaded site",
21
+ ...field(z.string(), field.default("dist")),
22
+ },
23
+ base: {
24
+ description: "Base URL of the public website. E.g. http://frontside.com",
25
+ ...field(url()),
26
+ },
27
+ }),
28
+ });