@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 CHANGED
@@ -1553,26 +1553,94 @@ var SEMANTIC_BUNDLE_SIZES = {
1553
1553
  function getSemanticBundleSize(bundleType) {
1554
1554
  return SEMANTIC_BUNDLE_SIZES[bundleType] ?? SEMANTIC_BUNDLE_SIZES.all;
1555
1555
  }
1556
- function getSemanticBundleImport(_bundleType) {
1557
- return "@lokascript/semantic";
1556
+ var LANGUAGES_WITH_ESM_EXPORTS = /* @__PURE__ */ new Set([
1557
+ "en",
1558
+ "es",
1559
+ "ja",
1560
+ "ar",
1561
+ "ko",
1562
+ "zh",
1563
+ "tr",
1564
+ "pt",
1565
+ "fr",
1566
+ "de",
1567
+ "id",
1568
+ "qu",
1569
+ "sw"
1570
+ ]);
1571
+ function getLanguagesForBundleType(bundleType, configLanguages) {
1572
+ const languages = new Set(configLanguages);
1573
+ switch (bundleType) {
1574
+ case "western":
1575
+ REGIONS.western.forEach((l) => languages.add(l));
1576
+ break;
1577
+ case "east-asian":
1578
+ REGIONS["east-asian"].forEach((l) => languages.add(l));
1579
+ break;
1580
+ case "priority":
1581
+ REGIONS.priority.forEach((l) => languages.add(l));
1582
+ break;
1583
+ case "all":
1584
+ REGIONS.all.forEach((l) => languages.add(l));
1585
+ break;
1586
+ case "es-en":
1587
+ languages.add("en");
1588
+ languages.add("es");
1589
+ break;
1590
+ default:
1591
+ if (typeof bundleType === "string" && bundleType.length <= 3) {
1592
+ languages.add(bundleType);
1593
+ }
1594
+ break;
1595
+ }
1596
+ languages.add("en");
1597
+ return languages;
1598
+ }
1599
+ function canUseCorePlusLanguages(languages) {
1600
+ for (const lang of languages) {
1601
+ if (!LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
1602
+ return false;
1603
+ }
1604
+ }
1605
+ return true;
1558
1606
  }
1559
1607
  function generateSemanticIntegrationCode(config) {
1560
1608
  if (!config.enabled || !config.bundleType) {
1561
1609
  return "";
1562
1610
  }
1563
- const bundleImport = getSemanticBundleImport(config.bundleType);
1611
+ const resolvedLanguages = getLanguagesForBundleType(config.bundleType, config.languages);
1612
+ const useCorePlusLanguages = canUseCorePlusLanguages(resolvedLanguages);
1564
1613
  const languages = [...config.languages].join("', '");
1565
1614
  let code = `
1566
1615
  // =============================================================================
1567
1616
  // SEMANTIC PARSER INTEGRATION
1568
1617
  // =============================================================================
1618
+ `;
1619
+ if (useCorePlusLanguages) {
1620
+ code += `
1621
+ // Core infrastructure (no language data bundled)
1622
+ import {
1623
+ createSemanticAnalyzer,
1624
+ buildAST,
1625
+ isLanguageSupported,
1626
+ } from '@lokascript/semantic/core';
1569
1627
 
1628
+ // Register required languages (self-registering side-effect imports)
1629
+ `;
1630
+ const sortedLangs = [...resolvedLanguages].sort();
1631
+ for (const lang of sortedLangs) {
1632
+ code += `import '@lokascript/semantic/languages/${lang}';
1633
+ `;
1634
+ }
1635
+ } else {
1636
+ code += `
1570
1637
  import {
1571
1638
  createSemanticAnalyzer,
1572
1639
  buildAST,
1573
1640
  isLanguageSupported,
1574
- } from '${bundleImport}';
1641
+ } from '@lokascript/semantic';
1575
1642
  `;
1643
+ }
1576
1644
  if (config.grammarEnabled) {
1577
1645
  code += `
1578
1646
  import { GrammarTransformer, translate } from '@lokascript/i18n';