create-qwik 0.17.3 → 0.17.5-dev20230207203251
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/index.cjs +3 -3
- package/package.json +1 -1
- package/starters/apps/base/README.md +1 -1
- package/starters/apps/base/package.json +9 -9
- package/starters/apps/base/src/entry.preview.tsx +1 -1
- package/starters/apps/basic/src/global.css +5 -3
- package/starters/apps/basic/src/routes/index.tsx +71 -77
- package/starters/apps/basic/src/routes/layout.tsx +10 -0
- package/starters/apps/basic/src/routes/todolist/index.tsx +49 -0
- package/starters/apps/documentation-site/src/routes/docs/layout.tsx +1 -1
- package/starters/apps/library/package.json +6 -6
package/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @license
|
|
3
|
-
* create-qwik 0.17.
|
|
3
|
+
* create-qwik 0.17.5-dev20230207203251
|
|
4
4
|
* Copyright Builder.io, Inc. All Rights Reserved.
|
|
5
5
|
* Use of this source code is governed by an MIT-style license that can be
|
|
6
6
|
* found in the LICENSE file at https://github.com/BuilderIO/qwik/blob/main/LICENSE
|
|
@@ -104,7 +104,7 @@ Filtered results for: ${this.inputValue?this.inputValue:we.gray("Enter something
|
|
|
104
104
|
`),this.close()}_(e,r){return e.toLowerCase()==="y"?(this.value=!0,this.submit()):e.toLowerCase()==="n"?(this.value=!1,this.submit()):this.bell()}render(){this.closed||(this.firstRender?this.out.write(Sc.hide):this.out.write($0(this.outputText,this.out.columns)),super.render(),this.outputText=[xc.symbol(this.done,this.aborted),_c.bold(this.msg),xc.delimiter(this.done),this.done?this.value?this.yesMsg:this.noMsg:_c.gray(this.initialValue?this.yesOption:this.noOption)].join(" "),this.out.write(k0.line+Sc.to(0)+this.outputText))}};Ec.exports=an});var Rc=h((Nv,Oc)=>{"use strict";Oc.exports={TextPrompt:Eh(),SelectPrompt:Ch(),TogglePrompt:Mh(),DatePrompt:sc(),NumberPrompt:lc(),MultiselectPrompt:tn(),AutocompletePrompt:mc(),AutocompleteMultiselectPrompt:wc(),ConfirmPrompt:Tc()}});var Dc=h(Cc=>{"use strict";var N=Cc,j0=Rc(),Br=t=>t;function he(t,e,r={}){return new Promise((i,s)=>{let n=new j0[t](e),o=r.onAbort||Br,a=r.onSubmit||Br,l=r.onExit||Br;n.on("state",e.onState||Br),n.on("submit",u=>i(a(u))),n.on("exit",u=>i(l(u))),n.on("abort",u=>s(o(u)))})}N.text=t=>he("TextPrompt",t);N.password=t=>(t.style="password",N.text(t));N.invisible=t=>(t.style="invisible",N.text(t));N.number=t=>he("NumberPrompt",t);N.date=t=>he("DatePrompt",t);N.confirm=t=>he("ConfirmPrompt",t);N.list=t=>{let e=t.separator||",";return he("TextPrompt",t,{onSubmit:r=>r.split(e).map(i=>i.trim())})};N.toggle=t=>he("TogglePrompt",t);N.select=t=>he("SelectPrompt",t);N.multiselect=t=>{t.choices=[].concat(t.choices||[]);let e=r=>r.filter(i=>i.selected).map(i=>i.value);return he("MultiselectPrompt",t,{onAbort:e,onSubmit:e})};N.autocompleteMultiselect=t=>{t.choices=[].concat(t.choices||[]);let e=r=>r.filter(i=>i.selected).map(i=>i.value);return he("AutocompleteMultiselectPrompt",t,{onAbort:e,onSubmit:e})};var L0=(t,e)=>Promise.resolve(e.filter(r=>r.title.slice(0,t.length).toLowerCase()===t.toLowerCase()));N.autocomplete=t=>(t.suggest=t.suggest||L0,t.choices=[].concat(t.choices||[]),he("AutocompletePrompt",t))});var Mc=h((Hv,qc)=>{"use strict";var ln=Dc(),F0=["suggest","format","onState","validate","onRender","type"],Ac=()=>{};async function Me(t=[],{onSubmit:e=Ac,onCancel:r=Ac}={}){let i={},s=Me._override||{};t=[].concat(t);let n,o,a,l,u,p,f=async(d,g,v=!1)=>{if(!(!v&&d.validate&&d.validate(g)!==!0))return d.format?await d.format(g,i):g};for(o of t)if({name:l,type:u}=o,typeof u=="function"&&(u=await u(n,{...i},o),o.type=u),!!u){for(let d in o){if(F0.includes(d))continue;let g=o[d];o[d]=typeof g=="function"?await g(n,{...i},p):g}if(p=o,typeof o.message!="string")throw new Error("prompt message is required");if({name:l,type:u}=o,ln[u]===void 0)throw new Error(`prompt type (${u}) is not defined`);if(s[o.name]!==void 0&&(n=await f(o,s[o.name]),n!==void 0)){i[l]=n;continue}try{n=Me._injected?B0(Me._injected,o.initial):await ln[u](o),i[l]=n=await f(o,n,!0),a=await e(o,n,i)}catch{a=!await r(o,i)}if(a)return i}return i}function B0(t,e){let r=t.shift();if(r instanceof Error)throw r;return r===void 0?e:r}function N0(t){Me._injected=(Me._injected||[]).concat(t)}function U0(t){Me._override=Object.assign({},t)}qc.exports=Object.assign(Me,{prompt:Me,prompts:ln,inject:N0,override:U0})});var Pc=h((Wv,Ic)=>{function H0(t){t=(Array.isArray(t)?t:t.split(".")).map(Number);let e=0,r=process.versions.node.split(".").map(Number);for(;e<t.length;e++){if(r[e]>t[e])return!1;if(t[e]>r[e])return!0}return!1}Ic.exports=H0("8.6.0")?sh():Mc()});var Y0={};Uc(Y0,{createApp:()=>kt,runCli:()=>W0,runCreateCli:()=>zi,runCreateInteractiveCli:()=>hn});module.exports=Hc(Y0);var $t=A(require("fs"));var Hr,gn,mn,bn,yn=!0;typeof process<"u"&&({FORCE_COLOR:Hr,NODE_DISABLE_COLORS:gn,NO_COLOR:mn,TERM:bn}=process.env||{},yn=process.stdout&&process.stdout.isTTY);var E={enabled:!gn&&mn==null&&bn!=="dumb"&&(Hr!=null&&Hr!=="0"||yn),reset:O(0,0),bold:O(1,22),dim:O(2,22),italic:O(3,23),underline:O(4,24),inverse:O(7,27),hidden:O(8,28),strikethrough:O(9,29),black:O(30,39),red:O(31,39),green:O(32,39),yellow:O(33,39),blue:O(34,39),magenta:O(35,39),cyan:O(36,39),white:O(37,39),gray:O(90,39),grey:O(90,39),bgBlack:O(40,49),bgRed:O(41,49),bgGreen:O(42,49),bgYellow:O(43,49),bgBlue:O(44,49),bgMagenta:O(45,49),bgCyan:O(46,49),bgWhite:O(47,49)};function pn(t,e){let r=0,i,s="",n="";for(;r<t.length;r++)i=t[r],s+=i.open,n+=i.close,~e.indexOf(i.close)&&(e=e.replace(i.rgx,i.close+i.open));return s+e+n}function Wc(t,e){let r={has:t,keys:e};return r.reset=E.reset.bind(r),r.bold=E.bold.bind(r),r.dim=E.dim.bind(r),r.italic=E.italic.bind(r),r.underline=E.underline.bind(r),r.inverse=E.inverse.bind(r),r.hidden=E.hidden.bind(r),r.strikethrough=E.strikethrough.bind(r),r.black=E.black.bind(r),r.red=E.red.bind(r),r.green=E.green.bind(r),r.yellow=E.yellow.bind(r),r.blue=E.blue.bind(r),r.magenta=E.magenta.bind(r),r.cyan=E.cyan.bind(r),r.white=E.white.bind(r),r.gray=E.gray.bind(r),r.grey=E.grey.bind(r),r.bgBlack=E.bgBlack.bind(r),r.bgRed=E.bgRed.bind(r),r.bgGreen=E.bgGreen.bind(r),r.bgYellow=E.bgYellow.bind(r),r.bgBlue=E.bgBlue.bind(r),r.bgMagenta=E.bgMagenta.bind(r),r.bgCyan=E.bgCyan.bind(r),r.bgWhite=E.bgWhite.bind(r),r}function O(t,e){let r={open:`\x1B[${t}m`,close:`\x1B[${e}m`,rgx:new RegExp(`\\x1b\\[${e}m`,"g")};return function(i){return this!==void 0&&this.has!==void 0?(~this.has.indexOf(t)||(this.has.push(t),this.keys.push(r)),i===void 0?this:E.enabled?pn(this.keys,i+""):i+""):i===void 0?Wc([t],[r]):E.enabled?pn([r],i+""):i+""}}var m=E;var Ce=require("path");var Wr=A(require("fs"),1),Gr=require("path");var _n=A(wn(),1);async function xn(t){let e=(0,Gr.join)(t,"package.json");return JSON.parse(await Wr.default.promises.readFile(e,"utf-8"))}async function Sn(t,e){let r=(0,Gr.join)(t,"package.json");await Wr.default.promises.writeFile(r,JSON.stringify(e,null,2)+`
|
|
105
105
|
`)}function En(t){t={...t};let e={name:t.name,version:t.version,description:t.description,scripts:t.scripts,dependencies:t.dependencies,devDependencies:t.devDependencies,main:t.main,qwik:t.qwik,module:t.module,types:t.types,exports:t.exports,files:t.files,engines:{node:">=15.0.0"}};Object.keys(e).forEach(i=>{delete t[i]}),delete t.__qwik__;let r=Object.keys(t).sort();for(let i of r)e[i]=t[i];return e}function Tn(t){return t.toLocaleLowerCase().split("-").map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}function Ie(){var t;return((t=(0,_n.default)())==null?void 0:t.name)||"npm"}function Ve(t){console.error(`
|
|
106
106
|
\u274C ${m.red(t)}
|
|
107
|
-
`),process.exit(1)}var Kt=A(require("fs"),1),zt=require("path");var Yr=null;async function Je(){if(!Yr){let t=[],e=["app","feature","
|
|
107
|
+
`),process.exit(1)}var Kt=A(require("fs"),1),zt=require("path");var Yr=null;async function Je(){if(!Yr){let t=[],e=["app","feature","adapter"],r=(0,zt.join)(__dirname,"starters"),i=await Kt.default.promises.readdir(r);await Promise.all(i.map(async s=>{let n=s.slice(0,s.length-1);if(e.includes(n)){let o=(0,zt.join)(r,s),a=await Kt.default.promises.readdir(o);await Promise.all(a.map(async l=>{var f,d,g;let u=(0,zt.join)(o,l);if((await Kt.default.promises.stat(u)).isDirectory()){let v=await xn(u),b={id:l,name:((f=v.__qwik__)==null?void 0:f.displayName)??Tn(l),type:n,dir:u,pkgJson:v,docs:((d=v.__qwik__)==null?void 0:d.docs)??[],priority:((g=v==null?void 0:v.__qwik__)==null?void 0:g.priority)??0};t.push(b)}}))}})),t.sort((s,n)=>s.priority>n.priority?-1:s.priority<n.priority?1:s.id<n.id?-1:1),Yr=t}return Yr}function On(t){t.length>0&&(console.log(`\u{1F4DA} ${m.cyan("Relevant docs:")}`),t.forEach(e=>{console.log(` ${e}`)})),console.log(""),console.log(`\u{1F4AC} ${m.cyan("Questions? Start the conversation at:")}`),console.log(" https://qwik.builder.io/chat"),console.log(" https://twitter.com/QwikDev"),console.log("")}var rl=require("path"),Ji=A(require("fs"),1);var We=A(require("fs"),1);var It=A(require("process"),1);var zr=A(require("process"),1);var jn=A(require("process"),1),Ln=A(An(),1),Fn=A(kn(),1),Vc=(0,Ln.default)(()=>{(0,Fn.default)(()=>{jn.default.stderr.write("\x1B[?25h")},{alwaysLast:!0})}),Bn=Vc;var ir=!1,Xe={};Xe.show=(t=zr.default.stderr)=>{t.isTTY&&(ir=!1,t.write("\x1B[?25h"))};Xe.hide=(t=zr.default.stderr)=>{t.isTTY&&(Bn(),ir=!0,t.write("\x1B[?25l"))};Xe.toggle=(t,e)=>{t!==void 0&&(ir=t),ir?Xe.show(e):Xe.hide(e)};var Zr=Xe;var Pt=A(Wn(),1);var U=A(require("process"),1);function vt(){return U.default.platform!=="win32"?U.default.env.TERM!=="linux":Boolean(U.default.env.CI)||Boolean(U.default.env.WT_SESSION)||Boolean(U.default.env.TERMINUS_SUBLIME)||U.default.env.ConEmuTask==="{cmd::Cmder}"||U.default.env.TERM_PROGRAM==="Terminus-Sublime"||U.default.env.TERM_PROGRAM==="vscode"||U.default.env.TERM==="xterm-256color"||U.default.env.TERM==="alacritty"||U.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Kc={info:m.blue("\u2139"),success:m.green("\u2714"),warning:m.yellow("\u26A0"),error:m.red("\u2716")},zc={info:m.blue("i"),success:m.green("\u221A"),warning:m.yellow("\u203C"),error:m.red("\xD7")},Zc=vt()?Kc:zc,wt=Zc;function Xr({onlyFirst:t=!1}={}){let e=["[\\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(e,t?void 0:"g")}function Qr(t){if(typeof t!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof t}\``);return t.replace(Xr(),"")}var ha=A(Qn(),1);function ti({stream:t=process.stdout}={}){return Boolean(t&&t.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))}var G=A(require("process"),1),la=A(require("readline"),1),ua=A(aa(),1);var np=3,fe,Mt,it,Oe,xr=class{constructor(){$(this,fe,0);$(this,Mt,new ua.BufferListStream);$(this,it,void 0);$(this,Oe,void 0);c(this,Mt).pipe(G.default.stdout);let e=this;_(this,it,function(r,i,...s){let{stdin:n}=G.default;if(c(e,fe)>0||n.emit===c(e,it)){if(r==="keypress")return;r==="data"&&i.includes(np)&&G.default.emit("SIGINT"),Reflect.apply(c(e,it),this,[r,i,...s])}else Reflect.apply(G.default.stdin.emit,this,[r,i,...s])})}start(){bt(this,fe)._++,c(this,fe)===1&&this._realStart()}stop(){if(c(this,fe)<=0)throw new Error("`stop` called more times than `start`");bt(this,fe)._--,c(this,fe)===0&&this._realStop()}_realStart(){G.default.platform!=="win32"&&(_(this,Oe,la.default.createInterface({input:G.default.stdin,output:c(this,Mt)})),c(this,Oe).on("SIGINT",()=>{G.default.listenerCount("SIGINT")===0?G.default.emit("SIGINT"):(c(this,Oe).close(),G.default.kill(G.default.pid,"SIGINT"))}))}_realStop(){G.default.platform!=="win32"&&(c(this,Oe).close(),_(this,Oe,void 0))}};fe=new WeakMap,Mt=new WeakMap,it=new WeakMap,Oe=new WeakMap;var Sr,Re,st,Ue,de,k,te,L,He,nt,re,ie,se,ot,K,Ii=class{constructor(e){$(this,Re,0);$(this,st,!1);$(this,Ue,0);$(this,de,0);$(this,k,void 0);$(this,te,void 0);$(this,L,void 0);$(this,He,void 0);$(this,nt,void 0);$(this,re,void 0);$(this,ie,void 0);$(this,se,void 0);$(this,ot,void 0);$(this,K,void 0);fn(this,"color");Sr||(Sr=new xr),typeof e=="string"&&(e={text:e}),_(this,k,{color:"cyan",stream:It.default.stderr,discardStdin:!0,hideCursor:!0,...e}),this.color=c(this,k).color,this.spinner=c(this,k).spinner,_(this,nt,c(this,k).interval),_(this,L,c(this,k).stream),_(this,re,typeof c(this,k).isEnabled=="boolean"?c(this,k).isEnabled:ti({stream:c(this,L)})),_(this,ie,typeof c(this,k).isSilent=="boolean"?c(this,k).isSilent:!1),this.text=c(this,k).text,this.prefixText=c(this,k).prefixText,this.indent=c(this,k).indent,It.default.env.NODE_ENV==="test"&&(this._stream=c(this,L),this._isEnabled=c(this,re),Object.defineProperty(this,"_linesToClear",{get(){return c(this,Re)},set(r){_(this,Re,r)}}),Object.defineProperty(this,"_frameIndex",{get(){return c(this,de)}}),Object.defineProperty(this,"_lineCount",{get(){return c(this,Ue)}}))}get indent(){return c(this,se)}set indent(e=0){if(!(e>=0&&Number.isInteger(e)))throw new Error("The `indent` option must be an integer from 0 and up");_(this,se,e),this.updateLineCount()}get interval(){return c(this,nt)||c(this,te).interval||100}get spinner(){return c(this,te)}set spinner(e){if(_(this,de,0),_(this,nt,void 0),typeof e=="object"){if(e.frames===void 0)throw new Error("The given spinner must have a `frames` property");_(this,te,e)}else if(!vt())_(this,te,Pt.default.line);else if(e===void 0)_(this,te,Pt.default.dots);else if(e!=="default"&&Pt.default[e])_(this,te,Pt.default[e]);else throw new Error(`There is no built-in spinner named '${e}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`)}get text(){return c(this,ot)}set text(e){_(this,ot,e||""),this.updateLineCount()}get prefixText(){return c(this,K)}set prefixText(e){_(this,K,e||""),this.updateLineCount()}get isSpinning(){return c(this,He)!==void 0}getFullPrefixText(e=c(this,K),r=" "){return typeof e=="string"&&e!==""?e+r:typeof e=="function"?e()+r:""}updateLineCount(){let e=c(this,L).columns||80,r=this.getFullPrefixText(c(this,K),"-");_(this,Ue,0);for(let i of Qr(" ".repeat(c(this,se))+r+"--"+c(this,ot)).split(`
|
|
108
108
|
`))_(this,Ue,c(this,Ue)+Math.max(1,Math.ceil((0,ha.default)(i)/e)))}get isEnabled(){return c(this,re)&&!c(this,ie)}set isEnabled(e){if(typeof e!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");_(this,re,e)}get isSilent(){return c(this,ie)}set isSilent(e){if(typeof e!="boolean")throw new TypeError("The `isSilent` option must be a boolean");_(this,ie,e)}frame(){let{frames:e}=c(this,te),r=e[c(this,de)];this.color&&(r=m[this.color](r)),_(this,de,++bt(this,de)._%e.length);let i=typeof c(this,K)=="string"&&c(this,K)!==""?c(this,K)+" ":"",s=typeof this.text=="string"?" "+this.text:"";return i+r+s}clear(){if(!c(this,re)||!c(this,L).isTTY)return this;c(this,L).cursorTo(0);for(let e=0;e<c(this,Re);e++)e>0&&c(this,L).moveCursor(0,-1),c(this,L).clearLine(1);return(c(this,se)||this.lastIndent!==c(this,se))&&c(this,L).cursorTo(c(this,se)),this.lastIndent=c(this,se),_(this,Re,0),this}render(){return c(this,ie)?this:(this.clear(),c(this,L).write(this.frame()),_(this,Re,c(this,Ue)),this)}start(e){return e&&(this.text=e),c(this,ie)?this:c(this,re)?this.isSpinning?this:(c(this,k).hideCursor&&Zr.hide(c(this,L)),c(this,k).discardStdin&&It.default.stdin.isTTY&&(_(this,st,!0),Sr.start()),this.render(),_(this,He,setInterval(this.render.bind(this),this.interval)),this):(this.text&&c(this,L).write(`- ${this.text}
|
|
109
109
|
`),this)}stop(){return c(this,re)?(clearInterval(c(this,He)),_(this,He,void 0),_(this,de,0),this.clear(),c(this,k).hideCursor&&Zr.show(c(this,L)),c(this,k).discardStdin&&It.default.stdin.isTTY&&c(this,st)&&(Sr.stop(),_(this,st,!1)),this):this}succeed(e){return this.stopAndPersist({symbol:wt.success,text:e})}fail(e){return this.stopAndPersist({symbol:wt.error,text:e})}warn(e){return this.stopAndPersist({symbol:wt.warning,text:e})}info(e){return this.stopAndPersist({symbol:wt.info,text:e})}stopAndPersist(e={}){if(c(this,ie))return this;let r=e.prefixText||c(this,K),i=e.text||this.text,s=typeof i=="string"?" "+i:"";return this.stop(),c(this,L).write(`${this.getFullPrefixText(r," ")}${e.symbol||" "}${s}
|
|
110
110
|
`),this}};Re=new WeakMap,st=new WeakMap,Ue=new WeakMap,de=new WeakMap,k=new WeakMap,te=new WeakMap,L=new WeakMap,He=new WeakMap,nt=new WeakMap,re=new WeakMap,ie=new WeakMap,se=new WeakMap,ot=new WeakMap,K=new WeakMap;function Pi(t){return new Ii(t)}var Qa=A(require("os"),1),Y=A(require("path"),1),el=A(Xa(),1);function Wi(t,e){return Mp(t,["install"],e)}function Mp(t,e,r){let i,s=new Promise(o=>{try{i=(0,el.default)(t,e,{cwd:r,stdio:"ignore"}),i.on("error",()=>{o(!1)}),i.on("close",a=>{o(a===0)})}catch{o(!1)}});return{abort:async()=>{i&&i.kill("SIGINT")},install:s}}function Gi(t){return Pi(t).start()}function tl(t,e){let{tmpInstallDir:r}=Ip(e),{install:i,abort:s}=Wi(t,r);return{abort:s,complete:async(o,a)=>{let l=!1;if(o){let u=Gi(`Installing ${t} dependencies...`);try{if(await i){let f=Y.default.join(r,"node_modules"),d=Y.default.join(a,"node_modules");await We.default.promises.rename(f,d);try{await We.default.promises.rename(Y.default.join(r,"package-lock.json"),Y.default.join(a,"package-lock.json"))}catch{}try{await We.default.promises.rename(Y.default.join(r,"yarn.lock"),Y.default.join(a,"yarn.lock"))}catch{}try{await We.default.promises.rename(Y.default.join(r,"pnpm-lock.yaml"),Y.default.join(a,"pnpm-lock.yaml"))}catch{}u.succeed(),l=!0}else{let f=`
|
|
@@ -125,7 +125,7 @@ ${m.bgRed(` ${t} install failed `)}
|
|
|
125
125
|
|
|
126
126
|
You might need to run "${m.green(`${t} install`)}" manually inside the root of the project.
|
|
127
127
|
|
|
128
|
-
`;console.error(g)}}catch(f){u&&u.fail(),Ve(String(f))}};return{rootDir:e.rootDir,integration:i,updates:s,commit:n}}async function zi(t,e){Lp()?e=process.cwd():(e=Xi(e),$t.default.existsSync(e)&&Ve(`Directory "${e}" already exists. Please either remove this directory, or choose another location.`));let r=Ie(),s=await kt({starterId:t,outDir:e});return Zi(r,s,!1),s}function Zi(t,e,r){console.log(""),console.log("");let i=process.cwd()===e.outDir,s=(0,Ce.relative)(process.cwd(),e.outDir);console.log(i?`\u{1F984} ${m.bgMagenta(" Success! ")}`:`\u{1F984} ${m.bgMagenta(" Success! ")} ${m.cyan("Project created in")} ${m.bold(m.magenta(s))} ${m.cyan("directory")}`),console.log(""),console.log(`\u{1F430} ${m.cyan("Next steps:")}`),i||console.log(` cd ${s}`),r||console.log(` ${t} install`),console.log(` ${t} start`),console.log("");let n=t!=="npm"?`${t} qwik add`:"npm run qwik add";console.log(`\u{1F50C} ${m.cyan("Integrations? Add Netlify, Cloudflare, Tailwind...")}`),console.log(` ${n}`),console.log(""),On(e.docs),console.log(`\u{1F4FA} ${m.cyan("Presentations, Podcasts and Videos:")}`),console.log(" https://qwik.builder.io/media/"),console.log("")}async function kt(t){let e=Ie();if(!sl(t.starterId))throw new Error("Missing starter id");if(!sl(t.outDir))throw new Error("Missing outDir");if(!(0,Ce.isAbsolute)(t.outDir))throw new Error("outDir must be an absolute path");$t.default.existsSync(t.outDir)||$t.default.mkdirSync(t.outDir,{recursive:!0});let r={starterId:t.starterId,outDir:t.outDir,docs:[]},i=(await Je()).filter(n=>n.type==="app");if(t.starterId==="library"){let n=i.find(o=>o.id==="library");if(!n)throw new Error("Unable to find base app");await il(e,r,n)}else{let n=i.find(a=>a.id==="base");if(!n)throw new Error("Unable to find base app");let o=i.find(a=>a.id===t.starterId);if(!o)throw new Error(`Invalid starter id "${t.starterId}". It can only be one of${i.map(a=>` "${a.id}"`)}.`);await il(e,r,n,o)}return r}async function il(t,e,r,i){e.docs.push(...r.docs);let s=i??r,n=En({...r.pkgJson,name:`my-${s.pkgJson.name}`,description:s.pkgJson.description,scripts:void 0,dependencies:void 0,devDependencies:void 0});await Sn(e.outDir,n);let o=(0,Ce.join)(e.outDir,"README.md");await $t.default.promises.writeFile(o,""),await(await Ki(t,{rootDir:e.outDir,integration:r.id,installDeps:!1})).commit(!1),i&&(e.docs.push(...i.docs),await(await Ki(t,{rootDir:e.outDir,integration:i.id,installDeps:!1})).commit(!1))}function sl(t){return typeof t=="string"&&t.trim().length>0}function Xi(t){return(0,Ce.resolve)(process.cwd(),t)}function Lp(){return Fp()}function Fp(){try{return process.cwd().startsWith("/home/projects/")}catch{}return!1}var un=A(require("fs")),$c=require("path"),Jt=A(Pc());async function hn(){console.log(""),console.clear(),console.log(""),console.log(`\u{1F430} ${m.cyan("Let's create a")} ${m.bold(m.magenta("Qwik"))} ${m.cyan("app")} \u{1F407} ${m.dim("v0.17.
|
|
128
|
+
`;console.error(g)}}catch(f){u&&u.fail(),Ve(String(f))}};return{rootDir:e.rootDir,integration:i,updates:s,commit:n}}async function zi(t,e){Lp()?e=process.cwd():(e=Xi(e),$t.default.existsSync(e)&&Ve(`Directory "${e}" already exists. Please either remove this directory, or choose another location.`));let r=Ie(),s=await kt({starterId:t,outDir:e});return Zi(r,s,!1),s}function Zi(t,e,r){console.log(""),console.log("");let i=process.cwd()===e.outDir,s=(0,Ce.relative)(process.cwd(),e.outDir);console.log(i?`\u{1F984} ${m.bgMagenta(" Success! ")}`:`\u{1F984} ${m.bgMagenta(" Success! ")} ${m.cyan("Project created in")} ${m.bold(m.magenta(s))} ${m.cyan("directory")}`),console.log(""),console.log(`\u{1F430} ${m.cyan("Next steps:")}`),i||console.log(` cd ${s}`),r||console.log(` ${t} install`),console.log(` ${t} start`),console.log("");let n=t!=="npm"?`${t} qwik add`:"npm run qwik add";console.log(`\u{1F50C} ${m.cyan("Integrations? Add Netlify, Cloudflare, Tailwind...")}`),console.log(` ${n}`),console.log(""),On(e.docs),console.log(`\u{1F4FA} ${m.cyan("Presentations, Podcasts and Videos:")}`),console.log(" https://qwik.builder.io/media/"),console.log("")}async function kt(t){let e=Ie();if(!sl(t.starterId))throw new Error("Missing starter id");if(!sl(t.outDir))throw new Error("Missing outDir");if(!(0,Ce.isAbsolute)(t.outDir))throw new Error("outDir must be an absolute path");$t.default.existsSync(t.outDir)||$t.default.mkdirSync(t.outDir,{recursive:!0});let r={starterId:t.starterId,outDir:t.outDir,docs:[]},i=(await Je()).filter(n=>n.type==="app");if(t.starterId==="library"){let n=i.find(o=>o.id==="library");if(!n)throw new Error("Unable to find base app");await il(e,r,n)}else{let n=i.find(a=>a.id==="base");if(!n)throw new Error("Unable to find base app");let o=i.find(a=>a.id===t.starterId);if(!o)throw new Error(`Invalid starter id "${t.starterId}". It can only be one of${i.map(a=>` "${a.id}"`)}.`);await il(e,r,n,o)}return r}async function il(t,e,r,i){e.docs.push(...r.docs);let s=i??r,n=En({...r.pkgJson,name:`my-${s.pkgJson.name}`,description:s.pkgJson.description,scripts:void 0,dependencies:void 0,devDependencies:void 0});await Sn(e.outDir,n);let o=(0,Ce.join)(e.outDir,"README.md");await $t.default.promises.writeFile(o,""),await(await Ki(t,{rootDir:e.outDir,integration:r.id,installDeps:!1})).commit(!1),i&&(e.docs.push(...i.docs),await(await Ki(t,{rootDir:e.outDir,integration:i.id,installDeps:!1})).commit(!1))}function sl(t){return typeof t=="string"&&t.trim().length>0}function Xi(t){return(0,Ce.resolve)(process.cwd(),t)}function Lp(){return Fp()}function Fp(){try{return process.cwd().startsWith("/home/projects/")}catch{}return!1}var un=A(require("fs")),$c=require("path"),Jt=A(Pc());async function hn(){console.log(""),console.clear(),console.log(""),console.log(`\u{1F430} ${m.cyan("Let's create a")} ${m.bold(m.magenta("Qwik"))} ${m.cyan("app")} \u{1F407} ${m.dim("v0.17.5-dev20230207203251")}`),console.log("");let t=Ie(),r=(await Je()).filter(S=>S.type==="app"),i=r.find(S=>S.id==="base"),s=r.filter(S=>S.id!==i.id),n=tl(t,i),o=await(0,Jt.default)({type:"text",name:"outDir",message:"Where would you like to create your new project?",initial:"./qwik-app"},{onCancel:()=>{console.log(""),process.exit(1)}});console.log("");let a=Xi(o.outDir.trim()),l=null;if(un.default.existsSync(a)){let S=await(0,Jt.default)({type:"select",name:"outDirChoice",message:`Directory "./${(0,$c.relative)(process.cwd(),a)}" already exists. What would you like to do?`,choices:[{title:"Do not overwrite this directory and exit",value:"exit"},{title:"Overwrite and replace this directory",value:"replace"}],hint:"(use \u2193\u2191 arrows, hit enter)"},{onCancel:async()=>{console.log(m.dim(` - Exited without modifying "${a}"`)+`
|
|
129
129
|
`),await n.abort(),process.exit(1)}});console.log(""),S.outDirChoice==="replace"?l=un.default.promises.rm(a,{recursive:!0}):(console.log(m.dim(` - Exited without modifying "${a}"`)+`
|
|
130
130
|
`),await n.abort(),process.exit(1))}let u=await(0,Jt.default)({type:"select",name:"starterId",message:"Select a starter",choices:s.map(S=>{var w;return{title:S.name,value:S.id,description:"\u2514\u2500"+((w=S.pkgJson)==null?void 0:w.description)}}),hint:"(use \u2193\u2191 arrows, hit enter)"},{onCancel:async()=>{console.log(""),await n.abort(),process.exit(1)}});console.log("");let p=u.starterId,f=await(0,Jt.default)({type:"confirm",name:"runInstall",message:`Would you like to install ${t} dependencies?`,initial:!0},{onCancel:async()=>{console.log(""),await n.abort(),process.exit(1)}});console.log(""),l&&await l;let d=f.runInstall,v=await kt({starterId:p,outDir:a}),b=await n.complete(d,v.outDir);return Zi(t,v,b),v}async function W0(){G0();try{let t=process.argv.slice(2);t.length>=2?await zi(t[0],t[1]):await hn()}catch(t){Ve(t.message||t)}}function G0(){let t=process.version,[e,r]=t.replace("v","").split(".");Number(e)<16?(console.error(m.red(`Qwik requires Node.js 16.8 or higher. You are currently running Node.js ${t}.`)),process.exit(1)):Number(e)===16&&Number(r)<8&&console.warn(m.yellow(`Node.js 16.8 or higher is recommended. You are currently running Node.js ${t}.`))}0&&(module.exports={createApp,runCli,runCreateCli,runCreateInteractiveCli});
|
|
131
131
|
/*! Bundled license information:
|
package/package.json
CHANGED
|
@@ -32,7 +32,7 @@ Inside your project, you'll see the following directory structure:
|
|
|
32
32
|
|
|
33
33
|
## Add Integrations and deployment
|
|
34
34
|
|
|
35
|
-
Use the `npm run qwik add` command to add additional integrations. Some examples of integrations include: Cloudflare, Netlify or Express server, and the [Static Site Generator (SSG)](https://qwik.builder.io/qwikcity/static-site-generation/
|
|
35
|
+
Use the `npm run qwik add` command to add additional integrations. Some examples of integrations include: Cloudflare, Netlify or Express server, and the [Static Site Generator (SSG)](https://qwik.builder.io/qwikcity/guides/static-site-generation/).
|
|
36
36
|
|
|
37
37
|
```shell
|
|
38
38
|
npm run qwik add # or `yarn qwik add`
|
|
@@ -12,24 +12,24 @@
|
|
|
12
12
|
"lint": "eslint \"src/**/*.ts*\"",
|
|
13
13
|
"preview": "qwik build preview && vite preview --open",
|
|
14
14
|
"start": "vite --open --mode ssr",
|
|
15
|
-
"deploy": "echo 'Run \"npm run qwik add\" to install a server
|
|
15
|
+
"deploy": "echo 'Run \"npm run qwik add\" to install a server adapter'",
|
|
16
16
|
"qwik": "qwik"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
|
-
"@builder.io/qwik": "0.17.
|
|
20
|
-
"@builder.io/qwik-city": "0.0
|
|
19
|
+
"@builder.io/qwik": "0.17.5-dev20230207203251",
|
|
20
|
+
"@builder.io/qwik-city": "0.1.0-beta13",
|
|
21
21
|
"@types/eslint": "8.21.0",
|
|
22
|
-
"@types/node": "^18.11.
|
|
22
|
+
"@types/node": "^18.11.19",
|
|
23
23
|
"@types/node-fetch": "latest",
|
|
24
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
25
|
-
"@typescript-eslint/parser": "5.
|
|
26
|
-
"eslint-plugin-qwik": "0.17.
|
|
24
|
+
"@typescript-eslint/eslint-plugin": "5.51.0",
|
|
25
|
+
"@typescript-eslint/parser": "5.51.0",
|
|
26
|
+
"eslint-plugin-qwik": "0.17.5-dev20230207203251",
|
|
27
27
|
"eslint": "8.33.0",
|
|
28
28
|
"node-fetch": "3.3.0",
|
|
29
|
-
"undici": "5.
|
|
29
|
+
"undici": "5.18.0",
|
|
30
30
|
"prettier": "2.8.3",
|
|
31
31
|
"typescript": "4.9.5",
|
|
32
|
-
"vite": "4.
|
|
32
|
+
"vite": "4.1.1",
|
|
33
33
|
"vite-tsconfig-paths": "3.5.0"
|
|
34
34
|
},
|
|
35
35
|
"private": true
|
|
@@ -15,6 +15,6 @@ import render from './entry.ssr';
|
|
|
15
15
|
import qwikCityPlan from '@qwik-city-plan';
|
|
16
16
|
|
|
17
17
|
/**
|
|
18
|
-
* The default export is the QwikCity
|
|
18
|
+
* The default export is the QwikCity adapter used by Vite preview.
|
|
19
19
|
*/
|
|
20
20
|
export default createQwikCity({ render, qwikCityPlan });
|
|
@@ -101,8 +101,9 @@ footer a:hover {
|
|
|
101
101
|
text-decoration: underline;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
|
-
a.mindblow
|
|
105
|
-
|
|
104
|
+
a.mindblow,
|
|
105
|
+
a.todolist {
|
|
106
|
+
margin: 10px auto;
|
|
106
107
|
display: block;
|
|
107
108
|
background: var(--qwik-dark-purple);
|
|
108
109
|
padding: 10px 20px;
|
|
@@ -118,7 +119,8 @@ a.mindblow {
|
|
|
118
119
|
auto; /*!emojicursor.app*/
|
|
119
120
|
}
|
|
120
121
|
|
|
121
|
-
a.mindblow:hover
|
|
122
|
+
a.mindblow:hover,
|
|
123
|
+
a.todolist:hover {
|
|
122
124
|
border-bottom-width: 0px;
|
|
123
125
|
margin-bottom: 4px;
|
|
124
126
|
transform: translateY(4px);
|
|
@@ -24,88 +24,79 @@ export default component$(() => {
|
|
|
24
24
|
<h2>Commands</h2>
|
|
25
25
|
|
|
26
26
|
<table class="commands">
|
|
27
|
-
<
|
|
28
|
-
<
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
<
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
<
|
|
41
|
-
<
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
<
|
|
47
|
-
<
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
27
|
+
<tbody>
|
|
28
|
+
<tr>
|
|
29
|
+
<td>
|
|
30
|
+
<code>npm run dev</code>
|
|
31
|
+
</td>
|
|
32
|
+
<td>Start the dev server and watch for changes.</td>
|
|
33
|
+
</tr>
|
|
34
|
+
<tr>
|
|
35
|
+
<td>
|
|
36
|
+
<code>npm run preview</code>
|
|
37
|
+
</td>
|
|
38
|
+
<td>Production build and start preview server.</td>
|
|
39
|
+
</tr>
|
|
40
|
+
<tr>
|
|
41
|
+
<td>
|
|
42
|
+
<code>npm run build</code>
|
|
43
|
+
</td>
|
|
44
|
+
<td>Production build.</td>
|
|
45
|
+
</tr>
|
|
46
|
+
<tr>
|
|
47
|
+
<td>
|
|
48
|
+
<code>npm run qwik add</code>
|
|
49
|
+
</td>
|
|
50
|
+
<td>Select an integration to add.</td>
|
|
51
|
+
</tr>
|
|
52
|
+
</tbody>
|
|
51
53
|
</table>
|
|
52
54
|
|
|
53
55
|
<h2>Add Integrations</h2>
|
|
54
56
|
|
|
55
57
|
<table class="commands">
|
|
56
|
-
<
|
|
57
|
-
<
|
|
58
|
-
<
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<
|
|
68
|
-
<
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
<
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<
|
|
78
|
-
<
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
<
|
|
88
|
-
<
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
<
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<code>npm run qwik add static</code>
|
|
99
|
-
</td>
|
|
100
|
-
<td>
|
|
101
|
-
<a
|
|
102
|
-
href="https://qwik.builder.io/qwikcity/static-site-generation/overview/"
|
|
103
|
-
target="_blank"
|
|
104
|
-
>
|
|
105
|
-
Static Site Generation (SSG)
|
|
106
|
-
</a>
|
|
107
|
-
</td>
|
|
108
|
-
</tr>
|
|
58
|
+
<tbody>
|
|
59
|
+
<tr>
|
|
60
|
+
<td>
|
|
61
|
+
<code>npm run qwik add azure-swa</code>
|
|
62
|
+
</td>
|
|
63
|
+
<td>
|
|
64
|
+
<a href="https://learn.microsoft.com/azure/static-web-apps/overview" target="_blank">
|
|
65
|
+
Azure Static Web Apps
|
|
66
|
+
</a>
|
|
67
|
+
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
<tr>
|
|
70
|
+
<td>
|
|
71
|
+
<code>npm run qwik add cloudflare-pages</code>
|
|
72
|
+
</td>
|
|
73
|
+
<td>
|
|
74
|
+
<a href="https://developers.cloudflare.com/pages" target="_blank">
|
|
75
|
+
Cloudflare Pages Server
|
|
76
|
+
</a>
|
|
77
|
+
</td>
|
|
78
|
+
</tr>
|
|
79
|
+
<tr>
|
|
80
|
+
<td>
|
|
81
|
+
<code>npm run qwik add express</code>
|
|
82
|
+
</td>
|
|
83
|
+
<td>
|
|
84
|
+
<a href="https://expressjs.com/" target="_blank">
|
|
85
|
+
Nodejs Express Server
|
|
86
|
+
</a>
|
|
87
|
+
</td>
|
|
88
|
+
</tr>
|
|
89
|
+
<tr>
|
|
90
|
+
<td>
|
|
91
|
+
<code>npm run qwik add netlify-edge</code>
|
|
92
|
+
</td>
|
|
93
|
+
<td>
|
|
94
|
+
<a href="https://docs.netlify.com/" target="_blank">
|
|
95
|
+
Netlify Edge Functions
|
|
96
|
+
</a>
|
|
97
|
+
</td>
|
|
98
|
+
</tr>
|
|
99
|
+
</tbody>
|
|
109
100
|
</table>
|
|
110
101
|
|
|
111
102
|
<h2>Community</h2>
|
|
@@ -140,6 +131,9 @@ export default component$(() => {
|
|
|
140
131
|
<Link class="mindblow" href="/flower/">
|
|
141
132
|
Blow my mind 🤯
|
|
142
133
|
</Link>
|
|
134
|
+
<Link class="todolist" href="/todolist/">
|
|
135
|
+
TODO demo 📝
|
|
136
|
+
</Link>
|
|
143
137
|
</div>
|
|
144
138
|
);
|
|
145
139
|
});
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { component$, Slot } from '@builder.io/qwik';
|
|
2
|
+
import { loader$ } from '@builder.io/qwik-city';
|
|
3
|
+
|
|
2
4
|
import Header from '../components/header/header';
|
|
3
5
|
|
|
6
|
+
export const serverTimeLoader = loader$(() => {
|
|
7
|
+
return {
|
|
8
|
+
date: new Date().toISOString(),
|
|
9
|
+
};
|
|
10
|
+
});
|
|
11
|
+
|
|
4
12
|
export default component$(() => {
|
|
13
|
+
const serverTime = serverTimeLoader.use();
|
|
5
14
|
return (
|
|
6
15
|
<>
|
|
7
16
|
<main>
|
|
@@ -13,6 +22,7 @@ export default component$(() => {
|
|
|
13
22
|
<footer>
|
|
14
23
|
<a href="https://www.builder.io/" target="_blank">
|
|
15
24
|
Made with ♡ by Builder.io
|
|
25
|
+
<div>{serverTime.value.date}</div>
|
|
16
26
|
</a>
|
|
17
27
|
</footer>
|
|
18
28
|
</>
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { component$ } from '@builder.io/qwik';
|
|
2
|
+
import { DocumentHead, loader$, action$, zod$, z, Form } from '@builder.io/qwik-city';
|
|
3
|
+
|
|
4
|
+
interface ListItem {
|
|
5
|
+
text: string;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export const list: ListItem[] = [];
|
|
9
|
+
|
|
10
|
+
export const listLoader = loader$(() => {
|
|
11
|
+
return list;
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const addToListAction = action$(
|
|
15
|
+
(item) => {
|
|
16
|
+
list.push(item);
|
|
17
|
+
return {
|
|
18
|
+
success: true,
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
zod$({
|
|
22
|
+
text: z.string(),
|
|
23
|
+
})
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
export default component$(() => {
|
|
27
|
+
const list = listLoader.use();
|
|
28
|
+
const action = addToListAction.use();
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<>
|
|
32
|
+
<h1>Form Action TODO list</h1>
|
|
33
|
+
<ul>
|
|
34
|
+
{list.value.map((item) => (
|
|
35
|
+
<li>{item.text}</li>
|
|
36
|
+
))}
|
|
37
|
+
</ul>
|
|
38
|
+
<Form action={action} spaReset>
|
|
39
|
+
<input type="text" name="text" required />
|
|
40
|
+
<button type="submit">Add item</button>
|
|
41
|
+
</Form>
|
|
42
|
+
<p>This little app works even when JavaScript is disabled.</p>
|
|
43
|
+
</>
|
|
44
|
+
);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
export const head: DocumentHead = {
|
|
48
|
+
title: 'Qwik Flower',
|
|
49
|
+
};
|
|
@@ -2,7 +2,7 @@ import { component$, Slot, useStyles$ } from '@builder.io/qwik';
|
|
|
2
2
|
import type { DocumentHead } from '@builder.io/qwik-city';
|
|
3
3
|
import Menu from '~/components/menu/menu';
|
|
4
4
|
import OnThisPage from '~/components/on-this-page/on-this-page';
|
|
5
|
-
import styles from '
|
|
5
|
+
import styles from '../docs.css?inline';
|
|
6
6
|
|
|
7
7
|
export default component$(() => {
|
|
8
8
|
useStyles$(styles);
|
|
@@ -32,20 +32,20 @@
|
|
|
32
32
|
"release": "np"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@builder.io/qwik": "0.17.
|
|
35
|
+
"@builder.io/qwik": "0.17.5",
|
|
36
36
|
"@types/eslint": "8.21.0",
|
|
37
|
-
"@types/node": "^18.11.
|
|
37
|
+
"@types/node": "^18.11.19",
|
|
38
38
|
"@types/node-fetch": "latest",
|
|
39
|
-
"@typescript-eslint/eslint-plugin": "5.
|
|
40
|
-
"@typescript-eslint/parser": "5.
|
|
39
|
+
"@typescript-eslint/eslint-plugin": "5.51.0",
|
|
40
|
+
"@typescript-eslint/parser": "5.51.0",
|
|
41
41
|
"eslint-plugin-qwik": "latest",
|
|
42
42
|
"eslint": "8.33.0",
|
|
43
43
|
"node-fetch": "3.3.0",
|
|
44
|
-
"undici": "5.
|
|
44
|
+
"undici": "5.18.0",
|
|
45
45
|
"np": "7.6.1",
|
|
46
46
|
"prettier": "2.8.3",
|
|
47
47
|
"typescript": "4.9.5",
|
|
48
|
-
"vite": "4.
|
|
48
|
+
"vite": "4.1.1"
|
|
49
49
|
},
|
|
50
50
|
"__qwik__": {
|
|
51
51
|
"displayName": "Component library",
|