@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.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
- function getSemanticBundleImport(_bundleType) {
1519
- return "@lokascript/semantic";
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 bundleImport = getSemanticBundleImport(config.bundleType);
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 '${bundleImport}';
1603
+ } from '@lokascript/semantic';
1537
1604
  `;
1605
+ }
1538
1606
  if (config.grammarEnabled) {
1539
1607
  code += `
1540
1608
  import { GrammarTransformer, translate } from '@lokascript/i18n';