Skip to content

fix(pjson-rs): restore pjs-demo as a buildable workspace member - #356

Merged
bug-ops merged 1 commit into
mainfrom
318-pjs-demo-unbuildable
Aug 17, 2026
Merged

fix(pjson-rs): restore pjs-demo as a buildable workspace member#356
bug-ops merged 1 commit into
mainfrom
318-pjs-demo-unbuildable

Conversation

@bug-ops

@bug-ops bug-ops commented Aug 17, 2026

Copy link
Copy Markdown
Owner

Summary

  • crates/pjs-demo was excluded from the Cargo workspace while its manifest used full { workspace = true } field inheritance, which Cargo cannot resolve outside a workspace — every documented build invocation failed. This regressed closed issue docs: continuous-improvement.md references broken cargo run -p pjs-demo command #112, whose three proposed options were never applied.
  • Restores crates/pjs-demo to [workspace] members (kept out of default-members), mirroring how crates/pjs-bench was restored in PR fix(stream): process_frame returns Processed immediately; restore pjs-bench #190. Fixes two previously-uncompiled fallout defects: a stale rand::Rng import (rand 0.10 moved random_range/random_bool to RngExt) in three files, and a clippy unnecessary_sort_by lint.
  • Since pjs-demo declares no [features] of its own, documented build commands now pass pjson-rs feature flags with the required pjson-rs/ prefix (README.md updated).
  • CI's rust paths-filter now includes crates/pjs-demo/** so PRs touching only the demo crate trigger quality/build/test/doctest/docs gates; the coverage job excludes pjs-demo to skip an instrumented compile of its untested binaries (already ignored in codecov.yml, so no coverage-check impact either way).

Closes #318

Test plan

  • cargo +nightly fmt --check
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo nextest run --workspace --all-features --lib --bins (961 passed)
  • cargo test --workspace --doc --all-features
  • cargo build -p pjs-demo --bin interactive-demo-server --bin simple-demo-server --bin websocket-streaming-server
  • Verified documented README commands build clean from a fresh checkout state (cargo clean -p pjs-demo)
  • Verified cargo metadata workspace_default_members unchanged (still only pjs-core/pjs-domain/pjs-wasm)
  • cargo deny check clean against new lock entries
  • CI YAML validated with actionlint/yamllint (project's fy tool panics on this file with a pre-existing, unrelated parser bug reproduced on the pre-edit file too)

@github-actions github-actions Bot added documentation Documentation updates, README, guides dependencies Dependency updates (Cargo.toml, Cargo.lock) security Security issues or improvements ci/cd CI/CD pipeline changes, GitHub Actions workflows rust Rust language specific changes pjs-demo labels Aug 17, 2026
@github-actions

Copy link
Copy Markdown

WASM Bundle Size Report

Target Raw (KB) Gzipped (KB) Status
web 157 70 PASS
nodejs 157 70 PASS
bundler 157 70 PASS

@bug-ops
bug-ops force-pushed the 318-pjs-demo-unbuildable branch from c73de10 to 84e108a Compare August 17, 2026 11:58
@bug-ops
bug-ops enabled auto-merge (squash) August 17, 2026 11:58
@github-actions

Copy link
Copy Markdown

WASM Bundle Size Report

Target Raw (KB) Gzipped (KB) Status
web 157 70 PASS
nodejs 157 70 PASS
bundler 157 70 PASS

@bug-ops
bug-ops force-pushed the 318-pjs-demo-unbuildable branch from 84e108a to 65c94ca Compare August 17, 2026 13:18
@github-actions

Copy link
Copy Markdown

WASM Bundle Size Report

Target Raw (KB) Gzipped (KB) Status
web 159 70 PASS
nodejs 159 70 PASS
bundler 159 70 PASS

@bug-ops
bug-ops force-pushed the 318-pjs-demo-unbuildable branch from 65c94ca to cc88982 Compare August 17, 2026 13:28
@github-actions

Copy link
Copy Markdown

WASM Bundle Size Report

Target Raw (KB) Gzipped (KB) Status
web 159 70 PASS
nodejs 159 70 PASS
bundler 159 70 PASS

@bug-ops
bug-ops force-pushed the 318-pjs-demo-unbuildable branch 2 times, most recently from 04739d2 to 406c64d Compare August 17, 2026 16:20
@github-actions

Copy link
Copy Markdown

WASM Bundle Size Report

Target Raw (KB) Gzipped (KB) Status
web 159 70 PASS
nodejs 159 70 PASS
bundler 159 70 PASS

crates/pjs-demo was excluded from the Cargo workspace while its
manifest used full workspace = true field inheritance, which Cargo
cannot resolve for a crate outside the workspace. Every documented
invocation (-p pjs-demo, --manifest-path, or cd-ing into the
directory) failed to parse the manifest. This regressed closed issue

Restore crates/pjs-demo to [workspace] members while keeping it out
of default-members, mirroring how crates/pjs-bench was restored in
PR #190. This surfaced two previously-uncompiled defects, now fixed:
a stale rand::Rng import (rand 0.10 moved random_range/random_bool to
RngExt) in three crates/pjs-demo/src/data files, and a clippy
unnecessary_sort_by lint in websocket_streaming.rs.

pjs-demo declares no [features] of its own, so documented build
commands must pass pjson-rs feature flags with the pjson-rs/ prefix;
README.md is updated accordingly. CI's rust paths-filter now includes
crates/pjs-demo/** so PRs touching only the demo crate trigger the
quality/build/test/doctest/docs gates; the coverage job excludes
pjs-demo to avoid an instrumented compile of its untested binaries.

Closes #318
@bug-ops
bug-ops force-pushed the 318-pjs-demo-unbuildable branch from 406c64d to 11d313d Compare August 17, 2026 16:24
@github-actions

Copy link
Copy Markdown

WASM Bundle Size Report

Target Raw (KB) Gzipped (KB) Status
web 159 70 PASS
nodejs 159 70 PASS
bundler 159 70 PASS

@bug-ops
bug-ops merged commit 3b9b426 into main Aug 17, 2026
54 checks passed
@bug-ops
bug-ops deleted the 318-pjs-demo-unbuildable branch August 17, 2026 16:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci/cd CI/CD pipeline changes, GitHub Actions workflows dependencies Dependency updates (Cargo.toml, Cargo.lock) documentation Documentation updates, README, guides pjs-demo rust Rust language specific changes security Security issues or improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pjs-demo remains completely unbuildable by any documented method (regression of closed #112)

1 participant