UNPKG

next-runtime-env

Version:

Next.js Runtime Environment Configuration - Populates your environment at runtime rather than build time.

26 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.env = env; const cache_1 = require("next/cache"); const is_browser_1 = require("../helpers/is-browser"); const constants_1 = require("./constants"); /** * Reads a safe environment variable from the browser or any environment * variable from the server (process.env). * * Usage: * ```ts * const API_URL = env('NEXT_PUBLIC_API_URL'); * ``` */ function env(key) { if ((0, is_browser_1.isBrowser)()) { if (!key.startsWith('NEXT_PUBLIC_')) { throw new Error(`Environment variable '${key}' is not public and cannot be accessed in the browser.`); } return window[constants_1.PUBLIC_ENV_KEY][key]; } (0, cache_1.unstable_noStore)(); return process.env[key]; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdC9lbnYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSxrQkFjQztBQTVCRCxzQ0FBeUQ7QUFFekQsc0RBQWtEO0FBQ2xELDJDQUE2QztBQUU3Qzs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLEdBQUcsQ0FBQyxHQUFXO0lBQzdCLElBQUksSUFBQSxzQkFBUyxHQUFFLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQ2IseUJBQXlCLEdBQUcsd0RBQXdELENBQ3JGLENBQUM7UUFDSixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsMEJBQWMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFBLHdCQUFPLEdBQUUsQ0FBQztJQUVWLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDIn0=