Open oliveryasuna opened 3 months ago
In addition to scss
and sass
extensions, people might also use less
so might be beneficial to add it to the extension list as well.
Maybe extensions should be customizable with an include/exclude pattern.
I opened a draft PR to demonstrate my proposal: https://github.com/vaadin/flow/pull/19550
Describe your motivation
We use SASS (
.scss
) stylesheets under/frontend/styles
. These are imported and fully supported by Vite. It seems that thevaadin:stats
Vite plugin does not generate hashes for them and store instats.json#frontendHashes
. Because of this, even withprod.bundle
, the Vaadin Maven/Gradle plugins think there are new files, and thus, do not use the existing bundle.Describe the solution you'd like
const projectFileExtensions = ['.js', '.js.map', '.ts', '.ts.map', '.tsx', '.tsx.map', '.css', '.css.map'];
needs to also support.scss
and.sass
.Is there a reason those file extensions are not already included? If not, happy to contribute this simple PR.
Describe alternatives you've considered
I could write a Vite plugin that computes and adds the hashes.
I could create a Gradle task that compiles the SASS files and outputs them to
/frontend/styles
.Both options seem messy.
Additional context
I discovered this while investigating ways to speed up our builds, in lieu of Vaadin's proper Gradle caching support. https://github.com/vaadin/flow/issues/17941
This idea came from our recent endeavour to speed up builds. Relevant issues: