ventojs 1.14.0 → 2.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +2 -0
  3. package/browser.js +19 -0
  4. package/{esm/src → core}/environment.js +30 -32
  5. package/{esm/src → core}/errors.js +0 -7
  6. package/core/js.js +191 -0
  7. package/core/reserved.js +63 -0
  8. package/core/tokenizer.js +86 -0
  9. package/highlightjs-vento.js +24 -0
  10. package/{esm/src/loader.node.js → loaders/file.js} +5 -2
  11. package/loaders/memory.js +24 -0
  12. package/loaders/url.js +28 -0
  13. package/{esm/bare.js → mod.js} +7 -2
  14. package/package.json +167 -29
  15. package/{esm/plugins → plugins}/auto_trim.js +0 -1
  16. package/plugins/echo.js +31 -0
  17. package/plugins/escape.js +17 -0
  18. package/plugins/export.js +68 -0
  19. package/{esm/plugins → plugins}/for.js +6 -10
  20. package/plugins/import.js +58 -0
  21. package/plugins/include.js +35 -0
  22. package/plugins/mod.js +30 -0
  23. package/{esm/plugins → plugins}/set.js +4 -3
  24. package/plugins/unescape.js +25 -0
  25. package/prism-vento.js +26 -0
  26. package/types/browser.d.ts +8 -0
  27. package/{esm/src → types/core}/environment.d.ts +4 -6
  28. package/{esm/src → types/core}/errors.d.ts +0 -5
  29. package/types/core/js.d.ts +11 -0
  30. package/types/core/reserved.d.ts +2 -0
  31. package/{esm/src → types/core}/tokenizer.d.ts +1 -8
  32. package/{esm/src/loader.node.d.ts → types/loaders/file.d.ts} +5 -4
  33. package/types/loaders/memory.d.ts +11 -0
  34. package/types/loaders/url.d.ts +11 -0
  35. package/{esm/bare.d.ts → types/mod.d.ts} +1 -3
  36. package/{esm → types}/plugins/auto_trim.d.ts +2 -4
  37. package/types/plugins/echo.d.ts +2 -0
  38. package/types/plugins/escape.d.ts +2 -0
  39. package/types/plugins/export.d.ts +2 -0
  40. package/types/plugins/for.d.ts +2 -0
  41. package/types/plugins/function.d.ts +2 -0
  42. package/types/plugins/if.d.ts +2 -0
  43. package/types/plugins/import.d.ts +2 -0
  44. package/types/plugins/include.d.ts +2 -0
  45. package/types/plugins/js.d.ts +2 -0
  46. package/types/plugins/layout.d.ts +2 -0
  47. package/types/plugins/mod.d.ts +2 -0
  48. package/types/plugins/set.d.ts +2 -0
  49. package/types/plugins/trim.d.ts +4 -0
  50. package/types/plugins/unescape.d.ts +2 -0
  51. package/esm/_dnt.polyfills.d.ts +0 -12
  52. package/esm/_dnt.polyfills.d.ts.map +0 -1
  53. package/esm/_dnt.polyfills.js +0 -15
  54. package/esm/_dnt.shims.d.ts +0 -2
  55. package/esm/_dnt.shims.d.ts.map +0 -1
  56. package/esm/_dnt.shims.js +0 -57
  57. package/esm/_dnt.test_polyfills.d.ts.map +0 -1
  58. package/esm/_dnt.test_shims.d.ts.map +0 -1
  59. package/esm/bare.d.ts.map +0 -1
  60. package/esm/deps/deno.land/std@0.224.0/assert/_constants.d.ts.map +0 -1
  61. package/esm/deps/deno.land/std@0.224.0/assert/assert_equals.d.ts.map +0 -1
  62. package/esm/deps/deno.land/std@0.224.0/assert/assert_is_error.d.ts.map +0 -1
  63. package/esm/deps/deno.land/std@0.224.0/assert/assert_throws.d.ts.map +0 -1
  64. package/esm/deps/deno.land/std@0.224.0/assert/assertion_error.d.ts.map +0 -1
  65. package/esm/deps/deno.land/std@0.224.0/assert/equal.d.ts.map +0 -1
  66. package/esm/deps/deno.land/std@0.224.0/collections/_utils.d.ts.map +0 -1
  67. package/esm/deps/deno.land/std@0.224.0/collections/deep_merge.d.ts.map +0 -1
  68. package/esm/deps/deno.land/std@0.224.0/fmt/colors.d.ts.map +0 -1
  69. package/esm/deps/deno.land/std@0.224.0/front_matter/_formats.d.ts.map +0 -1
  70. package/esm/deps/deno.land/std@0.224.0/front_matter/create_extractor.d.ts.map +0 -1
  71. package/esm/deps/deno.land/std@0.224.0/front_matter/json.d.ts.map +0 -1
  72. package/esm/deps/deno.land/std@0.224.0/front_matter/mod.d.ts.map +0 -1
  73. package/esm/deps/deno.land/std@0.224.0/front_matter/test.d.ts.map +0 -1
  74. package/esm/deps/deno.land/std@0.224.0/front_matter/toml.d.ts.map +0 -1
  75. package/esm/deps/deno.land/std@0.224.0/front_matter/yaml.d.ts.map +0 -1
  76. package/esm/deps/deno.land/std@0.224.0/internal/diff.d.ts.map +0 -1
  77. package/esm/deps/deno.land/std@0.224.0/internal/format.d.ts.map +0 -1
  78. package/esm/deps/deno.land/std@0.224.0/internal/mod.d.ts.map +0 -1
  79. package/esm/deps/deno.land/std@0.224.0/toml/_parser.d.ts.map +0 -1
  80. package/esm/deps/deno.land/std@0.224.0/toml/parse.d.ts.map +0 -1
  81. package/esm/deps/deno.land/std@0.224.0/yaml/_error.d.ts.map +0 -1
  82. package/esm/deps/deno.land/std@0.224.0/yaml/_loader/loader.d.ts.map +0 -1
  83. package/esm/deps/deno.land/std@0.224.0/yaml/_loader/loader_state.d.ts.map +0 -1
  84. package/esm/deps/deno.land/std@0.224.0/yaml/_mark.d.ts.map +0 -1
  85. package/esm/deps/deno.land/std@0.224.0/yaml/_state.d.ts.map +0 -1
  86. package/esm/deps/deno.land/std@0.224.0/yaml/_type/binary.d.ts.map +0 -1
  87. package/esm/deps/deno.land/std@0.224.0/yaml/_type/bool.d.ts.map +0 -1
  88. package/esm/deps/deno.land/std@0.224.0/yaml/_type/float.d.ts.map +0 -1
  89. package/esm/deps/deno.land/std@0.224.0/yaml/_type/function.d.ts.map +0 -1
  90. package/esm/deps/deno.land/std@0.224.0/yaml/_type/int.d.ts.map +0 -1
  91. package/esm/deps/deno.land/std@0.224.0/yaml/_type/map.d.ts.map +0 -1
  92. package/esm/deps/deno.land/std@0.224.0/yaml/_type/merge.d.ts.map +0 -1
  93. package/esm/deps/deno.land/std@0.224.0/yaml/_type/mod.d.ts.map +0 -1
  94. package/esm/deps/deno.land/std@0.224.0/yaml/_type/nil.d.ts.map +0 -1
  95. package/esm/deps/deno.land/std@0.224.0/yaml/_type/omap.d.ts.map +0 -1
  96. package/esm/deps/deno.land/std@0.224.0/yaml/_type/pairs.d.ts.map +0 -1
  97. package/esm/deps/deno.land/std@0.224.0/yaml/_type/regexp.d.ts.map +0 -1
  98. package/esm/deps/deno.land/std@0.224.0/yaml/_type/seq.d.ts.map +0 -1
  99. package/esm/deps/deno.land/std@0.224.0/yaml/_type/set.d.ts.map +0 -1
  100. package/esm/deps/deno.land/std@0.224.0/yaml/_type/str.d.ts.map +0 -1
  101. package/esm/deps/deno.land/std@0.224.0/yaml/_type/timestamp.d.ts.map +0 -1
  102. package/esm/deps/deno.land/std@0.224.0/yaml/_type/undefined.d.ts.map +0 -1
  103. package/esm/deps/deno.land/std@0.224.0/yaml/_utils.d.ts.map +0 -1
  104. package/esm/deps/deno.land/std@0.224.0/yaml/parse.d.ts.map +0 -1
  105. package/esm/deps/deno.land/std@0.224.0/yaml/schema/core.d.ts.map +0 -1
  106. package/esm/deps/deno.land/std@0.224.0/yaml/schema/default.d.ts.map +0 -1
  107. package/esm/deps/deno.land/std@0.224.0/yaml/schema/extended.d.ts.map +0 -1
  108. package/esm/deps/deno.land/std@0.224.0/yaml/schema/failsafe.d.ts.map +0 -1
  109. package/esm/deps/deno.land/std@0.224.0/yaml/schema/json.d.ts.map +0 -1
  110. package/esm/deps/deno.land/std@0.224.0/yaml/schema/mod.d.ts.map +0 -1
  111. package/esm/deps/deno.land/std@0.224.0/yaml/schema.d.ts.map +0 -1
  112. package/esm/deps/deno.land/std@0.224.0/yaml/type.d.ts.map +0 -1
  113. package/esm/deps/jsr.io/@davidbonnet/astring/1.8.6/src/astring.d.ts +0 -110
  114. package/esm/deps/jsr.io/@davidbonnet/astring/1.8.6/src/astring.d.ts.map +0 -1
  115. package/esm/deps/jsr.io/@davidbonnet/astring/1.8.6/src/astring.js +0 -1159
  116. package/esm/deps/jsr.io/@std/html/1.0.3/entities.d.ts +0 -57
  117. package/esm/deps/jsr.io/@std/html/1.0.3/entities.d.ts.map +0 -1
  118. package/esm/deps/jsr.io/@std/html/1.0.3/entities.js +0 -92
  119. package/esm/deps/jsr.io/@std/html/1.0.3/mod.d.ts +0 -15
  120. package/esm/deps/jsr.io/@std/html/1.0.3/mod.d.ts.map +0 -1
  121. package/esm/deps/jsr.io/@std/html/1.0.3/mod.js +0 -16
  122. package/esm/deps/jsr.io/@std/path/1.0.8/_common/assert_path.d.ts +0 -2
  123. package/esm/deps/jsr.io/@std/path/1.0.8/_common/assert_path.d.ts.map +0 -1
  124. package/esm/deps/jsr.io/@std/path/1.0.8/_common/assert_path.js +0 -7
  125. package/esm/deps/jsr.io/@std/path/1.0.8/_common/basename.d.ts +0 -4
  126. package/esm/deps/jsr.io/@std/path/1.0.8/_common/basename.d.ts.map +0 -1
  127. package/esm/deps/jsr.io/@std/path/1.0.8/_common/basename.js +0 -40
  128. package/esm/deps/jsr.io/@std/path/1.0.8/_common/common.d.ts +0 -2
  129. package/esm/deps/jsr.io/@std/path/1.0.8/_common/common.d.ts.map +0 -1
  130. package/esm/deps/jsr.io/@std/path/1.0.8/_common/common.js +0 -23
  131. package/esm/deps/jsr.io/@std/path/1.0.8/_common/constants.d.ts +0 -40
  132. package/esm/deps/jsr.io/@std/path/1.0.8/_common/constants.d.ts.map +0 -1
  133. package/esm/deps/jsr.io/@std/path/1.0.8/_common/constants.js +0 -46
  134. package/esm/deps/jsr.io/@std/path/1.0.8/_common/dirname.d.ts +0 -2
  135. package/esm/deps/jsr.io/@std/path/1.0.8/_common/dirname.d.ts.map +0 -1
  136. package/esm/deps/jsr.io/@std/path/1.0.8/_common/dirname.js +0 -8
  137. package/esm/deps/jsr.io/@std/path/1.0.8/_common/format.d.ts +0 -4
  138. package/esm/deps/jsr.io/@std/path/1.0.8/_common/format.d.ts.map +0 -1
  139. package/esm/deps/jsr.io/@std/path/1.0.8/_common/format.js +0 -19
  140. package/esm/deps/jsr.io/@std/path/1.0.8/_common/from_file_url.d.ts +0 -3
  141. package/esm/deps/jsr.io/@std/path/1.0.8/_common/from_file_url.d.ts.map +0 -1
  142. package/esm/deps/jsr.io/@std/path/1.0.8/_common/from_file_url.js +0 -9
  143. package/esm/deps/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.d.ts +0 -35
  144. package/esm/deps/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.d.ts.map +0 -1
  145. package/esm/deps/jsr.io/@std/path/1.0.8/_common/glob_to_reg_exp.js +0 -234
  146. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize.d.ts +0 -2
  147. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize.d.ts.map +0 -1
  148. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize.js +0 -8
  149. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize_string.d.ts +0 -2
  150. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize_string.d.ts.map +0 -1
  151. package/esm/deps/jsr.io/@std/path/1.0.8/_common/normalize_string.js +0 -77
  152. package/esm/deps/jsr.io/@std/path/1.0.8/_common/relative.d.ts +0 -2
  153. package/esm/deps/jsr.io/@std/path/1.0.8/_common/relative.d.ts.map +0 -1
  154. package/esm/deps/jsr.io/@std/path/1.0.8/_common/relative.js +0 -9
  155. package/esm/deps/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.d.ts +0 -2
  156. package/esm/deps/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.d.ts.map +0 -1
  157. package/esm/deps/jsr.io/@std/path/1.0.8/_common/strip_trailing_separators.js +0 -19
  158. package/esm/deps/jsr.io/@std/path/1.0.8/_common/to_file_url.d.ts +0 -2
  159. package/esm/deps/jsr.io/@std/path/1.0.8/_common/to_file_url.d.ts.map +0 -1
  160. package/esm/deps/jsr.io/@std/path/1.0.8/_common/to_file_url.js +0 -15
  161. package/esm/deps/jsr.io/@std/path/1.0.8/_os.d.ts +0 -2
  162. package/esm/deps/jsr.io/@std/path/1.0.8/_os.d.ts.map +0 -1
  163. package/esm/deps/jsr.io/@std/path/1.0.8/_os.js +0 -9
  164. package/esm/deps/jsr.io/@std/path/1.0.8/basename.d.ts +0 -28
  165. package/esm/deps/jsr.io/@std/path/1.0.8/basename.d.ts.map +0 -1
  166. package/esm/deps/jsr.io/@std/path/1.0.8/basename.js +0 -36
  167. package/esm/deps/jsr.io/@std/path/1.0.8/common.d.ts +0 -28
  168. package/esm/deps/jsr.io/@std/path/1.0.8/common.d.ts.map +0 -1
  169. package/esm/deps/jsr.io/@std/path/1.0.8/common.js +0 -33
  170. package/esm/deps/jsr.io/@std/path/1.0.8/constants.d.ts +0 -15
  171. package/esm/deps/jsr.io/@std/path/1.0.8/constants.d.ts.map +0 -1
  172. package/esm/deps/jsr.io/@std/path/1.0.8/constants.js +0 -17
  173. package/esm/deps/jsr.io/@std/path/1.0.8/dirname.d.ts +0 -23
  174. package/esm/deps/jsr.io/@std/path/1.0.8/dirname.d.ts.map +0 -1
  175. package/esm/deps/jsr.io/@std/path/1.0.8/dirname.js +0 -29
  176. package/esm/deps/jsr.io/@std/path/1.0.8/extname.d.ts +0 -23
  177. package/esm/deps/jsr.io/@std/path/1.0.8/extname.d.ts.map +0 -1
  178. package/esm/deps/jsr.io/@std/path/1.0.8/extname.js +0 -29
  179. package/esm/deps/jsr.io/@std/path/1.0.8/format.d.ts +0 -22
  180. package/esm/deps/jsr.io/@std/path/1.0.8/format.d.ts.map +0 -1
  181. package/esm/deps/jsr.io/@std/path/1.0.8/format.js +0 -27
  182. package/esm/deps/jsr.io/@std/path/1.0.8/from_file_url.d.ts +0 -23
  183. package/esm/deps/jsr.io/@std/path/1.0.8/from_file_url.d.ts.map +0 -1
  184. package/esm/deps/jsr.io/@std/path/1.0.8/from_file_url.js +0 -28
  185. package/esm/deps/jsr.io/@std/path/1.0.8/glob_to_regexp.d.ts +0 -77
  186. package/esm/deps/jsr.io/@std/path/1.0.8/glob_to_regexp.d.ts.map +0 -1
  187. package/esm/deps/jsr.io/@std/path/1.0.8/glob_to_regexp.js +0 -83
  188. package/esm/deps/jsr.io/@std/path/1.0.8/is_absolute.d.ts +0 -22
  189. package/esm/deps/jsr.io/@std/path/1.0.8/is_absolute.d.ts.map +0 -1
  190. package/esm/deps/jsr.io/@std/path/1.0.8/is_absolute.js +0 -28
  191. package/esm/deps/jsr.io/@std/path/1.0.8/is_glob.d.ts +0 -17
  192. package/esm/deps/jsr.io/@std/path/1.0.8/is_glob.d.ts.map +0 -1
  193. package/esm/deps/jsr.io/@std/path/1.0.8/is_glob.js +0 -42
  194. package/esm/deps/jsr.io/@std/path/1.0.8/join.d.ts +0 -23
  195. package/esm/deps/jsr.io/@std/path/1.0.8/join.d.ts.map +0 -1
  196. package/esm/deps/jsr.io/@std/path/1.0.8/join.js +0 -29
  197. package/esm/deps/jsr.io/@std/path/1.0.8/join_globs.d.ts +0 -28
  198. package/esm/deps/jsr.io/@std/path/1.0.8/join_globs.d.ts.map +0 -1
  199. package/esm/deps/jsr.io/@std/path/1.0.8/join_globs.js +0 -34
  200. package/esm/deps/jsr.io/@std/path/1.0.8/mod.d.ts +0 -54
  201. package/esm/deps/jsr.io/@std/path/1.0.8/mod.d.ts.map +0 -1
  202. package/esm/deps/jsr.io/@std/path/1.0.8/mod.js +0 -57
  203. package/esm/deps/jsr.io/@std/path/1.0.8/normalize.d.ts +0 -27
  204. package/esm/deps/jsr.io/@std/path/1.0.8/normalize.d.ts.map +0 -1
  205. package/esm/deps/jsr.io/@std/path/1.0.8/normalize.js +0 -33
  206. package/esm/deps/jsr.io/@std/path/1.0.8/normalize_glob.d.ts +0 -29
  207. package/esm/deps/jsr.io/@std/path/1.0.8/normalize_glob.d.ts.map +0 -1
  208. package/esm/deps/jsr.io/@std/path/1.0.8/normalize_glob.js +0 -35
  209. package/esm/deps/jsr.io/@std/path/1.0.8/parse.d.ts +0 -35
  210. package/esm/deps/jsr.io/@std/path/1.0.8/parse.d.ts.map +0 -1
  211. package/esm/deps/jsr.io/@std/path/1.0.8/parse.js +0 -39
  212. package/esm/deps/jsr.io/@std/path/1.0.8/posix/_util.d.ts +0 -2
  213. package/esm/deps/jsr.io/@std/path/1.0.8/posix/_util.d.ts.map +0 -1
  214. package/esm/deps/jsr.io/@std/path/1.0.8/posix/_util.js +0 -8
  215. package/esm/deps/jsr.io/@std/path/1.0.8/posix/basename.d.ts +0 -40
  216. package/esm/deps/jsr.io/@std/path/1.0.8/posix/basename.d.ts.map +0 -1
  217. package/esm/deps/jsr.io/@std/path/1.0.8/posix/basename.js +0 -49
  218. package/esm/deps/jsr.io/@std/path/1.0.8/posix/common.d.ts +0 -19
  219. package/esm/deps/jsr.io/@std/path/1.0.8/posix/common.d.ts.map +0 -1
  220. package/esm/deps/jsr.io/@std/path/1.0.8/posix/common.js +0 -24
  221. package/esm/deps/jsr.io/@std/path/1.0.8/posix/constants.d.ts +0 -13
  222. package/esm/deps/jsr.io/@std/path/1.0.8/posix/constants.d.ts.map +0 -1
  223. package/esm/deps/jsr.io/@std/path/1.0.8/posix/constants.js +0 -14
  224. package/esm/deps/jsr.io/@std/path/1.0.8/posix/dirname.d.ts +0 -32
  225. package/esm/deps/jsr.io/@std/path/1.0.8/posix/dirname.d.ts.map +0 -1
  226. package/esm/deps/jsr.io/@std/path/1.0.8/posix/dirname.js +0 -62
  227. package/esm/deps/jsr.io/@std/path/1.0.8/posix/extname.d.ts +0 -37
  228. package/esm/deps/jsr.io/@std/path/1.0.8/posix/extname.d.ts.map +0 -1
  229. package/esm/deps/jsr.io/@std/path/1.0.8/posix/extname.js +0 -89
  230. package/esm/deps/jsr.io/@std/path/1.0.8/posix/format.d.ts +0 -24
  231. package/esm/deps/jsr.io/@std/path/1.0.8/posix/format.d.ts.map +0 -1
  232. package/esm/deps/jsr.io/@std/path/1.0.8/posix/format.js +0 -28
  233. package/esm/deps/jsr.io/@std/path/1.0.8/posix/from_file_url.d.ts +0 -17
  234. package/esm/deps/jsr.io/@std/path/1.0.8/posix/from_file_url.d.ts.map +0 -1
  235. package/esm/deps/jsr.io/@std/path/1.0.8/posix/from_file_url.js +0 -21
  236. package/esm/deps/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.d.ts +0 -72
  237. package/esm/deps/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.d.ts.map +0 -1
  238. package/esm/deps/jsr.io/@std/path/1.0.8/posix/glob_to_regexp.js +0 -82
  239. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_absolute.d.ts +0 -17
  240. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_absolute.d.ts.map +0 -1
  241. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_absolute.js +0 -23
  242. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_glob.d.ts +0 -2
  243. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_glob.d.ts.map +0 -1
  244. package/esm/deps/jsr.io/@std/path/1.0.8/posix/is_glob.js +0 -3
  245. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join.d.ts +0 -33
  246. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join.d.ts.map +0 -1
  247. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join.js +0 -42
  248. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join_globs.d.ts +0 -20
  249. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join_globs.d.ts.map +0 -1
  250. package/esm/deps/jsr.io/@std/path/1.0.8/posix/join_globs.js +0 -40
  251. package/esm/deps/jsr.io/@std/path/1.0.8/posix/mod.d.ts +0 -40
  252. package/esm/deps/jsr.io/@std/path/1.0.8/posix/mod.d.ts.map +0 -1
  253. package/esm/deps/jsr.io/@std/path/1.0.8/posix/mod.js +0 -43
  254. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize.d.ts +0 -40
  255. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize.d.ts.map +0 -1
  256. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize.js +0 -57
  257. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize_glob.d.ts +0 -20
  258. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize_glob.d.ts.map +0 -1
  259. package/esm/deps/jsr.io/@std/path/1.0.8/posix/normalize_glob.js +0 -32
  260. package/esm/deps/jsr.io/@std/path/1.0.8/posix/parse.d.ts +0 -25
  261. package/esm/deps/jsr.io/@std/path/1.0.8/posix/parse.d.ts.map +0 -1
  262. package/esm/deps/jsr.io/@std/path/1.0.8/posix/parse.js +0 -115
  263. package/esm/deps/jsr.io/@std/path/1.0.8/posix/relative.d.ts +0 -20
  264. package/esm/deps/jsr.io/@std/path/1.0.8/posix/relative.d.ts.map +0 -1
  265. package/esm/deps/jsr.io/@std/path/1.0.8/posix/relative.js +0 -106
  266. package/esm/deps/jsr.io/@std/path/1.0.8/posix/resolve.d.ts +0 -17
  267. package/esm/deps/jsr.io/@std/path/1.0.8/posix/resolve.d.ts.map +0 -1
  268. package/esm/deps/jsr.io/@std/path/1.0.8/posix/resolve.js +0 -59
  269. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_file_url.d.ts +0 -18
  270. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_file_url.d.ts.map +0 -1
  271. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_file_url.js +0 -27
  272. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.d.ts +0 -16
  273. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.d.ts.map +0 -1
  274. package/esm/deps/jsr.io/@std/path/1.0.8/posix/to_namespaced_path.js +0 -20
  275. package/esm/deps/jsr.io/@std/path/1.0.8/relative.d.ts +0 -24
  276. package/esm/deps/jsr.io/@std/path/1.0.8/relative.d.ts.map +0 -1
  277. package/esm/deps/jsr.io/@std/path/1.0.8/relative.js +0 -30
  278. package/esm/deps/jsr.io/@std/path/1.0.8/resolve.d.ts +0 -22
  279. package/esm/deps/jsr.io/@std/path/1.0.8/resolve.d.ts.map +0 -1
  280. package/esm/deps/jsr.io/@std/path/1.0.8/resolve.js +0 -30
  281. package/esm/deps/jsr.io/@std/path/1.0.8/to_file_url.d.ts +0 -23
  282. package/esm/deps/jsr.io/@std/path/1.0.8/to_file_url.d.ts.map +0 -1
  283. package/esm/deps/jsr.io/@std/path/1.0.8/to_file_url.js +0 -28
  284. package/esm/deps/jsr.io/@std/path/1.0.8/to_namespaced_path.d.ts +0 -21
  285. package/esm/deps/jsr.io/@std/path/1.0.8/to_namespaced_path.d.ts.map +0 -1
  286. package/esm/deps/jsr.io/@std/path/1.0.8/to_namespaced_path.js +0 -29
  287. package/esm/deps/jsr.io/@std/path/1.0.8/types.d.ts +0 -38
  288. package/esm/deps/jsr.io/@std/path/1.0.8/types.d.ts.map +0 -1
  289. package/esm/deps/jsr.io/@std/path/1.0.8/types.js +0 -3
  290. package/esm/deps/jsr.io/@std/path/1.0.8/windows/_util.d.ts +0 -4
  291. package/esm/deps/jsr.io/@std/path/1.0.8/windows/_util.d.ts.map +0 -1
  292. package/esm/deps/jsr.io/@std/path/1.0.8/windows/_util.js +0 -15
  293. package/esm/deps/jsr.io/@std/path/1.0.8/windows/basename.d.ts +0 -23
  294. package/esm/deps/jsr.io/@std/path/1.0.8/windows/basename.d.ts.map +0 -1
  295. package/esm/deps/jsr.io/@std/path/1.0.8/windows/basename.js +0 -44
  296. package/esm/deps/jsr.io/@std/path/1.0.8/windows/constants.d.ts +0 -13
  297. package/esm/deps/jsr.io/@std/path/1.0.8/windows/constants.d.ts.map +0 -1
  298. package/esm/deps/jsr.io/@std/path/1.0.8/windows/constants.js +0 -14
  299. package/esm/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts +0 -20
  300. package/esm/deps/jsr.io/@std/path/1.0.8/windows/dirname.d.ts.map +0 -1
  301. package/esm/deps/jsr.io/@std/path/1.0.8/windows/dirname.js +0 -112
  302. package/esm/deps/jsr.io/@std/path/1.0.8/windows/extname.d.ts +0 -20
  303. package/esm/deps/jsr.io/@std/path/1.0.8/windows/extname.d.ts.map +0 -1
  304. package/esm/deps/jsr.io/@std/path/1.0.8/windows/extname.js +0 -81
  305. package/esm/deps/jsr.io/@std/path/1.0.8/windows/format.d.ts +0 -24
  306. package/esm/deps/jsr.io/@std/path/1.0.8/windows/format.d.ts.map +0 -1
  307. package/esm/deps/jsr.io/@std/path/1.0.8/windows/format.js +0 -28
  308. package/esm/deps/jsr.io/@std/path/1.0.8/windows/from_file_url.d.ts +0 -19
  309. package/esm/deps/jsr.io/@std/path/1.0.8/windows/from_file_url.d.ts.map +0 -1
  310. package/esm/deps/jsr.io/@std/path/1.0.8/windows/from_file_url.js +0 -30
  311. package/esm/deps/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.d.ts +0 -71
  312. package/esm/deps/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.d.ts.map +0 -1
  313. package/esm/deps/jsr.io/@std/path/1.0.8/windows/glob_to_regexp.js +0 -82
  314. package/esm/deps/jsr.io/@std/path/1.0.8/windows/is_absolute.d.ts +0 -17
  315. package/esm/deps/jsr.io/@std/path/1.0.8/windows/is_absolute.d.ts.map +0 -1
  316. package/esm/deps/jsr.io/@std/path/1.0.8/windows/is_absolute.js +0 -38
  317. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts +0 -20
  318. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join.d.ts.map +0 -1
  319. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join.js +0 -74
  320. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join_globs.d.ts +0 -21
  321. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join_globs.d.ts.map +0 -1
  322. package/esm/deps/jsr.io/@std/path/1.0.8/windows/join_globs.js +0 -41
  323. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize.d.ts +0 -22
  324. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize.d.ts.map +0 -1
  325. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize.js +0 -134
  326. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize_glob.d.ts +0 -20
  327. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize_glob.d.ts.map +0 -1
  328. package/esm/deps/jsr.io/@std/path/1.0.8/windows/normalize_glob.js +0 -32
  329. package/esm/deps/jsr.io/@std/path/1.0.8/windows/parse.d.ts +0 -25
  330. package/esm/deps/jsr.io/@std/path/1.0.8/windows/parse.d.ts.map +0 -1
  331. package/esm/deps/jsr.io/@std/path/1.0.8/windows/parse.js +0 -176
  332. package/esm/deps/jsr.io/@std/path/1.0.8/windows/relative.d.ts +0 -23
  333. package/esm/deps/jsr.io/@std/path/1.0.8/windows/relative.d.ts.map +0 -1
  334. package/esm/deps/jsr.io/@std/path/1.0.8/windows/relative.js +0 -131
  335. package/esm/deps/jsr.io/@std/path/1.0.8/windows/resolve.d.ts +0 -17
  336. package/esm/deps/jsr.io/@std/path/1.0.8/windows/resolve.d.ts.map +0 -1
  337. package/esm/deps/jsr.io/@std/path/1.0.8/windows/resolve.js +0 -154
  338. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.d.ts +0 -18
  339. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.d.ts.map +0 -1
  340. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.js +0 -34
  341. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.d.ts +0 -17
  342. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.d.ts.map +0 -1
  343. package/esm/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.js +0 -49
  344. package/esm/deps.d.ts +0 -8
  345. package/esm/deps.d.ts.map +0 -1
  346. package/esm/deps.js +0 -6
  347. package/esm/mod.d.ts +0 -9
  348. package/esm/mod.d.ts.map +0 -1
  349. package/esm/mod.js +0 -36
  350. package/esm/package.json +0 -3
  351. package/esm/plugins/auto_trim.d.ts.map +0 -1
  352. package/esm/plugins/echo.d.ts +0 -3
  353. package/esm/plugins/echo.d.ts.map +0 -1
  354. package/esm/plugins/echo.js +0 -13
  355. package/esm/plugins/escape.d.ts +0 -3
  356. package/esm/plugins/escape.d.ts.map +0 -1
  357. package/esm/plugins/escape.js +0 -7
  358. package/esm/plugins/export.d.ts +0 -3
  359. package/esm/plugins/export.d.ts.map +0 -1
  360. package/esm/plugins/export.js +0 -47
  361. package/esm/plugins/for.d.ts +0 -3
  362. package/esm/plugins/for.d.ts.map +0 -1
  363. package/esm/plugins/function.d.ts +0 -3
  364. package/esm/plugins/function.d.ts.map +0 -1
  365. package/esm/plugins/if.d.ts +0 -3
  366. package/esm/plugins/if.d.ts.map +0 -1
  367. package/esm/plugins/import.d.ts +0 -3
  368. package/esm/plugins/import.d.ts.map +0 -1
  369. package/esm/plugins/import.js +0 -17
  370. package/esm/plugins/include.d.ts +0 -3
  371. package/esm/plugins/include.d.ts.map +0 -1
  372. package/esm/plugins/include.js +0 -31
  373. package/esm/plugins/js.d.ts +0 -3
  374. package/esm/plugins/js.d.ts.map +0 -1
  375. package/esm/plugins/layout.d.ts +0 -3
  376. package/esm/plugins/layout.d.ts.map +0 -1
  377. package/esm/plugins/set.d.ts +0 -3
  378. package/esm/plugins/set.d.ts.map +0 -1
  379. package/esm/plugins/trim.d.ts +0 -5
  380. package/esm/plugins/trim.d.ts.map +0 -1
  381. package/esm/plugins/unescape.d.ts +0 -3
  382. package/esm/plugins/unescape.d.ts.map +0 -1
  383. package/esm/plugins/unescape.js +0 -7
  384. package/esm/src/environment.d.ts.map +0 -1
  385. package/esm/src/errors.d.ts.map +0 -1
  386. package/esm/src/js.d.ts +0 -5
  387. package/esm/src/js.d.ts.map +0 -1
  388. package/esm/src/js.js +0 -197
  389. package/esm/src/loader.node.d.ts.map +0 -1
  390. package/esm/src/tokenizer.d.ts.map +0 -1
  391. package/esm/src/tokenizer.js +0 -93
  392. package/esm/src/transformer.d.ts +0 -2
  393. package/esm/src/transformer.d.ts.map +0 -1
  394. package/esm/src/transformer.js +0 -218
  395. package/esm/test/auto_trim.test.d.ts.map +0 -1
  396. package/esm/test/comment.test.d.ts.map +0 -1
  397. package/esm/test/compile.test.d.ts.map +0 -1
  398. package/esm/test/echo.test.d.ts.map +0 -1
  399. package/esm/test/escape.test.d.ts.map +0 -1
  400. package/esm/test/for.test.d.ts.map +0 -1
  401. package/esm/test/function.test.d.ts.map +0 -1
  402. package/esm/test/if.test.d.ts.map +0 -1
  403. package/esm/test/import.test.d.ts.map +0 -1
  404. package/esm/test/include.test.d.ts.map +0 -1
  405. package/esm/test/js.test.d.ts.map +0 -1
  406. package/esm/test/layout.test.d.ts.map +0 -1
  407. package/esm/test/print.test.d.ts.map +0 -1
  408. package/esm/test/safe.test.d.ts.map +0 -1
  409. package/esm/test/set.test.d.ts.map +0 -1
  410. package/esm/test/tokenizer.test.d.ts.map +0 -1
  411. package/esm/test/unescape.test.d.ts.map +0 -1
  412. package/esm/test/utils.d.ts.map +0 -1
  413. package/esm/test/with.test.d.ts.map +0 -1
  414. /package/{esm/plugins → plugins}/function.js +0 -0
  415. /package/{esm/plugins → plugins}/if.js +0 -0
  416. /package/{esm/plugins → plugins}/js.js +0 -0
  417. /package/{esm/plugins → plugins}/layout.js +0 -0
  418. /package/{esm/plugins → plugins}/trim.js +0 -0
