@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.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
- "zh",
1460
- "tr",
1467
+ "ms",
1468
+ "pl",
1461
1469
  "pt",
1462
- "fr",
1463
- "de",
1464
- "id",
1465
1470
  "qu",
1466
- "sw"
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 13 languages)
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
- zh: { raw: "58 KB", gzip: "~15 KB" },
1501
- tr: { raw: "73 KB", gzip: "~18 KB" },
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" },
@@ -1516,19 +1540,31 @@ function getSemanticBundleSize(bundleType) {
1516
1540
  return SEMANTIC_BUNDLE_SIZES[bundleType] ?? SEMANTIC_BUNDLE_SIZES.all;
1517
1541
  }
1518
1542
  var LANGUAGES_WITH_ESM_EXPORTS = /* @__PURE__ */ new Set([
1543
+ "ar",
1544
+ "bn",
1545
+ "de",
1519
1546
  "en",
1520
1547
  "es",
1548
+ "es-MX",
1549
+ "fr",
1550
+ "he",
1551
+ "hi",
1552
+ "id",
1553
+ "it",
1521
1554
  "ja",
1522
- "ar",
1523
1555
  "ko",
1524
- "zh",
1525
- "tr",
1556
+ "ms",
1557
+ "pl",
1526
1558
  "pt",
1527
- "fr",
1528
- "de",
1529
- "id",
1530
1559
  "qu",
1531
- "sw"
1560
+ "ru",
1561
+ "sw",
1562
+ "th",
1563
+ "tl",
1564
+ "tr",
1565
+ "uk",
1566
+ "vi",
1567
+ "zh"
1532
1568
  ]);
1533
1569
  function getLanguagesForBundleType(bundleType, configLanguages) {
1534
1570
  const languages = new Set(configLanguages);
@@ -1558,28 +1594,28 @@ function getLanguagesForBundleType(bundleType, configLanguages) {
1558
1594
  languages.add("en");
1559
1595
  return languages;
1560
1596
  }
1561
- function canUseCorePlusLanguages(languages) {
1597
+ function filterToAvailableLanguages(languages) {
1598
+ const available = /* @__PURE__ */ new Set();
1562
1599
  for (const lang of languages) {
1563
- if (!LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
1564
- return false;
1600
+ if (LANGUAGES_WITH_ESM_EXPORTS.has(lang)) {
1601
+ available.add(lang);
1565
1602
  }
1566
1603
  }
1567
- return true;
1604
+ available.add("en");
1605
+ return available;
1568
1606
  }
1569
1607
  function generateSemanticIntegrationCode(config) {
1570
1608
  if (!config.enabled || !config.bundleType) {
1571
1609
  return "";
1572
1610
  }
1573
1611
  const resolvedLanguages = getLanguagesForBundleType(config.bundleType, config.languages);
1574
- const useCorePlusLanguages = canUseCorePlusLanguages(resolvedLanguages);
1612
+ const availableLanguages = filterToAvailableLanguages(resolvedLanguages);
1575
1613
  const languages = [...config.languages].join("', '");
1576
1614
  let code = `
1577
1615
  // =============================================================================
1578
1616
  // SEMANTIC PARSER INTEGRATION
1579
1617
  // =============================================================================
1580
- `;
1581
- if (useCorePlusLanguages) {
1582
- code += `
1618
+
1583
1619
  // Core infrastructure (no language data bundled)
1584
1620
  import {
1585
1621
  createSemanticAnalyzer,
@@ -1589,18 +1625,9 @@ import {
1589
1625
 
1590
1626
  // Register required languages (self-registering side-effect imports)
1591
1627
  `;
1592
- const sortedLangs = [...resolvedLanguages].sort();
1593
- for (const lang of sortedLangs) {
1594
- code += `import '@lokascript/semantic/languages/${lang}';
1595
- `;
1596
- }
1597
- } else {
1598
- code += `
1599
- import {
1600
- createSemanticAnalyzer,
1601
- buildAST,
1602
- isLanguageSupported,
1603
- } from '@lokascript/semantic';
1628
+ const sortedLangs = [...availableLanguages].sort();
1629
+ for (const lang of sortedLangs) {
1630
+ code += `import '@lokascript/semantic/languages/${lang}';
1604
1631
  `;
1605
1632
  }
1606
1633
  if (config.grammarEnabled) {