-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(create-qwik): add yargs in create-qwik for better DX #4932
Conversation
👷 Deploy request for qwik-insights pending review.Visit the deploys page to approve it
|
Run & review this pull request in StackBlitz Codeflow. |
Hi @MrWaip I've also changed some minor things on the above commits just to have it a bit aligned. @shairez: testing instructions added and desc updated. if you could have a look at it as well, that would be great 🙏 |
@zanettin Hi! Thanks for your adjustments. Now I have an understanding of what PR should look like :D You also ordered the imports. It seems to me that linter should be doing this. For example, such a plugin https://github.com/lydell/eslint-plugin-simple-import-sort |
@zanettin |
@zanettin Should I try to fix the bug with installing dependencies? P.S. I try to run And what to do next with PR?) |
Hi @MrWaip if you have time to do the typings and try to fix the install issue that would be great! otherwise i will try to have a look at it. thx again 🙏 |
@zanettin Hi! Can you review last changes. I have slightly refactored the loading of possible application templates. And added typing to the cli. I couldn't figure out why not all dependencies are installed :( |
Hi @MrWaip 👋 |
@zanettin Can you tell me how to reproduce the bug with the installation of dependencies? If it fails to reproduce, I suggest hiding the installDeps parameter from the yargs options. |
zapis-ekrana-2023-08-20-v-123047_vfz7RF3N.mp4 |
Hi @MrWaip 👋 Guess the issue atm is just, that i've tried the install within the repo. calling the CLI from outside seems to install all deps on this PR 🎉 IMO we could merge this as is and see if smth unexpected happens after deploying it 👍 thx again for your upgrade 🙏 |
@zanettin You changed the use of panic to logging, is that correct? I got the result when I tried to create a project in an already existing directory and got an error in the console. But after that, the script did not stop and started installing dependencies. This is strange behavior. |
good point. guess i've missed to add the cancel part after logging. will adjust that 👍 |
@zanettin Is PR ready to merge? |
Hi @MrWaip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just found some tiny leftovers but now it looks good on my end 🎉 thx again for your time @MrWaip and welcome in the contributors family 🤩
Thank you for help |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@builder.io/qwik](https://qwik.builder.io/) ([source](https://togithub.com/BuilderIO/qwik)) | [`1.2.7` -> `1.2.10`](https://renovatebot.com/diffs/npm/@builder.io%2fqwik/1.2.7/1.2.10) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@builder.io%2fqwik/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@builder.io%2fqwik/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@builder.io%2fqwik/1.2.7/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@builder.io%2fqwik/1.2.7/1.2.10?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>BuilderIO/qwik (@​builder.io/qwik)</summary> ### [`v1.2.10`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.10) [Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.9...v1.2.10) ##### What's Changed - fix: docs/cookbook/index.mdx link to portal page by [@​Craiqser](https://togithub.com/Craiqser) in [https://github.com/BuilderIO/qwik/pull/5022](https://togithub.com/BuilderIO/qwik/pull/5022) - qwik-labs: fix prettier estree error by [@​gioboa](https://togithub.com/gioboa) in [https://github.com/BuilderIO/qwik/pull/5027](https://togithub.com/BuilderIO/qwik/pull/5027) - insights: add existsSync check by [@​gioboa](https://togithub.com/gioboa) in [https://github.com/BuilderIO/qwik/pull/5026](https://togithub.com/BuilderIO/qwik/pull/5026) - chore(insights): correct DB migration script by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/5024](https://togithub.com/BuilderIO/qwik/pull/5024) - fix(core): Report errors to browser global error handler by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/5029](https://togithub.com/BuilderIO/qwik/pull/5029) - style(pnpm-lock.yaml): synchronize lockfile version with version of pnpm in use by [@​jensmeindertsma](https://togithub.com/jensmeindertsma) in [https://github.com/BuilderIO/qwik/pull/4905](https://togithub.com/BuilderIO/qwik/pull/4905) - fix(starter): missing key attrib on `routerHead` component on `1.2.9` by [@​zanettin](https://togithub.com/zanettin) in [https://github.com/BuilderIO/qwik/pull/5025](https://togithub.com/BuilderIO/qwik/pull/5025) - 1.2.10 by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/5035](https://togithub.com/BuilderIO/qwik/pull/5035) **Full Changelog**: QwikDev/qwik@v1.2.9...v1.2.10 ### [`v1.2.9`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.9) [Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.8...v1.2.9) #### What's Changed - docs: Vercel environment variables by [@​gioboa](https://togithub.com/gioboa) in [https://github.com/BuilderIO/qwik/pull/4993](https://togithub.com/BuilderIO/qwik/pull/4993) - refactor(create-qwik): add yargs in create-qwik for better DX by [@​MrWaip](https://togithub.com/MrWaip) in [https://github.com/BuilderIO/qwik/pull/4932](https://togithub.com/BuilderIO/qwik/pull/4932) - feat(adapter): firebase adapter by [@​leifermendez](https://togithub.com/leifermendez) in [https://github.com/BuilderIO/qwik/pull/4778](https://togithub.com/BuilderIO/qwik/pull/4778) - Pr chore by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4994](https://togithub.com/BuilderIO/qwik/pull/4994) - fix: Link component `reload` functionality by [@​zanettin](https://togithub.com/zanettin) in [https://github.com/BuilderIO/qwik/pull/4917](https://togithub.com/BuilderIO/qwik/pull/4917) - docs(qwikcity): html attributes docs page by [@​bab2683](https://togithub.com/bab2683) in [https://github.com/BuilderIO/qwik/pull/4961](https://togithub.com/BuilderIO/qwik/pull/4961) - feat(qwik-city): add a way to get server-side env vars from `onStaticGenerate` by [@​Kocal](https://togithub.com/Kocal) in [https://github.com/BuilderIO/qwik/pull/4912](https://togithub.com/BuilderIO/qwik/pull/4912) - fix(eslint): allow eslint to accept FunctionComponent inside lexical scopes by [@​nynevi](https://togithub.com/nynevi) in [https://github.com/BuilderIO/qwik/pull/4900](https://togithub.com/BuilderIO/qwik/pull/4900) - refactor(cloudflare-pages): allow PlatformCloudflarePages.env to be undefined by [@​bangonkali](https://togithub.com/bangonkali) in [https://github.com/BuilderIO/qwik/pull/4941](https://togithub.com/BuilderIO/qwik/pull/4941) - docs: dynamic alt image by [@​the-r3aper7](https://togithub.com/the-r3aper7) in [https://github.com/BuilderIO/qwik/pull/4999](https://togithub.com/BuilderIO/qwik/pull/4999) - docs: add responsive image recipe by [@​fabiobiondi](https://togithub.com/fabiobiondi) in [https://github.com/BuilderIO/qwik/pull/5002](https://togithub.com/BuilderIO/qwik/pull/5002) - docs: community project update image url by [@​the-r3aper7](https://togithub.com/the-r3aper7) in [https://github.com/BuilderIO/qwik/pull/5000](https://togithub.com/BuilderIO/qwik/pull/5000) - docs: enhance image documentation by [@​fabiobiondi](https://togithub.com/fabiobiondi) in [https://github.com/BuilderIO/qwik/pull/5005](https://togithub.com/BuilderIO/qwik/pull/5005) - added qwik-meet in showcase by [@​harshmangalam](https://togithub.com/harshmangalam) in [https://github.com/BuilderIO/qwik/pull/5007](https://togithub.com/BuilderIO/qwik/pull/5007) - docs: Update index.mdx by [@​the-r3aper7](https://togithub.com/the-r3aper7) in [https://github.com/BuilderIO/qwik/pull/5010](https://togithub.com/BuilderIO/qwik/pull/5010) - docs: update side bar by [@​the-r3aper7](https://togithub.com/the-r3aper7) in [https://github.com/BuilderIO/qwik/pull/5009](https://togithub.com/BuilderIO/qwik/pull/5009) - fix(qwik-city): enable matching route and pathname with an optional t… by [@​pleclech](https://togithub.com/pleclech) in [https://github.com/BuilderIO/qwik/pull/5004](https://togithub.com/BuilderIO/qwik/pull/5004) - docs(image): add details by [@​fabiobiondi](https://togithub.com/fabiobiondi) in [https://github.com/BuilderIO/qwik/pull/5014](https://togithub.com/BuilderIO/qwik/pull/5014) - insights(feat): qwikInsights Vite Plugin + save symbol details by [@​gioboa](https://togithub.com/gioboa) in [https://github.com/BuilderIO/qwik/pull/5011](https://togithub.com/BuilderIO/qwik/pull/5011) - chore(insights): Remove deprecated InferModel by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/5018](https://togithub.com/BuilderIO/qwik/pull/5018) - fix: add options to qwik vite plugin by [@​jessezhang91](https://togithub.com/jessezhang91) in [https://github.com/BuilderIO/qwik/pull/4983](https://togithub.com/BuilderIO/qwik/pull/4983) - 1.2.9 by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/5021](https://togithub.com/BuilderIO/qwik/pull/5021) #### New Contributors - [@​MrWaip](https://togithub.com/MrWaip) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4932](https://togithub.com/BuilderIO/qwik/pull/4932) - [@​bab2683](https://togithub.com/bab2683) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4961](https://togithub.com/BuilderIO/qwik/pull/4961) - [@​Kocal](https://togithub.com/Kocal) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4912](https://togithub.com/BuilderIO/qwik/pull/4912) - [@​nynevi](https://togithub.com/nynevi) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4900](https://togithub.com/BuilderIO/qwik/pull/4900) - [@​bangonkali](https://togithub.com/bangonkali) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4941](https://togithub.com/BuilderIO/qwik/pull/4941) - [@​pleclech](https://togithub.com/pleclech) made their first contribution in [https://github.com/BuilderIO/qwik/pull/5004](https://togithub.com/BuilderIO/qwik/pull/5004) **Full Changelog**: QwikDev/qwik@v1.2.8...v1.2.9 ### [`v1.2.8`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.8) [Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.7...v1.2.8) ##### What's Changed - docs: cleanup by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4945](https://togithub.com/BuilderIO/qwik/pull/4945) - chore: update issue templates by [@​shairez](https://togithub.com/shairez) in [https://github.com/BuilderIO/qwik/pull/4962](https://togithub.com/BuilderIO/qwik/pull/4962) - docs: correctly generate edit URLs for github by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4963](https://togithub.com/BuilderIO/qwik/pull/4963) - Typo in FAQ by [@​ThatJSGuy](https://togithub.com/ThatJSGuy) in [https://github.com/BuilderIO/qwik/pull/4953](https://togithub.com/BuilderIO/qwik/pull/4953) - feat(qwik-city): Show current route in container by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4954](https://togithub.com/BuilderIO/qwik/pull/4954) - fix(docs): add overview link by [@​fabiobiondi](https://togithub.com/fabiobiondi) in [https://github.com/BuilderIO/qwik/pull/4958](https://togithub.com/BuilderIO/qwik/pull/4958) - Towards personalized SSG by [@​eric-burel](https://togithub.com/eric-burel) in [https://github.com/BuilderIO/qwik/pull/4951](https://togithub.com/BuilderIO/qwik/pull/4951) - fix(qwik-auth): remove qaction param from defaultCallbackUrl by [@​ulic75](https://togithub.com/ulic75) in [https://github.com/BuilderIO/qwik/pull/4936](https://togithub.com/BuilderIO/qwik/pull/4936) - fix(qwik-city): cleanup matchRouteRequest by [@​gioboa](https://togithub.com/gioboa) in [https://github.com/BuilderIO/qwik/pull/4967](https://togithub.com/BuilderIO/qwik/pull/4967) - fix(auth): Cookies get updated if session returns Updated Cookies by [@​aliyss](https://togithub.com/aliyss) in [https://github.com/BuilderIO/qwik/pull/4960](https://togithub.com/BuilderIO/qwik/pull/4960) - cli(library): fix release script by [@​fabiobiondi](https://togithub.com/fabiobiondi) in [https://github.com/BuilderIO/qwik/pull/4957](https://togithub.com/BuilderIO/qwik/pull/4957) - docs: Improved media, fixed height thumbnails by [@​the-r3aper7](https://togithub.com/the-r3aper7) in [https://github.com/BuilderIO/qwik/pull/4970](https://togithub.com/BuilderIO/qwik/pull/4970) - feat(qwik-city): Adding Script Tag to Head Tag via DocumentHead by [@​Harkunwar](https://togithub.com/Harkunwar) in [https://github.com/BuilderIO/qwik/pull/3230](https://togithub.com/BuilderIO/qwik/pull/3230) - fix: fix cookie parsing to allow invalid uri encoding by [@​jessezhang91](https://togithub.com/jessezhang91) in [https://github.com/BuilderIO/qwik/pull/4915](https://togithub.com/BuilderIO/qwik/pull/4915) - fix(qwikcity): respect X-Forwarded-Host header by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4982](https://togithub.com/BuilderIO/qwik/pull/4982) - chore(docs): fix broken cloudflare build by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4984](https://togithub.com/BuilderIO/qwik/pull/4984) - feat(insights): manage routes and timeline metrics by [@​gioboa](https://togithub.com/gioboa) in [https://github.com/BuilderIO/qwik/pull/4971](https://togithub.com/BuilderIO/qwik/pull/4971) - feat: complex form data by [@​ulic75](https://togithub.com/ulic75) in [https://github.com/BuilderIO/qwik/pull/4634](https://togithub.com/BuilderIO/qwik/pull/4634) - docs(portals): update the portal cookbook example by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4968](https://togithub.com/BuilderIO/qwik/pull/4968) - chore(insights): fix build by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4986](https://togithub.com/BuilderIO/qwik/pull/4986) - fix: only show qwik eslint errors in dev mode by [@​jessezhang91](https://togithub.com/jessezhang91) in [https://github.com/BuilderIO/qwik/pull/4985](https://togithub.com/BuilderIO/qwik/pull/4985) - docs: some progress on the update of the react-cheat-sheet section re… by [@​nsdonato](https://togithub.com/nsdonato) in [https://github.com/BuilderIO/qwik/pull/4976](https://togithub.com/BuilderIO/qwik/pull/4976) - chore(docs): Remove home-page from SSR to improve TTFB metric by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4988](https://togithub.com/BuilderIO/qwik/pull/4988) - Pr no ssr by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4989](https://togithub.com/BuilderIO/qwik/pull/4989) - cli: Add new Markdown route command by [@​brandonpittman](https://togithub.com/brandonpittman) in [https://github.com/BuilderIO/qwik/pull/4955](https://togithub.com/BuilderIO/qwik/pull/4955) - docs: update Prisma limitations by [@​ruheni](https://togithub.com/ruheni) in [https://github.com/BuilderIO/qwik/pull/4241](https://togithub.com/BuilderIO/qwik/pull/4241) - 1.2.8 by [@​mhevery](https://togithub.com/mhevery) in [https://github.com/BuilderIO/qwik/pull/4992](https://togithub.com/BuilderIO/qwik/pull/4992) ##### New Contributors - [@​ThatJSGuy](https://togithub.com/ThatJSGuy) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4953](https://togithub.com/BuilderIO/qwik/pull/4953) - [@​fabiobiondi](https://togithub.com/fabiobiondi) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4958](https://togithub.com/BuilderIO/qwik/pull/4958) - [@​eric-burel](https://togithub.com/eric-burel) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4951](https://togithub.com/BuilderIO/qwik/pull/4951) - [@​aliyss](https://togithub.com/aliyss) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4960](https://togithub.com/BuilderIO/qwik/pull/4960) - [@​brandonpittman](https://togithub.com/brandonpittman) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4955](https://togithub.com/BuilderIO/qwik/pull/4955) - [@​ruheni](https://togithub.com/ruheni) made their first contribution in [https://github.com/BuilderIO/qwik/pull/4241](https://togithub.com/BuilderIO/qwik/pull/4241) **Full Changelog**: QwikDev/qwik@v1.2.7...v1.2.8 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 9pm on sunday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/ascorbic/unpic-img). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi42NC44IiwidXBkYXRlZEluVmVyIjoiMzYuNjQuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
What is it?
Description
closes #4353
Use cases and why
Provides the opportunity to create a new app using a single command instead of using the interactive guide.
CLI
Testing instructions
Current state
pnpm cli
and use the interactive CLI to test everythingpackage.json
exchange the script with the keycli
with"pnpm build.cli && node packages/create-qwik/dist/create-qwik.cjs base ./qwik-app && tsm scripts/validate-cli.ts --copy-local-qwik-dist",
qwik-app
directory is created, dependencies are installed and app can be launchedbasic
and retestNew CLI Options
package.json
exchange the script with the keycli
with"pnpm build.cli && node packages/create-qwik/dist/create-qwik.cjs base ./qwik-app --help && tsm scripts/validate-cli.ts --copy-local-qwik-dist",
create-qwik.cjs
script in the cmd aboveChecklist: