@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.
- package/dist/index.js +35 -66
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
2334
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
33
|
-
"@plumeria/utils": "^18.5.
|
|
32
|
+
"@plumeria/compiler": "^18.5.4",
|
|
33
|
+
"@plumeria/utils": "^18.5.4"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@swc/core": "1.15.47",
|