wnodex 0.1.0 → 0.2.2
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/.turbo/turbo-build.log +7 -0
- package/LICENSE +1 -1
- package/README.md +73 -67
- package/dist/{schemas/wnodex-config.d.ts → config.d.ts} +14 -9
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +22 -0
- package/dist/index.d.ts +68 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -41
- package/dist/setup-config.d.ts +3 -0
- package/dist/setup-config.d.ts.map +1 -0
- package/dist/setup-config.js +9 -0
- package/dist/setup-middlewares.d.ts +4 -0
- package/dist/setup-middlewares.d.ts.map +1 -0
- package/dist/setup-middlewares.js +32 -0
- package/package.json +51 -15
- package/rolldown.config.ts +20 -0
- package/src/config.ts +27 -0
- package/src/index.ts +149 -38
- package/src/setup-config.ts +17 -0
- package/src/setup-middlewares.ts +49 -0
- package/tests/body-parser.schema.test.ts +57 -0
- package/tests/compression.schema.test.ts +27 -0
- package/tests/cookie-parser.schema.test.ts +56 -0
- package/tests/cors.schema.test.ts +35 -0
- package/tests/helmet.schema.test.ts +33 -0
- package/tests/hpp.schema.test.ts +31 -0
- package/tests/index.test.ts +105 -0
- package/tests/passport.schema.test.ts +33 -0
- package/tests/rate-limit.schema.test.ts +56 -0
- package/tests/session.schema.test.ts +80 -0
- package/tsconfig.json +8 -8
- package/vitest.config.ts +13 -0
- package/dist/consts/cors.d.ts +0 -15
- package/dist/consts/cors.d.ts.map +0 -1
- package/dist/consts/cors.js +0 -29
- package/dist/consts/error-codes.d.ts +0 -10
- package/dist/consts/error-codes.d.ts.map +0 -1
- package/dist/consts/error-codes.js +0 -12
- package/dist/consts/index.d.ts +0 -8
- package/dist/consts/index.d.ts.map +0 -1
- package/dist/consts/index.js +0 -10
- package/dist/consts/log-levels.d.ts +0 -8
- package/dist/consts/log-levels.d.ts.map +0 -1
- package/dist/consts/log-levels.js +0 -10
- package/dist/consts/node-env.d.ts +0 -7
- package/dist/consts/node-env.d.ts.map +0 -1
- package/dist/consts/node-env.js +0 -9
- package/dist/consts/port.d.ts +0 -6
- package/dist/consts/port.d.ts.map +0 -1
- package/dist/consts/port.js +0 -26
- package/dist/consts/rate-limit.d.ts +0 -9
- package/dist/consts/rate-limit.d.ts.map +0 -1
- package/dist/consts/rate-limit.js +0 -11
- package/dist/consts/session.d.ts +0 -6
- package/dist/consts/session.d.ts.map +0 -1
- package/dist/consts/session.js +0 -8
- package/dist/errors/base-error.d.ts +0 -57
- package/dist/errors/base-error.d.ts.map +0 -1
- package/dist/errors/base-error.js +0 -93
- package/dist/errors/config-error.d.ts +0 -20
- package/dist/errors/config-error.d.ts.map +0 -1
- package/dist/errors/config-error.js +0 -30
- package/dist/errors/http-error.d.ts +0 -17
- package/dist/errors/http-error.d.ts.map +0 -1
- package/dist/errors/http-error.js +0 -24
- package/dist/errors/index.d.ts +0 -5
- package/dist/errors/index.d.ts.map +0 -1
- package/dist/errors/index.js +0 -7
- package/dist/errors/validation-error.d.ts +0 -19
- package/dist/errors/validation-error.d.ts.map +0 -1
- package/dist/errors/validation-error.js +0 -29
- package/dist/helpers/get-node-env.d.ts +0 -13
- package/dist/helpers/get-node-env.d.ts.map +0 -1
- package/dist/helpers/get-node-env.js +0 -27
- package/dist/helpers/index.d.ts +0 -5
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/index.js +0 -7
- package/dist/helpers/is-development.d.ts +0 -9
- package/dist/helpers/is-development.d.ts.map +0 -1
- package/dist/helpers/is-development.js +0 -16
- package/dist/helpers/setup-config.d.ts +0 -12
- package/dist/helpers/setup-config.d.ts.map +0 -1
- package/dist/helpers/setup-config.js +0 -21
- package/dist/helpers/setup-middlewares.d.ts +0 -12
- package/dist/helpers/setup-middlewares.d.ts.map +0 -1
- package/dist/helpers/setup-middlewares.js +0 -45
- package/dist/logger.d.ts +0 -3
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -21
- package/dist/middlewares/compression.d.ts +0 -18
- package/dist/middlewares/compression.d.ts.map +0 -1
- package/dist/middlewares/compression.js +0 -26
- package/dist/middlewares/cookie-parser.ts.d.ts +0 -20
- package/dist/middlewares/cookie-parser.ts.d.ts.map +0 -1
- package/dist/middlewares/cookie-parser.ts.js +0 -33
- package/dist/middlewares/cors.d.ts +0 -22
- package/dist/middlewares/cors.d.ts.map +0 -1
- package/dist/middlewares/cors.js +0 -34
- package/dist/middlewares/error-handler.d.ts +0 -21
- package/dist/middlewares/error-handler.d.ts.map +0 -1
- package/dist/middlewares/error-handler.js +0 -43
- package/dist/middlewares/helmet.d.ts +0 -16
- package/dist/middlewares/helmet.d.ts.map +0 -1
- package/dist/middlewares/helmet.js +0 -28
- package/dist/middlewares/hpp.d.ts +0 -18
- package/dist/middlewares/hpp.d.ts.map +0 -1
- package/dist/middlewares/hpp.js +0 -30
- package/dist/middlewares/index.d.ts +0 -10
- package/dist/middlewares/index.d.ts.map +0 -1
- package/dist/middlewares/index.js +0 -12
- package/dist/middlewares/passport.d.ts +0 -16
- package/dist/middlewares/passport.d.ts.map +0 -1
- package/dist/middlewares/passport.js +0 -27
- package/dist/middlewares/rate-limit.d.ts +0 -23
- package/dist/middlewares/rate-limit.d.ts.map +0 -1
- package/dist/middlewares/rate-limit.js +0 -35
- package/dist/middlewares/session.d.ts +0 -16
- package/dist/middlewares/session.d.ts.map +0 -1
- package/dist/middlewares/session.js +0 -23
- package/dist/schemas/compression.d.ts +0 -5
- package/dist/schemas/compression.d.ts.map +0 -1
- package/dist/schemas/compression.js +0 -5
- package/dist/schemas/cookie-parser.d.ts +0 -9
- package/dist/schemas/cookie-parser.d.ts.map +0 -1
- package/dist/schemas/cookie-parser.js +0 -14
- package/dist/schemas/cors.d.ts +0 -6
- package/dist/schemas/cors.d.ts.map +0 -1
- package/dist/schemas/cors.js +0 -9
- package/dist/schemas/error-metadata.d.ts +0 -18
- package/dist/schemas/error-metadata.d.ts.map +0 -1
- package/dist/schemas/error-metadata.js +0 -12
- package/dist/schemas/helmet.d.ts +0 -6
- package/dist/schemas/helmet.d.ts.map +0 -1
- package/dist/schemas/helmet.js +0 -8
- package/dist/schemas/hpp.d.ts +0 -5
- package/dist/schemas/hpp.d.ts.map +0 -1
- package/dist/schemas/hpp.js +0 -8
- package/dist/schemas/index.d.ts +0 -13
- package/dist/schemas/index.d.ts.map +0 -1
- package/dist/schemas/index.js +0 -15
- package/dist/schemas/node-env.d.ts +0 -16
- package/dist/schemas/node-env.d.ts.map +0 -1
- package/dist/schemas/node-env.js +0 -8
- package/dist/schemas/passport.d.ts +0 -6
- package/dist/schemas/passport.d.ts.map +0 -1
- package/dist/schemas/passport.js +0 -8
- package/dist/schemas/port.d.ts +0 -4
- package/dist/schemas/port.d.ts.map +0 -1
- package/dist/schemas/port.js +0 -16
- package/dist/schemas/rate-limit.d.ts +0 -9
- package/dist/schemas/rate-limit.d.ts.map +0 -1
- package/dist/schemas/rate-limit.js +0 -26
- package/dist/schemas/session.d.ts +0 -18
- package/dist/schemas/session.d.ts.map +0 -1
- package/dist/schemas/session.js +0 -32
- package/dist/schemas/wnodex-config.d.ts.map +0 -1
- package/dist/schemas/wnodex-config.js +0 -24
- package/dist/tsconfig.lib.tsbuildinfo +0 -1
- package/dist/wnodex.d.ts +0 -69
- package/dist/wnodex.d.ts.map +0 -1
- package/dist/wnodex.js +0 -131
- package/src/consts/cors.ts +0 -27
- package/src/consts/error-codes.ts +0 -9
- package/src/consts/index.ts +0 -7
- package/src/consts/log-levels.ts +0 -7
- package/src/consts/node-env.ts +0 -6
- package/src/consts/port.ts +0 -23
- package/src/consts/rate-limit.ts +0 -9
- package/src/consts/session.ts +0 -6
- package/src/errors/base-error.ts +0 -111
- package/src/errors/config-error.ts +0 -31
- package/src/errors/http-error.ts +0 -21
- package/src/errors/index.ts +0 -4
- package/src/errors/validation-error.ts +0 -30
- package/src/helpers/get-node-env.ts +0 -27
- package/src/helpers/index.ts +0 -4
- package/src/helpers/is-development.ts +0 -15
- package/src/helpers/setup-config.ts +0 -25
- package/src/helpers/setup-middlewares.ts +0 -56
- package/src/logger.ts +0 -22
- package/src/middlewares/compression.ts +0 -32
- package/src/middlewares/cookie-parser.ts.ts +0 -37
- package/src/middlewares/cors.ts +0 -35
- package/src/middlewares/error-handler.ts +0 -54
- package/src/middlewares/helmet.ts +0 -29
- package/src/middlewares/hpp.ts +0 -31
- package/src/middlewares/index.ts +0 -9
- package/src/middlewares/passport.ts +0 -30
- package/src/middlewares/rate-limit.ts +0 -39
- package/src/middlewares/session.ts +0 -25
- package/src/schemas/compression.ts +0 -8
- package/src/schemas/cookie-parser.ts +0 -21
- package/src/schemas/cors.ts +0 -13
- package/src/schemas/error-metadata.ts +0 -15
- package/src/schemas/helmet.ts +0 -11
- package/src/schemas/hpp.ts +0 -9
- package/src/schemas/index.ts +0 -12
- package/src/schemas/node-env.ts +0 -11
- package/src/schemas/passport.ts +0 -11
- package/src/schemas/port.ts +0 -22
- package/src/schemas/rate-limit.ts +0 -33
- package/src/schemas/session.ts +0 -40
- package/src/schemas/wnodex-config.ts +0 -26
- package/src/wnodex.ts +0 -152
- package/tsconfig.lib.json +0 -13
- package/tsconfig.tsbuildinfo +0 -1
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseError = void 0;
|
|
4
|
-
const error_metadata_js_1 = require("../schemas/error-metadata.js");
|
|
5
|
-
/**
|
|
6
|
-
* Base class for all custom application errors.
|
|
7
|
-
* Extends the native `Error` to preserve stack traces and adds structured, validated metadata.
|
|
8
|
-
*
|
|
9
|
-
* Provides consistent error information for debugging and structured logging.
|
|
10
|
-
*/
|
|
11
|
-
class BaseError extends Error {
|
|
12
|
-
/**
|
|
13
|
-
* The machine-readable error code, suitable for programmatic handling.
|
|
14
|
-
* @readonly
|
|
15
|
-
*/
|
|
16
|
-
code;
|
|
17
|
-
/**
|
|
18
|
-
* The optional cause that triggered this error instance.
|
|
19
|
-
* May be any value, but usually another Error object for chained errors.
|
|
20
|
-
* @override
|
|
21
|
-
* @readonly
|
|
22
|
-
*/
|
|
23
|
-
cause;
|
|
24
|
-
/**
|
|
25
|
-
* Additional error context for debugging (may contain any serializable data).
|
|
26
|
-
* @readonly
|
|
27
|
-
*/
|
|
28
|
-
context;
|
|
29
|
-
/**
|
|
30
|
-
* Constructs a new instance of BaseError.
|
|
31
|
-
* Validates the provided metadata to ensure it matches the ErrorMetadataSchema.
|
|
32
|
-
* @param message The human-readable error message.
|
|
33
|
-
* @param metadata Structured metadata for this error instance. It will be validated.
|
|
34
|
-
* @throws {Error} Throws if the metadata is invalid according to ErrorMetadataSchema.
|
|
35
|
-
* @example
|
|
36
|
-
* const err = new BaseError('User not found', { code: 'USER_NOT_FOUND' });
|
|
37
|
-
*/
|
|
38
|
-
constructor(message, metadata) {
|
|
39
|
-
super(message);
|
|
40
|
-
// Sets the name property to the actual class name (useful with inheritance).
|
|
41
|
-
this.name = new.target.name;
|
|
42
|
-
const validatedMetadata = this.validateMetadata(metadata, message);
|
|
43
|
-
this.code = validatedMetadata.code;
|
|
44
|
-
this.cause = validatedMetadata.cause;
|
|
45
|
-
this.context = validatedMetadata.context;
|
|
46
|
-
// Ensures proper prototype chain for custom errors (required for ES5/TypeScript).
|
|
47
|
-
Object.setPrototypeOf(this, new.target.prototype);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Validates the error metadata using ErrorMetadataSchema.
|
|
51
|
-
* Throws a clear error if validation fails, including the original Zod error as the cause.
|
|
52
|
-
* @param input The raw metadata input.
|
|
53
|
-
* @param parentErrorMessage The message of the error being constructed, for improved diagnostics.
|
|
54
|
-
* @returns {ErrorMetadataOutput} Parsed and validated metadata.
|
|
55
|
-
* @throws {Error} If the metadata does not pass validation.
|
|
56
|
-
* @example
|
|
57
|
-
* this.validateMetadata({ code: 'INVALID', context: { foo: 42 } }, 'Something failed');
|
|
58
|
-
*/
|
|
59
|
-
validateMetadata(input, parentErrorMessage) {
|
|
60
|
-
const result = error_metadata_js_1.ErrorMetadataSchema.safeParse(input);
|
|
61
|
-
if (!result.success) {
|
|
62
|
-
const errorMessage = `Invalid metadata provided for error "${parentErrorMessage}" (Code: ${input.code || 'N/A'}).`;
|
|
63
|
-
throw new Error(errorMessage, { cause: result.error });
|
|
64
|
-
}
|
|
65
|
-
return result.data;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Returns a plain object representation of the error,
|
|
69
|
-
* useful for structured logging, serialization, or external error reporting.
|
|
70
|
-
* Nested error causes include their name, message, and stack trace.
|
|
71
|
-
* @returns {object} A plain, serializable object representing this error.
|
|
72
|
-
* @example
|
|
73
|
-
* JSON.stringify(err.toJSON());
|
|
74
|
-
*/
|
|
75
|
-
toJSON() {
|
|
76
|
-
const normalizedCause = this.cause instanceof Error
|
|
77
|
-
? {
|
|
78
|
-
name: this.cause.name,
|
|
79
|
-
message: this.cause.message,
|
|
80
|
-
stack: this.cause.stack,
|
|
81
|
-
}
|
|
82
|
-
: this.cause;
|
|
83
|
-
return {
|
|
84
|
-
name: this.name,
|
|
85
|
-
message: this.message,
|
|
86
|
-
code: this.code,
|
|
87
|
-
cause: normalizedCause,
|
|
88
|
-
context: this.context,
|
|
89
|
-
stack: this.stack,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
exports.BaseError = BaseError;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { BaseError } from './base-error.js';
|
|
2
|
-
/**
|
|
3
|
-
* Custom error class for configuration failures.
|
|
4
|
-
* Represents issues occurring during loading, parsing, or applying application configuration.
|
|
5
|
-
* Automatically sets the error code to `"CONFIG_ERROR"`. Useful for problems involving environment
|
|
6
|
-
* variables, config files, or settings.
|
|
7
|
-
*/
|
|
8
|
-
export declare class ConfigError extends BaseError {
|
|
9
|
-
/**
|
|
10
|
-
* Constructs a new ConfigError instance.
|
|
11
|
-
* @param message The human-readable error message describing the configuration problem.
|
|
12
|
-
* @param cause Optional original error or value that triggered the configuration failure, such as a file system or validation error.
|
|
13
|
-
* @param context Optional additional context data, such as the config file path, setting name, or problematic value.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* throw new ConfigError('Failed to load config file', readError, { file: './config.json' });
|
|
17
|
-
*/
|
|
18
|
-
constructor(message: string, cause?: unknown, context?: Record<string | number | symbol, unknown>);
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=config-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-error.d.ts","sourceRoot":"","sources":["../../src/errors/config-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,SAAS;IACxC;;;;;;;;OAQG;gBAED,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;CAQtD"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConfigError = void 0;
|
|
4
|
-
const error_codes_js_1 = require("../consts/error-codes.js");
|
|
5
|
-
const base_error_js_1 = require("./base-error.js");
|
|
6
|
-
/**
|
|
7
|
-
* Custom error class for configuration failures.
|
|
8
|
-
* Represents issues occurring during loading, parsing, or applying application configuration.
|
|
9
|
-
* Automatically sets the error code to `"CONFIG_ERROR"`. Useful for problems involving environment
|
|
10
|
-
* variables, config files, or settings.
|
|
11
|
-
*/
|
|
12
|
-
class ConfigError extends base_error_js_1.BaseError {
|
|
13
|
-
/**
|
|
14
|
-
* Constructs a new ConfigError instance.
|
|
15
|
-
* @param message The human-readable error message describing the configuration problem.
|
|
16
|
-
* @param cause Optional original error or value that triggered the configuration failure, such as a file system or validation error.
|
|
17
|
-
* @param context Optional additional context data, such as the config file path, setting name, or problematic value.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* throw new ConfigError('Failed to load config file', readError, { file: './config.json' });
|
|
21
|
-
*/
|
|
22
|
-
constructor(message, cause, context) {
|
|
23
|
-
super(message, {
|
|
24
|
-
code: error_codes_js_1.ERROR_CODES.CONFIG_ERROR,
|
|
25
|
-
cause,
|
|
26
|
-
context,
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.ConfigError = ConfigError;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Custom HTTP error class with status code.
|
|
3
|
-
* Represents an HTTP error with both status code and message.
|
|
4
|
-
*/
|
|
5
|
-
export declare class HttpError extends Error {
|
|
6
|
-
readonly statusCode: number;
|
|
7
|
-
/**
|
|
8
|
-
* Creates an instance of HttpError.
|
|
9
|
-
* @param message Error message describing the problem.
|
|
10
|
-
* @param statusCode HTTP status code, default is 500.
|
|
11
|
-
* @example
|
|
12
|
-
* // Throws an error with 404 status code
|
|
13
|
-
* throw new HttpError('Not Found', 404);
|
|
14
|
-
*/
|
|
15
|
-
constructor(message: string, statusCode?: number);
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=http-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-error.d.ts","sourceRoot":"","sources":["../../src/errors/http-error.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC;;;;;;;OAOG;gBACS,OAAO,EAAE,MAAM,EAAE,UAAU,SAAM;CAK9C"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HttpError = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Custom HTTP error class with status code.
|
|
6
|
-
* Represents an HTTP error with both status code and message.
|
|
7
|
-
*/
|
|
8
|
-
class HttpError extends Error {
|
|
9
|
-
statusCode;
|
|
10
|
-
/**
|
|
11
|
-
* Creates an instance of HttpError.
|
|
12
|
-
* @param message Error message describing the problem.
|
|
13
|
-
* @param statusCode HTTP status code, default is 500.
|
|
14
|
-
* @example
|
|
15
|
-
* // Throws an error with 404 status code
|
|
16
|
-
* throw new HttpError('Not Found', 404);
|
|
17
|
-
*/
|
|
18
|
-
constructor(message, statusCode = 500) {
|
|
19
|
-
super(message);
|
|
20
|
-
this.statusCode = statusCode;
|
|
21
|
-
this.name = this.constructor.name;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
exports.HttpError = HttpError;
|
package/dist/errors/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
package/dist/errors/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./base-error.js"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./config-error.js"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./http-error.js"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./validation-error.js"), exports);
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { BaseError } from './base-error.js';
|
|
2
|
-
/**
|
|
3
|
-
* Custom error class for validation failures.
|
|
4
|
-
* Used for input errors, schema violations, or data integrity issues.
|
|
5
|
-
* Automatically sets the error code to `"VALIDATION_ERROR"` to allow standard handling of validation errors.
|
|
6
|
-
*/
|
|
7
|
-
export declare class ValidationError extends BaseError {
|
|
8
|
-
/**
|
|
9
|
-
* Constructs a new ValidationError instance.
|
|
10
|
-
* @param message The human-readable error message describing what failed validation.
|
|
11
|
-
* @param cause Optional original error or value that caused the validation failure, such as a ZodError or validation detail.
|
|
12
|
-
* @param context Optional additional context data, for example the invalid field, config path, or offending input.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* throw new ValidationError('Invalid email format', zodResult.error, { field: 'email' });
|
|
16
|
-
*/
|
|
17
|
-
constructor(message: string, cause?: unknown, context?: Record<string | number | symbol, unknown>);
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=validation-error.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation-error.d.ts","sourceRoot":"","sources":["../../src/errors/validation-error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,qBAAa,eAAgB,SAAQ,SAAS;IAC5C;;;;;;;;OAQG;gBAED,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC;CAQtD"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ValidationError = void 0;
|
|
4
|
-
const error_codes_js_1 = require("../consts/error-codes.js");
|
|
5
|
-
const base_error_js_1 = require("./base-error.js");
|
|
6
|
-
/**
|
|
7
|
-
* Custom error class for validation failures.
|
|
8
|
-
* Used for input errors, schema violations, or data integrity issues.
|
|
9
|
-
* Automatically sets the error code to `"VALIDATION_ERROR"` to allow standard handling of validation errors.
|
|
10
|
-
*/
|
|
11
|
-
class ValidationError extends base_error_js_1.BaseError {
|
|
12
|
-
/**
|
|
13
|
-
* Constructs a new ValidationError instance.
|
|
14
|
-
* @param message The human-readable error message describing what failed validation.
|
|
15
|
-
* @param cause Optional original error or value that caused the validation failure, such as a ZodError or validation detail.
|
|
16
|
-
* @param context Optional additional context data, for example the invalid field, config path, or offending input.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* throw new ValidationError('Invalid email format', zodResult.error, { field: 'email' });
|
|
20
|
-
*/
|
|
21
|
-
constructor(message, cause, context) {
|
|
22
|
-
super(message, {
|
|
23
|
-
code: error_codes_js_1.ERROR_CODES.VALIDATION_ERROR,
|
|
24
|
-
cause,
|
|
25
|
-
context,
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
exports.ValidationError = ValidationError;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type NodeEnv } from '../schemas/node-env.js';
|
|
2
|
-
/**
|
|
3
|
-
* Parses the `NODE_ENV` environment variable from `process.env`.
|
|
4
|
-
* @returns {NodeEnv} The validated environment value.
|
|
5
|
-
* @throws {ValidationError} Thrown if `NODE_ENV` is invalid or not defined according to schema.
|
|
6
|
-
*
|
|
7
|
-
* @example
|
|
8
|
-
* // Example usage:
|
|
9
|
-
* const env = getNodeEnv();
|
|
10
|
-
* // env will be one of 'production', 'development', etc.
|
|
11
|
-
*/
|
|
12
|
-
export declare function getNodeEnv(): NodeEnv;
|
|
13
|
-
//# sourceMappingURL=get-node-env.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-node-env.d.ts","sourceRoot":"","sources":["../../src/helpers/get-node-env.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAiB,MAAM,wBAAwB,CAAC;AAErE;;;;;;;;;GASG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAYpC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNodeEnv = getNodeEnv;
|
|
4
|
-
const node_env_js_1 = require("../consts/node-env.js");
|
|
5
|
-
const validation_error_js_1 = require("../errors/validation-error.js");
|
|
6
|
-
const node_env_js_2 = require("../schemas/node-env.js");
|
|
7
|
-
/**
|
|
8
|
-
* Parses the `NODE_ENV` environment variable from `process.env`.
|
|
9
|
-
* @returns {NodeEnv} The validated environment value.
|
|
10
|
-
* @throws {ValidationError} Thrown if `NODE_ENV` is invalid or not defined according to schema.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* // Example usage:
|
|
14
|
-
* const env = getNodeEnv();
|
|
15
|
-
* // env will be one of 'production', 'development', etc.
|
|
16
|
-
*/
|
|
17
|
-
function getNodeEnv() {
|
|
18
|
-
const rawNodeEnv = process.env.NODE_ENV;
|
|
19
|
-
const result = node_env_js_2.NodeEnvSchema.safeParse(rawNodeEnv);
|
|
20
|
-
if (!result.success) {
|
|
21
|
-
throw new validation_error_js_1.ValidationError('Invalid Node Env', result.error, {
|
|
22
|
-
provided: rawNodeEnv,
|
|
23
|
-
expected: Object.values(node_env_js_1.NODE_ENV_VALUES).join('|'),
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return result.data;
|
|
27
|
-
}
|
package/dist/helpers/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
|
package/dist/helpers/index.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./get-node-env.js"), exports);
|
|
5
|
-
tslib_1.__exportStar(require("./is-development.js"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./setup-config.js"), exports);
|
|
7
|
-
tslib_1.__exportStar(require("./setup-middlewares.js"), exports);
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns true if process.env.NODE_ENV is set to 'development'.
|
|
3
|
-
* @returns {boolean} Returns `true` if the current Node environment is development, otherwise `false`.
|
|
4
|
-
*
|
|
5
|
-
* @example
|
|
6
|
-
* const dev = isDevelopment();
|
|
7
|
-
*/
|
|
8
|
-
export declare function isDevelopment(): boolean;
|
|
9
|
-
//# sourceMappingURL=is-development.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"is-development.d.ts","sourceRoot":"","sources":["../../src/helpers/is-development.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAIvC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isDevelopment = isDevelopment;
|
|
4
|
-
const node_env_js_1 = require("../consts/node-env.js");
|
|
5
|
-
const get_node_env_js_1 = require("./get-node-env.js");
|
|
6
|
-
/**
|
|
7
|
-
* Returns true if process.env.NODE_ENV is set to 'development'.
|
|
8
|
-
* @returns {boolean} Returns `true` if the current Node environment is development, otherwise `false`.
|
|
9
|
-
*
|
|
10
|
-
* @example
|
|
11
|
-
* const dev = isDevelopment();
|
|
12
|
-
*/
|
|
13
|
-
function isDevelopment() {
|
|
14
|
-
const nodeEnv = (0, get_node_env_js_1.getNodeEnv)();
|
|
15
|
-
return nodeEnv === node_env_js_1.NODE_ENV_VALUES.DEVELOPMENT;
|
|
16
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { WnodexConfigInput, WnodexConfigOutput } from '../schemas';
|
|
2
|
-
/**
|
|
3
|
-
* Validates the provided config using NodexConfigSchema.
|
|
4
|
-
* Throws ValidationError if validation fails.
|
|
5
|
-
* @param config Raw configuration input for Nodex.
|
|
6
|
-
* @returns Validated configuration.
|
|
7
|
-
* @throws {ConfigError} If configuration is invalid.
|
|
8
|
-
* @example
|
|
9
|
-
* const config = setupConfig(rawConfig);
|
|
10
|
-
*/
|
|
11
|
-
export declare function setupConfig(config: WnodexConfigInput): WnodexConfigOutput;
|
|
12
|
-
//# sourceMappingURL=setup-config.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-config.d.ts","sourceRoot":"","sources":["../../src/helpers/setup-config.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAEnB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,kBAAkB,CAQzE"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupConfig = setupConfig;
|
|
4
|
-
const config_error_js_1 = require("../errors/config-error.js");
|
|
5
|
-
const schemas_1 = require("../schemas");
|
|
6
|
-
/**
|
|
7
|
-
* Validates the provided config using NodexConfigSchema.
|
|
8
|
-
* Throws ValidationError if validation fails.
|
|
9
|
-
* @param config Raw configuration input for Nodex.
|
|
10
|
-
* @returns Validated configuration.
|
|
11
|
-
* @throws {ConfigError} If configuration is invalid.
|
|
12
|
-
* @example
|
|
13
|
-
* const config = setupConfig(rawConfig);
|
|
14
|
-
*/
|
|
15
|
-
function setupConfig(config) {
|
|
16
|
-
const result = schemas_1.WnodexConfigSchema.safeParse(config);
|
|
17
|
-
if (!result.success) {
|
|
18
|
-
throw new config_error_js_1.ConfigError('Invalid Nodex Configuration', result.error);
|
|
19
|
-
}
|
|
20
|
-
return result.data;
|
|
21
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type Application } from 'express';
|
|
2
|
-
import type { WnodexConfigOutput } from '../schemas/wnodex-config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Sets up Express middlewares for the application.
|
|
5
|
-
* Currently applies the helmet security middleware.
|
|
6
|
-
* @param app The express application instance.
|
|
7
|
-
* @param config The Nodex parsed config object.
|
|
8
|
-
* @example
|
|
9
|
-
* this.config = setupMiddlewares();
|
|
10
|
-
*/
|
|
11
|
-
export declare function setupMiddlewares(app: Application, config: WnodexConfigOutput): void;
|
|
12
|
-
//# sourceMappingURL=setup-middlewares.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup-middlewares.d.ts","sourceRoot":"","sources":["../../src/helpers/setup-middlewares.ts"],"names":[],"mappings":"AAAA,OAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAWpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,kBAAkB,GACzB,IAAI,CA+BN"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setupMiddlewares = setupMiddlewares;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const express_1 = tslib_1.__importDefault(require("express"));
|
|
6
|
-
const compression_js_1 = require("../middlewares/compression.js");
|
|
7
|
-
const cookie_parser_ts_js_1 = require("../middlewares/cookie-parser.ts.js");
|
|
8
|
-
const cors_js_1 = require("../middlewares/cors.js");
|
|
9
|
-
const error_handler_js_1 = require("../middlewares/error-handler.js");
|
|
10
|
-
const helmet_js_1 = require("../middlewares/helmet.js");
|
|
11
|
-
const hpp_js_1 = require("../middlewares/hpp.js");
|
|
12
|
-
const passport_js_1 = require("../middlewares/passport.js");
|
|
13
|
-
const rate_limit_js_1 = require("../middlewares/rate-limit.js");
|
|
14
|
-
const session_js_1 = require("../middlewares/session.js");
|
|
15
|
-
/**
|
|
16
|
-
* Sets up Express middlewares for the application.
|
|
17
|
-
* Currently applies the helmet security middleware.
|
|
18
|
-
* @param app The express application instance.
|
|
19
|
-
* @param config The Nodex parsed config object.
|
|
20
|
-
* @example
|
|
21
|
-
* this.config = setupMiddlewares();
|
|
22
|
-
*/
|
|
23
|
-
function setupMiddlewares(app, config) {
|
|
24
|
-
// Helmet
|
|
25
|
-
(0, helmet_js_1.configureHelmet)(app, config);
|
|
26
|
-
// CORS
|
|
27
|
-
(0, cors_js_1.configureCors)(app, config);
|
|
28
|
-
// Body Parsers
|
|
29
|
-
app.use(express_1.default.json());
|
|
30
|
-
app.use(express_1.default.urlencoded({ extended: true }));
|
|
31
|
-
// cookie-parser
|
|
32
|
-
(0, cookie_parser_ts_js_1.configureCookieParser)(app, config);
|
|
33
|
-
// compression
|
|
34
|
-
(0, compression_js_1.configureCompression)(app, config);
|
|
35
|
-
// express-rate-limit
|
|
36
|
-
(0, rate_limit_js_1.configureRateLimit)(app, config);
|
|
37
|
-
// hpp
|
|
38
|
-
(0, hpp_js_1.configureHpp)(app, config);
|
|
39
|
-
// express-session - Session management
|
|
40
|
-
(0, session_js_1.configureSession)(app, config);
|
|
41
|
-
// passport - Authentication middleware
|
|
42
|
-
(0, passport_js_1.configurePassport)(app, config);
|
|
43
|
-
// Error Handler (keep it last)
|
|
44
|
-
app.use(error_handler_js_1.errorHandler);
|
|
45
|
-
}
|
package/dist/logger.d.ts
DELETED
package/dist/logger.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,MAAM,CAAC;AAiBxB,eAAO,MAAM,MAAM,6BAEE,CAAC"}
|
package/dist/logger.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logger = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const pino_pretty_1 = tslib_1.__importDefault(require("pino-pretty"));
|
|
6
|
-
const pino_1 = tslib_1.__importDefault(require("pino"));
|
|
7
|
-
const log_levels_js_1 = require("./consts/log-levels.js");
|
|
8
|
-
const is_development_js_1 = require("./helpers/is-development.js");
|
|
9
|
-
const prettyStream = (0, pino_pretty_1.default)({
|
|
10
|
-
colorize: true,
|
|
11
|
-
levelFirst: true,
|
|
12
|
-
translateTime: true,
|
|
13
|
-
ignore: 'pid,hostname',
|
|
14
|
-
singleLine: true,
|
|
15
|
-
});
|
|
16
|
-
const baseOptions = {
|
|
17
|
-
level: log_levels_js_1.LOG_LEVELS.INFO,
|
|
18
|
-
};
|
|
19
|
-
exports.logger = (0, is_development_js_1.isDevelopment)()
|
|
20
|
-
? (0, pino_1.default)(baseOptions, prettyStream)
|
|
21
|
-
: (0, pino_1.default)(baseOptions);
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Application } from 'express';
|
|
2
|
-
import type { WnodexConfigOutput } from '../schemas/wnodex-config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Configures compression middleware to compress HTTP responses,
|
|
5
|
-
* improving network performance by reducing response size.
|
|
6
|
-
* Reads a flag from the app configuration to enable or disable compression.
|
|
7
|
-
* @param app Express Application instance to apply compression middleware on.
|
|
8
|
-
* @param config Typed Nodex configuration object containing compression option.
|
|
9
|
-
*
|
|
10
|
-
* @returns The result of app.use(compression()) if enabled, otherwise undefined.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* private setupMiddlewares() {
|
|
14
|
-
* configureCors(this.app, this.config);
|
|
15
|
-
* }
|
|
16
|
-
*/
|
|
17
|
-
export declare function configureCompression(app: Application, config: WnodexConfigOutput): Application | undefined;
|
|
18
|
-
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/middlewares/compression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,kBAAkB,2BAS3B"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.configureCompression = configureCompression;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const compression_1 = tslib_1.__importDefault(require("compression"));
|
|
6
|
-
/**
|
|
7
|
-
* Configures compression middleware to compress HTTP responses,
|
|
8
|
-
* improving network performance by reducing response size.
|
|
9
|
-
* Reads a flag from the app configuration to enable or disable compression.
|
|
10
|
-
* @param app Express Application instance to apply compression middleware on.
|
|
11
|
-
* @param config Typed Nodex configuration object containing compression option.
|
|
12
|
-
*
|
|
13
|
-
* @returns The result of app.use(compression()) if enabled, otherwise undefined.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* private setupMiddlewares() {
|
|
17
|
-
* configureCors(this.app, this.config);
|
|
18
|
-
* }
|
|
19
|
-
*/
|
|
20
|
-
function configureCompression(app, config) {
|
|
21
|
-
const { compression: isCompressionEnabled } = config;
|
|
22
|
-
if (!isCompressionEnabled) {
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
return app.use((0, compression_1.default)());
|
|
26
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { Application } from 'express';
|
|
2
|
-
import type { WnodexConfigOutput } from '../schemas/wnodex-config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Configures the cookie-parser middleware for the Express app based on the provided configuration.
|
|
5
|
-
* @param app The Express application instance to configure.
|
|
6
|
-
* @param config The application configuration object, which includes cookieParser options.
|
|
7
|
-
* @returns Void.
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* ```
|
|
11
|
-
* import express from 'express';
|
|
12
|
-
* import { configureCookieParser } from './middlewares/cookie-parser';
|
|
13
|
-
* import config from './config';
|
|
14
|
-
*
|
|
15
|
-
* const app = express();
|
|
16
|
-
* configureCookieParser(app, config);
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export declare function configureCookieParser(app: Application, config: WnodexConfigOutput): Application | undefined;
|
|
20
|
-
//# sourceMappingURL=cookie-parser.ts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cookie-parser.ts.d.ts","sourceRoot":"","sources":["../../src/middlewares/cookie-parser.ts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,EAChB,MAAM,EAAE,kBAAkB,2BAY3B"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.configureCookieParser = configureCookieParser;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const cookie_parser_1 = tslib_1.__importDefault(require("cookie-parser"));
|
|
6
|
-
/**
|
|
7
|
-
* Configures the cookie-parser middleware for the Express app based on the provided configuration.
|
|
8
|
-
* @param app The Express application instance to configure.
|
|
9
|
-
* @param config The application configuration object, which includes cookieParser options.
|
|
10
|
-
* @returns Void.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```
|
|
14
|
-
* import express from 'express';
|
|
15
|
-
* import { configureCookieParser } from './middlewares/cookie-parser';
|
|
16
|
-
* import config from './config';
|
|
17
|
-
*
|
|
18
|
-
* const app = express();
|
|
19
|
-
* configureCookieParser(app, config);
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
function configureCookieParser(app, config) {
|
|
23
|
-
const { cookieParser: options } = config;
|
|
24
|
-
if (typeof options === 'boolean') {
|
|
25
|
-
if (!options)
|
|
26
|
-
return;
|
|
27
|
-
return app.use((0, cookie_parser_1.default)());
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
const { secret, options: opts } = options;
|
|
31
|
-
return app.use((0, cookie_parser_1.default)(secret, opts));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { Application } from 'express';
|
|
2
|
-
import type { WnodexConfigOutput } from '../schemas/wnodex-config.js';
|
|
3
|
-
/**
|
|
4
|
-
* Configures the CORS middleware for an Express application.
|
|
5
|
-
* Reads the `cors` option from the provided config.
|
|
6
|
-
* If the option is a boolean:
|
|
7
|
-
* - `false` disables CORS middleware.
|
|
8
|
-
* - `true` enables CORS middleware with default settings.
|
|
9
|
-
* If the option is an object, it is spread into the CORS middleware options.
|
|
10
|
-
* @param app The Express Application instance to attach middleware to.
|
|
11
|
-
* @param config Typed configuration input that includes the CORS option.
|
|
12
|
-
*
|
|
13
|
-
* @returns The Express Application instance with CORS middleware applied,
|
|
14
|
-
* or undefined if CORS is disabled.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* private setupMiddlewares() {
|
|
18
|
-
* configureCors(this.app, this.config);
|
|
19
|
-
* }
|
|
20
|
-
*/
|
|
21
|
-
export declare function configureCors(app: Application, config: WnodexConfigOutput): Application | undefined;
|
|
22
|
-
//# sourceMappingURL=cors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cors.d.ts","sourceRoot":"","sources":["../../src/middlewares/cors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAI3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,kBAAkB,2BAUzE"}
|