@medusajs/admin-vite-plugin 3.0.0-snapshot-20250410105645 → 3.0.0-snapshot-20251104004624
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.js +132 -43
- package/dist/index.mjs +127 -37
- package/package.json +11 -15
package/dist/index.js
CHANGED
|
@@ -28,14 +28,14 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
28
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
29
|
|
|
30
30
|
// src/index.ts
|
|
31
|
-
var
|
|
32
|
-
__export(
|
|
33
|
-
default: () =>
|
|
31
|
+
var index_exports = {};
|
|
32
|
+
__export(index_exports, {
|
|
33
|
+
default: () => index_default
|
|
34
34
|
});
|
|
35
|
-
module.exports = __toCommonJS(
|
|
35
|
+
module.exports = __toCommonJS(index_exports);
|
|
36
36
|
|
|
37
37
|
// src/plugin.ts
|
|
38
|
-
var
|
|
38
|
+
var import_promises11 = require("fs/promises");
|
|
39
39
|
var import_node_path = __toESM(require("path"));
|
|
40
40
|
|
|
41
41
|
// src/custom-fields/generate-custom-field-displays.ts
|
|
@@ -122,7 +122,7 @@ function generateModule(code) {
|
|
|
122
122
|
map: magicString.generateMap({ hires: true })
|
|
123
123
|
};
|
|
124
124
|
}
|
|
125
|
-
var VALID_FILE_EXTENSIONS = [".tsx", ".jsx", ".js"];
|
|
125
|
+
var VALID_FILE_EXTENSIONS = [".tsx", ".jsx", ".js", ".ts"];
|
|
126
126
|
async function crawl(dir, file, depth) {
|
|
127
127
|
const dirDepth = dir.split(import_path.default.sep).length;
|
|
128
128
|
const crawler = new import_fdir.fdir().withBasePath().exclude((dirName) => dirName.startsWith("_")).filter((path3) => {
|
|
@@ -1098,10 +1098,57 @@ function getLink(path3, index, file) {
|
|
|
1098
1098
|
return `${import_}.link`;
|
|
1099
1099
|
}
|
|
1100
1100
|
|
|
1101
|
-
// src/
|
|
1102
|
-
var import_admin_shared4 = require("@medusajs/admin-shared");
|
|
1101
|
+
// src/i18n/generate-i18n-hash.ts
|
|
1103
1102
|
var import_promises5 = __toESM(require("fs/promises"));
|
|
1103
|
+
|
|
1104
|
+
// src/i18n/helpers.ts
|
|
1105
|
+
async function getI18nIndexFilesFromSources(sources) {
|
|
1106
|
+
return (await Promise.all(
|
|
1107
|
+
Array.from(sources).map(
|
|
1108
|
+
async (source) => crawl(`${source}/i18n`, "index", { min: 0, max: 0 })
|
|
1109
|
+
)
|
|
1110
|
+
)).flat();
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
// src/i18n/generate-i18n-hash.ts
|
|
1114
|
+
async function generateI18nHash(sources) {
|
|
1115
|
+
const indexFiles = await getI18nIndexFilesFromSources(sources);
|
|
1116
|
+
const contents = await Promise.all(
|
|
1117
|
+
indexFiles.map((file) => import_promises5.default.readFile(file, "utf-8"))
|
|
1118
|
+
);
|
|
1119
|
+
const totalContent = contents.join("");
|
|
1120
|
+
return generateHash(totalContent);
|
|
1121
|
+
}
|
|
1122
|
+
|
|
1123
|
+
// src/i18n/generate-i18n.ts
|
|
1104
1124
|
var import_outdent2 = require("outdent");
|
|
1125
|
+
async function generateI18n(sources) {
|
|
1126
|
+
const indexFiles = await getI18nIndexFilesFromSources(sources);
|
|
1127
|
+
const imports = indexFiles.map((file, index) => {
|
|
1128
|
+
const normalizedPath = normalizePath(file);
|
|
1129
|
+
return `import i18nTranslations${index} from "${normalizedPath}"`;
|
|
1130
|
+
});
|
|
1131
|
+
let mergeCode = "{}";
|
|
1132
|
+
if (indexFiles.length === 1) {
|
|
1133
|
+
mergeCode = "i18nTranslations0";
|
|
1134
|
+
} else if (indexFiles.length > 1) {
|
|
1135
|
+
mergeCode = indexFiles.slice(1).reduce((acc, _, index) => {
|
|
1136
|
+
return `deepMerge(${acc}, i18nTranslations${index + 1})`;
|
|
1137
|
+
}, "i18nTranslations0");
|
|
1138
|
+
}
|
|
1139
|
+
const code = import_outdent2.outdent`
|
|
1140
|
+
resources: ${mergeCode}
|
|
1141
|
+
`;
|
|
1142
|
+
return {
|
|
1143
|
+
imports,
|
|
1144
|
+
code
|
|
1145
|
+
};
|
|
1146
|
+
}
|
|
1147
|
+
|
|
1148
|
+
// src/routes/generate-menu-items.ts
|
|
1149
|
+
var import_admin_shared4 = require("@medusajs/admin-shared");
|
|
1150
|
+
var import_promises6 = __toESM(require("fs/promises"));
|
|
1151
|
+
var import_outdent3 = require("outdent");
|
|
1105
1152
|
|
|
1106
1153
|
// src/routes/helpers.ts
|
|
1107
1154
|
function getRoute(file) {
|
|
@@ -1125,7 +1172,7 @@ async function generateMenuItems(sources) {
|
|
|
1125
1172
|
return { imports, code };
|
|
1126
1173
|
}
|
|
1127
1174
|
function generateCode3(results) {
|
|
1128
|
-
return
|
|
1175
|
+
return import_outdent3.outdent`
|
|
1129
1176
|
menuItems: [
|
|
1130
1177
|
${results.map((result) => formatMenuItem(result.menuItem)).join(",\n")}
|
|
1131
1178
|
]
|
|
@@ -1184,7 +1231,7 @@ function generateMenuItem(config, file, index) {
|
|
|
1184
1231
|
};
|
|
1185
1232
|
}
|
|
1186
1233
|
async function getRouteConfig(file) {
|
|
1187
|
-
const code = await
|
|
1234
|
+
const code = await import_promises6.default.readFile(file, "utf-8");
|
|
1188
1235
|
let ast = null;
|
|
1189
1236
|
try {
|
|
1190
1237
|
ast = (0, import_parser.parse)(code, getParserOptions(file));
|
|
@@ -1276,7 +1323,7 @@ function generateRouteConfigName(index) {
|
|
|
1276
1323
|
}
|
|
1277
1324
|
|
|
1278
1325
|
// src/routes/generate-route-hashes.ts
|
|
1279
|
-
var
|
|
1326
|
+
var import_promises7 = __toESM(require("fs/promises"));
|
|
1280
1327
|
async function generateRouteHashes(sources) {
|
|
1281
1328
|
const files = await getFilesFromSources6(sources);
|
|
1282
1329
|
const contents = await Promise.all(files.map(getRouteContents));
|
|
@@ -1297,7 +1344,7 @@ async function getFilesFromSources6(sources) {
|
|
|
1297
1344
|
)).flat();
|
|
1298
1345
|
}
|
|
1299
1346
|
async function getRouteContents(file) {
|
|
1300
|
-
const code = await
|
|
1347
|
+
const code = await import_promises7.default.readFile(file, "utf-8");
|
|
1301
1348
|
let ast = null;
|
|
1302
1349
|
try {
|
|
1303
1350
|
ast = (0, import_parser.parse)(code, getParserOptions(file));
|
|
@@ -1334,8 +1381,8 @@ ${e}`,
|
|
|
1334
1381
|
}
|
|
1335
1382
|
|
|
1336
1383
|
// src/routes/generate-routes.ts
|
|
1337
|
-
var
|
|
1338
|
-
var
|
|
1384
|
+
var import_promises8 = __toESM(require("fs/promises"));
|
|
1385
|
+
var import_outdent4 = require("outdent");
|
|
1339
1386
|
async function generateRoutes(sources) {
|
|
1340
1387
|
const files = await getFilesFromSources7(sources);
|
|
1341
1388
|
const results = await getRouteResults(files);
|
|
@@ -1347,7 +1394,7 @@ async function generateRoutes(sources) {
|
|
|
1347
1394
|
};
|
|
1348
1395
|
}
|
|
1349
1396
|
function generateCode4(results) {
|
|
1350
|
-
return
|
|
1397
|
+
return import_outdent4.outdent`
|
|
1351
1398
|
routes: [
|
|
1352
1399
|
${results.map((result) => formatRoute(result.route)).join(",\n")}
|
|
1353
1400
|
]
|
|
@@ -1411,7 +1458,7 @@ async function getRouteResults(files) {
|
|
|
1411
1458
|
return Array.from(routeMap.values());
|
|
1412
1459
|
}
|
|
1413
1460
|
async function parseFile4(file, index) {
|
|
1414
|
-
const code = await
|
|
1461
|
+
const code = await import_promises8.default.readFile(file, "utf-8");
|
|
1415
1462
|
let ast = null;
|
|
1416
1463
|
try {
|
|
1417
1464
|
ast = (0, import_parser.parse)(code, getParserOptions(file));
|
|
@@ -1509,10 +1556,10 @@ async function hasNamedExports(ast, file) {
|
|
|
1509
1556
|
}
|
|
1510
1557
|
|
|
1511
1558
|
// src/virtual-modules/generate-virtual-display-module.ts
|
|
1512
|
-
var
|
|
1559
|
+
var import_outdent5 = require("outdent");
|
|
1513
1560
|
async function generateVirtualDisplayModule(sources, pluginMode = false) {
|
|
1514
1561
|
const displays = await generateCustomFieldDisplays(sources);
|
|
1515
|
-
const code =
|
|
1562
|
+
const code = import_outdent5.outdent`
|
|
1516
1563
|
${displays.imports.join("\n")}
|
|
1517
1564
|
|
|
1518
1565
|
${pluginMode ? `const displayModule = { ${displays.code} }` : `export default { ${displays.code} }`}
|
|
@@ -1521,11 +1568,11 @@ async function generateVirtualDisplayModule(sources, pluginMode = false) {
|
|
|
1521
1568
|
}
|
|
1522
1569
|
|
|
1523
1570
|
// src/virtual-modules/generate-virtual-form-module.ts
|
|
1524
|
-
var
|
|
1571
|
+
var import_outdent6 = __toESM(require("outdent"));
|
|
1525
1572
|
async function generateVirtualFormModule(sources, pluginMode = false) {
|
|
1526
1573
|
const customFields = await generateCustomFieldForms(sources);
|
|
1527
1574
|
const imports = [...customFields.imports];
|
|
1528
|
-
const code =
|
|
1575
|
+
const code = import_outdent6.default`
|
|
1529
1576
|
${imports.join("\n")}
|
|
1530
1577
|
|
|
1531
1578
|
${pluginMode ? `const formModule = { ${customFields.code} }` : `export default { ${customFields.code} }`}
|
|
@@ -1534,10 +1581,10 @@ async function generateVirtualFormModule(sources, pluginMode = false) {
|
|
|
1534
1581
|
}
|
|
1535
1582
|
|
|
1536
1583
|
// src/virtual-modules/generate-virtual-link-module.ts
|
|
1537
|
-
var
|
|
1584
|
+
var import_outdent7 = require("outdent");
|
|
1538
1585
|
async function generateVirtualLinkModule(sources, pluginMode = false) {
|
|
1539
1586
|
const links = await generateCustomFieldLinks(sources);
|
|
1540
|
-
const code =
|
|
1587
|
+
const code = import_outdent7.outdent`
|
|
1541
1588
|
${links.imports.join("\n")}
|
|
1542
1589
|
|
|
1543
1590
|
${pluginMode ? `const linkModule = { ${links.code} }` : `export default { ${links.code} }`}
|
|
@@ -1546,10 +1593,10 @@ async function generateVirtualLinkModule(sources, pluginMode = false) {
|
|
|
1546
1593
|
}
|
|
1547
1594
|
|
|
1548
1595
|
// src/virtual-modules/generate-virtual-menu-item-module.ts
|
|
1549
|
-
var
|
|
1596
|
+
var import_outdent8 = __toESM(require("outdent"));
|
|
1550
1597
|
async function generateVirtualMenuItemModule(sources, pluginMode = false) {
|
|
1551
1598
|
const menuItems = await generateMenuItems(sources);
|
|
1552
|
-
const code =
|
|
1599
|
+
const code = import_outdent8.default`
|
|
1553
1600
|
${menuItems.imports.join("\n")}
|
|
1554
1601
|
|
|
1555
1602
|
${pluginMode ? `const menuItemModule = { ${menuItems.code} }` : `export default { ${menuItems.code} }`}
|
|
@@ -1558,11 +1605,11 @@ async function generateVirtualMenuItemModule(sources, pluginMode = false) {
|
|
|
1558
1605
|
}
|
|
1559
1606
|
|
|
1560
1607
|
// src/virtual-modules/generate-virtual-route-module.ts
|
|
1561
|
-
var
|
|
1608
|
+
var import_outdent9 = require("outdent");
|
|
1562
1609
|
async function generateVirtualRouteModule(sources, pluginMode = false) {
|
|
1563
1610
|
const routes = await generateRoutes(sources);
|
|
1564
1611
|
const imports = [...routes.imports];
|
|
1565
|
-
const code =
|
|
1612
|
+
const code = import_outdent9.outdent`
|
|
1566
1613
|
${imports.join("\n")}
|
|
1567
1614
|
|
|
1568
1615
|
${pluginMode ? `const routeModule = { ${routes.code} }` : `export default { ${routes.code} }`}
|
|
@@ -1571,10 +1618,10 @@ async function generateVirtualRouteModule(sources, pluginMode = false) {
|
|
|
1571
1618
|
}
|
|
1572
1619
|
|
|
1573
1620
|
// src/virtual-modules/generate-virtual-widget-module.ts
|
|
1574
|
-
var
|
|
1621
|
+
var import_outdent11 = __toESM(require("outdent"));
|
|
1575
1622
|
|
|
1576
1623
|
// src/widgets/generate-widget-hash.ts
|
|
1577
|
-
var
|
|
1624
|
+
var import_promises9 = __toESM(require("fs/promises"));
|
|
1578
1625
|
|
|
1579
1626
|
// src/widgets/helpers.ts
|
|
1580
1627
|
async function getWidgetFilesFromSources(sources) {
|
|
@@ -1591,7 +1638,7 @@ async function generateWidgetHash(sources) {
|
|
|
1591
1638
|
return generateHash(totalContent);
|
|
1592
1639
|
}
|
|
1593
1640
|
async function getWidgetContents(file) {
|
|
1594
|
-
const code = await
|
|
1641
|
+
const code = await import_promises9.default.readFile(file, "utf-8");
|
|
1595
1642
|
let ast;
|
|
1596
1643
|
try {
|
|
1597
1644
|
ast = (0, import_parser.parse)(code, getParserOptions(file));
|
|
@@ -1623,8 +1670,8 @@ async function getWidgetContents(file) {
|
|
|
1623
1670
|
|
|
1624
1671
|
// src/widgets/generate-widgets.ts
|
|
1625
1672
|
var import_admin_shared5 = require("@medusajs/admin-shared");
|
|
1626
|
-
var
|
|
1627
|
-
var
|
|
1673
|
+
var import_promises10 = __toESM(require("fs/promises"));
|
|
1674
|
+
var import_outdent10 = __toESM(require("outdent"));
|
|
1628
1675
|
async function generateWidgets(sources) {
|
|
1629
1676
|
const files = await getWidgetFilesFromSources(sources);
|
|
1630
1677
|
const results = await getWidgetResults(files);
|
|
@@ -1641,14 +1688,14 @@ async function getWidgetResults(files) {
|
|
|
1641
1688
|
);
|
|
1642
1689
|
}
|
|
1643
1690
|
function generateCode5(results) {
|
|
1644
|
-
return
|
|
1691
|
+
return import_outdent10.default`
|
|
1645
1692
|
widgets: [
|
|
1646
1693
|
${results.map((r) => formatWidget(r.widget)).join(",\n")}
|
|
1647
1694
|
]
|
|
1648
1695
|
`;
|
|
1649
1696
|
}
|
|
1650
1697
|
function formatWidget(widget) {
|
|
1651
|
-
return
|
|
1698
|
+
return import_outdent10.default`
|
|
1652
1699
|
{
|
|
1653
1700
|
Component: ${widget.Component},
|
|
1654
1701
|
zone: [${widget.zone.map((z) => `"${z}"`).join(", ")}]
|
|
@@ -1656,7 +1703,7 @@ function formatWidget(widget) {
|
|
|
1656
1703
|
`;
|
|
1657
1704
|
}
|
|
1658
1705
|
async function parseFile5(file, index) {
|
|
1659
|
-
const code = await
|
|
1706
|
+
const code = await import_promises10.default.readFile(file, "utf-8");
|
|
1660
1707
|
let ast;
|
|
1661
1708
|
try {
|
|
1662
1709
|
ast = (0, import_parser.parse)(code, getParserOptions(file));
|
|
@@ -1803,7 +1850,7 @@ function extractZoneValues(value, zones, file) {
|
|
|
1803
1850
|
async function generateVirtualWidgetModule(sources, pluginMode = false) {
|
|
1804
1851
|
const widgets = await generateWidgets(sources);
|
|
1805
1852
|
const imports = [...widgets.imports];
|
|
1806
|
-
const code =
|
|
1853
|
+
const code = import_outdent11.default`
|
|
1807
1854
|
${imports.join("\n")}
|
|
1808
1855
|
|
|
1809
1856
|
${pluginMode ? `const widgetModule = { ${widgets.code} }` : `export default { ${widgets.code} }`}
|
|
@@ -1811,6 +1858,22 @@ async function generateVirtualWidgetModule(sources, pluginMode = false) {
|
|
|
1811
1858
|
return generateModule(code);
|
|
1812
1859
|
}
|
|
1813
1860
|
|
|
1861
|
+
// src/virtual-modules/generate-virtual-i18n-module.ts
|
|
1862
|
+
var import_outdent12 = __toESM(require("outdent"));
|
|
1863
|
+
async function generateVirtualI18nModule(sources, pluginMode = false) {
|
|
1864
|
+
const i18n = await generateI18n(sources);
|
|
1865
|
+
const imports = [
|
|
1866
|
+
'import { deepMerge } from "@medusajs/admin-shared"',
|
|
1867
|
+
...i18n.imports
|
|
1868
|
+
];
|
|
1869
|
+
const code = import_outdent12.default`
|
|
1870
|
+
${imports.join("\n")}
|
|
1871
|
+
|
|
1872
|
+
${pluginMode ? `const i18nModule = { ${i18n.code} }` : `export default { ${i18n.code} }`}
|
|
1873
|
+
`;
|
|
1874
|
+
return generateModule(code);
|
|
1875
|
+
}
|
|
1876
|
+
|
|
1814
1877
|
// src/vmod.ts
|
|
1815
1878
|
var import_admin_shared6 = require("@medusajs/admin-shared");
|
|
1816
1879
|
var RESOLVED_LINK_VIRTUAL_MODULE = `\0${import_admin_shared6.LINK_VIRTUAL_MODULE}`;
|
|
@@ -1819,13 +1882,15 @@ var RESOLVED_DISPLAY_VIRTUAL_MODULE = `\0${import_admin_shared6.DISPLAY_VIRTUAL_
|
|
|
1819
1882
|
var RESOLVED_ROUTE_VIRTUAL_MODULE = `\0${import_admin_shared6.ROUTE_VIRTUAL_MODULE}`;
|
|
1820
1883
|
var RESOLVED_MENU_ITEM_VIRTUAL_MODULE = `\0${import_admin_shared6.MENU_ITEM_VIRTUAL_MODULE}`;
|
|
1821
1884
|
var RESOLVED_WIDGET_VIRTUAL_MODULE = `\0${import_admin_shared6.WIDGET_VIRTUAL_MODULE}`;
|
|
1885
|
+
var RESOLVED_I18N_VIRTUAL_MODULE = `\0${import_admin_shared6.I18N_VIRTUAL_MODULE}`;
|
|
1822
1886
|
var VIRTUAL_MODULES = [
|
|
1823
1887
|
import_admin_shared6.LINK_VIRTUAL_MODULE,
|
|
1824
1888
|
import_admin_shared6.FORM_VIRTUAL_MODULE,
|
|
1825
1889
|
import_admin_shared6.DISPLAY_VIRTUAL_MODULE,
|
|
1826
1890
|
import_admin_shared6.ROUTE_VIRTUAL_MODULE,
|
|
1827
1891
|
import_admin_shared6.MENU_ITEM_VIRTUAL_MODULE,
|
|
1828
|
-
import_admin_shared6.WIDGET_VIRTUAL_MODULE
|
|
1892
|
+
import_admin_shared6.WIDGET_VIRTUAL_MODULE,
|
|
1893
|
+
import_admin_shared6.I18N_VIRTUAL_MODULE
|
|
1829
1894
|
];
|
|
1830
1895
|
var RESOLVED_VIRTUAL_MODULES = [
|
|
1831
1896
|
RESOLVED_LINK_VIRTUAL_MODULE,
|
|
@@ -1833,7 +1898,8 @@ var RESOLVED_VIRTUAL_MODULES = [
|
|
|
1833
1898
|
RESOLVED_DISPLAY_VIRTUAL_MODULE,
|
|
1834
1899
|
RESOLVED_ROUTE_VIRTUAL_MODULE,
|
|
1835
1900
|
RESOLVED_MENU_ITEM_VIRTUAL_MODULE,
|
|
1836
|
-
RESOLVED_WIDGET_VIRTUAL_MODULE
|
|
1901
|
+
RESOLVED_WIDGET_VIRTUAL_MODULE,
|
|
1902
|
+
RESOLVED_I18N_VIRTUAL_MODULE
|
|
1837
1903
|
];
|
|
1838
1904
|
function resolveVirtualId(id) {
|
|
1839
1905
|
return `\0${id}`;
|
|
@@ -1852,7 +1918,8 @@ var resolvedVirtualModuleIds = {
|
|
|
1852
1918
|
display: RESOLVED_DISPLAY_VIRTUAL_MODULE,
|
|
1853
1919
|
route: RESOLVED_ROUTE_VIRTUAL_MODULE,
|
|
1854
1920
|
menuItem: RESOLVED_MENU_ITEM_VIRTUAL_MODULE,
|
|
1855
|
-
widget: RESOLVED_WIDGET_VIRTUAL_MODULE
|
|
1921
|
+
widget: RESOLVED_WIDGET_VIRTUAL_MODULE,
|
|
1922
|
+
i18n: RESOLVED_I18N_VIRTUAL_MODULE
|
|
1856
1923
|
};
|
|
1857
1924
|
var virtualModuleIds = {
|
|
1858
1925
|
link: import_admin_shared6.LINK_VIRTUAL_MODULE,
|
|
@@ -1860,7 +1927,8 @@ var virtualModuleIds = {
|
|
|
1860
1927
|
display: import_admin_shared6.DISPLAY_VIRTUAL_MODULE,
|
|
1861
1928
|
route: import_admin_shared6.ROUTE_VIRTUAL_MODULE,
|
|
1862
1929
|
menuItem: import_admin_shared6.MENU_ITEM_VIRTUAL_MODULE,
|
|
1863
|
-
widget: import_admin_shared6.WIDGET_VIRTUAL_MODULE
|
|
1930
|
+
widget: import_admin_shared6.WIDGET_VIRTUAL_MODULE,
|
|
1931
|
+
i18n: import_admin_shared6.I18N_VIRTUAL_MODULE
|
|
1864
1932
|
};
|
|
1865
1933
|
var vmod = {
|
|
1866
1934
|
resolved: resolvedVirtualModuleIds,
|
|
@@ -1907,6 +1975,7 @@ var medusaVitePlugin = (options) => {
|
|
|
1907
1975
|
const menuItemModule = await generateVirtualMenuItemModule(sources, true);
|
|
1908
1976
|
const formModule = await generateVirtualFormModule(sources, true);
|
|
1909
1977
|
const displayModule = await generateVirtualDisplayModule(sources, true);
|
|
1978
|
+
const i18nModule = await generateVirtualI18nModule(sources, true);
|
|
1910
1979
|
return `
|
|
1911
1980
|
// Auto-generated index file for Medusa Admin UI extensions
|
|
1912
1981
|
${widgetModule.code}
|
|
@@ -1914,13 +1983,15 @@ var medusaVitePlugin = (options) => {
|
|
|
1914
1983
|
${menuItemModule.code}
|
|
1915
1984
|
${formModule.code}
|
|
1916
1985
|
${displayModule.code}
|
|
1986
|
+
${i18nModule.code}
|
|
1917
1987
|
|
|
1918
1988
|
const plugin = {
|
|
1919
1989
|
widgetModule,
|
|
1920
1990
|
routeModule,
|
|
1921
1991
|
menuItemModule,
|
|
1922
1992
|
formModule,
|
|
1923
|
-
displayModule
|
|
1993
|
+
displayModule,
|
|
1994
|
+
i18nModule
|
|
1924
1995
|
}
|
|
1925
1996
|
|
|
1926
1997
|
export default plugin
|
|
@@ -1937,7 +2008,7 @@ var medusaVitePlugin = (options) => {
|
|
|
1937
2008
|
switch (mode) {
|
|
1938
2009
|
case "plugin" /* PLUGIN */: {
|
|
1939
2010
|
const code = await generatePluginEntryModule(_sources);
|
|
1940
|
-
await (0,
|
|
2011
|
+
await (0, import_promises11.writeFile)(pluginEntryFile, code, "utf-8");
|
|
1941
2012
|
break;
|
|
1942
2013
|
}
|
|
1943
2014
|
case "application" /* APPLICATION */: {
|
|
@@ -1949,7 +2020,7 @@ var medusaVitePlugin = (options) => {
|
|
|
1949
2020
|
switch (mode) {
|
|
1950
2021
|
case "plugin" /* PLUGIN */: {
|
|
1951
2022
|
try {
|
|
1952
|
-
await (0,
|
|
2023
|
+
await (0, import_promises11.rm)(pluginEntryFile, { force: true });
|
|
1953
2024
|
} catch (error) {
|
|
1954
2025
|
}
|
|
1955
2026
|
break;
|
|
@@ -2026,6 +2097,11 @@ var loadConfigs = {
|
|
|
2026
2097
|
hashGenerator: async (sources) => (await generateRouteHashes(sources)).configHash,
|
|
2027
2098
|
moduleGenerator: async (sources) => generateVirtualMenuItemModule(sources),
|
|
2028
2099
|
hashKey: vmod.virtual.menuItem
|
|
2100
|
+
},
|
|
2101
|
+
[vmod.resolved.i18n]: {
|
|
2102
|
+
hashGenerator: async (sources) => generateI18nHash(sources),
|
|
2103
|
+
moduleGenerator: async (sources) => generateVirtualI18nModule(sources),
|
|
2104
|
+
hashKey: vmod.virtual.i18n
|
|
2029
2105
|
}
|
|
2030
2106
|
};
|
|
2031
2107
|
var watcherConfigs = [
|
|
@@ -2078,8 +2154,21 @@ var watcherConfigs = [
|
|
|
2078
2154
|
hashKey: "displayHash"
|
|
2079
2155
|
}
|
|
2080
2156
|
]
|
|
2157
|
+
},
|
|
2158
|
+
{
|
|
2159
|
+
subdirectory: "i18n",
|
|
2160
|
+
hashGenerator: async (sources) => ({
|
|
2161
|
+
i18nHash: await generateI18nHash(sources)
|
|
2162
|
+
}),
|
|
2163
|
+
modules: [
|
|
2164
|
+
{
|
|
2165
|
+
virtualModule: vmod.virtual.i18n,
|
|
2166
|
+
resolvedModule: vmod.resolved.i18n,
|
|
2167
|
+
hashKey: "i18nHash"
|
|
2168
|
+
}
|
|
2169
|
+
]
|
|
2081
2170
|
}
|
|
2082
2171
|
];
|
|
2083
2172
|
|
|
2084
2173
|
// src/index.ts
|
|
2085
|
-
var
|
|
2174
|
+
var index_default = medusaVitePlugin;
|
package/dist/index.mjs
CHANGED
|
@@ -103,7 +103,7 @@ function generateModule(code) {
|
|
|
103
103
|
map: magicString.generateMap({ hires: true })
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
-
var VALID_FILE_EXTENSIONS = [".tsx", ".jsx", ".js"];
|
|
106
|
+
var VALID_FILE_EXTENSIONS = [".tsx", ".jsx", ".js", ".ts"];
|
|
107
107
|
async function crawl(dir, file, depth) {
|
|
108
108
|
const dirDepth = dir.split(path.sep).length;
|
|
109
109
|
const crawler = new fdir().withBasePath().exclude((dirName) => dirName.startsWith("_")).filter((path3) => {
|
|
@@ -1086,12 +1086,59 @@ function getLink(path3, index, file) {
|
|
|
1086
1086
|
return `${import_}.link`;
|
|
1087
1087
|
}
|
|
1088
1088
|
|
|
1089
|
+
// src/i18n/generate-i18n-hash.ts
|
|
1090
|
+
import fs5 from "fs/promises";
|
|
1091
|
+
|
|
1092
|
+
// src/i18n/helpers.ts
|
|
1093
|
+
async function getI18nIndexFilesFromSources(sources) {
|
|
1094
|
+
return (await Promise.all(
|
|
1095
|
+
Array.from(sources).map(
|
|
1096
|
+
async (source) => crawl(`${source}/i18n`, "index", { min: 0, max: 0 })
|
|
1097
|
+
)
|
|
1098
|
+
)).flat();
|
|
1099
|
+
}
|
|
1100
|
+
|
|
1101
|
+
// src/i18n/generate-i18n-hash.ts
|
|
1102
|
+
async function generateI18nHash(sources) {
|
|
1103
|
+
const indexFiles = await getI18nIndexFilesFromSources(sources);
|
|
1104
|
+
const contents = await Promise.all(
|
|
1105
|
+
indexFiles.map((file) => fs5.readFile(file, "utf-8"))
|
|
1106
|
+
);
|
|
1107
|
+
const totalContent = contents.join("");
|
|
1108
|
+
return generateHash(totalContent);
|
|
1109
|
+
}
|
|
1110
|
+
|
|
1111
|
+
// src/i18n/generate-i18n.ts
|
|
1112
|
+
import { outdent as outdent2 } from "outdent";
|
|
1113
|
+
async function generateI18n(sources) {
|
|
1114
|
+
const indexFiles = await getI18nIndexFilesFromSources(sources);
|
|
1115
|
+
const imports = indexFiles.map((file, index) => {
|
|
1116
|
+
const normalizedPath = normalizePath(file);
|
|
1117
|
+
return `import i18nTranslations${index} from "${normalizedPath}"`;
|
|
1118
|
+
});
|
|
1119
|
+
let mergeCode = "{}";
|
|
1120
|
+
if (indexFiles.length === 1) {
|
|
1121
|
+
mergeCode = "i18nTranslations0";
|
|
1122
|
+
} else if (indexFiles.length > 1) {
|
|
1123
|
+
mergeCode = indexFiles.slice(1).reduce((acc, _, index) => {
|
|
1124
|
+
return `deepMerge(${acc}, i18nTranslations${index + 1})`;
|
|
1125
|
+
}, "i18nTranslations0");
|
|
1126
|
+
}
|
|
1127
|
+
const code = outdent2`
|
|
1128
|
+
resources: ${mergeCode}
|
|
1129
|
+
`;
|
|
1130
|
+
return {
|
|
1131
|
+
imports,
|
|
1132
|
+
code
|
|
1133
|
+
};
|
|
1134
|
+
}
|
|
1135
|
+
|
|
1089
1136
|
// src/routes/generate-menu-items.ts
|
|
1090
1137
|
import {
|
|
1091
1138
|
NESTED_ROUTE_POSITIONS
|
|
1092
1139
|
} from "@medusajs/admin-shared";
|
|
1093
|
-
import
|
|
1094
|
-
import { outdent as
|
|
1140
|
+
import fs6 from "fs/promises";
|
|
1141
|
+
import { outdent as outdent3 } from "outdent";
|
|
1095
1142
|
|
|
1096
1143
|
// src/routes/helpers.ts
|
|
1097
1144
|
function getRoute(file) {
|
|
@@ -1115,7 +1162,7 @@ async function generateMenuItems(sources) {
|
|
|
1115
1162
|
return { imports, code };
|
|
1116
1163
|
}
|
|
1117
1164
|
function generateCode3(results) {
|
|
1118
|
-
return
|
|
1165
|
+
return outdent3`
|
|
1119
1166
|
menuItems: [
|
|
1120
1167
|
${results.map((result) => formatMenuItem(result.menuItem)).join(",\n")}
|
|
1121
1168
|
]
|
|
@@ -1174,7 +1221,7 @@ function generateMenuItem(config, file, index) {
|
|
|
1174
1221
|
};
|
|
1175
1222
|
}
|
|
1176
1223
|
async function getRouteConfig(file) {
|
|
1177
|
-
const code = await
|
|
1224
|
+
const code = await fs6.readFile(file, "utf-8");
|
|
1178
1225
|
let ast = null;
|
|
1179
1226
|
try {
|
|
1180
1227
|
ast = parse(code, getParserOptions(file));
|
|
@@ -1266,7 +1313,7 @@ function generateRouteConfigName(index) {
|
|
|
1266
1313
|
}
|
|
1267
1314
|
|
|
1268
1315
|
// src/routes/generate-route-hashes.ts
|
|
1269
|
-
import
|
|
1316
|
+
import fs7 from "fs/promises";
|
|
1270
1317
|
async function generateRouteHashes(sources) {
|
|
1271
1318
|
const files = await getFilesFromSources6(sources);
|
|
1272
1319
|
const contents = await Promise.all(files.map(getRouteContents));
|
|
@@ -1287,7 +1334,7 @@ async function getFilesFromSources6(sources) {
|
|
|
1287
1334
|
)).flat();
|
|
1288
1335
|
}
|
|
1289
1336
|
async function getRouteContents(file) {
|
|
1290
|
-
const code = await
|
|
1337
|
+
const code = await fs7.readFile(file, "utf-8");
|
|
1291
1338
|
let ast = null;
|
|
1292
1339
|
try {
|
|
1293
1340
|
ast = parse(code, getParserOptions(file));
|
|
@@ -1324,8 +1371,8 @@ ${e}`,
|
|
|
1324
1371
|
}
|
|
1325
1372
|
|
|
1326
1373
|
// src/routes/generate-routes.ts
|
|
1327
|
-
import
|
|
1328
|
-
import { outdent as
|
|
1374
|
+
import fs8 from "fs/promises";
|
|
1375
|
+
import { outdent as outdent4 } from "outdent";
|
|
1329
1376
|
async function generateRoutes(sources) {
|
|
1330
1377
|
const files = await getFilesFromSources7(sources);
|
|
1331
1378
|
const results = await getRouteResults(files);
|
|
@@ -1337,7 +1384,7 @@ async function generateRoutes(sources) {
|
|
|
1337
1384
|
};
|
|
1338
1385
|
}
|
|
1339
1386
|
function generateCode4(results) {
|
|
1340
|
-
return
|
|
1387
|
+
return outdent4`
|
|
1341
1388
|
routes: [
|
|
1342
1389
|
${results.map((result) => formatRoute(result.route)).join(",\n")}
|
|
1343
1390
|
]
|
|
@@ -1401,7 +1448,7 @@ async function getRouteResults(files) {
|
|
|
1401
1448
|
return Array.from(routeMap.values());
|
|
1402
1449
|
}
|
|
1403
1450
|
async function parseFile4(file, index) {
|
|
1404
|
-
const code = await
|
|
1451
|
+
const code = await fs8.readFile(file, "utf-8");
|
|
1405
1452
|
let ast = null;
|
|
1406
1453
|
try {
|
|
1407
1454
|
ast = parse(code, getParserOptions(file));
|
|
@@ -1499,10 +1546,10 @@ async function hasNamedExports(ast, file) {
|
|
|
1499
1546
|
}
|
|
1500
1547
|
|
|
1501
1548
|
// src/virtual-modules/generate-virtual-display-module.ts
|
|
1502
|
-
import { outdent as
|
|
1549
|
+
import { outdent as outdent5 } from "outdent";
|
|
1503
1550
|
async function generateVirtualDisplayModule(sources, pluginMode = false) {
|
|
1504
1551
|
const displays = await generateCustomFieldDisplays(sources);
|
|
1505
|
-
const code =
|
|
1552
|
+
const code = outdent5`
|
|
1506
1553
|
${displays.imports.join("\n")}
|
|
1507
1554
|
|
|
1508
1555
|
${pluginMode ? `const displayModule = { ${displays.code} }` : `export default { ${displays.code} }`}
|
|
@@ -1511,11 +1558,11 @@ async function generateVirtualDisplayModule(sources, pluginMode = false) {
|
|
|
1511
1558
|
}
|
|
1512
1559
|
|
|
1513
1560
|
// src/virtual-modules/generate-virtual-form-module.ts
|
|
1514
|
-
import
|
|
1561
|
+
import outdent6 from "outdent";
|
|
1515
1562
|
async function generateVirtualFormModule(sources, pluginMode = false) {
|
|
1516
1563
|
const customFields = await generateCustomFieldForms(sources);
|
|
1517
1564
|
const imports = [...customFields.imports];
|
|
1518
|
-
const code =
|
|
1565
|
+
const code = outdent6`
|
|
1519
1566
|
${imports.join("\n")}
|
|
1520
1567
|
|
|
1521
1568
|
${pluginMode ? `const formModule = { ${customFields.code} }` : `export default { ${customFields.code} }`}
|
|
@@ -1524,10 +1571,10 @@ async function generateVirtualFormModule(sources, pluginMode = false) {
|
|
|
1524
1571
|
}
|
|
1525
1572
|
|
|
1526
1573
|
// src/virtual-modules/generate-virtual-link-module.ts
|
|
1527
|
-
import { outdent as
|
|
1574
|
+
import { outdent as outdent7 } from "outdent";
|
|
1528
1575
|
async function generateVirtualLinkModule(sources, pluginMode = false) {
|
|
1529
1576
|
const links = await generateCustomFieldLinks(sources);
|
|
1530
|
-
const code =
|
|
1577
|
+
const code = outdent7`
|
|
1531
1578
|
${links.imports.join("\n")}
|
|
1532
1579
|
|
|
1533
1580
|
${pluginMode ? `const linkModule = { ${links.code} }` : `export default { ${links.code} }`}
|
|
@@ -1536,10 +1583,10 @@ async function generateVirtualLinkModule(sources, pluginMode = false) {
|
|
|
1536
1583
|
}
|
|
1537
1584
|
|
|
1538
1585
|
// src/virtual-modules/generate-virtual-menu-item-module.ts
|
|
1539
|
-
import
|
|
1586
|
+
import outdent8 from "outdent";
|
|
1540
1587
|
async function generateVirtualMenuItemModule(sources, pluginMode = false) {
|
|
1541
1588
|
const menuItems = await generateMenuItems(sources);
|
|
1542
|
-
const code =
|
|
1589
|
+
const code = outdent8`
|
|
1543
1590
|
${menuItems.imports.join("\n")}
|
|
1544
1591
|
|
|
1545
1592
|
${pluginMode ? `const menuItemModule = { ${menuItems.code} }` : `export default { ${menuItems.code} }`}
|
|
@@ -1548,11 +1595,11 @@ async function generateVirtualMenuItemModule(sources, pluginMode = false) {
|
|
|
1548
1595
|
}
|
|
1549
1596
|
|
|
1550
1597
|
// src/virtual-modules/generate-virtual-route-module.ts
|
|
1551
|
-
import { outdent as
|
|
1598
|
+
import { outdent as outdent9 } from "outdent";
|
|
1552
1599
|
async function generateVirtualRouteModule(sources, pluginMode = false) {
|
|
1553
1600
|
const routes = await generateRoutes(sources);
|
|
1554
1601
|
const imports = [...routes.imports];
|
|
1555
|
-
const code =
|
|
1602
|
+
const code = outdent9`
|
|
1556
1603
|
${imports.join("\n")}
|
|
1557
1604
|
|
|
1558
1605
|
${pluginMode ? `const routeModule = { ${routes.code} }` : `export default { ${routes.code} }`}
|
|
@@ -1561,10 +1608,10 @@ async function generateVirtualRouteModule(sources, pluginMode = false) {
|
|
|
1561
1608
|
}
|
|
1562
1609
|
|
|
1563
1610
|
// src/virtual-modules/generate-virtual-widget-module.ts
|
|
1564
|
-
import
|
|
1611
|
+
import outdent11 from "outdent";
|
|
1565
1612
|
|
|
1566
1613
|
// src/widgets/generate-widget-hash.ts
|
|
1567
|
-
import
|
|
1614
|
+
import fs9 from "fs/promises";
|
|
1568
1615
|
|
|
1569
1616
|
// src/widgets/helpers.ts
|
|
1570
1617
|
async function getWidgetFilesFromSources(sources) {
|
|
@@ -1581,7 +1628,7 @@ async function generateWidgetHash(sources) {
|
|
|
1581
1628
|
return generateHash(totalContent);
|
|
1582
1629
|
}
|
|
1583
1630
|
async function getWidgetContents(file) {
|
|
1584
|
-
const code = await
|
|
1631
|
+
const code = await fs9.readFile(file, "utf-8");
|
|
1585
1632
|
let ast;
|
|
1586
1633
|
try {
|
|
1587
1634
|
ast = parse(code, getParserOptions(file));
|
|
@@ -1613,8 +1660,8 @@ async function getWidgetContents(file) {
|
|
|
1613
1660
|
|
|
1614
1661
|
// src/widgets/generate-widgets.ts
|
|
1615
1662
|
import { isValidInjectionZone } from "@medusajs/admin-shared";
|
|
1616
|
-
import
|
|
1617
|
-
import
|
|
1663
|
+
import fs10 from "fs/promises";
|
|
1664
|
+
import outdent10 from "outdent";
|
|
1618
1665
|
async function generateWidgets(sources) {
|
|
1619
1666
|
const files = await getWidgetFilesFromSources(sources);
|
|
1620
1667
|
const results = await getWidgetResults(files);
|
|
@@ -1631,14 +1678,14 @@ async function getWidgetResults(files) {
|
|
|
1631
1678
|
);
|
|
1632
1679
|
}
|
|
1633
1680
|
function generateCode5(results) {
|
|
1634
|
-
return
|
|
1681
|
+
return outdent10`
|
|
1635
1682
|
widgets: [
|
|
1636
1683
|
${results.map((r) => formatWidget(r.widget)).join(",\n")}
|
|
1637
1684
|
]
|
|
1638
1685
|
`;
|
|
1639
1686
|
}
|
|
1640
1687
|
function formatWidget(widget) {
|
|
1641
|
-
return
|
|
1688
|
+
return outdent10`
|
|
1642
1689
|
{
|
|
1643
1690
|
Component: ${widget.Component},
|
|
1644
1691
|
zone: [${widget.zone.map((z) => `"${z}"`).join(", ")}]
|
|
@@ -1646,7 +1693,7 @@ function formatWidget(widget) {
|
|
|
1646
1693
|
`;
|
|
1647
1694
|
}
|
|
1648
1695
|
async function parseFile5(file, index) {
|
|
1649
|
-
const code = await
|
|
1696
|
+
const code = await fs10.readFile(file, "utf-8");
|
|
1650
1697
|
let ast;
|
|
1651
1698
|
try {
|
|
1652
1699
|
ast = parse(code, getParserOptions(file));
|
|
@@ -1793,7 +1840,7 @@ function extractZoneValues(value, zones, file) {
|
|
|
1793
1840
|
async function generateVirtualWidgetModule(sources, pluginMode = false) {
|
|
1794
1841
|
const widgets = await generateWidgets(sources);
|
|
1795
1842
|
const imports = [...widgets.imports];
|
|
1796
|
-
const code =
|
|
1843
|
+
const code = outdent11`
|
|
1797
1844
|
${imports.join("\n")}
|
|
1798
1845
|
|
|
1799
1846
|
${pluginMode ? `const widgetModule = { ${widgets.code} }` : `export default { ${widgets.code} }`}
|
|
@@ -1801,10 +1848,27 @@ async function generateVirtualWidgetModule(sources, pluginMode = false) {
|
|
|
1801
1848
|
return generateModule(code);
|
|
1802
1849
|
}
|
|
1803
1850
|
|
|
1851
|
+
// src/virtual-modules/generate-virtual-i18n-module.ts
|
|
1852
|
+
import outdent12 from "outdent";
|
|
1853
|
+
async function generateVirtualI18nModule(sources, pluginMode = false) {
|
|
1854
|
+
const i18n = await generateI18n(sources);
|
|
1855
|
+
const imports = [
|
|
1856
|
+
'import { deepMerge } from "@medusajs/admin-shared"',
|
|
1857
|
+
...i18n.imports
|
|
1858
|
+
];
|
|
1859
|
+
const code = outdent12`
|
|
1860
|
+
${imports.join("\n")}
|
|
1861
|
+
|
|
1862
|
+
${pluginMode ? `const i18nModule = { ${i18n.code} }` : `export default { ${i18n.code} }`}
|
|
1863
|
+
`;
|
|
1864
|
+
return generateModule(code);
|
|
1865
|
+
}
|
|
1866
|
+
|
|
1804
1867
|
// src/vmod.ts
|
|
1805
1868
|
import {
|
|
1806
1869
|
DISPLAY_VIRTUAL_MODULE,
|
|
1807
1870
|
FORM_VIRTUAL_MODULE,
|
|
1871
|
+
I18N_VIRTUAL_MODULE,
|
|
1808
1872
|
LINK_VIRTUAL_MODULE,
|
|
1809
1873
|
MENU_ITEM_VIRTUAL_MODULE,
|
|
1810
1874
|
ROUTE_VIRTUAL_MODULE,
|
|
@@ -1816,13 +1880,15 @@ var RESOLVED_DISPLAY_VIRTUAL_MODULE = `\0${DISPLAY_VIRTUAL_MODULE}`;
|
|
|
1816
1880
|
var RESOLVED_ROUTE_VIRTUAL_MODULE = `\0${ROUTE_VIRTUAL_MODULE}`;
|
|
1817
1881
|
var RESOLVED_MENU_ITEM_VIRTUAL_MODULE = `\0${MENU_ITEM_VIRTUAL_MODULE}`;
|
|
1818
1882
|
var RESOLVED_WIDGET_VIRTUAL_MODULE = `\0${WIDGET_VIRTUAL_MODULE}`;
|
|
1883
|
+
var RESOLVED_I18N_VIRTUAL_MODULE = `\0${I18N_VIRTUAL_MODULE}`;
|
|
1819
1884
|
var VIRTUAL_MODULES = [
|
|
1820
1885
|
LINK_VIRTUAL_MODULE,
|
|
1821
1886
|
FORM_VIRTUAL_MODULE,
|
|
1822
1887
|
DISPLAY_VIRTUAL_MODULE,
|
|
1823
1888
|
ROUTE_VIRTUAL_MODULE,
|
|
1824
1889
|
MENU_ITEM_VIRTUAL_MODULE,
|
|
1825
|
-
WIDGET_VIRTUAL_MODULE
|
|
1890
|
+
WIDGET_VIRTUAL_MODULE,
|
|
1891
|
+
I18N_VIRTUAL_MODULE
|
|
1826
1892
|
];
|
|
1827
1893
|
var RESOLVED_VIRTUAL_MODULES = [
|
|
1828
1894
|
RESOLVED_LINK_VIRTUAL_MODULE,
|
|
@@ -1830,7 +1896,8 @@ var RESOLVED_VIRTUAL_MODULES = [
|
|
|
1830
1896
|
RESOLVED_DISPLAY_VIRTUAL_MODULE,
|
|
1831
1897
|
RESOLVED_ROUTE_VIRTUAL_MODULE,
|
|
1832
1898
|
RESOLVED_MENU_ITEM_VIRTUAL_MODULE,
|
|
1833
|
-
RESOLVED_WIDGET_VIRTUAL_MODULE
|
|
1899
|
+
RESOLVED_WIDGET_VIRTUAL_MODULE,
|
|
1900
|
+
RESOLVED_I18N_VIRTUAL_MODULE
|
|
1834
1901
|
];
|
|
1835
1902
|
function resolveVirtualId(id) {
|
|
1836
1903
|
return `\0${id}`;
|
|
@@ -1849,7 +1916,8 @@ var resolvedVirtualModuleIds = {
|
|
|
1849
1916
|
display: RESOLVED_DISPLAY_VIRTUAL_MODULE,
|
|
1850
1917
|
route: RESOLVED_ROUTE_VIRTUAL_MODULE,
|
|
1851
1918
|
menuItem: RESOLVED_MENU_ITEM_VIRTUAL_MODULE,
|
|
1852
|
-
widget: RESOLVED_WIDGET_VIRTUAL_MODULE
|
|
1919
|
+
widget: RESOLVED_WIDGET_VIRTUAL_MODULE,
|
|
1920
|
+
i18n: RESOLVED_I18N_VIRTUAL_MODULE
|
|
1853
1921
|
};
|
|
1854
1922
|
var virtualModuleIds = {
|
|
1855
1923
|
link: LINK_VIRTUAL_MODULE,
|
|
@@ -1857,7 +1925,8 @@ var virtualModuleIds = {
|
|
|
1857
1925
|
display: DISPLAY_VIRTUAL_MODULE,
|
|
1858
1926
|
route: ROUTE_VIRTUAL_MODULE,
|
|
1859
1927
|
menuItem: MENU_ITEM_VIRTUAL_MODULE,
|
|
1860
|
-
widget: WIDGET_VIRTUAL_MODULE
|
|
1928
|
+
widget: WIDGET_VIRTUAL_MODULE,
|
|
1929
|
+
i18n: I18N_VIRTUAL_MODULE
|
|
1861
1930
|
};
|
|
1862
1931
|
var vmod = {
|
|
1863
1932
|
resolved: resolvedVirtualModuleIds,
|
|
@@ -1904,6 +1973,7 @@ var medusaVitePlugin = (options) => {
|
|
|
1904
1973
|
const menuItemModule = await generateVirtualMenuItemModule(sources, true);
|
|
1905
1974
|
const formModule = await generateVirtualFormModule(sources, true);
|
|
1906
1975
|
const displayModule = await generateVirtualDisplayModule(sources, true);
|
|
1976
|
+
const i18nModule = await generateVirtualI18nModule(sources, true);
|
|
1907
1977
|
return `
|
|
1908
1978
|
// Auto-generated index file for Medusa Admin UI extensions
|
|
1909
1979
|
${widgetModule.code}
|
|
@@ -1911,13 +1981,15 @@ var medusaVitePlugin = (options) => {
|
|
|
1911
1981
|
${menuItemModule.code}
|
|
1912
1982
|
${formModule.code}
|
|
1913
1983
|
${displayModule.code}
|
|
1984
|
+
${i18nModule.code}
|
|
1914
1985
|
|
|
1915
1986
|
const plugin = {
|
|
1916
1987
|
widgetModule,
|
|
1917
1988
|
routeModule,
|
|
1918
1989
|
menuItemModule,
|
|
1919
1990
|
formModule,
|
|
1920
|
-
displayModule
|
|
1991
|
+
displayModule,
|
|
1992
|
+
i18nModule
|
|
1921
1993
|
}
|
|
1922
1994
|
|
|
1923
1995
|
export default plugin
|
|
@@ -2023,6 +2095,11 @@ var loadConfigs = {
|
|
|
2023
2095
|
hashGenerator: async (sources) => (await generateRouteHashes(sources)).configHash,
|
|
2024
2096
|
moduleGenerator: async (sources) => generateVirtualMenuItemModule(sources),
|
|
2025
2097
|
hashKey: vmod.virtual.menuItem
|
|
2098
|
+
},
|
|
2099
|
+
[vmod.resolved.i18n]: {
|
|
2100
|
+
hashGenerator: async (sources) => generateI18nHash(sources),
|
|
2101
|
+
moduleGenerator: async (sources) => generateVirtualI18nModule(sources),
|
|
2102
|
+
hashKey: vmod.virtual.i18n
|
|
2026
2103
|
}
|
|
2027
2104
|
};
|
|
2028
2105
|
var watcherConfigs = [
|
|
@@ -2075,11 +2152,24 @@ var watcherConfigs = [
|
|
|
2075
2152
|
hashKey: "displayHash"
|
|
2076
2153
|
}
|
|
2077
2154
|
]
|
|
2155
|
+
},
|
|
2156
|
+
{
|
|
2157
|
+
subdirectory: "i18n",
|
|
2158
|
+
hashGenerator: async (sources) => ({
|
|
2159
|
+
i18nHash: await generateI18nHash(sources)
|
|
2160
|
+
}),
|
|
2161
|
+
modules: [
|
|
2162
|
+
{
|
|
2163
|
+
virtualModule: vmod.virtual.i18n,
|
|
2164
|
+
resolvedModule: vmod.resolved.i18n,
|
|
2165
|
+
hashKey: "i18nHash"
|
|
2166
|
+
}
|
|
2167
|
+
]
|
|
2078
2168
|
}
|
|
2079
2169
|
];
|
|
2080
2170
|
|
|
2081
2171
|
// src/index.ts
|
|
2082
|
-
var
|
|
2172
|
+
var index_default = medusaVitePlugin;
|
|
2083
2173
|
export {
|
|
2084
|
-
|
|
2174
|
+
index_default as default
|
|
2085
2175
|
};
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medusajs/admin-vite-plugin",
|
|
3
|
-
"version": "3.0.0-snapshot-
|
|
3
|
+
"version": "3.0.0-snapshot-20251104004624",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"module": "dist/index.mjs",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
9
10
|
"import": "./dist/index.mjs",
|
|
10
|
-
"require": "./dist/index.js"
|
|
11
|
-
"types": "./dist/index.d.ts"
|
|
11
|
+
"require": "./dist/index.js"
|
|
12
12
|
}
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
|
@@ -21,27 +21,23 @@
|
|
|
21
21
|
"package.json"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
-
"build": "tsup",
|
|
25
|
-
"watch": "tsup --watch",
|
|
26
|
-
"test": "vitest --run",
|
|
27
|
-
"test:watch": "vitest"
|
|
24
|
+
"build": "yarn run -T tsup",
|
|
25
|
+
"watch": "yarn run -T tsup --watch",
|
|
26
|
+
"test": "../../../node_modules/.bin/vitest --run",
|
|
27
|
+
"test:watch": "../../../node_modules/.bin/vitest"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"
|
|
31
|
-
"tsup": "8.0.1",
|
|
32
|
-
"typescript": "5.3.3",
|
|
33
|
-
"vite": "^5.4.14",
|
|
34
|
-
"vitest": "^3.0.5"
|
|
30
|
+
"vite": "^5.4.14"
|
|
35
31
|
},
|
|
36
32
|
"peerDependencies": {
|
|
37
|
-
"vite": "^5.
|
|
33
|
+
"vite": "^5.4.14"
|
|
38
34
|
},
|
|
39
35
|
"dependencies": {
|
|
40
36
|
"@babel/parser": "7.25.6",
|
|
41
37
|
"@babel/traverse": "7.25.6",
|
|
42
38
|
"@babel/types": "7.25.6",
|
|
43
|
-
"@medusajs/admin-shared": "3.0.0-snapshot-
|
|
44
|
-
"chokidar": "3.5.3",
|
|
39
|
+
"@medusajs/admin-shared": "3.0.0-snapshot-20251104004624",
|
|
40
|
+
"chokidar": "^3.5.3",
|
|
45
41
|
"fdir": "6.1.1",
|
|
46
42
|
"magic-string": "0.30.5",
|
|
47
43
|
"outdent": "^0.8.0",
|