CodeVetter · Repo Unpack · Testing signals
parcel-bundler/parcel
Tests and CI were inspected, not executed; test existence does not establish a passing result. The inspected JavaScript suites use Mocha with Node assertions, Sinon, shared filesystem utilities, and WebSocket clients. Rust includes ordinary #[test] cases, and CI configures cross-platform unit and integration runs plus type and formatting checks. This bounded inspection does not establish complete coverage, browser parity, or security-test completeness.
- Root Mocha discovery targets package tests outside integration-tests and loads Babel registration plus shared setup; test:unit chains Mocha with cargo test --workspace --exclude parcel-node-bindings.
- Parcel.test.js checks rejection of an ending worker farm, owned-versus-supplied farm cleanup, shared-reference removal, and unstable transform/resolve APIs; its helper disables caching and uses a configuration without reporters, limiting that suite's persistence/server coverage.
- RequestTracker.test.js explicitly checks valid-result reuse, reruns after invalidation, parent invalidation through subrequests, failed requests, and removal of obsolete subrequests.
- Integration cache tests build, mutate inputs, and rebuild with caching enabled; the inspected cases assert changed execution results after a JS edit or new dependency and check that cache content omits project file paths.
- Server integration tests compare HTTP responses with output files, verify HEAD content length and empty bodies, and exercise source-file and sourcemap serving; HMR tests assert changed JS content and source-map/source-URL annotations over WebSockets.
- The Rust resolver's #[test] relative case exercises explicit extensions, omitted extensions, repeated separators, and tilde paths; its fixture root points into the JavaScript resolver fixture tree.
- CI configures Node 20/22 across Linux, macOS, and Windows for unit and integration tests, builds native bindings first, and additionally builds JavaScript packages before integration tests; separate jobs run lint, Flow, and declaration checks.
- Integration Mocha configuration allows 50-second tests and two retries, and CI disables fail-fast with a flakiness comment; HMR client helpers use a 100-ms sleep, so inspecting these tests does not prove deterministic real-browser behavior.