envolution
Version:
TypeScript-first environment configuration with Zod validation, .env support, hot reloading, and startup validation. Zero-config setup - just install and use! Perfect for Node.js, AWS Lambda, and modern TypeScript applications.
28 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SecurityEnvironmentSchema = void 0;
const zod_1 = require("zod");
exports.SecurityEnvironmentSchema = zod_1.z.object({
JWT_SECRET: zod_1.z.string().min(32, 'JWT secret must be at least 32 characters').optional(),
JWT_EXPIRES_IN: zod_1.z.string().default('24h'),
JWT_ISSUER: zod_1.z.string().optional(),
API_KEY: zod_1.z.string().min(1).optional(),
API_SECRET: zod_1.z.string().min(1).optional(),
ENCRYPTION_KEY: zod_1.z.string().min(32).optional(),
ENCRYPTION_ALGORITHM: zod_1.z.enum(['AES-256-GCM', 'AES-256-CBC']).default('AES-256-GCM'),
CORS_ORIGIN: zod_1.z.string().optional(),
CORS_CREDENTIALS: zod_1.z
.string()
.transform((val) => val === 'true')
.pipe(zod_1.z.boolean())
.default('false'),
RATE_LIMIT_WINDOW: zod_1.z.string().transform(Number).pipe(zod_1.z.number().positive()).default('900000'),
RATE_LIMIT_MAX_REQUESTS: zod_1.z.string().transform(Number).pipe(zod_1.z.number().positive()).default('100'),
SECURITY_HEADERS_ENABLED: zod_1.z
.string()
.transform((val) => val === 'true')
.pipe(zod_1.z.boolean())
.default('true'),
HSTS_MAX_AGE: zod_1.z.string().transform(Number).pipe(zod_1.z.number().positive()).default('31536000'),
});
//# sourceMappingURL=security.js.map