@plumeria/webpack-plugin 6.1.2 → 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 +153 -33
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -81,15 +81,20 @@ function loader(source) {
|
|
|
81
81
|
importMap[localName] =
|
|
82
82
|
scannedTables.viewTransitionHashTable[uniqueKey];
|
|
83
83
|
}
|
|
84
|
-
if (scannedTables.themeTable[uniqueKey]) {
|
|
85
|
-
importMap[localName] = scannedTables.themeTable[uniqueKey];
|
|
86
|
-
}
|
|
87
84
|
if (scannedTables.createHashTable[uniqueKey]) {
|
|
88
85
|
importMap[localName] = scannedTables.createHashTable[uniqueKey];
|
|
89
86
|
}
|
|
90
87
|
if (scannedTables.variantsHashTable[uniqueKey]) {
|
|
91
88
|
importMap[localName] = scannedTables.variantsHashTable[uniqueKey];
|
|
92
89
|
}
|
|
90
|
+
if (scannedTables.createThemeHashTable[uniqueKey]) {
|
|
91
|
+
importMap[localName] =
|
|
92
|
+
scannedTables.createThemeHashTable[uniqueKey];
|
|
93
|
+
}
|
|
94
|
+
if (scannedTables.createStaticHashTable[uniqueKey]) {
|
|
95
|
+
importMap[localName] =
|
|
96
|
+
scannedTables.createStaticHashTable[uniqueKey];
|
|
97
|
+
}
|
|
93
98
|
}
|
|
94
99
|
});
|
|
95
100
|
}
|
|
@@ -119,12 +124,19 @@ function loader(source) {
|
|
|
119
124
|
for (const key of Object.keys(importMap)) {
|
|
120
125
|
mergedViewTransitionTable[key] = importMap[key];
|
|
121
126
|
}
|
|
122
|
-
const
|
|
123
|
-
for (const key of Object.keys(scannedTables.
|
|
124
|
-
|
|
127
|
+
const mergedCreateThemeHashTable = {};
|
|
128
|
+
for (const key of Object.keys(scannedTables.createThemeHashTable)) {
|
|
129
|
+
mergedCreateThemeHashTable[key] = scannedTables.createThemeHashTable[key];
|
|
125
130
|
}
|
|
126
131
|
for (const key of Object.keys(importMap)) {
|
|
127
|
-
|
|
132
|
+
mergedCreateThemeHashTable[key] = importMap[key];
|
|
133
|
+
}
|
|
134
|
+
const mergedCreateStaticHashTable = {};
|
|
135
|
+
for (const key of Object.keys(scannedTables.createStaticHashTable)) {
|
|
136
|
+
mergedCreateStaticHashTable[key] = scannedTables.createStaticHashTable[key];
|
|
137
|
+
}
|
|
138
|
+
for (const key of Object.keys(importMap)) {
|
|
139
|
+
mergedCreateStaticHashTable[key] = importMap[key];
|
|
128
140
|
}
|
|
129
141
|
const mergedCreateTable = {};
|
|
130
142
|
for (const key of Object.keys(scannedTables.createHashTable)) {
|
|
@@ -194,7 +206,7 @@ function loader(source) {
|
|
|
194
206
|
if (propName) {
|
|
195
207
|
if (propName === 'create' &&
|
|
196
208
|
utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
|
|
197
|
-
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
209
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
198
210
|
if (obj) {
|
|
199
211
|
const hashMap = {};
|
|
200
212
|
Object.entries(obj).forEach(([key, style]) => {
|
|
@@ -250,7 +262,7 @@ function loader(source) {
|
|
|
250
262
|
}
|
|
251
263
|
else if (propName === 'variants' &&
|
|
252
264
|
utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
|
|
253
|
-
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
265
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable, (name) => {
|
|
254
266
|
if (localCreateStyles[name]) {
|
|
255
267
|
return localCreateStyles[name].obj;
|
|
256
268
|
}
|
|
@@ -335,7 +347,7 @@ function loader(source) {
|
|
|
335
347
|
if (propName === 'keyframes' &&
|
|
336
348
|
args.length > 0 &&
|
|
337
349
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
338
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
350
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
339
351
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
340
352
|
scannedTables.keyframesObjectTable[hash] = obj;
|
|
341
353
|
replacements.push({
|
|
@@ -347,7 +359,7 @@ function loader(source) {
|
|
|
347
359
|
else if (propName === 'viewTransition' &&
|
|
348
360
|
args.length > 0 &&
|
|
349
361
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
350
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
362
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
351
363
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
352
364
|
scannedTables.viewTransitionObjectTable[hash] = obj;
|
|
353
365
|
if (!isProduction) {
|
|
@@ -363,14 +375,14 @@ function loader(source) {
|
|
|
363
375
|
else if (propName === 'createTheme' &&
|
|
364
376
|
args.length > 0 &&
|
|
365
377
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
366
|
-
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);
|
|
367
379
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
368
380
|
scannedTables.createThemeObjectTable[hash] = obj;
|
|
369
381
|
}
|
|
370
382
|
else if (propName === 'create' &&
|
|
371
383
|
args.length > 0 &&
|
|
372
384
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
373
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
385
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
374
386
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
375
387
|
scannedTables.createObjectTable[hash] = obj;
|
|
376
388
|
Object.entries(obj).forEach(([key, style]) => {
|
|
@@ -396,20 +408,6 @@ function loader(source) {
|
|
|
396
408
|
if (!hash) {
|
|
397
409
|
hash = mergedCreateTable[varName];
|
|
398
410
|
}
|
|
399
|
-
if (!hash) {
|
|
400
|
-
const styleInfo = localCreateStyles[varName];
|
|
401
|
-
if (styleInfo) {
|
|
402
|
-
const atomMap = styleInfo.hashMap[propName];
|
|
403
|
-
if (atomMap) {
|
|
404
|
-
replacements.push({
|
|
405
|
-
start: node.span.start - ast.span.start,
|
|
406
|
-
end: node.span.end - ast.span.start,
|
|
407
|
-
content: JSON.stringify(atomMap),
|
|
408
|
-
});
|
|
409
|
-
return;
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
411
|
if (hash) {
|
|
414
412
|
let atomMap;
|
|
415
413
|
if (scannedTables.createAtomicMapTable[hash]) {
|
|
@@ -423,6 +421,129 @@ function loader(source) {
|
|
|
423
421
|
});
|
|
424
422
|
}
|
|
425
423
|
}
|
|
424
|
+
let themeHash = scannedTables.createThemeHashTable[uniqueKey];
|
|
425
|
+
if (!themeHash) {
|
|
426
|
+
themeHash = mergedCreateThemeHashTable[varName];
|
|
427
|
+
}
|
|
428
|
+
if (themeHash) {
|
|
429
|
+
const themeObj = scannedTables.createThemeObjectTable[themeHash];
|
|
430
|
+
if (themeObj && themeObj[propName] !== undefined) {
|
|
431
|
+
const cssVarName = (0, zss_engine_1.camelToKebabCase)(propName);
|
|
432
|
+
replacements.push({
|
|
433
|
+
start: node.span.start - ast.span.start,
|
|
434
|
+
end: node.span.end - ast.span.start,
|
|
435
|
+
content: JSON.stringify(`var(--${cssVarName})`),
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
let staticHash = scannedTables.createStaticHashTable[uniqueKey];
|
|
440
|
+
if (!staticHash) {
|
|
441
|
+
staticHash = mergedCreateStaticHashTable[varName];
|
|
442
|
+
}
|
|
443
|
+
if (staticHash) {
|
|
444
|
+
const staticObj = scannedTables.createStaticObjectTable[staticHash];
|
|
445
|
+
if (staticObj && staticObj[propName] !== undefined) {
|
|
446
|
+
replacements.push({
|
|
447
|
+
start: node.span.start - ast.span.start,
|
|
448
|
+
end: node.span.end - ast.span.start,
|
|
449
|
+
content: JSON.stringify(staticObj[propName]),
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
},
|
|
455
|
+
Identifier({ node }) {
|
|
456
|
+
if (excludedSpans.has(node.span.start))
|
|
457
|
+
return;
|
|
458
|
+
if (idSpans.has(node.span.start))
|
|
459
|
+
return;
|
|
460
|
+
const styleInfo = localCreateStyles[node.value];
|
|
461
|
+
if (styleInfo) {
|
|
462
|
+
replacements.push({
|
|
463
|
+
start: node.span.start - ast.span.start,
|
|
464
|
+
end: node.span.end - ast.span.start,
|
|
465
|
+
content: JSON.stringify(styleInfo.hashMap),
|
|
466
|
+
});
|
|
467
|
+
return;
|
|
468
|
+
}
|
|
469
|
+
const varName = node.value;
|
|
470
|
+
const uniqueKey = `${this.resourcePath}-${varName}`;
|
|
471
|
+
let hash = scannedTables.createHashTable[uniqueKey];
|
|
472
|
+
if (!hash) {
|
|
473
|
+
hash = mergedCreateTable[varName];
|
|
474
|
+
}
|
|
475
|
+
if (hash) {
|
|
476
|
+
const obj = scannedTables.createObjectTable[hash];
|
|
477
|
+
const atomicMap = scannedTables.createAtomicMapTable[hash];
|
|
478
|
+
if (obj && atomicMap) {
|
|
479
|
+
const hashMap = {};
|
|
480
|
+
Object.keys(obj).forEach((key) => {
|
|
481
|
+
if (atomicMap[key]) {
|
|
482
|
+
hashMap[key] = atomicMap[key];
|
|
483
|
+
}
|
|
484
|
+
});
|
|
485
|
+
replacements.push({
|
|
486
|
+
start: node.span.start - ast.span.start,
|
|
487
|
+
end: node.span.end - ast.span.start,
|
|
488
|
+
content: JSON.stringify(hashMap),
|
|
489
|
+
});
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
let kfHash = scannedTables.keyframesHashTable[uniqueKey];
|
|
493
|
+
if (!kfHash) {
|
|
494
|
+
kfHash = mergedKeyframesTable[varName];
|
|
495
|
+
}
|
|
496
|
+
if (kfHash) {
|
|
497
|
+
replacements.push({
|
|
498
|
+
start: node.span.start - ast.span.start,
|
|
499
|
+
end: node.span.end - ast.span.start,
|
|
500
|
+
content: JSON.stringify(`kf-${kfHash}`),
|
|
501
|
+
});
|
|
502
|
+
return;
|
|
503
|
+
}
|
|
504
|
+
let vtHash = scannedTables.viewTransitionHashTable[uniqueKey];
|
|
505
|
+
if (!vtHash) {
|
|
506
|
+
vtHash = mergedViewTransitionTable[varName];
|
|
507
|
+
}
|
|
508
|
+
if (vtHash) {
|
|
509
|
+
replacements.push({
|
|
510
|
+
start: node.span.start - ast.span.start,
|
|
511
|
+
end: node.span.end - ast.span.start,
|
|
512
|
+
content: JSON.stringify(`vt-${vtHash}`),
|
|
513
|
+
});
|
|
514
|
+
return;
|
|
515
|
+
}
|
|
516
|
+
let themeHash = scannedTables.createThemeHashTable[uniqueKey];
|
|
517
|
+
if (!themeHash) {
|
|
518
|
+
themeHash = mergedCreateThemeHashTable[varName];
|
|
519
|
+
}
|
|
520
|
+
if (themeHash) {
|
|
521
|
+
const themeObj = scannedTables.createThemeObjectTable[themeHash];
|
|
522
|
+
if (themeObj) {
|
|
523
|
+
const themeVars = {};
|
|
524
|
+
Object.keys(themeObj).forEach((key) => {
|
|
525
|
+
themeVars[key] = `var(--${(0, zss_engine_1.camelToKebabCase)(key)})`;
|
|
526
|
+
});
|
|
527
|
+
replacements.push({
|
|
528
|
+
start: node.span.start - ast.span.start,
|
|
529
|
+
end: node.span.end - ast.span.start,
|
|
530
|
+
content: JSON.stringify(themeVars),
|
|
531
|
+
});
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
let staticHash = scannedTables.createStaticHashTable[uniqueKey];
|
|
535
|
+
if (!staticHash) {
|
|
536
|
+
staticHash = mergedCreateStaticHashTable[varName];
|
|
537
|
+
}
|
|
538
|
+
if (staticHash) {
|
|
539
|
+
const staticObj = scannedTables.createStaticObjectTable[staticHash];
|
|
540
|
+
if (staticObj) {
|
|
541
|
+
replacements.push({
|
|
542
|
+
start: node.span.start - ast.span.start,
|
|
543
|
+
end: node.span.end - ast.span.start,
|
|
544
|
+
content: JSON.stringify(staticObj),
|
|
545
|
+
});
|
|
546
|
+
}
|
|
426
547
|
}
|
|
427
548
|
},
|
|
428
549
|
CallExpression({ node }) {
|
|
@@ -450,18 +571,17 @@ function loader(source) {
|
|
|
450
571
|
const args = node.arguments;
|
|
451
572
|
const resolveStyleObject = (expr) => {
|
|
452
573
|
if (utils_1.t.isObjectExpression(expr)) {
|
|
453
|
-
return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
574
|
+
return (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
454
575
|
}
|
|
455
576
|
else if (utils_1.t.isMemberExpression(expr) &&
|
|
456
577
|
utils_1.t.isIdentifier(expr.object) &&
|
|
457
|
-
(utils_1.t.isIdentifier(expr.property) ||
|
|
578
|
+
(utils_1.t.isIdentifier(expr.property) ||
|
|
579
|
+
expr.property.type === 'Computed')) {
|
|
458
580
|
if (expr.property.type === 'Computed') {
|
|
459
581
|
return {};
|
|
460
582
|
}
|
|
461
|
-
const varName = expr.object
|
|
462
|
-
|
|
463
|
-
const propName = expr.property
|
|
464
|
-
.value;
|
|
583
|
+
const varName = expr.object.value;
|
|
584
|
+
const propName = expr.property.value;
|
|
465
585
|
const styleInfo = localCreateStyles[varName];
|
|
466
586
|
if (styleInfo && styleInfo.obj[propName]) {
|
|
467
587
|
const style = styleInfo.obj[propName];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumeria/webpack-plugin",
|
|
3
|
-
"version": "6.1
|
|
3
|
+
"version": "6.2.1",
|
|
4
4
|
"description": "Plumeria Webpack plugin",
|
|
5
5
|
"author": "Refirst 11",
|
|
6
6
|
"license": "MIT",
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
"zero-virtual.css"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@plumeria/utils": "^6.1
|
|
25
|
+
"@plumeria/utils": "^6.2.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"@swc/core": "1.15.8",
|
|
29
29
|
"webpack": "5.101.0",
|
|
30
|
-
"zss-engine": "2.
|
|
30
|
+
"zss-engine": "2.2.0"
|
|
31
31
|
},
|
|
32
32
|
"publishConfig": {
|
|
33
33
|
"access": "public",
|