create-cedar-app 7.0.0-canary.3021 → 7.0.0-canary.3022

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.
@@ -4,8 +4,8 @@
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@cedarjs/api": "7.0.0-canary.3021",
8
- "@cedarjs/graphql-server": "7.0.0-canary.3021",
7
+ "@cedarjs/api": "7.0.0-canary.3022",
8
+ "@cedarjs/graphql-server": "7.0.0-canary.3022",
9
9
  "@prisma/adapter-pg": "7.8.0",
10
10
  "pg": "^8.13.0"
11
11
  }
@@ -4,8 +4,8 @@
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@cedarjs/api": "7.0.0-canary.3021",
8
- "@cedarjs/graphql-server": "7.0.0-canary.3021",
7
+ "@cedarjs/api": "7.0.0-canary.3022",
8
+ "@cedarjs/graphql-server": "7.0.0-canary.3022",
9
9
  "@electric-sql/pglite": "^0.5.0",
10
10
  "@electric-sql/pglite-socket": "^0.2.0",
11
11
  "@prisma/adapter-pg": "7.8.0",
@@ -533,7 +533,7 @@ ${r}
533
533
  ${o}
534
534
 
535
535
  ${r}
536
- `)}displayError(e,t){let o=`\u26A0 Error: ${e}`;this.drawFencedText("red",o,t)}displayWarning(e,t){let o=`\u26A0 Warning: ${e}`;this.drawFencedText("yellow",o,t)}};var bu={name:"create-cedar-app",version:"7.0.0-canary.3021",repository:{type:"git",url:"git+https://github.com/cedarjs/cedar.git",directory:"packages/create-cedar-app"},license:"MIT",type:"module",bin:"./dist/create-cedar-app.js",files:["dist","templates","database-overlays"],scripts:{build:"node ./scripts/build.ts","build:pack":"node ./scripts/buildPack.js","build:watch":'nodemon --watch src --ignore dist,template --exec "yarn build"',prepublishOnly:"NODE_ENV=production yarn build","set-up-test-project":"node ./scripts/setUpTestProject.js",test:"vitest run templates","test:e2e":"vitest --pool=forks run e2e","ts-to-js":"yarn node ./scripts/tsToJS.js"},devDependencies:{"@cedarjs/cli-helpers":"7.0.0-canary.3021","@cedarjs/framework-tools":"7.0.0-canary.3021","@cedarjs/tui":"7.0.0-canary.3021","@opentelemetry/api":"1.9.1","@opentelemetry/exporter-trace-otlp-http":"0.57.2","@opentelemetry/resources":"1.30.1","@opentelemetry/sdk-trace-node":"1.30.1","@opentelemetry/semantic-conventions":"1.41.1","@types/klaw-sync":"6.0.5",ansis:"4.3.1","ci-info":"4.4.0",envinfo:"7.21.0",execa:"5.1.1","gradient-string":"3.0.0","klaw-sync":"7.0.0",systeminformation:"5.33.1","termi-link":"1.1.0",untildify:"4.0.0",uuid:"11.1.0",verkit:"0.4.0",vitest:"4.1.10",yargs:"17.7.3"},engines:{node:">=24"},gitHead:"3905ed045508b861b495f8d5630d76c7a157d8f1"};var see=fr(jT(),1);Ie();Ie();var ree=fr(zj(),1),Dy=fr(uh(),1),v_=fr(KJ(),1);var zJ="service.name";var XJ="service.version";var nee=fr(eQ(),1),iee=fr(rQ(),1),My=fr(eee(),1);var Sr=[];for(let i=0;i<256;++i)Sr.push((i+256).toString(16).slice(1));function tee(i,e=0){return(Sr[i[e+0]]+Sr[i[e+1]]+Sr[i[e+2]]+Sr[i[e+3]]+"-"+Sr[i[e+4]]+Sr[i[e+5]]+"-"+Sr[i[e+6]]+Sr[i[e+7]]+"-"+Sr[i[e+8]]+Sr[i[e+9]]+"-"+Sr[i[e+10]]+Sr[i[e+11]]+Sr[i[e+12]]+Sr[i[e+13]]+Sr[i[e+14]]+Sr[i[e+15]]).toLowerCase()}import{randomFillSync as g7e}from"crypto";var A_=new Uint8Array(256),g_=A_.length;function Ry(){return g_>A_.length-16&&(g7e(A_),g_=0),A_.slice(g_,g_+=16)}import{randomUUID as A7e}from"crypto";var Ny={randomUUID:A7e};function v7e(i,e,t){if(Ny.randomUUID&&!e&&!i)return Ny.randomUUID();i=i||{};let o=i.random??i.rng?.()??Ry();if(o.length<16)throw new Error("Random bytes length must be >= 16");if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,e){if(t=t||0,t<0||t+16>e.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let a=0;a<16;++a)e[t+a]=o[a];return e}return tee(o)}var Cy=v7e;var{name:y7e,version:O7e}=bu,x7e="os.type",P7e="os.version",by,Iy,Ly,wy=Cy();async function oee(){jt.setLogger(new $s,Kt.ERROR);let i=JSON.parse(await iee.default.run({System:["OS","Shell"],Binaries:["Node","Yarn","npm"],npmPackages:"@cedarjs/*",IDEs:["VSCode"]},{json:!0})),e=i.System?.Shell;e?.path?.match("/")?i.System.Shell.name=i.System.Shell.path.split("/").pop():e?.path.match("\\")&&(i.System.Shell.name=i.System.Shell.path.split("\\").pop());let t=await My.default.cpu(),o=await My.default.mem(),a;Object.keys(process.env).some(n=>n.startsWith("GITPOD_"))&&(a="gitpod");let s=Dy.Resource.default().merge(new Dy.Resource({[zJ]:y7e,[XJ]:O7e,[x7e]:i.System?.OS?.split(" ")[0],[P7e]:i.System?.OS?.split(" ")[1],"shell.name":i.System?.Shell?.name,"node.version":i.Binaries?.Node?.version,"yarn.version":i.Binaries?.Yarn?.version,"npm.version":i.Binaries?.npm?.version,"vscode.version":i.IDEs?.VSCode?.version,"cpu.count":t.physicalCores,"memory.gb":Math.round(o.total/1073741824),"env.node_env":process.env.NODE_ENV||void 0,"ci.redwood":!!process.env.CEDAR_CI,"ci.isci":nee.default.isCI,"dev.environment":a,uid:wy}));Ly=new ree.OTLPTraceExporter({url:process.env.CEDAR_REDIRECT_TELEMETRY||process.env.REDWOOD_REDIRECT_TELEMETRY||"https://quark.quantumparticle.io/v1/traces"}),Iy=new v_.BatchSpanProcessor(Ly),by=new v_.NodeTracerProvider({resource:s,spanProcessors:[Iy]}),by.register(),process.on("SIGTERM",async()=>{await Dt()})}async function Dt(){try{Zc.trace.getActiveSpan()?.end(),await by?.shutdown(),await Iy?.shutdown(),await Ly?.shutdown()}catch(i){(process.env.CEDAR_VERBOSE_TELEMETRY||process.env.REDWOOD_VERBOSE_TELEMETRY)&&console.error("Telemetry: shutdown error",i)}}function Ht(i){Zc.trace.getActiveSpan()?.setStatus({code:wi.ERROR,message:String(i).split(`
536
+ `)}displayError(e,t){let o=`\u26A0 Error: ${e}`;this.drawFencedText("red",o,t)}displayWarning(e,t){let o=`\u26A0 Warning: ${e}`;this.drawFencedText("yellow",o,t)}};var bu={name:"create-cedar-app",version:"7.0.0-canary.3022",repository:{type:"git",url:"git+https://github.com/cedarjs/cedar.git",directory:"packages/create-cedar-app"},license:"MIT",type:"module",bin:"./dist/create-cedar-app.js",files:["dist","templates","database-overlays"],scripts:{build:"node ./scripts/build.ts","build:pack":"node ./scripts/buildPack.js","build:watch":'nodemon --watch src --ignore dist,template --exec "yarn build"',prepublishOnly:"NODE_ENV=production yarn build","set-up-test-project":"node ./scripts/setUpTestProject.js",test:"vitest run templates","test:e2e":"vitest --pool=forks run e2e","ts-to-js":"yarn node ./scripts/tsToJS.js"},devDependencies:{"@cedarjs/cli-helpers":"7.0.0-canary.3022","@cedarjs/framework-tools":"7.0.0-canary.3022","@cedarjs/tui":"7.0.0-canary.3022","@opentelemetry/api":"1.9.1","@opentelemetry/exporter-trace-otlp-http":"0.57.2","@opentelemetry/resources":"1.30.1","@opentelemetry/sdk-trace-node":"1.30.1","@opentelemetry/semantic-conventions":"1.41.1","@types/klaw-sync":"6.0.5",ansis:"4.3.1","ci-info":"4.4.0",envinfo:"7.21.0",execa:"5.1.1","gradient-string":"3.0.0","klaw-sync":"7.0.0",systeminformation:"5.33.1","termi-link":"1.1.0",untildify:"4.0.0",uuid:"11.1.0",verkit:"0.4.0",vitest:"4.1.10",yargs:"17.7.3"},engines:{node:">=24"},gitHead:"3905ed045508b861b495f8d5630d76c7a157d8f1"};var see=fr(jT(),1);Ie();Ie();var ree=fr(zj(),1),Dy=fr(uh(),1),v_=fr(KJ(),1);var zJ="service.name";var XJ="service.version";var nee=fr(eQ(),1),iee=fr(rQ(),1),My=fr(eee(),1);var Sr=[];for(let i=0;i<256;++i)Sr.push((i+256).toString(16).slice(1));function tee(i,e=0){return(Sr[i[e+0]]+Sr[i[e+1]]+Sr[i[e+2]]+Sr[i[e+3]]+"-"+Sr[i[e+4]]+Sr[i[e+5]]+"-"+Sr[i[e+6]]+Sr[i[e+7]]+"-"+Sr[i[e+8]]+Sr[i[e+9]]+"-"+Sr[i[e+10]]+Sr[i[e+11]]+Sr[i[e+12]]+Sr[i[e+13]]+Sr[i[e+14]]+Sr[i[e+15]]).toLowerCase()}import{randomFillSync as g7e}from"crypto";var A_=new Uint8Array(256),g_=A_.length;function Ry(){return g_>A_.length-16&&(g7e(A_),g_=0),A_.slice(g_,g_+=16)}import{randomUUID as A7e}from"crypto";var Ny={randomUUID:A7e};function v7e(i,e,t){if(Ny.randomUUID&&!e&&!i)return Ny.randomUUID();i=i||{};let o=i.random??i.rng?.()??Ry();if(o.length<16)throw new Error("Random bytes length must be >= 16");if(o[6]=o[6]&15|64,o[8]=o[8]&63|128,e){if(t=t||0,t<0||t+16>e.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let a=0;a<16;++a)e[t+a]=o[a];return e}return tee(o)}var Cy=v7e;var{name:y7e,version:O7e}=bu,x7e="os.type",P7e="os.version",by,Iy,Ly,wy=Cy();async function oee(){jt.setLogger(new $s,Kt.ERROR);let i=JSON.parse(await iee.default.run({System:["OS","Shell"],Binaries:["Node","Yarn","npm"],npmPackages:"@cedarjs/*",IDEs:["VSCode"]},{json:!0})),e=i.System?.Shell;e?.path?.match("/")?i.System.Shell.name=i.System.Shell.path.split("/").pop():e?.path.match("\\")&&(i.System.Shell.name=i.System.Shell.path.split("\\").pop());let t=await My.default.cpu(),o=await My.default.mem(),a;Object.keys(process.env).some(n=>n.startsWith("GITPOD_"))&&(a="gitpod");let s=Dy.Resource.default().merge(new Dy.Resource({[zJ]:y7e,[XJ]:O7e,[x7e]:i.System?.OS?.split(" ")[0],[P7e]:i.System?.OS?.split(" ")[1],"shell.name":i.System?.Shell?.name,"node.version":i.Binaries?.Node?.version,"yarn.version":i.Binaries?.Yarn?.version,"npm.version":i.Binaries?.npm?.version,"vscode.version":i.IDEs?.VSCode?.version,"cpu.count":t.physicalCores,"memory.gb":Math.round(o.total/1073741824),"env.node_env":process.env.NODE_ENV||void 0,"ci.redwood":!!process.env.CEDAR_CI,"ci.isci":nee.default.isCI,"dev.environment":a,uid:wy}));Ly=new ree.OTLPTraceExporter({url:process.env.CEDAR_REDIRECT_TELEMETRY||process.env.REDWOOD_REDIRECT_TELEMETRY||"https://quark.quantumparticle.io/v1/traces"}),Iy=new v_.BatchSpanProcessor(Ly),by=new v_.NodeTracerProvider({resource:s,spanProcessors:[Iy]}),by.register(),process.on("SIGTERM",async()=>{await Dt()})}async function Dt(){try{Zc.trace.getActiveSpan()?.end(),await by?.shutdown(),await Iy?.shutdown(),await Ly?.shutdown()}catch(i){(process.env.CEDAR_VERBOSE_TELEMETRY||process.env.REDWOOD_VERBOSE_TELEMETRY)&&console.error("Telemetry: shutdown error",i)}}function Ht(i){Zc.trace.getActiveSpan()?.setStatus({code:wi.ERROR,message:String(i).split(`
537
537
  `)[0]}),Zc.trace.getActiveSpan()?.recordException(i instanceof Error?i:new Error(String(i)))}var Be=new Sf;var Uy="Initial commit";async function aee(i){if(i){let e=i==="."?"the current directory":i;return Be.drawText(`${ft.green("\u2714")} Creating your Cedar app in ${e} based on command line argument`),i}try{let e=await Be.prompt({type:"input",name:"targetDir",message:"Where would you like to create your CedarJS app?",initial:"my-cedar-app"});return/^~\w/.test(e.targetDir)&&(Be.stopReactive(!0),Be.displayError("The `~username` syntax is not supported here","Please use the full path or specify the target directory on the command line."),Ht("Target dir prompt path syntax not supported"),await Dt(),process.exit(1)),(0,see.default)(e.targetDir)}catch{Ht("User cancelled install at target dir prompt"),await Dt(),process.exit(1)}}async function cee(i){if(i!==null)return Be.drawText(`${ft.green("\u2714")} Using ${i?"TypeScript":"JavaScript"} based on command line flag`),i;try{return(await Be.prompt({type:"Select",name:"language",choices:["TypeScript","JavaScript"],message:"Select your preferred language",initial:"TypeScript"})).language==="TypeScript"}catch{Ht("User cancelled install at language prompt"),await Dt(),process.exit(1)}}async function uee(i){if(i!==null)return Be.drawText(`${ft.green("\u2714")} ${i?"Will":"Will not"} initialize a git repo based on command line flag`),i;try{return(await Be.prompt({type:"Toggle",name:"git",message:"Do you want to initialize a git repo?",enabled:"Yes",disabled:"no",initial:"Yes"})).git}catch{Ht("User cancelled install at git prompt"),await Dt(),process.exit(1)}}async function lee(){try{return(await Be.prompt({type:"input",name:"targetDirectoryInput",message:"What directory would you like to create the app in?",initial:"my-cedar-app"})).targetDirectoryInput}catch{Ht("User cancelled install at specify a different directory prompt"),await Dt(),process.exit(1)}}async function pee(i){if(i!==null)return i;try{return(await Be.prompt({type:"input",name:"commitMessage",message:"Enter a commit message",initial:Uy})).commitMessage}catch{Ht("User cancelled install at commit message prompt"),await Dt(),process.exit(1)}}async function fee(i,e){if(i!==null)return Be.drawText(`${ft.green("\u2714")} ${i?"Will":"Will not"} run ${e} install based on command line flag`),i;try{return(await Be.prompt({type:"Toggle",name:"install",message:`Do you want to run ${e} install?`,enabled:"Yes",disabled:"no",initial:"Yes"})).install}catch{Ht("User cancelled install at install prompt"),await Dt(),process.exit(1)}}function R7e(i){return["yarn","npm","pnpm"].includes(i??"")}function Vy(){let e=process.env.npm_config_user_agent?.split(" ")[0]?.split("/")[0];if(e==="yarn"||e==="npm"||e==="pnpm")return e}async function dee(i){if(R7e(i))return Be.drawText(`${ft.green("\u2714")} Using ${i} based on command line flag`),i;try{let e=Vy();return(await Be.prompt({type:"Select",name:"packageManager",choices:["yarn","npm","pnpm"],message:"Select your preferred package manager",initial:e})).packageManager}catch{Ht("User cancelled install at package manager prompt"),await Dt(),process.exit(1)}}async function hee(i){let e=["sqlite","pglite","neon-postgres"];return i&&!e.includes(i)&&(Be.stopReactive(!0),Be.displayError("Invalid database",`Unknown database "${i}". Supported values: `+e.join(", ")),Ht("Invalid database flag"),await Dt(),process.exit(1)),i??"sqlite"}var Yl=fr(Tee(),1);import xWe from"node:fs";import PWe from"node:path";var Hy="[a-zA-Z0-9-]",Hl=String.raw`0|[1-9]\d*`,jl=String.raw`\d+`,Oee=String.raw`\d*[a-zA-Z-]${Hy}*`,G7e=String.raw`(${Hl})\.(${Hl})\.(${Hl})`,F7e=String.raw`(${jl})\.(${jl})\.(${jl})`,gee=`(?:${Oee}|${Hl})`,Aee=`(?:${Oee}|${jl})`,jy=String.raw`(?:-(${gee}(?:\.${gee})*))`,xee=String.raw`(?:-?(${Aee}(?:\.${Aee})*))`,vee=`${Hy}+`,Ho=String.raw`(?:\+(${vee}(?:\.${vee})*))`,Yy=`v?${G7e}${jy}?${Ho}?`,Vc=String.raw`[v=\s]*${F7e}${xee}?${Ho}?`,jo="((?:<|>)?=?)",Fy=String.raw`${Hl}|x|X|\*`,ky=String.raw`${jl}|x|X|\*`,qs=String.raw`[v=\s]*(${Fy})(?:\.(${Fy})(?:\.(${Fy})(?:${jy})?${Ho}?)?)?`,Bc=String.raw`[v=\s]*(${ky})(?:\.(${ky})(?:\.(${ky})(?:${xee})?${Ho}?)?)?`,x_="(?:~>?)",P_=String.raw`(?:\^)`,Pee=String.raw`(^|[^\d])(\d{1,${16}})(?:\.(\d{1,${16}}))?(?:\.(\d{1,${16}}))?`,xot=String.raw`${Pee}(?:$|[^\d])`,Pot=String.raw`${Pee}(?:${jy})?(?:${Ho})?(?:$|[^\d])`;function k7e(i){let e=[[String.raw`\s`,1],[String.raw`\d`,256],[Hy,250]];for(let[t,o]of e)i=i.split(`${t}*`).join(`${t}{0,${o}}`).split(`${t}+`).join(`${t}{1,${o}}`);return i}function $t(i,e){return new RegExp(k7e(i),e)}var H7e=$t(`^${Yy}$`),j7e=$t(`^${Vc}$`),Y7e=/^\d+$/;function qy(i){let e=`${i.major}.${i.minor}.${i.patch}`;return i.prerelease?.length?`${e}-${i.prerelease.join(".")}`:e}function Ys(i,e={}){if(typeof i!="string")return i;if(i.length>256)throw new TypeError("Version exceeds the maximum length of 256 characters");let t=i.trim().match(e.loose?j7e:H7e);if(!t)throw new TypeError(`Invalid version syntax: ${i}`);let o=Number(t[1]),a=Number(t[2]),s=Number(t[3]);if(o>Number.MAX_SAFE_INTEGER||o<0)throw new TypeError(`Invalid major version: ${t[1]}`);if(a>Number.MAX_SAFE_INTEGER||a<0)throw new TypeError(`Invalid minor version: ${t[2]}`);if(s>Number.MAX_SAFE_INTEGER||s<0)throw new TypeError(`Invalid patch version: ${t[3]}`);let n=t[4]?t[4].split(".").map(r=>{if(Y7e.test(r)){let c=Number(r);if(c>=0&&c<Number.MAX_SAFE_INTEGER)return c}return r}):void 0;return{build:t[5]?.split("."),major:o,minor:a,patch:s,prerelease:n}}function R_(i,e={}){try{return Ys(i,e)}catch{return null}}var yee=/^\d+$/;function Ree(i,e){if(typeof i=="number"&&typeof e=="number")return i===e?0:i<e?-1:1;let t=yee.test(String(i)),o=yee.test(String(e)),a=t?Number(i):i,s=o?Number(e):e;return a===s?0:t&&!o?-1:o&&!t?1:a<s?-1:1}function q7e(i,e){return i.major===e.major?i.minor===e.minor?i.patch===e.patch?0:i.patch<e.patch?-1:1:i.minor<e.minor?-1:1:i.major<e.major?-1:1}function W7e(i,e){let t=i.prerelease,o=e.prerelease;if(t?.length&&!o?.length)return-1;if(!t?.length&&o?.length)return 1;if(!t?.length&&!o?.length)return 0;for(let a=0;;a++){let s=t?.[a],n=o?.[a];if(s===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(s===void 0)return-1;if(s!==n)return Ree(s,n)}}function Gc(i,e){return q7e(i,e)||W7e(i,e)}function Nee(i,e,t={}){return Gc(Ys(i,t),Ys(e,t))}function Wy(i,e,t={}){return Nee(i,e,t)<0}var $7e=$t(String.raw`^${jo}\s*(${Yy})$|^$`),K7e=$t(String.raw`^${jo}\s*(${Vc})$|^$`);function Cee(i,e={}){if(typeof i!="string")return i;let t=i.trim().replaceAll(/\s+/g," "),o=t.match(e.loose?K7e:$7e);if(!o)throw new TypeError(`Invalid comparator: ${t}`);let a=o[1]==="="?"":o[1]||"",s=o[2]?Ys(o[2],e):null;return{operator:a,options:e,value:s?`${a}${qy(s)}`:"",version:s}}function Dee(i,e){if(!i.version)return!0;let t=Gc(e,i.version);switch(i.operator){case"":return t===0;case">":return t>0;case">=":return t>=0;case"<":return t<0;case"<=":return t<=0}}function Mee(i,e){let t=i.version;return t!==null&&!!t.prerelease?.length&&t.major===e.major&&t.minor===e.minor&&t.patch===e.patch}function bee(i,e,t){return i.some(o=>!Dee(o,e))?!1:!e.prerelease?.length||!!t.includePrerelease||i.some(o=>Mee(o,e))}var X7e=new RegExp(Ho,"g"),J7e=$t(Ho),Q7e=$t(String.raw`^\s*(${qs})\s+-\s+(${qs})\s*$`),Z7e=$t(String.raw`^\s*(${Bc})\s+-\s+(${Bc})\s*$`),eWe=$t(String.raw`(\s*)${jo}\s*(${Vc}|${qs})`,"g"),tWe=$t(String.raw`(\s*)${x_}\s+`,"g"),rWe=$t(String.raw`(\s*)${P_}\s+`,"g"),nWe=$t(`^${x_}${qs}$`),iWe=$t(`^${x_}${Bc}$`),oWe=$t(`^${P_}${qs}$`),sWe=$t(`^${P_}${Bc}$`),aWe=$t(String.raw`^${jo}\s*${qs}$`),cWe=$t(String.raw`^${jo}\s*${Bc}$`),uWe=$t(String.raw`(<|>)?=?\s*\*`),lWe=/^\s*>=\s*0\.0\.0\s*$/,pWe=/^\s*>=\s*0\.0\.0-0\s*$/,fWe=$t(String.raw`^${jo}\s*(${Vc})$|^$`);function Qt(i){return!i||String(i).toLowerCase()==="x"||String(i)==="*"}function dWe(i,e,t){return Qt(i)&&!Qt(e)||Qt(e)&&!!t&&!Qt(t)}function hWe(i,e){let t=e.loose?iWe:nWe,o=e.includePrerelease?"-0":"";return i.replace(t,(a,s,n,r,c)=>Qt(s)?"":Qt(n)?`>=${s}.0.0${o} <${Number(s)+1}.0.0-0`:Qt(r)?`>=${s}.${n}.0${o} <${s}.${Number(n)+1}.0-0`:c?`>=${s}.${n}.${r}-${c} <${s}.${Number(n)+1}.0-0`:`>=${s}.${n}.${r} <${s}.${Number(n)+1}.0-0`)}function EWe(i,e){return i.trim().split(/\s+/).map(t=>hWe(t,e)).join(" ")}function _We(i,e){let t=e.loose?sWe:oWe,o=e.includePrerelease?"-0":"";return i.replace(t,(a,s,n,r,c)=>Qt(s)?"":Qt(n)?`>=${s}.0.0${o} <${Number(s)+1}.0.0-0`:Qt(r)?s==="0"?`>=${s}.${n}.0${o} <${s}.${Number(n)+1}.0-0`:`>=${s}.${n}.0${o} <${Number(s)+1}.0.0-0`:c?s==="0"?n==="0"?`>=${s}.${n}.${r}-${c} <${s}.${n}.${Number(r)+1}-0`:`>=${s}.${n}.${r}-${c} <${s}.${Number(n)+1}.0-0`:`>=${s}.${n}.${r}-${c} <${Number(s)+1}.0.0-0`:s==="0"?n==="0"?`>=${s}.${n}.${r} <${s}.${n}.${Number(r)+1}-0`:`>=${s}.${n}.${r} <${s}.${Number(n)+1}.0-0`:`>=${s}.${n}.${r} <${Number(s)+1}.0.0-0`)}function mWe(i,e){return i.trim().split(/\s+/).map(t=>_We(t,e)).join(" ")}function SWe(i,e){let t=e.loose?cWe:aWe;return i.trim().replace(t,(o,a,s,n,r)=>{let c=a,u=s,l=n,p=r;if(dWe(String(u),l===void 0?void 0:String(l),p===void 0?void 0:String(p)))return i;let f=Qt(u),h=f||Qt(l),E=h||Qt(p);if(c==="="&&E&&(c=""),f)return c===">"||c==="<"?"<0.0.0-0":"*";let _=e.includePrerelease?"-0":"";return c&&E?(h&&(l=0),p=0,c===">"?(c=">=",h?(u=Number(u)+1,l=0):l=Number(l)+1):c==="<="&&(c="<",h?u=Number(u)+1:l=Number(l)+1),c==="<"&&(_="-0"),`${c}${u}.${l}.${p}${_}`):h?`>=${u}.0.0${_} <${Number(u)+1}.0.0-0`:E?`>=${u}.${l}.0${_} <${u}.${Number(l)+1}.0-0`:o})}function TWe(i,e){return i.split(/\s+/).map(t=>SWe(t,e)).join(" ")}function gWe(i,e){let t=e.loose?Z7e:Q7e;return i.replace(t,(o,a,s,n,r,c,u,l,p,f,h,E)=>{let _=a,d=l;return Qt(s)?_="":Qt(n)?_=`>=${s}.0.0${e.includePrerelease?"-0":""}`:Qt(r)?_=`>=${s}.${n}.0${e.includePrerelease?"-0":""}`:c?_=`>=${_}`:_=`>=${_}${e.includePrerelease?"-0":""}`,Qt(p)?d="":Qt(f)?d=`<${Number(p)+1}.0.0-0`:Qt(h)?d=`<${p}.${Number(f)+1}.0-0`:E?d=`<=${p}.${f}.${h}-${E}`:e.includePrerelease?d=`<${p}.${f}.${Number(h)+1}-0`:d=`<=${d}`,`${_} ${d}`.trim()})}function AWe(i,e){return TWe(EWe(mWe(i.replace(J7e,""),e),e),e).trim().replace(uWe,"")}function vWe(i,e){let t=gWe(i.replace(X7e,""),e).replace(eWe,"$1$2$3").replace(tWe,"$1~").replace(rWe,"$1^").split(" ").map(a=>AWe(a,e)).join(" ").split(/\s+/).map(a=>a.trim().replace(e.includePrerelease?pWe:lWe,""));e.loose&&(t=t.filter(a=>fWe.test(a)));let o=new Map;for(let a of t.map(s=>Cee(s,e))){if(a.value==="<0.0.0-0")return[a];o.set(a.value,a)}return o.size>1&&o.delete(""),[...o.values()]}function $y(i,e={}){if(typeof i!="string")return i;let t={...e},o=i.trim().replaceAll(/\s+/g," "),a=o.split("||").map(s=>vWe(s.trim(),t)).filter(s=>s.length);if(!a.length)throw new TypeError(`Range contains no valid comparator sets: ${o}`);if(a.length>1){let s=a[0];if(a=a.filter(n=>n[0]?.value!=="<0.0.0-0"),!a.length)a=[s];else if(a.length>1){let n=a.find(r=>r.length===1&&r[0]?.value==="");n&&(a=[n])}}return{options:t,sets:a}}function Iee(i,e={}){try{return $y(i,e)}catch{return null}}function N_(i,e){return i.sets.some(t=>bee(t,e,i.options))}function yWe(i,e){let t=R_(e,i.options);return t?N_(i,t):!1}function Ky(i,e,t={}){let o=Iee(e,t);return o?yWe(o,i):!1}function OWe(i){let{prerelease:e}=i;return e?.length?{major:i.major,minor:i.minor,patch:i.patch,prerelease:[...e,0]}:{major:i.major,minor:i.minor,patch:i.patch+1}}function zy(i,e={}){let t=$y(i,e),o={major:0,minor:0,patch:0};if(N_(t,o))return o;let a={...o,prerelease:[0]};if(N_(t,a))return a;let s=null;for(let n of t.sets){let r=null;for(let c of n){if(!c.version)continue;let u=c.operator===">"?OWe(c.version):c.operator===""||c.operator===">="?structuredClone(c.version):null;u&&(!r||Gc(u,r)>0)&&(r=u)}r&&(!s||Gc(s,r)>0)&&(s=r)}return s&&N_(t,s)?s:null}async function Lee(i){let e=new si({mode:"text",content:"Checking node compatibility",spinner:{enabled:!0}});Be.startReactive(e);let{isSatisfied:t,nodeRange:o}=RWe(i);if(t){e.update({spinner:{enabled:!1},content:`${ft.green("\u2714")} Compatibility checks passed`}),Be.stopReactive();return}let a=zy(o);a&&Wy(process.version,a)&&(Be.stopReactive(!0),Be.displayError("Compatibility checks failed",[" You need to upgrade the version of node you're using.",` You're using ${process.version} and we currently support node ${o}.`,""," Please use tools like nvm or corepack to change to a compatible version.",` See: ${(0,Yl.terminalLink)("How to - Using nvm","https://cedarjs.com/docs/how-to/using-nvm",{fallback:()=>"How to - Using nvm https://cedarjs.com/docs/how-to/using-nvm"})}`,` See: ${(0,Yl.terminalLink)("Tutorial - Prerequisites","https://cedarjs.com/docs/tutorial/chapter1/prerequisites",{fallback:()=>"Tutorial - Prerequisites https://cedarjs.com/docs/tutorial/chapter1/prerequisites"})}`].join(`
