@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.
- package/dist/index.js +37 -84
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
const
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
33
|
-
"@plumeria/utils": "^18.5.
|
|
32
|
+
"@plumeria/compiler": "^18.5.3",
|
|
33
|
+
"@plumeria/utils": "^18.5.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@swc/core": "1.15.47",
|