Skip to content

feat: add Vue template example and fix other folders#6

Open
pzanella wants to merge 2 commits intomoq-dev:mainfrom
pzanella:feat/add-vue-template
Open

feat: add Vue template example and fix other folders#6
pzanella wants to merge 2 commits intomoq-dev:mainfrom
pzanella:feat/add-vue-template

Conversation

@pzanella
Copy link
Contributor

Add Vue template example and fix configurations across all project folders.

@coderabbitai
Copy link

coderabbitai bot commented Feb 25, 2026

Walkthrough

This pull request adds Vue to the main README framework list and introduces a new vue-moq project: a Vue 3 + Vite scaffold with configuration (ESLint, Oxlint, TypeScript, Vite, .editorconfig, .gitattributes, .gitignore), package metadata, app entry, styles, and an App.vue demonstrating moq-watch and moq-publish. It also updates example projects (vite-5, vite-6, vite-7) and documentation to rename the moq-watch attribute from `path` to `name` and to add explicit width/height styling for watch and publish elements.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately reflects the main changes: adding a new Vue template example (vue-moq folder with complete setup) and fixing configurations across other project folders (updates to vite-5, vite-6, vite-7 README and App files, plus attribute changes from path to name).
Description check ✅ Passed The description is directly related to the changeset, mentioning both the Vue template example addition and configuration fixes across project folders that are present throughout the PR.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

🧹 Nitpick comments (3)
vue-moq/vite.config.ts (1)

5-5: Use Vite's apply: 'serve' to explicitly limit vueDevTools() to the dev server.

While vite-plugin-vue-devtools v8.0.6 is designed to only run in development, explicitly gating it using Vite's apply property is the idiomatic way to ensure it never runs during vite build.

Apply plugin only during dev server
-  plugins: [
-    vue({ ... }),
-    vueDevTools(),
-  ],
+  plugins: [
+    vue({ ... }),
+    { ...vueDevTools(), apply: 'serve' },
+  ],

Also applies to: 17-17

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/vite.config.ts` at line 5, The vueDevTools plugin is currently
imported and used without restricting it to the dev server; update the plugin
invocation (vueDevTools) in the Vite config so it is applied only during serve
by passing apply: 'serve' (e.g., use vueDevTools({ apply: 'serve' }) or wrap the
plugin entry with { ...vueDevTools(), apply: 'serve' } as appropriate) to ensure
it never runs during vite build.
vue-moq/src/App.vue (1)

30-31: Empty <style scoped> block can be removed.

No styles are defined — the block is just scaffold noise.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/src/App.vue` around lines 30 - 31, Remove the empty <style scoped>
block from App.vue since it contains no CSS; locate the <style
scoped>...</style> tag pair in the file and delete it (ensuring you don't remove
other blocks like <script> or <template>), and save the file without leaving an
empty or dangling style tag.
vue-moq/index.html (1)

7-7: Consider updating the generic page title.

"Vite App" is the default scaffold title. Since this is a template example meant to demonstrate MoQ usage, a more descriptive title like "MoQ + Vue" would be clearer for users cloning the example.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/index.html` at line 7, Update the HTML document title element to
something descriptive for this template example: locate the <title> element in
index.html (currently "Vite App") and replace its content with a more specific
label such as "MoQ + Vue" so the page title accurately reflects the project's
purpose.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@vue-moq/index.html`:
- Line 2: The html root element currently has an empty lang attribute which
hurts accessibility; update the <html> element in index.html to set a valid
language code (for example set lang="en") so screen readers and search engines
can detect page language correctly.

In `@vue-moq/README.md`:
- Line 36: Update the README entry for the <moq-watch> element to reflect the
component API change: replace references to the `path` attribute with `name`
(e.g., list of attributes should be `url`, `name`, `muted`, `paused`, `volume`,
`jitter`), and update any example usages or descriptions to use `name` instead
of `path` so the docs match the implementation in App.vue and related
components.

In `@vue-moq/src/style.css`:
- Around line 6-11: Remove the unexpected empty line before the root
declarations and normalize the keyword casing: delete the blank line immediately
before the font-synthesis declaration so there is no empty line between
background-color and font-synthesis (addressing declaration-empty-line-before
for font-synthesis), and change the text-rendering value from optimizeLegibility
to the lowercase optimizelegibility to satisfy value-keyword-case; confirm other
root properties like color-scheme and background-color remain unchanged.

---