538
538
  `)),Ht("Compatibility checks failed"),await Dt(),process.exit(1)),Be.stopReactive(!0),Be.displayWarning("Compatibility checks failed",[" You may want to downgrade the version of node you're using.",` You're using ${process.version} and we currently support node ${o}.`,""," This may make your project incompatible with some deploy targets, especially those using AWS Lambdas.",""," Please use tools like nvm or corepack to change to a compatible version.",` See: ${(0,Yl.terminalLink)("How to - Use nvm","https://cedarjs.com/docs/how-to/using-nvm",{fallback:()=>"How to - Use nvm https://cedarjs.com/docs/how-to/using-nvm"})}`,` See: ${(0,Yl.terminalLink)("Tutorial - Prerequisites","https://cedarjs.com/docs/tutorial/chapter1/prerequisites",{fallback:()=>"Tutorial - Prerequisites https://cedarjs.com/docs/tutorial/chapter1/prerequisites"})}`].join(`
539
539
  `));try{(await Be.prompt({type:"select",name:"override-engine-error",message:"How would you like to proceed?",choices:["Override error and continue install","Quit install"],initial:0}))["override-engine-error"]==="Quit install"&&(Ht("User quit after engine check error"),await Dt(),process.exit(0))}catch{Ht("User cancelled install at engine check error"),await Dt(),process.exit(1)}}function RWe(i){let t=JSON.parse(xWe.readFileSync(PWe.join(i,"package.json"),"utf-8"))?.engines?.node;if(typeof t!="string")throw new Error("Invalid node engine version range in package.json");return{isSatisfied:Ky(process.version,t),nodeRange:t}}function ql(i){return`${i} install`}function Xy(i){return i==="npm"?"npx":i}function wee(i){return i==="npm"?"npx":i+" dlx"}function C_(i){return`${Xy(i)} cedar`}var Vee=fr(jT(),1);import zn from"node:fs";import Ti from"node:path";import Jy from"node:fs";import NWe from"node:path";async function Uee(i,e){let t=ql(e.packageManager),o=C_(e.packageManager),a={"{{PM}}":e.packageManager,"{{PM_INSTALL}}":t,"{{CEDAR_CLI}}":o,"{{DATABASE_URL}}":e.databaseUrl,"{{DIRECT_DATABASE_URL}}":e.directDatabaseUrl,"{{NEON_CLAIM_EXPIRY}}":e.neonClaimExpiry,"{{NEON_CLAIM_URL}}":e.neonClaimUrl},s=["**/*.{json,md,js,ts,mjs,cjs,yml,yaml}","**/.*/**/*.{json,md,js,ts,mjs,cjs,yml,yaml}","**/.env*"];for(let n of s)for await(let r of Jy.promises.glob(n,{cwd:i})){let c=NWe.join(i,r),u=await Jy.promises.readFile(c,"utf-8");for(let[l,p]of Object.entries(a))p!==void 0&&(u=u.replaceAll(l,p));await Jy.promises.writeFile(c,u,"utf-8")}}async function Bee(i,{templateDir:e,templatesDir:t,overwrite:o,packageManager:a,database:s}){let n=i,r=Ti.join(t,"overlays",a),c=new si({mode:"text",content:"Creating project files",spinner:{enabled:!0}});Be.startReactive(c),n=await Qy(n,{overwrite:o}),zn.mkdirSync(Ti.dirname(n),{recursive:!0}),await zn.promises.cp(e,n,{recursive:!0,force:!0}),await zn.promises.cp(r,n,{recursive:!0,force:!0});let u="",l="",p="",f="";if(s==="pglite"){let E=Ti.join(n,"api","prisma.config.cjs");try{await zn.promises.unlink(E)}catch{}let _=Ti.join(t,"..","database-overlays","pglite");await zn.promises.cp(_,n,{recursive:!0,force:!0})}else if(s==="neon-postgres"){let E=Ti.join(t,"..","database-overlays","neon-postgres");await zn.promises.cp(E,n,{recursive:!0,force:!0});try{let _=await fetch("https://neon.new/api/v1/database",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ref:"cedarjs"})});if(!_.ok)throw new Error(`Neon API returned ${_.status} ${_.statusText}`);let d=await _.json();if(!d.connection_string||!d.expires_at||!d.claim_url)throw new Error(`Neon API returned an invalid response
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-cedar-app",
3
- "version": "7.0.0-canary.3021",
3
+ "version": "7.0.0-canary.3022",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/cedarjs/cedar.git",
@@ -25,9 +25,9 @@
25
25
  "ts-to-js": "yarn node ./scripts/tsToJS.js"
