vite-plugin-envka

Envka is a vite plugin designed to enhance environment variable management in Vite projects.


Keywords
vite, vite-plugin, env, environment, environment-variables, dotenv, .env, config, configuration, schema, validation, typescript, plugin, nodejs, build, cli
License
BSD-3-Clause
Install
npm install vite-plugin-envka@1.0.0

Documentation

vite-plugin-envka

Vite

Overview

Envka is a vite plugin designed to enhance environment variable management in Vite projects.

Features

  • Validate environment variables at Vite build and dev server startup
  • TypeScript type generation (env.d.ts)
  • Generate .env.example from schema
  • Checking for unused and undeclared environment variables (planned)

Installation

npm install vite-plugin-envka --save-dev

Usage

Add to your vite.config.ts:

import envka from "vite-plugin-envka";

export default {
  plugins: [envka(/* options */)],
};

Configuration

import envka from "vite-plugin-envka";

export default {
  plugins: [
    envka({
      schema,
      generateTypes: false /** Default */,
    }),
  ],
};

env.d.ts generation

Generating env.d.ts is done after a successful validation. By default, its turned-off. You need to add generateTypes: true to turn it on.

.env.example generation

Generating .env.example is done via the CLI

npx env example --schema /path/to/schema/file --output /optional/output

Configuration example

import envka, { envkaValidator } from "vite-plugin-envka";

/** Example using Envka Validator */
export const builtinSchema = envkaValidator({
  FOO: { type: "string", default: "bar" },
  BAR: {
    type: "number",
    description: "A comment on your .env.example",
  },
  TEST_MODE: { type: "enum", enum: ["dev", "prod"] },
});

export default {
  plugins: [
    envka({
      schema: builtinSchema,
      generateTypes: true,
    }),
  ],
};

License

BSD-3 Clause

Links