@plumeria/utils 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.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export type { CSSObject, FileStyles, StaticTable, KeyframesHashTable, KeyframesObjectTable, ViewTransitionHashTable, ViewTransitionObjectTable, CreateThemeObjectTable, CreateHashTable, CreateObjectTable, VariantsHashTable, VariantsObjectTable, CreateThemeHashTable, CreateStaticHashTable, CreateStaticObjectTable, } from './types';
2
2
  export { objectExpressionToObject, collectLocalConsts, traverse, t, extractOndemandStyles, deepMerge, scanAll, } from './parser';
3
3
  export { getStyleRecords } from './create';
4
+ export { createTheme } from './createTheme';
4
5
  export type { StyleRecord } from './create';
5
6
  export { resolveImportPath } from './resolver';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveImportPath = exports.getStyleRecords = exports.scanAll = exports.deepMerge = exports.extractOndemandStyles = exports.t = exports.traverse = exports.collectLocalConsts = exports.objectExpressionToObject = void 0;
3
+ exports.resolveImportPath = exports.createTheme = exports.getStyleRecords = exports.scanAll = exports.deepMerge = exports.extractOndemandStyles = exports.t = exports.traverse = exports.collectLocalConsts = exports.objectExpressionToObject = void 0;
4
4
  var parser_1 = require("./parser");
5
5
  Object.defineProperty(exports, "objectExpressionToObject", { enumerable: true, get: function () { return parser_1.objectExpressionToObject; } });
6
6
  Object.defineProperty(exports, "collectLocalConsts", { enumerable: true, get: function () { return parser_1.collectLocalConsts; } });
