@olegkuibar/plunk 0.2.3 → 0.3.0-canary.a9ba467

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.
Files changed (77) hide show
  1. package/dist/add-UVCJ3RZR.mjs +14 -0
  2. package/dist/chokidar-LVDD2IK4.mjs +4 -0
  3. package/dist/chunk-2VCW5RWI.mjs +3 -0
  4. package/dist/chunk-6P5DRYEP.mjs +3 -0
  5. package/dist/chunk-7JG555TZ.mjs +3 -0
  6. package/dist/chunk-AR7AKSKG.mjs +3 -0
  7. package/dist/chunk-EAUHATXX.mjs +15 -0
  8. package/dist/chunk-FGKSH2S4.mjs +7 -0
  9. package/dist/chunk-FOPPYGLV.mjs +3 -0
  10. package/dist/chunk-GDIN53OR.mjs +4 -0
  11. package/dist/chunk-HQM2R2GI.mjs +3 -0
  12. package/dist/chunk-HUXBFNFL.mjs +3 -0
  13. package/dist/chunk-HW7AEGI3.mjs +3 -0
  14. package/dist/chunk-JSJRP4AV.mjs +4 -0
  15. package/dist/chunk-MBKCCWSD.mjs +3 -0
  16. package/dist/chunk-NDEJCN7R.mjs +4 -0
  17. package/dist/chunk-OL7SNXMX.mjs +7 -0
  18. package/dist/chunk-RITKSDMP.mjs +3 -0
  19. package/dist/chunk-UGZBVKOZ.mjs +12 -0
  20. package/dist/chunk-ZJMZKJNW.mjs +3 -0
  21. package/dist/clean-346LCKHO.mjs +3 -0
  22. package/dist/cli.mjs +2 -56
  23. package/dist/dev-IJAFFXAG.mjs +3 -0
  24. package/dist/doctor-PMR2T7OZ.mjs +4 -0
  25. package/dist/index.d.ts +17 -2
  26. package/dist/index.mjs +460 -180
  27. package/dist/init-5FYNUH5Z.mjs +7 -0
  28. package/dist/list-PEZN5V7H.mjs +5 -0
  29. package/dist/migrate-2MQVULTL.mjs +8 -0
  30. package/dist/publish-L6IH6PI2.mjs +3 -0
  31. package/dist/push-KMAWIKLO.mjs +3 -0
  32. package/dist/remove-GSBWNM2O.mjs +3 -0
  33. package/dist/restore-ZRIOE5V7.mjs +11 -0
  34. package/dist/status-INGSOXJL.mjs +4 -0
  35. package/dist/tailwind-source-P7HW2P3U.mjs +5 -0
  36. package/dist/update-EKEWWCGO.mjs +3 -0
  37. package/dist/vite-config-PIGDBANQ.mjs +10 -0
  38. package/dist/workspace-GMBWPSBR.mjs +3 -0
  39. package/package.json +2 -8
  40. package/dist/add-5ZRFUL6Z.mjs +0 -258
  41. package/dist/chokidar-XGAEDN45.mjs +0 -1746
  42. package/dist/chunk-34UXZ622.mjs +0 -98
  43. package/dist/chunk-4O2QOKVO.mjs +0 -1958
  44. package/dist/chunk-CSMZ6DZA.mjs +0 -367
  45. package/dist/chunk-CZM4TNAI.mjs +0 -292
  46. package/dist/chunk-EDUXIQ5W.mjs +0 -1729
  47. package/dist/chunk-GAAB2TLH.mjs +0 -160
  48. package/dist/chunk-HKNM3UWU.mjs +0 -496
  49. package/dist/chunk-I6SN7BBN.mjs +0 -1131
  50. package/dist/chunk-KYDBD2KQ.mjs +0 -39
  51. package/dist/chunk-LKQINKH4.mjs +0 -130
  52. package/dist/chunk-PUSXMPOF.mjs +0 -82
  53. package/dist/chunk-S4HJSJ32.mjs +0 -69
  54. package/dist/chunk-W3C72UKC.mjs +0 -113
  55. package/dist/chunk-WSECI6M7.mjs +0 -85
  56. package/dist/chunk-XMIZ7OUZ.mjs +0 -26
  57. package/dist/chunk-XZK5T4GK.mjs +0 -23
  58. package/dist/chunk-ZOYNYK5Y.mjs +0 -23
  59. package/dist/chunk-ZQCGJUBJ.mjs +0 -92
  60. package/dist/clean-LTR5MZTY.mjs +0 -84
  61. package/dist/dev-LFXQP6SA.mjs +0 -194
  62. package/dist/dist-DUFCZSIL.mjs +0 -813
  63. package/dist/doctor-R7ZVR7PY.mjs +0 -230
  64. package/dist/hash-worker.mjs +0 -65
  65. package/dist/init-SWCNRISY.mjs +0 -310
  66. package/dist/list-B77L2F34.mjs +0 -119
  67. package/dist/migrate-X5TIC5SS.mjs +0 -124
  68. package/dist/prompt-HTPH6HQ7.mjs +0 -756
  69. package/dist/publish-UXCLPNM6.mjs +0 -63
  70. package/dist/push-JI6HGCFG.mjs +0 -197
  71. package/dist/remove-DCR7KKD5.mjs +0 -149
  72. package/dist/restore-SUN3WGSW.mjs +0 -124
  73. package/dist/status-MESRBH54.mjs +0 -103
  74. package/dist/tailwind-source-JBBEIXIJ.mjs +0 -89
  75. package/dist/update-SKDSA673.mjs +0 -100
  76. package/dist/vite-config-BAK67JHB.mjs +0 -128
  77. package/dist/workspace-76HJPAK2.mjs +0 -97
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {c as c$1}from'./chunk-UGZBVKOZ.mjs';import {a as a$2}from'./chunk-NDEJCN7R.mjs';import {c}from'./chunk-6P5DRYEP.mjs';import'./chunk-HW7AEGI3.mjs';import {a as a$6}from'./chunk-FGKSH2S4.mjs';import {b as b$3,a as a$5,e}from'./chunk-EAUHATXX.mjs';import {a as a$4,b as b$2,c as c$2,d}from'./chunk-GDIN53OR.mjs';import {c as c$3,g}from'./chunk-FOPPYGLV.mjs';import {a as a$3}from'./chunk-ZJMZKJNW.mjs';import {a as a$1}from'./chunk-MBKCCWSD.mjs';import {i}from'./chunk-JSJRP4AV.mjs';import {b,a as a$7}from'./chunk-RITKSDMP.mjs';import'./chunk-OL7SNXMX.mjs';import {j}from'./chunk-HUXBFNFL.mjs';import {b as b$1,e as e$1,f}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {spawn}from'child_process';import {platform}from'os';import {resolve,basename}from'path';globalThis.require=createRequire(import.meta.url);
3
+ var pn={meta:{name:"add",description:"Link a package from the plunk store into this project"},args:{package:{type:"positional",description:"Package name to add",required:true},from:{type:"string",description:"Path to package source (will publish first)"},yes:{type:"boolean",alias:"y",description:"Auto-accept prompts (install missing deps, etc.)",default:false}},async run({args:r}){b();let d$1=new a$1,n=resolve("."),i$1=r.package;if(r.from){let t=resolve(r.from);b$1.info(`Publishing from ${t}...`),await a$2(t);}let s=await c(i$1);s||(a$3(`Package "${i$1}" not found in store. Run 'plunk publish' in the package directory first, or use --from <path>.`),process.exit(1));let w=!await j(i(n)),o=await a$4(n);if(w&&(await c$1(n,o),b$1.success("Auto-initialized plunk (consumer mode)")),b$1.info(`Detected package manager: ${o}`),o==="yarn"){let t=await b$2(n);(t==="pnp"||t===null&&await c$2(n))&&(b$1.error(`Yarn PnP mode is not compatible with plunk.
4
+
5
+ plunk works by copying files into node_modules/, but PnP eliminates
6
+ node_modules/ entirely. To use plunk with Yarn Berry, add this to
7
+ .yarnrc.yml:
8
+
9
+ nodeLinker: node-modules
10
+
11
+ Then run: yarn install`),process.exit(1));}let p=await b$3(n,i$1,o);p&&b$1.info(`Backed up existing ${i$1} installation`);let c$4=await a$5(s,n,o);b$1.success(`Linked ${i$1}@${s.version} \u2192 node_modules/${i$1} (${c$4.copied} files copied, ${c$4.skipped} unchanged)`),c$4.binLinks>0&&b$1.info(`Created ${c$4.binLinks} bin link(s)`);let O={version:s.version,contentHash:s.meta.contentHash,linkedAt:new Date().toISOString(),sourcePath:s.meta.sourcePath,backupExists:p,packageManager:o,buildId:s.meta.buildId??""};await c$3(n,i$1,O),await g(i$1,n);let a=await e(s,n);if(a.length>0)if(e$1())f(`[add] Missing transitive deps (json mode): ${a.join(", ")}`);else if(r.yes){let t=k(o,a);b$1.info(`Installing missing dependencies: ${a.join(", ")}`),await H(t,n)?b$1.success("Installed missing dependencies"):b$1.warn(`Install failed. Run manually: ${t}`);}else if(await b$1.prompt(`Install ${a.length} missing dependencies? (${a.join(", ")})`,{type:"confirm",initial:true})){let m=k(o,a);await H(m,n)?b$1.success("Installed missing dependencies"):b$1.warn(`Install failed. Run manually: ${m}`);}else b$1.warn(`Missing transitive dependencies: ${a.join(", ")}
12
+ Run: ${k(o,a)}`);let l=await d(n);if(l.type==="next"&&l.configFile){let t=await a$6(l.configFile,i$1);t.modified?b$1.success(`Added ${i$1} to transpilePackages in ${basename(l.configFile)}`):t.error&&b$1.info(`Add to next.config manually: transpilePackages: ['${i$1}']`);}else if(l.type==="vite"&&l.configFile){let{addPlunkVitePlugin:t}=await import('./vite-config-PIGDBANQ.mjs'),m=await t(l.configFile);m.modified?b$1.success(`Added plunk plugin to ${basename(l.configFile)}`):m.error&&b$1.info(`Add manually:
13
+ import plunk from "@olegkuibar/plunk/vite"
14
+ plugins: [plunk()]`);}let{findTailwindCss:N,addTailwindSource:W}=await import('./tailwind-source-P7HW2P3U.mjs'),u=await N(n);if(u){let t=await W(u,i$1,n);t.modified?b$1.success(`Added @source for ${i$1} to ${basename(u)}`):t.error&&b$1.info(`Add to your CSS manually: @source "../node_modules/${i$1}";`);}b$1.info(`Done in ${d$1.elapsed()}`),a$7({package:i$1,version:s.version,copied:c$4.copied,skipped:c$4.skipped,binLinks:c$4.binLinks,elapsed:d$1.elapsedMs()});}};function k(r,d){let n=d.join(" ");switch(r){case "pnpm":return `pnpm add ${n}`;case "yarn":return `yarn add ${n}`;case "bun":return `bun add ${n}`;default:return `npm install ${n}`}}a(k,"buildInstallCommand");function H(r,d){return new Promise(n=>{let i=platform()==="win32",o=spawn(i?"cmd":"sh",[i?"/c":"-c",r],{cwd:d,stdio:"inherit"});o.on("close",p=>n(p===0)),o.on("error",()=>n(false));})}a(H,"runInstallCommand");export{pn as default};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a}from'./chunk-2VCW5RWI.mjs';import {EventEmitter}from'events';import {unwatchFile,watchFile,watch,stat as stat$1}from'fs';import {lstat,stat,readdir,realpath,open}from'fs/promises';import*as u from'path';import {resolve,join,relative,sep}from'path';import {Readable}from'stream';import {type}from'os';globalThis.require=createRequire(import.meta.url);
3
+ var g={FILE_TYPE:"files",DIR_TYPE:"directories",FILE_DIR_TYPE:"files_directories",EVERYTHING_TYPE:"all"},k={root:".",fileFilter:a(r=>true,"fileFilter"),directoryFilter:a(r=>true,"directoryFilter"),type:g.FILE_TYPE,lstat:false,depth:2147483648,alwaysStat:false,highWaterMark:4096};Object.freeze(k);var J="READDIRP_RECURSIVE_ERROR",gt=new Set(["ENOENT","EPERM","EACCES","ELOOP",J]),B=[g.DIR_TYPE,g.EVERYTHING_TYPE,g.FILE_DIR_TYPE,g.FILE_TYPE],yt=new Set([g.DIR_TYPE,g.EVERYTHING_TYPE,g.FILE_DIR_TYPE]),Pt=new Set([g.EVERYTHING_TYPE,g.FILE_DIR_TYPE,g.FILE_TYPE]),Rt=a(r=>gt.has(r.code),"isNormalFlowError"),bt=process.platform==="win32",$=a(r=>true,"emptyFn"),q=a(r=>{if(r===void 0)return $;if(typeof r=="function")return r;if(typeof r=="string"){let t=r.trim();return e=>e.basename===t}if(Array.isArray(r)){let t=r.map(e=>e.trim());return e=>t.some(i=>e.basename===i)}return $},"normalizeFilter"),L=class extends Readable{static{a(this,"ReaddirpStream");}parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(t={}){super({objectMode:true,autoDestroy:true,highWaterMark:t.highWaterMark});let e={...k,...t},{root:i,type:s}=e;this._fileFilter=q(e.fileFilter),this._directoryFilter=q(e.directoryFilter);let n=e.lstat?lstat:stat;bt?this._stat=h=>n(h,{bigint:true}):this._stat=n,this._maxDepth=e.depth!=null&&Number.isSafeInteger(e.depth)?e.depth:k.depth,this._wantsDir=s?yt.has(s):false,this._wantsFile=s?Pt.has(s):false,this._wantsEverything=s===g.EVERYTHING_TYPE,this._root=resolve(i),this._isDirent=!e.alwaysStat,this._statsProp=this._isDirent?"dirent":"stats",this._rdOptions={encoding:"utf8",withFileTypes:this._isDirent},this.parents=[this._exploreDir(i,1)],this.reading=false,this.parent=void 0;}async _read(t){if(!this.reading){this.reading=true;try{for(;!this.destroyed&&t>0;){let e=this.parent,i=e&&e.files;if(i&&i.length>0){let{path:s,depth:n}=e,h=i.splice(0,t).map(a=>this._formatEntry(a,s)),o=await Promise.all(h);for(let a of o){if(!a)continue;if(this.destroyed)return;let c=await this._getEntryType(a);c==="directory"&&this._directoryFilter(a)?(n<=this._maxDepth&&this.parents.push(this._exploreDir(a.fullPath,n+1)),this._wantsDir&&(this.push(a),t--)):(c==="file"||this._includeAsFile(a))&&this._fileFilter(a)&&this._wantsFile&&(this.push(a),t--);}}else {let s=this.parents.pop();if(!s){this.push(null);break}if(this.parent=await s,this.destroyed)return}}}catch(e){this.destroy(e);}finally{this.reading=false;}}}async _exploreDir(t,e){let i;try{i=await readdir(t,this._rdOptions);}catch(s){this._onError(s);}return {files:i,depth:e,path:t}}async _formatEntry(t,e){let i,s=this._isDirent?t.name:t;try{let n=resolve(join(e,s));i={path:relative(this._root,n),fullPath:n,basename:s},i[this._statsProp]=this._isDirent?t:await this._stat(n);}catch(n){this._onError(n);return}return i}_onError(t){Rt(t)&&!this.destroyed?this.emit("warn",t):this.destroy(t);}async _getEntryType(t){if(!t&&this._statsProp in t)return "";let e=t[this._statsProp];if(e.isFile())return "file";if(e.isDirectory())return "directory";if(e&&e.isSymbolicLink()){let i=t.fullPath;try{let s=await realpath(i),n=await lstat(s);if(n.isFile())return "file";if(n.isDirectory()){let h=s.length;if(i.startsWith(s)&&i.substr(h,1)===sep){let o=new Error(`Circular symlink detected: "${i}" points to "${s}"`);return o.code=J,this._onError(o)}return "directory"}}catch(s){return this._onError(s),""}}}_includeAsFile(t){let e=t&&t[this._statsProp];return e&&this._wantsEverything&&!e.isDirectory()}};function Q(r,t={}){let e=t.entryType||t.type;if(e==="both"&&(e=g.FILE_DIR_TYPE),e&&(t.type=e),r){if(typeof r!="string")throw new TypeError("readdirp: root argument must be a string. Usage: readdirp(root, options)");if(e&&!B.includes(e))throw new Error(`readdirp: Invalid type passed. Use one of ${B.join(", ")}`)}else throw new Error("readdirp: root argument is required. Usage: readdirp(root, options)");return t.root=r,new L(t)}a(Q,"readdirp");var Ft="data",z="end",et="close",S=a(()=>{},"EMPTY_FN");var A=process.platform,H=A==="win32",St=A==="darwin",At=A==="linux",Wt=A==="freebsd",st=type()==="OS400",m={ALL:"all",READY:"ready",ADD:"add",CHANGE:"change",ADD_DIR:"addDir",UNLINK:"unlink",UNLINK_DIR:"unlinkDir",RAW:"raw",ERROR:"error"},y=m,Nt="watch",kt={lstat:lstat,stat:stat},R="listeners",T="errHandlers",b="rawEmitters",Lt=[R,T,b],Ct=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"]),Ot=a(r=>Ct.has(u.extname(r).slice(1).toLowerCase()),"isBinaryPath"),M=a((r,t)=>{r instanceof Set?r.forEach(t):t(r);},"foreach"),D=a((r,t,e)=>{let i=r[t];i instanceof Set||(r[t]=i=new Set([i])),i.add(e);},"addAndConvert"),Mt=a(r=>t=>{let e=r[t];e instanceof Set?e.clear():delete r[t];},"clearItem"),I=a((r,t,e)=>{let i=r[t];i instanceof Set?i.delete(e):i===e&&delete r[t];},"delFromSet"),it=a(r=>r instanceof Set?r.size===0:!r,"isEmptySet"),v=new Map;function Z(r,t,e,i,s){let n=a((h,o)=>{e(r),s(h,o,{watchedPath:r}),o&&r!==o&&x(u.resolve(r,o),R,u.join(r,o));},"handleEvent");try{return watch(r,{persistent:t.persistent},n)}catch(h){i(h);return}}a(Z,"createFsWatchInstance");var x=a((r,t,e,i,s)=>{let n=v.get(r);n&&M(n[t],h=>{h(e,i,s);});},"fsWatchBroadcast"),zt=a((r,t,e,i)=>{let{listener:s,errHandler:n,rawEmitter:h}=i,o=v.get(t),a;if(!e.persistent)return a=Z(r,e,s,n,h),a?a.close.bind(a):void 0;if(o)D(o,R,s),D(o,T,n),D(o,b,h);else {if(a=Z(r,e,x.bind(null,t,R),n,x.bind(null,t,b)),!a)return;a.on(y.ERROR,async c=>{let d=x.bind(null,t,T);if(o&&(o.watcherUnusable=true),H&&c.code==="EPERM")try{await(await open(r,"r")).close(),d(c);}catch{}else d(c);}),o={listeners:s,errHandlers:n,rawEmitters:h,watcher:a},v.set(t,o);}return ()=>{I(o,R,s),I(o,T,n),I(o,b,h),it(o.listeners)&&(o.watcher.close(),v.delete(t),Lt.forEach(Mt(o)),o.watcher=void 0,Object.freeze(o));}},"setFsWatchListener"),O=new Map,Ht=a((r,t,e,i)=>{let{listener:s,rawEmitter:n}=i,h=O.get(t),o=h&&h.options;return o&&(o.persistent<e.persistent||o.interval>e.interval)&&(unwatchFile(t),h=void 0),h?(D(h,R,s),D(h,b,n)):(h={listeners:s,rawEmitters:n,options:e,watcher:watchFile(t,e,(a,c)=>{M(h.rawEmitters,_=>{_(y.CHANGE,t,{curr:a,prev:c});});let d=a.mtimeMs;(a.size!==c.size||d>c.mtimeMs||d===0)&&M(h.listeners,_=>_(r,a));})},O.set(t,h)),()=>{I(h,R,s),I(h,b,n),it(h.listeners)&&(O.delete(t),unwatchFile(t),h.options=h.watcher=void 0,Object.freeze(h));}},"setFsWatchFileListener"),F=class{static{a(this,"NodeFsHandler");}fsw;_boundHandleError;constructor(t){this.fsw=t,this._boundHandleError=e=>t._handleError(e);}_watchWithNodeFs(t,e){let i=this.fsw.options,s=u.dirname(t),n=u.basename(t);this.fsw._getWatchedDir(s).add(n);let o=u.resolve(t),a={persistent:i.persistent};e||(e=S);let c;if(i.usePolling){let d=i.interval!==i.binaryInterval;a.interval=d&&Ot(n)?i.binaryInterval:i.interval,c=Ht(t,o,a,{listener:e,rawEmitter:this.fsw._emitRaw});}else c=zt(t,o,a,{listener:e,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw});return c}_handleFile(t,e,i){if(this.fsw.closed)return;let s=u.dirname(t),n=u.basename(t),h=this.fsw._getWatchedDir(s),o=e;if(h.has(n))return;let a$1=a(async(d,_)=>{if(this.fsw._throttle(Nt,t,5)){if(!_||_.mtimeMs===0)try{let f=await stat(t);if(this.fsw.closed)return;let w=f.atimeMs,E=f.mtimeMs;if((!w||w<=E||E!==o.mtimeMs)&&this.fsw._emit(y.CHANGE,t,f),(St||At||Wt)&&o.ino!==f.ino){this.fsw._closeFile(d),o=f;let P=this._watchWithNodeFs(t,a$1);P&&this.fsw._addPathCloser(d,P);}else o=f;}catch{this.fsw._remove(s,n);}else if(h.has(n)){let f=_.atimeMs,w=_.mtimeMs;(!f||f<=w||w!==o.mtimeMs)&&this.fsw._emit(y.CHANGE,t,_),o=_;}}},"listener"),c=this._watchWithNodeFs(t,a$1);if(!(i&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(t)){if(!this.fsw._throttle(y.ADD,t,0))return;this.fsw._emit(y.ADD,t,e);}return c}async _handleSymlink(t,e,i,s){if(this.fsw.closed)return;let n=t.fullPath,h=this.fsw._getWatchedDir(e);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let o;try{o=await realpath(i);}catch{return this.fsw._emitReady(),true}return this.fsw.closed?void 0:(h.has(s)?this.fsw._symlinkPaths.get(n)!==o&&(this.fsw._symlinkPaths.set(n,o),this.fsw._emit(y.CHANGE,i,t.stats)):(h.add(s),this.fsw._symlinkPaths.set(n,o),this.fsw._emit(y.ADD,i,t.stats)),this.fsw._emitReady(),true)}if(this.fsw._symlinkPaths.has(n))return true;this.fsw._symlinkPaths.set(n,true);}_handleRead(t,e,i,s,n,h,o){t=u.join(t,"");let a$1=s?`${t}:${s}`:t;if(o=this.fsw._throttle("readdir",a$1,1e3),!o)return;let c=this.fsw._getWatchedDir(i.path),d=new Set,_=this.fsw._readdirp(t,{fileFilter:a(f=>i.filterPath(f),"fileFilter"),directoryFilter:a(f=>i.filterDir(f),"directoryFilter")});if(_)return _.on(Ft,async f=>{if(this.fsw.closed){_=void 0;return}let w=f.path,E=u.join(t,w);if(d.add(w),!(f.stats.isSymbolicLink()&&await this._handleSymlink(f,t,E,w))){if(this.fsw.closed){_=void 0;return}(w===s||!s&&!c.has(w))&&(this.fsw._incrReadyCount(),E=u.join(n,u.relative(n,E)),this._addToNodeFs(E,e,i,h+1));}}).on(y.ERROR,this._boundHandleError),new Promise((f,w)=>{if(!_)return w();_.once(z,()=>{if(this.fsw.closed){_=void 0;return}let E=o?o.clear():false;f(void 0),c.getChildren().filter(P=>P!==t&&!d.has(P)).forEach(P=>{this.fsw._remove(t,P);}),_=void 0,E&&this._handleRead(t,false,i,s,n,h,o);});})}async _handleDir(t,e,i,s,n,h,o){let a=this.fsw._getWatchedDir(u.dirname(t)),c=a.has(u.basename(t));!(i&&this.fsw.options.ignoreInitial)&&!n&&!c&&this.fsw._emit(y.ADD_DIR,t,e),a.add(u.basename(t)),this.fsw._getWatchedDir(t);let d,_,f=this.fsw.options.depth;if((f==null||s<=f)&&!this.fsw._symlinkPaths.has(o)){if(!n&&(await this._handleRead(t,i,h,n,t,s,d),this.fsw.closed))return;_=this._watchWithNodeFs(t,(w,E)=>{E&&E.mtimeMs===0||this._handleRead(w,false,h,n,t,s,d);});}return _}async _addToNodeFs(t,e,i,s,n){let h=this.fsw._emitReady;if(this.fsw._isIgnored(t)||this.fsw.closed)return h(),false;let o=this.fsw._getWatchHelpers(t);i&&(o.filterPath=a=>i.filterPath(a),o.filterDir=a=>i.filterDir(a));try{let a=await kt[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,a))return h(),!1;let c=this.fsw.options.followSymlinks,d;if(a.isDirectory()){let _=u.resolve(t),f=c?await realpath(t):t;if(this.fsw.closed||(d=await this._handleDir(o.watchPath,a,e,s,n,o,f),this.fsw.closed))return;_!==f&&f!==void 0&&this.fsw._symlinkPaths.set(_,f);}else if(a.isSymbolicLink()){let _=c?await realpath(t):t;if(this.fsw.closed)return;let f=u.dirname(o.watchPath);if(this.fsw._getWatchedDir(f).add(o.watchPath),this.fsw._emit(y.ADD,o.watchPath,a),d=await this._handleDir(f,a,e,s,t,o,_),this.fsw.closed)return;_!==void 0&&this.fsw._symlinkPaths.set(u.resolve(t),_);}else d=this._handleFile(o.watchPath,a,e);return h(),d&&this.fsw._addPathCloser(t,d),!1}catch(a){if(this.fsw._handleError(a))return h(),t}}};var j="/",Kt="//",ht=".",Vt="..",Bt="string",$t=/\\/g,lt=/\/\//g,qt=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Jt=/^\.[/\\]/;function W(r){return Array.isArray(r)?r:[r]}a(W,"arrify");var Y=a(r=>typeof r=="object"&&r!==null&&!(r instanceof RegExp),"isMatcherObject");function Qt(r){return typeof r=="function"?r:typeof r=="string"?t=>r===t:r instanceof RegExp?t=>r.test(t):typeof r=="object"&&r!==null?t=>{if(r.path===t)return true;if(r.recursive){let e=u.relative(r.path,t);return e?!e.startsWith("..")&&!u.isAbsolute(e):false}return false}:()=>false}a(Qt,"createPattern");function Xt(r){if(typeof r!="string")throw new Error("string expected");r=u.normalize(r),r=r.replace(/\\/g,"/");let t=false;return r.startsWith("//")&&(t=true),r=r.replace(lt,"/"),t&&(r="/"+r),r}a(Xt,"normalizePath");function rt(r,t,e){let i=Xt(t);for(let s=0;s<r.length;s++){let n=r[s];if(n(i,e))return true}return false}a(rt,"matchPatterns");function Zt(r,t){if(r==null)throw new TypeError("anymatch: specify first argument");let i=W(r).map(s=>Qt(s));return t==null?(s,n)=>rt(i,s,n):rt(i,t)}a(Zt,"anymatch");var nt=a(r=>{let t=W(r).flat();if(!t.every(e=>typeof e===Bt))throw new TypeError(`Non-string provided as watch path: ${t}`);return t.map(ct)},"unifyPaths"),ot=a(r=>{let t=r.replace($t,j),e=false;return t.startsWith(Kt)&&(e=true),t=t.replace(lt,j),e&&(t=j+t),t},"toUnix"),ct=a(r=>ot(u.normalize(ot(r))),"normalizePathToUnix"),at=a((r="")=>t=>typeof t=="string"?ct(u.isAbsolute(t)?t:u.join(r,t)):t,"normalizeIgnored"),te=a((r,t)=>u.isAbsolute(r)?r:u.join(t,r),"getAbsolutePath"),ee=Object.freeze(new Set),U=class{static{a(this,"DirEntry");}path;_removeWatcher;items;constructor(t,e){this.path=t,this._removeWatcher=e,this.items=new Set;}add(t){let{items:e}=this;e&&t!==ht&&t!==Vt&&e.add(t);}async remove(t){let{items:e}=this;if(!e||(e.delete(t),e.size>0))return;let i=this.path;try{await readdir(i);}catch{this._removeWatcher&&this._removeWatcher(u.dirname(i),u.basename(i));}}has(t){let{items:e}=this;if(e)return e.has(t)}getChildren(){let{items:t}=this;return t?[...t.values()]:[]}dispose(){this.items.clear(),this.path="",this._removeWatcher=S,this.items=ee,Object.freeze(this);}},se="stat",ie="lstat",G=class{static{a(this,"WatchHelper");}fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(t,e,i){this.fsw=i;let s=t;this.path=t=t.replace(Jt,""),this.watchPath=s,this.fullWatchPath=u.resolve(s),this.dirParts=[],this.dirParts.forEach(n=>{n.length>1&&n.pop();}),this.followSymlinks=e,this.statMethod=e?se:ie;}entryPath(t){return u.join(this.watchPath,u.relative(this.watchPath,t.fullPath))}filterPath(t){let{stats:e}=t;if(e&&e.isSymbolicLink())return this.filterDir(t);let i=this.entryPath(t);return this.fsw._isntIgnored(i,e)&&this.fsw._hasReadPermissions(e)}filterDir(t){return this.fsw._isntIgnored(this.entryPath(t),t.stats)}},N=class extends EventEmitter{static{a(this,"FSWatcher");}closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(t={}){super(),this.closed=false,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=false;let e=t.awaitWriteFinish,i={stabilityThreshold:2e3,pollInterval:100},s={persistent:true,ignoreInitial:false,ignorePermissionErrors:false,interval:100,binaryInterval:300,followSymlinks:true,usePolling:false,atomic:true,...t,ignored:t.ignored?W(t.ignored):W([]),awaitWriteFinish:e===true?i:typeof e=="object"?{...i,...e}:false};st&&(s.usePolling=true),s.atomic===void 0&&(s.atomic=!s.usePolling);let n=process.env.CHOKIDAR_USEPOLLING;if(n!==void 0){let a=n.toLowerCase();a==="false"||a==="0"?s.usePolling=false:a==="true"||a==="1"?s.usePolling=true:s.usePolling=!!a;}let h=process.env.CHOKIDAR_INTERVAL;h&&(s.interval=Number.parseInt(h,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=S,this._readyEmitted=true,process.nextTick(()=>this.emit(m.READY)));},this._emitRaw=(...a)=>this.emit(m.RAW,...a),this._boundRemove=this._remove.bind(this),this.options=s,this._nodeFsHandler=new F(this),Object.freeze(s);}_addIgnoredPath(t){if(Y(t)){for(let e of this._ignoredPaths)if(Y(e)&&e.path===t.path&&e.recursive===t.recursive)return}this._ignoredPaths.add(t);}_removeIgnoredPath(t){if(this._ignoredPaths.delete(t),typeof t=="string")for(let e of this._ignoredPaths)Y(e)&&e.path===t&&this._ignoredPaths.delete(e);}add(t,e,i){let{cwd:s}=this.options;this.closed=false,this._closePromise=void 0;let n=nt(t);return s&&(n=n.map(h=>te(h,s))),n.forEach(h=>{this._removeIgnoredPath(h);}),this._userIgnored=void 0,this._readyCount||(this._readyCount=0),this._readyCount+=n.length,Promise.all(n.map(async h=>{let o=await this._nodeFsHandler._addToNodeFs(h,!i,void 0,0,e);return o&&this._emitReady(),o})).then(h=>{this.closed||h.forEach(o=>{o&&this.add(u.dirname(o),u.basename(e||o));});}),this}unwatch(t){if(this.closed)return this;let e=nt(t),{cwd:i}=this.options;return e.forEach(s=>{!u.isAbsolute(s)&&!this._closers.has(s)&&(i&&(s=u.join(i,s)),s=u.resolve(s)),this._closePath(s),this._addIgnoredPath(s),this._watched.has(s)&&this._addIgnoredPath({path:s,recursive:true}),this._userIgnored=void 0;}),this}close(){if(this._closePromise)return this._closePromise;this.closed=true,this.removeAllListeners();let t=[];return this._closers.forEach(e=>e.forEach(i=>{let s=i();s instanceof Promise&&t.push(s);})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=false,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=t.length?Promise.all(t).then(()=>{}):Promise.resolve(),this._closePromise}getWatched(){let t={};return this._watched.forEach((e,i)=>{let n=(this.options.cwd?u.relative(this.options.cwd,i):i)||ht;t[n]=e.getChildren().sort();}),t}emitWithAll(t,e){this.emit(t,...e),t!==m.ERROR&&this.emit(m.ALL,t,...e);}async _emit(t,e,i){if(this.closed)return;let s=this.options;H&&(e=u.normalize(e)),s.cwd&&(e=u.relative(s.cwd,e));let n=[e];i!=null&&n.push(i);let h=s.awaitWriteFinish,o;if(h&&(o=this._pendingWrites.get(e)))return o.lastChange=new Date,this;if(s.atomic){if(t===m.UNLINK)return this._pendingUnlinks.set(e,[t,...n]),setTimeout(()=>{this._pendingUnlinks.forEach((a,c)=>{this.emit(...a),this.emit(m.ALL,...a),this._pendingUnlinks.delete(c);});},typeof s.atomic=="number"?s.atomic:100),this;t===m.ADD&&this._pendingUnlinks.has(e)&&(t=m.CHANGE,this._pendingUnlinks.delete(e));}if(h&&(t===m.ADD||t===m.CHANGE)&&this._readyEmitted){let a$1=a((c,d)=>{c?(t=m.ERROR,n[0]=c,this.emitWithAll(t,n)):d&&(n.length>1?n[1]=d:n.push(d),this.emitWithAll(t,n));},"awfEmit");return this._awaitWriteFinish(e,h.stabilityThreshold,t,a$1),this}if(t===m.CHANGE&&!this._throttle(m.CHANGE,e,50))return this;if(s.alwaysStat&&i===void 0&&(t===m.ADD||t===m.ADD_DIR||t===m.CHANGE)){let a=s.cwd?u.join(s.cwd,e):e,c;try{c=await stat(a);}catch{}if(!c||this.closed)return;n.push(c);}return this.emitWithAll(t,n),this}_handleError(t){let e=t&&t.code;return t&&e!=="ENOENT"&&e!=="ENOTDIR"&&(!this.options.ignorePermissionErrors||e!=="EPERM"&&e!=="EACCES")&&this.emit(m.ERROR,t),t||this.closed}_throttle(t,e,i){this._throttled.has(t)||this._throttled.set(t,new Map);let s=this._throttled.get(t);if(!s)throw new Error("invalid throttle");let n=s.get(e);if(n)return n.count++,false;let h,o=a(()=>{let c=s.get(e),d=c?c.count:0;return s.delete(e),clearTimeout(h),c&&clearTimeout(c.timeoutObject),d},"clear");h=setTimeout(o,i);let a$1={timeoutObject:h,clear:o,count:0};return s.set(e,a$1),a$1}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(t,e,i,s){let n=this.options.awaitWriteFinish;if(typeof n!="object")return;let h=n.pollInterval,o,a$1=t;this.options.cwd&&!u.isAbsolute(t)&&(a$1=u.join(this.options.cwd,t));let c=new Date,d=this._pendingWrites;function _(f){stat$1(a$1,(w,E)=>{if(w||!d.has(t)){w&&w.code!=="ENOENT"&&s(w);return}let P=Number(new Date);f&&E.size!==f.size&&(d.get(t).lastChange=P);let dt=d.get(t);P-dt.lastChange>=e?(d.delete(t),s(void 0,E)):o=setTimeout(_,h,E);});}a(_,"awaitWriteFinishFn"),d.has(t)||(d.set(t,{lastChange:c,cancelWait:a(()=>(d.delete(t),clearTimeout(o),i),"cancelWait")}),o=setTimeout(_,h));}_isIgnored(t,e){if(this.options.atomic&&qt.test(t))return true;if(!this._userIgnored){let{cwd:i}=this.options,n=(this.options.ignored||[]).map(at(i)),o=[...[...this._ignoredPaths].map(at(i)),...n];this._userIgnored=Zt(o,void 0);}return this._userIgnored(t,e)}_isntIgnored(t,e){return !this._isIgnored(t,e)}_getWatchHelpers(t){return new G(t,this.options.followSymlinks,this)}_getWatchedDir(t){let e=u.resolve(t);return this._watched.has(e)||this._watched.set(e,new U(e,this._boundRemove)),this._watched.get(e)}_hasReadPermissions(t){return this.options.ignorePermissionErrors?true:!!(Number(t.mode)&256)}_remove(t,e,i){let s=u.join(t,e),n=u.resolve(s);if(i=i??(this._watched.has(s)||this._watched.has(n)),!this._throttle("remove",s,100))return;!i&&this._watched.size===1&&this.add(t,e,true),this._getWatchedDir(s).getChildren().forEach(f=>this._remove(s,f));let a=this._getWatchedDir(t),c=a.has(e);a.remove(e),this._symlinkPaths.has(n)&&this._symlinkPaths.delete(n);let d=s;if(this.options.cwd&&(d=u.relative(this.options.cwd,s)),this.options.awaitWriteFinish&&this._pendingWrites.has(d)&&this._pendingWrites.get(d).cancelWait()===m.ADD)return;this._watched.delete(s),this._watched.delete(n);let _=i?m.UNLINK_DIR:m.UNLINK;c&&!this._isIgnored(s)&&this._emit(_,s),this._closePath(s);}_closePath(t){this._closeFile(t);let e=u.dirname(t);this._getWatchedDir(e).remove(u.basename(t));}_closeFile(t){let e=this._closers.get(t);e&&(e.forEach(i=>i()),this._closers.delete(t));}_addPathCloser(t,e){if(!e)return;let i=this._closers.get(t);i||(i=[],this._closers.set(t,i)),i.push(e);}_readdirp(t,e){if(this.closed)return;let i={type:m.ALL,alwaysStat:true,lstat:true,...e,depth:0},s=Q(t,i);return this._streams.add(s),s.once(et,()=>{s=void 0;}),s.once(z,()=>{s&&(this._streams.delete(s),s=void 0);}),s}};function re(r,t={}){let e=new N(t);return e.add(r),e}a(re,"watch");var be={watch:re,FSWatcher:N};
4
+ export{N as FSWatcher,G as WatchHelper,be as default,re as watch};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';globalThis.require=createRequire(import.meta.url);
3
+ var g=Object.create;var e=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var i=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(b,a)=>e(b,"name",{value:a,configurable:true});var n=(b,a)=>()=>(a||b((a={exports:{}}).exports,a),a.exports);var l=(b,a,c,f)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of i(a))!k.call(b,d)&&d!==c&&e(b,d,{get:()=>a[d],enumerable:!(f=h(a,d))||f.enumerable});return b};var o=(b,a,c)=>(c=b!=null?g(j(b)):{},l(a||!b||!b.__esModule?e(c,"default",{value:b,enumerable:true}):c,b));export{m as a,n as b,o as c};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {g,m,f,a as a$1,c as c$1,d,e}from'./chunk-JSJRP4AV.mjs';import {c,j,g as g$1}from'./chunk-HUXBFNFL.mjs';import {b}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {readFile,readdir}from'fs/promises';import'path';globalThis.require=createRequire(import.meta.url);
3
+ async function y(t,r){let i=g(t,r);try{let n=await readFile(i,"utf-8"),e=JSON.parse(n);return m(e)?e:(b.warn(`Invalid metadata for ${t}@${r}, ignoring`),null)}catch(n){return c(n)&&n.code!=="ENOENT"&&b.warn(`Failed to read metadata for ${t}@${r}: ${n instanceof Error?n.message:String(n)}`),null}}a(y,"readMeta");async function A(t,r){let i=f(t,r),n=await y(t,r);return !n||!await j(i)?null:{name:t,version:r,packageDir:i,meta:n}}a(A,"getStoreEntry");async function J(t){let r=a$1();if(!await j(r))return null;let i=c$1(t)+"@",e=(await readdir(r,{withFileTypes:true})).filter(a=>a.isDirectory()&&a.name.startsWith(i)),c=(await Promise.all(e.map(async a=>{let s=a.name.slice(i.length),l=await y(t,s);return l?{name:t,version:s,packageDir:f(t,s),meta:l}:null}))).filter(a=>a!==null);return c.length===0?null:(c.sort((a,s)=>new Date(s.meta.publishedAt).getTime()-new Date(a.meta.publishedAt).getTime()),c[0])}a(J,"findStoreEntry");async function W(){let t=a$1();if(!await j(t))return [];let i=(await readdir(t,{withFileTypes:true})).filter(e=>e.isDirectory()?e.name.lastIndexOf("@")>0:false);return (await Promise.all(i.map(async e=>{let u=e.name.lastIndexOf("@"),c=e.name.slice(0,u),a=e.name.slice(u+1),s=d(c),l=await y(s,a);return l?{name:s,version:a,packageDir:f(s,a),meta:l}:null}))).filter(e=>e!==null)}a(W,"listStoreEntries");async function q(t,r){await g$1(e(t,r));}a(q,"removeStoreEntry");export{y as a,A as b,J as c,W as d,q as e};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a}from'./chunk-2VCW5RWI.mjs';import {readFile}from'fs/promises';import {join}from'path';globalThis.require=createRequire(import.meta.url);
3
+ async function u(e,r){let o=r==="npm"?"npm run ":`${r} `;try{let a=JSON.parse(await readFile(join(e,"package.json"),"utf-8")).scripts||{};for(let n of ["build","compile","bundle","tsc"])if(a[n])return `${o}${n}`}catch{}return null}a(u,"detectBuildCommand");export{u as a};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {b as b$1,a,c as c$1}from'./chunk-2VCW5RWI.mjs';import {createInterface}from'readline/promises';import {stdout,stdin}from'process';globalThis.require=createRequire(import.meta.url);
3
+ var d=b$1((T,g)=>{var x=process||{},p=x.argv||[],l=x.env||{},B=!(l.NO_COLOR||p.includes("--no-color"))&&(!!l.FORCE_COLOR||p.includes("--color")||x.platform==="win32"||(x.stdout||{}).isTTY&&l.TERM!=="dumb"||!!l.CI),C=a((t,e,m=t)=>s=>{let i=""+s,n=i.indexOf(e,t.length);return ~n?t+$(i,e,m,n)+e:t+i+e},"formatter"),$=a((t,e,m,s)=>{let i="",n=0;do i+=t.substring(n,s)+m,n=s+e.length,s=t.indexOf(e,n);while(~s);return i+t.substring(n)},"replaceClose"),f=a((t=B)=>{let e=t?C:()=>String;return {isColorSupported:t,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}},"createColors");g.exports=f();g.exports.createColors=f;});var r=c$1(d(),1);var b=3;async function P(t,e){let m=createInterface({input:stdin,output:stdout});try{if(e.type==="confirm"){let n=e.initial!==!1?"Y/n":"y/N",a=(await m.question(`${r.default.cyan("?")} ${t} ${r.default.dim(`(${n})`)} `)).trim().toLowerCase();return a===""?e.initial!==!1:a==="y"||a==="yes"}if(e.type==="text"){let n=e.default?r.default.dim(` (${e.default})`):"";return (await m.question(`${r.default.cyan("?")} ${t}${n} `)).trim()||e.default||""}console.log(`${r.default.cyan("?")} ${t}`);for(let n=0;n<e.options.length;n++)console.log(` ${r.default.cyan(`${n+1}.`)} ${e.options[n].label}`);let s=await m.question(`${r.default.dim("Enter number:")} `),i=parseInt(s,10)-1;return i>=0&&i<e.options.length?e.options[i].value:e.options[0].value}finally{m.close();}}a(P,"prompt");var c={get level(){return b},set level(t){b=t;},info(t,...e){b>=3&&console.log(r.default.cyan("\u2139"),t,...e);},success(t,...e){b>=3&&console.log(r.default.green("\u2714"),t,...e);},warn(t,...e){b>=2&&console.warn(r.default.yellow("\u26A0"),t,...e);},error(t,...e){b>=1&&console.error(r.default.red("\u2716"),t,...e);},start(t,...e){b>=3&&console.log(r.default.cyan("\u25D0"),t,...e);},debug(t,...e){b>=4&&console.debug(r.default.dim("D"),t,...e);},log(t,...e){b>=3&&console.log(t,...e);},prompt:P};var u=false,y=false,h=false;function M(){u=process.argv.includes("--verbose")||process.argv.includes("-v"),y=process.argv.includes("--dry-run"),h=process.argv.includes("--json"),u&&(c.level=4);}a(M,"initFlags");function j(){return y}a(j,"isDryRun");function D(){return h}a(D,"isJsonOutput");function F(t,...e){u&&c.debug(t,...e);}a(F,"verbose");export{d as a,c as b,M as c,j as d,D as e,F as f};
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {e,b as b$1}from'./chunk-GDIN53OR.mjs';import {j as j$1,k}from'./chunk-JSJRP4AV.mjs';import {c,j,g,h,e as e$1,l}from'./chunk-HUXBFNFL.mjs';import {b,f}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {mkdir,writeFile,rm,symlink,chmod,readdir,stat,realpath,readFile}from'fs/promises';import {join,resolve,sep,relative}from'path';import {platform}from'os';globalThis.require=createRequire(import.meta.url);
3
+ function L(e){return e.bin?typeof e.bin=="string"?{[e.name.startsWith("@")?e.name.split("/")[1]:e.name]:e.bin}:e.bin:{}}a(L,"resolveBinEntries");async function I(e,n,i){let r=L(i);if(Object.keys(r).length===0)return 0;let t=join(e,"node_modules",".bin");await mkdir(t,{recursive:true});let a=platform()==="win32",d=0;for(let[o,u]of Object.entries(r)){let l=join(e,"node_modules",n),p=join(l,u),_=resolve(p);if(!_.startsWith(resolve(l)+sep)&&_!==resolve(l)){b.warn(`bin "${o}" points outside package directory, skipping`);continue}let v=relative(t,p).replace(/\\/g,"/");if(a){let b=join(t,`${o}.cmd`),g=`@ECHO off\r
4
+ GOTO start\r
5
+ :find_dp0\r
6
+ SET dp0=%~dp0\r
7
+ EXIT /b\r
8
+ :start\r
9
+ CALL :find_dp0\r
10
+ "%dp0%\\${v}" %*\r
11
+ `;await writeFile(b,g);let j=join(t,o),H=`#!/bin/sh
12
+ exec node "${v}" "$@"
13
+ `;await writeFile(j,H);}else {let b=join(t,o);try{await rm(b,{force:!0});}catch{}try{await symlink(v,b),await chmod(p,493);}catch(g){if(c(g)&&(g.code==="EPERM"||g.code==="EACCES")){f(`[bin-linker] Symlink failed (${g.code}), using shell wrapper for ${o}`);let j=`#!/bin/sh
14
+ exec node "${v}" "$@"
15
+ `;await writeFile(b,j),await chmod(b,493);}else throw g}}d++;}return d}a(I,"createBinLinks");async function A(e,n){let i=L(n),r=join(e,"node_modules",".bin"),t=platform()==="win32";for(let a of Object.keys(i))try{await rm(join(r,a),{force:!0}),t&&await rm(join(r,`${a}.cmd`),{force:!0});}catch{}}a(A,"removeBinLinks");var K={vite:["node_modules/.vite"],next:[".next/cache"],webpack:["node_modules/.cache"]};async function W(e$1){let n=await e(e$1);for(let i of n){if(!i.type)continue;let r=K[i.type];if(r)for(let t of r){let a=join(e$1,t);if(await j(a))try{await g(a),f(`[inject] Invalidated ${i.type} cache: ${t}`);}catch{f(`[inject] Could not clear ${i.type} cache: ${t} (locked?)`);}}}}a(W,"invalidateBundlerCache");async function De(e,n,i){let r=await $(n,e.name,i,e.version);f(`[inject] ${e.name}@${e.version} \u2192 ${r}`),await h(r);let{copied:t,removed:a,skipped:d}=await e$1(e.packageDir,r);f(`[inject] ${t} copied, ${a} removed, ${d} skipped`),(t>0||a>0)&&await W(n);let o=await O(e.packageDir),u=o?await I(n,e.name,o):0;return u>0&&f(`[inject] Created ${u} bin link(s)`),{copied:t,removed:a,skipped:d,binLinks:u}}a(De,"inject");async function xe(e,n,i){let r=await $(e,n,i);if(!await j(r))return false;let t=j$1(e,n);return await g(t),await l(r,t),true}a(xe,"backupExisting");async function Ee(e,n,i){let r=j$1(e,n);if(!await j(r))return false;let t=await $(e,n,i);return await g(t),await l(r,t),await g(r),true}a(Ee,"restoreBackup");async function Ce(e,n,i){let r=await $(e,n,i),t=await O(r);t&&await A(e,t),await g(r);}a(Ce,"removeInjected");async function Oe(e,n){let i=await O(e.packageDir);if(!i)return [];let r={...i.dependencies,...Object.fromEntries(Object.entries(i.peerDependencies??{}).filter(([a])=>!i.peerDependenciesMeta?.[a]?.optional))};if(Object.keys(r).length===0)return [];let t=[];for(let a of Object.keys(r)){let d=join(n,"node_modules",a);await j(d)||t.push(a);}return t}a(Oe,"checkMissingDeps");async function $(e,n,i,r){let t=k(e,n);if(!(i==="pnpm"||i==="yarn"&&await b$1(e)==="pnpm"))return t;try{let o=await ee(t);if(o!==resolve(t))return f(`[inject] pnpm: resolved symlink \u2192 ${o}`),o}catch(o){c(o)&&o.code!=="ENOENT"&&b.debug(`pnpm symlink resolution error: ${o instanceof Error?o.message:String(o)}`);}let d=join(e,"node_modules",".pnpm");if(await j(d)){f(`[inject] pnpm: scanning .pnpm/ for ${n}`);let o=n.replace("/","+");if(r){let l=`${o}@${r}`,p=join(d,l,"node_modules",n);if(await j(p))return f(`[inject] pnpm: exact version match in .pnpm/ \u2192 ${p}`),p}let u=await readdir(d);for(let l of u)if(l.startsWith(o+"@")){let p=join(d,l,"node_modules",n);if(await j(p))return f(`[inject] pnpm: found in .pnpm/ \u2192 ${p}`),p}}return b.warn(`pnpm: Could not find ${n} in .pnpm/ virtual store, using direct node_modules path`),t}a($,"resolveTargetDir");async function ee(e){try{return await stat(e),await realpath(e)}catch(n){if(c(n)&&n.code==="ENOENT")return resolve(e);throw n}}a(ee,"resolveRealPath");async function O(e){try{let n=await readFile(join(e,"package.json"),"utf-8");return JSON.parse(n)}catch(n){return c(n)&&n.code!=="ENOENT"&&b.warn(`Failed to read package.json in ${e}: ${n instanceof Error?n.message:String(n)}`),null}}a(O,"readPackageJson");export{De as a,xe as b,Ee as c,Ce as d,Oe as e};
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a}from'./chunk-2VCW5RWI.mjs';import {readFile,writeFile}from'fs/promises';globalThis.require=createRequire(import.meta.url);
3
+ function m(e){return e.match(/^(\s+)\S/m)?.[1]||" "}a(m,"detectIndent");function p(e){let n=[],t=/['"]([^'"]*)['"]/g,r;for(;(r=t.exec(e))!==null;)n.push(r[1]);return n}a(p,"parseArrayItems");function x(e,n){return e.length===0?"[]":e.length<=3?`[${e.map(r=>`'${r}'`).join(", ")}]`:`[
4
+ ${e.map(r=>`${n}${n}'${r}',`).join(`
5
+ `)}
6
+ ${n}]`}a(x,"formatArray");async function $(e,n){let t;try{t=await readFile(e,"utf-8");}catch{return {modified:false,error:"could not read config file"}}let r=m(t),a=/transpilePackages\s*:\s*\[([^\]]*)\]/s,c=a.exec(t);if(c){let i=p(c[1]);if(i.includes(n))return {modified:false};i.push(n);let l=x(i,r),d=t.replace(a,`transpilePackages: ${l}`);return await writeFile(e,d),{modified:true}}let s=/(?:module\.exports\s*=\s*\{|export\s+default\s+\{|nextConfig\s*=\s*\{)/.exec(t);if(s){let i=s.index+s[0].length,l=`
7
+ ${r}transpilePackages: ['${n}'],`,d=t.slice(0,i)+l+t.slice(i);return await writeFile(e,d),{modified:true}}return {modified:false,error:"unrecognized config pattern"}}a($,"addToTranspilePackages");async function w(e,n){let t;try{t=await readFile(e,"utf-8");}catch{return {modified:false}}let r=m(t),a=/transpilePackages\s*:\s*\[([^\]]*)\]/s,c=a.exec(t);if(!c)return {modified:false};let f=p(c[1]),s=f.filter(d=>d!==n);if(s.length===f.length)return {modified:false};let i=x(s,r),l=t.replace(a,`transpilePackages: ${i}`);return await writeFile(e,l),{modified:true}}a(w,"removeFromTranspilePackages");export{$ as a,w as b};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {i,n,h as h$1,l,b as b$1,o}from'./chunk-JSJRP4AV.mjs';import {c,h,k,i as i$1,j as j$1}from'./chunk-HUXBFNFL.mjs';import {b}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {readFile}from'fs/promises';import {dirname}from'path';globalThis.require=createRequire(import.meta.url);
3
+ async function d(t){let r=i(t);try{let e=await readFile(r,"utf-8"),s=JSON.parse(e);return n(s)?s:(b.warn(`Invalid consumer state in ${r}, using defaults`),{version:"1",links:{}})}catch(e){return c(e)&&e.code!=="ENOENT"&&b.warn(`Failed to read consumer state: ${e instanceof Error?e.message:String(e)}`),{version:"1",links:{}}}}a(d,"readConsumerState");async function E(t,r){await h(h$1(t));let e=i(t);await k(e,JSON.stringify(r,null,2));}a(E,"writeConsumerState");async function j(t,r,e){let s=i(t);await l(s,async()=>{let i=await d(t);i.links[r]=e,await E(t,i);});}a(j,"addLink");async function z(t,r){let e=i(t);await l(e,async()=>{let s=await d(t);delete s.links[r],await E(t,s);});}a(z,"removeLink");async function I(t,r){return (await d(t)).links[r]??null}a(I,"getLink");async function m(){let t=b$1();try{let r=await readFile(t,"utf-8"),e=JSON.parse(r);return o(e)?e:(b.warn("Invalid consumers registry, using empty registry"),{})}catch(r){return c(r)&&r.code!=="ENOENT"&&b.warn(`Failed to read consumers registry: ${r instanceof Error?r.message:String(r)}`),{}}}a(m,"readConsumersRegistry");async function w(t){let r=b$1();await i$1(dirname(b$1())),await k(r,JSON.stringify(t,null,2));}a(w,"writeConsumersRegistry");async function T(t,r){let e=b$1();await l(e,async()=>{let s=await m();s[t]||(s[t]=[]);let i=r.replace(/\\/g,"/");s[t].includes(i)||s[t].push(i),await w(s);});}a(T,"registerConsumer");async function M(t,r){let e=b$1();await l(e,async()=>{let s=await m();if(!s[t])return;let i=r.replace(/\\/g,"/");s[t]=s[t].filter(g=>g!==i),s[t].length===0&&delete s[t],await w(s);});}a(M,"unregisterConsumer");async function W(t){return (await m())[t]??[]}a(W,"getConsumers");async function q(){let t=b$1(),r=0,e=0;return await l(t,async()=>{let s=await m(),i={};for(let[g,L]of Object.entries(s)){let f=[];for(let p of L)await j$1(p)?f.push(p):r++;f.length>0?i[g]=f:e++;}await w(i);}),{removedConsumers:r,removedPackages:e}}a(q,"cleanStaleConsumers");export{d as a,E as b,j as c,z as d,I as e,m as f,T as g,M as h,W as i,q as j};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {j as j$1}from'./chunk-HUXBFNFL.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {stat,readFile}from'fs/promises';import {join,dirname}from'path';globalThis.require=createRequire(import.meta.url);
3
+ var d=[["pnpm-lock.yaml","pnpm"],["bun.lockb","bun"],["bun.lock","bun"],["yarn.lock","yarn"],["package-lock.json","npm"]];async function b(r){let n=r;for(;;){let e=(await Promise.all(d.map(async([c,l])=>{try{return await stat(join(n,c)),l}catch{return null}}))).find(c=>c!==null);if(e)return e;let t=dirname(n);if(t===n)return "npm";n=t;}}a(b,"detectPackageManager");async function x(r){let n=r;for(;;){let o;try{o=await readFile(join(n,".yarnrc.yml"),"utf-8");}catch{let e=dirname(n);if(e===n)return null;n=e;continue}for(let e of o.split(`
4
+ `)){let t=e.trim();if(t.startsWith("#")||!t.includes("nodeLinker"))continue;let c=t.match(/^nodeLinker:\s*(.+)$/);if(c){let l=c[1].trim().replace(/^["']|["']$/g,"");if(l==="node-modules"||l==="pnpm"||l==="pnp")return l}}return null}}a(x,"detectYarnNodeLinker");async function j(r){let n=r;for(;;)try{return await stat(join(n,".yarnrc.yml")),!0}catch{let o=dirname(n);if(o===n)return false;n=o;}}a(j,"hasYarnrcYml");var m=[["vite",["vite.config.ts","vite.config.js","vite.config.mts","vite.config.mjs"]],["next",["next.config.js","next.config.ts","next.config.mjs"]],["webpack",["webpack.config.js","webpack.config.ts"]],["turbo",["turbo.json"]],["rollup",["rollup.config.js","rollup.config.ts","rollup.config.mjs"]]];async function h(r){for(let[n,o]of m)for(let e of o){let t=join(r,e);if(await j$1(t))return {type:n,configFile:t}}return {type:null,configFile:null}}a(h,"detectBundler");async function L(r){let n=[];for(let[o,e]of m)for(let t of e)if(await j$1(join(r,t))){n.push({type:o,configFile:join(r,t)});break}return n}a(L,"detectAllBundlers");export{b as a,x as b,j as c,h as d,L as e};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {b}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {spawn}from'child_process';import {platform}from'os';globalThis.require=createRequire(import.meta.url);
3
+ var r=null;function v(){r&&!r.killed&&(r.kill("SIGTERM"),r=null);}a(v,"killActiveBuild");async function I(l,i,o){let{watch:u}=await import('./chokidar-LVDD2IK4.mjs'),d=i.patterns??["src","lib","dist"],f=d.map(e=>e.startsWith("/")||e.includes(":")?e:`${l}/${e}`),c=i.debounce??100,n=null,h=false,m=false,w=a(()=>{n||(n=setTimeout(async()=>{if(n=null,h){m=true;return}h=true;try{if(i.buildCmd&&!await $(i.buildCmd,l)){b.warn("Build failed (see output above), skipping push");return}await o();}catch(e){b.error(`Push failed: ${e instanceof Error?e.message:String(e)}`);}finally{h=false,m&&(m=false,w());}},c));},"scheduleFlush"),p=a(e=>{n&&(clearTimeout(n),n=null),w();},"onFileEvent"),P=i.buildCmd?false:i.awaitWriteFinish??{stabilityThreshold:200,pollInterval:50},a$1=u(f,{ignoreInitial:true,ignored:["**/node_modules/**","**/.git/**","**/.plunk/**"],awaitWriteFinish:P});a$1.on("change",p),a$1.on("add",p),a$1.on("unlink",p),a$1.on("error",e=>{b.error(`Watcher error: ${e instanceof Error?e.message:String(e)}`);});let g={close:a(async()=>{n&&clearTimeout(n),v(),await a$1.close();},"close")};let y=a(async()=>{b.info("Stopping watcher..."),await g.close(),process.exit(0);},"cleanup");return process.once("SIGINT",y),process.once("SIGTERM",y),b.info(`Watching for changes in: ${d.join(", ")}`),g}a(I,"startWatcher");function $(l,i){return new Promise(o=>{let u=platform()==="win32",d=u?"cmd":"sh",f=u?"/c":"-c";b.start(`Running: ${l}`);let c=spawn(d,[f,l],{cwd:i,stdio:"inherit"});r=c,c.on("close",n=>{r=null,n===0?(b.success("Build succeeded"),o(true)):(b.error(`Build failed with code ${n}`),o(false));}),c.on("error",n=>{r=null,b.error(`Build error: ${n.message}`),o(false);});})}a($,"runBuildCommand");export{I as a};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {f,d}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {readFile,stat,mkdir,copyFile,constants,readdir,rm,rename,cp,writeFile}from'fs/promises';import {relative,parse,dirname,join}from'path';import {availableParallelism}from'os';import {createHash}from'crypto';import {createReadStream}from'fs';globalThis.require=createRequire(import.meta.url);
3
+ function h(t){let e=0,r=[],i=a(()=>{r.length>0&&e<t&&(e++,r.shift()());},"next");return s=>new Promise((u,m)=>{let n=a(()=>{s().then(a=>{e--,u(a),i();},a=>{e--,m(a),i();});},"run");e<t?(e++,n()):r.push(n);})}a(h,"pLimit");var W=1024*1024,A=h(Math.max(availableParallelism(),8));async function it(t,e){let r=[...t].sort((m,n)=>{let a=relative(e,m).replace(/\\/g,"/"),l=relative(e,n).replace(/\\/g,"/");return a.localeCompare(l)}),i=await Promise.all(r.map(m=>A(async()=>({rel:relative(e,m).replace(/\\/g,"/"),content:await readFile(m)}))));f(`[hash] Computing content hash for ${t.length} files`);let s=createHash("sha256");for(let{rel:m,content:n}of i)s.update(m),s.update("\0"),s.update(n);let u="sha256:"+s.digest("hex");return f(`[hash] Result: ${u.slice(0,20)}...`),u}a(it,"computeContentHash");async function x(t,e){if((e??(await stat(t)).size)>W)return D(t);let i=await readFile(t);return createHash("sha256").update(i).digest("hex")}a(x,"hashFile");function D(t){return new Promise((e,r)=>{let i=createHash("sha256"),s=createReadStream(t);s.on("data",u=>i.update(u)),s.on("end",()=>e(i.digest("hex"))),s.on("error",r);})}a(D,"hashFileStream");var O=h(Math.max(availableParallelism(),8));function $(t){return t instanceof Error&&"code"in t}a($,"isNodeError");var F=new Map;function V(t){let{root:e}=parse(t);return e||"/"}a(V,"volumeRoot");async function X(t,e){if(d()){f(`[dry-run] would copy ${t} \u2192 ${e}`);return}await mkdir(dirname(e),{recursive:true});let r=V(e),i=F.get(r);if(i===false){await copyFile(t,e);return}if(i===true){await copyFile(t,e,constants.COPYFILE_FICLONE);return}try{await copyFile(t,e,constants.COPYFILE_FICLONE_FORCE),F.set(r,!0);}catch{F.set(r,false),f(`[copy] reflink not supported on ${r}, using plain copy`),await copyFile(t,e);}}a(X,"copyWithCoW");async function L(t){let e=await readdir(t,{recursive:true});return (await Promise.all(e.map(i=>O(async()=>{let s=join(t,i);try{return (await stat(s)).isFile()?s:null}catch{return null}})))).filter(i=>i!==null)}a(L,"collectFiles");async function dt(t,e){let r=await L(t),i=0,s=0,u=0,m=await Promise.all(r.map(n=>O(async()=>{let a=relative(t,n),l=join(e,a),f$1=true;try{let[p,y]=await Promise.all([stat(n),stat(l)]);if(p.size!==y.size)f(`[copy] ${a} (size differs: ${p.size} vs ${y.size})`);else {let[T,H]=await Promise.all([x(n,p.size),x(l,y.size)]);T===H?(f$1=!1,f(`[skip] ${a} (unchanged)`)):f(`[copy] ${a} (hash differs)`);}}catch(p){if($(p)&&p.code==="ENOENT")f(`[copy] ${a} (new file)`);else throw p}return f$1?(await X(n,l),"copied"):"skipped"})));for(let n of m)n==="copied"?i++:u++;try{let n=await L(e),a=new Set(r.map(l=>relative(t,l)));for(let l of n){let f$1=relative(e,l);a.has(f$1)||(f(`[remove] ${f$1} (no longer in source)`),d()||await rm(l),s++);}}catch(n){if(!($(n)&&n.code==="ENOENT"))throw n}return {copied:i,removed:s,skipped:u}}a(dt,"incrementalCopy");async function ht(t,e){try{await rename(t,e);}catch(r){if($(r)&&r.code==="EXDEV")await cp(t,e,{recursive:true}),await rm(t,{recursive:true,force:true});else throw r}}a(ht,"moveDir");async function wt(t){if(d()){f(`[dry-run] would remove ${t}`);return}await rm(t,{recursive:true,force:true});}a(wt,"removeDir");async function gt(t){await mkdir(t,{recursive:true});}a(gt,"ensureDir");async function yt(t){await mkdir(t,{recursive:true,mode:448});}a(yt,"ensurePrivateDir");async function vt(t){try{return await stat(t),!0}catch{return false}}a(vt,"exists");async function Pt(t,e){if(d()){f(`[dry-run] would write ${t}`);return}let r=t+".tmp";await writeFile(r,e),await rename(r,t);}a(Pt,"atomicWriteFile");async function xt(t,e){await cp(t,e,{recursive:true});}a(xt,"copyDir");export{h as a,it as b,$ as c,X as d,dt as e,ht as f,wt as g,gt as h,yt as i,vt as j,Pt as k,xt as l};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {b,a}from'./chunk-2VCW5RWI.mjs';globalThis.require=createRequire(import.meta.url);
3
+ var J=b((he,Ct)=>{var ht="[^\\\\/]",Kt="(?=.)",St="[^/]",ct="(?:\\/|$)",gt="(?:^|\\/)",it=`\\.{1,2}${ct}`,Ut="(?!\\.)",Wt=`(?!${gt}${it})`,Xt=`(?!\\.{0,1}${ct})`,qt=`(?!${it})`,Ft="[^.\\/]",Qt=`${St}*?`,Zt="/",xt={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:Kt,QMARK:St,END_ANCHOR:ct,DOTS_SLASH:it,NO_DOT:Ut,NO_DOTS:Wt,NO_DOT_SLASH:Xt,NO_DOTS_SLASH:qt,QMARK_NO_DOT:Ft,STAR:Qt,START_ANCHOR:gt,SEP:Zt},jt={...xt,SLASH_LITERAL:"[\\\\/]",QMARK:ht,STAR:`${ht}*?`,DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)",SEP:"\\"},Vt={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Ct.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:Vt,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{__proto__:null,"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,extglobChars(t){return {"!":{type:"negate",open:"(?:(?!(?:",close:`))${t.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(t){return t===true?jt:xt}};});var tt=b(G=>{var{REGEX_BACKSLASH:Yt,REGEX_REMOVE_BACKSLASH:zt,REGEX_SPECIAL_CHARS:Jt,REGEX_SPECIAL_CHARS_GLOBAL:te}=J();G.isObject=t=>t!==null&&typeof t=="object"&&!Array.isArray(t);G.hasRegexChars=t=>Jt.test(t);G.isRegexChar=t=>t.length===1&&G.hasRegexChars(t);G.escapeRegex=t=>t.replace(te,"\\$1");G.toPosixSlashes=t=>t.replace(Yt,"/");G.isWindows=()=>{if(typeof navigator<"u"&&navigator.platform){let t=navigator.platform.toLowerCase();return t==="win32"||t==="windows"}return typeof process<"u"&&process.platform?process.platform==="win32":false};G.removeBackslashes=t=>t.replace(zt,a=>a==="\\"?"":a);G.escapeLast=(t,a,e)=>{let R=t.lastIndexOf(a,e);return R===-1?t:t[R-1]==="\\"?G.escapeLast(t,a,R-1):`${t.slice(0,R)}\\${t.slice(R)}`};G.removePrefix=(t,a={})=>{let e=t;return e.startsWith("./")&&(e=e.slice(2),a.prefix="./"),e};G.wrapOutput=(t,a={},e={})=>{let R=e.contains?"":"^",c=e.contains?"":"$",E=`${R}(?:${t})${c}`;return a.negated===true&&(E=`(?:^(?!${E}).*$)`),E};G.basename=(t,{windows:a}={})=>{let e=t.split(a?/[\\/]/:"/"),R=e[e.length-1];return R===""?e[e.length-2]:R};});var Ot=b((ge,Tt)=>{var bt=tt(),{CHAR_ASTERISK:lt,CHAR_AT:ee,CHAR_BACKWARD_SLASH:et,CHAR_COMMA:se,CHAR_DOT:pt,CHAR_EXCLAMATION_MARK:ft,CHAR_FORWARD_SLASH:dt,CHAR_LEFT_CURLY_BRACE:At,CHAR_LEFT_PARENTHESES:_t,CHAR_LEFT_SQUARE_BRACKET:re,CHAR_PLUS:ne,CHAR_QUESTION_MARK:Lt,CHAR_RIGHT_CURLY_BRACE:ue,CHAR_RIGHT_PARENTHESES:$t,CHAR_RIGHT_SQUARE_BRACKET:oe}=J(),yt=a(t=>t===dt||t===et,"isPathSeparator"),Ht=a(t=>{t.isPrefix!==true&&(t.depth=t.isGlobstar?1/0:1);},"depth"),ae=a((t,a$1)=>{let e=a$1||{},R=t.length-1,c=e.parts===true||e.scanToEnd===true,E=[],l=[],h=[],C=t,m=-1,S=0,w=0,T=false,M=false,g=false,v=false,Z=false,W=false,b=false,X=false,j=false,k=false,N=0,P,i,f={value:"",depth:0,isGlob:false},n=a(()=>m>=R,"eos"),B=a(()=>C.charCodeAt(m+1),"peek"),O=a(()=>(P=i,C.charCodeAt(++m)),"advance");for(;m<R;){i=O();let x;if(i===et){b=f.backslashes=true,i=O(),i===At&&(W=true);continue}if(W===true||i===At){for(N++;n()!==true&&(i=O());){if(i===et){b=f.backslashes=true,O();continue}if(i===At){N++;continue}if(W!==true&&i===pt&&(i=O())===pt){if(T=f.isBrace=true,g=f.isGlob=true,k=true,c===true)continue;break}if(W!==true&&i===se){if(T=f.isBrace=true,g=f.isGlob=true,k=true,c===true)continue;break}if(i===ue&&(N--,N===0)){W=false,T=f.isBrace=true,k=true;break}}if(c===true)continue;break}if(i===dt){if(E.push(m),l.push(f),f={value:"",depth:0,isGlob:false},k===true)continue;if(P===pt&&m===S+1){S+=2;continue}w=m+1;continue}if(e.noext!==true&&(i===ne||i===ee||i===lt||i===Lt||i===ft)===true&&B()===_t){if(g=f.isGlob=true,v=f.isExtglob=true,k=true,i===ft&&m===S&&(j=true),c===true){for(;n()!==true&&(i=O());){if(i===et){b=f.backslashes=true,i=O();continue}if(i===$t){g=f.isGlob=true,k=true;break}}continue}break}if(i===lt){if(P===lt&&(Z=f.isGlobstar=true),g=f.isGlob=true,k=true,c===true)continue;break}if(i===Lt){if(g=f.isGlob=true,k=true,c===true)continue;break}if(i===re){for(;n()!==true&&(x=O());){if(x===et){b=f.backslashes=true,O();continue}if(x===oe){M=f.isBracket=true,g=f.isGlob=true,k=true;break}}if(c===true)continue;break}if(e.nonegate!==true&&i===ft&&m===S){X=f.negated=true,S++;continue}if(e.noparen!==true&&i===_t){if(g=f.isGlob=true,c===true){for(;n()!==true&&(i=O());){if(i===_t){b=f.backslashes=true,i=O();continue}if(i===$t){k=true;break}}continue}break}if(g===true){if(k=true,c===true)continue;break}}e.noext===true&&(v=false,g=false);let H=C,s="",r="";S>0&&(s=C.slice(0,S),C=C.slice(S),w-=S),H&&g===true&&w>0?(H=C.slice(0,w),r=C.slice(w)):g===true?(H="",r=C):H=C,H&&H!==""&&H!=="/"&&H!==C&&yt(H.charCodeAt(H.length-1))&&(H=H.slice(0,-1)),e.unescape===true&&(r&&(r=bt.removeBackslashes(r)),H&&b===true&&(H=bt.removeBackslashes(H)));let K={prefix:s,input:t,start:S,base:H,glob:r,isBrace:T,isBracket:M,isGlob:g,isExtglob:v,isGlobstar:Z,negated:X,negatedExtglob:j};if(e.tokens===true&&(K.maxDepth=0,yt(i)||l.push(f),K.tokens=l),e.parts===true||e.tokens===true){let x;for(let $=0;$<E.length;$++){let F=x?x+1:S,U=E[$],Q=t.slice(F,U);e.tokens&&($===0&&S!==0?(l[$].isPrefix=true,l[$].value=s):l[$].value=Q,Ht(l[$]),K.maxDepth+=l[$].depth),($!==0||Q!=="")&&h.push(Q),x=U;}if(x&&x+1<t.length){let $=t.slice(x+1);h.push($),e.tokens&&(l[l.length-1].value=$,Ht(l[l.length-1]),K.maxDepth+=l[l.length-1].depth);}K.slashes=E,K.parts=h;}return K},"scan");Tt.exports=ae;});var mt=b((Ce,vt)=>{var ut=J(),q=tt(),{MAX_LENGTH:ot,POSIX_REGEX_SOURCE:ce,REGEX_NON_SPECIAL_CHARS:ie,REGEX_SPECIAL_CHARS_BACKREF:le,REPLACEMENTS:It}=ut,pe=a((t,a)=>{if(typeof a.expandRange=="function")return a.expandRange(...t,a);t.sort();let e=`[${t.join("-")}]`;try{new RegExp(e);}catch{return t.map(c=>q.escapeRegex(c)).join("..")}return e},"expandRange"),z=a((t,a)=>`Missing ${t}: "${a}" - use "\\\\${a}" to match literal characters`,"syntaxError"),Rt=a((t,a$1)=>{if(typeof t!="string")throw new TypeError("Expected a string");t=It[t]||t;let e={...a$1},R=typeof e.maxLength=="number"?Math.min(ot,e.maxLength):ot,c=t.length;if(c>R)throw new SyntaxError(`Input length: ${c}, exceeds maximum allowed length: ${R}`);let E={type:"bos",value:"",output:e.prepend||""},l=[E],h=e.capture?"":"?:",C=ut.globChars(e.windows),m=ut.extglobChars(C),{DOT_LITERAL:S,PLUS_LITERAL:w,SLASH_LITERAL:T,ONE_CHAR:M,DOTS_SLASH:g,NO_DOT:v,NO_DOT_SLASH:Z,NO_DOTS_SLASH:W,QMARK:b,QMARK_NO_DOT:X,STAR:j,START_ANCHOR:k}=C,N=a(o=>`(${h}(?:(?!${k}${o.dot?g:S}).)*?)`,"globstar"),P=e.dot?"":v,i=e.dot?b:X,f=e.bash===true?N(e):j;e.capture&&(f=`(${f})`),typeof e.noext=="boolean"&&(e.noextglob=e.noext);let n={input:t,index:-1,start:0,dot:e.dot===true,consumed:"",output:"",prefix:"",backtrack:false,negated:false,brackets:0,braces:0,parens:0,quotes:0,globstar:false,tokens:l};t=q.removePrefix(t,n),c=t.length;let B=[],O=[],H=[],s=E,r,K=a(()=>n.index===c-1,"eos"),x=n.peek=(o=1)=>t[n.index+o],$=n.advance=()=>t[++n.index]||"",F=a(()=>t.slice(n.index+1),"remaining"),U=a((o="",L=0)=>{n.consumed+=o,n.index+=L;},"consume"),Q=a(o=>{n.output+=o.output!=null?o.output:o.value,U(o.value);},"append"),Mt=a(()=>{let o=1;for(;x()==="!"&&(x(2)!=="("||x(3)==="?");)$(),n.start++,o++;return o%2===0?false:(n.negated=true,n.start++,true)},"negate"),st=a(o=>{n[o]++,H.push(o);},"increment"),V=a(o=>{n[o]--,H.pop();},"decrement"),A=a(o=>{if(s.type==="globstar"){let L=n.braces>0&&(o.type==="comma"||o.type==="brace"),u=o.extglob===true||B.length&&(o.type==="pipe"||o.type==="paren");o.type!=="slash"&&o.type!=="paren"&&!L&&!u&&(n.output=n.output.slice(0,-s.output.length),s.type="star",s.value="*",s.output=f,n.output+=s.output);}if(B.length&&o.type!=="paren"&&(B[B.length-1].inner+=o.value),(o.value||o.output)&&Q(o),s&&s.type==="text"&&o.type==="text"){s.output=(s.output||s.value)+o.value,s.value+=o.value;return}o.prev=s,l.push(o),s=o;},"push"),rt=a((o,L)=>{let u={...m[L],conditions:1,inner:""};u.prev=s,u.parens=n.parens,u.output=n.output;let p=(e.capture?"(":"")+u.open;st("parens"),A({type:o,value:L,output:n.output?"":M}),A({type:"paren",extglob:true,value:$(),output:p}),B.push(u);},"extglobOpen"),Pt=a(o=>{let L=o.close+(e.capture?")":""),u;if(o.type==="negate"){let p=f;if(o.inner&&o.inner.length>1&&o.inner.includes("/")&&(p=N(e)),(p!==f||K()||/^\)+$/.test(F()))&&(L=o.close=`)$))${p}`),o.inner.includes("*")&&(u=F())&&/^\.[^\\/.]+$/.test(u)){let y=Rt(u,{...a$1,fastpaths:false}).output;L=o.close=`)${y})${p})`;}o.prev.type==="bos"&&(n.negatedExtglob=true);}A({type:"paren",extglob:true,value:r,output:L}),V("parens");},"extglobClose");if(e.fastpaths!==false&&!/(^[*!]|[/()[\]{}"])/.test(t)){let o=false,L=t.replace(le,(u,p,y,D,I,at)=>D==="\\"?(o=true,u):D==="?"?p?p+D+(I?b.repeat(I.length):""):at===0?i+(I?b.repeat(I.length):""):b.repeat(y.length):D==="."?S.repeat(y.length):D==="*"?p?p+D+(I?f:""):f:p?u:`\\${u}`);return o===true&&(e.unescape===true?L=L.replace(/\\/g,""):L=L.replace(/\\+/g,u=>u.length%2===0?"\\\\":u?"\\":"")),L===t&&e.contains===true?(n.output=t,n):(n.output=q.wrapOutput(L,n,a$1),n)}for(;!K();){if(r=$(),r==="\0")continue;if(r==="\\"){let u=x();if(u==="/"&&e.bash!==true||u==="."||u===";")continue;if(!u){r+="\\",A({type:"text",value:r});continue}let p=/^\\+/.exec(F()),y=0;if(p&&p[0].length>2&&(y=p[0].length,n.index+=y,y%2!==0&&(r+="\\")),e.unescape===true?r=$():r+=$(),n.brackets===0){A({type:"text",value:r});continue}}if(n.brackets>0&&(r!=="]"||s.value==="["||s.value==="[^")){if(e.posix!==false&&r===":"){let u=s.value.slice(1);if(u.includes("[")&&(s.posix=true,u.includes(":"))){let p=s.value.lastIndexOf("["),y=s.value.slice(0,p),D=s.value.slice(p+2),I=ce[D];if(I){s.value=y+I,n.backtrack=true,$(),!E.output&&l.indexOf(s)===1&&(E.output=M);continue}}}(r==="["&&x()!==":"||r==="-"&&x()==="]")&&(r=`\\${r}`),r==="]"&&(s.value==="["||s.value==="[^")&&(r=`\\${r}`),e.posix===true&&r==="!"&&s.value==="["&&(r="^"),s.value+=r,Q({value:r});continue}if(n.quotes===1&&r!=='"'){r=q.escapeRegex(r),s.value+=r,Q({value:r});continue}if(r==='"'){n.quotes=n.quotes===1?0:1,e.keepQuotes===true&&A({type:"text",value:r});continue}if(r==="("){st("parens"),A({type:"paren",value:r});continue}if(r===")"){if(n.parens===0&&e.strictBrackets===true)throw new SyntaxError(z("opening","("));let u=B[B.length-1];if(u&&n.parens===u.parens+1){Pt(B.pop());continue}A({type:"paren",value:r,output:n.parens?")":"\\)"}),V("parens");continue}if(r==="["){if(e.nobracket===true||!F().includes("]")){if(e.nobracket!==true&&e.strictBrackets===true)throw new SyntaxError(z("closing","]"));r=`\\${r}`;}else st("brackets");A({type:"bracket",value:r});continue}if(r==="]"){if(e.nobracket===true||s&&s.type==="bracket"&&s.value.length===1){A({type:"text",value:r,output:`\\${r}`});continue}if(n.brackets===0){if(e.strictBrackets===true)throw new SyntaxError(z("opening","["));A({type:"text",value:r,output:`\\${r}`});continue}V("brackets");let u=s.value.slice(1);if(s.posix!==true&&u[0]==="^"&&!u.includes("/")&&(r=`/${r}`),s.value+=r,Q({value:r}),e.literalBrackets===false||q.hasRegexChars(u))continue;let p=q.escapeRegex(s.value);if(n.output=n.output.slice(0,-s.value.length),e.literalBrackets===true){n.output+=p,s.value=p;continue}s.value=`(${h}${p}|${s.value})`,n.output+=s.value;continue}if(r==="{"&&e.nobrace!==true){st("braces");let u={type:"brace",value:r,output:"(",outputIndex:n.output.length,tokensIndex:n.tokens.length};O.push(u),A(u);continue}if(r==="}"){let u=O[O.length-1];if(e.nobrace===true||!u){A({type:"text",value:r,output:r});continue}let p=")";if(u.dots===true){let y=l.slice(),D=[];for(let I=y.length-1;I>=0&&(l.pop(),y[I].type!=="brace");I--)y[I].type!=="dots"&&D.unshift(y[I].value);p=pe(D,e),n.backtrack=true;}if(u.comma!==true&&u.dots!==true){let y=n.output.slice(0,u.outputIndex),D=n.tokens.slice(u.tokensIndex);u.value=u.output="\\{",r=p="\\}",n.output=y;for(let I of D)n.output+=I.output||I.value;}A({type:"brace",value:r,output:p}),V("braces"),O.pop();continue}if(r==="|"){B.length>0&&B[B.length-1].conditions++,A({type:"text",value:r});continue}if(r===","){let u=r,p=O[O.length-1];p&&H[H.length-1]==="braces"&&(p.comma=true,u="|"),A({type:"comma",value:r,output:u});continue}if(r==="/"){if(s.type==="dot"&&n.index===n.start+1){n.start=n.index+1,n.consumed="",n.output="",l.pop(),s=E;continue}A({type:"slash",value:r,output:T});continue}if(r==="."){if(n.braces>0&&s.type==="dot"){s.value==="."&&(s.output=S);let u=O[O.length-1];s.type="dots",s.output+=r,s.value+=r,u.dots=true;continue}if(n.braces+n.parens===0&&s.type!=="bos"&&s.type!=="slash"){A({type:"text",value:r,output:S});continue}A({type:"dot",value:r,output:S});continue}if(r==="?"){if(!(s&&s.value==="(")&&e.noextglob!==true&&x()==="("&&x(2)!=="?"){rt("qmark",r);continue}if(s&&s.type==="paren"){let p=x(),y=r;(s.value==="("&&!/[!=<:]/.test(p)||p==="<"&&!/<([!=]|\w+>)/.test(F()))&&(y=`\\${r}`),A({type:"text",value:r,output:y});continue}if(e.dot!==true&&(s.type==="slash"||s.type==="bos")){A({type:"qmark",value:r,output:X});continue}A({type:"qmark",value:r,output:b});continue}if(r==="!"){if(e.noextglob!==true&&x()==="("&&(x(2)!=="?"||!/[!=<:]/.test(x(3)))){rt("negate",r);continue}if(e.nonegate!==true&&n.index===0){Mt();continue}}if(r==="+"){if(e.noextglob!==true&&x()==="("&&x(2)!=="?"){rt("plus",r);continue}if(s&&s.value==="("||e.regex===false){A({type:"plus",value:r,output:w});continue}if(s&&(s.type==="bracket"||s.type==="paren"||s.type==="brace")||n.parens>0){A({type:"plus",value:r});continue}A({type:"plus",value:w});continue}if(r==="@"){if(e.noextglob!==true&&x()==="("&&x(2)!=="?"){A({type:"at",extglob:true,value:r,output:""});continue}A({type:"text",value:r});continue}if(r!=="*"){(r==="$"||r==="^")&&(r=`\\${r}`);let u=ie.exec(F());u&&(r+=u[0],n.index+=u[0].length),A({type:"text",value:r});continue}if(s&&(s.type==="globstar"||s.star===true)){s.type="star",s.star=true,s.value+=r,s.output=f,n.backtrack=true,n.globstar=true,U(r);continue}let o=F();if(e.noextglob!==true&&/^\([^?]/.test(o)){rt("star",r);continue}if(s.type==="star"){if(e.noglobstar===true){U(r);continue}let u=s.prev,p=u.prev,y=u.type==="slash"||u.type==="bos",D=p&&(p.type==="star"||p.type==="globstar");if(e.bash===true&&(!y||o[0]&&o[0]!=="/")){A({type:"star",value:r,output:""});continue}let I=n.braces>0&&(u.type==="comma"||u.type==="brace"),at=B.length&&(u.type==="pipe"||u.type==="paren");if(!y&&u.type!=="paren"&&!I&&!at){A({type:"star",value:r,output:""});continue}for(;o.slice(0,3)==="/**";){let nt=t[n.index+4];if(nt&&nt!=="/")break;o=o.slice(3),U("/**",3);}if(u.type==="bos"&&K()){s.type="globstar",s.value+=r,s.output=N(e),n.output=s.output,n.globstar=true,U(r);continue}if(u.type==="slash"&&u.prev.type!=="bos"&&!D&&K()){n.output=n.output.slice(0,-(u.output+s.output).length),u.output=`(?:${u.output}`,s.type="globstar",s.output=N(e)+(e.strictSlashes?")":"|$)"),s.value+=r,n.globstar=true,n.output+=u.output+s.output,U(r);continue}if(u.type==="slash"&&u.prev.type!=="bos"&&o[0]==="/"){let nt=o[1]!==void 0?"|$":"";n.output=n.output.slice(0,-(u.output+s.output).length),u.output=`(?:${u.output}`,s.type="globstar",s.output=`${N(e)}${T}|${T}${nt})`,s.value+=r,n.output+=u.output+s.output,n.globstar=true,U(r+$()),A({type:"slash",value:"/",output:""});continue}if(u.type==="bos"&&o[0]==="/"){s.type="globstar",s.value+=r,s.output=`(?:^|${T}|${N(e)}${T})`,n.output=s.output,n.globstar=true,U(r+$()),A({type:"slash",value:"/",output:""});continue}n.output=n.output.slice(0,-s.output.length),s.type="globstar",s.output=N(e),s.value+=r,n.output+=s.output,n.globstar=true,U(r);continue}let L={type:"star",value:r,output:f};if(e.bash===true){L.output=".*?",(s.type==="bos"||s.type==="slash")&&(L.output=P+L.output),A(L);continue}if(s&&(s.type==="bracket"||s.type==="paren")&&e.regex===true){L.output=r,A(L);continue}(n.index===n.start||s.type==="slash"||s.type==="dot")&&(s.type==="dot"?(n.output+=Z,s.output+=Z):e.dot===true?(n.output+=W,s.output+=W):(n.output+=P,s.output+=P),x()!=="*"&&(n.output+=M,s.output+=M)),A(L);}for(;n.brackets>0;){if(e.strictBrackets===true)throw new SyntaxError(z("closing","]"));n.output=q.escapeLast(n.output,"["),V("brackets");}for(;n.parens>0;){if(e.strictBrackets===true)throw new SyntaxError(z("closing",")"));n.output=q.escapeLast(n.output,"("),V("parens");}for(;n.braces>0;){if(e.strictBrackets===true)throw new SyntaxError(z("closing","}"));n.output=q.escapeLast(n.output,"{"),V("braces");}if(e.strictSlashes!==true&&(s.type==="star"||s.type==="bracket")&&A({type:"maybe_slash",value:"",output:`${T}?`}),n.backtrack===true){n.output="";for(let o of n.tokens)n.output+=o.output!=null?o.output:o.value,o.suffix&&(n.output+=o.suffix);}return n},"parse");Rt.fastpaths=(t,a$1)=>{let e={...a$1},R=typeof e.maxLength=="number"?Math.min(ot,e.maxLength):ot,c=t.length;if(c>R)throw new SyntaxError(`Input length: ${c}, exceeds maximum allowed length: ${R}`);t=It[t]||t;let{DOT_LITERAL:E,SLASH_LITERAL:l,ONE_CHAR:h,DOTS_SLASH:C,NO_DOT:m,NO_DOTS:S,NO_DOTS_SLASH:w,STAR:T,START_ANCHOR:M}=ut.globChars(e.windows),g=e.dot?S:m,v=e.dot?w:m,Z=e.capture?"":"?:",W={negated:false,prefix:""},b=e.bash===true?".*?":T;e.capture&&(b=`(${b})`);let X=a(P=>P.noglobstar===true?b:`(${Z}(?:(?!${M}${P.dot?C:E}).)*?)`,"globstar"),j=a(P=>{switch(P){case "*":return `${g}${h}${b}`;case ".*":return `${E}${h}${b}`;case "*.*":return `${g}${b}${E}${h}${b}`;case "*/*":return `${g}${b}${l}${h}${v}${b}`;case "**":return g+X(e);case "**/*":return `(?:${g}${X(e)}${l})?${v}${h}${b}`;case "**/*.*":return `(?:${g}${X(e)}${l})?${v}${b}${E}${h}${b}`;case "**/.*":return `(?:${g}${X(e)}${l})?${E}${h}${b}`;default:{let i=/^(.*?)\.(\w+)$/.exec(P);if(!i)return;let f=j(i[1]);return f?f+E+i[2]:void 0}}},"create"),k=q.removePrefix(t,W),N=j(k);return N&&e.strictSlashes!==true&&(N+=`${l}?`),N};vt.exports=Rt;});var kt=b((Le,wt)=>{var fe=Ot(),Et=mt(),Nt=tt(),Ae=J(),_e=a(t=>t&&typeof t=="object"&&!Array.isArray(t),"isObject"),d=a((t,a$1,e=false)=>{if(Array.isArray(t)){let S=t.map(T=>d(T,a$1,e));return a(T=>{for(let M of S){let g=M(T);if(g)return g}return false},"arrayMatcher")}let R=_e(t)&&t.tokens&&t.input;if(t===""||typeof t!="string"&&!R)throw new TypeError("Expected pattern to be a non-empty string");let c=a$1||{},E=c.windows,l=R?d.compileRe(t,a$1):d.makeRe(t,a$1,false,true),h=l.state;delete l.state;let C=a(()=>false,"isIgnored");if(c.ignore){let S={...a$1,ignore:null,onMatch:null,onResult:null};C=d(c.ignore,S,e);}let m=a((S,w=false)=>{let{isMatch:T,match:M,output:g}=d.test(S,l,a$1,{glob:t,posix:E}),v={glob:t,state:h,regex:l,posix:E,input:S,output:g,match:M,isMatch:T};return typeof c.onResult=="function"&&c.onResult(v),T===false?(v.isMatch=false,w?v:false):C(S)?(typeof c.onIgnore=="function"&&c.onIgnore(v),v.isMatch=false,w?v:false):(typeof c.onMatch=="function"&&c.onMatch(v),w?v:true)},"matcher");return e&&(m.state=h),m},"picomatch");d.test=(t,a,e,{glob:R,posix:c}={})=>{if(typeof t!="string")throw new TypeError("Expected input to be a string");if(t==="")return {isMatch:false,output:""};let E=e||{},l=E.format||(c?Nt.toPosixSlashes:null),h=t===R,C=h&&l?l(t):t;return h===false&&(C=l?l(t):t,h=C===R),(h===false||E.capture===true)&&(E.matchBase===true||E.basename===true?h=d.matchBase(t,a,e,c):h=a.exec(C)),{isMatch:!!h,match:h,output:C}};d.matchBase=(t,a,e)=>(a instanceof RegExp?a:d.makeRe(a,e)).test(Nt.basename(t));d.isMatch=(t,a,e)=>d(a,e)(t);d.parse=(t,a)=>Array.isArray(t)?t.map(e=>d.parse(e,a)):Et(t,{...a,fastpaths:false});d.scan=(t,a)=>fe(t,a);d.compileRe=(t,a,e=false,R=false)=>{if(e===true)return t.output;let c=a||{},E=c.contains?"":"^",l=c.contains?"":"$",h=`${E}(?:${t.output})${l}`;t&&t.negated===true&&(h=`^(?!${h}).*$`);let C=d.toRegex(h,a);return R===true&&(C.state=t),C};d.makeRe=(t,a={},e=false,R=false)=>{if(!t||typeof t!="string")throw new TypeError("Expected a non-empty string");let c={negated:false,fastpaths:true};return a.fastpaths!==false&&(t[0]==="."||t[0]==="*")&&(c.output=Et.fastpaths(t,a)),c.output||(c=Et(t,a)),d.compileRe(c,a,e,R)};d.toRegex=(t,a)=>{try{let e=a||{};return new RegExp(t,e.flags||(e.nocase?"i":""))}catch(e){if(a&&a.debug===true)throw e;return /$^/}};d.constants=Ae;wt.exports=d;});var Ee=b((ye,Gt)=>{var Dt=kt(),Re=tt();function Bt(t,a,e=false){return a&&(a.windows===null||a.windows===void 0)&&(a={...a,windows:Re.isWindows()}),Dt(t,a,e)}a(Bt,"picomatch");Object.assign(Bt,Dt);Gt.exports=Bt;});export{Ee as a};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {c}from'./chunk-HUXBFNFL.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {homedir}from'os';import {join,dirname}from'path';import {mkdir,stat,rm}from'fs/promises';import {setTimeout}from'timers/promises';globalThis.require=createRequire(import.meta.url);
3
+ function p(){return process.env.PLUNK_HOME||join(homedir(),".plunk")}a(p,"getPlunkHome");function x(){return join(p(),"store")}a(x,"getStorePath");function M(){return join(p(),"consumers.json")}a(M,"getConsumersPath");function l(t){return t.replace(/\//g,"+")}a(l,"encodePackageName");function S(t){if(t.startsWith("@")){let r=t.indexOf("+");if(r!==-1)return t.slice(0,r)+"/"+t.slice(r+1)}return t}a(S,"decodePackageName");function m(t,r){return join(x(),`${l(t)}@${r}`)}a(m,"getStoreEntryPath");function T(t,r){return join(m(t,r),"package")}a(T,"getStorePackagePath");function v(t,r){return join(m(t,r),".plunk-meta.json")}a(v,"getStoreMetaPath");function R(t){return join(t,".plunk")}a(R,"getConsumerPlunkDir");function I(t){return join(t,".plunk","state.json")}a(I,"getConsumerStatePath");function A(t,r){return join(t,".plunk","backups",l(r))}a(A,"getConsumerBackupPath");function L(t,r){return join(t,"node_modules",r)}a(L,"getNodeModulesPackagePath");var s={retries:5,minTimeout:100,maxTimeout:1e3,factor:2,stale:1e4};async function q(t,r,i){await mkdir(dirname(t),{recursive:true});let o=t+".lk",d=i?.stale??s.stale,c$1=false;for(let u=0;u<=s.retries;u++)try{await mkdir(o),c$1=!0;break}catch(a){if(c(a)&&a.code==="EEXIST"){try{let f=await stat(o);if(Date.now()-f.mtimeMs>d){await rm(o,{recursive:!0,force:!0});continue}}catch{continue}if(u<s.retries){let f=Math.min(s.minTimeout*s.factor**u,s.maxTimeout);await setTimeout(f);}}else throw a}if(!c$1)throw new Error(`Failed to acquire lock after ${s.retries} attempts. Another plunk process may be running. If this persists, delete ${o} and retry.`);try{return await r()}finally{await rm(o,{recursive:true,force:true});}}a(q,"withFileLock");function B(t){if(typeof t!="object"||t===null)return false;let r=t;return typeof r.contentHash=="string"&&typeof r.publishedAt=="string"&&typeof r.sourcePath=="string"&&(r.buildId===void 0||typeof r.buildId=="string")}a(B,"isPlunkMeta");function j(t){if(typeof t!="object"||t===null)return false;let r=t;return typeof r.version=="string"&&typeof r.contentHash=="string"&&typeof r.linkedAt=="string"&&typeof r.sourcePath=="string"&&typeof r.backupExists=="boolean"&&typeof r.packageManager=="string"&&["npm","pnpm","yarn","bun"].includes(r.packageManager)&&(r.buildId===void 0||typeof r.buildId=="string")}a(j,"isLinkEntry");function K(t){if(typeof t!="object"||t===null)return false;let r=t;if(r.version!=="1"||typeof r.links!="object"||r.links===null)return false;let i=r.links;for(let o of Object.values(i))if(!j(o))return false;return true}a(K,"isConsumerState");function W(t){if(typeof t!="object"||t===null)return false;let r=t;for(let i of Object.values(r)){if(!Array.isArray(i))return false;for(let o of i)if(typeof o!="string")return false}return true}a(W,"isConsumersRegistry");
4
+ export{x as a,M as b,l as c,S as d,m as e,T as f,v as g,R as h,I as i,A as j,L as k,q as l,B as m,K as n,W as o};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a}from'./chunk-2VCW5RWI.mjs';globalThis.require=createRequire(import.meta.url);
3
+ var s=class{static{a(this,"Timer");}start=performance.now();elapsedMs(){return performance.now()-this.start}elapsed(){let e=this.elapsedMs();return e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`}};export{s as a};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a as a$3}from'./chunk-6P5DRYEP.mjs';import {a}from'./chunk-HW7AEGI3.mjs';import {e,l}from'./chunk-JSJRP4AV.mjs';import {a as a$2,c as c$1,b as b$1,i,h,d,j,f as f$1,g}from'./chunk-HUXBFNFL.mjs';import {b,f}from'./chunk-AR7AKSKG.mjs';import {c,a as a$1}from'./chunk-2VCW5RWI.mjs';import {stat,readFile,readdir,writeFile,rename}from'fs/promises';import {randomBytes}from'crypto';import {resolve,join,relative,sep,dirname}from'path';import {spawn}from'child_process';import {availableParallelism,platform}from'os';globalThis.require=createRequire(import.meta.url);
3
+ var C=c(a(),1);async function q(e,o){let n=[],s=resolve(e);n.push(join(s,"package.json"));let t=await z(s,s),i=t.map(a=>relative(s,a).replace(/\\/g,"/"));if(o.files&&o.files.length>0)for(let a of o.files){let r=join(s,a),c=resolve(r);if(!c.startsWith(s+sep)&&c!==s){b.warn(`files pattern "${a}" escapes package directory, skipping`);continue}let f=false;try{if((await stat(r)).isDirectory()){let l=relative(s,r).replace(/\\/g,"/")+"/";for(let p=0;p<i.length;p++)i[p].startsWith(l)&&n.push(t[p]);f=!0;}else n.push(r),f=!0;}catch(u){if(c$1(u)&&u.code!=="ENOENT")throw u}if(!f){let u=(0, C.default)(a,{dot:true}),l=0;for(let p=0;p<i.length;p++)if(u(i[p])){let d=resolve(t[p]);if(!d.startsWith(s+sep)&&d!==s)continue;n.push(t[p]),l++;}l===0&&b.warn(`files pattern "${a}" matched no files`);}}else {let a=await at(s);for(let r=0;r<i.length;r++)rt(i[r],a)||n.push(t[r]);}let h=new Set(n);for(let a of ["README.md","README","LICENSE","LICENCE","CHANGELOG.md"]){let r=join(s,a);if(!h.has(r))try{await stat(r),n.push(r),h.add(r);}catch(c){if(c$1(c)&&c.code!=="ENOENT")throw c}}return [...h]}a$1(q,"resolvePackFiles");var ot=new Set(["node_modules",".git",".svn",".hg",".DS_Store",".npmrc",".plunk","test","tests","__tests__",".github",".vscode",".idea","coverage",".nyc_output","tsconfig.json","tsconfig.build.json",".eslintrc",".eslintrc.js",".eslintrc.json",".prettierrc",".prettierrc.js","jest.config.js","jest.config.ts","vitest.config.ts","vitest.config.js"]);function rt(e,o){let n=e.split(/[\\/]/);for(let s of n)if(ot.has(s)||o.literals.has(s))return true;if(o.literals.has(e))return true;for(let s of o.patterns)if(s(e))return true;for(let s of o.negations)if(s(e))return false;return false}a$1(rt,"shouldIgnore");async function at(e){let o={literals:new Set,patterns:[],negations:[]};try{let n=await readFile(join(e,".npmignore"),"utf-8");for(let s of n.split(`
4
+ `)){let t=s.trim();if(!(!t||t.startsWith("#")))if(t.startsWith("!")){let i=t.slice(1);B(i)?o.negations.push((0,C.default)(i,{dot:!0})):o.negations.push((0,C.default)(i,{dot:!0}));}else B(t)?o.patterns.push((0,C.default)(t,{dot:!0})):o.literals.add(t.replace(/\/$/,""));}}catch(n){if(c$1(n)&&n.code!=="ENOENT")throw n}return o}a$1(at,"loadNpmIgnore");function B(e){return /[*?[\]{}()]/.test(e)}a$1(B,"hasGlobChars");async function z(e,o){let n=[];try{let s=await readdir(e,{withFileTypes:!0});for(let t of s){let i=join(e,t.name);if(t.isDirectory()){if(t.name===".git"||e===o&&t.name==="node_modules"||t.isSymbolicLink())continue;n.push(...await z(i,o));}else t.isSymbolicLink()||n.push(i);}}catch(s){if(c$1(s)&&s.code==="ENOENT")return [];throw s}return n}a$1(z,"collectAllFiles");var dt=a$2(Math.max(availableParallelism(),8));async function Vt(e$1,o={}){let n=join(e$1,"package.json"),s;try{s=await readFile(n,"utf-8");}catch{throw new Error(`No package.json found in ${e$1}`)}let t=JSON.parse(s);if(!t.name)throw new Error("package.json missing 'name' field");if(!t.version)throw new Error("package.json missing 'version' field");if(t.private&&!o.allowPrivate)throw new Error(`Package "${t.name}" is private. Use --private flag to publish private packages.`);await k(e$1,t,"preplunk"),o.runScripts!==false&&await k(e$1,t,"prepack");let i$1=e$1;if(t.publishConfig?.directory){i$1=resolve(e$1,t.publishConfig.directory);try{if(!(await stat(i$1)).isDirectory())throw new Error(`publishConfig.directory "${t.publishConfig.directory}" is not a directory`)}catch(l){throw l instanceof Error&&"code"in l&&l.code==="ENOENT"?new Error(`publishConfig.directory "${t.publishConfig.directory}" does not exist`):l}f(`[publish] Using publishConfig.directory: ${i$1}`);}let h$1=i$1!==e$1?JSON.parse(await readFile(join(i$1,"package.json"),"utf-8").catch(()=>JSON.stringify(t))):t,a=await q(i$1,h$1);if(a.length===0)throw new Error("No publishable files found");f(`[publish] Resolved ${a.length} files for ${t.name}@${t.version}`);let r=await b$1(a,i$1);await Et(t,e$1);let c=await a$3(t.name,t.version);if(c&&c.contentHash===r)return b.info(`${t.name}@${t.version} already up to date (no changes since last publish)`),{name:t.name,version:t.version,fileCount:a.length,skipped:true,contentHash:r,buildId:c.buildId??""};let f$2=e(t.name,t.version),u=await l(f$2+".lock",async()=>{let l=await a$3(t.name,t.version);if(l&&l.contentHash===r)return b.info(`${t.name}@${t.version} already up to date (no changes since last publish)`),{name:t.name,version:t.version,fileCount:a.length,skipped:true,contentHash:r,buildId:l.buildId??""};let p=f$2+".tmp-"+Date.now(),d$1=join(p,"package"),j$1=randomBytes(4).toString("hex");try{await i(d$1);let w=vt(t,e$1);w=bt(w),f("[publish] Copying files to temp store...");let Z=new Set(a.map(y=>dirname(join(d$1,relative(i$1,y)))));await Promise.all([...Z].map(y=>h(y))),await Promise.all(a.map(y=>dt(async()=>{let R=relative(i$1,y),T=join(d$1,R);R==="package.json"&&w!==t?await writeFile(T,JSON.stringify(w,null,2)):await d(y,T);}))),i$1!==e$1&&await writeFile(join(d$1,"package.json"),JSON.stringify(w,null,2));let tt={contentHash:r,publishedAt:new Date().toISOString(),sourcePath:e$1,buildId:j$1};await writeFile(join(p,".plunk-meta.json"),JSON.stringify(tt,null,2));let M=await j(f$2),J=f$2+".old-"+Date.now();M&&await rename(f$2,J),await f$1(p,f$2),M&&await g(J),f(`[publish] Stored at ${f$2}`);}catch(w){throw await g(p),w}return {name:t.name,version:t.version,fileCount:a.length,skipped:false,contentHash:r,buildId:j$1}},{stale:6e4});return u.skipped||(o.runScripts!==false&&await k(e$1,t,"postpack"),await k(e$1,t,"postplunk"),b.success(`Published ${t.name}@${t.version} (${a.length} files) [${u.buildId}]`)),u}a$1(Vt,"publish");var Y=parseInt(process.env.PLUNK_HOOK_TIMEOUT??"30000",10);async function k(e,o,n){let s=o.scripts?.[n];if(s)return f(`[lifecycle] Running ${n}: ${s}`),new Promise((t,i)=>{let h=platform()==="win32",c=spawn(h?"cmd":"sh",[h?"/c":"-c",s],{cwd:e,stdio:"inherit"}),f=setTimeout(()=>{c.kill("SIGTERM"),i(new Error(`${n} script timed out after ${Y/1e3}s. Increase PLUNK_HOOK_TIMEOUT env var if the script needs more time.`));},Y);c.on("close",u=>{clearTimeout(f),u===0?t():i(new Error(`${n} script failed with exit code ${u}`));}),c.on("error",u=>{clearTimeout(f),i(new Error(`${n} script error: ${u.message}`));});})}a$1(k,"runLifecycleHook");var wt=["main","module","exports","types","typings","browser","bin"];function bt(e){if(!e.publishConfig)return e;let o={...e};for(let n of wt)n in e.publishConfig&&(o[n]=e.publishConfig[n]);return delete o.publishConfig,o}a$1(bt,"applyPublishConfig");function vt(e,o){let n=false,s={...e},t=null,i=false;for(let h of ["dependencies","devDependencies","peerDependencies"]){let a=e[h];if(!a)continue;let r=false,c={...a};for(let[f$1,u]of Object.entries(a))if(u.startsWith("workspace:")){let l=u.slice(10);l==="*"||l==="^"||l==="~"?c[f$1]=l==="*"?e.version:l+e.version:c[f$1]=l,r=true,n=true;}else if(u.startsWith("catalog:"))if(i||(t=Pt(),i=true),t){let l=yt(u,f$1,t);l?(c[f$1]=l,r=true,n=true):f(`[publish] catalog: specifier for "${f$1}" not found, leaving as-is`);}else f(`[publish] No pnpm-workspace.yaml found, cannot resolve catalog: for "${f$1}"`);r&&(s[h]=c);}return n?s:e}a$1(vt,"rewriteProtocolVersions");function yt(e,o,n){let s=e.slice(8);return s===""||s==="default"?n.default[o]??null:n.named[s]?.[o]??null}a$1(yt,"resolveCatalogVersion");var S=null;function Pt(){return S?.catalogs??null}a$1(Pt,"loadCatalogsFromCache");async function Et(e,o){if(!["dependencies","devDependencies","peerDependencies"].some(a=>{let r=e[a];return r&&Object.values(r).some(c=>c.startsWith("catalog:"))}))return;let{findWorkspaceRoot:s,parseCatalogs:t}=await import('./workspace-GMBWPSBR.mjs'),i=await s(o);if(!i){S=null;return}if(S?.root===i)return;let h=await t(i);S={root:i,catalogs:h};}a$1(Et,"preloadCatalogs");export{Vt as a};
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a}from'./chunk-2VCW5RWI.mjs';import {parseArgs}from'util';globalThis.require=createRequire(import.meta.url);
3
+ var _=/\d/,T=["-","_","/","."];function k(e=""){if(!_.test(e))return e!==e.toLowerCase()}a(k,"isUppercase");function S(e,t){let s=t??T,u=[];if(!e||typeof e!="string")return u;let o="",p,f;for(let n of e){let r=s.includes(n);if(r===true){u.push(o),o="",p=void 0;continue}let l=k(n);if(f===false){if(p===false&&l===true){u.push(o),o=n,p=l;continue}if(p===true&&l===false&&o.length>1){let m=o.at(-1);u.push(o.slice(0,Math.max(0,o.length-1))),o=m+n,p=l;continue}}o+=n,p=l,f=r;}return u.push(o),u}a(S,"splitByCase");function I(e){return e?e[0].toUpperCase()+e.slice(1):""}a(I,"upperFirst");function q(e){return e?e[0].toLowerCase()+e.slice(1):""}a(q,"lowerFirst");function P(e,t){return e?(Array.isArray(e)?e:S(e)).map(s=>I(t?.normalize?s.toLowerCase():s)).join(""):""}a(P,"pascalCase");function j(e,t){return q(P(e||"",t))}a(j,"camelCase");function M(e,t){return e?(Array.isArray(e)?e:S(e)).map(s=>s.toLowerCase()).join(t??"-"):""}a(M,"kebabCase");function R(e){return Array.isArray(e)?e:e===void 0?[]:[e]}a(R,"toArray");function x(e,t=""){let s=[];for(let u of e)for(let[o,p]of u.entries())s[o]=Math.max(s[o]||0,p.length);return e.map(u=>u.map((o,p)=>t+o[p===0?"padStart":"padEnd"](s[p])).join(" ")).join(`
4
+ `)}a(x,"formatLineColumns");function w(e){return typeof e=="function"?e():e}a(w,"resolveValue");var A=class extends Error{static{a(this,"CLIError");}code;constructor(e,t){super(e),this.name="CLIError",this.code=t;}};function D(e=[],t={}){let s=new Set(t.boolean||[]),u=new Set(t.string||[]),o=t.alias||{},p=t.default||{},f=new Map,n=new Map;for(let[a,c]of Object.entries(o)){let h=c;for(let b of h)f.set(a,b),n.has(b)||n.set(b,[]),n.get(b).push(a),f.set(b,a),n.has(a)||n.set(a,[]),n.get(a).push(b);}let r={};function l(a){if(s.has(a))return "boolean";let c=n.get(a)||[];for(let h of c)if(s.has(h))return "boolean";return "string"}a(l,"getType");let m=new Set([...s,...u,...Object.keys(o),...Object.values(o).flat(),...Object.keys(p)]);for(let a of m)r[a]||(r[a]={type:l(a),default:p[a]});for(let[a,c]of f.entries())a.length===1&&r[c]&&!r[c].short&&(r[c].short=a);let v=[],C={};for(let a=0;a<e.length;a++){let c=e[a];if(c==="--"){v.push(...e.slice(a));break}if(c.startsWith("--no-")){let h=c.slice(5);C[h]=true;continue}v.push(c);}let i;try{i=parseArgs({args:v,options:Object.keys(r).length>0?r:void 0,allowPositionals:!0,strict:!1});}catch{i={values:{},positionals:v};}let g={_:[]};g._=i.positionals;for(let[a,c]of Object.entries(i.values))g[a]=c;for(let[a]of Object.entries(C)){g[a]=false;let c=f.get(a);c&&(g[c]=false);let h=n.get(a);if(h)for(let b of h)g[b]=false;}for(let[a,c]of f.entries())g[a]!==void 0&&g[c]===void 0&&(g[c]=g[a]),g[c]!==void 0&&g[a]===void 0&&(g[a]=g[c]);return g}a(D,"parseRawArgs");var G=(()=>{let e=globalThis.process?.env??{};return e.NO_COLOR==="1"||e.TERM==="dumb"||e.TEST||e.CI})(),N=a((e,t=39)=>s=>G?s:`\x1B[${e}m${s}\x1B[${t}m`,"_c"),$=N(1,22),y=N(36),B=N(90),O=N(4,24);function W(e,t){let s={boolean:[],string:[],alias:{},default:{}},u=U(t);for(let n of u){if(n.type==="positional")continue;n.type==="string"||n.type==="enum"?s.string.push(n.name):n.type==="boolean"&&s.boolean.push(n.name),n.default!==void 0&&(s.default[n.name]=n.default),n.alias&&(s.alias[n.name]=n.alias);let r=j(n.name),l=M(n.name);if(r!==n.name||l!==n.name){let m=R(s.alias[n.name]||[]);r!==n.name&&!m.includes(r)&&m.push(r),l!==n.name&&!m.includes(l)&&m.push(l),m.length>0&&(s.alias[n.name]=m);}}let o=D(e,s),[...p]=o._,f=new Proxy(o,{get(n,r){return n[r]??n[j(r)]??n[M(r)]}});for(let[,n]of u.entries())if(n.type==="positional"){let r=p.shift();if(r!==void 0)f[n.name]=r;else {if(n.default===void 0&&n.required!==false)throw new A(`Missing required positional argument: ${n.name.toUpperCase()}`,"EARG");f[n.name]=n.default;}}else if(n.type==="enum"){let r=f[n.name],l=n.options||[];if(r!==void 0&&l.length>0&&!l.includes(r))throw new A(`Invalid value for argument: ${y(`--${n.name}`)} (${y(r)}). Expected one of: ${l.map(m=>y(m)).join(", ")}.`,"EARG")}else if(n.required&&f[n.name]===void 0)throw new A(`Missing required argument: --${n.name}`,"EARG");return f}a(W,"parseArgs");function U(e){let t=[];for(let[s,u]of Object.entries(e||{}))t.push({...u,name:s,alias:R(u.alias)});return t}a(U,"resolveArgs");async function L(e,t){let s=await w(e.args||{}),u=W(t.rawArgs,s),o={rawArgs:t.rawArgs,args:u,data:t.data,cmd:e};typeof e.setup=="function"&&await e.setup(o);let p;try{let f=await w(e.subCommands);if(f&&Object.keys(f).length>0){let n=t.rawArgs.findIndex(l=>!l.startsWith("-")),r=t.rawArgs[n];if(r){if(!f[r])throw new A(`Unknown command ${y(r)}`,"E_UNKNOWN_COMMAND");let l=await w(f[r]);l&&await L(l,{rawArgs:t.rawArgs.slice(n+1)});}else if(!e.run)throw new A("No command specified.","E_NO_COMMAND")}typeof e.run=="function"&&(p=await e.run(o));}finally{typeof e.cleanup=="function"&&await e.cleanup(o);}return {result:p}}a(L,"runCommand");async function E(e,t,s){let u=await w(e.subCommands);if(u&&Object.keys(u).length>0){let o=t.findIndex(n=>!n.startsWith("-")),p=t[o],f=await w(u[p]);if(f)return E(f,t.slice(o+1),e)}return [e,s]}a(E,"resolveSubCommand");async function F(e,t){try{console.log(await z(e,t)+`
5
+ `);}catch(s){console.error(s);}}a(F,"showUsage");var V=/^no[-A-Z]/;async function z(e,t){let s=await w(e.meta||{}),u=U(await w(e.args||{})),o=await w(t?.meta||{}),p=`${o.name?`${o.name} `:""}`+(s.name||process.argv[1]),f=[],n=[],r=[],l=[];for(let i of u)if(i.type==="positional"){let g=i.name.toUpperCase(),a=i.required!==false&&i.default===void 0,c=i.default?`="${i.default}"`:"";n.push([y(g+c),i.description||"",i.valueHint?`<${i.valueHint}>`:""]),l.push(a?`<${g}>`:`[${g}]`);}else {let g=i.required===true&&i.default===void 0,a=[...(i.alias||[]).map(c=>`-${c}`),`--${i.name}`].join(", ")+(i.type==="string"&&(i.valueHint||i.default)?`=${i.valueHint?`<${i.valueHint}>`:`"${i.default||""}"`}`:"")+(i.type==="enum"&&i.options?`=<${i.options.join("|")}>`:"");if(f.push([y(a+(g?" (required)":"")),i.description||""]),i.type==="boolean"&&(i.default===true||i.negativeDescription)&&!V.test(i.name)){let c=[...(i.alias||[]).map(h=>`--no-${h}`),`--no-${i.name}`].join(", ");f.push([y(c+(g?" (required)":"")),i.negativeDescription||""]);}g&&l.push(a);}if(e.subCommands){let i=[],g=await w(e.subCommands);for(let[a,c]of Object.entries(g)){let h=await w((await w(c))?.meta);h?.hidden||(r.push([y(a),h?.description||""]),i.push(a));}l.push(i.join("|"));}let m=[],v=s.version||o.version;m.push(B(`${s.description} (${p+(v?` v${v}`:"")})`),"");let C=f.length>0||n.length>0;return m.push(`${O($("USAGE"))} ${y(`${p}${C?" [OPTIONS]":""} ${l.join(" ")}`)}`,""),n.length>0&&(m.push(O($("ARGUMENTS")),""),m.push(x(n," ")),m.push("")),f.length>0&&(m.push(O($("OPTIONS")),""),m.push(x(f," ")),m.push("")),r.length>0&&(m.push(O($("COMMANDS")),""),m.push(x(r," ")),m.push("",`Use ${y(`${p} <command> --help`)} for more information about a command.`)),m.filter(i=>typeof i=="string").join(`
6
+ `)}a(z,"renderUsage");async function X(e,t={}){let s=t.rawArgs||process.argv.slice(2),u=t.showUsage||F;try{if(s.includes("--help")||s.includes("-h"))await u(...await E(e,s)),process.exit(0);else if(s.length===1&&s[0]==="--version"){let o=typeof e.meta=="function"?await e.meta():await e.meta;if(!o?.version)throw new A("No version specified","E_NO_VERSION");console.log(o.version);}else await L(e,{rawArgs:s});}catch(o){o instanceof A?(await u(...await E(e,s)),console.error(o.message)):console.error(o,`
7
+ `),process.exit(1);}}a(X,"runMain");export{X as a};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {e,b}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';globalThis.require=createRequire(import.meta.url);
3
+ function r(u){e()&&console.log(JSON.stringify(u,null,2));}a(r,"output");function s(){e()&&(b.level=-1);}a(s,"suppressHumanOutput");export{r as a,s as b};
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {b as b$1,a as a$2}from'./chunk-FOPPYGLV.mjs';import {h,i}from'./chunk-JSJRP4AV.mjs';import {j,h as h$1}from'./chunk-HUXBFNFL.mjs';import {a,b}from'./chunk-AR7AKSKG.mjs';import {c,a as a$1}from'./chunk-2VCW5RWI.mjs';import {readFile,writeFile}from'fs/promises';import {join}from'path';globalThis.require=createRequire(import.meta.url);
3
+ var y=c(a(),1);async function x(t){let n="";try{n=await readFile(t,"utf-8");}catch{}if(n.split(`
4
+ `).some(a=>a.trim()===".plunk/"||a.trim()===".plunk"||a.trim()==="/.plunk/"||a.trim()==="/.plunk"))return false;let o=n.length>0&&!n.endsWith(`
5
+ `)?`
6
+ `:"",r=n.length>0?`
7
+ # plunk local links
8
+ .plunk/
9
+ `:`# plunk local links
10
+ .plunk/
11
+ `;return await writeFile(t,n+o+r),true}a$1(x,"ensureGitignore");async function C(t){let n=await readFile(t,"utf-8"),e=JSON.parse(n);if(e.scripts?.postinstall)return e.scripts.postinstall.includes("plunk")||b.warn(`Existing postinstall script found. Add ${y.default.cyan("plunk restore")} manually if needed.`),false;e.scripts||(e.scripts={}),e.scripts.postinstall="plunk restore || true";let s=n.match(/^(\s+)"/m)?.[1]||" ";return await writeFile(t,JSON.stringify(e,null,s)+`
12
+ `),true}a$1(C,"addPostinstall");async function J(t,n){let e=h(t),s=i(t);if(!await j(s))await h$1(e),await b$1(t,{version:"1",packageManager:n,role:"consumer",links:{}});else {let a=await a$2(t);a.packageManager||(a.packageManager=n,a.role=a.role??"consumer",await b$1(t,a));}let o=join(t,".gitignore");await x(o);let r=join(t,"package.json");await j(r)&&await C(r);}a$1(J,"ensureConsumerInit");export{x as a,C as b,J as c};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a,b}from'./chunk-AR7AKSKG.mjs';import {c,a as a$1}from'./chunk-2VCW5RWI.mjs';globalThis.require=createRequire(import.meta.url);
3
+ var s=c(a(),1);var p=[{pattern:/not found in store/i,message:"Run 'plunk publish' in the package directory first, or use --from <path>."},{pattern:/is not linked/i,message:"Run 'plunk add <package>' to link it first."},{pattern:/No package\.json/i,message:"Make sure you're in a valid package directory with a package.json."},{pattern:/missing 'name'/i,message:"Add a 'name' field to your package.json."},{pattern:/missing 'version'/i,message:"Add a 'version' field to your package.json."},{pattern:/store entry missing/i,message:"Re-publish the package with 'plunk publish'."},{pattern:/EACCES|EPERM/i,message:"Permission denied. Try running with elevated privileges or check file ownership."},{pattern:/ENOSPC/i,message:"Disk is full. Free up some space and try again."},{pattern:/No publishable files/i,message:"Check the 'files' field in package.json, or ensure the build output exists."},{pattern:/private.*package/i,message:"Use --private flag to publish private packages."},{pattern:/Failed to read store entry/i,message:"The store may be corrupted. Try 'plunk clean' then re-publish."},{pattern:/Failed to acquire lock/i,message:"Another plunk process may be running. Wait or delete stale .lk directories."},{pattern:/not a directory/i,message:"Check that the path exists and is a directory."},{pattern:/timed out/i,message:"Set PLUNK_HOOK_TIMEOUT to a higher value (in ms) if your scripts need more time."}];function u(t){b.error(t);for(let{pattern:a,message:r}of p)if(a.test(t)){b.info(`${s.default.dim("Suggestion:")} ${r}`);break}}a$1(u,"errorWithSuggestion");export{u as a};
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {d,e}from'./chunk-6P5DRYEP.mjs';import {j,f,a as a$1}from'./chunk-FOPPYGLV.mjs';import {a}from'./chunk-MBKCCWSD.mjs';import'./chunk-JSJRP4AV.mjs';import {b,a as a$2}from'./chunk-RITKSDMP.mjs';import'./chunk-OL7SNXMX.mjs';import'./chunk-HUXBFNFL.mjs';import {b as b$1,f as f$1}from'./chunk-AR7AKSKG.mjs';import'./chunk-2VCW5RWI.mjs';globalThis.require=createRequire(import.meta.url);
3
+ var O={meta:{name:"clean",description:"Remove unreferenced store entries and stale consumer registrations"},async run(){b();let a$3=new a;b$1.start("Checking consumer registrations...");let{removedConsumers:o,removedPackages:m}=await j();o>0&&b$1.success(`Removed ${o} stale consumer registration(s) across ${m} package(s)`);let $=await f(),t=new Set;for(let[,e]of Object.entries($))for(let n of e){let k=await a$1(n);for(let[w,C]of Object.entries(k.links))t.add(`${w}@${C.version}`);}f$1(`[clean] Referenced entries: ${[...t].join(", ")||"(none)"}`);let y=await d(),s=0;for(let e$1 of y){let n=`${e$1.name}@${e$1.version}`;t.has(n)||(f$1(`[clean] Removing unreferenced store entry: ${n}`),await e(e$1.name,e$1.version),s++);}s>0&&b$1.success(`Removed ${s} unreferenced store entry(ies)`),o===0&&s===0&&b$1.info("Store is clean \u2014 no stale entries or registrations found"),b$1.info(`Clean complete in ${a$3.elapsed()}`),a$2({removedConsumers:o,removedPackages:m,removedEntries:s,elapsed:a$3.elapsedMs()});}};export{O as default};
package/dist/cli.mjs CHANGED
@@ -1,57 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as __cr}from"node:module";globalThis.require=__cr(import.meta.url);
3
- import {
4
- defineCommand,
5
- runMain
6
- } from "./chunk-CSMZ6DZA.mjs";
7
- import {
8
- initFlags
9
- } from "./chunk-I6SN7BBN.mjs";
10
- import "./chunk-KYDBD2KQ.mjs";
11
-
12
- // src/cli.ts
13
- import { availableParallelism } from "os";
14
- process.env.UV_THREADPOOL_SIZE ??= String(Math.max(availableParallelism(), 8));
15
- initFlags();
16
- var main = defineCommand({
17
- meta: {
18
- name: "plunk",
19
- version: "0.1.0",
20
- description: "Modern local package development tool. Smart file copying for node_modules injection."
21
- },
22
- args: {
23
- verbose: {
24
- type: "boolean",
25
- alias: "v",
26
- description: "Enable verbose debug logging",
27
- default: false
28
- },
29
- "dry-run": {
30
- type: "boolean",
31
- description: "Preview changes without writing files",
32
- default: false
33
- },
34
- json: {
35
- type: "boolean",
36
- description: "Output machine-readable JSON",
37
- default: false
38
- }
39
- },
40
- subCommands: {
41
- init: () => import("./init-SWCNRISY.mjs").then((m) => m.default),
42
- publish: () => import("./publish-UXCLPNM6.mjs").then((m) => m.default),
43
- add: () => import("./add-5ZRFUL6Z.mjs").then((m) => m.default),
44
- remove: () => import("./remove-DCR7KKD5.mjs").then((m) => m.default),
45
- push: () => import("./push-JI6HGCFG.mjs").then((m) => m.default),
46
- dev: () => import("./dev-LFXQP6SA.mjs").then((m) => m.default),
47
- restore: () => import("./restore-SUN3WGSW.mjs").then((m) => m.default),
48
- list: () => import("./list-B77L2F34.mjs").then((m) => m.default),
49
- status: () => import("./status-MESRBH54.mjs").then((m) => m.default),
50
- update: () => import("./update-SKDSA673.mjs").then((m) => m.default),
51
- clean: () => import("./clean-LTR5MZTY.mjs").then((m) => m.default),
52
- gc: () => import("./clean-LTR5MZTY.mjs").then((m) => m.default),
53
- doctor: () => import("./doctor-R7ZVR7PY.mjs").then((m) => m.default),
54
- migrate: () => import("./migrate-X5TIC5SS.mjs").then((m) => m.default)
55
- }
56
- });
57
- runMain(main);
2
+ import {createRequire}from'node:module';import {a as a$1}from'./chunk-OL7SNXMX.mjs';import {c}from'./chunk-AR7AKSKG.mjs';import {a}from'./chunk-2VCW5RWI.mjs';import {availableParallelism}from'os';globalThis.require=createRequire(import.meta.url);
3
+ process.env.UV_THREADPOOL_SIZE??=String(Math.max(availableParallelism(),8));c();var n={meta:{name:"plunk",version:"0.1.0",description:"Modern local package development tool. Smart file copying for node_modules injection."},args:{verbose:{type:"boolean",alias:"v",description:"Enable verbose debug logging",default:false},"dry-run":{type:"boolean",description:"Preview changes without writing files",default:false},json:{type:"boolean",description:"Output machine-readable JSON",default:false}},subCommands:{init:a(()=>import('./init-5FYNUH5Z.mjs').then(e=>e.default),"init"),publish:a(()=>import('./publish-L6IH6PI2.mjs').then(e=>e.default),"publish"),add:a(()=>import('./add-UVCJ3RZR.mjs').then(e=>e.default),"add"),remove:a(()=>import('./remove-GSBWNM2O.mjs').then(e=>e.default),"remove"),push:a(()=>import('./push-KMAWIKLO.mjs').then(e=>e.default),"push"),dev:a(()=>import('./dev-IJAFFXAG.mjs').then(e=>e.default),"dev"),restore:a(()=>import('./restore-ZRIOE5V7.mjs').then(e=>e.default),"restore"),list:a(()=>import('./list-PEZN5V7H.mjs').then(e=>e.default),"list"),status:a(()=>import('./status-INGSOXJL.mjs').then(e=>e.default),"status"),update:a(()=>import('./update-EKEWWCGO.mjs').then(e=>e.default),"update"),clean:a(()=>import('./clean-346LCKHO.mjs').then(e=>e.default),"clean"),gc:a(()=>import('./clean-346LCKHO.mjs').then(e=>e.default),"gc"),doctor:a(()=>import('./doctor-PMR2T7OZ.mjs').then(e=>e.default),"doctor"),migrate:a(()=>import('./migrate-2MQVULTL.mjs').then(e=>e.default),"migrate")}};a$1(n);
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {a as a$9}from'./chunk-HQM2R2GI.mjs';import {a as a$8}from'./chunk-7JG555TZ.mjs';import {a as a$3}from'./chunk-NDEJCN7R.mjs';import {b as b$2}from'./chunk-6P5DRYEP.mjs';import'./chunk-HW7AEGI3.mjs';import {a as a$5}from'./chunk-EAUHATXX.mjs';import {a as a$7}from'./chunk-GDIN53OR.mjs';import {i,e,c}from'./chunk-FOPPYGLV.mjs';import {a as a$4}from'./chunk-ZJMZKJNW.mjs';import {a as a$2}from'./chunk-MBKCCWSD.mjs';import'./chunk-JSJRP4AV.mjs';import {b,a as a$6}from'./chunk-RITKSDMP.mjs';import'./chunk-OL7SNXMX.mjs';import {a}from'./chunk-HUXBFNFL.mjs';import {b as b$1,f}from'./chunk-AR7AKSKG.mjs';import {a as a$1}from'./chunk-2VCW5RWI.mjs';import {readFile}from'fs/promises';import {resolve,join}from'path';globalThis.require=createRequire(import.meta.url);
3
+ var M=a(4),_={meta:{name:"dev",description:"Watch, rebuild, and push to all consumers. Auto-detects build command."},args:{build:{type:"string",description:"Override build command (default: auto-detect from package.json)"},"skip-build":{type:"boolean",description:"Watch output dirs directly, skip build command detection",default:false},debounce:{type:"string",description:"Debounce delay in ms (default: 100)"},"no-scripts":{type:"boolean",description:"Skip prepack/postpack lifecycle hooks",default:false}},async run({args:n}){b();let s=resolve("."),g=a$1(async()=>{let t=new a$2,e$1=await a$3(s,{runScripts:!n["no-scripts"]});if(e$1.skipped){b$1.info("No changes to push");return}let a=await b$2(e$1.name,e$1.version);if(!a){a$4(`Failed to read store entry for ${e$1.name}@${e$1.version} after publish`);return}let b=await i(e$1.name);if(b.length===0){b$1.info("No consumers registered. Use 'plunk add' in a consumer project first.");return}let m=0,u=0,l=0,D=await Promise.all(b.map(i=>M(async()=>{let f$1=await e(i,e$1.name);if(!f$1)return f(`[push] No link found for ${e$1.name} in ${i}, skipping`),null;try{let o=await a$5(a,i,f$1.packageManager);return (o.copied>0||o.removed>0)&&await c(i,e$1.name,{...f$1,contentHash:a.meta.contentHash,linkedAt:new Date().toISOString(),buildId:a.meta.buildId??""}),o}catch(o){return b$1.warn(`Failed to push to ${i}: ${o instanceof Error?o.message:String(o)}`),null}})));for(let i of D)i&&(m+=i.copied,u+=i.skipped,l++);let E=e$1.buildId?` [${e$1.buildId}]`:"";b$1.success(`Pushed ${e$1.name}@${e$1.version}${E} to ${l} consumer(s) in ${t.elapsed()} (${m} files changed, ${u} unchanged)`),a$6({name:e$1.name,version:e$1.version,buildId:e$1.buildId,consumers:l,copied:m,skipped:u,elapsed:t.elapsedMs()});},"doPush"),c$1=n.build,p;if(!n.build){if(!n["skip-build"]){let t=await a$7(s),e=await a$8(s,t);e&&(c$1=e,b$1.info(`Auto-detected build command: ${e}`));}}if(!c$1)try{let t=JSON.parse(await readFile(join(s,"package.json"),"utf-8"));t.files&&t.files.length>0&&(p=t.files,f(`[watch] Using package.json files field: ${p.join(", ")}`));}catch(t){f(`[watch] Could not read package.json: ${t instanceof Error?t.message:String(t)}`);}await g(),await a$9(s,{patterns:p,buildCmd:c$1,debounce:n.debounce?parseInt(n.debounce,10):void 0},g),await new Promise(()=>{});}};export{_ as default};
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import {createRequire}from'node:module';import {d,b as b$3}from'./chunk-6P5DRYEP.mjs';import {a as a$3,b as b$4,c as c$1,d as d$1}from'./chunk-GDIN53OR.mjs';import {f,a as a$2}from'./chunk-FOPPYGLV.mjs';import {a as a$1,b as b$2}from'./chunk-JSJRP4AV.mjs';import {b,a as a$4}from'./chunk-RITKSDMP.mjs';import'./chunk-OL7SNXMX.mjs';import {j}from'./chunk-HUXBFNFL.mjs';import {a,b as b$1}from'./chunk-AR7AKSKG.mjs';import {c}from'./chunk-2VCW5RWI.mjs';import {resolve,join}from'path';globalThis.require=createRequire(import.meta.url);
3
+ var o=c(a(),1);var q={meta:{name:"doctor",description:"Run diagnostic checks on your plunk setup"},async run(){b();let n=resolve("."),s=[];b$1.info(`Running plunk diagnostics...
4
+ `);let m=a$1();if(await j(m)){let e=await d();s.push({name:"Store directory",status:"pass",message:`${e.length} entries in ${m}`});}else s.push({name:"Store directory",status:"warn",message:`Store not found at ${m}. Run 'plunk publish' to create it.`});let x=b$2();if(await j(x)){let e=await f(),t=Object.values(e).flat().length;s.push({name:"Global registry",status:"pass",message:`${Object.keys(e).length} packages, ${t} consumer registrations`});}else s.push({name:"Global registry",status:"warn",message:"No consumers registered yet. Use 'plunk add' to link packages."});let A=await a$2(n),l=Object.entries(A.links);if(l.length>0){s.push({name:"Consumer state",status:"pass",message:`${l.length} linked package(s)`});for(let[e,t]of l){let u=await b$3(e,t.version);u?u.meta.contentHash!==t.contentHash?s.push({name:`Store: ${e}`,status:"warn",message:"Store has newer content. Run 'plunk update' to sync."}):s.push({name:`Store: ${e}`,status:"pass",message:`${e}@${t.version} in sync`}):s.push({name:`Store: ${e}`,status:"fail",message:`Store entry missing for ${e}@${t.version}. Re-publish it.`});let N=join(n,"node_modules",e);await j(N)||s.push({name:`node_modules: ${e}`,status:"fail",message:"Missing from node_modules. Run 'plunk restore'."});}}else s.push({name:"Consumer state",status:"warn",message:"No packages linked. Use 'plunk add' to link a package."});let g=await a$3(n);if(s.push({name:"Package manager",status:"pass",message:g}),g==="yarn"){let e=await b$4(n);await c$1(n)?e==="node-modules"?s.push({name:"Yarn linker",status:"pass",message:"Yarn Berry with node-modules linker"}):e==="pnpm"?s.push({name:"Yarn linker",status:"pass",message:"Yarn pnpm linker mode (plunk handles this)"}):e==="pnp"?s.push({name:"Yarn linker",status:"fail",message:"Yarn PnP is not compatible. Set `nodeLinker: node-modules` in .yarnrc.yml"}):s.push({name:"Yarn linker",status:"warn",message:"Yarn Berry defaults to PnP. Add `nodeLinker: node-modules` to .yarnrc.yml"}):s.push({name:"Yarn linker",status:"pass",message:"Yarn Classic, node_modules mode"});}let i=await d$1(n);i.type?s.push({name:"Bundler",status:"pass",message:`${i.type}${i.configFile?` (${i.configFile})`:""}`}):s.push({name:"Bundler",status:"warn",message:"No bundler config detected"});let d$2=join(n,".gitignore");if(await j(d$2)){let{readFile:e}=await import('fs/promises');(await e(d$2,"utf-8")).includes(".plunk")?s.push({name:".gitignore",status:"pass",message:".plunk/ is ignored"}):s.push({name:".gitignore",status:"warn",message:".plunk/ not in .gitignore. Run 'plunk init' to fix."});}let B={pass:o.default.green("PASS"),fail:o.default.red("FAIL"),warn:o.default.yellow("WARN")};for(let e of s)b$1.log(` ${B[e.status]} ${e.name}: ${o.default.dim(e.message)}`);let p=s.filter(e=>e.status==="fail").length,c=s.filter(e=>e.status==="warn").length;b$1.log(""),p>0?b$1.error(`${p} issue(s) found that need attention`):c>0?b$1.warn(`${c} warning(s), but no critical issues`):b$1.success("All checks passed!"),a$4({results:s.map(({name:e,status:t,message:u})=>({name:e,status:t,message:u})),failures:p,warnings:c});}};export{q as default};
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  interface PublishOptions {
2
2
  allowPrivate?: boolean;
3
+ /** Whether to run prepack/postpack lifecycle hooks (default: true) */
4
+ runScripts?: boolean;
3
5
  }
4
6
  interface PublishResult {
5
7
  name: string;
@@ -92,6 +94,19 @@ interface PackageJson {
92
94
  type?: string;
93
95
  private?: boolean;
94
96
  scripts?: Record<string, string>;
97
+ types?: string;
98
+ typings?: string;
99
+ browser?: string | Record<string, string>;
100
+ publishConfig?: {
101
+ main?: string;
102
+ module?: string;
103
+ exports?: unknown;
104
+ types?: string;
105
+ typings?: string;
106
+ browser?: string | Record<string, string>;
107
+ bin?: string | Record<string, string>;
108
+ directory?: string;
109
+ };
95
110
  }
96
111
 
97
112
  interface InjectResult {
@@ -171,8 +186,8 @@ declare function startWatcher(watchDir: string, options: WatchOptions, onChange:
171
186
 
172
187
  /**
173
188
  * Detect the package manager used in a project directory
174
- * by checking for lockfile presence.
175
- * Probes all lockfiles in parallel, returns the highest-priority match.
189
+ * by checking for lockfile presence, walking up to the filesystem root.
190
+ * Closest lockfile wins. Within the same directory, priority order is maintained.
176
191
  * Falls back to "npm" if no lockfile is found.
177
192
  */
178
193
  declare function detectPackageManager(projectDir: string): Promise<PackageManager>;