@lokascript/vite-plugin 1.2.1 → 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 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
- "zh",
1498
- "tr",
1505
+ "ms",
1506
+ "pl",
1499
1507
  "pt",
1500
- "fr",
1501
- "de",
1502
- "id",
1503
1508
  "qu",
1504
- "sw"
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 13 languages)
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
- zh: { raw: "58 KB", gzip: "~15 KB" },
1539
- tr: { raw: "73 KB", gzip: "~18 KB" },
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" },
@@ -1554,19 +1578,31 @@ function getSemanticBundleSize(bundleType) {
1554
1578
  return SEMANTIC_BUNDLE_SIZES[bundleType] ?? SEMANTIC_BUNDLE_SIZES.all;
1555
1579
  }
1556
1580
  var LANGUAGES_WITH_ESM_EXPORTS = /* @__PURE__ */ new Set([
1581
+ "ar",
1582
+ "bn",
1583
+ "de",
1557
1584
  "en",
1558
1585
  "es",
1586
+ "es-MX",
1587
+ "fr",
1588
+ "he",
1589
+ "hi",
1590
+ "id",
1591
+ "it",
1559
1592
  "ja",
1560
- "ar",
1561
1593
  "ko",
1562
- "zh",
1563
- "tr",
1594
+ "ms",
1595
+ "pl",
1564
1596
  "pt",
1565
- "fr",
1566
- "de",
1567
- "id",
1568
1597
  "qu",
1569
- "sw"
1598
+ "ru",
1599
+ "sw",
1600
+ "th",
1601
+ "tl",
1602
+ "tr",
1603
+ "uk",
1604
+ "vi",
1605
+ "zh"
1570
1606
  ]);
1571
1607
  function getLanguagesForBundleType(bundleType, configLanguages) {
1572
1608
  const languages = new Set(configLanguages);
@@ -1596,28 +1632,28 @@ function getLanguagesForBundleType(bundleType, configLanguages) {
1596
1632
  languages.add("en");
1597
1633
  return languages;
1598
1634
  }
1599
- function canUseCorePlusLanguages(languages) {
1635
+ function filterToAvailableLanguages(languages) {
1636
+ const available = /* @__PURE__ */ new Set();
1600
1637
  for (const lang of languages) {
1601
- if (!LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
1602
- return false;
1638
+ if (LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
1639
+ available.add(lang);
1603
1640
  }
1604
1641
  }
1605
- return true;
1642
+ available.add("en");
1643
+ return available;
1606
1644
  }
1607
1645
  function generateSemanticIntegrationCode(config) {
1608
1646
  if (!config.enabled || !config.bundleType) {
1609
1647
  return "";
1610
1648
  }
1611
1649
  const resolvedLanguages = getLanguagesForBundleType(config.bundleType, config.languages);
1612
- const useCorePlusLanguages = canUseCorePlusLanguages(resolvedLanguages);
1650
+ const availableLanguages = filterToAvailableLanguages(resolvedLanguages);
1613
1651
  const languages = [...config.languages].join("', '");
1614
1652
  let code = `
1615
1653
  // =============================================================================
1616
1654
  // SEMANTIC PARSER INTEGRATION
1617
1655
  // =============================================================================
1618
- `;
1619
- if (useCorePlusLanguages) {
1620
- code += `
1656
+
1621
1657
  // Core infrastructure (no language data bundled)
1622
1658
  import {
1623
1659
  createSemanticAnalyzer,
@@ -1627,18 +1663,9 @@ import {
1627
1663
 
1628
1664
  // Register required languages (self-registering side-effect imports)
1629
1665
  `;
1630
- const sortedLangs = [...resolvedLanguages].sort();
1631
- for (const lang of sortedLangs) {
1632
- code += `import '@lokascript/semantic/languages/${lang}';
1633
- `;
1634
- }
1635
- } else {
1636
- code += `
1637
- import {
1638
- createSemanticAnalyzer,
1639
- buildAST,
1640
- isLanguageSupported,
1641
- } from '@lokascript/semantic';
1666
+ const sortedLangs = [...availableLanguages].sort();
1667
+ for (const lang of sortedLangs) {
1668
+ code += `import '@lokascript/semantic/languages/${lang}';
1642
1669
  `;
1643
1670
  }
1644
1671
  if (config.grammarEnabled) {