Skip to content

Conversation

@zaneduffield
Copy link
Collaborator

This involves switching to dynamic loading of the WASM module, and also
involves changing how the GitHub pages is built and deployed.

The idea is that the latest version of the web demo site should be
backwards compatible with all the previous versions of the WASM module,
and the gh-pages branch will simply keep all the old WASM module
builds, while new ones are added and the web demo site is updated.

The default module version loaded is whatever is first in the
versions.json file that exists at the root of the gh-pages branch,
which the workflow makes sure to sort according to sort -Vr (version
sort in descending order). This means that the latest tagged version
should be first, and all the branches will be after all the tags.

In order to make switching between and comparing versions more
streamlined, I also implemented a function to migrate the settings as
you change the selected version. This comments and uncomments lines that
correspond to settings that were removed or added when moving between
versions.

The selected version is also a query parameter now, so old examples
shared via URL should remain stable as new versions are released.

@zaneduffield zaneduffield requested a review from jgardn3r November 7, 2025 03:54
@zaneduffield
Copy link
Collaborator Author

I have a live version running over on my own GitHub pages site: https://zaneduffield.github.io/pasfmt/

@codecov
Copy link

codecov bot commented Nov 7, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@zaneduffield zaneduffield linked an issue Nov 7, 2025 that may be closed by this pull request
@zaneduffield zaneduffield force-pushed the multiversion-webdemo branch 2 times, most recently from c0c3c34 to 4cb5f25 Compare November 10, 2025 00:25
This involves switching to dynamic loading of the WASM module, and also
involves changing how the GitHub pages is built and deployed.

The idea is that the latest version of the web demo site should be
backwards compatible with all the previous versions of the WASM module,
and the `gh-pages` branch will simply keep all the old WASM module
builds, while new ones are added and the web demo site is updated.

The default module version loaded is whatever is first in the
versions.json file that exists at the root of the `gh-pages` branch,
which the workflow makes sure to sort according to `sort -Vr` (version
sort in descending order). This means that the latest tagged version
should be first, and all the branches will be after all the tags.
- https://www.gnu.org/software/coreutils/manual/html_node/Version-sort-overview.html

In order to make switching between and comparing versions more
streamlined, I also implemented a function to migrate the settings as
you change the selected version. This comments and uncomments lines that
correspond to settings that were removed or added when moving between
versions.

The selected version is also a query parameter now, so old examples
shared via URL should remain stable as new versions are released.
Copy link
Collaborator

@jgardn3r jgardn3r left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me! A cool change with a cool feature for the web demo.

@zaneduffield zaneduffield merged commit 353bcaa into integrated-application-development:master Nov 11, 2025
7 checks passed
@zaneduffield zaneduffield deleted the multiversion-webdemo branch November 11, 2025 00:39
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.

Multi-versioned web demo

2 participants