UNPKG

next-runtime-env

Version:

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

47 lines 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeEnvPublic = makeEnvPublic; const log_1 = require("../helpers/log"); function prefixKey(key, options) { // Check if key is available in process.env. if (!process.env[key]) { (0, log_1.warn)(`Skipped prefixing environment variable '${key}'. Variable not in process.env`, options); return; } // Check if key is already public. if (/^NEXT_PUBLIC_/i.test(key)) { (0, log_1.warn)(`Environment variable '${key}' is already public`, options); } const prefixedKey = `NEXT_PUBLIC_${key}`; process.env[prefixedKey] = process.env[key]; // eslint-disable-next-line no-console (0, log_1.event)(`Prefixed environment variable '${key}'`, options); } /** * Make a private environment variable public, so that it can be accessed in the * browser. * * Usage: * ```ts * // Make a single variable public. * makeEnvPublic('FOO'); * * // Make multiple variables public. * makeEnvPublic(['FOO', 'BAR', 'BAZ']); * * // Disable logging. * makeEnvPublic('FOO', { logLevel: 'silent' }); * * // Disable logging in production * makeEnvPublic('FOO', { logLevel: process.env.NODE_ENV === 'production' ? 'silent': 'info' }); * ``` */ function makeEnvPublic(key, options) { if (typeof key === 'string') { prefixKey(key, options); } else { key.forEach((value) => prefixKey(value, options)); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS1lbnYtcHVibGljLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL21ha2UtZW52LXB1YmxpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQStDQSxzQ0FTQztBQXhERCx3Q0FBeUQ7QUFJekQsU0FBUyxTQUFTLENBQUMsR0FBVyxFQUFFLE9BQThCO0lBQzVELDRDQUE0QztJQUM1QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQUEsVUFBSSxFQUNGLDJDQUEyQyxHQUFHLGdDQUFnQyxFQUM5RSxPQUFPLENBQ1IsQ0FBQztRQUVGLE9BQU87SUFDVCxDQUFDO0lBRUQsa0NBQWtDO0lBQ2xDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDL0IsSUFBQSxVQUFJLEVBQUMseUJBQXlCLEdBQUcscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFFekMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRTVDLHNDQUFzQztJQUN0QyxJQUFBLFdBQUssRUFBQyxrQ0FBa0MsR0FBRyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxTQUFnQixhQUFhLENBQzNCLEdBQXNCLEVBQ3RCLE9BQThCO0lBRTlCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDNUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQixDQUFDO1NBQU0sQ0FBQztRQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0FBQ0gsQ0FBQyJ9