update-graph-ui

star 681

Bump the pinned `@pipelex/mthds-ui` (and `elkjs`) version that the generated ReactFlow HTML loads from jsDelivr. Re-fetches the bundle, recomputes SRI hashes, and updates the Python constants in `standalone_assets.py`. Use when user says "update graph ui", "bump mthds-ui", "update graph viewer", "new version of mthds-ui", or any variation of updating the CDN-pinned graph viewer assets.

Pipelex By Pipelex schedule Updated 5/13/2026

name: update-graph-ui description: > Bump the pinned @pipelex/mthds-ui (and elkjs) version that the generated ReactFlow HTML loads from jsDelivr. Re-fetches the bundle, recomputes SRI hashes, and updates the Python constants in standalone_assets.py. Use when user says "update graph ui", "bump mthds-ui", "update graph viewer", "new version of mthds-ui", or any variation of updating the CDN-pinned graph viewer assets. user_invocable: true

Update Graph UI Assets (CDN + SRI)

Bump the pinned @pipelex/mthds-ui version that the generated ReactFlow HTML loads from cdn.jsdelivr.net, refresh the Subresource Integrity hashes, and verify everything still renders.

There is no vendored bundle anymore. Assets are loaded from jsDelivr at view time; the only things stored in this repo are the version strings and the matching sha384 SRI hashes in pipelex/graph/reactflow/standalone_assets.py.

Prerequisites

  • curl, openssl, and npm on PATH (used by the refresh command, npm version lookup, and the sanity checks below).
  • The target @pipelex/mthds-ui version must already be published on npm with dist/standalone/graph-viewer.{js,css} in the tarball. If it isn't, jsDelivr will 404 — fix the publish in the mthds-ui repo first.

Workflow

1. Check current pin

grep -E 'MTHDS_UI_VERSION|ELKJS_VERSION' pipelex/graph/reactflow/standalone_assets.py

Report the currently pinned versions.

2. Pick the target version

Latest published version on npm:

npm view @pipelex/mthds-ui version

Confirm with the user.

3. Verify the target is reachable on jsDelivr

curl -fsI https://cdn.jsdelivr.net/npm/@pipelex/mthds-ui@<NEW_VERSION>/dist/standalone/graph-viewer.js
curl -fsI https://cdn.jsdelivr.net/npm/@pipelex/mthds-ui@<NEW_VERSION>/dist/standalone/graph-viewer.css

Both must return HTTP/2 200. If either 404s, the npm publish for that version did not include the standalone bundle — stop and ask the maintainer to re-publish properly before proceeding.

4. Refresh the SRI hashes

.venv/bin/pipelex-dev refresh-graph-ui-sri --mthds-ui-version <NEW_VERSION>

This re-fetches each URL, computes sha384, and rewrites the constants in pipelex/graph/reactflow/standalone_assets.py.

To rotate elkjs at the same time, pass --elkjs-version <NEW_ELKJS_VERSION>.

5. Run graph tests

.venv/bin/pytest tests/unit/pipelex/graph/reactflow tests/unit/pipelex/graph/test_reactflow_html.py -q

All tests must pass. These verify:

  • CDN constants are well-formed (sha384-… decoding to 48 bytes, URLs pinned to declared versions).
  • Generated HTML references cdn.jsdelivr.net with the new integrity hashes.
  • HTML structure (DOCTYPE, root div, embedded JSON data scripts) is intact.

6. Run full quality checks

make agent-check

7. Smoke test the rendered HTML (recommended)

Generate one graph and open it in a browser:

make serve-graph

In DevTools → Network, confirm three external requests to cdn.jsdelivr.net succeed with no Failed to find a valid digest in the 'integrity' attribute errors in the console.

8. Report

Tell the user:

  • Previous and new versions for mthds-ui (and elkjs if bumped).
  • New SRI hashes.
  • Test results.
  • Remind to commit pipelex/graph/reactflow/standalone_assets.py and any CHANGELOG entry.
Install via CLI
npx skills add https://github.com/Pipelex/pipelex --skill update-graph-ui
Repository Details
star Stars 681
call_split Forks 56
navigation Branch main
article Path SKILL.md
More from Creator