LogInfoPlugin.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. MIT License http://www.opensource.org/licenses/mit-license.php
  3. Author Tobias Koppers @sokra
  4. */
  5. "use strict";
  6. /** @typedef {import("./Resolver")} Resolver */
  7. module.exports = class LogInfoPlugin {
  8. constructor(source) {
  9. this.source = source;
  10. }
  11. /**
  12. * @param {Resolver} resolver the resolver
  13. * @returns {void}
  14. */
  15. apply(resolver) {
  16. const source = this.source;
  17. resolver
  18. .getHook(this.source)
  19. .tapAsync("LogInfoPlugin", (request, resolveContext, callback) => {
  20. if (!resolveContext.log) return callback();
  21. const log = resolveContext.log;
  22. const prefix = "[" + source + "] ";
  23. if (request.path)
  24. log(prefix + "Resolving in directory: " + request.path);
  25. if (request.request)
  26. log(prefix + "Resolving request: " + request.request);
  27. if (request.module) log(prefix + "Request is an module request.");
  28. if (request.directory) log(prefix + "Request is a directory request.");
  29. if (request.query)
  30. log(prefix + "Resolving request query: " + request.query);
  31. if (request.fragment)
  32. log(prefix + "Resolving request fragment: " + request.fragment);
  33. if (request.descriptionFilePath)
  34. log(
  35. prefix + "Has description data from " + request.descriptionFilePath
  36. );
  37. if (request.relativePath)
  38. log(
  39. prefix +
  40. "Relative path from description file is: " +
  41. request.relativePath
  42. );
  43. callback();
  44. });
  45. }
  46. };