forked from enviPath/enviPy
Current Dev State
This commit is contained in:
60
static/js/ketcher2/node_modules/less/lib/less/parse-tree.js
generated
vendored
Normal file
60
static/js/ketcher2/node_modules/less/lib/less/parse-tree.js
generated
vendored
Normal file
@ -0,0 +1,60 @@
|
||||
var LessError = require('./less-error'),
|
||||
transformTree = require("./transform-tree"),
|
||||
logger = require("./logger");
|
||||
|
||||
module.exports = function(SourceMapBuilder) {
|
||||
var ParseTree = function(root, imports) {
|
||||
this.root = root;
|
||||
this.imports = imports;
|
||||
};
|
||||
|
||||
ParseTree.prototype.toCSS = function(options) {
|
||||
var evaldRoot, result = {}, sourceMapBuilder;
|
||||
try {
|
||||
evaldRoot = transformTree(this.root, options);
|
||||
} catch (e) {
|
||||
throw new LessError(e, this.imports);
|
||||
}
|
||||
|
||||
try {
|
||||
var compress = Boolean(options.compress);
|
||||
if (compress) {
|
||||
logger.warn("The compress option has been deprecated. We recommend you use a dedicated css minifier, for instance see less-plugin-clean-css.");
|
||||
}
|
||||
|
||||
var toCSSOptions = {
|
||||
compress: compress,
|
||||
dumpLineNumbers: options.dumpLineNumbers,
|
||||
strictUnits: Boolean(options.strictUnits),
|
||||
numPrecision: 8};
|
||||
|
||||
if (options.sourceMap) {
|
||||
sourceMapBuilder = new SourceMapBuilder(options.sourceMap);
|
||||
result.css = sourceMapBuilder.toCSS(evaldRoot, toCSSOptions, this.imports);
|
||||
} else {
|
||||
result.css = evaldRoot.toCSS(toCSSOptions);
|
||||
}
|
||||
} catch (e) {
|
||||
throw new LessError(e, this.imports);
|
||||
}
|
||||
|
||||
if (options.pluginManager) {
|
||||
var postProcessors = options.pluginManager.getPostProcessors();
|
||||
for (var i = 0; i < postProcessors.length; i++) {
|
||||
result.css = postProcessors[i].process(result.css, { sourceMap: sourceMapBuilder, options: options, imports: this.imports });
|
||||
}
|
||||
}
|
||||
if (options.sourceMap) {
|
||||
result.map = sourceMapBuilder.getExternalSourceMap();
|
||||
}
|
||||
|
||||
result.imports = [];
|
||||
for (var file in this.imports.files) {
|
||||
if (this.imports.files.hasOwnProperty(file) && file !== this.imports.rootFilename) {
|
||||
result.imports.push(file);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
return ParseTree;
|
||||
};
|
||||
Reference in New Issue
Block a user