Skip to content

GitPod helper command for project-specific environment variables.

License

Notifications You must be signed in to change notification settings

dword-design/gitpod-env-per-project

Repository files navigation

gitpod-env-per-project

npm version Linux macOS Windows compatible Build status Coverage status Dependency status Renovate enabled
Open in Gitpod Buy Me a Coffee PayPal Patreon

GitPod helper command for project-specific environment variables.

GitPod by default does not support variables with the same name but different scopes. E.g. setting a variable API_KEY for scope user/project1 and setting a variable API_KEY for scope user/project2 will lead to the first variable being deleted. But you often want to have project-specific variables with the same name.

This tool iterates all environment variables and replaces the ones with a project-specific prefix with their non-prefixed forms.

PROJECT1_API_KEY -> API_KEY

Install

# npm
$ npm install -g gitpod-env-per-project

# Yarn
$ yarn global add gitpod-env-per-project

Usage

The tool assumes that all project-specific variables are prefixed by PROJECT_, where PROJECT is the constant-case form of the package name.

Let's assume you have the following name in your package.json:

{
  "name: "@scope/project"
}

Calling gitpod-env-per-project returns the following string, similar to gp env:

PROJECT_FOO_BAR=
FOO_BAR="value"

When calling eval $(gitpod-env-per-project), it actually sets the variables in the environment.

Contribute

Are you missing something or want to contribute? Feel free to file an issue or a pull request! ⚙️

Support

Hey, I am Sebastian Landwehr, a freelance web developer, and I love developing web apps and open source packages. If you want to support me so that I can keep packages up to date and build more helpful tools, you can donate here:

Buy Me a Coffee  If you want to send me a one time donation. The coffee is pretty good 😊.
PayPal  Also for one time donations if you like PayPal.
Patreon  Here you can support me regularly, which is great so I can steadily work on projects.

Thanks a lot for your support! ❤️

License

MIT License © Sebastian Landwehr