26
26
  },
27
27
  "devDependencies": {
28
- "@cedarjs/cli-helpers": "7.0.0-canary.3021",
29
- "@cedarjs/framework-tools": "7.0.0-canary.3021",
30
- "@cedarjs/tui": "7.0.0-canary.3021",
28
+ "@cedarjs/cli-helpers": "7.0.0-canary.3022",
29
+ "@cedarjs/framework-tools": "7.0.0-canary.3022",
30
+ "@cedarjs/tui": "7.0.0-canary.3022",
31
31
  "@opentelemetry/api": "1.9.1",
32
32
  "@opentelemetry/exporter-trace-otlp-http": "0.57.2",
33
33
  "@opentelemetry/resources": "1.30.1",
@@ -4,16 +4,16 @@
4
4
  "version": "0.0.0",
5
5
  "private": true,
6
6
  "dependencies": {
7
- "@cedarjs/api": "7.0.0-canary.3021",
8
- "@cedarjs/graphql-server": "7.0.0-canary.3021",
7
+ "@cedarjs/api": "7.0.0-canary.3022",
8
+ "@cedarjs/graphql-server": "7.0.0-canary.3022",
9
9
  "@prisma/adapter-better-sqlite3": "7.8.0",
10
10
  "@prisma/client": "7.8.0",
11
11
  "better-sqlite3": "12.11.1",
12
- "@cedarjs/context": "7.0.0-canary.3021",
12
+ "@cedarjs/context": "7.0.0-canary.3022",
13
13
  "graphql-tag": "2.12.6"
14
14
  },
15
15
  "devDependencies": {
16
- "@cedarjs/vite": "7.0.0-canary.3021",
16
+ "@cedarjs/vite": "7.0.0-canary.3022",
17
17
  "vitest": "4.1.10"
18
18
  }
19
19
  }
