Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vue Migration Reformatted #2622

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

gerteck
Copy link
Contributor

@gerteck gerteck commented Mar 6, 2025

WIP

PR message will be updated once PR is finalized.
This PR aims to keep changes digestable through modular and understandable commits.

What is the purpose of this pull request?

  • Documentation update
  • Bug fix
  • Feature addition or enhancement
  • Code maintenance
  • DevOps
  • Improve developer experience
  • Others, please explain:

Overview of changes:

Anything you'd like to highlight/discuss:

Testing instructions:

Proposed commit message: (wrap lines at 72 characters)

Vue Migration


Checklist: ☑️

  • Updated the documentation for feature additions and enhancements
  • Added tests for bug fixes or features
  • Linked all related issues
  • No unrelated changes

Reviewer checklist:

Indicate the SEMVER impact of the PR:

  • Major (when you make incompatible API changes)
  • Minor (when you add functionality in a backward compatible manner)
  • Patch (when you make backward compatible bug fixes)

At the end of the review, please label the PR with the appropriate label: r.Major, r.Minor, r.Patch.

Breaking change release note preparation (if applicable):

  • To be included in the release note for any feature that is made obsolete/breaking

Give a brief explanation note about:

  • what was the old feature that was made obsolete
  • any replacement feature (if any), and
  • how the author should modify his website to migrate from the old feature to the replacement feature (if possible).

gerteck added 3 commits March 6, 2025 17:57
compileTemplate and renderToString are now included as
dependencies of the main vue package, alongside API changes
to methods provided.

Bundled vue js file has also been updated.
Update syntax as well as dependencies, libraries
to be Vue 3 compatible
Rebuild markbind bundles as well as vue bundles
Vue now needs to be externalized for both client and server
@gerteck gerteck force-pushed the branch-vueMigrationFormatted branch from 7e3f433 to 6bcf6db Compare March 6, 2025 16:47
gerteck added 3 commits March 7, 2025 00:48
Further update core-web package.
Vue needs to be externalized separately for server ('vue') and
web-client ('Vue'), or it fails for case-sensitive systems
e.g. Ubuntu. Also update index.js to use compiled render function
and use updated Vue application mounting API.
When question component not used in quiz, certain buttons
are rendered on server-side but not on client.

Change the visibility of these buttons to hidden, but maintain
in the DOM to prevent hydration mismatch.
Vue testcases overhauled due to changes in API.
Additionally, improvement can be made to vue testcases in the
future as snapshots make it hard to diagnose if change
is intended or unexpected bug causing side effect.
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