utils-D30tqOw3.cjs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. const require_context = require('./context-DwbtaXxf.cjs');
  2. const node_fs = require_context.__toESM(require("node:fs"));
  3. const node_path = require_context.__toESM(require("node:path"));
  4. //#region src/rspack/utils.ts
  5. function encodeVirtualModuleId(id, plugin) {
  6. return (0, node_path.resolve)(plugin.__virtualModulePrefix, encodeURIComponent(id));
  7. }
  8. function decodeVirtualModuleId(encoded, _plugin) {
  9. return decodeURIComponent((0, node_path.basename)(encoded));
  10. }
  11. function isVirtualModuleId(encoded, plugin) {
  12. return (0, node_path.dirname)(encoded) === plugin.__virtualModulePrefix;
  13. }
  14. var FakeVirtualModulesPlugin = class FakeVirtualModulesPlugin {
  15. name = "FakeVirtualModulesPlugin";
  16. static counter = 0;
  17. constructor(plugin) {
  18. this.plugin = plugin;
  19. }
  20. apply(compiler) {
  21. FakeVirtualModulesPlugin.counter++;
  22. const dir = this.plugin.__virtualModulePrefix;
  23. if (!node_fs.default.existsSync(dir)) node_fs.default.mkdirSync(dir, { recursive: true });
  24. compiler.hooks.shutdown.tap(this.name, () => {
  25. if (--FakeVirtualModulesPlugin.counter === 0) node_fs.default.rmSync(dir, {
  26. recursive: true,
  27. force: true
  28. });
  29. });
  30. }
  31. async writeModule(file) {
  32. const path = encodeVirtualModuleId(file, this.plugin);
  33. await node_fs.default.promises.writeFile(path, "");
  34. return path;
  35. }
  36. };
  37. //#endregion
  38. Object.defineProperty(exports, 'FakeVirtualModulesPlugin', {
  39. enumerable: true,
  40. get: function () {
  41. return FakeVirtualModulesPlugin;
  42. }
  43. });
  44. Object.defineProperty(exports, 'decodeVirtualModuleId', {
  45. enumerable: true,
  46. get: function () {
  47. return decodeVirtualModuleId;
  48. }
  49. });
  50. Object.defineProperty(exports, 'encodeVirtualModuleId', {
  51. enumerable: true,
  52. get: function () {
  53. return encodeVirtualModuleId;
  54. }
  55. });
  56. Object.defineProperty(exports, 'isVirtualModuleId', {
  57. enumerable: true,
  58. get: function () {
  59. return isVirtualModuleId;
  60. }
  61. });