4 of 6 standards met
Related plugins [x] plugin-vue [ ] plugin-vue-jsx Describe the bug It seems like this project is attempting to dynamically set the transform filter in the options hook, however, in my testing, that filter does not appear to actually do the correct thing in the latest versions of the Vite 8 beta. As a result, the rust->javascript hop must be performed for every file in the project to be filtered and rejected on the javascript side reducing build performance. I am unable to share my project at this time, but it has roughly 3500 modules (most of which are in node_modules). Instrumentation showed that the transform hook spent around 245ms actually doing work in the JavaScript side of things, but not filtering results in an additional 147ms of overhead for the Vite 8 beta (campared to using a static filter. So in this case, fixing the filter could reduce the overhead of the vite-plugin-vue transform hook by ~38%, but that will obviously vary based on the count and ratio of .vue / non-vue files. The total build time was only reduced by about 6% though. Reproduction I added a console.log statement to transform hook within the artifacts and observed that the transform hook was being applied to all sorts of files and not just the / files as expected. To test the impact of the filter being broke, I add the following filter: This obviously won't work with dynamically changing the filter as intended by https://github.com/vitejs/vite-plugin-vue/commit/e3beac8264627a4069e75ccb5db1c851dc73db31, but it did at least allow me to confirm the overhead. System Info Used Package Manager yarn Logs _No response_ Validations [x] Follow our Code of Conduct [x] Read the Contributing Guidelines. [x] Read the docs. [x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate. [x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead. [x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server. [x] The provided reproduction is a minimal reproducible example of the bug.
Repository: vitejs/vite-plugin-vue. Description: Vite Vue Plugins Stars: 652, Forks: 190. Primary language: TypeScript. Languages: TypeScript (72.3%), JavaScript (13.7%), Vue (12.1%), HTML (1.4%), CSS (0.4%). License: MIT. Latest release: plugin-vue-jsx@5.1.4 (3w ago). Open PRs: 18, open issues: 66. Last activity: 10h ago. Community health: 75%. Top contributors: yyx990803, renovate[bot], sapphi-red, patak-cat, sxzz, antfu, Shinigami92, haoqunjiang, bluwy, underfin and others.
Last 12 weeks · 25 commits
Related plugins [x] plugin-vue [ ] plugin-vue-jsx Describe the bug Summary v5.2.2+ drops scoped CSS from Options API components using named exports. CSS is completely missing from the bundle with no build errors or warnings. Regression: v5.2.2 (last working: v5.2.1) Status: Still broken in v6.0.2 Minimal Reproduction Config: Default Vite config, no special plugins needed. The Issue Broken (v5.2.2+): Works: Expected vs Actual Expected: CSS in bundle with scoped selectors like Actual:** No CSS anywhere in dist/ output. Component renders but completely unstyled. Steps to Reproduce 1. Create component with + `import { X } from './Component.vue'vite build`` Used Package Manager npm Validations [x] Follow our Code of Conduct [x] Read the Contributing Guidelines. [x] Read the docs. [x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate. [x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead. [x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server. [x] The provided reproduction is a minimal reproducible example of the bug.