@raclettejs/core 0.1.23 → 0.1.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/bin/cli.js +2 -2
  3. package/dist/cli.js +136 -155
  4. package/dist/cli.js.map +4 -4
  5. package/dist/index.js +15 -16
  6. package/dist/index.js.map +4 -4
  7. package/package.json +24 -22
  8. package/services/backend/.yarn/install-state.gz +0 -0
  9. package/services/backend/package.json +21 -19
  10. package/services/backend/src/core/contracting/contractRegistrar.ts +1 -1
  11. package/services/backend/src/core/pluginSystem/configGenerator/generatorTypes.ts +1 -0
  12. package/services/backend/src/core/pluginSystem/configGenerator/index.ts +2 -2
  13. package/services/backend/src/core/pluginSystem/pluginLoader.ts +99 -44
  14. package/services/backend/src/core/pluginSystem/pluginTypes.ts +1 -0
  15. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/index.ts +2 -0
  16. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/route.user.patchOwn.ts +68 -0
  17. package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/user.model.ts +1 -1
  18. package/services/backend/tsconfig.json +1 -0
  19. package/services/backend/yarn.lock +698 -1061
  20. package/services/frontend/.yarn/install-state.gz +0 -0
  21. package/services/frontend/eslint.config.js +9 -0
  22. package/services/frontend/index.html +3 -3
  23. package/services/frontend/package.json +30 -28
  24. package/services/frontend/src/core/setup/plugin-system/discovery/app-plugins.ts +43 -4
  25. package/services/frontend/src/orchestrator/ProductOrchestrator.vue +10 -11
  26. package/services/frontend/src/orchestrator/assets/styles/layers.css +11 -0
  27. package/services/frontend/src/orchestrator/assets/styles/tailwindStyles.css +5 -11
  28. package/services/frontend/src/orchestrator/assets/styles/vuetifyStyles.scss +0 -4
  29. package/services/frontend/src/orchestrator/components/composition/WidgetsLayoutLoader.vue +5 -18
  30. package/services/frontend/src/orchestrator/composables/useWidgets/helperFunctions.ts +54 -5
  31. package/services/frontend/src/orchestrator/helpers/index.ts +1 -0
  32. package/services/frontend/src/orchestrator/helpers/widgetVisuals.ts +71 -0
  33. package/services/frontend/src/orchestrator/setup/vuetify.ts +2 -0
  34. package/services/frontend/src/orchestrator/types/Widgets.ts +5 -1
  35. package/services/frontend/vite.config.ts +22 -9
  36. package/services/frontend/yarn.lock +0 -5224
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
- var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDescriptor;var Re=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,ke=Object.prototype.hasOwnProperty;var E=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var G=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var Ae=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Re(r))!ke.call(e,o)&&o!==t&&B(e,o,{get:()=>r[o],enumerable:!(n=Te(r,o))||n.enumerable});return e};var je=(e,r,t)=>(t=e!=null?xe(Oe(e)):{},Ae(r||!e||!e.__esModule?B(t,"default",{value:e,enumerable:!0}):t,e));var ee=G((Sr,qe)=>{qe.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 ie=G((Lr,y)=>{var S=E("fs"),N=E("path"),Ke=E("os"),Je=E("crypto"),We=ee(),L=We.version,re=["\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 He(){return re[Math.floor(Math.random()*re.length)]}function w(e){return typeof e=="string"?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function Qe(){return process.stdout.isTTY}function ze(e){return Qe()?`\x1B[2m${e}\x1B[0m`:e}var Ze=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function Xe(e){let r={},t=e.toString();t=t.replace(/\r\n?/mg,`
3
- `);let n;for(;(n=Ze.exec(t))!=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,`
4
- `),i=i.replace(/\\r/g,"\r")),r[o]=i}return r}function er(e){e=e||{};let r=se(e);e.path=r;let t=u.configDotenv(e);if(!t.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=oe(e).split(","),o=n.length,i;for(let s=0;s<o;s++)try{let a=n[s].trim(),p=tr(t,a);i=u.decrypt(p.ciphertext,p.key);break}catch(a){if(s+1>=o)throw a}return u.parse(i)}function rr(e){console.error(`[dotenv@${L}][WARN] ${e}`)}function R(e){console.log(`[dotenv@${L}][DEBUG] ${e}`)}function ne(e){console.log(`[dotenv@${L}] ${e}`)}function oe(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 tr(e,r){let t;try{t=new URL(r)}catch(a){if(a.code==="ERR_INVALID_URL"){let p=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 p.code="INVALID_DOTENV_KEY",p}throw a}let n=t.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let o=t.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 se(e){let r=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let t of e.path)S.existsSync(t)&&(r=t.endsWith(".vault")?t:`${t}.vault`);else r=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else r=N.resolve(process.cwd(),".env.vault");return S.existsSync(r)?r:null}function te(e){return e[0]==="~"?N.join(Ke.homedir(),e.slice(1)):e}function nr(e){let r=w(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),t=w(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(r||!t)&&ne("Loading env from encrypted .env.vault");let n=u._parseVault(e),o=process.env;return e&&e.processEnv!=null&&(o=e.processEnv),u.populate(o,n,e),{parsed:n}}function or(e){let r=N.resolve(process.cwd(),".env"),t="utf8",n=process.env;e&&e.processEnv!=null&&(n=e.processEnv);let o=w(n.DOTENV_CONFIG_DEBUG||e&&e.debug),i=w(n.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?t=e.encoding:o&&R("No encoding is specified. UTF-8 is used by default");let s=[r];if(e&&e.path)if(!Array.isArray(e.path))s=[te(e.path)];else{s=[];for(let f of e.path)s.push(te(f))}let a,p={};for(let f of s)try{let h=u.parse(S.readFileSync(f,{encoding:t}));u.populate(p,h,e)}catch(h){o&&R(`Failed to load ${f} ${h.message}`),a=h}let C=u.populate(n,p,e);if(o=w(n.DOTENV_CONFIG_DEBUG||o),i=w(n.DOTENV_CONFIG_QUIET||i),o||!i){let f=Object.keys(C).length,h=[];for(let M of s)try{let k=N.relative(process.cwd(),M);h.push(k)}catch(k){o&&R(`Failed to load ${M} ${k.message}`),a=k}ne(`injecting env (${f}) from ${h.join(",")} ${ze(`-- tip: ${He()}`)}`)}return a?{parsed:p,error:a}:{parsed:p}}function sr(e){if(oe(e).length===0)return u.configDotenv(e);let r=se(e);return r?u._configVault(e):(rr(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`),u.configDotenv(e))}function ir(e,r){let t=Buffer.from(r.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=Je.createDecipheriv("aes-256-gcm",t,o);return s.setAuthTag(i),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,p=s.message==="Invalid key length",C=s.message==="Unsupported state or unable to authenticate data";if(a||p){let f=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw f.code="INVALID_DOTENV_KEY",f}else if(C){let f=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw f.code="DECRYPTION_FAILED",f}else throw s}}function ar(e,r,t={}){let n=!!(t&&t.debug),o=!!(t&&t.override),i={};if(typeof r!="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(r))Object.prototype.hasOwnProperty.call(e,s)?(o===!0&&(e[s]=r[s],i[s]=r[s]),n&&R(o===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):(e[s]=r[s],i[s]=r[s]);return i}var u={configDotenv:or,_configVault:nr,_parseVault:er,config:sr,decrypt:ir,parse:Xe,populate:ar};y.exports.configDotenv=u.configDotenv;y.exports._configVault=u._configVault;y.exports._parseVault=u._parseVault;y.exports.config=u.config;y.exports.decrypt=u.decrypt;y.exports.parse=u.parse;y.exports.populate=u.populate;y.exports=u});var Y=(e=0)=>r=>`\x1B[${r+e}m`,U=(e=0)=>r=>`\x1B[${38+e};5;${r}m`,q=(e=0)=>(r,t,n)=>`\x1B[${38+e};2;${r};${t};${n}m`,l={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]}},Er=Object.keys(l.modifier),Ne=Object.keys(l.color),De=Object.keys(l.bgColor),xr=[...Ne,...De];function _e(){let e=new Map;for(let[r,t]of Object.entries(l)){for(let[n,o]of Object.entries(t))l[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},t[n]=l[n],e.set(o[0],o[1]);Object.defineProperty(l,r,{value:t,enumerable:!1})}return Object.defineProperty(l,"codes",{value:e,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",l.color.ansi=Y(),l.color.ansi256=U(),l.color.ansi16m=q(),l.bgColor.ansi=Y(10),l.bgColor.ansi256=U(10),l.bgColor.ansi16m=q(10),Object.defineProperties(l,{rgbToAnsi256:{value(r,t,n){return r===t&&t===n?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(r){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!t)return[0,0,0];let[n]=t;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:r=>l.rgbToAnsi256(...l.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value(r){if(r<8)return 30+r;if(r<16)return 90+(r-8);let t,n,o;if(r>=232)t=((r-232)*10+8)/255,n=t,o=t;else{r-=16;let a=r%36;t=Math.floor(r/36)/5,n=Math.floor(a/6)/5,o=a%6/5}let i=Math.max(t,n,o)*2;if(i===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(r,t,n)=>l.ansi256ToAnsi(l.rgbToAnsi256(r,t,n)),enumerable:!1},hexToAnsi:{value:r=>l.ansi256ToAnsi(l.hexToAnsi256(r)),enumerable:!1}}),l}var Ie=_e(),d=Ie;import D from"node:process";import $e from"node:os";import K from"node:tty";function g(e,r=globalThis.Deno?globalThis.Deno.args:D.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),o=r.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:c}=D,A;g("no-color")||g("no-colors")||g("color=false")||g("color=never")?A=0:(g("color")||g("colors")||g("color=true")||g("color=always"))&&(A=1);function Se(){if("FORCE_COLOR"in c)return c.FORCE_COLOR==="true"?1:c.FORCE_COLOR==="false"?0:c.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(c.FORCE_COLOR,10),3)}function Le(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Ve(e,{streamIsTTY:r,sniffFlags:t=!0}={}){let n=Se();n!==void 0&&(A=n);let o=t?A:n;if(o===0)return 0;if(t){if(g("color=16m")||g("color=full")||g("color=truecolor"))return 3;if(g("color=256"))return 2}if("TF_BUILD"in c&&"AGENT_NAME"in c)return 1;if(e&&!r&&o===void 0)return 0;let i=o||0;if(c.TERM==="dumb")return i;if(D.platform==="win32"){let s=$e.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in c)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in c)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in c)||c.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in c)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(c.TEAMCITY_VERSION)?1:0;if(c.COLORTERM==="truecolor"||c.TERM==="xterm-kitty"||c.TERM==="xterm-ghostty"||c.TERM==="wezterm")return 3;if("TERM_PROGRAM"in c){let s=Number.parseInt((c.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(c.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(c.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(c.TERM)||"COLORTERM"in c?1:i}function J(e,r={}){let t=Ve(e,{streamIsTTY:e&&e.isTTY,...r});return Le(t)}var Pe={stdout:J({isTTY:K.isatty(1)}),stderr:J({isTTY:K.isatty(2)})},W=Pe;function H(e,r,t){let n=e.indexOf(r);if(n===-1)return e;let o=r.length,i=0,s="";do s+=e.slice(i,n)+r+t,i=n+o,n=e.indexOf(r,i);while(n!==-1);return s+=e.slice(i),s}function Q(e,r,t,n){let o=0,i="";do{let s=e[n-1]==="\r";i+=e.slice(o,s?n-1:n)+r+(s?`\r
2
+ var ke=Object.create;var J=Object.defineProperty;var Ae=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var De=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var C=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(r,t)=>(typeof require<"u"?require:r)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var W=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var _e=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of je(r))!Ne.call(e,o)&&o!==t&&J(e,o,{get:()=>r[o],enumerable:!(n=Ae(r,o))||n.enumerable});return e};var Ie=(e,r,t)=>(t=e!=null?ke(De(e)):{},_e(r||!e||!e.__esModule?J(t,"default",{value:e,enumerable:!0}):t,e));var ie=W(($r,He)=>{He.exports={name:"dotenv",version:"17.3.1",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 tests/**/*.js --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run tests/**/*.js --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 fe=W((Lr,y)=>{var $=C("fs"),j=C("path"),Qe=C("os"),ze=C("crypto"),Ze=ie(),L=Ze.version,ae=["\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{1F916} agentic secret storage: https://dotenvx.com/as2","\u26A1\uFE0F secrets for agents: https://dotenvx.com/as2","\u{1F6E1}\uFE0F auth for agents: https://vestauth.com","\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 Xe(){return ae[Math.floor(Math.random()*ae.length)]}function w(e){return typeof e=="string"?!["false","0","no","off",""].includes(e.toLowerCase()):!!e}function er(){return process.stdout.isTTY}function rr(e){return er()?`\x1B[2m${e}\x1B[0m`:e}var tr=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function nr(e){let r={},t=e.toString();t=t.replace(/\r\n?/mg,`
3
+ `);let n;for(;(n=tr.exec(t))!=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,`
4
+ `),i=i.replace(/\\r/g,"\r")),r[o]=i}return r}function or(e){e=e||{};let r=pe(e);e.path=r;let t=u.configDotenv(e);if(!t.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=ue(e).split(","),o=n.length,i;for(let s=0;s<o;s++)try{let a=n[s].trim(),p=ir(t,a);i=u.decrypt(p.ciphertext,p.key);break}catch(a){if(s+1>=o)throw a}return u.parse(i)}function sr(e){console.error(`[dotenv@${L}][WARN] ${e}`)}function T(e){console.log(`[dotenv@${L}][DEBUG] ${e}`)}function ce(e){console.log(`[dotenv@${L}] ${e}`)}function ue(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 ir(e,r){let t;try{t=new URL(r)}catch(a){if(a.code==="ERR_INVALID_URL"){let p=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 p.code="INVALID_DOTENV_KEY",p}throw a}let n=t.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let o=t.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 pe(e){let r=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let t of e.path)$.existsSync(t)&&(r=t.endsWith(".vault")?t:`${t}.vault`);else r=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else r=j.resolve(process.cwd(),".env.vault");return $.existsSync(r)?r:null}function le(e){return e[0]==="~"?j.join(Qe.homedir(),e.slice(1)):e}function ar(e){let r=w(process.env.DOTENV_CONFIG_DEBUG||e&&e.debug),t=w(process.env.DOTENV_CONFIG_QUIET||e&&e.quiet);(r||!t)&&ce("Loading env from encrypted .env.vault");let n=u._parseVault(e),o=process.env;return e&&e.processEnv!=null&&(o=e.processEnv),u.populate(o,n,e),{parsed:n}}function lr(e){let r=j.resolve(process.cwd(),".env"),t="utf8",n=process.env;e&&e.processEnv!=null&&(n=e.processEnv);let o=w(n.DOTENV_CONFIG_DEBUG||e&&e.debug),i=w(n.DOTENV_CONFIG_QUIET||e&&e.quiet);e&&e.encoding?t=e.encoding:o&&T("No encoding is specified. UTF-8 is used by default");let s=[r];if(e&&e.path)if(!Array.isArray(e.path))s=[le(e.path)];else{s=[];for(let f of e.path)s.push(le(f))}let a,p={};for(let f of s)try{let h=u.parse($.readFileSync(f,{encoding:t}));u.populate(p,h,e)}catch(h){o&&T(`Failed to load ${f} ${h.message}`),a=h}let D=u.populate(n,p,e);if(o=w(n.DOTENV_CONFIG_DEBUG||o),i=w(n.DOTENV_CONFIG_QUIET||i),o||!i){let f=Object.keys(D).length,h=[];for(let K of s)try{let O=j.relative(process.cwd(),K);h.push(O)}catch(O){o&&T(`Failed to load ${K} ${O.message}`),a=O}ce(`injecting env (${f}) from ${h.join(",")} ${rr(`-- tip: ${Xe()}`)}`)}return a?{parsed:p,error:a}:{parsed:p}}function cr(e){if(ue(e).length===0)return u.configDotenv(e);let r=pe(e);return r?u._configVault(e):(sr(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`),u.configDotenv(e))}function ur(e,r){let t=Buffer.from(r.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=ze.createDecipheriv("aes-256-gcm",t,o);return s.setAuthTag(i),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,p=s.message==="Invalid key length",D=s.message==="Unsupported state or unable to authenticate data";if(a||p){let f=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw f.code="INVALID_DOTENV_KEY",f}else if(D){let f=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw f.code="DECRYPTION_FAILED",f}else throw s}}function pr(e,r,t={}){let n=!!(t&&t.debug),o=!!(t&&t.override),i={};if(typeof r!="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(r))Object.prototype.hasOwnProperty.call(e,s)?(o===!0&&(e[s]=r[s],i[s]=r[s]),n&&T(o===!0?`"${s}" is already defined and WAS overwritten`:`"${s}" is already defined and was NOT overwritten`)):(e[s]=r[s],i[s]=r[s]);return i}var u={configDotenv:lr,_configVault:ar,_parseVault:or,config:cr,decrypt:ur,parse:nr,populate:pr};y.exports.configDotenv=u.configDotenv;y.exports._configVault=u._configVault;y.exports._parseVault=u._parseVault;y.exports.config=u.config;y.exports.decrypt=u.decrypt;y.exports.parse=u.parse;y.exports.populate=u.populate;y.exports=u});var H=(e=0)=>r=>`\x1B[${r+e}m`,Q=(e=0)=>r=>`\x1B[${38+e};5;${r}m`,z=(e=0)=>(r,t,n)=>`\x1B[${38+e};2;${r};${t};${n}m`,l={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]}},Er=Object.keys(l.modifier),Se=Object.keys(l.color),$e=Object.keys(l.bgColor),xr=[...Se,...$e];function Le(){let e=new Map;for(let[r,t]of Object.entries(l)){for(let[n,o]of Object.entries(t))l[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},t[n]=l[n],e.set(o[0],o[1]);Object.defineProperty(l,r,{value:t,enumerable:!1})}return Object.defineProperty(l,"codes",{value:e,enumerable:!1}),l.color.close="\x1B[39m",l.bgColor.close="\x1B[49m",l.color.ansi=H(),l.color.ansi256=Q(),l.color.ansi16m=z(),l.bgColor.ansi=H(10),l.bgColor.ansi256=Q(10),l.bgColor.ansi16m=z(10),Object.defineProperties(l,{rgbToAnsi256:{value(r,t,n){return r===t&&t===n?r<8?16:r>248?231:Math.round((r-8)/247*24)+232:16+36*Math.round(r/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(r){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(r.toString(16));if(!t)return[0,0,0];let[n]=t;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:r=>l.rgbToAnsi256(...l.hexToRgb(r)),enumerable:!1},ansi256ToAnsi:{value(r){if(r<8)return 30+r;if(r<16)return 90+(r-8);let t,n,o;if(r>=232)t=((r-232)*10+8)/255,n=t,o=t;else{r-=16;let a=r%36;t=Math.floor(r/36)/5,n=Math.floor(a/6)/5,o=a%6/5}let i=Math.max(t,n,o)*2;if(i===0)return 30;let s=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(t));return i===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(r,t,n)=>l.ansi256ToAnsi(l.rgbToAnsi256(r,t,n)),enumerable:!1},hexToAnsi:{value:r=>l.ansi256ToAnsi(l.hexToAnsi256(r)),enumerable:!1}}),l}var Ve=Le(),d=Ve;import N from"node:process";import Pe from"node:os";import Z from"node:tty";function g(e,r=globalThis.Deno?globalThis.Deno.args:N.argv){let t=e.startsWith("-")?"":e.length===1?"-":"--",n=r.indexOf(t+e),o=r.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:c}=N,k;g("no-color")||g("no-colors")||g("color=false")||g("color=never")?k=0:(g("color")||g("colors")||g("color=true")||g("color=always"))&&(k=1);function Fe(){if("FORCE_COLOR"in c)return c.FORCE_COLOR==="true"?1:c.FORCE_COLOR==="false"?0:c.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(c.FORCE_COLOR,10),3)}function Me(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function Be(e,{streamIsTTY:r,sniffFlags:t=!0}={}){let n=Fe();n!==void 0&&(k=n);let o=t?k:n;if(o===0)return 0;if(t){if(g("color=16m")||g("color=full")||g("color=truecolor"))return 3;if(g("color=256"))return 2}if("TF_BUILD"in c&&"AGENT_NAME"in c)return 1;if(e&&!r&&o===void 0)return 0;let i=o||0;if(c.TERM==="dumb")return i;if(N.platform==="win32"){let s=Pe.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in c)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(s=>s in c)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in c)||c.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in c)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(c.TEAMCITY_VERSION)?1:0;if(c.COLORTERM==="truecolor"||c.TERM==="xterm-kitty"||c.TERM==="xterm-ghostty"||c.TERM==="wezterm")return 3;if("TERM_PROGRAM"in c){let s=Number.parseInt((c.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(c.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(c.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(c.TERM)||"COLORTERM"in c?1:i}function X(e,r={}){let t=Be(e,{streamIsTTY:e&&e.isTTY,...r});return Me(t)}var Ge={stdout:X({isTTY:Z.isatty(1)}),stderr:X({isTTY:Z.isatty(2)})},ee=Ge;function re(e,r,t){let n=e.indexOf(r);if(n===-1)return e;let o=r.length,i=0,s="";do s+=e.slice(i,n)+r+t,i=n+o,n=e.indexOf(r,i);while(n!==-1);return s+=e.slice(i),s}function te(e,r,t,n){let o=0,i="";do{let s=e[n-1]==="\r";i+=e.slice(o,s?n-1:n)+r+(s?`\r
5
5
  `:`
6
6
  `)+t,o=n+1,n=e.indexOf(`
7
- `,o)}while(n!==-1);return i+=e.slice(o),i}var{stdout:z,stderr:Z}=W,_=Symbol("GENERATOR"),v=Symbol("STYLER"),x=Symbol("IS_EMPTY"),X=["ansi","ansi","ansi256","ansi16m"],b=Object.create(null),Fe=(e,r={})=>{if(r.level&&!(Number.isInteger(r.level)&&r.level>=0&&r.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=z?z.level:0;e.level=r.level===void 0?t:r.level};var Me=e=>{let r=(...t)=>t.join(" ");return Fe(r,e),Object.setPrototypeOf(r,T.prototype),r};function T(e){return Me(e)}Object.setPrototypeOf(T.prototype,Function.prototype);for(let[e,r]of Object.entries(d))b[e]={get(){let t=j(this,$(r.open,r.close,this[v]),this[x]);return Object.defineProperty(this,e,{value:t}),t}};b.visible={get(){let e=j(this,this[v],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var I=(e,r,t,...n)=>e==="rgb"?r==="ansi16m"?d[t].ansi16m(...n):r==="ansi256"?d[t].ansi256(d.rgbToAnsi256(...n)):d[t].ansi(d.rgbToAnsi(...n)):e==="hex"?I("rgb",r,t,...d.hexToRgb(...n)):d[t][e](...n),Be=["rgb","hex","ansi256"];for(let e of Be){b[e]={get(){let{level:t}=this;return function(...n){let o=$(I(e,X[t],"color",...n),d.color.close,this[v]);return j(this,o,this[x])}}};let r="bg"+e[0].toUpperCase()+e.slice(1);b[r]={get(){let{level:t}=this;return function(...n){let o=$(I(e,X[t],"bgColor",...n),d.bgColor.close,this[v]);return j(this,o,this[x])}}}}var Ge=Object.defineProperties(()=>{},{...b,level:{enumerable:!0,get(){return this[_].level},set(e){this[_].level=e}}}),$=(e,r,t)=>{let n,o;return t===void 0?(n=e,o=r):(n=t.openAll+e,o=r+t.closeAll),{open:e,close:r,openAll:n,closeAll:o,parent:t}},j=(e,r,t)=>{let n=(...o)=>Ye(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,Ge),n[_]=e,n[v]=r,n[x]=t,n},Ye=(e,r)=>{if(e.level<=0||!r)return e[x]?"":r;let t=e[v];if(t===void 0)return r;let{openAll:n,closeAll:o}=t;if(r.includes("\x1B"))for(;t!==void 0;)r=H(r,t.close,t.open),t=t.parent;let i=r.indexOf(`
8
- `);return i!==-1&&(r=Q(r,o,n,i)),n+r+o};Object.defineProperties(T.prototype,b);var Ue=T(),Ir=T({level:Z?Z.level:0});var m=Ue;var lr=je(ie(),1);import Jr from"chokidar";import Hr from"fs-extra";import zr from"path";import Mr from"fs-extra";import Gr from"path";var V=class{constructor(){this.level="info";this.verbose=!1}setLevel(r){this.level=r}setVerbose(r){this.verbose=r}shouldLog(r){let t={error:0,warn:1,info:2,debug:3};return r==="debug"&&this.verbose?!0:t[r]<=t[this.level]}getTypeStyle(r){switch(r){case"success":return m.green;case"error":return m.red;case"warning":return m.yellow;case"info":return m.blue;case"instruction":return m.cyan;case"progress":return m.reset;case"debug":return m.gray;case"raclette":return m.rgb(221,139,64);default:return t=>t}}getTypeIcon(r){switch(r){case"success":return"\u2705";case"error":return"\u274C";case"warning":return"\u26A0\uFE0F";case"info":return"\u2139\uFE0F ";case"instruction":return"\u{1F4A1}";case"progress":return"\u{1F504}";case"debug":return"";case"raclette":return"\u{1F9C0}";default:return""}}log(r,t,n){if(!this.shouldLog(r))return;let o=n?this.getTypeStyle(n):m.reset,i=n?this.getTypeIcon(n):"",s=i?`${i} `:"";console.log(o(`${s}${t}`))}logError(r,t){if(!this.shouldLog("error"))return;let n=this.getTypeStyle("error"),o=this.getTypeIcon("error"),i=o?`${o} `:"";t?console.error(n(`${i}${r}`),t):console.error(n(`${i}${r}`))}error(r,t){this.logError(r,t)}warn(r){this.log("warn",r,"warning")}info(r){this.log("info",r,"info")}debug(r){this.log("debug",r,"debug")}success(r){this.log("info",r,"success")}instruction(r){this.log("info",r,"instruction")}progress(r){this.log("info",r,"progress")}raclette(r){this.log("info",r,"raclette")}raw(r,t="info"){this.shouldLog(t)&&console.log(r)}},O=new V;var cr=e=>e;import Ce from"fs-extra";import Ee from"path";var ae=(e=!1)=>["eslint","@eslint/js","globals","eslint-config-prettier","prettier","eslint-plugin-prettier",...e?ur():[]],ur=()=>[],le=()=>["import globals from 'globals';","import eslintConfigPrettier from 'eslint-config-prettier';"],ce=(e=!1)=>{let r=` // JavaScript config
7
+ `,o)}while(n!==-1);return i+=e.slice(o),i}var{stdout:ne,stderr:oe}=ee,_=Symbol("GENERATOR"),v=Symbol("STYLER"),E=Symbol("IS_EMPTY"),se=["ansi","ansi","ansi256","ansi16m"],b=Object.create(null),Ye=(e,r={})=>{if(r.level&&!(Number.isInteger(r.level)&&r.level>=0&&r.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=ne?ne.level:0;e.level=r.level===void 0?t:r.level};var Ue=e=>{let r=(...t)=>t.join(" ");return Ye(r,e),Object.setPrototypeOf(r,x.prototype),r};function x(e){return Ue(e)}Object.setPrototypeOf(x.prototype,Function.prototype);for(let[e,r]of Object.entries(d))b[e]={get(){let t=A(this,S(r.open,r.close,this[v]),this[E]);return Object.defineProperty(this,e,{value:t}),t}};b.visible={get(){let e=A(this,this[v],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var I=(e,r,t,...n)=>e==="rgb"?r==="ansi16m"?d[t].ansi16m(...n):r==="ansi256"?d[t].ansi256(d.rgbToAnsi256(...n)):d[t].ansi(d.rgbToAnsi(...n)):e==="hex"?I("rgb",r,t,...d.hexToRgb(...n)):d[t][e](...n),qe=["rgb","hex","ansi256"];for(let e of qe){b[e]={get(){let{level:t}=this;return function(...n){let o=S(I(e,se[t],"color",...n),d.color.close,this[v]);return A(this,o,this[E])}}};let r="bg"+e[0].toUpperCase()+e.slice(1);b[r]={get(){let{level:t}=this;return function(...n){let o=S(I(e,se[t],"bgColor",...n),d.bgColor.close,this[v]);return A(this,o,this[E])}}}}var Ke=Object.defineProperties(()=>{},{...b,level:{enumerable:!0,get(){return this[_].level},set(e){this[_].level=e}}}),S=(e,r,t)=>{let n,o;return t===void 0?(n=e,o=r):(n=t.openAll+e,o=r+t.closeAll),{open:e,close:r,openAll:n,closeAll:o,parent:t}},A=(e,r,t)=>{let n=(...o)=>Je(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,Ke),n[_]=e,n[v]=r,n[E]=t,n},Je=(e,r)=>{if(e.level<=0||!r)return e[E]?"":r;let t=e[v];if(t===void 0)return r;let{openAll:n,closeAll:o}=t;if(r.includes("\x1B"))for(;t!==void 0;)r=re(r,t.close,t.open),t=t.parent;let i=r.indexOf(`
8
+ `);return i!==-1&&(r=te(r,o,n,i)),n+r+o};Object.defineProperties(x.prototype,b);var We=x(),Ir=x({level:oe?oe.level:0});var m=We;var fr=Ie(fe(),1);import Jr from"chokidar";import Hr from"fs-extra";import zr from"path";import Mr from"fs-extra";import Gr from"path";var V=class{constructor(){this.level="info";this.verbose=!1}setLevel(r){this.level=r}setVerbose(r){this.verbose=r}shouldLog(r){let t={error:0,warn:1,info:2,debug:3};return r==="debug"&&this.verbose?!0:t[r]<=t[this.level]}getTypeStyle(r){switch(r){case"success":return m.green;case"error":return m.red;case"warning":return m.yellow;case"info":return m.blue;case"instruction":return m.cyan;case"progress":return m.reset;case"debug":return m.gray;case"raclette":return m.rgb(221,139,64);default:return t=>t}}getTypeIcon(r){switch(r){case"success":return"\u2705";case"error":return"\u274C";case"warning":return"\u26A0\uFE0F";case"info":return"\u2139\uFE0F ";case"instruction":return"\u{1F4A1}";case"progress":return"\u{1F504}";case"debug":return"";case"raclette":return"\u{1F9C0}";default:return""}}log(r,t,n){if(!this.shouldLog(r))return;let o=n?this.getTypeStyle(n):m.reset,i=n?this.getTypeIcon(n):"",s=i?`${i} `:"";console.log(o(`${s}${t}`))}logError(r,t){if(!this.shouldLog("error"))return;let n=this.getTypeStyle("error"),o=this.getTypeIcon("error"),i=o?`${o} `:"";t?console.error(n(`${i}${r}`),t):console.error(n(`${i}${r}`))}error(r,t){this.logError(r,t)}warn(r){this.log("warn",r,"warning")}info(r){this.log("info",r,"info")}debug(r){this.log("debug",r,"debug")}success(r){this.log("info",r,"success")}instruction(r){this.log("info",r,"instruction")}progress(r){this.log("info",r,"progress")}raclette(r){this.log("info",r,"raclette")}raw(r,t="info"){this.shouldLog(t)&&console.log(r)}},R=new V;var gr=e=>e;import Re from"fs-extra";import Oe from"path";var ge=(e=!1)=>["eslint","@eslint/js","globals","eslint-config-prettier","prettier","eslint-plugin-prettier",...e?P():[]],P=()=>[],de=()=>["import globals from 'globals';","import eslintConfigPrettier from 'eslint-config-prettier';"],me=(e=!1)=>{let r=` // JavaScript config
9
9
  {
10
10
  files: ["**/*.{js,mjs,cjs}"],
11
11
  languageOptions: {
@@ -50,7 +50,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
50
50
  }
51
51
  }`;return e?r+`,
52
52
 
53
- `+pr():r},pr=()=>` // Style recommended config
53
+ `+dr():r},dr=()=>` // Style recommended config
54
54
  {
55
55
  files: ["**/*.{js,mjs,cjs,ts,tsx}"],
56
56
  rules: {
@@ -73,7 +73,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
73
73
  { min: 3, exceptions: ["i", "j", "a", "b", "fs", "id"], properties: "never" },
74
74
  ],
75
75
  }
76
- }`;var ue=(e=!1)=>["eslint-plugin-react","eslint-plugin-react-hooks",...e?fr():[]],fr=()=>[],pe=()=>["import react from 'eslint-plugin-react';","import reactHooks from 'eslint-plugin-react-hooks';"],fe=(e=!1)=>{let r=` // React config
76
+ }`;var F=(e=!1)=>["eslint-plugin-react","eslint-plugin-react-hooks",...e?M():[]],M=()=>[],ye=()=>["import react from 'eslint-plugin-react';","import reactHooks from 'eslint-plugin-react-hooks';"],he=(e=!1)=>{let r=` // React config
77
77
  {
78
78
  files: ["**/*.{jsx,tsx}"],
79
79
  plugins: {
@@ -97,7 +97,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
97
97
  }
98
98
  }`;return e?r+`,
99
99
 
100
- `+gr():r},gr=()=>"";var ge=(e=!1)=>["typescript-eslint",...e?dr():[]],dr=()=>["eslint-plugin-import","eslint-plugin-prefer-arrow-functions"],de=e=>{let r=["import tseslint from 'typescript-eslint';"];return e&&(r.push("import importPlugin from 'eslint-plugin-import';"),r.push("import preferArrow from 'eslint-plugin-prefer-arrow-functions';")),r},me=(e=!1)=>{let t=` // TypeScript config
100
+ `+mr():r},mr=()=>"";var ve=(e=!1)=>["typescript-eslint",...e?B():[]],B=()=>["eslint-plugin-import","eslint-plugin-prefer-arrow-functions"],be=e=>{let r=["import tseslint from 'typescript-eslint';"];return e&&(r.push("import importPlugin from 'eslint-plugin-import';"),r.push("import preferArrow from 'eslint-plugin-prefer-arrow-functions';")),r},we=(e=!1)=>{let t=` // TypeScript config
101
101
  {
102
102
  files: ["**/*.{ts,tsx}"],
103
103
  plugins: ${e?`{
@@ -126,7 +126,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
126
126
  }
127
127
  }`;return e?t+`,
128
128
 
129
- `+mr():t},mr=()=>` // TypeScript recommended config
129
+ `+yr():t},yr=()=>` // TypeScript recommended config
130
130
  {
131
131
  files: ["**/*.{ts,tsx}"],
132
132
  rules: {
@@ -209,7 +209,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
209
209
  }
210
210
  ]
211
211
  }
212
- }`;var ye=(e=!1)=>["eslint-plugin-vue","vue-eslint-parser","tailwindcss",...e?yr():[]],yr=()=>[],he=()=>["import vue from 'eslint-plugin-vue';","import vueEslintParser from 'vue-eslint-parser';","import tailwindcss from 'eslint-plugin-tailwindcss';"],ve=(e=!1)=>{let r=` // Vue config
212
+ }`;var G=(e=!1)=>["eslint-plugin-vue","vue-eslint-parser",...e?Y():[]],Y=()=>[],Ce=()=>["import vue from 'eslint-plugin-vue';","import vueEslintParser from 'vue-eslint-parser';"],Ee=(e=!1)=>{let r=` // Vue config
213
213
  {
214
214
  files: ["**/*.vue"],
215
215
  // Manually add Vue plugin
@@ -247,7 +247,6 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
247
247
  "vue/valid-v-show": "error",
248
248
  "vue/valid-v-slot": "error",
249
249
  "vue/valid-v-text": "error",
250
- ...tailwindcss.configs.recommended.rules
251
250
  }
252
251
  }`;return e?r+`,
253
252
 
@@ -294,7 +293,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
294
293
  "vue/v-on-style": "error",
295
294
  "vue/v-slot-style": "error"
296
295
  }
297
- }`;import{existsSync as P}from"fs";import F from"path";var be=e=>{let r=e?.eslint?.useRecommended;return e.frontend?.framework==="vue"?ye(r):e.frontend?.framework==="react"?ue(r):[]},we=e=>{let r=[...e].sort(),t=P(F.join(process.cwd(),"yarn.lock")),n=P(F.join(process.cwd(),"pnpm-lock.yaml")),o=P(F.join(process.cwd(),"bun.lockb")),i="npm",s="install";return t?(i="yarn",s="add"):n?(i="pnpm",s="add"):o&&(i="bun",s="add"),`${i} ${s} -D ${r.join(" ")}`};var vr=async(e,r,t=!0)=>{let n=Ee.join(r,"eslint.config.mjs");O.debug(`Generating eslint.config.mjs in ${r}`);let o=e.eslint?.useRecommended!==!1,i=br(e,o),s=[];if(s.push(` // TS ESLint base rules
296
+ }`;var xe=e=>{let r=e.eslint?.useRecommended!==!1,t=[...ge(),...ve()];return e.frontend?.framework==="vue"?t.push(...G()):e.frontend?.framework==="react"&&t.push(...F()),r&&(t.push(...P(),...B()),e.frontend?.framework==="vue"?t.push(...Y()):e.frontend?.framework==="react"&&t.push(...M())),[...new Set(t)]};import{existsSync as U}from"fs";import q from"path";var Te=e=>{let r=[...e].sort(),t=U(q.join(process.cwd(),"yarn.lock")),n=U(q.join(process.cwd(),"pnpm-lock.yaml")),o=U(q.join(process.cwd(),"bun.lockb")),i="npm",s="install";return t?(i="yarn",s="add"):n?(i="pnpm",s="add"):o&&(i="bun",s="add"),`${i} ${s} -D ${r.join(" ")}`};var vr=async(e,r,t=!0)=>{let n=Oe.join(r,"eslint.config.mjs");R.debug(`Generating eslint.config.mjs in ${r}`);let o=e.eslint?.useRecommended!==!1,i=br(e,o),s=[];if(s.push(` // TS ESLint base rules
298
297
  {
299
298
  files: ["**/*.{ts,tsx}"],
300
299
  plugins: {
@@ -325,7 +324,7 @@ var xe=Object.create;var B=Object.defineProperty;var Te=Object.getOwnPropertyDes
325
324
  ".raclette/**",
326
325
  ".gitignore"
327
326
  ]
328
- }`),s.push(ce(o)),s.push(me(o)),e.frontend?.framework==="vue"&&s.push(ve(o)),e.frontend?.framework==="react"&&s.push(fe(o)),e.eslint?.rules&&Object.keys(e.eslint.rules).length>0){let p=JSON.stringify(e.eslint.rules,null,2).replace(/"([^"]+)":/g,"$1:");s.push(` // User custom rules
327
+ }`),s.push(me(o)),s.push(we(o)),e.frontend?.framework==="vue"&&s.push(Ee(o)),e.frontend?.framework==="react"&&s.push(he(o)),e.eslint?.rules&&Object.keys(e.eslint.rules).length>0){let p=JSON.stringify(e.eslint.rules,null,2).replace(/"([^"]+)":/g,"$1:");s.push(` // User custom rules
329
328
  {
330
329
  rules: ${p}
331
330
  }`)}if(e.eslint?.ignores&&e.eslint.ignores.length>0){let p=JSON.stringify(e.eslint.ignores).replace(/^\[|\]$/g,"");s.push(` // User custom ignores
@@ -363,7 +362,7 @@ export const withRaclette = (...userConfigs) => {
363
362
 
364
363
  // Default export for direct usage
365
364
  export default racletteEslintConfig
366
- `;await Ce.writeFile(n,a),t&&await wr(r,e),O.debug(`Generated eslint.config.mjs in ${r}`)},br=(e,r)=>{let t=[];return t.push(...le()),t.push(...de(r)),e.frontend?.framework==="vue"?t.push(...he()):e.frontend?.framework==="react"&&t.push(...pe()),t},wr=async(e,r)=>{let t=Ee.join(e,"ESLINT-README.md"),n=r.eslint?.useRecommended!==!1,o=ae(n),i=ge(n),s=be(r),a=[...o,...i,...s],C=`# racletteJS ESLint Configuration
365
+ `;await Re.writeFile(n,a),t&&await wr(r,e),R.debug(`Generated eslint.config.mjs in ${r}`)},br=(e,r)=>{let t=[];return t.push(...de()),t.push(...be(r)),e.frontend?.framework==="vue"?t.push(...Ce()):e.frontend?.framework==="react"&&t.push(...ye()),t},wr=async(e,r)=>{let t=Oe.join(e,"ESLINT-README.md"),n=xe(r),i=`# racletteJS ESLint Configuration
367
366
 
368
367
  This directory contains an auto-generated ESLint configuration for your racletteJS project.
369
368
 
@@ -372,7 +371,7 @@ This directory contains an auto-generated ESLint configuration for your raclette
372
371
  To use this ESLint configuration, you need to install the following dependencies:
373
372
 
374
373
  \`\`\`bash
375
- ${we(a)}
374
+ ${Te(n)}
376
375
  \`\`\`
377
376
 
378
377
  ## How to Use
@@ -449,5 +448,5 @@ export default {
449
448
  }
450
449
  }
451
450
  \`\`\`
452
- `;await Ce.writeFile(t,C)};export{cr as defineRacletteConfig,vr as generateEslintConfig};
451
+ `;await Re.writeFile(t,i)};export{gr as defineRacletteConfig,vr as generateEslintConfig};
453
452
  //# sourceMappingURL=index.js.map