@@ -13,13 +13,13 @@
13
13
  "start:web": "cedarjs-server web"
14
14
  },
15
15
  "dependencies": {
16
- "@cedarjs/api-server": "7.0.0-canary.3021"
16
+ "@cedarjs/api-server": "7.0.0-canary.3022"
17
17
  },
18
18
  "devDependencies": {
19
- "@cedarjs/core": "7.0.0-canary.3021",
20
- "@cedarjs/eslint-config": "7.0.0-canary.3021",
21
- "@cedarjs/project-config": "7.0.0-canary.3021",
22
- "@cedarjs/testing": "7.0.0-canary.3021",
19
+ "@cedarjs/core": "7.0.0-canary.3022",
20
+ "@cedarjs/eslint-config": "7.0.0-canary.3022",
21
+ "@cedarjs/project-config": "7.0.0-canary.3022",
22
+ "@cedarjs/testing": "7.0.0-canary.3022",
23
23
  "vitest": "4.1.10"
24
24
  },
25
25
  "engines": {
@@ -12,17 +12,17 @@
12
12
  ]
13
13
  },
14
14
  "dependencies": {
15
- "@cedarjs/forms": "7.0.0-canary.3021",
16
- "@cedarjs/router": "7.0.0-canary.3021",
17
- "@cedarjs/web": "7.0.0-canary.3021",
15
+ "@cedarjs/forms": "7.0.0-canary.3022",
16
+ "@cedarjs/router": "7.0.0-canary.3022",
17
+ "@cedarjs/web": "7.0.0-canary.3022",
18
18
  "react": "19.2.8",
19
19
  "react-dom": "19.2.8"
20
20
  },
