[🐞] Library builds (--mode lib) print manifest warnings and emit an app manifest
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Stale
- Tech stack
- typescript, vite
- Domain
- build-system
Research direction
The report identifies vite-plugin-qwik-post as the entry point and describes reproducing the issue with vite build --mode lib using the shown vite.config.ts. Read the client manifest step and check whether it runs for library builds. Done means library builds skip manifest generation and produce no related warnings; linked PR #9291 is already open.
Written by the indexing model from the issue text.
Description
Which component is affected?
Qwik Rollup / Vite plugin
Describe the bug
Building a Qwik library with qwikVite() and vite build --mode lib prints a console.warn Client manifest generation: skipping external import "<pkg>" for each import the library keeps external (@qwik.dev/core, @qwik.dev/core/jsx-runtime, ...) and a console.error Qwik core bundle not found, is Qwik actually used in this project? on every build. It also writes q-manifest.json and assets/<hash>-bundle-graph.json into the library output.
vite-plugin-qwik-post runs the client manifest step for every build whose environment consumer is client, and a --mode lib build is one. A library keeps Qwik external by design, so the warnings and the error are always true and the manifest is not used (an app reads its own q-manifest.json from its client output).
I expect no manifest work and no warnings for a library build. This is different from #8616, which is the same core-bundle message in a Deno project without a package.json. I have a small fix with a test and will open a PR.
Reproduction
Inline below, a library with one component.
Steps to reproduce
package.json has @qwik.dev/[email protected] and vite@^8.
// vite.config.ts
import { defineConfig } from 'vite';
import { qwikVite } from '@qwik.dev/core/optimizer';
export default defineConfig({
build: {
lib: { entry: 'src/index.ts', formats: ['es'], fileName: 'index' },
rolldownOptions: { external: [/^@qwik\.dev\/core/] },
},
plugins: [qwikVite()],
});
// src/counter.tsx (src/index.ts re-exports Counter)
import { component$, useSignal } from '@qwik.dev/core';
export const Counter = component$(() => {
const count = useSignal(0);
return <button onClick$={() => count.value++}>{count.value}</button>;
});
Run npx vite build --mode lib. The warning, the error, lib/q-manifest.json and lib/assets/*-bundle-graph.json appear.
System Info
macOS 15.6.1, arm64
Node: 24.12.0, npm: 11.6.2
vite 8.3.5, @qwik.dev/core 2.0.0-rc.3
- Dominant language
- TypeScript
- Stars
- 22.1k
- Forks
- 1.4k
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 130
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
-
[🐞] Production SSR render errors are never logged or passed to `next()` (node middleware returns on `headersSent` first)Possibly taken @bunnysayzz claimed this 13 days ago. OpenIMPORTANT
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
QwikDev/qwik#9191 · 6 comments ·
Maintainers usually reply within 1 day
-
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
-
Difficulty 5/5 Over a week Newbie friendliness 15/100
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 44/100
Maintainers usually reply within 1 day
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Clouditera/VulnHunter#57 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
bug bug:behavior clawsweeper:bulk-filed clawsweeper:fix-shape-clear clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:auth-provider issue-rating: 🦞 diamond lobster P2
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
openclaw/openclaw#185297 · 1 comment · 1 reaction ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
bug needs-triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
apex-dev-tools/apex-log-parser#199 ·
Maintainers usually reply within 1 day