@raclettejs/core 0.1.23 → 0.1.25
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 +41 -0
- package/bin/cli.js +2 -2
- package/dist/cli.js +136 -155
- package/dist/cli.js.map +4 -4
- package/dist/index.js +15 -16
- package/dist/index.js.map +4 -4
- package/package.json +24 -22
- package/services/backend/.yarn/install-state.gz +0 -0
- package/services/backend/dist/core/eventBus/index.js +7 -0
- package/services/backend/dist/core/pluginSystem/configGenerator/index.js +346 -0
- package/services/backend/dist/core/sockets/index.js +95 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/events/index.js +31 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/index.js +48 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/account/routes/index.js +15 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/events/index.js +22 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/index.js +51 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/composition/routes/index.js +19 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/events/index.js +22 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/index.js +48 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/interactionLink/routes/index.js +19 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/events/index.js +31 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/index.js +49 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/project/routes/index.js +16 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/events/index.js +39 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/index.js +50 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/tag/routes/index.js +19 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/events/index.js +31 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/index.js +51 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/user/routes/index.js +21 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/events/index.js +31 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/index.js +48 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/datatypes/workSession/routes/index.js +15 -0
- package/services/backend/dist/corePlugins/raclette__core/backend/index.js +34 -0
- package/services/backend/dist/domains/index.js +11 -0
- package/services/backend/dist/domains/system/index.js +11 -0
- package/services/backend/dist/domains/system/routes/index.js +17 -0
- package/services/backend/dist/helpers/index.js +14 -0
- package/services/backend/dist/index.js +3 -0
- package/services/backend/dist/modules/authentication/index.js +253 -0
- package/services/backend/dist/shared/types/core/index.js +8 -0
- package/services/backend/dist/shared/types/dataTypes/index.js +6 -0
- package/services/backend/dist/shared/types/index.js +8 -0
- package/services/backend/dist/shared/types/plugins/index.js +8 -0
- package/services/backend/dist/types/index.js +12 -0
- package/services/backend/dist/utils/index.js +2 -0
- package/services/backend/package.json +20 -18
- package/services/backend/src/core/contracting/contractRegistrar.ts +1 -1
- package/services/backend/src/core/pluginSystem/configGenerator/generatorTypes.ts +1 -0
- package/services/backend/src/core/pluginSystem/configGenerator/index.ts +2 -2
- package/services/backend/src/core/pluginSystem/pluginLoader.ts +99 -44
- package/services/backend/src/core/pluginSystem/pluginTypes.ts +1 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/index.ts +2 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/routes/route.user.patchOwn.ts +68 -0
- package/services/backend/src/corePlugins/raclette__core/backend/datatypes/user/user.model.ts +1 -1
- package/services/backend/src/corePlugins/raclette__core/frontend/generated-config.ts +12 -0
- package/services/backend/src/shared/schemas/core/Account.schema.ts +10 -10
- package/services/backend/src/shared/schemas/core/Composition.schema.ts +25 -22
- package/services/backend/src/shared/schemas/core/CompositionCreate.schema.ts +19 -16
- package/services/backend/src/shared/schemas/core/CompositionUpdate.schema.ts +19 -16
- package/services/backend/src/shared/schemas/core/InteractionLink.schema.ts +15 -15
- package/services/backend/src/shared/schemas/core/InteractionLinkCreate.schema.ts +9 -9
- package/services/backend/src/shared/schemas/core/InteractionLinkUpdate.schema.ts +9 -9
- package/services/backend/src/shared/schemas/core/Project.schema.ts +28 -6
- package/services/backend/src/shared/schemas/core/ProjectCreate.schema.ts +22 -0
- package/services/backend/src/shared/schemas/core/ProjectUpdate.schema.ts +25 -0
- package/services/backend/src/shared/schemas/core/Tag.schema.ts +11 -9
- package/services/backend/src/shared/schemas/core/TagCreate.schema.ts +1 -3
- package/services/backend/src/shared/schemas/core/TagUpdate.schema.ts +1 -0
- package/services/backend/src/shared/schemas/core/Trigger.schema.ts +3 -3
- package/services/backend/src/shared/schemas/core/User.schema.ts +18 -18
- package/services/backend/src/shared/schemas/core/UserCreate.schema.ts +9 -9
- package/services/backend/src/shared/schemas/core/Widget.schema.ts +5 -5
- package/services/backend/src/shared/schemas/core/WidgetLayout.schema.ts +9 -9
- package/services/backend/src/shared/types/core/Composition.types.ts +1 -0
- package/services/backend/src/shared/types/core/CompositionCreate.types.ts +1 -0
- package/services/backend/src/shared/types/core/CompositionUpdate.types.ts +1 -0
- package/services/backend/src/shared/types/core/Project.types.ts +4 -0
- package/services/backend/src/shared/types/core/ProjectCreate.types.ts +4 -0
- package/services/backend/src/shared/types/core/ProjectUpdate.types.ts +4 -1
- package/services/backend/src/shared/types/core/Tag.types.ts +1 -1
- package/services/backend/src/shared/types/core/TagCreate.types.ts +0 -1
- package/services/backend/src/shared/types/core/index.ts +4 -0
- package/services/backend/src/shared/types/plugins/index.ts +1 -1
- package/services/backend/tsconfig.json +1 -0
- package/services/backend/yarn.lock +797 -935
- package/services/frontend/.yarn/install-state.gz +0 -0
- package/services/frontend/eslint.config.js +9 -0
- package/services/frontend/index.html +3 -3
- package/services/frontend/package.json +30 -28
- package/services/frontend/src/core/setup/plugin-system/discovery/app-plugins.ts +43 -4
- package/services/frontend/src/orchestrator/ProductOrchestrator.vue +10 -11
- package/services/frontend/src/orchestrator/assets/styles/layers.css +11 -0
- package/services/frontend/src/orchestrator/assets/styles/tailwindStyles.css +5 -11
- package/services/frontend/src/orchestrator/assets/styles/vuetifyStyles.scss +0 -4
- package/services/frontend/src/orchestrator/components/composition/WidgetsLayoutLoader.vue +5 -18
- package/services/frontend/src/orchestrator/composables/useWidgets/helperFunctions.ts +54 -5
- package/services/frontend/src/orchestrator/helpers/index.ts +1 -0
- package/services/frontend/src/orchestrator/helpers/widgetVisuals.ts +71 -0
- package/services/frontend/src/orchestrator/setup/vuetify.ts +2 -0
- package/services/frontend/src/orchestrator/types/Widgets.ts +5 -1
- package/services/frontend/vite.config.ts +24 -10
- 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
|
|
3
|
-
`);let n;for(;(n=
|
|
4
|
-
`),i=i.replace(/\\r/g,"\r")),r[o]=i}return r}function
|
|
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:
|
|
8
|
-
`);return i!==-1&&(r=
|
|
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
|
-
`+
|
|
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
|
|
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
|
-
`+
|
|
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
|
-
`+
|
|
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
|
|
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
|
-
}`;
|
|
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(
|
|
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
|
|
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
|
-
${
|
|
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
|
|
451
|
+
`;await Re.writeFile(t,i)};export{gr as defineRacletteConfig,vr as generateEslintConfig};
|
|
453
452
|
//# sourceMappingURL=index.js.map
|