[🐞] Qwik - Build is Aggressively Treeshaking with Firebase
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
- Issue type
- Bug
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- firebase, rollup, typescript
- Domain
- build-system
Research direction
Start with the Qwik Rollup/Vite plugin and reproduce the failure using the linked qwik-firebase-test repository and Vercel Edge demo. Compare the build output and runtime behavior with Firebase issue 8506; done means Firebase Auth initializes correctly in the Qwik Edge deployment without required SDK portions being tree-shaken.
Written by the indexing model from the issue text.
Description
Which component is affected?
Qwik Rollup / Vite plugin
Describe the bug
I've been working with the Firebase team to get Firebase working on Edge functions.
https://github.com/firebase/firebase-js-sdk/issues/8355
Firebase now works on ever single Framework, even in Edge Environments (Bun, Deno, Cloudflare)... except on Qwik.
Reproduction
https://qwik-firebase-test.vercel.app/
Steps to reproduce
Here is issue on Firebase with deployment instructions:
https://github.com/firebase/firebase-js-sdk/issues/8506
Repo: GitHub
Demo with error: Vercel Edge
System Info
Vercel Edge (no way to currently test this on Vercel Functions as there is not a Plugin)
Additional Information
Here is what the Firebase team said after agressive testing:
I was able to reproduce the problem. It appears that something in the build pipeline is aggressively tree shaking portions of the Firebase JS SDK when it packages it for the edge runtime. The "service" mentioned in the log file is that fact that Auth cannot properly register itself with the instance of FirebaseApp (or FirebaseServerApp). This is due to the hooks it would use to register itself with the instance of App are inexplicitly missing from the SDK implementation.
Here is the link to the GitHub Issue:
https://github.com/firebase/firebase-js-sdk/issues/8506
Thanks,
J
Small Chance could be related to: https://github.com/QwikDev/qwik/issues/6322
Note: This could also be a Vercel Edge Plugin problem, but I'm not sure how the build process works.
- Dominant language
- TypeScript
- Stars
- 22.1k
- Forks
- 1.4k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 99
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from QwikDev/qwik
-
docs router V2
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
DX enhancement V2
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
QwikDev/qwik#8480 · 2 comments ·
Maintainers usually reply within 1 day
-
[🐞] <Pending> child reading a signal from its owner breaks when the owner re-renders (consumerBackRef[_EFFECT_BACK_REF].set is not a function)Possibly taken @intellix claimed this 2 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
[🐞] Async useComputed$ resolved in an out-of-order <Pending> re-runs on the client at the first unrelated re-renderPossibly taken @intellix claimed this 2 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 25/100
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
QwikDev/qwik#9157 · 1 comment ·
Maintainers usually reply within 1 day
Similar issues
-
embed: handleTurboSignMessage header comment says the signing page posts to '*' (it never does)Opendocumentation
Difficulty 2/5 Under an hour Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 Half a day Newbie friendliness 70/100
udistrital/paginaweb_root#23 ·
-
Aborting a request that waits for a socket destroys that socket under a later request (socket hang up)Possibly taken @vvo claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
ClickHouse/clickhouse-js#1040 ·
Maintainers usually reply within 7 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Small-tailqwq/dsh-deep-whale#187 ·
Maintainers usually reply within 1 day
-
Tela Marca manda conferir o campo "Razão social", que em Portugal se chama "Denominação social"Open
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
melgarafael/DeskcommCRM#2503 ·
Maintainers usually reply within 1 day