@@ -1,32 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { normalize } from "./normalize.js";
4
- import { SEPARATOR_PATTERN } from "./constants.js";
5
- /**
6
- * Like normalize(), but doesn't collapse "**\/.." when `globstar` is true.
7
- *
8
- * @example Usage
9
- * ```ts
10
- * import { normalizeGlob } from "@std/path/windows/normalize-glob";
11
- * import { assertEquals } from "@std/assert";
12
- *
13
- * const normalized = normalizeGlob("**\\foo\\..\\bar", { globstar: true });
14
- * assertEquals(normalized, "**\\bar");
15
- * ```
16
- *
17
- * @param glob The glob pattern to normalize.
18
- * @param options The options for glob pattern.
19
- * @returns The normalized glob pattern.
20
- */
21
- export function normalizeGlob(glob, options = {}) {
22
- const { globstar = false } = options;
23
- if (glob.match(/\0/g)) {
24
- throw new Error(`Glob contains invalid characters: "${glob}"`);
25
- }
26
- if (!globstar) {
27
- return normalize(glob);
28
- }
29
- const s = SEPARATOR_PATTERN.source;
30
- const badParentPattern = new RegExp(`(?<=(${s}|^)\\*\\*${s})\\.\\.(?=${s}|$)`, "g");
31
- return normalize(glob.replace(badParentPattern, "\0")).replace(/\0/g, "..");
32
- }
@@ -1,25 +0,0 @@
1
- import type { ParsedPath } from "../types.js";
2
- export type { ParsedPath } from "../types.js";
3
- /**
4
- * Return a `ParsedPath` object of the `path`.
5
- *
6
- * @example Usage
7
- * ```ts
8
- * import { parse } from "@std/path/windows/parse";
9
- * import { assertEquals } from "@std/assert";
10
- *
11
- * const parsed = parse("C:\\foo\\bar\\baz.ext");
12
- * assertEquals(parsed, {
13
- * root: "C:\\",
14
- * dir: "C:\\foo\\bar",
15
- * base: "baz.ext",
16
- * ext: ".ext",
17
- * name: "baz",
18
- * });
19
- * ```
20
- *
21
- * @param path The path to parse.
22
- * @returns The `ParsedPath` object.
23
- */
24
- export declare function parse(path: string): ParsedPath;
25
- //# sourceMappingURL=parse.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/windows/parse.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAI9C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAwJ9C"}
@@ -1,176 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { CHAR_COLON, CHAR_DOT } from "../_common/constants.js";
4
- import { assertPath } from "../_common/assert_path.js";
5
- import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js";
6
- /**
7
- * Return a `ParsedPath` object of the `path`.
8
- *
9
- * @example Usage
10
- * ```ts
11
- * import { parse } from "@std/path/windows/parse";
12
- * import { assertEquals } from "@std/assert";
13
- *
14
- * const parsed = parse("C:\\foo\\bar\\baz.ext");
15
- * assertEquals(parsed, {
16
- * root: "C:\\",
17
- * dir: "C:\\foo\\bar",
18
- * base: "baz.ext",
19
- * ext: ".ext",
20
- * name: "baz",
21
- * });
22
- * ```
23
- *
24
- * @param path The path to parse.
25
- * @returns The `ParsedPath` object.
26
- */
27
- export function parse(path) {
28
- assertPath(path);
29
- const ret = { root: "", dir: "", base: "", ext: "", name: "" };
30
- const len = path.length;
31
- if (len === 0)
32
- return ret;
33
- let rootEnd = 0;
34
- let code = path.charCodeAt(0);
35
- // Try to match a root
36
- if (len > 1) {
37
- if (isPathSeparator(code)) {
38
- // Possible UNC root
39
- rootEnd = 1;
40
- if (isPathSeparator(path.charCodeAt(1))) {
41
- // Matched double path separator at beginning
42
- let j = 2;
43
- let last = j;
44
- // Match 1 or more non-path separators
45
- for (; j < len; ++j) {
46
- if (isPathSeparator(path.charCodeAt(j)))
47
- break;
48
- }
49
- if (j < len && j !== last) {
50
- // Matched!
51
- last = j;
52
- // Match 1 or more path separators
53
- for (; j < len; ++j) {
54
- if (!isPathSeparator(path.charCodeAt(j)))
55
- break;
56
- }
57
- if (j < len && j !== last) {
58
- // Matched!
59
- last = j;
60
- // Match 1 or more non-path separators
61
- for (; j < len; ++j) {
62
- if (isPathSeparator(path.charCodeAt(j)))
63
- break;
64
- }
65
- if (j === len) {
66
- // We matched a UNC root only
67
- rootEnd = j;
68
- }
69
- else if (j !== last) {
70
- // We matched a UNC root with leftovers
71
- rootEnd = j + 1;
72
- }
73
- }
74
- }
75
- }
76
- }
77
- else if (isWindowsDeviceRoot(code)) {
78
- // Possible device root
79
- if (path.charCodeAt(1) === CHAR_COLON) {
80
- rootEnd = 2;
81
- if (len > 2) {
82
- if (isPathSeparator(path.charCodeAt(2))) {
83
- if (len === 3) {
84
- // `path` contains just a drive root, exit early to avoid
85
- // unnecessary work
86
- ret.root = ret.dir = path;
87
- ret.base = "\\";
88
- return ret;
89
- }
90
- rootEnd = 3;
91
- }
92
- }
93
- else {
94
- // `path` contains just a relative drive root, exit early to avoid
95
- // unnecessary work
96
- ret.root = ret.dir = path;
97
- return ret;
98
- }
99
- }
100
- }
101
- }
102
- else if (isPathSeparator(code)) {
103
- // `path` contains just a path separator, exit early to avoid
104
- // unnecessary work
105
- ret.root = ret.dir = path;
106
- ret.base = "\\";
107
- return ret;
108
- }
109
- if (rootEnd > 0)
110
- ret.root = path.slice(0, rootEnd);
111
- let startDot = -1;
112
- let startPart = rootEnd;
113
- let end = -1;
114
- let matchedSlash = true;
115
- let i = path.length - 1;
116
- // Track the state of characters (if any) we see before our first dot and
117
- // after any path separator we find
118
- let preDotState = 0;
119
- // Get non-dir info
120
- for (; i >= rootEnd; --i) {
121
- code = path.charCodeAt(i);
122
- if (isPathSeparator(code)) {
123
- // If we reached a path separator that was not part of a set of path
124
- // separators at the end of the string, stop now
125
- if (!matchedSlash) {
126
- startPart = i + 1;
127
- break;
128
- }
129
- continue;
130
- }
131
- if (end === -1) {
132
- // We saw the first non-path separator, mark this as the end of our
133
- // extension
134
- matchedSlash = false;
135
- end = i + 1;
136
- }
137
- if (code === CHAR_DOT) {
138
- // If this is our first dot, mark it as the start of our extension
139
- if (startDot === -1)
140
- startDot = i;
141
- else if (preDotState !== 1)
142
- preDotState = 1;
143
- }
144
- else if (startDot !== -1) {
145
- // We saw a non-dot and non-path separator before our dot, so we should
146
- // have a good chance at having a non-empty extension
147
- preDotState = -1;
148
- }
149
- }
150
- if (startDot === -1 ||
151
- end === -1 ||
152
- // We saw a non-dot character immediately before the dot
153
- preDotState === 0 ||
154
- // The (right-most) trimmed path component is exactly '..'
155
- (preDotState === 1 && startDot === end - 1 && startDot === startPart + 1)) {
156
- if (end !== -1) {
157
- ret.base = ret.name = path.slice(startPart, end);
158
- }
159
- }
160
- else {
161
- ret.name = path.slice(startPart, startDot);
162
- ret.base = path.slice(startPart, end);
163
- ret.ext = path.slice(startDot, end);
164
- }
165
- // Fallback to '\' in case there is no basename
166
- ret.base = ret.base || "\\";
167
- // If the directory is the root, use the entire root as the `dir` including
168
- // the trailing slash if any (`C:\abc` -> `C:\`). Otherwise, strip out the
169
- // trailing slash (`C:\abc\def` -> `C:\abc`).
170
- if (startPart > 0 && startPart !== rootEnd) {
171
- ret.dir = path.slice(0, startPart - 1);
172
- }
173
- else
174
- ret.dir = ret.root;
175
- return ret;
176
- }
@@ -1,23 +0,0 @@
1
- /**
2
- * Return the relative path from `from` to `to` based on current working directory.
3
- *
4
- * An example in windws, for instance:
5
- * from = 'C:\\orandea\\test\\aaa'
6
- * to = 'C:\\orandea\\impl\\bbb'
7
- * The output of the function should be: '..\\..\\impl\\bbb'
8
- *
9
- * @example Usage
10
- * ```ts
11
- * import { relative } from "@std/path/windows/relative";
12
- * import { assertEquals } from "@std/assert";
13
- *
14
- * const relativePath = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb");
15
- * assertEquals(relativePath, "..\\..\\impl\\bbb");
16
- * ```
17
- *
18
- * @param from The path from which to calculate the relative path
19
- * @param to The path to which to calculate the relative path
20
- * @returns The relative path from `from` to `to`
21
- */
22
- export declare function relative(from: string, to: string): string;
23
- //# sourceMappingURL=relative.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"relative.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/windows/relative.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAmGzD"}
@@ -1,131 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { CHAR_BACKWARD_SLASH } from "../_common/constants.js";
4
- import { resolve } from "./resolve.js";
5
- import { assertArgs } from "../_common/relative.js";
6
- /**
7
- * Return the relative path from `from` to `to` based on current working directory.
8
- *
9
- * An example in windws, for instance:
10
- * from = 'C:\\orandea\\test\\aaa'
11
- * to = 'C:\\orandea\\impl\\bbb'
12
- * The output of the function should be: '..\\..\\impl\\bbb'
13
- *
14
- * @example Usage
15
- * ```ts
16
- * import { relative } from "@std/path/windows/relative";
17
- * import { assertEquals } from "@std/assert";
18
- *
19
- * const relativePath = relative("C:\\foobar\\test\\aaa", "C:\\foobar\\impl\\bbb");
20
- * assertEquals(relativePath, "..\\..\\impl\\bbb");
21
- * ```
22
- *
23
- * @param from The path from which to calculate the relative path
24
- * @param to The path to which to calculate the relative path
25
- * @returns The relative path from `from` to `to`
26
- */
27
- export function relative(from, to) {
28
- assertArgs(from, to);
29
- const fromOrig = resolve(from);
30
- const toOrig = resolve(to);
31
- if (fromOrig === toOrig)
32
- return "";
33
- from = fromOrig.toLowerCase();
34
- to = toOrig.toLowerCase();
35
- if (from === to)
36
- return "";
37
- // Trim any leading backslashes
38
- let fromStart = 0;
39
- let fromEnd = from.length;
40
- for (; fromStart < fromEnd; ++fromStart) {
41
- if (from.charCodeAt(fromStart) !== CHAR_BACKWARD_SLASH)
42
- break;
43
- }
44
- // Trim trailing backslashes (applicable to UNC paths only)
45
- for (; fromEnd - 1 > fromStart; --fromEnd) {
46
- if (from.charCodeAt(fromEnd - 1) !== CHAR_BACKWARD_SLASH)
47
- break;
48
- }
49
- const fromLen = fromEnd - fromStart;
50
- // Trim any leading backslashes
51
- let toStart = 0;
52
- let toEnd = to.length;
53
- for (; toStart < toEnd; ++toStart) {
54
- if (to.charCodeAt(toStart) !== CHAR_BACKWARD_SLASH)
55
- break;
56
- }
57
- // Trim trailing backslashes (applicable to UNC paths only)
58
- for (; toEnd - 1 > toStart; --toEnd) {
59
- if (to.charCodeAt(toEnd - 1) !== CHAR_BACKWARD_SLASH)
60
- break;
61
- }
62
- const toLen = toEnd - toStart;
63
- // Compare paths to find the longest common path from root
64
- const length = fromLen < toLen ? fromLen : toLen;
65
- let lastCommonSep = -1;
66
- let i = 0;
67
- for (; i <= length; ++i) {
68
- if (i === length) {
69
- if (toLen > length) {
70
- if (to.charCodeAt(toStart + i) === CHAR_BACKWARD_SLASH) {
71
- // We get here if `from` is the exact base path for `to`.
72
- // For example: from='C:\\foo\\bar'; to='C:\\foo\\bar\\baz'
73
- return toOrig.slice(toStart + i + 1);
74
- }
75
- else if (i === 2) {
76
- // We get here if `from` is the device root.
77
- // For example: from='C:\\'; to='C:\\foo'
78
- return toOrig.slice(toStart + i);
79
- }
80
- }
81
- if (fromLen > length) {
82
- if (from.charCodeAt(fromStart + i) === CHAR_BACKWARD_SLASH) {
83
- // We get here if `to` is the exact base path for `from`.
84
- // For example: from='C:\\foo\\bar'; to='C:\\foo'
85
- lastCommonSep = i;
86
- }
87
- else if (i === 2) {
88
- // We get here if `to` is the device root.
89
- // For example: from='C:\\foo\\bar'; to='C:\\'
90
- lastCommonSep = 3;
91
- }
92
- }
93
- break;
94
- }
95
- const fromCode = from.charCodeAt(fromStart + i);
96
- const toCode = to.charCodeAt(toStart + i);
97
- if (fromCode !== toCode)
98
- break;
99
- else if (fromCode === CHAR_BACKWARD_SLASH)
100
- lastCommonSep = i;
101
- }
102
- // We found a mismatch before the first common path separator was seen, so
103
- // return the original `to`.
104
- if (i !== length && lastCommonSep === -1) {
105
- return toOrig;
106
- }
107
- let out = "";
108
- if (lastCommonSep === -1)
109
- lastCommonSep = 0;
110
- // Generate the relative path based on the path difference between `to` and
111
- // `from`
112
- for (i = fromStart + lastCommonSep + 1; i <= fromEnd; ++i) {
113
- if (i === fromEnd || from.charCodeAt(i) === CHAR_BACKWARD_SLASH) {
114
- if (out.length === 0)
115
- out += "..";
116
- else
117
- out += "\\..";
118
- }
119
- }
120
- // Lastly, append the rest of the destination (`to`) path that comes after
121
- // the common path parts
122
- if (out.length > 0) {
123
- return out + toOrig.slice(toStart + lastCommonSep, toEnd);
124
- }
125
- else {
126
- toStart += lastCommonSep;
127
- if (toOrig.charCodeAt(toStart) === CHAR_BACKWARD_SLASH)
128
- ++toStart;
129
- return toOrig.slice(toStart, toEnd);
130
- }
131
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Resolves path segments into a `path`.
3
- *
4
- * @example Usage
5
- * ```ts
6
- * import { resolve } from "@std/path/windows/resolve";
7
- * import { assertEquals } from "@std/assert";
8
- *
9
- * const resolved = resolve("C:\\foo\\bar", "..\\baz");
10
- * assertEquals(resolved, "C:\\foo\\baz");
11
- * ```
12
- *
13
- * @param pathSegments The path segments to process to path
14
- * @returns The resolved path
15
- */
16
- export declare function resolve(...pathSegments: string[]): string;
17
- //# sourceMappingURL=resolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/windows/resolve.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,MAAM,CAwJzD"}
@@ -1,154 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import * as dntShim from "../../../../../../_dnt.shims.js";
4
- import { CHAR_COLON } from "../_common/constants.js";
5
- import { normalizeString } from "../_common/normalize_string.js";
6
- import { assertPath } from "../_common/assert_path.js";
7
- import { isPathSeparator, isWindowsDeviceRoot } from "./_util.js";
8
- /**
9
- * Resolves path segments into a `path`.
10
- *
11
- * @example Usage
12
- * ```ts
13
- * import { resolve } from "@std/path/windows/resolve";
14
- * import { assertEquals } from "@std/assert";
15
- *
16
- * const resolved = resolve("C:\\foo\\bar", "..\\baz");
17
- * assertEquals(resolved, "C:\\foo\\baz");
18
- * ```
19
- *
20
- * @param pathSegments The path segments to process to path
21
- * @returns The resolved path
22
- */
23
- export function resolve(...pathSegments) {
24
- let resolvedDevice = "";
25
- let resolvedTail = "";
26
- let resolvedAbsolute = false;
27
- for (let i = pathSegments.length - 1; i >= -1; i--) {
28
- let path;
29
- // deno-lint-ignore no-explicit-any
30
- const { Deno } = dntShim.dntGlobalThis;
31
- if (i >= 0) {
32
- path = pathSegments[i];
33
- }
34
- else if (!resolvedDevice) {
35
- if (typeof Deno?.cwd !== "function") {
36
- throw new TypeError("Resolved a drive-letter-less path without a current working directory (CWD)");
37
- }
38
- path = Deno.cwd();
39
- }
40
- else {
41
- if (typeof Deno?.env?.get !== "function" || typeof Deno?.cwd !== "function") {
42
- throw new TypeError("Resolved a relative path without a current working directory (CWD)");
43
- }
44
- path = Deno.cwd();
45
- // Verify that a cwd was found and that it actually points
46
- // to our drive. If not, default to the drive's root.
47
- if (path === undefined ||
48
- path.slice(0, 3).toLowerCase() !== `${resolvedDevice.toLowerCase()}\\`) {
49
- path = `${resolvedDevice}\\`;
50
- }
51
- }
52
- assertPath(path);
53
- const len = path.length;
54
- // Skip empty entries
55
- if (len === 0)
56
- continue;
57
- let rootEnd = 0;
58
- let device = "";
59
- let isAbsolute = false;
60
- const code = path.charCodeAt(0);
61
- // Try to match a root
62
- if (len > 1) {
63
- if (isPathSeparator(code)) {
64
- // Possible UNC root
65
- // If we started with a separator, we know we at least have an
66
- // absolute path of some kind (UNC or otherwise)
67
- isAbsolute = true;
68
- if (isPathSeparator(path.charCodeAt(1))) {
69
- // Matched double path separator at beginning
70
- let j = 2;
71
- let last = j;
72
- // Match 1 or more non-path separators
73
- for (; j < len; ++j) {
74
- if (isPathSeparator(path.charCodeAt(j)))
75
- break;
76
- }
77
- if (j < len && j !== last) {
78
- const firstPart = path.slice(last, j);
79
- // Matched!
80
- last = j;
81
- // Match 1 or more path separators
82
- for (; j < len; ++j) {
83
- if (!isPathSeparator(path.charCodeAt(j)))
84
- break;
85
- }
86
- if (j < len && j !== last) {
87
- // Matched!
88
- last = j;
89
- // Match 1 or more non-path separators
90
- for (; j < len; ++j) {
91
- if (isPathSeparator(path.charCodeAt(j)))
92
- break;
93
- }
94
- if (j === len) {
95
- // We matched a UNC root only
96
- device = `\\\\${firstPart}\\${path.slice(last)}`;
97
- rootEnd = j;
98
- }
99
- else if (j !== last) {
100
- // We matched a UNC root with leftovers
101
- device = `\\\\${firstPart}\\${path.slice(last, j)}`;
102
- rootEnd = j;
103
- }
104
- }
105
- }
106
- }
107
- else {
108
- rootEnd = 1;
109
- }
110
- }
111
- else if (isWindowsDeviceRoot(code)) {
112
- // Possible device root
113
- if (path.charCodeAt(1) === CHAR_COLON) {
114
- device = path.slice(0, 2);
115
- rootEnd = 2;
116
- if (len > 2) {
117
- if (isPathSeparator(path.charCodeAt(2))) {
118
- // Treat separator following drive name as an absolute path
119
- // indicator
120
- isAbsolute = true;
121
- rootEnd = 3;
122
- }
123
- }
124
- }
125
- }
126
- }
127
- else if (isPathSeparator(code)) {
128
- // `path` contains just a path separator
129
- rootEnd = 1;
130
- isAbsolute = true;
131
- }
132
- if (device.length > 0 &&
133
- resolvedDevice.length > 0 &&
134
- device.toLowerCase() !== resolvedDevice.toLowerCase()) {
135
- // This path points to another device so it is not applicable
136
- continue;
137
- }
138
- if (resolvedDevice.length === 0 && device.length > 0) {
139
- resolvedDevice = device;
140
- }
141
- if (!resolvedAbsolute) {
142
- resolvedTail = `${path.slice(rootEnd)}\\${resolvedTail}`;
143
- resolvedAbsolute = isAbsolute;
144
- }
145
- if (resolvedAbsolute && resolvedDevice.length > 0)
146
- break;
147
- }
148
- // At this point the path should be resolved to a full absolute path,
149
- // but handle relative paths to be safe (might happen when Deno.cwd()
150
- // fails)
151
- // Normalize the tail path
152
- resolvedTail = normalizeString(resolvedTail, !resolvedAbsolute, "\\", isPathSeparator);
153
- return resolvedDevice + (resolvedAbsolute ? "\\" : "") + resolvedTail || ".";
154
- }
@@ -1,18 +0,0 @@
1
- /// <reference types="node" />
2
- /**
3
- * Converts a path string to a file URL.
4
- *
5
- * @example Usage
6
- * ```ts
7
- * import { toFileUrl } from "@std/path/windows/to-file-url";
8
- * import { assertEquals } from "@std/assert";
9
- *
10
- * assertEquals(toFileUrl("\\home\\foo"), new URL("file:///home/foo"));
11
- * assertEquals(toFileUrl("C:\\Users\\foo"), new URL("file:///C:/Users/foo"));
12
- * assertEquals(toFileUrl("\\\\127.0.0.1\\home\\foo"), new URL("file://127.0.0.1/home/foo"));
13
- * ```
14
- * @param path The path to convert.
15
- * @returns The file URL.
16
- */
17
- export declare function toFileUrl(path: string): URL;
18
- //# sourceMappingURL=to_file_url.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to_file_url.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/windows/to_file_url.ts"],"names":[],"mappings":";AAMA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAgB3C"}
@@ -1,34 +0,0 @@
1
- // Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
2
- // This module is browser compatible.
3
- import { encodeWhitespace } from "../_common/to_file_url.js";
4
- import { isAbsolute } from "./is_absolute.js";
5
- /**
6
- * Converts a path string to a file URL.
7
- *
8
- * @example Usage
9
- * ```ts
10
- * import { toFileUrl } from "@std/path/windows/to-file-url";
11
- * import { assertEquals } from "@std/assert";
12
- *
13
- * assertEquals(toFileUrl("\\home\\foo"), new URL("file:///home/foo"));
14
- * assertEquals(toFileUrl("C:\\Users\\foo"), new URL("file:///C:/Users/foo"));
15
- * assertEquals(toFileUrl("\\\\127.0.0.1\\home\\foo"), new URL("file://127.0.0.1/home/foo"));
16
- * ```
17
- * @param path The path to convert.
18
- * @returns The file URL.
19
- */
20
- export function toFileUrl(path) {
21
- if (!isAbsolute(path)) {
22
- throw new TypeError(`Path must be absolute: received "${path}"`);
23
- }
24
- const [, hostname, pathname] = path.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/);
25
- const url = new URL("file:///");
26
- url.pathname = encodeWhitespace(pathname.replace(/%/g, "%25"));
27
- if (hostname !== undefined && hostname !== "localhost") {
28
- url.hostname = hostname;
29
- if (!url.hostname) {
30
- throw new TypeError(`Invalid hostname: "${url.hostname}"`);
31
- }
32
- }
33
- return url;
34
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Resolves path to a namespace path
3
- *
4
- * @example Usage
5
- * ```ts
6
- * import { toNamespacedPath } from "@std/path/windows/to-namespaced-path";
7
- * import { assertEquals } from "@std/assert";
8
- *
9
- * const namespaced = toNamespacedPath("C:\\foo\\bar");
10
- * assertEquals(namespaced, "\\\\?\\C:\\foo\\bar");
11
- * ```
12
- *
13
- * @param path The path to resolve to namespaced path
14
- * @returns The resolved namespaced path
15
- */
16
- export declare function toNamespacedPath(path: string): string;
17
- //# sourceMappingURL=to_namespaced_path.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to_namespaced_path.d.ts","sourceRoot":"","sources":["../../../../../../../src/deps/jsr.io/@std/path/1.0.8/windows/to_namespaced_path.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAgCrD"}