@maltty/cli 1.0.0-rc.0 → 1.0.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/{_format-CeQhQTl5.js → _format-XTN-U4H5.js} +4 -2
  2. package/dist/{_format-CeQhQTl5.js.map → _format-XTN-U4H5.js.map} +1 -1
  3. package/dist/attemptAsync-D_oWcKfe.js +74 -0
  4. package/dist/attemptAsync-D_oWcKfe.js.map +1 -0
  5. package/dist/commands/add/command.d.ts +0 -1
  6. package/dist/commands/add/command.d.ts.map +1 -1
  7. package/dist/commands/add/command.js +4 -4
  8. package/dist/commands/add/command.js.map +1 -1
  9. package/dist/commands/add/config.d.ts +0 -1
  10. package/dist/commands/add/config.d.ts.map +1 -1
  11. package/dist/commands/add/config.js +3 -3
  12. package/dist/commands/add/config.js.map +1 -1
  13. package/dist/commands/add/index.d.ts +0 -1
  14. package/dist/commands/add/index.d.ts.map +1 -1
  15. package/dist/commands/add/index.js.map +1 -1
  16. package/dist/commands/add/middleware.d.ts +0 -1
  17. package/dist/commands/add/middleware.d.ts.map +1 -1
  18. package/dist/commands/add/middleware.js +3 -3
  19. package/dist/commands/add/middleware.js.map +1 -1
  20. package/dist/commands/build.d.ts +7 -8
  21. package/dist/commands/build.d.ts.map +1 -1
  22. package/dist/commands/build.js +3 -3
  23. package/dist/commands/build.js.map +1 -1
  24. package/dist/commands/commands.d.ts +6 -7
  25. package/dist/commands/commands.d.ts.map +1 -1
  26. package/dist/commands/commands.js +5 -5
  27. package/dist/commands/commands.js.map +1 -1
  28. package/dist/commands/dev.d.ts +5 -6
  29. package/dist/commands/dev.d.ts.map +1 -1
  30. package/dist/commands/dev.js +3 -3
  31. package/dist/commands/dev.js.map +1 -1
  32. package/dist/commands/doctor.d.ts +5 -6
  33. package/dist/commands/doctor.d.ts.map +1 -1
  34. package/dist/commands/doctor.js +7 -6
  35. package/dist/commands/doctor.js.map +1 -1
  36. package/dist/commands/init.d.ts +0 -1
  37. package/dist/commands/init.d.ts.map +1 -1
  38. package/dist/commands/init.js +5 -5
  39. package/dist/commands/init.js.map +1 -1
  40. package/dist/commands/run.d.ts +11 -12
  41. package/dist/commands/run.d.ts.map +1 -1
  42. package/dist/commands/run.js +6 -6
  43. package/dist/commands/run.js.map +1 -1
  44. package/dist/commands/stories.d.ts +3 -4
  45. package/dist/commands/stories.d.ts.map +1 -1
  46. package/dist/commands/stories.js.map +1 -1
  47. package/dist/{config-helpers-pv_2Spux.js → config-helpers-DAy-Arox.js} +1 -1
  48. package/dist/{config-helpers-pv_2Spux.js.map → config-helpers-DAy-Arox.js.map} +1 -1
  49. package/dist/{defu-BBwssjW3.js → defu-BOMYL43b.js} +1 -13
  50. package/dist/{defu-BBwssjW3.js.map → defu-BOMYL43b.js.map} +1 -1
  51. package/dist/{detect-AOq1ehTE.js → detect-Gdceq3rh.js} +4 -4
  52. package/dist/{detect-AOq1ehTE.js.map → detect-Gdceq3rh.js.map} +1 -1
  53. package/dist/{dist-Xa07jNxS.js → dist-BGEDDbkB.js} +1430 -859
  54. package/dist/dist-BGEDDbkB.js.map +1 -0
  55. package/dist/{dist-DW_gRP7_.js → dist-FY8K5na4.js} +37 -8
  56. package/dist/dist-FY8K5na4.js.map +1 -0
  57. package/dist/fs-Uxhr-pvi-AfTuGWmD.js +98 -0
  58. package/dist/fs-Uxhr-pvi-AfTuGWmD.js.map +1 -0
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.js +2 -2
  61. package/dist/index.js.map +1 -1
  62. package/dist/{jiti-CxWlVmZ_.js → jiti-DLiXBetA.js} +15 -10
  63. package/dist/{jiti-CxWlVmZ_.js.map → jiti-DLiXBetA.js.map} +1 -1
  64. package/dist/json-DjLTvRvF.js +82 -0
  65. package/dist/json-DjLTvRvF.js.map +1 -0
  66. package/dist/{json5-z-PGDMyy.js → json5-Dgws4cj9.js} +22 -8
  67. package/dist/{json5-z-PGDMyy.js.map → json5-Dgws4cj9.js.map} +1 -1
  68. package/dist/{jsonc-DqZkfC3S.js → jsonc-B3DUZTiW.js} +9 -15
  69. package/dist/jsonc-B3DUZTiW.js.map +1 -0
  70. package/dist/jsonc-BjIiMOLf.js +2 -0
  71. package/dist/{main-C_8x2aB3.js → main-CMmTVJ4V.js} +2 -2
  72. package/dist/{main-C_8x2aB3.js.map → main-CMmTVJ4V.js.map} +1 -1
  73. package/dist/{manifest-BIKVDJML.js → manifest-C192Fk9X.js} +3 -3
  74. package/dist/{manifest-BIKVDJML.js.map → manifest-C192Fk9X.js.map} +1 -1
  75. package/dist/{multipart-parser-MNkxNO83.js → multipart-parser-XnJOfY8C.js} +14 -4
  76. package/dist/{multipart-parser-MNkxNO83.js.map → multipart-parser-XnJOfY8C.js.map} +1 -1
  77. package/dist/{node-C91xGGqn.js → node-Bbe24r0m.js} +28 -105
  78. package/dist/node-Bbe24r0m.js.map +1 -0
  79. package/dist/{node-Drmc03fL.js → node-lkjrm0W1.js} +95 -33
  80. package/dist/{node-Drmc03fL.js.map → node-lkjrm0W1.js.map} +1 -1
  81. package/dist/{ohash-BPoV4zBH.js → ohash-Cgvv31gH.js} +5 -3
  82. package/dist/ohash-Cgvv31gH.js.map +1 -0
  83. package/dist/pnpm-workspace.yaml +10 -10
  84. package/dist/{chunk-DsIazq42.js → rolldown-runtime-C7HZzL1F.js} +2 -2
  85. package/dist/{toml-LuHsHQtV.js → toml-BrfNstp2.js} +34 -3
  86. package/dist/{toml-LuHsHQtV.js.map → toml-BrfNstp2.js.map} +1 -1
  87. package/dist/{utils-DlIJNGLQ.js → utils-ioeFEbm4.js} +208 -236
  88. package/dist/utils-ioeFEbm4.js.map +1 -0
  89. package/dist/{validate-C_SXBoLq.js → validate-CX8axBK6.js} +1 -1
  90. package/dist/{validate-C_SXBoLq.js.map → validate-CX8axBK6.js.map} +1 -1
  91. package/dist/{write-CSwG4Stj.js → write-C6VsyUuc.js} +6 -4
  92. package/dist/{write-CSwG4Stj.js.map → write-C6VsyUuc.js.map} +1 -1
  93. package/dist/{yaml-BS9RDuUr.js → yaml-Cp5SldPx.js} +78 -18
  94. package/dist/yaml-Cp5SldPx.js.map +1 -0
  95. package/package.json +14 -14
  96. package/dist/attemptAsync-BdXzRSIT.js +0 -42
  97. package/dist/attemptAsync-BdXzRSIT.js.map +0 -1
  98. package/dist/dist-DW_gRP7_.js.map +0 -1
  99. package/dist/dist-Xa07jNxS.js.map +0 -1
  100. package/dist/json-D7WbuVK1.js +0 -43
  101. package/dist/json-D7WbuVK1.js.map +0 -1
  102. package/dist/jsonc-DqZkfC3S.js.map +0 -1
  103. package/dist/jsonc-KADMdSjU.js +0 -2
  104. package/dist/node-C91xGGqn.js.map +0 -1
  105. package/dist/ohash-BPoV4zBH.js.map +0 -1
  106. package/dist/utils-DlIJNGLQ.js.map +0 -1
  107. package/dist/yaml-BS9RDuUr.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"defu-BBwssjW3.js","names":[],"sources":["../../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs"],"sourcesContent":["let _lazyMatch = () => { var __lib__=(()=>{var m=Object.defineProperty,V=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,T=Object.prototype.hasOwnProperty,q=(r,e)=>{for(var n in e)m(r,n,{get:e[n],enumerable:true});},H=(r,e,n,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of G(e))!T.call(r,t)&&t!==n&&m(r,t,{get:()=>e[t],enumerable:!(a=V(e,t))||a.enumerable});return r},J=r=>H(m({},\"__esModule\",{value:true}),r),w={};q(w,{default:()=>re});var A=r=>Array.isArray(r),d=r=>typeof r==\"function\",Q=r=>r.length===0,W=r=>typeof r==\"number\",K=r=>typeof r==\"object\"&&r!==null,X=r=>r instanceof RegExp,b=r=>typeof r==\"string\",h=r=>r===void 0,Y=r=>{const e=new Map;return n=>{const a=e.get(n);if(a)return a;const t=r(n);return e.set(n,t),t}},rr=(r,e,n={})=>{const a={cache:{},input:r,index:0,indexMax:0,options:n,output:[]};if(v(e)(a)&&a.index===r.length)return a.output;throw new Error(`Failed to parse at index ${a.indexMax}`)},i=(r,e)=>A(r)?er(r,e):b(r)?ar(r,e):nr(r,e),er=(r,e)=>{const n={};for(const a of r){if(a.length!==1)throw new Error(`Invalid character: \"${a}\"`);const t=a.charCodeAt(0);n[t]=true;}return a=>{const t=a.index,o=a.input;for(;a.index<o.length&&o.charCodeAt(a.index)in n;)a.index+=1;const u=a.index;if(u>t){if(!h(e)&&!a.options.silent){const s=a.input.slice(t,u),c=d(e)?e(s,o,String(t)):e;h(c)||a.output.push(c);}a.indexMax=Math.max(a.indexMax,a.index);}return true}},nr=(r,e)=>{const n=r.source,a=r.flags.replace(/y|$/,\"y\"),t=new RegExp(n,a);return g(o=>{t.lastIndex=o.index;const u=t.exec(o.input);if(u){if(!h(e)&&!o.options.silent){const s=d(e)?e(...u,o.input,String(o.index)):e;h(s)||o.output.push(s);}return o.index+=u[0].length,o.indexMax=Math.max(o.indexMax,o.index),true}else return false})},ar=(r,e)=>n=>{if(n.input.startsWith(r,n.index)){if(!h(e)&&!n.options.silent){const t=d(e)?e(r,n.input,String(n.index)):e;h(t)||n.output.push(t);}return n.index+=r.length,n.indexMax=Math.max(n.indexMax,n.index),true}else return false},C=(r,e,n,a)=>{const t=v(r);return g(_(M(o=>{let u=0;for(;u<n;){const s=o.index;if(!t(o)||(u+=1,o.index===s))break}return u>=e})))},tr=(r,e)=>C(r,0,1),f=(r,e)=>C(r,0,1/0),x=(r,e)=>{const n=r.map(v);return g(_(M(a=>{for(let t=0,o=n.length;t<o;t++)if(!n[t](a))return false;return true})))},l=(r,e)=>{const n=r.map(v);return g(_(a=>{for(let t=0,o=n.length;t<o;t++)if(n[t](a))return true;return false}))},M=(r,e=false)=>{const n=v(r);return a=>{const t=a.index,o=a.output.length,u=n(a);return (!u||e)&&(a.index=t,a.output.length!==o&&(a.output.length=o)),u}},_=(r,e)=>{const n=v(r);return n},g=(()=>{let r=0;return e=>{const n=v(e),a=r+=1;return t=>{var o;if(t.options.memoization===false)return n(t);const u=t.index,s=(o=t.cache)[a]||(o[a]=new Map),c=s.get(u);if(c===false)return false;if(W(c))return t.index=c,true;if(c)return t.index=c.index,c.output?.length&&t.output.push(...c.output),true;{const Z=t.output.length;if(n(t)){const D=t.index,U=t.output.length;if(U>Z){const ee=t.output.slice(Z,U);s.set(u,{index:D,output:ee});}else s.set(u,D);return true}else return s.set(u,false),false}}}})(),E=r=>{let e;return n=>(e||(e=v(r())),e(n))},v=Y(r=>{if(d(r))return Q(r)?E(r):r;if(b(r)||X(r))return i(r);if(A(r))return x(r);if(K(r))return l(Object.values(r));throw new Error(\"Invalid rule\")}),P=\"abcdefghijklmnopqrstuvwxyz\",ir=r=>{let e=\"\";for(;r>0;){const n=(r-1)%26;e=P[n]+e,r=Math.floor((r-1)/26);}return e},O=r=>{let e=0;for(let n=0,a=r.length;n<a;n++)e=e*26+P.indexOf(r[n])+1;return e},S=(r,e)=>{if(e<r)return S(e,r);const n=[];for(;r<=e;)n.push(r++);return n},or=(r,e,n)=>S(r,e).map(a=>String(a).padStart(n,\"0\")),R=(r,e)=>S(O(r),O(e)).map(ir),p=r=>r,z=r=>ur(e=>rr(e,r,{memoization:false}).join(\"\")),ur=r=>{const e={};return n=>e[n]??(e[n]=r(n))},sr=i(/^\\*\\*\\/\\*$/,\".*\"),cr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]+)$/,(r,e,n)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}`),lr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]*)\\{([ a-zA-Z0-9._-]+(?:,[ a-zA-Z0-9._-]+)*)\\}$/,(r,e,n,a)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}(?:${a.replaceAll(\",\",\"|\").replaceAll(\".\",\"\\\\.\")})`),y=i(/\\\\./,p),pr=i(/[$.*+?^(){}[\\]\\|]/,r=>`\\\\${r}`),vr=i(/./,p),hr=i(/^(?:!!)*!(.*)$/,(r,e)=>`(?!^${L(e)}$).*?`),dr=i(/^(!!)+/,\"\"),fr=l([hr,dr]),xr=i(/\\/(\\*\\*\\/)+/,\"(?:/.+/|/)\"),gr=i(/^(\\*\\*\\/)+/,\"(?:^|.*/)\"),mr=i(/\\/(\\*\\*)$/,\"(?:/.*|$)\"),_r=i(/\\*\\*/,\".*\"),j=l([xr,gr,mr,_r]),Sr=i(/\\*\\/(?!\\*\\*\\/)/,\"[^/]*/\"),yr=i(/\\*/,\"[^/]*\"),N=l([Sr,yr]),k=i(\"?\",\"[^/]\"),$r=i(\"[\",p),wr=i(\"]\",p),Ar=i(/[!^]/,\"^/\"),br=i(/[a-z]-[a-z]|[0-9]-[0-9]/i,p),Cr=i(/[$.*+?^(){}[\\|]/,r=>`\\\\${r}`),Mr=i(/[^\\]]/,p),Er=l([y,Cr,br,Mr]),B=x([$r,tr(Ar),f(Er),wr]),Pr=i(\"{\",\"(?:\"),Or=i(\"}\",\")\"),Rr=i(/(\\d+)\\.\\.(\\d+)/,(r,e,n)=>or(+e,+n,Math.min(e.length,n.length)).join(\"|\")),zr=i(/([a-z]+)\\.\\.([a-z]+)/,(r,e,n)=>R(e,n).join(\"|\")),jr=i(/([A-Z]+)\\.\\.([A-Z]+)/,(r,e,n)=>R(e.toLowerCase(),n.toLowerCase()).join(\"|\").toUpperCase()),Nr=l([Rr,zr,jr]),I=x([Pr,Nr,Or]),kr=i(\"{\",\"(?:\"),Br=i(\"}\",\")\"),Ir=i(\",\",\"|\"),Fr=i(/[$.*+?^(){[\\]\\|]/,r=>`\\\\${r}`),Lr=i(/[^}]/,p),Zr=E(()=>F),Dr=l([j,N,k,B,I,Zr,y,Fr,Ir,Lr]),F=x([kr,f(Dr),Br]),Ur=f(l([sr,cr,lr,fr,j,N,k,B,I,F,y,pr,vr])),Vr=Ur,Gr=z(Vr),L=Gr,Tr=i(/\\\\./,p),qr=i(/./,p),Hr=i(/\\*\\*\\*+/,\"*\"),Jr=i(/([^/{[(!])\\*\\*/,(r,e)=>`${e}*`),Qr=i(/(^|.)\\*\\*(?=[^*/)\\]}])/,(r,e)=>`${e}*`),Wr=f(l([Tr,Hr,Jr,Qr,qr])),Kr=Wr,Xr=z(Kr),Yr=Xr,$=(r,e)=>{const n=Array.isArray(r)?r:[r];if(!n.length)return false;const a=n.map($.compile),t=n.every(s=>/(\\/(?:\\*\\*)?|\\[\\/\\])$/.test(s)),o=e.replace(/[\\\\\\/]+/g,\"/\").replace(/\\/$/,t?\"/\":\"\");return a.some(s=>s.test(o))};$.compile=r=>new RegExp(`^${L(Yr(r))}$`,\"s\");var re=$;return J(w)})();\n return __lib__.default || __lib__; };\nlet _match;\nconst zeptomatch = (path, pattern) => {\n if (!_match) {\n _match = _lazyMatch();\n _lazyMatch = null;\n }\n return _match(path, pattern);\n};\n\nconst _DRIVE_LETTER_START_RE = /^[A-Za-z]:\\//;\nfunction normalizeWindowsPath(input = \"\") {\n if (!input) {\n return input;\n }\n return input.replace(/\\\\/g, \"/\").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n}\n\nconst _UNC_REGEX = /^[/\\\\]{2}/;\nconst _IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Za-z]:[/\\\\]/;\nconst _DRIVE_LETTER_RE = /^[A-Za-z]:$/;\nconst _ROOT_FOLDER_RE = /^\\/([A-Za-z]:)?$/;\nconst _EXTNAME_RE = /.(\\.[^./]+|\\.)$/;\nconst _PATH_ROOT_RE = /^[/\\\\]|^[a-zA-Z]:[/\\\\]/;\nconst sep = \"/\";\nconst normalize = function(path) {\n if (path.length === 0) {\n return \".\";\n }\n path = normalizeWindowsPath(path);\n const isUNCPath = path.match(_UNC_REGEX);\n const isPathAbsolute = isAbsolute(path);\n const trailingSeparator = path[path.length - 1] === \"/\";\n path = normalizeString(path, !isPathAbsolute);\n if (path.length === 0) {\n if (isPathAbsolute) {\n return \"/\";\n }\n return trailingSeparator ? \"./\" : \".\";\n }\n if (trailingSeparator) {\n path += \"/\";\n }\n if (_DRIVE_LETTER_RE.test(path)) {\n path += \"/\";\n }\n if (isUNCPath) {\n if (!isPathAbsolute) {\n return `//./${path}`;\n }\n return `//${path}`;\n }\n return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = function(...segments) {\n let path = \"\";\n for (const seg of segments) {\n if (!seg) {\n continue;\n }\n if (path.length > 0) {\n const pathTrailing = path[path.length - 1] === \"/\";\n const segLeading = seg[0] === \"/\";\n const both = pathTrailing && segLeading;\n if (both) {\n path += seg.slice(1);\n } else {\n path += pathTrailing || segLeading ? seg : `/${seg}`;\n }\n } else {\n path += seg;\n }\n }\n return normalize(path);\n};\nfunction cwd() {\n if (typeof process !== \"undefined\" && typeof process.cwd === \"function\") {\n return process.cwd().replace(/\\\\/g, \"/\");\n }\n return \"/\";\n}\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nfunction normalizeString(path, allowAboveRoot) {\n let res = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char = null;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== \".\" || res[res.length - 2] !== \".\") {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (res.length > 0) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) {\n res += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n res = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\nconst isAbsolute = function(p) {\n return _IS_ABSOLUTE_RE.test(p);\n};\nconst toNamespacedPath = function(p) {\n return normalizeWindowsPath(p);\n};\nconst extname = function(p) {\n if (p === \"..\") return \"\";\n const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));\n return match && match[1] || \"\";\n};\nconst relative = function(from, to) {\n const _from = resolve(from).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n const _to = resolve(to).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n if (_to[0][1] === \":\" && _from[0][1] === \":\" && _from[0] !== _to[0]) {\n return _to.join(\"/\");\n }\n const _fromCopy = [..._from];\n for (const segment of _fromCopy) {\n if (_to[0] !== segment) {\n break;\n }\n _from.shift();\n _to.shift();\n }\n return [..._from.map(() => \"..\"), ..._to].join(\"/\");\n};\nconst dirname = function(p) {\n const segments = normalizeWindowsPath(p).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) {\n segments[0] += \"/\";\n }\n return segments.join(\"/\") || (isAbsolute(p) ? \"/\" : \".\");\n};\nconst format = function(p) {\n const ext = p.ext ? p.ext.startsWith(\".\") ? p.ext : `.${p.ext}` : \"\";\n const segments = [p.root, p.dir, p.base ?? (p.name ?? \"\") + ext].filter(\n Boolean\n );\n return normalizeWindowsPath(\n p.root ? resolve(...segments) : segments.join(\"/\")\n );\n};\nconst basename = function(p, extension) {\n const segments = normalizeWindowsPath(p).split(\"/\");\n let lastSegment = \"\";\n for (let i = segments.length - 1; i >= 0; i--) {\n const val = segments[i];\n if (val) {\n lastSegment = val;\n break;\n }\n }\n return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;\n};\nconst parse = function(p) {\n const root = _PATH_ROOT_RE.exec(p)?.[0]?.replace(/\\\\/g, \"/\") || \"\";\n const base = basename(p);\n const extension = extname(base);\n return {\n root,\n dir: dirname(p),\n base,\n ext: extension,\n name: base.slice(0, base.length - extension.length)\n };\n};\nconst matchesGlob = (path, pattern) => {\n return zeptomatch(pattern, normalize(path));\n};\n\nconst _path = {\n __proto__: null,\n basename: basename,\n dirname: dirname,\n extname: extname,\n format: format,\n isAbsolute: isAbsolute,\n join: join,\n matchesGlob: matchesGlob,\n normalize: normalize,\n normalizeString: normalizeString,\n parse: parse,\n relative: relative,\n resolve: resolve,\n sep: sep,\n toNamespacedPath: toNamespacedPath\n};\n\nexport { _path as _, normalizeString as a, relative as b, basename as c, dirname as d, extname as e, format as f, normalizeWindowsPath as g, isAbsolute as i, join as j, matchesGlob as m, normalize as n, parse as p, resolve as r, sep as s, toNamespacedPath as t };\n","function isPlainObject(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\n\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = { ...defaults };\n for (const key of Object.keys(baseObject)) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject(value) && isPlainObject(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\nconst defuFn = createDefu((object, key, currentValue) => {\n if (object[key] !== void 0 && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\nconst defuArrayFn = createDefu((object, key, currentValue) => {\n if (Array.isArray(object[key]) && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\n\nexport { createDefu, defu as default, defu, defuArrayFn, defuFn };\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"defu-BOMYL43b.js","names":[],"sources":["../../../node_modules/.pnpm/pathe@2.0.3/node_modules/pathe/dist/shared/pathe.M-eThtNZ.mjs","../../../node_modules/.pnpm/defu@6.1.7/node_modules/defu/dist/defu.mjs"],"sourcesContent":["let _lazyMatch = () => { var __lib__=(()=>{var m=Object.defineProperty,V=Object.getOwnPropertyDescriptor,G=Object.getOwnPropertyNames,T=Object.prototype.hasOwnProperty,q=(r,e)=>{for(var n in e)m(r,n,{get:e[n],enumerable:true});},H=(r,e,n,a)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let t of G(e))!T.call(r,t)&&t!==n&&m(r,t,{get:()=>e[t],enumerable:!(a=V(e,t))||a.enumerable});return r},J=r=>H(m({},\"__esModule\",{value:true}),r),w={};q(w,{default:()=>re});var A=r=>Array.isArray(r),d=r=>typeof r==\"function\",Q=r=>r.length===0,W=r=>typeof r==\"number\",K=r=>typeof r==\"object\"&&r!==null,X=r=>r instanceof RegExp,b=r=>typeof r==\"string\",h=r=>r===void 0,Y=r=>{const e=new Map;return n=>{const a=e.get(n);if(a)return a;const t=r(n);return e.set(n,t),t}},rr=(r,e,n={})=>{const a={cache:{},input:r,index:0,indexMax:0,options:n,output:[]};if(v(e)(a)&&a.index===r.length)return a.output;throw new Error(`Failed to parse at index ${a.indexMax}`)},i=(r,e)=>A(r)?er(r,e):b(r)?ar(r,e):nr(r,e),er=(r,e)=>{const n={};for(const a of r){if(a.length!==1)throw new Error(`Invalid character: \"${a}\"`);const t=a.charCodeAt(0);n[t]=true;}return a=>{const t=a.index,o=a.input;for(;a.index<o.length&&o.charCodeAt(a.index)in n;)a.index+=1;const u=a.index;if(u>t){if(!h(e)&&!a.options.silent){const s=a.input.slice(t,u),c=d(e)?e(s,o,String(t)):e;h(c)||a.output.push(c);}a.indexMax=Math.max(a.indexMax,a.index);}return true}},nr=(r,e)=>{const n=r.source,a=r.flags.replace(/y|$/,\"y\"),t=new RegExp(n,a);return g(o=>{t.lastIndex=o.index;const u=t.exec(o.input);if(u){if(!h(e)&&!o.options.silent){const s=d(e)?e(...u,o.input,String(o.index)):e;h(s)||o.output.push(s);}return o.index+=u[0].length,o.indexMax=Math.max(o.indexMax,o.index),true}else return false})},ar=(r,e)=>n=>{if(n.input.startsWith(r,n.index)){if(!h(e)&&!n.options.silent){const t=d(e)?e(r,n.input,String(n.index)):e;h(t)||n.output.push(t);}return n.index+=r.length,n.indexMax=Math.max(n.indexMax,n.index),true}else return false},C=(r,e,n,a)=>{const t=v(r);return g(_(M(o=>{let u=0;for(;u<n;){const s=o.index;if(!t(o)||(u+=1,o.index===s))break}return u>=e})))},tr=(r,e)=>C(r,0,1),f=(r,e)=>C(r,0,1/0),x=(r,e)=>{const n=r.map(v);return g(_(M(a=>{for(let t=0,o=n.length;t<o;t++)if(!n[t](a))return false;return true})))},l=(r,e)=>{const n=r.map(v);return g(_(a=>{for(let t=0,o=n.length;t<o;t++)if(n[t](a))return true;return false}))},M=(r,e=false)=>{const n=v(r);return a=>{const t=a.index,o=a.output.length,u=n(a);return (!u||e)&&(a.index=t,a.output.length!==o&&(a.output.length=o)),u}},_=(r,e)=>{const n=v(r);return n},g=(()=>{let r=0;return e=>{const n=v(e),a=r+=1;return t=>{var o;if(t.options.memoization===false)return n(t);const u=t.index,s=(o=t.cache)[a]||(o[a]=new Map),c=s.get(u);if(c===false)return false;if(W(c))return t.index=c,true;if(c)return t.index=c.index,c.output?.length&&t.output.push(...c.output),true;{const Z=t.output.length;if(n(t)){const D=t.index,U=t.output.length;if(U>Z){const ee=t.output.slice(Z,U);s.set(u,{index:D,output:ee});}else s.set(u,D);return true}else return s.set(u,false),false}}}})(),E=r=>{let e;return n=>(e||(e=v(r())),e(n))},v=Y(r=>{if(d(r))return Q(r)?E(r):r;if(b(r)||X(r))return i(r);if(A(r))return x(r);if(K(r))return l(Object.values(r));throw new Error(\"Invalid rule\")}),P=\"abcdefghijklmnopqrstuvwxyz\",ir=r=>{let e=\"\";for(;r>0;){const n=(r-1)%26;e=P[n]+e,r=Math.floor((r-1)/26);}return e},O=r=>{let e=0;for(let n=0,a=r.length;n<a;n++)e=e*26+P.indexOf(r[n])+1;return e},S=(r,e)=>{if(e<r)return S(e,r);const n=[];for(;r<=e;)n.push(r++);return n},or=(r,e,n)=>S(r,e).map(a=>String(a).padStart(n,\"0\")),R=(r,e)=>S(O(r),O(e)).map(ir),p=r=>r,z=r=>ur(e=>rr(e,r,{memoization:false}).join(\"\")),ur=r=>{const e={};return n=>e[n]??(e[n]=r(n))},sr=i(/^\\*\\*\\/\\*$/,\".*\"),cr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]+)$/,(r,e,n)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}`),lr=i(/^\\*\\*\\/(\\*)?([ a-zA-Z0-9._-]*)\\{([ a-zA-Z0-9._-]+(?:,[ a-zA-Z0-9._-]+)*)\\}$/,(r,e,n,a)=>`.*${e?\"\":\"(?:^|/)\"}${n.replaceAll(\".\",\"\\\\.\")}(?:${a.replaceAll(\",\",\"|\").replaceAll(\".\",\"\\\\.\")})`),y=i(/\\\\./,p),pr=i(/[$.*+?^(){}[\\]\\|]/,r=>`\\\\${r}`),vr=i(/./,p),hr=i(/^(?:!!)*!(.*)$/,(r,e)=>`(?!^${L(e)}$).*?`),dr=i(/^(!!)+/,\"\"),fr=l([hr,dr]),xr=i(/\\/(\\*\\*\\/)+/,\"(?:/.+/|/)\"),gr=i(/^(\\*\\*\\/)+/,\"(?:^|.*/)\"),mr=i(/\\/(\\*\\*)$/,\"(?:/.*|$)\"),_r=i(/\\*\\*/,\".*\"),j=l([xr,gr,mr,_r]),Sr=i(/\\*\\/(?!\\*\\*\\/)/,\"[^/]*/\"),yr=i(/\\*/,\"[^/]*\"),N=l([Sr,yr]),k=i(\"?\",\"[^/]\"),$r=i(\"[\",p),wr=i(\"]\",p),Ar=i(/[!^]/,\"^/\"),br=i(/[a-z]-[a-z]|[0-9]-[0-9]/i,p),Cr=i(/[$.*+?^(){}[\\|]/,r=>`\\\\${r}`),Mr=i(/[^\\]]/,p),Er=l([y,Cr,br,Mr]),B=x([$r,tr(Ar),f(Er),wr]),Pr=i(\"{\",\"(?:\"),Or=i(\"}\",\")\"),Rr=i(/(\\d+)\\.\\.(\\d+)/,(r,e,n)=>or(+e,+n,Math.min(e.length,n.length)).join(\"|\")),zr=i(/([a-z]+)\\.\\.([a-z]+)/,(r,e,n)=>R(e,n).join(\"|\")),jr=i(/([A-Z]+)\\.\\.([A-Z]+)/,(r,e,n)=>R(e.toLowerCase(),n.toLowerCase()).join(\"|\").toUpperCase()),Nr=l([Rr,zr,jr]),I=x([Pr,Nr,Or]),kr=i(\"{\",\"(?:\"),Br=i(\"}\",\")\"),Ir=i(\",\",\"|\"),Fr=i(/[$.*+?^(){[\\]\\|]/,r=>`\\\\${r}`),Lr=i(/[^}]/,p),Zr=E(()=>F),Dr=l([j,N,k,B,I,Zr,y,Fr,Ir,Lr]),F=x([kr,f(Dr),Br]),Ur=f(l([sr,cr,lr,fr,j,N,k,B,I,F,y,pr,vr])),Vr=Ur,Gr=z(Vr),L=Gr,Tr=i(/\\\\./,p),qr=i(/./,p),Hr=i(/\\*\\*\\*+/,\"*\"),Jr=i(/([^/{[(!])\\*\\*/,(r,e)=>`${e}*`),Qr=i(/(^|.)\\*\\*(?=[^*/)\\]}])/,(r,e)=>`${e}*`),Wr=f(l([Tr,Hr,Jr,Qr,qr])),Kr=Wr,Xr=z(Kr),Yr=Xr,$=(r,e)=>{const n=Array.isArray(r)?r:[r];if(!n.length)return false;const a=n.map($.compile),t=n.every(s=>/(\\/(?:\\*\\*)?|\\[\\/\\])$/.test(s)),o=e.replace(/[\\\\\\/]+/g,\"/\").replace(/\\/$/,t?\"/\":\"\");return a.some(s=>s.test(o))};$.compile=r=>new RegExp(`^${L(Yr(r))}$`,\"s\");var re=$;return J(w)})();\n return __lib__.default || __lib__; };\nlet _match;\nconst zeptomatch = (path, pattern) => {\n if (!_match) {\n _match = _lazyMatch();\n _lazyMatch = null;\n }\n return _match(path, pattern);\n};\n\nconst _DRIVE_LETTER_START_RE = /^[A-Za-z]:\\//;\nfunction normalizeWindowsPath(input = \"\") {\n if (!input) {\n return input;\n }\n return input.replace(/\\\\/g, \"/\").replace(_DRIVE_LETTER_START_RE, (r) => r.toUpperCase());\n}\n\nconst _UNC_REGEX = /^[/\\\\]{2}/;\nconst _IS_ABSOLUTE_RE = /^[/\\\\](?![/\\\\])|^[/\\\\]{2}(?!\\.)|^[A-Za-z]:[/\\\\]/;\nconst _DRIVE_LETTER_RE = /^[A-Za-z]:$/;\nconst _ROOT_FOLDER_RE = /^\\/([A-Za-z]:)?$/;\nconst _EXTNAME_RE = /.(\\.[^./]+|\\.)$/;\nconst _PATH_ROOT_RE = /^[/\\\\]|^[a-zA-Z]:[/\\\\]/;\nconst sep = \"/\";\nconst normalize = function(path) {\n if (path.length === 0) {\n return \".\";\n }\n path = normalizeWindowsPath(path);\n const isUNCPath = path.match(_UNC_REGEX);\n const isPathAbsolute = isAbsolute(path);\n const trailingSeparator = path[path.length - 1] === \"/\";\n path = normalizeString(path, !isPathAbsolute);\n if (path.length === 0) {\n if (isPathAbsolute) {\n return \"/\";\n }\n return trailingSeparator ? \"./\" : \".\";\n }\n if (trailingSeparator) {\n path += \"/\";\n }\n if (_DRIVE_LETTER_RE.test(path)) {\n path += \"/\";\n }\n if (isUNCPath) {\n if (!isPathAbsolute) {\n return `//./${path}`;\n }\n return `//${path}`;\n }\n return isPathAbsolute && !isAbsolute(path) ? `/${path}` : path;\n};\nconst join = function(...segments) {\n let path = \"\";\n for (const seg of segments) {\n if (!seg) {\n continue;\n }\n if (path.length > 0) {\n const pathTrailing = path[path.length - 1] === \"/\";\n const segLeading = seg[0] === \"/\";\n const both = pathTrailing && segLeading;\n if (both) {\n path += seg.slice(1);\n } else {\n path += pathTrailing || segLeading ? seg : `/${seg}`;\n }\n } else {\n path += seg;\n }\n }\n return normalize(path);\n};\nfunction cwd() {\n if (typeof process !== \"undefined\" && typeof process.cwd === \"function\") {\n return process.cwd().replace(/\\\\/g, \"/\");\n }\n return \"/\";\n}\nconst resolve = function(...arguments_) {\n arguments_ = arguments_.map((argument) => normalizeWindowsPath(argument));\n let resolvedPath = \"\";\n let resolvedAbsolute = false;\n for (let index = arguments_.length - 1; index >= -1 && !resolvedAbsolute; index--) {\n const path = index >= 0 ? arguments_[index] : cwd();\n if (!path || path.length === 0) {\n continue;\n }\n resolvedPath = `${path}/${resolvedPath}`;\n resolvedAbsolute = isAbsolute(path);\n }\n resolvedPath = normalizeString(resolvedPath, !resolvedAbsolute);\n if (resolvedAbsolute && !isAbsolute(resolvedPath)) {\n return `/${resolvedPath}`;\n }\n return resolvedPath.length > 0 ? resolvedPath : \".\";\n};\nfunction normalizeString(path, allowAboveRoot) {\n let res = \"\";\n let lastSegmentLength = 0;\n let lastSlash = -1;\n let dots = 0;\n let char = null;\n for (let index = 0; index <= path.length; ++index) {\n if (index < path.length) {\n char = path[index];\n } else if (char === \"/\") {\n break;\n } else {\n char = \"/\";\n }\n if (char === \"/\") {\n if (lastSlash === index - 1 || dots === 1) ; else if (dots === 2) {\n if (res.length < 2 || lastSegmentLength !== 2 || res[res.length - 1] !== \".\" || res[res.length - 2] !== \".\") {\n if (res.length > 2) {\n const lastSlashIndex = res.lastIndexOf(\"/\");\n if (lastSlashIndex === -1) {\n res = \"\";\n lastSegmentLength = 0;\n } else {\n res = res.slice(0, lastSlashIndex);\n lastSegmentLength = res.length - 1 - res.lastIndexOf(\"/\");\n }\n lastSlash = index;\n dots = 0;\n continue;\n } else if (res.length > 0) {\n res = \"\";\n lastSegmentLength = 0;\n lastSlash = index;\n dots = 0;\n continue;\n }\n }\n if (allowAboveRoot) {\n res += res.length > 0 ? \"/..\" : \"..\";\n lastSegmentLength = 2;\n }\n } else {\n if (res.length > 0) {\n res += `/${path.slice(lastSlash + 1, index)}`;\n } else {\n res = path.slice(lastSlash + 1, index);\n }\n lastSegmentLength = index - lastSlash - 1;\n }\n lastSlash = index;\n dots = 0;\n } else if (char === \".\" && dots !== -1) {\n ++dots;\n } else {\n dots = -1;\n }\n }\n return res;\n}\nconst isAbsolute = function(p) {\n return _IS_ABSOLUTE_RE.test(p);\n};\nconst toNamespacedPath = function(p) {\n return normalizeWindowsPath(p);\n};\nconst extname = function(p) {\n if (p === \"..\") return \"\";\n const match = _EXTNAME_RE.exec(normalizeWindowsPath(p));\n return match && match[1] || \"\";\n};\nconst relative = function(from, to) {\n const _from = resolve(from).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n const _to = resolve(to).replace(_ROOT_FOLDER_RE, \"$1\").split(\"/\");\n if (_to[0][1] === \":\" && _from[0][1] === \":\" && _from[0] !== _to[0]) {\n return _to.join(\"/\");\n }\n const _fromCopy = [..._from];\n for (const segment of _fromCopy) {\n if (_to[0] !== segment) {\n break;\n }\n _from.shift();\n _to.shift();\n }\n return [..._from.map(() => \"..\"), ..._to].join(\"/\");\n};\nconst dirname = function(p) {\n const segments = normalizeWindowsPath(p).replace(/\\/$/, \"\").split(\"/\").slice(0, -1);\n if (segments.length === 1 && _DRIVE_LETTER_RE.test(segments[0])) {\n segments[0] += \"/\";\n }\n return segments.join(\"/\") || (isAbsolute(p) ? \"/\" : \".\");\n};\nconst format = function(p) {\n const ext = p.ext ? p.ext.startsWith(\".\") ? p.ext : `.${p.ext}` : \"\";\n const segments = [p.root, p.dir, p.base ?? (p.name ?? \"\") + ext].filter(\n Boolean\n );\n return normalizeWindowsPath(\n p.root ? resolve(...segments) : segments.join(\"/\")\n );\n};\nconst basename = function(p, extension) {\n const segments = normalizeWindowsPath(p).split(\"/\");\n let lastSegment = \"\";\n for (let i = segments.length - 1; i >= 0; i--) {\n const val = segments[i];\n if (val) {\n lastSegment = val;\n break;\n }\n }\n return extension && lastSegment.endsWith(extension) ? lastSegment.slice(0, -extension.length) : lastSegment;\n};\nconst parse = function(p) {\n const root = _PATH_ROOT_RE.exec(p)?.[0]?.replace(/\\\\/g, \"/\") || \"\";\n const base = basename(p);\n const extension = extname(base);\n return {\n root,\n dir: dirname(p),\n base,\n ext: extension,\n name: base.slice(0, base.length - extension.length)\n };\n};\nconst matchesGlob = (path, pattern) => {\n return zeptomatch(pattern, normalize(path));\n};\n\nconst _path = {\n __proto__: null,\n basename: basename,\n dirname: dirname,\n extname: extname,\n format: format,\n isAbsolute: isAbsolute,\n join: join,\n matchesGlob: matchesGlob,\n normalize: normalize,\n normalizeString: normalizeString,\n parse: parse,\n relative: relative,\n resolve: resolve,\n sep: sep,\n toNamespacedPath: toNamespacedPath\n};\n\nexport { _path as _, normalizeString as a, relative as b, basename as c, dirname as d, extname as e, format as f, normalizeWindowsPath as g, isAbsolute as i, join as j, matchesGlob as m, normalize as n, parse as p, resolve as r, sep as s, toNamespacedPath as t };\n","function isPlainObject(value) {\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n if (prototype !== null && prototype !== Object.prototype && Object.getPrototypeOf(prototype) !== null) {\n return false;\n }\n if (Symbol.iterator in value) {\n return false;\n }\n if (Symbol.toStringTag in value) {\n return Object.prototype.toString.call(value) === \"[object Module]\";\n }\n return true;\n}\n\nfunction _defu(baseObject, defaults, namespace = \".\", merger) {\n if (!isPlainObject(defaults)) {\n return _defu(baseObject, {}, namespace, merger);\n }\n const object = { ...defaults };\n for (const key of Object.keys(baseObject)) {\n if (key === \"__proto__\" || key === \"constructor\") {\n continue;\n }\n const value = baseObject[key];\n if (value === null || value === void 0) {\n continue;\n }\n if (merger && merger(object, key, value, namespace)) {\n continue;\n }\n if (Array.isArray(value) && Array.isArray(object[key])) {\n object[key] = [...value, ...object[key]];\n } else if (isPlainObject(value) && isPlainObject(object[key])) {\n object[key] = _defu(\n value,\n object[key],\n (namespace ? `${namespace}.` : \"\") + key.toString(),\n merger\n );\n } else {\n object[key] = value;\n }\n }\n return object;\n}\nfunction createDefu(merger) {\n return (...arguments_) => (\n // eslint-disable-next-line unicorn/no-array-reduce\n arguments_.reduce((p, c) => _defu(p, c, \"\", merger), {})\n );\n}\nconst defu = createDefu();\nconst defuFn = createDefu((object, key, currentValue) => {\n if (object[key] !== void 0 && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\nconst defuArrayFn = createDefu((object, key, currentValue) => {\n if (Array.isArray(object[key]) && typeof currentValue === \"function\") {\n object[key] = currentValue(object[key]);\n return true;\n }\n});\n\nexport { createDefu, defu as default, defu, defuArrayFn, defuFn };\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { r as ok } from "./attemptAsync-BdXzRSIT.js";
2
- import { r as fs_exports } from "./node-C91xGGqn.js";
3
- import { t as jsonParse } from "./json-D7WbuVK1.js";
1
+ import { r as ok } from "./attemptAsync-D_oWcKfe.js";
2
+ import { t as jsonParse } from "./json-DjLTvRvF.js";
3
+ import { t as fs_exports } from "./fs-Uxhr-pvi-AfTuGWmD.js";
4
4
  import { join } from "node:path";
5
5
  //#region src/lib/detect.ts
6
6
  /**
@@ -58,4 +58,4 @@ async function readPackageJson(filePath) {
58
58
  //#endregion
59
59
  export { detectProject as t };
60
60
 
61
- //# sourceMappingURL=detect-AOq1ehTE.js.map
61
+ //# sourceMappingURL=detect-Gdceq3rh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-AOq1ehTE.js","names":["fs"],"sources":["../src/lib/detect.ts"],"sourcesContent":["import { join } from 'node:path'\n\nimport { ok } from '@maltty/utils/fp'\nimport type { ResultAsync } from '@maltty/utils/fp'\nimport { jsonParse } from '@maltty/utils/json'\nimport { fs } from '@maltty/utils/node'\n\nimport type { GenerateError, ProjectInfo } from './types.js'\n\n/**\n * Detect whether the given directory contains a maltty-based CLI project.\n *\n * Looks for a `package.json` with `maltty` listed in `dependencies` or\n * `devDependencies`, and checks for a `src/commands/` directory.\n *\n * @param cwd - The directory to inspect.\n * @returns An async Result containing project info or null when no maltty project is found.\n */\nexport async function detectProject(cwd: string): ResultAsync<ProjectInfo | null, GenerateError> {\n const packageJsonPath = join(cwd, 'package.json')\n const packageExists = await fs.exists(packageJsonPath)\n if (!packageExists) {\n return ok(null)\n }\n\n const [readError, pkg] = await readPackageJson(packageJsonPath)\n if (readError) {\n return [readError, null]\n }\n\n const deps = pkg.dependencies ?? {}\n const devDeps = pkg.devDependencies ?? {}\n const hasMalttyDep = 'maltty' in deps || 'maltty' in devDeps\n\n if (!hasMalttyDep) {\n return ok(null)\n }\n\n const commandsPath = join(cwd, 'src', 'commands')\n const commandsDirExists = await fs.exists(commandsPath)\n\n if (commandsDirExists) {\n return ok({\n commandsDir: commandsPath,\n hasMalttyDep,\n rootDir: cwd,\n })\n }\n\n return ok({\n commandsDir: null,\n hasMalttyDep,\n rootDir: cwd,\n })\n}\n\n/**\n * Minimal package.json shape needed for detection.\n *\n * @private\n */\ninterface PackageJson {\n readonly dependencies?: Record<string, string>\n readonly devDependencies?: Record<string, string>\n}\n\n/**\n * Read and parse a package.json file.\n *\n * @param filePath - Absolute path to the package.json.\n * @returns A Result tuple with the parsed package data or a GenerateError.\n * @private\n */\nasync function readPackageJson(filePath: string): ResultAsync<PackageJson, GenerateError> {\n const [readError, content] = await fs.read(filePath)\n if (readError) {\n return [\n {\n message: `Failed to read package.json: ${readError.message}`,\n path: filePath,\n type: 'read_error' as const,\n },\n null,\n ]\n }\n\n const [parseError, data] = jsonParse(content)\n if (parseError) {\n return [\n {\n message: `Failed to parse package.json: ${parseError.message}`,\n path: filePath,\n type: 'read_error' as const,\n },\n null,\n ]\n }\n\n return ok(data as PackageJson)\n}\n"],"mappings":";;;;;;;;;;;;;;AAkBA,eAAsB,cAAc,KAA6D;CAC/F,MAAM,kBAAkB,KAAK,KAAK,eAAe;AAEjD,KAAI,CADkB,MAAMA,WAAG,OAAO,gBAAgB,CAEpD,QAAO,GAAG,KAAK;CAGjB,MAAM,CAAC,WAAW,OAAO,MAAM,gBAAgB,gBAAgB;AAC/D,KAAI,UACF,QAAO,CAAC,WAAW,KAAK;CAG1B,MAAM,OAAO,IAAI,gBAAgB,EAAE;CACnC,MAAM,UAAU,IAAI,mBAAmB,EAAE;CACzC,MAAM,eAAe,YAAY,QAAQ,YAAY;AAErD,KAAI,CAAC,aACH,QAAO,GAAG,KAAK;CAGjB,MAAM,eAAe,KAAK,KAAK,OAAO,WAAW;AAGjD,KAF0B,MAAMA,WAAG,OAAO,aAAa,CAGrD,QAAO,GAAG;EACR,aAAa;EACb;EACA,SAAS;EACV,CAAC;AAGJ,QAAO,GAAG;EACR,aAAa;EACb;EACA,SAAS;EACV,CAAC;;;;;;;;;AAoBJ,eAAe,gBAAgB,UAA2D;CACxF,MAAM,CAAC,WAAW,WAAW,MAAMA,WAAG,KAAK,SAAS;AACpD,KAAI,UACF,QAAO,CACL;EACE,SAAS,gCAAgC,UAAU;EACnD,MAAM;EACN,MAAM;EACP,EACD,KACD;CAGH,MAAM,CAAC,YAAY,QAAQ,UAAU,QAAQ;AAC7C,KAAI,WACF,QAAO,CACL;EACE,SAAS,iCAAiC,WAAW;EACrD,MAAM;EACN,MAAM;EACP,EACD,KACD;AAGH,QAAO,GAAG,KAAoB"}
1
+ {"version":3,"file":"detect-Gdceq3rh.js","names":["fs"],"sources":["../src/lib/detect.ts"],"sourcesContent":["import { join } from 'node:path'\n\nimport { ok } from '@maltty/utils/fp'\nimport type { ResultAsync } from '@maltty/utils/fp'\nimport { jsonParse } from '@maltty/utils/json'\nimport { fs } from '@maltty/utils/node'\n\nimport type { GenerateError, ProjectInfo } from './types.js'\n\n/**\n * Detect whether the given directory contains a maltty-based CLI project.\n *\n * Looks for a `package.json` with `maltty` listed in `dependencies` or\n * `devDependencies`, and checks for a `src/commands/` directory.\n *\n * @param cwd - The directory to inspect.\n * @returns An async Result containing project info or null when no maltty project is found.\n */\nexport async function detectProject(cwd: string): ResultAsync<ProjectInfo | null, GenerateError> {\n const packageJsonPath = join(cwd, 'package.json')\n const packageExists = await fs.exists(packageJsonPath)\n if (!packageExists) {\n return ok(null)\n }\n\n const [readError, pkg] = await readPackageJson(packageJsonPath)\n if (readError) {\n return [readError, null]\n }\n\n const deps = pkg.dependencies ?? {}\n const devDeps = pkg.devDependencies ?? {}\n const hasMalttyDep = 'maltty' in deps || 'maltty' in devDeps\n\n if (!hasMalttyDep) {\n return ok(null)\n }\n\n const commandsPath = join(cwd, 'src', 'commands')\n const commandsDirExists = await fs.exists(commandsPath)\n\n if (commandsDirExists) {\n return ok({\n commandsDir: commandsPath,\n hasMalttyDep,\n rootDir: cwd,\n })\n }\n\n return ok({\n commandsDir: null,\n hasMalttyDep,\n rootDir: cwd,\n })\n}\n\n/**\n * Minimal package.json shape needed for detection.\n *\n * @private\n */\ninterface PackageJson {\n readonly dependencies?: Record<string, string>\n readonly devDependencies?: Record<string, string>\n}\n\n/**\n * Read and parse a package.json file.\n *\n * @param filePath - Absolute path to the package.json.\n * @returns A Result tuple with the parsed package data or a GenerateError.\n * @private\n */\nasync function readPackageJson(filePath: string): ResultAsync<PackageJson, GenerateError> {\n const [readError, content] = await fs.read(filePath)\n if (readError) {\n return [\n {\n message: `Failed to read package.json: ${readError.message}`,\n path: filePath,\n type: 'read_error' as const,\n },\n null,\n ]\n }\n\n const [parseError, data] = jsonParse(content)\n if (parseError) {\n return [\n {\n message: `Failed to parse package.json: ${parseError.message}`,\n path: filePath,\n type: 'read_error' as const,\n },\n null,\n ]\n }\n\n return ok(data as PackageJson)\n}\n"],"mappings":";;;;;;;;;;;;;;AAkBA,eAAsB,cAAc,KAA6D;CAC/F,MAAM,kBAAkB,KAAK,KAAK,cAAc;CAEhD,IAAI,CAAC,MADuBA,WAAG,OAAO,eAAe,GAEnD,OAAO,GAAG,IAAI;CAGhB,MAAM,CAAC,WAAW,OAAO,MAAM,gBAAgB,eAAe;CAC9D,IAAI,WACF,OAAO,CAAC,WAAW,IAAI;CAGzB,MAAM,OAAO,IAAI,gBAAgB,CAAC;CAClC,MAAM,UAAU,IAAI,mBAAmB,CAAC;CACxC,MAAM,eAAe,YAAY,QAAQ,YAAY;CAErD,IAAI,CAAC,cACH,OAAO,GAAG,IAAI;CAGhB,MAAM,eAAe,KAAK,KAAK,OAAO,UAAU;CAGhD,IAAI,MAF4BA,WAAG,OAAO,YAAY,GAGpD,OAAO,GAAG;EACR,aAAa;EACb;EACA,SAAS;CACX,CAAC;CAGH,OAAO,GAAG;EACR,aAAa;EACb;EACA,SAAS;CACX,CAAC;AACH;;;;;;;;AAmBA,eAAe,gBAAgB,UAA2D;CACxF,MAAM,CAAC,WAAW,WAAW,MAAMA,WAAG,KAAK,QAAQ;CACnD,IAAI,WACF,OAAO,CACL;EACE,SAAS,gCAAgC,UAAU;EACnD,MAAM;EACN,MAAM;CACR,GACA,IACF;CAGF,MAAM,CAAC,YAAY,QAAQ,UAAU,OAAO;CAC5C,IAAI,YACF,OAAO,CACL;EACE,SAAS,iCAAiC,WAAW;EACrD,MAAM;EACN,MAAM;CACR,GACA,IACF;CAGF,OAAO,GAAG,IAAmB;AAC/B"}