Skip to content

[Feature:System] Add support for Vue pages#10715

Merged
bmcutler merged 24 commits into
mainfrom
add_vue3_frontend
Jul 24, 2024
Merged

[Feature:System] Add support for Vue pages#10715
bmcutler merged 24 commits into
mainfrom
add_vue3_frontend

Conversation

@dorian451

@dorian451 dorian451 commented Jul 15, 2024

Copy link
Copy Markdown
Contributor

Please check if the PR fulfills these requirements:

  • Tests for the changes have been added/updated (if possible)
  • Documentation has been updated/added if relevant
  • Screenshots are attached to Github PR if visual/UI changes were made

What is the current behavior?

No Vue support

What is the new behavior?

This PR makes a new Vue project site/vue and adds the necessary infrastructure to load pages made in that project onto the main site, with a renderVue() PHP function (same syntax as renderTwig()).

Other information?

This isn't a breaking change, and documentation is still WIP.

@williamjallen williamjallen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think this is definitely on the right track overall. In addition to the inline comments I left, I think all of the vue stuff should reside in site/vue. -frontend is redundant, and embedding 3 in the directory name leaves a lot of technical debt to work through at a future point whenever we upgrade to the next major version of Vue.

Comment thread site/app/libraries/Output.php Outdated
Comment thread site/package.json
@codecov

codecov Bot commented Jul 19, 2024

Copy link
Copy Markdown

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 26.22%. Comparing base (ac9f2d5) to head (3275557).
Report is 66 commits behind head on main.

❗ There is a different number of reports uploaded between BASE (ac9f2d5) and HEAD (3275557). Click for more details.

HEAD has 4 uploads less than BASE
Flag BASE (ac9f2d5) HEAD (3275557)
python_submitty_utils 1 0
migrator 1 0
autograder 1 0
submitty_daemon_jobs 1 0
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##             main   #10715       +/-   ##
===========================================
- Coverage   48.75%   26.22%   -22.54%     
===========================================
  Files          32       12       -20     
  Lines        3095      469     -2626     
  Branches        0       80       +80     
===========================================
- Hits         1509      123     -1386     
+ Misses       1586      269     -1317     
- Partials        0       77       +77     
Flag Coverage Δ
autograder ?
js 26.22% <ø> (?)
migrator ?
python_submitty_utils ?
submitty_daemon_jobs ?

Flags with carried forward coverage won't be shown. Click here to find out more.

@dorian451

Copy link
Copy Markdown
Contributor Author

I think this is definitely on the right track overall. In addition to the inline comments I left, I think all of the vue stuff should reside in site/vue. -frontend is redundant, and embedding 3 in the directory name leaves a lot of technical debt to work through at a future point whenever we upgrade to the next major version of Vue.

Implemented in 3275557, a08471d, and fdd507a

@dorian451
dorian451 marked this pull request as ready for review July 22, 2024 15:52

@williamjallen williamjallen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This seems to be on the right track. I plan to approve once the minor inline changes are made. It would be good to @bmcutler to take a look at the file permissions and directory structure stuff at least. It would also be good for someone else with significant Vue (or other frontend framework) experience to take a look.

Comment thread site/app/templates/Vue.twig Outdated
Comment thread site/app/templates/Vue.twig Outdated
Comment thread site/vue/src/main.ts
bmcutler pushed a commit to Submitty/submitty.github.io that referenced this pull request Jul 23, 2024
This documentation goes over how to make a page using the new Vue.js
functionality provided in
Submitty/Submitty#10715.

This documentation is added to the bottom of
`/developer/developing_the_php_site/view`, and details creating a new
Vue page from scratch and showing how to tell a PHP View to serve it
using `renderVue`.

@williamjallen williamjallen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Everything looks good to me. Thanks for the great work on this! Hopefully Vue will help us develop dynamic content for efficiently!

@bmcutler
bmcutler merged commit 2f7080c into main Jul 24, 2024
@bmcutler
bmcutler deleted the add_vue3_frontend branch July 24, 2024 17:07
bmcutler added a commit that referenced this pull request Aug 2, 2024
### What is the current behavior?
`package-lock.json` was not updated appropriately in
#10715. This currently impacts
the diffs for our monthly dependency update PRs.

### What is the new behavior?
`package-lock.json` has been regenerated with the new Vue-related
dependencies added.

Co-authored-by: Barb Cutler <[email protected]>
@grt812 grt812 mentioned this pull request Feb 11, 2025
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

3 participants