({workspace, combo, namespace})
| 168 | } |
| 169 | |
| 170 | async function generateCssVariablesLess({workspace, combo, namespace}) { |
| 171 | let cssVariablesSourceLessResourcePattern; |
| 172 | if (namespace) { |
| 173 | // In case of a library only check for themes directly below the namespace |
| 174 | cssVariablesSourceLessResourcePattern = `/resources/${namespace}/themes/*/css_variables.source.less`; |
| 175 | } else { |
| 176 | // In case of a theme-library check for all "themes" |
| 177 | cssVariablesSourceLessResourcePattern = `/resources/**/themes/*/css_variables.source.less`; |
| 178 | } |
| 179 | |
| 180 | const cssVariablesSourceLessResource = await workspace.byGlob(cssVariablesSourceLessResourcePattern); |
| 181 | |
| 182 | const hasCssVariables = cssVariablesSourceLessResource.length > 0; |
| 183 | |
| 184 | if (hasCssVariables) { |
| 185 | await Promise.all( |
| 186 | cssVariablesSourceLessResource.map(async (cssVariableSourceLess) => { |
| 187 | const themeFolder = posixPath.dirname(cssVariableSourceLess.getPath()); |
| 188 | log.verbose(`Generating css_variables.less for theme ${themeFolder}`); |
| 189 | const r = await createCssVariablesLessResource({ |
| 190 | workspace, combo, themeFolder |
| 191 | }); |
| 192 | return await workspace.write(r); |
| 193 | }) |
| 194 | ); |
| 195 | } |
| 196 | } |
| 197 | |
| 198 | /** |
| 199 | * @public |
no test coverage detected