url-rebase.js 667 B

123456789101112131415161718192021222324252627
  1. var path = require('path');
  2. var UrlRewriter = require('./url-rewriter');
  3. module.exports = {
  4. process: function(data, options) {
  5. var rebaseOpts = {
  6. absolute: !!options.root,
  7. relative: !options.root && !!options.target,
  8. fromBase: options.relativeTo
  9. };
  10. if (!rebaseOpts.absolute && !rebaseOpts.relative)
  11. return data;
  12. if (rebaseOpts.absolute)
  13. rebaseOpts.toBase = path.resolve(options.root);
  14. if (rebaseOpts.relative)
  15. rebaseOpts.toBase = path.resolve(path.dirname(options.target));
  16. if (!rebaseOpts.fromBase || !rebaseOpts.toBase)
  17. return data;
  18. return UrlRewriter.process(data, rebaseOpts);
  19. }
  20. };