vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
39 lines (36 loc) • 4.73 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import { createEnvPlugin } from './createEnvPlugin.js';
const envPlugin = createEnvPlugin();
function getEnvironmentName(plugin) {
if (plugin?.environment?.name) return plugin.environment.name;
if (plugin?.config && plugin.config.environment?.name) {
return plugin.config.environment.name;
}
const traditionalModeConfig = globalThis.__vitePluginReactServerTraditionalModeConfig;
if (traditionalModeConfig?.isTraditionalMode) {
return traditionalModeConfig.environmentName;
}
return void 0;
}
function validateEnvironmentName(environmentName, allowedEnvironments) {
return allowedEnvironments.includes(environmentName);
}
function ensureConditionalConfigResolution(environmentName) {
const appModeConfig = globalThis.__vitePluginReactServerAppModeConfig;
if (appModeConfig && appModeConfig.isAppMode) {
const condition = environmentName === "server" ? "react-server" : "react-client";
if (!appModeConfig.resolvedInConditions.has(condition)) {
appModeConfig.resolvedInConditions.add(condition);
return true;
} else {
return false;
}
}
return false;
}
export { ensureConditionalConfigResolution, envPlugin, getEnvironmentName, validateEnvironmentName };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Vudi9wbHVnaW4uY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUVudlBsdWdpbiB9IGZyb20gXCIuL2NyZWF0ZUVudlBsdWdpbi5qc1wiO1xuZXhwb3J0IGNvbnN0IGVudlBsdWdpbiA9IGNyZWF0ZUVudlBsdWdpbihcInJlYWN0LWNsaWVudFwiKTtcblxuXG5cbi8vIFNoYXJlZCB1dGlsaXR5IGZ1bmN0aW9uc1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudmlyb25tZW50TmFtZShwbHVnaW46IGFueSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChwbHVnaW4/LmVudmlyb25tZW50Py5uYW1lKSByZXR1cm4gcGx1Z2luLmVudmlyb25tZW50Lm5hbWU7XG4gIGlmIChwbHVnaW4/LmNvbmZpZyAmJiAocGx1Z2luLmNvbmZpZyBhcyBhbnkpLmVudmlyb25tZW50Py5uYW1lKSB7XG4gICAgcmV0dXJuIChwbHVnaW4uY29uZmlnIGFzIGFueSkuZW52aXJvbm1lbnQubmFtZTtcbiAgfVxuICBjb25zdCB0cmFkaXRpb25hbE1vZGVDb25maWcgPSAoZ2xvYmFsVGhpcyBhcyBhbnkpXG4gICAgLl9fdml0ZVBsdWdpblJlYWN0U2VydmVyVHJhZGl0aW9uYWxNb2RlQ29uZmlnO1xuICBpZiAodHJhZGl0aW9uYWxNb2RlQ29uZmlnPy5pc1RyYWRpdGlvbmFsTW9kZSkge1xuICAgIHJldHVybiB0cmFkaXRpb25hbE1vZGVDb25maWcuZW52aXJvbm1lbnROYW1lIGFzIHN0cmluZztcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVFbnZpcm9ubWVudE5hbWUoXG4gIGVudmlyb25tZW50TmFtZTogc3RyaW5nLFxuICBhbGxvd2VkRW52aXJvbm1lbnRzOiBzdHJpbmdbXVxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBhbGxvd2VkRW52aXJvbm1lbnRzLmluY2x1ZGVzKGVudmlyb25tZW50TmFtZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVDb25kaXRpb25hbENvbmZpZ1Jlc29sdXRpb24oZW52aXJvbm1lbnROYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgYXBwTW9kZUNvbmZpZyA9IChnbG9iYWxUaGlzIGFzIGFueSlcbiAgICAuX192aXRlUGx1Z2luUmVhY3RTZXJ2ZXJBcHBNb2RlQ29uZmlnO1xuXG4gIGlmIChhcHBNb2RlQ29uZmlnICYmIGFwcE1vZGVDb25maWcuaXNBcHBNb2RlKSB7XG4gICAgLy8gSW4gLS1hcHAgbW9kZSwgZW5zdXJlIHdlJ3JlIHJlc29sdmluZyBpbiB0aGUgY29ycmVjdCBjb25kaXRpb25cbiAgICBjb25zdCBjb25kaXRpb24gPVxuICAgICAgZW52aXJvbm1lbnROYW1lID09PSBcInNlcnZlclwiID8gXCJyZWFjdC1zZXJ2ZXJcIiA6IFwicmVhY3QtY2xpZW50XCI7XG5cbiAgICBpZiAoIWFwcE1vZGVDb25maWcucmVzb2x2ZWRJbkNvbmRpdGlvbnMuaGFzKGNvbmRpdGlvbikpIHtcbiAgICAgIGFwcE1vZGVDb25maWcucmVzb2x2ZWRJbkNvbmRpdGlvbnMuYWRkKGNvbmRpdGlvbik7XG5cbiAgICAgIC8vIFRoaXMgY291bGQgdHJpZ2dlciBhZGRpdGlvbmFsIGNvbmZpZyByZXNvbHV0aW9uIGlmIG5lZWRlZFxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNhLE1BQUEsU0FBQSxHQUFZLGdCQUE4QjtBQUtoRCxTQUFTLG1CQUFtQixNQUFpQyxFQUFBO0FBQ2xFLEVBQUEsSUFBSSxNQUFRLEVBQUEsV0FBQSxFQUFhLElBQU0sRUFBQSxPQUFPLE9BQU8sV0FBWSxDQUFBLElBQUE7QUFDekQsRUFBQSxJQUFJLE1BQVEsRUFBQSxNQUFBLElBQVcsTUFBTyxDQUFBLE1BQUEsQ0FBZSxhQUFhLElBQU0sRUFBQTtBQUM5RCxJQUFRLE9BQUEsTUFBQSxDQUFPLE9BQWUsV0FBWSxDQUFBLElBQUE7QUFBQTtBQUU1QyxFQUFBLE1BQU0sd0JBQXlCLFVBQzVCLENBQUEsNENBQUE7QUFDSCxFQUFBLElBQUksdUJBQXVCLGlCQUFtQixFQUFBO0FBQzVDLElBQUEsT0FBTyxxQkFBc0IsQ0FBQSxlQUFBO0FBQUE7QUFFL0IsRUFBTyxPQUFBLE1BQUE7QUFDVDtBQUVPLFNBQVMsdUJBQUEsQ0FDZCxpQkFDQSxtQkFDUyxFQUFBO0FBQ1QsRUFBTyxPQUFBLG1CQUFBLENBQW9CLFNBQVMsZUFBZSxDQUFBO0FBQ3JEO0FBRU8sU0FBUyxrQ0FBa0MsZUFBeUIsRUFBQTtBQUN6RSxFQUFBLE1BQU0sZ0JBQWlCLFVBQ3BCLENBQUEsb0NBQUE7QUFFSCxFQUFJLElBQUEsYUFBQSxJQUFpQixjQUFjLFNBQVcsRUFBQTtBQUU1QyxJQUFNLE1BQUEsU0FBQSxHQUNKLGVBQW9CLEtBQUEsUUFBQSxHQUFXLGNBQWlCLEdBQUEsY0FBQTtBQUVsRCxJQUFBLElBQUksQ0FBQyxhQUFBLENBQWMsb0JBQXFCLENBQUEsR0FBQSxDQUFJLFNBQVMsQ0FBRyxFQUFBO0FBQ3RELE1BQWMsYUFBQSxDQUFBLG9CQUFBLENBQXFCLElBQUksU0FBUyxDQUFBO0FBR2hELE1BQU8sT0FBQSxJQUFBO0FBQUEsS0FDRixNQUFBO0FBQ0wsTUFBTyxPQUFBLEtBQUE7QUFBQTtBQUNUO0FBR0YsRUFBTyxPQUFBLEtBQUE7QUFDVDs7OzsifQ==