@raclettejs/core 0.1.21 → 0.1.23

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
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.1.23] - 2026-03-11 <a href="https://gitlab.com/raclettejs/core-dev/-/compare/v0.1.21...v0.1.23" target="_blank" rel="noopener"><b>Overview of all changes</b></a>
11
+
12
+ ### Fixed
13
+
14
+ - Orchestrator/Frontend: route params with nullish values are now passed properly to widget components
15
+
10
16
  ## [0.1.21] - 2026-03-05 <a href="https://gitlab.com/raclettejs/core-dev/-/compare/v0.1.20...v0.1.21" target="_blank" rel="noopener"><b>Overview of all changes</b></a>
11
17
 
12
18
  ### Fixed
package/dist/cli.js CHANGED
@@ -27,7 +27,7 @@ Expecting one of '${n.join("', '")}'`);return this._lifeCycleHooks[t]?this._life
27
27
  Expecting one of '${n.join("', '")}'`);let o=`${t}Help`;return this.on(o,i=>{let s;typeof r=="function"?s=r({error:i.error,command:i.command}):s=r,s&&i.write(`${s}
28
28
  `)}),this}_outputHelpIfRequested(t){let r=this._getHelpOption();r&&t.find(o=>r.is(o))&&(this.outputHelp(),this._exit(0,"commander.helpDisplayed","(outputHelp)"))}};function Aa(e){return e.map(t=>{if(!t.startsWith("--inspect"))return t;let r,n="127.0.0.1",o="9229",i;return(i=t.match(/^(--inspect(-brk)?)$/))!==null?r=i[1]:(i=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null?(r=i[1],/^\d+$/.test(i[3])?o=i[3]:n=i[3]):(i=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null&&(r=i[1],n=i[3],o=i[4]),r&&o!=="0"?`${r}=${n}:${parseInt(o)+1}`:t})}function _o(){if(M.env.NO_COLOR||M.env.FORCE_COLOR==="0"||M.env.FORCE_COLOR==="false")return!1;if(M.env.FORCE_COLOR||M.env.CLICOLOR_FORCE!==void 0)return!0}Eo.Command=bo;Eo.useColor=_o});var Pa=x(Oe=>{var{Argument:Ra}=Br(),{Command:xo}=Sa(),{CommanderError:vh,InvalidArgumentError:Oa}=cr(),{Help:bh}=po(),{Option:Ta}=go();Oe.program=new xo;Oe.createCommand=e=>new xo(e);Oe.createOption=(e,t)=>new Ta(e,t);Oe.createArgument=(e,t)=>new Ra(e,t);Oe.Command=xo;Oe.Option=Ta;Oe.Argument=Ra;Oe.Help=bh;Oe.CommanderError=vh;Oe.InvalidArgumentError=Oa;Oe.InvalidOptionArgumentError=Oa});var Fc=x((mC,Gg)=>{Gg.exports={name:"dotenv",version:"17.2.2",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=text --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var Uc=x((gC,Je)=>{var jo=F("fs"),Xr=F("path"),Ug=F("os"),Wg=F("crypto"),qg=Fc(),Fo=qg.version,Mc=["\u{1F510} encrypt with Dotenvx: https://dotenvx.com","\u{1F510} prevent committing .env to code: https://dotenvx.com/precommit","\u{1F510} prevent building .env in docker: https://dotenvx.com/prebuild","\u{1F4E1} observe env with Radar: https://dotenvx.com/radar","\u{1F4E1} auto-backup env with Radar: https://dotenvx.com/radar","\u{1F4E1} version env with Radar: https://dotenvx.com/radar","\u{1F6E0}\uFE0F run anywhere with `dotenvx run -- yourcommand`","\u2699\uFE0F specify custom .env file path with { path: '/custom/path/.env' }","\u2699\uFE0F enable debug logging with { debug: true }","\u2699\uFE0F override existing env vars with { override: true }","\u2699\uFE0F suppress all logs with { quiet: true }","\u2699\uFE0F write to custom object with { processEnv: myObject }","\u2699\uFE0F load multiple .env files with { path: ['.env.local', '.env'] }"];function Yg(){return Mc[Math.floor(Math.random()*Mc.length)]}function Ft(e){return typeof e=="string"?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function Kg(){return process.stdout.isTTY}function Xg(e){return Kg()?`\x1B[2m${e}\x1B[0m`:e}var zg=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Jg(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,`
29
29
  `);let n;for(;(n=zg.exec(r))!=null;){let o=n[1],i=n[2]||"";i=i.trim();let s=i[0];i=i.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(i=i.replace(/\\n/g,`
30
- `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}function Qg(e){e=e||{};let t=Gc(e);e.path=t;let r=ce.configDotenv(e);if(!r.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=Vc(e).split(","),o=n.length,i;for(let s=0;s<o;s++)try{let a=n[s].trim(),c=ey(r,a);i=ce.decrypt(c.ciphertext,c.key);break}catch(a){if(s+1>=o)throw a}return ce.parse(i)}function Zg(e){console.error(`[dotenv@${Fo}][WARN] ${e}`)}function mr(e){console.log(`[dotenv@${Fo}][DEBUG] ${e}`)}function Hc(e){console.log(`[dotenv@${Fo}] ${e}`)}function Vc(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ey(e,t){let r;try{r=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw a}let n=r.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let o=r.searchParams.get("environment");if(!o){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let i=`DOTENV_VAULT_${o.toUpperCase()}`,s=e.parsed[i];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function Gc(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)jo.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=Xr.resolve(process.cwd(),".env.vault");return jo.existsSync(t)?t:null}function Bc(e){return e[0]==="~"?Xr.join(Ug.homedir(),e.slice(1)):e}function ty(e){let t=Ft(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),r=Ft(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!r)&&Hc("Loading env from encrypted .env.vault");let n=ce._parseVault(e),o=process.env;return e&&e.processEnv!=null&&(o=e.processEnv),ce.populate(o,n,e),{parsed:n}}function ry(e){let t=Xr.resolve(process.cwd(),".env"),r="utf8",n=process.env;e&&e.processEnv!=null&&(n=e.processEnv);let o=Ft(n.DOTENV_CONFIG_DEBUG||e&&e.debug),i=Ft(n.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:o&&mr("No encoding is specified. UTF-8 is used by default");let s=[t];if(e&&e.path)if(!Array.isArray(e.path))s=[Bc(e.path)];else{s=[];for(let l of e.path)s.push(Bc(l))}let a,c={};for(let l of s)try{let p=ce.parse(jo.readFileSync(l,{encoding:r}));ce.populate(c,p,e)}catch(p){o&&mr(`Failed to load ${l} ${p.message}`),a=p}let u=ce.populate(n,c,e);if(o=Ft(n.DOTENV_CONFIG_DEBUG||o),i=Ft(n.DOTENV_CONFIG_QUIET||i),o||!i){let l=Object.keys(u).length,p=[];for(let d of s)try{let y=Xr.relative(process.cwd(),d);p.push(y)}catch(y){o&&mr(`Failed to load ${d} ${y.message}`),a=y}Hc(`injecting env (${l}) from ${p.join(",")} ${Xg(`-- tip: ${Yg()}`)}`)}return a?{parsed:c,error:a}:{parsed:c}}function ny(e){if(Vc(e).length===0)return ce.configDotenv(e);let t=Gc(e);return t?ce._configVault(e):(Zg(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),ce.configDotenv(e))}function oy(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),o=n.subarray(0,12),i=n.subarray(-16);n=n.subarray(12,-16);try{let s=Wg.createDecipheriv("aes-256-gcm",r,o);return s.setAuthTag(i),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,c=s.message==="Invalid key length",u=s.message==="Unsupported state or unable to authenticate data";if(a||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(u){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw s}}function iy(e,t,r={}){let n=!!(r&&r.debug),o=!!(r&&r.override),i={};if(typeof t!="object"){let s=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw s.code="OBJECT_REQUIRED",s}for(let s of Object.keys(t))Object.prototype.hasOwnProperty.call(e,s)?(o===!0&&(e[s]=t[s],i[s]=t[s]),n&&mr(o===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):(e[s]=t[s],i[s]=t[s]);return i}var ce={configDotenv:ry,_configVault:ty,_parseVault:Qg,config:ny,decrypt:oy,parse:Jg,populate:iy};Je.exports.configDotenv=ce.configDotenv;Je.exports._configVault=ce._configVault;Je.exports._parseVault=ce._parseVault;Je.exports.config=ce.config;Je.exports.decrypt=ce.decrypt;Je.exports.parse=ce.parse;Je.exports.populate=ce.populate;Je.exports=ce});var Mo=x((yC,sy)=>{sy.exports={name:"@raclettejs/core",version:"0.1.20",description:"racletteJS core package",repository:"https://gitlab.com/raclettejs/core",author:"Pacifico Digital Explorations GmbH <info@raclettejs.com>",license:"AGPL-3.0-only",type:"module",scripts:{build:"node build.mjs || true",dev:"node watch.mjs",watch:"node watch.mjs","format:check":"prettier --check .","format:fix":"prettier --write .",lint:"eslint","lint:grouped":"FILTER_RULE=$RULE eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --format ./dev/eslint/groupByRuleFormatter.cjs","lint:fix":"eslint --fix",prepare:"husky",prepublishOnly:"yarn run build && yarn run sync","publish:patch":"yarn version --patch && yarn publish",sync:"node ./scripts/sync-exports.js"},bin:{raclette:"./bin/cli.js"},main:"index.js",types:"./types/index.ts",files:["services","bin","dist","types","scripts","index.js","README.md","yarn.lock","src/types.ts","LICENSE.md"],exports:{".":{types:"./types/index.ts",import:"./dist/index.js"},"./backend":{types:"./services/backend/src/index.ts",import:"./services/backend/src/index.ts"},"./frontend":{types:"./services/frontend/src/core/index.ts",import:"./services/frontend/src/core/index.ts"},"./orchestrator":{types:"./services/frontend/src/orchestrator/index.ts",import:"./services/frontend/src/orchestrator/index.ts"}},config:{},dependencies:{"@inquirer/prompts":"8.2.0","@types/mustache":"4.2.6",chalk:"5.6.2",chokidar:"3.6.0","cli-highlight":"2.1.11",commander:"14.0.1",dotenv:"17.2.2",esbuild:"0.25.9","fs-extra":"11.3.2",globby:"14.1.0","js-yaml":"4.1.0",mustache:"4.2.0",ramda:"0.31.3","tsc-alias":"1.8.16"},devDependencies:{"@eslint/js":"9.35.0","@raclettejs/types":"workspace:^","@types/fs-extra":"11.0.4","@types/js-yaml":"4.0.9","@types/node":"24.5.1","@types/ramda":"0.31.1",eslint:"9.35.0","eslint-config-prettier":"10.1.8","eslint-flat-config-utils":"2.1.1","eslint-plugin-import":"2.32.0","eslint-plugin-prefer-arrow-functions":"3.8.1","eslint-plugin-prettier":"5.5.4","eslint-plugin-vue":"10.4.0",globals:"16.4.0",husky:"9.1.7",prettier:"3.6.2",typescript:"5.9.2","typescript-eslint":"8.44.0","vue-eslint-parser":"10.2.0"}}});import{on as zy,once as Jy}from"node:events";import{PassThrough as Qy}from"node:stream";import{finished as bl}from"node:stream/promises";function ei(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, got \`${typeof e}\`.`);for(let o of e)Qo(o);let t=e.some(({readableObjectMode:o})=>o),r=Zy(e,t),n=new Jo({objectMode:t,writableHighWaterMark:r,readableHighWaterMark:r});for(let o of e)n.add(o);return e.length===0&&xl(n),n}var Zy,Jo,ev,tv,rv,Qo,nv,_l,ov,iv,sv,El,xl,Zo,kl,av,cn,yl,vl,wl=ct(()=>{Zy=(e,t)=>{if(e.length===0)return 16384;let r=e.filter(({readableObjectMode:n})=>n===t).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Jo=class extends Qy{#e=new Set([]);#r=new Set([]);#n=new Set([]);#t;add(t){Qo(t),!this.#e.has(t)&&(this.#e.add(t),this.#t??=ev(this,this.#e),nv({passThroughStream:this,stream:t,streams:this.#e,ended:this.#r,aborted:this.#n,onFinished:this.#t}),t.pipe(this,{end:!1}))}remove(t){return Qo(t),this.#e.has(t)?(t.unpipe(this),!0):!1}},ev=async(e,t)=>{cn(e,yl);let r=new AbortController;try{await Promise.race([tv(e,r),rv(e,t,r)])}finally{r.abort(),cn(e,-yl)}},tv=async(e,{signal:t})=>{await bl(e,{signal:t,cleanup:!0})},rv=async(e,t,{signal:r})=>{for await(let[n]of zy(e,"unpipe",{signal:r}))t.has(n)&&n.emit(El)},Qo=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof e}\`.`)},nv=async({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,onFinished:i})=>{cn(e,vl);let s=new AbortController;try{await Promise.race([ov(i,t),iv({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,controller:s}),sv({stream:t,streams:r,ended:n,aborted:o,controller:s})])}finally{s.abort(),cn(e,-vl)}r.size===n.size+o.size&&(n.size===0&&o.size>0?Zo(e):xl(e))},_l=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",ov=async(e,t)=>{try{await e,Zo(t)}catch(r){_l(r)?Zo(t):kl(t,r)}},iv=async({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,controller:{signal:i}})=>{try{await bl(t,{signal:i,cleanup:!0,readable:!0,writable:!1}),r.has(t)&&n.add(t)}catch(s){if(i.aborted||!r.has(t))return;_l(s)?o.add(t):kl(e,s)}},sv=async({stream:e,streams:t,ended:r,aborted:n,controller:{signal:o}})=>{await Jy(e,El,{signal:o}),t.delete(e),r.delete(e),n.delete(e)},El=Symbol("unpipe"),xl=e=>{e.writable&&e.end()},Zo=e=>{(e.readable||e.writable)&&e.destroy()},kl=(e,t)=>{e.destroyed||(e.once("error",av),e.destroy(t))},av=()=>{},cn=(e,t)=>{let r=e.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&e.setMaxListeners(r+t)},yl=2,vl=1});var Cl=x(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.splitWhen=Ut.flatten=void 0;function cv(e){return e.reduce((t,r)=>[].concat(t,r),[])}Ut.flatten=cv;function lv(e,t){let r=[[]],n=0;for(let o of e)t(o)?(n++,r[n]=[]):r[n].push(o);return r}Ut.splitWhen=lv});var Al=x(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.isEnoentCodeError=void 0;function uv(e){return e.code==="ENOENT"}ln.isEnoentCodeError=uv});var Sl=x(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.createDirentFromStats=void 0;var ti=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function pv(e,t){return new ti(e,t)}un.createDirentFromStats=pv});var Pl=x(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.convertPosixPathToPattern=oe.convertWindowsPathToPattern=oe.convertPathToPattern=oe.escapePosixPath=oe.escapeWindowsPath=oe.escape=oe.removeLeadingDotSegment=oe.makeAbsolute=oe.unixify=void 0;var dv=F("os"),fv=F("path"),Rl=dv.platform()==="win32",hv=2,mv=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,gv=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,yv=/^\\\\([.?])/,vv=/\\(?![!()+@[\]{}])/g;function bv(e){return e.replace(/\\/g,"/")}oe.unixify=bv;function _v(e,t){return fv.resolve(e,t)}oe.makeAbsolute=_v;function Ev(e){if(e.charAt(0)==="."){let t=e.charAt(1);if(t==="/"||t==="\\")return e.slice(hv)}return e}oe.removeLeadingDotSegment=Ev;oe.escape=Rl?ri:ni;function ri(e){return e.replace(gv,"\\$2")}oe.escapeWindowsPath=ri;function ni(e){return e.replace(mv,"\\$2")}oe.escapePosixPath=ni;oe.convertPathToPattern=Rl?Ol:Tl;function Ol(e){return ri(e).replace(yv,"//$1").replace(vv,"/")}oe.convertWindowsPathToPattern=Ol;function Tl(e){return ni(e)}oe.convertPosixPathToPattern=Tl});var Dl=x((PA,$l)=>{$l.exports=function(t){if(typeof t!="string"||t==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(t);){if(r[2])return!0;t=t.slice(r.index+r[0].length)}return!1}});var Il=x(($A,Ll)=>{var xv=Dl(),Nl={"{":"}","(":")","[":"]"},kv=function(e){if(e[0]==="!")return!0;for(var t=0,r=-2,n=-2,o=-2,i=-2,s=-2;t<e.length;){if(e[t]==="*"||e[t+1]==="?"&&/[\].+)]/.test(e[t])||n!==-1&&e[t]==="["&&e[t+1]!=="]"&&(n<t&&(n=e.indexOf("]",t)),n>t&&(s===-1||s>n||(s=e.indexOf("\\",t),s===-1||s>n)))||o!==-1&&e[t]==="{"&&e[t+1]!=="}"&&(o=e.indexOf("}",t),o>t&&(s=e.indexOf("\\",t),s===-1||s>o))||i!==-1&&e[t]==="("&&e[t+1]==="?"&&/[:!=]/.test(e[t+2])&&e[t+3]!==")"&&(i=e.indexOf(")",t),i>t&&(s=e.indexOf("\\",t),s===-1||s>i))||r!==-1&&e[t]==="("&&e[t+1]!=="|"&&(r<t&&(r=e.indexOf("|",t)),r!==-1&&e[r+1]!==")"&&(i=e.indexOf(")",r),i>r&&(s=e.indexOf("\\",r),s===-1||s>i))))return!0;if(e[t]==="\\"){var a=e[t+1];t+=2;var c=Nl[a];if(c){var u=e.indexOf(c,t);u!==-1&&(t=u+1)}if(e[t]==="!")return!0}else t++}return!1},wv=function(e){if(e[0]==="!")return!0;for(var t=0;t<e.length;){if(/[*?{}()[\]]/.test(e[t]))return!0;if(e[t]==="\\"){var r=e[t+1];t+=2;var n=Nl[r];if(n){var o=e.indexOf(n,t);o!==-1&&(t=o+1)}if(e[t]==="!")return!0}else t++}return!1};Ll.exports=function(t,r){if(typeof t!="string"||t==="")return!1;if(xv(t))return!0;var n=kv;return r&&r.strict===!1&&(n=wv),n(t)}});var Fl=x((DA,jl)=>{"use strict";var Cv=Il(),Av=F("path").posix.dirname,Sv=F("os").platform()==="win32",oi="/",Rv=/\\/g,Ov=/[\{\[].*[\}\]]$/,Tv=/(^|[^\\])([\{\[]|\([^\)]+$)/,Pv=/\\([\!\*\?\|\[\]\(\)\{\}])/g;jl.exports=function(t,r){var n=Object.assign({flipBackslashes:!0},r);n.flipBackslashes&&Sv&&t.indexOf(oi)<0&&(t=t.replace(Rv,oi)),Ov.test(t)&&(t+=oi),t+="a";do t=Av(t);while(Cv(t)||Tv.test(t));return t.replace(Pv,"$1")}});var pn=x(Te=>{"use strict";Te.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;Te.find=(e,t)=>e.nodes.find(r=>r.type===t);Te.exceedsLimit=(e,t,r=1,n)=>n===!1||!Te.isInteger(e)||!Te.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;Te.escapeNode=(e,t=0,r)=>{let n=e.nodes[t];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};Te.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1;Te.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;Te.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;Te.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);Te.flatten=(...e)=>{let t=[],r=n=>{for(let o=0;o<n.length;o++){let i=n[o];if(Array.isArray(i)){r(i);continue}i!==void 0&&t.push(i)}return t};return r(e),t}});var dn=x((LA,Bl)=>{"use strict";var Ml=pn();Bl.exports=(e,t={})=>{let r=(n,o={})=>{let i=t.escapeInvalid&&Ml.isInvalidBrace(o),s=n.invalid===!0&&t.escapeInvalid===!0,a="";if(n.value)return(i||s)&&Ml.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let c of n.nodes)a+=r(c);return a};return r(e)}});var Vl=x((IA,Hl)=>{"use strict";Hl.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var Jl=x((jA,zl)=>{"use strict";var Gl=Vl(),Ct=(e,t,r)=>{if(Gl(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(Gl(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let o=String(n.relaxZeros),i=String(n.shorthand),s=String(n.capture),a=String(n.wrap),c=e+":"+t+"="+o+i+s+a;if(Ct.cache.hasOwnProperty(c))return Ct.cache[c].result;let u=Math.min(e,t),l=Math.max(e,t);if(Math.abs(u-l)===1){let g=e+"|"+t;return n.capture?`(${g})`:n.wrap===!1?g:`(?:${g})`}let p=Xl(e)||Xl(t),d={min:e,max:t,a:u,b:l},y=[],m=[];if(p&&(d.isPadded=p,d.maxLen=String(d.max).length),u<0){let g=l<0?Math.abs(l):1;m=Ul(g,Math.abs(u),d,n),u=d.a=0}return l>=0&&(y=Ul(u,l,d,n)),d.negatives=m,d.positives=y,d.result=$v(m,y,n),n.capture===!0?d.result=`(${d.result})`:n.wrap!==!1&&y.length+m.length>1&&(d.result=`(?:${d.result})`),Ct.cache[c]=d,d.result};function $v(e,t,r){let n=ii(e,t,"-",!1,r)||[],o=ii(t,e,"",!1,r)||[],i=ii(e,t,"-?",!0,r)||[];return n.concat(i).concat(o).join("|")}function Dv(e,t){let r=1,n=1,o=ql(e,r),i=new Set([t]);for(;e<=o&&o<=t;)i.add(o),r+=1,o=ql(e,r);for(o=Yl(t+1,n)-1;e<o&&o<=t;)i.add(o),n+=1,o=Yl(t+1,n)-1;return i=[...i],i.sort(Iv),i}function Nv(e,t,r){if(e===t)return{pattern:e,count:[],digits:0};let n=Lv(e,t),o=n.length,i="",s=0;for(let a=0;a<o;a++){let[c,u]=n[a];c===u?i+=c:c!=="0"||u!=="9"?i+=jv(c,u,r):s++}return s&&(i+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:i,count:[s],digits:o}}function Ul(e,t,r,n){let o=Dv(e,t),i=[],s=e,a;for(let c=0;c<o.length;c++){let u=o[c],l=Nv(String(s),String(u),n),p="";if(!r.isPadded&&a&&a.pattern===l.pattern){a.count.length>1&&a.count.pop(),a.count.push(l.count[0]),a.string=a.pattern+Kl(a.count),s=u+1;continue}r.isPadded&&(p=Fv(u,r,n)),l.string=p+l.pattern+Kl(l.count),i.push(l),s=u+1,a=l}return i}function ii(e,t,r,n,o){let i=[];for(let s of e){let{string:a}=s;!n&&!Wl(t,"string",a)&&i.push(r+a),n&&Wl(t,"string",a)&&i.push(r+a)}return i}function Lv(e,t){let r=[];for(let n=0;n<e.length;n++)r.push([e[n],t[n]]);return r}function Iv(e,t){return e>t?1:t>e?-1:0}function Wl(e,t,r){return e.some(n=>n[t]===r)}function ql(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function Yl(e,t){return e-e%Math.pow(10,t)}function Kl(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function jv(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function Xl(e){return/^-?(0+)\d/.test(e)}function Fv(e,t,r){if(!t.isPadded)return e;let n=Math.abs(t.maxLen-String(e).length),o=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${n}}`:`0{${n}}`}}Ct.cache={};Ct.clearCache=()=>Ct.cache={};zl.exports=Ct});var ci=x((FA,ou)=>{"use strict";var Mv=F("util"),Zl=Jl(),Ql=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Bv=e=>t=>e===!0?Number(t):String(t),si=e=>typeof e=="number"||typeof e=="string"&&e!=="",_r=e=>Number.isInteger(+e),ai=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},Hv=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,Vv=(e,t,r)=>{if(t>0){let n=e[0]==="-"?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return r===!1?String(e):e},hn=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length<t;)e="0"+e;return r?"-"+e:e},Gv=(e,t,r)=>{e.negatives.sort((a,c)=>a<c?-1:a>c?1:0),e.positives.sort((a,c)=>a<c?-1:a>c?1:0);let n=t.capture?"":"?:",o="",i="",s;return e.positives.length&&(o=e.positives.map(a=>hn(String(a),r)).join("|")),e.negatives.length&&(i=`-(${n}${e.negatives.map(a=>hn(String(a),r)).join("|")})`),o&&i?s=`${o}|${i}`:s=o||i,t.wrap?`(${n}${s})`:s},eu=(e,t,r,n)=>{if(r)return Zl(e,t,{wrap:!1,...n});let o=String.fromCharCode(e);if(e===t)return o;let i=String.fromCharCode(t);return`[${o}-${i}]`},tu=(e,t,r)=>{if(Array.isArray(e)){let n=r.wrap===!0,o=r.capture?"":"?:";return n?`(${o}${e.join("|")})`:e.join("|")}return Zl(e,t,r)},ru=(...e)=>new RangeError("Invalid range arguments: "+Mv.inspect(...e)),nu=(e,t,r)=>{if(r.strictRanges===!0)throw ru([e,t]);return[]},Uv=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Wv=(e,t,r=1,n={})=>{let o=Number(e),i=Number(t);if(!Number.isInteger(o)||!Number.isInteger(i)){if(n.strictRanges===!0)throw ru([e,t]);return[]}o===0&&(o=0),i===0&&(i=0);let s=o>i,a=String(e),c=String(t),u=String(r);r=Math.max(Math.abs(r),1);let l=ai(a)||ai(c)||ai(u),p=l?Math.max(a.length,c.length,u.length):0,d=l===!1&&Hv(e,t,n)===!1,y=n.transform||Bv(d);if(n.toRegex&&r===1)return eu(hn(e,p),hn(t,p),!0,n);let m={negatives:[],positives:[]},g=S=>m[S<0?"negatives":"positives"].push(Math.abs(S)),E=[],A=0;for(;s?o>=i:o<=i;)n.toRegex===!0&&r>1?g(o):E.push(Vv(y(o,A),p,d)),o=s?o-r:o+r,A++;return n.toRegex===!0?r>1?Gv(m,n,p):tu(E,null,{wrap:!1,...n}):E},qv=(e,t,r=1,n={})=>{if(!_r(e)&&e.length>1||!_r(t)&&t.length>1)return nu(e,t,n);let o=n.transform||(d=>String.fromCharCode(d)),i=`${e}`.charCodeAt(0),s=`${t}`.charCodeAt(0),a=i>s,c=Math.min(i,s),u=Math.max(i,s);if(n.toRegex&&r===1)return eu(c,u,!1,n);let l=[],p=0;for(;a?i>=s:i<=s;)l.push(o(i,p)),i=a?i-r:i+r,p++;return n.toRegex===!0?tu(l,null,{wrap:!1,options:n}):l},fn=(e,t,r,n={})=>{if(t==null&&si(e))return[e];if(!si(e)||!si(t))return nu(e,t,n);if(typeof r=="function")return fn(e,t,1,{transform:r});if(Ql(r))return fn(e,t,0,r);let o={...n};return o.capture===!0&&(o.wrap=!0),r=r||o.step||1,_r(r)?_r(e)&&_r(t)?Wv(e,t,r,o):qv(e,t,Math.max(Math.abs(r),1),o):r!=null&&!Ql(r)?Uv(r,o):fn(e,t,1,r)};ou.exports=fn});var au=x((MA,su)=>{"use strict";var Yv=ci(),iu=pn(),Kv=(e,t={})=>{let r=(n,o={})=>{let i=iu.isInvalidBrace(o),s=n.invalid===!0&&t.escapeInvalid===!0,a=i===!0||s===!0,c=t.escapeInvalid===!0?"\\":"",u="";if(n.isOpen===!0)return c+n.value;if(n.isClose===!0)return console.log("node.isClose",c,n.value),c+n.value;if(n.type==="open")return a?c+n.value:"(";if(n.type==="close")return a?c+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":a?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let l=iu.reduce(n.nodes),p=Yv(...l,{...t,wrap:!1,toRegex:!0,strictZeros:!0});if(p.length!==0)return l.length>1&&p.length>1?`(${p})`:p}if(n.nodes)for(let l of n.nodes)u+=r(l,n);return u};return r(e)};su.exports=Kv});var uu=x((BA,lu)=>{"use strict";var Xv=ci(),cu=dn(),Wt=pn(),At=(e="",t="",r=!1)=>{let n=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?Wt.flatten(t).map(o=>`{${o}}`):t;for(let o of e)if(Array.isArray(o))for(let i of o)n.push(At(i,t,r));else for(let i of t)r===!0&&typeof i=="string"&&(i=`{${i}}`),n.push(Array.isArray(i)?At(o,i,r):o+i);return Wt.flatten(n)},zv=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,n=(o,i={})=>{o.queue=[];let s=i,a=i.queue;for(;s.type!=="brace"&&s.type!=="root"&&s.parent;)s=s.parent,a=s.queue;if(o.invalid||o.dollar){a.push(At(a.pop(),cu(o,t)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){a.push(At(a.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let p=Wt.reduce(o.nodes);if(Wt.exceedsLimit(...p,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let d=Xv(...p,t);d.length===0&&(d=cu(o,t)),a.push(At(a.pop(),d)),o.nodes=[];return}let c=Wt.encloseBrace(o),u=o.queue,l=o;for(;l.type!=="brace"&&l.type!=="root"&&l.parent;)l=l.parent,u=l.queue;for(let p=0;p<o.nodes.length;p++){let d=o.nodes[p];if(d.type==="comma"&&o.type==="brace"){p===1&&u.push(""),u.push("");continue}if(d.type==="close"){a.push(At(a.pop(),u,c));continue}if(d.value&&d.type!=="open"){u.push(At(u.pop(),d.value));continue}d.nodes&&n(d,o)}return u};return Wt.flatten(n(e))};lu.exports=zv});var du=x((HA,pu)=>{"use strict";pu.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
30
+ `),i=i.replace(/\\r/g,"\r")),t[o]=i}return t}function Qg(e){e=e||{};let t=Gc(e);e.path=t;let r=ce.configDotenv(e);if(!r.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=Vc(e).split(","),o=n.length,i;for(let s=0;s<o;s++)try{let a=n[s].trim(),c=ey(r,a);i=ce.decrypt(c.ciphertext,c.key);break}catch(a){if(s+1>=o)throw a}return ce.parse(i)}function Zg(e){console.error(`[dotenv@${Fo}][WARN] ${e}`)}function mr(e){console.log(`[dotenv@${Fo}][DEBUG] ${e}`)}function Hc(e){console.log(`[dotenv@${Fo}] ${e}`)}function Vc(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function ey(e,t){let r;try{r=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let c=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw c.code="INVALID_DOTENV_KEY",c}throw a}let n=r.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let o=r.searchParams.get("environment");if(!o){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let i=`DOTENV_VAULT_${o.toUpperCase()}`,s=e.parsed[i];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${i} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function Gc(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)jo.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=Xr.resolve(process.cwd(),".env.vault");return jo.existsSync(t)?t:null}function Bc(e){return e[0]==="~"?Xr.join(Ug.homedir(),e.slice(1)):e}function ty(e){let t=Ft(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),r=Ft(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(t||!r)&&Hc("Loading env from encrypted .env.vault");let n=ce._parseVault(e),o=process.env;return e&&e.processEnv!=null&&(o=e.processEnv),ce.populate(o,n,e),{parsed:n}}function ry(e){let t=Xr.resolve(process.cwd(),".env"),r="utf8",n=process.env;e&&e.processEnv!=null&&(n=e.processEnv);let o=Ft(n.DOTENV_CONFIG_DEBUG||e&&e.debug),i=Ft(n.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?r=e.encoding:o&&mr("No encoding is specified. UTF-8 is used by default");let s=[t];if(e&&e.path)if(!Array.isArray(e.path))s=[Bc(e.path)];else{s=[];for(let l of e.path)s.push(Bc(l))}let a,c={};for(let l of s)try{let p=ce.parse(jo.readFileSync(l,{encoding:r}));ce.populate(c,p,e)}catch(p){o&&mr(`Failed to load ${l} ${p.message}`),a=p}let u=ce.populate(n,c,e);if(o=Ft(n.DOTENV_CONFIG_DEBUG||o),i=Ft(n.DOTENV_CONFIG_QUIET||i),o||!i){let l=Object.keys(u).length,p=[];for(let d of s)try{let y=Xr.relative(process.cwd(),d);p.push(y)}catch(y){o&&mr(`Failed to load ${d} ${y.message}`),a=y}Hc(`injecting env (${l}) from ${p.join(",")} ${Xg(`-- tip: ${Yg()}`)}`)}return a?{parsed:c,error:a}:{parsed:c}}function ny(e){if(Vc(e).length===0)return ce.configDotenv(e);let t=Gc(e);return t?ce._configVault(e):(Zg(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),ce.configDotenv(e))}function oy(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),o=n.subarray(0,12),i=n.subarray(-16);n=n.subarray(12,-16);try{let s=Wg.createDecipheriv("aes-256-gcm",r,o);return s.setAuthTag(i),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,c=s.message==="Invalid key length",u=s.message==="Unsupported state or unable to authenticate data";if(a||c){let l=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw l.code="INVALID_DOTENV_KEY",l}else if(u){let l=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw l.code="DECRYPTION_FAILED",l}else throw s}}function iy(e,t,r={}){let n=!!(r&&r.debug),o=!!(r&&r.override),i={};if(typeof t!="object"){let s=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw s.code="OBJECT_REQUIRED",s}for(let s of Object.keys(t))Object.prototype.hasOwnProperty.call(e,s)?(o===!0&&(e[s]=t[s],i[s]=t[s]),n&&mr(o===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):(e[s]=t[s],i[s]=t[s]);return i}var ce={configDotenv:ry,_configVault:ty,_parseVault:Qg,config:ny,decrypt:oy,parse:Jg,populate:iy};Je.exports.configDotenv=ce.configDotenv;Je.exports._configVault=ce._configVault;Je.exports._parseVault=ce._parseVault;Je.exports.config=ce.config;Je.exports.decrypt=ce.decrypt;Je.exports.parse=ce.parse;Je.exports.populate=ce.populate;Je.exports=ce});var Mo=x((yC,sy)=>{sy.exports={name:"@raclettejs/core",version:"0.1.21",description:"racletteJS core package",repository:"https://gitlab.com/raclettejs/core",author:"Pacifico Digital Explorations GmbH <info@raclettejs.com>",license:"AGPL-3.0-only",type:"module",scripts:{build:"node build.mjs || true",dev:"node watch.mjs",watch:"node watch.mjs","format:check":"prettier --check .","format:fix":"prettier --write .",lint:"eslint","lint:grouped":"FILTER_RULE=$RULE eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --format ./dev/eslint/groupByRuleFormatter.cjs","lint:fix":"eslint --fix",prepare:"husky",prepublishOnly:"yarn run build && yarn run sync","publish:patch":"yarn version --patch && yarn publish",sync:"node ./scripts/sync-exports.js"},bin:{raclette:"./bin/cli.js"},main:"index.js",types:"./types/index.ts",files:["services","bin","dist","types","scripts","index.js","README.md","yarn.lock","src/types.ts","LICENSE.md","CONTRIBUTING.md","raclette.default.config.yaml"],exports:{".":{types:"./types/index.ts",import:"./dist/index.js"},"./backend":{types:"./services/backend/src/index.ts",import:"./services/backend/src/index.ts"},"./frontend":{types:"./services/frontend/src/core/index.ts",import:"./services/frontend/src/core/index.ts"},"./orchestrator":{types:"./services/frontend/src/orchestrator/index.ts",import:"./services/frontend/src/orchestrator/index.ts"}},config:{},dependencies:{"@inquirer/prompts":"8.2.0","@types/mustache":"4.2.6",chalk:"5.6.2",chokidar:"3.6.0","cli-highlight":"2.1.11",commander:"14.0.1",dotenv:"17.2.2",esbuild:"0.25.9","fs-extra":"11.3.2",globby:"14.1.0","js-yaml":"4.1.0",mustache:"4.2.0",ramda:"0.31.3","tsc-alias":"1.8.16"},devDependencies:{"@eslint/js":"9.35.0","@raclettejs/types":"workspace:^","@types/fs-extra":"11.0.4","@types/js-yaml":"4.0.9","@types/node":"24.5.1","@types/ramda":"0.31.1",eslint:"9.35.0","eslint-config-prettier":"10.1.8","eslint-flat-config-utils":"2.1.1","eslint-plugin-import":"2.32.0","eslint-plugin-prefer-arrow-functions":"3.8.1","eslint-plugin-prettier":"5.5.4","eslint-plugin-vue":"10.4.0",globals:"16.4.0",husky:"9.1.7",prettier:"3.6.2",typescript:"5.9.2","typescript-eslint":"8.44.0","vue-eslint-parser":"10.2.0"}}});import{on as zy,once as Jy}from"node:events";import{PassThrough as Qy}from"node:stream";import{finished as bl}from"node:stream/promises";function ei(e){if(!Array.isArray(e))throw new TypeError(`Expected an array, got \`${typeof e}\`.`);for(let o of e)Qo(o);let t=e.some(({readableObjectMode:o})=>o),r=Zy(e,t),n=new Jo({objectMode:t,writableHighWaterMark:r,readableHighWaterMark:r});for(let o of e)n.add(o);return e.length===0&&xl(n),n}var Zy,Jo,ev,tv,rv,Qo,nv,_l,ov,iv,sv,El,xl,Zo,kl,av,cn,yl,vl,wl=ct(()=>{Zy=(e,t)=>{if(e.length===0)return 16384;let r=e.filter(({readableObjectMode:n})=>n===t).map(({readableHighWaterMark:n})=>n);return Math.max(...r)},Jo=class extends Qy{#e=new Set([]);#r=new Set([]);#n=new Set([]);#t;add(t){Qo(t),!this.#e.has(t)&&(this.#e.add(t),this.#t??=ev(this,this.#e),nv({passThroughStream:this,stream:t,streams:this.#e,ended:this.#r,aborted:this.#n,onFinished:this.#t}),t.pipe(this,{end:!1}))}remove(t){return Qo(t),this.#e.has(t)?(t.unpipe(this),!0):!1}},ev=async(e,t)=>{cn(e,yl);let r=new AbortController;try{await Promise.race([tv(e,r),rv(e,t,r)])}finally{r.abort(),cn(e,-yl)}},tv=async(e,{signal:t})=>{await bl(e,{signal:t,cleanup:!0})},rv=async(e,t,{signal:r})=>{for await(let[n]of zy(e,"unpipe",{signal:r}))t.has(n)&&n.emit(El)},Qo=e=>{if(typeof e?.pipe!="function")throw new TypeError(`Expected a readable stream, got: \`${typeof e}\`.`)},nv=async({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,onFinished:i})=>{cn(e,vl);let s=new AbortController;try{await Promise.race([ov(i,t),iv({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,controller:s}),sv({stream:t,streams:r,ended:n,aborted:o,controller:s})])}finally{s.abort(),cn(e,-vl)}r.size===n.size+o.size&&(n.size===0&&o.size>0?Zo(e):xl(e))},_l=e=>e?.code==="ERR_STREAM_PREMATURE_CLOSE",ov=async(e,t)=>{try{await e,Zo(t)}catch(r){_l(r)?Zo(t):kl(t,r)}},iv=async({passThroughStream:e,stream:t,streams:r,ended:n,aborted:o,controller:{signal:i}})=>{try{await bl(t,{signal:i,cleanup:!0,readable:!0,writable:!1}),r.has(t)&&n.add(t)}catch(s){if(i.aborted||!r.has(t))return;_l(s)?o.add(t):kl(e,s)}},sv=async({stream:e,streams:t,ended:r,aborted:n,controller:{signal:o}})=>{await Jy(e,El,{signal:o}),t.delete(e),r.delete(e),n.delete(e)},El=Symbol("unpipe"),xl=e=>{e.writable&&e.end()},Zo=e=>{(e.readable||e.writable)&&e.destroy()},kl=(e,t)=>{e.destroyed||(e.once("error",av),e.destroy(t))},av=()=>{},cn=(e,t)=>{let r=e.getMaxListeners();r!==0&&r!==Number.POSITIVE_INFINITY&&e.setMaxListeners(r+t)},yl=2,vl=1});var Cl=x(Ut=>{"use strict";Object.defineProperty(Ut,"__esModule",{value:!0});Ut.splitWhen=Ut.flatten=void 0;function cv(e){return e.reduce((t,r)=>[].concat(t,r),[])}Ut.flatten=cv;function lv(e,t){let r=[[]],n=0;for(let o of e)t(o)?(n++,r[n]=[]):r[n].push(o);return r}Ut.splitWhen=lv});var Al=x(ln=>{"use strict";Object.defineProperty(ln,"__esModule",{value:!0});ln.isEnoentCodeError=void 0;function uv(e){return e.code==="ENOENT"}ln.isEnoentCodeError=uv});var Sl=x(un=>{"use strict";Object.defineProperty(un,"__esModule",{value:!0});un.createDirentFromStats=void 0;var ti=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function pv(e,t){return new ti(e,t)}un.createDirentFromStats=pv});var Pl=x(oe=>{"use strict";Object.defineProperty(oe,"__esModule",{value:!0});oe.convertPosixPathToPattern=oe.convertWindowsPathToPattern=oe.convertPathToPattern=oe.escapePosixPath=oe.escapeWindowsPath=oe.escape=oe.removeLeadingDotSegment=oe.makeAbsolute=oe.unixify=void 0;var dv=F("os"),fv=F("path"),Rl=dv.platform()==="win32",hv=2,mv=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,gv=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,yv=/^\\\\([.?])/,vv=/\\(?![!()+@[\]{}])/g;function bv(e){return e.replace(/\\/g,"/")}oe.unixify=bv;function _v(e,t){return fv.resolve(e,t)}oe.makeAbsolute=_v;function Ev(e){if(e.charAt(0)==="."){let t=e.charAt(1);if(t==="/"||t==="\\")return e.slice(hv)}return e}oe.removeLeadingDotSegment=Ev;oe.escape=Rl?ri:ni;function ri(e){return e.replace(gv,"\\$2")}oe.escapeWindowsPath=ri;function ni(e){return e.replace(mv,"\\$2")}oe.escapePosixPath=ni;oe.convertPathToPattern=Rl?Ol:Tl;function Ol(e){return ri(e).replace(yv,"//$1").replace(vv,"/")}oe.convertWindowsPathToPattern=Ol;function Tl(e){return ni(e)}oe.convertPosixPathToPattern=Tl});var Dl=x((PA,$l)=>{$l.exports=function(t){if(typeof t!="string"||t==="")return!1;for(var r;r=/(\\).|([@?!+*]\(.*\))/g.exec(t);){if(r[2])return!0;t=t.slice(r.index+r[0].length)}return!1}});var Il=x(($A,Ll)=>{var xv=Dl(),Nl={"{":"}","(":")","[":"]"},kv=function(e){if(e[0]==="!")return!0;for(var t=0,r=-2,n=-2,o=-2,i=-2,s=-2;t<e.length;){if(e[t]==="*"||e[t+1]==="?"&&/[\].+)]/.test(e[t])||n!==-1&&e[t]==="["&&e[t+1]!=="]"&&(n<t&&(n=e.indexOf("]",t)),n>t&&(s===-1||s>n||(s=e.indexOf("\\",t),s===-1||s>n)))||o!==-1&&e[t]==="{"&&e[t+1]!=="}"&&(o=e.indexOf("}",t),o>t&&(s=e.indexOf("\\",t),s===-1||s>o))||i!==-1&&e[t]==="("&&e[t+1]==="?"&&/[:!=]/.test(e[t+2])&&e[t+3]!==")"&&(i=e.indexOf(")",t),i>t&&(s=e.indexOf("\\",t),s===-1||s>i))||r!==-1&&e[t]==="("&&e[t+1]!=="|"&&(r<t&&(r=e.indexOf("|",t)),r!==-1&&e[r+1]!==")"&&(i=e.indexOf(")",r),i>r&&(s=e.indexOf("\\",r),s===-1||s>i))))return!0;if(e[t]==="\\"){var a=e[t+1];t+=2;var c=Nl[a];if(c){var u=e.indexOf(c,t);u!==-1&&(t=u+1)}if(e[t]==="!")return!0}else t++}return!1},wv=function(e){if(e[0]==="!")return!0;for(var t=0;t<e.length;){if(/[*?{}()[\]]/.test(e[t]))return!0;if(e[t]==="\\"){var r=e[t+1];t+=2;var n=Nl[r];if(n){var o=e.indexOf(n,t);o!==-1&&(t=o+1)}if(e[t]==="!")return!0}else t++}return!1};Ll.exports=function(t,r){if(typeof t!="string"||t==="")return!1;if(xv(t))return!0;var n=kv;return r&&r.strict===!1&&(n=wv),n(t)}});var Fl=x((DA,jl)=>{"use strict";var Cv=Il(),Av=F("path").posix.dirname,Sv=F("os").platform()==="win32",oi="/",Rv=/\\/g,Ov=/[\{\[].*[\}\]]$/,Tv=/(^|[^\\])([\{\[]|\([^\)]+$)/,Pv=/\\([\!\*\?\|\[\]\(\)\{\}])/g;jl.exports=function(t,r){var n=Object.assign({flipBackslashes:!0},r);n.flipBackslashes&&Sv&&t.indexOf(oi)<0&&(t=t.replace(Rv,oi)),Ov.test(t)&&(t+=oi),t+="a";do t=Av(t);while(Cv(t)||Tv.test(t));return t.replace(Pv,"$1")}});var pn=x(Te=>{"use strict";Te.isInteger=e=>typeof e=="number"?Number.isInteger(e):typeof e=="string"&&e.trim()!==""?Number.isInteger(Number(e)):!1;Te.find=(e,t)=>e.nodes.find(r=>r.type===t);Te.exceedsLimit=(e,t,r=1,n)=>n===!1||!Te.isInteger(e)||!Te.isInteger(t)?!1:(Number(t)-Number(e))/Number(r)>=n;Te.escapeNode=(e,t=0,r)=>{let n=e.nodes[t];n&&(r&&n.type===r||n.type==="open"||n.type==="close")&&n.escaped!==!0&&(n.value="\\"+n.value,n.escaped=!0)};Te.encloseBrace=e=>e.type!=="brace"?!1:e.commas>>0+e.ranges>>0===0?(e.invalid=!0,!0):!1;Te.isInvalidBrace=e=>e.type!=="brace"?!1:e.invalid===!0||e.dollar?!0:e.commas>>0+e.ranges>>0===0||e.open!==!0||e.close!==!0?(e.invalid=!0,!0):!1;Te.isOpenOrClose=e=>e.type==="open"||e.type==="close"?!0:e.open===!0||e.close===!0;Te.reduce=e=>e.reduce((t,r)=>(r.type==="text"&&t.push(r.value),r.type==="range"&&(r.type="text"),t),[]);Te.flatten=(...e)=>{let t=[],r=n=>{for(let o=0;o<n.length;o++){let i=n[o];if(Array.isArray(i)){r(i);continue}i!==void 0&&t.push(i)}return t};return r(e),t}});var dn=x((LA,Bl)=>{"use strict";var Ml=pn();Bl.exports=(e,t={})=>{let r=(n,o={})=>{let i=t.escapeInvalid&&Ml.isInvalidBrace(o),s=n.invalid===!0&&t.escapeInvalid===!0,a="";if(n.value)return(i||s)&&Ml.isOpenOrClose(n)?"\\"+n.value:n.value;if(n.value)return n.value;if(n.nodes)for(let c of n.nodes)a+=r(c);return a};return r(e)}});var Vl=x((IA,Hl)=>{"use strict";Hl.exports=function(e){return typeof e=="number"?e-e===0:typeof e=="string"&&e.trim()!==""?Number.isFinite?Number.isFinite(+e):isFinite(+e):!1}});var Jl=x((jA,zl)=>{"use strict";var Gl=Vl(),Ct=(e,t,r)=>{if(Gl(e)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(t===void 0||e===t)return String(e);if(Gl(t)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let n={relaxZeros:!0,...r};typeof n.strictZeros=="boolean"&&(n.relaxZeros=n.strictZeros===!1);let o=String(n.relaxZeros),i=String(n.shorthand),s=String(n.capture),a=String(n.wrap),c=e+":"+t+"="+o+i+s+a;if(Ct.cache.hasOwnProperty(c))return Ct.cache[c].result;let u=Math.min(e,t),l=Math.max(e,t);if(Math.abs(u-l)===1){let g=e+"|"+t;return n.capture?`(${g})`:n.wrap===!1?g:`(?:${g})`}let p=Xl(e)||Xl(t),d={min:e,max:t,a:u,b:l},y=[],m=[];if(p&&(d.isPadded=p,d.maxLen=String(d.max).length),u<0){let g=l<0?Math.abs(l):1;m=Ul(g,Math.abs(u),d,n),u=d.a=0}return l>=0&&(y=Ul(u,l,d,n)),d.negatives=m,d.positives=y,d.result=$v(m,y,n),n.capture===!0?d.result=`(${d.result})`:n.wrap!==!1&&y.length+m.length>1&&(d.result=`(?:${d.result})`),Ct.cache[c]=d,d.result};function $v(e,t,r){let n=ii(e,t,"-",!1,r)||[],o=ii(t,e,"",!1,r)||[],i=ii(e,t,"-?",!0,r)||[];return n.concat(i).concat(o).join("|")}function Dv(e,t){let r=1,n=1,o=ql(e,r),i=new Set([t]);for(;e<=o&&o<=t;)i.add(o),r+=1,o=ql(e,r);for(o=Yl(t+1,n)-1;e<o&&o<=t;)i.add(o),n+=1,o=Yl(t+1,n)-1;return i=[...i],i.sort(Iv),i}function Nv(e,t,r){if(e===t)return{pattern:e,count:[],digits:0};let n=Lv(e,t),o=n.length,i="",s=0;for(let a=0;a<o;a++){let[c,u]=n[a];c===u?i+=c:c!=="0"||u!=="9"?i+=jv(c,u,r):s++}return s&&(i+=r.shorthand===!0?"\\d":"[0-9]"),{pattern:i,count:[s],digits:o}}function Ul(e,t,r,n){let o=Dv(e,t),i=[],s=e,a;for(let c=0;c<o.length;c++){let u=o[c],l=Nv(String(s),String(u),n),p="";if(!r.isPadded&&a&&a.pattern===l.pattern){a.count.length>1&&a.count.pop(),a.count.push(l.count[0]),a.string=a.pattern+Kl(a.count),s=u+1;continue}r.isPadded&&(p=Fv(u,r,n)),l.string=p+l.pattern+Kl(l.count),i.push(l),s=u+1,a=l}return i}function ii(e,t,r,n,o){let i=[];for(let s of e){let{string:a}=s;!n&&!Wl(t,"string",a)&&i.push(r+a),n&&Wl(t,"string",a)&&i.push(r+a)}return i}function Lv(e,t){let r=[];for(let n=0;n<e.length;n++)r.push([e[n],t[n]]);return r}function Iv(e,t){return e>t?1:t>e?-1:0}function Wl(e,t,r){return e.some(n=>n[t]===r)}function ql(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function Yl(e,t){return e-e%Math.pow(10,t)}function Kl(e){let[t=0,r=""]=e;return r||t>1?`{${t+(r?","+r:"")}}`:""}function jv(e,t,r){return`[${e}${t-e===1?"":"-"}${t}]`}function Xl(e){return/^-?(0+)\d/.test(e)}function Fv(e,t,r){if(!t.isPadded)return e;let n=Math.abs(t.maxLen-String(e).length),o=r.relaxZeros!==!1;switch(n){case 0:return"";case 1:return o?"0?":"0";case 2:return o?"0{0,2}":"00";default:return o?`0{0,${n}}`:`0{${n}}`}}Ct.cache={};Ct.clearCache=()=>Ct.cache={};zl.exports=Ct});var ci=x((FA,ou)=>{"use strict";var Mv=F("util"),Zl=Jl(),Ql=e=>e!==null&&typeof e=="object"&&!Array.isArray(e),Bv=e=>t=>e===!0?Number(t):String(t),si=e=>typeof e=="number"||typeof e=="string"&&e!=="",_r=e=>Number.isInteger(+e),ai=e=>{let t=`${e}`,r=-1;if(t[0]==="-"&&(t=t.slice(1)),t==="0")return!1;for(;t[++r]==="0";);return r>0},Hv=(e,t,r)=>typeof e=="string"||typeof t=="string"?!0:r.stringify===!0,Vv=(e,t,r)=>{if(t>0){let n=e[0]==="-"?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return r===!1?String(e):e},hn=(e,t)=>{let r=e[0]==="-"?"-":"";for(r&&(e=e.slice(1),t--);e.length<t;)e="0"+e;return r?"-"+e:e},Gv=(e,t,r)=>{e.negatives.sort((a,c)=>a<c?-1:a>c?1:0),e.positives.sort((a,c)=>a<c?-1:a>c?1:0);let n=t.capture?"":"?:",o="",i="",s;return e.positives.length&&(o=e.positives.map(a=>hn(String(a),r)).join("|")),e.negatives.length&&(i=`-(${n}${e.negatives.map(a=>hn(String(a),r)).join("|")})`),o&&i?s=`${o}|${i}`:s=o||i,t.wrap?`(${n}${s})`:s},eu=(e,t,r,n)=>{if(r)return Zl(e,t,{wrap:!1,...n});let o=String.fromCharCode(e);if(e===t)return o;let i=String.fromCharCode(t);return`[${o}-${i}]`},tu=(e,t,r)=>{if(Array.isArray(e)){let n=r.wrap===!0,o=r.capture?"":"?:";return n?`(${o}${e.join("|")})`:e.join("|")}return Zl(e,t,r)},ru=(...e)=>new RangeError("Invalid range arguments: "+Mv.inspect(...e)),nu=(e,t,r)=>{if(r.strictRanges===!0)throw ru([e,t]);return[]},Uv=(e,t)=>{if(t.strictRanges===!0)throw new TypeError(`Expected step "${e}" to be a number`);return[]},Wv=(e,t,r=1,n={})=>{let o=Number(e),i=Number(t);if(!Number.isInteger(o)||!Number.isInteger(i)){if(n.strictRanges===!0)throw ru([e,t]);return[]}o===0&&(o=0),i===0&&(i=0);let s=o>i,a=String(e),c=String(t),u=String(r);r=Math.max(Math.abs(r),1);let l=ai(a)||ai(c)||ai(u),p=l?Math.max(a.length,c.length,u.length):0,d=l===!1&&Hv(e,t,n)===!1,y=n.transform||Bv(d);if(n.toRegex&&r===1)return eu(hn(e,p),hn(t,p),!0,n);let m={negatives:[],positives:[]},g=S=>m[S<0?"negatives":"positives"].push(Math.abs(S)),E=[],A=0;for(;s?o>=i:o<=i;)n.toRegex===!0&&r>1?g(o):E.push(Vv(y(o,A),p,d)),o=s?o-r:o+r,A++;return n.toRegex===!0?r>1?Gv(m,n,p):tu(E,null,{wrap:!1,...n}):E},qv=(e,t,r=1,n={})=>{if(!_r(e)&&e.length>1||!_r(t)&&t.length>1)return nu(e,t,n);let o=n.transform||(d=>String.fromCharCode(d)),i=`${e}`.charCodeAt(0),s=`${t}`.charCodeAt(0),a=i>s,c=Math.min(i,s),u=Math.max(i,s);if(n.toRegex&&r===1)return eu(c,u,!1,n);let l=[],p=0;for(;a?i>=s:i<=s;)l.push(o(i,p)),i=a?i-r:i+r,p++;return n.toRegex===!0?tu(l,null,{wrap:!1,options:n}):l},fn=(e,t,r,n={})=>{if(t==null&&si(e))return[e];if(!si(e)||!si(t))return nu(e,t,n);if(typeof r=="function")return fn(e,t,1,{transform:r});if(Ql(r))return fn(e,t,0,r);let o={...n};return o.capture===!0&&(o.wrap=!0),r=r||o.step||1,_r(r)?_r(e)&&_r(t)?Wv(e,t,r,o):qv(e,t,Math.max(Math.abs(r),1),o):r!=null&&!Ql(r)?Uv(r,o):fn(e,t,1,r)};ou.exports=fn});var au=x((MA,su)=>{"use strict";var Yv=ci(),iu=pn(),Kv=(e,t={})=>{let r=(n,o={})=>{let i=iu.isInvalidBrace(o),s=n.invalid===!0&&t.escapeInvalid===!0,a=i===!0||s===!0,c=t.escapeInvalid===!0?"\\":"",u="";if(n.isOpen===!0)return c+n.value;if(n.isClose===!0)return console.log("node.isClose",c,n.value),c+n.value;if(n.type==="open")return a?c+n.value:"(";if(n.type==="close")return a?c+n.value:")";if(n.type==="comma")return n.prev.type==="comma"?"":a?n.value:"|";if(n.value)return n.value;if(n.nodes&&n.ranges>0){let l=iu.reduce(n.nodes),p=Yv(...l,{...t,wrap:!1,toRegex:!0,strictZeros:!0});if(p.length!==0)return l.length>1&&p.length>1?`(${p})`:p}if(n.nodes)for(let l of n.nodes)u+=r(l,n);return u};return r(e)};su.exports=Kv});var uu=x((BA,lu)=>{"use strict";var Xv=ci(),cu=dn(),Wt=pn(),At=(e="",t="",r=!1)=>{let n=[];if(e=[].concat(e),t=[].concat(t),!t.length)return e;if(!e.length)return r?Wt.flatten(t).map(o=>`{${o}}`):t;for(let o of e)if(Array.isArray(o))for(let i of o)n.push(At(i,t,r));else for(let i of t)r===!0&&typeof i=="string"&&(i=`{${i}}`),n.push(Array.isArray(i)?At(o,i,r):o+i);return Wt.flatten(n)},zv=(e,t={})=>{let r=t.rangeLimit===void 0?1e3:t.rangeLimit,n=(o,i={})=>{o.queue=[];let s=i,a=i.queue;for(;s.type!=="brace"&&s.type!=="root"&&s.parent;)s=s.parent,a=s.queue;if(o.invalid||o.dollar){a.push(At(a.pop(),cu(o,t)));return}if(o.type==="brace"&&o.invalid!==!0&&o.nodes.length===2){a.push(At(a.pop(),["{}"]));return}if(o.nodes&&o.ranges>0){let p=Wt.reduce(o.nodes);if(Wt.exceedsLimit(...p,t.step,r))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let d=Xv(...p,t);d.length===0&&(d=cu(o,t)),a.push(At(a.pop(),d)),o.nodes=[];return}let c=Wt.encloseBrace(o),u=o.queue,l=o;for(;l.type!=="brace"&&l.type!=="root"&&l.parent;)l=l.parent,u=l.queue;for(let p=0;p<o.nodes.length;p++){let d=o.nodes[p];if(d.type==="comma"&&o.type==="brace"){p===1&&u.push(""),u.push("");continue}if(d.type==="close"){a.push(At(a.pop(),u,c));continue}if(d.value&&d.type!=="open"){u.push(At(u.pop(),d.value));continue}d.nodes&&n(d,o)}return u};return Wt.flatten(n(e))};lu.exports=zv});var du=x((HA,pu)=>{"use strict";pu.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
31
31
  `,CHAR_NO_BREAK_SPACE:"\xA0",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var yu=x((VA,gu)=>{"use strict";var Jv=dn(),{MAX_LENGTH:fu,CHAR_BACKSLASH:li,CHAR_BACKTICK:Qv,CHAR_COMMA:Zv,CHAR_DOT:eb,CHAR_LEFT_PARENTHESES:tb,CHAR_RIGHT_PARENTHESES:rb,CHAR_LEFT_CURLY_BRACE:nb,CHAR_RIGHT_CURLY_BRACE:ob,CHAR_LEFT_SQUARE_BRACKET:hu,CHAR_RIGHT_SQUARE_BRACKET:mu,CHAR_DOUBLE_QUOTE:ib,CHAR_SINGLE_QUOTE:sb,CHAR_NO_BREAK_SPACE:ab,CHAR_ZERO_WIDTH_NOBREAK_SPACE:cb}=du(),lb=(e,t={})=>{if(typeof e!="string")throw new TypeError("Expected a string");let r=t||{},n=typeof r.maxLength=="number"?Math.min(fu,r.maxLength):fu;if(e.length>n)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${n})`);let o={type:"root",input:e,nodes:[]},i=[o],s=o,a=o,c=0,u=e.length,l=0,p=0,d,y=()=>e[l++],m=g=>{if(g.type==="text"&&a.type==="dot"&&(a.type="text"),a&&a.type==="text"&&g.type==="text"){a.value+=g.value;return}return s.nodes.push(g),g.parent=s,g.prev=a,a=g,g};for(m({type:"bos"});l<u;)if(s=i[i.length-1],d=y(),!(d===cb||d===ab)){if(d===li){m({type:"text",value:(t.keepEscaping?d:"")+y()});continue}if(d===mu){m({type:"text",value:"\\"+d});continue}if(d===hu){c++;let g;for(;l<u&&(g=y());){if(d+=g,g===hu){c++;continue}if(g===li){d+=y();continue}if(g===mu&&(c--,c===0))break}m({type:"text",value:d});continue}if(d===tb){s=m({type:"paren",nodes:[]}),i.push(s),m({type:"text",value:d});continue}if(d===rb){if(s.type!=="paren"){m({type:"text",value:d});continue}s=i.pop(),m({type:"text",value:d}),s=i[i.length-1];continue}if(d===ib||d===sb||d===Qv){let g=d,E;for(t.keepQuotes!==!0&&(d="");l<u&&(E=y());){if(E===li){d+=E+y();continue}if(E===g){t.keepQuotes===!0&&(d+=E);break}d+=E}m({type:"text",value:d});continue}if(d===nb){p++;let E={type:"brace",open:!0,close:!1,dollar:a.value&&a.value.slice(-1)==="$"||s.dollar===!0,depth:p,commas:0,ranges:0,nodes:[]};s=m(E),i.push(s),m({type:"open",value:d});continue}if(d===ob){if(s.type!=="brace"){m({type:"text",value:d});continue}let g="close";s=i.pop(),s.close=!0,m({type:g,value:d}),p--,s=i[i.length-1];continue}if(d===Zv&&p>0){if(s.ranges>0){s.ranges=0;let g=s.nodes.shift();s.nodes=[g,{type:"text",value:Jv(s)}]}m({type:"comma",value:d}),s.commas++;continue}if(d===eb&&p>0&&s.commas===0){let g=s.nodes;if(p===0||g.length===0){m({type:"text",value:d});continue}if(a.type==="dot"){if(s.range=[],a.value+=d,a.type="range",s.nodes.length!==3&&s.nodes.length!==5){s.invalid=!0,s.ranges=0,a.type="text";continue}s.ranges++,s.args=[];continue}if(a.type==="range"){g.pop();let E=g[g.length-1];E.value+=a.value+d,a=E,s.ranges--;continue}m({type:"dot",value:d});continue}m({type:"text",value:d})}do if(s=i.pop(),s.type!=="root"){s.nodes.forEach(A=>{A.nodes||(A.type==="open"&&(A.isOpen=!0),A.type==="close"&&(A.isClose=!0),A.nodes||(A.type="text"),A.invalid=!0)});let g=i[i.length-1],E=g.nodes.indexOf(s);g.nodes.splice(E,1,...s.nodes)}while(i.length>0);return m({type:"eos"}),o};gu.exports=lb});var _u=x((GA,bu)=>{"use strict";var vu=dn(),ub=au(),pb=uu(),db=yu(),Ae=(e,t={})=>{let r=[];if(Array.isArray(e))for(let n of e){let o=Ae.create(n,t);Array.isArray(o)?r.push(...o):r.push(o)}else r=[].concat(Ae.create(e,t));return t&&t.expand===!0&&t.nodupes===!0&&(r=[...new Set(r)]),r};Ae.parse=(e,t={})=>db(e,t);Ae.stringify=(e,t={})=>vu(typeof e=="string"?Ae.parse(e,t):e,t);Ae.compile=(e,t={})=>(typeof e=="string"&&(e=Ae.parse(e,t)),ub(e,t));Ae.expand=(e,t={})=>{typeof e=="string"&&(e=Ae.parse(e,t));let r=pb(e,t);return t.noempty===!0&&(r=r.filter(Boolean)),t.nodupes===!0&&(r=[...new Set(r)]),r};Ae.create=(e,t={})=>e===""||e.length<3?[e]:t.expand!==!0?Ae.compile(e,t):Ae.expand(e,t);bu.exports=Ae});var Er=x((UA,Cu)=>{"use strict";var fb=F("path"),Ue="\\\\/",Eu=`[^${Ue}]`,Ze="\\.",hb="\\+",mb="\\?",mn="\\/",gb="(?=.)",xu="[^/]",ui=`(?:${mn}|$)`,ku=`(?:^|${mn})`,pi=`${Ze}{1,2}${ui}`,yb=`(?!${Ze})`,vb=`(?!${ku}${pi})`,bb=`(?!${Ze}{0,1}${ui})`,_b=`(?!${pi})`,Eb=`[^.${mn}]`,xb=`${xu}*?`,wu={DOT_LITERAL:Ze,PLUS_LITERAL:hb,QMARK_LITERAL:mb,SLASH_LITERAL:mn,ONE_CHAR:gb,QMARK:xu,END_ANCHOR:ui,DOTS_SLASH:pi,NO_DOT:yb,NO_DOTS:vb,NO_DOT_SLASH:bb,NO_DOTS_SLASH:_b,QMARK_NO_DOT:Eb,STAR:xb,START_ANCHOR:ku},kb={...wu,SLASH_LITERAL:`[${Ue}]`,QMARK:Eu,STAR:`${Eu}*?`,DOTS_SLASH:`${Ze}{1,2}(?:[${Ue}]|$)`,NO_DOT:`(?!${Ze})`,NO_DOTS:`(?!(?:^|[${Ue}])${Ze}{1,2}(?:[${Ue}]|$))`,NO_DOT_SLASH:`(?!${Ze}{0,1}(?:[${Ue}]|$))`,NO_DOTS_SLASH:`(?!${Ze}{1,2}(?:[${Ue}]|$))`,QMARK_NO_DOT:`[^.${Ue}]`,START_ANCHOR:`(?:^|[${Ue}])`,END_ANCHOR:`(?:[${Ue}]|$)`},wb={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Cu.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:wb,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:fb.sep,extglobChars(e){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(e){return e===!0?kb:wu}}});var xr=x(xe=>{"use strict";var Cb=F("path"),Ab=process.platform==="win32",{REGEX_BACKSLASH:Sb,REGEX_REMOVE_BACKSLASH:Rb,REGEX_SPECIAL_CHARS:Ob,REGEX_SPECIAL_CHARS_GLOBAL:Tb}=Er();xe.isObject=e=>e!==null&&typeof e=="object"&&!Array.isArray(e);xe.hasRegexChars=e=>Ob.test(e);xe.isRegexChar=e=>e.length===1&&xe.hasRegexChars(e);xe.escapeRegex=e=>e.replace(Tb,"\\$1");xe.toPosixSlashes=e=>e.replace(Sb,"/");xe.removeBackslashes=e=>e.replace(Rb,t=>t==="\\"?"":t);xe.supportsLookbehinds=()=>{let e=process.version.slice(1).split(".").map(Number);return e.length===3&&e[0]>=9||e[0]===8&&e[1]>=10};xe.isWindows=e=>e&&typeof e.windows=="boolean"?e.windows:Ab===!0||Cb.sep==="\\";xe.escapeLast=(e,t,r)=>{let n=e.lastIndexOf(t,r);return n===-1?e:e[n-1]==="\\"?xe.escapeLast(e,t,n-1):`${e.slice(0,n)}\\${e.slice(n)}`};xe.removePrefix=(e,t={})=>{let r=e;return r.startsWith("./")&&(r=r.slice(2),t.prefix="./"),r};xe.wrapOutput=(e,t={},r={})=>{let n=r.contains?"":"^",o=r.contains?"":"$",i=`${n}(?:${e})${o}`;return t.negated===!0&&(i=`(?:^(?!${i}).*$)`),i}});var Du=x((qA,$u)=>{"use strict";var Au=xr(),{CHAR_ASTERISK:di,CHAR_AT:Pb,CHAR_BACKWARD_SLASH:kr,CHAR_COMMA:$b,CHAR_DOT:fi,CHAR_EXCLAMATION_MARK:hi,CHAR_FORWARD_SLASH:Pu,CHAR_LEFT_CURLY_BRACE:mi,CHAR_LEFT_PARENTHESES:gi,CHAR_LEFT_SQUARE_BRACKET:Db,CHAR_PLUS:Nb,CHAR_QUESTION_MARK:Su,CHAR_RIGHT_CURLY_BRACE:Lb,CHAR_RIGHT_PARENTHESES:Ru,CHAR_RIGHT_SQUARE_BRACKET:Ib}=Er(),Ou=e=>e===Pu||e===kr,Tu=e=>{e.isPrefix!==!0&&(e.depth=e.isGlobstar?1/0:1)},jb=(e,t)=>{let r=t||{},n=e.length-1,o=r.parts===!0||r.scanToEnd===!0,i=[],s=[],a=[],c=e,u=-1,l=0,p=0,d=!1,y=!1,m=!1,g=!1,E=!1,A=!1,S=!1,B=!1,pe=!1,q=!1,T=0,L,k,I={value:"",depth:0,isGlob:!1},ie=()=>u>=n,_=()=>c.charCodeAt(u+1),J=()=>(L=k,c.charCodeAt(++u));for(;u<n;){k=J();let ge;if(k===kr){S=I.backslashes=!0,k=J(),k===mi&&(A=!0);continue}if(A===!0||k===mi){for(T++;ie()!==!0&&(k=J());){if(k===kr){S=I.backslashes=!0,J();continue}if(k===mi){T++;continue}if(A!==!0&&k===fi&&(k=J())===fi){if(d=I.isBrace=!0,m=I.isGlob=!0,q=!0,o===!0)continue;break}if(A!==!0&&k===$b){if(d=I.isBrace=!0,m=I.isGlob=!0,q=!0,o===!0)continue;break}if(k===Lb&&(T--,T===0)){A=!1,d=I.isBrace=!0,q=!0;break}}if(o===!0)continue;break}if(k===Pu){if(i.push(u),s.push(I),I={value:"",depth:0,isGlob:!1},q===!0)continue;if(L===fi&&u===l+1){l+=2;continue}p=u+1;continue}if(r.noext!==!0&&(k===Nb||k===Pb||k===di||k===Su||k===hi)===!0&&_()===gi){if(m=I.isGlob=!0,g=I.isExtglob=!0,q=!0,k===hi&&u===l&&(pe=!0),o===!0){for(;ie()!==!0&&(k=J());){if(k===kr){S=I.backslashes=!0,k=J();continue}if(k===Ru){m=I.isGlob=!0,q=!0;break}}continue}break}if(k===di){if(L===di&&(E=I.isGlobstar=!0),m=I.isGlob=!0,q=!0,o===!0)continue;break}if(k===Su){if(m=I.isGlob=!0,q=!0,o===!0)continue;break}if(k===Db){for(;ie()!==!0&&(ge=J());){if(ge===kr){S=I.backslashes=!0,J();continue}if(ge===Ib){y=I.isBracket=!0,m=I.isGlob=!0,q=!0;break}}if(o===!0)continue;break}if(r.nonegate!==!0&&k===hi&&u===l){B=I.negated=!0,l++;continue}if(r.noparen!==!0&&k===gi){if(m=I.isGlob=!0,o===!0){for(;ie()!==!0&&(k=J());){if(k===gi){S=I.backslashes=!0,k=J();continue}if(k===Ru){q=!0;break}}continue}break}if(m===!0){if(q=!0,o===!0)continue;break}}r.noext===!0&&(g=!1,m=!1);let K=c,at="",v="";l>0&&(at=c.slice(0,l),c=c.slice(l),p-=l),K&&m===!0&&p>0?(K=c.slice(0,p),v=c.slice(p)):m===!0?(K="",v=c):K=c,K&&K!==""&&K!=="/"&&K!==c&&Ou(K.charCodeAt(K.length-1))&&(K=K.slice(0,-1)),r.unescape===!0&&(v&&(v=Au.removeBackslashes(v)),K&&S===!0&&(K=Au.removeBackslashes(K)));let b={prefix:at,input:e,start:l,base:K,glob:v,isBrace:d,isBracket:y,isGlob:m,isExtglob:g,isGlobstar:E,negated:B,negatedExtglob:pe};if(r.tokens===!0&&(b.maxDepth=0,Ou(k)||s.push(I),b.tokens=s),r.parts===!0||r.tokens===!0){let ge;for(let j=0;j<i.length;j++){let Fe=ge?ge+1:l,Me=i[j],we=e.slice(Fe,Me);r.tokens&&(j===0&&l!==0?(s[j].isPrefix=!0,s[j].value=at):s[j].value=we,Tu(s[j]),b.maxDepth+=s[j].depth),(j!==0||we!=="")&&a.push(we),ge=Me}if(ge&&ge+1<e.length){let j=e.slice(ge+1);a.push(j),r.tokens&&(s[s.length-1].value=j,Tu(s[s.length-1]),b.maxDepth+=s[s.length-1].depth)}b.slashes=i,b.parts=a}return b};$u.exports=jb});var Iu=x((YA,Lu)=>{"use strict";var gn=Er(),Se=xr(),{MAX_LENGTH:yn,POSIX_REGEX_SOURCE:Fb,REGEX_NON_SPECIAL_CHARS:Mb,REGEX_SPECIAL_CHARS_BACKREF:Bb,REPLACEMENTS:Nu}=gn,Hb=(e,t)=>{if(typeof t.expandRange=="function")return t.expandRange(...e,t);e.sort();let r=`[${e.join("-")}]`;try{new RegExp(r)}catch{return e.map(o=>Se.escapeRegex(o)).join("..")}return r},qt=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,yi=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");e=Nu[e]||e;let r={...t},n=typeof r.maxLength=="number"?Math.min(yn,r.maxLength):yn,o=e.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);let i={type:"bos",value:"",output:r.prepend||""},s=[i],a=r.capture?"":"?:",c=Se.isWindows(t),u=gn.globChars(c),l=gn.extglobChars(u),{DOT_LITERAL:p,PLUS_LITERAL:d,SLASH_LITERAL:y,ONE_CHAR:m,DOTS_SLASH:g,NO_DOT:E,NO_DOT_SLASH:A,NO_DOTS_SLASH:S,QMARK:B,QMARK_NO_DOT:pe,STAR:q,START_ANCHOR:T}=u,L=C=>`(${a}(?:(?!${T}${C.dot?g:p}).)*?)`,k=r.dot?"":E,I=r.dot?B:pe,ie=r.bash===!0?L(r):q;r.capture&&(ie=`(${ie})`),typeof r.noext=="boolean"&&(r.noextglob=r.noext);let _={input:e,index:-1,start:0,dot:r.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:s};e=Se.removePrefix(e,_),o=e.length;let J=[],K=[],at=[],v=i,b,ge=()=>_.index===o-1,j=_.peek=(C=1)=>e[_.index+C],Fe=_.advance=()=>e[++_.index]||"",Me=()=>e.slice(_.index+1),we=(C="",X=0)=>{_.consumed+=C,_.index+=X},$r=C=>{_.output+=C.output!=null?C.output:C.value,we(C.value)},Lf=()=>{let C=1;for(;j()==="!"&&(j(2)!=="("||j(3)==="?");)Fe(),_.start++,C++;return C%2===0?!1:(_.negated=!0,_.start++,!0)},Dr=C=>{_[C]++,at.push(C)},Et=C=>{_[C]--,at.pop()},N=C=>{if(v.type==="globstar"){let X=_.braces>0&&(C.type==="comma"||C.type==="brace"),w=C.extglob===!0||J.length&&(C.type==="pipe"||C.type==="paren");C.type!=="slash"&&C.type!=="paren"&&!X&&!w&&(_.output=_.output.slice(0,-v.output.length),v.type="star",v.value="*",v.output=ie,_.output+=v.output)}if(J.length&&C.type!=="paren"&&(J[J.length-1].inner+=C.value),(C.value||C.output)&&$r(C),v&&v.type==="text"&&C.type==="text"){v.value+=C.value,v.output=(v.output||"")+C.value;return}C.prev=v,s.push(C),v=C},Nr=(C,X)=>{let w={...l[X],conditions:1,inner:""};w.prev=v,w.parens=_.parens,w.output=_.output;let $=(r.capture?"(":"")+w.open;Dr("parens"),N({type:C,value:X,output:_.output?"":m}),N({type:"paren",extglob:!0,value:Fe(),output:$}),J.push(w)},If=C=>{let X=C.close+(r.capture?")":""),w;if(C.type==="negate"){let $=ie;if(C.inner&&C.inner.length>1&&C.inner.includes("/")&&($=L(r)),($!==ie||ge()||/^\)+$/.test(Me()))&&(X=C.close=`)$))${$}`),C.inner.includes("*")&&(w=Me())&&/^\.[^\\/.]+$/.test(w)){let ee=yi(w,{...t,fastpaths:!1}).output;X=C.close=`)${ee})${$})`}C.prev.type==="bos"&&(_.negatedExtglob=!0)}N({type:"paren",extglob:!0,value:b,output:X}),Et("parens")};if(r.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(e)){let C=!1,X=e.replace(Bb,(w,$,ee,ye,se,Qn)=>ye==="\\"?(C=!0,w):ye==="?"?$?$+ye+(se?B.repeat(se.length):""):Qn===0?I+(se?B.repeat(se.length):""):B.repeat(ee.length):ye==="."?p.repeat(ee.length):ye==="*"?$?$+ye+(se?ie:""):ie:$?w:`\\${w}`);return C===!0&&(r.unescape===!0?X=X.replace(/\\/g,""):X=X.replace(/\\+/g,w=>w.length%2===0?"\\\\":w?"\\":"")),X===e&&r.contains===!0?(_.output=e,_):(_.output=Se.wrapOutput(X,_,t),_)}for(;!ge();){if(b=Fe(),b==="\0")continue;if(b==="\\"){let w=j();if(w==="/"&&r.bash!==!0||w==="."||w===";")continue;if(!w){b+="\\",N({type:"text",value:b});continue}let $=/^\\+/.exec(Me()),ee=0;if($&&$[0].length>2&&(ee=$[0].length,_.index+=ee,ee%2!==0&&(b+="\\")),r.unescape===!0?b=Fe():b+=Fe(),_.brackets===0){N({type:"text",value:b});continue}}if(_.brackets>0&&(b!=="]"||v.value==="["||v.value==="[^")){if(r.posix!==!1&&b===":"){let w=v.value.slice(1);if(w.includes("[")&&(v.posix=!0,w.includes(":"))){let $=v.value.lastIndexOf("["),ee=v.value.slice(0,$),ye=v.value.slice($+2),se=Fb[ye];if(se){v.value=ee+se,_.backtrack=!0,Fe(),!i.output&&s.indexOf(v)===1&&(i.output=m);continue}}}(b==="["&&j()!==":"||b==="-"&&j()==="]")&&(b=`\\${b}`),b==="]"&&(v.value==="["||v.value==="[^")&&(b=`\\${b}`),r.posix===!0&&b==="!"&&v.value==="["&&(b="^"),v.value+=b,$r({value:b});continue}if(_.quotes===1&&b!=='"'){b=Se.escapeRegex(b),v.value+=b,$r({value:b});continue}if(b==='"'){_.quotes=_.quotes===1?0:1,r.keepQuotes===!0&&N({type:"text",value:b});continue}if(b==="("){Dr("parens"),N({type:"paren",value:b});continue}if(b===")"){if(_.parens===0&&r.strictBrackets===!0)throw new SyntaxError(qt("opening","("));let w=J[J.length-1];if(w&&_.parens===w.parens+1){If(J.pop());continue}N({type:"paren",value:b,output:_.parens?")":"\\)"}),Et("parens");continue}if(b==="["){if(r.nobracket===!0||!Me().includes("]")){if(r.nobracket!==!0&&r.strictBrackets===!0)throw new SyntaxError(qt("closing","]"));b=`\\${b}`}else Dr("brackets");N({type:"bracket",value:b});continue}if(b==="]"){if(r.nobracket===!0||v&&v.type==="bracket"&&v.value.length===1){N({type:"text",value:b,output:`\\${b}`});continue}if(_.brackets===0){if(r.strictBrackets===!0)throw new SyntaxError(qt("opening","["));N({type:"text",value:b,output:`\\${b}`});continue}Et("brackets");let w=v.value.slice(1);if(v.posix!==!0&&w[0]==="^"&&!w.includes("/")&&(b=`/${b}`),v.value+=b,$r({value:b}),r.literalBrackets===!1||Se.hasRegexChars(w))continue;let $=Se.escapeRegex(v.value);if(_.output=_.output.slice(0,-v.value.length),r.literalBrackets===!0){_.output+=$,v.value=$;continue}v.value=`(${a}${$}|${v.value})`,_.output+=v.value;continue}if(b==="{"&&r.nobrace!==!0){Dr("braces");let w={type:"brace",value:b,output:"(",outputIndex:_.output.length,tokensIndex:_.tokens.length};K.push(w),N(w);continue}if(b==="}"){let w=K[K.length-1];if(r.nobrace===!0||!w){N({type:"text",value:b,output:b});continue}let $=")";if(w.dots===!0){let ee=s.slice(),ye=[];for(let se=ee.length-1;se>=0&&(s.pop(),ee[se].type!=="brace");se--)ee[se].type!=="dots"&&ye.unshift(ee[se].value);$=Hb(ye,r),_.backtrack=!0}if(w.comma!==!0&&w.dots!==!0){let ee=_.output.slice(0,w.outputIndex),ye=_.tokens.slice(w.tokensIndex);w.value=w.output="\\{",b=$="\\}",_.output=ee;for(let se of ye)_.output+=se.output||se.value}N({type:"brace",value:b,output:$}),Et("braces"),K.pop();continue}if(b==="|"){J.length>0&&J[J.length-1].conditions++,N({type:"text",value:b});continue}if(b===","){let w=b,$=K[K.length-1];$&&at[at.length-1]==="braces"&&($.comma=!0,w="|"),N({type:"comma",value:b,output:w});continue}if(b==="/"){if(v.type==="dot"&&_.index===_.start+1){_.start=_.index+1,_.consumed="",_.output="",s.pop(),v=i;continue}N({type:"slash",value:b,output:y});continue}if(b==="."){if(_.braces>0&&v.type==="dot"){v.value==="."&&(v.output=p);let w=K[K.length-1];v.type="dots",v.output+=b,v.value+=b,w.dots=!0;continue}if(_.braces+_.parens===0&&v.type!=="bos"&&v.type!=="slash"){N({type:"text",value:b,output:p});continue}N({type:"dot",value:b,output:p});continue}if(b==="?"){if(!(v&&v.value==="(")&&r.noextglob!==!0&&j()==="("&&j(2)!=="?"){Nr("qmark",b);continue}if(v&&v.type==="paren"){let $=j(),ee=b;if($==="<"&&!Se.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(v.value==="("&&!/[!=<:]/.test($)||$==="<"&&!/<([!=]|\w+>)/.test(Me()))&&(ee=`\\${b}`),N({type:"text",value:b,output:ee});continue}if(r.dot!==!0&&(v.type==="slash"||v.type==="bos")){N({type:"qmark",value:b,output:pe});continue}N({type:"qmark",value:b,output:B});continue}if(b==="!"){if(r.noextglob!==!0&&j()==="("&&(j(2)!=="?"||!/[!=<:]/.test(j(3)))){Nr("negate",b);continue}if(r.nonegate!==!0&&_.index===0){Lf();continue}}if(b==="+"){if(r.noextglob!==!0&&j()==="("&&j(2)!=="?"){Nr("plus",b);continue}if(v&&v.value==="("||r.regex===!1){N({type:"plus",value:b,output:d});continue}if(v&&(v.type==="bracket"||v.type==="paren"||v.type==="brace")||_.parens>0){N({type:"plus",value:b});continue}N({type:"plus",value:d});continue}if(b==="@"){if(r.noextglob!==!0&&j()==="("&&j(2)!=="?"){N({type:"at",extglob:!0,value:b,output:""});continue}N({type:"text",value:b});continue}if(b!=="*"){(b==="$"||b==="^")&&(b=`\\${b}`);let w=Mb.exec(Me());w&&(b+=w[0],_.index+=w[0].length),N({type:"text",value:b});continue}if(v&&(v.type==="globstar"||v.star===!0)){v.type="star",v.star=!0,v.value+=b,v.output=ie,_.backtrack=!0,_.globstar=!0,we(b);continue}let C=Me();if(r.noextglob!==!0&&/^\([^?]/.test(C)){Nr("star",b);continue}if(v.type==="star"){if(r.noglobstar===!0){we(b);continue}let w=v.prev,$=w.prev,ee=w.type==="slash"||w.type==="bos",ye=$&&($.type==="star"||$.type==="globstar");if(r.bash===!0&&(!ee||C[0]&&C[0]!=="/")){N({type:"star",value:b,output:""});continue}let se=_.braces>0&&(w.type==="comma"||w.type==="brace"),Qn=J.length&&(w.type==="pipe"||w.type==="paren");if(!ee&&w.type!=="paren"&&!se&&!Qn){N({type:"star",value:b,output:""});continue}for(;C.slice(0,3)==="/**";){let Lr=e[_.index+4];if(Lr&&Lr!=="/")break;C=C.slice(3),we("/**",3)}if(w.type==="bos"&&ge()){v.type="globstar",v.value+=b,v.output=L(r),_.output=v.output,_.globstar=!0,we(b);continue}if(w.type==="slash"&&w.prev.type!=="bos"&&!ye&&ge()){_.output=_.output.slice(0,-(w.output+v.output).length),w.output=`(?:${w.output}`,v.type="globstar",v.output=L(r)+(r.strictSlashes?")":"|$)"),v.value+=b,_.globstar=!0,_.output+=w.output+v.output,we(b);continue}if(w.type==="slash"&&w.prev.type!=="bos"&&C[0]==="/"){let Lr=C[1]!==void 0?"|$":"";_.output=_.output.slice(0,-(w.output+v.output).length),w.output=`(?:${w.output}`,v.type="globstar",v.output=`${L(r)}${y}|${y}${Lr})`,v.value+=b,_.output+=w.output+v.output,_.globstar=!0,we(b+Fe()),N({type:"slash",value:"/",output:""});continue}if(w.type==="bos"&&C[0]==="/"){v.type="globstar",v.value+=b,v.output=`(?:^|${y}|${L(r)}${y})`,_.output=v.output,_.globstar=!0,we(b+Fe()),N({type:"slash",value:"/",output:""});continue}_.output=_.output.slice(0,-v.output.length),v.type="globstar",v.output=L(r),v.value+=b,_.output+=v.output,_.globstar=!0,we(b);continue}let X={type:"star",value:b,output:ie};if(r.bash===!0){X.output=".*?",(v.type==="bos"||v.type==="slash")&&(X.output=k+X.output),N(X);continue}if(v&&(v.type==="bracket"||v.type==="paren")&&r.regex===!0){X.output=b,N(X);continue}(_.index===_.start||v.type==="slash"||v.type==="dot")&&(v.type==="dot"?(_.output+=A,v.output+=A):r.dot===!0?(_.output+=S,v.output+=S):(_.output+=k,v.output+=k),j()!=="*"&&(_.output+=m,v.output+=m)),N(X)}for(;_.brackets>0;){if(r.strictBrackets===!0)throw new SyntaxError(qt("closing","]"));_.output=Se.escapeLast(_.output,"["),Et("brackets")}for(;_.parens>0;){if(r.strictBrackets===!0)throw new SyntaxError(qt("closing",")"));_.output=Se.escapeLast(_.output,"("),Et("parens")}for(;_.braces>0;){if(r.strictBrackets===!0)throw new SyntaxError(qt("closing","}"));_.output=Se.escapeLast(_.output,"{"),Et("braces")}if(r.strictSlashes!==!0&&(v.type==="star"||v.type==="bracket")&&N({type:"maybe_slash",value:"",output:`${y}?`}),_.backtrack===!0){_.output="";for(let C of _.tokens)_.output+=C.output!=null?C.output:C.value,C.suffix&&(_.output+=C.suffix)}return _};yi.fastpaths=(e,t)=>{let r={...t},n=typeof r.maxLength=="number"?Math.min(yn,r.maxLength):yn,o=e.length;if(o>n)throw new SyntaxError(`Input length: ${o}, exceeds maximum allowed length: ${n}`);e=Nu[e]||e;let i=Se.isWindows(t),{DOT_LITERAL:s,SLASH_LITERAL:a,ONE_CHAR:c,DOTS_SLASH:u,NO_DOT:l,NO_DOTS:p,NO_DOTS_SLASH:d,STAR:y,START_ANCHOR:m}=gn.globChars(i),g=r.dot?p:l,E=r.dot?d:l,A=r.capture?"":"?:",S={negated:!1,prefix:""},B=r.bash===!0?".*?":y;r.capture&&(B=`(${B})`);let pe=k=>k.noglobstar===!0?B:`(${A}(?:(?!${m}${k.dot?u:s}).)*?)`,q=k=>{switch(k){case"*":return`${g}${c}${B}`;case".*":return`${s}${c}${B}`;case"*.*":return`${g}${B}${s}${c}${B}`;case"*/*":return`${g}${B}${a}${c}${E}${B}`;case"**":return g+pe(r);case"**/*":return`(?:${g}${pe(r)}${a})?${E}${c}${B}`;case"**/*.*":return`(?:${g}${pe(r)}${a})?${E}${B}${s}${c}${B}`;case"**/.*":return`(?:${g}${pe(r)}${a})?${s}${c}${B}`;default:{let I=/^(.*?)\.(\w+)$/.exec(k);if(!I)return;let ie=q(I[1]);return ie?ie+s+I[2]:void 0}}},T=Se.removePrefix(e,S),L=q(T);return L&&r.strictSlashes!==!0&&(L+=`${a}?`),L};Lu.exports=yi});var Fu=x((KA,ju)=>{"use strict";var Vb=F("path"),Gb=Du(),vi=Iu(),bi=xr(),Ub=Er(),Wb=e=>e&&typeof e=="object"&&!Array.isArray(e),te=(e,t,r=!1)=>{if(Array.isArray(e)){let l=e.map(d=>te(d,t,r));return d=>{for(let y of l){let m=y(d);if(m)return m}return!1}}let n=Wb(e)&&e.tokens&&e.input;if(e===""||typeof e!="string"&&!n)throw new TypeError("Expected pattern to be a non-empty string");let o=t||{},i=bi.isWindows(t),s=n?te.compileRe(e,t):te.makeRe(e,t,!1,!0),a=s.state;delete s.state;let c=()=>!1;if(o.ignore){let l={...t,ignore:null,onMatch:null,onResult:null};c=te(o.ignore,l,r)}let u=(l,p=!1)=>{let{isMatch:d,match:y,output:m}=te.test(l,s,t,{glob:e,posix:i}),g={glob:e,state:a,regex:s,posix:i,input:l,output:m,match:y,isMatch:d};return typeof o.onResult=="function"&&o.onResult(g),d===!1?(g.isMatch=!1,p?g:!1):c(l)?(typeof o.onIgnore=="function"&&o.onIgnore(g),g.isMatch=!1,p?g:!1):(typeof o.onMatch=="function"&&o.onMatch(g),p?g:!0)};return r&&(u.state=a),u};te.test=(e,t,r,{glob:n,posix:o}={})=>{if(typeof e!="string")throw new TypeError("Expected input to be a string");if(e==="")return{isMatch:!1,output:""};let i=r||{},s=i.format||(o?bi.toPosixSlashes:null),a=e===n,c=a&&s?s(e):e;return a===!1&&(c=s?s(e):e,a=c===n),(a===!1||i.capture===!0)&&(i.matchBase===!0||i.basename===!0?a=te.matchBase(e,t,r,o):a=t.exec(c)),{isMatch:!!a,match:a,output:c}};te.matchBase=(e,t,r,n=bi.isWindows(r))=>(t instanceof RegExp?t:te.makeRe(t,r)).test(Vb.basename(e));te.isMatch=(e,t,r)=>te(t,r)(e);te.parse=(e,t)=>Array.isArray(e)?e.map(r=>te.parse(r,t)):vi(e,{...t,fastpaths:!1});te.scan=(e,t)=>Gb(e,t);te.compileRe=(e,t,r=!1,n=!1)=>{if(r===!0)return e.output;let o=t||{},i=o.contains?"":"^",s=o.contains?"":"$",a=`${i}(?:${e.output})${s}`;e&&e.negated===!0&&(a=`^(?!${a}).*$`);let c=te.toRegex(a,t);return n===!0&&(c.state=e),c};te.makeRe=(e,t={},r=!1,n=!1)=>{if(!e||typeof e!="string")throw new TypeError("Expected a non-empty string");let o={negated:!1,fastpaths:!0};return t.fastpaths!==!1&&(e[0]==="."||e[0]==="*")&&(o.output=vi.fastpaths(e,t)),o.output||(o=vi(e,t)),te.compileRe(o,t,r,n)};te.toRegex=(e,t)=>{try{let r=t||{};return new RegExp(e,r.flags||(r.nocase?"i":""))}catch(r){if(t&&t.debug===!0)throw r;return/$^/}};te.constants=Ub;ju.exports=te});var Bu=x((XA,Mu)=>{"use strict";Mu.exports=Fu()});var qu=x((zA,Wu)=>{"use strict";var Vu=F("util"),Gu=_u(),We=Bu(),_i=xr(),Hu=e=>e===""||e==="./",Uu=e=>{let t=e.indexOf("{");return t>-1&&e.indexOf("}",t)>-1},z=(e,t,r)=>{t=[].concat(t),e=[].concat(e);let n=new Set,o=new Set,i=new Set,s=0,a=l=>{i.add(l.output),r&&r.onResult&&r.onResult(l)};for(let l=0;l<t.length;l++){let p=We(String(t[l]),{...r,onResult:a},!0),d=p.state.negated||p.state.negatedExtglob;d&&s++;for(let y of e){let m=p(y,!0);(d?!m.isMatch:m.isMatch)&&(d?n.add(m.output):(n.delete(m.output),o.add(m.output)))}}let u=(s===t.length?[...i]:[...o]).filter(l=>!n.has(l));if(r&&u.length===0){if(r.failglob===!0)throw new Error(`No matches found for "${t.join(", ")}"`);if(r.nonull===!0||r.nullglob===!0)return r.unescape?t.map(l=>l.replace(/\\/g,"")):t}return u};z.match=z;z.matcher=(e,t)=>We(e,t);z.isMatch=(e,t,r)=>We(t,r)(e);z.any=z.isMatch;z.not=(e,t,r={})=>{t=[].concat(t).map(String);let n=new Set,o=[],i=a=>{r.onResult&&r.onResult(a),o.push(a.output)},s=new Set(z(e,t,{...r,onResult:i}));for(let a of o)s.has(a)||n.add(a);return[...n]};z.contains=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${Vu.inspect(e)}"`);if(Array.isArray(t))return t.some(n=>z.contains(e,n,r));if(typeof t=="string"){if(Hu(e)||Hu(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return z.isMatch(e,t,{...r,contains:!0})};z.matchKeys=(e,t,r)=>{if(!_i.isObject(e))throw new TypeError("Expected the first argument to be an object");let n=z(Object.keys(e),t,r),o={};for(let i of n)o[i]=e[i];return o};z.some=(e,t,r)=>{let n=[].concat(e);for(let o of[].concat(t)){let i=We(String(o),r);if(n.some(s=>i(s)))return!0}return!1};z.every=(e,t,r)=>{let n=[].concat(e);for(let o of[].concat(t)){let i=We(String(o),r);if(!n.every(s=>i(s)))return!1}return!0};z.all=(e,t,r)=>{if(typeof e!="string")throw new TypeError(`Expected a string: "${Vu.inspect(e)}"`);return[].concat(t).every(n=>We(n,r)(e))};z.capture=(e,t,r)=>{let n=_i.isWindows(r),i=We.makeRe(String(e),{...r,capture:!0}).exec(n?_i.toPosixSlashes(t):t);if(i)return i.slice(1).map(s=>s===void 0?"":s)};z.makeRe=(...e)=>We.makeRe(...e);z.scan=(...e)=>We.scan(...e);z.parse=(e,t)=>{let r=[];for(let n of[].concat(e||[]))for(let o of Gu(String(n),t))r.push(We.parse(o,t));return r};z.braces=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return t&&t.nobrace===!0||!Uu(e)?[e]:Gu(e,t)};z.braceExpand=(e,t)=>{if(typeof e!="string")throw new TypeError("Expected a string");return z.braces(e,{...t,expand:!0})};z.hasBraces=Uu;Wu.exports=z});var rp=x(O=>{"use strict";Object.defineProperty(O,"__esModule",{value:!0});O.isAbsolute=O.partitionAbsoluteAndRelative=O.removeDuplicateSlashes=O.matchAny=O.convertPatternsToRe=O.makeRe=O.getPatternParts=O.expandBraceExpansion=O.expandPatternsWithBraceExpansion=O.isAffectDepthOfReadingPattern=O.endsWithSlashGlobStar=O.hasGlobStar=O.getBaseDirectory=O.isPatternRelatedToParentDirectory=O.getPatternsOutsideCurrentDirectory=O.getPatternsInsideCurrentDirectory=O.getPositivePatterns=O.getNegativePatterns=O.isPositivePattern=O.isNegativePattern=O.convertToNegativePattern=O.convertToPositivePattern=O.isDynamicPattern=O.isStaticPattern=void 0;var Yu=F("path"),qb=Fl(),Ei=qu(),Ku="**",Yb="\\",Kb=/[*?]|^!/,Xb=/\[[^[]*]/,zb=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,Jb=/[!*+?@]\([^(]*\)/,Qb=/,|\.\./,Zb=/(?!^)\/{2,}/g;function Xu(e,t={}){return!zu(e,t)}O.isStaticPattern=Xu;function zu(e,t={}){return e===""?!1:!!(t.caseSensitiveMatch===!1||e.includes(Yb)||Kb.test(e)||Xb.test(e)||zb.test(e)||t.extglob!==!1&&Jb.test(e)||t.braceExpansion!==!1&&e_(e))}O.isDynamicPattern=zu;function e_(e){let t=e.indexOf("{");if(t===-1)return!1;let r=e.indexOf("}",t+1);if(r===-1)return!1;let n=e.slice(t,r);return Qb.test(n)}function t_(e){return vn(e)?e.slice(1):e}O.convertToPositivePattern=t_;function r_(e){return"!"+e}O.convertToNegativePattern=r_;function vn(e){return e.startsWith("!")&&e[1]!=="("}O.isNegativePattern=vn;function Ju(e){return!vn(e)}O.isPositivePattern=Ju;function n_(e){return e.filter(vn)}O.getNegativePatterns=n_;function o_(e){return e.filter(Ju)}O.getPositivePatterns=o_;function i_(e){return e.filter(t=>!xi(t))}O.getPatternsInsideCurrentDirectory=i_;function s_(e){return e.filter(xi)}O.getPatternsOutsideCurrentDirectory=s_;function xi(e){return e.startsWith("..")||e.startsWith("./..")}O.isPatternRelatedToParentDirectory=xi;function a_(e){return qb(e,{flipBackslashes:!1})}O.getBaseDirectory=a_;function c_(e){return e.includes(Ku)}O.hasGlobStar=c_;function Qu(e){return e.endsWith("/"+Ku)}O.endsWithSlashGlobStar=Qu;function l_(e){let t=Yu.basename(e);return Qu(e)||Xu(t)}O.isAffectDepthOfReadingPattern=l_;function u_(e){return e.reduce((t,r)=>t.concat(Zu(r)),[])}O.expandPatternsWithBraceExpansion=u_;function Zu(e){let t=Ei.braces(e,{expand:!0,nodupes:!0,keepEscaping:!0});return t.sort((r,n)=>r.length-n.length),t.filter(r=>r!=="")}O.expandBraceExpansion=Zu;function p_(e,t){let{parts:r}=Ei.scan(e,Object.assign(Object.assign({},t),{parts:!0}));return r.length===0&&(r=[e]),r[0].startsWith("/")&&(r[0]=r[0].slice(1),r.unshift("")),r}O.getPatternParts=p_;function ep(e,t){return Ei.makeRe(e,t)}O.makeRe=ep;function d_(e,t){return e.map(r=>ep(r,t))}O.convertPatternsToRe=d_;function f_(e,t){return t.some(r=>r.test(e))}O.matchAny=f_;function h_(e){return e.replace(Zb,"/")}O.removeDuplicateSlashes=h_;function m_(e){let t=[],r=[];for(let n of e)tp(n)?t.push(n):r.push(n);return[t,r]}O.partitionAbsoluteAndRelative=m_;function tp(e){return Yu.isAbsolute(e)}O.isAbsolute=tp});var sp=x((QA,ip)=>{"use strict";var g_=F("stream"),np=g_.PassThrough,y_=Array.prototype.slice;ip.exports=v_;function v_(){let e=[],t=y_.call(arguments),r=!1,n=t[t.length-1];n&&!Array.isArray(n)&&n.pipe==null?t.pop():n={};let o=n.end!==!1,i=n.pipeError===!0;n.objectMode==null&&(n.objectMode=!0),n.highWaterMark==null&&(n.highWaterMark=64*1024);let s=np(n);function a(){for(let l=0,p=arguments.length;l<p;l++)e.push(op(arguments[l],n));return c(),this}function c(){if(r)return;r=!0;let l=e.shift();if(!l){process.nextTick(u);return}Array.isArray(l)||(l=[l]);let p=l.length+1;function d(){--p>0||(r=!1,c())}function y(m){function g(){m.removeListener("merge2UnpipeEnd",g),m.removeListener("end",g),i&&m.removeListener("error",E),d()}function E(A){s.emit("error",A)}if(m._readableState.endEmitted)return d();m.on("merge2UnpipeEnd",g),m.on("end",g),i&&m.on("error",E),m.pipe(s,{end:!1}),m.resume()}for(let m=0;m<l.length;m++)y(l[m]);d()}function u(){r=!1,s.emit("queueDrain"),o&&s.end()}return s.setMaxListeners(0),s.add=a,s.on("unpipe",function(l){l.emit("merge2UnpipeEnd")}),t.length&&a.apply(null,t),s}function op(e,t){if(Array.isArray(e))for(let r=0,n=e.length;r<n;r++)e[r]=op(e[r],t);else{if(!e._readableState&&e.pipe&&(e=e.pipe(np(t))),!e._readableState||!e.pause||!e.pipe)throw new Error("Only readable stream can be merged.");e.pause()}return e}});var cp=x(bn=>{"use strict";Object.defineProperty(bn,"__esModule",{value:!0});bn.merge=void 0;var b_=sp();function __(e){let t=b_(e);return e.forEach(r=>{r.once("error",n=>t.emit("error",n))}),t.once("close",()=>ap(e)),t.once("end",()=>ap(e)),t}bn.merge=__;function ap(e){e.forEach(t=>t.emit("close"))}});var lp=x(Yt=>{"use strict";Object.defineProperty(Yt,"__esModule",{value:!0});Yt.isEmpty=Yt.isString=void 0;function E_(e){return typeof e=="string"}Yt.isString=E_;function x_(e){return e===""}Yt.isEmpty=x_});var et=x(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.string=he.stream=he.pattern=he.path=he.fs=he.errno=he.array=void 0;var k_=Cl();he.array=k_;var w_=Al();he.errno=w_;var C_=Sl();he.fs=C_;var A_=Pl();he.path=A_;var S_=rp();he.pattern=S_;var R_=cp();he.stream=R_;var O_=lp();he.string=O_});var fp=x(me=>{"use strict";Object.defineProperty(me,"__esModule",{value:!0});me.convertPatternGroupToTask=me.convertPatternGroupsToTasks=me.groupPatternsByBaseDirectory=me.getNegativePatternsAsPositive=me.getPositivePatterns=me.convertPatternsToTasks=me.generate=void 0;var Ie=et();function T_(e,t){let r=up(e,t),n=up(t.ignore,t),o=pp(r),i=dp(r,n),s=o.filter(l=>Ie.pattern.isStaticPattern(l,t)),a=o.filter(l=>Ie.pattern.isDynamicPattern(l,t)),c=ki(s,i,!1),u=ki(a,i,!0);return c.concat(u)}me.generate=T_;function up(e,t){let r=e;return t.braceExpansion&&(r=Ie.pattern.expandPatternsWithBraceExpansion(r)),t.baseNameMatch&&(r=r.map(n=>n.includes("/")?n:`**/${n}`)),r.map(n=>Ie.pattern.removeDuplicateSlashes(n))}function ki(e,t,r){let n=[],o=Ie.pattern.getPatternsOutsideCurrentDirectory(e),i=Ie.pattern.getPatternsInsideCurrentDirectory(e),s=wi(o),a=wi(i);return n.push(...Ci(s,t,r)),"."in a?n.push(Ai(".",i,t,r)):n.push(...Ci(a,t,r)),n}me.convertPatternsToTasks=ki;function pp(e){return Ie.pattern.getPositivePatterns(e)}me.getPositivePatterns=pp;function dp(e,t){return Ie.pattern.getNegativePatterns(e).concat(t).map(Ie.pattern.convertToPositivePattern)}me.getNegativePatternsAsPositive=dp;function wi(e){let t={};return e.reduce((r,n)=>{let o=Ie.pattern.getBaseDirectory(n);return o in r?r[o].push(n):r[o]=[n],r},t)}me.groupPatternsByBaseDirectory=wi;function Ci(e,t,r){return Object.keys(e).map(n=>Ai(n,e[n],t,r))}me.convertPatternGroupsToTasks=Ci;function Ai(e,t,r,n){return{dynamic:n,positive:t,negative:r,base:e,patterns:[].concat(t,r.map(Ie.pattern.convertToNegativePattern))}}me.convertPatternGroupToTask=Ai});var mp=x(_n=>{"use strict";Object.defineProperty(_n,"__esModule",{value:!0});_n.read=void 0;function P_(e,t,r){t.fs.lstat(e,(n,o)=>{if(n!==null){hp(r,n);return}if(!o.isSymbolicLink()||!t.followSymbolicLink){Si(r,o);return}t.fs.stat(e,(i,s)=>{if(i!==null){if(t.throwErrorOnBrokenSymbolicLink){hp(r,i);return}Si(r,o);return}t.markSymbolicLink&&(s.isSymbolicLink=()=>!0),Si(r,s)})})}_n.read=P_;function hp(e,t){e(t)}function Si(e,t){e(null,t)}});var gp=x(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.read=void 0;function $_(e,t){let r=t.fs.lstatSync(e);if(!r.isSymbolicLink()||!t.followSymbolicLink)return r;try{let n=t.fs.statSync(e);return t.markSymbolicLink&&(n.isSymbolicLink=()=>!0),n}catch(n){if(!t.throwErrorOnBrokenSymbolicLink)return r;throw n}}En.read=$_});var yp=x(ft=>{"use strict";Object.defineProperty(ft,"__esModule",{value:!0});ft.createFileSystemAdapter=ft.FILE_SYSTEM_ADAPTER=void 0;var xn=F("fs");ft.FILE_SYSTEM_ADAPTER={lstat:xn.lstat,stat:xn.stat,lstatSync:xn.lstatSync,statSync:xn.statSync};function D_(e){return e===void 0?ft.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},ft.FILE_SYSTEM_ADAPTER),e)}ft.createFileSystemAdapter=D_});var vp=x(Oi=>{"use strict";Object.defineProperty(Oi,"__esModule",{value:!0});var N_=yp(),Ri=class{constructor(t={}){this._options=t,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=N_.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(t,r){return t??r}};Oi.default=Ri});var St=x(ht=>{"use strict";Object.defineProperty(ht,"__esModule",{value:!0});ht.statSync=ht.stat=ht.Settings=void 0;var bp=mp(),L_=gp(),Ti=vp();ht.Settings=Ti.default;function I_(e,t,r){if(typeof t=="function"){bp.read(e,Pi(),t);return}bp.read(e,Pi(t),r)}ht.stat=I_;function j_(e,t){let r=Pi(t);return L_.read(e,r)}ht.statSync=j_;function Pi(e={}){return e instanceof Ti.default?e:new Ti.default(e)}});var xp=x((cS,Ep)=>{var _p;Ep.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):e=>(_p||(_p=Promise.resolve())).then(e).catch(t=>setTimeout(()=>{throw t},0))});var wp=x((lS,kp)=>{kp.exports=M_;var F_=xp();function M_(e,t){let r,n,o,i=!0;Array.isArray(e)?(r=[],n=e.length):(o=Object.keys(e),r={},n=o.length);function s(c){function u(){t&&t(c,r),t=null}i?F_(u):u()}function a(c,u,l){r[c]=l,(--n===0||u)&&s(u)}n?o?o.forEach(function(c){e[c](function(u,l){a(c,u,l)})}):e.forEach(function(c,u){c(function(l,p){a(u,l,p)})}):s(null),i=!1}});var $i=x(wn=>{"use strict";Object.defineProperty(wn,"__esModule",{value:!0});wn.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var kn=process.versions.node.split(".");if(kn[0]===void 0||kn[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var Cp=Number.parseInt(kn[0],10),B_=Number.parseInt(kn[1],10),Ap=10,H_=10,V_=Cp>Ap,G_=Cp===Ap&&B_>=H_;wn.IS_SUPPORT_READDIR_WITH_FILE_TYPES=V_||G_});var Sp=x(Cn=>{"use strict";Object.defineProperty(Cn,"__esModule",{value:!0});Cn.createDirentFromStats=void 0;var Di=class{constructor(t,r){this.name=t,this.isBlockDevice=r.isBlockDevice.bind(r),this.isCharacterDevice=r.isCharacterDevice.bind(r),this.isDirectory=r.isDirectory.bind(r),this.isFIFO=r.isFIFO.bind(r),this.isFile=r.isFile.bind(r),this.isSocket=r.isSocket.bind(r),this.isSymbolicLink=r.isSymbolicLink.bind(r)}};function U_(e,t){return new Di(e,t)}Cn.createDirentFromStats=U_});var Ni=x(An=>{"use strict";Object.defineProperty(An,"__esModule",{value:!0});An.fs=void 0;var W_=Sp();An.fs=W_});var Li=x(Sn=>{"use strict";Object.defineProperty(Sn,"__esModule",{value:!0});Sn.joinPathSegments=void 0;function q_(e,t,r){return e.endsWith(r)?e+t:e+r+t}Sn.joinPathSegments=q_});var Dp=x(mt=>{"use strict";Object.defineProperty(mt,"__esModule",{value:!0});mt.readdir=mt.readdirWithFileTypes=mt.read=void 0;var Y_=St(),Rp=wp(),K_=$i(),Op=Ni(),Tp=Li();function X_(e,t,r){if(!t.stats&&K_.IS_SUPPORT_READDIR_WITH_FILE_TYPES){Pp(e,t,r);return}$p(e,t,r)}mt.read=X_;function Pp(e,t,r){t.fs.readdir(e,{withFileTypes:!0},(n,o)=>{if(n!==null){Rn(r,n);return}let i=o.map(a=>({dirent:a,name:a.name,path:Tp.joinPathSegments(e,a.name,t.pathSegmentSeparator)}));if(!t.followSymbolicLinks){Ii(r,i);return}let s=i.map(a=>z_(a,t));Rp(s,(a,c)=>{if(a!==null){Rn(r,a);return}Ii(r,c)})})}mt.readdirWithFileTypes=Pp;function z_(e,t){return r=>{if(!e.dirent.isSymbolicLink()){r(null,e);return}t.fs.stat(e.path,(n,o)=>{if(n!==null){if(t.throwErrorOnBrokenSymbolicLink){r(n);return}r(null,e);return}e.dirent=Op.fs.createDirentFromStats(e.name,o),r(null,e)})}}function $p(e,t,r){t.fs.readdir(e,(n,o)=>{if(n!==null){Rn(r,n);return}let i=o.map(s=>{let a=Tp.joinPathSegments(e,s,t.pathSegmentSeparator);return c=>{Y_.stat(a,t.fsStatSettings,(u,l)=>{if(u!==null){c(u);return}let p={name:s,path:a,dirent:Op.fs.createDirentFromStats(s,l)};t.stats&&(p.stats=l),c(null,p)})}});Rp(i,(s,a)=>{if(s!==null){Rn(r,s);return}Ii(r,a)})})}mt.readdir=$p;function Rn(e,t){e(t)}function Ii(e,t){e(null,t)}});var Fp=x(gt=>{"use strict";Object.defineProperty(gt,"__esModule",{value:!0});gt.readdir=gt.readdirWithFileTypes=gt.read=void 0;var J_=St(),Q_=$i(),Np=Ni(),Lp=Li();function Z_(e,t){return!t.stats&&Q_.IS_SUPPORT_READDIR_WITH_FILE_TYPES?Ip(e,t):jp(e,t)}gt.read=Z_;function Ip(e,t){return t.fs.readdirSync(e,{withFileTypes:!0}).map(n=>{let o={dirent:n,name:n.name,path:Lp.joinPathSegments(e,n.name,t.pathSegmentSeparator)};if(o.dirent.isSymbolicLink()&&t.followSymbolicLinks)try{let i=t.fs.statSync(o.path);o.dirent=Np.fs.createDirentFromStats(o.name,i)}catch(i){if(t.throwErrorOnBrokenSymbolicLink)throw i}return o})}gt.readdirWithFileTypes=Ip;function jp(e,t){return t.fs.readdirSync(e).map(n=>{let o=Lp.joinPathSegments(e,n,t.pathSegmentSeparator),i=J_.statSync(o,t.fsStatSettings),s={name:n,path:o,dirent:Np.fs.createDirentFromStats(n,i)};return t.stats&&(s.stats=i),s})}gt.readdir=jp});var Mp=x(yt=>{"use strict";Object.defineProperty(yt,"__esModule",{value:!0});yt.createFileSystemAdapter=yt.FILE_SYSTEM_ADAPTER=void 0;var Kt=F("fs");yt.FILE_SYSTEM_ADAPTER={lstat:Kt.lstat,stat:Kt.stat,lstatSync:Kt.lstatSync,statSync:Kt.statSync,readdir:Kt.readdir,readdirSync:Kt.readdirSync};function eE(e){return e===void 0?yt.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},yt.FILE_SYSTEM_ADAPTER),e)}yt.createFileSystemAdapter=eE});var Bp=x(Fi=>{"use strict";Object.defineProperty(Fi,"__esModule",{value:!0});var tE=F("path"),rE=St(),nE=Mp(),ji=class{constructor(t={}){this._options=t,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=nE.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,tE.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new rE.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(t,r){return t??r}};Fi.default=ji});var On=x(vt=>{"use strict";Object.defineProperty(vt,"__esModule",{value:!0});vt.Settings=vt.scandirSync=vt.scandir=void 0;var Hp=Dp(),oE=Fp(),Mi=Bp();vt.Settings=Mi.default;function iE(e,t,r){if(typeof t=="function"){Hp.read(e,Bi(),t);return}Hp.read(e,Bi(t),r)}vt.scandir=iE;function sE(e,t){let r=Bi(t);return oE.read(e,r)}vt.scandirSync=sE;function Bi(e={}){return e instanceof Mi.default?e:new Mi.default(e)}});var Gp=x((bS,Vp)=>{"use strict";function aE(e){var t=new e,r=t;function n(){var i=t;return i.next?t=i.next:(t=new e,r=t),i.next=null,i}function o(i){r.next=i,r=i}return{get:n,release:o}}Vp.exports=aE});var Wp=x((_S,Hi)=>{"use strict";var cE=Gp();function Up(e,t,r){if(typeof e=="function"&&(r=t,t=e,e=null),!(r>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var n=cE(lE),o=null,i=null,s=0,a=null,c={push:g,drain:ke,saturated:ke,pause:l,paused:!1,get concurrency(){return r},set concurrency(T){if(!(T>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(r=T,!c.paused)for(;o&&s<r;)s++,A()},running:u,resume:y,idle:m,length:p,getQueue:d,unshift:E,empty:ke,kill:S,killAndDrain:B,error:q,abort:pe};return c;function u(){return s}function l(){c.paused=!0}function p(){for(var T=o,L=0;T;)T=T.next,L++;return L}function d(){for(var T=o,L=[];T;)L.push(T.value),T=T.next;return L}function y(){if(c.paused){if(c.paused=!1,o===null){s++,A();return}for(;o&&s<r;)s++,A()}}function m(){return s===0&&c.length()===0}function g(T,L){var k=n.get();k.context=e,k.release=A,k.value=T,k.callback=L||ke,k.errorHandler=a,s>=r||c.paused?i?(i.next=k,i=k):(o=k,i=k,c.saturated()):(s++,t.call(e,k.value,k.worked))}function E(T,L){var k=n.get();k.context=e,k.release=A,k.value=T,k.callback=L||ke,k.errorHandler=a,s>=r||c.paused?o?(k.next=o,o=k):(o=k,i=k,c.saturated()):(s++,t.call(e,k.value,k.worked))}function A(T){T&&n.release(T);var L=o;L&&s<=r?c.paused?s--:(i===o&&(i=null),o=L.next,L.next=null,t.call(e,L.value,L.worked),i===null&&c.empty()):--s===0&&c.drain()}function S(){o=null,i=null,c.drain=ke}function B(){o=null,i=null,c.drain(),c.drain=ke}function pe(){var T=o;for(o=null,i=null;T;){var L=T.next,k=T.callback,I=T.errorHandler,ie=T.value,_=T.context;T.value=null,T.callback=ke,T.errorHandler=null,I&&I(new Error("abort"),ie),k.call(_,new Error("abort")),T.release(T),T=L}c.drain=ke}function q(T){a=T}}function ke(){}function lE(){this.value=null,this.callback=ke,this.next=null,this.release=ke,this.context=null,this.errorHandler=null;var e=this;this.worked=function(r,n){var o=e.callback,i=e.errorHandler,s=e.value;e.value=null,e.callback=ke,e.errorHandler&&i(r,s),o.call(e.context,r,n),e.release(e)}}function uE(e,t,r){typeof e=="function"&&(r=t,t=e,e=null);function n(l,p){t.call(this,l).then(function(d){p(null,d)},p)}var o=Up(e,n,r),i=o.push,s=o.unshift;return o.push=a,o.unshift=c,o.drained=u,o;function a(l){var p=new Promise(function(d,y){i(l,function(m,g){if(m){y(m);return}d(g)})});return p.catch(ke),p}function c(l){var p=new Promise(function(d,y){s(l,function(m,g){if(m){y(m);return}d(g)})});return p.catch(ke),p}function u(){var l=new Promise(function(p){process.nextTick(function(){if(o.idle())p();else{var d=o.drain;o.drain=function(){typeof d=="function"&&d(),p(),o.drain=d}}})});return l}}Hi.exports=Up;Hi.exports.promise=uE});var Tn=x(qe=>{"use strict";Object.defineProperty(qe,"__esModule",{value:!0});qe.joinPathSegments=qe.replacePathSegmentSeparator=qe.isAppliedFilter=qe.isFatalError=void 0;function pE(e,t){return e.errorFilter===null?!0:!e.errorFilter(t)}qe.isFatalError=pE;function dE(e,t){return e===null||e(t)}qe.isAppliedFilter=dE;function fE(e,t){return e.split(/[/\\]/).join(t)}qe.replacePathSegmentSeparator=fE;function hE(e,t,r){return e===""?t:e.endsWith(r)?e+t:e+r+t}qe.joinPathSegments=hE});var Ui=x(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});var mE=Tn(),Vi=class{constructor(t,r){this._root=t,this._settings=r,this._root=mE.replacePathSegmentSeparator(t,r.pathSegmentSeparator)}};Gi.default=Vi});var Yi=x(qi=>{"use strict";Object.defineProperty(qi,"__esModule",{value:!0});var gE=F("events"),yE=On(),vE=Wp(),Pn=Tn(),bE=Ui(),Wi=class extends bE.default{constructor(t,r){super(t,r),this._settings=r,this._scandir=yE.scandir,this._emitter=new gE.EventEmitter,this._queue=vE(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(t){this._emitter.on("entry",t)}onError(t){this._emitter.once("error",t)}onEnd(t){this._emitter.once("end",t)}_pushToQueue(t,r){let n={directory:t,base:r};this._queue.push(n,o=>{o!==null&&this._handleError(o)})}_worker(t,r){this._scandir(t.directory,this._settings.fsScandirSettings,(n,o)=>{if(n!==null){r(n,void 0);return}for(let i of o)this._handleEntry(i,t.base);r(null,void 0)})}_handleError(t){this._isDestroyed||!Pn.isFatalError(this._settings,t)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",t))}_handleEntry(t,r){if(this._isDestroyed||this._isFatalError)return;let n=t.path;r!==void 0&&(t.path=Pn.joinPathSegments(r,t.name,this._settings.pathSegmentSeparator)),Pn.isAppliedFilter(this._settings.entryFilter,t)&&this._emitEntry(t),t.dirent.isDirectory()&&Pn.isAppliedFilter(this._settings.deepFilter,t)&&this._pushToQueue(n,r===void 0?void 0:t.path)}_emitEntry(t){this._emitter.emit("entry",t)}};qi.default=Wi});var qp=x(Xi=>{"use strict";Object.defineProperty(Xi,"__esModule",{value:!0});var _E=Yi(),Ki=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new _E.default(this._root,this._settings),this._storage=[]}read(t){this._reader.onError(r=>{EE(t,r)}),this._reader.onEntry(r=>{this._storage.push(r)}),this._reader.onEnd(()=>{xE(t,this._storage)}),this._reader.read()}};Xi.default=Ki;function EE(e,t){e(t)}function xE(e,t){e(null,t)}});var Yp=x(Ji=>{"use strict";Object.defineProperty(Ji,"__esModule",{value:!0});var kE=F("stream"),wE=Yi(),zi=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new wE.default(this._root,this._settings),this._stream=new kE.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(t=>{this._stream.emit("error",t)}),this._reader.onEntry(t=>{this._stream.push(t)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};Ji.default=zi});var Kp=x(Zi=>{"use strict";Object.defineProperty(Zi,"__esModule",{value:!0});var CE=On(),$n=Tn(),AE=Ui(),Qi=class extends AE.default{constructor(){super(...arguments),this._scandir=CE.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(t,r){this._queue.add({directory:t,base:r})}_handleQueue(){for(let t of this._queue.values())this._handleDirectory(t.directory,t.base)}_handleDirectory(t,r){try{let n=this._scandir(t,this._settings.fsScandirSettings);for(let o of n)this._handleEntry(o,r)}catch(n){this._handleError(n)}}_handleError(t){if($n.isFatalError(this._settings,t))throw t}_handleEntry(t,r){let n=t.path;r!==void 0&&(t.path=$n.joinPathSegments(r,t.name,this._settings.pathSegmentSeparator)),$n.isAppliedFilter(this._settings.entryFilter,t)&&this._pushToStorage(t),t.dirent.isDirectory()&&$n.isAppliedFilter(this._settings.deepFilter,t)&&this._pushToQueue(n,r===void 0?void 0:t.path)}_pushToStorage(t){this._storage.push(t)}};Zi.default=Qi});var Xp=x(ts=>{"use strict";Object.defineProperty(ts,"__esModule",{value:!0});var SE=Kp(),es=class{constructor(t,r){this._root=t,this._settings=r,this._reader=new SE.default(this._root,this._settings)}read(){return this._reader.read()}};ts.default=es});var zp=x(ns=>{"use strict";Object.defineProperty(ns,"__esModule",{value:!0});var RE=F("path"),OE=On(),rs=class{constructor(t={}){this._options=t,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,RE.sep),this.fsScandirSettings=new OE.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(t,r){return t??r}};ns.default=rs});var Nn=x(Ye=>{"use strict";Object.defineProperty(Ye,"__esModule",{value:!0});Ye.Settings=Ye.walkStream=Ye.walkSync=Ye.walk=void 0;var Jp=qp(),TE=Yp(),PE=Xp(),os=zp();Ye.Settings=os.default;function $E(e,t,r){if(typeof t=="function"){new Jp.default(e,Dn()).read(t);return}new Jp.default(e,Dn(t)).read(r)}Ye.walk=$E;function DE(e,t){let r=Dn(t);return new PE.default(e,r).read()}Ye.walkSync=DE;function NE(e,t){let r=Dn(t);return new TE.default(e,r).read()}Ye.walkStream=NE;function Dn(e={}){return e instanceof os.default?e:new os.default(e)}});var Ln=x(ss=>{"use strict";Object.defineProperty(ss,"__esModule",{value:!0});var LE=F("path"),IE=St(),Qp=et(),is=class{constructor(t){this._settings=t,this._fsStatSettings=new IE.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(t){return LE.resolve(this._settings.cwd,t)}_makeEntry(t,r){let n={name:r,path:r,dirent:Qp.fs.createDirentFromStats(r,t)};return this._settings.stats&&(n.stats=t),n}_isFatalError(t){return!Qp.errno.isEnoentCodeError(t)&&!this._settings.suppressErrors}};ss.default=is});var ls=x(cs=>{"use strict";Object.defineProperty(cs,"__esModule",{value:!0});var jE=F("stream"),FE=St(),ME=Nn(),BE=Ln(),as=class extends BE.default{constructor(){super(...arguments),this._walkStream=ME.walkStream,this._stat=FE.stat}dynamic(t,r){return this._walkStream(t,r)}static(t,r){let n=t.map(this._getFullEntryPath,this),o=new jE.PassThrough({objectMode:!0});o._write=(i,s,a)=>this._getEntry(n[i],t[i],r).then(c=>{c!==null&&r.entryFilter(c)&&o.push(c),i===n.length-1&&o.end(),a()}).catch(a);for(let i=0;i<n.length;i++)o.write(i);return o}_getEntry(t,r,n){return this._getStat(t).then(o=>this._makeEntry(o,r)).catch(o=>{if(n.errorFilter(o))return null;throw o})}_getStat(t){return new Promise((r,n)=>{this._stat(t,this._fsStatSettings,(o,i)=>o===null?r(i):n(o))})}};cs.default=as});var Zp=x(ps=>{"use strict";Object.defineProperty(ps,"__esModule",{value:!0});var HE=Nn(),VE=Ln(),GE=ls(),us=class extends VE.default{constructor(){super(...arguments),this._walkAsync=HE.walk,this._readerStream=new GE.default(this._settings)}dynamic(t,r){return new Promise((n,o)=>{this._walkAsync(t,r,(i,s)=>{i===null?n(s):o(i)})})}async static(t,r){let n=[],o=this._readerStream.static(t,r);return new Promise((i,s)=>{o.once("error",s),o.on("data",a=>n.push(a)),o.once("end",()=>i(n))})}};ps.default=us});var ed=x(fs=>{"use strict";Object.defineProperty(fs,"__esModule",{value:!0});var wr=et(),ds=class{constructor(t,r,n){this._patterns=t,this._settings=r,this._micromatchOptions=n,this._storage=[],this._fillStorage()}_fillStorage(){for(let t of this._patterns){let r=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(r);this._storage.push({complete:n.length<=1,pattern:t,segments:r,sections:n})}}_getPatternSegments(t){return wr.pattern.getPatternParts(t,this._micromatchOptions).map(n=>wr.pattern.isDynamicPattern(n,this._settings)?{dynamic:!0,pattern:n,patternRe:wr.pattern.makeRe(n,this._micromatchOptions)}:{dynamic:!1,pattern:n})}_splitSegmentsIntoSections(t){return wr.array.splitWhen(t,r=>r.dynamic&&wr.pattern.hasGlobStar(r.pattern))}};fs.default=ds});var td=x(ms=>{"use strict";Object.defineProperty(ms,"__esModule",{value:!0});var UE=ed(),hs=class extends UE.default{match(t){let r=t.split("/"),n=r.length,o=this._storage.filter(i=>!i.complete||i.segments.length>n);for(let i of o){let s=i.sections[0];if(!i.complete&&n>s.length||r.every((c,u)=>{let l=i.segments[u];return!!(l.dynamic&&l.patternRe.test(c)||!l.dynamic&&l.pattern===c)}))return!0}return!1}};ms.default=hs});var rd=x(ys=>{"use strict";Object.defineProperty(ys,"__esModule",{value:!0});var In=et(),WE=td(),gs=class{constructor(t,r){this._settings=t,this._micromatchOptions=r}getFilter(t,r,n){let o=this._getMatcher(r),i=this._getNegativePatternsRe(n);return s=>this._filter(t,s,o,i)}_getMatcher(t){return new WE.default(t,this._settings,this._micromatchOptions)}_getNegativePatternsRe(t){let r=t.filter(In.pattern.isAffectDepthOfReadingPattern);return In.pattern.convertPatternsToRe(r,this._micromatchOptions)}_filter(t,r,n,o){if(this._isSkippedByDeep(t,r.path)||this._isSkippedSymbolicLink(r))return!1;let i=In.path.removeLeadingDotSegment(r.path);return this._isSkippedByPositivePatterns(i,n)?!1:this._isSkippedByNegativePatterns(i,o)}_isSkippedByDeep(t,r){return this._settings.deep===1/0?!1:this._getEntryLevel(t,r)>=this._settings.deep}_getEntryLevel(t,r){let n=r.split("/").length;if(t==="")return n;let o=t.split("/").length;return n-o}_isSkippedSymbolicLink(t){return!this._settings.followSymbolicLinks&&t.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(t,r){return!this._settings.baseNameMatch&&!r.match(t)}_isSkippedByNegativePatterns(t,r){return!In.pattern.matchAny(t,r)}};ys.default=gs});var nd=x(bs=>{"use strict";Object.defineProperty(bs,"__esModule",{value:!0});var bt=et(),vs=class{constructor(t,r){this._settings=t,this._micromatchOptions=r,this.index=new Map}getFilter(t,r){let[n,o]=bt.pattern.partitionAbsoluteAndRelative(r),i={positive:{all:bt.pattern.convertPatternsToRe(t,this._micromatchOptions)},negative:{absolute:bt.pattern.convertPatternsToRe(n,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0})),relative:bt.pattern.convertPatternsToRe(o,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}))}};return s=>this._filter(s,i)}_filter(t,r){let n=bt.path.removeLeadingDotSegment(t.path);if(this._settings.unique&&this._isDuplicateEntry(n)||this._onlyFileFilter(t)||this._onlyDirectoryFilter(t))return!1;let o=this._isMatchToPatternsSet(n,r,t.dirent.isDirectory());return this._settings.unique&&o&&this._createIndexRecord(n),o}_isDuplicateEntry(t){return this.index.has(t)}_createIndexRecord(t){this.index.set(t,void 0)}_onlyFileFilter(t){return this._settings.onlyFiles&&!t.dirent.isFile()}_onlyDirectoryFilter(t){return this._settings.onlyDirectories&&!t.dirent.isDirectory()}_isMatchToPatternsSet(t,r,n){return!(!this._isMatchToPatterns(t,r.positive.all,n)||this._isMatchToPatterns(t,r.negative.relative,n)||this._isMatchToAbsoluteNegative(t,r.negative.absolute,n))}_isMatchToAbsoluteNegative(t,r,n){if(r.length===0)return!1;let o=bt.path.makeAbsolute(this._settings.cwd,t);return this._isMatchToPatterns(o,r,n)}_isMatchToPatterns(t,r,n){if(r.length===0)return!1;let o=bt.pattern.matchAny(t,r);return!o&&n?bt.pattern.matchAny(t+"/",r):o}};bs.default=vs});var od=x(Es=>{"use strict";Object.defineProperty(Es,"__esModule",{value:!0});var qE=et(),_s=class{constructor(t){this._settings=t}getFilter(){return t=>this._isNonFatalError(t)}_isNonFatalError(t){return qE.errno.isEnoentCodeError(t)||this._settings.suppressErrors}};Es.default=_s});var sd=x(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});var id=et(),xs=class{constructor(t){this._settings=t}getTransformer(){return t=>this._transform(t)}_transform(t){let r=t.path;return this._settings.absolute&&(r=id.path.makeAbsolute(this._settings.cwd,r),r=id.path.unixify(r)),this._settings.markDirectories&&t.dirent.isDirectory()&&(r+="/"),this._settings.objectMode?Object.assign(Object.assign({},t),{path:r}):r}};ks.default=xs});var jn=x(Cs=>{"use strict";Object.defineProperty(Cs,"__esModule",{value:!0});var YE=F("path"),KE=rd(),XE=nd(),zE=od(),JE=sd(),ws=class{constructor(t){this._settings=t,this.errorFilter=new zE.default(this._settings),this.entryFilter=new XE.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new KE.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new JE.default(this._settings)}_getRootDirectory(t){return YE.resolve(this._settings.cwd,t.base)}_getReaderOptions(t){let r=t.base==="."?"":t.base;return{basePath:r,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(r,t.positive,t.negative),entryFilter:this.entryFilter.getFilter(t.positive,t.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};Cs.default=ws});var ad=x(Ss=>{"use strict";Object.defineProperty(Ss,"__esModule",{value:!0});var QE=Zp(),ZE=jn(),As=class extends ZE.default{constructor(){super(...arguments),this._reader=new QE.default(this._settings)}async read(t){let r=this._getRootDirectory(t),n=this._getReaderOptions(t);return(await this.api(r,t,n)).map(i=>n.transform(i))}api(t,r,n){return r.dynamic?this._reader.dynamic(t,n):this._reader.static(r.patterns,n)}};Ss.default=As});var cd=x(Os=>{"use strict";Object.defineProperty(Os,"__esModule",{value:!0});var ex=F("stream"),tx=ls(),rx=jn(),Rs=class extends rx.default{constructor(){super(...arguments),this._reader=new tx.default(this._settings)}read(t){let r=this._getRootDirectory(t),n=this._getReaderOptions(t),o=this.api(r,t,n),i=new ex.Readable({objectMode:!0,read:()=>{}});return o.once("error",s=>i.emit("error",s)).on("data",s=>i.emit("data",n.transform(s))).once("end",()=>i.emit("end")),i.once("close",()=>o.destroy()),i}api(t,r,n){return r.dynamic?this._reader.dynamic(t,n):this._reader.static(r.patterns,n)}};Os.default=Rs});var ld=x(Ps=>{"use strict";Object.defineProperty(Ps,"__esModule",{value:!0});var nx=St(),ox=Nn(),ix=Ln(),Ts=class extends ix.default{constructor(){super(...arguments),this._walkSync=ox.walkSync,this._statSync=nx.statSync}dynamic(t,r){return this._walkSync(t,r)}static(t,r){let n=[];for(let o of t){let i=this._getFullEntryPath(o),s=this._getEntry(i,o,r);s===null||!r.entryFilter(s)||n.push(s)}return n}_getEntry(t,r,n){try{let o=this._getStat(t);return this._makeEntry(o,r)}catch(o){if(n.errorFilter(o))return null;throw o}}_getStat(t){return this._statSync(t,this._fsStatSettings)}};Ps.default=Ts});var ud=x(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});var sx=ld(),ax=jn(),$s=class extends ax.default{constructor(){super(...arguments),this._reader=new sx.default(this._settings)}read(t){let r=this._getRootDirectory(t),n=this._getReaderOptions(t);return this.api(r,t,n).map(n.transform)}api(t,r,n){return r.dynamic?this._reader.dynamic(t,n):this._reader.static(r.patterns,n)}};Ds.default=$s});var pd=x(zt=>{"use strict";Object.defineProperty(zt,"__esModule",{value:!0});zt.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var Xt=F("fs"),cx=F("os"),lx=Math.max(cx.cpus().length,1);zt.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:Xt.lstat,lstatSync:Xt.lstatSync,stat:Xt.stat,statSync:Xt.statSync,readdir:Xt.readdir,readdirSync:Xt.readdirSync};var Ns=class{constructor(t={}){this._options=t,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,lx),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0),this.ignore=[].concat(this.ignore)}_getValue(t,r){return t===void 0?r:t}_getFileSystemMethods(t={}){return Object.assign(Object.assign({},zt.DEFAULT_FILE_SYSTEM_ADAPTER),t)}};zt.default=Ns});var Fs=x((WS,fd)=>{"use strict";var dd=fp(),ux=ad(),px=cd(),dx=ud(),Ls=pd(),Pe=et();async function Is(e,t){je(e);let r=js(e,ux.default,t),n=await Promise.all(r);return Pe.array.flatten(n)}(function(e){e.glob=e,e.globSync=t,e.globStream=r,e.async=e;function t(u,l){je(u);let p=js(u,dx.default,l);return Pe.array.flatten(p)}e.sync=t;function r(u,l){je(u);let p=js(u,px.default,l);return Pe.stream.merge(p)}e.stream=r;function n(u,l){je(u);let p=[].concat(u),d=new Ls.default(l);return dd.generate(p,d)}e.generateTasks=n;function o(u,l){je(u);let p=new Ls.default(l);return Pe.pattern.isDynamicPattern(u,p)}e.isDynamicPattern=o;function i(u){return je(u),Pe.path.escape(u)}e.escapePath=i;function s(u){return je(u),Pe.path.convertPathToPattern(u)}e.convertPathToPattern=s;let a;(function(u){function l(d){return je(d),Pe.path.escapePosixPath(d)}u.escapePath=l;function p(d){return je(d),Pe.path.convertPosixPathToPattern(d)}u.convertPathToPattern=p})(a=e.posix||(e.posix={}));let c;(function(u){function l(d){return je(d),Pe.path.escapeWindowsPath(d)}u.escapePath=l;function p(d){return je(d),Pe.path.convertWindowsPathToPattern(d)}u.convertPathToPattern=p})(c=e.win32||(e.win32={}))})(Is||(Is={}));function js(e,t,r){let n=[].concat(e),o=new Ls.default(r),i=dd.generate(n,o),s=new t(o);return i.map(s.read,s)}function je(e){if(![].concat(e).every(n=>Pe.string.isString(n)&&!Pe.string.isEmpty(n)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}fd.exports=Is});import fx from"node:fs";import hx from"node:fs/promises";async function Ms(e,t,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return(await hx[e](r))[t]()}catch(n){if(n.code==="ENOENT")return!1;throw n}}function Bs(e,t,r){if(typeof r!="string")throw new TypeError(`Expected a string, got ${typeof r}`);try{return fx[e](r)[t]()}catch(n){if(n.code==="ENOENT")return!1;throw n}}var KS,hd,XS,zS,md,JS,gd=ct(()=>{KS=Ms.bind(void 0,"stat","isFile"),hd=Ms.bind(void 0,"stat","isDirectory"),XS=Ms.bind(void 0,"lstat","isSymbolicLink"),zS=Bs.bind(void 0,"statSync","isFile"),md=Bs.bind(void 0,"statSync","isDirectory"),JS=Bs.bind(void 0,"lstatSync","isSymbolicLink")});var yd=ct(()=>{});import{promisify as mx}from"node:util";import{execFile as gx,execFileSync as r0}from"node:child_process";import{fileURLToPath as yx}from"node:url";function Cr(e){return e instanceof URL?yx(e):e}var o0,i0,Hs=ct(()=>{yd();o0=mx(gx);i0=10*1024*1024});var Ad=x((c0,Bn)=>{function _d(e){return Array.isArray(e)?e:[e]}var vx=void 0,Gs="",vd=" ",Vs="\\",bx=/^\s+$/,_x=/(?:[^\\]|^)\\$/,Ex=/^\\!/,xx=/^\\#/,kx=/\r?\n/g,wx=/^\.{0,2}\/|^\.{1,2}$/,Cx=/\/$/,Jt="/",Ed="node-ignore";typeof Symbol<"u"&&(Ed=Symbol.for("node-ignore"));var xd=Ed,Qt=(e,t,r)=>(Object.defineProperty(e,t,{value:r}),r),Ax=/([0-z])-([0-z])/g,kd=()=>!1,Sx=e=>e.replace(Ax,(t,r,n)=>r.charCodeAt(0)<=n.charCodeAt(0)?t:Gs),Rx=e=>{let{length:t}=e;return e.slice(0,t-t%2)},Ox=[[/^\uFEFF/,()=>Gs],[/((?:\\\\)*?)(\\?\s+)$/,(e,t,r)=>t+(r.indexOf("\\")===0?vd:Gs)],[/(\\+?)\s/g,(e,t)=>{let{length:r}=t;return t.slice(0,r-r%2)+vd}],[/[\\$.|*+(){^]/g,e=>`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,r)=>t+6<r.length?"(?:\\/[^\\/]+)*":"\\/.+"],[/(^|[^\\]+)(\\\*)+(?=.+)/g,(e,t,r)=>{let n=r.replace(/\\\*/g,"[^\\/]*");return t+n}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Vs],[/\\\\/g,()=>Vs],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(e,t,r,n,o)=>t===Vs?`\\[${r}${Rx(n)}${o}`:o==="]"&&n.length%2===0?`[${Sx(r)}${n}]`:"[]"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`]],Tx=/(^|\\\/)?\\\*$/,Ar="regex",Fn="checkRegex",bd="_",Px={[Ar](e,t){return`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Fn](e,t){return`${t?`${t}[^/]*`:"[^/]*"}(?=$|\\/$)`}},$x=e=>Ox.reduce((t,[r,n])=>t.replace(r,n.bind(e)),e),Mn=e=>typeof e=="string",Dx=e=>e&&Mn(e)&&!bx.test(e)&&!_x.test(e)&&e.indexOf("#")!==0,Nx=e=>e.split(kx).filter(Boolean),Us=class{constructor(t,r,n,o,i,s){this.pattern=t,this.mark=r,this.negative=i,Qt(this,"body",n),Qt(this,"ignoreCase",o),Qt(this,"regexPrefix",s)}get regex(){let t=bd+Ar;return this[t]?this[t]:this._make(Ar,t)}get checkRegex(){let t=bd+Fn;return this[t]?this[t]:this._make(Fn,t)}_make(t,r){let n=this.regexPrefix.replace(Tx,Px[t]),o=this.ignoreCase?new RegExp(n,"i"):new RegExp(n);return Qt(this,r,o)}},Lx=({pattern:e,mark:t},r)=>{let n=!1,o=e;o.indexOf("!")===0&&(n=!0,o=o.substr(1)),o=o.replace(Ex,"!").replace(xx,"#");let i=$x(o);return new Us(e,t,o,r,n,i)},Ws=class{constructor(t){this._ignoreCase=t,this._rules=[]}_add(t){if(t&&t[xd]){this._rules=this._rules.concat(t._rules._rules),this._added=!0;return}if(Mn(t)&&(t={pattern:t}),Dx(t.pattern)){let r=Lx(t,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(t){return this._added=!1,_d(Mn(t)?Nx(t):t).forEach(this._add,this),this._added}test(t,r,n){let o=!1,i=!1,s;this._rules.forEach(c=>{let{negative:u}=c;i===u&&o!==i||u&&!o&&!i&&!r||!c[n].test(t)||(o=!u,i=u,s=u?vx:c)});let a={ignored:o,unignored:i};return s&&(a.rule=s),a}},Ix=(e,t)=>{throw new t(e)},tt=(e,t,r)=>Mn(e)?e?tt.isNotRelative(e)?r(`path should be a \`path.relative()\`d string, but got "${t}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${t}\``,TypeError),wd=e=>wx.test(e);tt.isNotRelative=wd;tt.convert=e=>e;var qs=class{constructor({ignorecase:t=!0,ignoreCase:r=t,allowRelativePaths:n=!1}={}){Qt(this,xd,!0),this._rules=new Ws(r),this._strictPathCheck=!n,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(t){return this._rules.add(t)&&this._initCache(),this}addPattern(t){return this.add(t)}_test(t,r,n,o){let i=t&&tt.convert(t);return tt(i,t,this._strictPathCheck?Ix:kd),this._t(i,r,n,o)}checkIgnore(t){if(!Cx.test(t))return this.test(t);let r=t.split(Jt).filter(Boolean);if(r.pop(),r.length){let n=this._t(r.join(Jt)+Jt,this._testCache,!0,r);if(n.ignored)return n}return this._rules.test(t,!1,Fn)}_t(t,r,n,o){if(t in r)return r[t];if(o||(o=t.split(Jt).filter(Boolean)),o.pop(),!o.length)return r[t]=this._rules.test(t,n,Ar);let i=this._t(o.join(Jt)+Jt,r,n,o);return r[t]=i.ignored?i:this._rules.test(t,n,Ar)}ignores(t){return this._test(t,this._ignoreCache,!1).ignored}createFilter(){return t=>!this.ignores(t)}filter(t){return _d(t).filter(this.createFilter())}test(t){return this._test(t,this._testCache,!0)}},Ys=e=>new qs(e),jx=e=>tt(e&&tt.convert(e),e,kd),Cd=()=>{let e=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");tt.convert=e;let t=/^[a-z]:\//i;tt.isNotRelative=r=>t.test(r)||wd(r)};typeof process<"u"&&process.platform==="win32"&&Cd();Bn.exports=Ys;Ys.default=Ys;Bn.exports.isPathValid=jx;Qt(Bn.exports,Symbol.for("setupWindows"),Cd)});function Zt(e){return e.startsWith("\\\\?\\")?e:e.replace(/\\/g,"/")}var Sd=ct(()=>{});var Sr,Ks=ct(()=>{Sr=e=>e[0]==="!"});import Fx from"node:process";import Mx from"node:fs";import Bx from"node:fs/promises";import er from"node:path";var Xs,Rd,Hx,Od,Hn,Vx,Gx,Ux,Td,Pd,Rr,Or,$d,Dd,zs=ct(()=>{Xs=ir(Fs(),1),Rd=ir(Ad(),1);Sd();Hs();Ks();Hx=["**/node_modules","**/flow-typed","**/coverage","**/.git"],Od={absolute:!0,dot:!0},Hn="**/.gitignore",Vx=(e,t)=>Sr(e)?"!"+er.posix.join(t,e.slice(1)):er.posix.join(t,e),Gx=(e,t)=>{let r=Zt(er.relative(t,er.dirname(e.filePath)));return e.content.split(/\r?\n/).filter(n=>n&&!n.startsWith("#")).map(n=>Vx(n,r))},Ux=(e,t)=>{if(t=Zt(t),er.isAbsolute(e)){if(Zt(e).startsWith(t))return er.relative(t,e);throw new Error(`Path ${e} is not in cwd ${t}`)}return e},Td=(e,t)=>{let r=e.flatMap(o=>Gx(o,t)),n=(0,Rd.default)().add(r);return o=>(o=Cr(o),o=Ux(o,t),o?n.ignores(Zt(o)):!1)},Pd=(e={})=>({cwd:Cr(e.cwd)??Fx.cwd(),suppressErrors:!!e.suppressErrors,deep:typeof e.deep=="number"?e.deep:Number.POSITIVE_INFINITY,ignore:[...e.ignore??[],...Hx]}),Rr=async(e,t)=>{let{cwd:r,suppressErrors:n,deep:o,ignore:i}=Pd(t),s=await(0,Xs.default)(e,{cwd:r,suppressErrors:n,deep:o,ignore:i,...Od}),a=await Promise.all(s.map(async c=>({filePath:c,content:await Bx.readFile(c,"utf8")})));return Td(a,r)},Or=(e,t)=>{let{cwd:r,suppressErrors:n,deep:o,ignore:i}=Pd(t),a=Xs.default.sync(e,{cwd:r,suppressErrors:n,deep:o,ignore:i,...Od}).map(c=>({filePath:c,content:Mx.readFileSync(c,"utf8")}));return Td(a,r)},$d=e=>Rr(Hn,e),Dd=e=>Or(Hn,e)});var Kd={};Vf(Kd,{convertPathToPattern:()=>tk,generateGlobTasks:()=>Zx,generateGlobTasksSync:()=>ek,globby:()=>Xx,globbyStream:()=>Jx,globbySync:()=>zx,isDynamicPattern:()=>Qx,isGitIgnored:()=>$d,isGitIgnoredSync:()=>Dd,isIgnoredByIgnoreFiles:()=>Rr,isIgnoredByIgnoreFilesSync:()=>Or});import Id from"node:process";import Wx from"node:fs";import tr from"node:path";var rr,qx,jd,Fd,Nd,Ld,Js,Yx,Md,Bd,Vn,Hd,Kx,Vd,Gd,Ud,Wd,qd,Yd,Qs,Xx,zx,Jx,Qx,Zx,ek,tk,Xd=ct(()=>{wl();rr=ir(Fs(),1);gd();Hs();zs();Ks();zs();qx=e=>{if(e.some(t=>typeof t!="string"))throw new TypeError("Patterns must be a string or an array of strings")},jd=(e,t)=>{let r=Sr(e)?e.slice(1):e;return tr.isAbsolute(r)?r:tr.join(t,r)},Fd=({directoryPath:e,files:t,extensions:r})=>{let n=r?.length>0?`.${r.length>1?`{${r.join(",")}}`:r[0]}`:"";return t?t.map(o=>tr.posix.join(e,`**/${tr.extname(o)?o:`${o}${n}`}`)):[tr.posix.join(e,`**${n?`/*${n}`:""}`)]},Nd=async(e,{cwd:t=Id.cwd(),files:r,extensions:n}={})=>(await Promise.all(e.map(async i=>await hd(jd(i,t))?Fd({directoryPath:i,files:r,extensions:n}):i))).flat(),Ld=(e,{cwd:t=Id.cwd(),files:r,extensions:n}={})=>e.flatMap(o=>md(jd(o,t))?Fd({directoryPath:o,files:r,extensions:n}):o),Js=e=>(e=[...new Set([e].flat())],qx(e),e),Yx=e=>{if(!e)return;let t;try{t=Wx.statSync(e)}catch{return}if(!t.isDirectory())throw new Error("The `cwd` option must be a path to a directory")},Md=(e={})=>(e={...e,ignore:e.ignore??[],expandDirectories:e.expandDirectories??!0,cwd:Cr(e.cwd)},Yx(e.cwd),e),Bd=e=>async(t,r)=>e(Js(t),Md(r)),Vn=e=>(t,r)=>e(Js(t),Md(r)),Hd=e=>{let{ignoreFiles:t,gitignore:r}=e,n=t?Js(t):[];return r&&n.push(Hn),n},Kx=async e=>{let t=Hd(e);return Gd(t.length>0&&await Rr(t,e))},Vd=e=>{let t=Hd(e);return Gd(t.length>0&&Or(t,e))},Gd=e=>{let t=new Set;return r=>{let n=tr.normalize(r.path??r);return t.has(n)||e&&e(n)?!1:(t.add(n),!0)}},Ud=(e,t)=>e.flat().filter(r=>t(r)),Wd=(e,t)=>{let r=[];for(;e.length>0;){let n=e.findIndex(i=>Sr(i));if(n===-1){r.push({patterns:e,options:t});break}let o=e[n].slice(1);for(let i of r)i.options.ignore.push(o);n!==0&&r.push({patterns:e.slice(0,n),options:{...t,ignore:[...t.ignore,o]}}),e=e.slice(n+1)}return r},qd=(e,t)=>({...t?{cwd:t}:{},...Array.isArray(e)?{files:e}:e}),Yd=async(e,t)=>{let r=Wd(e,t),{cwd:n,expandDirectories:o}=t;if(!o)return r;let i=qd(o,n);return Promise.all(r.map(async s=>{let{patterns:a,options:c}=s;return[a,c.ignore]=await Promise.all([Nd(a,i),Nd(c.ignore,{cwd:n})]),{patterns:a,options:c}}))},Qs=(e,t)=>{let r=Wd(e,t),{cwd:n,expandDirectories:o}=t;if(!o)return r;let i=qd(o,n);return r.map(s=>{let{patterns:a,options:c}=s;return a=Ld(a,i),c.ignore=Ld(c.ignore,{cwd:n}),{patterns:a,options:c}})},Xx=Bd(async(e,t)=>{let[r,n]=await Promise.all([Yd(e,t),Kx(t)]),o=await Promise.all(r.map(i=>(0,rr.default)(i.patterns,i.options)));return Ud(o,n)}),zx=Vn((e,t)=>{let r=Qs(e,t),n=Vd(t),o=r.map(i=>rr.default.sync(i.patterns,i.options));return Ud(o,n)}),Jx=Vn((e,t)=>{let r=Qs(e,t),n=Vd(t),o=r.map(s=>rr.default.stream(s.patterns,s.options));return ei(o).filter(s=>n(s))}),Qx=Vn((e,t)=>e.some(r=>rr.default.isDynamicPattern(r,t))),Zx=Bd(Yd),ek=Vn(Qs),{convertPathToPattern:tk}=rr.default});var Be=["frontend","backend"],eo=["workbench.frontend","workbench.backend"],Ir=[...Be,...eo];var la=(e=0)=>t=>`\x1B[${t+e}m`,ua=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,pa=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,Q={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},fw=Object.keys(Q.modifier),Uf=Object.keys(Q.color),Wf=Object.keys(Q.bgColor),hw=[...Uf,...Wf];function qf(){let e=new Map;for(let[t,r]of Object.entries(Q)){for(let[n,o]of Object.entries(r))Q[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},r[n]=Q[n],e.set(o[0],o[1]);Object.defineProperty(Q,t,{value:r,enumerable:!1})}return Object.defineProperty(Q,"codes",{value:e,enumerable:!1}),Q.color.close="\x1B[39m",Q.bgColor.close="\x1B[49m",Q.color.ansi=la(),Q.color.ansi256=ua(),Q.color.ansi16m=pa(),Q.bgColor.ansi=la(10),Q.bgColor.ansi256=ua(10),Q.bgColor.ansi16m=pa(10),Object.defineProperties(Q,{rgbToAnsi256:{value(t,r,n){return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(i=>i+i).join(""));let o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:t=>Q.rgbToAnsi256(...Q.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,o;if(t>=232)r=((t-232)*10+8)/255,n=r,o=r;else{t-=16;let a=t%36;r=Math.floor(t/36)/5,n=Math.floor(a/6)/5,o=a%6/5}let i=Math.max(r,n,o)*2;if(i===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(r));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>Q.ansi256ToAnsi(Q.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>Q.ansi256ToAnsi(Q.hexToAnsi256(t)),enumerable:!1}}),Q}var Yf=qf(),Ne=Yf;import to from"node:process";import Kf from"node:os";import da from"node:tty";function Re(e,t=globalThis.Deno?globalThis.Deno.args:to.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),o=t.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:Z}=to,jr;Re("no-color")||Re("no-colors")||Re("color=false")||Re("color=never")?jr=0:(Re("color")||Re("colors")||Re("color=true")||Re("color=always"))&&(jr=1);function Xf(){if("FORCE_COLOR"in Z)return Z.FORCE_COLOR==="true"?1:Z.FORCE_COLOR==="false"?0:Z.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(Z.FORCE_COLOR,10),3)}function zf(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Jf(e,{streamIsTTY:t,sniffFlags:r=!0}={}){let n=Xf();n!==void 0&&(jr=n);let o=r?jr:n;if(o===0)return 0;if(r){if(Re("color=16m")||Re("color=full")||Re("color=truecolor"))return 3;if(Re("color=256"))return 2}if("TF_BUILD"in Z&&"AGENT_NAME"in Z)return 1;if(e&&!t&&o===void 0)return 0;let i=o||0;if(Z.TERM==="dumb")return i;if(to.platform==="win32"){let s=Kf.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in Z)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in Z)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in Z)||Z.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in Z)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(Z.TEAMCITY_VERSION)?1:0;if(Z.COLORTERM==="truecolor"||Z.TERM==="xterm-kitty"||Z.TERM==="xterm-ghostty"||Z.TERM==="wezterm")return 3;if("TERM_PROGRAM"in Z){let s=Number.parseInt((Z.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(Z.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(Z.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(Z.TERM)||"COLORTERM"in Z?1:i}function fa(e,t={}){let r=Jf(e,{streamIsTTY:e&&e.isTTY,...t});return zf(r)}var Qf={stdout:fa({isTTY:da.isatty(1)}),stderr:fa({isTTY:da.isatty(2)})},ha=Qf;function ma(e,t,r){let n=e.indexOf(t);if(n===-1)return e;let o=t.length,i=0,s="";do s+=e.slice(i,n)+t+r,i=n+o,n=e.indexOf(t,i);while(n!==-1);return s+=e.slice(i),s}function ga(e,t,r,n){let o=0,i="";do{let s=e[n-1]==="\r";i+=e.slice(o,s?n-1:n)+t+(s?`\r
32
32
  `:`
33
33
  `)+r,o=n+1,n=e.indexOf(`
@@ -846,7 +846,7 @@ server {
846
846
  proxy_set_header Authorization $http_authorization;
847
847
  }
848
848
  }
849
- `;await H.writeFile(W.join(e,"Dockerfile.workbench-frontend"),u),await H.writeFile(W.join(e,"Dockerfile.workbench-backend"),l),await H.writeFile(W.join(e,"nginx.workbench.conf"),p)}},Nk=async(e,t,r,n)=>{let o=e.services.frontend?.port||8081,i=e.services.workbench?.frontendPort||8083,s=e.env.production||{},a={services:{frontend:{build:{context:".",dockerfile:"Dockerfile.frontend"},ports:[`\${PORT:-${o}}:${o}`],depends_on:["backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}","RACLETTE_SERVER_BASE_URL=${RACLETTE_SERVER_BASE_URL:-/api}","RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}",...Object.entries(s).map(([u,l])=>`${u}=${l}`)]},backend:{build:{context:".",dockerfile:"Dockerfile.backend"},depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","DISABLE_PLUGIN_LOGS=${RACLETTE_DISABLE_PLUGIN_LOGS:-false}","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET:-thisshouldbesetforproduction}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.services.mongodb?.databaseName||e.name}}}`,`CACHE_URL=\${RACLETTE_CACHE_URL:-valkey://cache:6379${e.services.cache?.db?`/${e.services.cache?.db}`:""}}`,...Object.entries(s).map(([u,l])=>`${u}=${l}`)]},database:{image:"mongo:5.0.6",restart:"unless-stopped",volumes:["mongodb_data:/data/db","mongodb_config:/data/config"],networks:["app-network"],environment:["MONGO_INITDB_DATABASE=${MONGO_DATABASE:-"+(e.services.mongodb?.databaseName||e.name)+"}"],healthcheck:{test:["CMD","mongosh","--eval","db.adminCommand('ping')"],interval:"10s",timeout:"30s",retries:20}},cache:{image:"valkey/valkey:8.1-alpine",restart:"unless-stopped",volumes:["cache_data:/data"],networks:["app-network"],healthcheck:{test:["CMD","valkey-cli","ping"],interval:"10s",timeout:"5s",retries:3}}},volumes:{mongodb_data:{},mongodb_config:{},cache_data:{}},networks:{"app-network":{driver:"bridge"}}},c=e.backend?.cache;if(c?.persistence){let u=c.RDB_OPTIONS||"3600 1 300 100 60 10000";switch(c.persistence){case"none":a.services.cache.command='valkey-server --save ""';break;case"aof":a.services.cache.command="valkey-server --appendonly yes";break;case"rdb":a.services.cache.command="valkey-server --save "+u;break;case"rdb+aof":a.services.cache.command="valkey-server --appendonly yes --save "+u;break}}if(n){let u=e.env.production||{};a.services["workbench-frontend"]={build:{context:".",dockerfile:"Dockerfile.workbench-frontend"},ports:[`\${WORKBENCH_PORT:-${i}}:${i}`],depends_on:["workbench-backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}",`RACLETTE_SERVER_BASE_URL=\${RACLETTE_SERVER_BASE_URL:-http://localhost:${i}/api}`,"RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}",...Object.entries(u).map(([l,p])=>`${l}=${p}`)]},a.services["workbench-backend"]={build:{context:".",dockerfile:"Dockerfile.workbench-backend"},depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","DISABLE_PLUGIN_LOGS=${RACLETTE_DISABLE_PLUGIN_LOGS:-false}","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.services.mongodb?.databaseName||e.name}}}`,`CACHE_URL=\${RACLETTE_CACHE_URL:-valkey://cache:6379${e.services.cache?.db?`/${e.services.cache?.db}`:""}}`,...Object.entries(u).map(([l,p])=>`${l}=${p}`)]}}await H.writeFile(r,Ce.dump(a))},Lk=async(e,t,r)=>{let n=ia(e,r);await H.writeFile(W.join(t,".env.example"),n)},ia=(e,t)=>{let r=e.services.frontend?.port||8081,n=e.services.workbench?.frontendPort||8083;return`# Production Environment Variables
849
+ `;await H.writeFile(W.join(e,"Dockerfile.workbench-frontend"),u),await H.writeFile(W.join(e,"Dockerfile.workbench-backend"),l),await H.writeFile(W.join(e,"nginx.workbench.conf"),p)}},Nk=async(e,t,r,n)=>{let o=e.services.frontend?.port||8081,i=e.services.workbench?.frontendPort||8083,s=e.env.production||{},a={services:{frontend:{build:{context:".",dockerfile:"Dockerfile.frontend"},ports:[`\${PORT:-${o}}:${o}`],depends_on:["backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}","RACLETTE_SERVER_BASE_URL=${RACLETTE_SERVER_BASE_URL:-/api}","RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}",...Object.entries(s).map(([u,l])=>`${u}=${l}`)]},backend:{build:{context:".",dockerfile:"Dockerfile.backend"},depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","DISABLE_PLUGIN_LOGS=${RACLETTE_DISABLE_PLUGIN_LOGS:-false}","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET:-thisshouldbesetforproduction}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.services.mongodb?.databaseName||e.name}}}`,`CACHE_URL=\${RACLETTE_CACHE_URL:-valkey://cache:6379${e.services.cache?.db?`/${e.services.cache?.db}`:""}}`,...Object.entries(s).map(([u,l])=>`${u}=${l}`)]},database:{image:"mongo:8.2",restart:"unless-stopped",volumes:["mongodb_data:/data/db","mongodb_config:/data/config"],networks:["app-network"],environment:["MONGO_INITDB_DATABASE=${MONGO_DATABASE:-"+(e.services.mongodb?.databaseName||e.name)+"}"],healthcheck:{test:["CMD","mongosh","--eval","db.adminCommand('ping')"],interval:"10s",timeout:"30s",retries:20}},cache:{image:"valkey/valkey:9.0-alpine",restart:"unless-stopped",volumes:["cache_data:/data"],networks:["app-network"],healthcheck:{test:["CMD","valkey-cli","ping"],interval:"10s",timeout:"5s",retries:3}}},volumes:{mongodb_data:{},mongodb_config:{},cache_data:{}},networks:{"app-network":{driver:"bridge"}}},c=e.backend?.cache;if(c?.persistence){let u=c.RDB_OPTIONS||"3600 1 300 100 60 10000";switch(c.persistence){case"none":a.services.cache.command='valkey-server --save ""';break;case"aof":a.services.cache.command="valkey-server --appendonly yes";break;case"rdb":a.services.cache.command="valkey-server --save "+u;break;case"rdb+aof":a.services.cache.command="valkey-server --appendonly yes --save "+u;break}}if(n){let u=e.env.production||{};a.services["workbench-frontend"]={build:{context:".",dockerfile:"Dockerfile.workbench-frontend"},ports:[`\${WORKBENCH_PORT:-${i}}:${i}`],depends_on:["workbench-backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}",`RACLETTE_SERVER_BASE_URL=\${RACLETTE_SERVER_BASE_URL:-http://localhost:${i}/api}`,"RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}",...Object.entries(u).map(([l,p])=>`${l}=${p}`)]},a.services["workbench-backend"]={build:{context:".",dockerfile:"Dockerfile.workbench-backend"},depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","DISABLE_PLUGIN_LOGS=${RACLETTE_DISABLE_PLUGIN_LOGS:-false}","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.services.mongodb?.databaseName||e.name}}}`,`CACHE_URL=\${RACLETTE_CACHE_URL:-valkey://cache:6379${e.services.cache?.db?`/${e.services.cache?.db}`:""}}`,...Object.entries(u).map(([l,p])=>`${l}=${p}`)]}}await H.writeFile(r,Ce.dump(a))},Lk=async(e,t,r)=>{let n=ia(e,r);await H.writeFile(W.join(t,".env.example"),n)},ia=(e,t)=>{let r=e.services.frontend?.port||8081,n=e.services.workbench?.frontendPort||8083;return`# Production Environment Variables
850
850
  # Copy this file to .env and fill in your values
851
851
 
852
852
  # Required - Generate a secure random string for this
@@ -937,7 +937,7 @@ echo " - Built with TypeScript and compiled to dist/src/server.js"
937
937
  echo " - Runs on Node.js 24 Alpine with production dependencies only"
938
938
  echo " - Should listen on 0.0.0.0:3000 for proper container networking"
939
939
  echo " - Accessible via /api proxy on port ${n}"
940
- `,s=W.join(e,"deploy.sh");await H.writeFile(s,i),await H.chmod(s,493)},_f=async(e,t,r)=>{let n={services:{},volumes:{},networks:{raclette_shared:{external:!0,name:"raclette_shared"}}},o=`${e.name}-build`;if(e.services.mongodb?.enabled){let i=`${o}-mongodb-data`;n.services.mongodb={container_name:`${o}-mongodb`,image:"mongo:5.0.6",ports:[`127.0.0.1:${e.services.mongodb.port}:27017`],volumes:[`${i}:/data/db`],networks:["raclette_shared"],healthcheck:{test:["CMD","mongosh","--eval","db.adminCommand('ping')"],interval:"10s",timeout:"30s",retries:20}},n.volumes[i]=null}if(e.services.redis?.enabled){let i=`${o}-redis-data`;n.services.redis={container_name:`${o}-redis`,image:"redis:7-alpine",ports:[`127.0.0.1:${e.services.redis.port}:6379`],command:"redis-server --appendonly yes",volumes:[`${i}:/data`],networks:["raclette_shared"],healthcheck:{test:["CMD","redis-cli","ping"],interval:"10s",timeout:"5s",retries:3}},n.volumes[i]=null}if(e.services.backend?.enabled){let i=`${o}-backend_node_modules`;n.services.backend={container_name:`${o}-backend`,build:{context:".",dockerfile:"./backend.Dockerfile",args:{NODE_ENV:"development"}},command:"yarn generate",environment:["NODE_ENV=development","RACLETTE_BUILD_MODE=generate",`MONGO_HOST=mongodb://mongodb:${e.services.mongodb?.port||27017}/${e.services.mongodb?.databaseName||e.name}`,"SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET:-thisshouldbesetforproduction}",`CACHE_URL=redis://redis:${e.services.redis?.port||6379}`,...Object.entries(e.env.development||{}).map(([s,a])=>`${s}=${a}`)],volumes:[`${i}:/app/node_modules`,"./.raclette/virtual/backend/src:/app/src","./plugins:/app/src/appPlugins","./.raclette/backend/raclette.config.js:/app/raclette.config.js","./.raclette/backend/package.json:/app/package.json","./.raclette/dist/check-dependencies.sh:/app/check-dependencies.sh",`${Gt("backend",e)}:/app/yarn.lock`],networks:["raclette_shared"],depends_on:{...e.services.mongodb?.enabled&&{mongodb:{condition:"service_started"}},...e.services.redis?.enabled&&{redis:{condition:"service_healthy"}}},entrypoint:["/app/check-dependencies.sh"]},n.volumes[i]=null}e.services.backend?.volumes&&e.services.backend.volumes.length>0&&e.services.backend.volumes.forEach(i=>{let s=dt(i,t);n.services.backend.volumes.push(s)}),Object.values(n.services).forEach(i=>{i.volumes&&(i.volumes=rn(i.volumes,t))}),await H.writeFile(r,Ce.dump(n))},Ef=async(e,t,r,n)=>{let o={services:{},volumes:{},networks:{raclette_shared:{external:!0,name:"raclette_shared"}}},i=`${e.name}-build`;if(e.services.frontend?.enabled){let s=e.services.frontend.nodeModulesVolume||`${e.name}-frontend_node_modules`;o.services.frontend={container_name:`${i}-frontend`,build:{context:".",dockerfile:"./frontend.Dockerfile",args:{NODE_ENV:"production"},target:"build"},command:["sh","-c","yarn install --production=false && yarn build && cp -r /app/dist/* /build-output/"],environment:[...Object.entries(e.env.production||{}).map(([a,c])=>`${a}=${c}`),"NODE_ENV=production"],volumes:["./.raclette/virtual/frontend/src:/app/src","./.raclette/virtual/backend/src/shared:/app/src/shared",`${s}:/app/node_modules`,"./plugins:/app/src/plugins","./.raclette/virtual/backend/src/corePlugins:/app/src/corePlugins","./.raclette/virtual/frontend/types:/app/types","./.raclette/frontend/raclette.config.js:/app/raclette.config.js","./.raclette/frontend/package.json:/app/package.json",`${Gt("frontend",e)}:/app/yarn.lock`,`${W.resolve(n,"frontend")}:/build-output`],networks:["raclette_shared"]},o.volumes[s]=null;try{e.services.frontend?.volumes&&e.services.frontend.volumes.length>0&&e.services.frontend.volumes.forEach(a=>{let c=dt(a,t);o.services.frontend.volumes.push(c)})}catch{console.error(h.red("Could not add custom volumes to backend docker-compose file. This might lead to missing data."))}}if(e.services.backend?.enabled){let s=e.services.backend.nodeModulesVolume||`${e.name}-backend_node_modules`;o.services.backend={container_name:`${i}-backend`,build:{context:".",dockerfile:"./backend.Dockerfile",args:{NODE_ENV:"production"}},command:["sh","-c","yarn install --production=false && rm -rf ./dist && yarn build && cp -r /app/dist /build-output/ && cp /app/package.json /build-output/ && cp /app/yarn.lock /build-output/ || echo 'Backend build failed'"],environment:[...Object.entries(e.env.production||{}).map(([a,c])=>`${a}=${c}`),"NODE_ENV=production"],volumes:[`${s}:/app/node_modules`,"./.raclette/virtual/backend/src:/app/src","./.raclette/backend/raclette.config.js:/app/raclette.config.js","./plugins:/app/src/appPlugins","./.raclette/backend/package.json:/app/package.json",`${Gt("backend",e)}:/app/yarn.lock`,"./.raclette/virtual/backend/types:/app/types",`${W.resolve(n,"backend")}:/build-output`],networks:["raclette_shared"]},o.volumes[s]=null;try{e.services.backend?.volumes&&e.services.backend.volumes.length>0&&e.services.backend.volumes.forEach(a=>{let c=dt(a,t);o.services.backend.volumes.push(c)})}catch{console.error(h.red("Could not add custom volumes to backend docker-compose file. This might lead to missing data."))}}Object.values(o.services).forEach(s=>{s.volumes&&(s.volumes=rn(s.volumes,t))}),await H.writeFile(r,Ce.dump(o))},jk=async(e,t,r,n)=>{let o=n.services.frontend?.port||8081,i=n.services.workbench?.frontendPort||8083,s=`#!/bin/bash
940
+ `,s=W.join(e,"deploy.sh");await H.writeFile(s,i),await H.chmod(s,493)},_f=async(e,t,r)=>{let n={services:{},volumes:{},networks:{raclette_shared:{external:!0,name:"raclette_shared"}}},o=`${e.name}-build`;if(e.services.mongodb?.enabled){let i=`${o}-mongodb-data`;n.services.mongodb={container_name:`${o}-mongodb`,image:"mongo:8.2",ports:[`127.0.0.1:${e.services.mongodb.port}:27017`],volumes:[`${i}:/data/db`],networks:["raclette_shared"],healthcheck:{test:["CMD","mongosh","--eval","db.adminCommand('ping')"],interval:"10s",timeout:"30s",retries:20}},n.volumes[i]=null}if(e.services.redis?.enabled){let i=`${o}-redis-data`;n.services.redis={container_name:`${o}-redis`,image:"redis:7-alpine",ports:[`127.0.0.1:${e.services.redis.port}:6379`],command:"redis-server --appendonly yes",volumes:[`${i}:/data`],networks:["raclette_shared"],healthcheck:{test:["CMD","redis-cli","ping"],interval:"10s",timeout:"5s",retries:3}},n.volumes[i]=null}if(e.services.backend?.enabled){let i=`${o}-backend_node_modules`;n.services.backend={container_name:`${o}-backend`,build:{context:".",dockerfile:"./backend.Dockerfile",args:{NODE_ENV:"development"}},command:"yarn generate",environment:["NODE_ENV=development","RACLETTE_BUILD_MODE=generate",`MONGO_HOST=mongodb://mongodb:${e.services.mongodb?.port||27017}/${e.services.mongodb?.databaseName||e.name}`,"SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET:-thisshouldbesetforproduction}",`CACHE_URL=redis://redis:${e.services.redis?.port||6379}`,...Object.entries(e.env.development||{}).map(([s,a])=>`${s}=${a}`)],volumes:[`${i}:/app/node_modules`,"./.raclette/virtual/backend/src:/app/src","./plugins:/app/src/appPlugins","./.raclette/backend/raclette.config.js:/app/raclette.config.js","./.raclette/backend/package.json:/app/package.json","./.raclette/dist/check-dependencies.sh:/app/check-dependencies.sh",`${Gt("backend",e)}:/app/yarn.lock`],networks:["raclette_shared"],depends_on:{...e.services.mongodb?.enabled&&{mongodb:{condition:"service_started"}},...e.services.redis?.enabled&&{redis:{condition:"service_healthy"}}},entrypoint:["/app/check-dependencies.sh"]},n.volumes[i]=null}e.services.backend?.volumes&&e.services.backend.volumes.length>0&&e.services.backend.volumes.forEach(i=>{let s=dt(i,t);n.services.backend.volumes.push(s)}),Object.values(n.services).forEach(i=>{i.volumes&&(i.volumes=rn(i.volumes,t))}),await H.writeFile(r,Ce.dump(n))},Ef=async(e,t,r,n)=>{let o={services:{},volumes:{},networks:{raclette_shared:{external:!0,name:"raclette_shared"}}},i=`${e.name}-build`;if(e.services.frontend?.enabled){let s=e.services.frontend.nodeModulesVolume||`${e.name}-frontend_node_modules`;o.services.frontend={container_name:`${i}-frontend`,build:{context:".",dockerfile:"./frontend.Dockerfile",args:{NODE_ENV:"production"},target:"build"},command:["sh","-c","yarn install --production=false && yarn build && cp -r /app/dist/* /build-output/"],environment:[...Object.entries(e.env.production||{}).map(([a,c])=>`${a}=${c}`),"NODE_ENV=production"],volumes:["./.raclette/virtual/frontend/src:/app/src","./.raclette/virtual/backend/src/shared:/app/src/shared",`${s}:/app/node_modules`,"./plugins:/app/src/plugins","./.raclette/virtual/backend/src/corePlugins:/app/src/corePlugins","./.raclette/virtual/frontend/types:/app/types","./.raclette/frontend/raclette.config.js:/app/raclette.config.js","./.raclette/frontend/package.json:/app/package.json",`${Gt("frontend",e)}:/app/yarn.lock`,`${W.resolve(n,"frontend")}:/build-output`],networks:["raclette_shared"]},o.volumes[s]=null;try{e.services.frontend?.volumes&&e.services.frontend.volumes.length>0&&e.services.frontend.volumes.forEach(a=>{let c=dt(a,t);o.services.frontend.volumes.push(c)})}catch{console.error(h.red("Could not add custom volumes to backend docker-compose file. This might lead to missing data."))}}if(e.services.backend?.enabled){let s=e.services.backend.nodeModulesVolume||`${e.name}-backend_node_modules`;o.services.backend={container_name:`${i}-backend`,build:{context:".",dockerfile:"./backend.Dockerfile",args:{NODE_ENV:"production"}},command:["sh","-c","yarn install --production=false && rm -rf ./dist && yarn build && cp -r /app/dist /build-output/ && cp /app/package.json /build-output/ && cp /app/yarn.lock /build-output/ || echo 'Backend build failed'"],environment:[...Object.entries(e.env.production||{}).map(([a,c])=>`${a}=${c}`),"NODE_ENV=production"],volumes:[`${s}:/app/node_modules`,"./.raclette/virtual/backend/src:/app/src","./.raclette/backend/raclette.config.js:/app/raclette.config.js","./plugins:/app/src/appPlugins","./.raclette/backend/package.json:/app/package.json",`${Gt("backend",e)}:/app/yarn.lock`,"./.raclette/virtual/backend/types:/app/types",`${W.resolve(n,"backend")}:/build-output`],networks:["raclette_shared"]},o.volumes[s]=null;try{e.services.backend?.volumes&&e.services.backend.volumes.length>0&&e.services.backend.volumes.forEach(a=>{let c=dt(a,t);o.services.backend.volumes.push(c)})}catch{console.error(h.red("Could not add custom volumes to backend docker-compose file. This might lead to missing data."))}}Object.values(o.services).forEach(s=>{s.volumes&&(s.volumes=rn(s.volumes,t))}),await H.writeFile(r,Ce.dump(o))},jk=async(e,t,r,n)=>{let o=n.services.frontend?.port||8081,i=n.services.workbench?.frontendPort||8083,s=`#!/bin/bash
941
941
  # racletteJS Production Deployment Script with Image Loading
942
942
 
943
943
  set -e
@@ -1353,7 +1353,7 @@ docker compose down -v
1353
1353
  - **502 errors:** Check backend logs with \`docker compose logs backend\`
1354
1354
  - **Database connection:** Verify MongoDB is healthy with \`docker compose ps\`
1355
1355
  - **Image pull errors:** Check registry access and IMAGE_TAG value
1356
- `},Of=(e,t,r,n)=>{let o=["frontend","backend"],i=e.services.workbench?.enabled||!1;return i&&o.push("workbench-frontend","workbench-backend"),{names:o.map(a=>{let c=`${t}/${a}`;return`${n?`${n}${c}`:c}:${r}`}),hasWorkbench:i}},ow=async(e,t,r,n)=>{console.log(h.blue("\u{1F4C1} Generating deployment files..."));let o=ot.join(r,"deploy-guide");await it.ensureDir(o);let i=ot.join(o,"docker-compose.yml");await Tf(e,t,i,"latest",n);let s=ot.join(o,"docker-compose.override.yml.example");await sw(e,s);let a=ot.join(o,".env.example");await aw(e,a,t.hasWorkbench);let c=ot.join(o,"README.md");await cw(e,t,c,n);let u=ot.join(o,"DEPLOY.md");return await lw(e,t,u,n),console.log(h.green("\u2705 Deployment files generated")),console.log(h.gray(` \u{1F4C1} Files created in: ${o}`)),{outputPath:o,mode:"files",deployGuideFile:u,additionalFiles:[i,s,a,c]}},iw=async(e,t,r,n)=>{console.log(h.blue("\u{1F4CB} Generating embedded deployment guide..."));let o=ot.join(r,"DEPLOY.md");return await uw(e,t,o,n),console.log(h.green("\u2705 Deployment guide generated")),console.log(h.gray(` \u{1F4C4} Guide: ${o}`)),{outputPath:r,mode:"embedded",deployGuideFile:o}},Tf=async(e,t,r,n,o)=>{let i=e.services.frontend?.port||8081,s=e.services.workbench?.frontendPort||8083,a=u=>{let d=u.split(":")[0].replace(o,"");return o?`${o}${d}:\${IMAGE_TAG:-${n}}`:`\${DOCKER_REGISTRY:-}${d}:\${IMAGE_TAG:-${n}}`},c={name:e.name,services:{frontend:{image:a(t.names[0]),ports:[`\${FRONTEND_PORT:-${i}}:${i}`],depends_on:["backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}","RACLETTE_SERVER_BASE_URL=${RACLETTE_SERVER_BASE_URL:-/api}","RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}"],healthcheck:{test:["CMD","curl","-f",`http://0.0.0.0:${i}/`],interval:"10s",timeout:"30s",retries:10}},backend:{image:a(t.names[1]),depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.name}}}`,"CACHE_URL=${RACLETTE_CACHE_URL:-valkey://cache:6379}"],healthcheck:{test:["CMD","curl","-f","http://0.0.0.0:3000/health"],interval:"10s",timeout:"30s",retries:10}},database:{image:"mongo:5.0.6",restart:"unless-stopped",volumes:["mongodb_data:/data/db"],networks:["app-network"],environment:[`MONGO_INITDB_DATABASE=\${MONGO_DATABASE:-${e.name}}`],healthcheck:{test:["CMD","mongosh","--eval","db.adminCommand('ping')"],interval:"10s",timeout:"30s",retries:20}},cache:{image:"valkey/valkey:8.1-alpine",restart:"unless-stopped",volumes:["cache_data:/data"],networks:["app-network"],healthcheck:{test:["CMD","valkey-cli","ping"],interval:"10s",timeout:"5s",retries:3}}},volumes:{mongodb_data:{},cache_data:{}},networks:{"app-network":{driver:"bridge"}}};t.hasWorkbench&&t.names.length>=4&&(c.services["workbench-frontend"]={image:a(t.names[2]),ports:[`\${WORKBENCH_FRONTEND_PORT:-${s}}:${s}`],depends_on:["workbench-backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}","RACLETTE_SERVER_BASE_URL=${RACLETTE_SERVER_BASE_URL:-/api}","RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}"],healthcheck:{test:["CMD","curl","-f",`http://0.0.0.0:${s}/`],interval:"10s",timeout:"30s",retries:10}},c.services["workbench-backend"]={image:a(t.names[3]),depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","PORT=3000","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.name}}}`,"CACHE_URL=${RACLETTE_CACHE_URL:-valkey://cache:6379}"],healthcheck:{test:["CMD","curl","-f","http://0.0.0.0:3000/health"],interval:"10s",timeout:"30s",retries:10}}),await it.writeFile(r,Ce.dump(c))},sw=async(e,t)=>{let r=ca(),n=r.filter(s=>s.service==="frontend"),o=r.filter(s=>s.service==="backend"),i=`# docker-compose.override.yml
1356
+ `},Of=(e,t,r,n)=>{let o=["frontend","backend"],i=e.services.workbench?.enabled||!1;return i&&o.push("workbench-frontend","workbench-backend"),{names:o.map(a=>{let c=`${t}/${a}`;return`${n?`${n}${c}`:c}:${r}`}),hasWorkbench:i}},ow=async(e,t,r,n)=>{console.log(h.blue("\u{1F4C1} Generating deployment files..."));let o=ot.join(r,"deploy-guide");await it.ensureDir(o);let i=ot.join(o,"docker-compose.yml");await Tf(e,t,i,"latest",n);let s=ot.join(o,"docker-compose.override.yml.example");await sw(e,s);let a=ot.join(o,".env.example");await aw(e,a,t.hasWorkbench);let c=ot.join(o,"README.md");await cw(e,t,c,n);let u=ot.join(o,"DEPLOY.md");return await lw(e,t,u,n),console.log(h.green("\u2705 Deployment files generated")),console.log(h.gray(` \u{1F4C1} Files created in: ${o}`)),{outputPath:o,mode:"files",deployGuideFile:u,additionalFiles:[i,s,a,c]}},iw=async(e,t,r,n)=>{console.log(h.blue("\u{1F4CB} Generating embedded deployment guide..."));let o=ot.join(r,"DEPLOY.md");return await uw(e,t,o,n),console.log(h.green("\u2705 Deployment guide generated")),console.log(h.gray(` \u{1F4C4} Guide: ${o}`)),{outputPath:r,mode:"embedded",deployGuideFile:o}},Tf=async(e,t,r,n,o)=>{let i=e.services.frontend?.port||8081,s=e.services.workbench?.frontendPort||8083,a=u=>{let d=u.split(":")[0].replace(o,"");return o?`${o}${d}:\${IMAGE_TAG:-${n}}`:`\${DOCKER_REGISTRY:-}${d}:\${IMAGE_TAG:-${n}}`},c={name:e.name,services:{frontend:{image:a(t.names[0]),ports:[`\${FRONTEND_PORT:-${i}}:${i}`],depends_on:["backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}","RACLETTE_SERVER_BASE_URL=${RACLETTE_SERVER_BASE_URL:-/api}","RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}"],healthcheck:{test:["CMD","curl","-f",`http://0.0.0.0:${i}/`],interval:"10s",timeout:"30s",retries:10}},backend:{image:a(t.names[1]),depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.name}}}`,"CACHE_URL=${RACLETTE_CACHE_URL:-valkey://cache:6379}"],healthcheck:{test:["CMD","curl","-f","http://0.0.0.0:3000/health"],interval:"10s",timeout:"30s",retries:10}},database:{image:"mongo:8.2",restart:"unless-stopped",volumes:["mongodb_data:/data/db"],networks:["app-network"],environment:[`MONGO_INITDB_DATABASE=\${MONGO_DATABASE:-${e.name}}`],healthcheck:{test:["CMD","mongosh","--eval","db.adminCommand('ping')"],interval:"10s",timeout:"30s",retries:20}},cache:{image:"valkey/valkey:9.0-alpine",restart:"unless-stopped",volumes:["cache_data:/data"],networks:["app-network"],healthcheck:{test:["CMD","valkey-cli","ping"],interval:"10s",timeout:"5s",retries:3}}},volumes:{mongodb_data:{},cache_data:{}},networks:{"app-network":{driver:"bridge"}}};t.hasWorkbench&&t.names.length>=4&&(c.services["workbench-frontend"]={image:a(t.names[2]),ports:[`\${WORKBENCH_FRONTEND_PORT:-${s}}:${s}`],depends_on:["workbench-backend"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","RACLETTE_DEBUG_MODE=${RACLETTE_DEBUG_MODE:-false}","RACLETTE_SERVER_BASE_URL=${RACLETTE_SERVER_BASE_URL:-/api}","RACLETTE_SOCKET_URL=${RACLETTE_SOCKET_URL:-}"],healthcheck:{test:["CMD","curl","-f",`http://0.0.0.0:${s}/`],interval:"10s",timeout:"30s",retries:10}},c.services["workbench-backend"]={image:a(t.names[3]),depends_on:["database","cache"],restart:"unless-stopped",networks:["app-network"],environment:["NODE_ENV=production","PORT=3000","SERVER_TOKEN_SECRET=${SERVER_TOKEN_SECRET}",`MONGO_HOST=\${RACLETTE_MONGODB_HOST:-mongodb://database:27017/\${MONGO_DATABASE:-${e.name}}}`,"CACHE_URL=${RACLETTE_CACHE_URL:-valkey://cache:6379}"],healthcheck:{test:["CMD","curl","-f","http://0.0.0.0:3000/health"],interval:"10s",timeout:"30s",retries:10}}),await it.writeFile(r,Ce.dump(c))},sw=async(e,t)=>{let r=ca(),n=r.filter(s=>s.service==="frontend"),o=r.filter(s=>s.service==="backend"),i=`# docker-compose.override.yml
1357
1357
  # Copy this file to docker-compose.override.yml and customize as needed
1358
1358
  # This file allows you to extend the main docker-compose.yml without modifying it
1359
1359