@plumeria/compiler 12.0.7 → 13.0.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 +37 -6
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -590,11 +590,19 @@ function compileCSS(options) {
|
|
|
590
590
|
ctx.scannedTables.viewTransitionObjectTable[hash] = obj;
|
|
591
591
|
}
|
|
592
592
|
else if (propName === 'createTheme' &&
|
|
593
|
-
args.length
|
|
594
|
-
utils_1.t.isObjectExpression(args[
|
|
595
|
-
|
|
593
|
+
args.length >= 2 &&
|
|
594
|
+
utils_1.t.isObjectExpression(args[1].expression)) {
|
|
595
|
+
let selector = '';
|
|
596
|
+
const selectorExpr = args[0].expression;
|
|
597
|
+
if (utils_1.t.isStringLiteral(selectorExpr)) {
|
|
598
|
+
selector = selectorExpr.value;
|
|
599
|
+
}
|
|
600
|
+
const obj = (0, utils_1.objectExpressionToObject)(args[1].expression, ctx.mergedStaticTable, ctx.mergedKeyframesTable, ctx.mergedViewTransitionTable, ctx.mergedCreateThemeHashTable, ctx.scannedTables.createThemeObjectTable, ctx.mergedCreateTable, ctx.mergedCreateStaticHashTable, ctx.scannedTables.createStaticObjectTable, ctx.mergedVariantsTable);
|
|
596
601
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
597
602
|
ctx.scannedTables.createThemeObjectTable[hash] = obj;
|
|
603
|
+
if (ctx.scannedTables.createThemeSelectorTable) {
|
|
604
|
+
ctx.scannedTables.createThemeSelectorTable[hash] = selector;
|
|
605
|
+
}
|
|
598
606
|
}
|
|
599
607
|
else if (propName === 'createStatic' &&
|
|
600
608
|
args.length > 0 &&
|
|
@@ -630,10 +638,18 @@ function compileCSS(options) {
|
|
|
630
638
|
else if (utils_1.t.isIdentifier(callee) && plumeriaAliases[callee.value]) {
|
|
631
639
|
pName = plumeriaAliases[callee.value];
|
|
632
640
|
}
|
|
641
|
+
const isTheme = pName === 'createTheme';
|
|
633
642
|
if (pName &&
|
|
634
|
-
node.init.arguments.length
|
|
635
|
-
|
|
636
|
-
|
|
643
|
+
node.init.arguments.length > 0 &&
|
|
644
|
+
((!isTheme &&
|
|
645
|
+
node.init.arguments.length === 1 &&
|
|
646
|
+
utils_1.t.isObjectExpression(node.init.arguments[0].expression)) ||
|
|
647
|
+
(isTheme &&
|
|
648
|
+
node.init.arguments.length >= 2 &&
|
|
649
|
+
utils_1.t.isObjectExpression(node.init.arguments[1].expression)))) {
|
|
650
|
+
const arg = isTheme
|
|
651
|
+
? node.init.arguments[1].expression
|
|
652
|
+
: node.init.arguments[0].expression;
|
|
637
653
|
const resolveVariable = (name) => ctx.localCreateStyles[name]?.obj ||
|
|
638
654
|
(ctx.mergedCreateThemeHashTable[name]
|
|
639
655
|
? ctx.scannedTables.createAtomicMapTable[ctx.mergedCreateThemeHashTable[name]]
|
|
@@ -696,11 +712,26 @@ function compileCSS(options) {
|
|
|
696
712
|
}
|
|
697
713
|
}
|
|
698
714
|
else if (pName === 'createTheme') {
|
|
715
|
+
let selector = '';
|
|
716
|
+
const selectorExpr = node.init.arguments[0].expression;
|
|
717
|
+
if (utils_1.t.isStringLiteral(selectorExpr)) {
|
|
718
|
+
selector = selectorExpr.value;
|
|
719
|
+
}
|
|
699
720
|
const obj = (0, utils_1.objectExpressionToObject)(arg, ctx.mergedStaticTable, ctx.mergedKeyframesTable, ctx.mergedViewTransitionTable, ctx.mergedCreateThemeHashTable, ctx.scannedTables.createThemeObjectTable, ctx.mergedCreateTable, ctx.mergedCreateStaticHashTable, ctx.scannedTables.createStaticObjectTable, ctx.mergedVariantsTable);
|
|
700
721
|
const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
|
|
701
722
|
const uKey = `${resourcePath}-${node.id.value}`;
|
|
702
723
|
ctx.scannedTables.createThemeHashTable[uKey] = hash;
|
|
703
724
|
ctx.scannedTables.createThemeObjectTable[hash] = obj;
|
|
725
|
+
if (ctx.scannedTables.createThemeSelectorTable) {
|
|
726
|
+
ctx.scannedTables.createThemeSelectorTable[hash] = selector;
|
|
727
|
+
}
|
|
728
|
+
const themeHashMap = {};
|
|
729
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
730
|
+
const cssVarName = (0, zss_engine_1.camelToKebabCase)(key);
|
|
731
|
+
const atomicHash = (0, zss_engine_1.genBase36Hash)({ [key]: value }, 1, 8);
|
|
732
|
+
themeHashMap[key] = `var(--${atomicHash}-${cssVarName})`;
|
|
733
|
+
}
|
|
734
|
+
ctx.scannedTables.createAtomicMapTable[hash] = themeHashMap;
|
|
704
735
|
ctx.localCreateStyles[node.id.value] = {
|
|
705
736
|
type: 'create',
|
|
706
737
|
obj: ctx.scannedTables.createAtomicMapTable[hash],
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@plumeria/compiler",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "13.0.0",
|
|
4
4
|
"description": "Plumeria swc based compiler for statically extracting css",
|
|
5
5
|
"author": "Refirst 11",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"dist/"
|
|
22
22
|
],
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@plumeria/utils": "^
|
|
24
|
+
"@plumeria/utils": "^13.0.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@rust-gear/glob": "1.0.0",
|
|
28
28
|
"@swc/core": "1.15.40",
|
|
29
|
-
"zss-engine": "2.
|
|
29
|
+
"zss-engine": "2.3.0"
|
|
30
30
|
},
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public",
|