@plumeria/turbopack-loader 6.2.0 → 6.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 +133 -43
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -40,6 +40,8 @@ async function loader(source) {
|
|
|
40
40
|
const localConsts = (0, utils_1.collectLocalConsts)(ast);
|
|
41
41
|
const resourcePath = this.resourcePath;
|
|
42
42
|
const importMap = {};
|
|
43
|
+
const createThemeImportMap = {};
|
|
44
|
+
const createStaticImportMap = {};
|
|
43
45
|
const plumeriaAliases = {};
|
|
44
46
|
(0, utils_1.traverse)(ast, {
|
|
45
47
|
ImportDeclaration({ node }) {
|
|
@@ -80,15 +82,20 @@ async function loader(source) {
|
|
|
80
82
|
importMap[localName] =
|
|
81
83
|
scannedTables.viewTransitionHashTable[uniqueKey];
|
|
82
84
|
}
|
|
83
|
-
if (scannedTables.themeTable[uniqueKey]) {
|
|
84
|
-
importMap[localName] = scannedTables.themeTable[uniqueKey];
|
|
85
|
-
}
|
|
86
85
|
if (scannedTables.createHashTable[uniqueKey]) {
|
|
87
86
|
importMap[localName] = scannedTables.createHashTable[uniqueKey];
|
|
88
87
|
}
|
|
89
88
|
if (scannedTables.variantsHashTable[uniqueKey]) {
|
|
90
89
|
importMap[localName] = scannedTables.variantsHashTable[uniqueKey];
|
|
91
90
|
}
|
|
91
|
+
if (scannedTables.createThemeHashTable[uniqueKey]) {
|
|
92
|
+
createThemeImportMap[localName] =
|
|
93
|
+
scannedTables.createThemeHashTable[uniqueKey];
|
|
94
|
+
}
|
|
95
|
+
if (scannedTables.createStaticHashTable[uniqueKey]) {
|
|
96
|
+
createStaticImportMap[localName] =
|
|
97
|
+
scannedTables.createStaticHashTable[uniqueKey];
|
|
98
|
+
}
|
|
92
99
|
}
|
|
93
100
|
});
|
|
94
101
|
}
|
|
@@ -118,13 +125,6 @@ async function loader(source) {
|
|
|
118
125
|
for (const key of Object.keys(importMap)) {
|
|
119
126
|
mergedViewTransitionTable[key] = importMap[key];
|
|
120
127
|
}
|
|
121
|
-
const mergedThemeTable = {};
|
|
122
|
-
for (const key of Object.keys(scannedTables.themeTable)) {
|
|
123
|
-
mergedThemeTable[key] = scannedTables.themeTable[key];
|
|
124
|
-
}
|
|
125
|
-
for (const key of Object.keys(importMap)) {
|
|
126
|
-
mergedThemeTable[key] = importMap[key];
|
|
127
|
-
}
|
|
128
128
|
const mergedCreateTable = {};
|
|
129
129
|
for (const key of Object.keys(scannedTables.createHashTable)) {
|
|
130
130
|
mergedCreateTable[key] = scannedTables.createHashTable[key];
|
|
@@ -139,6 +139,20 @@ async function loader(source) {
|
|
|
139
139
|
for (const key of Object.keys(importMap)) {
|
|
140
140
|
mergedVariantsTable[key] = importMap[key];
|
|
141
141
|
}
|
|
142
|
+
const mergedCreateThemeHashTable = {};
|
|
143
|
+
for (const key of Object.keys(scannedTables.createThemeHashTable)) {
|
|
144
|
+
mergedCreateThemeHashTable[key] = scannedTables.createThemeHashTable[key];
|
|
145
|
+
}
|
|
146
|
+
for (const key of Object.keys(createThemeImportMap)) {
|
|
147
|
+
mergedCreateThemeHashTable[key] = createThemeImportMap[key];
|
|
148
|
+
}
|
|
149
|
+
const mergedCreateStaticHashTable = {};
|
|
150
|
+
for (const key of Object.keys(scannedTables.createStaticHashTable)) {
|
|
151
|
+
mergedCreateStaticHashTable[key] = scannedTables.createStaticHashTable[key];
|
|
152
|
+
}
|
|
153
|
+
for (const key of Object.keys(createStaticImportMap)) {
|
|
154
|
+
mergedCreateStaticHashTable[key] = createStaticImportMap[key];
|
|
155
|
+
}
|
|
142
156
|
const localCreateStyles = {};
|
|
143
157
|
const replacements = [];
|
|
144
158
|
const extractedSheets = [];
|
|
@@ -193,7 +207,7 @@ async function loader(source) {
|
|
|
193
207
|
if (propName) {
|
|
194
208
|
if (propName === 'create' &&
|
|
195
209
|
utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
|
|
196
|
-
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
210
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
197
211
|
if (obj) {
|
|
198
212
|
const hashMap = {};
|
|
199
213
|
Object.entries(obj).forEach(([key, style]) => {
|
|
@@ -228,28 +242,9 @@ async function loader(source) {
|
|
|
228
242
|
};
|
|
229
243
|
}
|
|
230
244
|
}
|
|
231
|
-
else if ((propName === 'createTheme' || propName === 'createStatic') &&
|
|
232
|
-
(utils_1.t.isObjectExpression(node.init.arguments[0].expression) ||
|
|
233
|
-
utils_1.t.isStringLiteral(node.init.arguments[0].expression))) {
|
|
234
|
-
localCreateStyles[node.id.value] = {
|
|
235
|
-
name: node.id.value,
|
|
236
|
-
type: 'constant',
|
|
237
|
-
obj: {},
|
|
238
|
-
hashMap: {},
|
|
239
|
-
isExported,
|
|
240
|
-
initSpan: {
|
|
241
|
-
start: node.init.span.start - ast.span.start,
|
|
242
|
-
end: node.init.span.end - ast.span.start,
|
|
243
|
-
},
|
|
244
|
-
declSpan: {
|
|
245
|
-
start: declSpan.start - ast.span.start,
|
|
246
|
-
end: declSpan.end - ast.span.start,
|
|
247
|
-
},
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
245
|
else if (propName === 'variants' &&
|
|
251
246
|
utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
|
|
252
|
-
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
247
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable, (name) => {
|
|
253
248
|
if (localCreateStyles[name]) {
|
|
254
249
|
return localCreateStyles[name].obj;
|
|
255
250
|
}
|
|
@@ -334,7 +329,7 @@ async function loader(source) {
|
|
|
334
329
|
if (propName === 'keyframes' &&
|
|
335
330
|
args.length > 0 &&
|
|
336
331
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
337
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
332
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
338
333
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
339
334
|
scannedTables.keyframesObjectTable[hash] = obj;
|
|
340
335
|
replacements.push({
|
|
@@ -346,7 +341,7 @@ async function loader(source) {
|
|
|
346
341
|
else if (propName === 'viewTransition' &&
|
|
347
342
|
args.length > 0 &&
|
|
348
343
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
349
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
344
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
350
345
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
351
346
|
scannedTables.viewTransitionObjectTable[hash] = obj;
|
|
352
347
|
if (!isProduction) {
|
|
@@ -359,17 +354,28 @@ async function loader(source) {
|
|
|
359
354
|
content: JSON.stringify(`vt-${hash}`),
|
|
360
355
|
});
|
|
361
356
|
}
|
|
362
|
-
else if (propName === 'createTheme' &&
|
|
357
|
+
else if ((propName === 'createTheme' || propName === 'createStatic') &&
|
|
363
358
|
args.length > 0 &&
|
|
364
359
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
365
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
360
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
366
361
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
367
|
-
|
|
362
|
+
if (propName === 'createTheme') {
|
|
363
|
+
scannedTables.createThemeObjectTable[hash] = obj;
|
|
364
|
+
}
|
|
365
|
+
else {
|
|
366
|
+
scannedTables.createStaticObjectTable[hash] = obj;
|
|
367
|
+
}
|
|
368
|
+
const prefix = propName === 'createTheme' ? 'tm-' : 'st-';
|
|
369
|
+
replacements.push({
|
|
370
|
+
start: node.span.start - ast.span.start,
|
|
371
|
+
end: node.span.end - ast.span.start,
|
|
372
|
+
content: JSON.stringify(`${prefix}${hash}`),
|
|
373
|
+
});
|
|
368
374
|
}
|
|
369
375
|
else if (propName === 'create' &&
|
|
370
376
|
args.length > 0 &&
|
|
371
377
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
372
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
378
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
373
379
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
374
380
|
scannedTables.createObjectTable[hash] = obj;
|
|
375
381
|
Object.entries(obj).forEach(([key, style]) => {
|
|
@@ -408,6 +414,35 @@ async function loader(source) {
|
|
|
408
414
|
});
|
|
409
415
|
}
|
|
410
416
|
}
|
|
417
|
+
let themeHash = scannedTables.createThemeHashTable[uniqueKey];
|
|
418
|
+
if (!themeHash) {
|
|
419
|
+
themeHash = mergedCreateThemeHashTable[varName];
|
|
420
|
+
}
|
|
421
|
+
if (themeHash) {
|
|
422
|
+
const themeObj = scannedTables.createThemeObjectTable[themeHash];
|
|
423
|
+
if (themeObj && themeObj[propName] !== undefined) {
|
|
424
|
+
const cssVarName = (0, zss_engine_1.camelToKebabCase)(propName);
|
|
425
|
+
replacements.push({
|
|
426
|
+
start: node.span.start - ast.span.start,
|
|
427
|
+
end: node.span.end - ast.span.start,
|
|
428
|
+
content: JSON.stringify(`var(--${cssVarName})`),
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
let staticHash = scannedTables.createStaticHashTable[uniqueKey];
|
|
433
|
+
if (!staticHash) {
|
|
434
|
+
staticHash = mergedCreateStaticHashTable[varName];
|
|
435
|
+
}
|
|
436
|
+
if (staticHash) {
|
|
437
|
+
const staticObj = scannedTables.createStaticObjectTable[staticHash];
|
|
438
|
+
if (staticObj && staticObj[propName] !== undefined) {
|
|
439
|
+
replacements.push({
|
|
440
|
+
start: node.span.start - ast.span.start,
|
|
441
|
+
end: node.span.end - ast.span.start,
|
|
442
|
+
content: JSON.stringify(staticObj[propName]),
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
}
|
|
411
446
|
}
|
|
412
447
|
},
|
|
413
448
|
Identifier({ node }) {
|
|
@@ -447,6 +482,62 @@ async function loader(source) {
|
|
|
447
482
|
});
|
|
448
483
|
}
|
|
449
484
|
}
|
|
485
|
+
let kfHash = scannedTables.keyframesHashTable[uniqueKey];
|
|
486
|
+
if (!kfHash) {
|
|
487
|
+
kfHash = mergedKeyframesTable[varName];
|
|
488
|
+
}
|
|
489
|
+
if (kfHash) {
|
|
490
|
+
replacements.push({
|
|
491
|
+
start: node.span.start - ast.span.start,
|
|
492
|
+
end: node.span.end - ast.span.start,
|
|
493
|
+
content: JSON.stringify(`kf-${kfHash}`),
|
|
494
|
+
});
|
|
495
|
+
return;
|
|
496
|
+
}
|
|
497
|
+
let vtHash = scannedTables.viewTransitionHashTable[uniqueKey];
|
|
498
|
+
if (!vtHash) {
|
|
499
|
+
vtHash = mergedViewTransitionTable[varName];
|
|
500
|
+
}
|
|
501
|
+
if (vtHash) {
|
|
502
|
+
replacements.push({
|
|
503
|
+
start: node.span.start - ast.span.start,
|
|
504
|
+
end: node.span.end - ast.span.start,
|
|
505
|
+
content: JSON.stringify(`vt-${vtHash}`),
|
|
506
|
+
});
|
|
507
|
+
return;
|
|
508
|
+
}
|
|
509
|
+
let themeHash = scannedTables.createThemeHashTable[uniqueKey];
|
|
510
|
+
if (!themeHash) {
|
|
511
|
+
themeHash = mergedCreateThemeHashTable[varName];
|
|
512
|
+
}
|
|
513
|
+
if (themeHash) {
|
|
514
|
+
const themeObj = scannedTables.createThemeObjectTable[themeHash];
|
|
515
|
+
if (themeObj) {
|
|
516
|
+
const themeVars = {};
|
|
517
|
+
Object.keys(themeObj).forEach((key) => {
|
|
518
|
+
themeVars[key] = `var(--${(0, zss_engine_1.camelToKebabCase)(key)})`;
|
|
519
|
+
});
|
|
520
|
+
replacements.push({
|
|
521
|
+
start: node.span.start - ast.span.start,
|
|
522
|
+
end: node.span.end - ast.span.start,
|
|
523
|
+
content: JSON.stringify(themeVars),
|
|
524
|
+
});
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
let staticHash = scannedTables.createStaticHashTable[uniqueKey];
|
|
528
|
+
if (!staticHash) {
|
|
529
|
+
staticHash = mergedCreateStaticHashTable[varName];
|
|
530
|
+
}
|
|
531
|
+
if (staticHash) {
|
|
532
|
+
const staticObj = scannedTables.createStaticObjectTable[staticHash];
|
|
533
|
+
if (staticObj) {
|
|
534
|
+
replacements.push({
|
|
535
|
+
start: node.span.start - ast.span.start,
|
|
536
|
+
end: node.span.end - ast.span.start,
|
|
537
|
+
content: JSON.stringify(staticObj),
|
|
538
|
+
});
|
|
539
|
+
}
|
|
540
|
+
}
|
|
450
541
|
},
|
|
451
542
|
CallExpression({ node }) {
|
|
452
543
|
const callee = node.callee;
|
|
@@ -473,18 +564,17 @@ async function loader(source) {
|
|
|
473
564
|
const args = node.arguments;
|
|
474
565
|
const resolveStyleObject = (expr) => {
|
|
475
566
|
if (utils_1.t.isObjectExpression(expr)) {
|
|
476
|
-
return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
567
|
+
return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
477
568
|
}
|
|
478
569
|
else if (utils_1.t.isMemberExpression(expr) &&
|
|
479
570
|
utils_1.t.isIdentifier(expr.object) &&
|
|
480
|
-
(utils_1.t.isIdentifier(expr.property) ||
|
|
571
|
+
(utils_1.t.isIdentifier(expr.property) ||
|
|
572
|
+
expr.property.type === 'Computed')) {
|
|
481
573
|
if (expr.property.type === 'Computed') {
|
|
482
574
|
return {};
|
|
483
575
|
}
|
|
484
|
-
const varName = expr.object
|
|
485
|
-
|
|
486
|
-
const propName = expr.property
|
|
487
|
-
.value;
|
|
576
|
+
const varName = expr.object.value;
|
|
577
|
+
const propName = expr.property.value;
|
|
488
578
|
const styleInfo = localCreateStyles[varName];
|
|
489
579
|
if (styleInfo && styleInfo.obj[propName]) {
|
|
490
580
|
const style = styleInfo.obj[propName];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumeria/turbopack-loader",
|
|
3
|
-
"version": "6.2.
|
|
3
|
+
"version": "6.2.1",
|
|
4
4
|
"description": "Plumeria Turbopack-loader",
|
|
5
5
|
"author": "Refirst 11",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"zero-virtual.css"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@plumeria/utils": "^6.2.
|
|
25
|
+
"@plumeria/utils": "^6.2.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@swc/core": "1.15.8",
|