@lokascript/vite-plugin 1.2.0 → 1.2.1
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 +72 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +72 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1515,26 +1515,94 @@ var SEMANTIC_BUNDLE_SIZES = {
|
|
|
1515
1515
|
function getSemanticBundleSize(bundleType) {
|
|
1516
1516
|
return SEMANTIC_BUNDLE_SIZES[bundleType] ?? SEMANTIC_BUNDLE_SIZES.all;
|
|
1517
1517
|
}
|
|
1518
|
-
|
|
1519
|
-
|
|
1518
|
+
var LANGUAGES_WITH_ESM_EXPORTS = /* @__PURE__ */ new Set([
|
|
1519
|
+
"en",
|
|
1520
|
+
"es",
|
|
1521
|
+
"ja",
|
|
1522
|
+
"ar",
|
|
1523
|
+
"ko",
|
|
1524
|
+
"zh",
|
|
1525
|
+
"tr",
|
|
1526
|
+
"pt",
|
|
1527
|
+
"fr",
|
|
1528
|
+
"de",
|
|
1529
|
+
"id",
|
|
1530
|
+
"qu",
|
|
1531
|
+
"sw"
|
|
1532
|
+
]);
|
|
1533
|
+
function getLanguagesForBundleType(bundleType, configLanguages) {
|
|
1534
|
+
const languages = new Set(configLanguages);
|
|
1535
|
+
switch (bundleType) {
|
|
1536
|
+
case "western":
|
|
1537
|
+
REGIONS.western.forEach((l) => languages.add(l));
|
|
1538
|
+
break;
|
|
1539
|
+
case "east-asian":
|
|
1540
|
+
REGIONS["east-asian"].forEach((l) => languages.add(l));
|
|
1541
|
+
break;
|
|
1542
|
+
case "priority":
|
|
1543
|
+
REGIONS.priority.forEach((l) => languages.add(l));
|
|
1544
|
+
break;
|
|
1545
|
+
case "all":
|
|
1546
|
+
REGIONS.all.forEach((l) => languages.add(l));
|
|
1547
|
+
break;
|
|
1548
|
+
case "es-en":
|
|
1549
|
+
languages.add("en");
|
|
1550
|
+
languages.add("es");
|
|
1551
|
+
break;
|
|
1552
|
+
default:
|
|
1553
|
+
if (typeof bundleType === "string" && bundleType.length <= 3) {
|
|
1554
|
+
languages.add(bundleType);
|
|
1555
|
+
}
|
|
1556
|
+
break;
|
|
1557
|
+
}
|
|
1558
|
+
languages.add("en");
|
|
1559
|
+
return languages;
|
|
1560
|
+
}
|
|
1561
|
+
function canUseCorePlusLanguages(languages) {
|
|
1562
|
+
for (const lang of languages) {
|
|
1563
|
+
if (!LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
|
|
1564
|
+
return false;
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
return true;
|
|
1520
1568
|
}
|
|
1521
1569
|
function generateSemanticIntegrationCode(config) {
|
|
1522
1570
|
if (!config.enabled || !config.bundleType) {
|
|
1523
1571
|
return "";
|
|
1524
1572
|
}
|
|
1525
|
-
const
|
|
1573
|
+
const resolvedLanguages = getLanguagesForBundleType(config.bundleType, config.languages);
|
|
1574
|
+
const useCorePlusLanguages = canUseCorePlusLanguages(resolvedLanguages);
|
|
1526
1575
|
const languages = [...config.languages].join("', '");
|
|
1527
1576
|
let code = `
|
|
1528
1577
|
// =============================================================================
|
|
1529
1578
|
// SEMANTIC PARSER INTEGRATION
|
|
1530
1579
|
// =============================================================================
|
|
1580
|
+
`;
|
|
1581
|
+
if (useCorePlusLanguages) {
|
|
1582
|
+
code += `
|
|
1583
|
+
// Core infrastructure (no language data bundled)
|
|
1584
|
+
import {
|
|
1585
|
+
createSemanticAnalyzer,
|
|
1586
|
+
buildAST,
|
|
1587
|
+
isLanguageSupported,
|
|
1588
|
+
} from '@lokascript/semantic/core';
|
|
1531
1589
|
|
|
1590
|
+
// Register required languages (self-registering side-effect imports)
|
|
1591
|
+
`;
|
|
1592
|
+
const sortedLangs = [...resolvedLanguages].sort();
|
|
1593
|
+
for (const lang of sortedLangs) {
|
|
1594
|
+
code += `import '@lokascript/semantic/languages/${lang}';
|
|
1595
|
+
`;
|
|
1596
|
+
}
|
|
1597
|
+
} else {
|
|
1598
|
+
code += `
|
|
1532
1599
|
import {
|
|
1533
1600
|
createSemanticAnalyzer,
|
|
1534
1601
|
buildAST,
|
|
1535
1602
|
isLanguageSupported,
|
|
1536
|
-
} from '
|
|
1603
|
+
} from '@lokascript/semantic';
|
|
1537
1604
|
`;
|
|
1605
|
+
}
|
|
1538
1606
|
if (config.grammarEnabled) {
|
|
1539
1607
|
code += `
|
|
1540
1608
|
import { GrammarTransformer, translate } from '@lokascript/i18n';
|