bootifyjs 1.1.7 → 1.1.9

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 ADDED
@@ -0,0 +1,89 @@
1
+ # BootifyJS: A Modern, Declarative Node.js Framework
2
+
3
+ **BootifyJS** is a powerful, modern, and developer-friendly web framework for Node.js, built on the high-performance foundations of **Fastify**. Inspired by the productivity and robust architecture of Spring Boot, BootifyJS brings declarative programming, a powerful Dependency Injection system, and an enterprise-grade feature set to the TypeScript ecosystem.
4
+
5
+ Our goal is to make building complex, scalable, and maintainable backend applications not just possible, but elegant and enjoyable.
6
+
7
+ ## Core Features
8
+
9
+ - **Declarative & Decorator-Driven:** Write clean, readable, and self-documenting code using a rich set of decorators for controllers, services, dependency injection, and more.
10
+ - **Powerful Dependency Injection:** A full-featured DI container that supports constructor and property injection, interface binding, scopes, and eager loading.
11
+ - **Event-Driven Architecture:** A built-in, asynchronous event bus with automatic retries and a dead-letter queue, enabling you to build resilient, decoupled systems.
12
+ - **Pluggable Caching:** A decorator-driven caching system that works out-of-the-box with an in-memory store and can be seamlessly extended to use Redis or other backends.
13
+ - **Type-Safe Configuration:** A schema-driven configuration system that validates your environment at startup, catching errors early and providing fully typed config objects.
14
+ - **Built on Fastify:** Leverage the incredible performance and rich plugin ecosystem of one of the fastest web frameworks for Node.js.
15
+
16
+ ## Getting Started
17
+
18
+ ### Installation
19
+
20
+ To create a new BootifyJS project, you can use our upcoming CLI or set it up manually.
21
+
22
+ ```
23
+ # (Coming Soon)
24
+ # npx bootifyjs-cli new my-project
25
+
26
+ # Manual Installation
27
+ npm install bootifyjs fastify reflect-metadata
28
+ ```
29
+
30
+ ### Your First Application
31
+
32
+ Here’s a simple "Hello World" application to show you how easy it is to get started.
33
+
34
+ **1. Create your main server file:**
35
+
36
+ ```
37
+ // src/server.ts
38
+ import 'reflect-metadata';
39
+ import { createBootifyApp, Controller, Get } from 'bootifyjs';
40
+
41
+ @Controller('/hello')
42
+ export class HelloController {
43
+ @Get('/')
44
+ sayHello() {
45
+ return { message: 'Hello from BootifyJS!' };
46
+ }
47
+ }
48
+
49
+ async function main() {
50
+ // Import your controller file to ensure its decorators run
51
+ await import('./controllers/hello.controller');
52
+
53
+ const { start } = await createBootifyApp({
54
+ controllers: [HelloController],
55
+ port: 3000,
56
+ });
57
+
58
+ await start();
59
+ }
60
+
61
+ main();
62
+ ```
63
+
64
+ **2. Run your application:**
65
+
66
+ ```
67
+ npx ts-node src/server.ts
68
+ ```
69
+
70
+ You can now visit `http://localhost:3000/hello` in your browser or with `curl` to see your application running!
71
+
72
+ ## Philosophy
73
+
74
+ BootifyJS is built on a few core principles:
75
+
76
+ - **Developer Experience First:** Frameworks should reduce boilerplate and complexity, not add to it. Our primary goal is to make development fast, intuitive, and enjoyable.
77
+ - **Convention Over Configuration:** We provide sensible defaults and automatic wiring so you can focus on writing business logic.
78
+ - **Robustness by Default:** Features like startup validation, graceful shutdown, and resilient event handling are built-in, helping you write production-ready code from day one.
79
+ - **Extensibility:** While the framework works out-of-the-box, it's designed to be pluggable and extensible. You can easily bring your own implementations for caching, authentication, and more.
80
+
81
+ ## Documentation
82
+
83
+ Dive deeper into the features of BootifyJS:
84
+
85
+ - [**Core Module**](https://github.com/piyushpriyadarshi/bootifyjs/tree/main/src/core 'null')**:** Learn about the Dependency Injection system, decorators, and component lifecycle.
86
+ - [**Configuration**](https://github.com/piyushpriyadarshi/bootifyjs/tree/main/src/config 'null')**:** Master the type-safe, schema-driven configuration system.
87
+ - [**Events Module**](https://github.com/piyushpriyadarshi/bootifyjs/tree/main/src/events 'null')**:** Master the event bus for building decoupled, event-driven services.
88
+ - [**Cache Module**](https://github.com/piyushpriyadarshi/bootifyjs/tree/main/src/cache 'null')**:** Speed up your application with our decorator-driven caching system.
89
+ - [**Logging**](https://github.com/piyushpriyadarshi/bootifyjs/tree/main/src/logging 'null')**:** Understand the structured, context-aware logging system.# bootifyjs
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAClD,OAAU,EAAY,SAAS,EAAa,MAAM,KAAK,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAWjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;;;GA4EhE"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAClD,OAAU,EAAY,SAAS,EAAa,MAAM,KAAK,CAAA;AAEvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAYjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,EAAE,CAAA;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,iBAAiB;;;GA4EhE"}
package/dist/api.js CHANGED
@@ -60,7 +60,7 @@ async function createBootifyApp(options) {
60
60
  // These log the start and end of the request.
61
61
  startupLogger.logComponentStart('Attaching Request Logger');
62
62
  app.addHook('onRequest', request_logger_middleware_1.requestLoggerOnRequest);
63
- app.addHook('onResponse', request_logger_middleware_1.requestLoggerOnResponse);
63
+ app.addHook('onResponse', (0, request_logger_middleware_1.createRequestLoggerOnResponse)(logger));
64
64
  startupLogger.logComponentComplete('Attaching Request Logger');
65
65
  startupLogger.logComponentStart('Attaching Global ErrorHandler');
66
66
  app.setErrorHandler((error, request, reply) => {
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,16 @@
1
1
  import { z, ZodObject, ZodRawShape, AnyZodObject } from 'zod';
2
- declare const FrameworkConfigSchema: z.ZodObject<{
2
+ declare let FrameworkConfigSchema: z.ZodObject<{
3
3
  NODE_ENV: z.ZodDefault<z.ZodEnum<["development", "production", "test"]>>;
4
4
  SERVER_PORT: z.ZodDefault<z.ZodNumber>;
5
5
  SERVER_HOST: z.ZodDefault<z.ZodString>;
6
- LOG_LEVEL: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
7
6
  CONFIG_DEBUG: z.ZodDefault<z.ZodBoolean>;
8
7
  }, "strip", z.ZodTypeAny, {
9
8
  NODE_ENV: "production" | "development" | "test";
10
- LOG_LEVEL: "error" | "warn" | "info" | "debug";
11
9
  SERVER_PORT: number;
12
10
  SERVER_HOST: string;
13
11
  CONFIG_DEBUG: boolean;
14
12
  }, {
15
13
  NODE_ENV?: "production" | "development" | "test" | undefined;
16
- LOG_LEVEL?: "error" | "warn" | "info" | "debug" | undefined;
17
14
  SERVER_PORT?: number | undefined;
18
15
  SERVER_HOST?: string | undefined;
19
16
  CONFIG_DEBUG?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAG7D,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMzB,CAAA;AAoBF,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE5D,qBAAa,SAAS,CAAC,CAAC,SAAS,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO;IAaP;;;;OAIG;WACW,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAYzF;;;OAGG;WACW,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/E,OAAO,CAAC,cAAc;IAoBtB;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D,GAAG,EAAE,CAAC,GACL,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAU/C;;;OAGG;IACH,MAAM,IAAI,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIjD;;;OAGG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,OAAO,CAAC,SAAS;CAalB"}
1
+ {"version":3,"file":"AppConfig.d.ts","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,KAAK,CAAA;AAG7D,QAAA,IAAI,qBAAqB;;;;;;;;;;;;;;;EAMvB,CAAA;AAoBF,KAAK,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAE5D,qBAAa,SAAS,CAAC,CAAC,SAAS,WAAW;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAgB;IACvC,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO;IAaP;;;;OAIG;WACW,WAAW,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAYzF;;;OAGG;WACW,UAAU,CAAC,CAAC,SAAS,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI;IAO/E,OAAO,CAAC,cAAc;IAoBtB;;;;OAIG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAC3D,GAAG,EAAE,CAAC,GACL,CAAC,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAU/C;;;OAGG;IACH,MAAM,IAAI,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAIjD;;;OAGG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,OAAO,CAAC,SAAS;CAalB"}
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AppConfig = void 0;
4
4
  const zod_1 = require("zod");
5
5
  // Framework-level configuration schema
6
- const FrameworkConfigSchema = zod_1.z.object({
6
+ let FrameworkConfigSchema = zod_1.z.object({
7
7
  NODE_ENV: zod_1.z.enum(['development', 'production', 'test']).default('development'),
8
8
  SERVER_PORT: zod_1.z.coerce.number().default(4000),
9
9
  SERVER_HOST: zod_1.z.string().default('localhost'),
10
- LOG_LEVEL: zod_1.z.enum(['debug', 'info', 'warn', 'error']).default('info'),
11
- CONFIG_DEBUG: zod_1.z.coerce.boolean().default(false),
10
+ // LOG_LEVEL: z.enum(['debug', 'info', 'warn', 'error']).default('debug'),
11
+ CONFIG_DEBUG: zod_1.z.coerce.boolean().default(true),
12
12
  });
13
13
  const LoggingConfigSchema = zod_1.z.object({
14
14
  LOG_LEVEL: zod_1.z
@@ -24,7 +24,7 @@ const LoggingConfigSchema = zod_1.z.object({
24
24
  CLICKHOUSE_PASSWORD: zod_1.z.string().default(''),
25
25
  CLICKHOUSE_DB: zod_1.z.string().default('default'),
26
26
  });
27
- FrameworkConfigSchema.merge(LoggingConfigSchema);
27
+ FrameworkConfigSchema = FrameworkConfigSchema.merge(LoggingConfigSchema);
28
28
  class AppConfig {
29
29
  constructor(userSchema) {
30
30
  // Merge framework and user schemas
@@ -1 +1 @@
1
- {"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppConfig.js","sourceRoot":"","sources":["../../src/config/AppConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './AppConfig';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA"}
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./AppConfig"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,5 @@ export * from './cache';
4
4
  export * from './core';
5
5
  export * from './events';
6
6
  export * from './logging';
7
- export * from './config/AppConfig';
7
+ export * from './config';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AAExB,cAAc,WAAW,CAAA;AAEzB,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AAExB,cAAc,WAAW,CAAA;AAEzB,cAAc,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -20,5 +20,5 @@ __exportStar(require("./cache"), exports);
20
20
  __exportStar(require("./core"), exports);
21
21
  __exportStar(require("./events"), exports);
22
22
  __exportStar(require("./logging"), exports);
23
- __exportStar(require("./config/AppConfig"), exports);
23
+ __exportStar(require("./config"), exports);
24
24
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,+CAA4B;AAC5B,0CAAuB;AACvB,yCAAsB;AACtB,2CAAwB;AAExB,4CAAyB;AAEzB,qDAAkC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,+CAA4B;AAC5B,0CAAuB;AACvB,yCAAsB;AACtB,2CAAwB;AAExB,4CAAyB;AAEzB,2CAAwB"}
@@ -7,5 +7,6 @@ export declare class Logger {
7
7
  debug(message: string, context?: object): void;
8
8
  audit(payload: object): void;
9
9
  child(bindings: object): pino.Logger;
10
+ access(payload: object): void;
10
11
  }
11
12
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,qBACa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAE9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM;IAItD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKvC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;CAG5C"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAIvB,qBACa,MAAM;IAEjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IAE9B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM;IAItD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAItC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAKvC,KAAK,CAAC,OAAO,EAAE,MAAM;IAIrB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM;IAGpC,MAAM,CAAC,OAAO,EAAE,MAAM;CAG9B"}
@@ -36,6 +36,9 @@ let Logger = class Logger {
36
36
  child(bindings) {
37
37
  return this.logger.child(bindings);
38
38
  }
39
+ access(payload) {
40
+ this.logger.info({ ...payload, logType: 'access' }, 'Access Log');
41
+ }
39
42
  };
40
43
  exports.Logger = Logger;
41
44
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uDAAgD;AAChD,qCAA+C;AAGxC,IAAM,MAAM,GAAZ,MAAM,MAAM;IAIV,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAgB;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAgB;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;IAED,8EAA8E;IACvE,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;IACjE,CAAC;IAEM,KAAK,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;CACF,CAAA;AA5BY,wBAAM;AAEA;IADhB,IAAA,gBAAS,EAAC,8BAAY,CAAC;;sCACa;iBAF1B,MAAM;IADlB,IAAA,cAAO,GAAE;GACG,MAAM,CA4BlB"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logging/core/logger.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,uDAAgD;AAChD,qCAA+C;AAGxC,IAAM,MAAM,GAAZ,MAAM,MAAM;IAIV,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,OAAgB;QAC3D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;IAEM,IAAI,CAAC,OAAe,EAAE,OAAgB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,OAAgB;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,OAAO,CAAC,CAAA;IACpE,CAAC;IAED,8EAA8E;IACvE,KAAK,CAAC,OAAe;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAA;IACjE,CAAC;IAEM,KAAK,CAAC,QAAgB;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IACpC,CAAC;IACM,MAAM,CAAC,OAAe;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,YAAY,CAAC,CAAA;IACnE,CAAC;CACF,CAAA;AA/BY,wBAAM;AAEA;IADhB,IAAA,gBAAS,EAAC,8BAAY,CAAC;;sCACa;iBAF1B,MAAM;IADlB,IAAA,cAAO,GAAE;GACG,MAAM,CA+BlB"}
@@ -1,4 +1,6 @@
1
1
  import { FastifyRequest, FastifyReply } from 'fastify';
2
+ import { Logger } from '../logging';
2
3
  export declare const requestLoggerOnRequest: (req: FastifyRequest, reply: FastifyReply, done: Function) => void;
3
4
  export declare const requestLoggerOnResponse: (req: FastifyRequest, reply: FastifyReply, done: Function) => void;
5
+ export declare const createRequestLoggerOnResponse: (logger: Logger) => (req: FastifyRequest, reply: FastifyReply, done: Function) => void;
4
6
  //# sourceMappingURL=request-logger.middleware.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-logger.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/request-logger.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,sBAAsB,GACjC,KAAK,cAAc,EACnB,OAAO,YAAY,EACnB,MAAM,QAAQ,SAIf,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,KAAK,cAAc,EACnB,OAAO,YAAY,EACnB,MAAM,QAAQ,SAWf,CAAA"}
1
+ {"version":3,"file":"request-logger.middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/request-logger.middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,eAAO,MAAM,sBAAsB,GACjC,KAAK,cAAc,EACnB,OAAO,YAAY,EACnB,MAAM,QAAQ,SAIf,CAAA;AAED,eAAO,MAAM,uBAAuB,GAClC,KAAK,cAAc,EACnB,OAAO,YAAY,EACnB,MAAM,QAAQ,SAWf,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAI,QAAQ,MAAM,MAClD,KAAK,cAAc,EAAE,OAAO,YAAY,EAAE,MAAM,QAAQ,SAkBjE,CAAA"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.requestLoggerOnResponse = exports.requestLoggerOnRequest = void 0;
3
+ exports.createRequestLoggerOnResponse = exports.requestLoggerOnResponse = exports.requestLoggerOnRequest = void 0;
4
4
  const requestLoggerOnRequest = (req, reply, done) => {
5
5
  req.log.info({ req }, `--> Inbound Request`);
6
6
  done();
@@ -15,4 +15,25 @@ const requestLoggerOnResponse = (req, reply, done) => {
15
15
  done();
16
16
  };
17
17
  exports.requestLoggerOnResponse = requestLoggerOnResponse;
18
+ const createRequestLoggerOnResponse = (logger) => {
19
+ return (req, reply, done) => {
20
+ const payload = {
21
+ requestId: req.id,
22
+ method: req.method,
23
+ url: req.url,
24
+ // requestBody: req.body,
25
+ // responseBody: reply.body, // might not be available in all cases
26
+ statusCode: reply.statusCode,
27
+ latencyMs: Number(reply.elapsedTime.toFixed(3)),
28
+ timestamp: new Date().toISOString(),
29
+ logType: 'access',
30
+ userAgent: req.headers['user-agent'],
31
+ ipAddress: req.ip,
32
+ // headers: req.headers,
33
+ };
34
+ logger.access(payload);
35
+ done();
36
+ };
37
+ };
38
+ exports.createRequestLoggerOnResponse = createRequestLoggerOnResponse;
18
39
  //# sourceMappingURL=request-logger.middleware.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-logger.middleware.js","sourceRoot":"","sources":["../../src/middleware/request-logger.middleware.ts"],"names":[],"mappings":";;;AAEO,MAAM,sBAAsB,GAAG,CACpC,GAAmB,EACnB,KAAmB,EACnB,IAAc,EACd,EAAE;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;IAC5C,IAAI,EAAE,CAAA;AACR,CAAC,CAAA;AAPY,QAAA,sBAAsB,0BAOlC;AAEM,MAAM,uBAAuB,GAAG,CACrC,GAAmB,EACnB,KAAmB,EACnB,IAAc,EACd,EAAE;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CACV;QACE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG;QAChB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU;QAChC,UAAU,EAAE,KAAK,CAAC,WAAW;KAC9B,EACD,uBAAuB,CACxB,CAAA;IACD,IAAI,EAAE,CAAA;AACR,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC"}
1
+ {"version":3,"file":"request-logger.middleware.js","sourceRoot":"","sources":["../../src/middleware/request-logger.middleware.ts"],"names":[],"mappings":";;;AAGO,MAAM,sBAAsB,GAAG,CACpC,GAAmB,EACnB,KAAmB,EACnB,IAAc,EACd,EAAE;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,qBAAqB,CAAC,CAAA;IAC5C,IAAI,EAAE,CAAA;AACR,CAAC,CAAA;AAPY,QAAA,sBAAsB,0BAOlC;AAEM,MAAM,uBAAuB,GAAG,CACrC,GAAmB,EACnB,KAAmB,EACnB,IAAc,EACd,EAAE;IACF,GAAG,CAAC,GAAG,CAAC,IAAI,CACV;QACE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG;QAChB,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,UAAU;QAChC,UAAU,EAAE,KAAK,CAAC,WAAW;KAC9B,EACD,uBAAuB,CACxB,CAAA;IACD,IAAI,EAAE,CAAA;AACR,CAAC,CAAA;AAdY,QAAA,uBAAuB,2BAcnC;AAEM,MAAM,6BAA6B,GAAG,CAAC,MAAc,EAAE,EAAE;IAC9D,OAAO,CAAC,GAAmB,EAAE,KAAmB,EAAE,IAAc,EAAE,EAAE;QAClE,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,2BAA2B;YAC3B,qEAAqE;YACrE,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC/C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC;YACpC,SAAS,EAAE,GAAG,CAAC,EAAE;YACjB,0BAA0B;SAC3B,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACtB,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC,CAAA;AAnBY,QAAA,6BAA6B,iCAmBzC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "bootifyjs",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "keywords": [],
5
- "author": "",
5
+ "author": "Piyush Priyadarshi",
6
6
  "license": "ISC",
7
7
  "description": "",
8
8
  "main": "dist/index.js",
@@ -41,6 +41,11 @@
41
41
  "import": "./dist/logging/index.js",
42
42
  "require": "./dist/logging/index.js",
43
43
  "types": "./dist/logging/index.d.ts"
44
+ },
45
+ "./config": {
46
+ "import": "./dist/config/index.js",
47
+ "require": "./dist/config/index.js",
48
+ "types": "./dist/config/index.d.ts"
44
49
  }
45
50
  },
46
51
  "dependencies": {
@@ -59,5 +64,9 @@
59
64
  "pino-pretty": "^13.0.0",
60
65
  "ts-node": "^10.9.2",
61
66
  "typescript": "^5.8.3"
67
+ },
68
+ "repository": {
69
+ "type": "git",
70
+ "url": "https://github.com/piyushpriyadarshi/bootifyjs.git"
62
71
  }
63
72
  }