@flex-development/mlly 1.0.0-alpha.17 → 1.0.0-alpha.19

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 (303) hide show
  1. package/CHANGELOG.md +829 -681
  2. package/README.md +173 -12
  3. package/dist/index.d.mts +3 -4
  4. package/dist/index.mjs +1 -5
  5. package/dist/interfaces/aliases.d.mts +11 -0
  6. package/dist/interfaces/context-get-source.d.mts +52 -0
  7. package/dist/interfaces/file-system.d.mts +57 -0
  8. package/dist/interfaces/index.d.mts +11 -21
  9. package/dist/interfaces/main-field-map.d.mts +13 -0
  10. package/dist/interfaces/module-format-map.d.mts +17 -0
  11. package/dist/interfaces/options-get-source.d.mts +22 -29
  12. package/dist/interfaces/options-resolve-alias.d.mts +14 -26
  13. package/dist/interfaces/options-resolve-module.d.mts +38 -27
  14. package/dist/interfaces/protocol-map.d.mts +35 -0
  15. package/dist/interfaces/stats.d.mts +28 -0
  16. package/dist/internal/chars.mjs +11 -0
  17. package/dist/internal/check-invalid-segments.mjs +19 -0
  18. package/dist/internal/fs.browser.mjs +36 -0
  19. package/dist/internal/fs.d.mts +7 -0
  20. package/dist/internal/invalid-package-target.mjs +18 -0
  21. package/dist/internal/invalid-subpath.mjs +16 -0
  22. package/dist/internal/process.browser.mjs +7 -0
  23. package/dist/internal/process.d.mts +4 -0
  24. package/dist/lib/can-parse-url.d.mts +21 -0
  25. package/dist/lib/can-parse-url.mjs +12 -0
  26. package/dist/lib/cwd.d.mts +12 -0
  27. package/dist/lib/cwd.mjs +8 -0
  28. package/dist/lib/default-conditions.d.mts +15 -0
  29. package/dist/lib/default-conditions.mjs +5 -0
  30. package/dist/lib/default-extensions.d.mts +14 -0
  31. package/dist/lib/default-extensions.mjs +21 -0
  32. package/dist/lib/default-main-fields.d.mts +14 -0
  33. package/dist/lib/default-main-fields.mjs +5 -0
  34. package/dist/lib/extension-format-map.d.mts +16 -0
  35. package/dist/lib/extension-format-map.mjs +21 -0
  36. package/dist/lib/formats.d.mts +21 -0
  37. package/dist/lib/formats.mjs +14 -0
  38. package/dist/lib/get-source.d.mts +26 -0
  39. package/dist/lib/get-source.mjs +70 -0
  40. package/dist/lib/index.d.mts +40 -0
  41. package/dist/lib/index.mjs +53 -0
  42. package/dist/lib/is-absolute-specifier.d.mts +23 -0
  43. package/dist/lib/is-absolute-specifier.mjs +9 -0
  44. package/dist/lib/is-array-index.d.mts +17 -0
  45. package/dist/lib/is-array-index.mjs +11 -0
  46. package/dist/lib/is-bare-specifier.d.mts +23 -0
  47. package/dist/lib/is-bare-specifier.mjs +11 -0
  48. package/dist/lib/is-directory.d.mts +22 -0
  49. package/dist/lib/is-directory.mjs +13 -0
  50. package/dist/lib/is-file.d.mts +22 -0
  51. package/dist/lib/is-file.mjs +13 -0
  52. package/dist/lib/is-imports-subpath.d.mts +19 -0
  53. package/dist/lib/is-imports-subpath.mjs +8 -0
  54. package/dist/lib/is-relative-specifier.d.mts +21 -0
  55. package/dist/lib/is-relative-specifier.mjs +16 -0
  56. package/dist/lib/lookup-package-scope.d.mts +26 -0
  57. package/dist/lib/lookup-package-scope.mjs +16 -0
  58. package/dist/lib/pattern-key-compare.d.mts +31 -0
  59. package/dist/lib/pattern-key-compare.mjs +18 -0
  60. package/dist/lib/pattern-match.d.mts +19 -0
  61. package/dist/lib/pattern-match.mjs +36 -0
  62. package/dist/lib/read-package-json.d.mts +35 -0
  63. package/dist/lib/read-package-json.mjs +29 -0
  64. package/dist/lib/resolve-alias.d.mts +19 -0
  65. package/dist/lib/resolve-alias.mjs +50 -0
  66. package/dist/lib/resolve-module.d.mts +37 -0
  67. package/dist/lib/resolve-module.mjs +75 -0
  68. package/dist/lib/resolver.d.mts +280 -0
  69. package/dist/lib/resolver.mjs +462 -0
  70. package/dist/lib/root.d.mts +11 -0
  71. package/dist/lib/root.mjs +6 -0
  72. package/dist/lib/to-relative-specifier.d.mts +25 -0
  73. package/dist/lib/to-relative-specifier.mjs +26 -0
  74. package/dist/lib/to-url.d.mts +24 -0
  75. package/dist/lib/to-url.mjs +10 -0
  76. package/dist/types/awaitable.d.mts +14 -0
  77. package/dist/types/change-ext-fn.d.mts +29 -0
  78. package/dist/types/get-source-handler.d.mts +21 -0
  79. package/dist/types/get-source-handlers.d.mts +14 -0
  80. package/dist/types/index.d.mts +12 -10
  81. package/dist/types/main-field.d.mts +13 -0
  82. package/dist/types/module-format.d.mts +13 -0
  83. package/dist/types/module-id.d.mts +2 -4
  84. package/dist/types/numeric.d.mts +9 -0
  85. package/dist/types/pattern-key-compare-result.d.mts +9 -0
  86. package/dist/types/pattern-match.d.mts +10 -0
  87. package/dist/types/protocol.d.mts +6 -7
  88. package/package.json +227 -155
  89. package/dist/enums/assert-type.d.mts +0 -21
  90. package/dist/enums/assert-type.mjs +0 -4
  91. package/dist/enums/format.d.mts +0 -17
  92. package/dist/enums/format.mjs +0 -4
  93. package/dist/enums/index.d.mts +0 -10
  94. package/dist/enums/index.mjs +0 -14
  95. package/dist/enums/kind-specifier-syntax.d.mts +0 -14
  96. package/dist/enums/kind-specifier-syntax.mjs +0 -4
  97. package/dist/enums/kind-specifier.d.mts +0 -17
  98. package/dist/enums/kind-specifier.mjs +0 -4
  99. package/dist/enums/kind-statement-syntax.d.mts +0 -22
  100. package/dist/enums/kind-statement-syntax.mjs +0 -4
  101. package/dist/enums/kind-statement.d.mts +0 -15
  102. package/dist/enums/kind-statement.mjs +0 -4
  103. package/dist/index.mjs.map +0 -8
  104. package/dist/interfaces/import-assertions.d.mts +0 -20
  105. package/dist/interfaces/import-dynamic.d.mts +0 -41
  106. package/dist/interfaces/import-static.d.mts +0 -35
  107. package/dist/interfaces/index.mjs +0 -0
  108. package/dist/interfaces/options-fill-module.d.mts +0 -23
  109. package/dist/interfaces/options-find-subpath.d.mts +0 -50
  110. package/dist/interfaces/options-get-format.d.mts +0 -73
  111. package/dist/interfaces/options-parse-module-id.d.mts +0 -34
  112. package/dist/interfaces/options-parse-subpath.d.mts +0 -50
  113. package/dist/interfaces/options-resolve.d.mts +0 -15
  114. package/dist/interfaces/package-scope.d.mts +0 -25
  115. package/dist/interfaces/parsed-data-url.d.mts +0 -56
  116. package/dist/interfaces/parsed-module-id.d.mts +0 -80
  117. package/dist/interfaces/parsed-subpath.d.mts +0 -44
  118. package/dist/interfaces/statement-export.d.mts +0 -44
  119. package/dist/interfaces/statement-import.d.mts +0 -38
  120. package/dist/interfaces/statement-require.d.mts +0 -38
  121. package/dist/interfaces/statement.d.mts +0 -49
  122. package/dist/internal/dequote.d.mts +0 -14
  123. package/dist/internal/dequote.mjs +0 -7
  124. package/dist/internal/dequote.mjs.map +0 -8
  125. package/dist/internal/format-type-map.d.mts +0 -19
  126. package/dist/internal/format-type-map.mjs +0 -13
  127. package/dist/internal/format-type-map.mjs.map +0 -8
  128. package/dist/internal/get-specifier-kind.d.mts +0 -19
  129. package/dist/internal/get-specifier-kind.mjs +0 -11
  130. package/dist/internal/get-specifier-kind.mjs.map +0 -8
  131. package/dist/internal/get-subpaths.d.mts +0 -28
  132. package/dist/internal/get-subpaths.mjs +0 -8
  133. package/dist/internal/get-subpaths.mjs.map +0 -8
  134. package/dist/internal/regex-encoded-sep.d.mts +0 -15
  135. package/dist/internal/regex-encoded-sep.mjs +0 -6
  136. package/dist/internal/regex-encoded-sep.mjs.map +0 -8
  137. package/dist/internal/regex-internal-specifier.d.mts +0 -16
  138. package/dist/internal/regex-internal-specifier.mjs +0 -6
  139. package/dist/internal/regex-internal-specifier.mjs.map +0 -8
  140. package/dist/internal/regex-invalid-segment.d.mts +0 -16
  141. package/dist/internal/regex-invalid-segment.mjs +0 -9
  142. package/dist/internal/regex-invalid-segment.mjs.map +0 -8
  143. package/dist/internal/regex-package-name.d.mts +0 -15
  144. package/dist/internal/regex-package-name.mjs +0 -6
  145. package/dist/internal/regex-package-name.mjs.map +0 -8
  146. package/dist/internal/regex-package-path.d.mts +0 -17
  147. package/dist/internal/regex-package-path.mjs +0 -6
  148. package/dist/internal/regex-package-path.mjs.map +0 -8
  149. package/dist/internal/resolver.d.mts +0 -132
  150. package/dist/internal/resolver.mjs +0 -483
  151. package/dist/internal/resolver.mjs.map +0 -8
  152. package/dist/internal/validate-array-set.d.mts +0 -24
  153. package/dist/internal/validate-array-set.mjs +0 -12
  154. package/dist/internal/validate-array-set.mjs.map +0 -8
  155. package/dist/internal/validate-boolean.d.mts +0 -22
  156. package/dist/internal/validate-boolean.mjs +0 -12
  157. package/dist/internal/validate-boolean.mjs.map +0 -8
  158. package/dist/internal/validate-map.d.mts +0 -26
  159. package/dist/internal/validate-map.mjs +0 -12
  160. package/dist/internal/validate-map.mjs.map +0 -8
  161. package/dist/internal/validate-object.d.mts +0 -23
  162. package/dist/internal/validate-object.mjs +0 -12
  163. package/dist/internal/validate-object.mjs.map +0 -8
  164. package/dist/internal/validate-set.d.mts +0 -24
  165. package/dist/internal/validate-set.mjs +0 -12
  166. package/dist/internal/validate-set.mjs.map +0 -8
  167. package/dist/internal/validate-string.d.mts +0 -23
  168. package/dist/internal/validate-string.mjs +0 -12
  169. package/dist/internal/validate-string.mjs.map +0 -8
  170. package/dist/internal/validate-url-string.d.mts +0 -24
  171. package/dist/internal/validate-url-string.mjs +0 -13
  172. package/dist/internal/validate-url-string.mjs.map +0 -8
  173. package/dist/types/declaration.d.mts +0 -9
  174. package/dist/types/fn-change-ext.d.mts +0 -31
  175. package/dist/types/index.mjs +0 -0
  176. package/dist/types/mime-type.d.mts +0 -13
  177. package/dist/types/module-specifier-type.d.mts +0 -11
  178. package/dist/types/syntax-kind-export.d.mts +0 -12
  179. package/dist/types/syntax-kind-import.d.mts +0 -12
  180. package/dist/types/syntax-kind-require.d.mts +0 -12
  181. package/dist/utils/compare-subpaths.d.mts +0 -25
  182. package/dist/utils/compare-subpaths.mjs +0 -19
  183. package/dist/utils/compare-subpaths.mjs.map +0 -8
  184. package/dist/utils/conditions.d.mts +0 -13
  185. package/dist/utils/conditions.mjs +0 -6
  186. package/dist/utils/conditions.mjs.map +0 -8
  187. package/dist/utils/detect-syntax.d.mts +0 -21
  188. package/dist/utils/detect-syntax.mjs +0 -11
  189. package/dist/utils/detect-syntax.mjs.map +0 -8
  190. package/dist/utils/extension-format-map.d.mts +0 -16
  191. package/dist/utils/extension-format-map.mjs +0 -22
  192. package/dist/utils/extension-format-map.mjs.map +0 -8
  193. package/dist/utils/extract-statements.d.mts +0 -21
  194. package/dist/utils/extract-statements.mjs +0 -20
  195. package/dist/utils/extract-statements.mjs.map +0 -8
  196. package/dist/utils/fill-modules.d.mts +0 -24
  197. package/dist/utils/fill-modules.mjs +0 -67
  198. package/dist/utils/fill-modules.mjs.map +0 -8
  199. package/dist/utils/find-dynamic-imports.d.mts +0 -18
  200. package/dist/utils/find-dynamic-imports.mjs +0 -36
  201. package/dist/utils/find-dynamic-imports.mjs.map +0 -8
  202. package/dist/utils/find-exports.d.mts +0 -21
  203. package/dist/utils/find-exports.mjs +0 -92
  204. package/dist/utils/find-exports.mjs.map +0 -8
  205. package/dist/utils/find-requires.d.mts +0 -18
  206. package/dist/utils/find-requires.mjs +0 -32
  207. package/dist/utils/find-requires.mjs.map +0 -8
  208. package/dist/utils/find-static-imports.d.mts +0 -18
  209. package/dist/utils/find-static-imports.mjs +0 -30
  210. package/dist/utils/find-static-imports.mjs.map +0 -8
  211. package/dist/utils/find-subpath.d.mts +0 -31
  212. package/dist/utils/find-subpath.mjs +0 -86
  213. package/dist/utils/find-subpath.mjs.map +0 -8
  214. package/dist/utils/get-format.d.mts +0 -31
  215. package/dist/utils/get-format.mjs +0 -107
  216. package/dist/utils/get-format.mjs.map +0 -8
  217. package/dist/utils/get-source.d.mts +0 -30
  218. package/dist/utils/get-source.mjs +0 -61
  219. package/dist/utils/get-source.mjs.map +0 -8
  220. package/dist/utils/has-cjs-syntax.d.mts +0 -25
  221. package/dist/utils/has-cjs-syntax.mjs +0 -11
  222. package/dist/utils/has-cjs-syntax.mjs.map +0 -8
  223. package/dist/utils/has-esm-syntax.d.mts +0 -21
  224. package/dist/utils/has-esm-syntax.mjs +0 -11
  225. package/dist/utils/has-esm-syntax.mjs.map +0 -8
  226. package/dist/utils/index.d.mts +0 -44
  227. package/dist/utils/index.mjs +0 -83
  228. package/dist/utils/index.mjs.map +0 -8
  229. package/dist/utils/is-absolute-specifier.d.mts +0 -20
  230. package/dist/utils/is-absolute-specifier.mjs +0 -26
  231. package/dist/utils/is-absolute-specifier.mjs.map +0 -8
  232. package/dist/utils/is-bare-specifier.d.mts +0 -20
  233. package/dist/utils/is-bare-specifier.mjs +0 -10
  234. package/dist/utils/is-bare-specifier.mjs.map +0 -8
  235. package/dist/utils/is-directory.d.mts +0 -13
  236. package/dist/utils/is-directory.mjs +0 -14
  237. package/dist/utils/is-directory.mjs.map +0 -8
  238. package/dist/utils/is-exports-sugar.d.mts +0 -26
  239. package/dist/utils/is-exports-sugar.mjs +0 -29
  240. package/dist/utils/is-exports-sugar.mjs.map +0 -8
  241. package/dist/utils/is-file.d.mts +0 -13
  242. package/dist/utils/is-file.mjs +0 -14
  243. package/dist/utils/is-file.mjs.map +0 -8
  244. package/dist/utils/is-relative-specifier.d.mts +0 -19
  245. package/dist/utils/is-relative-specifier.mjs +0 -9
  246. package/dist/utils/is-relative-specifier.mjs.map +0 -8
  247. package/dist/utils/lookup-package-scope.d.mts +0 -26
  248. package/dist/utils/lookup-package-scope.mjs +0 -34
  249. package/dist/utils/lookup-package-scope.mjs.map +0 -8
  250. package/dist/utils/parse-data-url.d.mts +0 -25
  251. package/dist/utils/parse-data-url.mjs +0 -25
  252. package/dist/utils/parse-data-url.mjs.map +0 -8
  253. package/dist/utils/parse-module-id.d.mts +0 -20
  254. package/dist/utils/parse-module-id.mjs +0 -123
  255. package/dist/utils/parse-module-id.mjs.map +0 -8
  256. package/dist/utils/parse-subpath.d.mts +0 -35
  257. package/dist/utils/parse-subpath.mjs +0 -149
  258. package/dist/utils/parse-subpath.mjs.map +0 -8
  259. package/dist/utils/pattern-character.d.mts +0 -11
  260. package/dist/utils/pattern-character.mjs +0 -6
  261. package/dist/utils/pattern-character.mjs.map +0 -8
  262. package/dist/utils/read-package-json.d.mts +0 -26
  263. package/dist/utils/read-package-json.mjs +0 -48
  264. package/dist/utils/read-package-json.mjs.map +0 -8
  265. package/dist/utils/resolve-alias.d.mts +0 -20
  266. package/dist/utils/resolve-alias.mjs +0 -101
  267. package/dist/utils/resolve-alias.mjs.map +0 -8
  268. package/dist/utils/resolve-aliases.d.mts +0 -19
  269. package/dist/utils/resolve-aliases.mjs +0 -26
  270. package/dist/utils/resolve-aliases.mjs.map +0 -8
  271. package/dist/utils/resolve-extensions.d.mts +0 -14
  272. package/dist/utils/resolve-extensions.mjs +0 -22
  273. package/dist/utils/resolve-extensions.mjs.map +0 -8
  274. package/dist/utils/resolve-module.d.mts +0 -39
  275. package/dist/utils/resolve-module.mjs +0 -63
  276. package/dist/utils/resolve-module.mjs.map +0 -8
  277. package/dist/utils/resolve-modules.d.mts +0 -25
  278. package/dist/utils/resolve-modules.mjs +0 -23
  279. package/dist/utils/resolve-modules.mjs.map +0 -8
  280. package/dist/utils/to-absolute-specifier.d.mts +0 -22
  281. package/dist/utils/to-absolute-specifier.mjs +0 -8
  282. package/dist/utils/to-absolute-specifier.mjs.map +0 -8
  283. package/dist/utils/to-bare-specifier.d.mts +0 -42
  284. package/dist/utils/to-bare-specifier.mjs +0 -72
  285. package/dist/utils/to-bare-specifier.mjs.map +0 -8
  286. package/dist/utils/to-data-url.d.mts +0 -30
  287. package/dist/utils/to-data-url.mjs +0 -7
  288. package/dist/utils/to-data-url.mjs.map +0 -8
  289. package/dist/utils/to-node-url.d.mts +0 -19
  290. package/dist/utils/to-node-url.mjs +0 -7
  291. package/dist/utils/to-node-url.mjs.map +0 -8
  292. package/dist/utils/to-relative-specifier.d.mts +0 -24
  293. package/dist/utils/to-relative-specifier.mjs +0 -10
  294. package/dist/utils/to-relative-specifier.mjs.map +0 -8
  295. package/dist/utils/to-url.d.mts +0 -21
  296. package/dist/utils/to-url.mjs +0 -8
  297. package/dist/utils/to-url.mjs.map +0 -8
  298. package/dist/utils/validate-assertions.d.mts +0 -23
  299. package/dist/utils/validate-assertions.mjs +0 -47
  300. package/dist/utils/validate-assertions.mjs.map +0 -8
  301. package/dist/utils/validate-exports.d.mts +0 -25
  302. package/dist/utils/validate-exports.mjs +0 -73
  303. package/dist/utils/validate-exports.mjs.map +0 -8
