vite-plugin-react-server
Version:
Vite plugin for React Server Components (RSC)
33 lines (30 loc) • 5.82 kB
JavaScript
/**
* vite-plugin-react-server
* Copyright (c) Nico Brinkkemper
* MIT License
*/
import { DEFAULT_CONFIG } from '../config/defaults.js';
import { getNodeEnv } from '../config/getNodeEnv.js';
const ENV_KEYS = {
MODE: "MODE",
DEV: "DEV",
PROD: "PROD",
SSR: "SSR",
BASE_URL: "BASE_URL",
PUBLIC_ORIGIN: "PUBLIC_ORIGIN"
};
function getEnvKey(key, prefix) {
return `${prefix ?? DEFAULT_CONFIG.ENV_PREFIX}${ENV_KEYS[key]}`;
}
function getEnvValue(key, prefix = DEFAULT_CONFIG.ENV_PREFIX) {
const result = process.env[getEnvKey(key, prefix)];
if (result == null && prefix === DEFAULT_CONFIG.ENV_PREFIX) {
if (key === "MODE") return getNodeEnv();
}
return result;
}
function setEnvValue(key, value, prefix = DEFAULT_CONFIG.ENV_PREFIX) {
process.env[getEnvKey(key, prefix)] = value;
}
export { ENV_KEYS, getEnvKey, getEnvValue, setEnvValue };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RW52S2V5LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vZW52L2dldEVudktleS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBERUZBVUxUX0NPTkZJRyB9IGZyb20gXCIuLi9jb25maWcvZGVmYXVsdHMuanNcIjtcbmltcG9ydCB7IGdldE5vZGVFbnYgfSBmcm9tIFwiLi4vY29uZmlnL2dldE5vZGVFbnYuanNcIjtcblxuLyoqXG4gKiBTdGFuZGFyZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBrZXlzIHRoYXQgc2hvdWxkIGJlIHByZWZpeGVkXG4gKi9cbmV4cG9ydCBjb25zdCBFTlZfS0VZUyA9IHtcbiAgTU9ERTogXCJNT0RFXCIsXG4gIERFVjogXCJERVZcIiwgXG4gIFBST0Q6IFwiUFJPRFwiLFxuICBTU1I6IFwiU1NSXCIsXG4gIEJBU0VfVVJMOiBcIkJBU0VfVVJMXCIsXG4gIFBVQkxJQ19PUklHSU46IFwiUFVCTElDX09SSUdJTlwiXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBFbnZLZXkgPSBrZXlvZiB0eXBlb2YgRU5WX0tFWVM7XG5cbi8qKlxuICogR2V0cyB0aGUgZnVsbCBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lIHdpdGggdGhlIGNvbmZpZ3VyZWQgcHJlZml4XG4gKiBAcGFyYW0ga2V5IFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBrZXkgKGUuZy4sIFwiTU9ERVwiLCBcIkRFVlwiLCBcIkJBU0VfVVJMXCIpXG4gKiBAcGFyYW0gcHJlZml4IFRoZSBlbnZpcm9ubWVudCBwcmVmaXggKGRlZmF1bHRzIHRvIHVzZXIgY29uZmlnIG9yIFwiVklURV9cIilcbiAqIEByZXR1cm5zIFRoZSBmdWxsIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUgKGUuZy4sIFwiVklURV9NT0RFXCIsIFwiQ1VTVE9NX1BSRUZJWF9ERVZcIilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEVudktleShrZXk6IEVudktleSwgcHJlZml4Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3ByZWZpeCA/PyBERUZBVUxUX0NPTkZJRy5FTlZfUFJFRklYfSR7RU5WX0tFWVNba2V5XX1gO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIHZhbHVlIHdpdGggdGhlIGNvbmZpZ3VyZWQgcHJlZml4XG4gKiBAcGFyYW0ga2V5IFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBrZXlcbiAqIEBwYXJhbSBwcmVmaXggVGhlIGVudmlyb25tZW50IHByZWZpeCAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgdmFsdWUgb3IgdW5kZWZpbmVkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbnZWYWx1ZShrZXk6IEVudktleSwgcHJlZml4OiBzdHJpbmcgPSBERUZBVUxUX0NPTkZJRy5FTlZfUFJFRklYKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgcmVzdWx0ID0gIHByb2Nlc3MuZW52W2dldEVudktleShrZXksIHByZWZpeCldO1xuXG4gIGlmKHJlc3VsdCA9PSBudWxsICYmIHByZWZpeCA9PT0gREVGQVVMVF9DT05GSUcuRU5WX1BSRUZJWCkge1xuICAgIGlmKGtleSA9PT0gJ01PREUnKSByZXR1cm4gZ2V0Tm9kZUVudigpO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBTZXRzIGFuIGVudmlyb25tZW50IHZhcmlhYmxlIHdpdGggdGhlIGNvbmZpZ3VyZWQgcHJlZml4XG4gKiBAcGFyYW0ga2V5IFRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBrZXlcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gc2V0XG4gKiBAcGFyYW0gcHJlZml4IFRoZSBlbnZpcm9ubWVudCBwcmVmaXggKG9wdGlvbmFsKVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0RW52VmFsdWUoa2V5OiBFbnZLZXksIHZhbHVlOiBzdHJpbmcsIHByZWZpeDogc3RyaW5nID0gREVGQVVMVF9DT05GSUcuRU5WX1BSRUZJWCk6IHZvaWQge1xuICBwcm9jZXNzLmVudltnZXRFbnZLZXkoa2V5LCBwcmVmaXgpXSA9IHZhbHVlO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgU1NSIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIGVuYWJsZWRcbiAqIEBwYXJhbSBwcmVmaXggVGhlIGVudmlyb25tZW50IHByZWZpeCAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyB0cnVlIGlmIFNTUiBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzU3NyRW5hYmxlZChwcmVmaXg6IHN0cmluZyA9IERFRkFVTFRfQ09ORklHLkVOVl9QUkVGSVgpOiBib29sZWFuIHtcbiAgY29uc3Qgc3NyVmFsdWUgPSBnZXRFbnZWYWx1ZShcIlNTUlwiLCBwcmVmaXgpO1xuICByZXR1cm4gdHlwZW9mIHNzclZhbHVlID09PSBcInN0cmluZ1wiXG4gICAgPyBzc3JWYWx1ZSA9PT0gXCJ0cnVlXCIgfHwgc3NyVmFsdWUgPT09IFwiMVwiXG4gICAgOiBCb29sZWFuKHNzclZhbHVlKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9iamVjdCB3aXRoIGFsbCBzdGFuZGFyZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBrZXlzIGZvciB0aGUgZ2l2ZW4gcHJlZml4XG4gKiBAcGFyYW0gcHJlZml4IFRoZSBlbnZpcm9ubWVudCBwcmVmaXhcbiAqIEByZXR1cm5zIE9iamVjdCB3aXRoIGFsbCBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RW52S2V5cyhwcmVmaXg6IHN0cmluZyA9IERFRkFVTFRfQ09ORklHLkVOVl9QUkVGSVgpOiBSZWNvcmQ8RW52S2V5LCBzdHJpbmc+IHtcbiAgcmV0dXJuIHtcbiAgICBNT0RFOiBnZXRFbnZLZXkoXCJNT0RFXCIsIHByZWZpeCksXG4gICAgREVWOiBnZXRFbnZLZXkoXCJERVZcIiwgcHJlZml4KSxcbiAgICBQUk9EOiBnZXRFbnZLZXkoXCJQUk9EXCIsIHByZWZpeCksXG4gICAgU1NSOiBnZXRFbnZLZXkoXCJTU1JcIiwgcHJlZml4KSxcbiAgICBCQVNFX1VSTDogZ2V0RW52S2V5KFwiQkFTRV9VUkxcIiwgcHJlZml4KSwgIFxuICAgIFBVQkxJQ19PUklHSU46IGdldEVudktleShcIlBVQkxJQ19PUklHSU5cIiwgcHJlZml4KVxuICB9O1xufSAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFNTyxNQUFNLFFBQVcsR0FBQTtBQUFBLEVBQ3RCLElBQU0sRUFBQSxNQUFBO0FBQUEsRUFDTixHQUFLLEVBQUEsS0FBQTtBQUFBLEVBQ0wsSUFBTSxFQUFBLE1BQUE7QUFBQSxFQUNOLEdBQUssRUFBQSxLQUFBO0FBQUEsRUFDTCxRQUFVLEVBQUEsVUFBQTtBQUFBLEVBQ1YsYUFBZSxFQUFBO0FBQ2pCO0FBVU8sU0FBUyxTQUFBLENBQVUsS0FBYSxNQUF5QixFQUFBO0FBQzlELEVBQUEsT0FBTyxHQUFHLE1BQVUsSUFBQSxjQUFBLENBQWUsVUFBVSxDQUFHLEVBQUEsUUFBQSxDQUFTLEdBQUcsQ0FBQyxDQUFBLENBQUE7QUFDL0Q7QUFRTyxTQUFTLFdBQVksQ0FBQSxHQUFBLEVBQWEsTUFBaUIsR0FBQSxjQUFBLENBQWUsVUFBZ0MsRUFBQTtBQUN2RyxFQUFBLE1BQU0sU0FBVSxPQUFRLENBQUEsR0FBQSxDQUFJLFNBQVUsQ0FBQSxHQUFBLEVBQUssTUFBTSxDQUFDLENBQUE7QUFFbEQsRUFBQSxJQUFHLE1BQVUsSUFBQSxJQUFBLElBQVEsTUFBVyxLQUFBLGNBQUEsQ0FBZSxVQUFZLEVBQUE7QUFDekQsSUFBRyxJQUFBLEdBQUEsS0FBUSxNQUFRLEVBQUEsT0FBTyxVQUFXLEVBQUE7QUFBQTtBQUd2QyxFQUFPLE9BQUEsTUFBQTtBQUNUO0FBUU8sU0FBUyxXQUFZLENBQUEsR0FBQSxFQUFhLEtBQWUsRUFBQSxNQUFBLEdBQWlCLGVBQWUsVUFBa0IsRUFBQTtBQUN4RyxFQUFBLE9BQUEsQ0FBUSxHQUFJLENBQUEsU0FBQSxDQUFVLEdBQUssRUFBQSxNQUFNLENBQUMsQ0FBSSxHQUFBLEtBQUE7QUFDeEM7Ozs7In0=