@plumeria/turbopack-loader 6.2.1 → 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 +51 -38
  2. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -142,6 +142,11 @@ async function loader(source) {
142
142
  const mergedCreateThemeHashTable = {};
143
143
  for (const key of Object.keys(scannedTables.createThemeHashTable)) {
144
144
  mergedCreateThemeHashTable[key] = scannedTables.createThemeHashTable[key];
145
+ if (key.startsWith(`${resourcePath}-`)) {
146
+ const varName = key.slice(resourcePath.length + 1);
147
+ mergedCreateThemeHashTable[varName] =
148
+ scannedTables.createThemeHashTable[key];
149
+ }
145
150
  }
146
151
  for (const key of Object.keys(createThemeImportMap)) {
147
152
  mergedCreateThemeHashTable[key] = createThemeImportMap[key];
@@ -149,6 +154,11 @@ async function loader(source) {
149
154
  const mergedCreateStaticHashTable = {};
150
155
  for (const key of Object.keys(scannedTables.createStaticHashTable)) {
151
156
  mergedCreateStaticHashTable[key] = scannedTables.createStaticHashTable[key];
157
+ if (key.startsWith(`${resourcePath}-`)) {
158
+ const varName = key.slice(resourcePath.length + 1);
159
+ mergedCreateStaticHashTable[varName] =
160
+ scannedTables.createStaticHashTable[key];
161
+ }
152
162
  }
153
163
  for (const key of Object.keys(createStaticImportMap)) {
154
164
  mergedCreateStaticHashTable[key] = createStaticImportMap[key];
@@ -244,6 +254,9 @@ async function loader(source) {
244
254
  }
245
255
  else if (propName === 'variants' &&
246
256
  utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
257
+ if (utils_1.t.isIdentifier(node.id)) {
258
+ idSpans.add(node.id.span.start);
259
+ }
247
260
  const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable, (name) => {
248
261
  if (localCreateStyles[name]) {
249
262
  return localCreateStyles[name].obj;
@@ -272,6 +285,32 @@ async function loader(source) {
272
285
  },
273
286
  };
274
287
  }
288
+ else if (propName === 'createTheme' &&
289
+ utils_1.t.isObjectExpression(node.init.arguments[0].expression)) {
290
+ if (utils_1.t.isIdentifier(node.id)) {
291
+ idSpans.add(node.id.span.start);
292
+ }
293
+ const obj = (0, utils_1.objectExpressionToObject)(node.init.arguments[0].expression, mergedStaticTable, mergedKeyframesTable, mergedViewTransitionTable, mergedCreateThemeHashTable, scannedTables.createThemeObjectTable, mergedCreateTable, mergedCreateStaticHashTable, scannedTables.createStaticObjectTable, mergedVariantsTable);
294
+ const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
295
+ const uniqueKey = `${resourcePath}-${node.id.value}`;
296
+ scannedTables.createThemeHashTable[uniqueKey] = hash;
297
+ scannedTables.createThemeObjectTable[hash] = obj;
298
+ localCreateStyles[node.id.value] = {
299
+ name: node.id.value,
300
+ type: 'constant',
301
+ obj,
302
+ hashMap: scannedTables.createAtomicMapTable[hash],
303
+ isExported,
304
+ initSpan: {
305
+ start: node.init.span.start - ast.span.start,
306
+ end: node.init.span.end - ast.span.start,
307
+ },
308
+ declSpan: {
309
+ start: declSpan.start - ast.span.start,
310
+ end: declSpan.end - ast.span.start,
311
+ },
312
+ };
313
+ }
275
314
  }
276
315
  };
277
316
  (0, utils_1.traverse)(ast, {
@@ -345,7 +384,6 @@ async function loader(source) {
345
384
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
346
385
  scannedTables.viewTransitionObjectTable[hash] = obj;
347
386
  if (!isProduction) {
348
- (0, utils_1.extractOndemandStyles)(obj, extractedSheets, scannedTables);
349
387
  (0, utils_1.extractOndemandStyles)({ vt: `vt-${hash}` }, extractedSheets, scannedTables);
350
388
  }
351
389
  replacements.push({
@@ -396,7 +434,7 @@ async function loader(source) {
396
434
  if (utils_1.t.isIdentifier(node.object) && utils_1.t.isIdentifier(node.property)) {
397
435
  const varName = node.object.value;
398
436
  const propName = node.property.value;
399
- const uniqueKey = `${this.resourcePath}-${varName}`;
437
+ const uniqueKey = `${resourcePath}-${varName}`;
400
438
  let hash = scannedTables.createHashTable[uniqueKey];
401
439
  if (!hash) {
402
440
  hash = mergedCreateTable[varName];
@@ -419,13 +457,12 @@ async function loader(source) {
419
457
  themeHash = mergedCreateThemeHashTable[varName];
420
458
  }
421
459
  if (themeHash) {
422
- const themeObj = scannedTables.createThemeObjectTable[themeHash];
423
- if (themeObj && themeObj[propName] !== undefined) {
424
- const cssVarName = (0, zss_engine_1.camelToKebabCase)(propName);
460
+ const atomicMap = scannedTables.createAtomicMapTable[themeHash];
461
+ if (atomicMap && atomicMap && atomicMap[propName]) {
425
462
  replacements.push({
426
463
  start: node.span.start - ast.span.start,
427
464
  end: node.span.end - ast.span.start,
428
- content: JSON.stringify(`var(--${cssVarName})`),
465
+ content: JSON.stringify(atomicMap[propName]),
429
466
  });
430
467
  }
431
468
  }
@@ -460,7 +497,7 @@ async function loader(source) {
460
497
  return;
461
498
  }
462
499
  const varName = node.value;
463
- const uniqueKey = `${this.resourcePath}-${varName}`;
500
+ const uniqueKey = `${resourcePath}-${varName}`;
464
501
  let hash = scannedTables.createHashTable[uniqueKey];
465
502
  if (!hash) {
466
503
  hash = mergedCreateTable[varName];
@@ -482,46 +519,19 @@ async function loader(source) {
482
519
  });
483
520
  }
484
521
  }
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
522
  let themeHash = scannedTables.createThemeHashTable[uniqueKey];
510
523
  if (!themeHash) {
511
524
  themeHash = mergedCreateThemeHashTable[varName];
512
525
  }
513
526
  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
- });
527
+ const atomicMap = scannedTables.createAtomicMapTable[themeHash];
528
+ if (atomicMap) {
520
529
  replacements.push({
521
530
  start: node.span.start - ast.span.start,
522
531
  end: node.span.end - ast.span.start,
523
- content: JSON.stringify(themeVars),
532
+ content: JSON.stringify(atomicMap),
524
533
  });
534
+ return;
525
535
  }
526
536
  }
527
537
  let staticHash = scannedTables.createStaticHashTable[uniqueKey];
@@ -838,6 +848,9 @@ async function loader(source) {
838
848
  },
839
849
  });
840
850
  Object.values(localCreateStyles).forEach((info) => {
851
+ if (info.type === 'constant' || info.type === 'variant') {
852
+ return;
853
+ }
841
854
  if (info.isExported) {
842
855
  replacements.push({
843
856
  start: info.declSpan.start,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/turbopack-loader",
3
- "version": "6.2.1",
3
+ "version": "6.3.0",
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.1"
25
+ "@plumeria/utils": "^6.3.0"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@swc/core": "1.15.8",