Skip to content
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

feat(adapter): aws starter adapter #4390

Merged
merged 14 commits into from Jun 11, 2023
Merged

Conversation

leifermendez
Copy link
Contributor

@leifermendez leifermendez commented Jun 1, 2023

Desktop.22-3-2023.11-58-39.mp4

https://yzw42asu7a.execute-api.us-east-1.amazonaws.com/
This is the continuation of it #1784
npm run qwik add aws

  • Improve

@stackblitz
Copy link

stackblitz bot commented Jun 1, 2023

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@leifermendez leifermendez mentioned this pull request Jun 1, 2023
2 tasks
Copy link
Collaborator

@zanettin zanettin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

first of all: you rock @leifermendez 😍 so cool!!

just had a qwik look at it and i got this error while testing it locally:

node_modules/.pnpm/serverless-plugin-qwik@1.0.5/node_modules/serverless-plugin-qwik: Running postinstall script, failed in 64ms
.../node_modules/serverless-plugin-qwik postinstall$ node ./update-yaml.js
│ node:internal/fs/utils:693
│     throw new ERR_INVALID_ARG_TYPE(propName, ['string', 'Buffer', 'URL'], path);
│     ^
│ TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undef
│     at Object.openSync (node:fs:593:10)
│     at Object.readFileSync (node:fs:469:35)
│     at addNewArrayItem (/Users/zanettin/development/qwik/qwik-app/node_modules/.pnpm/serverless-plugin-qwik@1.0.5/node_modul
│     at Object.<anonymous> (/Users/zanettin/development/qwik/qwik-app/node_modules/.pnpm/serverless-plugin-qwik@1.0.5/node_mo
│     at Module._compile (node:internal/modules/cjs/loader:1254:14)
│     at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
│     at Module.load (node:internal/modules/cjs/loader:1117:32)
│     at Module._load (node:internal/modules/cjs/loader:958:12)
│     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
│     at node:internal/main/run_main_module:23:47 {
│   code: 'ERR_INVALID_ARG_TYPE'
│ }
│ Node.js v18.15.0
└─ Failed in 64ms at /Users/zanettin/development/qwik/qwik-app/node_modules/.pnpm/serverless-plugin-qwik@1.0.5/node_modules/serverless-plugin-qwik
 ELIFECYCLE  Command failed with exit code 1.


 smth u'r aware of? will try it again later 👍

 and i left some questions you maybe already thought about 👼
 maybe it's a dependency of any other pkg (since the install failed i was not able to validate it), but i'd expect to see an dev install of serverless-offline.

 thanks once again 🙏

starters/adapters/aws/serverless.yml Outdated Show resolved Hide resolved
"description": "AWS Lambda",
"scripts": {
"build.server": "vite build -c adapters/aws-lambda/vite.config.ts",
"serverless:preview": "serverless offline"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imo a deploy and remove cmd would be nice as well 👼 but would require a local aws profile

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did not add the serverless:deploy because of that point is necessary AWS profile. I think maybe explain on the docs

@manucorporat
Copy link
Contributor

do we need thr adapter.js? could all be part of entry.aws.ts? also wonder if we need express, it's only overhead at this point. Google Cloud Run is based in node, but without express!

@leifermendez
Copy link
Contributor Author

do we need thr adapter.js? could all be part of entry.aws.ts? also wonder if we need express, it's only overhead at this point. Google Cloud Run is based in node, but without express!

I'll investigate about it

@manucorporat
Copy link
Contributor

Also, thinking it should be called adapter/aws-lambda, aws has so many products that we will never know... also fits better with other adapters like: google-cloud-run, cloudflares-pages, etc...

@manucorporat
Copy link
Contributor

Looking forward to merge this in the 1.2.0 window!

@leifermendez
Copy link
Contributor Author

Looking forward to merge this in the 1.2.0 window!

Perfect! I was yesterday working with it. Today I'll continue.
btw check your discord when you can

// Use Qwik City's 404 handler
app.use(notFound);

export const qwikApp = serverlessExpress({ app });
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

image

@leifermendez
Copy link
Contributor Author

@manucorporat

@zanettin
Copy link
Collaborator

zanettin commented Jun 8, 2023

Hi @leifermendez 👋
Thanks a lot for all the updates <3 it's also working on my end now 🙏

maybe u want to consider also any of these inputs:

  • pnpm serverless:preview fails if pnpm build was not executed beforehand. imo we should change the npm script to build first and then run sls similar to what pnpm preview does
  • what was the reason to switch the filename to entry_aws-lambda.tsx instead of entry.aws-lambda.tsx? the entry file for a cloudflare config would look like entry.cloudflare-pages.tsx as well
  • what do you think about extending/updating the serverless.yml file with/on these keys?
    • service: qwik-lambda-app
    • provider.region: us-west-1
    • provider.memorySize: 128
    • provider.timeout: 10
    • provider.stage: dev

can also give u a hand if needed 👍
thanks a lot once again 🙏

@leifermendez
Copy link
Contributor Author

leifermendez commented Jun 9, 2023

Hi @leifermendez 👋 Thanks a lot for all the updates <3 it's also working on my end now 🙏

maybe u want to consider also any of these inputs:

  • pnpm serverless:preview fails if pnpm build was not executed beforehand. imo we should change the npm script to build first and then run sls similar to what pnpm preview does

  • what was the reason to switch the filename to entry_aws-lambda.tsx instead of entry.aws-lambda.tsx? the entry file for a cloudflare config would look like entry.cloudflare-pages.tsx as well

  • what do you think about extending/updating the serverless.yml file with/on these keys?

    • service: qwik-lambda-app
    • provider.region: us-west-1
    • provider.memorySize: 128
    • provider.timeout: 10
    • provider.stage: dev

can also give u a hand if needed 👍 thanks a lot once again 🙏

Thanks for the feedback
About it entry_aws-lambda.tsx the situation is because AWS handle the entry point with format separated by dot.
AWS_INFO

Example: I need to call qwikApp function inside entry.aws-lambda.tsx in this case aws understand entry ==> aws-lambda but really my function is qwikApp

The rest of the feedback I'll work today

@zanettin
Copy link
Collaborator

zanettin commented Jun 9, 2023

ah yes 🙈 true. thanks

@leifermendez
Copy link
Contributor Author

ah yes 🙈 true. thanks

Done 😎

@manucorporat
Copy link
Contributor

Ready to merge @leifermendez ?

@leifermendez
Copy link
Contributor Author

Ready to merge @leifermendez ?

Ohh yeah!

@manucorporat manucorporat merged commit e78368f into QwikDev:main Jun 11, 2023
19 checks passed
@manucorporat
Copy link
Contributor

MERGED! this is amazing @leifermendez! gonna make some good noise with with in the 1.2.0 release

@leifermendez
Copy link
Contributor Author

MERGED! this is amazing @leifermendez! gonna make some good noise with with in the 1.2.0 release

Thanks 🙏 for your support @manucorporat @zanettin 💪

@zanettin
Copy link
Collaborator

yeah!! congrats @leifermendez 🎉 and thx a lot!!

@KenParsons
Copy link

Thank you all for the hard work - this is amazing!!

kodiakhq bot pushed a commit to ascorbic/unpic-img that referenced this pull request Jul 9, 2023
[![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.1.5` -> `1.2.6`](https://renovatebot.com/diffs/npm/@builder.io%2fqwik/1.1.5/1.2.6) | [![age](https://badges.renovateapi.com/packages/npm/@builder.io%2fqwik/1.2.6/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/@builder.io%2fqwik/1.2.6/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/@builder.io%2fqwik/1.2.6/compatibility-slim/1.1.5)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/@builder.io%2fqwik/1.2.6/confidence-slim/1.1.5)](https://docs.renovatebot.com/merge-confidence/) |

---

### Release Notes

<details>
<summary>BuilderIO/qwik (@&#8203;builder.io/qwik)</summary>

### [`v1.2.6`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.6)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.5...v1.2.6)

##### What's Changed

-   feat(server-functions): routeAction$ validation based on RequestEvent by [@&#8203;tzdesign](https://togithub.com/tzdesign) in [QwikDev/qwik#4727
-   fix: visual cms starter by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4731
-   feat: add jokes by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4734
-   docs: fix example in Best Practices Guide by [@&#8203;octoper](https://togithub.com/octoper) in [QwikDev/qwik#4733
-   fix: force spa-init into client symbols in dev builds by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4738
-   fix: cli accept empty folder by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4740
-   fix: configure jsx import by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4741
-   chore: update deps by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4742
-   fix: case for images by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4744
-   1.2.6 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4743

##### New Contributors

-   [@&#8203;octoper](https://togithub.com/octoper) made their first contribution in [QwikDev/qwik#4733

**Full Changelog**: QwikDev/qwik@v1.2.5...v1.2.6

### [`v1.2.5`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.5)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.4...v1.2.5)

#### What's Changed

-   Insights by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4707
-   docs(cart): remove padding-left from cart overlay by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4705
-   docs: correct the capture index for qrl by [@&#8203;wtlin1228](https://togithub.com/wtlin1228) in [QwikDev/qwik#4706
-   fix: add .pnpm-store to .prettierignore by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4710
-   docs: add route handler menu + ecpsystem case studies  by [@&#8203;hamatoyogi](https://togithub.com/hamatoyogi) in [QwikDev/qwik#4713
-   fix(aws): bundle all without express by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4691
-   fix: multiple cookies in azure by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4716
-   fix: vite csr mode by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4719
-   fix: clear attribute when undefined by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4721
-   docs: fixed typo in labs index.mdx by [@&#8203;Craiqser](https://togithub.com/Craiqser) in [QwikDev/qwik#4573
-   fix: routes plugins with tsx by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4726
-   fix: update pandacss dep by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4725
-   1.2.5 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4729
-   fix(vite): \n escaping in  vite plugin by [@&#8203;FlatMapIO](https://togithub.com/FlatMapIO) in [QwikDev/qwik#4730

**Full Changelog**: QwikDev/qwik@v1.2.4...v1.2.5

### [`v1.2.4`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.4)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.3...v1.2.4)

##### What's Changed

-   fix(eslint): useMethod rule for regular functions by [@&#8203;shairez](https://togithub.com/shairez) in [QwikDev/qwik#4666
-   fix: typo by [@&#8203;yaikohi](https://togithub.com/yaikohi) in [QwikDev/qwik#4655
-   fix: the property parameter can be symbol by [@&#8203;wtlin1228](https://togithub.com/wtlin1228) in [QwikDev/qwik#4668
-   docs css: fix shop cart floating button by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4669
-   shop: added colors to icons and small changes by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#4670
-   doc: optional font by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4672
-   fix: image tools improvements by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4671
-   perf: preload css fonts by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4673
-   chore: update deps by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4674
-   fix(optimizer): ssr transform for rollup by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4675
-   fix: add loc to symbol manifest by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4676
-   fix: add crossorigin attribute by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4677
-   docs(request-handling): cookie has method by [@&#8203;tzdesign](https://togithub.com/tzdesign) in [QwikDev/qwik#4632
-   feat(labs): add clustering to symbols by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4648
-   fix: inlined signals in library mode by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4684
-   fix: always try relative path for mapped hooks by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4686
-   fix: configurable getOrigin for node servers by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4687
-   fix: staticFile() api in node middleware by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4693
-   fix(entry.deno.ts): fix wrong parameters by [@&#8203;arkhvoid](https://togithub.com/arkhvoid) in [QwikDev/qwik#4696
-   fix: migrate to modern Deno Server by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4697
-   fix: add vanilla node server by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4699
-   1.2.4 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4690
-   docs(mdx): fixed path to counter component by [@&#8203;YannickFricke](https://togithub.com/YannickFricke) in [QwikDev/qwik#4680
-   chore: add aws badge by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4703
-   chore: fix \n is pure text in console by [@&#8203;minsoo-web](https://togithub.com/minsoo-web) in [QwikDev/qwik#4700
-   fix: PROTOCOL and HOST header are case insensitive by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4704

##### New Contributors

-   [@&#8203;yaikohi](https://togithub.com/yaikohi) made their first contribution in [QwikDev/qwik#4655
-   [@&#8203;tzdesign](https://togithub.com/tzdesign) made their first contribution in [QwikDev/qwik#4632
-   [@&#8203;arkhvoid](https://togithub.com/arkhvoid) made their first contribution in [QwikDev/qwik#4696
-   [@&#8203;YannickFricke](https://togithub.com/YannickFricke) made their first contribution in [QwikDev/qwik#4680
-   [@&#8203;minsoo-web](https://togithub.com/minsoo-web) made their first contribution in [QwikDev/qwik#4700

**Full Changelog**: QwikDev/qwik@v1.2.3...v1.2.4

### [`v1.2.3`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.3)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.2...v1.2.3)

#### What's Changed

-   docs(utilities): adding documentation for the `new` cli command  by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#4649
-   docs: aws lambda documentation by [@&#8203;leifermendez](https://togithub.com/leifermendez) in [QwikDev/qwik#4642
-   fix: server$ error when request is closed by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4653
-   docs: resumable by [@&#8203;aboudard](https://togithub.com/aboudard) in [QwikDev/qwik#2780
-   fix: add dependencies to pkg by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4656
-   fix: navigation crash with plugins by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4657
-   fix: unit test jsx image by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4660
-   docs: ecosystem improvements by [@&#8203;the-r3aper7](https://togithub.com/the-r3aper7) in [QwikDev/qwik#4659
-   fix(slot): rendering variable slot projection by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4661
-   fix: svg rendering + test by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4663
-   1.2.3 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4662

#### New Contributors

-   [@&#8203;aboudard](https://togithub.com/aboudard) made their first contribution in [QwikDev/qwik#2780

**Full Changelog**: QwikDev/qwik@v1.2.2...v1.2.3

### [`v1.2.2`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.2)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.1...v1.2.2)

#### What's Changed

-   fix: csstypes dep by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4644
-   feat(qwik): encode the manifest hash into the container. by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4647

**Full Changelog**: QwikDev/qwik@v1.2.1...v1.2.2

### [`v1.2.1`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.1)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.2.0...v1.2.1)

#### What's Changed

-   docs header: add shop link by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4641
-   fix: tailwind integration by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4640

**Full Changelog**: QwikDev/qwik@v1.2.0...v1.2.1

### [`v1.2.0`](https://togithub.com/BuilderIO/qwik/releases/tag/v1.2.0)

[Compare Source](https://togithub.com/BuilderIO/qwik/compare/v1.1.5...v1.2.0)

##### What's Changed

-   docs: fix link to `speculative-module-fetching` by [@&#8203;Craiqser](https://togithub.com/Craiqser) in [QwikDev/qwik#4421
-   fix: use levenshtein distance to provide even better 404 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4389
-   feat: serialize support for Set and Map by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4375
-   \[✨] Critical DX/UX improvement to SPA navigation in Qwik City by [@&#8203;billykwok](https://togithub.com/billykwok) in [QwikDev/qwik#3244
-   docs: add CodeSandbox demo to Modular Forms guide by [@&#8203;fabian-hiller](https://togithub.com/fabian-hiller) in [QwikDev/qwik#4095
-   docs: fix link to `Bundle Optimization` by [@&#8203;Craiqser](https://togithub.com/Craiqser) in [QwikDev/qwik#4418
-   feat: image performance dev tools by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4424
-   fix: slow test by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4431
-   docs: qwiksand-box by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4429
-   fix: image-size dep by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4435
-   docs: fix example to match by [@&#8203;hamatoyogi](https://togithub.com/hamatoyogi) in [QwikDev/qwik#4439
-   chore: remove unused starter file by [@&#8203;adamdbradley](https://togithub.com/adamdbradley) in [QwikDev/qwik#4446
-   fix: set qwik builder counter initial value by [@&#8203;adamdbradley](https://togithub.com/adamdbradley) in [QwikDev/qwik#4449
-   fix: cli background install by [@&#8203;adamdbradley](https://togithub.com/adamdbradley) in [QwikDev/qwik#4450
-   feat: client info API by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4433
-   fix: jsx rendering order by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4458
-   Reorganize .gitignore by [@&#8203;szepeviktor](https://togithub.com/szepeviktor) in [QwikDev/qwik#4456
-   docs: Routing - Change getLocation() to useLocation() by [@&#8203;chsanch](https://togithub.com/chsanch) in [QwikDev/qwik#4454
-   fix: visible task execution after removal by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4459
-   Fix typo in MDX example code by [@&#8203;erikras](https://togithub.com/erikras) in [QwikDev/qwik#4457
-   feat(adapter): aws starter adapter by [@&#8203;leifermendez](https://togithub.com/leifermendez) in [QwikDev/qwik#4390
-   fix(use-on.ts): fixed useOn methods to pass correct eventName to \_useOn by [@&#8203;OrenSayag](https://togithub.com/OrenSayag) in [QwikDev/qwik#4453
-   docs: routeLoader adjustment by [@&#8203;hamatoyogi](https://togithub.com/hamatoyogi) in [QwikDev/qwik#4462
-   fix: root gitignore file by [@&#8203;zanettin](https://togithub.com/zanettin) in [QwikDev/qwik#4460
-   fix: add missing nonce to popstate script by [@&#8203;DustinJSilk](https://togithub.com/DustinJSilk) in [QwikDev/qwik#4468
-   feat: CLI option `new` by [@&#8203;zanettin](https://togithub.com/zanettin) in [QwikDev/qwik#4273
-   Include a woman in the "community" emoji by [@&#8203;erikras](https://togithub.com/erikras) in [QwikDev/qwik#4471
-   docs: Update the middleware / endpoint documentation by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4442
-   fix: prefetch urls with different search queries by [@&#8203;DustinJSilk](https://togithub.com/DustinJSilk) in [QwikDev/qwik#4474
-   refactor: improve DX of "qwik new" by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4472
-   fix: bundling for testing by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4475
-   feat: image vite transform by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4479
-   refactor: containerState for appendHeadStyle by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4478
-   fix: implicitly end middleware chain on response by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4441
-   refactor: visible tasks can run in parallel by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4477
-   Update pages.json by [@&#8203;hexa-it](https://togithub.com/hexa-it) in [QwikDev/qwik#4473
-   feat: update starter dev-tools by [@&#8203;adamdbradley](https://togithub.com/adamdbradley) in [QwikDev/qwik#4483
-   perf: optimizer knows non-variadic components by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4484
-   Add new documentation for deprecated features. by [@&#8203;nsdonato](https://togithub.com/nsdonato) in [QwikDev/qwik#4476
-   feat: add no-unnecessary-condition eslint rule by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4485
-   fix(parse-pathname): path segment encoding by [@&#8203;Varixo](https://togithub.com/Varixo) in [QwikDev/qwik#4486
-   docs(\*): update contribution docs by [@&#8203;Wimpert](https://togithub.com/Wimpert) in [QwikDev/qwik#4490
-   Allow replace state when navigating by [@&#8203;Wimpert](https://togithub.com/Wimpert) in [QwikDev/qwik#4488
-   fix: test bundle mode by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4491
-   fix: 'Numberish' type used for width/height didn't allow % by [@&#8203;KenAKAFrosty](https://togithub.com/KenAKAFrosty) in [QwikDev/qwik#4434
-   fix: missing navigation update to static page by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4493
-   🦄 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4495
-   feat: add image to starter by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4497
-   fix: $localize optimizer bug by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4498
-   docs(adding content security policy to the advanced topics) by [@&#8203;the-zimmermann](https://togithub.com/the-zimmermann) in [QwikDev/qwik#4440
-   fix: clientConn types by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4501
-   Pr docs qwik city by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4494
-   chore: fix dev release by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4511
-   refactor: simplify new templates by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4512
-   fix: cli new interactive by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4516
-   feat: svg optimization with esm by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4526
-   fix: spa redirects from non-pages by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4518
-   docs: fix typos in Overview and State files. by [@&#8203;eecopa](https://togithub.com/eecopa) in [QwikDev/qwik#4524
-   docs: fixed a typo in image link by [@&#8203;avanderpluijm](https://togithub.com/avanderpluijm) in [QwikDev/qwik#4514
-   docs: fixed small typos in qwik-city documentation. by [@&#8203;VinuB-Dev](https://togithub.com/VinuB-Dev) in [QwikDev/qwik#4522
-   feat: pandacss integration by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4515
-   docs: added custom icons  by [@&#8203;LoganAffleck](https://togithub.com/LoganAffleck) in [QwikDev/qwik#4513
-   Update app.tsx in runtime-less example by [@&#8203;primeagen-rustaceans](https://togithub.com/primeagen-rustaceans) in [QwikDev/qwik#4467
-   docs: fix typos by [@&#8203;enesflow](https://togithub.com/enesflow) in [QwikDev/qwik#4500
-   docs: move think-qwik page to concepts route by [@&#8203;moinulmoin](https://togithub.com/moinulmoin) in [QwikDev/qwik#4499
-   feat: frame-perfect and state-backed durable SPA scroll restoration by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4509
-   docs: fixed typos in comments and docs by [@&#8203;ehrencrona](https://togithub.com/ehrencrona) in [QwikDev/qwik#4430
-   doc: add redirect to new think-qwik docs by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4533
-   fix: missing component in layout by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4535
-   fix(router): use encodeURI instead by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4534
-   fix: click to component for svg by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4537
-   fix: regression when navigating to / by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4538
-   fix: save scrollState on visibilitychange by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4536
-   feat: automatically set qwik icons by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4539
-   fix: renderToString mode is always ignored and returns an empty page by [@&#8203;ncharalampidis](https://togithub.com/ncharalampidis) in [QwikDev/qwik#4528
-   fix: image?jsx strip export default by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4541
-   fix(router): redirect handling by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4543
-   chore: update deps by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4540
-   chore: create `@builder.io/qwik-labs` by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4545
-   perf: leverage modulepreload for common chunks by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4546
-   fix: perfect hash scroll by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4550
-   perf: enable navigationPreload by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4548
-   Sidebar style by [@&#8203;LoganAffleck](https://togithub.com/LoganAffleck) in [QwikDev/qwik#4554
-   fix: QwikIntrinsicElements does not include ref by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4555
-   docs: add panda css by [@&#8203;anubra266](https://togithub.com/anubra266) in [QwikDev/qwik#4544
-   feat(insights): create a new insights application by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4547
-   docs: add ss-link to showcase by [@&#8203;Leizhenpeng](https://togithub.com/Leizhenpeng) in [QwikDev/qwik#2689
-   fix: navigationPreload waitUntil by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4561
-   feat: layout shift detection by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4560
-   docs: add resource + fix css by [@&#8203;hamatoyogi](https://togithub.com/hamatoyogi) in [QwikDev/qwik#4562
-   fix(qwik-city buildtime): make generated file ids unique by [@&#8203;hbendev](https://togithub.com/hbendev) in [QwikDev/qwik#4564
-   feat: transform compiler architecture by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4566
-   feat(insights): basic UI for seeing symbols by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4565
-   docs: Add Qwik Labs section by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4568
-   chore: fix broken lock file by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4574
-   fix: route new template by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4576
-   docs(qwik-labs edit link route): fixed qwik labs "edit page" link & so… by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#4571
-   feat(labs): typed routes by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4580
-   docs(labs): add typed routes by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4582
-   chore: fix saving of artifacts to build by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4583
-   chore(labs): fix distribution build by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4584
-   Internal renaming suggestions by [@&#8203;shairez](https://togithub.com/shairez) in [QwikDev/qwik#4581
-   fix(labs): encodeencodeURIComponent for params by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4587
-   feat: panda css use vite-macro plugin by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4588
-   Qwik shop 🎁 by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4225
-   fix: shop cache by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4590
-   docs(advanced & concepts docs improvements): clarity / structure changes by [@&#8203;thejackshelton](https://togithub.com/thejackshelton) in [QwikDev/qwik#4592
-   Add replaceState to link component by [@&#8203;Wimpert](https://togithub.com/Wimpert) in [QwikDev/qwik#4492
-   docs: simplify menu by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4593
-   fix: improve pandacss integration by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4594
-   fix: default prettier format for starters by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4595
-   chore(labs): copy build artifacts into the build git repo by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4589
-   chore: update deps by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4597
-   docs: fix insights docs by [@&#8203;gioboa](https://togithub.com/gioboa) in [QwikDev/qwik#4598
-   chore(labs): include package.json in full build by [@&#8203;mhevery](https://togithub.com/mhevery) in [QwikDev/qwik#4599
-   docs: Dynamic og image implementation by [@&#8203;mrhoodz](https://togithub.com/mrhoodz) in [QwikDev/qwik#4579
-   fix: correct documentation URLs for rules created by ESLintUtils.RuleCreator by [@&#8203;wtlin1228](https://togithub.com/wtlin1228) in [QwikDev/qwik#4604
-   feat: bulletproof SPA recovery by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4558
-   fix: Social and Vendor are production only components by [@&#8203;wtlin1228](https://togithub.com/wtlin1228) in [QwikDev/qwik#4610
-   docs: image optimization by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4608
-   chore: change useStore link by [@&#8203;GustavoMelloGit](https://togithub.com/GustavoMelloGit) in [QwikDev/qwik#4601
-   fix(qwik-core): add types for the style attribute by [@&#8203;hbendev](https://togithub.com/hbendev) in [QwikDev/qwik#4577
-   docs: Update deprecation information about the basePathname by [@&#8203;julianobrasil](https://togithub.com/julianobrasil) in [QwikDev/qwik#4437
-   docs: fix typos on Qwik City home by [@&#8203;corydeppen](https://togithub.com/corydeppen) in [QwikDev/qwik#4602
-   feat: improve error message for duplicated loaders by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4619
-   docs: dynamic ogImage feature url format fix and clean up by [@&#8203;mrhoodz](https://togithub.com/mrhoodz) in [QwikDev/qwik#4617
-   fix: detect invalid html by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4623
-   1.2.0 by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4600
-   fix: image devtools by [@&#8203;manucorporat](https://togithub.com/manucorporat) in [QwikDev/qwik#4626
-   feat: qwik add builder.io by [@&#8203;adamdbradley](https://togithub.com/adamdbradley) in [QwikDev/qwik#4627
-   feat: scroll opt-out on nav() and Link by [@&#8203;jordanw66](https://togithub.com/jordanw66) in [QwikDev/qwik#4622

##### New Contributors

-   [@&#8203;erikras](https://togithub.com/erikras) made their first contribution in [QwikDev/qwik#4457
-   [@&#8203;OrenSayag](https://togithub.com/OrenSayag) made their first contribution in [QwikDev/qwik#4453
-   [@&#8203;hexa-it](https://togithub.com/hexa-it) made their first contribution in [QwikDev/qwik#4473
-   [@&#8203;the-zimmermann](https://togithub.com/the-zimmermann) made their first contribution in [QwikDev/qwik#4440
-   [@&#8203;eecopa](https://togithub.com/eecopa) made their first contribution in [QwikDev/qwik#4524
-   [@&#8203;avanderpluijm](https://togithub.com/avanderpluijm) made their first contribution in [QwikDev/qwik#4514
-   [@&#8203;VinuB-Dev](https://togithub.com/VinuB-Dev) made their first contribution in [QwikDev/qwik#4522
-   [@&#8203;LoganAffleck](https://togithub.com/LoganAffleck) made their first contribution in [QwikDev/qwik#4513
-   [@&#8203;primeagen-rustaceans](https://togithub.com/primeagen-rustaceans) made their first contribution in [QwikDev/qwik#4467
-   [@&#8203;enesflow](https://togithub.com/enesflow) made their first contribution in [QwikDev/qwik#4500
-   [@&#8203;moinulmoin](https://togithub.com/moinulmoin) made their first contribution in [QwikDev/qwik#4499
-   [@&#8203;jordanw66](https://togithub.com/jordanw66) made their first contribution in [QwikDev/qwik#4509
-   [@&#8203;ehrencrona](https://togithub.com/ehrencrona) made their first contribution in [QwikDev/qwik#4430
-   [@&#8203;ncharalampidis](https://togithub.com/ncharalampidis) made their first contribution in [QwikDev/qwik#4528
-   [@&#8203;anubra266](https://togithub.com/anubra266) made their first contribution in [QwikDev/qwik#4544
-   [@&#8203;Leizhenpeng](https://togithub.com/Leizhenpeng) made their first contribution in [QwikDev/qwik#2689
-   [@&#8203;mrhoodz](https://togithub.com/mrhoodz) made their first contribution in [QwikDev/qwik#4579
-   [@&#8203;corydeppen](https://togithub.com/corydeppen) made their first contribution in [QwikDev/qwik#4602

**Full Changelog**: QwikDev/qwik@v1.1.5...v1.2.0

</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:eyJjcmVhdGVkSW5WZXIiOiIzNi41LjMiLCJ1cGRhdGVkSW5WZXIiOiIzNi41LjMiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants