@mercurjs/dashboard-sdk 2.0.0-canary.71 → 2.0.0-canary.73
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/index.cjs +47 -42
- package/dist/index.d.cts +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -257,7 +257,7 @@ function buildRouteTree(results) {
|
|
|
257
257
|
}
|
|
258
258
|
return Array.from(routeMap.values());
|
|
259
259
|
}
|
|
260
|
-
function generateRoutes({ srcDir,
|
|
260
|
+
function generateRoutes({ srcDir, pluginExtensions }) {
|
|
261
261
|
const pagesDir = import_path.default.join(srcDir, "pages");
|
|
262
262
|
let index = 0;
|
|
263
263
|
const results = [];
|
|
@@ -268,25 +268,27 @@ function generateRoutes({ srcDir, pluginDirs }) {
|
|
|
268
268
|
index++;
|
|
269
269
|
}
|
|
270
270
|
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
|
|
271
|
+
const pluginImports = pluginExtensions.map(
|
|
272
|
+
(ext, i) => `import * as __pluginRaw${i} from "${normalizePath(ext)}"`
|
|
273
|
+
);
|
|
274
|
+
const pluginUnwraps = pluginExtensions.map(
|
|
275
|
+
(_, i) => `const __plugin${i} = __pluginRaw${i}.default ?? __pluginRaw${i}`
|
|
276
|
+
);
|
|
277
|
+
const pluginSpreads = pluginExtensions.map(
|
|
278
|
+
(_, i) => ` ...(__plugin${i}.routeModule?.routes ?? [])`
|
|
279
|
+
);
|
|
280
|
+
const routeTree = buildRouteTree(results);
|
|
281
|
+
const appImports = routeTree.flatMap((r) => r.imports);
|
|
282
|
+
const appRoutes = routeTree.map((r) => formatRoute(r.route));
|
|
283
|
+
const allImports = [...appImports, ...pluginImports, ...pluginUnwraps];
|
|
284
|
+
const allRoutes = [...appRoutes, ...pluginSpreads];
|
|
285
|
+
if (allImports.length === 0 && allRoutes.length === 0) {
|
|
281
286
|
return `export const customRoutes = []`;
|
|
282
287
|
}
|
|
283
|
-
|
|
284
|
-
const imports = routeTree.flatMap((result) => result.imports);
|
|
285
|
-
const routes = routeTree.map((result) => formatRoute(result.route));
|
|
286
|
-
return `${imports.join("\n")}
|
|
288
|
+
return `${allImports.join("\n")}
|
|
287
289
|
|
|
288
290
|
export const customRoutes = [
|
|
289
|
-
${
|
|
291
|
+
${allRoutes.join(",\n")}
|
|
290
292
|
]`;
|
|
291
293
|
}
|
|
292
294
|
|
|
@@ -394,7 +396,7 @@ function parseFile2(file, pagesDir, index) {
|
|
|
394
396
|
menuItem: generateMenuItem(config, file, pagesDir, index)
|
|
395
397
|
};
|
|
396
398
|
}
|
|
397
|
-
function generateMenuItems({ srcDir,
|
|
399
|
+
function generateMenuItems({ srcDir, pluginExtensions }) {
|
|
398
400
|
const pagesDir = import_path2.default.join(srcDir, "pages");
|
|
399
401
|
let index = 0;
|
|
400
402
|
const results = [];
|
|
@@ -405,25 +407,27 @@ function generateMenuItems({ srcDir, pluginDirs }) {
|
|
|
405
407
|
index++;
|
|
406
408
|
}
|
|
407
409
|
}
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
|
|
410
|
+
const pluginImports = pluginExtensions.map(
|
|
411
|
+
(ext, i) => `import * as __pluginRaw${i} from "${normalizePath(ext)}"`
|
|
412
|
+
);
|
|
413
|
+
const pluginUnwraps = pluginExtensions.map(
|
|
414
|
+
(_, i) => `const __plugin${i} = __pluginRaw${i}.default ?? __pluginRaw${i}`
|
|
415
|
+
);
|
|
416
|
+
const pluginSpreads = pluginExtensions.map(
|
|
417
|
+
(_, i) => ` ...(__plugin${i}.menuItemModule?.menuItems ?? [])`
|
|
418
|
+
);
|
|
419
|
+
const appImports = results.map((r) => r.import);
|
|
420
|
+
const appMenuItems = results.map((r) => formatMenuItem(r.menuItem));
|
|
421
|
+
const allImports = [...appImports, ...pluginImports, ...pluginUnwraps];
|
|
422
|
+
const allMenuItems = [...appMenuItems, ...pluginSpreads];
|
|
423
|
+
if (allImports.length === 0 && allMenuItems.length === 0) {
|
|
418
424
|
return `export default { menuItems: [] }`;
|
|
419
425
|
}
|
|
420
|
-
|
|
421
|
-
const menuItems = results.map((r) => formatMenuItem(r.menuItem));
|
|
422
|
-
return `${imports.join("\n")}
|
|
426
|
+
return `${allImports.join("\n")}
|
|
423
427
|
|
|
424
428
|
export default {
|
|
425
429
|
menuItems: [
|
|
426
|
-
${
|
|
430
|
+
${allMenuItems.join(",\n")}
|
|
427
431
|
]
|
|
428
432
|
}`;
|
|
429
433
|
}
|
|
@@ -552,9 +556,9 @@ function resolvePluginRoot(resolve, configDir, nodeModulesRoot) {
|
|
|
552
556
|
return null;
|
|
553
557
|
}
|
|
554
558
|
}
|
|
555
|
-
function
|
|
559
|
+
function resolvePluginExtensions(plugins, configDir) {
|
|
556
560
|
const nodeModulesRoot = findNodeModulesRoot(configDir);
|
|
557
|
-
const
|
|
561
|
+
const extensions = [];
|
|
558
562
|
const appTypes = ["admin", "vendor"];
|
|
559
563
|
for (const plugin of plugins) {
|
|
560
564
|
const resolve = typeof plugin === "string" ? plugin : plugin?.resolve;
|
|
@@ -562,13 +566,13 @@ function resolvePluginDirs(plugins, configDir) {
|
|
|
562
566
|
const pluginRoot = resolvePluginRoot(resolve, configDir, nodeModulesRoot);
|
|
563
567
|
if (!pluginRoot) continue;
|
|
564
568
|
for (const appType of appTypes) {
|
|
565
|
-
const
|
|
566
|
-
if (import_fs4.default.existsSync(
|
|
567
|
-
|
|
569
|
+
const extFile = import_path5.default.join(pluginRoot, ".medusa/server/src", appType, "index.js");
|
|
570
|
+
if (import_fs4.default.existsSync(extFile)) {
|
|
571
|
+
extensions.push(extFile);
|
|
568
572
|
}
|
|
569
573
|
}
|
|
570
574
|
}
|
|
571
|
-
return
|
|
575
|
+
return extensions;
|
|
572
576
|
}
|
|
573
577
|
async function loadMedusaConfig(medusaConfigPath, root) {
|
|
574
578
|
try {
|
|
@@ -587,10 +591,10 @@ async function loadMedusaConfig(medusaConfigPath, root) {
|
|
|
587
591
|
}
|
|
588
592
|
}
|
|
589
593
|
const plugins = medusaConfig?.plugins ?? [];
|
|
590
|
-
const
|
|
591
|
-
return { base,
|
|
594
|
+
const pluginExtensions = resolvePluginExtensions(plugins, configDir);
|
|
595
|
+
return { base, pluginExtensions };
|
|
592
596
|
} catch {
|
|
593
|
-
return {
|
|
597
|
+
return { pluginExtensions: [] };
|
|
594
598
|
}
|
|
595
599
|
}
|
|
596
600
|
function mercurDashboardPlugin(pluginConfig) {
|
|
@@ -601,7 +605,7 @@ function mercurDashboardPlugin(pluginConfig) {
|
|
|
601
605
|
async config(viteConfig) {
|
|
602
606
|
root = viteConfig.root || process.cwd();
|
|
603
607
|
const medusaConfigPath = import_path5.default.resolve(root, pluginConfig.medusaConfigPath);
|
|
604
|
-
const { base,
|
|
608
|
+
const { base, pluginExtensions } = await loadMedusaConfig(medusaConfigPath, root);
|
|
605
609
|
const srcDir = import_path5.default.join(root, "src");
|
|
606
610
|
const backendUrl = pluginConfig.backendUrl ?? "http://localhost:9000";
|
|
607
611
|
config = {
|
|
@@ -610,7 +614,7 @@ function mercurDashboardPlugin(pluginConfig) {
|
|
|
610
614
|
base,
|
|
611
615
|
root,
|
|
612
616
|
srcDir,
|
|
613
|
-
|
|
617
|
+
pluginExtensions
|
|
614
618
|
};
|
|
615
619
|
return {
|
|
616
620
|
base: config.base,
|
|
@@ -619,6 +623,7 @@ function mercurDashboardPlugin(pluginConfig) {
|
|
|
619
623
|
"__BASE__": JSON.stringify(config.base || "/")
|
|
620
624
|
},
|
|
621
625
|
optimizeDeps: {
|
|
626
|
+
include: pluginExtensions,
|
|
622
627
|
exclude: ["virtual:mercur/config", "virtual:mercur/routes", "virtual:mercur/components", "virtual:mercur/menu-items", "virtual:mercur/i18n"]
|
|
623
628
|
}
|
|
624
629
|
};
|
package/dist/index.d.cts
CHANGED