rslog 1.1.3 → 1.2.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/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A tiny, intuitive, type-friendly logger for Node.js.
4
4
 
5
- - **Tiny**. [1.9kB gzipped](https://bundlephobia.com/package/rslog@1).
5
+ - **Tiny**. [2kB gzipped](https://bundlephobia.com/package/rslog@1).
6
6
  - **Clean**. Zero dependencies.
7
7
  - **Intuitive**. Clear log prefix.
8
8
  - **Type-friendly**. Written in TypeScript.
@@ -76,7 +76,7 @@ logger.log('This is a log message');
76
76
  You can create a new logger instance through `createLogger` and specify the log level:
77
77
 
78
78
  ```js
79
- const { createLogger } = require('rslog');
79
+ import { createLogger } from 'rslog';
80
80
 
81
81
  const logger = createLogger({ level: 'warn' });
82
82
 
@@ -105,6 +105,29 @@ The log levels of each method are as follows:
105
105
  | log | `log` |
106
106
  | verbose | `debug` |
107
107
 
108
+ ## Override
109
+
110
+ You can use `logger.override` to override some or all methods of the default logger.
111
+
112
+ ```js
113
+ import { logger } from 'rslog';
114
+
115
+ logger.override({
116
+ log: message => {
117
+ console.log(`[LOG] ${message}`);
118
+ },
119
+ info: message => {
120
+ console.log(`[INFO] ${message}`);
121
+ },
122
+ warn: message => {
123
+ console.log(`[WARN] ${message}`);
124
+ },
125
+ error: message => {
126
+ console.log(`[ERROR] ${message}`);
127
+ },
128
+ });
129
+ ```
130
+
108
131
  ## Environment
109
132
 
110
133
  Rslog provides both CommonJS and ESModule output and supports Node.js >= 14.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
- var B=Object.create;var E=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var H=(r,e)=>{for(var o in e)E(r,o,{get:e[o],enumerable:!0})},A=(r,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of j(e))!W.call(r,t)&&t!==o&&E(r,t,{get:()=>e[t],enumerable:!(i=D(e,t))||i.enumerable});return r};var C=(r,e,o)=>(o=r!=null?B(U(r)):{},A(e||!r||!r.__esModule?E(o,"default",{value:r,enumerable:!0}):o,r)),K=r=>A(E({},"__esModule",{value:!0}),r);var er={};H(er,{createLogger:()=>R,logger:()=>rr});module.exports=K(er);var O=C(require("process")),F=C(require("os")),y=C(require("tty"));function c(r,e=globalThis.Deno?globalThis.Deno.args:O.default.argv){let o=r.startsWith("-")?"":r.length===1?"-":"--",i=e.indexOf(o+r),t=e.indexOf("--");return i!==-1&&(t===-1||i<t)}var{env:l}=O.default,L;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?L=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(L=1);function q(){if("FORCE_COLOR"in l)return l.FORCE_COLOR==="true"?1:l.FORCE_COLOR==="false"?0:l.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(l.FORCE_COLOR,10),3)}function z(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function J(r,{streamIsTTY:e,sniffFlags:o=!0}={}){let i=q();i!==void 0&&(L=i);let t=o?L:i;if(t===0)return 0;if(o){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if("TF_BUILD"in l&&"AGENT_NAME"in l)return 1;if(r&&!e&&t===void 0)return 0;let n=t||0;if(l.TERM==="dumb")return n;if(O.default.platform==="win32"){let s=F.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in l)return"GITHUB_ACTIONS"in l||"GITEA_ACTIONS"in l?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in l)||l.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in l)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(l.TEAMCITY_VERSION)?1:0;if(l.COLORTERM==="truecolor"||l.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in l){let s=Number.parseInt((l.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(l.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(l.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(l.TERM)||"COLORTERM"in l?1:n}function N(r,e={}){let o=J(r,{streamIsTTY:r&&r.isTTY,...e});return z(o)}var Q={stdout:N({isTTY:y.default.isatty(1)}),stderr:N({isTTY:y.default.isatty(2)})},M=Q;var x=M.stdout?M.stdout.level:0,X=/^\s*at\s.*:\d+:\d+[\s)]*$/,Z=/^\s*at\s.*\(<anonymous>\)$/,$=r=>X.test(r)||Z.test(r);var g=(r,e,o=r)=>x>=2?i=>{let t=""+i,n=t.indexOf(e,r.length);return~n?r+G(t,e,o,n)+e:r+t+e}:String,G=(r,e,o,i)=>{let t=r.substring(0,i)+o,n=r.substring(i+e.length),s=n.indexOf(e);return~s?t+G(n,e,o,s):t+n},b=g("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),w=g("\x1B[31m","\x1B[39m"),h=g("\x1B[32m","\x1B[39m"),P=g("\x1B[33m","\x1B[39m"),Y=g("\x1B[35m","\x1B[39m"),d=g("\x1B[36m","\x1B[39m"),v=g("\x1B[90m","\x1B[39m");var _=[189,255,243],I=[74,194,154],k=r=>!/[\s\n]/.test(r),V=r=>{if(x<3)return x===2?b(d(r)):r;let e=[...r],o=e.filter(k).length,i=_[0],t=_[1],n=_[2],s=(I[0]-i)/o,p=(I[1]-t)/o,f=(I[2]-n)/o,a="";for(let u of e)k(u)&&(i+=s,t+=p,n+=f),a+=`\x1B[38;2;${Math.round(i)};${Math.round(t)};${Math.round(n)}m${u}\x1B[39m`;return b(a)};var S={error:0,warn:1,info:2,log:3,verbose:4},T={error:{label:"error",level:"error",color:w},warn:{label:"warn",level:"warn",color:P},info:{label:"info",level:"info",color:d},start:{label:"start",level:"info",color:d},ready:{label:"ready",level:"info",color:h},success:{label:"success",level:"info",color:h},log:{level:"log"},debug:{label:"debug",level:"verbose",color:Y}};var R=(r={})=>{let e=r.level||"log",o=(t,n,...s)=>{if(S[T[t].level]>S[e])return;if(n==null)return console.log();let p=T[t],f="",a="";if("label"in p&&(f=(p.label||"").padEnd(7),f=b(p.color?p.color(f):f)),n instanceof Error)if(n.stack){let[u,...m]=n.stack.split(`
1
+ var j=Object.create;var O=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var U=Object.getPrototypeOf,W=Object.prototype.hasOwnProperty;var H=(r,t)=>{for(var o in t)O(r,o,{get:t[o],enumerable:!0})},A=(r,t,o,l)=>{if(t&&typeof t=="object"||typeof t=="function")for(let e of D(t))!W.call(r,e)&&e!==o&&O(r,e,{get:()=>t[e],enumerable:!(l=B(t,e))||l.enumerable});return r};var C=(r,t,o)=>(o=r!=null?j(U(r)):{},A(t||!r||!r.__esModule?O(o,"default",{value:r,enumerable:!0}):o,r)),K=r=>A(O({},"__esModule",{value:!0}),r);var er={};H(er,{createLogger:()=>R,logger:()=>rr});module.exports=K(er);var L=C(require("process")),F=C(require("os")),y=C(require("tty"));function c(r,t=globalThis.Deno?globalThis.Deno.args:L.default.argv){let o=r.startsWith("-")?"":r.length===1?"-":"--",l=t.indexOf(o+r),e=t.indexOf("--");return l!==-1&&(e===-1||l<e)}var{env:i}=L.default,E;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?E=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(E=1);function q(){if("FORCE_COLOR"in i)return i.FORCE_COLOR==="true"?1:i.FORCE_COLOR==="false"?0:i.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(i.FORCE_COLOR,10),3)}function z(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function J(r,{streamIsTTY:t,sniffFlags:o=!0}={}){let l=q();l!==void 0&&(E=l);let e=o?E:l;if(e===0)return 0;if(o){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if("TF_BUILD"in i&&"AGENT_NAME"in i)return 1;if(r&&!t&&e===void 0)return 0;let n=e||0;if(i.TERM==="dumb")return n;if(L.default.platform==="win32"){let s=F.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in i)return"GITHUB_ACTIONS"in i||"GITEA_ACTIONS"in i?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in i)||i.CI_NAME==="codeship"?1:n;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if(i.COLORTERM==="truecolor"||i.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in i){let s=Number.parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)||"COLORTERM"in i?1:n}function N(r,t={}){let o=J(r,{streamIsTTY:r&&r.isTTY,...t});return z(o)}var Q={stdout:N({isTTY:y.default.isatty(1)}),stderr:N({isTTY:y.default.isatty(2)})},M=Q;var b=M.stdout?M.stdout.level:0,X=/^\s*at\s.*:\d+:\d+[\s)]*$/,Z=/^\s*at\s.*\(<anonymous>\)$/,$=r=>X.test(r)||Z.test(r);var g=(r,t,o=r)=>b>=2?l=>{let e=""+l,n=e.indexOf(t,r.length);return~n?r+G(e,t,o,n)+t:r+e+t}:String,G=(r,t,o,l)=>{let e=r.substring(0,l)+o,n=r.substring(l+t.length),s=n.indexOf(t);return~s?e+G(n,t,o,s):e+n},x=g("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),w=g("\x1B[31m","\x1B[39m"),v=g("\x1B[32m","\x1B[39m"),P=g("\x1B[33m","\x1B[39m"),Y=g("\x1B[35m","\x1B[39m"),d=g("\x1B[36m","\x1B[39m"),h=g("\x1B[90m","\x1B[39m");var _=[189,255,243],I=[74,194,154],k=r=>!/[\s\n]/.test(r),V=r=>{if(b<3)return b===2?x(d(r)):r;let t=[...r],o=t.filter(k).length,l=_[0],e=_[1],n=_[2],s=(I[0]-l)/o,p=(I[1]-e)/o,f=(I[2]-n)/o,a="";for(let u of t)k(u)&&(l+=s,e+=p,n+=f),a+=`\x1B[38;2;${Math.round(l)};${Math.round(e)};${Math.round(n)}m${u}\x1B[39m`;return x(a)};var S={error:0,warn:1,info:2,log:3,verbose:4},T={error:{label:"error",level:"error",color:w},warn:{label:"warn",level:"warn",color:P},info:{label:"info",level:"info",color:d},start:{label:"start",level:"info",color:d},ready:{label:"ready",level:"info",color:v},success:{label:"success",level:"info",color:v},log:{level:"log"},debug:{label:"debug",level:"verbose",color:Y}};var R=(r={})=>{let t=r.level||"log",o=(e,n,...s)=>{if(S[T[e].level]>S[t])return;if(n==null)return console.log();let p=T[e],f="",a="";if("label"in p&&(f=(p.label||"").padEnd(7),f=x(p.color?p.color(f):f)),n instanceof Error)if(n.stack){let[u,...m]=n.stack.split(`
2
2
  `);u.startsWith("Error: ")&&(u=u.slice(7)),a=`${u}
3
- ${v(m.join(`
3
+ ${h(m.join(`
4
4
  `))}`}else a=n.message;else p.level==="error"&&typeof n=="string"?a=n.split(`
5
- `).map(m=>$(m)?v(m):m).join(`
6
- `):a=`${n}`;console.log(f.length?`${f} ${a}`:a,...s)},i={greet:t=>o("log",V(t))};return Object.keys(T).forEach(t=>{i[t]=(...n)=>o(t,...n)}),Object.defineProperty(i,"level",{get:()=>e,set(t){e=t}}),i};var rr=R();0&&(module.exports={createLogger,logger});
5
+ `).map(m=>$(m)?h(m):m).join(`
6
+ `):a=`${n}`;console.log(f.length?`${f} ${a}`:a,...s)},l={greet:e=>o("log",V(e))};return Object.keys(T).forEach(e=>{l[e]=(...n)=>o(e,...n)}),Object.defineProperty(l,"level",{get:()=>t,set(e){t=e}}),l.override=e=>{Object.assign(l,e)},l};var rr=R();0&&(module.exports={createLogger,logger});
package/dist/index.d.ts CHANGED
@@ -42,7 +42,7 @@ declare let LOG_TYPES: {
42
42
  };
43
43
 
44
44
  type LogLevel = 'error' | 'warn' | 'info' | 'log' | 'verbose';
45
- type LogMessage = number | string | unknown | Error | null;
45
+ type LogMessage = unknown;
46
46
  interface LogType {
47
47
  label?: string;
48
48
  level: LogLevel;
@@ -56,6 +56,7 @@ type LogMethods = keyof typeof LOG_TYPES;
56
56
  type Logger = Record<LogMethods, LogFunction> & {
57
57
  greet: (message: string) => void;
58
58
  level: LogLevel;
59
+ override: (customLogger: Partial<Record<LogMethods, LogFunction>>) => void;
59
60
  };
60
61
 
61
62
  declare let createLogger: (options?: Options) => Logger;
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import R from"process";import P from"os";import M from"tty";function c(r,l=globalThis.Deno?globalThis.Deno.args:R.argv){let i=r.startsWith("-")?"":r.length===1?"-":"--",n=l.indexOf(i+r),e=l.indexOf("--");return n!==-1&&(e===-1||n<e)}var{env:o}=R,g;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?g=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(g=1);function Y(){if("FORCE_COLOR"in o)return o.FORCE_COLOR==="true"?1:o.FORCE_COLOR==="false"?0:o.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(o.FORCE_COLOR,10),3)}function k(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function V(r,{streamIsTTY:l,sniffFlags:i=!0}={}){let n=Y();n!==void 0&&(g=n);let e=i?g:n;if(e===0)return 0;if(i){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if("TF_BUILD"in o&&"AGENT_NAME"in o)return 1;if(r&&!l&&e===void 0)return 0;let t=e||0;if(o.TERM==="dumb")return t;if(R.platform==="win32"){let s=P.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in o)return"GITHUB_ACTIONS"in o||"GITEA_ACTIONS"in o?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in o)||o.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if(o.COLORTERM==="truecolor"||o.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in o){let s=Number.parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:t}function y(r,l={}){let i=V(r,{streamIsTTY:r&&r.isTTY,...l});return k(i)}var B={stdout:y({isTTY:M.isatty(1)}),stderr:y({isTTY:M.isatty(2)})},T=B;var b=T.stdout?T.stdout.level:0,D=/^\s*at\s.*:\d+:\d+[\s)]*$/,j=/^\s*at\s.*\(<anonymous>\)$/,S=r=>D.test(r)||j.test(r);var m=(r,l,i=r)=>b>=2?n=>{let e=""+n,t=e.indexOf(l,r.length);return~t?r+A(e,l,i,t)+l:r+e+l}:String,A=(r,l,i,n)=>{let e=r.substring(0,n)+i,t=r.substring(n+l.length),s=t.indexOf(l);return~s?e+A(t,l,i,s):e+t},d=m("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),N=m("\x1B[31m","\x1B[39m"),C=m("\x1B[32m","\x1B[39m"),$=m("\x1B[33m","\x1B[39m"),G=m("\x1B[35m","\x1B[39m"),E=m("\x1B[36m","\x1B[39m"),L=m("\x1B[90m","\x1B[39m");var v=[189,255,243],h=[74,194,154],w=r=>!/[\s\n]/.test(r),F=r=>{if(b<3)return b===2?d(E(r)):r;let l=[...r],i=l.filter(w).length,n=v[0],e=v[1],t=v[2],s=(h[0]-n)/i,p=(h[1]-e)/i,a=(h[2]-t)/i,f="";for(let u of l)w(u)&&(n+=s,e+=p,t+=a),f+=`\x1B[38;2;${Math.round(n)};${Math.round(e)};${Math.round(t)}m${u}\x1B[39m`;return d(f)};var I={error:0,warn:1,info:2,log:3,verbose:4},O={error:{label:"error",level:"error",color:N},warn:{label:"warn",level:"warn",color:$},info:{label:"info",level:"info",color:E},start:{label:"start",level:"info",color:E},ready:{label:"ready",level:"info",color:C},success:{label:"success",level:"info",color:C},log:{level:"log"},debug:{label:"debug",level:"verbose",color:G}};var _=(r={})=>{let l=r.level||"log",i=(e,t,...s)=>{if(I[O[e].level]>I[l])return;if(t==null)return console.log();let p=O[e],a="",f="";if("label"in p&&(a=(p.label||"").padEnd(7),a=d(p.color?p.color(a):a)),t instanceof Error)if(t.stack){let[u,...x]=t.stack.split(`
2
- `);u.startsWith("Error: ")&&(u=u.slice(7)),f=`${u}
3
- ${L(x.join(`
4
- `))}`}else f=t.message;else p.level==="error"&&typeof t=="string"?f=t.split(`
5
- `).map(x=>S(x)?L(x):x).join(`
6
- `):f=`${t}`;console.log(a.length?`${a} ${f}`:f,...s)},n={greet:e=>i("log",F(e))};return Object.keys(O).forEach(e=>{n[e]=(...t)=>i(e,...t)}),Object.defineProperty(n,"level",{get:()=>l,set(e){l=e}}),n};var fr=_();export{_ as createLogger,fr as logger};
1
+ import R from"process";import P from"os";import M from"tty";function c(r,l=globalThis.Deno?globalThis.Deno.args:R.argv){let i=r.startsWith("-")?"":r.length===1?"-":"--",n=l.indexOf(i+r),e=l.indexOf("--");return n!==-1&&(e===-1||n<e)}var{env:o}=R,E;c("no-color")||c("no-colors")||c("color=false")||c("color=never")?E=0:(c("color")||c("colors")||c("color=true")||c("color=always"))&&(E=1);function Y(){if("FORCE_COLOR"in o)return o.FORCE_COLOR==="true"?1:o.FORCE_COLOR==="false"?0:o.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(o.FORCE_COLOR,10),3)}function k(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function V(r,{streamIsTTY:l,sniffFlags:i=!0}={}){let n=Y();n!==void 0&&(E=n);let e=i?E:n;if(e===0)return 0;if(i){if(c("color=16m")||c("color=full")||c("color=truecolor"))return 3;if(c("color=256"))return 2}if("TF_BUILD"in o&&"AGENT_NAME"in o)return 1;if(r&&!l&&e===void 0)return 0;let t=e||0;if(o.TERM==="dumb")return t;if(R.platform==="win32"){let s=P.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in o)return"GITHUB_ACTIONS"in o||"GITEA_ACTIONS"in o?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in o)||o.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if(o.COLORTERM==="truecolor"||o.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in o){let s=Number.parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)||"COLORTERM"in o?1:t}function y(r,l={}){let i=V(r,{streamIsTTY:r&&r.isTTY,...l});return k(i)}var j={stdout:y({isTTY:M.isatty(1)}),stderr:y({isTTY:M.isatty(2)})},T=j;var x=T.stdout?T.stdout.level:0,B=/^\s*at\s.*:\d+:\d+[\s)]*$/,D=/^\s*at\s.*\(<anonymous>\)$/,S=r=>B.test(r)||D.test(r);var m=(r,l,i=r)=>x>=2?n=>{let e=""+n,t=e.indexOf(l,r.length);return~t?r+A(e,l,i,t)+l:r+e+l}:String,A=(r,l,i,n)=>{let e=r.substring(0,n)+i,t=r.substring(n+l.length),s=t.indexOf(l);return~s?e+A(t,l,i,s):e+t},d=m("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),N=m("\x1B[31m","\x1B[39m"),C=m("\x1B[32m","\x1B[39m"),$=m("\x1B[33m","\x1B[39m"),G=m("\x1B[35m","\x1B[39m"),g=m("\x1B[36m","\x1B[39m"),L=m("\x1B[90m","\x1B[39m");var v=[189,255,243],h=[74,194,154],w=r=>!/[\s\n]/.test(r),F=r=>{if(x<3)return x===2?d(g(r)):r;let l=[...r],i=l.filter(w).length,n=v[0],e=v[1],t=v[2],s=(h[0]-n)/i,p=(h[1]-e)/i,f=(h[2]-t)/i,a="";for(let u of l)w(u)&&(n+=s,e+=p,t+=f),a+=`\x1B[38;2;${Math.round(n)};${Math.round(e)};${Math.round(t)}m${u}\x1B[39m`;return d(a)};var I={error:0,warn:1,info:2,log:3,verbose:4},O={error:{label:"error",level:"error",color:N},warn:{label:"warn",level:"warn",color:$},info:{label:"info",level:"info",color:g},start:{label:"start",level:"info",color:g},ready:{label:"ready",level:"info",color:C},success:{label:"success",level:"info",color:C},log:{level:"log"},debug:{label:"debug",level:"verbose",color:G}};var _=(r={})=>{let l=r.level||"log",i=(e,t,...s)=>{if(I[O[e].level]>I[l])return;if(t==null)return console.log();let p=O[e],f="",a="";if("label"in p&&(f=(p.label||"").padEnd(7),f=d(p.color?p.color(f):f)),t instanceof Error)if(t.stack){let[u,...b]=t.stack.split(`
2
+ `);u.startsWith("Error: ")&&(u=u.slice(7)),a=`${u}
3
+ ${L(b.join(`
4
+ `))}`}else a=t.message;else p.level==="error"&&typeof t=="string"?a=t.split(`
5
+ `).map(b=>S(b)?L(b):b).join(`
6
+ `):a=`${t}`;console.log(f.length?`${f} ${a}`:a,...s)},n={greet:e=>i("log",F(e))};return Object.keys(O).forEach(e=>{n[e]=(...t)=>i(e,...t)}),Object.defineProperty(n,"level",{get:()=>l,set(e){l=e}}),n.override=e=>{Object.assign(n,e)},n};var ar=_();export{_ as createLogger,ar as logger};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rslog",
3
- "version": "1.1.3",
3
+ "version": "1.2.0",
4
4
  "types": "./dist/index.d.ts",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",
@@ -38,7 +38,7 @@
38
38
  "registry": "https://registry.npmjs.org/"
39
39
  },
40
40
  "scripts": {
41
- "preview": "node ./preview.mjs",
41
+ "preview": "bun run ./preview.ts",
42
42
  "dev": "modern dev",
43
43
  "build": "modern build",
44
44
  "build:watch": "modern build -w",