Skip to content

Extract pure watch rebuild planning from DomStack - #306

Draft
bcomnes wants to merge 1 commit into
bret/file-conventionsfrom
bret/watch-planner
Draft

Extract pure watch rebuild planning from DomStack#306
bcomnes wants to merge 1 commit into
bret/file-conventionsfrom
bret/watch-planner

Conversation

@bcomnes

@bcomnes bcomnes commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #297.
Stacked on #305, after #303 and #294.

  • Extract pure filesystem-event classification and rebuild planning into lib/watch-plan.js.
  • Plans explicitly describe skips, full rebuilds, esbuild restarts, and source-page/template/generated-owner filters.
  • Keep resource ownership, discovery, execution, logging, and successful dependency/output state updates in DomStack.
  • Preserve Track output dependencies in watch builds #294's worker-side property/global-data invalidation and resolved-layout reports.
  • Refresh maps after bundle-triggered page work only when that page build succeeds.

Validation

  • Six pure planner tests passed without file watching, filesystem fixtures, or sleeps.
  • Cover settings, dependency precedence, deduplication, snapshot immutability, generated owners, structural events, and all bundle scopes.
  • Full npm test passed outside the restricted runner, including Track output dependencies in watch builds #294's granular watch/cleanup regressions, lifecycle coverage, JSX add/remove coverage, Playwright, lint, and TypeScript.

Scope

This is the first organization/testability step, not a wider one-shot/watch pipeline rewrite.
Stable watch filenames, disabled watch manifests, and existing conservative structural fallbacks remain unchanged.

@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

Coverage Report for CI Build 34011365530

Coverage increased (+0.4%) to 95.29%

Details

  • Coverage increased (+0.4%) from the base build.
  • Patch coverage: 3 uncovered changes across 1 file (240 of 243 lines covered, 98.77%).
  • 2 coverage regressions across 1 file.

Uncovered Changes

File Changed Covered %
index.js 79 76 96.2%
Total (2 files) 243 240 98.77%

Coverage Regressions

2 previously-covered lines in 1 file lost coverage.

File Lines Losing Coverage Coverage
lib/build-copy/index.js 2 92.21%

Coverage Stats

Coverage Status
Relevant Lines: 8059
Covered Lines: 7852
Line Coverage: 97.43%
Relevant Branches: 2153
Covered Branches: 1879
Branch Coverage: 87.27%
Branches in Coverage %: Yes
Coverage Strength: 302.09 hits per line

💛 - Coveralls

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant