e2e dev-server: SSR builds resolve core through the prod condition
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 22.1k
- Forks
- 1.4k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 52
Description
What is it?
- Bug
Description
e2e/qwik-e2e/dev-server.ts sets resolve.conditions: ['development'] for the client build only. The SSR build gets no conditions, so it resolves @qwik.dev/core through the default export condition — core.prod.mjs / server.prod.mjs.
On a strict pnpm build.core the e2e apps therefore run a production-condition core in SSR and a development-condition core in the client. SSR output is redacted/production-shaped while the tests assume dev fidelity; they still pass only because the client resumes and re-renders. It surfaces wherever nothing re-renders (e.g. an inlined container fragment that ships no qwikloader).
Fix: give the SSR build the same condition as the client (ssr: { resolve: { conditions: [...] } } in getInlineConf).
Expect some e2e assertions to need re-baselining afterwards: dev apps will SSR-render raw messages, so redaction assertions belong in the .prod app suites.
Contributor 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.
Research direction
Start in e2e/qwik-e2e/dev-server.ts, especially getInlineConf and the client and SSR build configuration. Give the SSR build the same development resolve condition as the client, then review the affected e2e assertions. Done means dev apps SSR-render raw messages while redaction assertions are covered by the .prod app suites.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- testing
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 75/100