UNPKG

vite-plugin-react-server

Version:
46 lines (44 loc) 6.25 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ async function resolveVirtualAndNodeModules(moduleId, exportName, verbose = false, logger) { if (!moduleId.includes("_virtual/") && !moduleId.startsWith("_virtual") && !moduleId.includes("node_modules")) { return null; } try { const module = await import(moduleId); if (exportName && !(exportName in module)) { throw new Error( `Export ${exportName} not found in module ${moduleId}` ); } return module; } catch (error) { if (moduleId.includes("dynamic-import-helper")) { if (verbose) { logger?.warn( `[resolveVirtualAndNodeModules] Virtual module detected: ${moduleId}. Providing shim for variable dynamic imports.` ); } const dynamicImportHelper = (specifier) => { return import(specifier); }; const shim = { default: dynamicImportHelper, __variableDynamicImportRuntimeHelper: dynamicImportHelper }; if (exportName) { if (exportName === "default" || exportName === "__variableDynamicImportRuntimeHelper") { return { [exportName]: dynamicImportHelper }; } return shim; } return shim; } throw error; } } export { resolveVirtualAndNodeModules }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZVZpcnR1YWxBbmROb2RlTW9kdWxlcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2hlbHBlcnMvcmVzb2x2ZVZpcnR1YWxBbmROb2RlTW9kdWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IExvZ2dlciB9IGZyb20gXCJ2aXRlXCI7XG5cbi8qKlxuICogU2hhcmVkIHV0aWxpdHkgZm9yIGhhbmRsaW5nIHZpcnR1YWwgbW9kdWxlcyBhbmQgbm9kZV9tb2R1bGVzIGluIGxvYWRlcnMuXG4gKiBcbiAqIEZvciB2aXJ0dWFsIG1vZHVsZXMgYW5kIG5vZGVfbW9kdWxlcywgd2UgdXNlIE5vZGUuanMgbmF0aXZlIHJlc29sdXRpb24uXG4gKiBUaGVzZSBzaG91bGQgYmUgaGFuZGxlZCBieSBOb2RlLmpzJ3MgbW9kdWxlIHJlc29sdXRpb24sIG5vdCBjdXN0b20gbG9naWMuXG4gKiBcbiAqIEBwYXJhbSBtb2R1bGVJZCAtIFRoZSBtb2R1bGUgSUQgdG8gcmVzb2x2ZVxuICogQHBhcmFtIGV4cG9ydE5hbWUgLSBPcHRpb25hbCBleHBvcnQgbmFtZSB0byBleHRyYWN0XG4gKiBAcGFyYW0gdmVyYm9zZSAtIFdoZXRoZXIgdG8gbG9nIHZlcmJvc2UgbWVzc2FnZXNcbiAqIEBwYXJhbSBsb2dnZXIgLSBMb2dnZXIgaW5zdGFuY2VcbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBtb2R1bGUsIG9yIG51bGwgaWYgdGhpcyBpc24ndCBhIHZpcnR1YWwvbm9kZV9tb2R1bGVzIG1vZHVsZVxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVzb2x2ZVZpcnR1YWxBbmROb2RlTW9kdWxlcyhcbiAgbW9kdWxlSWQ6IHN0cmluZyxcbiAgZXhwb3J0TmFtZT86IHN0cmluZyxcbiAgdmVyYm9zZSA9IGZhbHNlLFxuICBsb2dnZXI/OiBMb2dnZXJcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55PiB8IG51bGw+IHtcbiAgLy8gRm9yIHZpcnR1YWwgbW9kdWxlcyBhbmQgbm9kZV9tb2R1bGVzLCB1c2UgTm9kZS5qcyBuYXRpdmUgcmVzb2x1dGlvblxuICBpZiAoXG4gICAgIW1vZHVsZUlkLmluY2x1ZGVzKFwiX3ZpcnR1YWwvXCIpICYmXG4gICAgIW1vZHVsZUlkLnN0YXJ0c1dpdGgoXCJfdmlydHVhbFwiKSAmJlxuICAgICFtb2R1bGVJZC5pbmNsdWRlcyhcIm5vZGVfbW9kdWxlc1wiKVxuICApIHtcbiAgICByZXR1cm4gbnVsbDsgLy8gTm90IGEgdmlydHVhbCBtb2R1bGUgb3Igbm9kZV9tb2R1bGVzLCBsZXQgY2FsbGVyIGhhbmRsZSBpdFxuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBUcnkgdG8gaW1wb3J0IGRpcmVjdGx5IC0gTm9kZS5qcyB3aWxsIHJlc29sdmUgaXRcbiAgICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQobW9kdWxlSWQpO1xuICAgIGlmIChleHBvcnROYW1lICYmICEoZXhwb3J0TmFtZSBpbiBtb2R1bGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFeHBvcnQgJHtleHBvcnROYW1lfSBub3QgZm91bmQgaW4gbW9kdWxlICR7bW9kdWxlSWR9YFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG1vZHVsZTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAvLyBJZiBpdCdzIHRoZSBkeW5hbWljLWltcG9ydC1oZWxwZXIsIHByb3ZpZGUgYSBzaGltXG4gICAgaWYgKG1vZHVsZUlkLmluY2x1ZGVzKFwiZHluYW1pYy1pbXBvcnQtaGVscGVyXCIpKSB7XG4gICAgICBpZiAodmVyYm9zZSkge1xuICAgICAgICBsb2dnZXI/Lndhcm4oXG4gICAgICAgICAgYFtyZXNvbHZlVmlydHVhbEFuZE5vZGVNb2R1bGVzXSBWaXJ0dWFsIG1vZHVsZSBkZXRlY3RlZDogJHttb2R1bGVJZH0uIFByb3ZpZGluZyBzaGltIGZvciB2YXJpYWJsZSBkeW5hbWljIGltcG9ydHMuYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICAvLyBfdmlydHVhbC9keW5hbWljLWltcG9ydC1oZWxwZXIuanMgaXMgZ2VuZXJhdGVkIGZvciB2YXJpYWJsZSBkeW5hbWljIGltcG9ydHNcbiAgICAgIC8vIFByb3ZpZGUgYSBzaGltIHRoYXQgdXNlcyBuYXRpdmUgZHluYW1pYyBpbXBvcnRcbiAgICAgIGNvbnN0IGR5bmFtaWNJbXBvcnRIZWxwZXIgPSAoc3BlY2lmaWVyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGltcG9ydChzcGVjaWZpZXIpO1xuICAgICAgfTtcblxuICAgICAgY29uc3Qgc2hpbSA9IHtcbiAgICAgICAgZGVmYXVsdDogZHluYW1pY0ltcG9ydEhlbHBlcixcbiAgICAgICAgX192YXJpYWJsZUR5bmFtaWNJbXBvcnRSdW50aW1lSGVscGVyOiBkeW5hbWljSW1wb3J0SGVscGVyLFxuICAgICAgfTtcblxuICAgICAgaWYgKGV4cG9ydE5hbWUpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGV4cG9ydE5hbWUgPT09IFwiZGVmYXVsdFwiIHx8XG4gICAgICAgICAgZXhwb3J0TmFtZSA9PT0gXCJfX3ZhcmlhYmxlRHluYW1pY0ltcG9ydFJ1bnRpbWVIZWxwZXJcIlxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4geyBbZXhwb3J0TmFtZV06IGR5bmFtaWNJbXBvcnRIZWxwZXIgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2hpbTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzaGltO1xuICAgIH1cblxuICAgIC8vIEZvciBvdGhlciB2aXJ0dWFsIG1vZHVsZXMgb3Igbm9kZV9tb2R1bGVzLCByZS10aHJvdyB0aGUgZXJyb3JcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFjQSxlQUFzQiw0QkFDcEIsQ0FBQSxRQUFBLEVBQ0EsVUFDQSxFQUFBLE9BQUEsR0FBVSxPQUNWLE1BQ3FDLEVBQUE7QUFFckMsRUFBQSxJQUNFLENBQUMsUUFBQSxDQUFTLFFBQVMsQ0FBQSxXQUFXLEtBQzlCLENBQUMsUUFBQSxDQUFTLFVBQVcsQ0FBQSxVQUFVLENBQy9CLElBQUEsQ0FBQyxRQUFTLENBQUEsUUFBQSxDQUFTLGNBQWMsQ0FDakMsRUFBQTtBQUNBLElBQU8sT0FBQSxJQUFBO0FBQUE7QUFHVCxFQUFJLElBQUE7QUFFRixJQUFNLE1BQUEsTUFBQSxHQUFTLE1BQU0sT0FBTyxRQUFBLENBQUE7QUFDNUIsSUFBSSxJQUFBLFVBQUEsSUFBYyxFQUFFLFVBQUEsSUFBYyxNQUFTLENBQUEsRUFBQTtBQUN6QyxNQUFBLE1BQU0sSUFBSSxLQUFBO0FBQUEsUUFDUixDQUFBLE9BQUEsRUFBVSxVQUFVLENBQUEscUJBQUEsRUFBd0IsUUFBUSxDQUFBO0FBQUEsT0FDdEQ7QUFBQTtBQUVGLElBQU8sT0FBQSxNQUFBO0FBQUEsV0FDQSxLQUFPLEVBQUE7QUFFZCxJQUFJLElBQUEsUUFBQSxDQUFTLFFBQVMsQ0FBQSx1QkFBdUIsQ0FBRyxFQUFBO0FBQzlDLE1BQUEsSUFBSSxPQUFTLEVBQUE7QUFDWCxRQUFRLE1BQUEsRUFBQSxJQUFBO0FBQUEsVUFDTiwyREFBMkQsUUFBUSxDQUFBLDhDQUFBO0FBQUEsU0FDckU7QUFBQTtBQUtGLE1BQU0sTUFBQSxtQkFBQSxHQUFzQixDQUFDLFNBQXNCLEtBQUE7QUFDakQsUUFBQSxPQUFPLE9BQU8sU0FBQSxDQUFBO0FBQUEsT0FDaEI7QUFFQSxNQUFBLE1BQU0sSUFBTyxHQUFBO0FBQUEsUUFDWCxPQUFTLEVBQUEsbUJBQUE7QUFBQSxRQUNULG9DQUFzQyxFQUFBO0FBQUEsT0FDeEM7QUFFQSxNQUFBLElBQUksVUFBWSxFQUFBO0FBQ2QsUUFDRSxJQUFBLFVBQUEsS0FBZSxTQUNmLElBQUEsVUFBQSxLQUFlLHNDQUNmLEVBQUE7QUFDQSxVQUFBLE9BQU8sRUFBRSxDQUFDLFVBQVUsR0FBRyxtQkFBb0IsRUFBQTtBQUFBO0FBRTdDLFFBQU8sT0FBQSxJQUFBO0FBQUE7QUFFVCxNQUFPLE9BQUEsSUFBQTtBQUFBO0FBSVQsSUFBTSxNQUFBLEtBQUE7QUFBQTtBQUVWOzs7OyJ9