QwikDev / QwikDev/qwik

e2e dev-server: SSR builds resolve core through the prod condition

Open
#8,879 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.