21
21
  "devDependencies": {
22
- "@cedarjs/vite": "7.0.0-canary.3021",
22
+ "@cedarjs/vite": "7.0.0-canary.3022",
23
23
  "@types/react": "^19.2.0",
24
24
  "@types/react-dom": "^19.2.0",
25
- "@cedarjs/testing": "7.0.0-canary.3021",
25
+ "@cedarjs/testing": "7.0.0-canary.3022",
26
26
  "@testing-library/jest-dom": "6.9.1",
27
27
  "@testing-library/react": "16.3.2",
28
28
  "vite": "7.3.6"
@@ -13,13 +13,13 @@
13
13
  "start:web": "cedarjs-server web"
14
14
  },
15
15
  "dependencies": {
16
- "@cedarjs/api-server": "7.0.0-canary.3021"
16
+ "@cedarjs/api-server": "7.0.0-canary.3022"
17
17
  },
18
18
  "devDependencies": {
19
- "@cedarjs/core": "7.0.0-canary.3021",
20
- "@cedarjs/eslint-config": "7.0.0-canary.3021",
21
- "@cedarjs/project-config": "7.0.0-canary.3021",
22
- "@cedarjs/testing": "7.0.0-canary.3021",
19
+ "@cedarjs/core": "7.0.0-canary.3022",
20
+ "@cedarjs/eslint-config": "7.0.0-canary.3022",
21
+ "@cedarjs/project-config": "7.0.0-canary.3022",
22
+ "@cedarjs/testing": "7.0.0-canary.3022",
23
23
  "prisma": "7.8.0",
24
24
  "vitest": "4.1.10"
25
25
  },
