@mercurjs/dashboard-sdk 2.2.0-canary.8 → 2.2.0-rc.0
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 +39 -4
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -650,6 +650,24 @@ function isRouteFile(file) {
|
|
|
650
650
|
return basename === "page";
|
|
651
651
|
}
|
|
652
652
|
var UI_MODULE_KEYS = ["admin_ui", "vendor_ui"];
|
|
653
|
+
var MEDUSA_VIRTUAL_MODULES = [
|
|
654
|
+
"virtual:medusa/displays",
|
|
655
|
+
"virtual:medusa/forms",
|
|
656
|
+
"virtual:medusa/i18n",
|
|
657
|
+
"virtual:medusa/menu-items",
|
|
658
|
+
"virtual:medusa/routes",
|
|
659
|
+
"virtual:medusa/widgets",
|
|
660
|
+
"virtual:medusa/links"
|
|
661
|
+
];
|
|
662
|
+
function isMedusaVirtualModule(id) {
|
|
663
|
+
return MEDUSA_VIRTUAL_MODULES.includes(id);
|
|
664
|
+
}
|
|
665
|
+
function resolveMedusaVirtualModule(id) {
|
|
666
|
+
return "\0" + id;
|
|
667
|
+
}
|
|
668
|
+
function isResolvedMedusaVirtualModule(id) {
|
|
669
|
+
return id.startsWith("\0virtual:medusa/");
|
|
670
|
+
}
|
|
653
671
|
function findNodeModulesRoot(configDir) {
|
|
654
672
|
let dir = configDir;
|
|
655
673
|
while (dir !== import_path5.default.dirname(dir)) {
|
|
@@ -707,11 +725,18 @@ function trimTrailingSlashes(value) {
|
|
|
707
725
|
return end === value.length ? value : value.slice(0, end);
|
|
708
726
|
}
|
|
709
727
|
async function loadMedusaConfig(medusaConfigPath, root, options) {
|
|
728
|
+
const configDir = import_path5.default.dirname(medusaConfigPath);
|
|
710
729
|
try {
|
|
711
|
-
const
|
|
730
|
+
const previousCwd = process.cwd();
|
|
731
|
+
let mod;
|
|
732
|
+
process.chdir(configDir);
|
|
733
|
+
try {
|
|
734
|
+
mod = await getFileExports(medusaConfigPath);
|
|
735
|
+
} finally {
|
|
736
|
+
process.chdir(previousCwd);
|
|
737
|
+
}
|
|
712
738
|
const medusaConfig = mod.default ?? mod;
|
|
713
739
|
const modules = medusaConfig?.modules ?? {};
|
|
714
|
-
const configDir = import_path5.default.dirname(medusaConfigPath);
|
|
715
740
|
let base;
|
|
716
741
|
let appType = "admin";
|
|
717
742
|
let vendorAppUrl;
|
|
@@ -742,7 +767,10 @@ async function loadMedusaConfig(medusaConfigPath, root, options) {
|
|
|
742
767
|
) ?? [];
|
|
743
768
|
const pluginExtensions = resolvePluginExtensions(plugins, configDir, appType);
|
|
744
769
|
return { base, pluginExtensions, vendorAppUrl };
|
|
745
|
-
} catch {
|
|
770
|
+
} catch (error) {
|
|
771
|
+
console.warn(
|
|
772
|
+
`[@mercurjs/dashboard-sdk] Could not load the Medusa config from "${medusaConfigPath}": ${error instanceof Error ? error.message : String(error)}. Building with base "/" and no plugin extensions \u2014 if this panel is served under a sub-path (e.g. /dashboard), its assets will not resolve.`
|
|
773
|
+
);
|
|
746
774
|
return { pluginExtensions: [] };
|
|
747
775
|
}
|
|
748
776
|
}
|
|
@@ -794,7 +822,8 @@ function mercurDashboardPlugin(pluginConfig) {
|
|
|
794
822
|
"virtual:mercur/routes",
|
|
795
823
|
"virtual:mercur/components",
|
|
796
824
|
"virtual:mercur/menu-items",
|
|
797
|
-
"virtual:mercur/i18n"
|
|
825
|
+
"virtual:mercur/i18n",
|
|
826
|
+
...MEDUSA_VIRTUAL_MODULES
|
|
798
827
|
],
|
|
799
828
|
include: [
|
|
800
829
|
"react",
|
|
@@ -818,9 +847,15 @@ function mercurDashboardPlugin(pluginConfig) {
|
|
|
818
847
|
if (isVirtualModule(id)) {
|
|
819
848
|
return resolveVirtualModule(id);
|
|
820
849
|
}
|
|
850
|
+
if (isMedusaVirtualModule(id)) {
|
|
851
|
+
return resolveMedusaVirtualModule(id);
|
|
852
|
+
}
|
|
821
853
|
return null;
|
|
822
854
|
},
|
|
823
855
|
load(id) {
|
|
856
|
+
if (isResolvedMedusaVirtualModule(id)) {
|
|
857
|
+
return "export default {}";
|
|
858
|
+
}
|
|
824
859
|
return loadVirtualModule({ cwd: root, id, mercurConfig: config });
|
|
825
860
|
},
|
|
826
861
|
configureServer(server) {
|