@plumeria/turbopack-loader 18.5.1 → 18.5.3

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 +37 -84
  2. package/package.json +3 -3
package/dist/index.js CHANGED
@@ -130,6 +130,8 @@ const destructuredPropAliases = (fn) => {
130
130
  }
131
131
  return aliases;
132
132
  };
133
+ const propDefaultMessage = (source) => `Plumeria: A style prop default must be a defined style: "${source}". ` +
134
+ `Apply a conditional or dynamic style where the element is styled.`;
133
135
  const spreadStyleMessage = (source) => `Plumeria: Spread elements in a style array are not supported: "...${source}". ` +
134
136
  `List each style explicitly.`;
135
137
  const resolveLocalStyleAlias = (aliases, expression) => {
@@ -239,8 +241,7 @@ async function loader(source) {
239
241
  isVisibleReference(node) &&
240
242
  ((localCreateStyles[rootId] !== undefined &&
241
243
  localCreateStyles[rootId].type !== 'constant') ||
242
- mergedCreateTable[rootId] !== undefined ||
243
- mergedVariantsTable[rootId] !== undefined);
244
+ mergedCreateTable[rootId] !== undefined);
244
245
  if (!isPlumeriaStyle) {
245
246
  const origin = rootId ? localImports[rootId] : undefined;
246
247
  const failure = origin
@@ -368,7 +369,6 @@ async function loader(source) {
368
369
  const viewTransitionImportMap = {};
369
370
  const createImportMap = {};
370
371
  const createFunctionImportMap = {};
371
- const variantsImportMap = {};
372
372
  const createThemeImportMap = {};
373
373
  const createStaticImportMap = {};
374
374
  const plumeriaAliases = {};
@@ -435,10 +435,6 @@ async function loader(source) {
435
435
  if (scannedTables.createFunctionTable[uniqueKey]) {
436
436
  createFunctionImportMap[localName] = (0, utils_1.styleFunctionsOf)(scannedTables.createFunctionTable[uniqueKey]);
437
437
  }
438
- if (scannedTables.variantsHashTable[uniqueKey]) {
439
- variantsImportMap[localName] =
440
- scannedTables.variantsHashTable[uniqueKey];
441
- }
442
438
  if (scannedTables.createThemeHashTable[uniqueKey]) {
443
439
  createThemeImportMap[localName] =
444
440
  scannedTables.createThemeHashTable[uniqueKey];
@@ -497,17 +493,6 @@ async function loader(source) {
497
493
  for (const key of Object.keys(createImportMap)) {
498
494
  mergedCreateTable[key] = createImportMap[key];
499
495
  }
500
- const mergedVariantsTable = {};
501
- for (const key of Object.keys(scannedTables.variantsHashTable)) {
502
- mergedVariantsTable[key] = scannedTables.variantsHashTable[key];
503
- if (key.startsWith(`${resourcePath}-`)) {
504
- const varName = key.slice(resourcePath.length + 1);
505
- mergedVariantsTable[varName] = scannedTables.variantsHashTable[key];
506
- }
507
- }
508
- for (const key of Object.keys(variantsImportMap)) {
509
- mergedVariantsTable[key] = variantsImportMap[key];
510
- }
511
496
  const mergedCreateThemeHashTable = {};
512
497
  for (const key of Object.keys(scannedTables.createThemeHashTable)) {
513
498
  mergedCreateThemeHashTable[key] = scannedTables.createThemeHashTable[key];
@@ -541,7 +526,6 @@ async function loader(source) {
541
526
  createHashTable: mergedCreateTable,
542
527
  createStaticHashTable: mergedCreateStaticHashTable,
543
528
  createStaticObjectTable: scannedTables.createStaticObjectTable,
544
- variantsHashTable: mergedVariantsTable,
545
529
  };
546
530
  const localCreateStyles = {};
547
531
  const localStyleAliases = {};
@@ -664,7 +648,7 @@ async function loader(source) {
664
648
  }
665
649
  if (propName === 'create' &&
666
650
  utils_1.t.isObjectExpression(init.arguments[0].expression)) {
667
- const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
651
+ const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
668
652
  if (obj) {
669
653
  const hashMap = {};
670
654
  Object.entries(obj).forEach(([key, style]) => {
@@ -714,7 +698,7 @@ async function loader(source) {
714
698
  if (selector.startsWith('@') && !(0, zss_engine_1.isAtRule)(selector)) {
715
699
  throwCompilationError(`Plumeria: Unsupported at-rule: "${selector}". createTheme only supports nesting at-rules such as @media, @container, @supports, @layer, and @scope.`, selectorExpr);
716
700
  }
717
- const obj = (0, utils_1.objectExpressionToObject)(init.arguments[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
701
+ const obj = (0, utils_1.objectExpressionToObject)(init.arguments[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
718
702
  const hash = (0, utils_1.themeHashOf)(selector, obj);
719
703
  if (utils_1.t.isIdentifier(node.id)) {
720
704
  const uniqueKey = `${resourcePath}-${node.id.value}`;
@@ -752,7 +736,7 @@ async function loader(source) {
752
736
  if (utils_1.t.isIdentifier(node.id)) {
753
737
  idSpans.add(node.id.span.start);
754
738
  }
755
- const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
739
+ const obj = (0, utils_1.objectExpressionToObject)(init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
756
740
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
757
741
  if (utils_1.t.isIdentifier(node.id)) {
758
742
  const uniqueKey = `${resourcePath}-${node.id.value}`;
@@ -867,7 +851,7 @@ async function loader(source) {
867
851
  if (propName === 'keyframes' && args.length > 0) {
868
852
  const expr = args[0].expression;
869
853
  if (utils_1.t.isObjectExpression(expr)) {
870
- const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
854
+ const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
871
855
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
872
856
  scannedTables.keyframesObjectTable[hash] = obj;
873
857
  replacements.push({
@@ -880,7 +864,7 @@ async function loader(source) {
880
864
  else if (propName === 'viewTransition' &&
881
865
  args.length > 0 &&
882
866
  utils_1.t.isObjectExpression(args[0].expression)) {
883
- const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
867
+ const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
884
868
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
885
869
  scannedTables.viewTransitionObjectTable[hash] = obj;
886
870
  replacements.push({
@@ -901,7 +885,7 @@ async function loader(source) {
901
885
  if (selector.startsWith('@') && !(0, zss_engine_1.isAtRule)(selector)) {
902
886
  throwCompilationError(`Plumeria: Unsupported at-rule: "${selector}". createTheme only supports nesting at-rules such as @media, @container, @supports, @layer, and @scope.`, selectorExpr);
903
887
  }
904
- const obj = (0, utils_1.objectExpressionToObject)(args[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
888
+ const obj = (0, utils_1.objectExpressionToObject)(args[1].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
905
889
  const hash = (0, utils_1.themeHashOf)(selector, obj);
906
890
  scannedTables.createThemeObjectTable[hash] = obj;
907
891
  if (scannedTables.createThemeSelectorTable) {
@@ -911,14 +895,14 @@ async function loader(source) {
911
895
  else if (propName === 'createStatic' &&
912
896
  args.length > 0 &&
913
897
  utils_1.t.isObjectExpression(args[0].expression)) {
914
- const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
898
+ const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
915
899
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
916
900
  scannedTables.createStaticObjectTable[hash] = obj;
917
901
  }
918
902
  else if (propName === 'create' &&
919
903
  args.length > 0 &&
920
904
  utils_1.t.isObjectExpression(args[0].expression)) {
921
- const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
905
+ const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
922
906
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
923
907
  scannedTables.createObjectTable[hash] = obj;
924
908
  }
@@ -1005,7 +989,7 @@ async function loader(source) {
1005
989
  return merged;
1006
990
  }
1007
991
  if (utils_1.t.isObjectExpression(expr)) {
1008
- return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
992
+ return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
1009
993
  }
1010
994
  else if (utils_1.t.isMemberExpression(expr) &&
1011
995
  utils_1.t.isIdentifier(expr.object) &&
@@ -1048,9 +1032,6 @@ async function loader(source) {
1048
1032
  const styleInfo = localCreateStyles[varName];
1049
1033
  if (styleInfo?.obj)
1050
1034
  return styleInfo.obj;
1051
- const vHash = mergedVariantsTable[varName];
1052
- if (vHash)
1053
- return scannedTables.variantsObjectTable[vHash];
1054
1035
  }
1055
1036
  return null;
1056
1037
  };
@@ -1107,7 +1088,7 @@ async function loader(source) {
1107
1088
  properties: argExpr.properties.filter((prop) => prop.type === 'Identifier' ||
1108
1089
  (prop.type === 'KeyValueProperty' &&
1109
1090
  isStaticArgValue(prop.value))),
1110
- }, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
1091
+ }, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable);
1111
1092
  if (func.named) {
1112
1093
  const argExpr = callArgs[0]?.expression;
1113
1094
  if (callArgs.length > 1 ||
@@ -1443,37 +1424,29 @@ async function loader(source) {
1443
1424
  possibilities = candidates;
1444
1425
  }
1445
1426
  const fallback = owner && propDefaults.get(owner)?.get(propName);
1446
- if (fallback) {
1427
+ if (fallback && !isNoOpStyle((0, utils_1.unwrapExpression)(fallback))) {
1447
1428
  const style = resolveStyleObject(fallback);
1448
- if (style) {
1449
- const atoms = {};
1450
- (0, utils_1.getStyleRecords)(style).forEach((record) => {
1451
- atoms[record.key] = record.hash;
1452
- });
1453
- const key = (0, zss_engine_1.genBase36Hash)(Object.values(atoms).join(' '), 1, 8);
1454
- possibilities = [
1455
- ...(possibilities ?? []),
1456
- { key, styleObj: style },
1457
- ];
1458
- const span = fallback.span;
1459
- {
1460
- for (let i = replacements.length - 1; i >= 0; i--) {
1461
- const replacement = replacements[i];
1462
- if (replacement.start >= span.start - baseByteOffset &&
1463
- replacement.end <= span.end - baseByteOffset)
1464
- replacements.splice(i, 1);
1465
- }
1466
- excludeSubtreeSpans(fallback);
1467
- replacements.push({
1468
- start: span.start - baseByteOffset,
1469
- end: span.end - baseByteOffset,
1470
- content: JSON.stringify(key),
1471
- });
1472
- }
1473
- }
1474
- else {
1475
- assertResolvable(fallback);
1476
- }
1429
+ if (!style)
1430
+ throwCompilationError(propDefaultMessage(getSource(fallback)), fallback);
1431
+ const atoms = {};
1432
+ (0, utils_1.getStyleRecords)(style).forEach((record) => {
1433
+ atoms[record.key] = record.hash;
1434
+ });
1435
+ const key = (0, zss_engine_1.genBase36Hash)(Object.values(atoms).join(' '), 1, 8);
1436
+ possibilities = [...(possibilities ?? []), { key, styleObj: style }];
1437
+ const span = fallback.span;
1438
+ for (let index = replacements.length - 1; index >= 0; index--) {
1439
+ const replacement = replacements[index];
1440
+ if (replacement.start >= span.start - baseByteOffset &&
1441
+ replacement.end <= span.end - baseByteOffset)
1442
+ replacements.splice(index, 1);
1443
+ }
1444
+ excludeSubtreeSpans(fallback);
1445
+ replacements.push({
1446
+ start: span.start - baseByteOffset,
1447
+ end: span.end - baseByteOffset,
1448
+ content: JSON.stringify(key),
1449
+ });
1477
1450
  }
1478
1451
  if (!possibilities || possibilities.length === 0) {
1479
1452
  return Boolean(isPropsMember || (owner && declaredProps.get(owner)?.has(propName)));
@@ -1530,18 +1503,8 @@ async function loader(source) {
1530
1503
  continue;
1531
1504
  if (utils_1.t.isCallExpression(expr) && utils_1.t.isIdentifier(expr.callee)) {
1532
1505
  const varName = expr.callee.value;
1533
- const uniqueKey = `${resourcePath}-${varName}`;
1534
1506
  let variantObj;
1535
- let hash = scannedTables.variantsHashTable[uniqueKey];
1536
- if (!hash)
1537
- hash = mergedVariantsTable[varName];
1538
- if (hash && scannedTables.variantsObjectTable[hash])
1539
- variantObj = scannedTables.variantsObjectTable[hash];
1540
- if (!isVisibleReference(expr))
1541
- variantObj = undefined;
1542
- if (isVisibleReference(expr) &&
1543
- !variantObj &&
1544
- localCreateStyles[varName]?.obj)
1507
+ if (isVisibleReference(expr) && localCreateStyles[varName]?.obj)
1545
1508
  variantObj = localCreateStyles[varName].obj;
1546
1509
  if (variantObj) {
1547
1510
  const callArgs = expr.arguments;
@@ -1645,18 +1608,8 @@ async function loader(source) {
1645
1608
  }
1646
1609
  else if (utils_1.t.isIdentifier(expr)) {
1647
1610
  const varName = expr.value;
1648
- const uniqueKey = `${resourcePath}-${varName}`;
1649
1611
  let variantObj;
1650
- let hash = scannedTables.variantsHashTable[uniqueKey];
1651
- if (!hash)
1652
- hash = mergedVariantsTable[varName];
1653
- if (hash && scannedTables.variantsObjectTable[hash])
1654
- variantObj = scannedTables.variantsObjectTable[hash];
1655
- if (!isVisibleReference(expr))
1656
- variantObj = undefined;
1657
- if (isVisibleReference(expr) &&
1658
- !variantObj &&
1659
- localCreateStyles[varName]?.obj)
1612
+ if (isVisibleReference(expr) && localCreateStyles[varName]?.obj)
1660
1613
  variantObj = localCreateStyles[varName].obj;
1661
1614
  if (variantObj) {
1662
1615
  Object.entries(variantObj).forEach(([groupName, groupVariants]) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/turbopack-loader",
3
- "version": "18.5.1",
3
+ "version": "18.5.3",
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.1",
33
- "@plumeria/utils": "^18.5.1"
32
+ "@plumeria/compiler": "^18.5.3",
33
+ "@plumeria/utils": "^18.5.3"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@swc/core": "1.15.47",