1234567891011121314151617181920212223242526272829303132 |
- 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 };
- };
|