@stackone/cli
Version:
StackOne Connect CLI tool
1 lines • 21.1 kB
JavaScript
const e=require(`./chunk-CUT6urMc.cjs`),t=e.__toESM(require(`fs`)),n=e.__toESM(require(`path`)),r=e.__toESM(require(`fs/promises`)),i=e.__toESM(require(`events`)),a=e.__toESM(require(`node:fs/promises`)),o=e.__toESM(require(`node:stream`)),s=e.__toESM(require(`node:path`)),c=e.__toESM(require(`os`)),l={FILE_TYPE:`files`,DIR_TYPE:`directories`,FILE_DIR_TYPE:`files_directories`,EVERYTHING_TYPE:`all`},u={root:`.`,fileFilter:e=>!0,directoryFilter:e=>!0,type:l.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(u);const d=`READDIRP_RECURSIVE_ERROR`,f=new Set([`ENOENT`,`EPERM`,`EACCES`,`ELOOP`,d]),p=[l.DIR_TYPE,l.EVERYTHING_TYPE,l.FILE_DIR_TYPE,l.FILE_TYPE],ee=new Set([l.DIR_TYPE,l.EVERYTHING_TYPE,l.FILE_DIR_TYPE]),m=new Set([l.EVERYTHING_TYPE,l.FILE_DIR_TYPE,l.FILE_TYPE]),te=e=>f.has(e.code),ne=process.platform===`win32`,h=e=>!0,g=e=>{if(e===void 0)return h;if(typeof e==`function`)return e;if(typeof e==`string`){let t=e.trim();return e=>e.basename===t}if(Array.isArray(e)){let t=e.map(e=>e.trim());return e=>t.some(t=>e.basename===t)}return h};var _=class extends o.Readable{constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...u,...e},{root:n,type:r}=t;this._fileFilter=g(t.fileFilter),this._directoryFilter=g(t.directoryFilter);let i=t.lstat?a.lstat:a.stat;ne?this._stat=e=>i(e,{bigint:!0}):this._stat=i,this._maxDepth=t.depth??u.depth,this._wantsDir=r?ee.has(r):!1,this._wantsFile=r?m.has(r):!1,this._wantsEverything=r===l.EVERYTHING_TYPE,this._root=(0,s.resolve)(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?`dirent`:`stats`,this._rdOptions={encoding:`utf8`,withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:r,depth:i}=t,a=n.splice(0,e).map(e=>this._formatEntry(e,r)),o=await Promise.all(a);for(let t of o){if(!t)continue;if(this.destroyed)return;let n=await this._getEntryType(t);n===`directory`&&this._directoryFilter(t)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(t.fullPath,i+1)),this._wantsDir&&(this.push(t),e--)):(n===`file`||this._includeAsFile(t))&&this._fileFilter(t)&&this._wantsFile&&(this.push(t),e--)}}else{let e=this.parents.pop();if(!e){this.push(null);break}if(this.parent=await e,this.destroyed)return}}}catch(e){this.destroy(e)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await(0,a.readdir)(e,this._rdOptions)}catch(e){this._onError(e)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,r=this._isDirent?e.name:e;try{let i=(0,s.resolve)((0,s.join)(t,r));n={path:(0,s.relative)(this._root,i),fullPath:i,basename:r},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(e){this._onError(e);return}return n}_onError(e){te(e)&&!this.destroyed?this.emit(`warn`,e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return``;let t=e[this._statsProp];if(t.isFile())return`file`;if(t.isDirectory())return`directory`;if(t&&t.isSymbolicLink()){let t=e.fullPath;try{let e=await(0,a.realpath)(t),n=await(0,a.lstat)(e);if(n.isFile())return`file`;if(n.isDirectory()){let n=e.length;if(t.startsWith(e)&&t.substr(n,1)===s.sep){let n=Error(`Circular symlink detected: "${t}" points to "${e}"`);return n.code=d,this._onError(n)}return`directory`}}catch(e){return this._onError(e),``}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function v(e,t={}){let n=t.entryType||t.type;if(n===`both`&&(n=l.FILE_DIR_TYPE),n&&(t.type=n),e){if(typeof e!=`string`)throw TypeError(`readdirp: root argument must be a string. Usage: readdirp(root, options)`);if(n&&!p.includes(n))throw Error(`readdirp: Invalid type passed. Use one of ${p.join(`, `)}`)}else throw Error(`readdirp: root argument is required. Usage: readdirp(root, options)`);return t.root=e,new _(t)}const re=`data`,y=`end`,ie=`close`,b=()=>{},x=process.platform,S=x===`win32`,C=x===`darwin`,w=x===`linux`,T=x===`freebsd`,E=(0,c.type)()===`OS400`,D={ALL:`all`,READY:`ready`,ADD:`add`,CHANGE:`change`,ADD_DIR:`addDir`,UNLINK:`unlink`,UNLINK_DIR:`unlinkDir`,RAW:`raw`,ERROR:`error`},O=D,ae=`watch`,oe={lstat:r.lstat,stat:r.stat},k=`listeners`,A=`errHandlers`,j=`rawEmitters`,se=[k,A,j],ce=new Set(`3dm.3ds.3g2.3gp.7z.a.aac.adp.afdesign.afphoto.afpub.ai.aif.aiff.alz.ape.apk.appimage.ar.arj.asf.au.avi.bak.baml.bh.bin.bk.bmp.btif.bz2.bzip2.cab.caf.cgm.class.cmx.cpio.cr2.cur.dat.dcm.deb.dex.djvu.dll.dmg.dng.doc.docm.docx.dot.dotm.dra.DS_Store.dsk.dts.dtshd.dvb.dwg.dxf.ecelp4800.ecelp7470.ecelp9600.egg.eol.eot.epub.exe.f4v.fbs.fh.fla.flac.flatpak.fli.flv.fpx.fst.fvt.g3.gh.gif.graffle.gz.gzip.h261.h263.h264.icns.ico.ief.img.ipa.iso.jar.jpeg.jpg.jpgv.jpm.jxr.key.ktx.lha.lib.lvp.lz.lzh.lzma.lzo.m3u.m4a.m4v.mar.mdi.mht.mid.midi.mj2.mka.mkv.mmr.mng.mobi.mov.movie.mp3.mp4.mp4a.mpeg.mpg.mpga.mxu.nef.npx.numbers.nupkg.o.odp.ods.odt.oga.ogg.ogv.otf.ott.pages.pbm.pcx.pdb.pdf.pea.pgm.pic.png.pnm.pot.potm.potx.ppa.ppam.ppm.pps.ppsm.ppsx.ppt.pptm.pptx.psd.pya.pyc.pyo.pyv.qt.rar.ras.raw.resources.rgb.rip.rlc.rmf.rmvb.rpm.rtf.rz.s3m.s7z.scpt.sgi.shar.snap.sil.sketch.slk.smv.snk.so.stl.suo.sub.swf.tar.tbz.tbz2.tga.tgz.thmx.tif.tiff.tlz.ttc.ttf.txz.udf.uvh.uvi.uvm.uvp.uvs.uvu.viv.vob.war.wav.wax.wbmp.wdp.weba.webm.webp.whl.wim.wm.wma.wmv.wmx.woff.woff2.wrm.wvx.xbm.xif.xla.xlam.xls.xlsb.xlsm.xlsx.xlt.xltm.xltx.xm.xmind.xpi.xpm.xwd.xz.z.zip.zipx`.split(`.`)),le=e=>ce.has(n.extname(e).slice(1).toLowerCase()),M=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},N=(e,t,n)=>{let r=e[t];r instanceof Set||(e[t]=r=new Set([r])),r.add(n)},ue=e=>t=>{let n=e[t];n instanceof Set?n.clear():delete e[t]},P=(e,t,n)=>{let r=e[t];r instanceof Set?r.delete(n):r===n&&delete e[t]},F=e=>e instanceof Set?e.size===0:!e,I=new Map;function L(e,r,i,a,o){let s=(t,r)=>{i(e),o(t,r,{watchedPath:e}),r&&e!==r&&R(n.resolve(e,r),k,n.join(e,r))};try{return(0,t.watch)(e,{persistent:r.persistent},s)}catch(e){a(e);return}}const R=(e,t,n,r,i)=>{let a=I.get(e);a&&M(a[t],e=>{e(n,r,i)})},z=(e,t,n,i)=>{let{listener:a,errHandler:o,rawEmitter:s}=i,c=I.get(t),l;if(!n.persistent)return l=L(e,n,a,o,s),l?l.close.bind(l):void 0;if(c)N(c,k,a),N(c,A,o),N(c,j,s);else{if(l=L(e,n,R.bind(null,t,k),o,R.bind(null,t,j)),!l)return;l.on(O.ERROR,async n=>{let i=R.bind(null,t,A);if(c&&(c.watcherUnusable=!0),S&&n.code===`EPERM`)try{let t=await(0,r.open)(e,`r`);await t.close(),i(n)}catch{}else i(n)}),c={listeners:a,errHandlers:o,rawEmitters:s,watcher:l},I.set(t,c)}return()=>{P(c,k,a),P(c,A,o),P(c,j,s),F(c.listeners)&&(c.watcher.close(),I.delete(t),se.forEach(ue(c)),c.watcher=void 0,Object.freeze(c))}},B=new Map,V=(e,n,r,i)=>{let{listener:a,rawEmitter:o}=i,s=B.get(n),c=s&&s.options;return c&&(c.persistent<r.persistent||c.interval>r.interval)&&((0,t.unwatchFile)(n),s=void 0),s?(N(s,k,a),N(s,j,o)):(s={listeners:a,rawEmitters:o,options:r,watcher:(0,t.watchFile)(n,r,(t,r)=>{M(s.rawEmitters,e=>{e(O.CHANGE,n,{curr:t,prev:r})});let i=t.mtimeMs;(t.size!==r.size||i>r.mtimeMs||i===0)&&M(s.listeners,n=>n(e,t))})},B.set(n,s)),()=>{P(s,k,a),P(s,j,o),F(s.listeners)&&(B.delete(n),(0,t.unwatchFile)(n),s.options=s.watcher=void 0,Object.freeze(s))}};var H=class{constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let r=this.fsw.options,i=n.dirname(e),a=n.basename(e),o=this.fsw._getWatchedDir(i);o.add(a);let s=n.resolve(e),c={persistent:r.persistent};t||=b;let l;if(r.usePolling){let n=r.interval!==r.binaryInterval;c.interval=n&&le(a)?r.binaryInterval:r.interval,l=V(e,s,c,{listener:t,rawEmitter:this.fsw._emitRaw})}else l=z(e,s,c,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return l}_handleFile(e,t,i){if(this.fsw.closed)return;let a=n.dirname(e),o=n.basename(e),s=this.fsw._getWatchedDir(a),c=t;if(s.has(o))return;let l=async(t,n)=>{if(this.fsw._throttle(ae,e,5)){if(!n||n.mtimeMs===0)try{let n=await(0,r.stat)(e);if(this.fsw.closed)return;let i=n.atimeMs,a=n.mtimeMs;if((!i||i<=a||a!==c.mtimeMs)&&this.fsw._emit(O.CHANGE,e,n),(C||w||T)&&c.ino!==n.ino){this.fsw._closeFile(t),c=n;let r=this._watchWithNodeFs(e,l);r&&this.fsw._addPathCloser(t,r)}else c=n}catch{this.fsw._remove(a,o)}else if(s.has(o)){let t=n.atimeMs,r=n.mtimeMs;(!t||t<=r||r!==c.mtimeMs)&&this.fsw._emit(O.CHANGE,e,n),c=n}}},u=this._watchWithNodeFs(e,l);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(O.ADD,e,0))return;this.fsw._emit(O.ADD,e,t)}return u}async _handleSymlink(e,t,n,i){if(this.fsw.closed)return;let a=e.fullPath,o=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let t;try{t=await(0,r.realpath)(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(o.has(i)?this.fsw._symlinkPaths.get(a)!==t&&(this.fsw._symlinkPaths.set(a,t),this.fsw._emit(O.CHANGE,n,e.stats)):(o.add(i),this.fsw._symlinkPaths.set(a,t),this.fsw._emit(O.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(a))return!0;this.fsw._symlinkPaths.set(a,!0)}_handleRead(e,t,r,i,a,o,s){if(e=n.join(e,``),s=this.fsw._throttle(`readdir`,e,1e3),!s)return;let c=this.fsw._getWatchedDir(r.path),l=new Set,u=this.fsw._readdirp(e,{fileFilter:e=>r.filterPath(e),directoryFilter:e=>r.filterDir(e)});if(u)return u.on(re,async s=>{if(this.fsw.closed){u=void 0;return}let d=s.path,f=n.join(e,d);if(l.add(d),!(s.stats.isSymbolicLink()&&await this._handleSymlink(s,e,f,d))){if(this.fsw.closed){u=void 0;return}(d===i||!i&&!c.has(d))&&(this.fsw._incrReadyCount(),f=n.join(a,n.relative(a,f)),this._addToNodeFs(f,t,r,o+1))}}).on(O.ERROR,this._boundHandleError),new Promise((t,n)=>{if(!u)return n();u.once(y,()=>{if(this.fsw.closed){u=void 0;return}let n=s?s.clear():!1;t(void 0),c.getChildren().filter(t=>t!==e&&!l.has(t)).forEach(t=>{this.fsw._remove(e,t)}),u=void 0,n&&this._handleRead(e,!1,r,i,a,o,s)})})}async _handleDir(e,t,r,i,a,o,s){let c=this.fsw._getWatchedDir(n.dirname(e)),l=c.has(n.basename(e));!(r&&this.fsw.options.ignoreInitial)&&!a&&!l&&this.fsw._emit(O.ADD_DIR,e,t),c.add(n.basename(e)),this.fsw._getWatchedDir(e);let u,d,f=this.fsw.options.depth;if((f==null||i<=f)&&!this.fsw._symlinkPaths.has(s)){if(!a&&(await this._handleRead(e,r,o,a,e,i,u),this.fsw.closed))return;d=this._watchWithNodeFs(e,(t,n)=>{n&&n.mtimeMs===0||this._handleRead(t,!1,o,a,e,i,u)})}return d}async _addToNodeFs(e,t,i,a,o){let s=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return s(),!1;let c=this.fsw._getWatchHelpers(e);i&&(c.filterPath=e=>i.filterPath(e),c.filterDir=e=>i.filterDir(e));try{let i=await oe[c.statMethod](c.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(c.watchPath,i))return s(),!1;let l=this.fsw.options.followSymlinks,u;if(i.isDirectory()){let s=n.resolve(e),d=l?await(0,r.realpath)(e):e;if(this.fsw.closed||(u=await this._handleDir(c.watchPath,i,t,a,o,c,d),this.fsw.closed))return;s!==d&&d!==void 0&&this.fsw._symlinkPaths.set(s,d)}else if(i.isSymbolicLink()){let o=l?await(0,r.realpath)(e):e;if(this.fsw.closed)return;let s=n.dirname(c.watchPath);if(this.fsw._getWatchedDir(s).add(c.watchPath),this.fsw._emit(O.ADD,c.watchPath,i),u=await this._handleDir(s,i,t,a,e,c,o),this.fsw.closed)return;o!==void 0&&this.fsw._symlinkPaths.set(n.resolve(e),o)}else u=this._handleFile(c.watchPath,i,t);return s(),u&&this.fsw._addPathCloser(e,u),!1}catch(t){if(this.fsw._handleError(t))return s(),e}}};const U=`/`,de=`//`,W=`.`,fe=`..`,pe=`string`,me=/\\/g,G=/\/\//,he=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,ge=/^\.[/\\]/;function K(e){return Array.isArray(e)?e:[e]}const q=e=>typeof e==`object`&&!!e&&!(e instanceof RegExp);function _e(e){return typeof e==`function`?e:typeof e==`string`?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e==`object`&&e?t=>{if(e.path===t)return!0;if(e.recursive){let r=n.relative(e.path,t);return r?!r.startsWith(`..`)&&!n.isAbsolute(r):!1}return!1}:()=>!1}function ve(e){if(typeof e!=`string`)throw Error(`string expected`);e=n.normalize(e),e=e.replace(/\\/g,`/`);let t=!1;e.startsWith(`//`)&&(t=!0);let r=/\/\//;for(;e.match(r);)e=e.replace(r,`/`);return t&&(e=`/`+e),e}function J(e,t,n){let r=ve(t);for(let t=0;t<e.length;t++){let i=e[t];if(i(r,n))return!0}return!1}function ye(e,t){if(e==null)throw TypeError(`anymatch: specify first argument`);let n=K(e),r=n.map(e=>_e(e));return t==null?(e,t)=>J(r,e,t):J(r,t)}const Y=e=>{let t=K(e).flat();if(!t.every(e=>typeof e===pe))throw TypeError(`Non-string provided as watch path: ${t}`);return t.map(Z)},X=e=>{let t=e.replace(me,U),n=!1;for(t.startsWith(de)&&(n=!0);t.match(G);)t=t.replace(G,U);return n&&(t=U+t),t},Z=e=>X(n.normalize(X(e))),Q=(e=``)=>t=>typeof t==`string`?Z(n.isAbsolute(t)?t:n.join(e,t)):t,be=(e,t)=>n.isAbsolute(e)?e:n.join(t,e),xe=Object.freeze(new Set);var Se=class{constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==W&&e!==fe&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let i=this.path;try{await(0,r.readdir)(i)}catch{this._removeWatcher&&this._removeWatcher(n.dirname(i),n.basename(i))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path=``,this._removeWatcher=b,this.items=xe,Object.freeze(this)}};const Ce=`stat`,$=`lstat`;var we=class{constructor(e,t,r){this.fsw=r;let i=e;this.path=e=e.replace(ge,``),this.watchPath=i,this.fullWatchPath=n.resolve(i),this.dirParts=[],this.dirParts.forEach(e=>{e.length>1&&e.pop()}),this.followSymlinks=t,this.statMethod=t?Ce:$}entryPath(e){return n.join(this.watchPath,n.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Te=class extends i.EventEmitter{constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?K(e.ignored):K([]),awaitWriteFinish:t===!0?n:typeof t==`object`?{...n,...t}:!1};E&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let e=i.toLowerCase();e===`false`||e===`0`?r.usePolling=!1:e===`true`||e===`1`?r.usePolling=!0:r.usePolling=!!e}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=b,this._readyEmitted=!0,process.nextTick(()=>this.emit(D.READY)))},this._emitRaw=(...e)=>this.emit(D.RAW,...e),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new H(this),Object.freeze(r)}_addIgnoredPath(e){if(q(e)){for(let t of this._ignoredPaths)if(q(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e==`string`)for(let t of this._ignoredPaths)q(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,r){let{cwd:i}=this.options;this.closed=!1,this._closePromise=void 0;let a=Y(e);return i&&(a=a.map(e=>{let t=be(e,i);return t})),a.forEach(e=>{this._removeIgnoredPath(e)}),this._userIgnored=void 0,this._readyCount||=0,this._readyCount+=a.length,Promise.all(a.map(async e=>{let n=await this._nodeFsHandler._addToNodeFs(e,!r,void 0,0,t);return n&&this._emitReady(),n})).then(e=>{this.closed||e.forEach(e=>{e&&this.add(n.dirname(e),n.basename(t||e))})}),this}unwatch(e){if(this.closed)return this;let t=Y(e),{cwd:r}=this.options;return t.forEach(e=>{!n.isAbsolute(e)&&!this._closers.has(e)&&(r&&(e=n.join(r,e)),e=n.resolve(e)),this._closePath(e),this._addIgnoredPath(e),this._watched.has(e)&&this._addIgnoredPath({path:e,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(t=>{let n=t();n instanceof Promise&&e.push(n)})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>void 0):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,r)=>{let i=this.options.cwd?n.relative(this.options.cwd,r):r,a=i||W;e[a]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==D.ERROR&&this.emit(D.ALL,e,...t)}async _emit(e,t,i){if(this.closed)return;let a=this.options;S&&(t=n.normalize(t)),a.cwd&&(t=n.relative(a.cwd,t));let o=[t];i!=null&&o.push(i);let s=a.awaitWriteFinish,c;if(s&&(c=this._pendingWrites.get(t)))return c.lastChange=new Date,this;if(a.atomic){if(e===D.UNLINK)return this._pendingUnlinks.set(t,[e,...o]),setTimeout(()=>{this._pendingUnlinks.forEach((e,t)=>{this.emit(...e),this.emit(D.ALL,...e),this._pendingUnlinks.delete(t)})},typeof a.atomic==`number`?a.atomic:100),this;e===D.ADD&&this._pendingUnlinks.has(t)&&(e=D.CHANGE,this._pendingUnlinks.delete(t))}if(s&&(e===D.ADD||e===D.CHANGE)&&this._readyEmitted){let n=(t,n)=>{t?(e=D.ERROR,o[0]=t,this.emitWithAll(e,o)):n&&(o.length>1?o[1]=n:o.push(n),this.emitWithAll(e,o))};return this._awaitWriteFinish(t,s.stabilityThreshold,e,n),this}if(e===D.CHANGE){let e=!this._throttle(D.CHANGE,t,50);if(e)return this}if(a.alwaysStat&&i===void 0&&(e===D.ADD||e===D.ADD_DIR||e===D.CHANGE)){let e=a.cwd?n.join(a.cwd,t):t,i;try{i=await(0,r.stat)(e)}catch{}if(!i||this.closed)return;o.push(i)}return this.emitWithAll(e,o),this}_handleError(e){let t=e&&e.code;return e&&t!==`ENOENT`&&t!==`ENOTDIR`&&(!this.options.ignorePermissionErrors||t!==`EPERM`&&t!==`EACCES`)&&this.emit(D.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw Error(`invalid throttle`);let i=r.get(t);if(i)return i.count++,!1;let a,o=()=>{let e=r.get(t),n=e?e.count:0;return r.delete(t),clearTimeout(a),e&&clearTimeout(e.timeoutObject),n};a=setTimeout(o,n);let s={timeoutObject:a,clear:o,count:0};return r.set(t,s),s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,r,i,a){let o=this.options.awaitWriteFinish;if(typeof o!=`object`)return;let s=o.pollInterval,c,l=e;this.options.cwd&&!n.isAbsolute(e)&&(l=n.join(this.options.cwd,e));let u=new Date,d=this._pendingWrites;function f(n){(0,t.stat)(l,(t,i)=>{if(t||!d.has(e)){t&&t.code!==`ENOENT`&&a(t);return}let o=Number(new Date);n&&i.size!==n.size&&(d.get(e).lastChange=o);let l=d.get(e),u=o-l.lastChange;u>=r?(d.delete(e),a(void 0,i)):c=setTimeout(f,s,i)})}d.has(e)||(d.set(e,{lastChange:u,cancelWait:()=>(d.delete(e),clearTimeout(c),i)}),c=setTimeout(f,s))}_isIgnored(e,t){if(this.options.atomic&&he.test(e))return!0;if(!this._userIgnored){let{cwd:e}=this.options,t=this.options.ignored,n=(t||[]).map(Q(e)),r=[...this._ignoredPaths],i=[...r.map(Q(e)),...n];this._userIgnored=ye(i,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new we(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=n.resolve(e);return this._watched.has(t)||this._watched.set(t,new Se(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,r){let i=n.join(e,t),a=n.resolve(i);if(r??=this._watched.has(i)||this._watched.has(a),!this._throttle(`remove`,i,100))return;!r&&this._watched.size===1&&this.add(e,t,!0);let o=this._getWatchedDir(i),s=o.getChildren();s.forEach(e=>this._remove(i,e));let c=this._getWatchedDir(e),l=c.has(t);c.remove(t),this._symlinkPaths.has(a)&&this._symlinkPaths.delete(a);let u=i;if(this.options.cwd&&(u=n.relative(this.options.cwd,i)),this.options.awaitWriteFinish&&this._pendingWrites.has(u)){let e=this._pendingWrites.get(u).cancelWait();if(e===D.ADD)return}this._watched.delete(i),this._watched.delete(a);let d=r?D.UNLINK_DIR:D.UNLINK;l&&!this._isIgnored(i)&&this._emit(d,i),this._closePath(i)}_closePath(e){this._closeFile(e);let t=n.dirname(e);this._getWatchedDir(t).remove(n.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(e=>e()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n={type:D.ALL,alwaysStat:!0,lstat:!0,...t,depth:0},r=v(e,n);return this._streams.add(r),r.once(ie,()=>{r=void 0}),r.once(y,()=>{r&&(this._streams.delete(r),r=void 0)}),r}};function Ee(e,t={}){let n=new Te(t);return n.add(e),n}exports.watch=Ee;