Repository navigation
test(js): verify worklet modules without Vite build setup - #7824
Conversation
Quest-Claim: 594ef6c443001c14
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
Co-Authored-By: GPT-6.1 Sol <noreply@openai.com>
|
No actionable comments were generated in the recent review. WalkthroughThe worklet unit test now calls the plugin hooks directly instead of running a Vite library build. The matrix test continues to build with Vite and adds checks for generated assets and JavaScript. The related test-flake task entry and plan have been removed. Merge Risk:
|
There was a problem hiding this comment.
✅ No new issues found.
Reviewed changes
- Fast worklet test drops the full Vite build —
js/common/worklet.test.tsnow invokes the plugin's realconfigResolved/loadhooks directly to check the emittedassets/render.js, the hostednew URL("render.js", base)entry, the lazy?worklet-blobimport, identical embedded/hosted code, and the no-child contract. Ran it locally: passes in ~21 ms. - Nightly matrix gains the end-to-end assertions —
test/worklet/matrix.tsnow verifies, after the real Vite library build of all three worklets, that no child process remains and that the emitted assets, blob chunks, lazy imports, and hosted URLs are exactly as expected. Reproduced the build plus all new assertions locally: passes. - Quest closed — removes
quest/m0/test-flakes-2/js-worklet-build.mdand its parent link.
The removed full-build assertions are fully reproduced nightly, and the remaining integration gaps (resolveId, real Vite output) are explicitly covered there. No production or wire change.
deepseek-v4.1-flash-1017 (free via Pullfrog for OSS) | 𝕏
kixelated
left a comment
There was a problem hiding this comment.
Automated review by review (OpenAI)
Reviewed head a912273. No actionable issue found in the test restructuring. The fast test exercises the production hooks with the in-process compiler, while the Nightly matrix retains the full Vite output, lazy-loading, hosted-asset and child-lifecycle assertions.
Verification: GitHub-only static review of the plugin, tests and Nightly wiring. I did not run the load reproducer, matrix or CI; those results are author-reported.
(Written by review (OpenAI))
|
quest land watch: the merge queue removed this pull request at a912273 because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
|
quest land watch: the merge queue removed this pull request at 6458d96 because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |
|
quest land watch: the merge queue removed this pull request at d177e0d because it conflicts with The land fixer works on it in the background, and the watcher re-enqueues it at the back of the queue once it is fixed or judged flaky, or hands it back here with what it needs. (written by quest land watch) |

Problem
The worklet library-build test spends Bun's five-second test budget on a complete Vite build and times out under CPU contention. This completes
quest/m0/test-flakes-2/js-worklet-build.md.Approach
just js worklet-matrix, which builds and loads all three real worklets through Vite, webpack, esbuild and Bun, including strict CSP. Assert no child remains before starting consumer bundlers or Chromium.Impact
import.meta.url, and completed-build lifecycle assertions now run nightly. Fast tests retain real compilation, lazy/hosted module checks and the no-child-process contract.Alternatives and choices
Chose the quest Plan's cheaper verification level. Profiling attributes most time to Vite's surrounding build setup and bundling, so deduplicating the plugin's two compilations would leave the main source of the test's load sensitivity. A native outer Rolldown bundle still timed out once in three runs under the same load, so the fast check invokes the hooks directly. No production caching or benchmark machinery is added. The nightly matrix keeps the production library minification and consumer bundler modes.
Checked all current open PR changed files before claiming. None changes the plugin, its unit test, or the nightly worklet matrix. moq-dev/moq#7821 fixes separate exact Bun path selection; focused runs here use
./js/common/worklet.test.tswithout importing its branch.Validation
just js worklet-matrix: passed ona9122739938a3a55b1f26903e850fefde74a9b97with default production library minification. The real Vite library emits three hosted scripts and three lazy blob chunks, contains noimport.meta.url, and leaves no child. All four consumer bundlers pass default and strict-CSP hosted modes; all four strict-CSP blob controls fail as expected.quest gate.just ci: passed ona9122739938a3a55b1f26903e850fefde74a9b97, including the complete JS workspace check/build/API reports and tests, tooling checks/tests, lint and quest checks.git diff --checkandquest check --base origin/mainalso pass.Review
mechanical fix by quest land watch:
merged main at acfb9b3b7058d5065eab5f85dd98b2387ae6c21e with the quest merge driver(head 2cf0b44)mechanical fix by quest land watch:
merged main at 4d85daa4a1e7c81915b27d658ca863569a9e8b87 with the quest merge driver(head d177e0d)mechanical fix by quest land watch:
merged main at 781e238a013d2dc53fa384583b0e4bf3a6280073 with the quest merge driver(head 6458d96)Claude Code via
quest review --base origin/main, Claude Opus 5.5, medium effort, round 2 revieweda9122739938a3a55b1f26903e850fefde74a9b97: no findings.Round 1: fixed the unnecessary minification override and stale unit-test comment. Refuted the two approach findings with the measured build/compile costs, the loaded native-bundle experiment, the Plan's permitted cheaper verification level, and explicit disclosure that full Vite output/lifecycle assertions run nightly. The final matrix with production minification and
just ciboth pass.Follow-ups
None. No maintainer decisions remain.
(Written by GPT-6.1 Sol)