fix(qenv): Improve documentation, update dependencies, and refine project configuration
This commit is contained in:
37
.serena/memories/project_overview.md
Normal file
37
.serena/memories/project_overview.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Qenv Project Overview
|
||||
|
||||
## Purpose
|
||||
@push.rocks/qenv is a TypeScript/Node.js module for managing environment variables in Node.js projects. It provides a unified interface for loading environment variables from multiple sources:
|
||||
- Process environment variables
|
||||
- YAML configuration files (.yml/.yaml)
|
||||
- JSON configuration files (.json)
|
||||
- Docker secrets
|
||||
- Dynamic/async variable resolution via functions
|
||||
|
||||
## Key Features
|
||||
- Support for required and optional environment variables
|
||||
- Multi-source loading hierarchy (env vars > config files > Docker secrets)
|
||||
- Base64-encoded object support for complex configurations
|
||||
- Synchronous and asynchronous variable retrieval
|
||||
- Strict mode with error throwing for unset variables
|
||||
- TypeScript with full type definitions
|
||||
- Logging via @push.rocks/smartlog
|
||||
|
||||
## Main Components
|
||||
- `Qenv` class: Core class for environment variable management
|
||||
- `CloudlyAdapter`: Configuration vault integration
|
||||
- Support for `qenv.yml` (required vars definition) and `env.yml`/`env.json` (values)
|
||||
|
||||
## Tech Stack
|
||||
- TypeScript
|
||||
- Node.js
|
||||
- pnpm package manager
|
||||
- @push.rocks ecosystem libraries (smartfile, smartlog, smartpath)
|
||||
- @git.zone tools for building and testing
|
||||
|
||||
## Dependencies
|
||||
- @api.global/typedrequest
|
||||
- @configvault.io/interfaces
|
||||
- @push.rocks/smartfile
|
||||
- @push.rocks/smartlog
|
||||
- @push.rocks/smartpath
|
Reference in New Issue
Block a user