@@ -9,13 +9,13 @@
9
9
  "start:web": "cedarjs-server web"
10
10
  },
11
11
  "dependencies": {
12
- "@cedarjs/api-server": "7.0.0-canary.3021"
12
+ "@cedarjs/api-server": "7.0.0-canary.3022"
13
13
  },
14
14
  "devDependencies": {
15
- "@cedarjs/core": "7.0.0-canary.3021",
16
- "@cedarjs/eslint-config": "7.0.0-canary.3021",
17
- "@cedarjs/project-config": "7.0.0-canary.3021",
18
- "@cedarjs/testing": "7.0.0-canary.3021",
15
+ "@cedarjs/core": "7.0.0-canary.3022",
16
+ "@cedarjs/eslint-config": "7.0.0-canary.3022",
17
+ "@cedarjs/project-config": "7.0.0-canary.3022",
18
+ "@cedarjs/testing": "7.0.0-canary.3022",
19
19
  "prisma": "7.8.0",
20
20
  "vitest": "4.1.10"
21
21
  },
@@ -13,13 +13,13 @@
13
13
  "start:web": "cedarjs-server web"
14
14
  },
15
15
  "dependencies": {
16
- "@cedarjs/api-server": "7.0.0-canary.3021"
16
+ "@cedarjs/api-server": "7.0.0-canary.3022"
17
17
  },
