@flex-development/mlly 1.0.0-alpha.9 → 1.0.0-beta.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 (332) hide show
  1. package/CHANGELOG.md +1120 -376
  2. package/README.md +1555 -12
  3. package/dist/index.d.mts +3 -4
  4. package/dist/index.mjs +5 -5
  5. package/dist/interfaces/aliases.d.mts +21 -0
  6. package/dist/interfaces/condition-map.d.mts +24 -0
  7. package/dist/interfaces/file-system.d.mts +29 -0
  8. package/dist/interfaces/get-source-context.d.mts +44 -0
  9. package/dist/interfaces/get-source-options.d.mts +48 -0
  10. package/dist/interfaces/index.d.mts +18 -21
  11. package/dist/interfaces/is-directory.d.mts +17 -0
  12. package/dist/interfaces/is-file.d.mts +17 -0
  13. package/dist/interfaces/main-field-map.d.mts +22 -0
  14. package/dist/interfaces/module-format-map.d.mts +26 -0
  15. package/dist/interfaces/pattern-key-comparison-map.d.mts +31 -0
  16. package/dist/interfaces/protocol-map.d.mts +44 -0
  17. package/dist/interfaces/read-file.d.mts +28 -0
  18. package/dist/interfaces/realpath.d.mts +30 -0
  19. package/dist/interfaces/resolve-alias-options.d.mts +43 -0
  20. package/dist/interfaces/resolve-module-options.d.mts +79 -0
  21. package/dist/interfaces/stat.d.mts +28 -0
  22. package/dist/interfaces/stats.d.mts +23 -0
  23. package/dist/internal/chain-or-call.mjs +34 -0
  24. package/dist/internal/chars.mjs +17 -0
  25. package/dist/internal/check-invalid-segments.mjs +49 -0
  26. package/dist/internal/constant.mjs +23 -0
  27. package/dist/internal/fs.browser.mjs +42 -0
  28. package/dist/internal/fs.node.mjs +16 -0
  29. package/dist/internal/identity.mjs +23 -0
  30. package/dist/internal/invalid-package-target.mjs +36 -0
  31. package/dist/internal/invalid-subpath.mjs +37 -0
  32. package/dist/internal/is-promise.mjs +26 -0
  33. package/dist/internal/process.browser.mjs +8 -0
  34. package/dist/lib/can-parse-url.d.mts +23 -0
  35. package/dist/lib/can-parse-url.mjs +31 -0
  36. package/dist/lib/cwd.d.mts +14 -0
  37. package/dist/lib/cwd.mjs +17 -0
  38. package/dist/lib/default-conditions.d.mts +15 -0
  39. package/dist/lib/default-conditions.mjs +14 -0
  40. package/dist/lib/default-extensions.d.mts +14 -0
  41. package/dist/lib/default-extensions.mjs +29 -0
  42. package/dist/lib/default-main-fields.d.mts +14 -0
  43. package/dist/lib/default-main-fields.mjs +13 -0
  44. package/dist/lib/extension-format-map.d.mts +16 -0
  45. package/dist/lib/extension-format-map.mjs +31 -0
  46. package/dist/lib/formats.d.mts +21 -0
  47. package/dist/lib/formats.mjs +22 -0
  48. package/dist/lib/get-source.d.mts +46 -0
  49. package/dist/lib/get-source.mjs +156 -0
  50. package/dist/lib/index.d.mts +41 -0
  51. package/dist/lib/index.mjs +41 -0
  52. package/dist/lib/is-absolute-specifier.d.mts +23 -0
  53. package/dist/lib/is-absolute-specifier.mjs +34 -0
  54. package/dist/lib/is-array-index.d.mts +19 -0
  55. package/dist/lib/is-array-index.mjs +28 -0
  56. package/dist/lib/is-bare-specifier.d.mts +23 -0
  57. package/dist/lib/is-bare-specifier.mjs +33 -0
  58. package/dist/lib/is-directory.d.mts +27 -0
  59. package/dist/lib/is-directory.mjs +54 -0
  60. package/dist/lib/is-file.d.mts +27 -0
  61. package/dist/lib/is-file.mjs +54 -0
  62. package/dist/lib/is-imports-subpath.d.mts +26 -0
  63. package/dist/lib/is-imports-subpath.mjs +28 -0
  64. package/dist/lib/is-module-id.d.mts +23 -0
  65. package/dist/lib/is-module-id.mjs +24 -0
  66. package/dist/lib/is-relative-specifier.d.mts +23 -0
  67. package/dist/lib/is-relative-specifier.mjs +36 -0
  68. package/dist/lib/lookup-package-scope.d.mts +49 -0
  69. package/dist/lib/lookup-package-scope.mjs +102 -0
  70. package/dist/lib/pattern-key-compare.d.mts +28 -0
  71. package/dist/lib/pattern-key-compare.mjs +71 -0
  72. package/dist/lib/pattern-match.d.mts +22 -0
  73. package/dist/lib/pattern-match.mjs +85 -0
  74. package/dist/lib/read-package-json.d.mts +63 -0
  75. package/dist/lib/read-package-json.mjs +115 -0
  76. package/dist/lib/resolve-alias.d.mts +21 -0
  77. package/dist/lib/resolve-alias.mjs +102 -0
  78. package/dist/lib/resolve-module.d.mts +43 -0
  79. package/dist/lib/resolve-module.mjs +186 -0
  80. package/dist/lib/resolver.d.mts +346 -0
  81. package/dist/lib/resolver.mjs +1015 -0
  82. package/dist/lib/root.d.mts +11 -0
  83. package/dist/lib/root.mjs +12 -0
  84. package/dist/lib/to-relative-specifier.d.mts +27 -0
  85. package/dist/lib/to-relative-specifier.mjs +63 -0
  86. package/dist/lib/to-url.d.mts +26 -0
  87. package/dist/lib/to-url.mjs +34 -0
  88. package/dist/types/awaitable.d.mts +12 -0
  89. package/dist/types/change-ext-fn.d.mts +29 -0
  90. package/dist/types/condition.d.mts +13 -0
  91. package/dist/types/dot.d.mts +9 -0
  92. package/dist/types/empty-array.d.mts +9 -0
  93. package/dist/types/empty-object.d.mts +19 -0
  94. package/dist/types/empty-string.d.mts +9 -0
  95. package/dist/types/ext.d.mts +12 -0
  96. package/dist/types/get-source-handler.d.mts +22 -0
  97. package/dist/types/get-source-handlers.d.mts +15 -0
  98. package/dist/types/index.d.mts +19 -10
  99. package/dist/types/list.d.mts +12 -0
  100. package/dist/types/main-field.d.mts +13 -0
  101. package/dist/types/module-format.d.mts +13 -0
  102. package/dist/types/module-id.d.mts +3 -4
  103. package/dist/types/numeric.d.mts +9 -0
  104. package/dist/types/pattern-key-comparison.d.mts +14 -0
  105. package/dist/types/pattern-match.d.mts +10 -0
  106. package/dist/types/protocol.d.mts +6 -7
  107. package/package.json +151 -158
  108. package/changelog.config.ts +0 -404
  109. package/dist/enums/assert-type.d.mts +0 -21
  110. package/dist/enums/assert-type.mjs +0 -10
  111. package/dist/enums/assert-type.mjs.map +0 -6
  112. package/dist/enums/format.d.mts +0 -17
  113. package/dist/enums/format.mjs +0 -13
  114. package/dist/enums/format.mjs.map +0 -6
  115. package/dist/enums/index.d.mts +0 -10
  116. package/dist/enums/index.mjs +0 -15
  117. package/dist/enums/index.mjs.map +0 -6
  118. package/dist/enums/kind-specifier-syntax.d.mts +0 -14
  119. package/dist/enums/kind-specifier-syntax.mjs +0 -10
  120. package/dist/enums/kind-specifier-syntax.mjs.map +0 -6
  121. package/dist/enums/kind-specifier.d.mts +0 -17
  122. package/dist/enums/kind-specifier.mjs +0 -11
  123. package/dist/enums/kind-specifier.mjs.map +0 -6
  124. package/dist/enums/kind-statement-syntax.d.mts +0 -22
  125. package/dist/enums/kind-statement-syntax.mjs +0 -18
  126. package/dist/enums/kind-statement-syntax.mjs.map +0 -6
  127. package/dist/enums/kind-statement.d.mts +0 -15
  128. package/dist/enums/kind-statement.mjs +0 -11
  129. package/dist/enums/kind-statement.mjs.map +0 -6
  130. package/dist/index.mjs.map +0 -6
  131. package/dist/interfaces/import-assertions.d.mts +0 -20
  132. package/dist/interfaces/import-dynamic.d.mts +0 -43
  133. package/dist/interfaces/import-static.d.mts +0 -37
  134. package/dist/interfaces/index.mjs +0 -1
  135. package/dist/interfaces/index.mjs.map +0 -6
  136. package/dist/interfaces/options-fill-module.d.mts +0 -23
  137. package/dist/interfaces/options-find-subpath.d.mts +0 -49
  138. package/dist/interfaces/options-get-format.d.mts +0 -83
  139. package/dist/interfaces/options-get-source.d.mts +0 -63
  140. package/dist/interfaces/options-parse-module-id.d.mts +0 -33
  141. package/dist/interfaces/options-parse-subpath.d.mts +0 -31
  142. package/dist/interfaces/options-resolve-alias.d.mts +0 -53
  143. package/dist/interfaces/options-resolve-module.d.mts +0 -64
  144. package/dist/interfaces/options-resolve.d.mts +0 -15
  145. package/dist/interfaces/package-scope.d.mts +0 -25
  146. package/dist/interfaces/parsed-data-url.d.mts +0 -56
  147. package/dist/interfaces/parsed-module-id.d.mts +0 -80
  148. package/dist/interfaces/parsed-subpath.d.mts +0 -40
  149. package/dist/interfaces/statement-export.d.mts +0 -44
  150. package/dist/interfaces/statement-import.d.mts +0 -38
  151. package/dist/interfaces/statement-require.d.mts +0 -38
  152. package/dist/interfaces/statement.d.mts +0 -49
  153. package/dist/internal/escape-reg-exp.d.mts +0 -16
  154. package/dist/internal/escape-reg-exp.mjs +0 -10
  155. package/dist/internal/escape-reg-exp.mjs.map +0 -6
  156. package/dist/internal/format-type-map.d.mts +0 -17
  157. package/dist/internal/format-type-map.mjs +0 -13
  158. package/dist/internal/format-type-map.mjs.map +0 -6
  159. package/dist/internal/get-specifier-kind.d.mts +0 -17
  160. package/dist/internal/get-specifier-kind.mjs +0 -14
  161. package/dist/internal/get-specifier-kind.mjs.map +0 -6
  162. package/dist/internal/get-subpaths.d.mts +0 -25
  163. package/dist/internal/get-subpaths.mjs +0 -10
  164. package/dist/internal/get-subpaths.mjs.map +0 -6
  165. package/dist/internal/is-array-index.d.mts +0 -15
  166. package/dist/internal/is-array-index.mjs +0 -9
  167. package/dist/internal/is-array-index.mjs.map +0 -6
  168. package/dist/internal/is-directory.d.mts +0 -13
  169. package/dist/internal/is-directory.mjs +0 -16
  170. package/dist/internal/is-directory.mjs.map +0 -6
  171. package/dist/internal/is-file.d.mts +0 -13
  172. package/dist/internal/is-file.mjs +0 -16
  173. package/dist/internal/is-file.mjs.map +0 -6
  174. package/dist/internal/is-function.d.mts +0 -12
  175. package/dist/internal/is-function.mjs +0 -8
  176. package/dist/internal/is-function.mjs.map +0 -6
  177. package/dist/internal/regex-encoded-sep.d.mts +0 -13
  178. package/dist/internal/regex-encoded-sep.mjs +0 -6
  179. package/dist/internal/regex-encoded-sep.mjs.map +0 -6
  180. package/dist/internal/regex-internal-specifier.d.mts +0 -14
  181. package/dist/internal/regex-internal-specifier.mjs +0 -6
  182. package/dist/internal/regex-internal-specifier.mjs.map +0 -6
  183. package/dist/internal/regex-package-name.d.mts +0 -13
  184. package/dist/internal/regex-package-name.mjs +0 -6
  185. package/dist/internal/regex-package-name.mjs.map +0 -6
  186. package/dist/internal/regex-package-path.d.mts +0 -15
  187. package/dist/internal/regex-package-path.mjs +0 -6
  188. package/dist/internal/regex-package-path.mjs.map +0 -6
  189. package/dist/internal/resolver.d.mts +0 -130
  190. package/dist/internal/resolver.mjs +0 -500
  191. package/dist/internal/resolver.mjs.map +0 -6
  192. package/dist/internal/validate-boolean.d.mts +0 -20
  193. package/dist/internal/validate-boolean.mjs +0 -11
  194. package/dist/internal/validate-boolean.mjs.map +0 -6
  195. package/dist/internal/validate-object.d.mts +0 -23
  196. package/dist/internal/validate-object.mjs +0 -11
  197. package/dist/internal/validate-object.mjs.map +0 -6
  198. package/dist/internal/validate-set.d.mts +0 -23
  199. package/dist/internal/validate-set.mjs +0 -11
  200. package/dist/internal/validate-set.mjs.map +0 -6
  201. package/dist/internal/validate-string.d.mts +0 -20
  202. package/dist/internal/validate-string.mjs +0 -11
  203. package/dist/internal/validate-string.mjs.map +0 -6
  204. package/dist/internal/validate-url-string.d.mts +0 -22
  205. package/dist/internal/validate-url-string.mjs +0 -12
  206. package/dist/internal/validate-url-string.mjs.map +0 -6
  207. package/dist/types/declaration.d.mts +0 -9
  208. package/dist/types/fn-change-ext.d.mts +0 -28
  209. package/dist/types/index.mjs +0 -1
  210. package/dist/types/index.mjs.map +0 -6
  211. package/dist/types/mime-type.d.mts +0 -13
  212. package/dist/types/module-specifier-type.d.mts +0 -11
  213. package/dist/types/syntax-kind-export.d.mts +0 -12
  214. package/dist/types/syntax-kind-import.d.mts +0 -12
  215. package/dist/types/syntax-kind-require.d.mts +0 -12
  216. package/dist/utils/compare-subpaths.d.mts +0 -25
  217. package/dist/utils/compare-subpaths.mjs +0 -24
  218. package/dist/utils/compare-subpaths.mjs.map +0 -6
  219. package/dist/utils/conditions.d.mts +0 -13
  220. package/dist/utils/conditions.mjs +0 -6
  221. package/dist/utils/conditions.mjs.map +0 -6
  222. package/dist/utils/detect-syntax.d.mts +0 -21
  223. package/dist/utils/detect-syntax.mjs +0 -12
  224. package/dist/utils/detect-syntax.mjs.map +0 -6
  225. package/dist/utils/extension-format-map.d.mts +0 -16
  226. package/dist/utils/extension-format-map.mjs +0 -22
  227. package/dist/utils/extension-format-map.mjs.map +0 -6
  228. package/dist/utils/extract-statements.d.mts +0 -21
  229. package/dist/utils/extract-statements.mjs +0 -21
  230. package/dist/utils/extract-statements.mjs.map +0 -6
  231. package/dist/utils/fill-modules.d.mts +0 -23
  232. package/dist/utils/fill-modules.mjs +0 -62
  233. package/dist/utils/fill-modules.mjs.map +0 -6
  234. package/dist/utils/find-dynamic-imports.d.mts +0 -18
  235. package/dist/utils/find-dynamic-imports.mjs +0 -39
  236. package/dist/utils/find-dynamic-imports.mjs.map +0 -6
  237. package/dist/utils/find-exports.d.mts +0 -21
  238. package/dist/utils/find-exports.mjs +0 -95
  239. package/dist/utils/find-exports.mjs.map +0 -6
  240. package/dist/utils/find-requires.d.mts +0 -18
  241. package/dist/utils/find-requires.mjs +0 -32
  242. package/dist/utils/find-requires.mjs.map +0 -6
  243. package/dist/utils/find-static-imports.d.mts +0 -18
  244. package/dist/utils/find-static-imports.mjs +0 -34
  245. package/dist/utils/find-static-imports.mjs.map +0 -6
  246. package/dist/utils/find-subpath.d.mts +0 -30
  247. package/dist/utils/find-subpath.mjs +0 -106
  248. package/dist/utils/find-subpath.mjs.map +0 -6
  249. package/dist/utils/get-format.d.mts +0 -24
  250. package/dist/utils/get-format.mjs +0 -111
  251. package/dist/utils/get-format.mjs.map +0 -6
  252. package/dist/utils/get-source.d.mts +0 -22
  253. package/dist/utils/get-source.mjs +0 -63
  254. package/dist/utils/get-source.mjs.map +0 -6
  255. package/dist/utils/has-cjs-syntax.d.mts +0 -25
  256. package/dist/utils/has-cjs-syntax.mjs +0 -11
  257. package/dist/utils/has-cjs-syntax.mjs.map +0 -6
  258. package/dist/utils/has-esm-syntax.d.mts +0 -21
  259. package/dist/utils/has-esm-syntax.mjs +0 -11
  260. package/dist/utils/has-esm-syntax.mjs.map +0 -6
  261. package/dist/utils/index.d.mts +0 -42
  262. package/dist/utils/index.mjs +0 -79
  263. package/dist/utils/index.mjs.map +0 -6
  264. package/dist/utils/is-absolute-specifier.d.mts +0 -19
  265. package/dist/utils/is-absolute-specifier.mjs +0 -25
  266. package/dist/utils/is-absolute-specifier.mjs.map +0 -6
  267. package/dist/utils/is-bare-specifier.d.mts +0 -19
  268. package/dist/utils/is-bare-specifier.mjs +0 -10
  269. package/dist/utils/is-bare-specifier.mjs.map +0 -6
  270. package/dist/utils/is-exports-sugar.d.mts +0 -25
  271. package/dist/utils/is-exports-sugar.mjs +0 -26
  272. package/dist/utils/is-exports-sugar.mjs.map +0 -6
  273. package/dist/utils/is-relative-specifier.d.mts +0 -20
  274. package/dist/utils/is-relative-specifier.mjs +0 -11
  275. package/dist/utils/is-relative-specifier.mjs.map +0 -6
  276. package/dist/utils/lookup-package-scope.d.mts +0 -26
  277. package/dist/utils/lookup-package-scope.mjs +0 -38
  278. package/dist/utils/lookup-package-scope.mjs.map +0 -6
  279. package/dist/utils/parse-data-url.d.mts +0 -25
  280. package/dist/utils/parse-data-url.mjs +0 -25
  281. package/dist/utils/parse-data-url.mjs.map +0 -6
  282. package/dist/utils/parse-module-id.d.mts +0 -22
  283. package/dist/utils/parse-module-id.mjs +0 -122
  284. package/dist/utils/parse-module-id.mjs.map +0 -6
  285. package/dist/utils/parse-subpath.d.mts +0 -35
  286. package/dist/utils/parse-subpath.mjs +0 -54
  287. package/dist/utils/parse-subpath.mjs.map +0 -6
  288. package/dist/utils/pattern-character.d.mts +0 -11
  289. package/dist/utils/pattern-character.mjs +0 -6
  290. package/dist/utils/pattern-character.mjs.map +0 -6
  291. package/dist/utils/read-package-json.d.mts +0 -26
  292. package/dist/utils/read-package-json.mjs +0 -43
  293. package/dist/utils/read-package-json.mjs.map +0 -6
  294. package/dist/utils/resolve-alias.d.mts +0 -20
  295. package/dist/utils/resolve-alias.mjs +0 -106
  296. package/dist/utils/resolve-alias.mjs.map +0 -6
  297. package/dist/utils/resolve-aliases.d.mts +0 -19
  298. package/dist/utils/resolve-aliases.mjs +0 -28
  299. package/dist/utils/resolve-aliases.mjs.map +0 -6
  300. package/dist/utils/resolve-extensions.d.mts +0 -14
  301. package/dist/utils/resolve-extensions.mjs +0 -22
  302. package/dist/utils/resolve-extensions.mjs.map +0 -6
  303. package/dist/utils/resolve-module.d.mts +0 -39
  304. package/dist/utils/resolve-module.mjs +0 -64
  305. package/dist/utils/resolve-module.mjs.map +0 -6
  306. package/dist/utils/resolve-modules.d.mts +0 -25
  307. package/dist/utils/resolve-modules.mjs +0 -26
  308. package/dist/utils/resolve-modules.mjs.map +0 -6
  309. package/dist/utils/to-absolute-specifier.d.mts +0 -22
  310. package/dist/utils/to-absolute-specifier.mjs +0 -8
  311. package/dist/utils/to-absolute-specifier.mjs.map +0 -6
  312. package/dist/utils/to-bare-specifier.d.mts +0 -42
  313. package/dist/utils/to-bare-specifier.mjs +0 -90
  314. package/dist/utils/to-bare-specifier.mjs.map +0 -6
  315. package/dist/utils/to-data-url.d.mts +0 -30
  316. package/dist/utils/to-data-url.mjs +0 -11
  317. package/dist/utils/to-data-url.mjs.map +0 -6
  318. package/dist/utils/to-node-url.d.mts +0 -19
  319. package/dist/utils/to-node-url.mjs +0 -10
  320. package/dist/utils/to-node-url.mjs.map +0 -6
  321. package/dist/utils/to-relative-specifier.d.mts +0 -22
  322. package/dist/utils/to-relative-specifier.mjs +0 -21
  323. package/dist/utils/to-relative-specifier.mjs.map +0 -6
  324. package/dist/utils/to-url.d.mts +0 -22
  325. package/dist/utils/to-url.mjs +0 -12
  326. package/dist/utils/to-url.mjs.map +0 -6
  327. package/dist/utils/validate-assertions.d.mts +0 -23
  328. package/dist/utils/validate-assertions.mjs +0 -52
  329. package/dist/utils/validate-assertions.mjs.map +0 -6
  330. package/dist/utils/validate-exports.d.mts +0 -24
  331. package/dist/utils/validate-exports.mjs +0 -72
  332. package/dist/utils/validate-exports.mjs.map +0 -6
