@flex-development/mlly 1.0.0-alpha.14 → 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 +203 -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 -34
  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 +22 -10
  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,5 +1,4 @@
1
1
  import getSubpaths from "../internal/get-subpaths.mjs";
2
- import isArrayIndex from "../internal/is-array-index.mjs";
3
2
  import invalidSegmentRegex from "../internal/regex-invalid-segment.mjs";
4
3
  import PACKAGE_NAME_REGEX from "../internal/regex-package-name.mjs";
5
4
  import validateArraySet from "../internal/validate-array-set.mjs";
@@ -14,7 +13,18 @@ import {
14
13
  ErrorCode
15
14
  } from "@flex-development/errnode";
16
15
  import pathe from "@flex-development/pathe";
17
- import { CompareResult, isNIL } from "@flex-development/tutils";
16
+ import {
17
+ CompareResult,
18
+ DOT,
19
+ cast,
20
+ get,
21
+ isArray,
22
+ isArrayIndex,
23
+ isNIL,
24
+ isNull,
25
+ isObjectCurly,
26
+ isString
27
+ } from "@flex-development/tutils";
18
28
  import { URL, fileURLToPath, pathToFileURL } from "node:url";
19
29
  import compareSubpaths from "./compare-subpaths.mjs";
20
30
  import CONDITIONS from "./conditions.mjs";
@@ -29,22 +39,13 @@ const parseSubpath = (specifier, context, options) => {
29
39
  internal = specifier.startsWith("#"),
30
40
  parent
31
41
  } = options;
