@flex-development/mlly 1.0.0-alpha.15 → 1.0.0-alpha.16

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 (239) hide show
  1. package/CHANGELOG.md +181 -0
  2. package/README.md +1 -0
  3. package/dist/enums/assert-type.mjs +1 -7
  4. package/dist/enums/format.mjs +1 -10
  5. package/dist/enums/index.mjs +0 -1
  6. package/dist/enums/kind-specifier-syntax.mjs +1 -7
  7. package/dist/enums/kind-specifier.mjs +1 -8
  8. package/dist/enums/kind-statement-syntax.mjs +1 -15
  9. package/dist/enums/kind-statement.mjs +1 -8
  10. package/dist/index.mjs.map +5 -2
  11. package/dist/interfaces/import-dynamic.d.mts +1 -3
  12. package/dist/interfaces/import-static.d.mts +1 -3
  13. package/dist/interfaces/index.mjs +0 -1
  14. package/dist/interfaces/options-find-subpath.d.mts +4 -3
  15. package/dist/interfaces/options-get-format.d.mts +7 -7
  16. package/dist/interfaces/options-get-source.d.mts +5 -4
  17. package/dist/interfaces/options-parse-module-id.d.mts +4 -3
  18. package/dist/interfaces/options-parse-subpath.d.mts +4 -3
  19. package/dist/interfaces/options-resolve-alias.d.mts +5 -5
  20. package/dist/interfaces/options-resolve-module.d.mts +6 -6
  21. package/dist/internal/dequote.d.mts +14 -0
  22. package/dist/internal/dequote.mjs +6 -0
  23. package/dist/internal/format-type-map.d.mts +2 -0
  24. package/dist/internal/format-type-map.mjs +0 -1
  25. package/dist/internal/get-specifier-kind.d.mts +2 -0
  26. package/dist/internal/get-specifier-kind.mjs +3 -7
  27. package/dist/internal/get-subpaths.d.mts +5 -2
  28. package/dist/internal/get-subpaths.mjs +2 -5
  29. package/dist/internal/regex-encoded-sep.d.mts +2 -0
  30. package/dist/internal/regex-encoded-sep.mjs +0 -1
  31. package/dist/internal/regex-internal-specifier.d.mts +2 -0
  32. package/dist/internal/regex-internal-specifier.mjs +0 -1
  33. package/dist/internal/regex-invalid-segment.d.mts +2 -0
  34. package/dist/internal/regex-invalid-segment.mjs +4 -7
  35. package/dist/internal/regex-package-name.d.mts +2 -0
  36. package/dist/internal/regex-package-name.mjs +0 -1
  37. package/dist/internal/regex-package-path.d.mts +2 -0
  38. package/dist/internal/regex-package-path.mjs +0 -1
  39. package/dist/internal/resolver.d.mts +5 -3
  40. package/dist/internal/resolver.mjs +115 -130
  41. package/dist/internal/validate-array-set.d.mts +7 -5
  42. package/dist/internal/validate-array-set.mjs +5 -5
  43. package/dist/internal/validate-boolean.d.mts +4 -2
  44. package/dist/internal/validate-boolean.mjs +3 -3
  45. package/dist/internal/validate-map.d.mts +10 -7
  46. package/dist/internal/validate-map.mjs +5 -5
  47. package/dist/internal/validate-object.d.mts +9 -9
  48. package/dist/internal/validate-object.mjs +3 -3
  49. package/dist/internal/validate-set.d.mts +7 -5
  50. package/dist/internal/validate-set.mjs +5 -5
  51. package/dist/internal/validate-string.d.mts +5 -2
  52. package/dist/internal/validate-string.mjs +3 -3
  53. package/dist/internal/validate-url-string.d.mts +4 -2
  54. package/dist/internal/validate-url-string.mjs +3 -3
  55. package/dist/types/fn-change-ext.d.mts +7 -4
  56. package/dist/types/index.mjs +0 -1
  57. package/dist/utils/compare-subpaths.mjs +5 -10
  58. package/dist/utils/compare-subpaths.mjs.map +6 -3
  59. package/dist/utils/conditions.mjs.map +5 -2
  60. package/dist/utils/detect-syntax.mjs +1 -2
  61. package/dist/utils/detect-syntax.mjs.map +6 -3
  62. package/dist/utils/extension-format-map.mjs.map +5 -2
  63. package/dist/utils/extract-statements.mjs +6 -7
  64. package/dist/utils/extract-statements.mjs.map +6 -3
  65. package/dist/utils/fill-modules.mjs +43 -46
  66. package/dist/utils/fill-modules.mjs.map +9 -4
  67. package/dist/utils/find-dynamic-imports.mjs +23 -26
  68. package/dist/utils/find-dynamic-imports.mjs.map +9 -4
  69. package/dist/utils/find-exports.mjs +15 -20
  70. package/dist/utils/find-exports.mjs.map +9 -4
  71. package/dist/utils/find-requires.mjs +5 -5
  72. package/dist/utils/find-requires.mjs.map +9 -4
  73. package/dist/utils/find-static-imports.mjs +17 -21
  74. package/dist/utils/find-static-imports.mjs.map +9 -4
  75. package/dist/utils/find-subpath.d.mts +3 -3
  76. package/dist/utils/find-subpath.mjs +52 -74
  77. package/dist/utils/find-subpath.mjs.map +10 -4
  78. package/dist/utils/get-format.mjs +18 -33
  79. package/dist/utils/get-format.mjs.map +9 -4
  80. package/dist/utils/get-source.d.mts +3 -2
  81. package/dist/utils/get-source.mjs +10 -19
  82. package/dist/utils/get-source.mjs.map +6 -3
  83. package/dist/utils/has-cjs-syntax.mjs.map +5 -2
  84. package/dist/utils/has-esm-syntax.mjs.map +5 -2
  85. package/dist/utils/index.d.mts +2 -0
  86. package/dist/utils/index.mjs +46 -42
  87. package/dist/utils/index.mjs.map +9 -4
  88. package/dist/utils/is-absolute-specifier.mjs +5 -6
  89. package/dist/utils/is-absolute-specifier.mjs.map +6 -3
  90. package/dist/utils/is-bare-specifier.mjs +2 -4
  91. package/dist/utils/is-bare-specifier.mjs.map +6 -3
  92. package/dist/utils/is-directory.mjs +14 -0
  93. package/dist/utils/is-directory.mjs.map +9 -0
  94. package/dist/utils/is-exports-sugar.d.mts +3 -2
  95. package/dist/utils/is-exports-sugar.mjs +16 -13
  96. package/dist/utils/is-exports-sugar.mjs.map +6 -3
  97. package/dist/utils/is-file.mjs +14 -0
  98. package/dist/utils/is-file.mjs.map +9 -0
  99. package/dist/utils/is-relative-specifier.d.mts +0 -1
  100. package/dist/utils/is-relative-specifier.mjs +2 -4
  101. package/dist/utils/is-relative-specifier.mjs.map +6 -3
  102. package/dist/utils/lookup-package-scope.d.mts +1 -1
  103. package/dist/utils/lookup-package-scope.mjs +4 -8
  104. package/dist/utils/lookup-package-scope.mjs.map +6 -3
  105. package/dist/utils/parse-data-url.mjs +4 -4
  106. package/dist/utils/parse-data-url.mjs.map +6 -3
  107. package/dist/utils/parse-module-id.mjs +22 -24
  108. package/dist/utils/parse-module-id.mjs.map +10 -4
  109. package/dist/utils/parse-subpath.d.mts +3 -2
  110. package/dist/utils/parse-subpath.mjs +40 -55
  111. package/dist/utils/parse-subpath.mjs.map +9 -4
  112. package/dist/utils/pattern-character.mjs.map +5 -2
  113. package/dist/utils/read-package-json.mjs +12 -9
  114. package/dist/utils/read-package-json.mjs.map +6 -3
  115. package/dist/utils/resolve-alias.mjs +28 -34
  116. package/dist/utils/resolve-alias.mjs.map +10 -4
  117. package/dist/utils/resolve-aliases.mjs +15 -17
  118. package/dist/utils/resolve-aliases.mjs.map +6 -3
  119. package/dist/utils/resolve-extensions.mjs.map +5 -2
  120. package/dist/utils/resolve-module.mjs +10 -26
  121. package/dist/utils/resolve-module.mjs.map +6 -3
  122. package/dist/utils/resolve-modules.mjs +12 -15
  123. package/dist/utils/resolve-modules.mjs.map +6 -3
  124. package/dist/utils/to-absolute-specifier.mjs.map +5 -2
  125. package/dist/utils/to-bare-specifier.mjs +18 -38
  126. package/dist/utils/to-bare-specifier.mjs.map +6 -3
  127. package/dist/utils/to-data-url.mjs +1 -5
  128. package/dist/utils/to-data-url.mjs.map +6 -3
  129. package/dist/utils/to-node-url.mjs +1 -4
  130. package/dist/utils/to-node-url.mjs.map +6 -3
  131. package/dist/utils/to-relative-specifier.mjs +2 -16
  132. package/dist/utils/to-relative-specifier.mjs.map +6 -3
  133. package/dist/utils/to-url.mjs +1 -5
  134. package/dist/utils/to-url.mjs.map +6 -3
  135. package/dist/utils/validate-assertions.d.mts +2 -2
  136. package/dist/utils/validate-assertions.mjs +14 -21
  137. package/dist/utils/validate-assertions.mjs.map +9 -4
  138. package/dist/utils/validate-exports.d.mts +3 -2
  139. package/dist/utils/validate-exports.mjs +25 -24
  140. package/dist/utils/validate-exports.mjs.map +6 -3
  141. package/package.json +89 -81
  142. package/src/interfaces/import-dynamic.ts +1 -3
  143. package/src/interfaces/import-static.ts +1 -5
  144. package/src/interfaces/options-find-subpath.ts +4 -3
  145. package/src/interfaces/options-get-format.ts +7 -7
  146. package/src/interfaces/options-get-source.ts +5 -4
  147. package/src/interfaces/options-parse-module-id.ts +4 -3
  148. package/src/interfaces/options-parse-subpath.ts +4 -3
  149. package/src/interfaces/options-resolve-alias.ts +5 -5
  150. package/src/interfaces/options-resolve-module.ts +6 -6
  151. package/src/internal/dequote.ts +18 -0
  152. package/src/internal/format-type-map.ts +2 -0
  153. package/src/internal/get-specifier-kind.ts +7 -4
  154. package/src/internal/get-subpaths.ts +7 -5
  155. package/src/internal/regex-encoded-sep.ts +2 -0
  156. package/src/internal/regex-internal-specifier.ts +2 -0
  157. package/src/internal/regex-invalid-segment.ts +2 -0
  158. package/src/internal/regex-package-name.ts +2 -0
  159. package/src/internal/regex-package-path.ts +2 -0
  160. package/src/internal/resolver.ts +71 -49
  161. package/src/internal/validate-array-set.ts +10 -7
  162. package/src/internal/validate-boolean.ts +6 -3
  163. package/src/internal/validate-map.ts +12 -9
  164. package/src/internal/validate-object.ts +10 -10
  165. package/src/internal/validate-set.ts +9 -9
  166. package/src/internal/validate-string.ts +7 -3
  167. package/src/internal/validate-url-string.ts +6 -3
  168. package/src/types/fn-change-ext.ts +7 -7
  169. package/src/utils/extract-statements.ts +11 -7
  170. package/src/utils/fill-modules.ts +70 -62
  171. package/src/utils/find-dynamic-imports.ts +6 -6
  172. package/src/utils/find-exports.ts +19 -29
  173. package/src/utils/find-requires.ts +6 -6
  174. package/src/utils/find-static-imports.ts +11 -14
  175. package/src/utils/find-subpath.ts +140 -139
  176. package/src/utils/get-format.ts +27 -21
  177. package/src/utils/get-source.ts +5 -5
  178. package/src/utils/index.ts +2 -0
  179. package/src/utils/is-bare-specifier.ts +2 -1
  180. package/src/{internal → utils}/is-directory.ts +1 -1
  181. package/src/utils/is-exports-sugar.ts +16 -9
  182. package/src/{internal → utils}/is-file.ts +1 -1
  183. package/src/utils/is-relative-specifier.ts +5 -6
  184. package/src/utils/lookup-package-scope.ts +2 -2
  185. package/src/utils/parse-data-url.ts +3 -3
  186. package/src/utils/parse-module-id.ts +16 -8
  187. package/src/utils/parse-subpath.ts +32 -19
  188. package/src/utils/read-package-json.ts +13 -6
  189. package/src/utils/resolve-alias.ts +19 -15
  190. package/src/utils/resolve-aliases.ts +25 -25
  191. package/src/utils/resolve-module.ts +4 -5
  192. package/src/utils/resolve-modules.ts +19 -21
  193. package/src/utils/to-bare-specifier.ts +12 -7
  194. package/src/utils/to-relative-specifier.ts +2 -1
  195. package/src/utils/validate-assertions.ts +12 -7
  196. package/src/utils/validate-exports.ts +25 -18
  197. package/dist/enums/assert-type.mjs.map +0 -6
  198. package/dist/enums/format.mjs.map +0 -6
  199. package/dist/enums/index.mjs.map +0 -6
  200. package/dist/enums/kind-specifier-syntax.mjs.map +0 -6
  201. package/dist/enums/kind-specifier.mjs.map +0 -6
  202. package/dist/enums/kind-statement-syntax.mjs.map +0 -6
  203. package/dist/enums/kind-statement.mjs.map +0 -6
  204. package/dist/interfaces/index.mjs.map +0 -6
  205. package/dist/internal/escape-reg-exp.d.mts +0 -16
  206. package/dist/internal/escape-reg-exp.mjs +0 -10
  207. package/dist/internal/escape-reg-exp.mjs.map +0 -6
  208. package/dist/internal/format-type-map.mjs.map +0 -6
  209. package/dist/internal/get-specifier-kind.mjs.map +0 -6
  210. package/dist/internal/get-subpaths.mjs.map +0 -6
  211. package/dist/internal/is-array-index.d.mts +0 -15
  212. package/dist/internal/is-array-index.mjs +0 -9
  213. package/dist/internal/is-array-index.mjs.map +0 -6
  214. package/dist/internal/is-directory.mjs +0 -16
  215. package/dist/internal/is-directory.mjs.map +0 -6
  216. package/dist/internal/is-file.mjs +0 -16
  217. package/dist/internal/is-file.mjs.map +0 -6
  218. package/dist/internal/is-function.d.mts +0 -12
  219. package/dist/internal/is-function.mjs +0 -8
  220. package/dist/internal/is-function.mjs.map +0 -6
  221. package/dist/internal/regex-encoded-sep.mjs.map +0 -6
  222. package/dist/internal/regex-internal-specifier.mjs.map +0 -6
  223. package/dist/internal/regex-invalid-segment.mjs.map +0 -6
  224. package/dist/internal/regex-package-name.mjs.map +0 -6
  225. package/dist/internal/regex-package-path.mjs.map +0 -6
  226. package/dist/internal/resolver.mjs.map +0 -6
  227. package/dist/internal/validate-array-set.mjs.map +0 -6
  228. package/dist/internal/validate-boolean.mjs.map +0 -6
  229. package/dist/internal/validate-map.mjs.map +0 -6
  230. package/dist/internal/validate-object.mjs.map +0 -6
  231. package/dist/internal/validate-set.mjs.map +0 -6
  232. package/dist/internal/validate-string.mjs.map +0 -6
  233. package/dist/internal/validate-url-string.mjs.map +0 -6
  234. package/dist/types/index.mjs.map +0 -6
  235. package/src/internal/escape-reg-exp.ts +0 -24
  236. package/src/internal/is-array-index.ts +0 -28
  237. package/src/internal/is-function.ts +0 -16
  238. /package/dist/{internal → utils}/is-directory.d.mts +0 -0
  239. /package/dist/{internal → utils}/is-file.d.mts +0 -0
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/index.ts"],
4
- "mappings": "AAKA,SAAoB,WAAXA,gBAAkC;AAC3C,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAA+B;AACxC,SAAoB,WAAXA,gBAAuC;AAChD,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,gBAAqC;AAC9C,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAoC;AAC7C,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAAiC;AAC1C,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAgC;AACzC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAoC;AAC7C,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAiC;AAC1C,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAAgC;AACzC,SAAoB,WAAXA,iBAAiC;AAC1C,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAwB;AACjC,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAAkC;",
5
- "names": ["default"]
6
- }
3
+ "sources": [
4
+ "src/utils/index.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,SAAoB,WAAXA,gBAAkC;AAC3C,SAAoB,WAAXA,gBAA6B;AACtC,SAAoB,WAAXA,gBAA+B;AACxC,SAAoB,WAAXA,gBAAuC;AAChD,SAAoB,WAAXA,gBAAoC;AAC7C,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,gBAAqC;AAC9C,SAAoB,WAAXA,gBAA8B;AACvC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAoC;AAC7C,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA8B;AACvC,SAAoB,WAAXA,iBAAiC;AAC1C,SAAoB,WAAXA,iBAAyB;AAClC,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAgC;AACzC,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAoC;AAC7C,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA+B;AACxC,SAAoB,WAAXA,iBAAiC;AAC1C,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAAgC;AACzC,SAAoB,WAAXA,iBAAiC;AAC1C,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAkC;AAC3C,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAA4B;AACrC,SAAoB,WAAXA,iBAAsC;AAC/C,SAAoB,WAAXA,iBAAwB;AACjC,SAAoB,WAAXA,iBAAqC;AAC9C,SAAoB,WAAXA,iBAAkC;",
8
+ "names": [
9
+ "default"
10
+ ]
11
+ }
@@ -3,20 +3,19 @@ import pathe from "@flex-development/pathe";
3
3
  import { URL } from "node:url";
