From 4aa0d9e38b5bcb5572adf071b2784bbc93d28524 Mon Sep 17 00:00:00 2001 From: Evan Shortiss Date: Mon, 28 Aug 2023 16:03:41 -0700 Subject: [PATCH] fix: restore compatibility with older create-react-app versions (#169) * fix: backward compat for create-react-app polyfill * chore: add comment explaining create-react-app workaround * fix: process.env handling for react and vite --- CHANGELOG.md | 3 +++ env-var.js | 16 +++++++++++++++- package.json | 2 +- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e3baf0..c46cf70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +## 7.4.1 (29/08/2023) +* Fix 7.4.0 issues with `create-react-app` polyfill (#168) + ## 7.4.0 (21/08/2023) * Do not use `process.env` by default in non-Node.js environments (#155) diff --git a/env-var.js b/env-var.js index ee165f3..0e9955e 100644 --- a/env-var.js +++ b/env-var.js @@ -52,5 +52,19 @@ const from = (container, extraAccessors, logger) => { } } +/** + * Makes a best-effort attempt to load environment variables in + * different environments, e.g create-react-app, vite, Node.js + * @returns Object + */ +function getProcessEnv () { + /* istanbul ignore next */ + try { + return process.env + } catch (e) { + return {} + } +} + /* istanbul ignore next */ -module.exports = from(typeof process === 'undefined' ? {} : process.env) +module.exports = from(getProcessEnv()) diff --git a/package.json b/package.json index 4f006a0..39435cb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "env-var", - "version": "7.4.0", + "version": "7.4.1", "description": "Verification, sanitization, and type coercion for environment variables in Node.js", "main": "env-var.js", "typings": "env-var.d.ts",