npm-pkg-lint 1.9.0 → 1.9.1
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.js +1 -1
- package/package.json +7 -7
package/dist/index.js
CHANGED
|
@@ -37,7 +37,7 @@ See: https://github.com/isaacs/node-glob/issues/167`);if(!(this instanceof V))re
|
|
|
37
37
|
`:`
|
|
38
38
|
`.charCodeAt(),r=typeof t=="string"?"\r":"\r".charCodeAt();return t[t.length-1]===e&&(t=t.slice(0,t.length-1)),t[t.length-1]===r&&(t=t.slice(0,t.length-1)),t}});var g_=p((t1,Ms)=>{"use strict";var Ds=require("path"),p_=Rl(),m_=t=>{t=L({cwd:process.cwd(),path:process.env[p_()],execPath:process.execPath},t);let e,r=Ds.resolve(t.cwd),s=[];for(;e!==r;)s.push(Ds.join(r,"node_modules/.bin")),e=r,r=Ds.resolve(r,"..");let i=Ds.resolve(t.cwd,t.execPath,"..");return s.push(i),s.concat(t.path).join(Ds.delimiter)};Ms.exports=m_;Ms.exports.default=m_;Ms.exports.env=t=>{t=L({env:process.env},t);let e=L({},t.env),r=p_({env:e});return t.path=e[r],e[r]=Ms.exports(t),e}});var y_=p((r1,Pl)=>{"use strict";var __=(t,e)=>{for(let r of Reflect.ownKeys(e))Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r));return t};Pl.exports=__;Pl.exports.default=__});var w_=p((s1,vn)=>{"use strict";var hO=y_(),wn=new WeakMap,E_=(t,e={})=>{if(typeof t!="function")throw new TypeError("Expected a function");let r,s=0,i=t.displayName||t.name||"<anonymous>",n=function(...o){if(wn.set(n,++s),s===1)r=t.apply(this,o),t=null;else if(e.throw===!0)throw new Error(`Function \`${i}\` can only be called once`);return r};return hO(n,t),wn.set(n,s),n};vn.exports=E_;vn.exports.default=E_;vn.exports.callCount=t=>{if(!wn.has(t))throw new Error(`The given function \`${t.name}\` is not wrapped by the \`onetime\` package`);return wn.get(t)}});var v_=p(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.SIGNALS=void 0;var fO=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:!0},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:!0},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:!0},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];Sn.SIGNALS=fO});var Cl=p(zr=>{"use strict";Object.defineProperty(zr,"__esModule",{value:!0});zr.SIGRTMAX=zr.getRealtimeSignals=void 0;var dO=function(){let t=b_-S_+1;return Array.from({length:t},pO)};zr.getRealtimeSignals=dO;var pO=function(t,e){return{name:`SIGRT${e+1}`,number:S_+e,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"}},S_=34,b_=64;zr.SIGRTMAX=b_});var R_=p(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.getSignals=void 0;var mO=require("os"),gO=v_(),_O=Cl(),yO=function(){let t=(0,_O.getRealtimeSignals)();return[...gO.SIGNALS,...t].map(EO)};bn.getSignals=yO;var EO=function({name:t,number:e,description:r,action:s,forced:i=!1,standard:n}){let{signals:{[t]:o}}=mO.constants,a=o!==void 0;return{name:t,number:a?o:e,description:r,supported:a,action:s,forced:i,standard:n}}});var x_=p(Hr=>{"use strict";Object.defineProperty(Hr,"__esModule",{value:!0});Hr.signalsByNumber=Hr.signalsByName=void 0;var wO=require("os"),O_=R_(),vO=Cl(),SO=function(){return(0,O_.getSignals)().reduce(bO,{})},bO=function(t,{name:e,number:r,description:s,supported:i,action:n,forced:o,standard:a}){return he(L({},t),{[e]:{name:e,number:r,description:s,supported:i,action:n,forced:o,standard:a}})},RO=SO();Hr.signalsByName=RO;var OO=function(){let t=(0,O_.getSignals)(),e=vO.SIGRTMAX+1,r=Array.from({length:e},(s,i)=>xO(i,t));return Object.assign({},...r)},xO=function(t,e){let r=TO(t,e);if(r===void 0)return{};let{name:s,description:i,supported:n,action:o,forced:a,standard:l}=r;return{[t]:{name:s,number:t,description:i,supported:n,action:o,forced:a,standard:l}}},TO=function(t,e){let r=e.find(({name:s})=>wO.constants.signals[s]===t);return r!==void 0?r:e.find(s=>s.number===t)},AO=OO();Hr.signalsByNumber=AO});var A_=p((l1,T_)=>{"use strict";var{signalsByName:IO}=x_(),NO=({timedOut:t,timeout:e,errorCode:r,signal:s,signalDescription:i,exitCode:n,isCanceled:o})=>t?`timed out after ${e} milliseconds`:o?"was canceled":r!==void 0?`failed with ${r}`:s!==void 0?`was killed with ${s} (${i})`:n!==void 0?`failed with exit code ${n}`:"failed",LO=({stdout:t,stderr:e,all:r,error:s,signal:i,exitCode:n,command:o,escapedCommand:a,timedOut:l,isCanceled:c,killed:u,parsed:{options:{timeout:f}}})=>{n=n===null?void 0:n,i=i===null?void 0:i;let h=i===void 0?void 0:IO[i].description,d=s&&s.code,g=`Command ${NO({timedOut:l,timeout:f,errorCode:d,signal:i,signalDescription:h,exitCode:n,isCanceled:c})}: ${o}`,_=Object.prototype.toString.call(s)==="[object Error]",v=_?`${g}
|
|
39
39
|
${s.message}`:g,R=[v,e,t].filter(Boolean).join(`
|
|
40
|
-
`);return _?(s.originalMessage=s.message,s.message=R):s=new Error(R),s.shortMessage=v,s.command=o,s.escapedCommand=a,s.exitCode=n,s.signal=i,s.signalDescription=h,s.stdout=t,s.stderr=e,r!==void 0&&(s.all=r),"bufferedData"in s&&delete s.bufferedData,s.failed=!0,s.timedOut=Boolean(l),s.isCanceled=c,s.killed=u&&!l,s};T_.exports=LO});var N_=p((c1,kl)=>{"use strict";var Rn=["stdin","stdout","stderr"],PO=t=>Rn.some(e=>t[e]!==void 0),I_=t=>{if(!t)return;let{stdio:e}=t;if(e===void 0)return Rn.map(s=>t[s]);if(PO(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Rn.map(s=>`\`${s}\``).join(", ")}`);if(typeof e=="string")return e;if(!Array.isArray(e))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,Rn.length);return Array.from({length:r},(s,i)=>e[i])};kl.exports=I_;kl.exports.node=t=>{let e=I_(t);return e==="ipc"?"ipc":e===void 0||typeof e=="string"?[e,e,e,"ipc"]:e.includes("ipc")?e:[...e,"ipc"]}});var L_=p((u1,On)=>{On.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&On.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&On.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var k_=p((h1,js)=>{var CO=require("assert"),$s=L_(),kO=/^win/i.test(process.platform),xn=require("events");typeof xn!="function"&&(xn=xn.EventEmitter);var re;process.__signal_exit_emitter__?re=process.__signal_exit_emitter__:(re=process.__signal_exit_emitter__=new xn,re.count=0,re.emitted={});re.infinite||(re.setMaxListeners(1/0),re.infinite=!0);js.exports=function(t,e){CO.equal(typeof t,"function","a callback must be provided for exit handler"),Fs===!1&&P_();var r="exit";e&&e.alwaysLast&&(r="afterexit");var s=function(){re.removeListener(r,t),re.listeners("exit").length===0&&re.listeners("afterexit").length===0&&Dl()};return re.on(r,t),s};js.exports.unload=Dl;function Dl(){!Fs||(Fs=!1,$s.forEach(function(t){try{process.removeListener(t,Ml[t])}catch{}}),process.emit=ql,process.reallyExit=C_,re.count-=1)}function Wr(t,e,r){re.emitted[t]||(re.emitted[t]=!0,re.emit(t,e,r))}var Ml={};$s.forEach(function(t){Ml[t]=function(){var r=process.listeners(t);r.length===re.count&&(Dl(),Wr("exit",null,t),Wr("afterexit",null,t),kO&&t==="SIGHUP"&&(t="SIGINT"),process.kill(process.pid,t))}});js.exports.signals=function(){return $s};js.exports.load=P_;var Fs=!1;function P_(){Fs||(Fs=!0,re.count+=1,$s=$s.filter(function(t){try{return process.on(t,Ml[t]),!0}catch{return!1}}),process.emit=DO,process.reallyExit=qO)}var C_=process.reallyExit;function qO(t){process.exitCode=t||0,Wr("exit",process.exitCode,null),Wr("afterexit",process.exitCode,null),C_.call(process,process.exitCode)}var ql=process.emit;function DO(t,e){if(t==="exit"){e!==void 0&&(process.exitCode=e);var r=ql.apply(this,arguments);return Wr("exit",process.exitCode,null),Wr("afterexit",process.exitCode,null),r}else return ql.apply(this,arguments)}});var D_=p((f1,q_)=>{"use strict";var MO=require("os"),$O=k_(),FO=1e3*5,jO=(t,e="SIGTERM",r={})=>{let s=t(e);return BO(t,e,r,s),s},BO=(t,e,r,s)=>{if(!GO(e,r,s))return;let i=zO(r),n=setTimeout(()=>{t("SIGKILL")},i);n.unref&&n.unref()},GO=(t,{forceKillAfterTimeout:e},r)=>UO(t)&&e!==!1&&r,UO=t=>t===MO.constants.signals.SIGTERM||typeof t=="string"&&t.toUpperCase()==="SIGTERM",zO=({forceKillAfterTimeout:t=!0})=>{if(t===!0)return FO;if(!Number.isFinite(t)||t<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);return t},HO=(t,e)=>{t.kill()&&(e.isCanceled=!0)},WO=(t,e,r)=>{t.kill(e),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:e}))},VO=(t,{timeout:e,killSignal:r="SIGTERM"},s)=>{if(e===0||e===void 0)return s;let i,n=new Promise((a,l)=>{i=setTimeout(()=>{WO(t,r,l)},e)}),o=s.finally(()=>{clearTimeout(i)});return Promise.race([n,o])},XO=({timeout:t})=>{if(t!==void 0&&(!Number.isFinite(t)||t<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`)},YO=async(t,{cleanup:e,detached:r},s)=>{if(!e||r)return s;let i=$O(()=>{t.kill()});return s.finally(()=>{i()})};q_.exports={spawnedKill:jO,spawnedCancel:HO,setupTimeout:VO,validateTimeout:XO,setExitHandler:YO}});var $_=p((d1,M_)=>{"use strict";var Qe=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function";Qe.writable=t=>Qe(t)&&t.writable!==!1&&typeof t._write=="function"&&typeof t._writableState=="object";Qe.readable=t=>Qe(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";Qe.duplex=t=>Qe.writable(t)&&Qe.readable(t);Qe.transform=t=>Qe.duplex(t)&&typeof t._transform=="function"&&typeof t._transformState=="object";M_.exports=Qe});var j_=p((p1,F_)=>{"use strict";var{PassThrough:ZO}=require("stream");F_.exports=t=>{t=L({},t);let{array:e}=t,{encoding:r}=t,s=r==="buffer",i=!1;e?i=!(r||s):r=r||"utf8",s&&(r=null);let n=new ZO({objectMode:i});r&&n.setEncoding(r);let o=0,a=[];return n.on("data",l=>{a.push(l),i?o=a.length:o+=l.length}),n.getBufferedValue=()=>e?a:s?Buffer.concat(a,o):a.join(""),n.getBufferedLength=()=>o,n}});var B_=p((m1,Bs)=>{"use strict";var{constants:KO}=require("buffer"),JO=require("stream"),{promisify:QO}=require("util"),ex=j_(),tx=QO(JO.pipeline),$l=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Fl(t,e){if(!t)throw new Error("Expected a stream");e=L({maxBuffer:1/0},e);let{maxBuffer:r}=e,s=ex(e);return await new Promise((i,n)=>{let o=a=>{a&&s.getBufferedLength()<=KO.MAX_LENGTH&&(a.bufferedData=s.getBufferedValue()),n(a)};(async()=>{try{await tx(t,s),i()}catch(a){o(a)}})(),s.on("data",()=>{s.getBufferedLength()>r&&o(new $l)})}),s.getBufferedValue()}Bs.exports=Fl;Bs.exports.buffer=(t,e)=>Fl(t,he(L({},e),{encoding:"buffer"}));Bs.exports.array=(t,e)=>Fl(t,he(L({},e),{array:!0}));Bs.exports.MaxBufferError=$l});var U_=p((g1,G_)=>{"use strict";var{PassThrough:rx}=require("stream");G_.exports=function(){var t=[],e=new rx({objectMode:!0});return e.setMaxListeners(0),e.add=r,e.isEmpty=s,e.on("unpipe",i),Array.prototype.slice.call(arguments).forEach(r),e;function r(n){return Array.isArray(n)?(n.forEach(r),this):(t.push(n),n.once("end",i.bind(null,n)),n.once("error",e.emit.bind(e,"error")),n.pipe(e,{end:!1}),this)}function s(){return t.length==0}function i(n){t=t.filter(function(o){return o!==n}),!t.length&&e.readable&&e.end()}}});var V_=p((_1,W_)=>{"use strict";var H_=$_(),z_=B_(),sx=U_(),ix=(t,e)=>{e===void 0||t.stdin===void 0||(H_(e)?e.pipe(t.stdin):t.stdin.end(e))},nx=(t,{all:e})=>{if(!e||!t.stdout&&!t.stderr)return;let r=sx();return t.stdout&&r.add(t.stdout),t.stderr&&r.add(t.stderr),r},jl=async(t,e)=>{if(!!t){t.destroy();try{return await e}catch(r){return r.bufferedData}}},Bl=(t,{encoding:e,buffer:r,maxBuffer:s})=>{if(!(!t||!r))return e?z_(t,{encoding:e,maxBuffer:s}):z_.buffer(t,{maxBuffer:s})},ox=async({stdout:t,stderr:e,all:r},{encoding:s,buffer:i,maxBuffer:n},o)=>{let a=Bl(t,{encoding:s,buffer:i,maxBuffer:n}),l=Bl(e,{encoding:s,buffer:i,maxBuffer:n}),c=Bl(r,{encoding:s,buffer:i,maxBuffer:n*2});try{return await Promise.all([o,a,l,c])}catch(u){return Promise.all([{error:u,signal:u.signal,timedOut:u.timedOut},jl(t,a),jl(e,l),jl(r,c)])}},ax=({input:t})=>{if(H_(t))throw new TypeError("The `input` option cannot be a stream in sync mode")};W_.exports={handleInput:ix,makeAllStream:nx,getSpawnedResult:ox,validateInputSync:ax}});var Y_=p((y1,X_)=>{"use strict";var lx=(async()=>{})().constructor.prototype,cx=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(lx,t)]),ux=(t,e)=>{for(let[r,s]of cx){let i=typeof e=="function"?(...n)=>Reflect.apply(s.value,e(),n):s.value.bind(e);Reflect.defineProperty(t,r,he(L({},s),{value:i}))}return t},hx=t=>new Promise((e,r)=>{t.on("exit",(s,i)=>{e({exitCode:s,signal:i})}),t.on("error",s=>{r(s)}),t.stdin&&t.stdin.on("error",s=>{r(s)})});X_.exports={mergePromise:ux,getSpawnedPromise:hx}});var J_=p((E1,K_)=>{"use strict";var Z_=(t,e=[])=>Array.isArray(e)?[t,...e]:[t],fx=/^[\w.-]+$/,dx=/"/g,px=t=>typeof t!="string"||fx.test(t)?t:`"${t.replace(dx,'\\"')}"`,mx=(t,e)=>Z_(t,e).join(" "),gx=(t,e)=>Z_(t,e).map(r=>px(r)).join(" "),_x=/ +/g,yx=t=>{let e=[];for(let r of t.trim().split(_x)){let s=e[e.length-1];s&&s.endsWith("\\")?e[e.length-1]=`${s.slice(0,-1)} ${r}`:e.push(r)}return e};K_.exports={joinCommand:mx,getEscapedCommand:gx,parseCommand:yx}});var ny=p((w1,Vr)=>{"use strict";var Ex=require("path"),Gl=require("child_process"),wx=h_(),vx=d_(),Sx=g_(),bx=w_(),Tn=A_(),ey=N_(),{spawnedKill:Rx,spawnedCancel:Ox,setupTimeout:xx,validateTimeout:Tx,setExitHandler:Ax}=D_(),{handleInput:Ix,getSpawnedResult:Nx,makeAllStream:Lx,validateInputSync:Px}=V_(),{mergePromise:Q_,getSpawnedPromise:Cx}=Y_(),{joinCommand:ty,parseCommand:ry,getEscapedCommand:sy}=J_(),kx=1e3*1e3*100,qx=({env:t,extendEnv:e,preferLocal:r,localDir:s,execPath:i})=>{let n=e?L(L({},process.env),t):t;return r?Sx.env({env:n,cwd:s,execPath:i}):n},iy=(t,e,r={})=>{let s=wx._parse(t,e,r);return t=s.command,e=s.args,r=s.options,r=L({maxBuffer:kx,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0},r),r.env=qx(r),r.stdio=ey(r),process.platform==="win32"&&Ex.basename(t,".exe")==="cmd"&&e.unshift("/q"),{file:t,args:e,options:r,parsed:s}},Gs=(t,e,r)=>typeof e!="string"&&!Buffer.isBuffer(e)?r===void 0?void 0:"":t.stripFinalNewline?vx(e):e,An=(t,e,r)=>{let s=iy(t,e,r),i=ty(t,e),n=sy(t,e);Tx(s.options);let o;try{o=Gl.spawn(s.file,s.args,s.options)}catch(d){let m=new Gl.ChildProcess,g=Promise.reject(Tn({error:d,stdout:"",stderr:"",all:"",command:i,escapedCommand:n,parsed:s,timedOut:!1,isCanceled:!1,killed:!1}));return Q_(m,g)}let a=Cx(o),l=xx(o,s.options,a),c=Ax(o,s.options,l),u={isCanceled:!1};o.kill=Rx.bind(null,o.kill.bind(o)),o.cancel=Ox.bind(null,o,u);let h=bx(async()=>{let[{error:d,exitCode:m,signal:g,timedOut:_},v,R,E]=await Nx(o,s.options,c),O=Gs(s.options,v),x=Gs(s.options,R),A=Gs(s.options,E);if(d||m!==0||g!==null){let N=Tn({error:d,exitCode:m,signal:g,stdout:O,stderr:x,all:A,command:i,escapedCommand:n,parsed:s,timedOut:_,isCanceled:u.isCanceled,killed:o.killed});if(!s.options.reject)return N;throw N}return{command:i,escapedCommand:n,exitCode:0,stdout:O,stderr:x,all:A,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Ix(o,s.options.input),o.all=Lx(o,s.options),Q_(o,h)};Vr.exports=An;Vr.exports.sync=(t,e,r)=>{let s=iy(t,e,r),i=ty(t,e),n=sy(t,e);Px(s.options);let o;try{o=Gl.spawnSync(s.file,s.args,s.options)}catch(c){throw Tn({error:c,stdout:"",stderr:"",all:"",command:i,escapedCommand:n,parsed:s,timedOut:!1,isCanceled:!1,killed:!1})}let a=Gs(s.options,o.stdout,o.error),l=Gs(s.options,o.stderr,o.error);if(o.error||o.status!==0||o.signal!==null){let c=Tn({stdout:a,stderr:l,error:o.error,signal:o.signal,exitCode:o.status,command:i,escapedCommand:n,parsed:s,timedOut:o.error&&o.error.code==="ETIMEDOUT",isCanceled:!1,killed:o.signal!==null});if(!s.options.reject)return c;throw c}return{command:i,escapedCommand:n,exitCode:0,stdout:a,stderr:l,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}};Vr.exports.command=(t,e)=>{let[r,...s]=ry(t);return An(r,s,e)};Vr.exports.commandSync=(t,e)=>{let[r,...s]=ry(t);return An.sync(r,s,e)};Vr.exports.node=(t,e,r={})=>{e&&!Array.isArray(e)&&typeof e=="object"&&(r=e,e=[]);let s=ey.node(r),i=process.execArgv.filter(a=>!a.startsWith("--inspect")),{nodePath:n=process.execPath,nodeOptions:o=i}=r;return An(n,[...o,t,...Array.isArray(e)?e:[]],he(L({},r),{stdin:void 0,stdout:void 0,stderr:void 0,stdio:s,shell:!1}))}});var my=p((U1,zx)=>{zx.exports={name:"npm-pkg-lint",version:"1.8.0",description:"Opinionated linter for NPM package tarball and package.json metadata",keywords:["lint","npm"],homepage:"https://github.com/ext/npm-pkg-lint",bugs:{url:"https://github.com/ext/npm-pkg-lint/issues"},repository:{type:"git",url:"https://github.com/ext/npm-pkg-lint.git"},license:"MIT",author:"David Sveningsson <ext@sidvind.com>",main:"dist/index.js",bin:"bin/index.js",files:["bin","dist","!**/*.d.ts","!**/*.js.map","!**/*.spec.js"],scripts:{prebuild:"tsc",build:"esbuild src/index.ts --bundle --platform=node --target=node12.0 --analyze --minify --outdir=dist",eslint:"eslint .","eslint:fix":"eslint --fix .",prepare:"husky install","prettier:check":"prettier --check .","prettier:write":"prettier --write .","self-test":"node bin/index.js",test:"jest"},commitlint:{extends:"@html-validate"},"lint-staged":{"*.{ts,js,json,md}":"prettier --write"},prettier:"@html-validate/prettier-config",jest:{preset:"@html-validate/jest-config",testPathIgnorePatterns:["/node_modules/","dist","tests/fixtures"]},devDependencies:{"@html-validate/commitlint-config":"2.1.8","@html-validate/eslint-config":"5.3.8","@html-validate/eslint-config-jest":"5.3.6","@html-validate/eslint-config-typescript":"5.3.8","@html-validate/jest-config":"3.0.1","@html-validate/prettier-config":"2.0.0","@html-validate/stylish":"2.0.1","@types/argparse":"2.0.10","@types/glob":"7.2.0","@types/jest":"27.4.1","@types/node":"12.20.46","@types/semver":"7.3.9","@types/tar":"6.1.1","@types/tmp":"0.2.3",argparse:"2.0.1",esbuild:"0.14.23",execa:"5.1.1","find-up":"5.0.0",glob:"7.2.0",husky:"7.0.4",jest:"27.5.1","lint-staged":"12.3.4",prettier:"2.5.1",semver:"7.3.5",tar:"6.1.11",tmp:"0.2.1",typescript:"4.5.5"},engines:{node:">= 12.0"},renovate:{extends:["gitlab>html-validate/renovate-config"],packageRules:[{matchPackageNames:["@html-validate/stylish","argparse","execa","find-up","semver","tar","tmp"],semanticCommitType:"fix"}]}}});var nr=require("fs"),Vl=fe(require("path")),gy=fe(pc()),_y=fe(Cc()),yy=fe(Ku()),Ey=fe(uh());function Do(t){return t.replace(/\./,"\\.")}function z(t){return new RegExp(`(^|/)${t}/`)}function H(t){return new RegExp(`${Do(t)}$`)}function w(t){return new RegExp(`(^|/)${Do(t)}$`)}function We(t){return new RegExp(`${Do(t)}(\\.(js|cjs|yaml|yml|json))?$`)}var Gw=[/#.*#$/,/~$/,w(".dir-locals.el")],hh=Gw;var Uw=[z(".eslintcache"),w(".eslintignore"),We(".eslintrc")],fh=Uw;var zw=[w(".fimbullinter.yaml"),We(".wotanrc")],dh=zw;var Hw=[w(".gitattributes"),w(".keep"),w(".gitkeep"),w(".gitmodules")],ph=Hw;var Ww=[z("__snapshots__"),z("__tests__"),H(".snap"),H(".spec.[jt]sx?"),H(".spec.d.ts"),H(".spec.js.map"),H(".test.[jt]sx?"),H(".test.d.ts"),H(".test.js.map")],mh=Ww;var Vw=[/(^|\/)(npm|yarn|lerna)-(debug|error)\.log.*$/,w("report.\\d+.\\d+.\\d+.\\d+.\\d+.json"),w(".npmignore"),w(".npmrc"),w(".nvmrc"),w("lerna.json")],gh=Vw;var Xw=[w(".prettierignore"),We(".prettierrc")],_h=Xw;var Yw=[z(".tsbuildinfo"),w("tsconfig.json")],yh=Yw;var Zw=[w("CON"),w("PRN"),w("AUX"),w("NUL"),/(^|\/)COM\d/,/(^|\/)LPT\d/],Eh=Zw;var Kw=[z(".nyc_output"),z("coverage"),H(".lcov"),H("[.-]junit.xml"),w(".istanbul.yml"),w("junit.xml"),w("lcov.info"),w(".airtap.yml"),We(".nycrc"),z("examples?"),z("perf"),z("tests?"),w("cypress.json"),w("karma.config.js"),w("mocha.opts"),w("protractor.config.js"),w("test.js"),w("testem.json"),w("testem.yml"),w("wallaby.config.js"),w("wallaby.js"),w(".htmlvalidate.json"),w(".jshintignore"),w("tslint.json"),w("tslint.yaml"),w(".jscs.json"),We(".jscsrc"),We(".jshintrc"),w("rollup.config.js"),w("webpack.config.js"),w("[gG]runtfile.js"),w("[gG]ulpfile.[jt]s"),w("dangerfile.[jt]s"),w("gulpfile.babel.js"),w("gulpfile.esm.js"),/^\.azure-.*$/,z(".circleci"),z(".github"),z(".gitlab"),z(".?zuul.d"),w(".coveralls.yml"),w(".gitlab-ci.yml"),w(".travis.yml"),w(".?zuul.ya?ml"),w("ISSUE_TEMPLATE.md"),w("PULL_REQUEST_TEMPLATE.md"),w("appveyor.yml"),/(^|\/)\.sw[a-p]/,z(".vscode"),H(".sublime-project"),H(".sublime-workspace"),w(".vscodeignore"),w("Session.vim"),w("Sessionx.vim"),z(".idea"),w(".tm_properties"),z(".AppleDouble"),z(".DS_Store"),z(".LSOverride"),z("logs"),H(".log"),z("pids"),H(".pid"),H(".pid.lock"),H(".seed"),/^[Jj]akefile(\.js)?$/,H(".bak"),H(".swp"),H(".tgz"),H(".tmp"),w(".env"),w(".svgo.yml"),w(".editorconfig"),w(".ext-prepush"),w(".tonic_example.js"),w(".flowconfig"),w(".cardinalrc"),w("bower.json"),w("commitlint.config.js"),w("composer.json"),w("netlify.toml"),w("release.config.js"),...hh,...fh,...dh,...ph,...mh,...gh,..._h,...yh,...Eh],Mo=Kw;function wh(t){Mo.push(new RegExp(`^${t}-\\d+\\.\\d+\\.\\d+\\.tgz$`))}function vh(t){return Mo.some(e=>t.match(e))}var Op=fe(require("fs")),tn=fe(Rp());function nl(t){return t.replace(/^[^/]+\//,"")}async function Ob(t){let e=[];return await tn.default.list({file:t,strict:!0,onentry:r=>e.push(r)}),e.map(r=>{let s=r.path;return nl(s)})}async function rn(t,e){let r={};return new Promise((s,i)=>{let n=new tn.Parse({filter(a,l){return e.includes(nl(l.path))}});n.on("entry",a=>{let l=nl(a.path);r[l]=Buffer.alloc(0),a.on("data",c=>{r[l]=Buffer.concat([r[l],c])}),a.on("error",c=>{i(c)})}),n.on("end",()=>{s(r)}),Op.default.createReadStream(t.filePath).pipe(n)})}async function xb(t){return t.filter(vh)}function Tb(t){return typeof t=="string"?[t]:Array.isArray(t)?t:Object.values(t).filter(e=>e!==!1)}function*Qt(t,e){let r=Tb(t);for(let s of r)yield he(L({},e),{filename:s})}function*Ab(t){t.main&&(yield*Qt(t.main,{field:"main",ruleId:"no-missing-main"})),t.browser&&(yield*Qt(t.browser,{field:"browser",ruleId:"no-missing-main"})),t.module&&(yield*Qt(t.module,{field:"module",ruleId:"no-missing-main"})),t["jsnext:main"]&&(yield*Qt(t["jsnext:main"],{field:"jsnext:main",ruleId:"no-missing-main"})),t.typings&&(yield*Qt(t.typings,{field:"typings",ruleId:"no-missing-typings"})),t.bin&&(yield*Qt(t.bin,{field:"bin",ruleId:"no-missing-binary"})),t.man&&(yield*Qt(t.man,{field:"man",ruleId:"no-missing-man"}))}function Ib(t,e){return e=e.replace(/^\.\//,""),!!(t.includes(e)||t.includes(`${e}.js`)||t.includes(`${e.replace(/\/$/,"")}/index.js`))}async function xp(t,e){var i;let r=[],s=await Ob(e.filePath);for(let n of await xb(s))r.push({ruleId:"no-disallowed-files",severity:2,message:`${n} is not allowed in tarball`,line:1,column:1});for(let n of Ab(t))Ib(s,n.filename)||r.push({ruleId:n.ruleId,severity:2,message:`${n.filename} (pkg.${n.field}) is not present in tarball`,line:1,column:1});return r.length===0?[]:[{messages:r,filePath:(i=e.reportPath)!=null?i:e.filePath,errorCount:r.length,warningCount:0,fixableErrorCount:0,fixableWarningCount:0}]}var Mr=class extends Error{constructor(e,r){super(r);this.validator=e}};function Nb(t){return typeof t>"u"||t===null||t===""}function er(t,e){if(Nb(e))throw new Error(`"${t}" must not be empty`);if(typeof e=="number")return;if(Array.isArray(e)){if(e.length===0)throw new Error(`"${t}" must not be empty`);for(let s in e)er(`${t}[${s}]`,e[s]);return}if(Object.values(e).length===0)throw new Error(`"${t}" must not be empty`)}function je(t,e){if(typeof e>"u"||e===null)throw new Mr(je.name,`"${t}" must be set`)}function ol(t,e){if(!Array.isArray(e))throw new Error(`"${t}" must be array`);for(let r in e)if(typeof e[r]!="string")throw new Error(`"${t}[${r}]" must be string`)}function bs(t,e){if(typeof e!="string")throw new Error(`"${t}" must be string`)}function $r(t,e){if(!(typeof e=="string"&&e.match(/^https:\/\/.+$/)))if(e&&e.url)$r(`${t}.url`,e.url);else throw new Error(`"${t}" must be a valid url (https only)`)}function Ip(t){return new RegExp(`^${t}$`)}function Tp(t){return new RegExp(`^${t}/`)}function ee(t){return new RegExp(`^${t}(-.+)?`)}function al(t){return new RegExp(`^(.*)/${t}(-.+)?`)}var Lb=[Ip("jake"),ee("babel-core"),ee("cypress"),ee("grunt"),ee("gulp"),ee("html-validate"),ee("jasmine"),ee("jest"),ee("mocha"),ee("nyc"),ee("prettier"),ee("protractor"),ee("ts-node"),ee("typescript"),ee("webpack"),Tp("@babel"),Tp("@types")],Pb=[Ip("eslint"),ee("eslint-config"),ee("eslint-formatter"),ee("eslint-plugin"),al("eslint-config"),al("eslint-formatter"),al("eslint-plugin")],Cb=["@babel/code-frame","@babel/polyfill","@babel/runtime","gulp-utils","jest-diff","webpack-sources"];function Ap(t,e){return t.some(r=>e.match(r))}function Np(t,e){return Cb.includes(e)?!1:!(t.keywords||[]).includes("eslint")&&Ap(Pb,e)?!0:Ap(Lb,e)}var yn=fe(_n()),bg=fe(li()),wl="outdated-engines",vl=bg.Severity.ERROR,$R=[["0.10.x",{date:"2016-10-31"}],["0.12.x",{date:"2016-12-31"}],["4.x.x",{date:"2018-04-30"}],["5.x.x",{date:"2016-06-30"}],["6.x.x",{date:"2019-04-30"}],["7.x.x",{date:"2017-06-30"}],["8.x.x",{date:"2019-12-31"}],["9.x.x",{date:"2018-06-30"}],["10.x.x",{date:"2021-04-30"}],["11.x.x",{date:"2019-06-01"}]];function*Rg(t){if(!t.engines||!t.engines.node){yield{ruleId:wl,severity:vl,message:"Missing engines.node field",line:1,column:1};return}let e=t.engines.node;if(!yn.default.validRange(e)){yield{ruleId:wl,severity:vl,message:`engines.node "${e}" is not a valid semver range`,line:1,column:1};return}for(let[r,s]of $R){let i=r.replace(/[xX*]/g,"999"),n=yn.default.parse(i);if(!yn.default.satisfies(i,e))continue;let a=`engines.node is satisfied by Node ${n.major||`0.${n.minor}`} (EOL since ${s.date})`;yield{ruleId:wl,severity:vl,message:a,line:1,column:1};return}}var zl=fe(_n());var oy=fe(ny()),Ul=new Map;async function In(t){if(Ul.has(t))return Ul.get(t);let e=await(0,oy.default)("npm",["info","--json",t]),r=JSON.parse(e.stdout);return Ul.set(t,r),r}var Dx="invalid-engine-constraint";async function*ay(t,e){var s;let r=e?await In(e):t;for(let[i,n]of Object.entries((s=r.dependencies)!=null?s:{})){let o=`${i}@${n}`;yield o,yield*await ay(t,o)}}async function ly(t){var i,n;let e=(i=t.engines)==null?void 0:i.node;if(!e)return[];let r=zl.default.minVersion(e),s=[];for await(let o of ay(t)){let l=(n=(await In(o)).engines)==null?void 0:n.node;!l||zl.default.satisfies(r,l)||s.push({ruleId:Dx,severity:2,message:`the transitive dependency "${o}" (node ${l}) does not satisfy the declared node engine "${e}"`,line:1,column:1})}return s}var Hl=fe(_n()),cy=fe(li()),Mx="types-node-matching-engine",$x=cy.Severity.ERROR;function*uy(t){if(!t.engines||!t.engines.node)return;let e=L(L(L({},t.dependencies),t.devDependencies),t.peerDependencies);if(!e["@types/node"])return;let r=Hl.default.minVersion(t.engines.node),s=Hl.default.minVersion(e["@types/node"]);!r||!s||s.major!==r.major&&(yield{ruleId:Mx,severity:$x,message:`@types/node v${s.major} does not equal engines.node v${r.major}`,line:1,column:1})}var Fx={description:[je,bs,er],keywords:[je,ol,er],homepage:[je,bs,$r],bugs:[je,$r],license:[je,bs,er],author:[je,er],repository:[je,$r]};function jx(t,e){let r=[];for(let[s,i]of Object.entries(Fx))try{for(let n of i)n(s,t[s])}catch(n){if(n instanceof Mr&&n.validator===je.name&&e.ignoreMissingFields)continue;if(n instanceof Error)r.push({ruleId:"package-json-fields",severity:2,message:n.message,line:1,column:1});else throw n}return r}function Bx(t,e){let r=[];for(let s of Object.keys(t.dependencies||{}))e.allowTypesDependencies&&s.match(/^@types\//)||Np(t,s)&&r.push({ruleId:"disallowed-dependency",severity:2,message:`${s} should be a devDependency`,line:1,column:1});return r}async function hy(t,e,r={}){let s=[...await ly(t),...jx(t,r),...Bx(t,r),...Rg(t),...uy(t)];return s.length===0?[]:[{messages:s,filePath:e,errorCount:s.length,warningCount:0,fixableErrorCount:0,fixableWarningCount:0}]}function Gx(t){return t.bin?typeof t.bin=="string"?[t.bin]:Object.values(t.bin):[]}async function fy(t,e){let r=[],s=Gx(t),i=await rn(e,s);for(let[n,o]of Object.entries(i))o.toString("utf-8").match(/^#!.+?\r?\n/)||r.push({messages:[{ruleId:"no-missing-shebang",severity:2,message:"first line must contain shebang to be executable",line:1,column:1}],filePath:n,errorCount:1,warningCount:0,fixableErrorCount:0,fixableWarningCount:0});return r}async function dy(t,e,r,s={}){return[...await xp(t,r),...await hy(t,e,s),...await fy(t,r)]}var Wl=fe(require("path"));function Ux(t){return t.replace("/","-").replace(/^@/,"")}function py(t,e){let r=Ux(t.name);return Wl.default.join(Wl.default.dirname(e),`${r}-${t.version}.tgz`)}var{version:Hx}=my(),Nn="package.json";async function Wx(){return new Promise((t,e)=>{yy.default.file((r,s,i)=>{if(r){e(r);return}let n=(0,nr.createWriteStream)(null,{fd:i,autoClose:!0});process.stdin.pipe(n),n.on("finish",()=>{t(s)}),n.on("error",o=>{e(o)})})})}async function Vx(t,e){if(t.pkgfile)return{pkg:JSON.parse(await nr.promises.readFile(t.pkgfile,"utf-8")),pkgPath:t.pkgfile};if(t.tarball){let s=await rn({filePath:t.tarball},[Nn]),i=JSON.parse(s[Nn].toString("utf-8"));return{pkg:i,pkgPath:Vl.default.join(e?`${i.name}-${i.version}.tgz`:t.tarball,Nn)}}let r=await(0,_y.default)(Nn);if(r){let s=Vl.default.relative(process.cwd(),r);return{pkg:JSON.parse(await nr.promises.readFile(s,"utf-8")),pkgPath:s}}return{}}async function Xx(){var u;let t=new gy.ArgumentParser({description:"npm package linter"});t.add_argument("-v","--version",{action:"version",version:Hx}),t.add_argument("-t","--tarball",{help:"specify tarball location"}),t.add_argument("-p","--pkgfile",{help:"specify package.json location"}),t.add_argument("--allow-types-dependencies",{action:"store_true",help:"allow dependencies to `@types/*`"}),t.add_argument("--ignore-missing-fields",{action:"store_true",help:"ignore errors for missing fields (but still checks for empty and valid)"});let e=t.parse_args(),r=!1;e.tarball==="-"&&(e.tarball=await Wx(),r=!0);let{pkg:s,pkgPath:i}=await Vx(e,r);s||(console.error("Failed to locate package.json and no location was specificed with `--pkgfile'"),process.exit(1));let n={filePath:(u=e.tarball)!=null?u:py(s,i),reportPath:r?`${s.name}-${s.version}.tgz`:void 0};(0,nr.existsSync)(n.filePath)||(console.error(`"${n.filePath}" does not exist, did you forget to run \`npm pack'?`),process.exit(1)),wh(s.name);let o={allowTypesDependencies:e.allow_types_dependencies,ignoreMissingFields:e.ignore_missing_fields},a=await dy(s,i,n,o),l=(0,Ey.default)(a);process.stdout.write(l);let c=a.reduce((f,h)=>f+h.errorCount,0);process.exit(c>0?1:0)}Xx();
|
|
40
|
+
`);return _?(s.originalMessage=s.message,s.message=R):s=new Error(R),s.shortMessage=v,s.command=o,s.escapedCommand=a,s.exitCode=n,s.signal=i,s.signalDescription=h,s.stdout=t,s.stderr=e,r!==void 0&&(s.all=r),"bufferedData"in s&&delete s.bufferedData,s.failed=!0,s.timedOut=Boolean(l),s.isCanceled=c,s.killed=u&&!l,s};T_.exports=LO});var N_=p((c1,kl)=>{"use strict";var Rn=["stdin","stdout","stderr"],PO=t=>Rn.some(e=>t[e]!==void 0),I_=t=>{if(!t)return;let{stdio:e}=t;if(e===void 0)return Rn.map(s=>t[s]);if(PO(t))throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Rn.map(s=>`\`${s}\``).join(", ")}`);if(typeof e=="string")return e;if(!Array.isArray(e))throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof e}\``);let r=Math.max(e.length,Rn.length);return Array.from({length:r},(s,i)=>e[i])};kl.exports=I_;kl.exports.node=t=>{let e=I_(t);return e==="ipc"?"ipc":e===void 0||typeof e=="string"?[e,e,e,"ipc"]:e.includes("ipc")?e:[...e,"ipc"]}});var L_=p((u1,On)=>{On.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&On.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&On.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var k_=p((h1,js)=>{var CO=require("assert"),$s=L_(),kO=/^win/i.test(process.platform),xn=require("events");typeof xn!="function"&&(xn=xn.EventEmitter);var re;process.__signal_exit_emitter__?re=process.__signal_exit_emitter__:(re=process.__signal_exit_emitter__=new xn,re.count=0,re.emitted={});re.infinite||(re.setMaxListeners(1/0),re.infinite=!0);js.exports=function(t,e){CO.equal(typeof t,"function","a callback must be provided for exit handler"),Fs===!1&&P_();var r="exit";e&&e.alwaysLast&&(r="afterexit");var s=function(){re.removeListener(r,t),re.listeners("exit").length===0&&re.listeners("afterexit").length===0&&Dl()};return re.on(r,t),s};js.exports.unload=Dl;function Dl(){!Fs||(Fs=!1,$s.forEach(function(t){try{process.removeListener(t,Ml[t])}catch{}}),process.emit=ql,process.reallyExit=C_,re.count-=1)}function Wr(t,e,r){re.emitted[t]||(re.emitted[t]=!0,re.emit(t,e,r))}var Ml={};$s.forEach(function(t){Ml[t]=function(){var r=process.listeners(t);r.length===re.count&&(Dl(),Wr("exit",null,t),Wr("afterexit",null,t),kO&&t==="SIGHUP"&&(t="SIGINT"),process.kill(process.pid,t))}});js.exports.signals=function(){return $s};js.exports.load=P_;var Fs=!1;function P_(){Fs||(Fs=!0,re.count+=1,$s=$s.filter(function(t){try{return process.on(t,Ml[t]),!0}catch{return!1}}),process.emit=DO,process.reallyExit=qO)}var C_=process.reallyExit;function qO(t){process.exitCode=t||0,Wr("exit",process.exitCode,null),Wr("afterexit",process.exitCode,null),C_.call(process,process.exitCode)}var ql=process.emit;function DO(t,e){if(t==="exit"){e!==void 0&&(process.exitCode=e);var r=ql.apply(this,arguments);return Wr("exit",process.exitCode,null),Wr("afterexit",process.exitCode,null),r}else return ql.apply(this,arguments)}});var D_=p((f1,q_)=>{"use strict";var MO=require("os"),$O=k_(),FO=1e3*5,jO=(t,e="SIGTERM",r={})=>{let s=t(e);return BO(t,e,r,s),s},BO=(t,e,r,s)=>{if(!GO(e,r,s))return;let i=zO(r),n=setTimeout(()=>{t("SIGKILL")},i);n.unref&&n.unref()},GO=(t,{forceKillAfterTimeout:e},r)=>UO(t)&&e!==!1&&r,UO=t=>t===MO.constants.signals.SIGTERM||typeof t=="string"&&t.toUpperCase()==="SIGTERM",zO=({forceKillAfterTimeout:t=!0})=>{if(t===!0)return FO;if(!Number.isFinite(t)||t<0)throw new TypeError(`Expected the \`forceKillAfterTimeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`);return t},HO=(t,e)=>{t.kill()&&(e.isCanceled=!0)},WO=(t,e,r)=>{t.kill(e),r(Object.assign(new Error("Timed out"),{timedOut:!0,signal:e}))},VO=(t,{timeout:e,killSignal:r="SIGTERM"},s)=>{if(e===0||e===void 0)return s;let i,n=new Promise((a,l)=>{i=setTimeout(()=>{WO(t,r,l)},e)}),o=s.finally(()=>{clearTimeout(i)});return Promise.race([n,o])},XO=({timeout:t})=>{if(t!==void 0&&(!Number.isFinite(t)||t<0))throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${t}\` (${typeof t})`)},YO=async(t,{cleanup:e,detached:r},s)=>{if(!e||r)return s;let i=$O(()=>{t.kill()});return s.finally(()=>{i()})};q_.exports={spawnedKill:jO,spawnedCancel:HO,setupTimeout:VO,validateTimeout:XO,setExitHandler:YO}});var $_=p((d1,M_)=>{"use strict";var Qe=t=>t!==null&&typeof t=="object"&&typeof t.pipe=="function";Qe.writable=t=>Qe(t)&&t.writable!==!1&&typeof t._write=="function"&&typeof t._writableState=="object";Qe.readable=t=>Qe(t)&&t.readable!==!1&&typeof t._read=="function"&&typeof t._readableState=="object";Qe.duplex=t=>Qe.writable(t)&&Qe.readable(t);Qe.transform=t=>Qe.duplex(t)&&typeof t._transform=="function"&&typeof t._transformState=="object";M_.exports=Qe});var j_=p((p1,F_)=>{"use strict";var{PassThrough:ZO}=require("stream");F_.exports=t=>{t=L({},t);let{array:e}=t,{encoding:r}=t,s=r==="buffer",i=!1;e?i=!(r||s):r=r||"utf8",s&&(r=null);let n=new ZO({objectMode:i});r&&n.setEncoding(r);let o=0,a=[];return n.on("data",l=>{a.push(l),i?o=a.length:o+=l.length}),n.getBufferedValue=()=>e?a:s?Buffer.concat(a,o):a.join(""),n.getBufferedLength=()=>o,n}});var B_=p((m1,Bs)=>{"use strict";var{constants:KO}=require("buffer"),JO=require("stream"),{promisify:QO}=require("util"),ex=j_(),tx=QO(JO.pipeline),$l=class extends Error{constructor(){super("maxBuffer exceeded");this.name="MaxBufferError"}};async function Fl(t,e){if(!t)throw new Error("Expected a stream");e=L({maxBuffer:1/0},e);let{maxBuffer:r}=e,s=ex(e);return await new Promise((i,n)=>{let o=a=>{a&&s.getBufferedLength()<=KO.MAX_LENGTH&&(a.bufferedData=s.getBufferedValue()),n(a)};(async()=>{try{await tx(t,s),i()}catch(a){o(a)}})(),s.on("data",()=>{s.getBufferedLength()>r&&o(new $l)})}),s.getBufferedValue()}Bs.exports=Fl;Bs.exports.buffer=(t,e)=>Fl(t,he(L({},e),{encoding:"buffer"}));Bs.exports.array=(t,e)=>Fl(t,he(L({},e),{array:!0}));Bs.exports.MaxBufferError=$l});var U_=p((g1,G_)=>{"use strict";var{PassThrough:rx}=require("stream");G_.exports=function(){var t=[],e=new rx({objectMode:!0});return e.setMaxListeners(0),e.add=r,e.isEmpty=s,e.on("unpipe",i),Array.prototype.slice.call(arguments).forEach(r),e;function r(n){return Array.isArray(n)?(n.forEach(r),this):(t.push(n),n.once("end",i.bind(null,n)),n.once("error",e.emit.bind(e,"error")),n.pipe(e,{end:!1}),this)}function s(){return t.length==0}function i(n){t=t.filter(function(o){return o!==n}),!t.length&&e.readable&&e.end()}}});var V_=p((_1,W_)=>{"use strict";var H_=$_(),z_=B_(),sx=U_(),ix=(t,e)=>{e===void 0||t.stdin===void 0||(H_(e)?e.pipe(t.stdin):t.stdin.end(e))},nx=(t,{all:e})=>{if(!e||!t.stdout&&!t.stderr)return;let r=sx();return t.stdout&&r.add(t.stdout),t.stderr&&r.add(t.stderr),r},jl=async(t,e)=>{if(!!t){t.destroy();try{return await e}catch(r){return r.bufferedData}}},Bl=(t,{encoding:e,buffer:r,maxBuffer:s})=>{if(!(!t||!r))return e?z_(t,{encoding:e,maxBuffer:s}):z_.buffer(t,{maxBuffer:s})},ox=async({stdout:t,stderr:e,all:r},{encoding:s,buffer:i,maxBuffer:n},o)=>{let a=Bl(t,{encoding:s,buffer:i,maxBuffer:n}),l=Bl(e,{encoding:s,buffer:i,maxBuffer:n}),c=Bl(r,{encoding:s,buffer:i,maxBuffer:n*2});try{return await Promise.all([o,a,l,c])}catch(u){return Promise.all([{error:u,signal:u.signal,timedOut:u.timedOut},jl(t,a),jl(e,l),jl(r,c)])}},ax=({input:t})=>{if(H_(t))throw new TypeError("The `input` option cannot be a stream in sync mode")};W_.exports={handleInput:ix,makeAllStream:nx,getSpawnedResult:ox,validateInputSync:ax}});var Y_=p((y1,X_)=>{"use strict";var lx=(async()=>{})().constructor.prototype,cx=["then","catch","finally"].map(t=>[t,Reflect.getOwnPropertyDescriptor(lx,t)]),ux=(t,e)=>{for(let[r,s]of cx){let i=typeof e=="function"?(...n)=>Reflect.apply(s.value,e(),n):s.value.bind(e);Reflect.defineProperty(t,r,he(L({},s),{value:i}))}return t},hx=t=>new Promise((e,r)=>{t.on("exit",(s,i)=>{e({exitCode:s,signal:i})}),t.on("error",s=>{r(s)}),t.stdin&&t.stdin.on("error",s=>{r(s)})});X_.exports={mergePromise:ux,getSpawnedPromise:hx}});var J_=p((E1,K_)=>{"use strict";var Z_=(t,e=[])=>Array.isArray(e)?[t,...e]:[t],fx=/^[\w.-]+$/,dx=/"/g,px=t=>typeof t!="string"||fx.test(t)?t:`"${t.replace(dx,'\\"')}"`,mx=(t,e)=>Z_(t,e).join(" "),gx=(t,e)=>Z_(t,e).map(r=>px(r)).join(" "),_x=/ +/g,yx=t=>{let e=[];for(let r of t.trim().split(_x)){let s=e[e.length-1];s&&s.endsWith("\\")?e[e.length-1]=`${s.slice(0,-1)} ${r}`:e.push(r)}return e};K_.exports={joinCommand:mx,getEscapedCommand:gx,parseCommand:yx}});var ny=p((w1,Vr)=>{"use strict";var Ex=require("path"),Gl=require("child_process"),wx=h_(),vx=d_(),Sx=g_(),bx=w_(),Tn=A_(),ey=N_(),{spawnedKill:Rx,spawnedCancel:Ox,setupTimeout:xx,validateTimeout:Tx,setExitHandler:Ax}=D_(),{handleInput:Ix,getSpawnedResult:Nx,makeAllStream:Lx,validateInputSync:Px}=V_(),{mergePromise:Q_,getSpawnedPromise:Cx}=Y_(),{joinCommand:ty,parseCommand:ry,getEscapedCommand:sy}=J_(),kx=1e3*1e3*100,qx=({env:t,extendEnv:e,preferLocal:r,localDir:s,execPath:i})=>{let n=e?L(L({},process.env),t):t;return r?Sx.env({env:n,cwd:s,execPath:i}):n},iy=(t,e,r={})=>{let s=wx._parse(t,e,r);return t=s.command,e=s.args,r=s.options,r=L({maxBuffer:kx,buffer:!0,stripFinalNewline:!0,extendEnv:!0,preferLocal:!1,localDir:r.cwd||process.cwd(),execPath:process.execPath,encoding:"utf8",reject:!0,cleanup:!0,all:!1,windowsHide:!0},r),r.env=qx(r),r.stdio=ey(r),process.platform==="win32"&&Ex.basename(t,".exe")==="cmd"&&e.unshift("/q"),{file:t,args:e,options:r,parsed:s}},Gs=(t,e,r)=>typeof e!="string"&&!Buffer.isBuffer(e)?r===void 0?void 0:"":t.stripFinalNewline?vx(e):e,An=(t,e,r)=>{let s=iy(t,e,r),i=ty(t,e),n=sy(t,e);Tx(s.options);let o;try{o=Gl.spawn(s.file,s.args,s.options)}catch(d){let m=new Gl.ChildProcess,g=Promise.reject(Tn({error:d,stdout:"",stderr:"",all:"",command:i,escapedCommand:n,parsed:s,timedOut:!1,isCanceled:!1,killed:!1}));return Q_(m,g)}let a=Cx(o),l=xx(o,s.options,a),c=Ax(o,s.options,l),u={isCanceled:!1};o.kill=Rx.bind(null,o.kill.bind(o)),o.cancel=Ox.bind(null,o,u);let h=bx(async()=>{let[{error:d,exitCode:m,signal:g,timedOut:_},v,R,E]=await Nx(o,s.options,c),O=Gs(s.options,v),x=Gs(s.options,R),A=Gs(s.options,E);if(d||m!==0||g!==null){let N=Tn({error:d,exitCode:m,signal:g,stdout:O,stderr:x,all:A,command:i,escapedCommand:n,parsed:s,timedOut:_,isCanceled:u.isCanceled,killed:o.killed});if(!s.options.reject)return N;throw N}return{command:i,escapedCommand:n,exitCode:0,stdout:O,stderr:x,all:A,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}});return Ix(o,s.options.input),o.all=Lx(o,s.options),Q_(o,h)};Vr.exports=An;Vr.exports.sync=(t,e,r)=>{let s=iy(t,e,r),i=ty(t,e),n=sy(t,e);Px(s.options);let o;try{o=Gl.spawnSync(s.file,s.args,s.options)}catch(c){throw Tn({error:c,stdout:"",stderr:"",all:"",command:i,escapedCommand:n,parsed:s,timedOut:!1,isCanceled:!1,killed:!1})}let a=Gs(s.options,o.stdout,o.error),l=Gs(s.options,o.stderr,o.error);if(o.error||o.status!==0||o.signal!==null){let c=Tn({stdout:a,stderr:l,error:o.error,signal:o.signal,exitCode:o.status,command:i,escapedCommand:n,parsed:s,timedOut:o.error&&o.error.code==="ETIMEDOUT",isCanceled:!1,killed:o.signal!==null});if(!s.options.reject)return c;throw c}return{command:i,escapedCommand:n,exitCode:0,stdout:a,stderr:l,failed:!1,timedOut:!1,isCanceled:!1,killed:!1}};Vr.exports.command=(t,e)=>{let[r,...s]=ry(t);return An(r,s,e)};Vr.exports.commandSync=(t,e)=>{let[r,...s]=ry(t);return An.sync(r,s,e)};Vr.exports.node=(t,e,r={})=>{e&&!Array.isArray(e)&&typeof e=="object"&&(r=e,e=[]);let s=ey.node(r),i=process.execArgv.filter(a=>!a.startsWith("--inspect")),{nodePath:n=process.execPath,nodeOptions:o=i}=r;return An(n,[...o,t,...Array.isArray(e)?e:[]],he(L({},r),{stdin:void 0,stdout:void 0,stderr:void 0,stdio:s,shell:!1}))}});var my=p((U1,zx)=>{zx.exports={name:"npm-pkg-lint",version:"1.9.0",description:"Opinionated linter for NPM package tarball and package.json metadata",keywords:["lint","npm"],homepage:"https://github.com/ext/npm-pkg-lint",bugs:{url:"https://github.com/ext/npm-pkg-lint/issues"},repository:{type:"git",url:"https://github.com/ext/npm-pkg-lint.git"},license:"MIT",author:"David Sveningsson <ext@sidvind.com>",main:"dist/index.js",bin:"bin/index.js",files:["bin","dist","!**/*.d.ts","!**/*.js.map","!**/*.spec.js"],scripts:{prebuild:"tsc",build:"esbuild src/index.ts --bundle --platform=node --target=node12.0 --analyze --minify --outdir=dist",eslint:"eslint .","eslint:fix":"eslint --fix .",prepare:"husky install","prettier:check":"prettier --check .","prettier:write":"prettier --write .","self-test":"node bin/index.js",test:"jest"},commitlint:{extends:"@html-validate"},"lint-staged":{"*.{ts,js,json,md}":"prettier --write"},prettier:"@html-validate/prettier-config",jest:{preset:"@html-validate/jest-config",testPathIgnorePatterns:["/node_modules/","dist","tests/fixtures"]},devDependencies:{"@html-validate/commitlint-config":"2.1.8","@html-validate/eslint-config":"5.3.9","@html-validate/eslint-config-jest":"5.3.6","@html-validate/eslint-config-typescript":"5.3.10","@html-validate/jest-config":"3.0.1","@html-validate/prettier-config":"2.0.0","@html-validate/stylish":"2.0.1","@types/argparse":"2.0.10","@types/glob":"7.2.0","@types/jest":"27.4.1","@types/node":"12.20.47","@types/semver":"7.3.9","@types/tar":"6.1.1","@types/tmp":"0.2.3",argparse:"2.0.1",esbuild:"0.14.25",execa:"5.1.1","find-up":"5.0.0",glob:"7.2.0",husky:"7.0.4",jest:"27.5.1","lint-staged":"12.3.5",prettier:"2.5.1",semver:"7.3.5",tar:"6.1.11",tmp:"0.2.1",typescript:"4.6.2"},engines:{node:">= 12.0"},renovate:{extends:["gitlab>html-validate/renovate-config"],packageRules:[{matchPackageNames:["@html-validate/stylish","argparse","execa","find-up","semver","tar","tmp"],semanticCommitType:"fix"}]}}});var nr=require("fs"),Vl=fe(require("path")),gy=fe(pc()),_y=fe(Cc()),yy=fe(Ku()),Ey=fe(uh());function Do(t){return t.replace(/\./,"\\.")}function z(t){return new RegExp(`(^|/)${t}/`)}function H(t){return new RegExp(`${Do(t)}$`)}function w(t){return new RegExp(`(^|/)${Do(t)}$`)}function We(t){return new RegExp(`${Do(t)}(\\.(js|cjs|yaml|yml|json))?$`)}var Gw=[/#.*#$/,/~$/,w(".dir-locals.el")],hh=Gw;var Uw=[z(".eslintcache"),w(".eslintignore"),We(".eslintrc")],fh=Uw;var zw=[w(".fimbullinter.yaml"),We(".wotanrc")],dh=zw;var Hw=[w(".gitattributes"),w(".keep"),w(".gitkeep"),w(".gitmodules")],ph=Hw;var Ww=[z("__snapshots__"),z("__tests__"),H(".snap"),H(".spec.[jt]sx?"),H(".spec.d.ts"),H(".spec.js.map"),H(".test.[jt]sx?"),H(".test.d.ts"),H(".test.js.map")],mh=Ww;var Vw=[/(^|\/)(npm|yarn|lerna)-(debug|error)\.log.*$/,w("report.\\d+.\\d+.\\d+.\\d+.\\d+.json"),w(".npmignore"),w(".npmrc"),w(".nvmrc"),w("lerna.json")],gh=Vw;var Xw=[w(".prettierignore"),We(".prettierrc")],_h=Xw;var Yw=[z(".tsbuildinfo"),w("tsconfig.json")],yh=Yw;var Zw=[w("CON"),w("PRN"),w("AUX"),w("NUL"),/(^|\/)COM\d/,/(^|\/)LPT\d/],Eh=Zw;var Kw=[z(".nyc_output"),z("coverage"),H(".lcov"),H("[.-]junit.xml"),w(".istanbul.yml"),w("junit.xml"),w("lcov.info"),w(".airtap.yml"),We(".nycrc"),z("examples?"),z("perf"),z("tests?"),w("cypress.json"),w("karma.config.js"),w("mocha.opts"),w("protractor.config.js"),w("test.js"),w("testem.json"),w("testem.yml"),w("wallaby.config.js"),w("wallaby.js"),w(".htmlvalidate.json"),w(".jshintignore"),w("tslint.json"),w("tslint.yaml"),w(".jscs.json"),We(".jscsrc"),We(".jshintrc"),w("rollup.config.js"),w("webpack.config.js"),w("[gG]runtfile.js"),w("[gG]ulpfile.[jt]s"),w("dangerfile.[jt]s"),w("gulpfile.babel.js"),w("gulpfile.esm.js"),/^\.azure-.*$/,z(".circleci"),z(".github"),z(".gitlab"),z(".?zuul.d"),w(".coveralls.yml"),w(".gitlab-ci.yml"),w(".travis.yml"),w(".?zuul.ya?ml"),w("ISSUE_TEMPLATE.md"),w("Jenkinsfile"),w("PULL_REQUEST_TEMPLATE.md"),w("appveyor.yml"),/(^|\/)\.sw[a-p]/,z(".vscode"),H(".sublime-project"),H(".sublime-workspace"),w(".vscodeignore"),w("Session.vim"),w("Sessionx.vim"),z(".idea"),w(".tm_properties"),z(".AppleDouble"),z(".DS_Store"),z(".LSOverride"),z("logs"),H(".log"),z("pids"),H(".pid"),H(".pid.lock"),H(".seed"),/^[Jj]akefile(\.js)?$/,H(".bak"),H(".swp"),H(".tgz"),H(".tmp"),w(".env"),w(".svgo.yml"),w(".editorconfig"),w(".ext-prepush"),w(".tonic_example.js"),w(".flowconfig"),w(".cardinalrc"),w("bower.json"),w("commitlint.config.js"),w("composer.json"),w("netlify.toml"),w("release.config.js"),...hh,...fh,...dh,...ph,...mh,...gh,..._h,...yh,...Eh],Mo=Kw;function wh(t){Mo.push(new RegExp(`^${t}-\\d+\\.\\d+\\.\\d+\\.tgz$`))}function vh(t){return Mo.some(e=>t.match(e))}var Op=fe(require("fs")),tn=fe(Rp());function nl(t){return t.replace(/^[^/]+\//,"")}async function Ob(t){let e=[];return await tn.default.list({file:t,strict:!0,onentry:r=>e.push(r)}),e.map(r=>{let s=r.path;return nl(s)})}async function rn(t,e){let r={};return new Promise((s,i)=>{let n=new tn.Parse({filter(a,l){return e.includes(nl(l.path))}});n.on("entry",a=>{let l=nl(a.path);r[l]=Buffer.alloc(0),a.on("data",c=>{r[l]=Buffer.concat([r[l],c])}),a.on("error",c=>{i(c)})}),n.on("end",()=>{s(r)}),Op.default.createReadStream(t.filePath).pipe(n)})}async function xb(t){return t.filter(vh)}function Tb(t){return typeof t=="string"?[t]:Array.isArray(t)?t:Object.values(t).filter(e=>e!==!1)}function*Qt(t,e){let r=Tb(t);for(let s of r)yield he(L({},e),{filename:s})}function*Ab(t){t.main&&(yield*Qt(t.main,{field:"main",ruleId:"no-missing-main"})),t.browser&&(yield*Qt(t.browser,{field:"browser",ruleId:"no-missing-main"})),t.module&&(yield*Qt(t.module,{field:"module",ruleId:"no-missing-main"})),t["jsnext:main"]&&(yield*Qt(t["jsnext:main"],{field:"jsnext:main",ruleId:"no-missing-main"})),t.typings&&(yield*Qt(t.typings,{field:"typings",ruleId:"no-missing-typings"})),t.bin&&(yield*Qt(t.bin,{field:"bin",ruleId:"no-missing-binary"})),t.man&&(yield*Qt(t.man,{field:"man",ruleId:"no-missing-man"}))}function Ib(t,e){return e=e.replace(/^\.\//,""),!!(t.includes(e)||t.includes(`${e}.js`)||t.includes(`${e.replace(/\/$/,"")}/index.js`))}async function xp(t,e){var i;let r=[],s=await Ob(e.filePath);for(let n of await xb(s))r.push({ruleId:"no-disallowed-files",severity:2,message:`${n} is not allowed in tarball`,line:1,column:1});for(let n of Ab(t))Ib(s,n.filename)||r.push({ruleId:n.ruleId,severity:2,message:`${n.filename} (pkg.${n.field}) is not present in tarball`,line:1,column:1});return r.length===0?[]:[{messages:r,filePath:(i=e.reportPath)!=null?i:e.filePath,errorCount:r.length,warningCount:0,fixableErrorCount:0,fixableWarningCount:0}]}var Mr=class extends Error{constructor(e,r){super(r);this.validator=e}};function Nb(t){return typeof t>"u"||t===null||t===""}function er(t,e){if(Nb(e))throw new Error(`"${t}" must not be empty`);if(typeof e=="number")return;if(Array.isArray(e)){if(e.length===0)throw new Error(`"${t}" must not be empty`);for(let s in e)er(`${t}[${s}]`,e[s]);return}if(Object.values(e).length===0)throw new Error(`"${t}" must not be empty`)}function je(t,e){if(typeof e>"u"||e===null)throw new Mr(je.name,`"${t}" must be set`)}function ol(t,e){if(!Array.isArray(e))throw new Error(`"${t}" must be array`);for(let r in e)if(typeof e[r]!="string")throw new Error(`"${t}[${r}]" must be string`)}function bs(t,e){if(typeof e!="string")throw new Error(`"${t}" must be string`)}function $r(t,e){if(!(typeof e=="string"&&e.match(/^https:\/\/.+$/)))if(e&&e.url)$r(`${t}.url`,e.url);else throw new Error(`"${t}" must be a valid url (https only)`)}function Ip(t){return new RegExp(`^${t}$`)}function Tp(t){return new RegExp(`^${t}/`)}function ee(t){return new RegExp(`^${t}(-.+)?`)}function al(t){return new RegExp(`^(.*)/${t}(-.+)?`)}var Lb=[Ip("jake"),ee("babel-core"),ee("cypress"),ee("grunt"),ee("gulp"),ee("html-validate"),ee("jasmine"),ee("jest"),ee("mocha"),ee("nyc"),ee("prettier"),ee("protractor"),ee("ts-node"),ee("typescript"),ee("webpack"),Tp("@babel"),Tp("@types")],Pb=[Ip("eslint"),ee("eslint-config"),ee("eslint-formatter"),ee("eslint-plugin"),al("eslint-config"),al("eslint-formatter"),al("eslint-plugin")],Cb=["@babel/code-frame","@babel/polyfill","@babel/runtime","gulp-utils","jest-diff","webpack-sources"];function Ap(t,e){return t.some(r=>e.match(r))}function Np(t,e){return Cb.includes(e)?!1:!(t.keywords||[]).includes("eslint")&&Ap(Pb,e)?!0:Ap(Lb,e)}var yn=fe(_n()),bg=fe(li()),wl="outdated-engines",vl=bg.Severity.ERROR,$R=[["0.10.x",{date:"2016-10-31"}],["0.12.x",{date:"2016-12-31"}],["4.x.x",{date:"2018-04-30"}],["5.x.x",{date:"2016-06-30"}],["6.x.x",{date:"2019-04-30"}],["7.x.x",{date:"2017-06-30"}],["8.x.x",{date:"2019-12-31"}],["9.x.x",{date:"2018-06-30"}],["10.x.x",{date:"2021-04-30"}],["11.x.x",{date:"2019-06-01"}]];function*Rg(t){if(!t.engines||!t.engines.node){yield{ruleId:wl,severity:vl,message:"Missing engines.node field",line:1,column:1};return}let e=t.engines.node;if(!yn.default.validRange(e)){yield{ruleId:wl,severity:vl,message:`engines.node "${e}" is not a valid semver range`,line:1,column:1};return}for(let[r,s]of $R){let i=r.replace(/[xX*]/g,"999"),n=yn.default.parse(i);if(!yn.default.satisfies(i,e))continue;let a=`engines.node is satisfied by Node ${n.major||`0.${n.minor}`} (EOL since ${s.date})`;yield{ruleId:wl,severity:vl,message:a,line:1,column:1};return}}var zl=fe(_n());var oy=fe(ny()),Ul=new Map;async function In(t){if(Ul.has(t))return Ul.get(t);let e=await(0,oy.default)("npm",["info","--json",t]),r=JSON.parse(e.stdout);return Ul.set(t,r),r}var Dx="invalid-engine-constraint";async function*ay(t,e){var s;let r=e?await In(e):t;for(let[i,n]of Object.entries((s=r.dependencies)!=null?s:{})){let o=`${i}@${n}`;yield o,yield*await ay(t,o)}}async function ly(t){var i,n;let e=(i=t.engines)==null?void 0:i.node;if(!e)return[];let r=zl.default.minVersion(e),s=[];for await(let o of ay(t)){let l=(n=(await In(o)).engines)==null?void 0:n.node;!l||zl.default.satisfies(r,l)||s.push({ruleId:Dx,severity:2,message:`the transitive dependency "${o}" (node ${l}) does not satisfy the declared node engine "${e}"`,line:1,column:1})}return s}var Hl=fe(_n()),cy=fe(li()),Mx="types-node-matching-engine",$x=cy.Severity.ERROR;function*uy(t){if(!t.engines||!t.engines.node)return;let e=L(L(L({},t.dependencies),t.devDependencies),t.peerDependencies);if(!e["@types/node"])return;let r=Hl.default.minVersion(t.engines.node),s=Hl.default.minVersion(e["@types/node"]);!r||!s||s.major!==r.major&&(yield{ruleId:Mx,severity:$x,message:`@types/node v${s.major} does not equal engines.node v${r.major}`,line:1,column:1})}var Fx={description:[je,bs,er],keywords:[je,ol,er],homepage:[je,bs,$r],bugs:[je,$r],license:[je,bs,er],author:[je,er],repository:[je,$r]};function jx(t,e){let r=[];for(let[s,i]of Object.entries(Fx))try{for(let n of i)n(s,t[s])}catch(n){if(n instanceof Mr&&n.validator===je.name&&e.ignoreMissingFields)continue;if(n instanceof Error)r.push({ruleId:"package-json-fields",severity:2,message:n.message,line:1,column:1});else throw n}return r}function Bx(t,e){let r=[];for(let s of Object.keys(t.dependencies||{}))e.allowTypesDependencies&&s.match(/^@types\//)||Np(t,s)&&r.push({ruleId:"disallowed-dependency",severity:2,message:`${s} should be a devDependency`,line:1,column:1});return r}async function hy(t,e,r={}){let s=[...await ly(t),...jx(t,r),...Bx(t,r),...Rg(t),...uy(t)];return s.length===0?[]:[{messages:s,filePath:e,errorCount:s.length,warningCount:0,fixableErrorCount:0,fixableWarningCount:0}]}function Gx(t){return t.bin?typeof t.bin=="string"?[t.bin]:Object.values(t.bin):[]}async function fy(t,e){let r=[],s=Gx(t),i=await rn(e,s);for(let[n,o]of Object.entries(i))o.toString("utf-8").match(/^#!.+?\r?\n/)||r.push({messages:[{ruleId:"no-missing-shebang",severity:2,message:"first line must contain shebang to be executable",line:1,column:1}],filePath:n,errorCount:1,warningCount:0,fixableErrorCount:0,fixableWarningCount:0});return r}async function dy(t,e,r,s={}){return[...await xp(t,r),...await hy(t,e,s),...await fy(t,r)]}var Wl=fe(require("path"));function Ux(t){return t.replace("/","-").replace(/^@/,"")}function py(t,e){let r=Ux(t.name);return Wl.default.join(Wl.default.dirname(e),`${r}-${t.version}.tgz`)}var{version:Hx}=my(),Nn="package.json";async function Wx(){return new Promise((t,e)=>{yy.default.file((r,s,i)=>{if(r){e(r);return}let n=(0,nr.createWriteStream)(null,{fd:i,autoClose:!0});process.stdin.pipe(n),n.on("finish",()=>{t(s)}),n.on("error",o=>{e(o)})})})}async function Vx(t,e){if(t.pkgfile)return{pkg:JSON.parse(await nr.promises.readFile(t.pkgfile,"utf-8")),pkgPath:t.pkgfile};if(t.tarball){let s=await rn({filePath:t.tarball},[Nn]),i=JSON.parse(s[Nn].toString("utf-8"));return{pkg:i,pkgPath:Vl.default.join(e?`${i.name}-${i.version}.tgz`:t.tarball,Nn)}}let r=await(0,_y.default)(Nn);if(r){let s=Vl.default.relative(process.cwd(),r);return{pkg:JSON.parse(await nr.promises.readFile(s,"utf-8")),pkgPath:s}}return{}}async function Xx(){var u;let t=new gy.ArgumentParser({description:"npm package linter"});t.add_argument("-v","--version",{action:"version",version:Hx}),t.add_argument("-t","--tarball",{help:"specify tarball location"}),t.add_argument("-p","--pkgfile",{help:"specify package.json location"}),t.add_argument("--allow-types-dependencies",{action:"store_true",help:"allow dependencies to `@types/*`"}),t.add_argument("--ignore-missing-fields",{action:"store_true",help:"ignore errors for missing fields (but still checks for empty and valid)"});let e=t.parse_args(),r=!1;e.tarball==="-"&&(e.tarball=await Wx(),r=!0);let{pkg:s,pkgPath:i}=await Vx(e,r);s||(console.error("Failed to locate package.json and no location was specificed with `--pkgfile'"),process.exit(1));let n={filePath:(u=e.tarball)!=null?u:py(s,i),reportPath:r?`${s.name}-${s.version}.tgz`:void 0};(0,nr.existsSync)(n.filePath)||(console.error(`"${n.filePath}" does not exist, did you forget to run \`npm pack'?`),process.exit(1)),wh(s.name);let o={allowTypesDependencies:e.allow_types_dependencies,ignoreMissingFields:e.ignore_missing_fields},a=await dy(s,i,n,o),l=(0,Ey.default)(a);process.stdout.write(l);let c=a.reduce((f,h)=>f+h.errorCount,0);process.exit(c>0?1:0)}Xx();
|
|
41
41
|
/*!
|
|
42
42
|
* Tmp
|
|
43
43
|
*
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "npm-pkg-lint",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "Opinionated linter for NPM package tarball and package.json metadata",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lint",
|
|
@@ -53,32 +53,32 @@
|
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@html-validate/commitlint-config": "2.1.8",
|
|
56
|
-
"@html-validate/eslint-config": "5.3.
|
|
56
|
+
"@html-validate/eslint-config": "5.3.9",
|
|
57
57
|
"@html-validate/eslint-config-jest": "5.3.6",
|
|
58
|
-
"@html-validate/eslint-config-typescript": "5.3.
|
|
58
|
+
"@html-validate/eslint-config-typescript": "5.3.10",
|
|
59
59
|
"@html-validate/jest-config": "3.0.1",
|
|
60
60
|
"@html-validate/prettier-config": "2.0.0",
|
|
61
61
|
"@html-validate/stylish": "2.0.1",
|
|
62
62
|
"@types/argparse": "2.0.10",
|
|
63
63
|
"@types/glob": "7.2.0",
|
|
64
64
|
"@types/jest": "27.4.1",
|
|
65
|
-
"@types/node": "12.20.
|
|
65
|
+
"@types/node": "12.20.47",
|
|
66
66
|
"@types/semver": "7.3.9",
|
|
67
67
|
"@types/tar": "6.1.1",
|
|
68
68
|
"@types/tmp": "0.2.3",
|
|
69
69
|
"argparse": "2.0.1",
|
|
70
|
-
"esbuild": "0.14.
|
|
70
|
+
"esbuild": "0.14.25",
|
|
71
71
|
"execa": "5.1.1",
|
|
72
72
|
"find-up": "5.0.0",
|
|
73
73
|
"glob": "7.2.0",
|
|
74
74
|
"husky": "7.0.4",
|
|
75
75
|
"jest": "27.5.1",
|
|
76
|
-
"lint-staged": "12.3.
|
|
76
|
+
"lint-staged": "12.3.5",
|
|
77
77
|
"prettier": "2.5.1",
|
|
78
78
|
"semver": "7.3.5",
|
|
79
79
|
"tar": "6.1.11",
|
|
80
80
|
"tmp": "0.2.1",
|
|
81
|
-
"typescript": "4.
|
|
81
|
+
"typescript": "4.6.2"
|
|
82
82
|
},
|
|
83
83
|
"engines": {
|
|
84
84
|
"node": ">= 12.0"
|