Build OpenUI5 themes with Less.js.
npm install less-openui5
var lessOpenUI5 = require('less-openui5');
// Create a builder instance
var builder = new lessOpenUI5.Builder();
// Build a theme
builder.build({
lessInput: '@var: #ffffff; .class { color: @var; float: left }'
})
.then(function(result) {
console.log(result.css); // => regular css
/*
.class {
color: #ffffff;
float: left;
}
*/
console.log(result.cssRtl); // => mirrored css for right-to-left support
/*
.class {
color: #ffffff;
float: right;
}
*/
console.log(result.variables); // => less variables with their values (only global ones)
/*
{ var: "#ffffff" }
*/
console.log(result.imports); // => paths to files imported via @import directives
/*
[]
*/
// Clear builder cache when finished to cleanup memory
builder.clearCache();
});Creates a new Builder instance.
It caches build results to only rebuild a theme when related files have been changed.
This is mainly relevant when building themes as part of a server middleware like connect-openui5.
Returns a Promise resolving with a result object.
Required (either lessInput or lessInputPath, not both)
Type: string
Input less content.
Required (either lessInput or lessInputPath, not both)
Type: string
Path to input less file.
When rootPaths is given this must be a relative path inside one of the provided rootPaths, otherwise just a regular filesystem path.
Type: boolean
Default: true
Create mirrored css for right-to-left support.
Type: array of string
Root paths to use for import directives.
This option differs from the less compiler.paths option.
It is useful if less files are located in separate folders but referenced as they would all be in one.
rootPaths: [ './lib1', './lib2' ]Folder structure
lib1
my
themes
foo
foo.less
lib2
my
themes
bar
bar.less
lib2/my/themes/bar/bar.less
@import "../foo/foo.less"; /* lib1/my/themes/foo/foo.less will be imported */Type: object
Options for the less parser (less.Parser).
Note: Default of relativeUrls option is changed from false to true.
Type object
Options for the less compiler (tree.toCss).
Type string
Dot-separated name of the corresponding library.
It will be used to inline the variables JSON as data-uri which can be retrieved at runtime.
Type: string
Regular css output.
Type: string
Mirrored css for right-to-left support (if rtl option was enabled).
Type: object
Key-value map of all global less variables (without @ prefix).
Type: array
Paths to files imported via import directives.
Clears all cached build results.
Use this method to prevent high memory consumption when building many themes within the same process.
See CONTRIBUTING.md.
See CHANGELOG.md.
Apache License 2.0 © 2017 SAP SE