@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.js
CHANGED
|
@@ -1451,19 +1451,31 @@ function selectBundleType(options, languages) {
|
|
|
1451
1451
|
return selectOptimalBundle(languages);
|
|
1452
1452
|
}
|
|
1453
1453
|
var SINGLE_LANGUAGE_BUNDLES = [
|
|
1454
|
+
"ar",
|
|
1455
|
+
"bn",
|
|
1456
|
+
"de",
|
|
1454
1457
|
"en",
|
|
1455
1458
|
"es",
|
|
1459
|
+
"es-MX",
|
|
1460
|
+
"fr",
|
|
1461
|
+
"he",
|
|
1462
|
+
"hi",
|
|
1463
|
+
"id",
|
|
1464
|
+
"it",
|
|
1456
1465
|
"ja",
|
|
1457
|
-
"ar",
|
|
1458
1466
|
"ko",
|
|
1459
|
-
"
|
|
1460
|
-
"
|
|
1467
|
+
"ms",
|
|
1468
|
+
"pl",
|
|
1461
1469
|
"pt",
|
|
1462
|
-
"fr",
|
|
1463
|
-
"de",
|
|
1464
|
-
"id",
|
|
1465
1470
|
"qu",
|
|
1466
|
-
"
|
|
1471
|
+
"ru",
|
|
1472
|
+
"sw",
|
|
1473
|
+
"th",
|
|
1474
|
+
"tl",
|
|
1475
|
+
"tr",
|
|
1476
|
+
"uk",
|
|
1477
|
+
"vi",
|
|
1478
|
+
"zh"
|
|
1467
1479
|
];
|
|
1468
1480
|
function selectOptimalBundle(languages) {
|
|
1469
1481
|
if (languages.size === 0) {
|
|
@@ -1491,20 +1503,32 @@ function selectOptimalBundle(languages) {
|
|
|
1491
1503
|
return "all";
|
|
1492
1504
|
}
|
|
1493
1505
|
var SEMANTIC_BUNDLE_SIZES = {
|
|
1494
|
-
// Single-language bundles (all
|
|
1506
|
+
// Single-language bundles (all 25 languages)
|
|
1507
|
+
ar: { raw: "66 KB", gzip: "~17 KB" },
|
|
1508
|
+
bn: { raw: "56 KB", gzip: "~14 KB" },
|
|
1509
|
+
de: { raw: "57 KB", gzip: "~14 KB" },
|
|
1495
1510
|
en: { raw: "82 KB", gzip: "~20 KB" },
|
|
1496
1511
|
es: { raw: "64 KB", gzip: "~16 KB" },
|
|
1512
|
+
"es-MX": { raw: "64 KB", gzip: "~16 KB" },
|
|
1513
|
+
fr: { raw: "57 KB", gzip: "~14 KB" },
|
|
1514
|
+
he: { raw: "56 KB", gzip: "~14 KB" },
|
|
1515
|
+
hi: { raw: "56 KB", gzip: "~14 KB" },
|
|
1516
|
+
id: { raw: "57 KB", gzip: "~14 KB" },
|
|
1517
|
+
it: { raw: "57 KB", gzip: "~14 KB" },
|
|
1497
1518
|
ja: { raw: "67 KB", gzip: "~17 KB" },
|
|
1498
|
-
ar: { raw: "66 KB", gzip: "~17 KB" },
|
|
1499
1519
|
ko: { raw: "69 KB", gzip: "~18 KB" },
|
|
1500
|
-
|
|
1501
|
-
|
|
1520
|
+
ms: { raw: "56 KB", gzip: "~14 KB" },
|
|
1521
|
+
pl: { raw: "56 KB", gzip: "~14 KB" },
|
|
1502
1522
|
pt: { raw: "56 KB", gzip: "~14 KB" },
|
|
1503
|
-
fr: { raw: "57 KB", gzip: "~14 KB" },
|
|
1504
|
-
de: { raw: "57 KB", gzip: "~14 KB" },
|
|
1505
|
-
id: { raw: "57 KB", gzip: "~14 KB" },
|
|
1506
1523
|
qu: { raw: "56 KB", gzip: "~14 KB" },
|
|
1524
|
+
ru: { raw: "56 KB", gzip: "~14 KB" },
|
|
1507
1525
|
sw: { raw: "56 KB", gzip: "~14 KB" },
|
|
1526
|
+
th: { raw: "56 KB", gzip: "~14 KB" },
|
|
1527
|
+
tl: { raw: "56 KB", gzip: "~14 KB" },
|
|
1528
|
+
tr: { raw: "73 KB", gzip: "~18 KB" },
|
|
1529
|
+
uk: { raw: "56 KB", gzip: "~14 KB" },
|
|
1530
|
+
vi: { raw: "56 KB", gzip: "~14 KB" },
|
|
1531
|
+
zh: { raw: "58 KB", gzip: "~15 KB" },
|
|
1508
1532
|
// Regional bundles
|
|
1509
1533
|
"es-en": { raw: "99 KB", gzip: "~25 KB" },
|
|
1510
1534
|
western: { raw: "127 KB", gzip: "~30 KB" },
|
|
@@ -1515,26 +1539,97 @@ var SEMANTIC_BUNDLE_SIZES = {
|
|
|
1515
1539
|
function getSemanticBundleSize(bundleType) {
|
|
1516
1540
|
return SEMANTIC_BUNDLE_SIZES[bundleType] ?? SEMANTIC_BUNDLE_SIZES.all;
|
|
1517
1541
|
}
|
|
1518
|
-
|
|
1519
|
-
|
|
1542
|
+
var LANGUAGES_WITH_ESM_EXPORTS = /* @__PURE__ */ new Set([
|
|
1543
|
+
"ar",
|
|
1544
|
+
"bn",
|
|
1545
|
+
"de",
|
|
1546
|
+
"en",
|
|
1547
|
+
"es",
|
|
1548
|
+
"es-MX",
|
|
1549
|
+
"fr",
|
|
1550
|
+
"he",
|
|
1551
|
+
"hi",
|
|
1552
|
+
"id",
|
|
1553
|
+
"it",
|
|
1554
|
+
"ja",
|
|
1555
|
+
"ko",
|
|
1556
|
+
"ms",
|
|
1557
|
+
"pl",
|
|
1558
|
+
"pt",
|
|
1559
|
+
"qu",
|
|
1560
|
+
"ru",
|
|
1561
|
+
"sw",
|
|
1562
|
+
"th",
|
|
1563
|
+
"tl",
|
|
1564
|
+
"tr",
|
|
1565
|
+
"uk",
|
|
1566
|
+
"vi",
|
|
1567
|
+
"zh"
|
|
1568
|
+
]);
|
|
1569
|
+
function getLanguagesForBundleType(bundleType, configLanguages) {
|
|
1570
|
+
const languages = new Set(configLanguages);
|
|
1571
|
+
switch (bundleType) {
|
|
1572
|
+
case "western":
|
|
1573
|
+
REGIONS.western.forEach((l) => languages.add(l));
|
|
1574
|
+
break;
|
|
1575
|
+
case "east-asian":
|
|
1576
|
+
REGIONS["east-asian"].forEach((l) => languages.add(l));
|
|
1577
|
+
break;
|
|
1578
|
+
case "priority":
|
|
1579
|
+
REGIONS.priority.forEach((l) => languages.add(l));
|
|
1580
|
+
break;
|
|
1581
|
+
case "all":
|
|
1582
|
+
REGIONS.all.forEach((l) => languages.add(l));
|
|
1583
|
+
break;
|
|
1584
|
+
case "es-en":
|
|
1585
|
+
languages.add("en");
|
|
1586
|
+
languages.add("es");
|
|
1587
|
+
break;
|
|
1588
|
+
default:
|
|
1589
|
+
if (typeof bundleType === "string" && bundleType.length <= 3) {
|
|
1590
|
+
languages.add(bundleType);
|
|
1591
|
+
}
|
|
1592
|
+
break;
|
|
1593
|
+
}
|
|
1594
|
+
languages.add("en");
|
|
1595
|
+
return languages;
|
|
1596
|
+
}
|
|
1597
|
+
function filterToAvailableLanguages(languages) {
|
|
1598
|
+
const available = /* @__PURE__ */ new Set();
|
|
1599
|
+
for (const lang of languages) {
|
|
1600
|
+
if (LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
|
|
1601
|
+
available.add(lang);
|
|
1602
|
+
}
|
|
1603
|
+
}
|
|
1604
|
+
available.add("en");
|
|
1605
|
+
return available;
|
|
1520
1606
|
}
|
|
1521
1607
|
function generateSemanticIntegrationCode(config) {
|
|
1522
1608
|
if (!config.enabled || !config.bundleType) {
|
|
1523
1609
|
return "";
|
|
1524
1610
|
}
|
|
1525
|
-
const
|
|
1611
|
+
const resolvedLanguages = getLanguagesForBundleType(config.bundleType, config.languages);
|
|
1612
|
+
const availableLanguages = filterToAvailableLanguages(resolvedLanguages);
|
|
1526
1613
|
const languages = [...config.languages].join("', '");
|
|
1527
1614
|
let code = `
|
|
1528
1615
|
// =============================================================================
|
|
1529
1616
|
// SEMANTIC PARSER INTEGRATION
|
|
1530
1617
|
// =============================================================================
|
|
1531
1618
|
|
|
1619
|
+
// Core infrastructure (no language data bundled)
|
|
1532
1620
|
import {
|
|
1533
1621
|
createSemanticAnalyzer,
|
|
1534
1622
|
buildAST,
|
|
1535
1623
|
isLanguageSupported,
|
|
1536
|
-
} from '
|
|
1624
|
+
} from '@lokascript/semantic/core';
|
|
1625
|
+
|
|
1626
|
+
// Register required languages (self-registering side-effect imports)
|
|
1627
|
+
`;
|
|
1628
|
+
const sortedLangs = [...availableLanguages].sort();
|
|
1629
|
+
for (const lang of sortedLangs) {
|
|
1630
|
+
code += `import '@lokascript/semantic/languages/${lang}';
|
|
1537
1631
|
`;
|
|
1632
|
+
}
|
|
1538
1633
|
if (config.grammarEnabled) {
|
|
1539
1634
|
code += `
|
|
1540
1635
|
import { GrammarTransformer, translate } from '@lokascript/i18n';
|