@@ -1,62 +0,0 @@
1
- import { SpecifierSyntaxKind } from "../enums/index.mjs";
2
- import isFunction from "../internal/is-function.mjs";
3
- import { ERR_UNKNOWN_FILE_EXTENSION } from "@flex-development/errnode";
4
- import pathe from "@flex-development/pathe";
5
- import CONDITIONS from "./conditions.mjs";
6
- import extractStatements from "./extract-statements.mjs";
7
- import isAbsoluteSpecifier from "./is-absolute-specifier.mjs";
8
- import isBareSpecifier from "./is-bare-specifier.mjs";
9
- import resolveModule from "./resolve-module.mjs";
10
- import toBareSpecifier from "./to-bare-specifier.mjs";
11
- import toRelativeSpecifier from "./to-relative-specifier.mjs";
12
- const fillModules = async (code, options) => {
13
- const { conditions = CONDITIONS, ext, parent = import.meta.url } = options;
14
- for (const statement of extractStatements(code)) {
15
- if (!statement.specifier)
16
- continue;
17
- if (statement.specifier_syntax === SpecifierSyntaxKind.DYNAMIC)
18
- continue;
19
- const url = await resolveModule(statement.specifier, {
20
- ...options,
21
- /**
22
- * Returns a replacement file extension for the given module `specifier`
23
- * **if it is non-bare and does not already have an extension**.
24
- *
25
- * Throws [`ERR_UNKNOWN_FILE_EXTENSION`][1] if the replacement extension
26
- * is `null`, `undefined`, an empty string, or a dot character (`'.'`).
27
- *
28
- * [1]: https://nodejs.org/api/errors.html#err_unknown_file_extension
29
- *
30
- * @async
31
- *
32
- * @param {string} specifier - Module specifier
33
- * @param {URL} url - Resolved module URL
34
- * @return {Promise<string | undefined>} New file extension or `undefined`
35
- */
36
- async ext(specifier, url2) {
37
- const extname = pathe.extname(specifier);
38
- if (isBareSpecifier(specifier) || extname.length > 1)
39
- return void 0;
40
- const rext = isFunction(ext) ? await ext(specifier, url2) : ext;
41
- if (!(rext && rext.trim().length > (rext.startsWith(".") ? 1 : 0))) {
42
- throw new ERR_UNKNOWN_FILE_EXTENSION(rext, specifier);
43
- }
44
- return rext;
45
- }
46
- });
47
- code = code.replace(
48
- statement.code,
49
- statement.code.replace(
50
- statement.specifier,
51
- // convert module url back to absolute, bare, or relative specifier
52
- statement.specifier.startsWith("#") ? statement.specifier : isAbsoluteSpecifier(statement.specifier) ? url.href : isBareSpecifier(statement.specifier) ? toBareSpecifier(url, parent, new Set(conditions)) : toRelativeSpecifier(url, parent)
53
- )
54
- );
55
- }
56
- return code;
57
- };
58
- var fill_modules_default = fillModules;
59
- export {
60
- fill_modules_default as default
61
- };
62
- //# sourceMappingURL=fill-modules.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/fill-modules.ts"],
4
- "mappings": "AAKA,SAAS,2BAA2B;AAEpC,OAAO,gBAAgB;AACvB,SAAS,kCAAkC;AAC3C,OAAO,WAAyB;AAGhC,OAAO,gBAAgB;AACvB,OAAO,uBAAuB;AAC9B,OAAO,yBAAyB;AAChC,OAAO,qBAAqB;AAC5B,OAAO,mBAAmB;AAC1B,OAAO,qBAAqB;AAC5B,OAAO,yBAAyB;AAkBhC,MAAM,cAAc,OAClB,MACA,YACoB;AACpB,QAAM,EAAE,aAAa,YAAY,KAAK,SAAS,YAAY,IAAI,IAAI;AAGnE,aAAW,aAAa,kBAAkB,IAAI,GAAG;AAE/C,QAAI,CAAC,UAAU;AAAW;AAG1B,QAAI,UAAU,qBAAqB,oBAAoB;AAAS;AAOhE,UAAM,MAAW,MAAM,cAAc,UAAU,WAAW;AAAA,MACxD,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAgBH,MAAM,IAAI,WAAmBA,MAAuC;AAMlE,cAAM,UAA6B,MAAM,QAAQ,SAAS;AAG1D,YAAI,gBAAgB,SAAS,KAAK,QAAQ,SAAS;AAAG,iBAAO;AAO7D,cAAM,OAAe,WAAW,GAAG,IAAI,MAAM,IAAI,WAAWA,IAAG,IAAI;AAGnE,YAAI,EAAE,QAAQ,KAAK,KAAK,EAAE,UAAU,KAAK,WAAW,GAAG,IAAI,IAAI,KAAK;AAClE,gBAAM,IAAI,2BAA2B,MAAM,SAAS;AAAA,QACtD;AAEA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAGD,WAAO,KAAK;AAAA,MACV,UAAU;AAAA,MACV,UAAU,KAAK;AAAA,QACb,UAAU;AAAA;AAAA,QAEV,UAAU,UAAU,WAAW,GAAG,IAC9B,UAAU,YACV,oBAAoB,UAAU,SAAS,IACvC,IAAI,OACJ,gBAAgB,UAAU,SAAS,IACnC,gBAAgB,KAAK,QAAQ,IAAI,IAAI,UAAU,CAAC,IAChD,oBAAoB,KAAK,MAAM;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAO,uBAAQ;",
5
- "names": ["url"]
6
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * @file findDynamicImports
3
- * @module mlly/utils/findDynamicImports
4
- */
5
- import type { DynamicImport } from '../interfaces/index.mjs';
6
- /**
7
- * Finds all dynamic import statements in `code`. Ignores matches in comments.
8
- *
9
- * @see {@linkcode DynamicImport}
10
- * @see https://regex101.com/r/PTPAvU
11
- * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/import
12
- *
13
- * @param {string} [code=''] - Code to evaluate
14
- * @return {DynamicImport[]} Dynamic import statement objects
15
- * @throws {NodeError<TypeError>} If `code` is not a string
16
- */
17
- declare const findDynamicImports: (code?: string) => DynamicImport[];
18
- export default findDynamicImports;
@@ -1,39 +0,0 @@
1
- import {
2
- SpecifierSyntaxKind,
3
- StatementKind,
4
- StatementSyntaxKind
5
- } from "../enums/index.mjs";
6
- import getSpecifierKind from "../internal/get-specifier-kind.mjs";
7
- import validateString from "../internal/validate-string.mjs";
8
- import { DYNAMIC_IMPORT_REGEX } from "@flex-development/import-regex";
9
- const findDynamicImports = (code = "") => {
10
- validateString(code, "code");
11
- return [...code.matchAll(DYNAMIC_IMPORT_REGEX)].map((match) => {
12
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
13
- const {
14
- expression = "",
15
- imports = "",
16
- options = "",
17
- specifier = ""
18
- } = groups;
19
- const specifier_syntax = /^["']/.test(specifier) ? SpecifierSyntaxKind.STATIC : SpecifierSyntaxKind.DYNAMIC;
20
- return {
21
- code: code2,
22
- end: start + code2.length,
23
- expression,
24
- imports: imports === "" ? [] : imports.replace(/^{|}$/g, "").split(",").map((e) => e.trim()).filter((e) => e.length > 0),
25
- kind: StatementKind.IMPORT,
26
- options,
27
- specifier: specifier.replace(/^["']|["']$/g, ""),
28
- specifier_kind: specifier_syntax === SpecifierSyntaxKind.DYNAMIC ? null : getSpecifierKind(specifier),
29
- specifier_syntax,
30
- start,
31
- syntax: StatementSyntaxKind.DYNAMIC
32
- };
33
- });
34
- };
35
- var find_dynamic_imports_default = findDynamicImports;
36
- export {
37
- find_dynamic_imports_default as default
38
- };
39
- //# sourceMappingURL=find-dynamic-imports.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/find-dynamic-imports.ts"],
4
- "mappings": "AAKA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AAE3B,SAAS,4BAA4B;AAarC,MAAM,qBAAqB,CAAC,OAAe,OAAwB;AACjE,iBAAe,MAAM,MAAM;AAE3B,SAAO,CAAC,GAAG,KAAK,SAAS,oBAAoB,CAAC,EAAE,IAAI,WAAS;AAC3D,UAAM,EAAE,GAAGA,QAAO,IAAI,OAAO,QAAQ,GAAG,SAAS,CAAC,EAAE,IAAI;AACxD,UAAM;AAAA,MACJ,aAAa;AAAA,MACb,UAAU;AAAA,MACV,UAAU;AAAA,MACV,YAAY;AAAA,IACd,IAAI;AAOJ,UAAM,mBAAwC,QAAQ,KAAK,SAAS,IAChE,oBAAoB,SACpB,oBAAoB;AAExB,WAAO;AAAA,MACL,MAAAA;AAAA,MACA,KAAK,QAAQA,MAAK;AAAA,MAClB;AAAA,MACA,SACE,YAAY,KACR,CAAC,IACD,QACG,QAAQ,UAAU,EAAE,EACpB,MAAM,GAAG,EACT,IAAI,OAAK,EAAE,KAAK,CAAC,EACjB,OAAO,OAAK,EAAE,SAAS,CAAC;AAAA,MACjC,MAAM,cAAc;AAAA,MACpB;AAAA,MACA,WAAW,UAAU,QAAQ,gBAAgB,EAAE;AAAA,MAC/C,gBACE,qBAAqB,oBAAoB,UACrC,OACA,iBAAiB,SAAS;AAAA,MAChC;AAAA,MACA;AAAA,MACA,QAAQ,oBAAoB;AAAA,IAC9B;AAAA,EACF,CAAC;AACH;AAEA,IAAO,+BAAQ;",
5
- "names": ["code"]
6
- }
@@ -1,21 +0,0 @@
1
- /**
2
- * @file findExports
3
- * @module mlly/utils/findExports
4
- */
5
- import type { ExportStatement } from '../interfaces/index.mjs';
6
- /**
7
- * Finds all export statements in `code`. Ignores matches in comments.
8
- *
9
- * @see {@linkcode ExportStatement}
10
- * @see https://regex101.com/r/JtvRUt
11
- * @see https://regex101.com/r/8HpMrA
12
- * @see https://regex101.com/r/G7GhEt
13
- * @see https://regex101.com/r/KQEDdZ
14
- * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/export
15
- *
16
- * @param {string} [code=''] - Code to evaluate
17
- * @return {ExportStatement[]} Export statement objects
18
- * @throws {NodeError<TypeError>} If `code` is not a string
19
- */
20
- declare const findExports: (code?: string) => ExportStatement[];
21
- export default findExports;
@@ -1,95 +0,0 @@
1
- import {
2
- SpecifierSyntaxKind,
3
- StatementKind,
4
- StatementSyntaxKind
5
- } from "../enums/index.mjs";
6
- import getSpecifierKind from "../internal/get-specifier-kind.mjs";
7
- import validateString from "../internal/validate-string.mjs";
8
- import {
9
- EXPORT_AGGREGATE_REGEX,
10
- EXPORT_DECLARATION_REGEX,
11
- EXPORT_DEFAULT_REGEX,
12
- EXPORT_LIST_REGEX
13
- } from "@flex-development/export-regex";
14
- const findExports = (code = "") => {
15
- validateString(code, "code");
16
- const statements = [];
17
- for (const match of code.matchAll(EXPORT_AGGREGATE_REGEX)) {
18
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
19
- const { exports = "", specifier = "", type = "" } = groups;
20
- statements.push({
21
- code: code2,
22
- declaration: null,
23
- end: start + code2.length,
24
- exports: exports.startsWith("*") ? [exports] : exports.replace(/^{|}$/g, "").split(",").map((e) => e.trim()).filter((e) => e.length > 0),
25
- kind: StatementKind.EXPORT,
26
- modifiers: [],
27
- specifier,
28
- specifier_kind: getSpecifierKind(specifier),
29
- specifier_syntax: SpecifierSyntaxKind.STATIC,
30
- start,
31
- syntax: exports.startsWith("{") ? StatementSyntaxKind.NAMED : StatementSyntaxKind.NAMESPACE,
32
- type: !!type
33
- });
34
- }
35
- for (const match of code.matchAll(EXPORT_DECLARATION_REGEX)) {
36
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
37
- const { declaration = "", exports = "", modifiers = "" } = groups;
38
- statements.push({
39
- code: code2,
40
- declaration,
41
- end: start + code2.length,
42
- exports: /^\w+$/.test(exports) ? [exports] : exports.replace(/^[[{]|[\]}]$/g, "").split(",").map((e) => e.trim().replace(/\s*=\s*.*$/, "")).filter((e) => e.length > 0),
43
- kind: StatementKind.EXPORT,
44
- modifiers: modifiers === "" ? [] : modifiers.split(" ").map((e) => e.trim()).filter((e) => e.length > 0),
45
- specifier: null,
46
- specifier_kind: null,
47
- specifier_syntax: null,
48
- start,
49
- syntax: StatementSyntaxKind.DECLARATION,
50
- type: false
51
- });
52
- }
53
- for (const match of code.matchAll(EXPORT_DEFAULT_REGEX)) {
54
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
55
- const { exports = "", kind: declaration = "", modifiers = "" } = groups;
56
- statements.push({
57
- code: code2,
58
- declaration: declaration ? declaration : null,
59
- end: start + code2.length,
60
- exports: exports === "" ? [] : [exports],
61
- kind: StatementKind.EXPORT,
62
- modifiers: modifiers === "" ? [] : modifiers.split(" ").map((e) => e.trim()).filter((e) => e.length > 0),
63
- specifier: null,
64
- specifier_kind: null,
65
- specifier_syntax: null,
66
- start,
67
- syntax: StatementSyntaxKind.DEFAULT,
68
- type: false
69
- });
70
- }
71
- for (const match of code.matchAll(EXPORT_LIST_REGEX)) {
72
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
73
- const { exports = "", type = "" } = groups;
74
- statements.push({
75
- code: code2,
76
- declaration: null,
77
- end: start + code2.length,
78
- exports: exports.replace(/^{|}$/g, "").split(",").map((e) => e.trim()).filter((e) => e.length > 0),
79
- kind: StatementKind.EXPORT,
80
- modifiers: [],
81
- specifier: null,
82
- specifier_kind: null,
83
- specifier_syntax: null,
84
- start,
85
- syntax: StatementSyntaxKind.LIST,
86
- type: !!type
87
- });
88
- }
89
- return statements;
90
- };
91
- var find_exports_default = findExports;
92
- export {
93
- find_exports_default as default
94
- };
95
- //# sourceMappingURL=find-exports.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/find-exports.ts"],
4
- "mappings": "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",
5
- "names": ["code"]
6
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * @file findRequires
3
- * @module mlly/utils/findRequires
4
- */
5
- import type { RequireStatement } from '../interfaces/index.mjs';
6
- /**
7
- * Finds all `require` statements in `code`. Ignores matches in comments.
8
- *
9
- * @see {@linkcode RequireStatement}
10
- * @see https://regex101.com/r/uCqSYB
11
- * @see https://nodejs.org/api/modules.html#requireid
12
- *
13
- * @param {string} [code=''] - Code to evaluate
14
- * @return {RequireStatement[]} Require statement objects
15
- * @throws {NodeError<TypeError>} If `code` is not a string
16
- */
17
- declare const findRequires: (code?: string) => RequireStatement[];
18
- export default findRequires;
@@ -1,32 +0,0 @@
1
- import {
2
- SpecifierSyntaxKind,
3
- StatementKind,
4
- StatementSyntaxKind
5
- } from "../enums/index.mjs";
6
- import getSpecifierKind from "../internal/get-specifier-kind.mjs";
7
- import validateString from "../internal/validate-string.mjs";
8
- const findRequires = (code = "") => {
9
- validateString(code, "code");
10
- const REQUIRE_REGEX = /(?<=^|[\s;])\b(?:(?:const\s*|let\s*|var\s*)?(?<imports>(?:[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*)|(?:[\w\t\n\r "$'*,./:{}-]+?))?\s*=?\s*(?<kind>require)\((?<specifier>["']?[\S\t\n\r]+?["']?)\)(?=;?\n?))(?<!(?:\/\/|\*).*)/gu;
11
- return [...code.matchAll(REQUIRE_REGEX)].map((match) => {
12
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
13
- const { imports = "", specifier = "" } = groups;
14
- const specifier_syntax = /^["']/.test(specifier) ? SpecifierSyntaxKind.STATIC : SpecifierSyntaxKind.DYNAMIC;
15
- return {
16
- code: code2,
17
- end: start + code2.length,
18
- imports: imports === "" ? [] : imports.replace(/^{|}$/g, "").split(",").map((e) => e.trim()).filter((e) => e.length > 0),
19
- kind: StatementKind.REQUIRE,
20
- specifier: specifier.replace(/^["']|["']$/g, ""),
21
- specifier_kind: specifier_syntax === SpecifierSyntaxKind.DYNAMIC ? null : getSpecifierKind(specifier),
22
- specifier_syntax,
23
- start,
24
- syntax: StatementSyntaxKind.REQUIRE
25
- };
26
- });
27
- };
28
- var find_requires_default = findRequires;
29
- export {
30
- find_requires_default as default
31
- };
32
- //# sourceMappingURL=find-requires.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/find-requires.ts"],
4
- "mappings": "AAKA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AAc3B,MAAM,eAAe,CAAC,OAAe,OAA2B;AAC9D,iBAAe,MAAM,MAAM;AAO3B,QAAM,gBACJ;AAEF,SAAO,CAAC,GAAG,KAAK,SAAS,aAAa,CAAC,EAAE,IAAI,WAAS;AACpD,UAAM,EAAE,GAAGA,QAAO,IAAI,OAAO,QAAQ,GAAG,SAAS,CAAC,EAAE,IAAI;AACxD,UAAM,EAAE,UAAU,IAAI,YAAY,GAAG,IAAI;AAOzC,UAAM,mBAAwC,QAAQ,KAAK,SAAS,IAChE,oBAAoB,SACpB,oBAAoB;AAExB,WAAO;AAAA,MACL,MAAAA;AAAA,MACA,KAAK,QAAQA,MAAK;AAAA,MAClB,SACE,YAAY,KACR,CAAC,IACD,QACG,QAAQ,UAAU,EAAE,EACpB,MAAM,GAAG,EACT,IAAI,OAAK,EAAE,KAAK,CAAC,EACjB,OAAO,OAAK,EAAE,SAAS,CAAC;AAAA,MACjC,MAAM,cAAc;AAAA,MACpB,WAAW,UAAU,QAAQ,gBAAgB,EAAE;AAAA,MAC/C,gBACE,qBAAqB,oBAAoB,UACrC,OACA,iBAAiB,SAAS;AAAA,MAChC;AAAA,MACA;AAAA,MACA,QAAQ,oBAAoB;AAAA,IAC9B;AAAA,EACF,CAAC;AACH;AAEA,IAAO,wBAAQ;",
5
- "names": ["code"]
6
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * @file findStaticImports
3
- * @module mlly/utils/findStaticImports
4
- */
5
- import type { StaticImport } from '../interfaces/index.mjs';
6
- /**
7
- * Finds all static import statements in `code`. Ignores matches in comments.
8
- *
9
- * @see {@linkcode StaticImport}
10
- * @see https://regex101.com/r/wlYQUN
11
- * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/import
12
- *
13
- * @param {string} [code=''] - Code to evaluate
14
- * @return {StaticImport[]} Static import statement objects
15
- * @throws {NodeError<TypeError>} If `code` is not a string
16
- */
17
- declare const findStaticImports: (code?: string) => StaticImport[];
18
- export default findStaticImports;
@@ -1,34 +0,0 @@
1
- import {
2
- SpecifierSyntaxKind,
3
- StatementKind,
4
- StatementSyntaxKind
5
- } from "../enums/index.mjs";
6
- import getSpecifierKind from "../internal/get-specifier-kind.mjs";
7
- import validateString from "../internal/validate-string.mjs";
8
- import { STATIC_IMPORT_REGEX } from "@flex-development/import-regex";
9
- const findStaticImports = (code = "") => {
10
- validateString(code, "code");
11
- return [...code.matchAll(STATIC_IMPORT_REGEX)].map((match) => {
12
- const { 0: code2 = "", index: start = 0, groups = {} } = match;
13
- const { assertion = "", imports = "", specifier = "", type = "" } = groups;
14
- const syntax = imports === "" ? StatementSyntaxKind.SIDE_EFFECT : imports.startsWith("* as") ? StatementSyntaxKind.NAMESPACE : imports.startsWith("{") ? StatementSyntaxKind.NAMED : /^\w+$/.test(imports) ? StatementSyntaxKind.DEFAULT : /^\w+,\s*{/.test(imports) ? StatementSyntaxKind.DEFAULT_WITH_NAMED : StatementSyntaxKind.DEFAULT_WITH_NAMESPACE;
15
- return {
16
- assertion,
17
- code: code2,
18
- end: start + code2.length,
19
- imports: syntax === StatementSyntaxKind.SIDE_EFFECT ? [] : syntax === StatementSyntaxKind.NAMED ? imports.replace(/^{|}$/g, "").split(",").map((e) => e.trim()).filter((e) => e.length > 0) : syntax === StatementSyntaxKind.DEFAULT_WITH_NAMED ? imports.split(",").map((i) => i.trim().replace(/^{|}$/g, "")).map((i) => i.trim()).filter((i) => i.length > 0) : syntax === StatementSyntaxKind.DEFAULT_WITH_NAMESPACE ? imports.split(",").map((i) => i.trim()).filter((i) => i.length > 0) : [imports],
20
- kind: StatementKind.IMPORT,
21
- specifier,
22
- specifier_kind: getSpecifierKind(specifier),
23
- specifier_syntax: SpecifierSyntaxKind.STATIC,
24
- start,
25
- syntax,
26
- type: !!type
27
- };
28
- });
29
- };
30
- var find_static_imports_default = findStaticImports;
31
- export {
32
- find_static_imports_default as default
33
- };
34
- //# sourceMappingURL=find-static-imports.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/find-static-imports.ts"],
4
- "mappings": "AAKA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,OAAO,sBAAsB;AAC7B,OAAO,oBAAoB;AAE3B,SAAS,2BAA2B;AAapC,MAAM,oBAAoB,CAAC,OAAe,OAAuB;AAC/D,iBAAe,MAAM,MAAM;AAE3B,SAAO,CAAC,GAAG,KAAK,SAAS,mBAAmB,CAAC,EAAE,IAAI,WAAS;AAC1D,UAAM,EAAE,GAAGA,QAAO,IAAI,OAAO,QAAQ,GAAG,SAAS,CAAC,EAAE,IAAI;AACxD,UAAM,EAAE,YAAY,IAAI,UAAU,IAAI,YAAY,IAAI,OAAO,GAAG,IAAI;AAOpE,UAAM,SACJ,YAAY,KACR,oBAAoB,cACpB,QAAQ,WAAW,MAAM,IACzB,oBAAoB,YACpB,QAAQ,WAAW,GAAG,IACtB,oBAAoB,QACpB,QAAQ,KAAK,OAAO,IACpB,oBAAoB,UACpB,YAAY,KAAK,OAAO,IACxB,oBAAoB,qBACpB,oBAAoB;AAE1B,WAAO;AAAA,MACL;AAAA,MACA,MAAAA;AAAA,MACA,KAAK,QAAQA,MAAK;AAAA,MAClB,SACE,WAAW,oBAAoB,cAC3B,CAAC,IACD,WAAW,oBAAoB,QAC/B,QACG,QAAQ,UAAU,EAAE,EACpB,MAAM,GAAG,EACT,IAAI,OAAK,EAAE,KAAK,CAAC,EACjB,OAAO,OAAK,EAAE,SAAS,CAAC,IAC3B,WAAW,oBAAoB,qBAC/B,QACG,MAAM,GAAG,EACT,IAAI,OAAK,EAAE,KAAK,EAAE,QAAQ,UAAU,EAAE,CAAC,EACvC,IAAI,OAAK,EAAE,KAAK,CAAC,EACjB,OAAO,OAAK,EAAE,SAAS,CAAC,IAC3B,WAAW,oBAAoB,yBAC/B,QACG,MAAM,GAAG,EACT,IAAI,OAAK,EAAE,KAAK,CAAC,EACjB,OAAO,OAAK,EAAE,SAAS,CAAC,IAC3B,CAAC,OAAO;AAAA,MACd,MAAM,cAAc;AAAA,MACpB;AAAA,MACA,gBAAgB,iBAAiB,SAAS;AAAA,MAC1C,kBAAkB,oBAAoB;AAAA,MACtC;AAAA,MACA;AAAA,MACA,MAAM,CAAC,CAAC;AAAA,IACV;AAAA,EACF,CAAC;AACH;AAEA,IAAO,8BAAQ;",
5
- "names": ["code"]
6
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * @file findSubpath
3
- * @module mlly/utils/findSubpath
4
- */
5
- import type { FindSubpathOptions } from '../interfaces/index.mjs';
6
- import type { Exports, Imports } from '@flex-development/pkg-types';
7
- import { type Nullable } from '@flex-development/tutils';
8
- /**
9
- * Finds the subpath defined in `context`, a `package.json` [`exports`][1] or
10
- * [`imports`][2] field, that maps to the given package `target`.
11
- *
12
- * Supports extensionless targets. Returns `null` if a subpath is not found.
13
- *
14
- * [1]: https://nodejs.org/api/packages.html#exports
15
- * [2]: https://nodejs.org/api/packages.html#imports
16
- *
17
- * @see {@linkcode Exports}
18
- * @see {@linkcode FindSubpathOptions}
19
- * @see {@linkcode Imports}
20
- * @see https://nodejs.org/api/packages.html#subpath-exports
21
- * @see https://nodejs.org/api/packages.html#subpath-imports
22
- *
23
- * @param {string} target - Package target to find in `context`
24
- * @param {Exports | Imports | undefined} context - Package context
25
- * @param {FindSubpathOptions} options - Search options
26
- * @return {Nullable<string>} Subpath defined in `context` or `null`
27
- * @throws {NodeError<Error | TypeError>}
28
- */
29
- declare const findSubpath: (target: string, context: Exports | Imports | undefined, options: FindSubpathOptions) => Nullable<string>;
30
- export default findSubpath;
@@ -1,106 +0,0 @@
1
- import getSubpaths from "../internal/get-subpaths.mjs";
2
- import validateBoolean from "../internal/validate-boolean.mjs";
3
- import validateSet from "../internal/validate-set.mjs";
4
- import validateString from "../internal/validate-string.mjs";
5
- import validateURLString from "../internal/validate-url-string.mjs";
6
- import pathe from "@flex-development/pathe";
7
- import { isNIL } from "@flex-development/tutils";
8
- import { URL } from "node:url";
9
- import compareSubpaths from "./compare-subpaths.mjs";
10
- import CONDITIONS from "./conditions.mjs";
11
- import isExportsSugar from "./is-exports-sugar.mjs";
12
- import PATTERN_CHARACTER from "./pattern-character.mjs";
13
- import toURL from "./to-url.mjs";
14
- const findSubpath = (target, context, options) => {
15
- const {
16
- condition = "default",
17
- conditions = CONDITIONS,
18
- dir,
19
- internal = false,
20
- parent
21
- } = options;
22
- if (isNIL(context))
23
- return null;
24
- validateString(target, "target");
25
- if (typeof context === "string") {
26
- if (target === context || target === pathe.changeExt(context, "")) {
27
- return ".";
28
- }
29
- }
30
- validateString(condition, "options.condition");
31
- validateSet(conditions, "options.conditions");
32
- validateURLString(dir, "options.dir");
33
- validateBoolean(internal, "options.internal");
34
- validateURLString(parent, "options.parent");
35
- const find = (target2, context2, key = ".") => {
36
- let subpath = null;
37
- switch (true) {
38
- case (!isNIL(context2) && typeof context2 === "object"):
39
- case typeof context2 === "string":
40
- const pkgdir = toURL(dir).href.replace(/\/$/, "") + pathe.sep;
41
- const pkg = new URL("package.json", pkgdir);
42
- if (!internal && isExportsSugar(context2, pkg, parent)) {
43
- context2 = { [key]: context2 };
44
- }
45
- context2 = context2;
46
- const subpaths = getSubpaths(
47
- context2,
48
- internal,
49
- pkg,
50
- parent
51
- ).sort((s1, s2) => compareSubpaths(s1, s2) * -1);
52
- for (const pkgsubpath of subpaths) {
53
- let tar = context2[pkgsubpath];
54
- switch (true) {
55
- case Array.isArray(tar):
56
- tar = tar;
57
- for (const item of tar) {
58
- subpath = find(target2, item, pkgsubpath);
59
- if (subpath)
60
- break;
61
- }
62
- break;
63
- case (typeof tar === "object" && !isNIL(tar)):
64
- tar = tar;
65
- for (const prop of Object.getOwnPropertyNames(tar)) {
66
- if (prop === condition || conditions.has(prop)) {
67
- subpath = find(target2, tar[prop], pkgsubpath);
68
- if (subpath)
69
- break;
70
- }
71
- }
72
- break;
73
- case typeof tar === "string":
74
- tar = tar;
75
- const tar_ne = pathe.changeExt(tar, "");
76
- const pattern = tar.indexOf(PATTERN_CHARACTER);
77
- switch (true) {
78
- case target2 === tar:
79
- case target2 === tar_ne:
80
- case (pattern === -1 && (target2 === tar || target2 === tar_ne)):
81
- subpath = pkgsubpath;
82
- break;
83
- case (pattern !== -1 && target2.startsWith(tar.slice(0, pattern))):
84
- const match = target2.length >= tar.length && tar.lastIndexOf(PATTERN_CHARACTER) === pattern && (target2.endsWith(tar.slice(pattern + 1)) || target2.endsWith(tar_ne.slice(pattern + 1)));
85
- if (match)
86
- subpath = pkgsubpath;
87
- break;
88
- }
89
- break;
90
- }
91
- if (subpath)
92
- break;
93
- }
94
- break;
95
- default:
96
- break;
97
- }
98
- return subpath;
99
- };
100
- return find(target, context);
101
- };
102
- var find_subpath_default = findSubpath;
103
- export {
104
- find_subpath_default as default
105
- };
106
- //# sourceMappingURL=find-subpath.mjs.map
@@ -1,6 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/utils/find-subpath.ts"],
4
- "mappings": "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",
5
- "names": ["target", "context"]
6
- }
@@ -1,24 +0,0 @@
1
- /**
2
- * @file getFormat
3
- * @module mlly/utils/getFormat
4
- */
5
- import { Format } from '../enums/index.mjs';
6
- import type { GetFormatOptions } from '../interfaces/index.mjs';
7
- import type { ModuleId } from '../types/index.mjs';
8
- import type { Nilable } from '@flex-development/tutils';
9
- /**
10
- * Retrieves a module format for the given module `id`.
11
- *
12
- * @see {@linkcode Format}
13
- * @see {@linkcode GetFormatOptions}
14
- * @see {@linkcode ModuleId}
15
- *
16
- * @async
17
- *
18
- * @param {ModuleId} id - Module id to evaluate
19
- * @param {GetFormatOptions?} [options={}] - Format retrieval options
20
- * @return {Promise<Nilable<Format>>} Module format, `null`, or `undefined`
21
- * @throws {NodeError<TypeError>}
22
- */
23
- declare const getFormat: (id: ModuleId, options?: GetFormatOptions) => Promise<Nilable<Format>>;
24
- export default getFormat;