@farm.js/core 0.1.22 → 0.1.24
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/dist/agent-runtime.d.mts +3 -2
- package/dist/agent-runtime.d.ts +3 -2
- package/dist/api/route-manager.cjs +3 -2
- package/dist/api/route-manager.d.mts +3 -2
- package/dist/api/route-manager.d.ts +3 -2
- package/dist/api/route-manager.mjs +2 -1
- package/dist/api.cjs +4 -3
- package/dist/api.d.mts +4 -3
- package/dist/api.d.ts +4 -3
- package/dist/api.mjs +3 -2
- package/dist/{app-B7qKw8Ny.d.ts → app-BV-7wV5q.d.ts} +3 -3
- package/dist/{app-0e-oTC_R.d.mts → app-BZDWwwFa.d.mts} +3 -3
- package/dist/app-markdown.d.mts +4 -3
- package/dist/app-markdown.d.ts +4 -3
- package/dist/chunk-2VQKKQ6D.mjs +51 -0
- package/dist/{chunk-EGJDUF4Q.mjs → chunk-3ATMYLLJ.mjs} +6 -12
- package/dist/{chunk-HSDL2AUR.mjs → chunk-47H7VENP.mjs} +20 -32
- package/dist/{chunk-AAWTJW2G.mjs → chunk-6YSEHN46.mjs} +58 -27
- package/dist/{chunk-PUCUVI7K.mjs → chunk-72VJRKJD.mjs} +1 -1
- package/dist/{chunk-PC33YKTC.mjs → chunk-ARHWIOUZ.mjs} +128 -130
- package/dist/{chunk-2HCEC2YO.cjs → chunk-BD7FZ63M.cjs} +1 -1
- package/dist/{chunk-SPSQFO3Z.mjs → chunk-BDJNP7AQ.mjs} +9 -13
- package/dist/{chunk-X2ZUD4GI.mjs → chunk-BNSD3VDY.mjs} +1 -1
- package/dist/{chunk-GXXONIAR.cjs → chunk-DNLQMFER.cjs} +12 -16
- package/dist/{chunk-SO7CRMP6.cjs → chunk-DW34V5SM.cjs} +5 -5
- package/dist/{chunk-3NM6SRI6.mjs → chunk-F3VB7ONA.mjs} +10 -8
- package/dist/{chunk-P5HSJCXI.cjs → chunk-G6GNNB44.cjs} +291 -260
- package/dist/chunk-IK6LVLKC.cjs +51 -0
- package/dist/{chunk-B3WK4DTX.cjs → chunk-IMBMOEWT.cjs} +5 -1
- package/dist/{chunk-IILNZK5G.mjs → chunk-JHWOVJ3M.mjs} +46 -62
- package/dist/{chunk-TKNSDBBN.cjs → chunk-K3F2E6GS.cjs} +20 -1
- package/dist/{chunk-RTHIVJ2G.cjs → chunk-KCMTCM6I.cjs} +7 -8
- package/dist/{chunk-Q3PX2TGL.cjs → chunk-LQIRVSBY.cjs} +30 -40
- package/dist/chunk-LYLEZIG3.cjs +73 -0
- package/dist/{chunk-NBAHDVOJ.cjs → chunk-LYM7HY34.cjs} +20 -32
- package/dist/{chunk-K6FNHVDR.cjs → chunk-MPEYMSCF.cjs} +6 -12
- package/dist/{chunk-BHJUZ64B.cjs → chunk-QTBEAKCJ.cjs} +7 -7
- package/dist/{chunk-J6JRB2ER.mjs → chunk-S67OYZU7.mjs} +1 -1
- package/dist/chunk-SFGWNC43.mjs +97 -0
- package/dist/{chunk-EXUMQVY3.cjs → chunk-SIQMTHCZ.cjs} +258 -260
- package/dist/{chunk-AYJR42WX.cjs → chunk-UFDV5N3C.cjs} +2 -2
- package/dist/chunk-UYIHRDE4.cjs +97 -0
- package/dist/{chunk-Y4YMF2NQ.cjs → chunk-VPTDD5XF.cjs} +46 -62
- package/dist/{chunk-GKT4ONKN.mjs → chunk-VVJCWBIE.mjs} +2 -2
- package/dist/{chunk-CQHFU55R.mjs → chunk-WNUBR4CA.mjs} +5 -1
- package/dist/{chunk-CIAGU2X4.cjs → chunk-XSIRSMAS.cjs} +10 -8
- package/dist/{chunk-ONMW3EVV.mjs → chunk-YGMK6ESJ.mjs} +20 -30
- package/dist/chunk-YOZYCI6Z.mjs +73 -0
- package/dist/{chunk-HLCDYJY7.mjs → chunk-YQVSHTMR.mjs} +20 -1
- package/dist/{chunk-F5D4XEAS.mjs → chunk-ZZSRYEYU.mjs} +7 -8
- package/dist/{client-plugins-CWrhb1ir.d.mts → client-plugins-B_XzCegf.d.mts} +11 -9
- package/dist/{client-plugins-DPf0qZey.d.ts → client-plugins-CKsXQfXY.d.ts} +11 -9
- package/dist/client-plugins.d.mts +3 -2
- package/dist/client-plugins.d.ts +3 -2
- package/dist/client.d.mts +7 -6
- package/dist/client.d.ts +7 -6
- package/dist/config.d.mts +3 -2
- package/dist/config.d.ts +3 -2
- package/dist/{devtools-EZ5ORGAK.mjs → devtools-OY4SNU3P.mjs} +4 -3
- package/dist/{devtools-6DQHO7EK.cjs → devtools-UHRSZ7VA.cjs} +5 -4
- package/dist/docs.cjs +9 -6
- package/dist/docs.mjs +8 -5
- package/dist/index.cjs +23 -20
- package/dist/index.d.mts +14 -13
- package/dist/index.d.ts +14 -13
- package/dist/index.mjs +18 -15
- package/dist/instrumentation.cjs +3 -2
- package/dist/instrumentation.mjs +2 -1
- package/dist/integrations.d.mts +3 -2
- package/dist/integrations.d.ts +3 -2
- package/dist/internal/app-markdown-runtime.d.mts +3 -2
- package/dist/internal/app-markdown-runtime.d.ts +3 -2
- package/dist/internal/build-runtime.cjs +17 -14
- package/dist/internal/build-runtime.d.mts +5 -4
- package/dist/internal/build-runtime.d.ts +5 -4
- package/dist/internal/build-runtime.mjs +16 -13
- package/dist/internal/cli-runtime.cjs +10 -7
- package/dist/internal/cli-runtime.mjs +9 -6
- package/dist/internal/client-error-overlay.cjs +4 -4
- package/dist/internal/client-error-overlay.mjs +1 -1
- package/dist/internal/compression-runtime.d.mts +3 -2
- package/dist/internal/compression-runtime.d.ts +3 -2
- package/dist/internal/config-runtime.cjs +5 -4
- package/dist/internal/config-runtime.d.mts +4 -3
- package/dist/internal/config-runtime.d.ts +4 -3
- package/dist/internal/config-runtime.mjs +4 -3
- package/dist/internal/metadata-image-runtime.cjs +3 -2
- package/dist/internal/metadata-image-runtime.mjs +2 -1
- package/dist/internal/product-telemetry-runtime.cjs +2 -2
- package/dist/internal/product-telemetry-runtime.mjs +1 -1
- package/dist/internal/production-runtime.d.mts +9 -8
- package/dist/internal/production-runtime.d.ts +9 -8
- package/dist/layers-4PNE2HOY.cjs +18 -0
- package/dist/{layers-CJKSJGLN.mjs → layers-BRQF5ETU.mjs} +2 -1
- package/dist/{manager-NPG43N46.mjs → manager-RT733VRK.mjs} +2 -2
- package/dist/{manager-G4B2IPYE.cjs → manager-XZ5TX7AO.cjs} +3 -3
- package/dist/{metadata-CO9fRyyJ.d.mts → metadata-B08w4EYV.d.mts} +1 -1
- package/dist/{metadata-zY9wltwH.d.ts → metadata-IQEblkZp.d.ts} +1 -1
- package/dist/middleware.d.mts +5 -4
- package/dist/middleware.d.ts +5 -4
- package/dist/navigation.d.mts +6 -5
- package/dist/navigation.d.ts +6 -5
- package/dist/{nitro-TSGDUJMN.cjs → nitro-KQDU7CFE.cjs} +2 -2
- package/dist/{nitro-4LFVTT24.mjs → nitro-ZKLGOTVY.mjs} +1 -1
- package/dist/node-module-bundle-L5L7JCZ4.mjs +11 -0
- package/dist/node-module-bundle-VAFZOXMJ.cjs +11 -0
- package/dist/plugin.cjs +11 -9
- package/dist/plugin.d.mts +3 -2
- package/dist/plugin.d.ts +3 -2
- package/dist/plugin.mjs +10 -8
- package/dist/{production-runtime-CywsHwnG.d.mts → production-runtime-C3bGFEaM.d.mts} +1 -1
- package/dist/{production-runtime-lkfwujwK.d.ts → production-runtime-DRSOkc-d.d.ts} +1 -1
- package/dist/{render-plan-LVy6sGQe.d.mts → render-plan-B6CKNl4e.d.mts} +1 -1
- package/dist/{render-plan-DHF0GeWo.d.ts → render-plan-CCFuMLNS.d.ts} +1 -1
- package/dist/renderer-client.d.mts +5 -4
- package/dist/renderer-client.d.ts +5 -4
- package/dist/{request-6AkmhEYE.d.mts → request-DgD1XsTx.d.mts} +1 -1
- package/dist/{request-BYxlRqA9.d.ts → request-Dn6VURbE.d.ts} +1 -1
- package/dist/request.d.mts +4 -3
- package/dist/request.d.ts +4 -3
- package/dist/{route-rendering-Dd8Jmml7.d.mts → route-rendering-76A5I_kE.d.mts} +1 -1
- package/dist/{route-rendering-CWaKiUbS.d.ts → route-rendering-LAmQEdyG.d.ts} +1 -1
- package/dist/{router-B2m4fvve.d.ts → router-BSOOGya2.d.ts} +1 -1
- package/dist/{router-xwEE112q.d.mts → router-CnrRSa9d.d.mts} +1 -1
- package/dist/routes.d.mts +3 -2
- package/dist/routes.d.ts +3 -2
- package/dist/server-plugins.d.mts +4 -3
- package/dist/server-plugins.d.ts +4 -3
- package/dist/server.cjs +39 -26
- package/dist/server.d.mts +9 -8
- package/dist/server.d.ts +9 -8
- package/dist/server.mjs +24 -11
- package/dist/{spa-router-Y8rrXTVK.d.ts → spa-router-BMrSsG5b.d.ts} +2 -2
- package/dist/{spa-router-DVEHQnWo.d.mts → spa-router-DnYhWCvI.d.mts} +2 -2
- package/dist/testing.cjs +2 -1
- package/dist/testing.d.mts +3 -2
- package/dist/testing.d.ts +3 -2
- package/dist/testing.mjs +2 -1
- package/dist/{utils-DSPx34-A.d.mts → utils-ABkktwku.d.mts} +1 -1
- package/dist/{utils-Dvuny_08.d.ts → utils-C3GguS-Q.d.ts} +1 -1
- package/dist/version.cjs +2 -2
- package/dist/version.mjs +1 -1
- package/dist/vite.cjs +11 -9
- package/dist/vite.d.mts +3 -2
- package/dist/vite.d.ts +3 -2
- package/dist/vite.mjs +10 -8
- package/dist/workflows.cjs +2 -2
- package/dist/workflows.mjs +1 -1
- package/package.json +21 -11
- package/dist/layers-E4WPJNY5.cjs +0 -17
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
import {
|
|
16
16
|
loadFarmConfigFile,
|
|
17
17
|
resolveFarmLayers
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-JHWOVJ3M.mjs";
|
|
19
19
|
import {
|
|
20
20
|
isReactRenderer,
|
|
21
21
|
resolveFarmRenderer
|
|
@@ -48,9 +48,12 @@ import {
|
|
|
48
48
|
import {
|
|
49
49
|
resolveMarkdownConfig
|
|
50
50
|
} from "./chunk-OFEY6KHO.mjs";
|
|
51
|
+
import {
|
|
52
|
+
bundleNodeModule
|
|
53
|
+
} from "./chunk-SFGWNC43.mjs";
|
|
51
54
|
import {
|
|
52
55
|
resolveWorkflowsConfig
|
|
53
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-3ATMYLLJ.mjs";
|
|
54
57
|
import {
|
|
55
58
|
resolveFarmThemeConfig
|
|
56
59
|
} from "./chunk-AELACLOB.mjs";
|
|
@@ -500,25 +503,18 @@ async function loadDocsConfig(rootDir, configPath) {
|
|
|
500
503
|
const content = await fs.readFile(resolvedPath, "utf8");
|
|
501
504
|
return { config: JSON.parse(content), configPath: resolvedPath };
|
|
502
505
|
}
|
|
503
|
-
const { build } = await import("esbuild");
|
|
504
506
|
const configCacheDir = path3.join(root, ".farm", ".config-loader");
|
|
505
507
|
await fs.mkdir(configCacheDir, { recursive: true });
|
|
506
508
|
const modulePath = path3.join(
|
|
507
509
|
configCacheDir,
|
|
508
510
|
`docs-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`
|
|
509
511
|
);
|
|
510
|
-
await
|
|
511
|
-
|
|
512
|
-
|
|
512
|
+
await bundleNodeModule({
|
|
513
|
+
root,
|
|
514
|
+
entry: resolvedPath,
|
|
513
515
|
outfile: modulePath,
|
|
514
|
-
bundle: true,
|
|
515
|
-
format: "esm",
|
|
516
|
-
platform: "node",
|
|
517
516
|
target: `node${process.versions.node.split(".")[0]}`,
|
|
518
|
-
|
|
519
|
-
jsx: "automatic",
|
|
520
|
-
logLevel: "silent",
|
|
521
|
-
sourcemap: "inline"
|
|
517
|
+
externalPackages: true
|
|
522
518
|
});
|
|
523
519
|
const moduleUrl = pathToFileURL3(modulePath).href + `?t=${Date.now()}`;
|
|
524
520
|
let importedConfig;
|
|
@@ -15,7 +15,7 @@ var _chunkQ5B3KJBPcjs = require('./chunk-Q5B3KJBP.cjs');
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkVPTDD5XFcjs = require('./chunk-VPTDD5XF.cjs');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
|
|
@@ -50,7 +50,10 @@ var _chunkOHY2ZWUGcjs = require('./chunk-OHY2ZWUG.cjs');
|
|
|
50
50
|
var _chunkBBVSJVBZcjs = require('./chunk-BBVSJVBZ.cjs');
|
|
51
51
|
|
|
52
52
|
|
|
53
|
-
var
|
|
53
|
+
var _chunkUYIHRDE4cjs = require('./chunk-UYIHRDE4.cjs');
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
var _chunkMPEYMSCFcjs = require('./chunk-MPEYMSCF.cjs');
|
|
54
57
|
|
|
55
58
|
|
|
56
59
|
var _chunkOI6CMLWXcjs = require('./chunk-OI6CMLWX.cjs');
|
|
@@ -500,25 +503,18 @@ async function loadDocsConfig(rootDir, configPath) {
|
|
|
500
503
|
const content = await fs.readFile(resolvedPath, "utf8");
|
|
501
504
|
return { config: JSON.parse(content), configPath: resolvedPath };
|
|
502
505
|
}
|
|
503
|
-
const { build } = await import("esbuild");
|
|
504
506
|
const configCacheDir = _path2.default.join(root, ".farm", ".config-loader");
|
|
505
507
|
await fs.mkdir(configCacheDir, { recursive: true });
|
|
506
508
|
const modulePath = _path2.default.join(
|
|
507
509
|
configCacheDir,
|
|
508
510
|
`docs-config-${Date.now()}-${Math.random().toString(36).slice(2)}.mjs`
|
|
509
511
|
);
|
|
510
|
-
await
|
|
511
|
-
|
|
512
|
-
|
|
512
|
+
await _chunkUYIHRDE4cjs.bundleNodeModule.call(void 0, {
|
|
513
|
+
root,
|
|
514
|
+
entry: resolvedPath,
|
|
513
515
|
outfile: modulePath,
|
|
514
|
-
bundle: true,
|
|
515
|
-
format: "esm",
|
|
516
|
-
platform: "node",
|
|
517
516
|
target: `node${process.versions.node.split(".")[0]}`,
|
|
518
|
-
|
|
519
|
-
jsx: "automatic",
|
|
520
|
-
logLevel: "silent",
|
|
521
|
-
sourcemap: "inline"
|
|
517
|
+
externalPackages: true
|
|
522
518
|
});
|
|
523
519
|
const moduleUrl = pathToFileURL3(modulePath).href + `?t=${Date.now()}`;
|
|
524
520
|
let importedConfig;
|
|
@@ -646,7 +642,7 @@ function validateConfigRouteSources(routes, field) {
|
|
|
646
642
|
_chunkS3JO3N4Hcjs.__name.call(void 0, validateConfigRouteSources, "validateConfigRouteSources");
|
|
647
643
|
async function resolveConfig(userConfig, mode) {
|
|
648
644
|
const projectRoot = userConfig.root || process.cwd();
|
|
649
|
-
const layerResolution = await
|
|
645
|
+
const layerResolution = await _chunkVPTDD5XFcjs.resolveFarmLayers.call(void 0, userConfig, {
|
|
650
646
|
root: projectRoot,
|
|
651
647
|
mode
|
|
652
648
|
});
|
|
@@ -743,7 +739,7 @@ async function resolveConfig(userConfig, mode) {
|
|
|
743
739
|
mdx,
|
|
744
740
|
migrations: resolveMigrationsConfig(userConfig.migrations),
|
|
745
741
|
cron: _chunk6EXBPJ24cjs.resolveCronConfig.call(void 0, userConfig.cron),
|
|
746
|
-
workflows:
|
|
742
|
+
workflows: _chunkMPEYMSCFcjs.resolveWorkflowsConfig.call(void 0, userConfig.workflows),
|
|
747
743
|
api,
|
|
748
744
|
observability: _nullishCoalesce(userConfig.observability, () => ( false)),
|
|
749
745
|
telemetry: userConfig.telemetry !== false,
|
|
@@ -857,7 +853,7 @@ async function loadConfig(rootDir, configPath, mode = process.env.NODE_ENV === "
|
|
|
857
853
|
if (!existsSync(normalizedPath)) {
|
|
858
854
|
continue;
|
|
859
855
|
}
|
|
860
|
-
const loadedConfig = await
|
|
856
|
+
const loadedConfig = await _chunkVPTDD5XFcjs.loadFarmConfigFile.call(void 0, normalizedPath, { root });
|
|
861
857
|
return loadedConfig.root === void 0 ? { ...loadedConfig, root } : loadedConfig;
|
|
862
858
|
} catch (error) {
|
|
863
859
|
const configError = new Error(
|
|
@@ -6,7 +6,7 @@ var _chunkE2ROOWQCcjs = require('./chunk-E2ROOWQC.cjs');
|
|
|
6
6
|
var _chunkJSROZYYOcjs = require('./chunk-JSROZYYO.cjs');
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkXSIRSMAScjs = require('./chunk-XSIRSMAS.cjs');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkSYQ3MOWWcjs = require('./chunk-SYQ3MOWW.cjs');
|
|
@@ -20,7 +20,7 @@ var _chunkTIWHTW3Qcjs = require('./chunk-TIWHTW3Q.cjs');
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var _chunkVPTDD5XFcjs = require('./chunk-VPTDD5XF.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
var _chunkPSV6XKPOcjs = require('./chunk-PSV6XKPO.cjs');
|
|
@@ -1158,8 +1158,8 @@ async function generateFarmTypeArtifacts(options) {
|
|
|
1158
1158
|
const shouldGenerateEnv = options.env !== false;
|
|
1159
1159
|
const shouldGenerateImages = options.images !== false;
|
|
1160
1160
|
const shouldGenerateI18n = options.i18n !== false && _optionalChain([options, 'access', _47 => _47.i18nConfig, 'optionalAccess', _48 => _48.enabled]);
|
|
1161
|
-
const sourceRoots =
|
|
1162
|
-
const appDirs =
|
|
1161
|
+
const sourceRoots = _chunkVPTDD5XFcjs.getFarmSourceRoots.call(void 0, { root, srcDir, layers: options.layers });
|
|
1162
|
+
const appDirs = _chunkVPTDD5XFcjs.getFarmAppDirectories.call(void 0, { root, srcDir, layers: options.layers });
|
|
1163
1163
|
const result = {
|
|
1164
1164
|
apiRoutes: [],
|
|
1165
1165
|
stalePaths: []
|
|
@@ -1198,7 +1198,7 @@ async function generateFarmTypeArtifacts(options) {
|
|
|
1198
1198
|
}
|
|
1199
1199
|
}
|
|
1200
1200
|
if (shouldGenerateApi) {
|
|
1201
|
-
const generator = new (0,
|
|
1201
|
+
const generator = new (0, _chunkXSIRSMAScjs.APITypeGenerator)(appDirs);
|
|
1202
1202
|
const apiRoutes = generator.scanAPIRoutes();
|
|
1203
1203
|
const apiTypesPath = options.apiTypesOutFile ? _path.resolve.call(void 0, root, options.apiTypesOutFile) : _path.join.call(void 0, root, srcDir, "lib", "api.generated.ts");
|
|
1204
1204
|
const pluginRoutes = _chunkI4J452B7cjs.resolvePluginRoutes.call(void 0, options.plugins);
|
|
@@ -17,13 +17,15 @@ import { createRequire } from "module";
|
|
|
17
17
|
import { join, relative, dirname, extname } from "path";
|
|
18
18
|
import { initSync, parse } from "es-module-lexer";
|
|
19
19
|
var moduleLexerInitialized = false;
|
|
20
|
-
var
|
|
21
|
-
var
|
|
22
|
-
function transformJSXRoute(content,
|
|
23
|
-
|
|
24
|
-
"
|
|
20
|
+
var JSX_ROUTE_LANGS = { ".jsx": "jsx", ".tsx": "tsx" };
|
|
21
|
+
var oxcTransformSync;
|
|
22
|
+
function transformJSXRoute(content, lang, filePath) {
|
|
23
|
+
oxcTransformSync ?? (oxcTransformSync = createRequire(typeof __filename === "string" ? __filename : import.meta.url)(
|
|
24
|
+
"rolldown/utils"
|
|
25
25
|
).transformSync);
|
|
26
|
-
|
|
26
|
+
const result = oxcTransformSync(filePath, content, { lang, sourceType: "module" });
|
|
27
|
+
if (result.errors.length > 0) throw result.errors[0];
|
|
28
|
+
return result.code;
|
|
27
29
|
}
|
|
28
30
|
__name(transformJSXRoute, "transformJSXRoute");
|
|
29
31
|
var API_CLIENT_METHOD_SEGMENTS = /* @__PURE__ */ new Set([
|
|
@@ -120,8 +122,8 @@ var _APITypeGenerator = class _APITypeGenerator {
|
|
|
120
122
|
moduleLexerInitialized = true;
|
|
121
123
|
}
|
|
122
124
|
const httpMethods = ["GET", "HEAD", "QUERY", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"];
|
|
123
|
-
const
|
|
124
|
-
const source =
|
|
125
|
+
const lang = JSX_ROUTE_LANGS[extname(filePath)];
|
|
126
|
+
const source = lang ? transformJSXRoute(content, lang, filePath) : content;
|
|
125
127
|
const [, exports] = parse(source);
|
|
126
128
|
const valueExports = new Set(
|
|
127
129
|
exports.filter((specifier) => !this.isTypeOnlyExportSpecifier(source, specifier.s)).map((specifier) => specifier.n)
|