@dx-pkg/logger 1.0.9 → 1.1.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @dx-pkg/logger
2
2
 
3
+ ## 1.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - e6bb5f3: separate interfaces and update dependencies
8
+
3
9
  ## 1.0.9
4
10
 
5
11
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dx-pkg/logger",
3
- "version": "1.0.9",
3
+ "version": "1.1.0",
4
4
  "description": "",
5
5
  "private": false,
6
6
  "license": "ISC",
@@ -30,5 +30,35 @@
30
30
  "default": "./examples/index.mjs"
31
31
  }
32
32
  }
33
+ },
34
+ "scripts": {
35
+ "build": "npm run build:tsdown",
36
+ "dev": "npm run dev:tsdown",
37
+ "build:tsdown": "tsdown --config tsdown.config.build.ts --config-loader unrun && node scripts/clean-dts-comments.js",
38
+ "dev:tsdown": "tsdown --config tsdown.config.dev.ts --config-loader unrun && node scripts/clean-dts-comments.js",
39
+ "build:tsup": "tsup --config tsup.config.build.ts",
40
+ "dev:tsup": "tsup --config tsup.config.dev.ts",
41
+ "build:tsc": "tsc -p tsconfig.json",
42
+ "dev:tsc": "tsc -p tsconfig.json --watch",
43
+ "example:build": "npm run build && npm run example",
44
+ "example:dev:tsc": "tsc-watch -b --onSuccess \"npm example\"",
45
+ "example": "node ../../dist/packages/logger/examples/index.js",
46
+ "test": "jest",
47
+ "lint": "eslint .",
48
+ "lint:fix": "eslint . --fix",
49
+ "format": "prettier --check '**/*.{ts,json,md}' --ignore-unknown",
50
+ "format:fix": "prettier --write '**/*.{ts,json,md}' --ignore-unknown",
51
+ "prettier": "prettier",
52
+ "bin": "node ../../dist/packages/logger/src/commands/index.js"
53
+ },
54
+ "devDependencies": {
55
+ "@types/jest": "^30.0.0",
56
+ "@types/node": "^24.10.1",
57
+ "eslint": "^10.0.3",
58
+ "prettier": "^3.8.1",
59
+ "ts-jest": "^29.4.5",
60
+ "tsc-watch": "^7.2.0",
61
+ "tsdown": "^0.21.2",
62
+ "tsup": "^8.5.1"
33
63
  }
34
64
  }
package/src/index.d.mts CHANGED
@@ -1,36 +1,30 @@
1
1
 
2
2
  interface Logger {
3
- info(message: string): void;
4
- success(message: string): void;
5
- error(message: string): void;
6
- warning(message: string): void;
3
+ info(message: string, ...args: unknown[]): void;
4
+ warn(message: string, ...args: unknown[]): void;
5
+ error(message: string, ...args: unknown[]): void;
6
+ debug(message: string, ...args: unknown[]): void;
7
+ }
8
+ interface CliLogger extends Logger {
9
+ success(message: string, ...args: unknown[]): void;
7
10
  header(message: string): void;
8
- reset(message: string): void;
9
- red(message: string): void;
10
- green(message: string): void;
11
- blue(message: string): void;
12
- yellow(message: string): void;
13
- magenta(message: string): void;
14
11
  gray(message: string): void;
12
+ yellow(message: string): void;
15
13
  logEmptyLine(): void;
16
14
  logSeparator(): void;
17
15
  logSummary(successCount: number, failCount: number, totalCount: number): void;
18
16
  }
