@flex-development/mlly 1.0.0-alpha.1 → 1.0.0-alpha.11

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 (380) hide show
  1. package/CHANGELOG.md +431 -3
  2. package/README.md +6 -4
  3. package/changelog.config.ts +404 -0
  4. package/dist/enums/assert-type.d.mts +21 -0
  5. package/dist/enums/assert-type.mjs +10 -0
  6. package/dist/enums/assert-type.mjs.map +6 -0
  7. package/dist/enums/format.d.mts +17 -0
  8. package/dist/enums/format.mjs +13 -0
  9. package/dist/enums/format.mjs.map +6 -0
  10. package/dist/enums/index.d.mts +10 -0
  11. package/dist/enums/index.mjs +15 -0
  12. package/dist/enums/index.mjs.map +6 -0
  13. package/dist/enums/kind-specifier-syntax.d.mts +14 -0
  14. package/dist/enums/kind-specifier-syntax.mjs +10 -0
  15. package/dist/enums/kind-specifier-syntax.mjs.map +6 -0
  16. package/dist/enums/kind-specifier.d.mts +17 -0
  17. package/dist/enums/kind-specifier.mjs +11 -0
  18. package/dist/enums/kind-specifier.mjs.map +6 -0
  19. package/dist/enums/kind-statement-syntax.d.mts +22 -0
  20. package/dist/enums/kind-statement-syntax.mjs +18 -0
  21. package/dist/enums/kind-statement-syntax.mjs.map +6 -0
  22. package/dist/enums/kind-statement.d.mts +15 -0
  23. package/dist/enums/kind-statement.mjs +11 -0
  24. package/dist/enums/kind-statement.mjs.map +6 -0
  25. package/dist/index.d.mts +2 -2
  26. package/dist/index.mjs +3 -2
  27. package/dist/index.mjs.map +6 -0
  28. package/dist/interfaces/import-assertions.d.mts +20 -0
  29. package/dist/interfaces/import-dynamic.d.mts +26 -6
  30. package/dist/interfaces/import-static.d.mts +22 -4
  31. package/dist/interfaces/index.d.mts +12 -0
  32. package/dist/interfaces/index.mjs +1 -0
  33. package/dist/interfaces/index.mjs.map +6 -0
  34. package/dist/interfaces/options-fill-module.d.mts +23 -0
  35. package/dist/interfaces/options-find-subpath.d.mts +49 -0
  36. package/dist/interfaces/options-get-format.d.mts +83 -0
  37. package/dist/interfaces/options-get-source.d.mts +63 -0
  38. package/dist/interfaces/options-parse-module-id.d.mts +33 -0
  39. package/dist/interfaces/options-parse-subpath.d.mts +31 -0
  40. package/dist/interfaces/options-resolve-alias.d.mts +26 -42
  41. package/dist/interfaces/options-resolve-module.d.mts +64 -0
  42. package/dist/interfaces/options-resolve.d.mts +7 -52
  43. package/dist/interfaces/package-scope.d.mts +25 -0
  44. package/dist/interfaces/parsed-data-url.d.mts +56 -0
  45. package/dist/interfaces/parsed-module-id.d.mts +80 -0
  46. package/dist/interfaces/parsed-subpath.d.mts +40 -0
  47. package/dist/interfaces/statement-export.d.mts +22 -9
  48. package/dist/interfaces/statement-import.d.mts +15 -4
  49. package/dist/interfaces/statement-require.d.mts +15 -4
  50. package/dist/interfaces/statement.d.mts +24 -8
  51. package/dist/internal/escape-reg-exp.d.mts +16 -0
  52. package/dist/internal/escape-reg-exp.mjs +10 -0
  53. package/dist/internal/escape-reg-exp.mjs.map +6 -0
  54. package/dist/internal/format-type-map.d.mts +17 -0
  55. package/dist/internal/format-type-map.mjs +13 -0
  56. package/dist/internal/format-type-map.mjs.map +6 -0
  57. package/dist/internal/get-specifier-kind.d.mts +17 -0
  58. package/dist/internal/get-specifier-kind.mjs +14 -0
  59. package/dist/internal/get-specifier-kind.mjs.map +6 -0
  60. package/dist/internal/get-subpaths.d.mts +25 -0
  61. package/dist/internal/get-subpaths.mjs +10 -0
  62. package/dist/internal/get-subpaths.mjs.map +6 -0
  63. package/dist/internal/is-array-index.d.mts +15 -0
  64. package/dist/internal/is-array-index.mjs +9 -0
  65. package/dist/internal/is-array-index.mjs.map +6 -0
  66. package/dist/internal/is-directory.d.mts +13 -0
  67. package/dist/internal/is-directory.mjs +16 -0
  68. package/dist/internal/is-directory.mjs.map +6 -0
  69. package/dist/internal/is-file.d.mts +13 -0
  70. package/dist/internal/is-file.mjs +16 -0
  71. package/dist/internal/is-file.mjs.map +6 -0
  72. package/dist/internal/is-function.d.mts +12 -0
  73. package/dist/internal/is-function.mjs +8 -0
  74. package/dist/internal/is-function.mjs.map +6 -0
  75. package/dist/internal/regex-encoded-sep.d.mts +13 -0
  76. package/dist/internal/regex-encoded-sep.mjs +6 -0
  77. package/dist/internal/regex-encoded-sep.mjs.map +6 -0
  78. package/dist/internal/regex-internal-specifier.d.mts +14 -0
  79. package/dist/internal/regex-internal-specifier.mjs +6 -0
  80. package/dist/internal/regex-internal-specifier.mjs.map +6 -0
  81. package/dist/internal/regex-package-name.d.mts +13 -0
  82. package/dist/internal/regex-package-name.mjs +6 -0
  83. package/dist/internal/regex-package-name.mjs.map +6 -0
  84. package/dist/internal/regex-package-path.d.mts +15 -0
  85. package/dist/internal/regex-package-path.mjs +6 -0
  86. package/dist/internal/regex-package-path.mjs.map +6 -0
  87. package/dist/internal/resolver.d.mts +130 -0
  88. package/dist/internal/resolver.mjs +500 -0
  89. package/dist/internal/resolver.mjs.map +6 -0
  90. package/dist/internal/validate-boolean.d.mts +20 -0
  91. package/dist/internal/validate-boolean.mjs +11 -0
  92. package/dist/internal/validate-boolean.mjs.map +6 -0
  93. package/dist/internal/validate-object.d.mts +23 -0
  94. package/dist/internal/validate-object.mjs +11 -0
  95. package/dist/internal/validate-object.mjs.map +6 -0
  96. package/dist/internal/validate-set.d.mts +23 -0
  97. package/dist/internal/validate-set.mjs +11 -0
  98. package/dist/internal/validate-set.mjs.map +6 -0
  99. package/dist/internal/validate-string.d.mts +20 -0
  100. package/dist/internal/validate-string.mjs +11 -0
  101. package/dist/internal/validate-string.mjs.map +6 -0
  102. package/dist/internal/validate-url-string.d.mts +22 -0
  103. package/dist/internal/validate-url-string.mjs +12 -0
  104. package/dist/internal/validate-url-string.mjs.map +6 -0
  105. package/dist/types/declaration.d.mts +1 -1
  106. package/dist/types/fn-change-ext.d.mts +28 -0
  107. package/dist/types/index.d.mts +8 -4
  108. package/dist/types/index.mjs +1 -0
  109. package/dist/types/index.mjs.map +6 -0
  110. package/dist/types/mime-type.d.mts +7 -5
  111. package/dist/types/module-id.d.mts +13 -0
  112. package/dist/types/module-specifier-type.d.mts +11 -0
  113. package/dist/types/protocol.d.mts +14 -0
  114. package/dist/types/syntax-kind-export.d.mts +12 -0
  115. package/dist/types/syntax-kind-import.d.mts +12 -0
  116. package/dist/types/syntax-kind-require.d.mts +12 -0
  117. package/dist/utils/compare-subpaths.d.mts +25 -0
  118. package/dist/utils/compare-subpaths.mjs +24 -0
  119. package/dist/utils/compare-subpaths.mjs.map +6 -0
  120. package/dist/utils/conditions.d.mts +13 -0
  121. package/dist/utils/conditions.mjs +6 -0
  122. package/dist/utils/conditions.mjs.map +6 -0
  123. package/dist/{lib → utils}/detect-syntax.d.mts +4 -4
  124. package/dist/{lib → utils}/detect-syntax.mjs +1 -0
  125. package/dist/utils/detect-syntax.mjs.map +6 -0
  126. package/dist/utils/extension-format-map.d.mts +16 -0
  127. package/dist/utils/extension-format-map.mjs +22 -0
  128. package/dist/utils/extension-format-map.mjs.map +6 -0
  129. package/dist/utils/extract-statements.d.mts +21 -0
  130. package/dist/{lib → utils}/extract-statements.mjs +4 -1
  131. package/dist/utils/extract-statements.mjs.map +6 -0
  132. package/dist/utils/fill-modules.d.mts +23 -0
  133. package/dist/utils/fill-modules.mjs +64 -0
  134. package/dist/utils/fill-modules.mjs.map +6 -0
  135. package/dist/utils/find-dynamic-imports.d.mts +18 -0
  136. package/dist/utils/find-dynamic-imports.mjs +39 -0
  137. package/dist/utils/find-dynamic-imports.mjs.map +6 -0
  138. package/dist/utils/find-exports.d.mts +21 -0
  139. package/dist/utils/find-exports.mjs +95 -0
  140. package/dist/utils/find-exports.mjs.map +6 -0
  141. package/dist/utils/find-requires.d.mts +18 -0
  142. package/dist/utils/find-requires.mjs +32 -0
  143. package/dist/utils/find-requires.mjs.map +6 -0
  144. package/dist/utils/find-static-imports.d.mts +18 -0
  145. package/dist/utils/find-static-imports.mjs +34 -0
  146. package/dist/utils/find-static-imports.mjs.map +6 -0
  147. package/dist/utils/find-subpath.d.mts +30 -0
  148. package/dist/utils/find-subpath.mjs +106 -0
  149. package/dist/utils/find-subpath.mjs.map +6 -0
  150. package/dist/utils/get-format.d.mts +24 -0
  151. package/dist/utils/get-format.mjs +111 -0
  152. package/dist/utils/get-format.mjs.map +6 -0
  153. package/dist/utils/get-source.d.mts +22 -0
  154. package/dist/utils/get-source.mjs +63 -0
  155. package/dist/utils/get-source.mjs.map +6 -0
  156. package/dist/{lib → utils}/has-cjs-syntax.d.mts +5 -2
  157. package/dist/utils/has-cjs-syntax.mjs +11 -0
  158. package/dist/utils/has-cjs-syntax.mjs.map +6 -0
  159. package/dist/{lib → utils}/has-esm-syntax.d.mts +5 -2
  160. package/dist/utils/has-esm-syntax.mjs +11 -0
  161. package/dist/utils/has-esm-syntax.mjs.map +6 -0
  162. package/dist/utils/index.d.mts +42 -0
  163. package/dist/utils/index.mjs +79 -0
  164. package/dist/utils/index.mjs.map +6 -0
  165. package/dist/utils/is-absolute-specifier.d.mts +19 -0
  166. package/dist/utils/is-absolute-specifier.mjs +25 -0
  167. package/dist/utils/is-absolute-specifier.mjs.map +6 -0
  168. package/dist/utils/is-bare-specifier.d.mts +19 -0
  169. package/dist/utils/is-bare-specifier.mjs +10 -0
  170. package/dist/utils/is-bare-specifier.mjs.map +6 -0
  171. package/dist/utils/is-exports-sugar.d.mts +25 -0
  172. package/dist/utils/is-exports-sugar.mjs +26 -0
  173. package/dist/utils/is-exports-sugar.mjs.map +6 -0
  174. package/dist/utils/is-relative-specifier.d.mts +20 -0
  175. package/dist/utils/is-relative-specifier.mjs +11 -0
  176. package/dist/utils/is-relative-specifier.mjs.map +6 -0
  177. package/dist/utils/lookup-package-scope.d.mts +26 -0
  178. package/dist/utils/lookup-package-scope.mjs +38 -0
  179. package/dist/utils/lookup-package-scope.mjs.map +6 -0
  180. package/dist/utils/parse-data-url.d.mts +25 -0
  181. package/dist/utils/parse-data-url.mjs +25 -0
  182. package/dist/utils/parse-data-url.mjs.map +6 -0
  183. package/dist/utils/parse-module-id.d.mts +22 -0
  184. package/dist/utils/parse-module-id.mjs +122 -0
  185. package/dist/utils/parse-module-id.mjs.map +6 -0
  186. package/dist/utils/parse-subpath.d.mts +35 -0
  187. package/dist/utils/parse-subpath.mjs +54 -0
  188. package/dist/utils/parse-subpath.mjs.map +6 -0
  189. package/dist/utils/pattern-character.d.mts +11 -0
  190. package/dist/utils/pattern-character.mjs +6 -0
  191. package/dist/utils/pattern-character.mjs.map +6 -0
  192. package/dist/utils/read-package-json.d.mts +26 -0
  193. package/dist/utils/read-package-json.mjs +43 -0
  194. package/dist/utils/read-package-json.mjs.map +6 -0
  195. package/dist/utils/resolve-alias.d.mts +20 -0
  196. package/dist/utils/resolve-alias.mjs +106 -0
  197. package/dist/utils/resolve-alias.mjs.map +6 -0
  198. package/dist/utils/resolve-aliases.d.mts +19 -0
  199. package/dist/utils/resolve-aliases.mjs +28 -0
  200. package/dist/utils/resolve-aliases.mjs.map +6 -0
  201. package/dist/utils/resolve-extensions.d.mts +14 -0
  202. package/dist/utils/resolve-extensions.mjs +22 -0
  203. package/dist/utils/resolve-extensions.mjs.map +6 -0
  204. package/dist/utils/resolve-module.d.mts +39 -0
  205. package/dist/utils/resolve-module.mjs +64 -0
  206. package/dist/utils/resolve-module.mjs.map +6 -0
  207. package/dist/utils/resolve-modules.d.mts +25 -0
  208. package/dist/{lib → utils}/resolve-modules.mjs +7 -10
  209. package/dist/utils/resolve-modules.mjs.map +6 -0
  210. package/dist/{lib → utils}/to-absolute-specifier.d.mts +6 -6
  211. package/dist/utils/to-absolute-specifier.mjs +8 -0
  212. package/dist/utils/to-absolute-specifier.mjs.map +6 -0
  213. package/dist/utils/to-bare-specifier.d.mts +42 -0
  214. package/dist/utils/to-bare-specifier.mjs +90 -0
  215. package/dist/utils/to-bare-specifier.mjs.map +6 -0
  216. package/dist/{lib → utils}/to-data-url.d.mts +6 -5
  217. package/dist/{lib → utils}/to-data-url.mjs +4 -0
  218. package/dist/utils/to-data-url.mjs.map +6 -0
  219. package/dist/utils/to-node-url.d.mts +19 -0
  220. package/dist/utils/to-node-url.mjs +10 -0
  221. package/dist/utils/to-node-url.mjs.map +6 -0
  222. package/dist/{lib → utils}/to-relative-specifier.d.mts +6 -6
  223. package/dist/{lib → utils}/to-relative-specifier.mjs +7 -3
  224. package/dist/utils/to-relative-specifier.mjs.map +6 -0
  225. package/dist/utils/to-url.d.mts +22 -0
  226. package/dist/utils/to-url.mjs +12 -0
  227. package/dist/utils/to-url.mjs.map +6 -0
  228. package/dist/utils/validate-assertions.d.mts +23 -0
  229. package/dist/utils/validate-assertions.mjs +52 -0
  230. package/dist/utils/validate-assertions.mjs.map +6 -0
  231. package/dist/utils/validate-exports.d.mts +24 -0
  232. package/dist/utils/validate-exports.mjs +72 -0
  233. package/dist/utils/validate-exports.mjs.map +6 -0
  234. package/package.json +106 -83
  235. package/src/enums/assert-type.ts +23 -0
  236. package/src/enums/format.ts +19 -0
  237. package/src/enums/index.ts +11 -0
  238. package/src/enums/kind-specifier-syntax.ts +16 -0
  239. package/src/enums/kind-specifier.ts +19 -0
  240. package/src/enums/kind-statement-syntax.ts +24 -0
  241. package/src/enums/kind-statement.ts +17 -0
  242. package/src/index.ts +9 -0
  243. package/src/interfaces/import-assertions.ts +24 -0
  244. package/src/interfaces/import-dynamic.ts +48 -0
  245. package/src/interfaces/import-static.ts +50 -0
  246. package/src/interfaces/index.ts +25 -0
  247. package/src/interfaces/options-fill-module.ts +26 -0
  248. package/src/interfaces/options-find-subpath.ts +56 -0
  249. package/src/interfaces/options-get-format.ts +92 -0
  250. package/src/interfaces/options-get-source.ts +70 -0
  251. package/src/interfaces/options-parse-module-id.ts +38 -0
  252. package/src/interfaces/options-parse-subpath.ts +36 -0
  253. package/src/interfaces/options-resolve-alias.ts +59 -0
  254. package/src/interfaces/options-resolve-module.ts +72 -0
  255. package/src/interfaces/options-resolve.ts +17 -0
  256. package/src/interfaces/package-scope.ts +30 -0
  257. package/src/interfaces/parsed-data-url.ts +63 -0
  258. package/src/interfaces/parsed-module-id.ts +90 -0
  259. package/src/interfaces/parsed-subpath.ts +47 -0
  260. package/src/interfaces/statement-export.ts +52 -0
  261. package/src/interfaces/statement-import.ts +45 -0
  262. package/src/interfaces/statement-require.ts +45 -0
  263. package/src/interfaces/statement.ts +64 -0
  264. package/src/internal/escape-reg-exp.ts +24 -0
  265. package/src/internal/format-type-map.ts +26 -0
  266. package/src/internal/get-specifier-kind.ts +38 -0
  267. package/src/internal/get-subpaths.ts +41 -0
  268. package/src/internal/is-array-index.ts +28 -0
  269. package/src/internal/is-directory.ts +25 -0
  270. package/src/internal/is-file.ts +25 -0
  271. package/src/internal/is-function.ts +16 -0
  272. package/src/internal/regex-encoded-sep.ts +15 -0
  273. package/src/internal/regex-internal-specifier.ts +17 -0
  274. package/src/internal/regex-package-name.ts +16 -0
  275. package/src/internal/regex-package-path.ts +18 -0
  276. package/src/internal/resolver.ts +783 -0
  277. package/src/internal/validate-boolean.ts +27 -0
  278. package/src/internal/validate-object.ts +30 -0
  279. package/src/internal/validate-set.ts +33 -0
  280. package/src/internal/validate-string.ts +27 -0
  281. package/src/internal/validate-url-string.ts +31 -0
  282. package/src/types/declaration.ts +22 -0
  283. package/src/types/fn-change-ext.ts +33 -0
  284. package/src/types/index.ts +14 -0
  285. package/src/types/mime-type.ts +19 -0
  286. package/src/types/module-id.ts +15 -0
  287. package/src/types/module-specifier-type.ts +13 -0
  288. package/src/types/protocol.ts +40 -0
  289. package/src/types/syntax-kind-export.ts +20 -0
  290. package/src/types/syntax-kind-import.ts +22 -0
  291. package/src/types/syntax-kind-require.ts +15 -0
  292. package/src/utils/compare-subpaths.ts +100 -0
  293. package/src/utils/conditions.ts +15 -0
  294. package/src/utils/detect-syntax.ts +40 -0
  295. package/src/utils/extension-format-map.ts +34 -0
  296. package/src/utils/extract-statements.ts +42 -0
  297. package/src/utils/fill-modules.ts +116 -0
  298. package/src/utils/find-dynamic-imports.ts +75 -0
  299. package/src/utils/find-exports.ts +164 -0
  300. package/src/utils/find-requires.ts +75 -0
  301. package/src/utils/find-static-imports.ts +89 -0
  302. package/src/utils/find-subpath.ts +241 -0
  303. package/src/utils/get-format.ts +222 -0
  304. package/src/utils/get-source.ts +129 -0
  305. package/src/utils/has-cjs-syntax.ts +44 -0
  306. package/src/utils/has-esm-syntax.ts +40 -0
  307. package/src/utils/index.ts +43 -0
  308. package/src/utils/is-absolute-specifier.ts +48 -0
  309. package/src/utils/is-bare-specifier.ts +30 -0
  310. package/src/utils/is-exports-sugar.ts +74 -0
  311. package/src/utils/is-relative-specifier.ts +34 -0
  312. package/src/utils/lookup-package-scope.ts +97 -0
  313. package/src/utils/parse-data-url.ts +71 -0
  314. package/src/utils/parse-module-id.ts +186 -0
  315. package/src/utils/parse-subpath.ts +173 -0
  316. package/src/utils/pattern-character.ts +13 -0
  317. package/src/utils/read-package-json.ts +101 -0
  318. package/src/utils/resolve-alias.ts +219 -0
  319. package/src/utils/resolve-aliases.ts +58 -0
  320. package/src/utils/resolve-extensions.ts +33 -0
  321. package/src/utils/resolve-module.ts +153 -0
  322. package/src/utils/resolve-modules.ts +62 -0
  323. package/src/utils/to-absolute-specifier.ts +30 -0
  324. package/src/utils/to-bare-specifier.ts +201 -0
  325. package/src/utils/to-data-url.ts +42 -0
  326. package/src/utils/to-node-url.ts +27 -0
  327. package/src/utils/to-relative-specifier.ts +47 -0
  328. package/src/utils/to-url.ts +31 -0
  329. package/src/utils/validate-assertions.ts +119 -0
  330. package/src/utils/validate-exports.ts +124 -0
  331. package/changelog.config.cts +0 -204
  332. package/dist/constants.d.mts +0 -19
  333. package/dist/constants.mjs +0 -24
  334. package/dist/interfaces/import-dynamic.mjs +0 -0
  335. package/dist/interfaces/import-static.mjs +0 -0
  336. package/dist/interfaces/options-resolve-alias.mjs +0 -0
  337. package/dist/interfaces/options-resolve.mjs +0 -0
  338. package/dist/interfaces/statement-export.mjs +0 -0
  339. package/dist/interfaces/statement-import.mjs +0 -0
  340. package/dist/interfaces/statement-require.mjs +0 -0
  341. package/dist/interfaces/statement.mjs +0 -0
  342. package/dist/internal/compiler-options-json.d.mts +0 -111
  343. package/dist/internal/compiler-options-json.mjs +0 -0
  344. package/dist/internal/constants.d.mts +0 -70
  345. package/dist/internal/constants.mjs +0 -18
  346. package/dist/internal/get-compiler-options.d.mts +0 -21
  347. package/dist/internal/get-compiler-options.mjs +0 -14
  348. package/dist/internal/index.d.mts +0 -7
  349. package/dist/internal/index.mjs +0 -5
  350. package/dist/lib/extract-statements.d.mts +0 -21
  351. package/dist/lib/find-dynamic-imports.d.mts +0 -15
  352. package/dist/lib/find-dynamic-imports.mjs +0 -20
  353. package/dist/lib/find-exports.d.mts +0 -15
  354. package/dist/lib/find-exports.mjs +0 -53
  355. package/dist/lib/find-requires.d.mts +0 -17
  356. package/dist/lib/find-requires.mjs +0 -19
  357. package/dist/lib/find-static-imports.d.mts +0 -15
  358. package/dist/lib/find-static-imports.mjs +0 -20
  359. package/dist/lib/has-cjs-syntax.mjs +0 -6
  360. package/dist/lib/has-esm-syntax.mjs +0 -6
  361. package/dist/lib/index.d.mts +0 -20
  362. package/dist/lib/index.mjs +0 -34
  363. package/dist/lib/resolve-alias.d.mts +0 -20
  364. package/dist/lib/resolve-alias.mjs +0 -41
  365. package/dist/lib/resolve-aliases.d.mts +0 -17
  366. package/dist/lib/resolve-aliases.mjs +0 -34
  367. package/dist/lib/resolve-module.d.mts +0 -31
  368. package/dist/lib/resolve-module.mjs +0 -74
  369. package/dist/lib/resolve-modules.d.mts +0 -19
  370. package/dist/lib/to-absolute-specifier.mjs +0 -20
  371. package/dist/lib/to-bare-specifier.d.mts +0 -28
  372. package/dist/lib/to-bare-specifier.mjs +0 -78
  373. package/dist/types/declaration.mjs +0 -0
  374. package/dist/types/ext.d.mts +0 -9
  375. package/dist/types/ext.mjs +0 -0
  376. package/dist/types/mime-type.mjs +0 -0
  377. package/dist/types/specifier-type.d.mts +0 -11
  378. package/dist/types/specifier-type.mjs +0 -0
  379. package/dist/types/statement-type.d.mts +0 -9
  380. package/dist/types/statement-type.mjs +0 -0
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @file Interfaces - FindSubpathOptions
3
+ * @module mlly/interfaces/FindSubpathOptions
4
+ */
5
+
6
+ import type { ModuleId } from '#src/types'
7
+
8
+ /**
9
+ * Subpath search options.
10
+ *
11
+ * @see {@linkcode ModuleId}
12
+ */
13
+ interface FindSubpathOptions {
14
+ /**
15
+ * Export condition to apply.
16
+ *
17
+ * @see https://nodejs.org/api/packages.html#conditional-exports
18
+ *
19
+ * @default 'default'
20
+ */
21
+ condition?: string | undefined
22
+
23
+ /**
24
+ * Export conditions.
25
+ *
26
+ * **Note**: Should be sorted by priority.
27
+ *
28
+ * @see https://nodejs.org/api/packages.html#conditional-exports
29
+ *
30
+ * @default CONDITIONS
31
+ */
32
+ conditions?: Set<string> | undefined
33
+
34
+ /**
35
+ * URL of directory containing relevant `package.json` file.
36
+ */
37
+ dir: ModuleId
38
+
39
+ /**
40
+ * Package [`imports`][1] hint.
41
+ *
42
+ * [1]: https://nodejs.org/api/packages.html#imports
43
+ *
44
+ * @default false
45
+ */
46
+ internal?: boolean | undefined
47
+
48
+ /**
49
+ * URL of module to resolve from.
50
+ *
51
+ * **Note**: Used for error reporting only.
52
+ */
53
+ parent: ModuleId
54
+ }
55
+
56
+ export type { FindSubpathOptions as default }
@@ -0,0 +1,92 @@
1
+ /**
2
+ * @file Interfaces - GetFormatOptions
3
+ * @module mlly/interfaces/GetFormatOptions
4
+ */
5
+
6
+ import type { Format } from '#src/enums'
7
+ import type { ModuleId } from '#src/types'
8
+ import type { Ext } from '@flex-development/pathe'
9
+ import type { EmptyString } from '@flex-development/tutils'
10
+ import type { RequestInit } from 'node-fetch'
11
+
12
+ /**
13
+ * Module format retrieval options.
14
+ *
15
+ * @see {@linkcode Ext}
16
+ * @see {@linkcode Format}
17
+ * @see {@linkcode ModuleId}
18
+ * @see {@linkcode RequestInit}
19
+ */
20
+ interface GetFormatOptions {
21
+ /**
22
+ * Base URL to resolve module id against if module id is not absolute.
23
+ *
24
+ * @see {@linkcode ModuleId}
25
+ *
26
+ * @default undefined
27
+ */
28
+ base?: ModuleId | undefined
29
+
30
+ /**
31
+ * Enable support for JSON modules.
32
+ *
33
+ * @see https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_json_modules
34
+ *
35
+ * @default true
36
+ */
37
+ experimental_json_modules?: boolean | undefined
38
+
39
+ /**
40
+ * Enable support for network based modules.
41
+ *
42
+ * **Note**: Requires [`node-fetch`][1].
43
+ *
44
+ * [1]: https://github.com/node-fetch/node-fetch
45
+ *
46
+ * @see https://nodejs.org/docs/latest-v16.x/api/esm.html#https-and-http-imports
47
+ *
48
+ * @default false
49
+ */
50
+ experimental_network_imports?: boolean | undefined
51
+
52
+ /**
53
+ * Enable support for WebAssembly modules.
54
+ *
55
+ * @see https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_wasm_modules
56
+ *
57
+ * @default false
58
+ */
59
+ experimental_wasm_modules?: boolean | undefined
60
+
61
+ /**
62
+ * Map file extensions to module formats.
63
+ *
64
+ * @default EXTENSION_FORMAT_MAP
65
+ */
66
+ extension_format_map?: Map<EmptyString | Ext, Format> | undefined
67
+
68
+ /**
69
+ * Return `undefined` when module format is not found, rather than `null`.
70
+ *
71
+ * An explicit `undefined` return value indicates [`load`][1] hooks should
72
+ * re-run module format checks.
73
+ *
74
+ * [1]: https://nodejs.org/docs/latest-v16.x/api/esm.html#loadurl-context-nextload
75
+ *
76
+ * @default false
77
+ */
78
+ ignore_errors?: boolean | undefined
79
+
80
+ /**
81
+ * Request options for network based modules.
82
+ *
83
+ * Only applicable if {@linkcode experimental_network_imports} is enabled.
84
+ *
85
+ * @see {@linkcode RequestInit}
86
+ *
87
+ * @default undefined
88
+ */
89
+ req?: RequestInit | undefined
90
+ }
91
+
92
+ export type { GetFormatOptions as default }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * @file Interfaces - GetSourceOptions
3
+ * @module mlly/interfaces/GetSourceOptions
4
+ */
5
+
6
+ import type { Format } from '#src/enums'
7
+ import type { ModuleId } from '#src/types'
8
+ import type { RequestInit } from 'node-fetch'
9
+
10
+ /**
11
+ * Source code retrieval options.
12
+ *
13
+ * @see {@linkcode Format}
14
+ * @see {@linkcode ModuleId}
15
+ * @see {@linkcode RequestInit}
16
+ */
17
+ interface GetSourceOptions {
18
+ /**
19
+ * Base URL to resolve module id against if module id is not absolute.
20
+ *
21
+ * @see {@linkcode ModuleId}
22
+ *
23
+ * @default undefined
24
+ */
25
+ base?: ModuleId | undefined
26
+
27
+ /**
28
+ * Enable support for network based modules.
29
+ *
30
+ * **Note**: Requires [`node-fetch`][1].
31
+ *
32
+ * [1]: https://github.com/node-fetch/node-fetch
33
+ *
34
+ * @see https://nodejs.org/docs/latest-v16.x/api/esm.html#https-and-http-imports
35
+ *
36
+ * @default false
37
+ */
38
+ experimental_network_imports?: boolean | undefined
39
+
40
+ /**
41
+ * Module format hint.
42
+ *
43
+ * @see {@linkcode Format}
44
+ *
45
+ * @default undefined
46
+ */
47
+ format?: Format | Lowercase<keyof typeof Format> | undefined
48
+
49
+ /**
50
+ * Ignore [`ERR_UNSUPPORTED_ESM_URL_SCHEME`][1] if thrown.
51
+ *
52
+ * [1]: https://nodejs.org/api/errors.html#err_unsupported_esm_url_scheme
53
+ *
54
+ * @default false
55
+ */
56
+ ignore_errors?: boolean | undefined
57
+
58
+ /**
59
+ * Request options for network based modules.
60
+ *
61
+ * Only applicable if {@linkcode experimental_network_imports} is enabled.
62
+ *
63
+ * @see {@linkcode RequestInit}
64
+ *
65
+ * @default undefined
66
+ */
67
+ req?: RequestInit | undefined
68
+ }
69
+
70
+ export type { GetSourceOptions as default }
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @file Interfaces - ParseModuleIdOptions
3
+ * @module mlly/interfaces/ParseModuleIdOptions
4
+ */
5
+
6
+ import type { ModuleId } from '#src/types'
7
+
8
+ /**
9
+ * Module id parsing options.
10
+ *
11
+ * @see {@linkcode ModuleId}
12
+ */
13
+ interface ParseModuleIdOptions {
14
+ /**
15
+ * Ensure module id is a valid internal specifier, syntactically.
16
+ *
17
+ * @see https://nodejs.org/api/packages.html#subpath-imports
18
+ *
19
+ * @default id instanceof URL ? false : id.startsWith('#')
20
+ */
21
+ internal?: boolean | undefined
22
+
23
+ /**
24
+ * URL of module to resolve from.
25
+ *
26
+ * **Note**: Used for error reporting only.
27
+ *
28
+ * @default undefined
29
+ */
30
+ parent?: ModuleId | undefined
31
+
32
+ /**
33
+ * Ensure module id begins with a valid package name.
34
+ */
35
+ pkgname?: boolean | undefined
36
+ }
37
+
38
+ export type { ParseModuleIdOptions as default }
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @file Interfaces - ParseSubpathOptions
3
+ * @module mlly/interfaces/ParseSubpathOptions
4
+ */
5
+
6
+ import type { ModuleId } from '#src/types'
7
+
8
+ /**
9
+ * Subpath parsing options.
10
+ *
11
+ * @see {@linkcode ModuleId}
12
+ */
13
+ interface ParseSubpathOptions {
14
+ /**
15
+ * URL of directory containing relevant `package.json` file.
16
+ */
17
+ dir: ModuleId
18
+
19
+ /**
20
+ * Package [`imports`][1] hint.
21
+ *
22
+ * [1]: https://nodejs.org/api/packages.html#imports
23
+ *
24
+ * @default specifier.startsWith('#')
25
+ */
26
+ internal?: boolean | undefined
27
+
28
+ /**
29
+ * URL of module to resolve from.
30
+ *
31
+ * **Note**: Used for error reporting only.
32
+ */
33
+ parent: ModuleId
34
+ }
35
+
36
+ export type { ParseSubpathOptions as default }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @file Interfaces - ResolveAliasOptions
3
+ * @module mlly/interfaces/ResolveAliasOptions
4
+ */
5
+
6
+ import type { ModuleId } from '#src/types'
7
+ import type { MapLike, OneOrMany } from '@flex-development/tutils'
8
+ import type ResolveModuleOptions from './options-resolve-module'
9
+
10
+ /**
11
+ * Path alias resolution options.
12
+ *
13
+ * @see {@linkcode ModuleId}
14
+ *
15
+ * @extends {ResolveModuleOptions}
16
+ */
17
+ interface ResolveAliasOptions extends ResolveModuleOptions {
18
+ /**
19
+ * Return resolved module URL as absolute specifier (a [`file:` URL][1]).
20
+ *
21
+ * If `false`, return resolved module URL as bare or relative specifier.
22
+ *
23
+ * [1]: https://nodejs.org/api/esm.html#file-urls
24
+ *
25
+ * @see https://nodejs.org/api/esm.html#terminology
26
+ *
27
+ * @default true
28
+ */
29
+ absolute?: boolean | undefined
30
+
31
+ /**
32
+ * Path mappings.
33
+ *
34
+ * **Note**: Paths should be relative to {@linkcode cwd}.
35
+ *
36
+ * @default {}
37
+ */
38
+ aliases?: MapLike<OneOrMany<string>> | undefined
39
+
40
+ /**
41
+ * Directory to resolve non-absolute modules from.
42
+ *
43
+ * @default pathToFileURL('.')
44
+ */
45
+ cwd?: ModuleId | undefined
46
+
47
+ /**
48
+ * Id of module to resolve from.
49
+ *
50
+ * **Note**: Should be an absolute path or [`file:` URL][1].
51
+ *
52
+ * [1]: https://nodejs.org/api/esm.html#file-urls
53
+ *
54
+ * @default import.meta.url
55
+ */
56
+ parent?: ModuleId | undefined
57
+ }
58
+
59
+ export type { ResolveAliasOptions as default }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @file Interfaces - ResolveModuleOptions
3
+ * @module mlly/interfaces/ResolveModuleOptions
4
+ */
5
+
6
+ import type { ChangeExtFn, ModuleId } from '#src/types'
7
+ import type { Nilable } from '@flex-development/tutils'
8
+
9
+ /**
10
+ * Module resolution options.
11
+ *
12
+ * @see {@linkcode ChangeExtFn}
13
+ * @see {@linkcode ModuleId}
14
+ */
15
+ interface ResolveModuleOptions {
16
+ /**
17
+ * Export condition to apply.
18
+ *
19
+ * @see https://nodejs.org/api/packages.html#conditional-exports
20
+ *
21
+ * @default 'default'
22
+ */
23
+ condition?: string | undefined
24
+
25
+ /**
26
+ * Export conditions.
27
+ *
28
+ * **Note**: Should be sorted by priority.
29
+ *
30
+ * @see https://nodejs.org/api/packages.html#conditional-exports
31
+ *
32
+ * @default CONDITIONS
33
+ */
34
+ conditions?: Set<string> | string[] | undefined
35
+
36
+ /**
37
+ * Replacement file extension or function that returns a file extension.
38
+ *
39
+ * An empty string (`''`) will remove a file extension; `null` or `undefined`
40
+ * will skip extension replacement.
41
+ *
42
+ * @default undefined
43
+ */
44
+ ext?: ChangeExtFn | Nilable<string>
45
+
46
+ /**
47
+ * Module extensions to probe for.
48
+ *
49
+ * **Note**: Should be sorted by priority.
50
+ *
51
+ * @default RESOLVE_EXTENSIONS
52
+ */
53
+ extensions?: Set<string> | string[] | undefined
54
+
55
+ /**
56
+ * URL of module to resolve from.
57
+ *
58
+ * @see {@linkcode ModuleId}
59
+ *
60
+ * @default import.meta.url
61
+ */
62
+ parent?: ModuleId | undefined
63
+
64
+ /**
65
+ * Keep symlinks instead of resolving them.
66
+ *
67
+ * @default false
68
+ */
69
+ preserveSymlinks?: boolean | undefined
70
+ }
71
+
72
+ export type { ResolveModuleOptions as default }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @file Interfaces - ResolveOptions
3
+ * @module mlly/interfaces/ResolveOptions
4
+ */
5
+
6
+ import type ResolveModuleOptions from './options-resolve-module'
7
+
8
+ /**
9
+ * Resolution options.
10
+ *
11
+ * @see {@linkcode ResolveModuleOptions}
12
+ *
13
+ * @extends {ResolveModuleOptions}
14
+ */
15
+ interface ResolveOptions extends ResolveModuleOptions {}
16
+
17
+ export type { ResolveOptions as default }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @file Interfaces - PackageScope
3
+ * @module mlly/interfaces/PackageScope
4
+ */
5
+
6
+ import type { PackageJson } from '@flex-development/pkg-types'
7
+
8
+ /**
9
+ * Object representing a package scope.
10
+ *
11
+ * @see {@linkcode PackageJson}
12
+ */
13
+ interface PackageScope {
14
+ /**
15
+ * URL of directory containing `package.json` file.
16
+ */
17
+ dir: string
18
+
19
+ /**
20
+ * URL of `package.json` file.
21
+ */
22
+ pkg: string
23
+
24
+ /**
25
+ * `package.json` object.
26
+ */
27
+ pkgjson: PackageJson
28
+ }
29
+
30
+ export type { PackageScope as default }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @file Interfaces - ParsedDataUrl
3
+ * @module mlly/interfaces/ParsedDataUrl
4
+ */
5
+
6
+ import type { MimeType, Protocol } from '#src/types'
7
+ import type { EmptyString, LiteralUnion } from '@flex-development/tutils'
8
+ import type { URL } from 'node:url'
9
+
10
+ /**
11
+ * Object representing a [`data:` URL][1].
12
+ *
13
+ * [1]: https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
14
+ *
15
+ * @see {@linkcode Protocol}
16
+ * @see {@linkcode MimeType}
17
+ * @see https://nodejs.org/api/esm.html#data-imports
18
+ */
19
+ interface ParsedDataUrl {
20
+ /**
21
+ * [base64][1] encoding check.
22
+ *
23
+ * [1]: https://developer.mozilla.org/docs/Glossary/Base64
24
+ */
25
+ base64: boolean
26
+
27
+ /**
28
+ * Data portion of URL.
29
+ *
30
+ * If {@linkcode base64} is `true`, `data` is base64-encoded.
31
+ */
32
+ data: LiteralUnion<EmptyString, string>
33
+
34
+ /**
35
+ * Serialized `data:` URL.
36
+ *
37
+ * @see https://nodejs.org/api/url.html#urlhref
38
+ */
39
+ href: URL['href']
40
+
41
+ /**
42
+ * MIME type.
43
+ *
44
+ * @see https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/MIME_types
45
+ */
46
+ mime: LiteralUnion<MimeType, string>
47
+
48
+ /**
49
+ * Path portion of URL.
50
+ *
51
+ * @see https://nodejs.org/api/url.html#urlpathname
52
+ */
53
+ pathname: URL['pathname']
54
+
55
+ /**
56
+ * Protocol portion of URL.
57
+ *
58
+ * @see https://nodejs.org/api/url.html#urlprotocol
59
+ */
60
+ protocol: Extract<Protocol, 'data:'>
61
+ }
62
+
63
+ export type { ParsedDataUrl as default }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @file Interfaces - ParsedModuleId
3
+ * @module mlly/interfaces/ParsedModuleId
4
+ */
5
+
6
+ import type { Protocol } from '#src/types'
7
+ import type { SemanticVersion } from '@flex-development/pkg-types'
8
+ import type { EmptyString, LiteralUnion } from '@flex-development/tutils'
9
+
10
+ /**
11
+ * Object representing a ECMAScript module id.
12
+ *
13
+ * @see {@linkcode Protocol}
14
+ * @see {@linkcode SemanticVersion}
15
+ */
16
+ interface ParsedModuleId {
17
+ /**
18
+ * Subpath import (internal specifier) check.
19
+ *
20
+ * @see https://nodejs.org/api/packages.html#imports
21
+ * @see https://nodejs.org/api/packages.html#subpath-imports
22
+ */
23
+ internal: boolean
24
+
25
+ /**
26
+ * One of the following:
27
+ *
28
+ * - Possible [subpath export][1] (includes leading `'.'`)
29
+ * - Possible [subpath import][2]
30
+ * - URL [`host`][3], [`pathname`][4], and [`port`][5]
31
+ * - Raw module id ({@linkcode raw})
32
+ *
33
+ * [1]: https://nodejs.org/api/packages.html#subpath-exports
34
+ * [2]: https://nodejs.org/api/packages.html#subpath-imports
35
+ * [3]: https://nodejs.org/api/url.html#urlhost
36
+ * [4]: https://nodejs.org/api/url.html#urlpathname
37
+ * [5]: https://nodejs.org/api/url.html#urlport
38
+ */
39
+ path: string
40
+
41
+ /**
42
+ * Package name if module id begins with valid package name (e.g. is a [bare
43
+ * specifier][1]).
44
+ *
45
+ * If the module id is a bare specifier *and* [internal][2], this value will
46
+ * instead be the first path segement in the module id (i.e. `'#src'` given
47
+ * `'#src/foo'`). This **may or may not** be the subpath defined by the
48
+ * package maintainer.
49
+ *
50
+ * [1]: https://nodejs.org/api/esm.html#terminology
51
+ * [2]: https://nodejs.org/api/packages.html#subpath-imports
52
+ */
53
+ pkg: LiteralUnion<EmptyString, string>
54
+
55
+ /**
56
+ * URL scheme if module id is a URL.
57
+ */
58
+ protocol: LiteralUnion<EmptyString | Protocol, string>
59
+
60
+ /**
61
+ * Raw module id.
62
+ */
63
+ raw: string
64
+
65
+ /**
66
+ * Package scope if module id begins with valid package name (e.g. is a [bare
67
+ * specifier][1]).
68
+ *
69
+ * [1]: https://nodejs.org/api/esm.html#terminology
70
+ */
71
+ scope: LiteralUnion<EmptyString, string>
72
+
73
+ /**
74
+ * Package version if specified and module id begins with valid package name
75
+ * (e.g. is a [bare specifier][1]).
76
+ *
77
+ * **Note**: Version follows [Semantic Versioning 2.0.0][2] specification.
78
+ *
79
+ * [1]: https://nodejs.org/api/esm.html#terminology
80
+ * [2]: https://semver.org/spec/v2.0.0.html
81
+ */
82
+ version: LiteralUnion<EmptyString | SemanticVersion, string>
83
+
84
+ /**
85
+ * Package {@linkcode version} prefix.
86
+ */
87
+ version_prefix: LiteralUnion<EmptyString | 'v', string>
88
+ }
89
+
90
+ export type { ParsedModuleId as default }
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @file Interfaces - ParsedSubpath
3
+ * @module mlly/interfaces/ParsedSubpath
4
+ */
5
+
6
+ import type { EmptyString, LiteralUnion } from '@flex-development/tutils'
7
+
8
+ /**
9
+ * Object representing a package subpath.
10
+ *
11
+ * @see https://nodejs.org/api/packages.html#subpath-exports
12
+ * @see https://nodejs.org/api/packages.html#subpath-imports
13
+ */
14
+ interface ParsedSubpath {
15
+ /**
16
+ * Subpath without entry prefix ({@linkcode key}).
17
+ */
18
+ base: LiteralUnion<EmptyString, string>
19
+
20
+ /**
21
+ * Subpath import check.
22
+ *
23
+ * @see https://nodejs.org/api/packages.html#imports
24
+ * @see https://nodejs.org/api/packages.html#subpath-imports
25
+ */
26
+ internal: boolean
27
+
28
+ /**
29
+ * Subpath defined in `package.json` file.
30
+ *
31
+ * @see https://nodejs.org/api/packages.html#exports
32
+ * @see https://nodejs.org/api/packages.html#imports
33
+ */
34
+ key: string
35
+
36
+ /**
37
+ * Subpath passed by user in module specifier.
38
+ */
39
+ raw: string
40
+
41
+ /**
42
+ * Module specifier passed by user.
43
+ */
44
+ specifier: string
45
+ }
46
+
47
+ export type { ParsedSubpath as default }