Deno.env API and Node.js compatibility via node:process. Environment variables require explicit permissions to access.
Reading Environment Variables
Using Deno.env
Using Node.js Compatibility
Setting Environment Variables
Using Deno.env
Using Node.js Compatibility
Deleting Environment Variables
Getting All Variables
Environment Permissions
Accessing environment variables requires the--allow-env permission:
Grant All Environment Access
Grant Specific Variables
Configure in deno.json
deno.json
Using .env Files
Deno doesn’t load.env files automatically. Use the standard library or npm packages:
Using Deno Standard Library
Custom .env File Location
Multiple .env Files
Example .env File
.env
Configuration Pattern
Create a centralized configuration module:config.ts
main.ts
Using Zod for Validation
Validate environment variables with Zod:config.ts
Environment-Specific Configuration
- Development
- Production
- Testing
.env.development
Security Best Practices
Never commit secrets
Never commit secrets
Add Commit a template instead:
.env files to .gitignore:.gitignore
.env.example
Use specific permissions
Use specific permissions
Grant access only to needed variables:
Validate all inputs
Validate all inputs
Always validate and sanitize environment variables:
Use secret management in production
Use secret management in production
Consider using:
- AWS Secrets Manager
- HashiCorp Vault
- Deno Deploy environment variables
- Cloud provider secret stores
Testing with Environment Variables
config_test.ts
Deno Deploy Environment Variables
When deploying to Deno Deploy, set environment variables in the dashboard or via CLI:deno.json:
deno.json
Example: Complete Configuration System
config.ts