kiwiirc-custom/node_modules/less/lib/less/source-map-builder.js
Georg b3dd3db30b
Adding show_password_box
Signed-off-by: Georg <georg@lysergic.dev>
2021-06-25 07:28:29 +02:00

78 lines
2.6 KiB
JavaScript

export default (SourceMapOutput, environment) => {
class SourceMapBuilder {
constructor(options) {
this.options = options;
}
toCSS(rootNode, options, imports) {
const sourceMapOutput = new SourceMapOutput(
{
contentsIgnoredCharsMap: imports.contentsIgnoredChars,
rootNode,
contentsMap: imports.contents,
sourceMapFilename: this.options.sourceMapFilename,
sourceMapURL: this.options.sourceMapURL,
outputFilename: this.options.sourceMapOutputFilename,
sourceMapBasepath: this.options.sourceMapBasepath,
sourceMapRootpath: this.options.sourceMapRootpath,
outputSourceFiles: this.options.outputSourceFiles,
sourceMapGenerator: this.options.sourceMapGenerator,
sourceMapFileInline: this.options.sourceMapFileInline
});
const css = sourceMapOutput.toCSS(options);
this.sourceMap = sourceMapOutput.sourceMap;
this.sourceMapURL = sourceMapOutput.sourceMapURL;
if (this.options.sourceMapInputFilename) {
this.sourceMapInputFilename = sourceMapOutput.normalizeFilename(this.options.sourceMapInputFilename);
}
if (this.options.sourceMapBasepath !== undefined && this.sourceMapURL !== undefined) {
this.sourceMapURL = sourceMapOutput.removeBasepath(this.sourceMapURL);
}
return css + this.getCSSAppendage();
}
getCSSAppendage() {
let sourceMapURL = this.sourceMapURL;
if (this.options.sourceMapFileInline) {
if (this.sourceMap === undefined) {
return '';
}
sourceMapURL = `data:application/json;base64,${environment.encodeBase64(this.sourceMap)}`;
}
if (sourceMapURL) {
return `/*# sourceMappingURL=${sourceMapURL} */`;
}
return '';
}
getExternalSourceMap() {
return this.sourceMap;
}
setExternalSourceMap(sourceMap) {
this.sourceMap = sourceMap;
}
isInline() {
return this.options.sourceMapFileInline;
}
getSourceMapURL() {
return this.sourceMapURL;
}
getOutputFilename() {
return this.options.sourceMapOutputFilename;
}
getInputFilename() {
return this.sourceMapInputFilename;
}
}
return SourceMapBuilder;
};