Skip to content

Deploy environment variables from .env and .env-cmdrc.json files to Vercel

License

Notifications You must be signed in to change notification settings

Pytal/deploy-env

Repository files navigation

deploy-env

GitHub Workflow Status npm

Deploy environment variables from .env and .env-cmdrc.json files to Vercel.

Installation

npm add -g deploy-env

deploy-env expects the Vercel CLI to be installed globally with npm add -g vercel

Usage

In your Vercel project directory:

Make at least one .env, .env.production, .env.preview, or .env.development file with your environment variables in the following format:

API_KEY=top_secret_api_key
TOKEN=some_secret_token
...

You can also make a .env-cmdrc.json file with the following format:

{
  "development": {
    "API_KEY": "development value"
    // development environment variables
  },
  "preview": {
    "API_KEY": "preview value"
    // preview environment variables
  },
  "production": {
    "API_KEY": "production value"
    // production environment variables
  }
}

Run the command:

deploy-env [production | preview | development] [ENV_VAR]...

dpl-env can be used as an alias for deploy-env

If a .env.[environment] file doesn't exist when running: deploy-env [environment], the .env file will be used and deployed to the environment specified in the command

Examples

Deploy all preview environment variables to the Preview deployment

deploy-env preview

Deploy only the API_KEY environment variable to the Preview deployment

deploy-env preview API_KEY

Deploy only the API_KEY, TOKEN, and GRAPHQL_ENDPOINT environment variables to Production

deploy-env production API_KEY TOKEN GRAPHQL_ENDPOINT

Programmatic API

deployEnv

A function which deploys environment variables from .env and .env-cmdrc.json files:

  • deploymentEnv { 'production' | 'preview' | 'development' }: Deployment environment to be deployed to
  • varNameList { string[] }: (optional) List of environment variables to be deployed
  • Returns { Promise<void> }: Promise which resolves when deployment completes

Related Projects

env-cmd - simple node program for executing commands using an environment from an env file

dotenv - module that loads environment variables from a .env file into process.env