@plumeria/compiler 6.2.0 → 6.3.0
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 +49 -14
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -74,9 +74,6 @@ function compileCSS(options) {
|
|
|
74
74
|
importMap[localName] =
|
|
75
75
|
scannedTables.viewTransitionHashTable[uniqueKey];
|
|
76
76
|
}
|
|
77
|
-
if (scannedTables.themeTable[uniqueKey]) {
|
|
78
|
-
importMap[localName] = scannedTables.themeTable[uniqueKey];
|
|
79
|
-
}
|
|
80
77
|
if (scannedTables.createHashTable[uniqueKey]) {
|
|
81
78
|
importMap[localName] = scannedTables.createHashTable[uniqueKey];
|
|
82
79
|
}
|
|
@@ -84,6 +81,14 @@ function compileCSS(options) {
|
|
|
84
81
|
importMap[localName] =
|
|
85
82
|
scannedTables.variantsHashTable[uniqueKey];
|
|
86
83
|
}
|
|
84
|
+
if (scannedTables.createThemeHashTable[uniqueKey]) {
|
|
85
|
+
importMap[localName] =
|
|
86
|
+
scannedTables.createThemeHashTable[uniqueKey];
|
|
87
|
+
}
|
|
88
|
+
if (scannedTables.createStaticHashTable[uniqueKey]) {
|
|
89
|
+
importMap[localName] =
|
|
90
|
+
scannedTables.createStaticHashTable[uniqueKey];
|
|
91
|
+
}
|
|
87
92
|
}
|
|
88
93
|
});
|
|
89
94
|
}
|
|
@@ -114,12 +119,20 @@ function compileCSS(options) {
|
|
|
114
119
|
for (const key of Object.keys(importMap)) {
|
|
115
120
|
mergedViewTransitionTable[key] = importMap[key];
|
|
116
121
|
}
|
|
117
|
-
const
|
|
118
|
-
for (const key of Object.keys(scannedTables.
|
|
119
|
-
|
|
122
|
+
const mergedCreateThemeHashTable = {};
|
|
123
|
+
for (const key of Object.keys(scannedTables.createThemeHashTable)) {
|
|
124
|
+
mergedCreateThemeHashTable[key] = scannedTables.createThemeHashTable[key];
|
|
120
125
|
}
|
|
121
126
|
for (const key of Object.keys(importMap)) {
|
|
122
|
-
|
|
127
|
+
mergedCreateThemeHashTable[key] = importMap[key];
|
|
128
|
+
}
|
|
129
|
+
const mergedCreateStaticHashTable = {};
|
|
130
|
+
for (const key of Object.keys(scannedTables.createStaticHashTable)) {
|
|
131
|
+
mergedCreateStaticHashTable[key] =
|
|
132
|
+
scannedTables.createStaticHashTable[key];
|
|
133
|
+
}
|
|
134
|
+
for (const key of Object.keys(importMap)) {
|
|
135
|
+
mergedCreateStaticHashTable[key] = importMap[key];
|
|
123
136
|
}
|
|
124
137
|
const mergedCreateTable = {};
|
|
125
138
|
for (const key of Object.keys(scannedTables.createHashTable)) {
|
|
@@ -169,7 +182,17 @@ function compileCSS(options) {
|
|
|
169
182
|
}
|
|
170
183
|
};
|
|
171
184
|
if (propName === 'create') {
|
|
172
|
-
const
|
|
185
|
+
const resolveVariable = (name) => {
|
|
186
|
+
if (localCreateStyles[name]) {
|
|
187
|
+
return localCreateStyles[name].obj;
|
|
188
|
+
}
|
|
189
|
+
if (mergedCreateThemeHashTable[name]) {
|
|
190
|
+
const themeHash = mergedCreateThemeHashTable[name];
|
|
191
|
+
return scannedTables.createAtomicMapTable[themeHash];
|
|
192
|
+
}
|
|
193
|
+
return undefined;
|
|
194
|
+
};
|
|
195
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable, resolveVariable);
|
|
173
196
|
if (obj) {
|
|
174
197
|
localCreateStyles[node.id.value] = { type: 'create', obj };
|
|
175
198
|
Object.entries(obj).forEach(([key, style]) => {
|
|
@@ -182,11 +205,22 @@ function compileCSS(options) {
|
|
|
182
205
|
}
|
|
183
206
|
}
|
|
184
207
|
else if (propName === 'variants') {
|
|
185
|
-
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
208
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable, resolveVariable);
|
|
186
209
|
if (obj) {
|
|
187
210
|
localCreateStyles[node.id.value] = { type: 'variant', obj };
|
|
188
211
|
}
|
|
189
212
|
}
|
|
213
|
+
else if (propName === 'createTheme') {
|
|
214
|
+
const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
215
|
+
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
216
|
+
const uniqueKey = `${resourcePath}-${node.id.value}`;
|
|
217
|
+
scannedTables.createThemeHashTable[uniqueKey] = hash;
|
|
218
|
+
scannedTables.createThemeObjectTable[hash] = obj;
|
|
219
|
+
localCreateStyles[node.id.value] = {
|
|
220
|
+
type: 'create',
|
|
221
|
+
obj: scannedTables.createAtomicMapTable[hash],
|
|
222
|
+
};
|
|
223
|
+
}
|
|
190
224
|
}
|
|
191
225
|
}
|
|
192
226
|
},
|
|
@@ -215,7 +249,7 @@ function compileCSS(options) {
|
|
|
215
249
|
const extractStylesFromExpression = (expr) => {
|
|
216
250
|
const results = [];
|
|
217
251
|
if (utils_1.t.isObjectExpression(expr)) {
|
|
218
|
-
const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
252
|
+
const obj = (0, utils_1.objectExpressionToObject)(expr, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
219
253
|
if (obj)
|
|
220
254
|
results.push(obj);
|
|
221
255
|
}
|
|
@@ -443,25 +477,26 @@ function compileCSS(options) {
|
|
|
443
477
|
else if (propName === 'keyframes' &&
|
|
444
478
|
args.length > 0 &&
|
|
445
479
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
446
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
480
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
447
481
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
482
|
+
(0, utils_1.extractOndemandStyles)({ kf: `kf-${hash}` }, extractedSheets, scannedTables);
|
|
448
483
|
scannedTables.keyframesObjectTable[hash] = obj;
|
|
449
484
|
}
|
|
450
485
|
else if (propName === 'viewTransition' &&
|
|
451
486
|
args.length > 0 &&
|
|
452
487
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
453
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
488
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
454
489
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
455
490
|
scannedTables.viewTransitionObjectTable[hash] = obj;
|
|
456
|
-
(0, utils_1.extractOndemandStyles)(obj, extractedSheets, scannedTables);
|
|
457
491
|
(0, utils_1.extractOndemandStyles)({ vt: `vt-${hash}` }, extractedSheets, scannedTables);
|
|
458
492
|
}
|
|
459
493
|
else if (propName === 'createTheme' &&
|
|
460
494
|
args.length > 0 &&
|
|
461
495
|
utils_1.t.isObjectExpression(args[0].expression)) {
|
|
462
|
-
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable,
|
|
496
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
|
|
463
497
|
const themeHash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
464
498
|
scannedTables.createThemeObjectTable[themeHash] = obj;
|
|
499
|
+
(0, utils_1.extractOndemandStyles)(obj, extractedSheets, scannedTables);
|
|
465
500
|
}
|
|
466
501
|
}
|
|
467
502
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumeria/compiler",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.3.0",
|
|
4
4
|
"description": "Plumeria swc based compiler for statically extracting css",
|
|
5
5
|
"author": "Refirst 11",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist/"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@plumeria/utils": "^6.
|
|
24
|
+
"@plumeria/utils": "^6.3.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@swc/core": "1.15.8",
|