@molecule/api-secrets-env
Provider bond · secrets · API (Node) · v1.0.2 · Apache-2.0
Environment variables secrets provider for molecule.dev
npm install @molecule/api-secrets-envnpm · Source on GitHub · Implements @molecule/api-secrets
How it works
@molecule/api-secrets-env is a provider bond on the API (Node) side: it implements the secrets core interface (@molecule/api-secrets) with a concrete vendor or library behind it.
Your code calls the core; you wire this provider once at startup. Swapping vendors later is one line in that wiring, not a rewrite.
import { setProvider } from '@molecule/api-secrets'
import { provider } from '@molecule/api-secrets-env'
setProvider(provider)Works with: @molecule/api-secrets
Reference
Environment variables secrets provider for molecule.dev.
Reads secrets from .env files and process.env.
Auto-generated, AI-first package reference for the molecule.dev ecosystem. It is written to be read by coding agents as much as by people, and is generated from this package's source — edit
src/index.tsJSDoc, not this file.
Quick Start
import { setProvider } from '@molecule/api-secrets'
import { provider } from '@molecule/api-secrets-env'
setProvider(provider)
Type
provider
Installation
npm install @molecule/api-secrets-env @molecule/api-secrets
API
Interfaces
EnvProviderOptions
Options for env provider.
interface EnvProviderOptions {
/**
* Path to the .env file. Ignored when `layers` is provided.
* @default '.env'
*/
path?: string
/**
* Whether to load the .env file on initialization.
* @default true
*/
autoLoad?: boolean
/**
* Whether to override existing environment variables.
* @default false
*/
override?: boolean
/**
* Array of `.env` file paths to load in order. Later files override
* earlier ones. When provided, `path` is ignored.
*
* @example
* ```typescript
* createEnvProvider({
* layers: ['.env', '.env.staging', '.env.staging.feat-login'],
* })
* ```
*/
layers?: string[]
}
Functions
createEnvProvider(options)
Creates an environment variables secrets provider that reads from a .env file and process.env.
Supports get/set/delete with file persistence, and syncToEnv to copy .env values into process.env.
function createEnvProvider(options?: EnvProviderOptions): SecretsProvider
options— Path to.envfile (default'.env'), auto-load flag, and override behavior.
Returns: A SecretsProvider backed by .env files and process.env.
Constants
provider
Default env provider instance, reading from .env in the current working directory.
const provider: SecretsProvider
Core Interface
Implements @molecule/api-secrets interface.
Bond Wiring
Setup function to register this provider with the core interface:
import { setProvider } from '@molecule/api-secrets'
import { provider } from '@molecule/api-secrets-env'
export function setupSecretsEnv(): void {
setProvider(provider)
}
Injection Notes
Requirements
Peer dependencies:
@molecule/api-secrets^1.0.1
Runtime Dependencies
@molecule/api-secrets