Awesome
esbuild-plugin-valibot-env
Esbuild plugin to validate environment variables against a Valibot schema.
Why?
It's generally a good idea to check that you're all set up early in the development process. Validating that your environment variables have been defined and are of the expected type is a part of that – for yourself and your colleagues. While there are many libraries to validate against a schema, Valibot stands out for its versatility and modularity. The small footprint makes it an ideal candidate for validation in the frontend. So why not use it in your development process as well?
Installation
npm install -D esbuild-plugin-valibot-env valibot
Usage
Let's start with a very basic example
import { build } from 'esbuild';
import * as v from 'valibot';
import valibot from 'esbuild-plugin-valibot-env';
const envSchema = v.object({
ESBUILD_API_ENDPOINT: v.pipe(v.string(), v.url()),
ESBUILD_LOCALE: v.literal('en_US'),
});
await build({
entryPoints: ['demo.ts'],
plugins: [
valibot(schema),
],
});
API
valibot(schema, options?)
Options
options.envFile
Type: String
Default: ".env"
Specify a path to an .env
file. It will be passed to the dotenv
package.
options.language
Type: string
Default: undefined
Language ID for localized error messages.
options.transformValues
Type: Boolean
Default: false
Setting this to true
will try and transform string values to their respective types. Supports booleans, integers, floats, and null
.
Related
License
This work is licensed under The MIT License.