@visulima/package 3.5.12 → 3.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ## @visulima/package [3.6.1](https://github.com/visulima/visulima/compare/@visulima/package@3.6.0...@visulima/package@3.6.1) (2025-10-01)
2
+
3
+ ### Bug Fixes
4
+
5
+ * update package dependencies and remove ESLint configuration files ([f964ad7](https://github.com/visulima/visulima/commit/f964ad7d7e6e27da19b8b9b283552336192fd596))
6
+
7
+ ### Miscellaneous Chores
8
+
9
+ * update LICENSE and package.json for consistency ([c2d6ad4](https://github.com/visulima/visulima/commit/c2d6ad41322581639f37c6c648919fba2986211e))
10
+
11
+ ## @visulima/package [3.6.0](https://github.com/visulima/visulima/compare/@visulima/package@3.5.12...@visulima/package@3.6.0) (2025-09-30)
12
+
13
+ ### Features
14
+
15
+ * **package:** enhance package installation warnings and options ([640aaf7](https://github.com/visulima/visulima/commit/640aaf76efb345565695165f8c46a95833c74b1e))
16
+
1
17
  ## @visulima/package [3.5.12](https://github.com/visulima/visulima/compare/@visulima/package@3.5.11...@visulima/package@3.5.12) (2025-09-23)
2
18
 
3
19
  ### Miscellaneous Chores
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PackageNotFoundError } from './error.cjs';
2
2
  export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.cjs';
3
3
  export { findPackageRoot, findPackageRootSync } from './package.cjs';
4
- export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-BCAHuiQ6.cjs';
4
+ export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DoazDpIb.cjs';
5
5
  export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.cjs';
6
6
  import '@visulima/fs';
7
7
  import 'normalize-package-data';
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PackageNotFoundError } from './error.mjs';
2
2
  export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.mjs';
3
3
  export { findPackageRoot, findPackageRootSync } from './package.mjs';
4
- export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-BCAHuiQ6.mjs';
4
+ export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DoazDpIb.mjs';
5
5
  export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.mjs';
6
6
  import '@visulima/fs';
7
7
  import 'normalize-package-data';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { PackageNotFoundError } from './error.js';
2
2
  export { RootMonorepo, Strategy, findMonorepoRoot, findMonorepoRootSync } from './monorepo.js';
3
3
  export { findPackageRoot, findPackageRootSync } from './package.js';
4
- export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-BCAHuiQ6.js';
4
+ export { E as EnsurePackagesOptions, F as FindPackageJsonCache, d as NormalizedPackageJson, N as NormalizedReadResult, P as PackageJson, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DoazDpIb.js';
5
5
  export { PackageManager, PackageManagerResult, findLockFile, findLockFileSync, findPackageManager, findPackageManagerSync, generateMissingPackagesInstallMessage, getPackageManagerVersion, identifyInitiatingPackageManager } from './package-manager.js';
6
6
  import '@visulima/fs';
7
7
  import 'normalize-package-data';
@@ -1,3 +1,3 @@
1
- "use strict";var Oe=Object.defineProperty;var l=(e,t)=>Oe(e,"name",{value:t,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const B=require("node:fs"),Se=require("node:process"),Ce=require("node:fs/promises"),X=require("node:path"),Je=require("node:module"),Ae=require("child_process"),q=require("path"),Ne=require("process"),Te=require("stream"),De=require("readline"),Ie=require("@inquirer/confirm"),N=require("@visulima/fs"),ce=require("@visulima/fs/error"),H=require("@visulima/fs/utils"),le=require("@visulima/path"),Me=require("normalize-package-data");var z=typeof document<"u"?document.currentScript:null;const M=l(e=>e&&typeof e=="object"&&"default"in e?e.default:e,"_interopDefaultCompat"),F=M(Se),ue=M(Ce),O=M(X),qe=M(De),Fe=M(Ie),Ue=M(Me),pe=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],oe={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},se={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};var Le=Object.defineProperty,P=l((e,t)=>Le(e,"name",{value:t,configurable:!0}),"i$1");async function L(e,t){try{const n=await ue.stat(e);return t==="file"?n.isFile():n.isDirectory()}catch{return!1}}l(L,"g$2");P(L,"pathExists");function He(){const e=F.env.npm_config_user_agent;if(!e)return null;const t=e.split("/")[0];return pe.includes(t)?t:null}l(He,"M$1");P(He,"getUserAgent");function*fe(e=F.cwd()){let t=O.resolve(e);const{root:n}=O.parse(t);for(;t&&t!==n;)yield t,t=O.dirname(t)}l(fe,"h$2");P(fe,"lookup");async function Y(e,t){return!e||!L(e,"file")?null:await ge(e,t)}l(Y,"m");P(Y,"parsePackageJson");async function de(e={}){const{cwd:t,strategies:n=["lockfile","packageManager-field","devEngines-field"],onUnknown:r}=e;let o;if(typeof e.stopDir=="string"){const a=O.resolve(e.stopDir);o=P(i=>i===a,"stopDir")}else o=e.stopDir;for(const a of fe(t)){for(const i of n)switch(i){case"lockfile":{for(const s of Object.keys(oe))if(await L(O.join(a,s),"file")){const c=oe[s];return await Y(O.join(a,"package.json"),r)||{name:c,agent:c}}break}case"packageManager-field":case"devEngines-field":{const s=await Y(O.join(a,"package.json"),r);if(s)return s;break}case"install-metadata":{for(const s of Object.keys(se)){const c=s.endsWith("/")?"dir":"file";if(await L(O.join(a,s),c)){const p=se[s],u=p==="yarn"?ye(s)?"yarn":"yarn@berry":p;return{name:p,agent:u}}}break}}if(o?.(a))break}return null}l(de,"A");P(de,"detect");function he(e){const t=P(n=>n?.match(/\d+(\.\d+){0,2}/)?.[0]??n,"handelVer");if(typeof e.packageManager=="string"){const[n,r]=e.packageManager.replace(/^\^/,"").split("@");return{name:n,ver:t(r)}}if(typeof e.devEngines?.packageManager?.name=="string")return{name:e.devEngines.packageManager.name,ver:t(e.devEngines.packageManager.version)}}l(he,"j$1");P(he,"getNameAndVer");async function ge(e,t){try{const n=JSON.parse(await ue.readFile(e,"utf8"));let r;const o=he(n);if(o){const a=o.name,i=o.ver;let s=i;return a==="yarn"&&i&&Number.parseInt(i)>1?(r="yarn@berry",s="berry",{name:a,agent:r,version:s}):a==="pnpm"&&i&&Number.parseInt(i)<7?(r="pnpm@6",{name:a,agent:r,version:s}):pe.includes(a)?(r=a,{name:a,agent:r,version:s}):t?.(n.packageManager)??null}}catch{}return null}l(ge,"E$1");P(ge,"handlePackageManager");function ye(e){return e.endsWith(".yarn_integrity")}l(ye,"D$1");P(ye,"isMetadataYarnClassic");var We=Object.defineProperty,f=l((e,t)=>We(e,"name",{value:t,configurable:!0}),"l$2");const D=Je.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:z&&z.tagName.toUpperCase()==="SCRIPT"&&z.src||new URL("package-json.cjs",document.baseURI).href);var Re=Object.create,me=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor,ze=Object.getOwnPropertyNames,Ke=Object.getPrototypeOf,Ye=Object.prototype.hasOwnProperty,C=(e=>typeof D<"u"?D:typeof Proxy<"u"?new Proxy(e,{get:f((t,n)=>(typeof D<"u"?D:t)[n],"get")}):e)(function(e){if(typeof D<"u")return D.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),k=f((e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),"l"),Be=f((e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ze(t))!Ye.call(e,o)&&o!==n&&me(e,o,{get:f(()=>t[o],"get"),enumerable:!(r=Ve(t,o))||r.enumerable});return e},"$t"),Xe=f((e,t,n)=>(n=e!=null?Re(Ke(e)):{},Be(t||!e||!e.__esModule?me(n,"default",{value:e,enumerable:!0}):n,e)),"Nt"),Ge=k((e,t)=>{t.exports=a,a.sync=i;var n=C("fs");function r(s,c){var p=c.pathExt!==void 0?c.pathExt:process.env.PATHEXT;if(!p||(p=p.split(";"),p.indexOf("")!==-1))return!0;for(var u=0;u<p.length;u++){var h=p[u].toLowerCase();if(h&&s.substr(-h.length).toLowerCase()===h)return!0}return!1}l(r,"o"),f(r,"Ht");function o(s,c,p){return!s.isSymbolicLink()&&!s.isFile()?!1:r(c,p)}l(o,"i"),f(o,"F");function a(s,c,p){n.stat(s,function(u,h){p(u,u?!1:o(h,s,c))})}l(a,"u"),f(a,"z");function i(s,c){return o(n.statSync(s),s,c)}l(i,"d"),f(i,"Wt")}),Qe=k((e,t)=>{t.exports=r,r.sync=o;var n=C("fs");function r(s,c,p){n.stat(s,function(u,h){p(u,u?!1:a(h,c))})}l(r,"o"),f(r,"K");function o(s,c){return a(n.statSync(s),c)}l(o,"i"),f(o,"Dt");function a(s,c){return s.isFile()&&i(s,c)}l(a,"u"),f(a,"M");function i(s,c){var p=s.mode,u=s.uid,h=s.gid,d=c.uid!==void 0?c.uid:process.getuid&&process.getuid(),g=c.gid!==void 0?c.gid:process.getgid&&process.getgid(),y=parseInt("100",8),m=parseInt("010",8),_=parseInt("001",8),E=y|m,J=p&_||p&m&&h===g||p&y&&u===d||p&E&&d===0;return J}l(i,"d"),f(i,"Kt")}),Ze=k((e,t)=>{C("fs");var n;process.platform==="win32"||global.TESTING_WINDOWS?n=Ge():n=Qe(),t.exports=r,r.sync=o;function r(a,i,s){if(typeof i=="function"&&(s=i,i={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(c,p){r(a,i||{},function(u,h){u?p(u):c(h)})})}n(a,i||{},function(c,p){c&&(c.code==="EACCES"||i&&i.ignoreErrors)&&(c=null,p=!1),s(c,p)})}l(r,"i"),f(r,"y");function o(a,i){try{return n.sync(a,i||{})}catch(s){if(i&&i.ignoreErrors||s.code==="EACCES")return!1;throw s}}l(o,"u"),f(o,"Mt")}),et=k((e,t)=>{var n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",r=C("path"),o=n?";":":",a=Ze(),i=f(u=>Object.assign(new Error(`not found: ${u}`),{code:"ENOENT"}),"J"),s=f((u,h)=>{let d=h.colon||o,g=u.match(/\//)||n&&u.match(/\\/)?[""]:[...n?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],y=n?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=n?y.split(d):[""];return n&&u.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:g,pathExt:m,pathExtExe:y}},"Q"),c=f((u,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:y,pathExtExe:m}=s(u,h),_=[],E=f(v=>new Promise((A,$)=>{if(v===g.length)return h.all&&_.length?A(_):$(i(u));let b=g[v],R=/^".*"$/.test(b)?b.slice(1,-1):b,T=r.join(R,u),V=!R&&/^\.[\\\/]/.test(u)?u.slice(0,2)+T:T;A(J(V,v,0))}),"a"),J=f((v,A,$)=>new Promise((b,R)=>{if($===y.length)return b(E(A+1));let T=y[$];a(v+T,{pathExt:m},(V,je)=>{if(!V&&je)if(h.all)_.push(v+T);else return b(v+T);return b(J(v,A,$+1))})}),"c");return d?E(0).then(v=>d(null,v),d):E(0)},"Z"),p=f((u,h)=>{h=h||{};let{pathEnv:d,pathExt:g,pathExtExe:y}=s(u,h),m=[];for(let _=0;_<d.length;_++){let E=d[_],J=/^".*"$/.test(E)?E.slice(1,-1):E,v=r.join(J,u),A=!J&&/^\.[\\\/]/.test(u)?u.slice(0,2)+v:v;for(let $=0;$<g.length;$++){let b=A+g[$];try{if(a.sync(b,{pathExt:y}))if(h.all)m.push(b);else return b}catch{}}}if(h.all&&m.length)return m;if(h.nothrow)return null;throw i(u)},"Xt");t.exports=c,c.sync=p}),tt=k((e,t)=>{var n=f((r={})=>{let o=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(a=>a.toUpperCase()==="PATH")||"Path"},"nt");t.exports=n,t.exports.default=n}),rt=k((e,t)=>{var n=C("path"),r=et(),o=tt();function a(s,c){let p=s.options.env||process.env,u=process.cwd(),h=s.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(s.options.cwd)}catch{}let g;try{g=r.sync(s.command,{path:p[o({env:p})],pathExt:c?n.delimiter:void 0})}catch{}finally{d&&process.chdir(u)}return g&&(g=n.resolve(h?s.options.cwd:"",g)),g}l(a,"u"),f(a,"ot");function i(s){return a(s)||a(s,!0)}l(i,"d"),f(i,"Yt"),t.exports=i}),nt=k((e,t)=>{var n=/([()\][%!^"`<>&|;, *?])/g;function r(a){return a=a.replace(n,"^$1"),a}l(r,"o"),f(r,"Vt");function o(a,i){return a=`${a}`,a=a.replace(/(\\*)"/g,'$1$1\\"'),a=a.replace(/(\\*)$/,"$1$1"),a=`"${a}"`,a=a.replace(n,"^$1"),i&&(a=a.replace(n,"^$1")),a}l(o,"i"),f(o,"Jt"),t.exports.command=r,t.exports.argument=o}),ot=k((e,t)=>{t.exports=/^#!(.*)/}),st=k((e,t)=>{var n=ot();t.exports=(r="")=>{let o=r.match(n);if(!o)return null;let[a,i]=o[0].replace(/#! ?/,"").split(" "),s=a.split("/").pop();return s==="env"?i:i?`${s} ${i}`:s}}),at=k((e,t)=>{var n=C("fs"),r=st();function o(a){let i=Buffer.alloc(150),s;try{s=n.openSync(a,"r"),n.readSync(s,i,0,150,0),n.closeSync(s)}catch{}return r(i.toString())}l(o,"i"),f(o,"te"),t.exports=o}),it=k((e,t)=>{var n=C("path"),r=rt(),o=nt(),a=at(),i=process.platform==="win32",s=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function p(d){d.file=r(d);let g=d.file&&a(d.file);return g?(d.args.unshift(d.file),d.command=g,r(d)):d.file}l(p,"h"),f(p,"ie");function u(d){if(!i)return d;let g=p(d),y=!s.test(g);if(d.options.forceShell||y){let m=c.test(g);d.command=n.normalize(d.command),d.command=o.command(d.command),d.args=d.args.map(E=>o.argument(E,m));let _=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${_}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}l(u,"a"),f(u,"ce");function h(d,g,y){g&&!Array.isArray(g)&&(y=g,g=null),g=g?g.slice(0):[],y=Object.assign({},y);let m={command:d,args:g,options:y,file:void 0,original:{command:d,args:g}};return y.shell?m:u(m)}l(h,"p"),f(h,"ue"),t.exports=h}),ct=k((e,t)=>{var n=process.platform==="win32";function r(s,c){return Object.assign(new Error(`${c} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${c} ${s.command}`,path:s.command,spawnargs:s.args})}l(r,"o"),f(r,"k");function o(s,c){if(!n)return;let p=s.emit;s.emit=function(u,h){if(u==="exit"){let d=a(h,c);if(d)return p.call(s,"error",d)}return p.apply(s,arguments)}}l(o,"i"),f(o,"ae");function a(s,c){return n&&s===1&&!c.file?r(c.original,"spawn"):null}l(a,"u"),f(a,"xt");function i(s,c){return n&&s===1&&!c.file?r(c.original,"spawnSync"):null}l(i,"d"),f(i,"le"),t.exports={hookChildProcess:o,verifyENOENT:a,verifyENOENTSync:i,notFoundError:r}}),lt=k((e,t)=>{var n=C("child_process"),r=it(),o=ct();function a(s,c,p){let u=r(s,c,p),h=n.spawn(u.command,u.args,u.options);return o.hookChildProcess(h,u),h}l(a,"u"),f(a,"_t");function i(s,c,p){let u=r(s,c,p),h=n.spawnSync(u.command,u.args,u.options);return h.error=h.error||o.verifyENOENTSync(h.status,u),h}l(i,"d"),f(i,"pe"),t.exports=a,t.exports.spawn=a,t.exports.sync=i,t.exports._parse=r,t.exports._enoent=o}),ut=/^path$/i,ae={key:"PATH",value:""};function we(e){for(let t in e){if(!Object.prototype.hasOwnProperty.call(e,t)||!ut.test(t))continue;let n=e[t];return n?{key:t,value:n}:ae}return ae}l(we,"hr");f(we,"jt");function ve(e,t){let n=t.value.split(q.delimiter),r=e,o;do n.push(q.resolve(r,"node_modules",".bin")),o=r,r=q.dirname(r);while(r!==o);return{key:t.key,value:n.join(q.delimiter)}}l(ve,"dr");f(ve,"Ft");function ke(e,t){let n={...process.env,...t},r=ve(e,we(n));return n[r.key]=r.value,n}l(ke,"fr");f(ke,"I");var pt=f(e=>{let t=e.length,n=new Te.PassThrough,r=f(()=>{--t===0&&n.emit("end")},"r");for(let o of e)o.pipe(n,{end:!1}),o.on("end",r);return n},"L"),ft=Xe(lt(),1),ie=class extends Error{static{l(this,"N")}static{f(this,"x")}result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(e,t){super(`Process exited with non-zero status (${e.exitCode})`),this.result=e,this.output=t}},dt={timeout:void 0,persist:!1},ht={windowsHide:!0};function _e(e,t){return{command:q.normalize(e),args:t??[]}}l(_e,"yr");f(_e,"we");function Ee(e){let t=new AbortController;for(let n of e){if(n.aborted)return t.abort(),n;let r=f(()=>{t.abort(n.reason)},"r");n.addEventListener("abort",r,{signal:t.signal})}return t.signal}l(Ee,"xr");f(Ee,"xe");var gt=class{static{l(this,"I")}static{f(this,"R")}_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,t,n){this._options={...dt,...n},this._command=e,this._args=t??[],this._processClosed=new Promise(r=>{this._resolveClose=r})}kill(e){return this._process?.kill(e)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(e,t,n){return yt(e,t,{...n,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let t=[];this._streamErr&&t.push(this._streamErr),this._streamOut&&t.push(this._streamOut);let n=pt(t),r=qe.createInterface({input:n});for await(let o of r)yield o.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ie(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let t="",n="";if(this._streamOut)for await(let o of this._streamOut)n+=o.toString();if(this._streamErr)for await(let o of this._streamErr)t+=o.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let r={stderr:t,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ie(this,r);return r}then(e,t){return this._waitForOutput().then(e,t)}_streamOut;_streamErr;spawn(){let e=Ne.cwd(),t=this._options,n={...ht,...t.nodeOptions},r=[];this._resetState(),t.timeout!==void 0&&r.push(AbortSignal.timeout(t.timeout)),t.signal!==void 0&&r.push(t.signal),t.persist===!0&&(n.detached=!0),r.length>0&&(n.signal=Ee(r)),n.env=ke(e,n.env);let{command:o,args:a}=_e(this._command,this._args),i=(0,ft._parse)(o,a,n),s=Ae.spawn(i.command,i.args,i.options);if(s.stderr&&(this._streamErr=s.stderr),s.stdout&&(this._streamOut=s.stdout),this._process=s,s.once("error",this._onError),s.once("close",this._onClose),t.stdin!==void 0&&s.stdin&&t.stdin.process){let{stdout:c}=t.stdin.process;c&&c.pipe(s.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(e=>{this._resolveClose=e}),this._thrownError=void 0}_onError=f(e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=e},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},G=f((e,t,n)=>{let r=new gt(e,t,n);return r.spawn(),r},"ve"),yt=G,mt=Object.defineProperty,Q=l((e,t)=>mt(e,"name",{value:t,configurable:!0}),"i");async function Z(e=F.cwd()){return(await de({cwd:e,onUnknown(t){console.warn("[@antfu/install-pkg] Unknown packageManager:",t)}}))?.agent||null}l(Z,"c$2");Q(Z,"detectPackageManager");async function be(e,t={}){const n=t.packageManager||await Z(t.cwd)||"npm",[r]=n.split("@");Array.isArray(e)||(e=[e]);const o=(typeof t.additionalArgs=="function"?t.additionalArgs(r,n):t.additionalArgs)||[];return t.preferOffline&&(n==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),r==="pnpm"&&(o.unshift("--prod=false"),B.existsSync(X.resolve(t.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),G(r,[r==="yarn"?"add":"install",t.dev?"-D":"",...o,...e].filter(Boolean),{nodeOptions:{stdio:t.silent?"ignore":"inherit",cwd:t.cwd},throwOnError:!0})}l(be,"p$1");Q(be,"installPackage");async function wt(e,t={}){const n=t.packageManager||await Z(t.cwd)||"npm",[r]=n.split("@");Array.isArray(e)||(e=[e]);const o=t.additionalArgs||[];return r==="pnpm"&&B.existsSync(X.resolve(t.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),G(r,[r==="yarn"?"remove":"uninstall",t.dev?"-D":"",...o,...e].filter(Boolean),{nodeOptions:{stdio:t.silent?"ignore":"inherit",cwd:t.cwd},throwOnError:!0})}l(wt,"h$1");Q(wt,"uninstallPackage");var vt=Object.defineProperty,w=l((e,t)=>vt(e,"name",{value:t,configurable:!0}),"s");const j=w(e=>{const t=typeof e;return e!==null&&(t==="object"||t==="function")},"isObject"),kt=w(e=>j(e)&&Object.keys(e).length===0,"isEmptyObject"),K=new Set(["__proto__","prototype","constructor"]),_t=new Set("0123456789");function U(e){const t=[];let n="",r="start",o=!1;for(const a of e)switch(a){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");o&&(n+=a),r="property",o=!o;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(o){o=!1,n+=a;break}if(K.has(n))return[];t.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(o){o=!1,n+=a;break}if(r==="property"){if(K.has(n))return[];t.push(n),n=""}r="index";break}case"]":{if(r==="index"){t.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!_t.has(a))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),o&&(o=!1,n+="\\"),n+=a}}switch(o&&(n+="\\"),r){case"property":{if(K.has(n))return[];t.push(n);break}case"index":throw new Error("Index was not closed");case"start":{t.push("");break}}return t}l(U,"d");w(U,"getPathSegments");function W(e,t){if(typeof t!="number"&&Array.isArray(e)){const n=Number.parseInt(t,10);return Number.isInteger(n)&&e[n]===e[t]}return!1}l(W,"l$1");w(W,"isStringIndex");function ee(e,t){if(W(e,t))throw new Error("Cannot use string index")}l(ee,"p");w(ee,"assertNotStringIndex");function S(e,t,n){if(!j(e)||typeof t!="string")return n===void 0?e:n;const r=U(t);if(r.length===0)return n;for(let o=0;o<r.length;o++){const a=r[o];if(W(e,a)?e=o===r.length-1?void 0:null:e=e[a],e==null){if(o!==r.length-1)return n;break}}return e===void 0?n:e}l(S,"getProperty");w(S,"getProperty");function Et(e,t,n){if(!j(e)||typeof t!="string")return e;const r=e,o=U(t);for(let a=0;a<o.length;a++){const i=o[a];ee(e,i),a===o.length-1?e[i]=n:j(e[i])||(e[i]=typeof o[a+1]=="number"?[]:{}),e=e[i]}return r}l(Et,"setProperty");w(Et,"setProperty");function bt(e,t){if(!j(e)||typeof t!="string")return!1;const n=U(t);for(let r=0;r<n.length;r++){const o=n[r];if(ee(e,o),r===n.length-1)return delete e[o],!0;if(e=e[o],!j(e))return!1}}l(bt,"deleteProperty");w(bt,"deleteProperty");function I(e,t){if(!j(e)||typeof t!="string")return!1;const n=U(t);if(n.length===0)return!1;for(const r of n){if(!j(e)||!(r in e)||W(e,r))return!1;e=e[r]}return!0}l(I,"hasProperty");w(I,"hasProperty");function xe(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replaceAll(/[\\.[]/g,"\\$&")}l(xe,"escapePath");w(xe,"escapePath");function te(e){const t=Object.entries(e);return Array.isArray(e)?t.map(([n,r])=>[Number(n),r]):t}l(te,"h");w(te,"entries");function Pe(e){let t="";for(let[n,r]of te(e))typeof r=="number"?t+=`[${r}]`:(r=xe(r),t+=n===0?r:`.${r}`);return t}l(Pe,"w");w(Pe,"stringifyPath");function*re(e,t=[]){if(!j(e)||kt(e)){t.length>0&&(yield Pe(t));return}for(const[n,r]of te(e))yield*re(r,[...t,n])}l(re,"y");w(re,"deepKeysIterator");function xt(e){return[...re(e)]}l(xt,"deepKeys");w(xt,"deepKeys");const Pt=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var $t=Object.defineProperty,x=l((e,t)=>$t(e,"name",{value:t,configurable:!0}),"c");const $e=new Map;class jt extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(t){super(`The following warnings were encountered while normalizing package data:
2
- - ${t.join(`
3
- - `)}`),this.name="PackageJsonValidationError"}}const ne=x((e,t,n=[])=>{const r=[];if(Ue(e,o=>{r.push(o)},t),t&&r.length>0){const o=r.filter(a=>!n.some(i=>i instanceof RegExp?i.test(a):i===a));if(o.length>0)throw new jt(o)}return e},"normalizeInput"),Ot=x(async(e,t={})=>{const n={type:"file"};e&&(n.cwd=e);const r=await N.findUp("package.json",n);if(!r)throw new ce.NotFoundError("No such file or directory, for package.json found.");const o=t.cache&&typeof t.cache!="boolean"?t.cache:$e;if(t.cache&&o.has(r))return o.get(r);const a=await N.readJson(r);ne(a,t.strict??!1,t.ignoreWarnings);const i={packageJson:a,path:r};return o.set(r,i),i},"findPackageJson"),St=x((e,t={})=>{const n={type:"file"};e&&(n.cwd=e);const r=N.findUpSync("package.json",n);if(!r)throw new ce.NotFoundError("No such file or directory, for package.json found.");const o=t.cache&&typeof t.cache!="boolean"?t.cache:$e;if(t.cache&&o.has(r))return o.get(r);const a=N.readJsonSync(r);ne(a,t.strict??!1,t.ignoreWarnings);const i={packageJson:a,path:r};return o.set(r,i),i},"findPackageJsonSync"),Ct=x(async(e,t={})=>{const{cwd:n,...r}=t,o=H.toPath(t.cwd??process.cwd());await N.writeJson(le.join(o,"package.json"),e,r)},"writePackageJson"),Jt=x((e,t={})=>{const{cwd:n,...r}=t,o=H.toPath(t.cwd??process.cwd());N.writeJsonSync(le.join(o,"package.json"),e,r)},"writePackageJsonSync"),At=x((e,t)=>{const n=e!==null&&typeof e=="object"&&!Array.isArray(e);if(!n&&typeof e!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");const r=n?structuredClone(e):B.existsSync(e)?N.readJsonSync(e):H.parseJson(e);return ne(r,t?.strict??!1,t?.ignoreWarnings),r},"parsePackageJson"),Nt=x((e,t,n)=>S(e,t,n),"getPackageJsonProperty"),Tt=x((e,t)=>I(e,t),"hasPackageJsonProperty"),Dt=x((e,t,n)=>{const r=S(e,"dependencies",{}),o=S(e,"devDependencies",{}),a=S(e,"peerDependencies",{}),i={...r,...o,...n?.peerDeps===!1?{}:a};for(const s of t)if(I(i,s))return!0;return!1},"hasPackageJsonAnyDependency"),It=x(async(e,t,n="dependencies",r={})=>{if(process.env.CI||Pt&&!process.stdout?.isTTY){console.warn("Skipping package installation because the process is not interactive.");return}const o=S(e,"dependencies",{}),a=S(e,"devDependencies",{}),i=S(e,"peerDependencies",{}),s=[],c={deps:!0,devDeps:!0,peerDeps:!1,...r};for(const p of t)c.deps&&I(o,p)||c.devDeps&&I(a,p)||c.peerDeps&&I(i,p)||s.push(p);if(s.length!==0){if(typeof c.confirm?.message=="function"&&(c.confirm.message=c.confirm.message(s)),c.confirm?.message===void 0){const p=`${s.length===1?"Package is":"Packages are"} required for this config: ${s.join(", ")}. Do you want to install them?`;c.confirm===void 0?c.confirm={message:p}:c.confirm.message=p}await Fe(c.confirm)&&await be(s,{...c.installPackage,cwd:c.cwd?H.toPath(c.cwd):void 0,dev:n==="devDependencies"})}},"ensurePackages");exports.ensurePackages=It;exports.findPackageJson=Ot;exports.findPackageJsonSync=St;exports.getPackageJsonProperty=Nt;exports.hasPackageJsonAnyDependency=Dt;exports.hasPackageJsonProperty=Tt;exports.parsePackageJson=At;exports.writePackageJson=Ct;exports.writePackageJsonSync=Jt;
1
+ "use strict";var Ae=Object.defineProperty;var l=(t,e)=>Ae(t,"name",{value:e,configurable:!0});Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const X=require("node:fs"),Je=require("node:process"),Ne=require("node:fs/promises"),G=require("node:path"),Ie=require("node:module"),Te=require("child_process"),q=require("path"),De=require("process"),Me=require("stream"),qe=require("readline"),Fe=require("@inquirer/confirm"),N=require("@visulima/fs"),ue=require("@visulima/fs/error"),H=require("@visulima/fs/utils"),pe=require("@visulima/path"),Ue=require("normalize-package-data");var K=typeof document<"u"?document.currentScript:null;const M=l(t=>t&&typeof t=="object"&&"default"in t?t.default:t,"_interopDefaultCompat"),F=M(Je),fe=M(Ne),O=M(G),We=M(qe),Le=M(Fe),He=M(Ue),de=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],ie={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},ae={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};var Re=Object.defineProperty,$=l((t,e)=>Re(t,"name",{value:e,configurable:!0}),"i$1");async function L(t,e){try{const r=await fe.stat(t);return e==="file"?r.isFile():r.isDirectory()}catch{return!1}}l(L,"g$2");$(L,"pathExists");function Ve(){const t=F.env.npm_config_user_agent;if(!t)return null;const e=t.split("/")[0];return de.includes(e)?e:null}l(Ve,"M$1");$(Ve,"getUserAgent");function*he(t=F.cwd()){let e=O.resolve(t);const{root:r}=O.parse(e);for(;e&&e!==r;)yield e,e=O.dirname(e)}l(he,"h$2");$(he,"lookup");async function B(t,e){return!t||!L(t,"file")?null:await me(t,e)}l(B,"m$1");$(B,"parsePackageJson");async function ge(t={}){const{cwd:e,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:n}=t;let o;if(typeof t.stopDir=="string"){const s=O.resolve(t.stopDir);o=$(c=>c===s,"stopDir")}else o=t.stopDir;for(const s of he(e)){for(const c of r)switch(c){case"lockfile":{for(const i of Object.keys(ie))if(await L(O.join(s,i),"file")){const a=ie[i];return await B(O.join(s,"package.json"),n)||{name:a,agent:a}}break}case"packageManager-field":case"devEngines-field":{const i=await B(O.join(s,"package.json"),n);if(i)return i;break}case"install-metadata":{for(const i of Object.keys(ae)){const a=i.endsWith("/")?"dir":"file";if(await L(O.join(s,i),a)){const u=ae[i],p=u==="yarn"?we(i)?"yarn":"yarn@berry":u;return{name:u,agent:p}}}break}}if(o?.(s))break}return null}l(ge,"A$1");$(ge,"detect");function ye(t){const e=$(r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r,"handelVer");if(typeof t.packageManager=="string"){const[r,n]=t.packageManager.replace(/^\^/,"").split("@");return{name:r,ver:e(n)}}if(typeof t.devEngines?.packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}l(ye,"j$1");$(ye,"getNameAndVer");async function me(t,e){try{const r=JSON.parse(await fe.readFile(t,"utf8"));let n;const o=ye(r);if(o){const s=o.name,c=o.ver;let i=c;return s==="yarn"&&c&&Number.parseInt(c)>1?(n="yarn@berry",i="berry",{name:s,agent:n,version:i}):s==="pnpm"&&c&&Number.parseInt(c)<7?(n="pnpm@6",{name:s,agent:n,version:i}):de.includes(s)?(n=s,{name:s,agent:n,version:i}):e?.(r.packageManager)??null}}catch{}return null}l(me,"E$2");$(me,"handlePackageManager");function we(t){return t.endsWith(".yarn_integrity")}l(we,"D$1");$(we,"isMetadataYarnClassic");var ze=Object.defineProperty,f=l((t,e)=>ze(t,"name",{value:e,configurable:!0}),"l$1");const T=Ie.createRequire(typeof document>"u"?require("url").pathToFileURL(__filename).href:K&&K.tagName.toUpperCase()==="SCRIPT"&&K.src||new URL("package-json.cjs",document.baseURI).href);var Ke=Object.create,ve=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Be=Object.getOwnPropertyNames,Xe=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty,C=(t=>typeof T<"u"?T:typeof Proxy<"u"?new Proxy(t,{get:f((e,r)=>(typeof T<"u"?T:e)[r],"get")}):t)(function(t){if(typeof T<"u")return T.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),k=f((t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),"l"),Qe=f((t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Be(e))!Ge.call(t,o)&&o!==r&&ve(t,o,{get:f(()=>e[o],"get"),enumerable:!(n=Ye(e,o))||n.enumerable});return t},"$t"),Ze=f((t,e,r)=>(r=t!=null?Ke(Xe(t)):{},Qe(e||!t||!t.__esModule?ve(r,"default",{value:t,enumerable:!0}):r,t)),"Nt"),et=k((t,e)=>{e.exports=s,s.sync=c;var r=C("fs");function n(i,a){var u=a.pathExt!==void 0?a.pathExt:process.env.PATHEXT;if(!u||(u=u.split(";"),u.indexOf("")!==-1))return!0;for(var p=0;p<u.length;p++){var h=u[p].toLowerCase();if(h&&i.substr(-h.length).toLowerCase()===h)return!0}return!1}l(n,"o"),f(n,"Ht");function o(i,a,u){return!i.isSymbolicLink()&&!i.isFile()?!1:n(a,u)}l(o,"i"),f(o,"F");function s(i,a,u){r.stat(i,function(p,h){u(p,p?!1:o(h,i,a))})}l(s,"u"),f(s,"z");function c(i,a){return o(r.statSync(i),i,a)}l(c,"d"),f(c,"Wt")}),tt=k((t,e)=>{e.exports=n,n.sync=o;var r=C("fs");function n(i,a,u){r.stat(i,function(p,h){u(p,p?!1:s(h,a))})}l(n,"o"),f(n,"K");function o(i,a){return s(r.statSync(i),a)}l(o,"i"),f(o,"Dt");function s(i,a){return i.isFile()&&c(i,a)}l(s,"u"),f(s,"M");function c(i,a){var u=i.mode,p=i.uid,h=i.gid,d=a.uid!==void 0?a.uid:process.getuid&&process.getuid(),g=a.gid!==void 0?a.gid:process.getgid&&process.getgid(),y=parseInt("100",8),m=parseInt("010",8),_=parseInt("001",8),E=y|m,A=u&_||u&m&&h===g||u&y&&p===d||u&E&&d===0;return A}l(c,"d"),f(c,"Kt")}),rt=k((t,e)=>{C("fs");var r;process.platform==="win32"||global.TESTING_WINDOWS?r=et():r=tt(),e.exports=n,n.sync=o;function n(s,c,i){if(typeof c=="function"&&(i=c,c={}),!i){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,u){n(s,c||{},function(p,h){p?u(p):a(h)})})}r(s,c||{},function(a,u){a&&(a.code==="EACCES"||c&&c.ignoreErrors)&&(a=null,u=!1),i(a,u)})}l(n,"i"),f(n,"y");function o(s,c){try{return r.sync(s,c||{})}catch(i){if(c&&c.ignoreErrors||i.code==="EACCES")return!1;throw i}}l(o,"u"),f(o,"Mt")}),nt=k((t,e)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",n=C("path"),o=r?";":":",s=rt(),c=f(p=>Object.assign(new Error(`not found: ${p}`),{code:"ENOENT"}),"J"),i=f((p,h)=>{let d=h.colon||o,g=p.match(/\//)||r&&p.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],y=r?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",m=r?y.split(d):[""];return r&&p.indexOf(".")!==-1&&m[0]!==""&&m.unshift(""),{pathEnv:g,pathExt:m,pathExtExe:y}},"Q"),a=f((p,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:y,pathExtExe:m}=i(p,h),_=[],E=f(v=>new Promise((J,j)=>{if(v===g.length)return h.all&&_.length?J(_):j(c(p));let b=g[v],V=/^".*"$/.test(b)?b.slice(1,-1):b,I=n.join(V,p),z=!V&&/^\.[\\\/]/.test(p)?p.slice(0,2)+I:I;J(A(z,v,0))}),"a"),A=f((v,J,j)=>new Promise((b,V)=>{if(j===y.length)return b(E(J+1));let I=y[j];s(v+I,{pathExt:m},(z,Ce)=>{if(!z&&Ce)if(h.all)_.push(v+I);else return b(v+I);return b(A(v,J,j+1))})}),"c");return d?E(0).then(v=>d(null,v),d):E(0)},"Z"),u=f((p,h)=>{h=h||{};let{pathEnv:d,pathExt:g,pathExtExe:y}=i(p,h),m=[];for(let _=0;_<d.length;_++){let E=d[_],A=/^".*"$/.test(E)?E.slice(1,-1):E,v=n.join(A,p),J=!A&&/^\.[\\\/]/.test(p)?p.slice(0,2)+v:v;for(let j=0;j<g.length;j++){let b=J+g[j];try{if(s.sync(b,{pathExt:y}))if(h.all)m.push(b);else return b}catch{}}}if(h.all&&m.length)return m;if(h.nothrow)return null;throw c(p)},"Xt");e.exports=a,a.sync=u}),ot=k((t,e)=>{var r=f((n={})=>{let o=n.env||process.env;return(n.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"},"nt");e.exports=r,e.exports.default=r}),st=k((t,e)=>{var r=C("path"),n=nt(),o=ot();function s(i,a){let u=i.options.env||process.env,p=process.cwd(),h=i.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(i.options.cwd)}catch{}let g;try{g=n.sync(i.command,{path:u[o({env:u})],pathExt:a?r.delimiter:void 0})}catch{}finally{d&&process.chdir(p)}return g&&(g=r.resolve(h?i.options.cwd:"",g)),g}l(s,"u"),f(s,"ot");function c(i){return s(i)||s(i,!0)}l(c,"d"),f(c,"Yt"),e.exports=c}),it=k((t,e)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function n(s){return s=s.replace(r,"^$1"),s}l(n,"o"),f(n,"Vt");function o(s,c){return s=`${s}`,s=s.replace(/(\\*)"/g,'$1$1\\"'),s=s.replace(/(\\*)$/,"$1$1"),s=`"${s}"`,s=s.replace(r,"^$1"),c&&(s=s.replace(r,"^$1")),s}l(o,"i"),f(o,"Jt"),e.exports.command=n,e.exports.argument=o}),at=k((t,e)=>{e.exports=/^#!(.*)/}),ct=k((t,e)=>{var r=at();e.exports=(n="")=>{let o=n.match(r);if(!o)return null;let[s,c]=o[0].replace(/#! ?/,"").split(" "),i=s.split("/").pop();return i==="env"?c:c?`${i} ${c}`:i}}),lt=k((t,e)=>{var r=C("fs"),n=ct();function o(s){let c=Buffer.alloc(150),i;try{i=r.openSync(s,"r"),r.readSync(i,c,0,150,0),r.closeSync(i)}catch{}return n(c.toString())}l(o,"i"),f(o,"te"),e.exports=o}),ut=k((t,e)=>{var r=C("path"),n=st(),o=it(),s=lt(),c=process.platform==="win32",i=/\.(?:com|exe)$/i,a=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u(d){d.file=n(d);let g=d.file&&s(d.file);return g?(d.args.unshift(d.file),d.command=g,n(d)):d.file}l(u,"h"),f(u,"ie");function p(d){if(!c)return d;let g=u(d),y=!i.test(g);if(d.options.forceShell||y){let m=a.test(g);d.command=r.normalize(d.command),d.command=o.command(d.command),d.args=d.args.map(E=>o.argument(E,m));let _=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${_}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}l(p,"a"),f(p,"ce");function h(d,g,y){g&&!Array.isArray(g)&&(y=g,g=null),g=g?g.slice(0):[],y=Object.assign({},y);let m={command:d,args:g,options:y,file:void 0,original:{command:d,args:g}};return y.shell?m:p(m)}l(h,"p"),f(h,"ue"),e.exports=h}),pt=k((t,e)=>{var r=process.platform==="win32";function n(i,a){return Object.assign(new Error(`${a} ${i.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${a} ${i.command}`,path:i.command,spawnargs:i.args})}l(n,"o"),f(n,"k");function o(i,a){if(!r)return;let u=i.emit;i.emit=function(p,h){if(p==="exit"){let d=s(h,a);if(d)return u.call(i,"error",d)}return u.apply(i,arguments)}}l(o,"i"),f(o,"ae");function s(i,a){return r&&i===1&&!a.file?n(a.original,"spawn"):null}l(s,"u"),f(s,"xt");function c(i,a){return r&&i===1&&!a.file?n(a.original,"spawnSync"):null}l(c,"d"),f(c,"le"),e.exports={hookChildProcess:o,verifyENOENT:s,verifyENOENTSync:c,notFoundError:n}}),ft=k((t,e)=>{var r=C("child_process"),n=ut(),o=pt();function s(i,a,u){let p=n(i,a,u),h=r.spawn(p.command,p.args,p.options);return o.hookChildProcess(h,p),h}l(s,"u"),f(s,"_t");function c(i,a,u){let p=n(i,a,u),h=r.spawnSync(p.command,p.args,p.options);return h.error=h.error||o.verifyENOENTSync(h.status,p),h}l(c,"d"),f(c,"pe"),e.exports=s,e.exports.spawn=s,e.exports.sync=c,e.exports._parse=n,e.exports._enoent=o}),dt=/^path$/i,ce={key:"PATH",value:""};function ke(t){for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||!dt.test(e))continue;let r=t[e];return r?{key:e,value:r}:ce}return ce}l(ke,"hr");f(ke,"jt");function _e(t,e){let r=e.value.split(q.delimiter),n=t,o;do r.push(q.resolve(n,"node_modules",".bin")),o=n,n=q.dirname(n);while(n!==o);return{key:e.key,value:r.join(q.delimiter)}}l(_e,"dr");f(_e,"Ft");function Ee(t,e){let r={...process.env,...e},n=_e(t,ke(r));return r[n.key]=n.value,r}l(Ee,"fr");f(Ee,"I");var ht=f(t=>{let e=t.length,r=new Me.PassThrough,n=f(()=>{--e===0&&r.emit("end")},"r");for(let o of t)o.pipe(r,{end:!1}),o.on("end",n);return r},"L"),gt=Ze(ft(),1),le=class extends Error{static{l(this,"N")}static{f(this,"x")}result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(t,e){super(`Process exited with non-zero status (${t.exitCode})`),this.result=t,this.output=e}},yt={timeout:void 0,persist:!1},mt={windowsHide:!0};function be(t,e){return{command:q.normalize(t),args:e??[]}}l(be,"yr");f(be,"we");function xe(t){let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(),r;let n=f(()=>{e.abort(r.reason)},"r");r.addEventListener("abort",n,{signal:e.signal})}return e.signal}l(xe,"xr");f(xe,"xe");var wt=class{static{l(this,"I")}static{f(this,"R")}_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,r,n){this._options={...yt,...n},this._command=e,this._args=r??[],this._processClosed=new Promise(o=>{this._resolveClose=o})}kill(e){return this._process?.kill(e)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(e,r,n){return vt(e,r,{...n,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let r=[];this._streamErr&&r.push(this._streamErr),this._streamOut&&r.push(this._streamOut);let n=ht(r),o=We.createInterface({input:n});for await(let s of o)yield s.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new le(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let r="",n="";if(this._streamOut)for await(let s of this._streamOut)n+=s.toString();if(this._streamErr)for await(let s of this._streamErr)r+=s.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let o={stderr:r,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new le(this,o);return o}then(e,r){return this._waitForOutput().then(e,r)}_streamOut;_streamErr;spawn(){let e=De.cwd(),r=this._options,n={...mt,...r.nodeOptions},o=[];this._resetState(),r.timeout!==void 0&&o.push(AbortSignal.timeout(r.timeout)),r.signal!==void 0&&o.push(r.signal),r.persist===!0&&(n.detached=!0),o.length>0&&(n.signal=xe(o)),n.env=Ee(e,n.env);let{command:s,args:c}=be(this._command,this._args),i=(0,gt._parse)(s,c,n),a=Te.spawn(i.command,i.args,i.options);if(a.stderr&&(this._streamErr=a.stderr),a.stdout&&(this._streamOut=a.stdout),this._process=a,a.once("error",this._onError),a.once("close",this._onClose),r.stdin!==void 0&&a.stdin&&r.stdin.process){let{stdout:u}=r.stdin.process;u&&u.pipe(a.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(e=>{this._resolveClose=e}),this._thrownError=void 0}_onError=f(e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=e},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},Q=f((t,e,r)=>{let n=new wt(t,e,r);return n.spawn(),n},"ve"),vt=Q,kt=Object.defineProperty,Z=l((t,e)=>kt(t,"name",{value:e,configurable:!0}),"i");async function ee(t=F.cwd()){return(await ge({cwd:t,onUnknown(e){console.warn("[@antfu/install-pkg] Unknown packageManager:",e)}}))?.agent||null}l(ee,"c$2");Z(ee,"detectPackageManager");async function Pe(t,e={}){const r=e.packageManager||await ee(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=(typeof e.additionalArgs=="function"?e.additionalArgs(n,r):e.additionalArgs)||[];return e.preferOffline&&(r==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),n==="pnpm"&&(o.unshift("--prod=false"),X.existsSync(G.resolve(e.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),Q(n,[n==="yarn"?"add":"install",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(Pe,"p");Z(Pe,"installPackage");async function _t(t,e={}){const r=e.packageManager||await ee(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=e.additionalArgs||[];return n==="pnpm"&&X.existsSync(G.resolve(e.cwd??F.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),Q(n,[n==="yarn"?"remove":"uninstall",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(_t,"h$1");Z(_t,"uninstallPackage");var Et=Object.defineProperty,w=l((t,e)=>Et(t,"name",{value:e,configurable:!0}),"f");const P=w(t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},"isObject"),bt=w(t=>P(t)&&Object.keys(t).length===0,"isEmptyObject"),Y=new Set(["__proto__","prototype","constructor"]),xt=new Set("0123456789");function te(t){return typeof t=="string"&&/^\d+$/.test(t)&&Number.parseInt(t,10)>=0&&(t==="0"||!t.startsWith("0"))}l(te,"h");w(te,"isValidArrayIndex");function U(t,e,r){return r>0&&typeof t=="string"&&Array.isArray(e)&&te(t)?Number.parseInt(t,10):t}l(U,"u");w(U,"normalizeKey");function W(t){const e=[];let r="",n="start",o=!1;for(const s of t)switch(s){case"\\":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");o&&(r+=s),n="property",o=!o;break}case".":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="property";break}if(o){o=!1,r+=s;break}if(Y.has(r))return[];e.push(r),r="",n="property";break}case"[":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="index";break}if(o){o=!1,r+=s;break}if(n==="property"){if(Y.has(r))return[];e.push(r),r=""}n="index";break}case"]":{if(n==="index"){e.push(Number.parseInt(r,10)),r="",n="indexEnd";break}if(n==="indexEnd")throw new Error("Invalid character after an index")}default:{if(n==="index"&&!xt.has(s))throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");n==="start"&&(n="property"),o&&(o=!1,r+="\\"),r+=s}}switch(o&&(r+="\\"),n){case"property":{if(Y.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}l(W,"l");w(W,"getPathSegments");function R(t,e){if(!Array.isArray(t)||typeof e=="number")return!1;const r=Number.parseInt(e,10);return Number.isInteger(r)&&String(r)===e}l(R,"c$1");w(R,"isStringIndex");function re(t,e){if(R(t,e))throw new Error("Cannot use string index")}l(re,"x");w(re,"assertNotStringIndex");function S(t,e,r){if(!P(t)||typeof e!="string")return r===void 0?t:r;const n=W(e);if(n.length===0)return r;for(let o=0;o<n.length;o++){const s=n[o],c=U(s,t,o);if(c===s&&R(t,s)?t=o===n.length-1?void 0:null:t=t[c],t==null){if(o!==n.length-1)return r;break}}return t===void 0?r:t}l(S,"getProperty");w(S,"getProperty");function $e(t,e,r){if(!P(t)||typeof e!="string")return t;const n=t,o=W(e);for(let s=0;s<o.length;s++){const c=o[s],i=U(c,t,s);if(i===c&&re(t,c),s===o.length-1)t[i]=r;else if(!P(t[i])){const a=o[s+1],u=typeof a=="number"||typeof a=="string"&&te(a);t[i]=u?[]:{}}t=t[i]}return n}l($e,"setProperty");w($e,"setProperty");function Pt(t,e){if(!P(t)||typeof e!="string")return!1;const r=W(e);for(let n=0;n<r.length;n++){const o=r[n],s=U(o,t,n);if(s===o&&re(t,o),n===r.length-1)return Object.hasOwn(t,s)?(delete t[s],!0):!1;if(t=t[s],!P(t))return!1}}l(Pt,"deleteProperty");w(Pt,"deleteProperty");function D(t,e){if(!P(t)||typeof e!="string")return!1;const r=W(e);if(r.length===0)return!1;for(const[n,o]of r.entries()){const s=U(o,t,n),c=s===o&&R(t,o);if(!P(t)||!(s in t)||c)return!1;t=t[s]}return!0}l(D,"hasProperty");w(D,"hasProperty");function je(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replaceAll(/[\\.[]/g,String.raw`\$&`)}l(je,"escapePath");w(je,"escapePath");function ne(t){const e=Object.entries(t);return Array.isArray(t)?e.map(([r,n])=>[Number(r),n]):e}l(ne,"g");w(ne,"entries");function Oe(t){let e="";for(let[r,n]of ne(t))typeof n=="number"?e+=`[${n}]`:(n=je(n),e+=r===0?n:`.${n}`);return e}l(Oe,"A");w(Oe,"stringifyPath");function*oe(t,e=[]){if(!P(t)||bt(t)){e.length>0&&(yield Oe(e));return}for(const[r,n]of ne(t))yield*oe(n,[...e,r])}l(oe,"w$1");w(oe,"deepKeysIterator");function $t(t){return[...oe(t)]}l($t,"deepKeys");w($t,"deepKeys");function jt(t){const e={};if(!P(t))return e;for(const[r,n]of Object.entries(t))$e(e,r,n);return e}l(jt,"unflatten");w(jt,"unflatten");const Ot=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var St=Object.defineProperty,x=l((t,e)=>St(t,"name",{value:e,configurable:!0}),"c");const Se=new Map;class Ct extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(e){super(`The following warnings were encountered while normalizing package data:
2
+ - ${e.join(`
3
+ - `)}`),this.name="PackageJsonValidationError"}}const se=x((t,e,r=[])=>{const n=[];if(He(t,o=>{n.push(o)},e),e&&n.length>0){const o=n.filter(s=>!r.some(c=>c instanceof RegExp?c.test(s):c===s));if(o.length>0)throw new Ct(o)}return t},"normalizeInput"),At=x(async(t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=await N.findUp("package.json",r);if(!n)throw new ue.NotFoundError("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Se;if(e.cache&&o.has(n))return o.get(n);const s=await N.readJson(n);se(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJson"),Jt=x((t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=N.findUpSync("package.json",r);if(!n)throw new ue.NotFoundError("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Se;if(e.cache&&o.has(n))return o.get(n);const s=N.readJsonSync(n);se(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJsonSync"),Nt=x(async(t,e={})=>{const{cwd:r,...n}=e,o=H.toPath(e.cwd??process.cwd());await N.writeJson(pe.join(o,"package.json"),t,n)},"writePackageJson"),It=x((t,e={})=>{const{cwd:r,...n}=e,o=H.toPath(e.cwd??process.cwd());N.writeJsonSync(pe.join(o,"package.json"),t,n)},"writePackageJsonSync"),Tt=x((t,e)=>{const r=t!==null&&typeof t=="object"&&!Array.isArray(t);if(!r&&typeof t!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");let n;return r?n=structuredClone(t):X.existsSync(t)?n=N.readJsonSync(t):n=H.parseJson(t),se(n,e?.strict??!1,e?.ignoreWarnings),n},"parsePackageJson"),Dt=x((t,e,r)=>S(t,e,r),"getPackageJsonProperty"),Mt=x((t,e)=>D(t,e),"hasPackageJsonProperty"),qt=x((t,e,r)=>{const n=S(t,"dependencies",{}),o=S(t,"devDependencies",{}),s=S(t,"peerDependencies",{}),c={...n,...o,...r?.peerDeps===!1?{}:s};for(const i of e)if(D(c,i))return!0;return!1},"hasPackageJsonAnyDependency"),Ft=x(async(t,e,r="dependencies",n={})=>{const o=S(t,"dependencies",{}),s=S(t,"devDependencies",{}),c=S(t,"peerDependencies",{}),i=[],a={deps:!0,devDeps:!0,peerDeps:!1,...n};for(const u of e)a.deps&&D(o,u)||a.devDeps&&D(s,u)||a.peerDeps&&D(c,u)||i.push(u);if(i.length!==0){if(process.env.CI||Ot&&!process.stdout?.isTTY){const u=`Skipping package installation for [${e.join(", ")}] because the process is not interactive.`;if(n.throwOnWarn)throw new Error(u);n.logger?.warn?n.logger.warn(u):console.warn(u);return}if(typeof a.confirm?.message=="function"&&(a.confirm.message=a.confirm.message(i)),a.confirm?.message===void 0){const u=`${i.length===1?"Package is":"Packages are"} required for this config: ${i.join(", ")}. Do you want to install them?`;a.confirm===void 0?a.confirm={message:u}:a.confirm.message=u}await Le(a.confirm)&&await Pe(i,{...a.installPackage,cwd:a.cwd?H.toPath(a.cwd):void 0,dev:r==="devDependencies"})}},"ensurePackages");exports.ensurePackages=Ft;exports.findPackageJson=At;exports.findPackageJsonSync=Jt;exports.getPackageJsonProperty=Dt;exports.hasPackageJsonAnyDependency=qt;exports.hasPackageJsonProperty=Mt;exports.parsePackageJson=Tt;exports.writePackageJson=Nt;exports.writePackageJsonSync=It;
@@ -1,3 +1,3 @@
1
1
  import '@visulima/fs';
2
- export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-BCAHuiQ6.cjs';
2
+ export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DoazDpIb.cjs';
3
3
  import 'normalize-package-data';
@@ -1,3 +1,3 @@
1
1
  import '@visulima/fs';
2
- export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-BCAHuiQ6.mjs';
2
+ export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DoazDpIb.mjs';
3
3
  import 'normalize-package-data';
@@ -1,3 +1,3 @@
1
1
  import '@visulima/fs';
2
- export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-BCAHuiQ6.js';
2
+ export { F as FindPackageJsonCache, N as NormalizedReadResult, e as ensurePackages, f as findPackageJson, a as findPackageJsonSync, g as getPackageJsonProperty, h as hasPackageJsonAnyDependency, b as hasPackageJsonProperty, p as parsePackageJson, w as writePackageJson, c as writePackageJsonSync } from './packem_shared/package-json-DoazDpIb.js';
3
3
  import 'normalize-package-data';
@@ -1,3 +1,3 @@
1
- var $e=Object.defineProperty;var l=(t,e)=>$e(t,"name",{value:e,configurable:!0});import{existsSync as z}from"node:fs";import I from"node:process";import oe from"node:fs/promises";import j,{resolve as se}from"node:path";import{createRequire as Oe}from"node:module";import{spawn as je}from"child_process";import{delimiter as Z,resolve as Ce,dirname as Se,normalize as Ae}from"path";import{cwd as Ne}from"process";import{PassThrough as Je}from"stream";import Te from"readline";import De from"@inquirer/confirm";import{readJsonSync as ie,findUp as Ie,readJson as Me,findUpSync as Fe,writeJson as He,writeJsonSync as We}from"@visulima/fs";import{NotFoundError as ae}from"@visulima/fs/error";import{parseJson as Le,toPath as K}from"@visulima/fs/utils";import{join as ce}from"@visulima/path";import Ue from"normalize-package-data";const le=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],ee={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},te={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};var Ve=Object.defineProperty,P=l((t,e)=>Ve(t,"name",{value:e,configurable:!0}),"i$1");async function F(t,e){try{const n=await oe.stat(t);return e==="file"?n.isFile():n.isDirectory()}catch{return!1}}l(F,"g$2");P(F,"pathExists");function ze(){const t=I.env.npm_config_user_agent;if(!t)return null;const e=t.split("/")[0];return le.includes(e)?e:null}l(ze,"M$1");P(ze,"getUserAgent");function*pe(t=I.cwd()){let e=j.resolve(t);const{root:n}=j.parse(e);for(;e&&e!==n;)yield e,e=j.dirname(e)}l(pe,"h$2");P(pe,"lookup");async function V(t,e){return!t||!F(t,"file")?null:await de(t,e)}l(V,"m");P(V,"parsePackageJson");async function ue(t={}){const{cwd:e,strategies:n=["lockfile","packageManager-field","devEngines-field"],onUnknown:r}=t;let o;if(typeof t.stopDir=="string"){const i=j.resolve(t.stopDir);o=P(a=>a===i,"stopDir")}else o=t.stopDir;for(const i of pe(e)){for(const a of n)switch(a){case"lockfile":{for(const s of Object.keys(ee))if(await F(j.join(i,s),"file")){const c=ee[s];return await V(j.join(i,"package.json"),r)||{name:c,agent:c}}break}case"packageManager-field":case"devEngines-field":{const s=await V(j.join(i,"package.json"),r);if(s)return s;break}case"install-metadata":{for(const s of Object.keys(te)){const c=s.endsWith("/")?"dir":"file";if(await F(j.join(i,s),c)){const u=te[s],p=u==="yarn"?he(s)?"yarn":"yarn@berry":u;return{name:u,agent:p}}}break}}if(o?.(i))break}return null}l(ue,"A");P(ue,"detect");function fe(t){const e=P(n=>n?.match(/\d+(\.\d+){0,2}/)?.[0]??n,"handelVer");if(typeof t.packageManager=="string"){const[n,r]=t.packageManager.replace(/^\^/,"").split("@");return{name:n,ver:e(r)}}if(typeof t.devEngines?.packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}l(fe,"j$1");P(fe,"getNameAndVer");async function de(t,e){try{const n=JSON.parse(await oe.readFile(t,"utf8"));let r;const o=fe(n);if(o){const i=o.name,a=o.ver;let s=a;return i==="yarn"&&a&&Number.parseInt(a)>1?(r="yarn@berry",s="berry",{name:i,agent:r,version:s}):i==="pnpm"&&a&&Number.parseInt(a)<7?(r="pnpm@6",{name:i,agent:r,version:s}):le.includes(i)?(r=i,{name:i,agent:r,version:s}):e?.(n.packageManager)??null}}catch{}return null}l(de,"E$1");P(de,"handlePackageManager");function he(t){return t.endsWith(".yarn_integrity")}l(he,"D$1");P(he,"isMetadataYarnClassic");var Ke=Object.defineProperty,f=l((t,e)=>Ke(t,"name",{value:e,configurable:!0}),"l$2");const T=Oe(import.meta.url);var Ye=Object.create,ge=Object.defineProperty,Be=Object.getOwnPropertyDescriptor,Xe=Object.getOwnPropertyNames,qe=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty,S=(t=>typeof T<"u"?T:typeof Proxy<"u"?new Proxy(t,{get:f((e,n)=>(typeof T<"u"?T:e)[n],"get")}):t)(function(t){if(typeof T<"u")return T.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),E=f((t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),"l"),Ge=f((t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Xe(e))!Re.call(t,o)&&o!==n&&ge(t,o,{get:f(()=>e[o],"get"),enumerable:!(r=Be(e,o))||r.enumerable});return t},"$t"),Qe=f((t,e,n)=>(n=t!=null?Ye(qe(t)):{},Ge(e||!t||!t.__esModule?ge(n,"default",{value:t,enumerable:!0}):n,t)),"Nt"),Ze=E((t,e)=>{e.exports=i,i.sync=a;var n=S("fs");function r(s,c){var u=c.pathExt!==void 0?c.pathExt:process.env.PATHEXT;if(!u||(u=u.split(";"),u.indexOf("")!==-1))return!0;for(var p=0;p<u.length;p++){var h=u[p].toLowerCase();if(h&&s.substr(-h.length).toLowerCase()===h)return!0}return!1}l(r,"o"),f(r,"Ht");function o(s,c,u){return!s.isSymbolicLink()&&!s.isFile()?!1:r(c,u)}l(o,"i"),f(o,"F");function i(s,c,u){n.stat(s,function(p,h){u(p,p?!1:o(h,s,c))})}l(i,"u"),f(i,"z");function a(s,c){return o(n.statSync(s),s,c)}l(a,"d"),f(a,"Wt")}),et=E((t,e)=>{e.exports=r,r.sync=o;var n=S("fs");function r(s,c,u){n.stat(s,function(p,h){u(p,p?!1:i(h,c))})}l(r,"o"),f(r,"K");function o(s,c){return i(n.statSync(s),c)}l(o,"i"),f(o,"Dt");function i(s,c){return s.isFile()&&a(s,c)}l(i,"u"),f(i,"M");function a(s,c){var u=s.mode,p=s.uid,h=s.gid,d=c.uid!==void 0?c.uid:process.getuid&&process.getuid(),g=c.gid!==void 0?c.gid:process.getgid&&process.getgid(),m=parseInt("100",8),y=parseInt("010",8),k=parseInt("001",8),b=m|y,A=u&k||u&y&&h===g||u&m&&p===d||u&b&&d===0;return A}l(a,"d"),f(a,"Kt")}),tt=E((t,e)=>{S("fs");var n;process.platform==="win32"||global.TESTING_WINDOWS?n=Ze():n=et(),e.exports=r,r.sync=o;function r(i,a,s){if(typeof a=="function"&&(s=a,a={}),!s){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(c,u){r(i,a||{},function(p,h){p?u(p):c(h)})})}n(i,a||{},function(c,u){c&&(c.code==="EACCES"||a&&a.ignoreErrors)&&(c=null,u=!1),s(c,u)})}l(r,"i"),f(r,"y");function o(i,a){try{return n.sync(i,a||{})}catch(s){if(a&&a.ignoreErrors||s.code==="EACCES")return!1;throw s}}l(o,"u"),f(o,"Mt")}),rt=E((t,e)=>{var n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",r=S("path"),o=n?";":":",i=tt(),a=f(p=>Object.assign(new Error(`not found: ${p}`),{code:"ENOENT"}),"J"),s=f((p,h)=>{let d=h.colon||o,g=p.match(/\//)||n&&p.match(/\\/)?[""]:[...n?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],m=n?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",y=n?m.split(d):[""];return n&&p.indexOf(".")!==-1&&y[0]!==""&&y.unshift(""),{pathEnv:g,pathExt:y,pathExtExe:m}},"Q"),c=f((p,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:m,pathExtExe:y}=s(p,h),k=[],b=f(v=>new Promise((N,$)=>{if(v===g.length)return h.all&&k.length?N(k):$(a(p));let _=g[v],W=/^".*"$/.test(_)?_.slice(1,-1):_,J=r.join(W,p),L=!W&&/^\.[\\\/]/.test(p)?p.slice(0,2)+J:J;N(A(L,v,0))}),"a"),A=f((v,N,$)=>new Promise((_,W)=>{if($===m.length)return _(b(N+1));let J=m[$];i(v+J,{pathExt:y},(L,Pe)=>{if(!L&&Pe)if(h.all)k.push(v+J);else return _(v+J);return _(A(v,N,$+1))})}),"c");return d?b(0).then(v=>d(null,v),d):b(0)},"Z"),u=f((p,h)=>{h=h||{};let{pathEnv:d,pathExt:g,pathExtExe:m}=s(p,h),y=[];for(let k=0;k<d.length;k++){let b=d[k],A=/^".*"$/.test(b)?b.slice(1,-1):b,v=r.join(A,p),N=!A&&/^\.[\\\/]/.test(p)?p.slice(0,2)+v:v;for(let $=0;$<g.length;$++){let _=N+g[$];try{if(i.sync(_,{pathExt:m}))if(h.all)y.push(_);else return _}catch{}}}if(h.all&&y.length)return y;if(h.nothrow)return null;throw a(p)},"Xt");e.exports=c,c.sync=u}),nt=E((t,e)=>{var n=f((r={})=>{let o=r.env||process.env;return(r.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(i=>i.toUpperCase()==="PATH")||"Path"},"nt");e.exports=n,e.exports.default=n}),ot=E((t,e)=>{var n=S("path"),r=rt(),o=nt();function i(s,c){let u=s.options.env||process.env,p=process.cwd(),h=s.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(s.options.cwd)}catch{}let g;try{g=r.sync(s.command,{path:u[o({env:u})],pathExt:c?n.delimiter:void 0})}catch{}finally{d&&process.chdir(p)}return g&&(g=n.resolve(h?s.options.cwd:"",g)),g}l(i,"u"),f(i,"ot");function a(s){return i(s)||i(s,!0)}l(a,"d"),f(a,"Yt"),e.exports=a}),st=E((t,e)=>{var n=/([()\][%!^"`<>&|;, *?])/g;function r(i){return i=i.replace(n,"^$1"),i}l(r,"o"),f(r,"Vt");function o(i,a){return i=`${i}`,i=i.replace(/(\\*)"/g,'$1$1\\"'),i=i.replace(/(\\*)$/,"$1$1"),i=`"${i}"`,i=i.replace(n,"^$1"),a&&(i=i.replace(n,"^$1")),i}l(o,"i"),f(o,"Jt"),e.exports.command=r,e.exports.argument=o}),it=E((t,e)=>{e.exports=/^#!(.*)/}),at=E((t,e)=>{var n=it();e.exports=(r="")=>{let o=r.match(n);if(!o)return null;let[i,a]=o[0].replace(/#! ?/,"").split(" "),s=i.split("/").pop();return s==="env"?a:a?`${s} ${a}`:s}}),ct=E((t,e)=>{var n=S("fs"),r=at();function o(i){let a=Buffer.alloc(150),s;try{s=n.openSync(i,"r"),n.readSync(s,a,0,150,0),n.closeSync(s)}catch{}return r(a.toString())}l(o,"i"),f(o,"te"),e.exports=o}),lt=E((t,e)=>{var n=S("path"),r=ot(),o=st(),i=ct(),a=process.platform==="win32",s=/\.(?:com|exe)$/i,c=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function u(d){d.file=r(d);let g=d.file&&i(d.file);return g?(d.args.unshift(d.file),d.command=g,r(d)):d.file}l(u,"h"),f(u,"ie");function p(d){if(!a)return d;let g=u(d),m=!s.test(g);if(d.options.forceShell||m){let y=c.test(g);d.command=n.normalize(d.command),d.command=o.command(d.command),d.args=d.args.map(b=>o.argument(b,y));let k=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${k}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}l(p,"a"),f(p,"ce");function h(d,g,m){g&&!Array.isArray(g)&&(m=g,g=null),g=g?g.slice(0):[],m=Object.assign({},m);let y={command:d,args:g,options:m,file:void 0,original:{command:d,args:g}};return m.shell?y:p(y)}l(h,"p"),f(h,"ue"),e.exports=h}),pt=E((t,e)=>{var n=process.platform==="win32";function r(s,c){return Object.assign(new Error(`${c} ${s.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${c} ${s.command}`,path:s.command,spawnargs:s.args})}l(r,"o"),f(r,"k");function o(s,c){if(!n)return;let u=s.emit;s.emit=function(p,h){if(p==="exit"){let d=i(h,c);if(d)return u.call(s,"error",d)}return u.apply(s,arguments)}}l(o,"i"),f(o,"ae");function i(s,c){return n&&s===1&&!c.file?r(c.original,"spawn"):null}l(i,"u"),f(i,"xt");function a(s,c){return n&&s===1&&!c.file?r(c.original,"spawnSync"):null}l(a,"d"),f(a,"le"),e.exports={hookChildProcess:o,verifyENOENT:i,verifyENOENTSync:a,notFoundError:r}}),ut=E((t,e)=>{var n=S("child_process"),r=lt(),o=pt();function i(s,c,u){let p=r(s,c,u),h=n.spawn(p.command,p.args,p.options);return o.hookChildProcess(h,p),h}l(i,"u"),f(i,"_t");function a(s,c,u){let p=r(s,c,u),h=n.spawnSync(p.command,p.args,p.options);return h.error=h.error||o.verifyENOENTSync(h.status,p),h}l(a,"d"),f(a,"pe"),e.exports=i,e.exports.spawn=i,e.exports.sync=a,e.exports._parse=r,e.exports._enoent=o}),ft=/^path$/i,re={key:"PATH",value:""};function me(t){for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||!ft.test(e))continue;let n=t[e];return n?{key:e,value:n}:re}return re}l(me,"hr");f(me,"jt");function ye(t,e){let n=e.value.split(Z),r=t,o;do n.push(Ce(r,"node_modules",".bin")),o=r,r=Se(r);while(r!==o);return{key:e.key,value:n.join(Z)}}l(ye,"dr");f(ye,"Ft");function we(t,e){let n={...process.env,...e},r=ye(t,me(n));return n[r.key]=r.value,n}l(we,"fr");f(we,"I");var dt=f(t=>{let e=t.length,n=new Je,r=f(()=>{--e===0&&n.emit("end")},"r");for(let o of t)o.pipe(n,{end:!1}),o.on("end",r);return n},"L"),ht=Qe(ut(),1),ne=class extends Error{static{l(this,"N")}static{f(this,"x")}result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(t,e){super(`Process exited with non-zero status (${t.exitCode})`),this.result=t,this.output=e}},gt={timeout:void 0,persist:!1},mt={windowsHide:!0};function ve(t,e){return{command:Ae(t),args:e??[]}}l(ve,"yr");f(ve,"we");function Ee(t){let e=new AbortController;for(let n of t){if(n.aborted)return e.abort(),n;let r=f(()=>{e.abort(n.reason)},"r");n.addEventListener("abort",r,{signal:e.signal})}return e.signal}l(Ee,"xr");f(Ee,"xe");var yt=class{static{l(this,"I")}static{f(this,"R")}_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(t,e,n){this._options={...gt,...n},this._command=t,this._args=e??[],this._processClosed=new Promise(r=>{this._resolveClose=r})}kill(t){return this._process?.kill(t)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(t,e,n){return wt(t,e,{...n,stdin:this})}async*[Symbol.asyncIterator](){let t=this._process;if(!t)return;let e=[];this._streamErr&&e.push(this._streamErr),this._streamOut&&e.push(this._streamOut);let n=dt(e),r=Te.createInterface({input:n});for await(let o of r)yield o.toString();if(await this._processClosed,t.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ne(this)}async _waitForOutput(){let t=this._process;if(!t)throw new Error("No process was started");let e="",n="";if(this._streamOut)for await(let o of this._streamOut)n+=o.toString();if(this._streamErr)for await(let o of this._streamErr)e+=o.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,t.removeAllListeners(),this._thrownError)throw this._thrownError;let r={stderr:e,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new ne(this,r);return r}then(t,e){return this._waitForOutput().then(t,e)}_streamOut;_streamErr;spawn(){let t=Ne(),e=this._options,n={...mt,...e.nodeOptions},r=[];this._resetState(),e.timeout!==void 0&&r.push(AbortSignal.timeout(e.timeout)),e.signal!==void 0&&r.push(e.signal),e.persist===!0&&(n.detached=!0),r.length>0&&(n.signal=Ee(r)),n.env=we(t,n.env);let{command:o,args:i}=ve(this._command,this._args),a=(0,ht._parse)(o,i,n),s=je(a.command,a.args,a.options);if(s.stderr&&(this._streamErr=s.stderr),s.stdout&&(this._streamOut=s.stdout),this._process=s,s.once("error",this._onError),s.once("close",this._onClose),e.stdin!==void 0&&s.stdin&&e.stdin.process){let{stdout:c}=e.stdin.process;c&&c.pipe(s.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(t=>{this._resolveClose=t}),this._thrownError=void 0}_onError=f(t=>{if(t.name==="AbortError"&&(!(t.cause instanceof Error)||t.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=t},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},Y=f((t,e,n)=>{let r=new yt(t,e,n);return r.spawn(),r},"ve"),wt=Y,vt=Object.defineProperty,B=l((t,e)=>vt(t,"name",{value:e,configurable:!0}),"i");async function X(t=I.cwd()){return(await ue({cwd:t,onUnknown(e){console.warn("[@antfu/install-pkg] Unknown packageManager:",e)}}))?.agent||null}l(X,"c$2");B(X,"detectPackageManager");async function ke(t,e={}){const n=e.packageManager||await X(e.cwd)||"npm",[r]=n.split("@");Array.isArray(t)||(t=[t]);const o=(typeof e.additionalArgs=="function"?e.additionalArgs(r,n):e.additionalArgs)||[];return e.preferOffline&&(n==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),r==="pnpm"&&(o.unshift("--prod=false"),z(se(e.cwd??I.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),Y(r,[r==="yarn"?"add":"install",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(ke,"p$1");B(ke,"installPackage");async function Et(t,e={}){const n=e.packageManager||await X(e.cwd)||"npm",[r]=n.split("@");Array.isArray(t)||(t=[t]);const o=e.additionalArgs||[];return r==="pnpm"&&z(se(e.cwd??I.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),Y(r,[r==="yarn"?"remove":"uninstall",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(Et,"h$1");B(Et,"uninstallPackage");var kt=Object.defineProperty,w=l((t,e)=>kt(t,"name",{value:e,configurable:!0}),"s");const O=w(t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},"isObject"),bt=w(t=>O(t)&&Object.keys(t).length===0,"isEmptyObject"),U=new Set(["__proto__","prototype","constructor"]),_t=new Set("0123456789");function M(t){const e=[];let n="",r="start",o=!1;for(const i of t)switch(i){case"\\":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");o&&(n+=i),r="property",o=!o;break}case".":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="property";break}if(o){o=!1,n+=i;break}if(U.has(n))return[];e.push(n),n="",r="property";break}case"[":{if(r==="index")throw new Error("Invalid character in an index");if(r==="indexEnd"){r="index";break}if(o){o=!1,n+=i;break}if(r==="property"){if(U.has(n))return[];e.push(n),n=""}r="index";break}case"]":{if(r==="index"){e.push(Number.parseInt(n,10)),n="",r="indexEnd";break}if(r==="indexEnd")throw new Error("Invalid character after an index")}default:{if(r==="index"&&!_t.has(i))throw new Error("Invalid character in an index");if(r==="indexEnd")throw new Error("Invalid character after an index");r==="start"&&(r="property"),o&&(o=!1,n+="\\"),n+=i}}switch(o&&(n+="\\"),r){case"property":{if(U.has(n))return[];e.push(n);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}l(M,"d");w(M,"getPathSegments");function H(t,e){if(typeof e!="number"&&Array.isArray(t)){const n=Number.parseInt(e,10);return Number.isInteger(n)&&t[n]===t[e]}return!1}l(H,"l$1");w(H,"isStringIndex");function q(t,e){if(H(t,e))throw new Error("Cannot use string index")}l(q,"p");w(q,"assertNotStringIndex");function C(t,e,n){if(!O(t)||typeof e!="string")return n===void 0?t:n;const r=M(e);if(r.length===0)return n;for(let o=0;o<r.length;o++){const i=r[o];if(H(t,i)?t=o===r.length-1?void 0:null:t=t[i],t==null){if(o!==r.length-1)return n;break}}return t===void 0?n:t}l(C,"getProperty");w(C,"getProperty");function xt(t,e,n){if(!O(t)||typeof e!="string")return t;const r=t,o=M(e);for(let i=0;i<o.length;i++){const a=o[i];q(t,a),i===o.length-1?t[a]=n:O(t[a])||(t[a]=typeof o[i+1]=="number"?[]:{}),t=t[a]}return r}l(xt,"setProperty");w(xt,"setProperty");function Pt(t,e){if(!O(t)||typeof e!="string")return!1;const n=M(e);for(let r=0;r<n.length;r++){const o=n[r];if(q(t,o),r===n.length-1)return delete t[o],!0;if(t=t[o],!O(t))return!1}}l(Pt,"deleteProperty");w(Pt,"deleteProperty");function D(t,e){if(!O(t)||typeof e!="string")return!1;const n=M(e);if(n.length===0)return!1;for(const r of n){if(!O(t)||!(r in t)||H(t,r))return!1;t=t[r]}return!0}l(D,"hasProperty");w(D,"hasProperty");function be(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replaceAll(/[\\.[]/g,"\\$&")}l(be,"escapePath");w(be,"escapePath");function R(t){const e=Object.entries(t);return Array.isArray(t)?e.map(([n,r])=>[Number(n),r]):e}l(R,"h");w(R,"entries");function _e(t){let e="";for(let[n,r]of R(t))typeof r=="number"?e+=`[${r}]`:(r=be(r),e+=n===0?r:`.${r}`);return e}l(_e,"w");w(_e,"stringifyPath");function*G(t,e=[]){if(!O(t)||bt(t)){e.length>0&&(yield _e(e));return}for(const[n,r]of R(t))yield*G(r,[...e,n])}l(G,"y");w(G,"deepKeysIterator");function $t(t){return[...G(t)]}l($t,"deepKeys");w($t,"deepKeys");const Ot=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var jt=Object.defineProperty,x=l((t,e)=>jt(t,"name",{value:e,configurable:!0}),"c");const xe=new Map;class Ct extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(e){super(`The following warnings were encountered while normalizing package data:
1
+ var Se=Object.defineProperty;var l=(t,e)=>Se(t,"name",{value:e,configurable:!0});import{existsSync as K}from"node:fs";import D from"node:process";import ie from"node:fs/promises";import j,{resolve as ae}from"node:path";import{createRequire as Ae}from"node:module";import{spawn as Ce}from"child_process";import{delimiter as te,resolve as Ne,dirname as Ie,normalize as Je}from"path";import{cwd as Te}from"process";import{PassThrough as De}from"stream";import Me from"readline";import Fe from"@inquirer/confirm";import{readJsonSync as ce,findUp as We,readJson as He,findUpSync as Le,writeJson as Ue,writeJsonSync as Ve}from"@visulima/fs";import{NotFoundError as le}from"@visulima/fs/error";import{parseJson as ze,toPath as Y}from"@visulima/fs/utils";import{join as pe}from"@visulima/path";import Ke from"normalize-package-data";const ue=["npm","yarn","yarn@berry","pnpm","pnpm@6","bun","deno"],re={"bun.lock":"bun","bun.lockb":"bun","deno.lock":"deno","pnpm-lock.yaml":"pnpm","pnpm-workspace.yaml":"pnpm","yarn.lock":"yarn","package-lock.json":"npm","npm-shrinkwrap.json":"npm"},ne={"node_modules/.deno/":"deno","node_modules/.pnpm/":"pnpm","node_modules/.yarn-state.yml":"yarn","node_modules/.yarn_integrity":"yarn","node_modules/.package-lock.json":"npm",".pnp.cjs":"yarn",".pnp.js":"yarn","bun.lock":"bun","bun.lockb":"bun"};var Ye=Object.defineProperty,$=l((t,e)=>Ye(t,"name",{value:e,configurable:!0}),"i$1");async function W(t,e){try{const r=await ie.stat(t);return e==="file"?r.isFile():r.isDirectory()}catch{return!1}}l(W,"g$2");$(W,"pathExists");function Be(){const t=D.env.npm_config_user_agent;if(!t)return null;const e=t.split("/")[0];return ue.includes(e)?e:null}l(Be,"M$1");$(Be,"getUserAgent");function*fe(t=D.cwd()){let e=j.resolve(t);const{root:r}=j.parse(e);for(;e&&e!==r;)yield e,e=j.dirname(e)}l(fe,"h$2");$(fe,"lookup");async function z(t,e){return!t||!W(t,"file")?null:await ge(t,e)}l(z,"m$1");$(z,"parsePackageJson");async function de(t={}){const{cwd:e,strategies:r=["lockfile","packageManager-field","devEngines-field"],onUnknown:n}=t;let o;if(typeof t.stopDir=="string"){const s=j.resolve(t.stopDir);o=$(c=>c===s,"stopDir")}else o=t.stopDir;for(const s of fe(e)){for(const c of r)switch(c){case"lockfile":{for(const i of Object.keys(re))if(await W(j.join(s,i),"file")){const a=re[i];return await z(j.join(s,"package.json"),n)||{name:a,agent:a}}break}case"packageManager-field":case"devEngines-field":{const i=await z(j.join(s,"package.json"),n);if(i)return i;break}case"install-metadata":{for(const i of Object.keys(ne)){const a=i.endsWith("/")?"dir":"file";if(await W(j.join(s,i),a)){const p=ne[i],u=p==="yarn"?me(i)?"yarn":"yarn@berry":p;return{name:p,agent:u}}}break}}if(o?.(s))break}return null}l(de,"A$1");$(de,"detect");function he(t){const e=$(r=>r?.match(/\d+(\.\d+){0,2}/)?.[0]??r,"handelVer");if(typeof t.packageManager=="string"){const[r,n]=t.packageManager.replace(/^\^/,"").split("@");return{name:r,ver:e(n)}}if(typeof t.devEngines?.packageManager?.name=="string")return{name:t.devEngines.packageManager.name,ver:e(t.devEngines.packageManager.version)}}l(he,"j$1");$(he,"getNameAndVer");async function ge(t,e){try{const r=JSON.parse(await ie.readFile(t,"utf8"));let n;const o=he(r);if(o){const s=o.name,c=o.ver;let i=c;return s==="yarn"&&c&&Number.parseInt(c)>1?(n="yarn@berry",i="berry",{name:s,agent:n,version:i}):s==="pnpm"&&c&&Number.parseInt(c)<7?(n="pnpm@6",{name:s,agent:n,version:i}):ue.includes(s)?(n=s,{name:s,agent:n,version:i}):e?.(r.packageManager)??null}}catch{}return null}l(ge,"E$2");$(ge,"handlePackageManager");function me(t){return t.endsWith(".yarn_integrity")}l(me,"D$1");$(me,"isMetadataYarnClassic");var Xe=Object.defineProperty,f=l((t,e)=>Xe(t,"name",{value:e,configurable:!0}),"l$1");const J=Ae(import.meta.url);var qe=Object.create,ye=Object.defineProperty,Re=Object.getOwnPropertyDescriptor,Ge=Object.getOwnPropertyNames,Qe=Object.getPrototypeOf,Ze=Object.prototype.hasOwnProperty,A=(t=>typeof J<"u"?J:typeof Proxy<"u"?new Proxy(t,{get:f((e,r)=>(typeof J<"u"?J:e)[r],"get")}):t)(function(t){if(typeof J<"u")return J.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')}),E=f((t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),"l"),et=f((t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ge(e))!Ze.call(t,o)&&o!==r&&ye(t,o,{get:f(()=>e[o],"get"),enumerable:!(n=Re(e,o))||n.enumerable});return t},"$t"),tt=f((t,e,r)=>(r=t!=null?qe(Qe(t)):{},et(e||!t||!t.__esModule?ye(r,"default",{value:t,enumerable:!0}):r,t)),"Nt"),rt=E((t,e)=>{e.exports=s,s.sync=c;var r=A("fs");function n(i,a){var p=a.pathExt!==void 0?a.pathExt:process.env.PATHEXT;if(!p||(p=p.split(";"),p.indexOf("")!==-1))return!0;for(var u=0;u<p.length;u++){var h=p[u].toLowerCase();if(h&&i.substr(-h.length).toLowerCase()===h)return!0}return!1}l(n,"o"),f(n,"Ht");function o(i,a,p){return!i.isSymbolicLink()&&!i.isFile()?!1:n(a,p)}l(o,"i"),f(o,"F");function s(i,a,p){r.stat(i,function(u,h){p(u,u?!1:o(h,i,a))})}l(s,"u"),f(s,"z");function c(i,a){return o(r.statSync(i),i,a)}l(c,"d"),f(c,"Wt")}),nt=E((t,e)=>{e.exports=n,n.sync=o;var r=A("fs");function n(i,a,p){r.stat(i,function(u,h){p(u,u?!1:s(h,a))})}l(n,"o"),f(n,"K");function o(i,a){return s(r.statSync(i),a)}l(o,"i"),f(o,"Dt");function s(i,a){return i.isFile()&&c(i,a)}l(s,"u"),f(s,"M");function c(i,a){var p=i.mode,u=i.uid,h=i.gid,d=a.uid!==void 0?a.uid:process.getuid&&process.getuid(),g=a.gid!==void 0?a.gid:process.getgid&&process.getgid(),m=parseInt("100",8),y=parseInt("010",8),k=parseInt("001",8),b=m|y,C=p&k||p&y&&h===g||p&m&&u===d||p&b&&d===0;return C}l(c,"d"),f(c,"Kt")}),ot=E((t,e)=>{A("fs");var r;process.platform==="win32"||global.TESTING_WINDOWS?r=rt():r=nt(),e.exports=n,n.sync=o;function n(s,c,i){if(typeof c=="function"&&(i=c,c={}),!i){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(a,p){n(s,c||{},function(u,h){u?p(u):a(h)})})}r(s,c||{},function(a,p){a&&(a.code==="EACCES"||c&&c.ignoreErrors)&&(a=null,p=!1),i(a,p)})}l(n,"i"),f(n,"y");function o(s,c){try{return r.sync(s,c||{})}catch(i){if(c&&c.ignoreErrors||i.code==="EACCES")return!1;throw i}}l(o,"u"),f(o,"Mt")}),st=E((t,e)=>{var r=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",n=A("path"),o=r?";":":",s=ot(),c=f(u=>Object.assign(new Error(`not found: ${u}`),{code:"ENOENT"}),"J"),i=f((u,h)=>{let d=h.colon||o,g=u.match(/\//)||r&&u.match(/\\/)?[""]:[...r?[process.cwd()]:[],...(h.path||process.env.PATH||"").split(d)],m=r?h.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",y=r?m.split(d):[""];return r&&u.indexOf(".")!==-1&&y[0]!==""&&y.unshift(""),{pathEnv:g,pathExt:y,pathExtExe:m}},"Q"),a=f((u,h,d)=>{typeof h=="function"&&(d=h,h={}),h||(h={});let{pathEnv:g,pathExt:m,pathExtExe:y}=i(u,h),k=[],b=f(v=>new Promise((N,O)=>{if(v===g.length)return h.all&&k.length?N(k):O(c(u));let _=g[v],L=/^".*"$/.test(_)?_.slice(1,-1):_,I=n.join(L,u),U=!L&&/^\.[\\\/]/.test(u)?u.slice(0,2)+I:I;N(C(U,v,0))}),"a"),C=f((v,N,O)=>new Promise((_,L)=>{if(O===m.length)return _(b(N+1));let I=m[O];s(v+I,{pathExt:y},(U,je)=>{if(!U&&je)if(h.all)k.push(v+I);else return _(v+I);return _(C(v,N,O+1))})}),"c");return d?b(0).then(v=>d(null,v),d):b(0)},"Z"),p=f((u,h)=>{h=h||{};let{pathEnv:d,pathExt:g,pathExtExe:m}=i(u,h),y=[];for(let k=0;k<d.length;k++){let b=d[k],C=/^".*"$/.test(b)?b.slice(1,-1):b,v=n.join(C,u),N=!C&&/^\.[\\\/]/.test(u)?u.slice(0,2)+v:v;for(let O=0;O<g.length;O++){let _=N+g[O];try{if(s.sync(_,{pathExt:m}))if(h.all)y.push(_);else return _}catch{}}}if(h.all&&y.length)return y;if(h.nothrow)return null;throw c(u)},"Xt");e.exports=a,a.sync=p}),it=E((t,e)=>{var r=f((n={})=>{let o=n.env||process.env;return(n.platform||process.platform)!=="win32"?"PATH":Object.keys(o).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"},"nt");e.exports=r,e.exports.default=r}),at=E((t,e)=>{var r=A("path"),n=st(),o=it();function s(i,a){let p=i.options.env||process.env,u=process.cwd(),h=i.options.cwd!=null,d=h&&process.chdir!==void 0&&!process.chdir.disabled;if(d)try{process.chdir(i.options.cwd)}catch{}let g;try{g=n.sync(i.command,{path:p[o({env:p})],pathExt:a?r.delimiter:void 0})}catch{}finally{d&&process.chdir(u)}return g&&(g=r.resolve(h?i.options.cwd:"",g)),g}l(s,"u"),f(s,"ot");function c(i){return s(i)||s(i,!0)}l(c,"d"),f(c,"Yt"),e.exports=c}),ct=E((t,e)=>{var r=/([()\][%!^"`<>&|;, *?])/g;function n(s){return s=s.replace(r,"^$1"),s}l(n,"o"),f(n,"Vt");function o(s,c){return s=`${s}`,s=s.replace(/(\\*)"/g,'$1$1\\"'),s=s.replace(/(\\*)$/,"$1$1"),s=`"${s}"`,s=s.replace(r,"^$1"),c&&(s=s.replace(r,"^$1")),s}l(o,"i"),f(o,"Jt"),e.exports.command=n,e.exports.argument=o}),lt=E((t,e)=>{e.exports=/^#!(.*)/}),pt=E((t,e)=>{var r=lt();e.exports=(n="")=>{let o=n.match(r);if(!o)return null;let[s,c]=o[0].replace(/#! ?/,"").split(" "),i=s.split("/").pop();return i==="env"?c:c?`${i} ${c}`:i}}),ut=E((t,e)=>{var r=A("fs"),n=pt();function o(s){let c=Buffer.alloc(150),i;try{i=r.openSync(s,"r"),r.readSync(i,c,0,150,0),r.closeSync(i)}catch{}return n(c.toString())}l(o,"i"),f(o,"te"),e.exports=o}),ft=E((t,e)=>{var r=A("path"),n=at(),o=ct(),s=ut(),c=process.platform==="win32",i=/\.(?:com|exe)$/i,a=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function p(d){d.file=n(d);let g=d.file&&s(d.file);return g?(d.args.unshift(d.file),d.command=g,n(d)):d.file}l(p,"h"),f(p,"ie");function u(d){if(!c)return d;let g=p(d),m=!i.test(g);if(d.options.forceShell||m){let y=a.test(g);d.command=r.normalize(d.command),d.command=o.command(d.command),d.args=d.args.map(b=>o.argument(b,y));let k=[d.command].concat(d.args).join(" ");d.args=["/d","/s","/c",`"${k}"`],d.command=process.env.comspec||"cmd.exe",d.options.windowsVerbatimArguments=!0}return d}l(u,"a"),f(u,"ce");function h(d,g,m){g&&!Array.isArray(g)&&(m=g,g=null),g=g?g.slice(0):[],m=Object.assign({},m);let y={command:d,args:g,options:m,file:void 0,original:{command:d,args:g}};return m.shell?y:u(y)}l(h,"p"),f(h,"ue"),e.exports=h}),dt=E((t,e)=>{var r=process.platform==="win32";function n(i,a){return Object.assign(new Error(`${a} ${i.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${a} ${i.command}`,path:i.command,spawnargs:i.args})}l(n,"o"),f(n,"k");function o(i,a){if(!r)return;let p=i.emit;i.emit=function(u,h){if(u==="exit"){let d=s(h,a);if(d)return p.call(i,"error",d)}return p.apply(i,arguments)}}l(o,"i"),f(o,"ae");function s(i,a){return r&&i===1&&!a.file?n(a.original,"spawn"):null}l(s,"u"),f(s,"xt");function c(i,a){return r&&i===1&&!a.file?n(a.original,"spawnSync"):null}l(c,"d"),f(c,"le"),e.exports={hookChildProcess:o,verifyENOENT:s,verifyENOENTSync:c,notFoundError:n}}),ht=E((t,e)=>{var r=A("child_process"),n=ft(),o=dt();function s(i,a,p){let u=n(i,a,p),h=r.spawn(u.command,u.args,u.options);return o.hookChildProcess(h,u),h}l(s,"u"),f(s,"_t");function c(i,a,p){let u=n(i,a,p),h=r.spawnSync(u.command,u.args,u.options);return h.error=h.error||o.verifyENOENTSync(h.status,u),h}l(c,"d"),f(c,"pe"),e.exports=s,e.exports.spawn=s,e.exports.sync=c,e.exports._parse=n,e.exports._enoent=o}),gt=/^path$/i,oe={key:"PATH",value:""};function we(t){for(let e in t){if(!Object.prototype.hasOwnProperty.call(t,e)||!gt.test(e))continue;let r=t[e];return r?{key:e,value:r}:oe}return oe}l(we,"hr");f(we,"jt");function ve(t,e){let r=e.value.split(te),n=t,o;do r.push(Ne(n,"node_modules",".bin")),o=n,n=Ie(n);while(n!==o);return{key:e.key,value:r.join(te)}}l(ve,"dr");f(ve,"Ft");function Ee(t,e){let r={...process.env,...e},n=ve(t,we(r));return r[n.key]=n.value,r}l(Ee,"fr");f(Ee,"I");var mt=f(t=>{let e=t.length,r=new De,n=f(()=>{--e===0&&r.emit("end")},"r");for(let o of t)o.pipe(r,{end:!1}),o.on("end",n);return r},"L"),yt=tt(ht(),1),se=class extends Error{static{l(this,"N")}static{f(this,"x")}result;output;get exitCode(){if(this.result.exitCode!==null)return this.result.exitCode}constructor(t,e){super(`Process exited with non-zero status (${t.exitCode})`),this.result=t,this.output=e}},wt={timeout:void 0,persist:!1},vt={windowsHide:!0};function ke(t,e){return{command:Je(t),args:e??[]}}l(ke,"yr");f(ke,"we");function be(t){let e=new AbortController;for(let r of t){if(r.aborted)return e.abort(),r;let n=f(()=>{e.abort(r.reason)},"r");r.addEventListener("abort",n,{signal:e.signal})}return e.signal}l(be,"xr");f(be,"xe");var Et=class{static{l(this,"I")}static{f(this,"R")}_process;_aborted=!1;_options;_command;_args;_resolveClose;_processClosed;_thrownError;get process(){return this._process}get pid(){return this._process?.pid}get exitCode(){if(this._process&&this._process.exitCode!==null)return this._process.exitCode}constructor(e,r,n){this._options={...wt,...n},this._command=e,this._args=r??[],this._processClosed=new Promise(o=>{this._resolveClose=o})}kill(e){return this._process?.kill(e)===!0}get aborted(){return this._aborted}get killed(){return this._process?.killed===!0}pipe(e,r,n){return kt(e,r,{...n,stdin:this})}async*[Symbol.asyncIterator](){let e=this._process;if(!e)return;let r=[];this._streamErr&&r.push(this._streamErr),this._streamOut&&r.push(this._streamOut);let n=mt(r),o=Me.createInterface({input:n});for await(let s of o)yield s.toString();if(await this._processClosed,e.removeAllListeners(),this._thrownError)throw this._thrownError;if(this._options?.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new se(this)}async _waitForOutput(){let e=this._process;if(!e)throw new Error("No process was started");let r="",n="";if(this._streamOut)for await(let s of this._streamOut)n+=s.toString();if(this._streamErr)for await(let s of this._streamErr)r+=s.toString();if(await this._processClosed,this._options?.stdin&&await this._options.stdin,e.removeAllListeners(),this._thrownError)throw this._thrownError;let o={stderr:r,stdout:n,exitCode:this.exitCode};if(this._options.throwOnError&&this.exitCode!==0&&this.exitCode!==void 0)throw new se(this,o);return o}then(e,r){return this._waitForOutput().then(e,r)}_streamOut;_streamErr;spawn(){let e=Te(),r=this._options,n={...vt,...r.nodeOptions},o=[];this._resetState(),r.timeout!==void 0&&o.push(AbortSignal.timeout(r.timeout)),r.signal!==void 0&&o.push(r.signal),r.persist===!0&&(n.detached=!0),o.length>0&&(n.signal=be(o)),n.env=Ee(e,n.env);let{command:s,args:c}=ke(this._command,this._args),i=(0,yt._parse)(s,c,n),a=Ce(i.command,i.args,i.options);if(a.stderr&&(this._streamErr=a.stderr),a.stdout&&(this._streamOut=a.stdout),this._process=a,a.once("error",this._onError),a.once("close",this._onClose),r.stdin!==void 0&&a.stdin&&r.stdin.process){let{stdout:p}=r.stdin.process;p&&p.pipe(a.stdin)}}_resetState(){this._aborted=!1,this._processClosed=new Promise(e=>{this._resolveClose=e}),this._thrownError=void 0}_onError=f(e=>{if(e.name==="AbortError"&&(!(e.cause instanceof Error)||e.cause.name!=="TimeoutError")){this._aborted=!0;return}this._thrownError=e},"_onError");_onClose=f(()=>{this._resolveClose&&this._resolveClose()},"_onClose")},B=f((t,e,r)=>{let n=new Et(t,e,r);return n.spawn(),n},"ve"),kt=B,bt=Object.defineProperty,X=l((t,e)=>bt(t,"name",{value:e,configurable:!0}),"i");async function q(t=D.cwd()){return(await de({cwd:t,onUnknown(e){console.warn("[@antfu/install-pkg] Unknown packageManager:",e)}}))?.agent||null}l(q,"c$2");X(q,"detectPackageManager");async function _e(t,e={}){const r=e.packageManager||await q(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=(typeof e.additionalArgs=="function"?e.additionalArgs(n,r):e.additionalArgs)||[];return e.preferOffline&&(r==="yarn@berry"?o.unshift("--cached"):o.unshift("--prefer-offline")),n==="pnpm"&&(o.unshift("--prod=false"),K(ae(e.cwd??D.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w")),B(n,[n==="yarn"?"add":"install",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(_e,"p");X(_e,"installPackage");async function _t(t,e={}){const r=e.packageManager||await q(e.cwd)||"npm",[n]=r.split("@");Array.isArray(t)||(t=[t]);const o=e.additionalArgs||[];return n==="pnpm"&&K(ae(e.cwd??D.cwd(),"pnpm-workspace.yaml"))&&o.unshift("-w"),B(n,[n==="yarn"?"remove":"uninstall",e.dev?"-D":"",...o,...t].filter(Boolean),{nodeOptions:{stdio:e.silent?"ignore":"inherit",cwd:e.cwd},throwOnError:!0})}l(_t,"h$1");X(_t,"uninstallPackage");var xt=Object.defineProperty,w=l((t,e)=>xt(t,"name",{value:e,configurable:!0}),"f");const P=w(t=>{const e=typeof t;return t!==null&&(e==="object"||e==="function")},"isObject"),Pt=w(t=>P(t)&&Object.keys(t).length===0,"isEmptyObject"),V=new Set(["__proto__","prototype","constructor"]),$t=new Set("0123456789");function R(t){return typeof t=="string"&&/^\d+$/.test(t)&&Number.parseInt(t,10)>=0&&(t==="0"||!t.startsWith("0"))}l(R,"h");w(R,"isValidArrayIndex");function M(t,e,r){return r>0&&typeof t=="string"&&Array.isArray(e)&&R(t)?Number.parseInt(t,10):t}l(M,"u");w(M,"normalizeKey");function F(t){const e=[];let r="",n="start",o=!1;for(const s of t)switch(s){case"\\":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");o&&(r+=s),n="property",o=!o;break}case".":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="property";break}if(o){o=!1,r+=s;break}if(V.has(r))return[];e.push(r),r="",n="property";break}case"[":{if(n==="index")throw new Error("Invalid character in an index");if(n==="indexEnd"){n="index";break}if(o){o=!1,r+=s;break}if(n==="property"){if(V.has(r))return[];e.push(r),r=""}n="index";break}case"]":{if(n==="index"){e.push(Number.parseInt(r,10)),r="",n="indexEnd";break}if(n==="indexEnd")throw new Error("Invalid character after an index")}default:{if(n==="index"&&!$t.has(s))throw new Error("Invalid character in an index");if(n==="indexEnd")throw new Error("Invalid character after an index");n==="start"&&(n="property"),o&&(o=!1,r+="\\"),r+=s}}switch(o&&(r+="\\"),n){case"property":{if(V.has(r))return[];e.push(r);break}case"index":throw new Error("Index was not closed");case"start":{e.push("");break}}return e}l(F,"l");w(F,"getPathSegments");function H(t,e){if(!Array.isArray(t)||typeof e=="number")return!1;const r=Number.parseInt(e,10);return Number.isInteger(r)&&String(r)===e}l(H,"c$1");w(H,"isStringIndex");function G(t,e){if(H(t,e))throw new Error("Cannot use string index")}l(G,"x");w(G,"assertNotStringIndex");function S(t,e,r){if(!P(t)||typeof e!="string")return r===void 0?t:r;const n=F(e);if(n.length===0)return r;for(let o=0;o<n.length;o++){const s=n[o],c=M(s,t,o);if(c===s&&H(t,s)?t=o===n.length-1?void 0:null:t=t[c],t==null){if(o!==n.length-1)return r;break}}return t===void 0?r:t}l(S,"getProperty");w(S,"getProperty");function xe(t,e,r){if(!P(t)||typeof e!="string")return t;const n=t,o=F(e);for(let s=0;s<o.length;s++){const c=o[s],i=M(c,t,s);if(i===c&&G(t,c),s===o.length-1)t[i]=r;else if(!P(t[i])){const a=o[s+1],p=typeof a=="number"||typeof a=="string"&&R(a);t[i]=p?[]:{}}t=t[i]}return n}l(xe,"setProperty");w(xe,"setProperty");function Ot(t,e){if(!P(t)||typeof e!="string")return!1;const r=F(e);for(let n=0;n<r.length;n++){const o=r[n],s=M(o,t,n);if(s===o&&G(t,o),n===r.length-1)return Object.hasOwn(t,s)?(delete t[s],!0):!1;if(t=t[s],!P(t))return!1}}l(Ot,"deleteProperty");w(Ot,"deleteProperty");function T(t,e){if(!P(t)||typeof e!="string")return!1;const r=F(e);if(r.length===0)return!1;for(const[n,o]of r.entries()){const s=M(o,t,n),c=s===o&&H(t,o);if(!P(t)||!(s in t)||c)return!1;t=t[s]}return!0}l(T,"hasProperty");w(T,"hasProperty");function Pe(t){if(typeof t!="string")throw new TypeError("Expected a string");return t.replaceAll(/[\\.[]/g,String.raw`\$&`)}l(Pe,"escapePath");w(Pe,"escapePath");function Q(t){const e=Object.entries(t);return Array.isArray(t)?e.map(([r,n])=>[Number(r),n]):e}l(Q,"g");w(Q,"entries");function $e(t){let e="";for(let[r,n]of Q(t))typeof n=="number"?e+=`[${n}]`:(n=Pe(n),e+=r===0?n:`.${n}`);return e}l($e,"A");w($e,"stringifyPath");function*Z(t,e=[]){if(!P(t)||Pt(t)){e.length>0&&(yield $e(e));return}for(const[r,n]of Q(t))yield*Z(n,[...e,r])}l(Z,"w$1");w(Z,"deepKeysIterator");function jt(t){return[...Z(t)]}l(jt,"deepKeys");w(jt,"deepKeys");function St(t){const e={};if(!P(t))return e;for(const[r,n]of Object.entries(t))xe(e,r,n);return e}l(St,"unflatten");w(St,"unflatten");const At=typeof process.stdout<"u"&&!process.versions.deno&&!globalThis.window;var Ct=Object.defineProperty,x=l((t,e)=>Ct(t,"name",{value:e,configurable:!0}),"c");const Oe=new Map;class Nt extends Error{static{l(this,"E")}static{x(this,"PackageJsonValidationError")}constructor(e){super(`The following warnings were encountered while normalizing package data:
2
2
  - ${e.join(`
3
- - `)}`),this.name="PackageJsonValidationError"}}const Q=x((t,e,n=[])=>{const r=[];if(Ue(t,o=>{r.push(o)},e),e&&r.length>0){const o=r.filter(i=>!n.some(a=>a instanceof RegExp?a.test(i):a===i));if(o.length>0)throw new Ct(o)}return t},"normalizeInput"),Bt=x(async(t,e={})=>{const n={type:"file"};t&&(n.cwd=t);const r=await Ie("package.json",n);if(!r)throw new ae("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:xe;if(e.cache&&o.has(r))return o.get(r);const i=await Me(r);Q(i,e.strict??!1,e.ignoreWarnings);const a={packageJson:i,path:r};return o.set(r,a),a},"findPackageJson"),Xt=x((t,e={})=>{const n={type:"file"};t&&(n.cwd=t);const r=Fe("package.json",n);if(!r)throw new ae("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:xe;if(e.cache&&o.has(r))return o.get(r);const i=ie(r);Q(i,e.strict??!1,e.ignoreWarnings);const a={packageJson:i,path:r};return o.set(r,a),a},"findPackageJsonSync"),qt=x(async(t,e={})=>{const{cwd:n,...r}=e,o=K(e.cwd??process.cwd());await He(ce(o,"package.json"),t,r)},"writePackageJson"),Rt=x((t,e={})=>{const{cwd:n,...r}=e,o=K(e.cwd??process.cwd());We(ce(o,"package.json"),t,r)},"writePackageJsonSync"),Gt=x((t,e)=>{const n=t!==null&&typeof t=="object"&&!Array.isArray(t);if(!n&&typeof t!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");const r=n?structuredClone(t):z(t)?ie(t):Le(t);return Q(r,e?.strict??!1,e?.ignoreWarnings),r},"parsePackageJson"),Qt=x((t,e,n)=>C(t,e,n),"getPackageJsonProperty"),Zt=x((t,e)=>D(t,e),"hasPackageJsonProperty"),er=x((t,e,n)=>{const r=C(t,"dependencies",{}),o=C(t,"devDependencies",{}),i=C(t,"peerDependencies",{}),a={...r,...o,...n?.peerDeps===!1?{}:i};for(const s of e)if(D(a,s))return!0;return!1},"hasPackageJsonAnyDependency"),tr=x(async(t,e,n="dependencies",r={})=>{if(process.env.CI||Ot&&!process.stdout?.isTTY){console.warn("Skipping package installation because the process is not interactive.");return}const o=C(t,"dependencies",{}),i=C(t,"devDependencies",{}),a=C(t,"peerDependencies",{}),s=[],c={deps:!0,devDeps:!0,peerDeps:!1,...r};for(const u of e)c.deps&&D(o,u)||c.devDeps&&D(i,u)||c.peerDeps&&D(a,u)||s.push(u);if(s.length!==0){if(typeof c.confirm?.message=="function"&&(c.confirm.message=c.confirm.message(s)),c.confirm?.message===void 0){const u=`${s.length===1?"Package is":"Packages are"} required for this config: ${s.join(", ")}. Do you want to install them?`;c.confirm===void 0?c.confirm={message:u}:c.confirm.message=u}await De(c.confirm)&&await ke(s,{...c.installPackage,cwd:c.cwd?K(c.cwd):void 0,dev:n==="devDependencies"})}},"ensurePackages");export{tr as ensurePackages,Bt as findPackageJson,Xt as findPackageJsonSync,Qt as getPackageJsonProperty,er as hasPackageJsonAnyDependency,Zt as hasPackageJsonProperty,Gt as parsePackageJson,qt as writePackageJson,Rt as writePackageJsonSync};
3
+ - `)}`),this.name="PackageJsonValidationError"}}const ee=x((t,e,r=[])=>{const n=[];if(Ke(t,o=>{n.push(o)},e),e&&n.length>0){const o=n.filter(s=>!r.some(c=>c instanceof RegExp?c.test(s):c===s));if(o.length>0)throw new Nt(o)}return t},"normalizeInput"),Gt=x(async(t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=await We("package.json",r);if(!n)throw new le("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Oe;if(e.cache&&o.has(n))return o.get(n);const s=await He(n);ee(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJson"),Qt=x((t,e={})=>{const r={type:"file"};t&&(r.cwd=t);const n=Le("package.json",r);if(!n)throw new le("No such file or directory, for package.json found.");const o=e.cache&&typeof e.cache!="boolean"?e.cache:Oe;if(e.cache&&o.has(n))return o.get(n);const s=ce(n);ee(s,e.strict??!1,e.ignoreWarnings);const c={packageJson:s,path:n};return o.set(n,c),c},"findPackageJsonSync"),Zt=x(async(t,e={})=>{const{cwd:r,...n}=e,o=Y(e.cwd??process.cwd());await Ue(pe(o,"package.json"),t,n)},"writePackageJson"),er=x((t,e={})=>{const{cwd:r,...n}=e,o=Y(e.cwd??process.cwd());Ve(pe(o,"package.json"),t,n)},"writePackageJsonSync"),tr=x((t,e)=>{const r=t!==null&&typeof t=="object"&&!Array.isArray(t);if(!r&&typeof t!="string")throw new TypeError("`packageFile` should be either an `object` or a `string`.");let n;return r?n=structuredClone(t):K(t)?n=ce(t):n=ze(t),ee(n,e?.strict??!1,e?.ignoreWarnings),n},"parsePackageJson"),rr=x((t,e,r)=>S(t,e,r),"getPackageJsonProperty"),nr=x((t,e)=>T(t,e),"hasPackageJsonProperty"),or=x((t,e,r)=>{const n=S(t,"dependencies",{}),o=S(t,"devDependencies",{}),s=S(t,"peerDependencies",{}),c={...n,...o,...r?.peerDeps===!1?{}:s};for(const i of e)if(T(c,i))return!0;return!1},"hasPackageJsonAnyDependency"),sr=x(async(t,e,r="dependencies",n={})=>{const o=S(t,"dependencies",{}),s=S(t,"devDependencies",{}),c=S(t,"peerDependencies",{}),i=[],a={deps:!0,devDeps:!0,peerDeps:!1,...n};for(const p of e)a.deps&&T(o,p)||a.devDeps&&T(s,p)||a.peerDeps&&T(c,p)||i.push(p);if(i.length!==0){if(process.env.CI||At&&!process.stdout?.isTTY){const p=`Skipping package installation for [${e.join(", ")}] because the process is not interactive.`;if(n.throwOnWarn)throw new Error(p);n.logger?.warn?n.logger.warn(p):console.warn(p);return}if(typeof a.confirm?.message=="function"&&(a.confirm.message=a.confirm.message(i)),a.confirm?.message===void 0){const p=`${i.length===1?"Package is":"Packages are"} required for this config: ${i.join(", ")}. Do you want to install them?`;a.confirm===void 0?a.confirm={message:p}:a.confirm.message=p}await Fe(a.confirm)&&await _e(i,{...a.installPackage,cwd:a.cwd?Y(a.cwd):void 0,dev:r==="devDependencies"})}},"ensurePackages");export{sr as ensurePackages,Gt as findPackageJson,Qt as findPackageJsonSync,rr as getPackageJsonProperty,or as hasPackageJsonAnyDependency,nr as hasPackageJsonProperty,tr as parsePackageJson,Zt as writePackageJson,er as writePackageJsonSync};