@lokascript/vite-plugin 1.2.0 → 1.3.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 +113 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +113 -18
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1489,19 +1489,31 @@ function selectBundleType(options, languages) {
|
|
|
1489
1489
|
return selectOptimalBundle(languages);
|
|
1490
1490
|
}
|
|
1491
1491
|
var SINGLE_LANGUAGE_BUNDLES = [
|
|
1492
|
+
"ar",
|
|
1493
|
+
"bn",
|
|
1494
|
+
"de",
|
|
1492
1495
|
"en",
|
|
1493
1496
|
"es",
|
|
1497
|
+
"es-MX",
|
|
1498
|
+
"fr",
|
|
1499
|
+
"he",
|
|
1500
|
+
"hi",
|
|
1501
|
+
"id",
|
|
1502
|
+
"it",
|
|
1494
1503
|
"ja",
|
|
1495
|
-
"ar",
|
|
1496
1504
|
"ko",
|
|
1497
|
-
"
|
|
1498
|
-
"
|
|
1505
|
+
"ms",
|
|
1506
|
+
"pl",
|
|
1499
1507
|
"pt",
|
|
1500
|
-
"fr",
|
|
1501
|
-
"de",
|
|
1502
|
-
"id",
|
|
1503
1508
|
"qu",
|
|
1504
|
-
"
|
|
1509
|
+
"ru",
|
|
1510
|
+
"sw",
|
|
1511
|
+
"th",
|
|
1512
|
+
"tl",
|
|
1513
|
+
"tr",
|
|
1514
|
+
"uk",
|
|
1515
|
+
"vi",
|
|
1516
|
+
"zh"
|
|
1505
1517
|
];
|
|
1506
1518
|
function selectOptimalBundle(languages) {
|
|
1507
1519
|
if (languages.size === 0) {
|
|
@@ -1529,20 +1541,32 @@ function selectOptimalBundle(languages) {
|
|
|
1529
1541
|
return "all";
|
|
1530
1542
|
}
|
|
1531
1543
|
var SEMANTIC_BUNDLE_SIZES = {
|
|
1532
|
-
// Single-language bundles (all
|
|
1544
|
+
// Single-language bundles (all 25 languages)
|
|
1545
|
+
ar: { raw: "66 KB", gzip: "~17 KB" },
|
|
1546
|
+
bn: { raw: "56 KB", gzip: "~14 KB" },
|
|
1547
|
+
de: { raw: "57 KB", gzip: "~14 KB" },
|
|
1533
1548
|
en: { raw: "82 KB", gzip: "~20 KB" },
|
|
1534
1549
|
es: { raw: "64 KB", gzip: "~16 KB" },
|
|
1550
|
+
"es-MX": { raw: "64 KB", gzip: "~16 KB" },
|
|
1551
|
+
fr: { raw: "57 KB", gzip: "~14 KB" },
|
|
1552
|
+
he: { raw: "56 KB", gzip: "~14 KB" },
|
|
1553
|
+
hi: { raw: "56 KB", gzip: "~14 KB" },
|
|
1554
|
+
id: { raw: "57 KB", gzip: "~14 KB" },
|
|
1555
|
+
it: { raw: "57 KB", gzip: "~14 KB" },
|
|
1535
1556
|
ja: { raw: "67 KB", gzip: "~17 KB" },
|
|
1536
|
-
ar: { raw: "66 KB", gzip: "~17 KB" },
|
|
1537
1557
|
ko: { raw: "69 KB", gzip: "~18 KB" },
|
|
1538
|
-
|
|
1539
|
-
|
|
1558
|
+
ms: { raw: "56 KB", gzip: "~14 KB" },
|
|
1559
|
+
pl: { raw: "56 KB", gzip: "~14 KB" },
|
|
1540
1560
|
pt: { raw: "56 KB", gzip: "~14 KB" },
|
|
1541
|
-
fr: { raw: "57 KB", gzip: "~14 KB" },
|
|
1542
|
-
de: { raw: "57 KB", gzip: "~14 KB" },
|
|
1543
|
-
id: { raw: "57 KB", gzip: "~14 KB" },
|
|
1544
1561
|
qu: { raw: "56 KB", gzip: "~14 KB" },
|
|
1562
|
+
ru: { raw: "56 KB", gzip: "~14 KB" },
|
|
1545
1563
|
sw: { raw: "56 KB", gzip: "~14 KB" },
|
|
1564
|
+
th: { raw: "56 KB", gzip: "~14 KB" },
|
|
1565
|
+
tl: { raw: "56 KB", gzip: "~14 KB" },
|
|
1566
|
+
tr: { raw: "73 KB", gzip: "~18 KB" },
|
|
1567
|
+
uk: { raw: "56 KB", gzip: "~14 KB" },
|
|
1568
|
+
vi: { raw: "56 KB", gzip: "~14 KB" },
|
|
1569
|
+
zh: { raw: "58 KB", gzip: "~15 KB" },
|
|
1546
1570
|
// Regional bundles
|
|
1547
1571
|
"es-en": { raw: "99 KB", gzip: "~25 KB" },
|
|
1548
1572
|
western: { raw: "127 KB", gzip: "~30 KB" },
|
|
@@ -1553,26 +1577,97 @@ var SEMANTIC_BUNDLE_SIZES = {
|
|
|
1553
1577
|
function getSemanticBundleSize(bundleType) {
|
|
1554
1578
|
return SEMANTIC_BUNDLE_SIZES[bundleType] ?? SEMANTIC_BUNDLE_SIZES.all;
|
|
1555
1579
|
}
|
|
1556
|
-
|
|
1557
|
-
|
|
1580
|
+
var LANGUAGES_WITH_ESM_EXPORTS = /* @__PURE__ */ new Set([
|
|
1581
|
+
"ar",
|
|
1582
|
+
"bn",
|
|
1583
|
+
"de",
|
|
1584
|
+
"en",
|
|
1585
|
+
"es",
|
|
1586
|
+
"es-MX",
|
|
1587
|
+
"fr",
|
|
1588
|
+
"he",
|
|
1589
|
+
"hi",
|
|
1590
|
+
"id",
|
|
1591
|
+
"it",
|
|
1592
|
+
"ja",
|
|
1593
|
+
"ko",
|
|
1594
|
+
"ms",
|
|
1595
|
+
"pl",
|
|
1596
|
+
"pt",
|
|
1597
|
+
"qu",
|
|
1598
|
+
"ru",
|
|
1599
|
+
"sw",
|
|
1600
|
+
"th",
|
|
1601
|
+
"tl",
|
|
1602
|
+
"tr",
|
|
1603
|
+
"uk",
|
|
1604
|
+
"vi",
|
|
1605
|
+
"zh"
|
|
1606
|
+
]);
|
|
1607
|
+
function getLanguagesForBundleType(bundleType, configLanguages) {
|
|
1608
|
+
const languages = new Set(configLanguages);
|
|
1609
|
+
switch (bundleType) {
|
|
1610
|
+
case "western":
|
|
1611
|
+
REGIONS.western.forEach((l) => languages.add(l));
|
|
1612
|
+
break;
|
|
1613
|
+
case "east-asian":
|
|
1614
|
+
REGIONS["east-asian"].forEach((l) => languages.add(l));
|
|
1615
|
+
break;
|
|
1616
|
+
case "priority":
|
|
1617
|
+
REGIONS.priority.forEach((l) => languages.add(l));
|
|
1618
|
+
break;
|
|
1619
|
+
case "all":
|
|
1620
|
+
REGIONS.all.forEach((l) => languages.add(l));
|
|
1621
|
+
break;
|
|
1622
|
+
case "es-en":
|
|
1623
|
+
languages.add("en");
|
|
1624
|
+
languages.add("es");
|
|
1625
|
+
break;
|
|
1626
|
+
default:
|
|
1627
|
+
if (typeof bundleType === "string" && bundleType.length <= 3) {
|
|
1628
|
+
languages.add(bundleType);
|
|
1629
|
+
}
|
|
1630
|
+
break;
|
|
1631
|
+
}
|
|
1632
|
+
languages.add("en");
|
|
1633
|
+
return languages;
|
|
1634
|
+
}
|
|
1635
|
+
function filterToAvailableLanguages(languages) {
|
|
1636
|
+
const available = /* @__PURE__ */ new Set();
|
|
1637
|
+
for (const lang of languages) {
|
|
1638
|
+
if (LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
|
|
1639
|
+
available.add(lang);
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1642
|
+
available.add("en");
|
|
1643
|
+
return available;
|
|
1558
1644
|
}
|
|
1559
1645
|
function generateSemanticIntegrationCode(config) {
|
|
1560
1646
|
if (!config.enabled || !config.bundleType) {
|
|
1561
1647
|
return "";
|
|
1562
1648
|
}
|
|
1563
|
-
const
|
|
1649
|
+
const resolvedLanguages = getLanguagesForBundleType(config.bundleType, config.languages);
|
|
1650
|
+
const availableLanguages = filterToAvailableLanguages(resolvedLanguages);
|
|
1564
1651
|
const languages = [...config.languages].join("', '");
|
|
1565
1652
|
let code = `
|
|
1566
1653
|
// =============================================================================
|
|
1567
1654
|
// SEMANTIC PARSER INTEGRATION
|
|
1568
1655
|
// =============================================================================
|
|
1569
1656
|
|
|
1657
|
+
// Core infrastructure (no language data bundled)
|
|
1570
1658
|
import {
|
|
1571
1659
|
createSemanticAnalyzer,
|
|
1572
1660
|
buildAST,
|
|
1573
1661
|
isLanguageSupported,
|
|
1574
|
-
} from '
|
|
1662
|
+
} from '@lokascript/semantic/core';
|
|
1663
|
+
|
|
1664
|
+
// Register required languages (self-registering side-effect imports)
|
|
1665
|
+
`;
|
|
1666
|
+
const sortedLangs = [...availableLanguages].sort();
|
|
1667
|
+
for (const lang of sortedLangs) {
|
|
1668
|
+
code += `import '@lokascript/semantic/languages/${lang}';
|
|
1575
1669
|
`;
|
|
1670
|
+
}
|
|
1576
1671
|
if (config.grammarEnabled) {
|
|
1577
1672
|
code += `
|
|
1578
1673
|
import { GrammarTransformer, translate } from '@lokascript/i18n';
|