32
- validateString(specifier, "specifier");
33
- validateString(condition, "options.condition");
34
- validateArraySet(conditions, "options.conditions");
35
- validateURLString(dir, "options.dir");
36
- validateBoolean(internal, "options.internal");
37
- validateURLString(parent, "options.parent");
42
+ validateString(specifier, "specifier"), validateString(condition, "options.condition"), validateArraySet(conditions, "options.conditions"), validateURLString(dir, "options.dir"), validateBoolean(internal, "options.internal"), validateURLString(parent, "options.parent");
38
43
  const id = parseModuleId(specifier, {
39
44
  internal,
40
45
  parent,
41
46
  pkgname: !internal
42
- });
43
- const pkgdir = fileURLToPath(dir).replace(/\/$/, "") + pathe.sep;
44
- const pkg = new URL("package.json", pathToFileURL(pkgdir));
45
- const keys = getSubpaths(context, id.internal, pkg, parent);
46
- let key = null;
47
- let base = "";
47
+ }), pkgdir = fileURLToPath(dir).replace(/\/$/, "") + pathe.sep, pkg = new URL("package.json", pathToFileURL(pkgdir)), keys = getSubpaths(context, id.internal, pkg, parent);
48
+ let key = null, base = "";
48
49
  for (const pkgsubpath of keys) {
49
50
  const pattern = pkgsubpath.indexOf(PATTERN_CHARACTER);
50
51
  if (pattern === -1 && pkgsubpath === id.path) {
@@ -53,31 +54,26 @@ const parseSubpath = (specifier, context, options) => {
53
54
  }
54
55
  if (pattern !== -1 && id.path.startsWith(pkgsubpath.slice(0, pattern))) {
55
56
  const trailer = pkgsubpath.slice(pattern + 1);
56
- if (id.path.length >= pkgsubpath.length && id.path.endsWith(trailer) && compareSubpaths(key ?? "", pkgsubpath) === CompareResult.GREATER_THAN && pkgsubpath.lastIndexOf(PATTERN_CHARACTER) === pattern) {
57
- key = pkgsubpath;
58
- base = id.path.slice(pattern, id.path.length - trailer.length);
59
- }
57
+ id.path.length >= pkgsubpath.length && id.path.endsWith(trailer) && compareSubpaths(key ?? "", pkgsubpath) === CompareResult.GREATER_THAN && pkgsubpath.lastIndexOf(PATTERN_CHARACTER) === pattern && (key = pkgsubpath, base = id.path.slice(pattern, id.path.length - trailer.length));
60
58
  }
61
59
  }
62
- if (key === null) {
60
+ if (isNull(key)) {
63
61
  let { parent: parent2 } = options;
64
- parent2 = fileURLToPath(parent2);
65
- throw internal ? new ERR_PACKAGE_IMPORT_NOT_DEFINED(id.path, parent2, pkgdir) : new ERR_PACKAGE_PATH_NOT_EXPORTED(pkgdir, id.path, parent2);
62
+ throw parent2 = fileURLToPath(parent2), internal ? new ERR_PACKAGE_IMPORT_NOT_DEFINED(id.path, parent2, pkgdir) : new ERR_PACKAGE_PATH_NOT_EXPORTED(pkgdir, id.path, parent2);
66
63
  }
67
64
  const findPackageTarget = (data) => {
68
65
  let target = null;
69
- switch (true) {
66
+ switch (!0) {
70
67
  case isNIL(data):
71
68
  target = null;
72
69
  break;
73
- case Array.isArray(data):
70
+ case isArray(data):
74
71
  let error;
75
- for (const item of data) {
72
+ for (const item of cast(data)) {
76
73
  try {
77
74
  target = findPackageTarget(item);
78
75
  } catch (e) {
79
- error = e;
80
- if (error.code !== ErrorCode.ERR_INVALID_PACKAGE_TARGET)
76
+ if (error = cast(e), error.code !== ErrorCode.ERR_INVALID_PACKAGE_TARGET)
81
77
  throw error;
82
78
  continue;
83
79
  }
@@ -89,40 +85,32 @@ const parseSubpath = (specifier, context, options) => {
89
85
  if (error)
90
86
  throw error;
91
87
  break;
92
- case typeof data === "object":
93
- data = data;
88
+ case isObjectCurly(data):
89
+ data = cast(data);
94
90
  for (const property of Object.getOwnPropertyNames(data)) {
95
- if (isArrayIndex(property)) {
91
+ if (isArrayIndex(property))
96
92
  throw new ERR_INVALID_PACKAGE_CONFIG(
97
93
  fileURLToPath(pkg),
98
94
  fileURLToPath(parent),
99
95
  '"exports" cannot contain numeric property keys'
100
96
  );
101
- }
102
- if (property === condition || new Set(conditions).has(property)) {
103
- target = findPackageTarget(data[property]);
104
- if (target)
105
- break;
106
- }
97
+ if ((property === condition || new Set(conditions).has(property)) && (target = findPackageTarget(data[property]), target))
98
+ break;
107
99
  }
108
100
  break;
109
- case typeof data === "string":
110
- target = data;
111
- switch (true) {
101
+ case isString(data):
102
+ switch (target = cast(data), !0) {
112
103
  case (internal && PACKAGE_NAME_REGEX.test(target)):
113
104
  break;
114
- case target.startsWith("." + pathe.sep):
115
- if (invalidSegmentRegex().test(target.slice(2))) {
116
- if (invalidSegmentRegex("deprecated").test(target.slice(2))) {
117
- throw new ERR_INVALID_PACKAGE_TARGET(
118
- fileURLToPath(dir),
119
- key,
120
- target,
121
- internal,
122
- fileURLToPath(parent)
123
- );
124
- }
125
- }
105
+ case target.startsWith(DOT + pathe.sep):
106
+ if (invalidSegmentRegex().test(target.slice(2)) && invalidSegmentRegex("deprecated").test(target.slice(2)))
107
+ throw new ERR_INVALID_PACKAGE_TARGET(
108
+ fileURLToPath(dir),
109
+ key,
110
+ target,
111
+ internal,
112
+ fileURLToPath(parent)
113
+ );
126
114
  break;
127
115
  default:
128
116
  throw new ERR_INVALID_PACKAGE_TARGET(
@@ -145,16 +133,13 @@ const parseSubpath = (specifier, context, options) => {
145
133
  }
146
134
  return target;
147
135
  };
148
- if (!internal && isExportsSugar(context, pkg, parent)) {
149
- context = { ".": context };
150
- }
151
- return {
136
+ return !internal && isExportsSugar(context, pkg, parent) && (context = cast({ [DOT]: context })), {
152
137
  base,
153
138
  internal,
154
139
  key,
155
140
  raw: id.path,
156
141
  specifier: id.raw,
157
- target: findPackageTarget(context[key])
142
+ target: findPackageTarget(get(context, key))
158
143
  };
159
144
  };
160
145
  var parse_subpath_default = parseSubpath;
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/parse-subpath.ts"],
4
- "mappings": "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",
5
- "names": ["parent"]
6
- }
3
+ "sources": [
4
+ "src/utils/parse-subpath.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
+ "parent"
10
+ ]
11
+ }
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/pattern-character.ts"],
3
+ "sources": [
4
+ "src/utils/pattern-character.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
4
7
  "mappings": "AAUA,MAAM,oBAA4B;AAElC,IAAO,4BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,4 +1,3 @@
1
- import isFile from "../internal/is-file.mjs";
2
1
  import validateString from "../internal/validate-string.mjs";
3
2
  import validateURLString from "../internal/validate-url-string.mjs";
4
3
  import {
@@ -6,18 +5,18 @@ import {
6
5
  } from "@flex-development/errnode";
7
6
  import pathe from "@flex-development/pathe";
8
7
  import {
8
+ DOT,
9
+ cast,
9
10
  isEmptyString,
10
11
  isNIL,
11
12
  isUndefined
12
13
  } from "@flex-development/tutils";
13
14
  import fs from "node:fs";
14
15
  import { fileURLToPath } from "node:url";
16
+ import isFile from "./is-file.mjs";
15
17
  import toURL from "./to-url.mjs";
16
- const readPackageJson = (dir = ".", specifier, parent) => {
17
- validateURLString(dir, "dir");
18
- !isUndefined(specifier) && validateString(specifier, "specifier");
19
- !isUndefined(parent) && validateURLString(parent, "parent");
20
- dir = fileURLToPath(toURL(dir));
18
+ const readPackageJson = (dir = DOT, specifier, parent) => {
19
+ validateURLString(dir, "dir"), !isUndefined(specifier) && validateString(specifier, "specifier"), !isUndefined(parent) && validateURLString(parent, "parent"), dir = fileURLToPath(toURL(dir));
21
20
  const path = pathe.toNamespacedPath(pathe.join(dir, "package.json"));
22
21
  if (!isFile(path))
23
22
  return null;
@@ -26,15 +25,19 @@ const readPackageJson = (dir = ".", specifier, parent) => {
26
25
  pkg = JSON.parse(fs.readFileSync(path, "utf8"));
27
26
  } catch (e) {
28
27
  let base;
29
- switch (true) {
28
+ switch (!0) {
30
29
  case (specifier && !isNIL(parent) && !isEmptyString(parent)):
31
30
  base = `'${specifier}' from ${fileURLToPath(toURL(parent))}`;
32
31
  break;
33
- case (specifier == null ? void 0 : specifier.startsWith("file:")):
32
+ case specifier?.startsWith("file:"):
34
33
  base = fileURLToPath(specifier);
35
34
  break;
36
35
  }
37
- throw new ERR_INVALID_PACKAGE_CONFIG(path, base, e.message);
36
+ throw new ERR_INVALID_PACKAGE_CONFIG(
37
+ path,
38
+ base,
39
+ cast(e).message
40
+ );
38
41
  }
39
42
  return pkg;
40
43
  };
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/read-package-json.ts"],
4
- "mappings": "AAKA,OAAO,YAAY;AACnB,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAE9B;AAAA,EACE;AAAA,OAEK;AACP,OAAO,WAAW;AAElB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAEK;AACP,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAC9B,OAAO,WAAW;AAmBlB,MAAM,kBAAkB,CACtB,MAAgB,KAChB,WACA,WAC0B;AAE1B,oBAAkB,KAAK,KAAK;AAG5B,GAAC,YAAY,SAAS,KAAK,eAAe,WAAW,WAAW;AAGhE,GAAC,YAAY,MAAM,KAAK,kBAAkB,QAAQ,QAAQ;AAG1D,QAAM,cAAc,MAAM,GAAG,CAAC;AAO9B,QAAM,OAAe,MAAM,iBAAiB,MAAM,KAAK,KAAK,cAAc,CAAC;AAG3E,MAAI,CAAC,OAAO,IAAI;AAAG,WAAO;AAO1B,MAAI;AAGJ,MAAI;AACF,UAAM,KAAK,MAAM,GAAG,aAAa,MAAM,MAAM,CAAC;AAAA,EAChD,SAAS,GAAP;AAQA,QAAI;AAGJ,YAAQ,MAAM;AAAA,MACZ,MAAK,aAAa,CAAC,MAAM,MAAM,KAAK,CAAC,cAAc,MAAM;AACvD,eAAO,IAAI,mBAAmB,cAAc,MAAM,MAAO,CAAC;AAC1D;AAAA,MACF,MAAK,uCAAW,WAAW;AACzB,eAAO,cAAc,SAAU;AAC/B;AAAA,IACJ;AAEA,UAAM,IAAI,2BAA2B,MAAM,MAAO,EAAkB,OAAO;AAAA,EAC7E;AAEA,SAAO;AACT;AAEA,IAAO,4BAAQ;",
3
+ "sources": [
4
+ "src/utils/read-package-json.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAE9B;AAAA,EACE;AAAA,OAEK;AACP,OAAO,WAAW;AAElB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AACP,OAAO,QAAQ;AACf,SAAS,qBAAqB;AAC9B,OAAO,YAAY;AACnB,OAAO,WAAW;AAmBlB,MAAM,kBAAkB,CACtB,MAAgB,KAChB,WACA,WAC0B;AAE1B,oBAAkB,KAAK,KAAK,GAG5B,CAAC,YAAY,SAAS,KAAK,eAAe,WAAW,WAAW,GAGhE,CAAC,YAAY,MAAM,KAAK,kBAAkB,QAAQ,QAAQ,GAG1D,MAAM,cAAc,MAAM,GAAG,CAAC;AAO9B,QAAM,OAAe,MAAM,iBAAiB,MAAM,KAAK,KAAK,cAAc,CAAC;AAG3E,MAAI,CAAC,OAAO,IAAI;AAAG,WAAO;AAO1B,MAAI;AAGJ,MAAI;AACF,UAAM,KAAK,MAAM,GAAG,aAAa,MAAM,MAAM,CAAC;AAAA,EAChD,SAAS,GAAY;AAQnB,QAAI;AAGJ,YAAQ,IAAM;AAAA,MACZ,MAAK,aAAa,CAAC,MAAM,MAAM,KAAK,CAAC,cAAc,MAAM;AACvD,eAAO,IAAI,SAAS,UAAU,cAAc,MAAM,MAAO,CAAC,CAAC;AAC3D;AAAA,MACF,KAAK,WAAW,WAAW,OAAO;AAChC,eAAO,cAAc,SAAU;AAC/B;AAAA,IACJ;AAEA,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,MACA,KAAkB,CAAC,EAAE;AAAA,IACvB;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAO,4BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,11 +1,21 @@
1
- import regexp from "../internal/escape-reg-exp.mjs";
2
1
  import validateArraySet from "../internal/validate-array-set.mjs";
3
2
  import validateBoolean from "../internal/validate-boolean.mjs";
4
3
  import validateObject from "../internal/validate-object.mjs";
5
4
  import validateString from "../internal/validate-string.mjs";
6
5
  import validateURLString from "../internal/validate-url-string.mjs";
7
6
  import pathe from "@flex-development/pathe";
8
- import { CompareResult, isNIL } from "@flex-development/tutils";
7
+ import {
8
+ CompareResult,
9
+ DOT,
10
+ flat,
11
+ get,
12
+ includes,
13
+ isNIL,
14
+ isNull,
15
+ keys,
16
+ regexp,
17
+ sort
18
+ } from "@flex-development/tutils";
9
19
  import { URL, pathToFileURL } from "node:url";
10
20
  import compareSubpaths from "./compare-subpaths.mjs";
11
21
  import CONDITIONS from "./conditions.mjs";
@@ -18,33 +28,23 @@ import toRelativeSpecifier from "./to-relative-specifier.mjs";
18
28
  import toURL from "./to-url.mjs";
19
29
  const resolveAlias = async (specifier, options = {}) => {
20
30
  const {
21
- absolute = true,
31
+ absolute = !0,
22
32
  aliases = {},
23
33
  condition = "default",
24
34
  conditions = CONDITIONS,
25
- cwd = pathToFileURL("."),
35
+ cwd = pathToFileURL(DOT),
26
36
  ext,
27
37
  extensions = RESOLVE_EXTENSIONS,
28
38
  parent = import.meta.url,
29
- preserveSymlinks = false
39
+ preserveSymlinks = !1
30
40
  } = options;
31
- validateString(specifier, "specifier");
32
- validateBoolean(absolute, "options.absolute");
33
- validateObject(aliases, "options.aliases");
34
- validateString(condition, "options.condition");
35
- validateArraySet(conditions, "options.conditions");
36
- validateURLString(cwd, "options.cwd");
37
- validateArraySet(extensions, "options.extensions");
38
- validateURLString(parent, "options.parent");
39
- validateBoolean(preserveSymlinks, "options.preserveSymlinks");
41
+ validateString(specifier, "specifier"), validateBoolean(absolute, "options.absolute"), validateObject(aliases, "options.aliases"), validateString(condition, "options.condition"), validateArraySet(conditions, "options.conditions"), validateURLString(cwd, "options.cwd"), validateArraySet(extensions, "options.extensions"), validateURLString(parent, "options.parent"), validateBoolean(preserveSymlinks, "options.preserveSymlinks");
40
42
  const id = parseModuleId(specifier, {
41
43
  parent: toURL(parent),
42
- pkgname: false
44
+ pkgname: !1
43
45
  });
44
- const keys = Object.keys(aliases).sort(compareSubpaths);
45
- let alias = null;
46
- let trail = "";
47
- for (const key of keys) {
46
+ let alias = null, trail = "";
47
+ for (const key of sort(keys(aliases), compareSubpaths)) {
48
48
  const pattern = key.indexOf(PATTERN_CHARACTER);
49
49
  if (pattern === -1 && key === id.raw) {
50
50
  alias = key;
@@ -52,35 +52,30 @@ const resolveAlias = async (specifier, options = {}) => {
52
52
  }
53
53
  if (pattern !== -1 && id.raw.startsWith(key.slice(0, pattern))) {
54
54
  const trailer = key.slice(pattern + 1);
55
- if (id.raw.length >= key.length && id.raw.endsWith(trailer) && compareSubpaths(alias ?? "", key) === CompareResult.GREATER_THAN && key.lastIndexOf(PATTERN_CHARACTER) === pattern) {
56
- alias = key;
57
- trail = id.raw.slice(pattern, id.raw.length - trailer.length);
58
- }
55
+ id.raw.length >= key.length && id.raw.endsWith(trailer) && compareSubpaths(alias ?? "", key) === CompareResult.GREATER_THAN && key.lastIndexOf(PATTERN_CHARACTER) === pattern && (alias = key, trail = id.raw.slice(pattern, id.raw.length - trailer.length));
59
56
  }
60
57
  }
61
- if (alias === null || isNIL(aliases[alias]))
58
+ if (isNull(alias) || isNIL(aliases[alias]))
62
59
  return specifier;
63
60
  const base = toURL(cwd).href.replace(/\/$/, "") + pathe.sep;
64
61
  let url = null;
65
- for (let segment of [aliases[alias]].flat()) {
66
- if (segment.includes(PATTERN_CHARACTER)) {
67
- segment = segment.replace(
68
- new RegExp(`${regexp(PATTERN_CHARACTER)}$`),
69
- trail
70
- );
71
- }
62
+ for (let segment of flat([get(aliases, alias, [])])) {
63
+ includes(segment, PATTERN_CHARACTER) && (segment = segment.replace(
64
+ new RegExp(`${regexp(PATTERN_CHARACTER)}$`),
65
+ trail
66
+ ));
72
67
  let tries = new Set(
73
68
  [
74
69
  "",
75
70
  ...[...extensions].map((ext2) => pathe.formatExt(ext2)),
76
71
  ...[...extensions].map((ext2) => "/index" + pathe.formatExt(ext2))
77
- ].map((suffix) => segment + suffix).filter((segment2) => segment2.length > 0).map((segment2) => new URL(segment2, base).pathname)
72
+ ].map((suffix) => segment + suffix).filter((segment2) => !!segment2.length).map((segment2) => new URL(segment2, base).pathname)
78
73
  );
79
74
  if (segment.startsWith("node_modules")) {
80
75
  const [trypath = ""] = [...tries];
81
76
  tries = /* @__PURE__ */ new Set([trypath.replace(/.*\/node_modules\//, ""), ...tries]);
82
77
  }
83
- for (const trypath of tries) {
78
+ for (const trypath of tries)
84
79
  try {
85
80
  url = await resolveModule(trypath, {
86
81
  condition,
@@ -94,7 +89,6 @@ const resolveAlias = async (specifier, options = {}) => {
94
89
  } catch {
95
90
  continue;
96
91
  }
97
- }
98
92
  if (url)
99
93
  break;
100
94
  }
@@ -1,6 +1,12 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/resolve-alias.ts"],
4
- "mappings": "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",
5
- "names": ["ext", "segment"]
6
- }
3
+ "sources": [
4
+ "src/utils/resolve-alias.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
+ "ext",
10
+ "segment"
11
+ ]
12
+ }
@@ -1,24 +1,22 @@
1
1
  import { SpecifierSyntaxKind } from "../enums/index.mjs";
2
- import regexp from "../internal/escape-reg-exp.mjs";
2
+ import { regexp } from "@flex-development/tutils";
3
3
  import extractStatements from "./extract-statements.mjs";
4
4
  import resolveAlias from "./resolve-alias.mjs";
5
5
  const resolveAliases = async (code, options = {}) => {
6
- for (const statement of extractStatements(code)) {
7
- if (!statement.specifier)
8
- continue;
9
- if (statement.specifier_syntax === SpecifierSyntaxKind.DYNAMIC)
10
- continue;
11
- const specifier = await resolveAlias(statement.specifier, options);
12
- if (specifier === statement.specifier)
13
- continue;
14
- code = code.replace(
15
- statement.code,
16
- statement.code.replace(
17
- new RegExp(`(?<=["'])${regexp(statement.specifier)}(?=["'])`),
18
- specifier
19
- )
20
- );
21
- }
6
+ for (const statement of extractStatements(code))
7
+ if (statement.specifier && statement.specifier_syntax !== SpecifierSyntaxKind.DYNAMIC) {
8
+ const specifier = await resolveAlias(
9
+ statement.specifier,
10
+ options
11
+ );
12
+ specifier !== statement.specifier && (code = code.replace(
13
+ statement.code,
14
+ statement.code.replace(
15
+ new RegExp(`(?<=["'])${regexp(statement.specifier)}(?=["'])`),
16
+ specifier
17
+ )
18
+ ));
19
+ }
22
20
  return code;
23
21
  };
24
22
  var resolve_aliases_default = resolveAliases;
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/resolve-aliases.ts"],
4
- "mappings": "AAKA,SAAS,2BAA2B;AAEpC,OAAO,YAAY;AACnB,OAAO,uBAAuB;AAC9B,OAAO,kBAAkB;AAczB,MAAM,iBAAiB,OACrB,MACA,UAA+B,CAAC,MACZ;AACpB,aAAW,aAAa,kBAAkB,IAAI,GAAG;AAE/C,QAAI,CAAC,UAAU;AAAW;AAG1B,QAAI,UAAU,qBAAqB,oBAAoB;AAAS;AAOhE,UAAM,YAAoB,MAAM,aAAa,UAAU,WAAW,OAAO;AAGzE,QAAI,cAAc,UAAU;AAAW;AAGvC,WAAO,KAAK;AAAA,MACV,UAAU;AAAA,MACV,UAAU,KAAK;AAAA,QACb,IAAI,OAAO,YAAY,OAAO,UAAU,SAAS,WAAW;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAO,0BAAQ;",
3
+ "sources": [
4
+ "src/utils/resolve-aliases.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,SAAS,2BAA2B;AAEpC,SAAS,cAAc;AACvB,OAAO,uBAAuB;AAC9B,OAAO,kBAAkB;AAczB,MAAM,iBAAiB,OACrB,MACA,UAA+B,CAAC,MACZ;AACpB,aAAW,aAAa,kBAAkB,IAAI;AAC5C,QAAI,UAAU,aACR,UAAU,qBAAqB,oBAAoB,SAAS;AAM9D,YAAM,YAAoB,MAAM;AAAA,QAC9B,UAAU;AAAA,QACV;AAAA,MACF;AAGA,MAAI,cAAc,UAAU,cAC1B,OAAO,KAAK;AAAA,QACV,UAAU;AAAA,QACV,UAAU,KAAK;AAAA,UACb,IAAI,OAAO,YAAY,OAAO,UAAU,SAAS,CAAC,UAAU;AAAA,UAC5D;AAAA,QACF;AAAA,MACF;AAAA,IAEJ;AAIJ,SAAO;AACT;AAEA,IAAO,0BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/resolve-extensions.ts"],
3
+ "sources": [
4
+ "src/utils/resolve-extensions.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
4
7
  "mappings": "AAcA,MAAM,qBAA+B,oBAAI,IAAI;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAO,6BAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,4 +1,3 @@
1
- import isFunction from "../internal/is-function.mjs";
2
1
  import Resolver from "../internal/resolver.mjs";
3
2
  import validateArraySet from "../internal/validate-array-set.mjs";
4
3
  import validateBoolean from "../internal/validate-boolean.mjs";
@@ -7,7 +6,8 @@ import validateURLString from "../internal/validate-url-string.mjs";
7
6
  import { ErrorCode } from "@flex-development/errnode";
8
7
  import { isBuiltin } from "@flex-development/is-builtin";
9
8
  import pathe from "@flex-development/pathe";
10
- import { fileURLToPath } from "node:url";
9
+ import { cast, isFunction } from "@flex-development/tutils";
10
+ import { URL, fileURLToPath } from "node:url";
11
11
  import CONDITIONS from "./conditions.mjs";
12
12
  import RESOLVE_EXTENSIONS from "./resolve-extensions.mjs";
13
13
  const resolveModule = async (specifier, options = {}) => {
@@ -16,33 +16,22 @@ const resolveModule = async (specifier, options = {}) => {
16
16
  conditions = CONDITIONS,
17
17
  extensions = RESOLVE_EXTENSIONS,
18
18
  parent = import.meta.url,
19
- preserveSymlinks = false
19
+ preserveSymlinks = !1
20
20
  } = options;
21
- validateString(specifier, "specifier");
22
- validateString(condition, "options.condition");
23
- validateArraySet(conditions, "options.conditions");
24
- validateArraySet(extensions, "options.extensions");
25
- validateURLString(parent, "options.parent");
26
- validateBoolean(preserveSymlinks, "options.preserveSymlinks");
27
- const resolver = new Resolver();
28
- const onetry = isBuiltin(specifier) || /^\S+:/.test(specifier) && !specifier.startsWith("file:");
29
- const tries = onetry ? [] : [...extensions].flatMap((ext) => [
21
+ validateString(specifier, "specifier"), validateString(condition, "options.condition"), validateArraySet(conditions, "options.conditions"), validateArraySet(extensions, "options.extensions"), validateURLString(parent, "options.parent"), validateBoolean(preserveSymlinks, "options.preserveSymlinks");
22
+ const resolver = new Resolver(), onetry = isBuiltin(specifier) || /^\S+:/.test(specifier) && !specifier.startsWith("file:"), tries = onetry ? [] : [...extensions].flatMap((ext) => [
30
23
  specifier + (ext = pathe.formatExt(ext)),
31
24
  specifier.startsWith("#") ? specifier + "/index" : "",
32
25
  specifier + "/index" + ext
33
- ]).filter((id) => id.length > 0);
34
- if (!onetry) {
35
- specifier.startsWith("@types") ? tries.unshift(specifier + "/index.d.ts") : tries.unshift("@types/" + specifier + "/index.d.ts");
36
- }
37
- tries.unshift(specifier);
26
+ ]).filter((id) => !!id.length);
27
+ onetry || (specifier.startsWith("@types") ? tries.unshift(specifier + "/index.d.ts") : tries.unshift("@types/" + specifier + "/index.d.ts")), tries.unshift(specifier);
38
28
  const ignore = /* @__PURE__ */ new Set([
39
29
  ErrorCode.ERR_INVALID_MODULE_SPECIFIER,
40
30
  ErrorCode.ERR_MODULE_NOT_FOUND,
41
31
  ErrorCode.ERR_PACKAGE_PATH_NOT_EXPORTED,
42
32
  ErrorCode.ERR_UNSUPPORTED_DIR_IMPORT
43
33
  ]);
44
- let error;
45
- let url = null;
34
+ let error, url = null;
46
35
  for (const id of tries) {
47
36
  try {
48
37
  url = resolver.resolveModule(
@@ -53,10 +42,7 @@ const resolveModule = async (specifier, options = {}) => {
53
42
  preserveSymlinks
54
43
  );
55
44
  } catch (e) {
56
- url = null;
57
- if (id === specifier)
58
- error = e;
59
- if (!ignore.has(e.code))
45
+ if (url = null, id === specifier && (error = cast(e)), !ignore.has(cast(e).code))
60
46
  throw e;
61
47
  }
62
48
  if (url)
@@ -66,9 +52,7 @@ const resolveModule = async (specifier, options = {}) => {
66
52
  throw error;
67
53
  if (url.protocol === "file:") {
68
54
  let { ext } = options;
69
- ext = isFunction(ext) ? await ext(specifier, url) : ext;
70
- url.href = pathe.changeExt(url.href, ext).replace(/\/index$/, "");
71
- url.pathname = fileURLToPath(url.href);
55
+ ext = isFunction(ext) ? await ext(specifier, url) : ext, url.href = pathe.changeExt(url.href, ext).replace(/\/index$/, ""), url.pathname = fileURLToPath(url.href);
72
56
  }
73
57
  return url;
74
58
  };
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/resolve-module.ts"],
4
- "mappings": "AAMA,OAAO,gBAAgB;AACvB,OAAO,cAAc;AACrB,OAAO,sBAAsB;AAC7B,OAAO,qBAAqB;AAC5B,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,SAAS,iBAAiC;AAC1C,SAAS,iBAAiB;AAC1B,OAAO,WAAW;AAElB,SAAc,qBAAqB;AACnC,OAAO,gBAAgB;AACvB,OAAO,wBAAwB;AAiC/B,MAAM,gBAAgB,OACpB,WACA,UAAgC,CAAC,MAChB;AACjB,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,SAAS,YAAY;AAAA,IACrB,mBAAmB;AAAA,EACrB,IAAI;AAGJ,iBAAe,WAAW,WAAW;AAGrC,iBAAe,WAAW,mBAAmB;AAC7C,mBAAiB,YAAY,oBAAoB;AACjD,mBAAiB,YAAY,oBAAoB;AACjD,oBAAkB,QAAQ,gBAAgB;AAC1C,kBAAgB,kBAAkB,0BAA0B;AAO5D,QAAM,WAAqB,IAAI,SAAS;AAOxC,QAAM,SACJ,UAAU,SAAS,KAClB,QAAQ,KAAK,SAAS,KAAK,CAAC,UAAU,WAAW,OAAO;AAO3D,QAAM,QAAkB,SACpB,CAAC,IACD,CAAC,GAAG,UAAU,EACX,QAAQ,SAAO;AAAA,IACd,aAAa,MAAM,MAAM,UAAU,GAAG;AAAA,IACtC,UAAU,WAAW,GAAG,IAAI,YAAY,WAAW;AAAA,IACnD,YAAY,WAAW;AAAA,EACzB,CAAC,EACA,OAAO,QAAM,GAAG,SAAS,CAAC;AAGjC,MAAI,CAAC,QAAQ;AACX,cAAU,WAAW,QAAQ,IACzB,MAAM,QAAQ,YAAY,aAAa,IACvC,MAAM,QAAQ,YAAY,YAAY,aAAa;AAAA,EACzD;AAGA,QAAM,QAAQ,SAAS;AAUvB,QAAM,SAAyB,oBAAI,IAAe;AAAA,IAChD,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC;AAOD,MAAI;AAOJ,MAAI,MAAqB;AAGzB,aAAW,MAAM,OAAO;AACtB,QAAI;AACF,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,IAAI,IAAI,UAAU;AAAA,QAClB;AAAA,MACF;AAAA,IACF,SAAS,GAAP;AACA,YAAM;AACN,UAAI,OAAO;AAAW,gBAAQ;AAC9B,UAAI,CAAC,OAAO,IAAK,EAAgB,IAAI;AAAG,cAAM;AAAA,IAChD;AAGA,QAAI;AAAK;AAAA,EACX;AAGA,MAAI,CAAC;AAAK,UAAM;AAGhB,MAAI,IAAI,aAAa,SAAS;AAC5B,QAAI,EAAE,IAAI,IAAI;AAGd,UAAM,WAAW,GAAG,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI;AAGpD,QAAI,OAAO,MAAM,UAAU,IAAI,MAAM,GAAG,EAAE,QAAQ,YAAY,EAAE;AAChE,QAAI,WAAW,cAAc,IAAI,IAAI;AAAA,EACvC;AAEA,SAAO;AACT;AAEA,IAAO,yBAAQ;",
3
+ "sources": [
4
+ "src/utils/resolve-module.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAMA,OAAO,cAAc;AACrB,OAAO,sBAAsB;AAC7B,OAAO,qBAAqB;AAC5B,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,SAAS,iBAAiC;AAC1C,SAAS,iBAAiB;AAC1B,OAAO,WAAW;AAClB,SAAS,MAAM,kBAAiC;AAChD,SAAS,KAAK,qBAAqB;AACnC,OAAO,gBAAgB;AACvB,OAAO,wBAAwB;AAiC/B,MAAM,gBAAgB,OACpB,WACA,UAAgC,CAAC,MAChB;AACjB,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,SAAS,YAAY;AAAA,IACrB,mBAAmB;AAAA,EACrB,IAAI;AAGJ,iBAAe,WAAW,WAAW,GAGrC,eAAe,WAAW,mBAAmB,GAC7C,iBAAiB,YAAY,oBAAoB,GACjD,iBAAiB,YAAY,oBAAoB,GACjD,kBAAkB,QAAQ,gBAAgB,GAC1C,gBAAgB,kBAAkB,0BAA0B;AAO5D,QAAM,WAAqB,IAAI,SAAS,GAOlC,SACJ,UAAU,SAAS,KAClB,QAAQ,KAAK,SAAS,KAAK,CAAC,UAAU,WAAW,OAAO,GAOrD,QAAkB,SACpB,CAAC,IACD,CAAC,GAAG,UAAU,EACX,QAAQ,SAAO;AAAA,IACd,aAAa,MAAM,MAAM,UAAU,GAAG;AAAA,IACtC,UAAU,WAAW,GAAG,IAAI,YAAY,WAAW;AAAA,IACnD,YAAY,WAAW;AAAA,EACzB,CAAC,EACA,OAAO,QAAM,CAAC,CAAC,GAAG,MAAM;AAG/B,EAAK,WACH,UAAU,WAAW,QAAQ,IACzB,MAAM,QAAQ,YAAY,aAAa,IACvC,MAAM,QAAQ,YAAY,YAAY,aAAa,IAIzD,MAAM,QAAQ,SAAS;AAUvB,QAAM,SAAyB,oBAAI,IAAe;AAAA,IAChD,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,EACZ,CAAC;AAOD,MAAI,OAOA,MAAqB;AAGzB,aAAW,MAAM,OAAO;AACtB,QAAI;AACF,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA,IAAI,IAAI,UAAU;AAAA,QAClB;AAAA,MACF;AAAA,IACF,SAAS,GAAY;AAGnB,UAFA,MAAM,MACF,OAAO,cAAW,QAAQ,KAAK,CAAC,IAChC,CAAC,OAAO,IAAI,KAAgB,CAAC,EAAE,IAAI;AAAG,cAAM;AAAA,IAClD;AAGA,QAAI;AAAK;AAAA,EACX;AAGA,MAAI,CAAC;AAAK,UAAM;AAGhB,MAAI,IAAI,aAAa,SAAS;AAC5B,QAAI,EAAE,IAAI,IAAI;AAGd,UAAM,WAAW,GAAG,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,KAGpD,IAAI,OAAO,MAAM,UAAU,IAAI,MAAM,GAAG,EAAE,QAAQ,YAAY,EAAE,GAChE,IAAI,WAAW,cAAc,IAAI,IAAI;AAAA,EACvC;AAEA,SAAO;AACT;AAEA,IAAO,yBAAQ;",
5
8
  "names": []
6
- }
9
+ }
@@ -1,22 +1,19 @@
1
1
  import { SpecifierSyntaxKind } from "../enums/index.mjs";
2
- import regexp from "../internal/escape-reg-exp.mjs";
2
+ import { regexp } from "@flex-development/tutils";
3
3
  import extractStatements from "./extract-statements.mjs";
4
4
  import resolveModule from "./resolve-module.mjs";
5
5
  const resolveModules = async (code, options = {}) => {
6
- for (const statement of extractStatements(code)) {
7
- if (!statement.specifier)
8
- continue;
9
- if (statement.specifier_syntax === SpecifierSyntaxKind.DYNAMIC)
10
- continue;
11
- const url = await resolveModule(statement.specifier, options);
12
- code = code.replace(
13
- statement.code,
14
- statement.code.replace(
15
- new RegExp(`(?<=["'])${regexp(statement.specifier)}(?=["'])`),
16
- url.href
17
- )
18
- );
19
- }
6
+ for (const statement of extractStatements(code))
7
+ if (statement.specifier && statement.specifier_syntax !== SpecifierSyntaxKind.DYNAMIC) {
8
+ const url = await resolveModule(statement.specifier, options);
9
+ code = code.replace(
10
+ statement.code,
11
+ statement.code.replace(
12
+ new RegExp(`(?<=["'])${regexp(statement.specifier)}(?=["'])`),
13
+ url.href
14
+ )
15
+ );
16
+ }
20
17
  return code;
21
18
  };
22
19
  var resolve_modules_default = resolveModules;
@@ -1,6 +1,9 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/utils/resolve-modules.ts"],
4
- "mappings": "AAKA,SAAS,2BAA2B;AAEpC,OAAO,YAAY;AAEnB,OAAO,uBAAuB;AAC9B,OAAO,mBAAmB;AAoB1B,MAAM,iBAAiB,OACrB,MACA,UAAgC,CAAC,MACb;AACpB,aAAW,aAAa,kBAAkB,IAAI,GAAG;AAE/C,QAAI,CAAC,UAAU;AAAW;AAG1B,QAAI,UAAU,qBAAqB,oBAAoB;AAAS;AAOhE,UAAM,MAAW,MAAM,cAAc,UAAU,WAAW,OAAO;AAGjE,WAAO,KAAK;AAAA,MACV,UAAU;AAAA,MACV,UAAU,KAAK;AAAA,QACb,IAAI,OAAO,YAAY,OAAO,UAAU,SAAS,WAAW;AAAA,QAC5D,IAAI;AAAA,MACN;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAO,0BAAQ;",
3
+ "sources": [
4
+ "src/utils/resolve-modules.ts"
5
+ ],
6
+ "sourceRoot": "https:/github.com/flex-development/mlly/blob/1.0.0-alpha.16",
7
+ "mappings": "AAKA,SAAS,2BAA2B;AAEpC,SAAS,cAAc;AAEvB,OAAO,uBAAuB;AAC9B,OAAO,mBAAmB;AAoB1B,MAAM,iBAAiB,OACrB,MACA,UAAgC,CAAC,MACb;AACpB,aAAW,aAAa,kBAAkB,IAAI;AAC5C,QAAI,UAAU,aACR,UAAU,qBAAqB,oBAAoB,SAAS;AAM9D,YAAM,MAAW,MAAM,cAAc,UAAU,WAAW,OAAO;AAGjE,aAAO,KAAK;AAAA,QACV,UAAU;AAAA,QACV,UAAU,KAAK;AAAA,UACb,IAAI,OAAO,YAAY,OAAO,UAAU,SAAS,CAAC,UAAU;AAAA,UAC5D,IAAI;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAIJ,SAAO;AACT;AAEA,IAAO,0BAAQ;",
5
8
  "names": []
6
- }
9
+ }