@plumeria/turbopack-loader 18.5.2 → 18.5.4

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.
Files changed (2) hide show
  1. package/dist/index.js +35 -66
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -241,8 +241,7 @@ async function loader(source) {
241
241
  isVisibleReference(node) &&
242
242
  ((localCreateStyles[rootId] !== undefined &&
243
243
  localCreateStyles[rootId].type !== 'constant') ||
244
- mergedCreateTable[rootId] !== undefined ||
245
- mergedVariantsTable[rootId] !== undefined);
244
+ mergedCreateTable[rootId] !== undefined);
246
245
  if (!isPlumeriaStyle) {
247
246
  const origin = rootId ? localImports[rootId] : undefined;
248
247
  const failure = origin
@@ -370,7 +369,6 @@ async function loader(source) {
370
369
  const viewTransitionImportMap = {};
371
370
  const createImportMap = {};
372
371
  const createFunctionImportMap = {};
373
- const variantsImportMap = {};
374
372
  const createThemeImportMap = {};
375
373
  const createStaticImportMap = {};
376
374
  const plumeriaAliases = {};
@@ -437,10 +435,6 @@ async function loader(source) {
437
435
  if (scannedTables.createFunctionTable[uniqueKey]) {
438
436
  createFunctionImportMap[localName] = (0, utils_1.styleFunctionsOf)(scannedTables.createFunctionTable[uniqueKey]);
439
437
  }
440
- if (scannedTables.variantsHashTable[uniqueKey]) {
441
- variantsImportMap[localName] =
442
- scannedTables.variantsHashTable[uniqueKey];
443
- }
444
438
  if (scannedTables.createThemeHashTable[uniqueKey]) {
445
439
  createThemeImportMap[localName] =
446
440
  scannedTables.createThemeHashTable[uniqueKey];
@@ -499,17 +493,6 @@ async function loader(source) {
499
493
  for (const key of Object.keys(createImportMap)) {
500
494
  mergedCreateTable[key] = createImportMap[key];
501
495
  }
502
- const mergedVariantsTable = {};
503
- for (const key of Object.keys(scannedTables.variantsHashTable)) {
504
- mergedVariantsTable[key] = scannedTables.variantsHashTable[key];
505
- if (key.startsWith(`${resourcePath}-`)) {
506
- const varName = key.slice(resourcePath.length + 1);
507
- mergedVariantsTable[varName] = scannedTables.variantsHashTable[key];
508
- }
509
- }
510
- for (const key of Object.keys(variantsImportMap)) {
511
- mergedVariantsTable[key] = variantsImportMap[key];
512
- }
513
496
  const mergedCreateThemeHashTable = {};
514
497
  for (const key of Object.keys(scannedTables.createThemeHashTable)) {
515
498
  mergedCreateThemeHashTable[key] = scannedTables.createThemeHashTable[key];
@@ -543,7 +526,6 @@ async function loader(source) {
543
526
  createHashTable: mergedCreateTable,
544
527
  createStaticHashTable: mergedCreateStaticHashTable,
545
528
  createStaticObjectTable: scannedTables.createStaticObjectTable,
546
- variantsHashTable: mergedVariantsTable,
547
529
  };
548
530
  const localCreateStyles = {};
549
531
  const localStyleAliases = {};
@@ -564,16 +546,25 @@ async function loader(source) {
564
546
  };
565
547
  const replacements = [];
566
548
  const deferredSources = [];
567
- const deferSource = (node, stripObject = false) => {
549
+ const deferRange = (start, end) => {
568
550
  const token = `__plumeria_preserved_${deferredSources.length}__`;
569
- deferredSources.push({
570
- token,
571
- start: node.span.start - baseByteOffset,
572
- end: node.span.end - baseByteOffset,
573
- stripObject,
574
- });
551
+ deferredSources.push({ token, start, end });
575
552
  return token;
576
553
  };
554
+ const deferSource = (node) => deferRange(node.span.start - baseByteOffset, node.span.end - baseByteOffset);
555
+ const deferProperty = (property) => {
556
+ const node = property;
557
+ const range = node.spread && node.arguments
558
+ ? { start: node.spread.start, end: node.arguments.span.end }
559
+ : node.span
560
+ ? { start: node.span.start, end: node.span.end }
561
+ : node.key && node.value
562
+ ? { start: node.key.span.start, end: node.value.span.end }
563
+ : null;
564
+ return range
565
+ ? deferRange(range.start - baseByteOffset, range.end - baseByteOffset)
566
+ : null;
567
+ };
577
568
  const dynamicFnCalls = [];
578
569
  const processedDecls = new Set();
579
570
  const separatelyExported = new Set();
@@ -666,7 +657,7 @@ async function loader(source) {
666
657
  }
667
658
  if (propName === 'create' &&
668
659
  utils_1.t.isObjectExpression(init.arguments[0].expression)) {
669
- const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
660
+ const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
670
661
  if (obj) {
671
662
  const hashMap = {};
672
663
  Object.entries(obj).forEach(([key, style]) => {
@@ -716,7 +707,7 @@ async function loader(source) {
716
707
  if (selector.startsWith('@') && !(0, zss_engine_1.isAtRule)(selector)) {
717
708
  throwCompilationError(`Plumeria: Unsupported at-rule: "${selector}". createTheme only supports nesting at-rules such as @media, @container, @supports, @layer, and @scope.`, selectorExpr);
718
709
  }
719
- const obj = (0, utils_1.objectExpressionToObject)(init.arguments[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
710
+ const obj = (0, utils_1.objectExpressionToObject)(init.arguments[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
720
711
  const hash = (0, utils_1.themeHashOf)(selector, obj);
721
712
  if (utils_1.t.isIdentifier(node.id)) {
722
713
  const uniqueKey = `${resourcePath}-${node.id.value}`;
@@ -754,7 +745,7 @@ async function loader(source) {
754
745
  if (utils_1.t.isIdentifier(node.id)) {
755
746
  idSpans.add(node.id.span.start);
756
747
  }
757
- const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
748
+ const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
758
749
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
759
750
  if (utils_1.t.isIdentifier(node.id)) {
760
751
  const uniqueKey = `${resourcePath}-${node.id.value}`;
@@ -869,7 +860,7 @@ async function loader(source) {
869
860
  if (propName === 'keyframes' && args.length > 0) {
870
861
  const expr = args[0].expression;
871
862
  if (utils_1.t.isObjectExpression(expr)) {
872
- const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
863
+ const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
873
864
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
874
865
  scannedTables.keyframesObjectTable[hash] = obj;
875
866
  replacements.push({
@@ -882,7 +873,7 @@ async function loader(source) {
882
873
  else if (propName === 'viewTransition' &&
883
874
  args.length > 0 &&
884
875
  utils_1.t.isObjectExpression(args[0].expression)) {
885
- const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
876
+ const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
886
877
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
887
878
  scannedTables.viewTransitionObjectTable[hash] = obj;
888
879
  replacements.push({
@@ -903,7 +894,7 @@ async function loader(source) {
903
894
  if (selector.startsWith('@') && !(0, zss_engine_1.isAtRule)(selector)) {
904
895
  throwCompilationError(`Plumeria: Unsupported at-rule: "${selector}". createTheme only supports nesting at-rules such as @media, @container, @supports, @layer, and @scope.`, selectorExpr);
905
896
  }
906
- const obj = (0, utils_1.objectExpressionToObject)(args[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
897
+ const obj = (0, utils_1.objectExpressionToObject)(args[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
907
898
  const hash = (0, utils_1.themeHashOf)(selector, obj);
908
899
  scannedTables.createThemeObjectTable[hash] = obj;
909
900
  if (scannedTables.createThemeSelectorTable) {
@@ -913,14 +904,14 @@ async function loader(source) {
913
904
  else if (propName === 'createStatic' &&
914
905
  args.length > 0 &&
915
906
  utils_1.t.isObjectExpression(args[0].expression)) {
916
- const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
907
+ const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
917
908
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
918
909
  scannedTables.createStaticObjectTable[hash] = obj;
919
910
  }
920
911
  else if (propName === 'create' &&
921
912
  args.length > 0 &&
922
913
  utils_1.t.isObjectExpression(args[0].expression)) {
923
- const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
914
+ const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
924
915
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
925
916
  scannedTables.createObjectTable[hash] = obj;
926
917
  }
@@ -1007,7 +998,7 @@ async function loader(source) {
1007
998
  return merged;
1008
999
  }
1009
1000
  if (utils_1.t.isObjectExpression(expr)) {
1010
- return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
1001
+ return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
1011
1002
  }
1012
1003
  else if (utils_1.t.isMemberExpression(expr) &&
1013
1004
  utils_1.t.isIdentifier(expr.object) &&
@@ -1050,9 +1041,6 @@ async function loader(source) {
1050
1041
  const styleInfo = localCreateStyles[varName];
1051
1042
  if (styleInfo?.obj)
1052
1043
  return styleInfo.obj;
1053
- const vHash = mergedVariantsTable[varName];
1054
- if (vHash)
1055
- return scannedTables.variantsObjectTable[vHash];
1056
1044
  }
1057
1045
  return null;
1058
1046
  };
@@ -1109,7 +1097,7 @@ async function loader(source) {
1109
1097
  properties: argExpr.properties.filter((prop) => prop.type === 'Identifier' ||
1110
1098
  (prop.type === 'KeyValueProperty' &&
1111
1099
  isStaticArgValue(prop.value))),
1112
- }, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
1100
+ }, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
1113
1101
  if (func.named) {
1114
1102
  const argExpr = callArgs[0]?.expression;
1115
1103
  if (callArgs.length > 1 ||
@@ -1524,18 +1512,8 @@ async function loader(source) {
1524
1512
  continue;
1525
1513
  if (utils_1.t.isCallExpression(expr) && utils_1.t.isIdentifier(expr.callee)) {
1526
1514
  const varName = expr.callee.value;
1527
- const uniqueKey = `${resourcePath}-${varName}`;
1528
1515
  let variantObj;
1529
- let hash = scannedTables.variantsHashTable[uniqueKey];
1530
- if (!hash)
1531
- hash = mergedVariantsTable[varName];
1532
- if (hash && scannedTables.variantsObjectTable[hash])
1533
- variantObj = scannedTables.variantsObjectTable[hash];
1534
- if (!isVisibleReference(expr))
1535
- variantObj = undefined;
1536
- if (isVisibleReference(expr) &&
1537
- !variantObj &&
1538
- localCreateStyles[varName]?.obj)
1516
+ if (isVisibleReference(expr) && localCreateStyles[varName]?.obj)
1539
1517
  variantObj = localCreateStyles[varName].obj;
1540
1518
  if (variantObj) {
1541
1519
  const callArgs = expr.arguments;
@@ -1639,18 +1617,8 @@ async function loader(source) {
1639
1617
  }
1640
1618
  else if (utils_1.t.isIdentifier(expr)) {
1641
1619
  const varName = expr.value;
1642
- const uniqueKey = `${resourcePath}-${varName}`;
1643
1620
  let variantObj;
1644
- let hash = scannedTables.variantsHashTable[uniqueKey];
1645
- if (!hash)
1646
- hash = mergedVariantsTable[varName];
1647
- if (hash && scannedTables.variantsObjectTable[hash])
1648
- variantObj = scannedTables.variantsObjectTable[hash];
1649
- if (!isVisibleReference(expr))
1650
- variantObj = undefined;
1651
- if (isVisibleReference(expr) &&
1652
- !variantObj &&
1653
- localCreateStyles[varName]?.obj)
1621
+ if (isVisibleReference(expr) && localCreateStyles[varName]?.obj)
1654
1622
  variantObj = localCreateStyles[varName].obj;
1655
1623
  if (variantObj) {
1656
1624
  Object.entries(variantObj).forEach(([groupName, groupVariants]) => {
@@ -2330,8 +2298,11 @@ async function loader(source) {
2330
2298
  if (styleAttrExisting.value?.type === 'JSXExpressionContainer') {
2331
2299
  const innerExpr = styleAttrExisting.value?.expression;
2332
2300
  if (innerExpr.type === 'ObjectExpression') {
2333
- if (innerExpr.properties.length > 0)
2334
- existingStyleParts.push(deferSource(innerExpr, true));
2301
+ for (const property of innerExpr.properties) {
2302
+ const token = deferProperty(property);
2303
+ if (token)
2304
+ existingStyleParts.push(token);
2305
+ }
2335
2306
  }
2336
2307
  else {
2337
2308
  existingStyleExpr = `...(${deferSource(innerExpr)})`;
@@ -2490,9 +2461,7 @@ async function loader(source) {
2490
2461
  cursor = replacement.end;
2491
2462
  }
2492
2463
  pieces.push(sourceBuffer.subarray(cursor, deferred.end).toString('utf-8'));
2493
- let content = pieces.join('');
2494
- if (deferred.stripObject)
2495
- content = content.slice(1, -1).trim();
2464
+ const content = pieces.join('');
2496
2465
  for (const replacement of replacements)
2497
2466
  replacement.content = replacement.content.replaceAll(deferred.token, content);
2498
2467
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/turbopack-loader",
3
- "version": "18.5.2",
3
+ "version": "18.5.4",
4
4
  "description": "Plumeria Turbopack-loader",
5
5
  "author": "Refirst 11",
6
6
  "license": "MIT",
@@ -29,8 +29,8 @@
29
29
  "zero-virtual.css"
30
30
  ],
31
31
  "dependencies": {
32
- "@plumeria/compiler": "^18.5.2",
33
- "@plumeria/utils": "^18.5.2"
32
+ "@plumeria/compiler": "^18.5.4",
33
+ "@plumeria/utils": "^18.5.4"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@swc/core": "1.15.47",