create-vitnode-app 0.0.9-canary.34 → 0.0.9-canary.36
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/dist/index.cjs +2 -2
- package/package.json +2 -2
- package/templates/basic/.gitignore_template +0 -8
- package/templates/basic/apps/backend/drizzle.config.ts +1 -2
- package/templates/basic/apps/backend/src/app.module.ts +4 -7
- package/templates/basic/apps/backend/src/database/database.module.ts +1 -1
- package/templates/basic/apps/backend/src/plugins/plugins.module.ts +1 -1
- package/templates/basic/apps/backend/src/plugins/welcome/config.json +1 -1
- /package/templates/basic/apps/frontend/{i18n.ts → src/i18n.ts} +0 -0
- /package/templates/basic/apps/frontend/{middleware.ts → src/middleware.ts} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -24,14 +24,14 @@ Expecting one of '${i.join("', '")}'`);let r=`${t}Help`;return this.on(r,u=>{let
|
|
|
24
24
|
`),process.exit(1))},Pt=async e=>{let t=e.opts(),n={packageManager:t.packageManager,eslint:t.eslint,install:!t.skipInstall,docker:t.docker};if(!t.packageManager){let i=await It(),r=Z.default.blue("package manager"),{packageManager:u}=await(0,Q.default)({onState:j,name:"packageManager",type:"select",message:`Which ${r} do you want to use?`,initial:t.packageManager,choices:[{title:`npm${i.npm?`@${i.npm}`:""}`,value:"npm",disabled:!i.npm},{title:`pnpm${i.pnpm?`@${i.pnpm}`:""}`,value:"pnpm",disabled:!i.pnpm}]});n={...n,packageManager:`${u}@${i[u]}`}}if(t.eslint===void 0){let i=Z.default.blue("ESLint"),{eslint:r}=await(0,Q.default)({onState:j,type:"toggle",name:"eslint",message:`Would you like to use ${i}?`,initial:t.eslint?"Yes":"No",active:"Yes",inactive:"No"});n={...n,eslint:!!r}}if(t.docker===void 0){let i=Z.default.blue("Dockerfile & Docker Compose"),{docker:r}=await(0,Q.default)({onState:j,type:"toggle",name:"docker",message:`Would you like to create ${i}?`,initial:t.i18nRouting?"Yes":"No",active:"Yes",inactive:"No"});n={...n,docker:!!r}}if(t.skipInstall===void 0){let i=Z.default.blue("Install dependencies"),{install:r}=await(0,Q.default)({onState:j,type:"toggle",name:"install",message:`Would you like to ${i}?`,initial:t.eslint?"Yes":"No",active:"Yes",inactive:"No"});n={...n,install:!!r}}return n};var ce=require("fs"),Rt=require("path"),je=m(require("picocolors"),1);function he(e,t){let n=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"],i=(0,ce.readdirSync)(e).filter(r=>!n.includes(r)&&!r.endsWith(".iml"));if(i.length>0){console.log(`The directory ${je.default.green(t)} contains files that could conflict:
|
|
25
25
|
`);for(let r of i)try{(0,ce.lstatSync)((0,Rt.join)(e,r)).isDirectory()?console.log(`${je.default.blue(r)}/`):console.log(r)}catch{console.log(r)}return console.log(`
|
|
26
26
|
Either try using a new directory name, or remove the files listed above.
|
|
27
|
-
`),!1}return!0}var Mt=require("constants"),Vt=require("fs/promises");async function jt(e){try{return await(0,Vt.access)(e,Mt.W_OK),!0}catch{return!1}}var Ht=m(require("validate-npm-package-name"),1),He=({name:e})=>{let t=(0,Ht.default)(e);return t.validForNewPackages?{valid:!0}:{valid:!1,problems:[...t.errors??[],...t.warnings??[]]}};var qt={name:"create-vitnode-app",version:"0.0.9-canary.
|
|
27
|
+
`),!1}return!0}var Mt=require("constants"),Vt=require("fs/promises");async function jt(e){try{return await(0,Vt.access)(e,Mt.W_OK),!0}catch{return!1}}var Ht=m(require("validate-npm-package-name"),1),He=({name:e})=>{let t=(0,Ht.default)(e);return t.validForNewPackages?{valid:!0}:{valid:!1,problems:[...t.errors??[],...t.warnings??[]]}};var qt={name:"create-vitnode-app",version:"0.0.9-canary.35",description:"Create a new VitNode app in seconds.",author:"VitNode Team",license:"MIT",homepage:"https://vitnode.com",repository:{type:"git",url:"git+https://github.com/VitNode/vitnode.git",directory:"packages/create-vitnode-app"},type:"module",bin:{"create-vitnode-app":"dist/index.cjs"},scripts:{lint:"eslint .","lint:fix":"eslint . --fix","build:scripts":"tsup index.ts","dev:script":"tsup index.ts --watch","start:script":"node dist/index.cjs"},keywords:["vitnode","react","next","nest","nextjs","nestjs","typescript","next.js","nest.js"],dependencies:{figlet:"^1.7.0",picocolors:"^1.0.1",prompts:"^2.4.2","validate-npm-package-name":"^5.0.1"},devDependencies:{"@types/cross-spawn":"^6.0.6","@types/figlet":"^1.5.8","@types/node":"^22.5.0","@types/prompts":"^2.4.9","@types/validate-npm-package-name":"^4.0.2",commander:"^12.1.0","cross-spawn":"^7.0.3","eslint-config-typescript-vitnode":"workspace:*",ora:"^8.0.1",tsup:"^8.2.4",typescript:"^5.5.4"}};var _=require("fs"),v=require("path"),_i=require("crypto"),Ai=m(require("figlet"),1);var ue=m(require("process"),1);var Wt=(e=0)=>t=>`\x1B[${t+e}m`,Gt=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,Lt=(e=0)=>(t,n,i)=>`\x1B[${38+e};2;${t};${n};${i}m`,F={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]}},bu=Object.keys(F.modifier),Ji=Object.keys(F.color),Ki=Object.keys(F.bgColor),xu=[...Ji,...Ki];function Xi(){let e=new Map;for(let[t,n]of Object.entries(F)){for(let[i,r]of Object.entries(n))F[i]={open:`\x1B[${r[0]}m`,close:`\x1B[${r[1]}m`},n[i]=F[i],e.set(r[0],r[1]);Object.defineProperty(F,t,{value:n,enumerable:!1})}return Object.defineProperty(F,"codes",{value:e,enumerable:!1}),F.color.close="\x1B[39m",F.bgColor.close="\x1B[49m",F.color.ansi=Wt(),F.color.ansi256=Gt(),F.color.ansi16m=Lt(),F.bgColor.ansi=Wt(10),F.bgColor.ansi256=Gt(10),F.bgColor.ansi16m=Lt(10),Object.defineProperties(F,{rgbToAnsi256:{value(t,n,i){return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},enumerable:!1},hexToRgb:{value(t){let n=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!n)return[0,0,0];let[i]=n;i.length===3&&(i=[...i].map(u=>u+u).join(""));let r=Number.parseInt(i,16);return[r>>16&255,r>>8&255,r&255]},enumerable:!1},hexToAnsi256:{value:t=>F.rgbToAnsi256(...F.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let n,i,r;if(t>=232)n=((t-232)*10+8)/255,i=n,r=n;else{t-=16;let o=t%36;n=Math.floor(t/36)/5,i=Math.floor(o/6)/5,r=o%6/5}let u=Math.max(n,i,r)*2;if(u===0)return 30;let s=30+(Math.round(r)<<2|Math.round(i)<<1|Math.round(n));return u===2&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(t,n,i)=>F.ansi256ToAnsi(F.rgbToAnsi256(t,n,i)),enumerable:!1},hexToAnsi:{value:t=>F.ansi256ToAnsi(F.hexToAnsi256(t)),enumerable:!1}}),F}var Zi=Xi(),w=Zi;var pe=m(require("process"),1),Yt=m(require("os"),1),qe=m(require("tty"),1);function y(e,t=globalThis.Deno?globalThis.Deno.args:pe.default.argv){let n=e.startsWith("-")?"":e.length===1?"-":"--",i=t.indexOf(n+e),r=t.indexOf("--");return i!==-1&&(r===-1||i<r)}var{env:g}=pe.default,fe;y("no-color")||y("no-colors")||y("color=false")||y("color=never")?fe=0:(y("color")||y("colors")||y("color=true")||y("color=always"))&&(fe=1);function Qi(){if("FORCE_COLOR"in g)return g.FORCE_COLOR==="true"?1:g.FORCE_COLOR==="false"?0:g.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(g.FORCE_COLOR,10),3)}function er(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function tr(e,{streamIsTTY:t,sniffFlags:n=!0}={}){let i=Qi();i!==void 0&&(fe=i);let r=n?fe:i;if(r===0)return 0;if(n){if(y("color=16m")||y("color=full")||y("color=truecolor"))return 3;if(y("color=256"))return 2}if("TF_BUILD"in g&&"AGENT_NAME"in g)return 1;if(e&&!t&&r===void 0)return 0;let u=r||0;if(g.TERM==="dumb")return u;if(pe.default.platform==="win32"){let s=Yt.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in g)return"GITHUB_ACTIONS"in g||"GITEA_ACTIONS"in g?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in g)||g.CI_NAME==="codeship"?1:u;if("TEAMCITY_VERSION"in g)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(g.TEAMCITY_VERSION)?1:0;if(g.COLORTERM==="truecolor"||g.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in g){let s=Number.parseInt((g.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(g.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(g.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(g.TERM)||"COLORTERM"in g?1:u}function Ut(e,t={}){let n=tr(e,{streamIsTTY:e&&e.isTTY,...t});return er(n)}var nr={stdout:Ut({isTTY:qe.default.isatty(1)}),stderr:Ut({isTTY:qe.default.isatty(2)})},zt=nr;function Jt(e,t,n){let i=e.indexOf(t);if(i===-1)return e;let r=t.length,u=0,s="";do s+=e.slice(u,i)+t+n,u=i+r,i=e.indexOf(t,u);while(i!==-1);return s+=e.slice(u),s}function Kt(e,t,n,i){let r=0,u="";do{let s=e[i-1]==="\r";u+=e.slice(r,s?i-1:i)+t+(s?`\r
|
|
28
28
|
`:`
|
|
29
29
|
`)+n,r=i+1,i=e.indexOf(`
|
|
30
30
|
`,r)}while(i!==-1);return u+=e.slice(r),u}var{stdout:Xt,stderr:Zt}=zt,We=Symbol("GENERATOR"),H=Symbol("STYLER"),ee=Symbol("IS_EMPTY"),Qt=["ansi","ansi","ansi256","ansi16m"],q=Object.create(null),ir=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let n=Xt?Xt.level:0;e.level=t.level===void 0?n:t.level};var rr=e=>{let t=(...n)=>n.join(" ");return ir(t,e),Object.setPrototypeOf(t,te.prototype),t};function te(e){return rr(e)}Object.setPrototypeOf(te.prototype,Function.prototype);for(let[e,t]of Object.entries(w))q[e]={get(){let n=me(this,Le(t.open,t.close,this[H]),this[ee]);return Object.defineProperty(this,e,{value:n}),n}};q.visible={get(){let e=me(this,this[H],!0);return Object.defineProperty(this,"visible",{value:e}),e}};var Ge=(e,t,n,...i)=>e==="rgb"?t==="ansi16m"?w[n].ansi16m(...i):t==="ansi256"?w[n].ansi256(w.rgbToAnsi256(...i)):w[n].ansi(w.rgbToAnsi(...i)):e==="hex"?Ge("rgb",t,n,...w.hexToRgb(...i)):w[n][e](...i),ur=["rgb","hex","ansi256"];for(let e of ur){q[e]={get(){let{level:n}=this;return function(...i){let r=Le(Ge(e,Qt[n],"color",...i),w.color.close,this[H]);return me(this,r,this[ee])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);q[t]={get(){let{level:n}=this;return function(...i){let r=Le(Ge(e,Qt[n],"bgColor",...i),w.bgColor.close,this[H]);return me(this,r,this[ee])}}}}var sr=Object.defineProperties(()=>{},{...q,level:{enumerable:!0,get(){return this[We].level},set(e){this[We].level=e}}}),Le=(e,t,n)=>{let i,r;return n===void 0?(i=e,r=t):(i=n.openAll+e,r=t+n.closeAll),{open:e,close:t,openAll:i,closeAll:r,parent:n}},me=(e,t,n)=>{let i=(...r)=>or(i,r.length===1?""+r[0]:r.join(" "));return Object.setPrototypeOf(i,sr),i[We]=e,i[H]=t,i[ee]=n,i},or=(e,t)=>{if(e.level<=0||!t)return e[ee]?"":t;let n=e[H];if(n===void 0)return t;let{openAll:i,closeAll:r}=n;if(t.includes("\x1B"))for(;n!==void 0;)t=Jt(t,n.close,n.open),n=n.parent;let u=t.indexOf(`
|
|
31
31
|
`);return u!==-1&&(t=Kt(t,r,i,u)),i+t+r};Object.defineProperties(te.prototype,q);var ar=te(),$u=te({level:Zt?Zt.level:0});var S=ar;var Je=m(require("process"),1);var cn=m(require("process"),1),hn=m(rn(),1),fn=m(ln(),1),lr=(0,hn.default)(()=>{(0,fn.default)(()=>{cn.default.stderr.write("\x1B[?25h")},{alwaysLast:!0})}),pn=lr;var Ae=!1,U={};U.show=(e=Je.default.stderr)=>{e.isTTY&&(Ae=!1,e.write("\x1B[?25h"))};U.hide=(e=Je.default.stderr)=>{e.isTTY&&(pn(),Ae=!0,e.write("\x1B[?25l"))};U.toggle=(e,t)=>{e!==void 0&&(Ae=e),Ae?U.show(t):U.hide(t)};var Ke=U;var se=m(Xe(),1);var O=m(require("process"),1);function Ze(){return O.default.platform!=="win32"?O.default.env.TERM!=="linux":!!O.default.env.CI||!!O.default.env.WT_SESSION||!!O.default.env.TERMINUS_SUBLIME||O.default.env.ConEmuTask==="{cmd::Cmder}"||O.default.env.TERM_PROGRAM==="Terminus-Sublime"||O.default.env.TERM_PROGRAM==="vscode"||O.default.env.TERM==="xterm-256color"||O.default.env.TERM==="alacritty"||O.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var hr={info:S.blue("\u2139"),success:S.green("\u2714"),warning:S.yellow("\u26A0"),error:S.red("\u2716")},fr={info:S.blue("i"),success:S.green("\u221A"),warning:S.yellow("\u203C"),error:S.red("\xD7")},pr=Ze()?hr:fr,ie=pr;function Qe({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}var mr=Qe();function re(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(mr,"")}function gn(e){return e===161||e===164||e===167||e===168||e===170||e===173||e===174||e>=176&&e<=180||e>=182&&e<=186||e>=188&&e<=191||e===198||e===208||e===215||e===216||e>=222&&e<=225||e===230||e>=232&&e<=234||e===236||e===237||e===240||e===242||e===243||e>=247&&e<=250||e===252||e===254||e===257||e===273||e===275||e===283||e===294||e===295||e===299||e>=305&&e<=307||e===312||e>=319&&e<=322||e===324||e>=328&&e<=331||e===333||e===338||e===339||e===358||e===359||e===363||e===462||e===464||e===466||e===468||e===470||e===472||e===474||e===476||e===593||e===609||e===708||e===711||e>=713&&e<=715||e===717||e===720||e>=728&&e<=731||e===733||e===735||e>=768&&e<=879||e>=913&&e<=929||e>=931&&e<=937||e>=945&&e<=961||e>=963&&e<=969||e===1025||e>=1040&&e<=1103||e===1105||e===8208||e>=8211&&e<=8214||e===8216||e===8217||e===8220||e===8221||e>=8224&&e<=8226||e>=8228&&e<=8231||e===8240||e===8242||e===8243||e===8245||e===8251||e===8254||e===8308||e===8319||e>=8321&&e<=8324||e===8364||e===8451||e===8453||e===8457||e===8467||e===8470||e===8481||e===8482||e===8486||e===8491||e===8531||e===8532||e>=8539&&e<=8542||e>=8544&&e<=8555||e>=8560&&e<=8569||e===8585||e>=8592&&e<=8601||e===8632||e===8633||e===8658||e===8660||e===8679||e===8704||e===8706||e===8707||e===8711||e===8712||e===8715||e===8719||e===8721||e===8725||e===8730||e>=8733&&e<=8736||e===8739||e===8741||e>=8743&&e<=8748||e===8750||e>=8756&&e<=8759||e===8764||e===8765||e===8776||e===8780||e===8786||e===8800||e===8801||e>=8804&&e<=8807||e===8810||e===8811||e===8814||e===8815||e===8834||e===8835||e===8838||e===8839||e===8853||e===8857||e===8869||e===8895||e===8978||e>=9312&&e<=9449||e>=9451&&e<=9547||e>=9552&&e<=9587||e>=9600&&e<=9615||e>=9618&&e<=9621||e===9632||e===9633||e>=9635&&e<=9641||e===9650||e===9651||e===9654||e===9655||e===9660||e===9661||e===9664||e===9665||e>=9670&&e<=9672||e===9675||e>=9678&&e<=9681||e>=9698&&e<=9701||e===9711||e===9733||e===9734||e===9737||e===9742||e===9743||e===9756||e===9758||e===9792||e===9794||e===9824||e===9825||e>=9827&&e<=9829||e>=9831&&e<=9834||e===9836||e===9837||e===9839||e===9886||e===9887||e===9919||e>=9926&&e<=9933||e>=9935&&e<=9939||e>=9941&&e<=9953||e===9955||e===9960||e===9961||e>=9963&&e<=9969||e===9972||e>=9974&&e<=9977||e===9979||e===9980||e===9982||e===9983||e===10045||e>=10102&&e<=10111||e>=11094&&e<=11097||e>=12872&&e<=12879||e>=57344&&e<=63743||e>=65024&&e<=65039||e===65533||e>=127232&&e<=127242||e>=127248&&e<=127277||e>=127280&&e<=127337||e>=127344&&e<=127373||e===127375||e===127376||e>=127387&&e<=127404||e>=917760&&e<=917999||e>=983040&&e<=1048573||e>=1048576&&e<=1114109}function Cn(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function En(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Fr(e){if(!Number.isSafeInteger(e))throw new TypeError(`Expected a code point, got \`${typeof e}\`.`)}function _n(e,{ambiguousAsWide:t=!1}={}){return Fr(e),Cn(e)||En(e)||t&&gn(e)?2:1}var An=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;var dr=new Intl.Segmenter,gr=/^\p{Default_Ignorable_Code_Point}$/u;function et(e,t={}){if(typeof e!="string"||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:i=!1}=t;if(i||(e=re(e)),e.length===0)return 0;let r=0,u={ambiguousAsWide:!n};for(let{segment:s}of dr.segment(e)){let o=s.codePointAt(0);if(!(o<=31||o>=127&&o<=159)&&!(o>=8203&&o<=8207||o===65279)&&!(o>=768&&o<=879||o>=6832&&o<=6911||o>=7616&&o<=7679||o>=8400&&o<=8447||o>=65056&&o<=65071)&&!(o>=55296&&o<=57343)&&!(o>=65024&&o<=65039)&&!gr.test(s)){if(An().test(s)){r+=2;continue}r+=_n(o,u)}}return r}function tt({stream:e=process.stdout}={}){return!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var T=m(require("process"),1);function nt(){return T.default.platform!=="win32"?T.default.env.TERM!=="linux":!!T.default.env.WT_SESSION||!!T.default.env.TERMINUS_SUBLIME||T.default.env.ConEmuTask==="{cmd::Cmder}"||T.default.env.TERM_PROGRAM==="Terminus-Sublime"||T.default.env.TERM_PROGRAM==="vscode"||T.default.env.TERM==="xterm-256color"||T.default.env.TERM==="alacritty"||T.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var k=m(require("process"),1),Cr=3,it=class{#n=0;start(){this.#n++,this.#n===1&&this.#c()}stop(){if(this.#n<=0)throw new Error("`stop` called more times than `start`");this.#n--,this.#n===0&&this.#l()}#c(){k.default.platform==="win32"||!k.default.stdin.isTTY||(k.default.stdin.setRawMode(!0),k.default.stdin.on("data",this.#i),k.default.stdin.resume())}#l(){k.default.stdin.isTTY&&(k.default.stdin.off("data",this.#i),k.default.stdin.pause(),k.default.stdin.setRawMode(!1))}#i(t){t[0]===Cr&&k.default.emit("SIGINT")}},Er=new it,rt=Er;var _r=m(Xe(),1),ut=class{#n=0;#c=!1;#l=0;#i=0;#e;#s;#t;#h;#p;#o;#a;#D;#m;#r;#u;color;constructor(t){typeof t=="string"&&(t={text:t}),this.#e={color:"cyan",stream:ue.default.stderr,discardStdin:!0,hideCursor:!0,...t},this.color=this.#e.color,this.spinner=this.#e.spinner,this.#p=this.#e.interval,this.#t=this.#e.stream,this.#o=typeof this.#e.isEnabled=="boolean"?this.#e.isEnabled:tt({stream:this.#t}),this.#a=typeof this.#e.isSilent=="boolean"?this.#e.isSilent:!1,this.text=this.#e.text,this.prefixText=this.#e.prefixText,this.suffixText=this.#e.suffixText,this.indent=this.#e.indent,ue.default.env.NODE_ENV==="test"&&(this._stream=this.#t,this._isEnabled=this.#o,Object.defineProperty(this,"_linesToClear",{get(){return this.#n},set(n){this.#n=n}}),Object.defineProperty(this,"_frameIndex",{get(){return this.#i}}),Object.defineProperty(this,"_lineCount",{get(){return this.#l}}))}get indent(){return this.#D}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this.#D=t,this.#f()}get interval(){return this.#p??this.#s.interval??100}get spinner(){return this.#s}set spinner(t){if(this.#i=0,this.#p=void 0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this.#s=t}else if(!nt())this.#s=se.default.line;else if(t===void 0)this.#s=se.default.dots;else if(t!=="default"&&se.default[t])this.#s=se.default[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return this.#m}set text(t=""){this.#m=t,this.#f()}get prefixText(){return this.#r}set prefixText(t=""){this.#r=t,this.#f()}get suffixText(){return this.#u}set suffixText(t=""){this.#u=t,this.#f()}get isSpinning(){return this.#h!==void 0}#F(t=this.#r,n=" "){return typeof t=="string"&&t!==""?t+n:typeof t=="function"?t()+n:""}#d(t=this.#u,n=" "){return typeof t=="string"&&t!==""?n+t:typeof t=="function"?n+t():""}#f(){let t=this.#t.columns??80,n=this.#F(this.#r,"-"),i=this.#d(this.#u,"-"),r=" ".repeat(this.#D)+n+"--"+this.#m+"--"+i;this.#l=0;for(let u of re(r).split(`
|
|
32
32
|
`))this.#l+=Math.max(1,Math.ceil(et(u,{countAnsiEscapeCodes:!0})/t))}get isEnabled(){return this.#o&&!this.#a}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this.#o=t}get isSilent(){return this.#a}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this.#a=t}frame(){let{frames:t}=this.#s,n=t[this.#i];this.color&&(n=S[this.color](n)),this.#i=++this.#i%t.length;let i=typeof this.#r=="string"&&this.#r!==""?this.#r+" ":"",r=typeof this.text=="string"?" "+this.text:"",u=typeof this.#u=="string"&&this.#u!==""?" "+this.#u:"";return i+n+r+u}clear(){if(!this.#o||!this.#t.isTTY)return this;this.#t.cursorTo(0);for(let t=0;t<this.#n;t++)t>0&&this.#t.moveCursor(0,-1),this.#t.clearLine(1);return(this.#D||this.lastIndent!==this.#D)&&this.#t.cursorTo(this.#D),this.lastIndent=this.#D,this.#n=0,this}render(){return this.#a?this:(this.clear(),this.#t.write(this.frame()),this.#n=this.#l,this)}start(t){return t&&(this.text=t),this.#a?this:this.#o?this.isSpinning?this:(this.#e.hideCursor&&Ke.hide(this.#t),this.#e.discardStdin&&ue.default.stdin.isTTY&&(this.#c=!0,rt.start()),this.render(),this.#h=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.#t.write(`- ${this.text}
|
|
33
33
|
`),this)}stop(){return this.#o?(clearInterval(this.#h),this.#h=void 0,this.#i=0,this.clear(),this.#e.hideCursor&&Ke.show(this.#t),this.#e.discardStdin&&ue.default.stdin.isTTY&&this.#c&&(rt.stop(),this.#c=!1),this):this}succeed(t){return this.stopAndPersist({symbol:ie.success,text:t})}fail(t){return this.stopAndPersist({symbol:ie.error,text:t})}warn(t){return this.stopAndPersist({symbol:ie.warning,text:t})}info(t){return this.stopAndPersist({symbol:ie.info,text:t})}stopAndPersist(t={}){if(this.#a)return this;let n=t.prefixText??this.#r,i=this.#F(n," "),r=t.symbol??" ",u=t.text??this.text,s=typeof u=="string"?" "+u:"",o=t.suffixText??this.#u,a=this.#d(o," "),D=i+r+s+a+`
|
|
34
|
-
`;return this.stop(),this.#t.write(D),this}};function st(e){return new ut(e)}var b=m(require("picocolors"),1);var Y=require("fs"),oe=require("path"),Bn=({appName:e,root:t,packageManager:n,docker:i,eslint:r})=>{let u=JSON.parse((0,Y.readFileSync)((0,oe.join)(__dirname,"..","package.json"),"utf-8")),s={name:e,version:"1.0.0",private:!0,scripts:{"config:init":"turbo config:init",dev:"turbo dev",build:"turbo build",start:"turbo start",codegen:"turbo codegen",db:"turbo db",...r?{lint:"turbo lint","lint:fix":"turbo lint:fix"}:{},...i?{"docker:dev":`docker compose -f ./docker-compose-dev.yml -p vitnode-dev-${e} up -d`}:{}},overrides:n.startsWith("npm")?{react:"^19.0.0-rc.0","react-dom":"^19.0.0-rc.0"}:{},devDependencies:{...r?{prettier:"^3.3.3","prettier-plugin-tailwindcss":"^0.6.5"}:{},"eslint-config-typescript-vitnode":`^${u.version}`,turbo:"^2.0.10",typescript:"^5.4.5"},packageManager:n,workspaces:["apps/*"]};(0,Y.writeFileSync)((0,oe.join)(t,"package.json"),JSON.stringify(s,null,2));let o={name:"frontend",version:"1.0.0",private:!0,scripts:{"config:init":"vitnode-frontend init",dev:"vitnode-frontend init && next dev --turbo",build:"next build",start:"next start",lint:"eslint .","lint:fix":"eslint . --fix"},dependencies:{geist:"^1.3.1","lucide-react":"^0.435.0",next:"
|
|
34
|
+
`;return this.stop(),this.#t.write(D),this}};function st(e){return new ut(e)}var b=m(require("picocolors"),1);var Y=require("fs"),oe=require("path"),Bn=({appName:e,root:t,packageManager:n,docker:i,eslint:r})=>{let u=JSON.parse((0,Y.readFileSync)((0,oe.join)(__dirname,"..","package.json"),"utf-8")),s={name:e,version:"1.0.0",private:!0,scripts:{"config:init":"turbo config:init",dev:"turbo dev",build:"turbo build",start:"turbo start",codegen:"turbo codegen",db:"turbo db",...r?{lint:"turbo lint","lint:fix":"turbo lint:fix"}:{},...i?{"docker:dev":`docker compose -f ./docker-compose-dev.yml -p vitnode-dev-${e} up -d`}:{}},overrides:n.startsWith("npm")?{react:"^19.0.0-rc.0","react-dom":"^19.0.0-rc.0"}:{},devDependencies:{...r?{prettier:"^3.3.3","prettier-plugin-tailwindcss":"^0.6.5"}:{},"eslint-config-typescript-vitnode":`^${u.version}`,turbo:"^2.0.10",typescript:"^5.4.5"},packageManager:n,workspaces:["apps/*"]};(0,Y.writeFileSync)((0,oe.join)(t,"package.json"),JSON.stringify(s,null,2));let o={name:"frontend",version:"1.0.0",private:!0,scripts:{"config:init":"vitnode-frontend init",dev:"vitnode-frontend init && next dev --turbo",build:"next build",start:"next start",lint:"eslint .","lint:fix":"eslint . --fix"},dependencies:{geist:"^1.3.1","lucide-react":"^0.435.0",next:"15.0.0-canary.110",react:"^19.0.0-rc.0","react-dom":"^19.0.0-rc.0","next-intl":"^3.17.6","react-hook-form":"^7.52.1","@hookform/resolvers":"^3.9.0","vitnode-frontend":`^${u.version}`},devDependencies:{"@types/node":"^22.5.0","@types/react":"^18.3.4","@types/react-dom":"^18.3.0",autoprefixer:"^10.4.20","graphql-tag":"^2.12.6",...r?{eslint:"^8.57.0"}:{},"eslint-config-typescript-vitnode":`^${u.version}`,postcss:"^8.4.41",tailwindcss:"^3.4.10",typescript:"^5.5.4"}};(0,Y.writeFileSync)((0,oe.join)(t,"apps","frontend","package.json"),JSON.stringify(o,null,2));let a={name:"backend",version:"1.0.0",private:!0,scripts:{"drizzle-kit":"drizzle-kit","config:init":"vitnode-backend init",codegen:"graphql-codegen",dev:"vitnode-backend init && cross-env NODE_ENV=development nest start -w",build:"nest build",start:"node dist/main",lint:"eslint .","lint:fix":"eslint . --fix",db:"vitnode-backend db"},dependencies:{"@nestjs/common":"^10.4.1","@nestjs/core":"^10.4.1","@nestjs/graphql":"^12.2.0","@react-email/components":"^0.0.23","class-transformer":"^0.5.1","class-validator":"^0.14.1",react:"^19.0.0-rc.0","react-dom":"^19.0.0-rc.0","reflect-metadata":"^0.2.2","vitnode-backend":`^${u.version}`},devDependencies:{"@graphql-codegen/cli":"^5.0.2","@nestjs/cli":"^10.4.4","@nestjs/platform-express":"^10.4.1","@nestjs/schematics":"^10.1.4","@types/express":"^4.17.21","@types/node":"^22.5.0","@types/pg":"^8.11.6","@types/react":"^18.3.4","cross-env":"^7.0.3","drizzle-kit":"^0.24.1","drizzle-orm":"^0.33.0",...r?{eslint:"^8.57.0"}:{},"eslint-config-typescript-vitnode":`^${u.version}`,pg:"^8.12.0","source-map-support":"^0.5.21","ts-loader":"^9.5.1","ts-node":"^10.9.2","tsconfig-paths":"^4.2.0",typescript:"^5.5.4"}};(0,Y.writeFileSync)((0,oe.join)(t,"apps","backend","package.json"),JSON.stringify(a,null,2))};var mi=m(ci(),1),Fi=m(require("picocolors"),1);var hi=require("child_process"),Ft=require("dns/promises"),fi=m(require("url"),1);function zr(){if(process.env.https_proxy)return process.env.https_proxy;try{let e=(0,hi.execSync)("npm config get https-proxy").toString().trim();return e!=="null"?e:void 0}catch{return}}async function pi(){try{return await(0,Ft.lookup)("registry.yarnpkg.com"),!0}catch{let e=zr();if(!e)return!1;let{hostname:t}=fi.default.parse(e);if(!t)return!1;try{return await(0,Ft.lookup)(t),!0}catch{return!1}}}var di=async({packageManager:e})=>{let t=e.split("@")[0],n=await pi(),i=t==="npm"?["install","--force"]:["install"];return n||(console.log(Fi.default.yellow(`You appear to be offline.
|
|
35
35
|
Falling back to the local cache.`)),i.push("--offline")),new Promise((r,u)=>{(0,mi.default)(t,i,{stdio:"ignore",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}}).on("close",o=>{if(o!==0){u({command:`${t} ${i.join(" ")}`});return}r()})})};var R=require("child_process"),gi=require("fs"),Ci=require("path");function Jr(){try{return(0,R.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"}),!0}catch{}return!1}function Kr(){try{return(0,R.execSync)("hg --cwd . root",{stdio:"ignore"}),!0}catch{}return!1}function Xr(){try{return(0,R.execSync)("git config init.defaultBranch",{stdio:"ignore"}),!0}catch{}return!1}function Ei(e){let t=!1;try{return(0,R.execSync)("git --version",{stdio:"ignore"}),Jr()||Kr()?!1:((0,R.execSync)("git init",{stdio:"ignore"}),t=!0,Xr()||(0,R.execSync)("git checkout -b main",{stdio:"ignore"}),(0,R.execSync)("git add -A",{stdio:"ignore"}),(0,R.execSync)('git commit -m "Initial commit from Create VitNode App"',{stdio:"ignore"}),!0)}catch{if(t)try{(0,gi.rmSync)((0,Ci.join)(e,".git"),{recursive:!0,force:!0})}catch{}return!1}}var Bi=async({root:e,appName:t,packageManager:n,eslint:i,docker:r,install:u})=>{let s=n.startsWith("npm"),o=n.split("@")[0],a=(0,v.join)(__dirname,"..","templates"),D=st(`Creating a new VitNode app in ${b.default.green(e)}. Using ${b.default.green(n)}...`).start();if((0,_.mkdirSync)(e,{recursive:!0}),he(e,t)||process.exit(1),process.chdir(e),D.text="Copying files...",(0,_.cpSync)((0,v.join)(a,"basic"),e,{recursive:!0}),D.text="Creating package.json...",Bn({appName:t,root:e,packageManager:n,docker:r,eslint:i}),D.text="Renaming files...",(0,_.renameSync)((0,v.join)(e,".gitignore_template"),(0,v.join)(e,".gitignore")),(0,_.renameSync)((0,v.join)(e,".npmrc_template"),(0,v.join)(e,".npmrc")),D.text="Changing tailwind.config.ts...",n.startsWith("pnpm")){let A=(0,v.join)(e,"apps","frontend","tailwind.config.ts"),B=(0,_.readFileSync)(A,"utf-8").replace("../../node_modules/vitnode-frontend/src/components/**/*.tsx","./node_modules/vitnode-frontend/src/components/**/*.tsx").replace("../../node_modules/vitnode-frontend/src/views/**/*.tsx","./node_modules/vitnode-frontend/src/views/**/*.tsx");(0,_.writeFileSync)(A,B)}n.startsWith("pnpm")&&(D.text="Copying pnpm template...",(0,_.cpSync)((0,v.join)(a,"pnpm"),e,{recursive:!0})),i&&(D.text="Copying eslint template...",(0,_.cpSync)((0,v.join)(a,"eslint"),e,{recursive:!0})),r&&(D.text="Copying docker template...",(0,_.cpSync)((0,v.join)(a,"docker"),e,{recursive:!0})),D.text="Changing .env file...",(0,_.copyFileSync)((0,v.join)(e,".env.template"),(0,v.join)(e,".env"));let l=(0,v.join)(e,".env"),f=(0,_.readFileSync)(l,"utf-8").replace("LOGIN_TOKEN_SECRET=vitnode_secret",`LOGIN_TOKEN_SECRET=${(0,_i.randomBytes)(32).toString("hex")}`);(0,_.writeFileSync)(l,f),u&&(D.text="Installing dependencies...",await di({packageManager:n})),D.text="Initializing a git repository...",Ei(e),console.log(`
|
|
36
36
|
`+b.default.blue(Ai.default.textSync("VitNode",{horizontalLayout:"full"})),+`
|
|
37
37
|
`),D.succeed(` ${b.default.green("Success!")} Created ${b.default.cyan(t)} at ${b.default.cyan(e)}`),console.log(`Inside that directory, you can run several commands:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-vitnode-app",
|
|
3
|
-
"version": "0.0.9-canary.
|
|
3
|
+
"version": "0.0.9-canary.36",
|
|
4
4
|
"description": "Create a new VitNode app in seconds.",
|
|
5
5
|
"author": "VitNode Team",
|
|
6
6
|
"license": "MIT",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"ora": "^8.0.1",
|
|
43
43
|
"tsup": "^8.2.4",
|
|
44
44
|
"typescript": "^5.5.4",
|
|
45
|
-
"eslint-config-typescript-vitnode": "0.0.9-canary.
|
|
45
|
+
"eslint-config-typescript-vitnode": "0.0.9-canary.36"
|
|
46
46
|
},
|
|
47
47
|
"scripts": {
|
|
48
48
|
"lint": "eslint .",
|
|
@@ -52,15 +52,7 @@ yarn-error.log*
|
|
|
52
52
|
/apps/backend/schema.gql
|
|
53
53
|
|
|
54
54
|
## Configuration
|
|
55
|
-
/apps/backend/src/plugins/*/admin/database/migrations
|
|
56
55
|
/apps/backend/src/plugins/core/
|
|
57
56
|
|
|
58
57
|
## Frontend
|
|
59
|
-
/apps/frontend/app/not-found.tsx
|
|
60
|
-
/apps/frontend/app/\[\locale\]\/(main)/(vitnode)
|
|
61
|
-
/apps/frontend/app/\[\locale\]\/(main)/page.tsx
|
|
62
|
-
/apps/frontend/app/\[\locale\]\/admin/layout.tsx
|
|
63
|
-
/apps/frontend/app/\[\locale\]\/admin/(vitnode)
|
|
64
|
-
/apps/frontend/app/\[\locale\]\/admin/(auth)/(vitnode)
|
|
65
|
-
/apps/frontend/app/\[\locale\]\/admin/(auth)/layout.tsx
|
|
66
58
|
/apps/frontend/next-env.d.ts
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
|
|
3
1
|
import { Module } from '@nestjs/common';
|
|
2
|
+
import { join } from 'path';
|
|
4
3
|
import { VitNodeCoreModule } from 'vitnode-backend';
|
|
5
4
|
|
|
6
|
-
import {
|
|
7
|
-
import { DATABASE_ENVS, schemaDatabase } from './database';
|
|
5
|
+
import { DATABASE_ENVS, schemaDatabase } from './database/config';
|
|
8
6
|
import { DatabaseModule } from './database/database.module';
|
|
7
|
+
import { PluginsModule } from './plugins/plugins.module';
|
|
9
8
|
|
|
10
9
|
@Module({
|
|
11
10
|
imports: [
|
|
12
11
|
VitNodeCoreModule.register({
|
|
13
|
-
|
|
14
|
-
envFile: join(process.cwd(), '..', '..', '.env'),
|
|
15
|
-
},
|
|
12
|
+
pathToEnvFile: join(process.cwd(), '..', '..', '.env'),
|
|
16
13
|
database: {
|
|
17
14
|
config: DATABASE_ENVS,
|
|
18
15
|
schemaDatabase,
|
|
File without changes
|
|
File without changes
|