@naman_deep_singh/server-utils 1.0.4 → 1.0.5
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/dist/index.d.ts +2 -0
- package/dist/index.js +4 -1
- package/dist/server.js +11 -0
- package/dist/types.d.ts +1 -0
- package/package.json +7 -2
- package/src/index.ts +4 -0
- package/src/server.ts +11 -0
- package/src/types.ts +1 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { ExpressServer, createServer } from './server';
|
|
2
2
|
export type { ServerInstance, ServerInfo, GrpcService, RpcMethod, WebhookConfig } from './server';
|
|
3
|
+
export { Request, Response, NextFunction, Router, Application } from 'express';
|
|
4
|
+
export type { RequestHandler, ErrorRequestHandler } from 'express';
|
|
3
5
|
export { createHealthCheck, withHealthCheck, addHealthCheck } from './health';
|
|
4
6
|
export { createGracefulShutdown, withGracefulShutdown, startServerWithShutdown } from './shutdown';
|
|
5
7
|
export { createLoggingMiddleware, createErrorHandler, createRequestIdMiddleware, createValidationMiddleware, createRateLimitMiddleware, createAuthMiddleware, withLogging, withErrorHandler, withRequestId, withValidation, withRateLimit, withAuth, validateFields, rateLimit, requireAuth, type ValidationRule, type RateLimitConfig, type AuthConfig } from './middleware';
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getEnvBoolean = exports.getEnvNumber = exports.getEnv = exports.requireAuth = exports.rateLimit = exports.validateFields = exports.withAuth = exports.withRateLimit = exports.withValidation = exports.withRequestId = exports.withErrorHandler = exports.withLogging = exports.createAuthMiddleware = exports.createRateLimitMiddleware = exports.createValidationMiddleware = exports.createRequestIdMiddleware = exports.createErrorHandler = exports.createLoggingMiddleware = exports.startServerWithShutdown = exports.withGracefulShutdown = exports.createGracefulShutdown = exports.addHealthCheck = exports.withHealthCheck = exports.createHealthCheck = exports.createServer = exports.ExpressServer = void 0;
|
|
3
|
+
exports.getEnvBoolean = exports.getEnvNumber = exports.getEnv = exports.requireAuth = exports.rateLimit = exports.validateFields = exports.withAuth = exports.withRateLimit = exports.withValidation = exports.withRequestId = exports.withErrorHandler = exports.withLogging = exports.createAuthMiddleware = exports.createRateLimitMiddleware = exports.createValidationMiddleware = exports.createRequestIdMiddleware = exports.createErrorHandler = exports.createLoggingMiddleware = exports.startServerWithShutdown = exports.withGracefulShutdown = exports.createGracefulShutdown = exports.addHealthCheck = exports.withHealthCheck = exports.createHealthCheck = exports.Router = exports.createServer = exports.ExpressServer = void 0;
|
|
4
4
|
// Core server utilities
|
|
5
5
|
var server_1 = require("./server");
|
|
6
6
|
Object.defineProperty(exports, "ExpressServer", { enumerable: true, get: function () { return server_1.ExpressServer; } });
|
|
7
7
|
Object.defineProperty(exports, "createServer", { enumerable: true, get: function () { return server_1.createServer; } });
|
|
8
|
+
// Express re-exports (to avoid direct Express dependency in services)
|
|
9
|
+
var express_1 = require("express");
|
|
10
|
+
Object.defineProperty(exports, "Router", { enumerable: true, get: function () { return express_1.Router; } });
|
|
8
11
|
// Health check utilities
|
|
9
12
|
var health_1 = require("./health");
|
|
10
13
|
Object.defineProperty(exports, "createHealthCheck", { enumerable: true, get: function () { return health_1.createHealthCheck; } });
|
package/dist/server.js
CHANGED
|
@@ -22,6 +22,7 @@ class ExpressServer {
|
|
|
22
22
|
cors: config.cors ?? true,
|
|
23
23
|
helmet: config.helmet ?? true,
|
|
24
24
|
json: config.json ?? true,
|
|
25
|
+
cookieParser: config.cookieParser ?? false,
|
|
25
26
|
customMiddleware: config.customMiddleware || [],
|
|
26
27
|
healthCheck: config.healthCheck ?? true,
|
|
27
28
|
gracefulShutdown: config.gracefulShutdown ?? true,
|
|
@@ -56,6 +57,16 @@ class ExpressServer {
|
|
|
56
57
|
if (this.config.json) {
|
|
57
58
|
this.app.use(express_1.default.json());
|
|
58
59
|
}
|
|
60
|
+
// Apply cookie parser if enabled
|
|
61
|
+
if (this.config.cookieParser) {
|
|
62
|
+
try {
|
|
63
|
+
const cookieParser = require('cookie-parser');
|
|
64
|
+
this.app.use(cookieParser());
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
console.warn(`${this.config.name}: Cookie parser middleware not available. Install cookie-parser package.`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
59
70
|
// Apply custom middleware
|
|
60
71
|
if (this.config.customMiddleware && this.config.customMiddleware.length > 0) {
|
|
61
72
|
this.config.customMiddleware.forEach(middleware => {
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naman_deep_singh/server-utils",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Extensible server utilities for Express.js microservices with TypeScript",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,10 +18,15 @@
|
|
|
18
18
|
"license": "ISC",
|
|
19
19
|
"packageManager": "pnpm@10.20.0",
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"express": "^5.1.0"
|
|
21
|
+
"express": "^5.1.0",
|
|
22
|
+
"cors": "^2.8.5",
|
|
23
|
+
"helmet": "^8.1.0",
|
|
24
|
+
"cookie-parser": "^1.4.6"
|
|
22
25
|
},
|
|
23
26
|
"devDependencies": {
|
|
24
27
|
"@types/express": "^5.0.5",
|
|
28
|
+
"@types/cors": "^2.8.19",
|
|
29
|
+
"@types/cookie-parser": "^1.4.7",
|
|
25
30
|
"typescript": "^5.9.3"
|
|
26
31
|
}
|
|
27
32
|
}
|
package/src/index.ts
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
export { ExpressServer, createServer } from './server';
|
|
3
3
|
export type { ServerInstance, ServerInfo, GrpcService, RpcMethod, WebhookConfig } from './server';
|
|
4
4
|
|
|
5
|
+
// Express re-exports (to avoid direct Express dependency in services)
|
|
6
|
+
export { Request, Response, NextFunction, Router, Application } from 'express';
|
|
7
|
+
export type { RequestHandler, ErrorRequestHandler } from 'express';
|
|
8
|
+
|
|
5
9
|
// Health check utilities
|
|
6
10
|
export { createHealthCheck, withHealthCheck, addHealthCheck } from './health';
|
|
7
11
|
|
package/src/server.ts
CHANGED
|
@@ -83,6 +83,7 @@ export class ExpressServer implements ServerInstance {
|
|
|
83
83
|
cors: config.cors ?? true,
|
|
84
84
|
helmet: config.helmet ?? true,
|
|
85
85
|
json: config.json ?? true,
|
|
86
|
+
cookieParser: config.cookieParser ?? false,
|
|
86
87
|
customMiddleware: config.customMiddleware || [],
|
|
87
88
|
healthCheck: config.healthCheck ?? true,
|
|
88
89
|
gracefulShutdown: config.gracefulShutdown ?? true,
|
|
@@ -120,6 +121,16 @@ export class ExpressServer implements ServerInstance {
|
|
|
120
121
|
this.app.use(express.json());
|
|
121
122
|
}
|
|
122
123
|
|
|
124
|
+
// Apply cookie parser if enabled
|
|
125
|
+
if (this.config.cookieParser) {
|
|
126
|
+
try {
|
|
127
|
+
const cookieParser = require('cookie-parser');
|
|
128
|
+
this.app.use(cookieParser());
|
|
129
|
+
} catch (error) {
|
|
130
|
+
console.warn(`${this.config.name}: Cookie parser middleware not available. Install cookie-parser package.`);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
123
134
|
// Apply custom middleware
|
|
124
135
|
if (this.config.customMiddleware && this.config.customMiddleware.length > 0) {
|
|
125
136
|
this.config.customMiddleware.forEach(middleware => {
|
package/src/types.ts
CHANGED