rslog 1.0.0-beta.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/README.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  A tiny, intuitive, type-friendly logger for Node.js.
4
4
 
5
- - **Tiny**. 1kB gzipped.
5
+ - **Tiny**. [~1kB 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.
9
9
 
10
10
  ## Preview
11
11
 
12
- ![Artboard](https://github.com/rspack-contrib/rslog/assets/7237365/436d6364-550d-4e0d-bc0f-9df1327c46b3)
12
+ ![Artboard](https://github.com/rspack-contrib/rslog/assets/7237365/9677ecb3-eff1-4c0e-9392-9b61b248fe5c)
13
13
 
14
14
  ## Install
15
15
 
@@ -99,8 +99,14 @@ The log levels of each method are as follows:
99
99
  | log | `log` |
100
100
  | verbose | `debug` |
101
101
 
102
+ ## Environment
103
+
104
+ Rslog provides both CommonJS and ESModule output and supports Node.js >= 14.
105
+
102
106
  ## Credits
103
107
 
108
+ Rslog is built with [Modern.js](https://github.com/web-infra-dev/modern.js).
109
+
104
110
  The color implementation of Rslog are modified from [alexeyraspopov/picocolors](https://github.com/alexeyraspopov/picocolors).
105
111
 
106
112
  ## License
package/dist/es/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
- var R=/^\s*at\s.*:\d+:\d+[\s)]*$/,T=/^\s*at\s.*\(<anonymous>\)$/,$=t=>R.test(t)||T.test(t),{env:m}=process,f=!("NO_COLOR"in m)&&("FORCE_COLOR"in m||process.platform==="win32"||process.stdout.isTTY&&m.TERM!=="dumb"||"CI"in m);var s=(t,o,l=t)=>f?n=>{let r=""+n,e=r.indexOf(o,t.length);return~e?t+C(r,o,l,e)+o:t+r+o}:String,C=(t,o,l,n)=>{let r=t.substring(0,n)+l,e=t.substring(n+o.length),p=e.indexOf(o);return~p?r+C(e,o,l,p):r+e},g=s("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),h=s("\x1B[31m","\x1B[39m"),u=s("\x1B[32m","\x1B[39m"),w=s("\x1B[33m","\x1B[39m"),k=s("\x1B[35m","\x1B[39m"),E=s("\x1B[36m","\x1B[39m"),v=s("\x1B[90m","\x1B[39m");var b=[189,255,243],L=[74,194,154];function M(t){if(!f)return t;let o=[...t],l=o.length,n=[(L[0]-b[0])/l,(L[1]-b[1])/l,(L[2]-b[2])/l],r="";for(let e=0;e<l;e++){let p=Math.round(b[0]+n[0]*e),a=Math.round(b[1]+n[1]*e),i=Math.round(b[2]+n[2]*e);r+=`\x1B[38;2;${p};${a};${i}m${o[e]}\x1B[39m`}return g(r)}var O={error:0,warn:1,info:2,log:3,verbose:4},d={error:{label:"error",level:"error",color:h},warn:{label:"warn",level:"warn",color:w},info:{label:"info",level:"info",color:E},start:{label:"start",level:"info",color:E},ready:{label:"ready",level:"info",color:u},success:{label:"success",level:"info",color:u},log:{level:"log"},debug:{label:"debug",level:"verbose",color:k}};var y=(t={})=>{let o=t.level||"log",l=(r,e,...p)=>{if(O[d[r].level]>O[o])return;if(e==null)return console.log();let a=d[r],i="",x="";if("label"in a&&(i=(a.label||"").padEnd(7),i=g(a.color?a.color(i):i)),e instanceof Error)if(e.stack){let[S,...c]=e.stack.split(`
2
- `);x=`${S.replace("Error: ","")}
3
- ${v(c.join(`
4
- `))}`}else x=e.message;else a.level==="error"&&typeof e=="string"?x=e.split(`
5
- `).map(c=>$(c)?v(c):c).join(`
6
- `):x=`${e}`;console.log(i.length?`${i} ${x}`:x,...p)},n={greet:r=>l("log",M(r))};return Object.keys(d).forEach(r=>{n[r]=(...e)=>l(r,...e)}),n};var H=y();export{y as createLogger,H as logger};
1
+ import R from"process";import Y from"os";import M from"tty";function c(r,l=globalThis.Deno?globalThis.Deno.args:R.argv){let n=r.startsWith("-")?"":r.length===1?"-":"--",i=l.indexOf(n+r),t=l.indexOf("--");return i!==-1&&(t===-1||i<t)}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 P(){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:n=!0}={}){let i=P();i!==void 0&&(g=i);let t=n?g:i;if(t===0)return 0;if(n){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&&t===void 0)return 0;let e=t||0;if(o.TERM==="dumb")return e;if(R.platform==="win32"){let s=Y.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:e;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:e}function y(r,l={}){let n=V(r,{streamIsTTY:r&&r.isTTY,...l});return k(n)}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 p=(r,l,n=r)=>b>=2?i=>{let t=""+i,e=t.indexOf(l,r.length);return~e?r+A(t,l,n,e)+l:r+t+l}:String,A=(r,l,n,i)=>{let t=r.substring(0,i)+n,e=r.substring(i+l.length),s=e.indexOf(l);return~s?t+A(e,l,n,s):t+e},E=p("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),N=p("\x1B[31m","\x1B[39m"),C=p("\x1B[32m","\x1B[39m"),$=p("\x1B[33m","\x1B[39m"),G=p("\x1B[35m","\x1B[39m"),d=p("\x1B[36m","\x1B[39m"),L=p("\x1B[90m","\x1B[39m");var v=[189,255,243],I=[74,194,154],w=r=>!/[\s\n]/.test(r),F=r=>{if(b<3)return b===2?E(d(r)):r;let l=[...r],n=l.filter(w).length,i=v[0],t=v[1],e=v[2],s=(I[0]-i)/n,u=(I[1]-t)/n,f=(I[2]-e)/n,a="";for(let m of l)w(m)&&(i+=s,t+=u,e+=f),a+=`\x1B[38;2;${Math.round(i)};${Math.round(t)};${Math.round(e)}m${m}\x1B[39m`;return E(a)};var _={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:d},start:{label:"start",level:"info",color:d},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 h=(r={})=>{let l=r.level||"log",n=(t,e,...s)=>{if(_[O[t].level]>_[l])return;if(e==null)return console.log();let u=O[t],f="",a="";if("label"in u&&(f=(u.label||"").padEnd(7),f=E(u.color?u.color(f):f)),e instanceof Error)if(e.stack){let[m,...x]=e.stack.split(`
2
+ `);a=`${m.replace("Error: ","")}
3
+ ${L(x.join(`
4
+ `))}`}else a=e.message;else u.level==="error"&&typeof e=="string"?a=e.split(`
5
+ `).map(x=>S(x)?L(x):x).join(`
6
+ `):a=`${e}`;console.log(f.length?`${f} ${a}`:a,...s)},i={greet:t=>n("log",F(t))};return Object.keys(O).forEach(t=>{i[t]=(...e)=>n(t,...e)}),i};var ar=h();export{h as createLogger,ar as logger};
package/dist/lib/index.js CHANGED
@@ -1,6 +1,6 @@
1
- var L=Object.defineProperty;var k=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var F=Object.prototype.hasOwnProperty;var G=(r,t)=>{for(var l in t)L(r,l,{get:t[l],enumerable:!0})},j=(r,t,l,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of _(t))!F.call(r,o)&&o!==l&&L(r,o,{get:()=>t[o],enumerable:!(n=k(t,o))||n.enumerable});return r};var Y=r=>j(L({},"__esModule",{value:!0}),r);var N={};G(N,{createLogger:()=>u,logger:()=>V});module.exports=Y(N);var I=/^\s*at\s.*:\d+:\d+[\s)]*$/,P=/^\s*at\s.*\(<anonymous>\)$/,M=r=>I.test(r)||P.test(r),{env:b}=process,c=!("NO_COLOR"in b)&&("FORCE_COLOR"in b||process.platform==="win32"||process.stdout.isTTY&&b.TERM!=="dumb"||"CI"in b);var g=(r,t,l=r)=>c?n=>{let o=""+n,e=o.indexOf(t,r.length);return~e?r+S(o,t,l,e)+t:r+o+t}:String,S=(r,t,l,n)=>{let o=r.substring(0,n)+l,e=r.substring(n+t.length),p=e.indexOf(t);return~p?o+S(e,t,l,p):o+e},f=g("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),$=g("\x1B[31m","\x1B[39m"),y=g("\x1B[32m","\x1B[39m"),T=g("\x1B[33m","\x1B[39m"),w=g("\x1B[35m","\x1B[39m"),E=g("\x1B[36m","\x1B[39m"),v=g("\x1B[90m","\x1B[39m");var m=[189,255,243],O=[74,194,154];function R(r){if(!c)return r;let t=[...r],l=t.length,n=[(O[0]-m[0])/l,(O[1]-m[1])/l,(O[2]-m[2])/l],o="";for(let e=0;e<l;e++){let p=Math.round(m[0]+n[0]*e),i=Math.round(m[1]+n[1]*e),s=Math.round(m[2]+n[2]*e);o+=`\x1B[38;2;${p};${i};${s}m${t[e]}\x1B[39m`}return f(o)}var h={error:0,warn:1,info:2,log:3,verbose:4},d={error:{label:"error",level:"error",color:$},warn:{label:"warn",level:"warn",color:T},info:{label:"info",level:"info",color:E},start:{label:"start",level:"info",color:E},ready:{label:"ready",level:"info",color:y},success:{label:"success",level:"info",color:y},log:{level:"log"},debug:{label:"debug",level:"verbose",color:w}};var u=(r={})=>{let t=r.level||"log",l=(o,e,...p)=>{if(h[d[o].level]>h[t])return;if(e==null)return console.log();let i=d[o],s="",a="";if("label"in i&&(s=(i.label||"").padEnd(7),s=f(i.color?i.color(s):s)),e instanceof Error)if(e.stack){let[C,...x]=e.stack.split(`
2
- `);a=`${C.replace("Error: ","")}
3
- ${v(x.join(`
4
- `))}`}else a=e.message;else i.level==="error"&&typeof e=="string"?a=e.split(`
5
- `).map(x=>M(x)?v(x):x).join(`
6
- `):a=`${e}`;console.log(s.length?`${s} ${a}`:a,...p)},n={greet:o=>l("log",R(o))};return Object.keys(d).forEach(o=>{n[o]=(...e)=>l(o,...e)}),n};var V=u();0&&(module.exports={createLogger,logger});
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 a(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;a("no-color")||a("no-colors")||a("color=false")||a("color=never")?L=0:(a("color")||a("colors")||a("color=true")||a("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(a("color=16m")||a("color=full")||a("color=truecolor"))return 3;if(a("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 p=(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=p("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),w=p("\x1B[31m","\x1B[39m"),h=p("\x1B[32m","\x1B[39m"),Y=p("\x1B[33m","\x1B[39m"),P=p("\x1B[35m","\x1B[39m"),d=p("\x1B[36m","\x1B[39m"),v=p("\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,u=(I[1]-t)/o,f=(I[2]-n)/o,c="";for(let g of e)k(g)&&(i+=s,t+=u,n+=f),c+=`\x1B[38;2;${Math.round(i)};${Math.round(t)};${Math.round(n)}m${g}\x1B[39m`;return b(c)};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:Y},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:P}};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 u=T[t],f="",c="";if("label"in u&&(f=(u.label||"").padEnd(7),f=b(u.color?u.color(f):f)),n instanceof Error)if(n.stack){let[g,...m]=n.stack.split(`
2
+ `);c=`${g.replace("Error: ","")}
3
+ ${v(m.join(`
4
+ `))}`}else c=n.message;else u.level==="error"&&typeof n=="string"?c=n.split(`
5
+ `).map(m=>$(m)?v(m):m).join(`
6
+ `):c=`${n}`;console.log(f.length?`${f} ${c}`:c,...s)},i={greet:t=>o("log",V(t))};return Object.keys(T).forEach(t=>{i[t]=(...n)=>o(t,...n)}),i};var rr=R();0&&(module.exports={createLogger,logger});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rslog",
3
- "version": "1.0.0-beta.9",
3
+ "version": "1.1.0",
4
4
  "types": "./dist/types/index.d.ts",
5
5
  "main": "./dist/lib/index.js",
6
6
  "module": "./dist/es/index.mjs",
@@ -14,7 +14,14 @@
14
14
  "files": [
15
15
  "dist"
16
16
  ],
17
+ "engines": {
18
+ "node": ">=14.17.6"
19
+ },
17
20
  "packageManager": "pnpm@8.8.0",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "https://github.com/rspack-contrib/rslog.git"
24
+ },
18
25
  "devDependencies": {
19
26
  "@modern-js/module-tools": "2.35.1",
20
27
  "@modern-js/plugin-testing": "2.35.1",
@@ -23,6 +30,7 @@
23
30
  "@types/node": "~16.11.7",
24
31
  "prettier": "~2.8.1",
25
32
  "rimraf": "~3.0.2",
33
+ "supports-color": "^9.4.0",
26
34
  "typescript": "~5.0.4"
27
35
  },
28
36
  "publishConfig": {