backoffice/node_modules/clean-css/lib/images/url-rebase.js

33 lines
886 B
JavaScript

var path = require('path');
var UrlRewriter = require('./url-rewriter');
module.exports = function UrlRebase(options, context) {
var process = function(data) {
var rebaseOpts = {
absolute: !!options.root,
relative: !options.root && !!options.target,
fromBase: options.relativeTo
};
if (!rebaseOpts.absolute && !rebaseOpts.relative)
return data;
if (rebaseOpts.absolute && !!options.target)
context.warnings.push('Both \'root\' and output file given so rebasing URLs as absolute paths');
if (rebaseOpts.absolute)
rebaseOpts.toBase = path.resolve(options.root);
if (rebaseOpts.relative)
rebaseOpts.toBase = path.resolve(path.dirname(options.target));
if (!rebaseOpts.fromBase || !rebaseOpts.toBase)
return data;
return UrlRewriter.process(data, rebaseOpts);
};
return { process: process };
};