@bamboocss/logger 1.30.1 → 1.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/index.cjs +18 -1
- package/dist/index.mjs +18 -1
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -112,7 +112,16 @@ function isMatch(inputs, patterns, options) {
|
|
|
112
112
|
const createLogger = (conf = {}) => {
|
|
113
113
|
let onLog = conf.onLog;
|
|
114
114
|
let level = conf.isDebug ? "debug" : conf.level ?? "info";
|
|
115
|
-
|
|
115
|
+
/**
|
|
116
|
+
* Which log *types* to show, as globs over the namespaced type — `vite:transform`,
|
|
117
|
+
* `tokens:unresolved`, `prune:tokens`, `config`. A non-empty filter forces the effective
|
|
118
|
+
* level to debug for the types it matches, so it answers "which subsystem" without
|
|
119
|
+
* `logLevel` having to answer "how loud" for everything at once.
|
|
120
|
+
*
|
|
121
|
+
* Settable, because it arrives from the config, which is resolved after this logger is
|
|
122
|
+
* constructed — the same reason `level` is.
|
|
123
|
+
*/
|
|
124
|
+
let filter = parseFilter(conf.filter);
|
|
116
125
|
const getLevel = () => filter.length ? "debug" : level;
|
|
117
126
|
const isValid = (level, type) => {
|
|
118
127
|
const badLevel = logLevels[getLevel()].weight > logLevels[level].weight;
|
|
@@ -151,6 +160,12 @@ const createLogger = (conf = {}) => {
|
|
|
151
160
|
set level(newLevel) {
|
|
152
161
|
level = newLevel;
|
|
153
162
|
},
|
|
163
|
+
get filter() {
|
|
164
|
+
return filter.join(",");
|
|
165
|
+
},
|
|
166
|
+
set filter(value) {
|
|
167
|
+
filter = parseFilter(value);
|
|
168
|
+
},
|
|
154
169
|
set onLog(fn) {
|
|
155
170
|
onLog = fn;
|
|
156
171
|
},
|
|
@@ -170,6 +185,8 @@ const createLogger = (conf = {}) => {
|
|
|
170
185
|
isDebug: Boolean(conf.isDebug)
|
|
171
186
|
};
|
|
172
187
|
};
|
|
188
|
+
/** `'*'` is "everything", which is what an empty filter already means. */
|
|
189
|
+
const parseFilter = (value) => value !== "*" ? value?.split(/[\s,]+/).filter(Boolean) ?? [] : [];
|
|
173
190
|
const matches = (filters, value) => filters.some((search) => isMatch(value, search));
|
|
174
191
|
const createEntry = (level, type, data) => {
|
|
175
192
|
const msg = data instanceof Error ? kleur.default.red(data.stack ?? data.message) : data;
|
package/dist/index.mjs
CHANGED
|
@@ -88,7 +88,16 @@ function isMatch(inputs, patterns, options) {
|
|
|
88
88
|
const createLogger = (conf = {}) => {
|
|
89
89
|
let onLog = conf.onLog;
|
|
90
90
|
let level = conf.isDebug ? "debug" : conf.level ?? "info";
|
|
91
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Which log *types* to show, as globs over the namespaced type — `vite:transform`,
|
|
93
|
+
* `tokens:unresolved`, `prune:tokens`, `config`. A non-empty filter forces the effective
|
|
94
|
+
* level to debug for the types it matches, so it answers "which subsystem" without
|
|
95
|
+
* `logLevel` having to answer "how loud" for everything at once.
|
|
96
|
+
*
|
|
97
|
+
* Settable, because it arrives from the config, which is resolved after this logger is
|
|
98
|
+
* constructed — the same reason `level` is.
|
|
99
|
+
*/
|
|
100
|
+
let filter = parseFilter(conf.filter);
|
|
92
101
|
const getLevel = () => filter.length ? "debug" : level;
|
|
93
102
|
const isValid = (level, type) => {
|
|
94
103
|
const badLevel = logLevels[getLevel()].weight > logLevels[level].weight;
|
|
@@ -127,6 +136,12 @@ const createLogger = (conf = {}) => {
|
|
|
127
136
|
set level(newLevel) {
|
|
128
137
|
level = newLevel;
|
|
129
138
|
},
|
|
139
|
+
get filter() {
|
|
140
|
+
return filter.join(",");
|
|
141
|
+
},
|
|
142
|
+
set filter(value) {
|
|
143
|
+
filter = parseFilter(value);
|
|
144
|
+
},
|
|
130
145
|
set onLog(fn) {
|
|
131
146
|
onLog = fn;
|
|
132
147
|
},
|
|
@@ -146,6 +161,8 @@ const createLogger = (conf = {}) => {
|
|
|
146
161
|
isDebug: Boolean(conf.isDebug)
|
|
147
162
|
};
|
|
148
163
|
};
|
|
164
|
+
/** `'*'` is "everything", which is what an empty filter already means. */
|
|
165
|
+
const parseFilter = (value) => value !== "*" ? value?.split(/[\s,]+/).filter(Boolean) ?? [] : [];
|
|
149
166
|
const matches = (filters, value) => filters.some((search) => isMatch(value, search));
|
|
150
167
|
const createEntry = (level, type, data) => {
|
|
151
168
|
const msg = data instanceof Error ? colors$1.red(data.stack ?? data.message) : data;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bamboocss/logger",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.32.0",
|
|
4
4
|
"description": "The core css bamboo library",
|
|
5
5
|
"homepage": "https://bamboocss.com",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"kleur": "4.1.5",
|
|
37
|
-
"@bamboocss/types": "1.
|
|
37
|
+
"@bamboocss/types": "1.32.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"matcher": "6.0.0"
|