@@ -11,5 +11,7 @@ Object.defineProperty(exports, "deepMerge", { enumerable: true, get: function ()
11
11
  Object.defineProperty(exports, "scanAll", { enumerable: true, get: function () { return parser_1.scanAll; } });
12
12
  var create_1 = require("./create");
13
13
  Object.defineProperty(exports, "getStyleRecords", { enumerable: true, get: function () { return create_1.getStyleRecords; } });
14
+ var createTheme_1 = require("./createTheme");
15
+ Object.defineProperty(exports, "createTheme", { enumerable: true, get: function () { return createTheme_1.createTheme; } });
14
16
  var resolver_1 = require("./resolver");
15
17
  Object.defineProperty(exports, "resolveImportPath", { enumerable: true, get: function () { return resolver_1.resolveImportPath; } });
package/dist/parser.js CHANGED
@@ -227,6 +227,9 @@ function getPropertyKey(node, staticTable, keyframesHashTable, viewTransitionHas
227
227
  const staticResult = resolveCreateStaticTableMemberExpression(expr, createStaticHashTable, createStaticObjectTable);
228
228
  if (typeof staticResult === 'string')
229
229
  return staticResult;
230
+ const themeResult = resolveCreateThemeTableMemberExpressionByNode(expr, createThemeHashTable, createThemeObjectTable);
231
+ if (typeof themeResult === 'string')
232
+ return themeResult;
230
233
  }
231
234
  if (exports.t.isTemplateLiteral(expr)) {
232
235
  return evaluateTemplateLiteral(expr, staticTable, keyframesHashTable, viewTransitionHashTable, createThemeHashTable, createThemeObjectTable, createStaticHashTable, createStaticObjectTable);
@@ -453,18 +456,8 @@ function scanAll() {
453
456
  extractedSheet: '',
454
457
  };
455
458
  const files = fs_1.default.globSync(PATTERN_PATH, GLOB_OPTIONS);
456
- files.sort((a, b) => {
457
- const aPriority = a.includes('/lib/') || a.includes('/utils/') || a.includes('/common/')
458
- ? 0
459
- : 1;
460
- const bPriority = b.includes('/lib/') || b.includes('/utils/') || b.includes('/common/')
461
- ? 0
462
- : 1;
463
- if (aPriority !== bPriority)
464
- return aPriority - bPriority;
465
- return a.localeCompare(b);
466
- });
467
459
  const totalExtractedSheets = [];
460
+ const currentScanThemeObjectTable = {};
468
461
  for (let passNumber = 1; passNumber <= 2; passNumber++) {
469
462
  const isFirstPass = passNumber === 1;
470
463
  for (const filePath of files) {
@@ -500,6 +493,8 @@ function scanAll() {
500
493
  for (const key of Object.keys(cached.createThemeObjectTable)) {
501
494
  localTables.createThemeObjectTable[key] =
502
495
  cached.createThemeObjectTable[key];
496
+ currentScanThemeObjectTable[key] =
497
+ cached.createThemeObjectTable[key];
503
498
  }
504
499
  for (const key of Object.keys(cached.createStaticHashTable)) {
505
500
  localTables.createStaticHashTable[`${filePath}-${key}`] =
@@ -625,10 +620,6 @@ function scanAll() {
625
620
  if (localTables.createThemeHashTable[uniqueKey]) {
626
621
  const hash = localTables.createThemeHashTable[uniqueKey];
627
622
  localCreateThemeHashTable[localName] = hash;
628
- if (localTables.createThemeObjectTable[hash]) {
629
- localCreateThemeObjectTable[hash] =
630
- localTables.createThemeObjectTable[hash];
631
- }
632
623
  }
633
624
  }
634
625
  });
@@ -724,7 +715,6 @@ function scanAll() {
724
715
  localTables.viewTransitionObjectTable[hash] = obj;
725
716
  localViewTransitionObjectTable[hash] = obj;
726
717
  if (!isProduction) {
727
- extractOndemandStyles(obj, fileExtractedSheets, localTables);
728
718
  extractOndemandStyles({ vt: `vt-${hash}` }, fileExtractedSheets, localTables);
729
719
  }
730
720
  }
@@ -734,6 +724,13 @@ function scanAll() {
734
724
  localCreateThemeObjectTable[hash] = obj;
735
725
  localCreateThemeHashTable[name] = hash;
736
726
  localTables.createThemeHashTable[uniqueKey] = hash;
727
+ currentScanThemeObjectTable[hash] = obj;
728
+ const hashMap = {};
729
+ for (const [key] of Object.entries(obj)) {
730
+ const cssVarName = (0, zss_engine_1.camelToKebabCase)(key);
731
+ hashMap[key] = `var(--${cssVarName})`;
732
+ }
733
+ localTables.createAtomicMapTable[hash] = hashMap;
737
734
  }
738
735
  else if (method === 'create') {
739
736
  const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
@@ -747,14 +744,12 @@ function scanAll() {
747
744
  const atomMap = {};
748
745
  records.forEach((r) => (atomMap[r.key] = r.hash));
749
746
  hashMap[key] = atomMap;
750
- if (!isProduction) {
751
- extractOndemandStyles(style, fileExtractedSheets, localTables);
752
- records.forEach((r) => {
753
- if (!fileExtractedSheets.includes(r.sheet)) {
754
- fileExtractedSheets.push(r.sheet);
755
- }
756
- });
757
- }
747
+ extractOndemandStyles(style, fileExtractedSheets, localTables);
748
+ records.forEach((r) => {
749
+ if (!fileExtractedSheets.includes(r.sheet)) {
750
+ fileExtractedSheets.push(r.sheet);
751
+ }
752
+ });
758
753
  });
759
754
  localCreateAtomicMapTable[hash] = hashMap;
760
755
  localTables.createAtomicMapTable[hash] = hashMap;
@@ -828,7 +823,7 @@ function extractOndemandStyles(obj, extractedSheets, t) {
828
823
  else if (val.startsWith('cr-')) {
829
824
  createHashes.add(val.slice(3));
830
825
  }
831
- else if (!needsTheme && val.includes('var(--')) {
826
+ else if (val.includes('var(--')) {
832
827
  needsTheme = true;
833
828
  }
834
829
  }
package/dist/resolver.js CHANGED
@@ -20,7 +20,7 @@ function getTsConfig(startDir) {
20
20
  };
21
21
  }
22
22
  while (currentDir !== path_1.default.parse(currentDir).root) {
23
- const tsConfigPath = path_1.default.join(currentDir, 'tsconfig.json');
23
+ const tsConfigPath = path_1.default.join(process.cwd(), 'tsconfig.json');
24
24
  if (fs_1.default.existsSync(tsConfigPath)) {
25
25
  if (!tsConfigCache.has(tsConfigPath)) {
26
26
  try {
@@ -34,7 +34,7 @@ function getTsConfig(startDir) {
34
34
  tsConfigPathCache.set(startDir, tsConfigPath);
35
35
  return {
36
36
  config: tsConfigCache.get(tsConfigPath) ?? null,
37
- basePath: currentDir,
37
+ basePath: path_1.default.dirname(tsConfigPath),
38
38
  };
39
39
  }
40
40
  currentDir = path_1.default.dirname(currentDir);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/utils",
3
- "version": "6.2.1",
3
+ "version": "6.3.0",
4
4
  "description": "Plumeria Utils",
5
5
  "author": "Refirst 11",
6
6
  "license": "MIT",