Nitpick comments:
In `@vue-moq/index.html`:
- Line 7: Update the HTML document title element to something descriptive for
this template example: locate the <title> element in index.html (currently "Vite
App") and replace its content with a more specific label such as "MoQ + Vue" so
the page title accurately reflects the project's purpose.

In `@vue-moq/src/App.vue`:
- Around line 30-31: Remove the empty <style scoped> block from App.vue since it
contains no CSS; locate the <style scoped>...</style> tag pair in the file and
delete it (ensuring you don't remove other blocks like <script> or <template>),
and save the file without leaving an empty or dangling style tag.

In `@vue-moq/vite.config.ts`:
- Line 5: The vueDevTools plugin is currently imported and used without
restricting it to the dev server; update the plugin invocation (vueDevTools) in
the Vite config so it is applied only during serve by passing apply: 'serve'
(e.g., use vueDevTools({ apply: 'serve' }) or wrap the plugin entry with {
...vueDevTools(), apply: 'serve' } as appropriate) to ensure it never runs
during vite build.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2539104 and 3d21308.

⛔ Files ignored due to path filters (2)
  • vue-moq/package-lock.json is excluded by !**/package-lock.json
  • vue-moq/public/favicon.ico is excluded by !**/*.ico
📒 Files selected for processing (23)
  • README.md
  • vite-5/README.md
  • vite-5/src/App.tsx
  • vite-6/README.md
  • vite-6/src/App.tsx
  • vite-7/README.md
  • vite-7/src/App.tsx
  • vue-moq/.editorconfig
  • vue-moq/.gitattributes
  • vue-moq/.gitignore
  • vue-moq/.oxlintrc.json
  • vue-moq/README.md
  • vue-moq/env.d.ts
  • vue-moq/eslint.config.ts
  • vue-moq/index.html
  • vue-moq/package.json
  • vue-moq/src/App.vue
  • vue-moq/src/main.ts
  • vue-moq/src/style.css
  • vue-moq/tsconfig.app.json
  • vue-moq/tsconfig.json
  • vue-moq/tsconfig.node.json
  • vue-moq/vite.config.ts

Comment on lines 6 to 11
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;

font-synthesis: none;
text-rendering: optimizeLegibility;
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Fix stylelint violations in root declarations.

Line 6 and Line 10 trigger declaration-empty-line-before, and Line 11 violates value-keyword-case (optimizeLegibilityoptimizelegibility).

🔧 Proposed lint-fix diff
 :root {
   font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
   line-height: 1.5;
   font-weight: 400;
-
   color-scheme: light dark;
   color: rgba(255, 255, 255, 0.87);
   background-color: `#242424`;
-
   font-synthesis: none;
-  text-rendering: optimizeLegibility;
+  text-rendering: optimizelegibility;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
 }
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: #242424;
font-synthesis: none;
text-rendering: optimizeLegibility;
color-scheme: light dark;
color: rgba(255, 255, 255, 0.87);
background-color: `#242424`;
font-synthesis: none;
text-rendering: optimizelegibility;
🧰 Tools
🪛 Stylelint (17.3.0)

[error] 6-6: Unexpected empty line before declaration (declaration-empty-line-before)

(declaration-empty-line-before)


[error] 10-10: Unexpected empty line before declaration (declaration-empty-line-before)

(declaration-empty-line-before)


[error] 11-11: Expected "optimizeLegibility" to be "optimizelegibility" (value-keyword-case)

(value-keyword-case)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/src/style.css` around lines 6 - 11, Remove the unexpected empty line
before the root declarations and normalize the keyword casing: delete the blank
line immediately before the font-synthesis declaration so there is no empty line
between background-color and font-synthesis (addressing
declaration-empty-line-before for font-synthesis), and change the text-rendering
value from optimizeLegibility to the lowercase optimizelegibility to satisfy
value-keyword-case; confirm other root properties like color-scheme and
background-color remain unchanged.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (2)
vue-moq/index.html (1)

2-2: lang="en" correctly set.

The previously flagged empty lang attribute has been fixed.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/index.html` at line 2, The HTML root element's language is correctly
set (html lang attribute) so keep the lang="en" change, remove the stray
duplicate review token "[duplicate_comment]" from this file/commit message, and
verify there are no other empty lang attributes elsewhere in the markup.
vue-moq/src/style.css (1)

9-9: ⚠️ Potential issue | 🟡 Minor

Remaining Stylelint value-keyword-case violation — optimizeLegibility must be lowercase.

The declaration-empty-line-before issues from the previous review are resolved, but text-rendering: optimizeLegibility still fails Stylelint's value-keyword-case rule.

🔧 Proposed fix
-  text-rendering: optimizeLegibility;
+  text-rendering: optimizelegibility;
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/src/style.css` at line 9, The CSS declaration uses a capitalized
keyword: change the text-rendering property value from "optimizeLegibility" to
the lowercase "optimizelegibility" (or use the canonical lowercase
"optimize-legibility" if your linter/project expects that form) to satisfy
Stylelint's value-keyword-case rule; update the declaration in the style.css
file where the rule appears (text-rendering property) so the keyword is fully
lowercase.
🧹 Nitpick comments (1)
vue-moq/index.html (1)

7-7: Update the generic scaffold title.

"Vite App" is the Vite default placeholder; replace it with something that describes the project (e.g., "vue-moq").

✏️ Proposed fix
-    <title>Vite App</title>
+    <title>vue-moq</title>
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@vue-moq/index.html` at line 7, The HTML title currently uses the Vite default
placeholder "Vite App"; update the <title> element in index.html to a
project-appropriate name such as "vue-moq" by replacing the existing text
content inside the title tag so the page metadata reflects the project.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@vue-moq/index.html`:
- Line 2: The HTML root element's language is correctly set (html lang
attribute) so keep the lang="en" change, remove the stray duplicate review token
"[duplicate_comment]" from this file/commit message, and verify there are no
other empty lang attributes elsewhere in the markup.

In `@vue-moq/src/style.css`:
- Line 9: The CSS declaration uses a capitalized keyword: change the
text-rendering property value from "optimizeLegibility" to the lowercase
"optimizelegibility" (or use the canonical lowercase "optimize-legibility" if
your linter/project expects that form) to satisfy Stylelint's value-keyword-case
rule; update the declaration in the style.css file where the rule appears
(text-rendering property) so the keyword is fully lowercase.

---

Nitpick comments:
In `@vue-moq/index.html`:
- Line 7: The HTML title currently uses the Vite default placeholder "Vite App";
update the <title> element in index.html to a project-appropriate name such as
"vue-moq" by replacing the existing text content inside the title tag so the
page metadata reflects the project.

ℹ️ Review info

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3d21308 and a89b360.

📒 Files selected for processing (3)
  • vue-moq/README.md
  • vue-moq/index.html
  • vue-moq/src/style.css
🚧 Files skipped from review as they are similar to previous changes (1)
  • vue-moq/README.md

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