18
18
  "devDependencies": {
19
- "@cedarjs/core": "7.0.0-canary.3021",
20
- "@cedarjs/eslint-config": "7.0.0-canary.3021",
21
- "@cedarjs/project-config": "7.0.0-canary.3021",
22
- "@cedarjs/testing": "7.0.0-canary.3021",
19
+ "@cedarjs/core": "7.0.0-canary.3022",
20
+ "@cedarjs/eslint-config": "7.0.0-canary.3022",
21
+ "@cedarjs/project-config": "7.0.0-canary.3022",
22
+ "@cedarjs/testing": "7.0.0-canary.3022",
23
23
  "prisma": "7.8.0",
24
24
  "vitest": "4.1.10"
25
25
  },
@@ -4,16 +4,16 @@
4
4
  "version": "0.0.0",
5
5
  "private": true,
6
6
  "dependencies": {
7
- "@cedarjs/api": "7.0.0-canary.3021",
8
- "@cedarjs/graphql-server": "7.0.0-canary.3021",
7
+ "@cedarjs/api": "7.0.0-canary.3022",
8
+ "@cedarjs/graphql-server": "7.0.0-canary.3022",
9
9
  "@prisma/adapter-better-sqlite3": "7.8.0",
10
10
  "@prisma/client": "7.8.0",
11
11
  "better-sqlite3": "12.11.1",
12
- "@cedarjs/context": "7.0.0-canary.3021",
12
+ "@cedarjs/context": "7.0.0-canary.3022",
13
13
  "graphql-tag": "2.12.6"
14
14
  },