19
- declare class ConsoleLogger implements Logger {
20
- info(message: string): void;
21
- success(message: string): void;
22
- error(message: string): void;
23
- warning(message: string): void;
17
+ declare class ConsoleLogger implements CliLogger {
18
+ info(message: string, ...args: unknown[]): void;
19
+ warn(message: string, ...args: unknown[]): void;
20
+ error(message: string, ...args: unknown[]): void;
21
+ debug(message: string, ...args: unknown[]): void;
22
+ success(message: string, ...args: unknown[]): void;
24
23
  header(message: string): void;
25
- reset(message: string): void;
26
- red(message: string): void;
27
- green(message: string): void;
28
- blue(message: string): void;
29
- yellow(message: string): void;
30
- magenta(message: string): void;
31
24
  gray(message: string): void;
25
+ yellow(message: string): void;
32
26
  logEmptyLine(): void;
33
27
  logSeparator(): void;
34
28
  logSummary(successCount: number, failCount: number, totalCount: number): void;
35
29
  }
36
- export { ConsoleLogger, Logger };
30
+ export { CliLogger, ConsoleLogger, Logger };
package/src/index.d.ts CHANGED
@@ -1,36 +1,30 @@
1
1
 
2
2
  interface Logger {
3
- info(message: string): void;
4
- success(message: string): void;
5
- error(message: string): void;
6
- warning(message: string): void;
3
+ info(message: string, ...args: unknown[]): void;
4
+ warn(message: string, ...args: unknown[]): void;
5
+ error(message: string, ...args: unknown[]): void;
6
+ debug(message: string, ...args: unknown[]): void;
7
+ }
8
+ interface CliLogger extends Logger {
9
+ success(message: string, ...args: unknown[]): void;
7
10
  header(message: string): void;
8
- reset(message: string): void;
9
- red(message: string): void;
10
- green(message: string): void;
11
- blue(message: string): void;
12
- yellow(message: string): void;
13
- magenta(message: string): void;
14
11
  gray(message: string): void;
12
+ yellow(message: string): void;
15
13
  logEmptyLine(): void;
16
14
  logSeparator(): void;
17
15
  logSummary(successCount: number, failCount: number, totalCount: number): void;
18
16
  }
19
- declare class ConsoleLogger implements Logger {
20
- info(message: string): void;
21
- success(message: string): void;
22
- error(message: string): void;
23
- warning(message: string): void;
17
+ declare class ConsoleLogger implements CliLogger {
18
+ info(message: string, ...args: unknown[]): void;
19
+ warn(message: string, ...args: unknown[]): void;
20
+ error(message: string, ...args: unknown[]): void;
21
+ debug(message: string, ...args: unknown[]): void;
22
+ success(message: string, ...args: unknown[]): void;
24
23
  header(message: string): void;
25
- reset(message: string): void;
26
- red(message: string): void;
27
- green(message: string): void;
28
- blue(message: string): void;
29
- yellow(message: string): void;
30
- magenta(message: string): void;
31
24
  gray(message: string): void;
25
+ yellow(message: string): void;
32
26
  logEmptyLine(): void;
33
27
  logSeparator(): void;
34
28
  logSummary(successCount: number, failCount: number, totalCount: number): void;
35
29
  }
36
- export { ConsoleLogger, Logger };
30
+ export { CliLogger, ConsoleLogger, Logger };
package/src/index.js CHANGED
@@ -3,4 +3,4 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
3
3
  `)+n,i=r+1,r=e.indexOf(`
4
4
  `,i)}while(r!==-1);return a+=e.substr(i),a}}})),_=o(((e,t)=>{let n=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,r=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,i=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,a=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,o=new Map([[`n`,`
5
5
  `],[`r`,`\r`],[`t`,` `],[`b`,`\b`],[`f`,`\f`],[`v`,`\v`],[`0`,`\0`],[`\\`,`\\`],[`e`,`\x1B`],[`a`,`\x07`]]);function s(e){let t=e[0]===`u`,n=e[1]===`{`;return t&&!n&&e.length===5||e[0]===`x`&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):o.get(e)||e}function c(e,t){let n=[],r=t.trim().split(/\s*,\s*/g),o;for(let t of r){let r=Number(t);if(!Number.isNaN(r))n.push(r);else if(o=t.match(i))n.push(o[2].replace(a,(e,t,n)=>t?s(t):n));else throw Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`)}return n}function l(e){r.lastIndex=0;let t=[],n;for(;(n=r.exec(e))!==null;){let e=n[1];if(n[2]){let r=c(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function u(e,t){let n={};for(let e of t)for(let t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(let[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw Error(`Unknown Chalk style: ${e}`);r=t.length>0?r[e](...t):r[e]}return r}t.exports=(e,t)=>{let r=[],i=[],a=[];if(t.replace(n,(t,n,o,c,d,f)=>{if(n)a.push(s(n));else if(c){let t=a.join(``);a=[],i.push(r.length===0?t:u(e,r)(t)),r.push({inverse:o,styles:l(c)})}else if(d){if(r.length===0)throw Error(`Found extraneous } in Chalk template literal`);i.push(u(e,r)(a.join(``))),a=[],r.pop()}else a.push(f)}),i.push(a.join(``)),r.length>0){let e=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?``:`s`} (\`}\`)`;throw Error(e)}return i.join(``)}})),v=c(o(((e,t)=>{let n=p(),{stdout:r,stderr:i}=h(),{stringReplaceAll:a,stringEncaseCRLFWithFirstIndex:o}=g(),{isArray:s}=Array,c=[`ansi`,`ansi`,`ansi256`,`ansi16m`],l=Object.create(null),u=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=r?r.level:0;e.level=t.level===void 0?n:t.level};var d=class{constructor(e){return f(e)}};let f=e=>{let t={};return u(t,e),t.template=(...e)=>w(t.template,...e),Object.setPrototypeOf(t,m.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=d,t.template};function m(e){return f(e)}for(let[e,t]of Object.entries(n))l[e]={get(){let n=x(this,b(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};l.visible={get(){let e=x(this,this._styler,!0);return Object.defineProperty(this,`visible`,{value:e}),e}};let v=[`rgb`,`hex`,`keyword`,`hsl`,`hsv`,`hwb`,`ansi`,`ansi256`];for(let e of v)l[e]={get(){let{level:t}=this;return function(...r){let i=b(n.color[c[t]][e](...r),n.color.close,this._styler);return x(this,i,this._isEmpty)}}};for(let e of v){let t=`bg`+e[0].toUpperCase()+e.slice(1);l[t]={get(){let{level:t}=this;return function(...r){let i=b(n.bgColor[c[t]][e](...r),n.bgColor.close,this._styler);return x(this,i,this._isEmpty)}}}}let y=Object.defineProperties(()=>{},{...l,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),b=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},x=(e,t,n)=>{let r=(...e)=>s(e[0])&&s(e[0].raw)?S(r,w(r,...e)):S(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,y),r._generator=e,r._styler=t,r._isEmpty=n,r},S=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?``:t;let n=e._styler;if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.indexOf(`\x1B`)!==-1)for(;n!==void 0;)t=a(t,n.close,n.open),n=n.parent;let s=t.indexOf(`
6
- `);return s!==-1&&(t=o(t,i,r,s)),r+t+i},C,w=(e,...t)=>{let[n]=t;if(!s(n)||!s(n.raw))return t.join(` `);let r=t.slice(1),i=[n.raw[0]];for(let e=1;e<n.length;e++)i.push(String(r[e-1]).replace(/[{}\\]/g,`\\$&`),String(n.raw[e]));return C===void 0&&(C=_()),C(e,i.join(``))};Object.defineProperties(m.prototype,l);let T=m();T.supportsColor=r,T.stderr=m({level:i?i.level:0}),T.stderr.supportsColor=i,t.exports=T}))()),y=class{info(e){console.log(v.default.blue(e))}success(e){console.log(v.default.green(e))}error(e){console.error(v.default.red(e))}warning(e){console.log(v.default.yellow(e))}header(e){this.logSeparator(),console.log(v.default.bold.magenta(`● ${e}`)),this.logSeparator()}reset(e){console.log(v.default.reset(e))}red(e){console.log(v.default.red(e))}green(e){console.log(v.default.green(e))}blue(e){console.log(v.default.blue(e))}yellow(e){console.log(v.default.yellow(e))}magenta(e){console.log(v.default.magenta(e))}gray(e){console.log(v.default.gray(e))}logEmptyLine(){this.info(``)}logSeparator(){this.info(`═`.repeat(50))}logSummary(e,t,n){this.logSeparator(),this.info(`\n📊 Summary: ${e} succeeded, ${t} failed out of ${n} total\n`)}};exports.ConsoleLogger=y;
6
+ `);return s!==-1&&(t=o(t,i,r,s)),r+t+i},C,w=(e,...t)=>{let[n]=t;if(!s(n)||!s(n.raw))return t.join(` `);let r=t.slice(1),i=[n.raw[0]];for(let e=1;e<n.length;e++)i.push(String(r[e-1]).replace(/[{}\\]/g,`\\$&`),String(n.raw[e]));return C===void 0&&(C=_()),C(e,i.join(``))};Object.defineProperties(m.prototype,l);let T=m();T.supportsColor=r,T.stderr=m({level:i?i.level:0}),T.stderr.supportsColor=i,t.exports=T}))()),y=class{info(e,...t){console.log(v.default.blue(e),...t)}warn(e,...t){console.warn(v.default.yellow(e),...t)}error(e,...t){console.error(v.default.red(e),...t)}debug(e,...t){console.debug(v.default.gray(e),...t)}success(e,...t){console.log(v.default.green(e),...t)}header(e){this.logSeparator(),console.log(v.default.bold.magenta(`● ${e}`)),this.logSeparator()}gray(e){console.log(v.default.gray(e))}yellow(e){console.log(v.default.yellow(e))}logEmptyLine(){console.log(``)}logSeparator(){console.log(v.default.blue(`═`.repeat(50)))}logSummary(e,t,n){this.logSeparator(),console.log(v.default.blue(`\n📊 Summary: ${e} succeeded, ${t} failed out of ${n} total\n`))}};exports.ConsoleLogger=y;
package/src/index.mjs CHANGED
@@ -3,4 +3,4 @@ import{createRequire as e}from"node:module";var t=Object.create,n=Object.defineP
3
3
  `)+n,i=r+1,r=e.indexOf(`
4
4
  `,i)}while(r!==-1);return a+=e.substr(i),a}}})),y=s(((e,t)=>{let n=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,r=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,i=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,a=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,o=new Map([[`n`,`
5
5
  `],[`r`,`\r`],[`t`,` `],[`b`,`\b`],[`f`,`\f`],[`v`,`\v`],[`0`,`\0`],[`\\`,`\\`],[`e`,`\x1B`],[`a`,`\x07`]]);function s(e){let t=e[0]===`u`,n=e[1]===`{`;return t&&!n&&e.length===5||e[0]===`x`&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):o.get(e)||e}function c(e,t){let n=[],r=t.trim().split(/\s*,\s*/g),o;for(let t of r){let r=Number(t);if(!Number.isNaN(r))n.push(r);else if(o=t.match(i))n.push(o[2].replace(a,(e,t,n)=>t?s(t):n));else throw Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`)}return n}function l(e){r.lastIndex=0;let t=[],n;for(;(n=r.exec(e))!==null;){let e=n[1];if(n[2]){let r=c(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function u(e,t){let n={};for(let e of t)for(let t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(let[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw Error(`Unknown Chalk style: ${e}`);r=t.length>0?r[e](...t):r[e]}return r}t.exports=(e,t)=>{let r=[],i=[],a=[];if(t.replace(n,(t,n,o,c,d,f)=>{if(n)a.push(s(n));else if(c){let t=a.join(``);a=[],i.push(r.length===0?t:u(e,r)(t)),r.push({inverse:o,styles:l(c)})}else if(d){if(r.length===0)throw Error(`Found extraneous } in Chalk template literal`);i.push(u(e,r)(a.join(``))),a=[],r.pop()}else a.push(f)}),i.push(a.join(``)),r.length>0){let e=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?``:`s`} (\`}\`)`;throw Error(e)}return i.join(``)}})),b=l(s(((e,t)=>{let n=h(),{stdout:r,stderr:i}=_(),{stringReplaceAll:a,stringEncaseCRLFWithFirstIndex:o}=v(),{isArray:s}=Array,c=[`ansi`,`ansi`,`ansi256`,`ansi16m`],l=Object.create(null),u=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw Error("The `level` option should be an integer from 0 to 3");let n=r?r.level:0;e.level=t.level===void 0?n:t.level};var d=class{constructor(e){return f(e)}};let f=e=>{let t={};return u(t,e),t.template=(...e)=>w(t.template,...e),Object.setPrototypeOf(t,p.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=d,t.template};function p(e){return f(e)}for(let[e,t]of Object.entries(n))l[e]={get(){let n=x(this,b(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};l.visible={get(){let e=x(this,this._styler,!0);return Object.defineProperty(this,`visible`,{value:e}),e}};let m=[`rgb`,`hex`,`keyword`,`hsl`,`hsv`,`hwb`,`ansi`,`ansi256`];for(let e of m)l[e]={get(){let{level:t}=this;return function(...r){let i=b(n.color[c[t]][e](...r),n.color.close,this._styler);return x(this,i,this._isEmpty)}}};for(let e of m){let t=`bg`+e[0].toUpperCase()+e.slice(1);l[t]={get(){let{level:t}=this;return function(...r){let i=b(n.bgColor[c[t]][e](...r),n.bgColor.close,this._styler);return x(this,i,this._isEmpty)}}}}let g=Object.defineProperties(()=>{},{...l,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),b=(e,t,n)=>{let r,i;return n===void 0?(r=e,i=t):(r=n.openAll+e,i=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:i,parent:n}},x=(e,t,n)=>{let r=(...e)=>s(e[0])&&s(e[0].raw)?S(r,w(r,...e)):S(r,e.length===1?``+e[0]:e.join(` `));return Object.setPrototypeOf(r,g),r._generator=e,r._styler=t,r._isEmpty=n,r},S=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?``:t;let n=e._styler;if(n===void 0)return t;let{openAll:r,closeAll:i}=n;if(t.indexOf(`\x1B`)!==-1)for(;n!==void 0;)t=a(t,n.close,n.open),n=n.parent;let s=t.indexOf(`
6
- `);return s!==-1&&(t=o(t,i,r,s)),r+t+i},C,w=(e,...t)=>{let[n]=t;if(!s(n)||!s(n.raw))return t.join(` `);let r=t.slice(1),i=[n.raw[0]];for(let e=1;e<n.length;e++)i.push(String(r[e-1]).replace(/[{}\\]/g,`\\$&`),String(n.raw[e]));return C===void 0&&(C=y()),C(e,i.join(``))};Object.defineProperties(p.prototype,l);let T=p();T.supportsColor=r,T.stderr=p({level:i?i.level:0}),T.stderr.supportsColor=i,t.exports=T}))()),x=class{info(e){console.log(b.default.blue(e))}success(e){console.log(b.default.green(e))}error(e){console.error(b.default.red(e))}warning(e){console.log(b.default.yellow(e))}header(e){this.logSeparator(),console.log(b.default.bold.magenta(`● ${e}`)),this.logSeparator()}reset(e){console.log(b.default.reset(e))}red(e){console.log(b.default.red(e))}green(e){console.log(b.default.green(e))}blue(e){console.log(b.default.blue(e))}yellow(e){console.log(b.default.yellow(e))}magenta(e){console.log(b.default.magenta(e))}gray(e){console.log(b.default.gray(e))}logEmptyLine(){this.info(``)}logSeparator(){this.info(`═`.repeat(50))}logSummary(e,t,n){this.logSeparator(),this.info(`\n📊 Summary: ${e} succeeded, ${t} failed out of ${n} total\n`)}};export{x as ConsoleLogger};
6
+ `);return s!==-1&&(t=o(t,i,r,s)),r+t+i},C,w=(e,...t)=>{let[n]=t;if(!s(n)||!s(n.raw))return t.join(` `);let r=t.slice(1),i=[n.raw[0]];for(let e=1;e<n.length;e++)i.push(String(r[e-1]).replace(/[{}\\]/g,`\\$&`),String(n.raw[e]));return C===void 0&&(C=y()),C(e,i.join(``))};Object.defineProperties(p.prototype,l);let T=p();T.supportsColor=r,T.stderr=p({level:i?i.level:0}),T.stderr.supportsColor=i,t.exports=T}))()),x=class{info(e,...t){console.log(b.default.blue(e),...t)}warn(e,...t){console.warn(b.default.yellow(e),...t)}error(e,...t){console.error(b.default.red(e),...t)}debug(e,...t){console.debug(b.default.gray(e),...t)}success(e,...t){console.log(b.default.green(e),...t)}header(e){this.logSeparator(),console.log(b.default.bold.magenta(`● ${e}`)),this.logSeparator()}gray(e){console.log(b.default.gray(e))}yellow(e){console.log(b.default.yellow(e))}logEmptyLine(){console.log(``)}logSeparator(){console.log(b.default.blue(`═`.repeat(50)))}logSummary(e,t,n){this.logSeparator(),console.log(b.default.blue(`\n📊 Summary: ${e} succeeded, ${t} failed out of ${n} total\n`))}};export{x as ConsoleLogger};