4
4
  const isAbsoluteSpecifier = (specifier) => {
5
5
  validateString(specifier, "specifier");
6
- let absolute = false;
7
- switch (true) {
6
+ let absolute = !1;
7
+ switch (!0) {
8
8
  case pathe.isAbsolute(specifier):
9
- absolute = true;
9
+ absolute = !0;
10
10
  break;
11
11
  case specifier.startsWith("file:"):
12
12
  try {
13
- new URL(specifier);
14
- absolute = true;
13
+ new URL(specifier), absolute = !0;
15
14
  } catch {
16
15
  }
17
16
  break;
18
17
  default:
19
- absolute = false;
18
+ absolute = !1;
20
19
  }
21
20
  return absolute;
22
21
  };
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/is-absolute-specifier.ts"],
4
- "mappings": "AAKA,OAAO,oBAAoB;AAE3B,OAAO,WAAW;AAClB,SAAS,WAAW;AAgBpB,MAAM,sBAAsB,CAAC,cAA+B;AAC1D,iBAAe,WAAW,WAAW;AAOrC,MAAI,WAAoB;AAGxB,UAAQ,MAAM;AAAA,IACZ,KAAK,MAAM,WAAW,SAAS;AAC7B,iBAAW;AACX;AAAA,IACF,KAAK,UAAU,WAAW,OAAO;AAC/B,UAAI;AACF,YAAI,IAAI,SAAS;AACjB,mBAAW;AAAA,MACb,QAAuB;AAAA,MAAO;AAC9B;AAAA,IACF;AACE,iBAAW;AAAA,EACf;AAEA,SAAO;AACT;AAEA,IAAO,gCAAQ;",
3
+ "sources": [
4
+ "src/utils/is-absolute-specifier.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,OAAO,oBAAoB;AAE3B,OAAO,WAAW;AAClB,SAAS,WAAW;AAgBpB,MAAM,sBAAsB,CAAC,cAA+B;AAC1D,iBAAe,WAAW,WAAW;AAOrC,MAAI,WAAoB;AAGxB,UAAQ,IAAM;AAAA,IACZ,KAAK,MAAM,WAAW,SAAS;AAC7B,iBAAW;AACX;AAAA,IACF,KAAK,UAAU,WAAW,OAAO;AAC/B,UAAI;AACF,YAAI,IAAI,SAAS,GACjB,WAAW;AAAA,MACb,QAA6B;AAAA,MAAC;AAC9B;AAAA,IACF;AACE,iBAAW;AAAA,EACf;AAEA,SAAO;AACT;AAEA,IAAO,gCAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,10 +1,8 @@
1
1
  import validateString from "../internal/validate-string.mjs";
2
+ import { trim } from "@flex-development/tutils";
2
3
  import isAbsoluteSpecifier from "./is-absolute-specifier.mjs";
3
4
  import isRelativeSpecifier from "./is-relative-specifier.mjs";
4
- const isBareSpecifier = (specifier) => {
5
- validateString(specifier, "specifier");
6
- return specifier.trim().length > 0 && !isAbsoluteSpecifier(specifier) && !isRelativeSpecifier(specifier);
7
- };
5
+ const isBareSpecifier = (specifier) => (validateString(specifier, "specifier"), !!trim(specifier).length && !isAbsoluteSpecifier(specifier) && !isRelativeSpecifier(specifier));
8
6
  var is_bare_specifier_default = isBareSpecifier;
9
7
  export {
10
8
  is_bare_specifier_default as default
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/is-bare-specifier.ts"],
4
- "mappings": "AAKA,OAAO,oBAAoB;AAE3B,OAAO,yBAAyB;AAChC,OAAO,yBAAyB;AAgBhC,MAAM,kBAAkB,CAAC,cAA+B;AACtD,iBAAe,WAAW,WAAW;AAErC,SACE,UAAU,KAAK,EAAE,SAAS,KAC1B,CAAC,oBAAoB,SAAS,KAC9B,CAAC,oBAAoB,SAAS;AAElC;AAEA,IAAO,4BAAQ;",
3
+ "sources": [
4
+ "src/utils/is-bare-specifier.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,OAAO,oBAAoB;AAE3B,SAAS,YAAY;AACrB,OAAO,yBAAyB;AAChC,OAAO,yBAAyB;AAgBhC,MAAM,kBAAkB,CAAC,eACvB,eAAe,WAAW,WAAW,GAGnC,CAAC,CAAC,KAAK,SAAS,EAAE,UAClB,CAAC,oBAAoB,SAAS,KAC9B,CAAC,oBAAoB,SAAS;AAIlC,IAAO,4BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -0,0 +1,14 @@
1
+ import validateURLString from "../internal/validate-url-string.mjs";
2
+ import fs from "node:fs";
3
+ const isDirectory = (id) => {
4
+ try {
5
+ return validateURLString(id, "id"), fs.statSync(id, { throwIfNoEntry: !1 })?.isDirectory() ?? !1;
6
+ } catch {
7
+ return !1;
8
+ }
9
+ };
10
+ var is_directory_default = isDirectory;
11
+ export {
12
+ is_directory_default as default
13
+ };
14
+ //# sourceMappingURL=is-directory.mjs.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [
4
+ "src/utils/is-directory.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,OAAO,uBAAuB;AAE9B,OAAO,QAAQ;AAQf,MAAM,cAAc,CAAC,OAA0B;AAC7C,MAAI;AACF,6BAAkB,IAAI,IAAI,GACnB,GAAG,SAAS,IAAI,EAAE,gBAAgB,GAAM,CAAC,GAAG,YAAY,KAAK;AAAA,EACtE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,IAAO,uBAAQ;",
8
+ "names": []
9
+ }
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { ModuleId } from '../types/index.mjs';
6
6
  import type { Exports } from '@flex-development/pkg-types';
7
+ import { type Nilable } from '@flex-development/tutils';
7
8
  /**
8
9
  * Checks if the given package [`exports`][1] value is using [exports sugar][2].
9
10
  *
@@ -13,7 +14,7 @@ import type { Exports } from '@flex-development/pkg-types';
13
14
  * @see {@linkcode Exports}
14
15
  * @see {@linkcode ModuleId}
15
16
  *
16
- * @param {Exports | undefined} exports - Package `exports`
17
+ * @param {Nilable<Exports>} exports - Package `exports`
17
18
  * @param {ModuleId} pkg - URL of relevant `package.json` file
18
19
  * @param {ModuleId} parent - URL of module to resolve from
19
20
  * @return {boolean} `true` if `exports` is using exports sugar
@@ -21,5 +22,5 @@ import type { Exports } from '@flex-development/pkg-types';
21
22
  * instance of {@linkcode URL} or a string, or if `exports` configuration or
22
23
  * schema is invalid
23
24
  */
24
- declare const isExportsSugar: (exports: Exports | undefined, pkg: ModuleId, parent: ModuleId) => boolean;
25
+ declare const isExportsSugar: (exports: Nilable<Exports>, pkg: ModuleId, parent: ModuleId) => boolean;
25
26
  export default isExportsSugar;
@@ -1,21 +1,24 @@
1
- import { isNIL } from "@flex-development/tutils";
1
+ import {
2
+ at,
3
+ cast,
4
+ DOT,
5
+ isArray,
6
+ isObjectCurly,
7
+ isString
8
+ } from "@flex-development/tutils";
2
9
  import validateExports from "./validate-exports.mjs";
3
10
  const isExportsSugar = (exports, pkg, parent) => {
4
- var _a;
5
- let sugar = false;
6
- switch (true) {
7
- case Array.isArray(exports):
8
- case typeof exports === "string":
9
- sugar = true;
11
+ let sugar = !1;
12
+ switch (!0) {
13
+ case isArray(exports):
14
+ case isString(exports):
15
+ sugar = !0;
10
16
  break;
11
- case isNIL(exports):
12
- case typeof exports !== "object":
13
- sugar = false;
17
+ case !isObjectCurly(exports):
18
+ sugar = !1;
14
19
  break;
15
20
  default:
16
- exports = exports;
17
- validateExports(exports, pkg, parent);
18
- sugar = !(((_a = Object.getOwnPropertyNames(exports)[0]) == null ? void 0 : _a.startsWith(".")) ?? true);
21
+ exports = cast(exports), validateExports(exports, pkg, parent), sugar = !at(Object.getOwnPropertyNames(exports), 0, DOT).startsWith(DOT);
19
22
  }
20
23
  return sugar;
21
24
  };
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/is-exports-sugar.ts"],
4
- "mappings": "AAQA,SAAS,aAAa;AACtB,OAAO,qBAAqB;AAmB5B,MAAM,iBAAiB,CACrB,SACA,KACA,WACY;AAhCd;AAwCE,MAAI,QAAiB;AAGrB,UAAQ,MAAM;AAAA,IACZ,KAAK,MAAM,QAAQ,OAAO;AAAA,IAC1B,KAAK,OAAO,YAAY;AACtB,cAAQ;AACR;AAAA,IACF,KAAK,MAAM,OAAO;AAAA,IAClB,KAAK,OAAO,YAAY;AACtB,cAAQ;AACR;AAAA,IACF;AACE,gBAAU;AAWV,sBAAgB,SAAS,KAAK,MAAM;AAGpC,cAAQ,IAAE,YAAO,oBAAoB,OAAO,EAAE,CAAC,MAArC,mBAAwC,WAAW,SAAQ;AAAA,EACzE;AAEA,SAAO;AACT;AAEA,IAAO,2BAAQ;",
3
+ "sources": [
4
+ "src/utils/is-exports-sugar.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAQA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,OAAO,qBAAqB;AAmB5B,MAAM,iBAAiB,CACrB,SACA,KACA,WACY;AAQZ,MAAI,QAAiB;AAGrB,UAAQ,IAAM;AAAA,IACZ,KAAK,QAAQ,OAAO;AAAA,IACpB,KAAK,SAAS,OAAO;AACnB,cAAQ;AACR;AAAA,IACF,KAAK,CAAC,cAAc,OAAO;AACzB,cAAQ;AACR;AAAA,IACF;AACE,gBAAU,KAA8B,OAAO,GAW/C,gBAAgB,SAAS,KAAK,MAAM,GAGpC,QAAQ,CAAC,GAAG,OAAO,oBAAoB,OAAO,GAAG,GAAG,GAAG,EAAE,WAAW,GAAG;AAAA,EAC3E;AAEA,SAAO;AACT;AAEA,IAAO,2BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -0,0 +1,14 @@
1
+ import validateURLString from "../internal/validate-url-string.mjs";
2
+ import fs from "node:fs";
3
+ const isFile = (id) => {
4
+ try {
5
+ return validateURLString(id, "id"), fs.statSync(id, { throwIfNoEntry: !1 })?.isFile() ?? !1;
6
+ } catch {
7
+ return !1;
8
+ }
9
+ };
10
+ var is_file_default = isFile;
11
+ export {
12
+ is_file_default as default
13
+ };
14
+ //# sourceMappingURL=is-file.mjs.map
@@ -0,0 +1,9 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [
4
+ "src/utils/is-file.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,OAAO,uBAAuB;AAE9B,OAAO,QAAQ;AAQf,MAAM,SAAS,CAAC,OAA0B;AACxC,MAAI;AACF,6BAAkB,IAAI,IAAI,GACnB,GAAG,SAAS,IAAI,EAAE,gBAAgB,GAAM,CAAC,GAAG,OAAO,KAAK;AAAA,EACjE,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAEA,IAAO,kBAAQ;",
8
+ "names": []
9
+ }
@@ -14,7 +14,6 @@
14
14
  *
15
15
  * @param {string} specifier - Specifier to evaluate
16
16
  * @return {boolean} `true` if `specifier` is relative specifier
17
- * @throws {NodeError<TypeError>} If `specifier` is not a string
18
17
  */
19
18
  declare const isRelativeSpecifier: (specifier: string) => boolean;
20
19
  export default isRelativeSpecifier;
@@ -1,9 +1,7 @@
1
1
  import validateString from "../internal/validate-string.mjs";
2
2
  import pathe from "@flex-development/pathe";
3
- const isRelativeSpecifier = (specifier) => {
4
- validateString(specifier, "specifier");
5
- return specifier.startsWith(".") ? specifier.length === 1 || specifier[1] === pathe.sep ? true : specifier[1] === "." && (specifier.length === 2 || specifier[2] === pathe.sep) : false;
6
- };
3
+ import { DOT, at } from "@flex-development/tutils";
4
+ const isRelativeSpecifier = (specifier) => (validateString(specifier, "specifier"), specifier.startsWith(DOT) ? specifier.length === 1 || at(specifier, 1) === pathe.sep ? !0 : at(specifier, 1) === DOT && (specifier.length === 2 || at(specifier, 2) === pathe.sep) : !1);
7
5
  var is_relative_specifier_default = isRelativeSpecifier;
8
6
  export {
9
7
  is_relative_specifier_default as default
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/is-relative-specifier.ts"],
4
- "mappings": "AAKA,OAAO,oBAAoB;AAE3B,OAAO,WAAW;AAgBlB,MAAM,sBAAsB,CAAC,cAA+B;AAC1D,iBAAe,WAAW,WAAW;AAErC,SAAO,UAAU,WAAW,GAAG,IAC3B,UAAU,WAAW,KAAK,UAAU,CAAC,MAAM,MAAM,MAC/C,OACA,UAAU,CAAC,MAAM,QAChB,UAAU,WAAW,KAAK,UAAU,CAAC,MAAM,MAAM,OACpD;AACN;AAEA,IAAO,gCAAQ;",
3
+ "sources": [
4
+ "src/utils/is-relative-specifier.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,OAAO,oBAAoB;AAC3B,OAAO,WAAW;AAClB,SAAS,KAAK,UAAU;AAexB,MAAM,sBAAsB,CAAC,eAC3B,eAAe,WAAW,WAAW,GAE9B,UAAU,WAAW,GAAG,IAC3B,UAAU,WAAW,KAAK,GAAG,WAAW,CAAC,MAAM,MAAM,MACnD,KACA,GAAG,WAAW,CAAC,MAAM,QACpB,UAAU,WAAW,KAAK,GAAG,WAAW,CAAC,MAAM,MAAM,OACxD;AAGN,IAAO,gCAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import type { PackageScope } from '../interfaces/index.mjs';
6
6
  import type { ModuleId } from '../types/index.mjs';
7
- import type { Nullable } from '@flex-development/tutils';
7
+ import { type Nullable } from '@flex-development/tutils';
8
8
  /**
9
9
  * Finds a `package.json` file for the given module `id`. Ends the search at the
10
10
  * given end point **after** checking for a `package.json` file.
@@ -1,17 +1,13 @@
1
1
  import validateURLString from "../internal/validate-url-string.mjs";
2
2
  import pathe from "@flex-development/pathe";
3
+ import { DOT } from "@flex-development/tutils";
3
4
  import { pathToFileURL } from "node:url";
4
5
  import readPackageJson from "./read-package-json.mjs";
5
6
  import toURL from "./to-url.mjs";
6
7
  const lookupPackageScope = (id, stopdir = pathe.sep, specifier, parent) => {
7
- validateURLString(id, "id");
8
- validateURLString(stopdir, "stopdir");
9
- stopdir = toURL(stopdir).pathname;
10
- let dir = toURL(id).pathname;
11
- let scope = null;
12
- while (dir && !dir.endsWith("node_modules")) {
13
- if (pathe.relative(stopdir, dir).startsWith("../"))
14
- break;
8
+ validateURLString(id, "id"), validateURLString(stopdir, "stopdir"), stopdir = toURL(stopdir).pathname;
9
+ let dir = toURL(id).pathname, scope = null;
10
+ for (; dir && !dir.endsWith("node_modules") && !pathe.relative(stopdir, dir).startsWith(DOT.repeat(2) + "/"); ) {
15
11
  const pkgjson = readPackageJson(
16
12
  dir,
17
13
  specifier,
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/lookup-package-scope.ts"],
4
- "mappings": "AAMA,OAAO,uBAAuB;AAG9B,OAAO,WAAW;AAGlB,SAAS,qBAAqB;AAC9B,OAAO,qBAAqB;AAC5B,OAAO,WAAW;AAmBlB,MAAM,qBAAqB,CACzB,IACA,UAAoB,MAAM,KAC1B,WACA,WAC2B;AAC3B,oBAAkB,IAAI,IAAI;AAC1B,oBAAkB,SAAS,SAAS;AAGpC,YAAU,MAAM,OAAO,EAAE;AAOzB,MAAI,MAAc,MAAM,EAAE,EAAE;AAO5B,MAAI,QAAgC;AAGpC,SAAO,OAAO,CAAC,IAAI,SAAS,cAAc,GAAG;AAE3C,QAAI,MAAM,SAAS,SAAS,GAAG,EAAE,WAAW,KAAK;AAAG;AAOpD,UAAM,UAAiC;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAGA,QAAI,SAAS;AACX,cAAQ;AAAA,QACN,KAAK,cAAe,MAAM,MAAM,QAAQ,QAAQ,IAAI,GAAG,GAAG,CAAE,EAAE;AAAA,QAC9D,KAAK,cAAc,MAAM,KAAK,KAAK,cAAc,CAAC,EAAE;AAAA,QACpD;AAAA,MACF;AAEA;AAAA,IACF;AAGA,QAAI,QAAQ,QAAQ,QAAQ,OAAO,EAAE;AAAG;AAGxC,UAAM,MAAM,QAAQ,GAAG;AAAA,EACzB;AAEA,SAAO;AACT;AAEA,IAAO,+BAAQ;",
3
+ "sources": [
4
+ "src/utils/lookup-package-scope.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAMA,OAAO,uBAAuB;AAG9B,OAAO,WAAW;AAElB,SAAS,WAA0B;AACnC,SAAS,qBAAqB;AAC9B,OAAO,qBAAqB;AAC5B,OAAO,WAAW;AAmBlB,MAAM,qBAAqB,CACzB,IACA,UAAoB,MAAM,KAC1B,WACA,WAC2B;AAC3B,oBAAkB,IAAI,IAAI,GAC1B,kBAAkB,SAAS,SAAS,GAGpC,UAAU,MAAM,OAAO,EAAE;AAOzB,MAAI,MAAc,MAAM,EAAE,EAAE,UAOxB,QAAgC;AAGpC,SAAO,OAAO,CAAC,IAAI,SAAS,cAAc,KAEpC,OAAM,SAAS,SAAS,GAAG,EAAE,WAAW,IAAI,OAAO,CAAC,IAAI,GAAG,KAFpB;AAS3C,UAAM,UAAiC;AAAA,MACrC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAGA,QAAI,SAAS;AACX,cAAQ;AAAA,QACN,KAAK,cAAe,MAAM,MAAM,QAAQ,QAAQ,IAAI,GAAG,GAAG,CAAE,EAAE;AAAA,QAC9D,KAAK,cAAc,MAAM,KAAK,KAAK,cAAc,CAAC,EAAE;AAAA,QACpD;AAAA,MACF;AAEA;AAAA,IACF;AAGA,QAAI,QAAQ,QAAQ,QAAQ,OAAO,EAAE;AAAG;AAGxC,UAAM,MAAM,QAAQ,GAAG;AAAA,EACzB;AAEA,SAAO;AACT;AAEA,IAAO,+BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  ERR_INVALID_URL
3
3
  } from "@flex-development/errnode";
4
+ import { cast, trim } from "@flex-development/tutils";
4
5
  import toURL from "./to-url.mjs";
5
6
  const parseDataURL = (url) => {
6
7
  url = toURL(url);
7
- const regex = /^(?<protocol>data:)(?<mime>[^/]+\/[^,;]+)[^,]*?(?:;(?<base64>base64))?,(?<data>[\S\s]*?)$/;
8
- const match = regex.exec(url.href);
8
+ const match = /^(?<protocol>data:)(?<mime>[^/]+\/[^,;]+)[^,]*?(?:;(?<base64>base64))?,(?<data>[\S\s]*?)$/.exec(url.href);
9
9
  if (!match)
10
10
  throw new ERR_INVALID_URL(url.href);
11
11
  const [, , mime = "", base64, data = ""] = match;
12
12
  return {
13
13
  base64: !!base64,
14
- data: data.trim(),
14
+ data: trim(data),
15
15
  href: url.href,
16
16
  mime,
17
17
  pathname: url.pathname,
18
- protocol: url.protocol
18
+ protocol: cast(url.protocol)
19
19
  };
20
20
  };
21
21
  var parse_data_url_default = parseDataURL;
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/parse-data-url.ts"],
4
- "mappings": "AAMA;AAAA,EACE;AAAA,OAGK;AAGP,OAAO,WAAW;AAmBlB,MAAM,eAAe,CAAC,QAAqC;AAEzD,QAAM,MAAM,GAAG;AAUf,QAAM,QACJ;AAOF,QAAM,QAAmC,MAAM,KAAK,IAAI,IAAI;AAG5D,MAAI,CAAC;AAAO,UAAM,IAAI,gBAAgB,IAAI,IAAI;AAG9C,QAAM,CAAC,EAAE,EAAE,OAAO,IAAI,QAAQ,OAAO,EAAE,IAAI;AAE3C,SAAO;AAAA,IACL,QAAQ,CAAC,CAAC;AAAA,IACV,MAAM,KAAK,KAAK;AAAA,IAChB,MAAM,IAAI;AAAA,IACV;AAAA,IACA,UAAU,IAAI;AAAA,IACd,UAAU,IAAI;AAAA,EAChB;AACF;AAEA,IAAO,yBAAQ;",
3
+ "sources": [
4
+ "src/utils/parse-data-url.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAMA;AAAA,EACE;AAAA,OAGK;AACP,SAAS,MAAM,YAA2B;AAE1C,OAAO,WAAW;AAmBlB,MAAM,eAAe,CAAC,QAAqC;AAEzD,QAAM,MAAM,GAAG;AAkBf,QAAM,QAPJ,4FAO6C,KAAK,IAAI,IAAI;AAG5D,MAAI,CAAC;AAAO,UAAM,IAAI,gBAAgB,IAAI,IAAI;AAG9C,QAAM,CAAC,EAAE,EAAE,OAAO,IAAI,QAAQ,OAAO,EAAE,IAAI;AAE3C,SAAO;AAAA,IACL,QAAQ,CAAC,CAAC;AAAA,IACV,MAAM,KAAK,IAAI;AAAA,IACf,MAAM,IAAI;AAAA,IACV;AAAA,IACA,UAAU,IAAI;AAAA,IACd,UAAU,KAAK,IAAI,QAAQ;AAAA,EAC7B;AACF;AAEA,IAAO,yBAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -8,22 +8,25 @@ import {
8
8
  } from "@flex-development/errnode";
9
9
  import { isBuiltin } from "@flex-development/is-builtin";
10
10
  import pathe from "@flex-development/pathe";
11
+ import {
12
+ DOT,
13
+ cast,
14
+ isString,
15
+ isUndefined,
16
+ trim
17
+ } from "@flex-development/tutils";
11
18
  import { URL, fileURLToPath } from "node:url";
12
19
  import isBareSpecifier from "./is-bare-specifier.mjs";
13
20
  import isRelativeSpecifier from "./is-relative-specifier.mjs";
14
21
  import toNodeURL from "./to-node-url.mjs";
15
22
  const parseModuleId = (id, options = {}) => {
16
23
  const {
17
- internal = id instanceof URL ? false : id.startsWith("#"),
18
- pkgname = false
24
+ internal = id instanceof URL ? !1 : id.startsWith("#"),
25
+ pkgname = !1
19
26
  } = options;
20
- validateURLString(id, "id");
21
- validateBoolean(internal, "options.internal");
22
- validateBoolean(pkgname, "options.pkgname");
23
- id = id instanceof URL ? id.href : id.trim();
24
- let error;
25
- let parsed = {
26
- internal: false,
27
+ validateURLString(id, "id"), validateBoolean(internal, "options.internal"), validateBoolean(pkgname, "options.pkgname"), id = id instanceof URL ? id.href : trim(id);
28
+ let error, parsed = {
29
+ internal: !1,
27
30
  path: id,
28
31
  pkg: "",
29
32
  protocol: "",
@@ -32,14 +35,14 @@ const parseModuleId = (id, options = {}) => {
32
35
  version: "",
33
36
  version_prefix: ""
34
37
  };
35
- switch (true) {
38
+ switch (!0) {
36
39
  case ENCODED_SEP_REGEX.test(id):
37
40
  error = `must not include encoded '${pathe.sep}' or '\\' characters`;
38
41
  break;
39
42
  case isBuiltin(id):
40
43
  const { href, protocol, pathname } = new URL(toNodeURL(id));
41
44
  parsed = {
42
- internal: false,
45
+ internal: !1,
43
46
  path: pathname.replace(/^\S+?(?=\/|$)/, ""),
44
47
  pkg: href.replace(/\/.*$/, ""),
45
48
  protocol: id.startsWith("node:") ? protocol : "",
@@ -52,7 +55,7 @@ const parseModuleId = (id, options = {}) => {
52
55
  case INTERNAL_SPECIFIER_REGEX.test(id):
53
56
  const [, root = ""] = INTERNAL_SPECIFIER_REGEX.exec(id);
54
57
  parsed = {
55
- internal: true,
58
+ internal: !0,
56
59
  path: id,
57
60
  pkg: root,
58
61
  protocol: "",
@@ -72,8 +75,8 @@ const parseModuleId = (id, options = {}) => {
72
75
  subpath = ""
73
76
  ] = PACKAGE_PATH_REGEX.exec(id);
74
77
  parsed = {
75
- internal: false,
76
- path: "." + subpath,
78
+ internal: !1,
79
+ path: DOT + subpath,
77
80
  pkg,
78
81
  protocol: "",
79
82
  raw: id,
@@ -86,7 +89,7 @@ const parseModuleId = (id, options = {}) => {
86
89
  try {
87
90
  const { host, protocol: protocol2, pathname: pathname2 } = new URL(id);
88
91
  parsed = {
89
- internal: false,
92
+ internal: !1,
90
93
  path: host + pathname2,
91
94
  pkg: "",
92
95
  protocol: protocol2,
@@ -99,22 +102,17 @@ const parseModuleId = (id, options = {}) => {
99
102
  error = "is not a valid URL";
100
103
  }
101
104
  break;
102
- case isBareSpecifier(id):
103
- case isRelativeSpecifier(id):
105
+ case isBareSpecifier(cast(id)):
106
+ case isRelativeSpecifier(cast(id)):
104
107
  case pathe.isAbsolute(id):
105
108
  break;
106
109
  default:
107
110
  error = "";
108
111
  break;
109
112
  }
110
- error = ENCODED_SEP_REGEX.test(id) ? error : internal && !INTERNAL_SPECIFIER_REGEX.test(id) ? "is not a valid internal imports specifier name" : pkgname && !PACKAGE_PATH_REGEX.test(id) ? "does not start with a valid package name" : error;
111
- if (error !== void 0) {
113
+ if (error = ENCODED_SEP_REGEX.test(id) ? error : internal && !INTERNAL_SPECIFIER_REGEX.test(id) ? "is not a valid internal imports specifier name" : pkgname && !PACKAGE_PATH_REGEX.test(id) ? "does not start with a valid package name" : error, isString(error)) {
112
114
  let { parent } = options;
113
- if (parent !== void 0) {
114
- validateURLString(parent, "options.parent");
115
- parent = fileURLToPath(parent);
116
- }
117
- throw new ERR_INVALID_MODULE_SPECIFIER(id, error, parent);
115
+ throw isUndefined(parent) || (validateURLString(parent, "options.parent"), parent = fileURLToPath(parent)), new ERR_INVALID_MODULE_SPECIFIER(id, error, parent);
118
116
  }
119
117
  return parsed;
120
118
  };
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/parse-module-id.ts"],
4
- "mappings": "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",
5
- "names": ["protocol", "pathname"]
6
- }
3
+ "sources": [
4
+ "src/utils/parse-module-id.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "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",
8
+ "names": [
9
+ "protocol",
10
+ "pathname"
11
+ ]
12
+ }
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { ParseSubpathOptions, ParsedSubpath } from '../interfaces/index.mjs';
6
6
  import type { Exports, Imports } from '@flex-development/pkg-types';
7
+ import { type Optional } from '@flex-development/tutils';
7
8
  /**
8
9
  * Creates an object representation of a subpath export or import from the given
9
10
  * module `specifier` after ensuring the subpath defined in `specifier` is also
@@ -25,10 +26,10 @@ import type { Exports, Imports } from '@flex-development/pkg-types';
25
26
  * @see https://nodejs.org/api/packages.html#subpath-imports
26
27
  *
27
28
  * @param {string} specifier - Module specifier to evaluate
28
- * @param {Exports | Imports | undefined} context - Package context
29
+ * @param {Optional<Exports | Imports>} context - Package context
29
30
  * @param {ParseSubpathOptions} options - Parsing options
30
31
  * @return {ParsedSubpath} Object representing package subpath
31
32
  * @throws {NodeError<Error | TypeError>}
32
33
  */
33
- declare const parseSubpath: (specifier: string, context: Exports | Imports | undefined, options: ParseSubpathOptions) => ParsedSubpath;
34
+ declare const parseSubpath: (specifier: string, context: Optional<Exports | Imports>, options: ParseSubpathOptions) => ParsedSubpath;
34
35
  export default parseSubpath;