Skip to content

fix(deps): decouple Build target from RestoreClient/Clean dependency chain - #426

Merged
halcwb merged 2 commits into
informedica:masterfrom
7sharp9:fix/build-dependency-chain
Jul 28, 2026
Merged

fix(deps): decouple Build target from RestoreClient/Clean dependency chain#426
halcwb merged 2 commits into
informedica:masterfrom
7sharp9:fix/build-dependency-chain

Conversation

@7sharp9

@7sharp9 7sharp9 commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

@halcwb

Is the commented-out server watch-test line in WatchTests (Build.fs:244, dotnet [ "watch"; "run"; "--no-restore" ] serverTestsPath) abandoned, or still intended to be finished?

If it's abandoned, we can drop WatchTests's dependency on Build too, it only runs the client Fable/Vite watcher, so nothing in it currently needs a server build.

If it's not dead, then we can to leave the Build dependency in place as it is in this PR, so it's still there when that line gets uncommented and addressed.

Partially addresses point 5 in #387

…chain

Is the commented-out server watch-test line in WatchTests (Build.fs:244, `dotnet [ "watch"; "run"; "--no-restore" ] serverTestsPath`) abandoned, or still intended to be finished?

If it's abandoned, we can drop WatchTests's dependency on Build too, it only runs the client Fable/Vite watcher, so nothing in it currently needs a server build.

If it's not dead, then we can to leave the Build dependency in place as it is in this PR, so it's still there when that line gets uncommented and adressed.
@greptile-apps

greptile-apps Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR decouples server builds from the client restore/clean chain.

  • Keeps Clean before RestoreClient and makes Bundle depend on the client toolchain.
  • Gives Run, TestHeadless, and WatchTests independent Build and RestoreClient prerequisites.
  • Leaves ServerTests and CheckVersions dependent only on Build.

Confidence Score: 4/5

The PR appears safe to merge, with a non-blocking documentation update needed to reflect the new dependency graph.

The affected targets retain their required transitive prerequisites, but DEVELOPMENT.md still presents the replaced linear target chains.

Files Needing Attention: Build.fs and DEVELOPMENT.md

Important Files Changed

Filename Overview
Build.fs Splits the FAKE target graph into server and client prerequisite prongs correctly, but leaves DEVELOPMENT.md's dependency documentation stale.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Clean --> RestoreClient
  RestoreClient --> Bundle
  Build --> Run
  RestoreClient --> Run
  Build --> TestHeadless
  RestoreClient --> TestHeadless
  Build --> WatchTests
  RestoreClient --> WatchTests
  Build --> ServerTests
  Build --> CheckVersions
Loading

Reviews (1): Last reviewed commit: "fix(deps): decouple Build target from Re..." | Re-trigger Greptile

Comment thread Build.fs
…t graph

Build.fs's target graph was split into independent Build and RestoreClient parts in the previous commit, but DEVELOPMENT.md's dependency diagram and
the Run target's prose description still showed the old linear chain.

Update both to match, and add ServerTests/CheckVersions to the diagram.

Addresses Greptile review feedback on PR informedica#426.
@halcwb
halcwb merged commit 7ec1013 into informedica:master Jul 28, 2026
2 of 7 checks passed
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.

2 participants