Comments (3)
Hi,
Thank you for letting me know about this issue. I was able to reproduce it on my environment so I will investigate and update this issue accordingly.
Work around
A work around whilst a solution is found is to trigger the invalidation of the client library manually using http://localhost:4502/libs/granite/ui/content/dumplibs.rebuild.html?invalidate=true.
Issue details
When updating a Sass file within a sub-directory that isn't the main Sass file, it does not trigger the invalidation of the cache for the corresponding client library. The expected output in the log should be similar to this:
com.adobe.granite.ui.clientlibs.impl.LibraryCacheImpl Invalidating library /etc/designs/aem-sass-compiler/clientlib-less
com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl detected [CSS] library: /etc/designs/aem-sass-compiler/clientlib-less, sourced from 6 files.
com.adobe.granite.ui.clientlibs.impl.LibraryCacheImpl Rebuilt 2078 ancestor paths
However, this is not happening so when requesting the compiled CSS file, the client library is not rebuilt.
from aem-sass-compiler.
Hi Michael,
Thanks for your reply. Another work around that we tried is that, we just modified some class in the main.scss that will invalidates the cache and the changes done in the sub directory SASS files are getting reflected.
Will wait for your next milestone release for the fix.
Many thanks Michael for your reply. Really appreciate it !!
from aem-sass-compiler.
Just an update on this issue...
When an update is performed to a file within a client library, the HtmlLibraryManagerImpl
checks whether that file is a dependency of a registered client library category.
However, there seems to be a difference in the dependencies
property of the cached CSS created by the clientlibs-service
under /var/clientlibs
.
Less
/var/clientlibs/etc/designs/aem-sass-compiler/clientlib-less/generated/sample.css/jcr:content
dependencies=[/etc/designs/aem-sass-compiler/clientlib-less/partials/_base.less,
/etc/designs/aem-sass-compiler/clientlib-less/file.less,
/var/clientlibs/etc/designs/aem-sass-compiler/clientlib-less/generated]
Sass
/var/clientlibs/etc/designs/aem-sass-compiler/clientlib/generated/sample.css/jcr:content
dependencies=[/var/clientlibs/etc/designs/aem-sass-compiler/clientlib/generated]
You'll notice that with the Sass clientlibs, the dependencies
property does not contain the original scss files under /etc/designs/
. I have not been able to figure out why that is yet.
A less elegant solution would be to register my own event listener and force the HtmlLibraryManagerImpl
cache to be flushed.
from aem-sass-compiler.
Related Issues (13)
- AEM 6.0 SP3 support
- CSS is not getting updated HOT 2
- Contribution to ACS Commons HOT 1
- SASS Directory imports? HOT 1
- A new jsass release 5.7.3 is available with a more recent sass version: 3.5.4 HOT 3
- AEM 6.4 support
- Parent selector not working HOT 3
- SCSS compilation break in Mac m1 chip
- Document supported AEM versions HOT 1
- AEM 6.1 support HOT 6
- "absolute:" urls processed both by SASS compiler and AEM HOT 2
- ?debugClientLibs=true breaks functionality on publish instance HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aem-sass-compiler.