@@ -1,17 +0,0 @@
1
- /**
2
- * @file Enums - SpecifierKind
3
- * @module mlly/enums/SpecifierKind
4
- */
5
- /**
6
- * Module specifier types.
7
- *
8
- * @see https://nodejs.org/api/esm.html#terminology
9
- *
10
- * @enum {Lowercase<string>}
11
- */
12
- declare enum SpecifierKind {
13
- ABSOLUTE = "absolute",
14
- BARE = "bare",
15
- RELATIVE = "relative"
16
- }
17
- export default SpecifierKind;
@@ -1,4 +0,0 @@
1
- var SpecifierKind = /* @__PURE__ */ ((SpecifierKind2) => (SpecifierKind2.ABSOLUTE = "absolute", SpecifierKind2.BARE = "bare", SpecifierKind2.RELATIVE = "relative", SpecifierKind2))(SpecifierKind || {}), kind_specifier_default = SpecifierKind;
2
- export {
3
- kind_specifier_default as default
4
- };
@@ -1,22 +0,0 @@
1
- /**
2
- * @file Enums - StatementSyntaxKind
3
- * @module mlly/enums/StatementSyntaxKind
4
- */
5
- /**
6
- * CommonJS and ESM statement syntax kinds.
7
- *
8
- * @enum {Lowercase<string>}
9
- */
10
- declare enum StatementSyntaxKind {
11
- DECLARATION = "declaration",
12
- DEFAULT = "default",
13
- DEFAULT_WITH_NAMED = "default-with-named",
14
- DEFAULT_WITH_NAMESPACE = "default-with-namespace",
15
- DYNAMIC = "dynamic",
16
- LIST = "list",
17
- NAMED = "named",
18
- NAMESPACE = "namespace",
19
- REQUIRE = "require",
20
- SIDE_EFFECT = "side-effect"
21
- }
22
- export default StatementSyntaxKind;
@@ -1,4 +0,0 @@
1
- var StatementSyntaxKind = /* @__PURE__ */ ((StatementSyntaxKind2) => (StatementSyntaxKind2.DECLARATION = "declaration", StatementSyntaxKind2.DEFAULT = "default", StatementSyntaxKind2.DEFAULT_WITH_NAMED = "default-with-named", StatementSyntaxKind2.DEFAULT_WITH_NAMESPACE = "default-with-namespace", StatementSyntaxKind2.DYNAMIC = "dynamic", StatementSyntaxKind2.LIST = "list", StatementSyntaxKind2.NAMED = "named", StatementSyntaxKind2.NAMESPACE = "namespace", StatementSyntaxKind2.REQUIRE = "require", StatementSyntaxKind2.SIDE_EFFECT = "side-effect", StatementSyntaxKind2))(StatementSyntaxKind || {}), kind_statement_syntax_default = StatementSyntaxKind;
2
- export {
3
- kind_statement_syntax_default as default
4
- };
@@ -1,15 +0,0 @@
1
- /**
2
- * @file Enums - StatementKind
3
- * @module mlly/enums/StatementKind
4
- */
5
- /**
6
- * CommonJS and ESM statement kinds.
7
- *
8
- * @enum {Lowercase<string>}
9
- */
10
- declare enum StatementKind {
11
- EXPORT = "export",
12
- IMPORT = "import",
13
- REQUIRE = "require"
14
- }
15
- export default StatementKind;
@@ -1,4 +0,0 @@
1
- var StatementKind = /* @__PURE__ */ ((StatementKind2) => (StatementKind2.EXPORT = "export", StatementKind2.IMPORT = "import", StatementKind2.REQUIRE = "require", StatementKind2))(StatementKind || {}), kind_statement_default = StatementKind;
2
- export {
3
- kind_statement_default as default
4
- };
@@ -1,8 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/index.ts"],
4
- "sourceRoot": "file://",
5
- "sourcesContent": ["/**\n * @file Package Entry Point\n * @module mlly\n */\n\nexport * from './enums'\nexport * from './interfaces'\nexport * from './types'\nexport * from './utils'\n"],
6
- "mappings": "AAKA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
7
- "names": []
8
- }
@@ -1,20 +0,0 @@
1
- /**
2
- * @file Interfaces - ImportAssertions
3
- * @module mlly/interfaces/ImportAssertions
4
- */
5
- import type { AssertType } from '../enums/index.mjs';
6
- import type { LiteralUnion } from '@flex-development/tutils';
7
- /**
8
- * `import` assertions schema.
9
- *
10
- * @see {@linkcode AssertType}
11
- * @see https://github.com/tc39/proposal-import-assertions
12
- */
13
- interface ImportAssertions {
14
- [key: string]: string;
15
- /**
16
- * Assertion type.
17
- */
18
- type?: LiteralUnion<AssertType, string>;
19
- }
20
- export type { ImportAssertions as default };
@@ -1,41 +0,0 @@
1
- /**
2
- * @file Interfaces - DynamicImport
3
- * @module mlly/interfaces/DynamicImport
4
- */
5
- import type { StatementSyntaxKind } from '../enums/index.mjs';
6
- import type { EmptyString, LiteralUnion } from '@flex-development/tutils';
7
- import type ImportStatement from './statement-import.mjs';
8
- /**
9
- * Dynamic import statement object.
10
- *
11
- * @see {@linkcode ImportStatement}
12
- * @see {@linkcode StatementSyntaxKind}
13
- * @see https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/import
14
- *
15
- * @extends {ImportStatement}
16
- */
17
- interface DynamicImport extends ImportStatement {
18
- /**
19
- * Import expression.
20
- *
21
- * @example
22
- * 'import("foo.json")'
23
- * @example
24
- * 'import(foo)'
25
- */
26
- expression: LiteralUnion<EmptyString, string>;
27
- /**
28
- * Options bag.
29
- *
30
- * @see https://github.com/tc39/proposal-import-assertions#dynamic-import
31
- *
32
- * @example
33
- * '{ assert: { type: "json" } }'
34
- */
35
- options: LiteralUnion<EmptyString, string>;
36
- /**
37
- * Statement syntax kind.
38
- */
39
- syntax: StatementSyntaxKind.DYNAMIC;
40
- }
41
- export type { DynamicImport as default };
@@ -1,35 +0,0 @@
1
- /**
2
- * @file Interfaces - StaticImport
3
- * @module mlly/interfaces/StaticImport
4
- */
5
- import type { StatementSyntaxKind } from '../enums/index.mjs';
6
- import type { EmptyString, LiteralUnion } from '@flex-development/tutils';
7
- import type ImportStatement from './statement-import.mjs';
8
- /**
9
- * Static import statement object.
10
- *
11
- * @see {@linkcode ImportStatement}
12
- * @see {@linkcode StatementSyntaxKind}
13
- *
14
- * @extends {ImportStatement}
15
- */
16
- interface StaticImport extends ImportStatement {
17
- /**
18
- * Assertion options.
19
- *
20
- * @see https://github.com/tc39/proposal-import-assertions#import-statements
21
- *
22
- * @example
23
- * '{ type: "json" }'
24
- */
25
- assertion: LiteralUnion<EmptyString, string>;
26
- /**
27
- * Statement syntax kind.
28
- */
29
- syntax: StatementSyntaxKind.DEFAULT | StatementSyntaxKind.DEFAULT_WITH_NAMED | StatementSyntaxKind.DEFAULT_WITH_NAMESPACE | StatementSyntaxKind.NAMED | StatementSyntaxKind.NAMESPACE | StatementSyntaxKind.SIDE_EFFECT;
30
- /**
31
- * Type-only import statement check.
32
- */
33
- type: boolean;
34
- }
35
- export type { StaticImport as default };
File without changes
@@ -1,23 +0,0 @@
1
- /**
2
- * @file Interfaces - FillModuleOptions
3
- * @module mlly/interfaces/FillModuleOptions
4
- */
5
- import type { ChangeExtFn } from '../types/index.mjs';
6
- import type ResolveModuleOptions from './options-resolve-module.mjs';
7
- /**
8
- * Options for fully specifying modules.
9
- *
10
- * @see {@linkcode ChangeExtFn}
11
- * @see {@linkcode ResolveModuleOptions}
12
- * @see https://nodejs.org/api/esm.html#mandatory-file-extensions
13
- *
14
- * @extends {ResolveModuleOptions}
15
- */
16
- interface FillModuleOptions extends ResolveModuleOptions {
17
- /**
18
- * File extension to add to absolute and relative specifiers or a function
19
- * that returns a file extension.
20
- */
21
- ext: ChangeExtFn<string> | string;
22
- }
23
- export type { FillModuleOptions as default };
@@ -1,50 +0,0 @@
1
- /**
2
- * @file Interfaces - FindSubpathOptions
3
- * @module mlly/interfaces/FindSubpathOptions
4
- */
5
- import type { ModuleId } from '../types/index.mjs';
6
- import type { Optional } from '@flex-development/tutils';
7
- /**
8
- * Subpath search options.
9
- *
10
- * @see {@linkcode ModuleId}
11
- */
12
- interface FindSubpathOptions {
13
- /**
14
- * Export condition to apply.
15
- *
16
- * @see https://nodejs.org/api/packages.html#conditional-exports
17
- *
18
- * @default 'default'
19
- */
20
- condition?: Optional<string>;
21
- /**
22
- * Export conditions.
23
- *
24
- * **Note**: Should be sorted by priority.
25
- *
26
- * @see https://nodejs.org/api/packages.html#conditional-exports
27
- *
28
- * @default CONDITIONS
29
- */
30
- conditions?: Optional<Set<string>>;
31
- /**
32
- * URL of directory containing relevant `package.json` file.
33
- */
34
- dir: ModuleId;
35
- /**
36
- * Package [`imports`][1] hint.
37
- *
38
- * [1]: https://nodejs.org/api/packages.html#imports
39
- *
40
- * @default false
41
- */
42
- internal?: Optional<boolean>;
43
- /**
44
- * URL of module to resolve from.
45
- *
46
- * **Note**: Used for error reporting only.
47
- */
48
- parent: ModuleId;
49
- }
50
- export type { FindSubpathOptions as default };
@@ -1,73 +0,0 @@
1
- /**
2
- * @file Interfaces - GetFormatOptions
3
- * @module mlly/interfaces/GetFormatOptions
4
- */
5
- import type { Format } from '../enums/index.mjs';
6
- import type { Ext } from '@flex-development/pathe';
7
- import type { EmptyString, Optional } from '@flex-development/tutils';
8
- /**
9
- * Module format retrieval options.
10
- *
11
- * @see {@linkcode Ext}
12
- * @see {@linkcode Format}
13
- * @see {@linkcode RequestInit}
14
- */
15
- interface GetFormatOptions {
16
- /**
17
- * Enable support for JSON modules.
18
- *
19
- * @see https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_json_modules
20
- *
21
- * @default true
22
- */
23
- experimental_json_modules?: Optional<boolean>;
24
- /**
25
- * Enable support for network based modules.
26
- *
27
- * **Note**: Requires [`node-fetch`][1].
28
- *
29
- * [1]: https://github.com/node-fetch/node-fetch
30
- *
31
- * @see https://nodejs.org/docs/latest-v16.x/api/esm.html#https-and-http-imports
32
- *
33
- * @default false
34
- */
35
- experimental_network_imports?: Optional<boolean>;
36
- /**
37
- * Enable support for WebAssembly modules.
38
- *
39
- * @see https://nodejs.org/docs/latest-v14.x/api/esm.html#esm_wasm_modules
40
- *
41
- * @default false
42
- */
43
- experimental_wasm_modules?: Optional<boolean>;
44
- /**
45
- * Map file extensions to module formats.
46
- *
47
- * @default EXTENSION_FORMAT_MAP
48
- */
49
- extension_format_map?: Optional<Map<EmptyString | Ext, Format>>;
50
- /**
51
- * Return `undefined` when module format is not found, rather than `null`.
52
- *
53
- * An explicit `undefined` return value indicates [`load`][1] hooks should
54
- * re-run module format checks.
55
- *
56
- * [1]: https://nodejs.org/docs/latest-v16.x/api/esm.html#loadurl-context-nextload
57
- *
58
- * @default false
59
- */
60
- ignore_errors?: Optional<boolean>;
61
- /**
62
- * Request options for network based modules.
63
- *
64
- * Only applicable if {@linkcode experimental_network_imports} is enabled.
65
- *
66
- * @see {@linkcode RequestInit}
67
- *
68
- * @default {}
69
- */
70
- // @ts-ignore peer dependency
71
- req?: Optional<import('node-fetch').RequestInit>;
72
- }
73
- export type { GetFormatOptions as default };
@@ -1,34 +0,0 @@
1
- /**
2
- * @file Interfaces - ParseModuleIdOptions
3
- * @module mlly/interfaces/ParseModuleIdOptions
4
- */
5
- import type { ModuleId } from '../types/index.mjs';
6
- import type { Optional } from '@flex-development/tutils';
7
- /**
8
- * Module id parsing options.
9
- *
10
- * @see {@linkcode ModuleId}
11
- */
12
- interface ParseModuleIdOptions {
13
- /**
14
- * Ensure module id is a valid internal specifier, syntactically.
15
- *
16
- * @see https://nodejs.org/api/packages.html#subpath-imports
17
- *
18
- * @default id instanceof URL ? false : id.startsWith('#')
19
- */
20
- internal?: Optional<boolean>;
21
- /**
22
- * URL of module to resolve from.
23
- *
24
- * **Note**: Used for error reporting only.
25
- *
26
- * @default undefined
27
- */
28
- parent?: Optional<ModuleId>;
29
- /**
30
- * Ensure module id begins with a valid package name.
31
- */
32
- pkgname?: Optional<boolean>;
33
- }
34
- export type { ParseModuleIdOptions as default };
@@ -1,50 +0,0 @@
1
- /**
2
- * @file Interfaces - ParseSubpathOptions
3
- * @module mlly/interfaces/ParseSubpathOptions
4
- */
5
- import type { ModuleId } from '../types/index.mjs';
6
- import type { Optional } from '@flex-development/tutils';
7
- /**
8
- * Subpath parsing options.
9
- *
10
- * @see {@linkcode ModuleId}
11
- */
12
- interface ParseSubpathOptions {
13
- /**
14
- * Export condition to apply.
15
- *
16
- * @see https://nodejs.org/api/packages.html#conditional-exports
17
- *
18
- * @default 'default'
19
- */
20
- condition?: Optional<string>;
21
- /**
22
- * Export conditions.
23
- *
24
- * **Note**: Should be sorted by priority.
25
- *
26
- * @see https://nodejs.org/api/packages.html#conditional-exports
27
- *
28
- * @default CONDITIONS
29
- */
30
- conditions?: Optional<Set<string> | string[]>;
31
- /**
32
- * URL of directory containing relevant `package.json` file.
33
- */
34
- dir: ModuleId;
35
- /**
36
- * Package [`imports`][1] hint.
37
- *
38
- * [1]: https://nodejs.org/api/packages.html#imports
39
- *
40
- * @default specifier.startsWith('#')
41
- */
42
- internal?: Optional<boolean>;
43
- /**
44
- * URL of module to resolve from.
45
- *
46
- * **Note**: Used for error reporting only.
47
- */
48
- parent: ModuleId;
49
- }
50
- export type { ParseSubpathOptions as default };
@@ -1,15 +0,0 @@
1
- /**
2
- * @file Interfaces - ResolveOptions
3
- * @module mlly/interfaces/ResolveOptions
4
- */
5
- import type ResolveModuleOptions from './options-resolve-module.mjs';
6
- /**
7
- * Resolution options.
8
- *
9
- * @see {@linkcode ResolveModuleOptions}
10
- *
11
- * @extends {ResolveModuleOptions}
12
- */
13
- interface ResolveOptions extends ResolveModuleOptions {
14
- }
15
- export type { ResolveOptions as default };
@@ -1,25 +0,0 @@
1
- /**
2
- * @file Interfaces - PackageScope
3
- * @module mlly/interfaces/PackageScope
4
- */
5
- import type { PackageJson } from '@flex-development/pkg-types';
6
- /**
7
- * Object representing a package scope.
8
- *
9
- * @see {@linkcode PackageJson}
10
- */
11
- interface PackageScope {
12
- /**
13
- * URL of directory containing `package.json` file.
14
- */
15
- dir: string;
16
- /**
17
- * URL of `package.json` file.
18
- */
19
- pkg: string;
20
- /**
21
- * `package.json` object.
22
- */
23
- pkgjson: PackageJson;
24
- }
25
- export type { PackageScope as default };
@@ -1,56 +0,0 @@
1
- /**
2
- * @file Interfaces - ParsedDataUrl
3
- * @module mlly/interfaces/ParsedDataUrl
4
- */
5
- /// <reference types="node" />
6
- import type { MimeType, Protocol } from '../types/index.mjs';
7
- import type { EmptyString, LiteralUnion } from '@flex-development/tutils';
8
- import type { URL } from 'node:url';
9
- /**
10
- * Object representing a [`data:` URL][1].
11
- *
12
- * [1]: https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URLs
13
- *
14
- * @see {@linkcode Protocol}
15
- * @see {@linkcode MimeType}
16
- * @see https://nodejs.org/api/esm.html#data-imports
17
- */
18
- interface ParsedDataUrl {
19
- /**
20
- * [base64][1] encoding check.
21
- *
22
- * [1]: https://developer.mozilla.org/docs/Glossary/Base64
23
- */
24
- base64: boolean;
25
- /**
26
- * Data portion of URL.
27
- *
28
- * If {@linkcode base64} is `true`, `data` is base64-encoded.
29
- */
30
- data: LiteralUnion<EmptyString, string>;
31
- /**
32
- * Serialized `data:` URL.
33
- *
34
- * @see https://nodejs.org/api/url.html#urlhref
35
- */
36
- href: URL['href'];
37
- /**
38
- * MIME type.
39
- *
40
- * @see https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/MIME_types
41
- */
42
- mime: LiteralUnion<MimeType, string>;
43
- /**
44
- * Path portion of URL.
45
- *
46
- * @see https://nodejs.org/api/url.html#urlpathname
47
- */
48
- pathname: URL['pathname'];
49
- /**
50
- * Protocol portion of URL.
51
- *
52
- * @see https://nodejs.org/api/url.html#urlprotocol
53
- */
54
- protocol: Extract<Protocol, 'data:'>;
55
- }
56
- export type { ParsedDataUrl as default };
@@ -1,80 +0,0 @@
1
- /**
2
- * @file Interfaces - ParsedModuleId
3
- * @module mlly/interfaces/ParsedModuleId
4
- */
5
- import type { Protocol } from '../types/index.mjs';
6
- import type { SemanticVersion } from '@flex-development/pkg-types';
7
- import type { EmptyString, LiteralUnion } from '@flex-development/tutils';
8
- /**
9
- * Object representing a ECMAScript module id.
10
- *
11
- * @see {@linkcode Protocol}
12
- * @see {@linkcode SemanticVersion}
13
- */
14
- interface ParsedModuleId {
15
- /**
16
- * Subpath import (internal specifier) check.
17
- *
18
- * @see https://nodejs.org/api/packages.html#imports
19
- * @see https://nodejs.org/api/packages.html#subpath-imports
20
- */
21
- internal: boolean;
22
- /**
23
- * One of the following:
24
- *
25
- * - Possible [subpath export][1] (includes leading `'.'`)
26
- * - Possible [subpath import][2]
27
- * - URL [`host`][3], [`pathname`][4], and [`port`][5]
28
- * - Raw module id ({@linkcode raw})
29
- *
30
- * [1]: https://nodejs.org/api/packages.html#subpath-exports
31
- * [2]: https://nodejs.org/api/packages.html#subpath-imports
32
- * [3]: https://nodejs.org/api/url.html#urlhost
33
- * [4]: https://nodejs.org/api/url.html#urlpathname
34
- * [5]: https://nodejs.org/api/url.html#urlport
35
- */
36
- path: string;
37
- /**
38
- * Package name if module id begins with valid package name (e.g. is a [bare
39
- * specifier][1]).
40
- *
41
- * If the module id is a bare specifier *and* [internal][2], this value will
42
- * instead be the first path segement in the module id (i.e. `'#src'` given
43
- * `'#src/foo'`). This **may or may not** be the subpath defined by the
44
- * package maintainer.
45
- *
46
- * [1]: https://nodejs.org/api/esm.html#terminology
47
- * [2]: https://nodejs.org/api/packages.html#subpath-imports
48
- */
49
- pkg: LiteralUnion<EmptyString, string>;
50
- /**
51
- * URL scheme if module id is a URL.
52
- */
53
- protocol: LiteralUnion<EmptyString | Protocol, string>;
54
- /**
55
- * Raw module id.
56
- */
57
- raw: string;
58
- /**
59
- * Package scope if module id begins with valid package name (e.g. is a [bare
60
- * specifier][1]).
61
- *
62
- * [1]: https://nodejs.org/api/esm.html#terminology
63
- */
64
- scope: LiteralUnion<EmptyString, string>;
65
- /**
66
- * Package version if specified and module id begins with valid package name
67
- * (e.g. is a [bare specifier][1]).
68
- *
69
- * **Note**: Version follows [Semantic Versioning 2.0.0][2] specification.
70
- *
71
- * [1]: https://nodejs.org/api/esm.html#terminology
72
- * [2]: https://semver.org/spec/v2.0.0.html
73
- */
74
- version: LiteralUnion<EmptyString | SemanticVersion, string>;
75
- /**
76
- * Package {@linkcode version} prefix.
77
- */
78
- version_prefix: LiteralUnion<EmptyString | 'v', string>;
79
- }
80
- export type { ParsedModuleId as default };
@@ -1,44 +0,0 @@
1
- /**
2
- * @file Interfaces - ParsedSubpath
3
- * @module mlly/interfaces/ParsedSubpath
4
- */
5
- import type { EmptyString, LiteralUnion, Nullable } from '@flex-development/tutils';
6
- /**
7
- * Object representing a package subpath.
8
- *
9
- * @see https://nodejs.org/api/packages.html#subpath-exports
10
- * @see https://nodejs.org/api/packages.html#subpath-imports
11
- */
12
- interface ParsedSubpath {
13
- /**
14
- * Subpath without entry prefix ({@linkcode key}).
15
- */
16
- base: LiteralUnion<EmptyString, string>;
17
- /**
18
- * Subpath import check.
19
- *
20
- * @see https://nodejs.org/api/packages.html#imports
21
- * @see https://nodejs.org/api/packages.html#subpath-imports
22
- */
23
- internal: boolean;
24
- /**
25
- * Subpath defined in `package.json` file.
26
- *
27
- * @see https://nodejs.org/api/packages.html#exports
28
- * @see https://nodejs.org/api/packages.html#imports
29
- */
30
- key: string;
31
- /**
32
- * Subpath passed by user in module specifier.
33
- */
34
- raw: string;
35
- /**
36
- * Module specifier passed by user.
37
- */
38
- specifier: string;
39
- /**
40
- * Package target as documented in `package.json` file.
41
- */
42
- target: Nullable<string>;
43
- }
44
- export type { ParsedSubpath as default };