UNPKG

vite-plugin-react-server

Version:
61 lines (58 loc) 7.74 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ import { resolve } from 'node:path'; function resolveModuleFromManifest({ moduleId, normalizer, manifest, moduleBase, preserveModulesRoot, projectRoot, buildOutDir, buildServerDir, verbose = false, logger }) { let normalizedKey = moduleId; let normalizedValue = moduleId; if (normalizer) { [normalizedKey, normalizedValue] = normalizer(moduleId); } let manifestEntry = manifest[normalizedValue] ?? manifest[normalizedKey]; if (!manifestEntry && preserveModulesRoot === false && normalizedValue.startsWith(moduleBase + "/")) { const withoutModuleBase = normalizedValue.replace( moduleBase + "/", "" ); manifestEntry = manifest[withoutModuleBase]; if (verbose && manifestEntry) { logger?.info( `[resolveModuleFromManifest] Found entry after removing moduleBase: ${withoutModuleBase} -> ${manifestEntry.file}` ); } } let builtModuleId = moduleId; if (manifestEntry && manifestEntry.file) { builtModuleId = manifestEntry.file; if (verbose) { logger?.info( `[resolveModuleFromManifest] Resolved ${moduleId} -> ${builtModuleId} via manifest` ); } } else if (verbose) { logger?.warn( `[resolveModuleFromManifest] No manifest entry found for ${moduleId} (tried keys: ${normalizedValue}, ${normalizedKey}), using moduleId directly` ); } const resolvedPath = manifestEntry ? resolve(projectRoot, buildOutDir, buildServerDir, manifestEntry.file) : null; return { manifestEntry, resolvedPath, builtModuleId }; } export { resolveModuleFromManifest }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZU1vZHVsZUZyb21NYW5pZmVzdC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvcmVzb2x2ZU1vZHVsZUZyb21NYW5pZmVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZXNvbHZlIH0gZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXIgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHR5cGUgeyBJbnB1dE5vcm1hbGl6ZXIgfSBmcm9tIFwiLi4vdHlwZXMuanNcIjtcblxuLyoqXG4gKiBTaGFyZWQgdXRpbGl0eSBmb3IgcmVzb2x2aW5nIG1vZHVsZSBwYXRocyBmcm9tIG1hbmlmZXN0cy5cbiAqIFxuICogVGhpcyBoYW5kbGVzIHRoZSBjb21tb24gcGF0dGVybiBvZjpcbiAqIDEuIE5vcm1hbGl6aW5nIHRoZSBtb2R1bGVJZCB1c2luZyB0aGUgbm9ybWFsaXplciAoaWYgcHJvdmlkZWQpXG4gKiAyLiBMb29raW5nIHVwIGEgc291cmNlIHBhdGggaW4gYSBtYW5pZmVzdCB0byBnZXQgdGhlIGJ1aWx0IGZpbGUgcGF0aFxuICogMy4gSGFuZGxpbmcgZGlmZmVyZW50IG1hbmlmZXN0IGtleSBmb3JtYXRzICh3aXRoL3dpdGhvdXQgbW9kdWxlQmFzZSBwcmVmaXgpXG4gKiA0LiBSZXNvbHZpbmcgdGhlIGZ1bGwgZmlsZSBwYXRoIGZvciBsb2FkaW5nXG4gKiBcbiAqIFVzZWQgYnkgYm90aDpcbiAqIC0gUlNDIHdvcmtlciBsb2FkZXIgKGNyZWF0ZVJzY1dvcmtlckxvYWRlcilcbiAqIC0gQnVpbGQgbG9hZGVyIChjcmVhdGVCdWlsZExvYWRlci5zZXJ2ZXIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTW9kdWxlRnJvbU1hbmlmZXN0KHtcbiAgbW9kdWxlSWQsXG4gIG5vcm1hbGl6ZXIsXG4gIG1hbmlmZXN0LFxuICBtb2R1bGVCYXNlLFxuICBwcmVzZXJ2ZU1vZHVsZXNSb290LFxuICBwcm9qZWN0Um9vdCxcbiAgYnVpbGRPdXREaXIsXG4gIGJ1aWxkU2VydmVyRGlyLFxuICB2ZXJib3NlID0gZmFsc2UsXG4gIGxvZ2dlcixcbn06IHtcbiAgbW9kdWxlSWQ6IHN0cmluZztcbiAgbm9ybWFsaXplcj86IElucHV0Tm9ybWFsaXplcjtcbiAgbWFuaWZlc3Q6IFJlY29yZDxzdHJpbmcsIHsgZmlsZTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+O1xuICBtb2R1bGVCYXNlOiBzdHJpbmc7XG4gIHByZXNlcnZlTW9kdWxlc1Jvb3Q/OiBib29sZWFuO1xuICBwcm9qZWN0Um9vdDogc3RyaW5nO1xuICBidWlsZE91dERpcjogc3RyaW5nO1xuICBidWlsZFNlcnZlckRpcjogc3RyaW5nO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbiAgbG9nZ2VyPzogTG9nZ2VyO1xufSk6IHtcbiAgbWFuaWZlc3RFbnRyeTogeyBmaWxlOiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcbiAgcmVzb2x2ZWRQYXRoOiBzdHJpbmcgfCBudWxsO1xuICBidWlsdE1vZHVsZUlkOiBzdHJpbmc7XG59IHtcbiAgLy8gTm9ybWFsaXplIHRoZSBtb2R1bGVJZCB1c2luZyB0aGUgbm9ybWFsaXplciAoc2FtZSBsb2dpYyBhcyBidWlsZExvYWRlcilcbiAgbGV0IG5vcm1hbGl6ZWRLZXkgPSBtb2R1bGVJZDtcbiAgbGV0IG5vcm1hbGl6ZWRWYWx1ZSA9IG1vZHVsZUlkO1xuICBpZiAobm9ybWFsaXplcikge1xuICAgIFtub3JtYWxpemVkS2V5LCBub3JtYWxpemVkVmFsdWVdID0gbm9ybWFsaXplcihtb2R1bGVJZCk7XG4gIH1cbiAgLy8gVHJ5IHRvIGZpbmQgbWFuaWZlc3QgZW50cnkgdXNpbmcgbm9ybWFsaXplZCBrZXlzXG4gIGxldCBtYW5pZmVzdEVudHJ5ID0gbWFuaWZlc3Rbbm9ybWFsaXplZFZhbHVlXSA/PyBtYW5pZmVzdFtub3JtYWxpemVkS2V5XTtcblxuICAvLyBJZiBub3QgZm91bmQgYW5kIHByZXNlcnZlTW9kdWxlc1Jvb3QgaXMgZmFsc2UsIHRyeSB3aXRoIHRoZSBtb2R1bGVCYXNlIHByZWZpeCByZW1vdmVkXG4gIGlmIChcbiAgICAhbWFuaWZlc3RFbnRyeSAmJlxuICAgIHByZXNlcnZlTW9kdWxlc1Jvb3QgPT09IGZhbHNlICYmXG4gICAgbm9ybWFsaXplZFZhbHVlLnN0YXJ0c1dpdGgobW9kdWxlQmFzZSArIFwiL1wiKVxuICApIHtcbiAgICBjb25zdCB3aXRob3V0TW9kdWxlQmFzZSA9IG5vcm1hbGl6ZWRWYWx1ZS5yZXBsYWNlKFxuICAgICAgbW9kdWxlQmFzZSArIFwiL1wiLFxuICAgICAgXCJcIlxuICAgICk7XG4gICAgbWFuaWZlc3RFbnRyeSA9IG1hbmlmZXN0W3dpdGhvdXRNb2R1bGVCYXNlXTtcbiAgICBcbiAgICBpZiAodmVyYm9zZSAmJiBtYW5pZmVzdEVudHJ5KSB7XG4gICAgICBsb2dnZXI/LmluZm8oXG4gICAgICAgIGBbcmVzb2x2ZU1vZHVsZUZyb21NYW5pZmVzdF0gRm91bmQgZW50cnkgYWZ0ZXIgcmVtb3ZpbmcgbW9kdWxlQmFzZTogJHt3aXRob3V0TW9kdWxlQmFzZX0gLT4gJHttYW5pZmVzdEVudHJ5LmZpbGV9YFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBmb3VuZCBhIG1hbmlmZXN0IGVudHJ5LCB1c2UgaXRzIGZpbGUgcGF0aFxuICBsZXQgYnVpbHRNb2R1bGVJZCA9IG1vZHVsZUlkO1xuICBpZiAobWFuaWZlc3RFbnRyeSAmJiBtYW5pZmVzdEVudHJ5LmZpbGUpIHtcbiAgICBidWlsdE1vZHVsZUlkID0gbWFuaWZlc3RFbnRyeS5maWxlO1xuICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICBsb2dnZXI/LmluZm8oXG4gICAgICAgIGBbcmVzb2x2ZU1vZHVsZUZyb21NYW5pZmVzdF0gUmVzb2x2ZWQgJHttb2R1bGVJZH0gLT4gJHtidWlsdE1vZHVsZUlkfSB2aWEgbWFuaWZlc3RgXG4gICAgICApO1xuICAgIH1cbiAgfSBlbHNlIGlmICh2ZXJib3NlKSB7XG4gICAgbG9nZ2VyPy53YXJuKFxuICAgICAgYFtyZXNvbHZlTW9kdWxlRnJvbU1hbmlmZXN0XSBObyBtYW5pZmVzdCBlbnRyeSBmb3VuZCBmb3IgJHttb2R1bGVJZH0gKHRyaWVkIGtleXM6ICR7bm9ybWFsaXplZFZhbHVlfSwgJHtub3JtYWxpemVkS2V5fSksIHVzaW5nIG1vZHVsZUlkIGRpcmVjdGx5YFxuICAgICk7XG4gIH1cblxuICAvLyBDb25zdHJ1Y3QgdGhlIGZ1bGwgcmVzb2x2ZWQgcGF0aFxuICBjb25zdCByZXNvbHZlZFBhdGggPSBtYW5pZmVzdEVudHJ5XG4gICAgPyByZXNvbHZlKHByb2plY3RSb290LCBidWlsZE91dERpciwgYnVpbGRTZXJ2ZXJEaXIsIG1hbmlmZXN0RW50cnkuZmlsZSlcbiAgICA6IG51bGw7XG5cbiAgcmV0dXJuIHtcbiAgICBtYW5pZmVzdEVudHJ5LFxuICAgIHJlc29sdmVkUGF0aCxcbiAgICBidWlsdE1vZHVsZUlkLFxuICB9O1xufVxuXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWlCTyxTQUFTLHlCQUEwQixDQUFBO0FBQUEsRUFDeEMsUUFBQTtBQUFBLEVBQ0EsVUFBQTtBQUFBLEVBQ0EsUUFBQTtBQUFBLEVBQ0EsVUFBQTtBQUFBLEVBQ0EsbUJBQUE7QUFBQSxFQUNBLFdBQUE7QUFBQSxFQUNBLFdBQUE7QUFBQSxFQUNBLGNBQUE7QUFBQSxFQUNBLE9BQVUsR0FBQSxLQUFBO0FBQUEsRUFDVjtBQUNGLENBZUUsRUFBQTtBQUVBLEVBQUEsSUFBSSxhQUFnQixHQUFBLFFBQUE7QUFDcEIsRUFBQSxJQUFJLGVBQWtCLEdBQUEsUUFBQTtBQUN0QixFQUFBLElBQUksVUFBWSxFQUFBO0FBQ2QsSUFBQSxDQUFDLGFBQWUsRUFBQSxlQUFlLENBQUksR0FBQSxVQUFBLENBQVcsUUFBUSxDQUFBO0FBQUE7QUFHeEQsRUFBQSxJQUFJLGFBQWdCLEdBQUEsUUFBQSxDQUFTLGVBQWUsQ0FBQSxJQUFLLFNBQVMsYUFBYSxDQUFBO0FBR3ZFLEVBQ0UsSUFBQSxDQUFDLGlCQUNELG1CQUF3QixLQUFBLEtBQUEsSUFDeEIsZ0JBQWdCLFVBQVcsQ0FBQSxVQUFBLEdBQWEsR0FBRyxDQUMzQyxFQUFBO0FBQ0EsSUFBQSxNQUFNLG9CQUFvQixlQUFnQixDQUFBLE9BQUE7QUFBQSxNQUN4QyxVQUFhLEdBQUEsR0FBQTtBQUFBLE1BQ2I7QUFBQSxLQUNGO0FBQ0EsSUFBQSxhQUFBLEdBQWdCLFNBQVMsaUJBQWlCLENBQUE7QUFFMUMsSUFBQSxJQUFJLFdBQVcsYUFBZSxFQUFBO0FBQzVCLE1BQVEsTUFBQSxFQUFBLElBQUE7QUFBQSxRQUNOLENBQXNFLG1FQUFBLEVBQUEsaUJBQWlCLENBQU8sSUFBQSxFQUFBLGFBQUEsQ0FBYyxJQUFJLENBQUE7QUFBQSxPQUNsSDtBQUFBO0FBQ0Y7QUFJRixFQUFBLElBQUksYUFBZ0IsR0FBQSxRQUFBO0FBQ3BCLEVBQUksSUFBQSxhQUFBLElBQWlCLGNBQWMsSUFBTSxFQUFBO0FBQ3ZDLElBQUEsYUFBQSxHQUFnQixhQUFjLENBQUEsSUFBQTtBQUM5QixJQUFBLElBQUksT0FBUyxFQUFBO0FBQ1gsTUFBUSxNQUFBLEVBQUEsSUFBQTtBQUFBLFFBQ04sQ0FBQSxxQ0FBQSxFQUF3QyxRQUFRLENBQUEsSUFBQSxFQUFPLGFBQWEsQ0FBQSxhQUFBO0FBQUEsT0FDdEU7QUFBQTtBQUNGLGFBQ1MsT0FBUyxFQUFBO0FBQ2xCLElBQVEsTUFBQSxFQUFBLElBQUE7QUFBQSxNQUNOLENBQTJELHdEQUFBLEVBQUEsUUFBUSxDQUFpQixjQUFBLEVBQUEsZUFBZSxLQUFLLGFBQWEsQ0FBQSwwQkFBQTtBQUFBLEtBQ3ZIO0FBQUE7QUFJRixFQUFNLE1BQUEsWUFBQSxHQUFlLGdCQUNqQixPQUFRLENBQUEsV0FBQSxFQUFhLGFBQWEsY0FBZ0IsRUFBQSxhQUFBLENBQWMsSUFBSSxDQUNwRSxHQUFBLElBQUE7QUFFSixFQUFPLE9BQUE7QUFBQSxJQUNMLGFBQUE7QUFBQSxJQUNBLFlBQUE7QUFBQSxJQUNBO0FBQUEsR0FDRjtBQUNGOzs7OyJ9