@morojs/moro 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -15
- package/dist/core/config/file-loader.d.ts +18 -0
- package/dist/core/config/file-loader.js +345 -0
- package/dist/core/config/file-loader.js.map +1 -0
- package/dist/core/config/index.d.ts +6 -0
- package/dist/core/config/index.js +15 -0
- package/dist/core/config/index.js.map +1 -1
- package/dist/core/config/loader.d.ts +2 -1
- package/dist/core/config/loader.js +15 -2
- package/dist/core/config/loader.js.map +1 -1
- package/dist/core/config/utils.js +50 -3
- package/dist/core/config/utils.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/config/file-loader.ts +398 -0
- package/src/core/config/index.ts +18 -0
- package/src/core/config/loader.ts +18 -2
- package/src/core/config/utils.ts +53 -3
- package/src/index.ts +4 -1
- package/tsconfig.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|

|
|
6
6
|
|
|
7
|
-
**High-performance multi-runtime framework with intelligent routing**
|
|
7
|
+
**High-performance multi-runtime framework with intelligent routing**
|
|
8
8
|
*Functional • Type-safe • Multi-environment • Production-ready*
|
|
9
9
|
|
|
10
10
|
[](https://badge.fury.io/js/@morojs%2Fmoro)
|
|
@@ -81,22 +81,22 @@ Deploy the **same code** everywhere:
|
|
|
81
81
|
|
|
82
82
|
```typescript
|
|
83
83
|
// Node.js (default)
|
|
84
|
-
import { createApp } from 'moro';
|
|
84
|
+
import { createApp } from '@morojs/moro';
|
|
85
85
|
const app = createApp();
|
|
86
86
|
app.listen(3000);
|
|
87
87
|
|
|
88
88
|
// Vercel Edge Functions
|
|
89
|
-
import { createAppEdge } from 'moro';
|
|
89
|
+
import { createAppEdge } from '@morojs/moro';
|
|
90
90
|
const app = createAppEdge();
|
|
91
91
|
export default app.getHandler();
|
|
92
92
|
|
|
93
93
|
// AWS Lambda
|
|
94
|
-
import { createAppLambda } from 'moro';
|
|
94
|
+
import { createAppLambda } from '@morojs/moro';
|
|
95
95
|
const app = createAppLambda();
|
|
96
96
|
export const handler = app.getHandler();
|
|
97
97
|
|
|
98
98
|
// Cloudflare Workers
|
|
99
|
-
import { createAppWorker } from 'moro';
|
|
99
|
+
import { createAppWorker } from '@morojs/moro';
|
|
100
100
|
const app = createAppWorker();
|
|
101
101
|
export default { fetch: app.getHandler() };
|
|
102
102
|
```
|
|
@@ -109,7 +109,7 @@ export default { fetch: app.getHandler() };
|
|
|
109
109
|
```typescript
|
|
110
110
|
// Express - Order matters, easy to break
|
|
111
111
|
app.use(cors()); // Must be first
|
|
112
|
-
app.use(helmet()); // Must be early
|
|
112
|
+
app.use(helmet()); // Must be early
|
|
113
113
|
app.use(bodyParser()); // Must be before validation
|
|
114
114
|
app.use(rateLimit()); // Must be before routes
|
|
115
115
|
app.use(validation()); // Must be before handler
|
|
@@ -197,7 +197,7 @@ await app.loadModule(UsersModule);
|
|
|
197
197
|
- [**Migration Guide**](./docs/MIGRATION.md) - From Express, Fastify, NestJS
|
|
198
198
|
- [**Performance Guide**](./docs/PERFORMANCE.md) - Optimization and benchmarks
|
|
199
199
|
- [**Runtime System**](./docs/RUNTIME.md) - Multi-runtime deployment guide
|
|
200
|
-
- [**Examples Repository**](../
|
|
200
|
+
- [**Examples Repository**](../Moro-JS/examples/) - Working examples
|
|
201
201
|
|
|
202
202
|
### **Key Concepts**
|
|
203
203
|
- **Multi-Runtime Support** - Same API works on Node.js, Edge, Lambda, and Workers
|
|
@@ -207,12 +207,12 @@ await app.loadModule(UsersModule);
|
|
|
207
207
|
|
|
208
208
|
## Why Choose Moro?
|
|
209
209
|
|
|
210
|
-
**Same API everywhere** - Write once, deploy to any runtime
|
|
211
|
-
**No middleware dependencies** - Framework handles optimal ordering
|
|
212
|
-
**Full type safety** - Zod provides end-to-end TypeScript inference
|
|
213
|
-
**Clean APIs** - Chainable and schema-first approaches
|
|
214
|
-
**Production ready** - Circuit breakers, rate limiting, events
|
|
215
|
-
**Performance optimized** - Runtime-specific adapters
|
|
210
|
+
**Same API everywhere** - Write once, deploy to any runtime
|
|
211
|
+
**No middleware dependencies** - Framework handles optimal ordering
|
|
212
|
+
**Full type safety** - Zod provides end-to-end TypeScript inference
|
|
213
|
+
**Clean APIs** - Chainable and schema-first approaches
|
|
214
|
+
**Production ready** - Circuit breakers, rate limiting, events
|
|
215
|
+
**Performance optimized** - Runtime-specific adapters
|
|
216
216
|
|
|
217
217
|
## Contributing
|
|
218
218
|
|
|
@@ -228,6 +228,6 @@ MIT © [Moro Framework Team](https://morojs.com)
|
|
|
228
228
|
|
|
229
229
|
**Ready to deploy everywhere with one codebase?**
|
|
230
230
|
|
|
231
|
-
[Get Started](./docs/GETTING_STARTED.md) • [GitHub](https://github.com/
|
|
231
|
+
[Get Started](./docs/GETTING_STARTED.md) • [GitHub](https://github.com/Moro-JS/moro) • [npm](https://www.npmjs.com/package/@morojs/moro) • [Discord](https://morojs.com/discord)
|
|
232
232
|
|
|
233
|
-
</div>
|
|
233
|
+
</div>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AppConfig } from './schema';
|
|
2
|
+
/**
|
|
3
|
+
* Find and load configuration from moro.config.js (synchronously)
|
|
4
|
+
* @param cwd Current working directory to search for config files
|
|
5
|
+
* @returns Partial configuration object or null if no config file found
|
|
6
|
+
*/
|
|
7
|
+
export declare function loadConfigFileSync(cwd?: string): Partial<AppConfig> | null;
|
|
8
|
+
/**
|
|
9
|
+
* Find and load configuration from moro.config.js or moro.config.ts (async)
|
|
10
|
+
* @param cwd Current working directory to search for config files
|
|
11
|
+
* @returns Partial configuration object or null if no config file found
|
|
12
|
+
*/
|
|
13
|
+
export declare function loadConfigFile(cwd?: string): Promise<Partial<AppConfig> | null>;
|
|
14
|
+
/**
|
|
15
|
+
* Convert a configuration object to environment variable mappings
|
|
16
|
+
* This function flattens the config object and sets corresponding environment variables
|
|
17
|
+
*/
|
|
18
|
+
export declare function applyConfigAsEnvironmentVariables(config: Partial<AppConfig>): void;
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.loadConfigFileSync = loadConfigFileSync;
|
|
37
|
+
exports.loadConfigFile = loadConfigFile;
|
|
38
|
+
exports.applyConfigAsEnvironmentVariables = applyConfigAsEnvironmentVariables;
|
|
39
|
+
// Configuration File Loader - Load moro.config.js/ts files
|
|
40
|
+
const fs_1 = require("fs");
|
|
41
|
+
const path_1 = require("path");
|
|
42
|
+
const logger_1 = require("../logger");
|
|
43
|
+
const logger = (0, logger_1.createFrameworkLogger)('ConfigFile');
|
|
44
|
+
/**
|
|
45
|
+
* Supported configuration file names in order of preference
|
|
46
|
+
*/
|
|
47
|
+
const CONFIG_FILES = ['moro.config.js', 'moro.config.ts'];
|
|
48
|
+
/**
|
|
49
|
+
* Find and load configuration from moro.config.js (synchronously)
|
|
50
|
+
* @param cwd Current working directory to search for config files
|
|
51
|
+
* @returns Partial configuration object or null if no config file found
|
|
52
|
+
*/
|
|
53
|
+
function loadConfigFileSync(cwd = process.cwd()) {
|
|
54
|
+
const configFile = findConfigFile(cwd);
|
|
55
|
+
if (!configFile) {
|
|
56
|
+
logger.debug('No configuration file found');
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
// Only support .js files for synchronous loading to avoid complexity
|
|
60
|
+
if (!configFile.endsWith('.js')) {
|
|
61
|
+
logger.debug('Found config file, but only JavaScript files are supported in sync mode. Use loadConfigFile() for TypeScript support.');
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
logger.debug(`Loading configuration from: ${configFile}`);
|
|
65
|
+
try {
|
|
66
|
+
// Clear module cache to ensure fresh load
|
|
67
|
+
delete require.cache[require.resolve(configFile)];
|
|
68
|
+
const config = require(configFile);
|
|
69
|
+
const configData = config.default || config;
|
|
70
|
+
if (!configData || typeof configData !== 'object') {
|
|
71
|
+
logger.warn(`Configuration file ${configFile} did not export a valid configuration object`);
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
logger.info(`Configuration loaded from: ${configFile}`);
|
|
75
|
+
return configData;
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
logger.error(`Failed to load configuration file ${configFile}:`, String(error));
|
|
79
|
+
logger.warn('Falling back to environment variable configuration');
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Find and load configuration from moro.config.js or moro.config.ts (async)
|
|
85
|
+
* @param cwd Current working directory to search for config files
|
|
86
|
+
* @returns Partial configuration object or null if no config file found
|
|
87
|
+
*/
|
|
88
|
+
async function loadConfigFile(cwd = process.cwd()) {
|
|
89
|
+
const configFile = findConfigFile(cwd);
|
|
90
|
+
if (!configFile) {
|
|
91
|
+
logger.debug('No configuration file found');
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
logger.debug(`Loading configuration from: ${configFile}`);
|
|
95
|
+
try {
|
|
96
|
+
const config = await importConfigFile(configFile);
|
|
97
|
+
if (!config || typeof config !== 'object') {
|
|
98
|
+
logger.warn(`Configuration file ${configFile} did not export a valid configuration object`);
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
logger.info(`Configuration loaded from: ${configFile}`);
|
|
102
|
+
return config;
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
logger.error(`Failed to load configuration file ${configFile}:`, String(error));
|
|
106
|
+
logger.warn('Falling back to environment variable configuration');
|
|
107
|
+
return null;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Find the first existing configuration file in the given directory
|
|
112
|
+
*/
|
|
113
|
+
function findConfigFile(cwd) {
|
|
114
|
+
for (const fileName of CONFIG_FILES) {
|
|
115
|
+
const filePath = (0, path_1.join)(cwd, fileName);
|
|
116
|
+
if ((0, fs_1.existsSync)(filePath)) {
|
|
117
|
+
return filePath;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Dynamically import a configuration file
|
|
124
|
+
*/
|
|
125
|
+
async function importConfigFile(filePath) {
|
|
126
|
+
const isTypeScript = filePath.endsWith('.ts');
|
|
127
|
+
if (isTypeScript) {
|
|
128
|
+
// For TypeScript files, we need to handle ts-node/tsx or similar
|
|
129
|
+
await setupTypeScriptLoader();
|
|
130
|
+
}
|
|
131
|
+
try {
|
|
132
|
+
// Use dynamic import to load the configuration
|
|
133
|
+
const configModule = await Promise.resolve(`${filePath}`).then(s => __importStar(require(s)));
|
|
134
|
+
// Handle both default export and module.exports
|
|
135
|
+
const config = configModule.default || configModule;
|
|
136
|
+
return config;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// If TypeScript loading fails, provide helpful error message
|
|
140
|
+
if (isTypeScript &&
|
|
141
|
+
error instanceof Error &&
|
|
142
|
+
error.message.includes('Unknown file extension')) {
|
|
143
|
+
throw new Error(`Failed to load TypeScript config file. Make sure you have ts-node installed: npm install --save-dev ts-node`);
|
|
144
|
+
}
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Setup TypeScript loader for .ts config files
|
|
150
|
+
*/
|
|
151
|
+
async function setupTypeScriptLoader() {
|
|
152
|
+
try {
|
|
153
|
+
// Try to register ts-node if available
|
|
154
|
+
const tsNode = await Promise.resolve().then(() => __importStar(require('ts-node')));
|
|
155
|
+
if (!tsNode.register) {
|
|
156
|
+
// ts-node might already be registered
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
tsNode.register({
|
|
160
|
+
transpileOnly: true,
|
|
161
|
+
compilerOptions: {
|
|
162
|
+
module: 'commonjs',
|
|
163
|
+
target: 'es2020',
|
|
164
|
+
moduleResolution: 'node',
|
|
165
|
+
allowSyntheticDefaultImports: true,
|
|
166
|
+
esModuleInterop: true,
|
|
167
|
+
},
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
// ts-node not available, try other methods or fail gracefully
|
|
172
|
+
logger.debug('ts-node not available for TypeScript config loading');
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Convert a configuration object to environment variable mappings
|
|
177
|
+
* This function flattens the config object and sets corresponding environment variables
|
|
178
|
+
*/
|
|
179
|
+
function applyConfigAsEnvironmentVariables(config) {
|
|
180
|
+
if (!config || typeof config !== 'object') {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
// Apply server configuration
|
|
184
|
+
if (config.server) {
|
|
185
|
+
setEnvIfNotSet('PORT', config.server.port?.toString());
|
|
186
|
+
setEnvIfNotSet('HOST', config.server.host);
|
|
187
|
+
setEnvIfNotSet('NODE_ENV', config.server.environment);
|
|
188
|
+
setEnvIfNotSet('MAX_CONNECTIONS', config.server.maxConnections?.toString());
|
|
189
|
+
setEnvIfNotSet('REQUEST_TIMEOUT', config.server.timeout?.toString());
|
|
190
|
+
}
|
|
191
|
+
// Apply database configuration
|
|
192
|
+
if (config.database) {
|
|
193
|
+
setEnvIfNotSet('DATABASE_URL', config.database.url);
|
|
194
|
+
if (config.database.redis) {
|
|
195
|
+
setEnvIfNotSet('REDIS_URL', config.database.redis.url);
|
|
196
|
+
setEnvIfNotSet('REDIS_MAX_RETRIES', config.database.redis.maxRetries?.toString());
|
|
197
|
+
setEnvIfNotSet('REDIS_RETRY_DELAY', config.database.redis.retryDelay?.toString());
|
|
198
|
+
setEnvIfNotSet('REDIS_KEY_PREFIX', config.database.redis.keyPrefix);
|
|
199
|
+
}
|
|
200
|
+
if (config.database.mysql) {
|
|
201
|
+
setEnvIfNotSet('MYSQL_HOST', config.database.mysql.host);
|
|
202
|
+
setEnvIfNotSet('MYSQL_PORT', config.database.mysql.port?.toString());
|
|
203
|
+
setEnvIfNotSet('MYSQL_DATABASE', config.database.mysql.database);
|
|
204
|
+
setEnvIfNotSet('MYSQL_USERNAME', config.database.mysql.username);
|
|
205
|
+
setEnvIfNotSet('MYSQL_PASSWORD', config.database.mysql.password);
|
|
206
|
+
setEnvIfNotSet('MYSQL_CONNECTION_LIMIT', config.database.mysql.connectionLimit?.toString());
|
|
207
|
+
setEnvIfNotSet('MYSQL_ACQUIRE_TIMEOUT', config.database.mysql.acquireTimeout?.toString());
|
|
208
|
+
setEnvIfNotSet('MYSQL_TIMEOUT', config.database.mysql.timeout?.toString());
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Apply service discovery configuration
|
|
212
|
+
if (config.serviceDiscovery) {
|
|
213
|
+
setEnvIfNotSet('SERVICE_DISCOVERY_ENABLED', config.serviceDiscovery.enabled?.toString());
|
|
214
|
+
setEnvIfNotSet('DISCOVERY_TYPE', config.serviceDiscovery.type);
|
|
215
|
+
setEnvIfNotSet('CONSUL_URL', config.serviceDiscovery.consulUrl);
|
|
216
|
+
setEnvIfNotSet('K8S_NAMESPACE', config.serviceDiscovery.kubernetesNamespace);
|
|
217
|
+
setEnvIfNotSet('HEALTH_CHECK_INTERVAL', config.serviceDiscovery.healthCheckInterval?.toString());
|
|
218
|
+
setEnvIfNotSet('DISCOVERY_RETRY_ATTEMPTS', config.serviceDiscovery.retryAttempts?.toString());
|
|
219
|
+
}
|
|
220
|
+
// Apply logging configuration
|
|
221
|
+
if (config.logging) {
|
|
222
|
+
setEnvIfNotSet('LOG_LEVEL', config.logging.level);
|
|
223
|
+
setEnvIfNotSet('LOG_FORMAT', config.logging.format);
|
|
224
|
+
setEnvIfNotSet('LOG_COLORS', config.logging.enableColors?.toString());
|
|
225
|
+
setEnvIfNotSet('LOG_TIMESTAMP', config.logging.enableTimestamp?.toString());
|
|
226
|
+
setEnvIfNotSet('LOG_CONTEXT', config.logging.enableContext?.toString());
|
|
227
|
+
if (config.logging.outputs) {
|
|
228
|
+
setEnvIfNotSet('LOG_CONSOLE', config.logging.outputs.console?.toString());
|
|
229
|
+
if (config.logging.outputs.file) {
|
|
230
|
+
setEnvIfNotSet('LOG_FILE_ENABLED', config.logging.outputs.file.enabled?.toString());
|
|
231
|
+
setEnvIfNotSet('LOG_FILE_PATH', config.logging.outputs.file.path);
|
|
232
|
+
setEnvIfNotSet('LOG_FILE_MAX_SIZE', config.logging.outputs.file.maxSize);
|
|
233
|
+
setEnvIfNotSet('LOG_FILE_MAX_FILES', config.logging.outputs.file.maxFiles?.toString());
|
|
234
|
+
}
|
|
235
|
+
if (config.logging.outputs.webhook) {
|
|
236
|
+
setEnvIfNotSet('LOG_WEBHOOK_ENABLED', config.logging.outputs.webhook.enabled?.toString());
|
|
237
|
+
setEnvIfNotSet('LOG_WEBHOOK_URL', config.logging.outputs.webhook.url);
|
|
238
|
+
if (config.logging.outputs.webhook.headers) {
|
|
239
|
+
setEnvIfNotSet('LOG_WEBHOOK_HEADERS', JSON.stringify(config.logging.outputs.webhook.headers));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Apply module defaults
|
|
245
|
+
if (config.modules) {
|
|
246
|
+
if (config.modules.cache) {
|
|
247
|
+
setEnvIfNotSet('CACHE_ENABLED', config.modules.cache.enabled?.toString());
|
|
248
|
+
setEnvIfNotSet('DEFAULT_CACHE_TTL', config.modules.cache.defaultTtl?.toString());
|
|
249
|
+
setEnvIfNotSet('CACHE_MAX_SIZE', config.modules.cache.maxSize?.toString());
|
|
250
|
+
setEnvIfNotSet('CACHE_STRATEGY', config.modules.cache.strategy);
|
|
251
|
+
}
|
|
252
|
+
if (config.modules.rateLimit) {
|
|
253
|
+
setEnvIfNotSet('RATE_LIMIT_ENABLED', config.modules.rateLimit.enabled?.toString());
|
|
254
|
+
setEnvIfNotSet('DEFAULT_RATE_LIMIT_REQUESTS', config.modules.rateLimit.defaultRequests?.toString());
|
|
255
|
+
setEnvIfNotSet('DEFAULT_RATE_LIMIT_WINDOW', config.modules.rateLimit.defaultWindow?.toString());
|
|
256
|
+
setEnvIfNotSet('RATE_LIMIT_SKIP_SUCCESS', config.modules.rateLimit.skipSuccessfulRequests?.toString());
|
|
257
|
+
setEnvIfNotSet('RATE_LIMIT_SKIP_FAILED', config.modules.rateLimit.skipFailedRequests?.toString());
|
|
258
|
+
}
|
|
259
|
+
if (config.modules.validation) {
|
|
260
|
+
setEnvIfNotSet('VALIDATION_ENABLED', config.modules.validation.enabled?.toString());
|
|
261
|
+
setEnvIfNotSet('VALIDATION_STRIP_UNKNOWN', config.modules.validation.stripUnknown?.toString());
|
|
262
|
+
setEnvIfNotSet('VALIDATION_ABORT_EARLY', config.modules.validation.abortEarly?.toString());
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
// Apply security configuration
|
|
266
|
+
if (config.security) {
|
|
267
|
+
if (config.security.cors) {
|
|
268
|
+
setEnvIfNotSet('CORS_ENABLED', config.security.cors.enabled?.toString());
|
|
269
|
+
if (typeof config.security.cors.origin === 'string') {
|
|
270
|
+
setEnvIfNotSet('CORS_ORIGIN', config.security.cors.origin);
|
|
271
|
+
}
|
|
272
|
+
else if (Array.isArray(config.security.cors.origin)) {
|
|
273
|
+
setEnvIfNotSet('CORS_ORIGIN', config.security.cors.origin.join(','));
|
|
274
|
+
}
|
|
275
|
+
else if (typeof config.security.cors.origin === 'boolean') {
|
|
276
|
+
setEnvIfNotSet('CORS_ORIGIN', config.security.cors.origin.toString());
|
|
277
|
+
}
|
|
278
|
+
setEnvIfNotSet('CORS_METHODS', config.security.cors.methods?.join(','));
|
|
279
|
+
setEnvIfNotSet('CORS_HEADERS', config.security.cors.allowedHeaders?.join(','));
|
|
280
|
+
setEnvIfNotSet('CORS_CREDENTIALS', config.security.cors.credentials?.toString());
|
|
281
|
+
}
|
|
282
|
+
if (config.security.helmet) {
|
|
283
|
+
setEnvIfNotSet('HELMET_ENABLED', config.security.helmet.enabled?.toString());
|
|
284
|
+
setEnvIfNotSet('HELMET_CSP', config.security.helmet.contentSecurityPolicy?.toString());
|
|
285
|
+
setEnvIfNotSet('HELMET_HSTS', config.security.helmet.hsts?.toString());
|
|
286
|
+
setEnvIfNotSet('HELMET_NO_SNIFF', config.security.helmet.noSniff?.toString());
|
|
287
|
+
setEnvIfNotSet('HELMET_FRAMEGUARD', config.security.helmet.frameguard?.toString());
|
|
288
|
+
}
|
|
289
|
+
if (config.security.rateLimit?.global) {
|
|
290
|
+
setEnvIfNotSet('GLOBAL_RATE_LIMIT_ENABLED', config.security.rateLimit.global.enabled?.toString());
|
|
291
|
+
setEnvIfNotSet('GLOBAL_RATE_LIMIT_REQUESTS', config.security.rateLimit.global.requests?.toString());
|
|
292
|
+
setEnvIfNotSet('GLOBAL_RATE_LIMIT_WINDOW', config.security.rateLimit.global.window?.toString());
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
// Apply external services configuration
|
|
296
|
+
if (config.external) {
|
|
297
|
+
if (config.external.stripe) {
|
|
298
|
+
setEnvIfNotSet('STRIPE_SECRET_KEY', config.external.stripe.secretKey);
|
|
299
|
+
setEnvIfNotSet('STRIPE_PUBLISHABLE_KEY', config.external.stripe.publishableKey);
|
|
300
|
+
setEnvIfNotSet('STRIPE_WEBHOOK_SECRET', config.external.stripe.webhookSecret);
|
|
301
|
+
setEnvIfNotSet('STRIPE_API_VERSION', config.external.stripe.apiVersion);
|
|
302
|
+
}
|
|
303
|
+
if (config.external.paypal) {
|
|
304
|
+
setEnvIfNotSet('PAYPAL_CLIENT_ID', config.external.paypal.clientId);
|
|
305
|
+
setEnvIfNotSet('PAYPAL_CLIENT_SECRET', config.external.paypal.clientSecret);
|
|
306
|
+
setEnvIfNotSet('PAYPAL_WEBHOOK_ID', config.external.paypal.webhookId);
|
|
307
|
+
setEnvIfNotSet('PAYPAL_ENVIRONMENT', config.external.paypal.environment);
|
|
308
|
+
}
|
|
309
|
+
if (config.external.smtp) {
|
|
310
|
+
setEnvIfNotSet('SMTP_HOST', config.external.smtp.host);
|
|
311
|
+
setEnvIfNotSet('SMTP_PORT', config.external.smtp.port?.toString());
|
|
312
|
+
setEnvIfNotSet('SMTP_SECURE', config.external.smtp.secure?.toString());
|
|
313
|
+
setEnvIfNotSet('SMTP_USERNAME', config.external.smtp.username);
|
|
314
|
+
setEnvIfNotSet('SMTP_PASSWORD', config.external.smtp.password);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Apply performance configuration
|
|
318
|
+
if (config.performance) {
|
|
319
|
+
if (config.performance.compression) {
|
|
320
|
+
setEnvIfNotSet('COMPRESSION_ENABLED', config.performance.compression.enabled?.toString());
|
|
321
|
+
setEnvIfNotSet('COMPRESSION_LEVEL', config.performance.compression.level?.toString());
|
|
322
|
+
setEnvIfNotSet('COMPRESSION_THRESHOLD', config.performance.compression.threshold?.toString());
|
|
323
|
+
}
|
|
324
|
+
if (config.performance.circuitBreaker) {
|
|
325
|
+
setEnvIfNotSet('CIRCUIT_BREAKER_ENABLED', config.performance.circuitBreaker.enabled?.toString());
|
|
326
|
+
setEnvIfNotSet('CIRCUIT_BREAKER_THRESHOLD', config.performance.circuitBreaker.failureThreshold?.toString());
|
|
327
|
+
setEnvIfNotSet('CIRCUIT_BREAKER_RESET', config.performance.circuitBreaker.resetTimeout?.toString());
|
|
328
|
+
setEnvIfNotSet('CIRCUIT_BREAKER_MONITOR', config.performance.circuitBreaker.monitoringPeriod?.toString());
|
|
329
|
+
}
|
|
330
|
+
if (config.performance.clustering) {
|
|
331
|
+
setEnvIfNotSet('CLUSTERING_ENABLED', config.performance.clustering.enabled?.toString());
|
|
332
|
+
setEnvIfNotSet('CLUSTER_WORKERS', config.performance.clustering.workers?.toString());
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Set environment variable only if it's not already set
|
|
338
|
+
* This ensures environment variables take precedence over config file values
|
|
339
|
+
*/
|
|
340
|
+
function setEnvIfNotSet(key, value) {
|
|
341
|
+
if (value !== undefined && process.env[key] === undefined) {
|
|
342
|
+
process.env[key] = value;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=file-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-loader.js","sourceRoot":"","sources":["../../../src/core/config/file-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './schema';
|
|
2
2
|
export * from './loader';
|
|
3
3
|
export * from './utils';
|
|
4
|
+
export * from './file-loader';
|
|
4
5
|
export { z } from 'zod';
|
|
5
6
|
import type { AppConfig } from './schema';
|
|
6
7
|
/**
|
|
@@ -17,3 +18,8 @@ export declare function getGlobalConfig(): AppConfig;
|
|
|
17
18
|
* Check if configuration has been initialized
|
|
18
19
|
*/
|
|
19
20
|
export declare function isConfigInitialized(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Reset the global configuration state (for testing purposes)
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare function resetConfig(): void;
|
|
@@ -18,15 +18,18 @@ exports.z = void 0;
|
|
|
18
18
|
exports.initializeConfig = initializeConfig;
|
|
19
19
|
exports.getGlobalConfig = getGlobalConfig;
|
|
20
20
|
exports.isConfigInitialized = isConfigInitialized;
|
|
21
|
+
exports.resetConfig = resetConfig;
|
|
21
22
|
// Configuration System - Main Exports and Utilities
|
|
22
23
|
__exportStar(require("./schema"), exports);
|
|
23
24
|
__exportStar(require("./loader"), exports);
|
|
24
25
|
__exportStar(require("./utils"), exports);
|
|
26
|
+
__exportStar(require("./file-loader"), exports);
|
|
25
27
|
// Re-export common Zod utilities for configuration
|
|
26
28
|
var zod_1 = require("zod");
|
|
27
29
|
Object.defineProperty(exports, "z", { enumerable: true, get: function () { return zod_1.z; } });
|
|
28
30
|
// Main configuration loading function
|
|
29
31
|
const loader_1 = require("./loader");
|
|
32
|
+
const utils_1 = require("./utils");
|
|
30
33
|
// Global configuration instance
|
|
31
34
|
let globalConfig = null;
|
|
32
35
|
/**
|
|
@@ -38,6 +41,8 @@ function initializeConfig() {
|
|
|
38
41
|
return globalConfig;
|
|
39
42
|
}
|
|
40
43
|
globalConfig = (0, loader_1.loadConfig)();
|
|
44
|
+
// Also set the config for utils functions
|
|
45
|
+
(0, utils_1.setConfig)(globalConfig);
|
|
41
46
|
return globalConfig;
|
|
42
47
|
}
|
|
43
48
|
/**
|
|
@@ -56,4 +61,14 @@ function getGlobalConfig() {
|
|
|
56
61
|
function isConfigInitialized() {
|
|
57
62
|
return globalConfig !== null;
|
|
58
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Reset the global configuration state (for testing purposes)
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
function resetConfig() {
|
|
69
|
+
globalConfig = null;
|
|
70
|
+
// Also reset the utils config (by setting it to null via direct access)
|
|
71
|
+
const { setConfig } = require('./utils');
|
|
72
|
+
setConfig(null);
|
|
73
|
+
}
|
|
59
74
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAqBA,4CAWC;AAMD,0CAKC;AAKD,kDAEC;AAMD,kCAMC;AA9DD,oDAAoD;AACpD,2CAAyB;AACzB,2CAAyB;AACzB,0CAAwB;AACxB,gDAA8B;AAE9B,mDAAmD;AACnD,2BAAwB;AAAf,wFAAA,CAAC,OAAA;AAEV,sCAAsC;AACtC,qCAAsC;AAEtC,mCAAoC;AAEpC,gCAAgC;AAChC,IAAI,YAAY,GAAqB,IAAI,CAAC;AAE1C;;;GAGG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,GAAG,IAAA,mBAAU,GAAE,CAAC;IAE5B,0CAA0C;IAC1C,IAAA,iBAAS,EAAC,YAAY,CAAC,CAAC;IAExB,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,OAAO,YAAY,KAAK,IAAI,CAAC;AAC/B,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW;IACzB,YAAY,GAAG,IAAI,CAAC;IAEpB,wEAAwE;IACxE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACzC,SAAS,CAAC,IAAW,CAAC,CAAC;AACzB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AppConfig } from './schema';
|
|
2
2
|
/**
|
|
3
|
-
* Load and validate configuration from environment variables
|
|
3
|
+
* Load and validate configuration from config files and environment variables
|
|
4
|
+
* Priority: Environment Variables > Config File > Schema Defaults
|
|
4
5
|
* @returns Validated and typed application configuration
|
|
5
6
|
*/
|
|
6
7
|
export declare function loadConfig(): AppConfig;
|
|
@@ -5,13 +5,26 @@ exports.loadConfig = loadConfig;
|
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const schema_1 = require("./schema");
|
|
7
7
|
const logger_1 = require("../logger");
|
|
8
|
+
const file_loader_1 = require("./file-loader");
|
|
8
9
|
const logger = (0, logger_1.createFrameworkLogger)('Config');
|
|
9
10
|
/**
|
|
10
|
-
* Load and validate configuration from environment variables
|
|
11
|
+
* Load and validate configuration from config files and environment variables
|
|
12
|
+
* Priority: Environment Variables > Config File > Schema Defaults
|
|
11
13
|
* @returns Validated and typed application configuration
|
|
12
14
|
*/
|
|
13
15
|
function loadConfig() {
|
|
14
|
-
logger.debug('Loading configuration from environment variables');
|
|
16
|
+
logger.debug('Loading configuration from config files and environment variables');
|
|
17
|
+
// First, try to load from config file and apply as environment variables (synchronously)
|
|
18
|
+
try {
|
|
19
|
+
const fileConfig = (0, file_loader_1.loadConfigFileSync)();
|
|
20
|
+
if (fileConfig) {
|
|
21
|
+
logger.debug('Applying config file values as environment variables');
|
|
22
|
+
(0, file_loader_1.applyConfigAsEnvironmentVariables)(fileConfig);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
logger.warn('Config file loading failed, continuing with environment variables only:', String(error));
|
|
27
|
+
}
|
|
15
28
|
// Map environment variables to configuration structure
|
|
16
29
|
const envConfig = {
|
|
17
30
|
server: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/config/loader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/config/loader.ts"],"names":[],"mappings":"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"}
|