@flemist/simple-utils 1.0.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/LICENSE +5 -0
- package/README.md +19 -0
- package/build/browser/index.cjs +1 -0
- package/build/browser/index.d.ts +1 -0
- package/build/browser/index.mjs +53 -0
- package/build/common/async/abort/index.d.ts +2 -0
- package/build/common/async/abort/timeout.d.ts +3 -0
- package/build/common/async/abort/timeoutAbortController.d.ts +8 -0
- package/build/common/async/index.d.ts +2 -0
- package/build/common/async/lazy.d.ts +31 -0
- package/build/common/crypto/index.d.ts +2 -0
- package/build/common/crypto/sha256.d.ts +10 -0
- package/build/common/crypto/sha256Node.d.ts +2 -0
- package/build/common/crypto/toHex.d.ts +8 -0
- package/build/common/debug/console/alertReplace.d.ts +2 -0
- package/build/common/debug/console/consoleReplace.d.ts +13 -0
- package/build/common/debug/console/index.d.ts +2 -0
- package/build/common/debug/index.d.ts +2 -0
- package/build/common/debug/stack-trace/fixStackTrace.d.ts +1 -0
- package/build/common/debug/stack-trace/getCallerStackFrame.d.ts +2 -0
- package/build/common/debug/stack-trace/getStackTrace.d.ts +1 -0
- package/build/common/debug/stack-trace/index.d.ts +2 -0
- package/build/common/debug/stack-trace/parseStackTrace.d.ts +8 -0
- package/build/common/index.cjs +1 -0
- package/build/common/index.d.ts +10 -0
- package/build/common/index.mjs +53 -0
- package/build/common/number/floatAsInt.d.ts +7 -0
- package/build/common/number/index.d.ts +2 -0
- package/build/common/number/minMax.d.ts +10 -0
- package/build/common/number/numberMod.d.ts +2 -0
- package/build/common/number/prime.d.ts +3 -0
- package/build/common/number/round.d.ts +19 -0
- package/build/common/object/deepCloneJsonLike.d.ts +6 -0
- package/build/common/object/deepEqualJsonLike.d.ts +6 -0
- package/build/common/object/deepEqualJsonLikeMap.d.ts +5 -0
- package/build/common/object/equalArray.d.ts +2 -0
- package/build/common/object/getNormalizedObject.d.ts +1 -0
- package/build/common/object/index.d.ts +5 -0
- package/build/common/random/Random.d.ts +16 -0
- package/build/common/random/createUniquePseudoRandom.d.ts +6 -0
- package/build/common/random/helpers.d.ts +9 -0
- package/build/common/random/index.d.ts +3 -0
- package/build/common/string/color/rgbaToHex.d.ts +2 -0
- package/build/common/string/escape/escapeHtml.d.ts +2 -0
- package/build/common/string/escape/escapeRegExp.d.ts +2 -0
- package/build/common/string/escape/index.d.ts +2 -0
- package/build/common/string/format/formatAny.d.ts +9 -0
- package/build/common/string/format/formatDate.d.ts +4 -0
- package/build/common/string/format/formatDateFileName.d.ts +4 -0
- package/build/common/string/format/getObjectId.d.ts +2 -0
- package/build/common/string/format/index.d.ts +3 -0
- package/build/common/string/index.d.ts +2 -0
- package/build/common/time/dateNowUnique.d.ts +5 -0
- package/build/common/time/dateToString.d.ts +2 -0
- package/build/common/time/getDateInet.d.ts +8 -0
- package/build/common/time/index.d.ts +3 -0
- package/build/common/time/timeZone.d.ts +2 -0
- package/build/common/types/common.d.ts +21 -0
- package/build/common/types/index.d.ts +1 -0
- package/build/common/url/index.d.ts +1 -0
- package/build/common/url/urlGet.d.ts +8 -0
- package/build/node/fs/fileLock.d.ts +6 -0
- package/build/node/fs/glob/createMatchPath.d.ts +28 -0
- package/build/node/fs/glob/globGitIgnoreToPicomatch.d.ts +1 -0
- package/build/node/fs/glob/globToRelative.d.ts +6 -0
- package/build/node/fs/glob/index.d.ts +4 -0
- package/build/node/fs/glob/loadGlobs.d.ts +19 -0
- package/build/node/fs/index.d.ts +5 -0
- package/build/node/fs/pathNormalize.d.ts +2 -0
- package/build/node/fs/pools.d.ts +2 -0
- package/build/node/fs/walk/helpers.d.ts +4 -0
- package/build/node/fs/walk/index.d.ts +2 -0
- package/build/node/fs/walk/walkPaths.d.ts +52 -0
- package/build/node/index.cjs +2 -0
- package/build/node/index.d.ts +2 -0
- package/build/node/index.mjs +348 -0
- package/build/urlGet-B8-MSnoY.mjs +764 -0
- package/build/urlGet-CZFNBQ4G.js +11 -0
- package/package.json +137 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";const B=require("@flemist/abort-controller-fast"),Z=require("@flemist/async-utils"),$t=require("@flemist/time-controller");let D=null;function Ut(){if(!D){D=new Array(256);for(let t=0;t<256;t++)D[t]=t.toString(16).padStart(2,"0")}return D}function ot(t){const e=Ut(),r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let n="";for(let o=0,i=r.length;o<i;o++)n+=e[r[o]];return n}let X=null,it=null,q=null,st=null;function Tt(){X||(X=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),it=new Uint32Array(64),st=new TextEncoder,q=new Uint8Array(65536))}function ut(t){if(t==null)return null;Tt();const e=X,r=it,n=st;let o=q,i;if(typeof t=="string"){const m=t.length*3;o.length<m+128&&(o=q=new Uint8Array(m+128));const f=n.encodeInto(t,o);i=o.subarray(0,f.written)}else if(t instanceof Uint8Array)i=t;else if(ArrayBuffer.isView(t))i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);else throw new Error(`[sha256Buffer] Unsupported content type: ${typeof t}`);const c=i.length,a=c+72>>>6<<6;o.length<a&&(o=q=new Uint8Array(a)),i!==o&&o.set(i),o[c]=128;for(let m=c+1;m<a;m++)o[m]=0;const T=c*8,R=T/4294967296|0,A=T|0;o[a-8]=R>>>24,o[a-7]=R>>>16,o[a-6]=R>>>8,o[a-5]=R,o[a-4]=A>>>24,o[a-3]=A>>>16,o[a-2]=A>>>8,o[a-1]=A;let y=1779033703,s=-1150833019,u=1013904242,l=-1521486534,p=1359893119,d=-1694144372,w=528734635,O=1541459225;for(let m=0;m<a;m+=64){for(let h=0;h<16;h++){const g=m+(h<<2);r[h]=o[g]<<24|o[g+1]<<16|o[g+2]<<8|o[g+3]}for(let h=16;h<64;h++){const g=r[h-15],U=r[h-2],W=(g>>>7|g<<25)^(g>>>18|g<<14)^g>>>3,L=(U>>>17|U<<15)^(U>>>19|U<<13)^U>>>10;r[h]=r[h-16]+W+r[h-7]+L|0}let f=y,S=s,N=u,b=l,_=p,P=d,x=w,H=O;for(let h=0;h<64;h+=4)for(let g=0;g<4;g++){const U=h+g,W=(_>>>6|_<<26)^(_>>>11|_<<21)^(_>>>25|_<<7),L=H+W+(x^_&(P^x))+e[U]+r[U]|0,Ot=((f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10))+(f&S^N&(f^S))|0;H=x,x=P,P=_,_=b+L|0,b=N,N=S,S=f,f=L+Ot|0}y=y+f|0,s=s+S|0,u=u+N|0,l=l+b|0,p=p+_|0,d=d+P|0,w=w+x|0,O=O+H|0}const E=new Uint8Array(32),G=[y,s,u,l,p,d,w,O];for(let m=0;m<8;m++){const f=G[m],S=m<<2;E[S]=f>>>24,E[S+1]=f>>>16&255,E[S+2]=f>>>8&255,E[S+3]=f&255}return E}function At(t){const e=ut(t);return e?ot(e):null}function lt(t,e){return t==null?e:e==null?t:Math.min(t,e)}function at(t,e){return t==null?e:e==null?t:Math.max(t,e)}function Et(t,e,r){return at(lt(t,e),r)}function Ct(t,e){return(t%e+e)%e}function Rt(t){return function(){let r=t+=1831565813;return r=Math.imul(r^r>>>15,r|1),r^=r+Math.imul(r^r>>>7,r|61),(r^r>>>14)/4294967296+.5}}function It(){return Math.random()}function xt(){return Math.random()*2**32>>>0}function ct(t){return t!=null?Rt(t):It}class V{_seed;_rnd;constructor(e){this._seed=e,this._rnd=ct(e)}get seed(){return this._seed}nextSeed(){return this.next()*2**32>>>0}nextRandom(){return new V(this.nextSeed())}next(){return this._rnd()}clone(){return new V(this._seed)}}function v(t,e,r){if(r==null&&(r=e,e=0),r<=e)throw new Error(`[random][randomFloat] toExclusive (${r}) must be greater than from (${e})`);return t.next()*(r-e)+e}function ft(t,e,r){return Math.floor(v(t,e,r))}function kt(t,e){return t.next()<(e??.5)}function Mt(t,e,r){if(Array.isArray(e)){const i=e;e=i.length,r=c=>i[c]}if(!r)throw new Error("[random][randomIndexWeighted] getWeight is required");let n=0;for(let i=0;i<e;i++)n+=r(i);if(n===0)return-1;let o=v(t,n);for(let i=0;i<e;i++)if(o-=r(i),o<0)return i;return e-1}function K(t,e){if(e.length===0)throw new Error("[random][randomItem] items is empty");const r=ft(t,e.length);return e[r]}function Nt(t,e,r){if(e.length===0)throw new Error("[random][randomItems] items is empty");const n=[];for(let o=0;o<r;o++)n.push(K(t,e));return n}function Pt(t,e,r){let n=Object.values(e);return r&&(n=n.filter(r)),K(t,n)}const ht=1073741789,F=(ht>>2)-1;function Lt(t=F,e){if(t<=0)throw new Error(`[random][PseudoRandom] count(${t}) must be > 0`);if(t>F)throw new Error(`[random][PseudoRandom] count(${t}) must be <= ${F}`);if(e==null&&(e=Math.floor(Math.random()*t)),e>=t)throw new Error(`[random][PseudoRandom] startFrom(${e}) must be < count(${t})`);let r=e;return function(){return r=(r+ht)%t,r}}let k=null;function Dt(){const t=Date.now();return k==null||t>k?(k=t,t):(k++,k)}async function qt({url:t,timeout:e}={}){t||(t=typeof window<"u"?"/":"https://google.com");let r;try{const n=new B.AbortControllerFast;r=e?setTimeout(()=>{n.abort()},e):null;const o=await fetch(t,{method:"HEAD",signal:B.toAbortSignal(n.signal)}),i=o.headers.get("date");if(!i)throw new Error(`[Now][getDateInet] No date header in response: ${o.status} ${t}`);return new Date(i).getTime()}finally{r&&clearTimeout(r)}}function j(t,e,r){const n=e==null?t:new Date(t.toLocaleString("en-US",{timeZone:e})),o=r==null?t:new Date(t.toLocaleString("en-US",{timeZone:r}));return new Date(t.getTime()+o.getTime()-n.getTime())}function mt(t,e){t=j(t,"UTC",e);const r=t.getUTCFullYear().toString().padStart(4,"0"),n=(t.getUTCMonth()+1).toString().padStart(2,"0"),o=t.getUTCDate().toString().padStart(2,"0"),i=t.getUTCHours().toString().padStart(2,"0"),c=t.getUTCMinutes().toString().padStart(2,"0"),a=t.getUTCSeconds().toString().padStart(2,"0");return`${r}-${n}-${o} ${i}:${c}:${a}`}let Ft=0;const J=new WeakMap;function $(t){if(J.has(t))return J.get(t);const e=Ft++;return J.set(t,e),e}function Bt(t,e){try{return t[e]}catch(r){return"Error: "+(r?.message||String(r))}}function I(t,e={},r=[],n=new Set){const{pretty:o,filter:i,maxDepth:c,maxItems:a,showObjectId:T,showArrayIndex:R,customToString:A}=e;if(A){const s=A(t,u=>I(u,e,r,n));if(s!=null)return s}const y=r.length;if(typeof t=="string")return JSON.stringify(t);if(t==null||typeof t!="object")return String(t);if(typeof t.byteLength=="number")return`${t.constructor.name}#${$(t)}[${t.byteLength}]`;if(t instanceof RegExp)return String(t);if(t instanceof Date)return mt(t);if(Array.isArray(t)){if(n.has(t)||c!=null&&y>=c)return`#${$(t)}`;const s=o?" ".repeat(y):"";let u="";T&&(u+=`#${$(t)} `),u+="[";const l=a!=null?Math.min(t.length,a):t.length;l>0&&o&&(u+=`
|
|
2
|
+
`);for(let p=0;p<l;p++){const d=[...r,String(p)];if(i!=null&&!i(d,t[p]))continue;const w=t[p],O=I(w,e,d);p>0&&(u+=",",o&&(u+=`
|
|
3
|
+
`)),o&&(u+=`${s} `),R&&(u+=`${p}: `),u+=`${O}`}return l>0&&o&&(u+=`
|
|
4
|
+
`),t.length>l&&(l>0&&(u+=","),u+=o?`${s} ...
|
|
5
|
+
`:"..."),l>0&&o&&(u+=s),u+="]",u}if(t instanceof Map){if(n.has(t)||c!=null&&y>=c)return`#${$(t)}`;let s="";return T&&(s+=`#${$(t)} `),s+="Map",s+=I(Array.from(t.entries()),e,r,n),s}if(t instanceof Set){if(n.has(t)||c!=null&&y>=c)return`#${$(t)}`;let s="";return T&&(s+=`#${$(t)} `),s+="Set",s+=I(Array.from(t.values()),e,r,n),s}{const s=t.prototype?.constructor===Object?"":t.prototype?.constructor.name;if(n.has(t)||c!=null&&y>=c)return`${s}#${$(t)}`;const u=o?" ".repeat(y):"";let l=s?`${s} `:"";T&&(l+=`#${$(t)} `),l+="{";const p=a!=null?Math.min(t.length,a):t.length;let d=0;for(const w in t){if(d===0&&o&&(l+=`
|
|
6
|
+
`),d>=p){d>0&&(l+=","),l+=o?`${u} ...
|
|
7
|
+
`:"...";break}const O=[...r,w];if(i!=null&&!i(O,t[w]))continue;const E=Bt(t,w),G=I(E,e,O);d>0&&(l+=",",o&&(l+=`
|
|
8
|
+
`)),o&&(l+=`${u} `),l+=`${w}: ${G}`,d++}return d>0&&o&&(l+=`
|
|
9
|
+
${u}`),l+="}",l}}function Vt(t,e){t=j(t,"UTC",e);const r=t.getUTCFullYear().toString().padStart(4,"0"),n=(t.getUTCMonth()+1).toString().padStart(2,"0"),o=t.getUTCDate().toString().padStart(2,"0"),i=t.getUTCHours().toString().padStart(2,"0"),c=t.getUTCMinutes().toString().padStart(2,"0"),a=t.getUTCSeconds().toString().padStart(2,"0");return`${r}-${n}-${o}_${i}-${c}-${a}`}function zt(t){return t==null?null:t.replace(/[&<>"']/g,e=>{switch(e){case"&":return"&";case"<":return"<";case">":return"&rt;";case'"':return""";default:return"'"}})}function Gt(t){return t==null?null:t?.replace(/[/\\^$*+?.()|[\]{}]/g,"\\$&")}function Y(t){if(t==null)return null;if(Array.isArray(t)){const e=t.length,r=[];for(let n=0;n<e;n++)r.push(Y(t[n]));return r}if(typeof t=="object"){if(t.constructor&&t.constructor!==Object)throw new Error(`[deepCloneJsonLike] unexpected behavior: value.constructor (${t.constructor}) !== Object`);const e={};for(const r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=Y(t[r]));return e}return t}function M(t,e){if(t===e)return!0;if(t==null)return e==null;if(e==null)return!1;if(Array.isArray(t)){if(!Array.isArray(e))return!1;const r=t.length;if(r!==e.length)return!1;for(let n=0;n<r;n++)if(!M(t[n],e[n]))return!1;return!0}if(typeof t=="object"){if(typeof e!="object")return!1;if(t.constructor&&t.constructor!==Object)throw new Error(`[deepEqual] unexpected behavior: a.constructor (${t.constructor}) !== Object`);if(e.constructor&&e.constructor!==Object)throw new Error(`[deepEqual] unexpected behavior: b.constructor (${e.constructor}) !== Object`);for(const r in t)if(Object.prototype.hasOwnProperty.call(t,r)&&!M(t[r],Object.prototype.hasOwnProperty.call(e,r)?e[r]:null))return!1;for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&!Object.prototype.hasOwnProperty.call(t,r)&&!M(e[r],null))return!1;return!0}return!1}function bt(t,e){if(t==null||e==null)return t==null==(e==null);if(t.size!==e.size)return!1;for(const[r,n]of t)if(!M(n,e.get(r)))return!1;return!0}function Ht(t,e){const r=t.length;if(r!==e.length)return!1;for(let n=0;n<r;n++)if(t[n]!==e[n])return!1;return!0}function Q(t){return!t||typeof t!="object"?t:Array.isArray(t)?t.map(Q):t&&Object.keys(t).sort().reduce((e,r)=>{const n=Q(t[r]);return n!=null&&(e[r]=n),e},{})}function Wt(t){const e=alert;return window.alert=r=>t(e,r),()=>{window.alert=e}}var tt=(t=>(t.log="log",t.warn="warn",t.error="error",t.info="info",t.debug="debug",t.trace="trace",t.assert="assert",t))(tt||{});const et=Object.values(tt);function C(t){return function(){t.apply(console,arguments)}}const rt={log:C(console.log),warn:C(console.warn),error:C(console.error),info:C(console.info),debug:C(console.debug),trace:C(console.trace),assert:C(console.assert)};function pt(t){return et.forEach(e=>{console[e]=(...r)=>{t(rt,e,r)}}),()=>{et.forEach(e=>{console[e]=rt[e]})}}function Jt(t){return function(r){const n=pt(t);try{const o=r();return Z.isPromiseLike(o)?o.then(i=>(n(),i),i=>{throw n(),i}):o}finally{n()}}}function dt(){let t=new Error().stack;if(t!=null){const e=t.indexOf(`
|
|
10
|
+
`);e!=null&&e>=0&&(t=t.substring(e+1))}return t??""}function Xt(t){return function(...e){const r=dt();try{return t.apply(this,e)}catch(n){throw n instanceof Error||(n=new Error(String(n))),n.stack=n.stack?n.stack+`
|
|
11
|
+
`+r:r,n}}}function gt(t){if(!t||t.timeout==null)return null;const e=new B.AbortControllerFast,r=t.timeController??$t.timeControllerDefault;if(t.timeout){const n=r.setTimeout(()=>{e.abort(new B.AbortError(`[timeoutAbortController] Timeout error: ${t.timeout}ms`))},t.timeout);e.signal.subscribe(()=>{clearTimeout(n)})}return t.abortSignal?.subscribe(n=>{e.abort(n)}),e}async function Yt(t,e){const r=gt(e);try{return await t(r?.signal??e?.abortSignal??null)}finally{r?.abort()}}class Qt{_options;_hasValue=!1;_promiseOrValue=null;constructor(e){this._options=e}run(){if(!this._hasValue){let e=this._options.func();const r=o=>(this._options.persist?this._promiseOrValue=o:(this._promiseOrValue=null,this._hasValue=!1),o),n=o=>{throw this._options.persist||(this._promiseOrValue=null,this._hasValue=!1),o};if(Z.isPromiseLike(e))e=e.then(r,n);else if(!this._options.persist)return e;this._promiseOrValue=e,this._hasValue=!0}return this._promiseOrValue}set(e){if(!this._options.persist)throw new Error("[Lazy][set] Cannot set value when persist is false");this._hasValue=!0,this._promiseOrValue=e}}class Zt{_options;_promiseOrValues=new Map;constructor(e){this._options=e}run(e){if(this._promiseOrValues.has(e))return this._promiseOrValues.get(e);let r=this._options.func(e);const n=i=>(this._options.persist?this._promiseOrValues.set(e,i):this._promiseOrValues.delete(e),i),o=i=>{throw this._options.persist||this._promiseOrValues.delete(e),i};if(Z.isPromiseLike(r))r=r.then(n,o);else if(!this._options.persist)return r;return this._promiseOrValues.set(e,r),r}set(e,r){if(!this._options.persist)throw new Error("[LazyWithId][set] Cannot set value when persist is false");this._promiseOrValues.set(e,r)}}function nt(t){return t.replace(/\W/g,"").toLowerCase()}function yt(t){return t instanceof URL?t.searchParams:t instanceof URLSearchParams?t:typeof t=="string"?new URL(t).searchParams:typeof window<"u"?new URL(window.location.href).searchParams:new URLSearchParams}function wt(t){return t==null?null:(t=t.toLowerCase().trim(),t==="true"||t==="1"||t==="yes"?!0:t==="false"||t==="0"||t==="no"?!1:null)}function St(t){if(t==null)return null;t=t.trim();const e=parseInt(t,10);return isNaN(e)?null:e}function _t(t){if(t==null)return null;t=t.trim();const e=parseFloat(t);return isNaN(e)?null:e}function z(t,e){const r=yt(e),n=nt(t);for(const[o,i]of r.entries())if(nt(o)===n)return i;return null}function vt(t,e){return wt(z(t,e))}function Kt(t,e){return St(z(t,e))}function jt(t,e){return _t(z(t,e))}exports.ConsoleMessageLevel=tt;exports.Lazy=Qt;exports.LazyWithId=Zt;exports.Random=V;exports.UNIQUE_PSEUDO_RANDOM_MAX_COUNT=F;exports.alertReplace=Wt;exports.consoleReplace=pt;exports.convertTimeZone=j;exports.createUniquePseudoRandom=Lt;exports.dateNowUnique=Dt;exports.deepCloneJsonLike=Y;exports.deepEqualJsonLike=M;exports.deepEqualJsonLikeMap=bt;exports.equalArray=Ht;exports.escapeHtml=zt;exports.escapeRegExp=Gt;exports.fixStackTrace=Xt;exports.formatAny=I;exports.formatDate=mt;exports.formatDateFileName=Vt;exports.getDateInet=qt;exports.getNormalizedObject=Q;exports.getRandomFunc=ct;exports.getRandomSeed=xt;exports.getStackTrace=dt;exports.max=at;exports.min=lt;exports.minMax=Et;exports.numberMod=Ct;exports.randomBoolean=kt;exports.randomEnum=Pt;exports.randomFloat=v;exports.randomIndexWeighted=Mt;exports.randomInt=ft;exports.randomItem=K;exports.randomItems=Nt;exports.sha256=At;exports.sha256Buffer=ut;exports.timeoutAbortController=gt;exports.toHex=ot;exports.urlGetBoolean=vt;exports.urlGetFloat=jt;exports.urlGetInt=Kt;exports.urlGetParams=yt;exports.urlGetString=z;exports.urlParamToBoolean=wt;exports.urlParamToFloat=_t;exports.urlParamToInt=St;exports.withConsoleReplace=Jt;exports.withTimeout=Yt;
|
package/package.json
ADDED
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@flemist/simple-utils",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Simple simple utils",
|
|
5
|
+
"sideEffects": false,
|
|
6
|
+
"types": "build/common/index.d.ts",
|
|
7
|
+
"main": "build/common/index.cjs",
|
|
8
|
+
"module": "build/common/index.mjs",
|
|
9
|
+
"exports": {
|
|
10
|
+
"./package.json": "./package.json",
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./build/common/index.d.ts",
|
|
13
|
+
"browser": {
|
|
14
|
+
"types": "./build/browser/index.d.ts",
|
|
15
|
+
"import": "./build/browser/index.mjs",
|
|
16
|
+
"require": "./build/browser/index.cjs"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"types": "./build/node/index.d.ts",
|
|
20
|
+
"import": "./build/node/index.mjs",
|
|
21
|
+
"require": "./build/node/index.cjs"
|
|
22
|
+
},
|
|
23
|
+
"import": "./build/common/index.mjs",
|
|
24
|
+
"require": "./build/common/index.cjs"
|
|
25
|
+
},
|
|
26
|
+
"./browser": {
|
|
27
|
+
"types": "./build/browser/index.d.ts",
|
|
28
|
+
"import": "./build/browser/index.mjs",
|
|
29
|
+
"require": "./build/browser/index.cjs"
|
|
30
|
+
},
|
|
31
|
+
"./node": {
|
|
32
|
+
"types": "./build/node/index.d.ts",
|
|
33
|
+
"import": "./build/node/index.mjs",
|
|
34
|
+
"require": "./build/node/index.cjs"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=20"
|
|
39
|
+
},
|
|
40
|
+
"lint-staged": {
|
|
41
|
+
"*.{js,cjs,mjs,ts,cts,mts,svelte,json,json5,jsonc}": [
|
|
42
|
+
"eslint --fix"
|
|
43
|
+
],
|
|
44
|
+
"*.{css,pcss,html,svelte}": [
|
|
45
|
+
"stylelint --fix --allow-empty-input"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "git+https://github.com/NikolayMakhonin/simple-utils.git"
|
|
51
|
+
},
|
|
52
|
+
"keywords": [],
|
|
53
|
+
"author": {
|
|
54
|
+
"name": "Nikolay Makhonin",
|
|
55
|
+
"url": "https://github.com/NikolayMakhonin/"
|
|
56
|
+
},
|
|
57
|
+
"license": "Unlimited Free",
|
|
58
|
+
"bugs": {
|
|
59
|
+
"url": "https://github.com/NikolayMakhonin/simple-utils/issues"
|
|
60
|
+
},
|
|
61
|
+
"homepage": "https://github.com/NikolayMakhonin/simple-utils",
|
|
62
|
+
"publishConfig": {
|
|
63
|
+
"access": "public"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@eslint/compat": "1.2.4",
|
|
67
|
+
"@eslint/eslintrc": "3.2.0",
|
|
68
|
+
"@eslint/js": "9.17.0",
|
|
69
|
+
"@flemist/copy-glob-flat": "0.0.5",
|
|
70
|
+
"@flemist/mcp-project-tools": "3.0.20",
|
|
71
|
+
"@flemist/test-utils": "1.0.2",
|
|
72
|
+
"@flemist/test-variants": "1.0.7",
|
|
73
|
+
"@types/eslint": "9.6.1",
|
|
74
|
+
"@types/node": "22.12.0",
|
|
75
|
+
"@typescript-eslint/eslint-plugin": "8.19.0",
|
|
76
|
+
"@typescript-eslint/parser": "8.19.0",
|
|
77
|
+
"@vitest/browser": "3.2.4",
|
|
78
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
79
|
+
"eslint": "9.17.0",
|
|
80
|
+
"eslint-config-prettier": "9.1.0",
|
|
81
|
+
"eslint-plugin-jsonc": "2.18.2",
|
|
82
|
+
"eslint-plugin-prettier": "5.2.1",
|
|
83
|
+
"globals": "16.0.0",
|
|
84
|
+
"husky": "9.1.7",
|
|
85
|
+
"lint-staged": "15.3.0",
|
|
86
|
+
"npm-run-all": "4.1.5",
|
|
87
|
+
"playwright": "1.57.0",
|
|
88
|
+
"prettier": "3.4.2",
|
|
89
|
+
"rdtsc": "5.0.7",
|
|
90
|
+
"shx": "0.3.4",
|
|
91
|
+
"tsx": "4.19.3",
|
|
92
|
+
"typescript": "5.7.2",
|
|
93
|
+
"typescript-eslint": "8.19.0",
|
|
94
|
+
"vite": "6.4.1",
|
|
95
|
+
"vite-plugin-dts": "4.5.4",
|
|
96
|
+
"vitest": "3.2.4"
|
|
97
|
+
},
|
|
98
|
+
"dependencies": {
|
|
99
|
+
"@flemist/abort-controller-fast": "^1.0.0",
|
|
100
|
+
"@flemist/async-utils": "^1.2.8",
|
|
101
|
+
"@flemist/priority-queue": "^1.0.1",
|
|
102
|
+
"@flemist/time-controller": "^1.0.4",
|
|
103
|
+
"@flemist/time-limits": "^2.0.4",
|
|
104
|
+
"picomatch": "^4.0.3",
|
|
105
|
+
"tslib": ">=2.8.1"
|
|
106
|
+
},
|
|
107
|
+
"scripts": {
|
|
108
|
+
"========================= install =========================": "",
|
|
109
|
+
"install:playwright": "pnpm exec playwright install --with-deps",
|
|
110
|
+
"========================= deploy =========================": "",
|
|
111
|
+
"build": "vite build",
|
|
112
|
+
"========================= lint =========================": "",
|
|
113
|
+
"audit": "pnpm audit --prod",
|
|
114
|
+
"lint:es": "eslint .",
|
|
115
|
+
"lint:es:fix": "eslint --fix .",
|
|
116
|
+
"lint": "run-p lint:es",
|
|
117
|
+
"lint:fix": "run-s lint:es:fix",
|
|
118
|
+
"lint-staged": "lint-staged",
|
|
119
|
+
"check:types": "tsc --noEmit",
|
|
120
|
+
"check": "run-p audit check:types lint",
|
|
121
|
+
"========================= test =========================": "",
|
|
122
|
+
"test:node": "vitest --run --project node --bail 3",
|
|
123
|
+
"test:browser": "vitest --run --project browser --bail 3",
|
|
124
|
+
"test:chrome": "vitest --run --project browser --browser chromium --bail 3",
|
|
125
|
+
"test:all": "vitest --run --bail 3",
|
|
126
|
+
"test": "run-s test:node test:browser",
|
|
127
|
+
"========================= dev =========================": "",
|
|
128
|
+
"kill-node": "taskkill /F /IM node.exe",
|
|
129
|
+
"kill-java": "taskkill /F /IM java.exe",
|
|
130
|
+
"kill-chrome": "taskkill /F /IM chrome.exe",
|
|
131
|
+
"========================= mcp =========================": "",
|
|
132
|
+
"mcp:playwright": "mcp-server-playwright --port 8002 --host local.host --isolated",
|
|
133
|
+
"========================= other =========================": "",
|
|
134
|
+
"mcp:tools": "mcp-project-tools",
|
|
135
|
+
"dep:fix": "tsx tools/dep-fix.ts"
|
|
136
|
+
}
|
|
137
|
+
}
|