You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
build: fail when the committed web bundle is stale
apps/pythinker-code/dist-web is generated from apps/pythinker-web and read by
no other gate, so editing the web UI without rebuilding shipped a CLI whose
embedded UI silently lagged its own source, with nothing red anywhere. The
existing check only asserted the bundle was present, and nothing invoked it.
copy-web-assets now records a fingerprint of every build input in the bundle
and check-web-assets recomputes it, so a stale bundle fails. It runs in
pre-push, in the CLI build, and on prepack. `pnpm run build:web` rebuilds and
restages in one step.
The web bundle: `apps/pythinker-code/dist-web` is the committed, prebuilt bundle of `apps/pythinker-web` (built with `pnpm --filter @pymodel/pythinker-web run build` and copied via `scripts/copy-web-assets.mjs`). `apps/pythinker-code/scripts/check-web-assets.mjs`guards packaging against a missing bundle — sync and commit the bundle in the same change whenever the web UI should ship differently. `packages/server` and `packages/server-e2e` are empty leftover directories excluded from the workspace — not packages.
72
+
The web bundle: `apps/pythinker-code/dist-web` is the committed, prebuilt bundle of `apps/pythinker-web` (built with `pnpm --filter @pymodel/pythinker-web run build` and copied via `scripts/copy-web-assets.mjs`). `apps/pythinker-code/scripts/check-web-assets.mjs`fails when the bundle is missing **or stale** (it compares a fingerprint of every `apps/pythinker-web` build input against the one recorded at copy time); it runs in pre-push, in the CLI `build`, and on `prepack`. Whenever you touch the web UI, run `pnpm run build:web` and commit the restaged bundle in the same change. `packages/server` and `packages/server-e2e` are empty leftover directories excluded from the workspace — not packages.
0 commit comments