@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.
Files changed (2) hide show
  1. package/dist/index.js +49 -14
  2. 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 mergedThemeTable = {};
118
- for (const key of Object.keys(scannedTables.themeTable)) {
119
- mergedThemeTable[key] = scannedTables.themeTable[key];
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
- mergedThemeTable[key] = importMap[key];
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 obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedThemeTable, mergedCreateTable, mergedVariantsTable, resolveVariable);
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, mergedThemeTable, mergedCreateTable, mergedVariantsTable, resolveVariable);
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, mergedThemeTable, mergedCreateTable, mergedVariantsTable);
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, mergedThemeTable, mergedCreateTable, mergedVariantsTable);
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, mergedThemeTable, mergedCreateTable, mergedVariantsTable);
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, mergedThemeTable, mergedCreateTable, mergedVariantsTable);
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.2.0",
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.2.0"
24
+ "@plumeria/utils": "^6.3.0"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@swc/core": "1.15.8",