@bamboocss/config 1.11.1 → 1.11.2
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/diff-config-Co_3mDXE.cjs +197 -0
- package/dist/diff-config-KDQWMnQN.mjs +163 -0
- package/dist/diff-config.cjs +3 -0
- package/dist/diff-config.d.cts +10 -0
- package/dist/diff-config.d.mts +10 -0
- package/dist/diff-config.mjs +2 -6
- package/dist/index.cjs +575 -0
- package/dist/index.d.cts +84 -0
- package/dist/index.d.mts +84 -0
- package/dist/index.mjs +520 -589
- package/dist/merge-config-CcNpHJit.cjs +312 -0
- package/dist/merge-config-DI__LOWx.mjs +270 -0
- package/dist/merge-config-DVOlBQJY.d.cts +16 -0
- package/dist/merge-config-oEiBYbfB.d.mts +16 -0
- package/dist/merge-config.cjs +4 -0
- package/dist/merge-config.d.cts +2 -0
- package/dist/merge-config.d.mts +2 -0
- package/dist/merge-config.mjs +2 -8
- package/dist/resolve-ts-path-pattern.cjs +21 -0
- package/dist/resolve-ts-path-pattern.d.cts +9 -0
- package/dist/resolve-ts-path-pattern.d.mts +9 -0
- package/dist/resolve-ts-path-pattern.mjs +18 -5
- package/dist/ts-config-paths-CvGId8kq.d.mts +11 -0
- package/dist/ts-config-paths-wVx39QZ0.d.cts +11 -0
- package/package.json +19 -19
- package/dist/chunk-6TQW6KOI.mjs +0 -154
- package/dist/chunk-RIBK22OM.mjs +0 -265
- package/dist/chunk-RPIVZP2I.mjs +0 -22
- package/dist/diff-config.js +0 -188
- package/dist/index.js +0 -1086
- package/dist/merge-config.js +0 -259
- package/dist/resolve-ts-path-pattern.js +0 -46
package/dist/merge-config.js
DELETED
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/merge-config.ts
|
|
21
|
-
var merge_config_exports = {};
|
|
22
|
-
__export(merge_config_exports, {
|
|
23
|
-
mergeConfigs: () => mergeConfigs,
|
|
24
|
-
mergeHooks: () => mergeHooks
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(merge_config_exports);
|
|
27
|
-
var import_shared2 = require("@bamboocss/shared");
|
|
28
|
-
|
|
29
|
-
// src/merge-hooks.ts
|
|
30
|
-
var import_logger = require("@bamboocss/logger");
|
|
31
|
-
var mergeHooks = (plugins) => {
|
|
32
|
-
const hooksFns = {};
|
|
33
|
-
plugins.forEach(({ name, hooks }) => {
|
|
34
|
-
Object.entries(hooks ?? {}).forEach(([key, value]) => {
|
|
35
|
-
if (!hooksFns[key]) {
|
|
36
|
-
hooksFns[key] = [];
|
|
37
|
-
}
|
|
38
|
-
hooksFns[key].push([name, value]);
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
const mergedHooks = Object.fromEntries(
|
|
42
|
-
Object.entries(hooksFns).map(([key, entries]) => {
|
|
43
|
-
const fns = entries.map(([name, fn]) => tryCatch(name, fn));
|
|
44
|
-
const reducer = key in reducers ? reducers[key] : void 0;
|
|
45
|
-
if (reducer) {
|
|
46
|
-
return [key, reducer(fns)];
|
|
47
|
-
}
|
|
48
|
-
return [key, syncHooks.includes(key) ? callAll(...fns) : callAllAsync(...fns)];
|
|
49
|
-
})
|
|
50
|
-
);
|
|
51
|
-
return mergedHooks;
|
|
52
|
-
};
|
|
53
|
-
var createReducer = (reducer) => reducer;
|
|
54
|
-
var reducers = {
|
|
55
|
-
"config:resolved": createReducer((fns) => async (_args) => {
|
|
56
|
-
const args = Object.assign({}, _args);
|
|
57
|
-
const original = _args.config;
|
|
58
|
-
let config = args.config;
|
|
59
|
-
for (const hookFn of fns) {
|
|
60
|
-
const result = await hookFn(Object.assign(args, { config, original }));
|
|
61
|
-
if (result !== void 0) {
|
|
62
|
-
config = result;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
return config;
|
|
66
|
-
}),
|
|
67
|
-
"parser:before": createReducer((fns) => (_args) => {
|
|
68
|
-
const args = Object.assign({}, _args);
|
|
69
|
-
const original = _args.content;
|
|
70
|
-
let content = args.content;
|
|
71
|
-
for (const hookFn of fns) {
|
|
72
|
-
const result = hookFn(Object.assign(args, { content, original }));
|
|
73
|
-
if (result !== void 0) {
|
|
74
|
-
content = result;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return content;
|
|
78
|
-
}),
|
|
79
|
-
"parser:preprocess": createReducer((fns) => (_args) => {
|
|
80
|
-
const args = Object.assign({}, _args);
|
|
81
|
-
const original = _args.data;
|
|
82
|
-
let data = args.data;
|
|
83
|
-
for (const hookFn of fns) {
|
|
84
|
-
const result = hookFn(Object.assign(args, { data, original }));
|
|
85
|
-
if (result !== void 0) {
|
|
86
|
-
data = result;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return data;
|
|
90
|
-
}),
|
|
91
|
-
"cssgen:done": createReducer((fns) => (_args) => {
|
|
92
|
-
const args = Object.assign({}, _args);
|
|
93
|
-
const original = _args.content;
|
|
94
|
-
let content = args.content;
|
|
95
|
-
for (const hookFn of fns) {
|
|
96
|
-
const result = hookFn(Object.assign(args, { content, original }));
|
|
97
|
-
if (result !== void 0) {
|
|
98
|
-
content = result;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return content;
|
|
102
|
-
}),
|
|
103
|
-
"codegen:prepare": createReducer((fns) => async (_args) => {
|
|
104
|
-
const args = Object.assign({}, _args);
|
|
105
|
-
const original = _args.artifacts;
|
|
106
|
-
let artifacts = args.artifacts;
|
|
107
|
-
for (const hookFn of fns) {
|
|
108
|
-
const result = await hookFn(Object.assign(args, { artifacts, original }));
|
|
109
|
-
if (result) {
|
|
110
|
-
artifacts = result;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
return artifacts;
|
|
114
|
-
}),
|
|
115
|
-
"preset:resolved": createReducer((fns) => async (_args) => {
|
|
116
|
-
const args = Object.assign({}, _args);
|
|
117
|
-
const original = _args.preset;
|
|
118
|
-
let preset = args.preset;
|
|
119
|
-
for (const hookFn of fns) {
|
|
120
|
-
const result = await hookFn(Object.assign(args, { preset, original }));
|
|
121
|
-
if (result !== void 0) {
|
|
122
|
-
preset = result;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
return preset;
|
|
126
|
-
}),
|
|
127
|
-
"css:optimize": createReducer((fns) => (_args) => {
|
|
128
|
-
const args = Object.assign({}, _args);
|
|
129
|
-
const original = _args.css;
|
|
130
|
-
let css = args.css;
|
|
131
|
-
for (const hookFn of fns) {
|
|
132
|
-
const result = hookFn(Object.assign(args, { css, original }));
|
|
133
|
-
if (result !== void 0) {
|
|
134
|
-
css = result;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return css;
|
|
138
|
-
})
|
|
139
|
-
};
|
|
140
|
-
var syncHooks = [
|
|
141
|
-
"context:created",
|
|
142
|
-
"parser:before",
|
|
143
|
-
"parser:preprocess",
|
|
144
|
-
"parser:after",
|
|
145
|
-
"cssgen:done",
|
|
146
|
-
"css:optimize"
|
|
147
|
-
];
|
|
148
|
-
var callAllAsync = (...fns) => async (...a) => {
|
|
149
|
-
for (const fn of fns) {
|
|
150
|
-
await fn?.(...a);
|
|
151
|
-
}
|
|
152
|
-
};
|
|
153
|
-
var callAll = (...fns) => (...a) => {
|
|
154
|
-
fns.forEach((fn) => fn?.(...a));
|
|
155
|
-
};
|
|
156
|
-
var tryCatch = (name, fn) => {
|
|
157
|
-
return (...args) => {
|
|
158
|
-
try {
|
|
159
|
-
return fn(...args);
|
|
160
|
-
} catch (e) {
|
|
161
|
-
import_logger.logger.caughtError("hooks", `Error in plugin "${name}"`, e);
|
|
162
|
-
}
|
|
163
|
-
};
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
// src/validation/utils.ts
|
|
167
|
-
var import_shared = require("@bamboocss/shared");
|
|
168
|
-
var isValidToken = (token) => (0, import_shared.isObject)(token) && Object.hasOwnProperty.call(token, "value");
|
|
169
|
-
|
|
170
|
-
// src/merge-config.ts
|
|
171
|
-
function getExtends(items) {
|
|
172
|
-
return items.reduce((merged, { extend }) => {
|
|
173
|
-
if (!extend) return merged;
|
|
174
|
-
return (0, import_shared2.mergeWith)(merged, extend, (originalValue, newValue) => {
|
|
175
|
-
if (newValue === void 0) {
|
|
176
|
-
return originalValue ?? [];
|
|
177
|
-
}
|
|
178
|
-
if (originalValue === void 0) {
|
|
179
|
-
return [newValue];
|
|
180
|
-
}
|
|
181
|
-
if (Array.isArray(originalValue)) {
|
|
182
|
-
return [newValue, ...originalValue];
|
|
183
|
-
}
|
|
184
|
-
return [newValue, originalValue];
|
|
185
|
-
});
|
|
186
|
-
}, {});
|
|
187
|
-
}
|
|
188
|
-
function mergeRecords(records) {
|
|
189
|
-
return {
|
|
190
|
-
...records.reduce((acc, record) => (0, import_shared2.assign)(acc, record), {}),
|
|
191
|
-
extend: getExtends(records)
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
function mergeExtensions(records) {
|
|
195
|
-
const { extend = [], ...restProps } = mergeRecords(records);
|
|
196
|
-
return (0, import_shared2.mergeWith)(restProps, extend, (obj, extensions) => {
|
|
197
|
-
return (0, import_shared2.mergeAndConcat)({}, obj, ...extensions);
|
|
198
|
-
});
|
|
199
|
-
}
|
|
200
|
-
var isEmptyObject = (obj) => typeof obj === "object" && Object.keys(obj).length === 0;
|
|
201
|
-
var compact = (obj) => {
|
|
202
|
-
return Object.keys(obj).reduce((acc, key) => {
|
|
203
|
-
if (obj[key] !== void 0 && !isEmptyObject(obj[key])) {
|
|
204
|
-
acc[key] = obj[key];
|
|
205
|
-
}
|
|
206
|
-
return acc;
|
|
207
|
-
}, {});
|
|
208
|
-
};
|
|
209
|
-
var tokenKeys = ["description", "extensions", "type", "value", "deprecated"];
|
|
210
|
-
function mergeConfigs(configs) {
|
|
211
|
-
const userConfig = configs.at(-1);
|
|
212
|
-
const pluginHooks = userConfig.plugins ?? [];
|
|
213
|
-
if (userConfig.hooks) {
|
|
214
|
-
pluginHooks.push({ name: import_shared2.BAMBOO_CONFIG_NAME, hooks: userConfig.hooks });
|
|
215
|
-
}
|
|
216
|
-
const reversed = Array.from(configs).reverse();
|
|
217
|
-
const mergedResult = (0, import_shared2.assign)(
|
|
218
|
-
{
|
|
219
|
-
conditions: mergeExtensions(reversed.map((config) => config.conditions ?? {})),
|
|
220
|
-
theme: mergeExtensions(reversed.map((config) => config.theme ?? {})),
|
|
221
|
-
patterns: mergeExtensions(reversed.map((config) => config.patterns ?? {})),
|
|
222
|
-
utilities: mergeExtensions(reversed.map((config) => config.utilities ?? {})),
|
|
223
|
-
globalCss: mergeExtensions(reversed.map((config) => config.globalCss ?? {})),
|
|
224
|
-
globalVars: mergeExtensions(reversed.map((config) => config.globalVars ?? {})),
|
|
225
|
-
globalFontface: mergeExtensions(reversed.map((config) => config.globalFontface ?? {})),
|
|
226
|
-
globalPositionTry: mergeExtensions(reversed.map((config) => config.globalPositionTry ?? {})),
|
|
227
|
-
staticCss: mergeExtensions(reversed.map((config) => config.staticCss ?? {})),
|
|
228
|
-
themes: mergeExtensions(reversed.map((config) => config.themes ?? {})),
|
|
229
|
-
hooks: mergeHooks(pluginHooks)
|
|
230
|
-
},
|
|
231
|
-
...reversed
|
|
232
|
-
);
|
|
233
|
-
const withoutEmpty = compact(mergedResult);
|
|
234
|
-
if (withoutEmpty.theme?.tokens) {
|
|
235
|
-
(0, import_shared2.walkObject)(withoutEmpty.theme.tokens, (args) => args, {
|
|
236
|
-
stop(token) {
|
|
237
|
-
if (!isValidToken(token)) return false;
|
|
238
|
-
const keys = Object.keys(token);
|
|
239
|
-
const nestedKeys = keys.filter((k) => !tokenKeys.includes(k));
|
|
240
|
-
const nested = nestedKeys.length > 0;
|
|
241
|
-
if (nested) {
|
|
242
|
-
token.DEFAULT ||= {};
|
|
243
|
-
tokenKeys.forEach((key) => {
|
|
244
|
-
if (token[key] == null) return;
|
|
245
|
-
token.DEFAULT[key] ||= token[key];
|
|
246
|
-
delete token[key];
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
return true;
|
|
250
|
-
}
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
return withoutEmpty;
|
|
254
|
-
}
|
|
255
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
256
|
-
0 && (module.exports = {
|
|
257
|
-
mergeConfigs,
|
|
258
|
-
mergeHooks
|
|
259
|
-
});
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
// src/resolve-ts-path-pattern.ts
|
|
21
|
-
var resolve_ts_path_pattern_exports = {};
|
|
22
|
-
__export(resolve_ts_path_pattern_exports, {
|
|
23
|
-
resolveTsPathPattern: () => resolveTsPathPattern
|
|
24
|
-
});
|
|
25
|
-
module.exports = __toCommonJS(resolve_ts_path_pattern_exports);
|
|
26
|
-
var import_path = require("path");
|
|
27
|
-
var resolveTsPathPattern = (pathMappings, moduleSpecifier) => {
|
|
28
|
-
for (const mapping of pathMappings) {
|
|
29
|
-
const match = moduleSpecifier.match(mapping.pattern);
|
|
30
|
-
if (!match) {
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
for (const pathTemplate of mapping.paths) {
|
|
34
|
-
let starCount = 0;
|
|
35
|
-
const mappedId = pathTemplate.replace(/\*/g, () => {
|
|
36
|
-
const matchIndex = Math.min(++starCount, match.length - 1);
|
|
37
|
-
return match[matchIndex];
|
|
38
|
-
});
|
|
39
|
-
return mappedId.split(import_path.sep).join(import_path.posix.sep);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
-
0 && (module.exports = {
|
|
45
|
-
resolveTsPathPattern
|
|
46
|
-
});
|