15
15
  "devDependencies": {
16
- "@cedarjs/vite": "7.0.0-canary.3021",
16
+ "@cedarjs/vite": "7.0.0-canary.3022",
17
17
  "vitest": "4.1.10"
18
18
  }
19
19
  }
@@ -13,13 +13,13 @@
13
13
  "start:web": "cedarjs-server web"
14
14
  },
15
15
  "dependencies": {
16
- "@cedarjs/api-server": "7.0.0-canary.3021"
16
+ "@cedarjs/api-server": "7.0.0-canary.3022"
17
17
  },
18
18
  "devDependencies": {
19
- "@cedarjs/core": "7.0.0-canary.3021",
20
- "@cedarjs/eslint-config": "7.0.0-canary.3021",
21
- "@cedarjs/project-config": "7.0.0-canary.3021",
22
- "@cedarjs/testing": "7.0.0-canary.3021",
19
+ "@cedarjs/core": "7.0.0-canary.3022",
20
+ "@cedarjs/eslint-config": "7.0.0-canary.3022",
21
+ "@cedarjs/project-config": "7.0.0-canary.3022",
22
+ "@cedarjs/testing": "7.0.0-canary.3022",
23
23
  "vitest": "4.1.10"
24
24
  },
25
25
  "engines": {
@@ -12,17 +12,17 @@
12
12
  ]
13
13
  },
14
14
  "dependencies": {
15
- "@cedarjs/forms": "7.0.0-canary.3021",
16
- "@cedarjs/router": "7.0.0-canary.3021",
17
- "@cedarjs/web": "7.0.0-canary.3021",
15
+ "@cedarjs/forms": "7.0.0-canary.3022",
16
+ "@cedarjs/router": "7.0.0-canary.3022",
17
+ "@cedarjs/web": "7.0.0-canary.3022",
18
18
  "react": "19.2.8",
19
19
  "react-dom": "19.2.8"
20
20
  },
21
21
  "devDependencies": {
22
- "@cedarjs/vite": "7.0.0-canary.3021",
22
+ "@cedarjs/vite": "7.0.0-canary.3022",
23
23
  "@types/react": "^19.2.0",
24
24
  "@types/react-dom": "^19.2.0",
25
- "@cedarjs/testing": "7.0.0-canary.3021",
25
+ "@cedarjs/testing": "7.0.0-canary.3022",
26
26
  "@testing-library/jest-dom": "6.9.1",
27
27
  "@testing-library/react": "16.3.2",
28
28
  "vite": "7.3.6"