@pandacss/logger 0.29.1 → 0.30.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.mts CHANGED
@@ -1,24 +1,15 @@
1
+ import * as _pandacss_types from '@pandacss/types';
2
+ import { LogLevel, LogEntry } from '@pandacss/types';
1
3
  export { default as colors } from 'kleur';
2
4
 
3
- declare const createLogScope: (scope: string) => {
4
- (subScope: string): string;
5
- toString(): string;
6
- };
5
+ interface LoggerConfig {
6
+ level?: LogLevel;
7
+ filter?: string;
8
+ isDebug?: boolean;
9
+ onLog?: (entry: LogEntry) => void;
10
+ }
7
11
 
8
12
  declare const quote: (...str: string[]) => string;
9
- declare const logger: {
10
- level: "debug" | "info" | "warn" | "error" | "silent";
11
- print(data: any): void;
12
- warn: (type: string, data: any) => void;
13
- info: (type: string, data: any) => void;
14
- debug: (type: string, data: any) => void;
15
- error: (type: string, data: any) => void;
16
- log: (data: string) => void;
17
- time: {
18
- info: (msg: string) => (_msg?: string) => void;
19
- debug: (msg: string) => (_msg?: string) => void;
20
- };
21
- isDebug: boolean;
22
- };
13
+ declare const logger: _pandacss_types.LoggerInterface;
23
14
 
24
- export { createLogScope, logger, quote };
15
+ export { type LoggerConfig, logger, quote };
package/dist/index.d.ts CHANGED
@@ -1,24 +1,15 @@
1
+ import * as _pandacss_types from '@pandacss/types';
2
+ import { LogLevel, LogEntry } from '@pandacss/types';
1
3
  export { default as colors } from 'kleur';
2
4
 
3
- declare const createLogScope: (scope: string) => {
4
- (subScope: string): string;
5
- toString(): string;
6
- };
5
+ interface LoggerConfig {
6
+ level?: LogLevel;
7
+ filter?: string;
8
+ isDebug?: boolean;
9
+ onLog?: (entry: LogEntry) => void;
10
+ }
7
11
 
8
12
  declare const quote: (...str: string[]) => string;
9
- declare const logger: {
10
- level: "debug" | "info" | "warn" | "error" | "silent";
11
- print(data: any): void;
12
- warn: (type: string, data: any) => void;
13
- info: (type: string, data: any) => void;
14
- debug: (type: string, data: any) => void;
15
- error: (type: string, data: any) => void;
16
- log: (data: string) => void;
17
- time: {
18
- info: (msg: string) => (_msg?: string) => void;
19
- debug: (msg: string) => (_msg?: string) => void;
20
- };
21
- isDebug: boolean;
22
- };
13
+ declare const logger: _pandacss_types.LoggerInterface;
23
14
 
24
- export { createLogScope, logger, quote };
15
+ export { type LoggerConfig, logger, quote };
package/dist/index.js CHANGED
@@ -30,17 +30,15 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var src_exports = {};
32
32
  __export(src_exports, {
33
- colors: () => import_kleur4.default,
34
- createLogScope: () => createLogScope,
33
+ colors: () => import_kleur2.default,
35
34
  logger: () => logger,
36
35
  quote: () => quote
37
36
  });
38
37
  module.exports = __toCommonJS(src_exports);
39
- var import_kleur4 = __toESM(require("kleur"));
38
+ var import_kleur2 = __toESM(require("kleur"));
40
39
 
41
40
  // src/create-logger.ts
42
- var import_kleur3 = __toESM(require("kleur"));
43
- var import_lil_fp2 = require("lil-fp");
41
+ var import_kleur = __toESM(require("kleur"));
44
42
 
45
43
  // ../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
