@flex-development/mlly 1.0.0-alpha.11 → 1.0.0-alpha.13
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.
- package/CHANGELOG.md +101 -0
- package/README.md +1 -1
- package/dist/interfaces/options-get-format.d.mts +3 -13
- package/dist/interfaces/options-get-source.d.mts +3 -13
- package/dist/interfaces/options-parse-subpath.d.mts +18 -0
- package/dist/interfaces/parsed-subpath.d.mts +5 -1
- package/dist/internal/regex-invalid-segment.d.mts +14 -0
- package/dist/internal/regex-invalid-segment.mjs +11 -0
- package/dist/internal/regex-invalid-segment.mjs.map +6 -0
- package/dist/internal/resolver.mjs +6 -9
- package/dist/internal/resolver.mjs.map +1 -1
- package/dist/internal/validate-array-set.d.mts +22 -0
- package/dist/internal/validate-array-set.mjs +11 -0
- package/dist/internal/validate-array-set.mjs.map +6 -0
- package/dist/internal/validate-map.d.mts +23 -0
- package/dist/internal/validate-map.mjs +11 -0
- package/dist/internal/validate-map.mjs.map +6 -0
- package/dist/internal/validate-set.d.mts +4 -5
- package/dist/internal/validate-set.mjs.map +1 -1
- package/dist/utils/fill-modules.d.mts +1 -0
- package/dist/utils/fill-modules.mjs +7 -1
- package/dist/utils/fill-modules.mjs.map +1 -1
- package/dist/utils/find-requires.mjs +1 -1
- package/dist/utils/find-subpath.d.mts +2 -1
- package/dist/utils/find-subpath.mjs +2 -0
- package/dist/utils/find-subpath.mjs.map +1 -1
- package/dist/utils/get-format.d.mts +8 -1
- package/dist/utils/get-format.mjs +22 -11
- package/dist/utils/get-format.mjs.map +1 -1
- package/dist/utils/get-source.d.mts +7 -0
- package/dist/utils/get-source.mjs +13 -6
- package/dist/utils/get-source.mjs.map +1 -1
- package/dist/utils/is-absolute-specifier.d.mts +1 -0
- package/dist/utils/is-absolute-specifier.mjs +2 -0
- package/dist/utils/is-absolute-specifier.mjs.map +1 -1
- package/dist/utils/is-bare-specifier.d.mts +1 -0
- package/dist/utils/is-bare-specifier.mjs +2 -0
- package/dist/utils/is-bare-specifier.mjs.map +1 -1
- package/dist/utils/is-exports-sugar.mjs +1 -1
- package/dist/utils/is-exports-sugar.mjs.map +1 -1
- package/dist/utils/is-relative-specifier.mjs.map +1 -1
- package/dist/utils/parse-module-id.d.mts +1 -3
- package/dist/utils/parse-module-id.mjs +3 -0
- package/dist/utils/parse-module-id.mjs.map +1 -1
- package/dist/utils/parse-subpath.d.mts +1 -2
- package/dist/utils/parse-subpath.mjs +115 -5
- package/dist/utils/parse-subpath.mjs.map +1 -1
- package/dist/utils/read-package-json.mjs +7 -5
- package/dist/utils/read-package-json.mjs.map +1 -1
- package/dist/utils/resolve-alias.mjs +3 -2
- package/dist/utils/resolve-alias.mjs.map +1 -1
- package/dist/utils/resolve-module.mjs +16 -1
- package/dist/utils/resolve-module.mjs.map +1 -1
- package/dist/utils/to-bare-specifier.mjs +8 -10
- package/dist/utils/to-bare-specifier.mjs.map +1 -1
- package/dist/utils/to-relative-specifier.d.mts +2 -0
- package/dist/utils/to-relative-specifier.mjs +3 -0
- package/dist/utils/to-relative-specifier.mjs.map +1 -1
- package/dist/utils/to-url.d.mts +2 -3
- package/dist/utils/to-url.mjs.map +1 -1
- package/dist/utils/validate-assertions.mjs +2 -0
- package/dist/utils/validate-assertions.mjs.map +1 -1
- package/dist/utils/validate-exports.d.mts +2 -2
- package/dist/utils/validate-exports.mjs +2 -2
- package/dist/utils/validate-exports.mjs.map +1 -1
- package/package.json +34 -41
- package/src/interfaces/options-get-format.ts +2 -14
- package/src/interfaces/options-get-source.ts +2 -14
- package/src/interfaces/options-parse-subpath.ts +20 -0
- package/src/interfaces/parsed-subpath.ts +10 -1
- package/src/internal/regex-invalid-segment.ts +23 -0
- package/src/internal/resolver.ts +7 -22
- package/src/internal/validate-array-set.ts +32 -0
- package/src/internal/validate-map.ts +33 -0
- package/src/internal/validate-set.ts +4 -5
- package/src/utils/fill-modules.ts +10 -1
- package/src/utils/find-requires.ts +1 -1
- package/src/utils/find-subpath.ts +11 -2
- package/src/utils/get-format.ts +33 -12
- package/src/utils/get-source.ts +21 -6
- package/src/utils/is-absolute-specifier.ts +5 -0
- package/src/utils/is-bare-specifier.ts +5 -0
- package/src/utils/is-exports-sugar.ts +1 -1
- package/src/utils/is-relative-specifier.ts +1 -0
- package/src/utils/parse-module-id.ts +6 -3
- package/src/utils/parse-subpath.ts +154 -9
- package/src/utils/read-package-json.ts +8 -3
- package/src/utils/resolve-alias.ts +3 -2
- package/src/utils/resolve-module.ts +40 -11
- package/src/utils/to-bare-specifier.ts +10 -12
- package/src/utils/to-relative-specifier.ts +7 -0
- package/src/utils/to-url.ts +2 -3
- package/src/utils/validate-assertions.ts +2 -0
- package/src/utils/validate-exports.ts +5 -5
- package/changelog.config.ts +0 -404
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,104 @@
|
|
|
1
|
+
## [1.0.0-alpha.13](https://github.com/flex-development/mlly/compare/1.0.0-alpha.12...1.0.0-alpha.13) (2023-02-22)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### :package: Build
|
|
5
|
+
|
|
6
|
+
* **deps-dev:** Bump typescript from 5.0.0-dev.20230219 to 5.0.0-dev.20230222 ([#158](https://github.com/flex-development/mlly/issues/158)) ([1ca8a5f](https://github.com/flex-development/mlly/commit/1ca8a5f6998541fe470a9b7b0372c0d39381948d))
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### :bug: Fixes
|
|
10
|
+
|
|
11
|
+
* **ts:** ensure typechecks pass without peer deps installed ([81b55ca](https://github.com/flex-development/mlly/commit/81b55caa8533ad174ec009535e5a030be21e6cc1))
|
|
12
|
+
|
|
13
|
+
## [1.0.0-alpha.12](https://github.com/flex-development/mlly/compare/1.0.0-alpha.11...1.0.0-alpha.12) (2023-02-22)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### ⚠ BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* **utils:** [`getSource`] enforce absolute module id
|
|
19
|
+
* **utils:** [`getFormat`] enforce absolute module id
|
|
20
|
+
|
|
21
|
+
### :package: Build
|
|
22
|
+
|
|
23
|
+
* **deps-dev:** Bump @commitlint/cli from 17.4.2 to 17.4.4 ([#147](https://github.com/flex-development/mlly/issues/147)) ([d4024c8](https://github.com/flex-development/mlly/commit/d4024c81fc54aa8fba66b1b205cf25e6aefdaf2b))
|
|
24
|
+
* **deps-dev:** Bump @commitlint/config-conventional from 17.4.2 to 17.4.4 ([#146](https://github.com/flex-development/mlly/issues/146)) ([967f90b](https://github.com/flex-development/mlly/commit/967f90bcb7f769e1b44425be050664d9e4843882))
|
|
25
|
+
* **deps-dev:** bump @faker-js/faker from 7.6.0 to 8.0.0-alpha.0 ([3201065](https://github.com/flex-development/mlly/commit/32010657fbdae9d9eb45d5766589e251871bbc33))
|
|
26
|
+
* **deps-dev:** bump @flex-development/mkbuild from 1.0.0-alpha.9 to 1.0.0-alpha.13 ([925f2e5](https://github.com/flex-development/mlly/commit/925f2e50901d1ce92b29273bafd387ba1e5e3ed0))
|
|
27
|
+
* **deps-dev:** Bump @graphql-eslint/eslint-plugin from 3.15.0 to 3.16.0 ([#144](https://github.com/flex-development/mlly/issues/144)) ([0356608](https://github.com/flex-development/mlly/commit/03566088d500e2252a16f5aa77f3c08dcd415027))
|
|
28
|
+
* **deps-dev:** Bump @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0 ([#155](https://github.com/flex-development/mlly/issues/155)) ([96e941c](https://github.com/flex-development/mlly/commit/96e941ca96a8cfd6b6b97b66a39bf2502780778c))
|
|
29
|
+
* **deps-dev:** Bump @typescript-eslint/parser from 5.52.0 to 5.53.0 ([#149](https://github.com/flex-development/mlly/issues/149)) ([55f514d](https://github.com/flex-development/mlly/commit/55f514d8a3716fe5a8d68f19e09d9148194f6e18))
|
|
30
|
+
* **deps-dev:** bump @vitest/coverage-c8 from 0.28.4 to 0.28.5 ([93d7e1c](https://github.com/flex-development/mlly/commit/93d7e1c141d492d0ea4ad40fa152ce7e0c38763e))
|
|
31
|
+
* **deps-dev:** bump @vitest/ui from 0.28.4 to 0.28.5 ([2e52ac4](https://github.com/flex-development/mlly/commit/2e52ac405fba671168aad1143dfbc36f12b1e092))
|
|
32
|
+
* **deps-dev:** Bump esbuild from 0.17.7 to 0.17.8 ([#135](https://github.com/flex-development/mlly/issues/135)) ([44d2d16](https://github.com/flex-development/mlly/commit/44d2d1683bfa60bb8ea3ba8e747eec9cc468e668))
|
|
33
|
+
* **deps-dev:** Bump esbuild from 0.17.9 to 0.17.10 ([#151](https://github.com/flex-development/mlly/issues/151)) ([ef0e31e](https://github.com/flex-development/mlly/commit/ef0e31e7b305da07649aafc3fcb62287d0a61a1a))
|
|
34
|
+
* **deps-dev:** Bump eslint from 8.33.0 to 8.34.0 ([#129](https://github.com/flex-development/mlly/issues/129)) ([0c84f73](https://github.com/flex-development/mlly/commit/0c84f731dd1766480d555722d85144857cdaf057))
|
|
35
|
+
* **deps-dev:** Bump eslint-plugin-yml from 1.4.0 to 1.5.0 ([#127](https://github.com/flex-development/mlly/issues/127)) ([58900c4](https://github.com/flex-development/mlly/commit/58900c40bbe2dba9ace8c74b48bf0f1ac1da22ae))
|
|
36
|
+
* **deps-dev:** Bump lint-staged from 13.1.1 to 13.1.2 ([#131](https://github.com/flex-development/mlly/issues/131)) ([97dfd0a](https://github.com/flex-development/mlly/commit/97dfd0a138084b3ea27687ba4a2f04a781a10dc9))
|
|
37
|
+
* **deps-dev:** bump typescript from 5.0.0-dev.20221215 to 5.0.0-dev.20230217 ([75b5d22](https://github.com/flex-development/mlly/commit/75b5d226118c4a280f3682987ac237b0843587d4))
|
|
38
|
+
* **deps-dev:** Bump vercel from 28.15.3 to 28.16.2 ([#142](https://github.com/flex-development/mlly/issues/142)) ([e841f53](https://github.com/flex-development/mlly/commit/e841f532d46ad7cef4f4b5becf34b477699d81a0))
|
|
39
|
+
* **deps-dev:** Bump vercel from 28.16.2 to 28.16.4 ([#159](https://github.com/flex-development/mlly/issues/159)) ([a8b80d9](https://github.com/flex-development/mlly/commit/a8b80d9b3802d53b71bd07e234ffe3008c522213))
|
|
40
|
+
* **deps-dev:** Bump vite from 4.1.2 to 4.1.4 ([#150](https://github.com/flex-development/mlly/issues/150)) ([283debd](https://github.com/flex-development/mlly/commit/283debd0c45e30bc3d80a672b550e0460c8f040d))
|
|
41
|
+
* **deps-dev:** bump vitest from 0.28.4 to 0.28.5 ([1aeb03c](https://github.com/flex-development/mlly/commit/1aeb03c2b28e874e2677c67f77d21769f19b1048))
|
|
42
|
+
* **deps-dev:** Bump vue-tsc from 1.1.4 to 1.1.7 ([#157](https://github.com/flex-development/mlly/issues/157)) ([f6e7417](https://github.com/flex-development/mlly/commit/f6e7417e02ac1cadd691279176f428c3d06c4f47))
|
|
43
|
+
* **deps-dev:** remove `@commitlint/types` ([8a93c2b](https://github.com/flex-development/mlly/commit/8a93c2b39e4aa402beed9ff8ccf6249d19b1ec1d))
|
|
44
|
+
* **deps:** bump @flex-development/errnode from 1.4.0 to 1.5.0 ([606c796](https://github.com/flex-development/mlly/commit/606c796b5b1ad4a30b6271e146c845338b74cd4f))
|
|
45
|
+
* **deps:** bump @flex-development/tutils from 6.0.0-alpha.9 to 6.0.0-alpha.10 ([b74a958](https://github.com/flex-development/mlly/commit/b74a95882c02b8bc1ab4ecfea3c87a321044421e))
|
|
46
|
+
* **yarn:** bump yarn from 4.0.0-rc.34 to 4.0.0-rc.39 ([34be9cc](https://github.com/flex-development/mlly/commit/34be9cccebc974ced5ff089442d025c43d0c1737))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### :robot: Continuous Integration
|
|
50
|
+
|
|
51
|
+
* [[@dependabot](https://github.com/dependabot)] fix private registry updates ([f42ef3e](https://github.com/flex-development/mlly/commit/f42ef3e10bc7b2ca2d9e6301e08d3092214fa0cc))
|
|
52
|
+
* **deps:** Bump actions/cache from 3.2.5 to 3.2.6 ([#156](https://github.com/flex-development/mlly/issues/156)) ([6da77e9](https://github.com/flex-development/mlly/commit/6da77e9ff2150160711273d404af3bf50a3de6d5))
|
|
53
|
+
* **workflows:** [`ci`] use `env.GITHUB_SHA` for codecov override commit ([f1bd699](https://github.com/flex-development/mlly/commit/f1bd69969a365e41f0c199b3d57439031d683b6b))
|
|
54
|
+
* **workflows:** [`ci`] use `github.event.pull_request.head.sha` for codecov ([2fda03f](https://github.com/flex-development/mlly/commit/2fda03f9064f0203e93723c53e9511a156d69e7c))
|
|
55
|
+
* **workflows:** [`dependabot-auto`] remove `enable-auto-merge` job conditional ([437f053](https://github.com/flex-development/mlly/commit/437f0535ad8d8701ce13a0001877d157639fa57e))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### :pencil: Documentation
|
|
59
|
+
|
|
60
|
+
* organize badges ([58b6377](https://github.com/flex-development/mlly/commit/58b6377612b9c9454c98478de8912df67fc04d86))
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
### :sparkles: Features
|
|
64
|
+
|
|
65
|
+
* `ParsedSubpath#target` ([a956cb1](https://github.com/flex-development/mlly/commit/a956cb10b27f63f683a64b5028bef87170862e44))
|
|
66
|
+
* **internal:** `invalidSegmentRegex` ([b8dd2d0](https://github.com/flex-development/mlly/commit/b8dd2d03776959e374dc242b3d7189e20742f6fa))
|
|
67
|
+
* **internal:** `validateArraySet` ([045c4c6](https://github.com/flex-development/mlly/commit/045c4c614ebf8eb213f6801f24f6759de527c796))
|
|
68
|
+
* **internal:** `validateMap` ([82c63b4](https://github.com/flex-development/mlly/commit/82c63b467615c0e799c4bb9d4bd1d35c5ac2ca1e))
|
|
69
|
+
* **utils:** [`findSubpath`] support `/index`-less targets ([8f68ae8](https://github.com/flex-development/mlly/commit/8f68ae8b300bbe507eb6a401d21d9a30cf010115))
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### :bug: Fixes
|
|
73
|
+
|
|
74
|
+
* **internal:** [`Resolver#resolvePackageTarget`] `package.json` url for numeric property key error ([cde6441](https://github.com/flex-development/mlly/commit/cde64411035c40e927e778158e27f673257821e8))
|
|
75
|
+
* **ts:** ensure typechecks pass without peer deps installed ([779cddf](https://github.com/flex-development/mlly/commit/779cddf91f6d4e0e04ecebab0e0c6942aeaa9286))
|
|
76
|
+
* **utils:** [`findRequires`] array item extraction ([e719d34](https://github.com/flex-development/mlly/commit/e719d34b36cf7c68ed240eee2e0a6f55194e349a))
|
|
77
|
+
* **utils:** [`findRequires`] object value extraction ([cffba6b](https://github.com/flex-development/mlly/commit/cffba6b113cb85430d54a131a742c03bedb62d5b))
|
|
78
|
+
* **utils:** [`findRequires`] parameter extraction ([9af669b](https://github.com/flex-development/mlly/commit/9af669b02a1153381d3382d74ff79fbc8e41525d))
|
|
79
|
+
* **utils:** [`resolveModule`] `[@types](https://github.com/types)` resolution ([beeadeb](https://github.com/flex-development/mlly/commit/beeadebbc959bc16ef7eded8a14a450616297640))
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
### :house_with_garden: Housekeeping
|
|
83
|
+
|
|
84
|
+
* move changelog config to `config` directory ([395e355](https://github.com/flex-development/mlly/commit/395e355d17c7b977020612443e93dd49b44c4b1f))
|
|
85
|
+
* sync updated config files ([8d8ccef](https://github.com/flex-development/mlly/commit/8d8ccefd878b68773bdbaaece9cd738e131208b5))
|
|
86
|
+
* update config files ([f85bf43](https://github.com/flex-development/mlly/commit/f85bf43db9eb8c26d36c77e8804d8f1c8d023736))
|
|
87
|
+
* **github:** merge `pre-push` workflow into `commit-msg` workflow ([e12e977](https://github.com/flex-development/mlly/commit/e12e97726152df1249b6cf3637949d573105c166))
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
### :zap: Refactors
|
|
91
|
+
|
|
92
|
+
* **utils:** schema validation ([a7c2682](https://github.com/flex-development/mlly/commit/a7c26827b747027d2b82be0361a42e46c17277c1))
|
|
93
|
+
* **utils:** [`getFormat`] enforce absolute module id ([41e0901](https://github.com/flex-development/mlly/commit/41e09016cb3cfdff9a9afa900802969a6e52fb3a))
|
|
94
|
+
* **utils:** [`getSource`] enforce absolute module id ([b9180cc](https://github.com/flex-development/mlly/commit/b9180cc0ac378d0eedc1724eb7115e7bab63ed08))
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
### :white_check_mark: Testing
|
|
98
|
+
|
|
99
|
+
* stablize package `exports` / `imports` tests ([187384b](https://github.com/flex-development/mlly/commit/187384b197fd91a723c9feccc9baa3c206c28008))
|
|
100
|
+
* **utils:** [`toBareSpecifier`] stabilize tests ([3621201](https://github.com/flex-development/mlly/commit/3621201258c3f10c407546741c347afb427d523d))
|
|
101
|
+
|
|
1
102
|
## [1.0.0-alpha.11](https://github.com/flex-development/mlly/compare/1.0.0-alpha.10...1.0.0-alpha.11) (2023-02-11)
|
|
2
103
|
|
|
3
104
|
|
package/README.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://npmjs.com/package/@flex-development/mlly)
|
|
4
4
|
[](https://codecov.io/gh/flex-development/mlly)
|
|
5
|
-
[](LICENSE.md)
|
|
6
5
|
[](https://github.com/voxpelli/badges-cjs-esm)
|
|
6
|
+
[](LICENSE.md)
|
|
7
7
|
[](https://conventionalcommits.org/)
|
|
8
8
|
[](https://typescriptlang.org/)
|
|
9
9
|
[](https://vitest.dev/)
|
|
@@ -3,27 +3,16 @@
|
|
|
3
3
|
* @module mlly/interfaces/GetFormatOptions
|
|
4
4
|
*/
|
|
5
5
|
import type { Format } from '../enums/index.mjs';
|
|
6
|
-
import type { ModuleId } from '../types/index.mjs';
|
|
7
6
|
import type { Ext } from '@flex-development/pathe';
|
|
8
7
|
import type { EmptyString } from '@flex-development/tutils';
|
|
9
|
-
import type { RequestInit } from 'node-fetch';
|
|
10
8
|
/**
|
|
11
9
|
* Module format retrieval options.
|
|
12
10
|
*
|
|
13
11
|
* @see {@linkcode Ext}
|
|
14
12
|
* @see {@linkcode Format}
|
|
15
|
-
* @see {@linkcode ModuleId}
|
|
16
13
|
* @see {@linkcode RequestInit}
|
|
17
14
|
*/
|
|
18
15
|
interface GetFormatOptions {
|
|
19
|
-
/**
|
|
20
|
-
* Base URL to resolve module id against if module id is not absolute.
|
|
21
|
-
*
|
|
22
|
-
* @see {@linkcode ModuleId}
|
|
23
|
-
*
|
|
24
|
-
* @default undefined
|
|
25
|
-
*/
|
|
26
|
-
base?: ModuleId | undefined;
|
|
27
16
|
/**
|
|
28
17
|
* Enable support for JSON modules.
|
|
29
18
|
*
|
|
@@ -76,8 +65,9 @@ interface GetFormatOptions {
|
|
|
76
65
|
*
|
|
77
66
|
* @see {@linkcode RequestInit}
|
|
78
67
|
*
|
|
79
|
-
* @default
|
|
68
|
+
* @default {}
|
|
80
69
|
*/
|
|
81
|
-
|
|
70
|
+
// @ts-ignore peer dependency
|
|
71
|
+
req?: import('node-fetch').RequestInit | undefined;
|
|
82
72
|
}
|
|
83
73
|
export type { GetFormatOptions as default };
|
|
@@ -3,24 +3,13 @@
|
|
|
3
3
|
* @module mlly/interfaces/GetSourceOptions
|
|
4
4
|
*/
|
|
5
5
|
import type { Format } from '../enums/index.mjs';
|
|
6
|
-
import type { ModuleId } from '../types/index.mjs';
|
|
7
|
-
import type { RequestInit } from 'node-fetch';
|
|
8
6
|
/**
|
|
9
7
|
* Source code retrieval options.
|
|
10
8
|
*
|
|
11
9
|
* @see {@linkcode Format}
|
|
12
|
-
* @see {@linkcode ModuleId}
|
|
13
10
|
* @see {@linkcode RequestInit}
|
|
14
11
|
*/
|
|
15
12
|
interface GetSourceOptions {
|
|
16
|
-
/**
|
|
17
|
-
* Base URL to resolve module id against if module id is not absolute.
|
|
18
|
-
*
|
|
19
|
-
* @see {@linkcode ModuleId}
|
|
20
|
-
*
|
|
21
|
-
* @default undefined
|
|
22
|
-
*/
|
|
23
|
-
base?: ModuleId | undefined;
|
|
24
13
|
/**
|
|
25
14
|
* Enable support for network based modules.
|
|
26
15
|
*
|
|
@@ -56,8 +45,9 @@ interface GetSourceOptions {
|
|
|
56
45
|
*
|
|
57
46
|
* @see {@linkcode RequestInit}
|
|
58
47
|
*
|
|
59
|
-
* @default
|
|
48
|
+
* @default {}
|
|
60
49
|
*/
|
|
61
|
-
|
|
50
|
+
// @ts-ignore peer dependency
|
|
51
|
+
req?: import('node-fetch').RequestInit | undefined;
|
|
62
52
|
}
|
|
63
53
|
export type { GetSourceOptions as default };
|
|
@@ -9,6 +9,24 @@ import type { ModuleId } from '../types/index.mjs';
|
|
|
9
9
|
* @see {@linkcode ModuleId}
|
|
10
10
|
*/
|
|
11
11
|
interface ParseSubpathOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Export condition to apply.
|
|
14
|
+
*
|
|
15
|
+
* @see https://nodejs.org/api/packages.html#conditional-exports
|
|
16
|
+
*
|
|
17
|
+
* @default 'default'
|
|
18
|
+
*/
|
|
19
|
+
condition?: string | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Export conditions.
|
|
22
|
+
*
|
|
23
|
+
* **Note**: Should be sorted by priority.
|
|
24
|
+
*
|
|
25
|
+
* @see https://nodejs.org/api/packages.html#conditional-exports
|
|
26
|
+
*
|
|
27
|
+
* @default CONDITIONS
|
|
28
|
+
*/
|
|
29
|
+
conditions?: Set<string> | string[] | undefined;
|
|
12
30
|
/**
|
|
13
31
|
* URL of directory containing relevant `package.json` file.
|
|
14
32
|
*/
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @file Interfaces - ParsedSubpath
|
|
3
3
|
* @module mlly/interfaces/ParsedSubpath
|
|
4
4
|
*/
|
|
5
|
-
import type { EmptyString, LiteralUnion } from '@flex-development/tutils';
|
|
5
|
+
import type { EmptyString, LiteralUnion, Nullable } from '@flex-development/tutils';
|
|
6
6
|
/**
|
|
7
7
|
* Object representing a package subpath.
|
|
8
8
|
*
|
|
@@ -36,5 +36,9 @@ interface ParsedSubpath {
|
|
|
36
36
|
* Module specifier passed by user.
|
|
37
37
|
*/
|
|
38
38
|
specifier: string;
|
|
39
|
+
/**
|
|
40
|
+
* Package target as documented in `package.json` file.
|
|
41
|
+
*/
|
|
42
|
+
target: Nullable<string>;
|
|
39
43
|
}
|
|
40
44
|
export type { ParsedSubpath as default };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Internal - invalidSegmentRegex
|
|
3
|
+
* @module mlly/internal/invalidSegmentRegex
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Returns a regular expression matching invalid path segments.
|
|
7
|
+
*
|
|
8
|
+
* @see https://github.com/nodejs/node/blob/v19.6.1/lib/internal/modules/esm/resolve.js#L299-L300
|
|
9
|
+
*
|
|
10
|
+
* @param {'deprecated'?} type - Pattern type
|
|
11
|
+
* @return {RegExp} Regular expression matching invalid path segments
|
|
12
|
+
*/
|
|
13
|
+
declare const invalidSegmentRegex: (type?: 'deprecated') => RegExp;
|
|
14
|
+
export default invalidSegmentRegex;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const invalidSegmentRegex = (type) => {
|
|
2
|
+
return new RegExp(
|
|
3
|
+
`(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))${type === "deprecated" ? "" : "?"}(\\\\|\\/|$)`,
|
|
4
|
+
"i"
|
|
5
|
+
);
|
|
6
|
+
};
|
|
7
|
+
var regex_invalid_segment_default = invalidSegmentRegex;
|
|
8
|
+
export {
|
|
9
|
+
regex_invalid_segment_default as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=regex-invalid-segment.mjs.map
|
|
@@ -27,6 +27,7 @@ import regexp from "./escape-reg-exp.mjs";
|
|
|
27
27
|
import isArrayIndex from "./is-array-index.mjs";
|
|
28
28
|
import isDirectory from "./is-directory.mjs";
|
|
29
29
|
import isFile from "./is-file.mjs";
|
|
30
|
+
import invalidSegmentRegex from "./regex-invalid-segment.mjs";
|
|
30
31
|
import PACKAGE_NAME_REGEX from "./regex-package-name.mjs";
|
|
31
32
|
import PACKAGE_PATH_REGEX from "./regex-package-path.mjs";
|
|
32
33
|
class Resolver {
|
|
@@ -380,10 +381,12 @@ class Resolver {
|
|
|
380
381
|
throw error;
|
|
381
382
|
continue;
|
|
382
383
|
}
|
|
383
|
-
if (url)
|
|
384
|
+
if (url) {
|
|
385
|
+
error = void 0;
|
|
384
386
|
break;
|
|
387
|
+
}
|
|
385
388
|
}
|
|
386
|
-
if (error
|
|
389
|
+
if (error)
|
|
387
390
|
throw error;
|
|
388
391
|
break;
|
|
389
392
|
case typeof target === "object":
|
|
@@ -391,7 +394,7 @@ class Resolver {
|
|
|
391
394
|
for (const prop of Object.getOwnPropertyNames(target)) {
|
|
392
395
|
if (isArrayIndex(prop)) {
|
|
393
396
|
throw new ERR_INVALID_PACKAGE_CONFIG(
|
|
394
|
-
fileURLToPath(dir),
|
|
397
|
+
fileURLToPath(dir).replace(/\/$/, "") + "/package.json",
|
|
395
398
|
fileURLToPath(parent),
|
|
396
399
|
'"exports" cannot contain numeric property keys'
|
|
397
400
|
);
|
|
@@ -428,12 +431,6 @@ class Resolver {
|
|
|
428
431
|
url = this.resolvePackage(target, parent, condition, conditions);
|
|
429
432
|
break;
|
|
430
433
|
case target.startsWith("." + pathe.sep):
|
|
431
|
-
const invalidSegmentRegex = (type) => {
|
|
432
|
-
return new RegExp(
|
|
433
|
-
`(^|\\\\|\\/)((\\.|%2e)(\\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))${type === "deprecated" ? "" : "?"}(\\\\|\\/|$)`,
|
|
434
|
-
"i"
|
|
435
|
-
);
|
|
436
|
-
};
|
|
437
434
|
if (invalidSegmentRegex().test(target.slice(2))) {
|
|
438
435
|
if (invalidSegmentRegex("deprecated").test(target.slice(2))) {
|
|
439
436
|
throw new ERR_INVALID_PACKAGE_TARGET(
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/internal/resolver.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Internal - validateArraySet
|
|
3
|
+
* @module mlly/internal/validateArraySet
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Checks if given `value` is an array or a {@linkcode Set}.
|
|
7
|
+
*
|
|
8
|
+
* Throws [`ERR_INVALID_ARG_TYPE`][1] if the `value` is of neither type.
|
|
9
|
+
*
|
|
10
|
+
* [1]: https://nodejs.org/api/errors.html#err_invalid_arg_value
|
|
11
|
+
*
|
|
12
|
+
* @see {@linkcode ERR_INVALID_ARG_TYPE}
|
|
13
|
+
*
|
|
14
|
+
* @template T - Item type(s)
|
|
15
|
+
*
|
|
16
|
+
* @param {unknown} value - Value supplied by user
|
|
17
|
+
* @param {string} name - Name of invalid argument or property
|
|
18
|
+
* @return {value is Set<T> | T[]} `true` if `value` is array or {@linkcode Set}
|
|
19
|
+
* @throws {NodeError<TypeError>} If `value` is not an array or {@linkcode Set}
|
|
20
|
+
*/
|
|
21
|
+
declare function validateArraySet<T = unknown>(value: unknown, name: string): value is Set<T> | T[];
|
|
22
|
+
export default validateArraySet;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ERR_INVALID_ARG_TYPE } from "@flex-development/errnode";
|
|
2
|
+
function validateArraySet(value, name) {
|
|
3
|
+
if (Array.isArray(value) || value instanceof Set)
|
|
4
|
+
return true;
|
|
5
|
+
throw new ERR_INVALID_ARG_TYPE(name, ["Array", "Set"], value);
|
|
6
|
+
}
|
|
7
|
+
var validate_array_set_default = validateArraySet;
|
|
8
|
+
export {
|
|
9
|
+
validate_array_set_default as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=validate-array-set.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/internal/validate-array-set.ts"],
|
|
4
|
+
"mappings": "AAKA,SAAS,4BAA4C;AAkBrD,SAAS,iBACP,OACA,MACuB;AACvB,MAAI,MAAM,QAAQ,KAAK,KAAK,iBAAiB;AAAK,WAAO;AACzD,QAAM,IAAI,qBAAqB,MAAM,CAAC,SAAS,KAAK,GAAG,KAAK;AAC9D;AAEA,IAAO,6BAAQ;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Internal - validateMap
|
|
3
|
+
* @module mlly/internal/validateMap
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Checks if given `value` is a {@linkcode Map}.
|
|
7
|
+
*
|
|
8
|
+
* Throws [`ERR_INVALID_ARG_TYPE`][1] if the `value` is not a {@linkcode Map}.
|
|
9
|
+
*
|
|
10
|
+
* [1]: https://nodejs.org/api/errors.html#err_invalid_arg_value
|
|
11
|
+
*
|
|
12
|
+
* @see {@linkcode ERR_INVALID_ARG_TYPE}
|
|
13
|
+
*
|
|
14
|
+
* @template K - Map key type(s)
|
|
15
|
+
* @template V - Item type(s)
|
|
16
|
+
*
|
|
17
|
+
* @param {unknown} value - Value supplied by user
|
|
18
|
+
* @param {string} name - Name of invalid argument or property
|
|
19
|
+
* @return {value is Map<K, V>} `true` if `value` is a {@linkcode Map}
|
|
20
|
+
* @throws {NodeError<TypeError>} If `value` is not a {@linkcode Map}
|
|
21
|
+
*/
|
|
22
|
+
declare function validateMap<K extends string = string, V = unknown>(value: unknown, name: string): value is Map<K, V>;
|
|
23
|
+
export default validateMap;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ERR_INVALID_ARG_TYPE } from "@flex-development/errnode";
|
|
2
|
+
function validateMap(value, name) {
|
|
3
|
+
if (value instanceof Map)
|
|
4
|
+
return true;
|
|
5
|
+
throw new ERR_INVALID_ARG_TYPE(name, ["Map"], value);
|
|
6
|
+
}
|
|
7
|
+
var validate_map_default = validateMap;
|
|
8
|
+
export {
|
|
9
|
+
validate_map_default as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=validate-map.mjs.map
|
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
* @module mlly/internal/validateSet
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Checks if given `value` is
|
|
6
|
+
* Checks if given `value` is a {@linkcode Set}.
|
|
7
7
|
*
|
|
8
|
-
* Throws [`ERR_INVALID_ARG_TYPE`][1] if the `value` is not a {@linkcode Set}
|
|
9
|
-
* instance.
|
|
8
|
+
* Throws [`ERR_INVALID_ARG_TYPE`][1] if the `value` is not a {@linkcode Set}.
|
|
10
9
|
*
|
|
11
10
|
* [1]: https://nodejs.org/api/errors.html#err_invalid_arg_value
|
|
12
11
|
*
|
|
@@ -16,8 +15,8 @@
|
|
|
16
15
|
*
|
|
17
16
|
* @param {unknown} value - Value supplied by user
|
|
18
17
|
* @param {string} name - Name of invalid argument or property
|
|
19
|
-
* @return {value is Set} `true` if `value` is
|
|
20
|
-
* @throws {NodeError<TypeError>} If `value` is
|
|
18
|
+
* @return {value is Set<T>} `true` if `value` is a {@linkcode Set}
|
|
19
|
+
* @throws {NodeError<TypeError>} If `value` is not a {@linkcode Set}
|
|
21
20
|
*/
|
|
22
21
|
declare function validateSet<T = unknown>(value: unknown, name: string): value is Set<T>;
|
|
23
22
|
export default validateSet;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/internal/validate-set.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,4BAA4C;
|
|
4
|
+
"mappings": "AAKA,SAAS,4BAA4C;AAkBrD,SAAS,YACP,OACA,MACiB;AACjB,MAAI,iBAAiB;AAAK,WAAO;AACjC,QAAM,IAAI,qBAAqB,MAAM,CAAC,KAAK,GAAG,KAAK;AACrD;AAEA,IAAO,uBAAQ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -18,6 +18,7 @@ import type { FillModuleOptions } from '../interfaces/index.mjs';
|
|
|
18
18
|
* @param {string} code - Code to evaluate
|
|
19
19
|
* @param {FillModuleOptions} options - Module fill options
|
|
20
20
|
* @return {Promise<string>} `code` with fully specified module specifiers
|
|
21
|
+
* @throws {NodeError<TypeError>}
|
|
21
22
|
*/
|
|
22
23
|
declare const fillModules: (code: string, options: FillModuleOptions) => Promise<string>;
|
|
23
24
|
export default fillModules;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { SpecifierSyntaxKind } from "../enums/index.mjs";
|
|
2
2
|
import regexp from "../internal/escape-reg-exp.mjs";
|
|
3
3
|
import isFunction from "../internal/is-function.mjs";
|
|
4
|
-
import
|
|
4
|
+
import validateArraySet from "../internal/validate-array-set.mjs";
|
|
5
|
+
import validateURLString from "../internal/validate-url-string.mjs";
|
|
6
|
+
import {
|
|
7
|
+
ERR_UNKNOWN_FILE_EXTENSION
|
|
8
|
+
} from "@flex-development/errnode";
|
|
5
9
|
import pathe from "@flex-development/pathe";
|
|
6
10
|
import CONDITIONS from "./conditions.mjs";
|
|
7
11
|
import extractStatements from "./extract-statements.mjs";
|
|
@@ -12,6 +16,8 @@ import toBareSpecifier from "./to-bare-specifier.mjs";
|
|
|
12
16
|
import toRelativeSpecifier from "./to-relative-specifier.mjs";
|
|
13
17
|
const fillModules = async (code, options) => {
|
|
14
18
|
const { conditions = CONDITIONS, ext, parent = import.meta.url } = options;
|
|
19
|
+
validateArraySet(conditions, "options.conditions");
|
|
20
|
+
validateURLString(parent, "options.parent");
|
|
15
21
|
for (const statement of extractStatements(code)) {
|
|
16
22
|
if (!statement.specifier)
|
|
17
23
|
continue;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/fill-modules.ts"],
|
|
4
|
-
"mappings": "AAKA,SAAS,2BAA2B;AAEpC,OAAO,YAAY;AACnB,OAAO,gBAAgB;AACvB,
|
|
4
|
+
"mappings": "AAKA,SAAS,2BAA2B;AAEpC,OAAO,YAAY;AACnB,OAAO,gBAAgB;AACvB,OAAO,sBAAsB;AAC7B,OAAO,uBAAuB;AAC9B;AAAA,EACE;AAAA,OAEK;AACP,OAAO,WAAW;AAElB,OAAO,gBAAgB;AACvB,OAAO,uBAAuB;AAC9B,OAAO,yBAAyB;AAChC,OAAO,qBAAqB;AAC5B,OAAO,mBAAmB;AAC1B,OAAO,qBAAqB;AAC5B,OAAO,yBAAyB;AAmBhC,MAAM,cAAc,OAClB,MACA,YACoB;AACpB,QAAM,EAAE,aAAa,YAAY,KAAK,SAAS,YAAY,IAAI,IAAI;AAEnE,mBAAiB,YAAY,oBAAoB;AACjD,oBAAkB,QAAQ,gBAAgB;AAG1C,aAAW,aAAa,kBAAkB,IAAI,GAAG;AAE/C,QAAI,CAAC,UAAU;AAAW;AAG1B,QAAI,UAAU,qBAAqB,oBAAoB;AAAS;AAOhE,UAAM,MAAW,MAAM,cAAc,UAAU,WAAW;AAAA,MACxD,GAAG;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAgBH,MAAM,IAAI,WAAmBA,MAAuC;AAElE,YAAI,gBAAgB,SAAS;AAAG,iBAAO;AAGvC,YAAI,MAAM,QAAQ,SAAS,MAAM,MAAM,QAAQA,KAAI,IAAI;AAAG,iBAAO;AAOjE,cAAM,OAAe,WAAW,GAAG,IAAI,MAAM,IAAI,WAAWA,IAAG,IAAI;AAGnE,YAAI,EAAE,QAAQ,KAAK,KAAK,EAAE,UAAU,KAAK,WAAW,GAAG,IAAI,IAAI,KAAK;AAClE,gBAAM,IAAI,2BAA2B,MAAM,SAAS;AAAA,QACtD;AAEA,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAGD,WAAO,KAAK;AAAA,MACV,UAAU;AAAA,MACV,UAAU,KAAK;AAAA,QACb,IAAI,OAAO,YAAY,OAAO,UAAU,SAAS,WAAW;AAAA;AAAA,QAE5D,UAAU,UAAU,WAAW,GAAG,IAC9B,UAAU,YACV,oBAAoB,UAAU,SAAS,IACvC,IAAI,OACJ,gBAAgB,UAAU,SAAS,IACnC,gBAAgB,KAAK,QAAQ,IAAI,IAAI,UAAU,CAAC,IAChD,oBAAoB,KAAK,MAAM;AAAA,MACrC;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAO,uBAAQ;",
|
|
5
5
|
"names": ["url"]
|
|
6
6
|
}
|
|
@@ -7,7 +7,7 @@ import getSpecifierKind from "../internal/get-specifier-kind.mjs";
|
|
|
7
7
|
import validateString from "../internal/validate-string.mjs";
|
|
8
8
|
const findRequires = (code = "") => {
|
|
9
9
|
validateString(code, "code");
|
|
10
|
-
const REQUIRE_REGEX = /(?<=^|[\s
|
|
10
|
+
const REQUIRE_REGEX = /(?<=^|[\s,:;([])\b(?:(?:const\s*|let\s*|var\s*)?(?:(?<=(?:const\s*|let\s*|var\s*))(?<imports>(?:[$_\p{ID_Start}][$\u200C\u200D\p{ID_Continue}]*)|(?:[\w\t\n\r "$'*,./:{}-]+?)))?\s*=?\s*(?<kind>require)\((?<specifier>["']?[\S\t\n\r]+?["']?)\))(?<!(?:\/\/|\*).*)/gu;
|
|
11
11
|
return [...code.matchAll(REQUIRE_REGEX)].map((match) => {
|
|
12
12
|
const { 0: code2 = "", index: start = 0, groups = {} } = match;
|
|
13
13
|
const { imports = "", specifier = "" } = groups;
|
|
@@ -9,7 +9,8 @@ import { type Nullable } from '@flex-development/tutils';
|
|
|
9
9
|
* Finds the subpath defined in `context`, a `package.json` [`exports`][1] or
|
|
10
10
|
* [`imports`][2] field, that maps to the given package `target`.
|
|
11
11
|
*
|
|
12
|
-
* Supports extensionless targets
|
|
12
|
+
* Supports extensionless targets and targets without explicit `'/index'` usage.
|
|
13
|
+
* Returns `null` if a subpath is not found.
|
|
13
14
|
*
|
|
14
15
|
* [1]: https://nodejs.org/api/packages.html#exports
|
|
15
16
|
* [2]: https://nodejs.org/api/packages.html#imports
|
|
@@ -73,10 +73,12 @@ const findSubpath = (target, context, options) => {
|
|
|
73
73
|
case typeof tar === "string":
|
|
74
74
|
tar = tar;
|
|
75
75
|
const tar_ne = pathe.changeExt(tar, "");
|
|
76
|
+
const tar_ni = tar_ne.replace(/\/index$/, "");
|
|
76
77
|
const pattern = tar.indexOf(PATTERN_CHARACTER);
|
|
77
78
|
switch (true) {
|
|
78
79
|
case target2 === tar:
|
|
79
80
|
case target2 === tar_ne:
|
|
81
|
+
case (target2 === tar_ni && tar_ne.endsWith("/index")):
|
|
80
82
|
case (pattern === -1 && (target2 === tar || target2 === tar_ne)):
|
|
81
83
|
subpath = pkgsubpath;
|
|
82
84
|
break;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/utils/find-subpath.ts"],
|
|
4
|
-
"mappings": "AAMA,OAAO,iBAAiB;AACxB,OAAO,qBAAqB;AAC5B,OAAO,iBAAiB;AACxB,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAE9B,OAAO,WAAW;AAElB,SAAS,aAA4B;AACrC,SAAS,WAAW;AACpB,OAAO,qBAAqB;AAC5B,OAAO,gBAAgB;AACvB,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,OAAO,WAAW;
|
|
4
|
+
"mappings": "AAMA,OAAO,iBAAiB;AACxB,OAAO,qBAAqB;AAC5B,OAAO,iBAAiB;AACxB,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAE9B,OAAO,WAAW;AAElB,SAAS,aAA4B;AACrC,SAAS,WAAW;AACpB,OAAO,qBAAqB;AAC5B,OAAO,gBAAgB;AACvB,OAAO,oBAAoB;AAC3B,OAAO,uBAAuB;AAC9B,OAAO,WAAW;AAwBlB,MAAM,cAAc,CAClB,QACA,SACA,YACqB;AACrB,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EACF,IAAI;AAGJ,MAAI,MAAM,OAAO;AAAG,WAAO;AAG3B,iBAAe,QAAQ,QAAQ;AAG/B,MAAI,OAAO,YAAY,UAAU;AAC/B,QAAI,WAAW,WAAW,WAAW,MAAM,UAAU,SAAS,EAAE,GAAG;AACjE,aAAO;AAAA,IACT;AAAA,EACF;AAGA,iBAAe,WAAW,mBAAmB;AAC7C,cAAY,YAAY,oBAAoB;AAC5C,oBAAkB,KAAK,aAAa;AACpC,kBAAgB,UAAU,kBAAkB;AAC5C,oBAAkB,QAAQ,gBAAgB;AAgB1C,QAAM,OAAO,CACXA,SACAC,UACA,MAAc,QACO;AAMrB,QAAI,UAA4B;AAGhC,YAAQ,MAAM;AAAA,MACZ,MAAK,CAAC,MAAMA,QAAO,KAAK,OAAOA,aAAY;AAAA,MAC3C,KAAK,OAAOA,aAAY;AAMtB,cAAM,SAAiB,MAAM,GAAG,EAAE,KAAK,QAAQ,OAAO,EAAE,IAAI,MAAM;AAOlE,cAAM,MAAW,IAAI,IAAI,gBAAgB,MAAM;AAG/C,YAAI,CAAC,YAAY,eAAeA,UAAS,KAAK,MAAM,GAAG;AACrD,UAAAA,WAAU,EAAE,CAAC,GAAG,GAAGA,SAAQ;AAAA,QAC7B;AAGA,QAAAA,WAAUA;AAWV,cAAM,WAAqB;AAAA,UACzBA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF,EAAE,KAAK,CAAC,IAAI,OAAO,gBAAgB,IAAI,EAAE,IAAI,EAAE;AAG/C,mBAAW,cAAc,UAAU;AAMjC,cAAI,MAAeA,SAAQ,UAAU;AAGrC,kBAAQ,MAAM;AAAA,YACZ,KAAK,MAAM,QAAQ,GAAG;AACpB,oBAAM;AAGN,yBAAW,QAAQ,KAAK;AACtB,0BAAU,KAAKD,SAAQ,MAAM,UAAU;AACvC,oBAAI;AAAS;AAAA,cACf;AAEA;AAAA,YACF,MAAK,OAAO,QAAQ,YAAY,CAAC,MAAM,GAAG;AACxC,oBAAM;AAGN,yBAAW,QAAQ,OAAO,oBAAoB,GAAG,GAAG;AAClD,oBAAI,SAAS,aAAa,WAAW,IAAI,IAAI,GAAG;AAC9C,4BAAU,KAAKA,SAAQ,IAAI,IAAI,GAAG,UAAU;AAC5C,sBAAI;AAAS;AAAA,gBACf;AAAA,cACF;AAEA;AAAA,YACF,KAAK,OAAO,QAAQ;AAClB,oBAAM;AAON,oBAAM,SAAiB,MAAM,UAAU,KAAK,EAAE;AAO9C,oBAAM,SAAiB,OAAO,QAAQ,YAAY,EAAE;AAOpD,oBAAM,UAAkB,IAAI,QAAQ,iBAAiB;AAErD,sBAAQ,MAAM;AAAA,gBAEZ,KAAKA,YAAW;AAAA,gBAChB,KAAKA,YAAW;AAAA,gBAChB,MAAKA,YAAW,UAAU,OAAO,SAAS,QAAQ;AAAA,gBAClD,MAAK,YAAY,OAAOA,YAAW,OAAOA,YAAW;AACnD,4BAAU;AACV;AAAA,gBAEF,MAAK,YAAY,MAAMA,QAAO,WAAW,IAAI,MAAM,GAAG,OAAO,CAAC;AAQ5D,wBAAM,QACJA,QAAO,UAAU,IAAI,UACrB,IAAI,YAAY,iBAAiB,MAAM,YACtCA,QAAO,SAAS,IAAI,MAAM,UAAU,CAAC,CAAC,KACrCA,QAAO,SAAS,OAAO,MAAM,UAAU,CAAC,CAAC;AAG7C,sBAAI;AAAO,8BAAU;AAErB;AAAA,cACJ;AAEA;AAAA,UACJ;AAGA,cAAI;AAAS;AAAA,QACf;AAEA;AAAA,MACF;AACE;AAAA,IACJ;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,KAAK,QAAQ,OAAO;AAC7B;AAEA,IAAO,uBAAQ;",
|
|
5
5
|
"names": ["target", "context"]
|
|
6
6
|
}
|
|
@@ -5,10 +5,17 @@
|
|
|
5
5
|
import { Format } from '../enums/index.mjs';
|
|
6
6
|
import type { GetFormatOptions } from '../interfaces/index.mjs';
|
|
7
7
|
import type { ModuleId } from '../types/index.mjs';
|
|
8
|
-
import type
|
|
8
|
+
import { type Nilable } from '@flex-development/tutils';
|
|
9
9
|
/**
|
|
10
10
|
* Retrieves a module format for the given module `id`.
|
|
11
11
|
*
|
|
12
|
+
* ::: tip
|
|
13
|
+
* The given module `id` should be absolute (i.e. a [`file:` URL][1] or absolute
|
|
14
|
+
* specifier).
|
|
15
|
+
* :::
|
|
16
|
+
*
|
|
17
|
+
* [1]: https://nodejs.org/api/esm.html#file-urls
|
|
18
|
+
*
|
|
12
19
|
* @see {@linkcode Format}
|
|
13
20
|
* @see {@linkcode GetFormatOptions}
|
|
14
21
|
* @see {@linkcode ModuleId}
|