The two grunt/config/less.js tasks (compile/dev) have different file filters:
compile: [
'<%= sourcedir %>components/*/less/**/*.less',
'<%= sourcedir %>extensions/*/less/**/*.less',
'<%= sourcedir %>menu/<%= menu %>/**/*.less',
'<%= sourcedir %>theme/<%= theme %>/**/*.less'
]
dev: [
'<%= sourcedir %>/core/less/**/*.less',
'<%= sourcedir %>/*/*/less/**/*.less'
]
With one theme installed in src/theme/ they behave the same. With 2+ themes, dev concatenates both themes' LESS into a single adapt.css. Conflicting variables (e.g. @blend-modes) and overlapping selectors push less.js into a runaway state and the build OOMs (heap dump shows recursive Builtins_JSConstructStubGeneric frames).
It would be useful to be able to run a dev build in a FW src with multiple themes without having to perform a manual filter. It probably also makes sense from a consistency standpoint to use the same file filters for both tasks, unless we specifically need otherwise.
The two
grunt/config/less.jstasks (compile/dev) have different file filters:With one theme installed in
src/theme/they behave the same. With 2+ themes,devconcatenates both themes' LESS into a singleadapt.css. Conflicting variables (e.g.@blend-modes) and overlapping selectors push less.js into a runaway state and the build OOMs (heap dump shows recursiveBuiltins_JSConstructStubGenericframes).It would be useful to be able to run a dev build in a FW src with multiple themes without having to perform a manual filter. It probably also makes sense from a consistency standpoint to use the same file filters for both tasks, unless we specifically need otherwise.