[Feature:System] Add support for Vue pages#10715
Conversation
williamjallen
left a comment
There was a problem hiding this comment.
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.
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ 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
Flags with carried forward coverage won't be shown. Click here to find out more. |
|
williamjallen
left a comment
There was a problem hiding this comment.
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.
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
left a comment
There was a problem hiding this comment.
Everything looks good to me. Thanks for the great work on this! Hopefully Vue will help us develop dynamic content for efficiently!
### 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]>
Please check if the PR fulfills these requirements:
What is the current behavior?
No Vue support
What is the new behavior?
This PR makes a new Vue project
site/vueand adds the necessary infrastructure to load pages made in that project onto the main site, with arenderVue()PHP function (same syntax asrenderTwig()).Other information?
This isn't a breaking change, and documentation is still WIP.