@athree/module-loader 4.0.0-wip.2 → 4.0.0-wip.3
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.
|
@@ -1,38 +1,24 @@
|
|
|
1
|
-
import { readFile
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
2
|
import { fileURLToPath } from 'node:url';
|
|
3
3
|
export async function resolve(specifier, context, nextResolve) {
|
|
4
|
-
|
|
5
|
-
//
|
|
6
|
-
let ts = 0;
|
|
7
|
-
if (specifier.includes('?t=')) {
|
|
8
|
-
const [_spec, _ts] = specifier.split('?t=');
|
|
9
|
-
specifier = _spec;
|
|
10
|
-
ts = Number(_ts) || 0;
|
|
11
|
-
}
|
|
12
|
-
// Resolve the module as usual,
|
|
13
|
-
// this results either in file:// or custom specifiers like `node:`
|
|
14
|
-
const resolved = await nextResolve(specifier, context);
|
|
4
|
+
const resolved = await nextResolve(stripQuery(specifier), context);
|
|
5
|
+
// Non-file URLs (e.g. `node:`) are always resolved as is
|
|
15
6
|
if (!resolved.url.startsWith('file://')) {
|
|
16
7
|
return resolved;
|
|
17
8
|
}
|
|
18
|
-
//
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (ts > 0) {
|
|
9
|
+
// Propagate cache param from parent to transitive deps
|
|
10
|
+
const t = extractCacheParam(specifier) || (context.parentURL ? extractCacheParam(context.parentURL) : '');
|
|
11
|
+
if (t) {
|
|
22
12
|
return {
|
|
23
13
|
format: resolved.format,
|
|
24
|
-
url: resolved.url + `?t=${
|
|
14
|
+
url: resolved.url + `?t=${t}`,
|
|
25
15
|
};
|
|
26
16
|
}
|
|
27
|
-
|
|
28
|
-
return {
|
|
29
|
-
format: resolved.format,
|
|
30
|
-
url: resolved.url + `?t=${mtime.getTime()}`,
|
|
31
|
-
};
|
|
17
|
+
return resolved;
|
|
32
18
|
}
|
|
33
19
|
export async function load(specifier, context, nextLoad) {
|
|
34
20
|
if (/\.md($|\?)/.test(specifier)) {
|
|
35
|
-
const file = fileURLToPath(specifier);
|
|
21
|
+
const file = fileURLToPath(stripQuery(specifier));
|
|
36
22
|
const source = await readFile(file, 'utf-8');
|
|
37
23
|
return {
|
|
38
24
|
format: 'module',
|
|
@@ -42,4 +28,11 @@ export async function load(specifier, context, nextLoad) {
|
|
|
42
28
|
}
|
|
43
29
|
return nextLoad(specifier, context);
|
|
44
30
|
}
|
|
31
|
+
function extractCacheParam(specifier) {
|
|
32
|
+
const searchParams = new URLSearchParams(specifier.split('?')[1]);
|
|
33
|
+
return searchParams.get('t') ?? '';
|
|
34
|
+
}
|
|
35
|
+
function stripQuery(specifier) {
|
|
36
|
+
return specifier.split('?')[0];
|
|
37
|
+
}
|
|
45
38
|
//# sourceMappingURL=module-loader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../../src/main/module-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"module-loader.js","sourceRoot":"","sources":["../../src/main/module-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAKzC,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,SAAiB,EAAE,OAA2B,EAAE,WAAwB;IAClG,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;IACnE,yDAAyD;IACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,uDAAuD;IACvD,MAAM,CAAC,GAAG,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1G,IAAI,CAAC,EAAE,CAAC;QACJ,OAAO;YACH,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,EAAE,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;SAChC,CAAC;IACN,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,SAAiB,EAAE,OAAwB,EAAE,QAAkB;IACtF,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO;YACH,MAAM,EAAE,QAAQ;YAChB,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;SACrD,CAAC;IACN,CAAC;IACD,OAAO,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IACxC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACjC,OAAO,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
|