@pandacss/config 0.31.0 → 0.32.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/{chunk-XG56JT63.mjs → chunk-MT2A5AKG.mjs} +75 -1
- package/dist/index.js +84 -10
- package/dist/index.mjs +7 -7
- package/dist/merge-config.js +75 -1
- package/dist/merge-config.mjs +1 -1
- package/package.json +6 -6
|
@@ -1,6 +1,74 @@
|
|
|
1
1
|
// src/merge-config.ts
|
|
2
2
|
import { mergeAndConcat } from "merge-anything";
|
|
3
3
|
|
|
4
|
+
// src/merge-hooks.ts
|
|
5
|
+
import { logger } from "@pandacss/logger";
|
|
6
|
+
var mergeHooks = (plugins) => {
|
|
7
|
+
const hooksFns = {};
|
|
8
|
+
plugins.forEach(({ name, hooks }) => {
|
|
9
|
+
Object.entries(hooks ?? {}).forEach(([key, value]) => {
|
|
10
|
+
if (!hooksFns[key]) {
|
|
11
|
+
hooksFns[key] = [];
|
|
12
|
+
}
|
|
13
|
+
hooksFns[key].push([name, value]);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
const mergedHooks = Object.fromEntries(
|
|
17
|
+
Object.entries(hooksFns).map(([key, entries]) => {
|
|
18
|
+
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
19
|
+
if (key === "cssgen:done") {
|
|
20
|
+
return [key, reducers["cssgen:done"](fns)];
|
|
21
|
+
}
|
|
22
|
+
if (key === "codegen:prepare") {
|
|
23
|
+
return [key, reducers["codegen:prepare"](fns)];
|
|
24
|
+
}
|
|
25
|
+
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
26
|
+
})
|
|
27
|
+
);
|
|
28
|
+
return mergedHooks;
|
|
29
|
+
};
|
|
30
|
+
var reducers = {
|
|
31
|
+
"cssgen:done": (fns) => (args) => {
|
|
32
|
+
let content = args.content;
|
|
33
|
+
for (const hookFn of fns) {
|
|
34
|
+
const result = hookFn({ ...args, content, original: args.content });
|
|
35
|
+
if (result !== void 0) {
|
|
36
|
+
content = result;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return content;
|
|
40
|
+
},
|
|
41
|
+
"codegen:prepare": (fns) => (args) => {
|
|
42
|
+
let artifacts = args.artifacts;
|
|
43
|
+
for (const hookFn of fns) {
|
|
44
|
+
const result = hookFn({ ...args, artifacts, original: args.artifacts });
|
|
45
|
+
if (result) {
|
|
46
|
+
artifacts = result;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return artifacts;
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var syncHooks = ["context:created", "parser:before", "parser:after", "cssgen:done"];
|
|
53
|
+
var callAllAsync = (...fns) => async (...a) => {
|
|
54
|
+
for (const fn of fns) {
|
|
55
|
+
await fn?.(...a);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
var callAll = (...fns) => (...a) => {
|
|
59
|
+
fns.forEach((fn) => fn?.(...a));
|
|
60
|
+
};
|
|
61
|
+
var tryCatch = (name, fn) => {
|
|
62
|
+
return (...args) => {
|
|
63
|
+
try {
|
|
64
|
+
return fn(...args);
|
|
65
|
+
} catch (e) {
|
|
66
|
+
logger.error("hooks", `The error below comes from the plugin ${name}`);
|
|
67
|
+
console.error(e);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
4
72
|
// src/utils.ts
|
|
5
73
|
import { traverse } from "@pandacss/shared";
|
|
6
74
|
var isObject = (v) => Object.prototype.toString.call(v) === "[object Object]";
|
|
@@ -87,6 +155,11 @@ var compact = (obj) => {
|
|
|
87
155
|
}, {});
|
|
88
156
|
};
|
|
89
157
|
function mergeConfigs(configs) {
|
|
158
|
+
const [userConfig] = configs;
|
|
159
|
+
const pluginHooks = userConfig.plugins ?? [];
|
|
160
|
+
if (userConfig.hooks) {
|
|
161
|
+
pluginHooks.push({ name: "__panda.config__", hooks: userConfig.hooks });
|
|
162
|
+
}
|
|
90
163
|
const mergedResult = assign(
|
|
91
164
|
{
|
|
92
165
|
conditions: mergeExtensions(configs.map((config) => config.conditions ?? {})),
|
|
@@ -94,7 +167,8 @@ function mergeConfigs(configs) {
|
|
|
94
167
|
patterns: mergeExtensions(configs.map((config) => config.patterns ?? {})),
|
|
95
168
|
utilities: mergeExtensions(configs.map((config) => config.utilities ?? {})),
|
|
96
169
|
globalCss: mergeExtensions(configs.map((config) => config.globalCss ?? {})),
|
|
97
|
-
staticCss: mergeExtensions(configs.map((config) => config.staticCss ?? {}))
|
|
170
|
+
staticCss: mergeExtensions(configs.map((config) => config.staticCss ?? {})),
|
|
171
|
+
hooks: mergeHooks(pluginHooks)
|
|
98
172
|
},
|
|
99
173
|
...configs
|
|
100
174
|
);
|
package/dist/index.js
CHANGED
|
@@ -376,6 +376,74 @@ function getConfigDependencies(filePath, tsOptions = { pathMappings: [] }, compi
|
|
|
376
376
|
// src/merge-config.ts
|
|
377
377
|
var import_merge_anything = require("merge-anything");
|
|
378
378
|
|
|
379
|
+
// src/merge-hooks.ts
|
|
380
|
+
var import_logger2 = require("@pandacss/logger");
|
|
381
|
+
var mergeHooks = (plugins) => {
|
|
382
|
+
const hooksFns = {};
|
|
383
|
+
plugins.forEach(({ name, hooks }) => {
|
|
384
|
+
Object.entries(hooks ?? {}).forEach(([key, value]) => {
|
|
385
|
+
if (!hooksFns[key]) {
|
|
386
|
+
hooksFns[key] = [];
|
|
387
|
+
}
|
|
388
|
+
hooksFns[key].push([name, value]);
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
const mergedHooks = Object.fromEntries(
|
|
392
|
+
Object.entries(hooksFns).map(([key, entries]) => {
|
|
393
|
+
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
394
|
+
if (key === "cssgen:done") {
|
|
395
|
+
return [key, reducers["cssgen:done"](fns)];
|
|
396
|
+
}
|
|
397
|
+
if (key === "codegen:prepare") {
|
|
398
|
+
return [key, reducers["codegen:prepare"](fns)];
|
|
399
|
+
}
|
|
400
|
+
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
401
|
+
})
|
|
402
|
+
);
|
|
403
|
+
return mergedHooks;
|
|
404
|
+
};
|
|
405
|
+
var reducers = {
|
|
406
|
+
"cssgen:done": (fns) => (args) => {
|
|
407
|
+
let content = args.content;
|
|
408
|
+
for (const hookFn of fns) {
|
|
409
|
+
const result = hookFn({ ...args, content, original: args.content });
|
|
410
|
+
if (result !== void 0) {
|
|
411
|
+
content = result;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
return content;
|
|
415
|
+
},
|
|
416
|
+
"codegen:prepare": (fns) => (args) => {
|
|
417
|
+
let artifacts = args.artifacts;
|
|
418
|
+
for (const hookFn of fns) {
|
|
419
|
+
const result = hookFn({ ...args, artifacts, original: args.artifacts });
|
|
420
|
+
if (result) {
|
|
421
|
+
artifacts = result;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
return artifacts;
|
|
425
|
+
}
|
|
426
|
+
};
|
|
427
|
+
var syncHooks = ["context:created", "parser:before", "parser:after", "cssgen:done"];
|
|
428
|
+
var callAllAsync = (...fns) => async (...a) => {
|
|
429
|
+
for (const fn of fns) {
|
|
430
|
+
await fn?.(...a);
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
var callAll = (...fns) => (...a) => {
|
|
434
|
+
fns.forEach((fn) => fn?.(...a));
|
|
435
|
+
};
|
|
436
|
+
var tryCatch = (name, fn) => {
|
|
437
|
+
return (...args) => {
|
|
438
|
+
try {
|
|
439
|
+
return fn(...args);
|
|
440
|
+
} catch (e) {
|
|
441
|
+
import_logger2.logger.error("hooks", `The error below comes from the plugin ${name}`);
|
|
442
|
+
console.error(e);
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
};
|
|
446
|
+
|
|
379
447
|
// src/utils.ts
|
|
380
448
|
var import_shared4 = require("@pandacss/shared");
|
|
381
449
|
var isObject = (v) => Object.prototype.toString.call(v) === "[object Object]";
|
|
@@ -462,6 +530,11 @@ var compact = (obj) => {
|
|
|
462
530
|
}, {});
|
|
463
531
|
};
|
|
464
532
|
function mergeConfigs(configs2) {
|
|
533
|
+
const [userConfig] = configs2;
|
|
534
|
+
const pluginHooks = userConfig.plugins ?? [];
|
|
535
|
+
if (userConfig.hooks) {
|
|
536
|
+
pluginHooks.push({ name: "__panda.config__", hooks: userConfig.hooks });
|
|
537
|
+
}
|
|
465
538
|
const mergedResult = assign(
|
|
466
539
|
{
|
|
467
540
|
conditions: mergeExtensions(configs2.map((config) => config.conditions ?? {})),
|
|
@@ -469,7 +542,8 @@ function mergeConfigs(configs2) {
|
|
|
469
542
|
patterns: mergeExtensions(configs2.map((config) => config.patterns ?? {})),
|
|
470
543
|
utilities: mergeExtensions(configs2.map((config) => config.utilities ?? {})),
|
|
471
544
|
globalCss: mergeExtensions(configs2.map((config) => config.globalCss ?? {})),
|
|
472
|
-
staticCss: mergeExtensions(configs2.map((config) => config.staticCss ?? {}))
|
|
545
|
+
staticCss: mergeExtensions(configs2.map((config) => config.staticCss ?? {})),
|
|
546
|
+
hooks: mergeHooks(pluginHooks)
|
|
473
547
|
},
|
|
474
548
|
...configs2
|
|
475
549
|
);
|
|
@@ -496,7 +570,7 @@ async function getResolvedConfig(config, cwd) {
|
|
|
496
570
|
}
|
|
497
571
|
|
|
498
572
|
// src/resolve-config.ts
|
|
499
|
-
var
|
|
573
|
+
var import_logger4 = require("@pandacss/logger");
|
|
500
574
|
var import_shared8 = require("@pandacss/shared");
|
|
501
575
|
|
|
502
576
|
// src/bundled-preset.ts
|
|
@@ -514,7 +588,7 @@ var getBundledPreset = (preset) => {
|
|
|
514
588
|
};
|
|
515
589
|
|
|
516
590
|
// src/validate-config.ts
|
|
517
|
-
var
|
|
591
|
+
var import_logger3 = require("@pandacss/logger");
|
|
518
592
|
var import_shared7 = require("@pandacss/shared");
|
|
519
593
|
|
|
520
594
|
// src/validation/validate-artifact.ts
|
|
@@ -743,7 +817,7 @@ ${Array.from(warnings).map((err) => "- " + err).join("\n")}
|
|
|
743
817
|
if (config.validation === "error") {
|
|
744
818
|
throw new import_shared7.PandaError("CONFIG_ERROR", errors);
|
|
745
819
|
}
|
|
746
|
-
|
|
820
|
+
import_logger3.logger.warn("config", errors);
|
|
747
821
|
return warnings;
|
|
748
822
|
}
|
|
749
823
|
};
|
|
@@ -762,15 +836,15 @@ async function resolveConfig(result, cwd) {
|
|
|
762
836
|
presets.add(import_preset_panda.preset);
|
|
763
837
|
}
|
|
764
838
|
result.config.presets = Array.from(presets);
|
|
765
|
-
const
|
|
766
|
-
|
|
767
|
-
|
|
839
|
+
const mergedConfig = await getResolvedConfig(result.config, cwd);
|
|
840
|
+
const hooks = mergedConfig.hooks ?? {};
|
|
841
|
+
if (mergedConfig.logLevel) {
|
|
842
|
+
import_logger4.logger.level = mergedConfig.logLevel;
|
|
768
843
|
}
|
|
769
|
-
validateConfig(
|
|
770
|
-
const { hooks = {} } = result.config;
|
|
844
|
+
validateConfig(mergedConfig);
|
|
771
845
|
const loadConfigResult = {
|
|
772
846
|
...result,
|
|
773
|
-
config
|
|
847
|
+
config: mergedConfig
|
|
774
848
|
};
|
|
775
849
|
if (hooks["config:resolved"]) {
|
|
776
850
|
const result2 = await hooks["config:resolved"]({
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
mergeConfigs,
|
|
3
3
|
utils
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MT2A5AKG.mjs";
|
|
5
5
|
import {
|
|
6
6
|
diffConfigs
|
|
7
7
|
} from "./chunk-5YOGLJPA.mjs";
|
|
@@ -480,15 +480,15 @@ async function resolveConfig(result, cwd) {
|
|
|
480
480
|
presets.add(presetPanda);
|
|
481
481
|
}
|
|
482
482
|
result.config.presets = Array.from(presets);
|
|
483
|
-
const
|
|
484
|
-
|
|
485
|
-
|
|
483
|
+
const mergedConfig = await getResolvedConfig(result.config, cwd);
|
|
484
|
+
const hooks = mergedConfig.hooks ?? {};
|
|
485
|
+
if (mergedConfig.logLevel) {
|
|
486
|
+
logger3.level = mergedConfig.logLevel;
|
|
486
487
|
}
|
|
487
|
-
validateConfig(
|
|
488
|
-
const { hooks = {} } = result.config;
|
|
488
|
+
validateConfig(mergedConfig);
|
|
489
489
|
const loadConfigResult = {
|
|
490
490
|
...result,
|
|
491
|
-
config
|
|
491
|
+
config: mergedConfig
|
|
492
492
|
};
|
|
493
493
|
if (hooks["config:resolved"]) {
|
|
494
494
|
const result2 = await hooks["config:resolved"]({
|
package/dist/merge-config.js
CHANGED
|
@@ -25,6 +25,74 @@ __export(merge_config_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(merge_config_exports);
|
|
26
26
|
var import_merge_anything = require("merge-anything");
|
|
27
27
|
|
|
28
|
+
// src/merge-hooks.ts
|
|
29
|
+
var import_logger = require("@pandacss/logger");
|
|
30
|
+
var mergeHooks = (plugins) => {
|
|
31
|
+
const hooksFns = {};
|
|
32
|
+
plugins.forEach(({ name, hooks }) => {
|
|
33
|
+
Object.entries(hooks ?? {}).forEach(([key, value]) => {
|
|
34
|
+
if (!hooksFns[key]) {
|
|
35
|
+
hooksFns[key] = [];
|
|
36
|
+
}
|
|
37
|
+
hooksFns[key].push([name, value]);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
const mergedHooks = Object.fromEntries(
|
|
41
|
+
Object.entries(hooksFns).map(([key, entries]) => {
|
|
42
|
+
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
43
|
+
if (key === "cssgen:done") {
|
|
44
|
+
return [key, reducers["cssgen:done"](fns)];
|
|
45
|
+
}
|
|
46
|
+
if (key === "codegen:prepare") {
|
|
47
|
+
return [key, reducers["codegen:prepare"](fns)];
|
|
48
|
+
}
|
|
49
|
+
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
50
|
+
})
|
|
51
|
+
);
|
|
52
|
+
return mergedHooks;
|
|
53
|
+
};
|
|
54
|
+
var reducers = {
|
|
55
|
+
"cssgen:done": (fns) => (args) => {
|
|
56
|
+
let content = args.content;
|
|
57
|
+
for (const hookFn of fns) {
|
|
58
|
+
const result = hookFn({ ...args, content, original: args.content });
|
|
59
|
+
if (result !== void 0) {
|
|
60
|
+
content = result;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return content;
|
|
64
|
+
},
|
|
65
|
+
"codegen:prepare": (fns) => (args) => {
|
|
66
|
+
let artifacts = args.artifacts;
|
|
67
|
+
for (const hookFn of fns) {
|
|
68
|
+
const result = hookFn({ ...args, artifacts, original: args.artifacts });
|
|
69
|
+
if (result) {
|
|
70
|
+
artifacts = result;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return artifacts;
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
var syncHooks = ["context:created", "parser:before", "parser:after", "cssgen:done"];
|
|
77
|
+
var callAllAsync = (...fns) => async (...a) => {
|
|
78
|
+
for (const fn of fns) {
|
|
79
|
+
await fn?.(...a);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
var callAll = (...fns) => (...a) => {
|
|
83
|
+
fns.forEach((fn) => fn?.(...a));
|
|
84
|
+
};
|
|
85
|
+
var tryCatch = (name, fn) => {
|
|
86
|
+
return (...args) => {
|
|
87
|
+
try {
|
|
88
|
+
return fn(...args);
|
|
89
|
+
} catch (e) {
|
|
90
|
+
import_logger.logger.error("hooks", `The error below comes from the plugin ${name}`);
|
|
91
|
+
console.error(e);
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
28
96
|
// src/utils.ts
|
|
29
97
|
var import_shared = require("@pandacss/shared");
|
|
30
98
|
var isObject = (v) => Object.prototype.toString.call(v) === "[object Object]";
|
|
@@ -98,6 +166,11 @@ var compact = (obj) => {
|
|
|
98
166
|
}, {});
|
|
99
167
|
};
|
|
100
168
|
function mergeConfigs(configs) {
|
|
169
|
+
const [userConfig] = configs;
|
|
170
|
+
const pluginHooks = userConfig.plugins ?? [];
|
|
171
|
+
if (userConfig.hooks) {
|
|
172
|
+
pluginHooks.push({ name: "__panda.config__", hooks: userConfig.hooks });
|
|
173
|
+
}
|
|
101
174
|
const mergedResult = assign(
|
|
102
175
|
{
|
|
103
176
|
conditions: mergeExtensions(configs.map((config) => config.conditions ?? {})),
|
|
@@ -105,7 +178,8 @@ function mergeConfigs(configs) {
|
|
|
105
178
|
patterns: mergeExtensions(configs.map((config) => config.patterns ?? {})),
|
|
106
179
|
utilities: mergeExtensions(configs.map((config) => config.utilities ?? {})),
|
|
107
180
|
globalCss: mergeExtensions(configs.map((config) => config.globalCss ?? {})),
|
|
108
|
-
staticCss: mergeExtensions(configs.map((config) => config.staticCss ?? {}))
|
|
181
|
+
staticCss: mergeExtensions(configs.map((config) => config.staticCss ?? {})),
|
|
182
|
+
hooks: mergeHooks(pluginHooks)
|
|
109
183
|
},
|
|
110
184
|
...configs
|
|
111
185
|
);
|
package/dist/merge-config.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"description": "Find and load panda config",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
"merge-anything": "5.1.7",
|
|
65
65
|
"microdiff": "1.3.2",
|
|
66
66
|
"typescript": "5.3.3",
|
|
67
|
-
"@pandacss/logger": "0.
|
|
68
|
-
"@pandacss/preset-base": "0.
|
|
69
|
-
"@pandacss/preset-panda": "0.
|
|
70
|
-
"@pandacss/shared": "0.
|
|
71
|
-
"@pandacss/types": "0.
|
|
67
|
+
"@pandacss/logger": "0.32.0",
|
|
68
|
+
"@pandacss/preset-base": "0.32.0",
|
|
69
|
+
"@pandacss/preset-panda": "0.32.0",
|
|
70
|
+
"@pandacss/shared": "0.32.0",
|
|
71
|
+
"@pandacss/types": "0.32.0"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"pkg-types": "1.0.3"
|