46
44
  function escapeStringRegexp(string) {
@@ -128,100 +126,41 @@ function isMatch(inputs, patterns, options) {
128
126
  return baseMatcher(inputs, patterns, options, true).length > 0;
129
127
  }
130
128
 
131
- // src/format-entry.ts
132
- var import_kleur2 = __toESM(require("kleur"));
133
- var import_lil_fp = require("lil-fp");
134
-
135
- // src/levels.ts
136
- var import_kleur = __toESM(require("kleur"));
137
- var logLevels = {
138
- debug: { weight: 0, color: import_kleur.default.magenta },
139
- info: { weight: 1, color: import_kleur.default.blue },
140
- warn: { weight: 2, color: import_kleur.default.yellow },
141
- error: { weight: 3, color: import_kleur.default.red },
142
- silent: { weight: 4, color: import_kleur.default.white }
143
- };
144
-
145
- // src/format-entry.ts
146
- var formatEntry = (entry) => (0, import_lil_fp.pipe)(
147
- { entry },
148
- import_lil_fp.Obj.assign(({ entry: entry2 }) => ({
149
- uword: entry2.type ? import_kleur2.default.gray(`[${entry2.type}]`) : ""
150
- })),
151
- (0, import_lil_fp.match)(
152
- (0, import_lil_fp.when)(
153
- ({ entry: entry2 }) => entry2.level != null,
154
- ({ entry: entry2, uword }) => {
155
- const { msg, level } = entry2;
156
- const color = logLevels[level].color;
157
- const label = import_kleur2.default.bold(color(`${level}`));
158
- return { label: [`\u{1F43C}`, label, uword].filter(Boolean).join(" "), msg };
159
- }
160
- ),
161
- (0, import_lil_fp.otherwise)(({ entry: entry2, uword }) => {
162
- const { msg } = entry2;
163
- return { label: uword ?? "", msg };
164
- })
165
- )
166
- );
167
- var createEntry = (level, type, data) => {
168
- const msg = data instanceof Error ? import_kleur2.default.red(data.stack ?? data.message) : data;
169
- return { type, level, msg };
170
- };
171
-
172
129
  // src/create-logger.ts
173
- var matches = (filters, value) => filters.some((search) => isMatch(value, search));
174
130
  var createLogger = (conf = {}) => {
175
- let level = conf.level ?? "info";
176
- const { stdout, timing } = (0, import_lil_fp2.pipe)(
177
- conf,
178
- ({ filter }) => ({
179
- getLevel: () => filter ? "debug" : level,
180
- filter: filter !== "*" ? filter?.split(/[\s,]+/) ?? [] : []
181
- }),
182
- import_lil_fp2.Obj.assignTo("config"),
183
- import_lil_fp2.Obj.assign(({ config }) => ({
184
- isValid(level2, type) {
185
- const badLevel = logLevels[config.getLevel()].weight > logLevels[level2].weight;
186
- const badType = config.filter.length > 0 && !matches(config.filter, type);
187
- return !(badType || badLevel);
188
- }
189
- })),
190
- import_lil_fp2.Obj.assign(({ isValid, config }) => ({
191
- stdout(level2) {
192
- return (type, data) => {
193
- (0, import_lil_fp2.pipe)(
194
- createEntry(level2, type, data),
195
- (0, import_lil_fp2.match)(
196
- (0, import_lil_fp2.when)(
197
- ({ level: level3, type: type2 }) => level3 != null && isValid(level3, type2),
198
- (entry) => {
199
- const { msg, label } = formatEntry(entry) ?? {};
200
- console.log(label, msg);
201
- }
202
- ),
203
- (0, import_lil_fp2.when)(
204
- ({ level: level3 }) => config.getLevel() !== "silent" && level3 == null,
205
- () => {
206
- console.log(...[type, data].filter(Boolean));
207
- }
208
- )
209
- )
210
- );
211
- };
212
- }
213
- })),
214
- import_lil_fp2.Obj.assign(({ stdout: stdout2 }) => ({
215
- timing: (level2) => (msg) => {
216
- const start = performance.now();
217
- return (_msg = msg) => {
218
- const end = performance.now();
219
- const ms = end - start;
220
- stdout2(level2)("hrtime", `${_msg} ${import_kleur3.default.gray(`(${ms.toFixed(2)}ms)`)}`);
221
- };
222
- }
223
- }))
224
- );
131
+ let onLog = conf.onLog;
132
+ let level = conf.isDebug ? "debug" : conf.level ?? "info";
133
+ const filter = conf.filter !== "*" ? conf.filter?.split(/[\s,]+/) ?? [] : [];
134
+ const getLevel = () => filter.length ? "debug" : level;
135
+ const isValid = (level2, type) => {
136
+ const badLevel = logLevels[getLevel()].weight > logLevels[level2].weight;
137
+ const badType = filter.length > 0 && !matches(filter, type);
138
+ return !(badType || badLevel);
139
+ };
140
+ const stdout = (level2) => (type, data) => {
141
+ const entry = createEntry(level2, type, data);
142
+ if (level2 != null && isValid(level2, type)) {
143
+ const logEntry = formatEntry(entry) ?? {};
144
+ console.log(logEntry.label, logEntry.msg);
145
+ } else if (getLevel() !== "silent" && level2 == null) {
146
+ console.log(...[type, data].filter(Boolean));
147
+ }
148
+ onLog?.(entry);
149
+ };
150
+ const logFns = {
151
+ debug: stdout("debug"),
152
+ info: stdout("info"),
153
+ warn: stdout("warn"),
154
+ error: stdout("error")
155
+ };
156
+ const timing = (level2) => (msg) => {
157
+ const start = performance.now();
158
+ return (_msg = msg) => {
159
+ const end = performance.now();
160
+ const ms = end - start;
161
+ logFns[level2]("hrtime", `${_msg} ${import_kleur.default.gray(`(${ms.toFixed(2)}ms)`)}`);
162
+ };
163
+ };
225
164
  return {
226
165
  get level() {
227
166
  return level;
@@ -229,13 +168,13 @@ var createLogger = (conf = {}) => {
229
168
  set level(newLevel) {
230
169
  level = newLevel;
231
170
  },
171
+ set onLog(fn) {
172
+ onLog = fn;
173
+ },
174
+ ...logFns,
232
175
  print(data) {
233
176
  console.dir(data, { depth: null, colors: true });
234
177
  },
235
- warn: stdout("warn"),
236
- info: stdout("info"),
237
- debug: stdout("debug"),
238
- error: stdout("error"),
239
178
  log: (data) => stdout(null)("", data),
240
179
  time: {
241
180
  info: timing("info"),
@@ -244,16 +183,38 @@ var createLogger = (conf = {}) => {
244
183
  isDebug: Boolean(conf.isDebug)
245
184
  };
246
185
  };
247
-
248
- // src/scope.ts
249
- var createLogScope = (scope) => {
250
- const fn = (subScope) => `${scope}/${subScope}`;
251
- fn.toString = () => scope;
252
- return fn;
186
+ var matches = (filters, value) => filters.some((search) => isMatch(value, search));
187
+ var createEntry = (level, type, data) => {
188
+ const msg = data instanceof Error ? import_kleur.default.red(data.stack ?? data.message) : data;
189
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString();
190
+ return { t: timestamp, type, level, msg };
191
+ };
192
+ var formatEntry = (entry) => {
193
+ const uword = entry.type ? import_kleur.default.gray(`[${entry.type}]`) : "";
194
+ let label = "";
195
+ let msg = "";
196
+ if (entry.level != null) {
197
+ const { msg: message, level } = entry;
198
+ const color = logLevels[level].color;
199
+ const levelLabel = import_kleur.default.bold(color(`${level}`));
200
+ label = [`\u{1F43C}`, levelLabel, uword].filter(Boolean).join(" ");
201
+ msg = message;
202
+ } else {
203
+ label = uword ?? "";
204
+ msg = entry.msg;
205
+ }
206
+ return { label, msg };
207
+ };
208
+ var logLevels = {
209
+ debug: { weight: 0, color: import_kleur.default.magenta },
210
+ info: { weight: 1, color: import_kleur.default.blue },
211
+ warn: { weight: 2, color: import_kleur.default.yellow },
212
+ error: { weight: 3, color: import_kleur.default.red },
213
+ silent: { weight: 4, color: import_kleur.default.white }
253
214
  };
254
215
 
255
216
  // src/index.ts
256
- var quote = (...str) => import_kleur4.default.cyan(`\`${str.join("")}\``);
217
+ var quote = (...str) => import_kleur2.default.cyan(`\`${str.join("")}\``);
257
218
  var debug = process.env.PANDA_DEBUG;
258
219
  var logger = createLogger({
259
220
  filter: typeof process !== "undefined" ? debug : void 0,
@@ -262,7 +223,6 @@ var logger = createLogger({
262
223
  // Annotate the CommonJS export names for ESM import in node:
263
224
  0 && (module.exports = {
264
225
  colors,
265
- createLogScope,
266
226
  logger,
267
227
  quote
268
228
  });
package/dist/index.mjs CHANGED
@@ -1,9 +1,8 @@
1
1
  // src/index.ts
2
- import colors4 from "kleur";
2
+ import colors2 from "kleur";
3
3
 
4
4
  // src/create-logger.ts
5
- import colors3 from "kleur";
6
- import { match as match2, Obj as Obj2, pipe as pipe2, when as when2 } from "lil-fp";
5
+ import colors from "kleur";
7
6
 
8
7
  // ../../node_modules/.pnpm/escape-string-regexp@5.0.0/node_modules/escape-string-regexp/index.js
9
8
  function escapeStringRegexp(string) {
@@ -91,100 +90,41 @@ function isMatch(inputs, patterns, options) {
91
90
  return baseMatcher(inputs, patterns, options, true).length > 0;
92
91
  }
93
92
 
94
- // src/format-entry.ts
95
- import colors2 from "kleur";
96
- import { match, Obj, otherwise, pipe, when } from "lil-fp";
97
-
98
- // src/levels.ts
99
- import colors from "kleur";
100
- var logLevels = {
101
- debug: { weight: 0, color: colors.magenta },
102
- info: { weight: 1, color: colors.blue },
103
- warn: { weight: 2, color: colors.yellow },
104
- error: { weight: 3, color: colors.red },
105
- silent: { weight: 4, color: colors.white }
106
- };
107
-
108
- // src/format-entry.ts
109
- var formatEntry = (entry) => pipe(
110
- { entry },
111
- Obj.assign(({ entry: entry2 }) => ({
112
- uword: entry2.type ? colors2.gray(`[${entry2.type}]`) : ""
113
- })),
114
- match(
115
- when(
116
- ({ entry: entry2 }) => entry2.level != null,
117
- ({ entry: entry2, uword }) => {
118
- const { msg, level } = entry2;
119
- const color = logLevels[level].color;
120
- const label = colors2.bold(color(`${level}`));
121
- return { label: [`\u{1F43C}`, label, uword].filter(Boolean).join(" "), msg };
122
- }
123
- ),
124
- otherwise(({ entry: entry2, uword }) => {
125
- const { msg } = entry2;
126
- return { label: uword ?? "", msg };
127
- })
128
- )
129
- );
130
- var createEntry = (level, type, data) => {
131
- const msg = data instanceof Error ? colors2.red(data.stack ?? data.message) : data;
132
- return { type, level, msg };
133
- };
134
-
135
93
  // src/create-logger.ts
136
- var matches = (filters, value) => filters.some((search) => isMatch(value, search));
137
94
  var createLogger = (conf = {}) => {
138
- let level = conf.level ?? "info";
139
- const { stdout, timing } = pipe2(
140
- conf,
141
- ({ filter }) => ({
142
- getLevel: () => filter ? "debug" : level,
143
- filter: filter !== "*" ? filter?.split(/[\s,]+/) ?? [] : []
144
- }),
145
- Obj2.assignTo("config"),
146
- Obj2.assign(({ config }) => ({
147
- isValid(level2, type) {
148
- const badLevel = logLevels[config.getLevel()].weight > logLevels[level2].weight;
149
- const badType = config.filter.length > 0 && !matches(config.filter, type);
150
- return !(badType || badLevel);
151
- }
152
- })),
153
- Obj2.assign(({ isValid, config }) => ({
154
- stdout(level2) {
155
- return (type, data) => {
156
- pipe2(
157
- createEntry(level2, type, data),
158
- match2(
159
- when2(
160
- ({ level: level3, type: type2 }) => level3 != null && isValid(level3, type2),
161
- (entry) => {
162
- const { msg, label } = formatEntry(entry) ?? {};
163
- console.log(label, msg);
164
- }
165
- ),
166
- when2(
167
- ({ level: level3 }) => config.getLevel() !== "silent" && level3 == null,
168
- () => {
169
- console.log(...[type, data].filter(Boolean));
170
- }
171
- )
172
- )
173
- );
174
- };
175
- }
176
- })),
177
- Obj2.assign(({ stdout: stdout2 }) => ({
178
- timing: (level2) => (msg) => {
179
- const start = performance.now();
180
- return (_msg = msg) => {
181
- const end = performance.now();
182
- const ms = end - start;
183
- stdout2(level2)("hrtime", `${_msg} ${colors3.gray(`(${ms.toFixed(2)}ms)`)}`);
184
- };
185
- }
186
- }))
187
- );
95
+ let onLog = conf.onLog;
96
+ let level = conf.isDebug ? "debug" : conf.level ?? "info";
97
+ const filter = conf.filter !== "*" ? conf.filter?.split(/[\s,]+/) ?? [] : [];
98
+ const getLevel = () => filter.length ? "debug" : level;
99
+ const isValid = (level2, type) => {
100
+ const badLevel = logLevels[getLevel()].weight > logLevels[level2].weight;
101
+ const badType = filter.length > 0 && !matches(filter, type);
102
+ return !(badType || badLevel);
103
+ };
104
+ const stdout = (level2) => (type, data) => {
105
+ const entry = createEntry(level2, type, data);
106
+ if (level2 != null && isValid(level2, type)) {
107
+ const logEntry = formatEntry(entry) ?? {};
108
+ console.log(logEntry.label, logEntry.msg);
109
+ } else if (getLevel() !== "silent" && level2 == null) {
110
+ console.log(...[type, data].filter(Boolean));
111
+ }
112
+ onLog?.(entry);
113
+ };
114
+ const logFns = {
115
+ debug: stdout("debug"),
116
+ info: stdout("info"),
117
+ warn: stdout("warn"),
118
+ error: stdout("error")
119
+ };
120
+ const timing = (level2) => (msg) => {
121
+ const start = performance.now();
122
+ return (_msg = msg) => {
123
+ const end = performance.now();
124
+ const ms = end - start;
125
+ logFns[level2]("hrtime", `${_msg} ${colors.gray(`(${ms.toFixed(2)}ms)`)}`);
126
+ };
127
+ };
188
128
  return {
189
129
  get level() {
190
130
  return level;
@@ -192,13 +132,13 @@ var createLogger = (conf = {}) => {
192
132
  set level(newLevel) {
193
133
  level = newLevel;
194
134
  },
135
+ set onLog(fn) {
136
+ onLog = fn;
137
+ },
138
+ ...logFns,
195
139
  print(data) {
196
140
  console.dir(data, { depth: null, colors: true });
197
141
  },
198
- warn: stdout("warn"),
199
- info: stdout("info"),
200
- debug: stdout("debug"),
201
- error: stdout("error"),
202
142
  log: (data) => stdout(null)("", data),
203
143
  time: {
204
144
  info: timing("info"),
@@ -207,24 +147,45 @@ var createLogger = (conf = {}) => {
207
147
  isDebug: Boolean(conf.isDebug)
208
148
  };
209
149
  };
210
-
211
- // src/scope.ts
212
- var createLogScope = (scope) => {
213
- const fn = (subScope) => `${scope}/${subScope}`;
214
- fn.toString = () => scope;
215
- return fn;
150
+ var matches = (filters, value) => filters.some((search) => isMatch(value, search));
151
+ var createEntry = (level, type, data) => {
152
+ const msg = data instanceof Error ? colors.red(data.stack ?? data.message) : data;
153
+ const timestamp = (/* @__PURE__ */ new Date()).toISOString();
154
+ return { t: timestamp, type, level, msg };
155
+ };
156
+ var formatEntry = (entry) => {
157
+ const uword = entry.type ? colors.gray(`[${entry.type}]`) : "";
158
+ let label = "";
159
+ let msg = "";
160
+ if (entry.level != null) {
161
+ const { msg: message, level } = entry;
162
+ const color = logLevels[level].color;
163
+ const levelLabel = colors.bold(color(`${level}`));
164
+ label = [`\u{1F43C}`, levelLabel, uword].filter(Boolean).join(" ");
165
+ msg = message;
166
+ } else {
167
+ label = uword ?? "";
168
+ msg = entry.msg;
169
+ }
170
+ return { label, msg };
171
+ };
172
+ var logLevels = {
173
+ debug: { weight: 0, color: colors.magenta },
174
+ info: { weight: 1, color: colors.blue },
175
+ warn: { weight: 2, color: colors.yellow },
176
+ error: { weight: 3, color: colors.red },
177
+ silent: { weight: 4, color: colors.white }
216
178
  };
217
179
 
218
180
  // src/index.ts
219
- var quote = (...str) => colors4.cyan(`\`${str.join("")}\``);
181
+ var quote = (...str) => colors2.cyan(`\`${str.join("")}\``);
220
182
  var debug = process.env.PANDA_DEBUG;
221
183
  var logger = createLogger({
222
184
  filter: typeof process !== "undefined" ? debug : void 0,
223
185
  isDebug: Boolean(debug)
224
186
  });
225
187
  export {
226
- colors4 as colors,
227
- createLogScope,
188
+ colors2 as colors,
228
189
  logger,
229
190
  quote
230
191
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pandacss/logger",
3
- "version": "0.29.1",
3
+ "version": "0.30.0",
4
4
  "description": "The core css panda library",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "dependencies": {
35
35
  "kleur": "^4.1.5",
36
- "lil-fp": "1.4.5"
36
+ "@pandacss/types": "0.30.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "matcher": "5.0.0"