Skip to content

fix(ConfigProvider.fromEnv): use import.meta.env instead of process.env #4724

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

coffeeispower
Copy link

Type

  • Refactor
  • Feature
  • Bug Fix
  • Optimization
  • Documentation Update

Description

The reason for this is that this allows using environment variables in the browser with vite. Vite has a feature where all environment variables that have a VITE_ prefix are exposed in import.meta.env. And even in node.js, import.meta.env is a alias to process.env so i don't see any reason why ConfigProvider.fromEnv only supported process.env

The reason for this is that this allows using environment variables in the browser with vite. Vite has a feature where all environment variables that have a VITE_ prefix are exposed in import.meta.env. And even in node.js import.meta.env is a alias to process.env so i don't see any reason why ConfigProvider.fromEnv only supported process.env
Copy link

changeset-bot bot commented Apr 13, 2025

⚠️ No Changeset found

Latest commit: e5d229b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@mikearnaldi
Copy link
Member

Unfortunately import.meta.env is an es-module only feature, it doesn't work in CJS

@coffeeispower
Copy link
Author

coffeeispower commented Apr 14, 2025

This is a difficult problem because import.meta is a syntax error when running in CJS for some f reason, i think we can do some weird hacks like dynamically importing another file using the import() function which just exports import.meta so it works for both EJS and CJS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Discussion Ongoing
Development

Successfully merging this pull request may close these issues.

2 participants