UNPKG

vite-plugin-react-server

Version:
54 lines (51 loc) 9.05 kB
/** * vite-plugin-react-server * Copyright (c) Nico Brinkkemper * MIT License */ import { transformWithEsbuild } from 'vite'; import { readFile } from 'node:fs/promises'; const defaultNextLoad = async (url) => { const result = await transformWithEsbuild(await readFile(url, "utf-8"), url, { loader: "tsx", format: "esm", sourcemap: "external" }); return { source: result.code, format: "module", map: result.map }; }; function createDefaultLoader(defaultSource, defaultId = "index") { const defaultSourceNextLoad = typeof defaultSource === "string" ? async (url = defaultId) => { const result = await transformWithEsbuild(defaultSource, url, { loader: "tsx", format: "esm", sourcemap: "external" }); return { source: result.code, format: "module", map: result.map }; } : defaultNextLoad; return async (url = defaultId, context = { format: "module", conditions: ["react-server"], importAttributes: {} }, nextLoad = defaultSourceNextLoad) => { const { format } = context; if (format === "module" || format === "module-typescript") { const result = await nextLoad(url, context); const source = typeof result.source === "string" ? result.source : result.source instanceof Uint8Array || result.source instanceof ArrayBuffer || result.source instanceof Uint8ClampedArray || result.source instanceof Uint16Array || result.source instanceof Uint32Array || result.source instanceof Int8Array || result.source instanceof Int16Array || result.source instanceof Int32Array || result.source instanceof Float32Array || result.source instanceof Float64Array || result.source instanceof BigUint64Array || result.source instanceof BigInt64Array ? new TextDecoder().decode(result.source) : defaultSource; return { ...result, source }; } return nextLoad(url, context); }; } export { createDefaultLoader }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlRGVmYXVsdExvYWRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2xvYWRlci9jcmVhdGVEZWZhdWx0TG9hZGVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTG9hZGVyQ29udGV4dCB9IGZyb20gXCIuLi90eXBlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBSYXdTb3VyY2VNYXAgfSBmcm9tIFwic291cmNlLW1hcFwiO1xuaW1wb3J0IHR5cGUgeyBMb2FkRm5PdXRwdXQsIExvYWRIb29rQ29udGV4dCB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHR5cGUgeyBMb2FkSG9vayB9IGZyb20gXCJub2RlOm1vZHVsZVwiO1xuaW1wb3J0IHsgdHJhbnNmb3JtV2l0aEVzYnVpbGQgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tIFwibm9kZTpmcy9wcm9taXNlc1wiO1xuXG5leHBvcnQgdHlwZSBMb2FkZXJSZXN1bHQgPSB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBtYXA6IFJhd1NvdXJjZU1hcCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBMb2FkZXIgPSB7XG4gIChcbiAgICBpZDogc3RyaW5nLFxuICAgIGNvbnRleHQ/OiBMb2FkZXJDb250ZXh0LFxuICAgIG5leHRMb2FkPzogKGlkOiBzdHJpbmcpID0+IFByb21pc2U8TG9hZGVyUmVzdWx0PlxuICApOiBMb2FkZXJSZXN1bHQ7XG59O1xuXG5cbmNvbnN0IGRlZmF1bHROZXh0TG9hZDogUGFyYW1ldGVyczxMb2FkSG9vaz5bMl0gPSBhc3luYyAodXJsKSA9PiB7XG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRyYW5zZm9ybVdpdGhFc2J1aWxkKGF3YWl0IHJlYWRGaWxlKHVybCwgXCJ1dGYtOFwiKSwgdXJsLCB7XG4gICAgbG9hZGVyOiBcInRzeFwiLFxuICAgIGZvcm1hdDogXCJlc21cIixcbiAgICBzb3VyY2VtYXA6IFwiZXh0ZXJuYWxcIixcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgc291cmNlOiByZXN1bHQuY29kZSxcbiAgICBmb3JtYXQ6IFwibW9kdWxlXCIsXG4gICAgbWFwOiByZXN1bHQubWFwLFxuICB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgbG9hZGVyIGZ1bmN0aW9uIHRoYXQgdHJhbnNmb3JtcyBtb2R1bGVzIGFuZCBoYW5kbGVzIHNvdXJjZSBtYXBzLlxuICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBpbiB0d28gd2F5czpcbiAqXG4gKiAxLiBBcyBhIGRpcmVjdCB0cmFuc2Zvcm1lcjpcbiAqICAgIC0gVGFrZXMgc291cmNlIGNvZGUgYW5kIHJldHVybnMgdHJhbnNmb3JtZWQgY29kZSB3aXRoIHNvdXJjZSBtYXAgYXR0YWNoZWRcbiAqICAgIC0gVXNlZCBieSB0cmFuc2Zvcm1Nb2R1bGVJZk5lZWRlZFxuICpcbiAqIDIuIEFzIGEgbG9hZGVyIGZhY3Rvcnk6XG4gKiAgICAtIFJldHVybnMgYSBsb2FkZXIgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIG1vZHVsZSBJRCBhbmQgcmV0dXJucyBhIExvYWRlclJlc3VsdFxuICogICAgLSBVc2VkIGJ5IHRoZSBwbHVnaW4gdG8gY3JlYXRlIGxvYWRlcnMgZm9yIGRpZmZlcmVudCBlbnZpcm9ubWVudHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZURlZmF1bHRMb2FkZXIoXG4gIGRlZmF1bHRTb3VyY2U6IHN0cmluZyxcbiAgZGVmYXVsdElkID0gXCJpbmRleFwiLFxuKTogKFxuICB1cmw6IHN0cmluZyxcbiAgY29udGV4dD86IFBhcnRpYWw8TG9hZEhvb2tDb250ZXh0PixcbiAgbmV4dExvYWQ/OiAoXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgY29udGV4dD86IFBhcnRpYWw8TG9hZEhvb2tDb250ZXh0PlxuICApID0+IExvYWRGbk91dHB1dCB8IFByb21pc2U8TG9hZEZuT3V0cHV0PlxuKSA9PiBQcm9taXNlPExvYWRGbk91dHB1dD4ge1xuXG4gIGNvbnN0IGRlZmF1bHRTb3VyY2VOZXh0TG9hZDogUGFyYW1ldGVyczxMb2FkSG9vaz5bMl0gPVxuICAgIHR5cGVvZiBkZWZhdWx0U291cmNlID09PSBcInN0cmluZ1wiXG4gICAgICA/IGFzeW5jICh1cmwgPSBkZWZhdWx0SWQpID0+IHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0cmFuc2Zvcm1XaXRoRXNidWlsZChkZWZhdWx0U291cmNlLCB1cmwsIHtcbiAgICAgICAgICAgIGxvYWRlcjogXCJ0c3hcIixcbiAgICAgICAgICAgIGZvcm1hdDogXCJlc21cIixcbiAgICAgICAgICAgIHNvdXJjZW1hcDogXCJleHRlcm5hbFwiLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzb3VyY2U6IHJlc3VsdC5jb2RlLFxuICAgICAgICAgICAgZm9ybWF0OiBcIm1vZHVsZVwiLFxuICAgICAgICAgICAgbWFwOiByZXN1bHQubWFwLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIDogZGVmYXVsdE5leHRMb2FkO1xuXG4gIHJldHVybiBhc3luYyAoXG4gICAgdXJsID0gZGVmYXVsdElkLFxuICAgIGNvbnRleHQgPSB7XG4gICAgICBmb3JtYXQ6IFwibW9kdWxlXCIsXG4gICAgICBjb25kaXRpb25zOiBbXCJyZWFjdC1zZXJ2ZXJcIl0sXG4gICAgICBpbXBvcnRBdHRyaWJ1dGVzOiB7fSxcbiAgICB9LFxuICAgIG5leHRMb2FkID0gZGVmYXVsdFNvdXJjZU5leHRMb2FkXG4gICkgPT4ge1xuXG4gICAgY29uc3QgeyBmb3JtYXQgfSA9IGNvbnRleHQ7XG4gICAgaWYgKGZvcm1hdCA9PT0gXCJtb2R1bGVcIiB8fCBmb3JtYXQgPT09IFwibW9kdWxlLXR5cGVzY3JpcHRcIikge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXh0TG9hZCh1cmwsIGNvbnRleHQpO1xuXG4gICAgICBjb25zdCBzb3VyY2UgPVxuICAgICAgICB0eXBlb2YgcmVzdWx0LnNvdXJjZSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICAgID8gcmVzdWx0LnNvdXJjZVxuICAgICAgICAgIDogcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgVWludDE2QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBVaW50MzJBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEludDhBcnJheSB8fFxuICAgICAgICAgICAgcmVzdWx0LnNvdXJjZSBpbnN0YW5jZW9mIEludDE2QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBJbnQzMkFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgRmxvYXQzMkFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5IHx8XG4gICAgICAgICAgICByZXN1bHQuc291cmNlIGluc3RhbmNlb2YgQmlnVWludDY0QXJyYXkgfHxcbiAgICAgICAgICAgIHJlc3VsdC5zb3VyY2UgaW5zdGFuY2VvZiBCaWdJbnQ2NEFycmF5XG4gICAgICAgICAgPyBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocmVzdWx0LnNvdXJjZSlcbiAgICAgICAgICA6IGRlZmF1bHRTb3VyY2U7XG5cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHRMb2FkKHVybCwgY29udGV4dCk7XG4gIH07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