exisjs 0.8.0 → 0.9.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/dist/cli/commands/build.d.ts +2 -0
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +55 -3
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/dev.d.ts +8 -0
- package/dist/cli/commands/dev.d.ts.map +1 -1
- package/dist/cli/commands/dev.js +96 -36
- package/dist/cli/commands/dev.js.map +1 -1
- package/dist/cli/index.js +1 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +2 -1
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/routes.d.ts +2 -0
- package/dist/cli/routes.d.ts.map +1 -1
- package/dist/cli/routes.js +14 -5
- package/dist/cli/routes.js.map +1 -1
- package/dist/config/config.d.ts +3 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +11 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/cron/job.d.ts +2 -0
- package/dist/cron/job.d.ts.map +1 -1
- package/dist/cron/job.js +33 -1
- package/dist/cron/job.js.map +1 -1
- package/dist/cron/manager.d.ts +12 -1
- package/dist/cron/manager.d.ts.map +1 -1
- package/dist/cron/manager.js +7 -1
- package/dist/cron/manager.js.map +1 -1
- package/dist/cron/types.d.ts +24 -0
- package/dist/cron/types.d.ts.map +1 -1
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +5 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/pipes.d.ts +2 -0
- package/dist/decorators/pipes.d.ts.map +1 -1
- package/dist/decorators/pipes.js +39 -18
- package/dist/decorators/pipes.js.map +1 -1
- package/dist/di/container.d.ts +6 -0
- package/dist/di/container.d.ts.map +1 -1
- package/dist/di/container.js +73 -57
- package/dist/di/container.js.map +1 -1
- package/dist/docs/content/cli/commands.mdx +5 -1
- package/dist/docs/content/config.mdx +5 -3
- package/dist/docs/content/cron.mdx +25 -1
- package/dist/docs/content/decorators.mdx +4 -4
- package/dist/docs/content/errors.mdx +37 -36
- package/dist/docs/content/installation.mdx +3 -4
- package/dist/docs/content/introduction.mdx +1 -1
- package/dist/docs/content/providers.mdx +2 -0
- package/dist/docs/content/requests.mdx +2 -2
- package/dist/docs/content/responses.mdx +18 -0
- package/dist/docs/content/security.mdx +93 -5
- package/dist/docs/content/testing.mdx +38 -0
- package/dist/docs/content/validation.mdx +21 -1
- package/dist/docs/reference/decorators.mdx +2 -4
- package/dist/docs/reference/middleware.mdx +2 -0
- package/dist/docs/reference/router.mdx +5 -7
- package/dist/error/errors.d.ts +9 -1
- package/dist/error/errors.d.ts.map +1 -1
- package/dist/error/errors.js +24 -15
- package/dist/error/errors.js.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/inspect-routes.js +2 -0
- package/dist/lib/inspect-routes.js.map +1 -1
- package/dist/middleware/idempotency.d.ts +25 -23
- package/dist/middleware/idempotency.d.ts.map +1 -1
- package/dist/middleware/idempotency.js +70 -35
- package/dist/middleware/idempotency.js.map +1 -1
- package/dist/middleware/ip-filter.d.ts +4 -1
- package/dist/middleware/ip-filter.d.ts.map +1 -1
- package/dist/middleware/ip-filter.js +4 -13
- package/dist/middleware/ip-filter.js.map +1 -1
- package/dist/middleware/middleware.d.ts.map +1 -1
- package/dist/middleware/middleware.js +3 -1
- package/dist/middleware/middleware.js.map +1 -1
- package/dist/middleware/rate-limit.d.ts +36 -0
- package/dist/middleware/rate-limit.d.ts.map +1 -1
- package/dist/middleware/rate-limit.js +33 -19
- package/dist/middleware/rate-limit.js.map +1 -1
- package/dist/middleware/security.d.ts.map +1 -1
- package/dist/middleware/security.js +13 -32
- package/dist/middleware/security.js.map +1 -1
- package/dist/router/authorize.d.ts +43 -0
- package/dist/router/authorize.d.ts.map +1 -0
- package/dist/router/authorize.js +66 -0
- package/dist/router/authorize.js.map +1 -0
- package/dist/router/controller-registrar.d.ts.map +1 -1
- package/dist/router/controller-registrar.js +117 -149
- package/dist/router/controller-registrar.js.map +1 -1
- package/dist/router/route-scanner.d.ts +3 -0
- package/dist/router/route-scanner.d.ts.map +1 -1
- package/dist/router/route-scanner.js +32 -21
- package/dist/router/route-scanner.js.map +1 -1
- package/dist/router/router.d.ts +2 -0
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +49 -46
- package/dist/router/router.js.map +1 -1
- package/dist/router/scanner/boundary-loader.d.ts.map +1 -1
- package/dist/router/scanner/boundary-loader.js +16 -12
- package/dist/router/scanner/boundary-loader.js.map +1 -1
- package/dist/router/scanner/cron-mounter.d.ts.map +1 -1
- package/dist/router/scanner/cron-mounter.js +32 -18
- package/dist/router/scanner/cron-mounter.js.map +1 -1
- package/dist/router/scanner/functional-compiler.d.ts.map +1 -1
- package/dist/router/scanner/functional-compiler.js +27 -128
- package/dist/router/scanner/functional-compiler.js.map +1 -1
- package/dist/router/send-result.d.ts +24 -0
- package/dist/router/send-result.d.ts.map +1 -0
- package/dist/router/send-result.js +81 -0
- package/dist/router/send-result.js.map +1 -0
- package/dist/server/app.d.ts +5 -0
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +44 -5
- package/dist/server/app.js.map +1 -1
- package/dist/server/engines/node-engine.d.ts.map +1 -1
- package/dist/server/engines/node-engine.js +6 -1
- package/dist/server/engines/node-engine.js.map +1 -1
- package/dist/server/request-handler.d.ts +2 -0
- package/dist/server/request-handler.d.ts.map +1 -1
- package/dist/server/request-handler.js +11 -2
- package/dist/server/request-handler.js.map +1 -1
- package/dist/server/request.d.ts +8 -1
- package/dist/server/request.d.ts.map +1 -1
- package/dist/server/request.js +19 -1
- package/dist/server/request.js.map +1 -1
- package/dist/server/response.d.ts +2 -0
- package/dist/server/response.d.ts.map +1 -1
- package/dist/server/response.js +6 -0
- package/dist/server/response.js.map +1 -1
- package/dist/swagger/mounter.d.ts.map +1 -1
- package/dist/swagger/mounter.js +2 -0
- package/dist/swagger/mounter.js.map +1 -1
- package/dist/testing/client.d.ts +32 -0
- package/dist/testing/client.d.ts.map +1 -1
- package/dist/testing/client.js +69 -0
- package/dist/testing/client.js.map +1 -1
- package/dist/testing/index.d.ts +10 -2
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +7 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/validator/builder.d.ts +33 -16
- package/dist/validator/builder.d.ts.map +1 -1
- package/dist/validator/builder.js.map +1 -1
- package/dist/validator/engine.d.ts +9 -0
- package/dist/validator/engine.d.ts.map +1 -1
- package/dist/validator/engine.js +148 -96
- package/dist/validator/engine.js.map +1 -1
- package/dist/validator/error.d.ts +4 -0
- package/dist/validator/error.d.ts.map +1 -1
- package/dist/validator/error.js +20 -4
- package/dist/validator/error.js.map +1 -1
- package/dist/validator/index.d.ts +12 -1
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js.map +1 -1
- package/dist/validator/tex-types.d.ts +29 -2
- package/dist/validator/tex-types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipes.d.ts","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pipes.d.ts","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAkC3C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,SAAM,GAAG,SAAS,CAO7E;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAA;IAC/D,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG;IAC7C,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;CACjE;AAED,MAAM,WAAW,mBAAmB;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAC1C;AAED,qBAAa,YAAa,YAAW,aAAa,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;IAC7D,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,mBAAmB,YAAA;IAEjD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAuBtE,OAAO,CAAC,eAAe;CAQxB;AAED,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAC1C;AAED,qBAAa,cAAe,YAAW,aAAa,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;IAC/D,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,qBAAqB,YAAA;IAEnD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM;IAuBtE,OAAO,CAAC,eAAe;CAQxB;AAED,MAAM,WAAW,oBAAoB;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAC1C;AAED,qBAAa,aAAc,YAAW,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC;IACnD,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,oBAAoB,YAAA;IAElD,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO;CAe5D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,CAAA;IACjC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAC1C;AASD,qBAAa,aAAc,YAAW,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;IACrD,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,oBAAoB,YAAA;IAElD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,MAAM;CAe9D;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,GAAG,CAAA;CAC1C;AAED,qBAAa,cAAe,YAAW,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC;IAClD,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,qBAAqB,YAAA;IAE7C,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IA0CxE,OAAO,CAAC,eAAe;CAQxB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAA;CACxC;AAED,qBAAa,cAAe,YAAW,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC;IAChD,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,qBAAqB,YAAA;IAE7C,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC;CAyEvE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,GAAG,CAsB7C"}
|
package/dist/decorators/pipes.js
CHANGED
|
@@ -1,10 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ValidationPipe = exports.ParseArrayPipe = exports.ParseUUIDPipe = exports.ParseBoolPipe = exports.ParseFloatPipe = exports.ParseIntPipe = void 0;
|
|
4
|
+
exports.validationFailed = validationFailed;
|
|
4
5
|
exports.UsePipes = UsePipes;
|
|
5
|
-
const
|
|
6
|
+
const errors_1 = require("../error/errors");
|
|
6
7
|
const constants_1 = require("./constants");
|
|
7
8
|
const metadata_1 = require("./core/metadata");
|
|
9
|
+
/**
|
|
10
|
+
* Normalizes DTO / Standard Schema / class-validator style errors into the
|
|
11
|
+
* `error.details` list every validation response uses.
|
|
12
|
+
*/
|
|
13
|
+
function toFieldErrors(errors) {
|
|
14
|
+
const list = Array.isArray(errors)
|
|
15
|
+
? errors
|
|
16
|
+
: errors && typeof errors === 'object'
|
|
17
|
+
? Object.entries(errors).map(([field, message]) => ({ field, message }))
|
|
18
|
+
: [String(errors)];
|
|
19
|
+
return list.map((e) => {
|
|
20
|
+
if (typeof e === 'string') {
|
|
21
|
+
return { field: 'general', message: e, code: 'VALIDATION_ERROR' };
|
|
22
|
+
}
|
|
23
|
+
const field = Array.isArray(e.path)
|
|
24
|
+
? e.path.map((p) => (typeof p === 'object' ? p.key : p)).join('.')
|
|
25
|
+
: (e.field ?? e.property ?? e.path);
|
|
26
|
+
const message = e.message ??
|
|
27
|
+
(e.constraints ? Object.values(e.constraints).join(', ') : String(e));
|
|
28
|
+
return {
|
|
29
|
+
field: String(field ?? 'general'),
|
|
30
|
+
message: String(message),
|
|
31
|
+
code: 'VALIDATION_ERROR',
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
function validationFailed(errors, statusCode = 400) {
|
|
36
|
+
return new errors_1.HttpError('Validation Failed', statusCode, 'VALIDATION_ERROR', toFieldErrors(errors));
|
|
37
|
+
}
|
|
8
38
|
class ParseIntPipe {
|
|
9
39
|
constructor(options) {
|
|
10
40
|
this.options = options;
|
|
@@ -35,7 +65,7 @@ class ParseIntPipe {
|
|
|
35
65
|
return this.options.exceptionFactory(msg);
|
|
36
66
|
}
|
|
37
67
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
38
|
-
return new
|
|
68
|
+
return new errors_1.HttpError(msg, status, 'BAD_REQUEST');
|
|
39
69
|
}
|
|
40
70
|
}
|
|
41
71
|
exports.ParseIntPipe = ParseIntPipe;
|
|
@@ -69,7 +99,7 @@ class ParseFloatPipe {
|
|
|
69
99
|
return this.options.exceptionFactory(msg);
|
|
70
100
|
}
|
|
71
101
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
72
|
-
return new
|
|
102
|
+
return new errors_1.HttpError(msg, status, 'BAD_REQUEST');
|
|
73
103
|
}
|
|
74
104
|
}
|
|
75
105
|
exports.ParseFloatPipe = ParseFloatPipe;
|
|
@@ -89,7 +119,7 @@ class ParseBoolPipe {
|
|
|
89
119
|
throw this.options.exceptionFactory(msg);
|
|
90
120
|
}
|
|
91
121
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
92
|
-
throw new
|
|
122
|
+
throw new errors_1.HttpError(msg, status, 'BAD_REQUEST');
|
|
93
123
|
}
|
|
94
124
|
}
|
|
95
125
|
exports.ParseBoolPipe = ParseBoolPipe;
|
|
@@ -114,7 +144,7 @@ class ParseUUIDPipe {
|
|
|
114
144
|
throw this.options.exceptionFactory(msg);
|
|
115
145
|
}
|
|
116
146
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
117
|
-
throw new
|
|
147
|
+
throw new errors_1.HttpError(msg, status, 'BAD_REQUEST');
|
|
118
148
|
}
|
|
119
149
|
}
|
|
120
150
|
exports.ParseUUIDPipe = ParseUUIDPipe;
|
|
@@ -165,7 +195,7 @@ class ParseArrayPipe {
|
|
|
165
195
|
return this.options.exceptionFactory(msg);
|
|
166
196
|
}
|
|
167
197
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
168
|
-
return new
|
|
198
|
+
return new errors_1.HttpError(msg, status, 'BAD_REQUEST');
|
|
169
199
|
}
|
|
170
200
|
}
|
|
171
201
|
exports.ParseArrayPipe = ParseArrayPipe;
|
|
@@ -193,10 +223,7 @@ class ValidationPipe {
|
|
|
193
223
|
const result = await metatype['~standard'].validate(value);
|
|
194
224
|
if (result.issues && result.issues.length > 0) {
|
|
195
225
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
196
|
-
throw
|
|
197
|
-
statusCode: status,
|
|
198
|
-
validationErrors: result.issues,
|
|
199
|
-
});
|
|
226
|
+
throw validationFailed(result.issues, status);
|
|
200
227
|
}
|
|
201
228
|
return result.value;
|
|
202
229
|
}
|
|
@@ -216,10 +243,7 @@ class ValidationPipe {
|
|
|
216
243
|
throw this.options.exceptionFactory(errors);
|
|
217
244
|
}
|
|
218
245
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
219
|
-
throw
|
|
220
|
-
statusCode: status,
|
|
221
|
-
validationErrors: errors,
|
|
222
|
-
});
|
|
246
|
+
throw validationFailed(errors, status);
|
|
223
247
|
}
|
|
224
248
|
}
|
|
225
249
|
else if (typeof instance.validateSync === 'function') {
|
|
@@ -230,10 +254,7 @@ class ValidationPipe {
|
|
|
230
254
|
throw this.options.exceptionFactory(errors);
|
|
231
255
|
}
|
|
232
256
|
const status = this.options?.errorHttpStatusCode || 400;
|
|
233
|
-
throw
|
|
234
|
-
statusCode: status,
|
|
235
|
-
validationErrors: errors,
|
|
236
|
-
});
|
|
257
|
+
throw validationFailed(errors, status);
|
|
237
258
|
}
|
|
238
259
|
}
|
|
239
260
|
return instance;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipes.js","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipes.js","sourceRoot":"","sources":["../../src/decorators/pipes.ts"],"names":[],"mappings":"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"}
|
package/dist/di/container.d.ts
CHANGED
|
@@ -32,7 +32,13 @@ export declare class Container {
|
|
|
32
32
|
private providers;
|
|
33
33
|
private singletonCache;
|
|
34
34
|
private inFlight;
|
|
35
|
+
private scopeFrames;
|
|
36
|
+
private markRequestScoped;
|
|
37
|
+
private build;
|
|
38
|
+
private store;
|
|
35
39
|
provide<T>(tokenOrProvider: ProviderToken<T> | CustomProvider<T>, provider?: ProviderDefinition<T>): void;
|
|
40
|
+
/** The cached singleton for a token, without building anything. */
|
|
41
|
+
peekSingleton<T>(token: ProviderToken<T>): T | undefined;
|
|
36
42
|
clearCache(): void;
|
|
37
43
|
instantiateClass<T>(TargetClass: new (...args: any[]) => T, requestCache?: Map<any, any>): T;
|
|
38
44
|
resolve<T>(token: ProviderToken<T>, requestCache?: Map<any, any>): T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAEnE,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,GAAG,IAC/B,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAErE,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;CAC9C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY;IAC1D,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1B,QAAQ,EAAE,CAAC,CAAA;CACZ;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY;IAC5D,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1B,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9C,MAAM,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY;IAC1D,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1B,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;CACpC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,YAAY;IAC7D,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;IAC1B,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;CAC9B;AAED,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;AAEjE,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,GAAG,IAChC,aAAa,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;AAEhF,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,GAAG,IACpC,cAAc,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAE7C,eAAO,MAAM,eAAe,eAAqC,CAAA;AACjE,eAAO,MAAM,wBAAwB,eAEpC,CAAA;AACD,eAAO,MAAM,iBAAiB,eAAuC,CAAA;AACrE,eAAO,MAAM,cAAc,eAA6B,CAAA;AAMxD,eAAO,MAAM,eAAe,eAAkC,CAAA;AAU9D,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAiB;
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}
|
package/dist/di/container.js
CHANGED
|
@@ -21,6 +21,39 @@ class Container {
|
|
|
21
21
|
this.providers = new Map();
|
|
22
22
|
this.singletonCache = new Map();
|
|
23
23
|
this.inFlight = new Set();
|
|
24
|
+
// One frame per class being built. A frame is marked when anything built
|
|
25
|
+
// inside it is request-scoped, so the class holding it is request-scoped
|
|
26
|
+
// too instead of a singleton that keeps the first request's instance.
|
|
27
|
+
this.scopeFrames = [];
|
|
28
|
+
}
|
|
29
|
+
markRequestScoped() {
|
|
30
|
+
const frame = this.scopeFrames[this.scopeFrames.length - 1];
|
|
31
|
+
if (frame)
|
|
32
|
+
frame.request = true;
|
|
33
|
+
}
|
|
34
|
+
build(create) {
|
|
35
|
+
const frame = { request: false };
|
|
36
|
+
this.scopeFrames.push(frame);
|
|
37
|
+
try {
|
|
38
|
+
return { value: create(), dependsOnRequest: frame.request };
|
|
39
|
+
}
|
|
40
|
+
finally {
|
|
41
|
+
this.scopeFrames.pop();
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
store(token, value, scope, dependsOnRequest, requestCache) {
|
|
45
|
+
if (scope === 'request' || dependsOnRequest)
|
|
46
|
+
this.markRequestScoped();
|
|
47
|
+
if (scope === 'transient')
|
|
48
|
+
return;
|
|
49
|
+
if (scope === 'request' || dependsOnRequest) {
|
|
50
|
+
if (!requestCache) {
|
|
51
|
+
throw new Error(`Cannot resolve request-scoped provider '${String(token)}' outside of a request context. This usually happens if you try to resolve a request-scoped dependency during app startup, inside a background job, or without passing the request context cache.`);
|
|
52
|
+
}
|
|
53
|
+
requestCache.set(token, value);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.singletonCache.set(token, value);
|
|
24
57
|
}
|
|
25
58
|
provide(tokenOrProvider, provider) {
|
|
26
59
|
if (provider === undefined &&
|
|
@@ -42,6 +75,10 @@ class Container {
|
|
|
42
75
|
this.providers.set(unwrappedToken, provider);
|
|
43
76
|
this.singletonCache.delete(unwrappedToken);
|
|
44
77
|
}
|
|
78
|
+
/** The cached singleton for a token, without building anything. */
|
|
79
|
+
peekSingleton(token) {
|
|
80
|
+
return this.singletonCache.get(token);
|
|
81
|
+
}
|
|
45
82
|
clearCache() {
|
|
46
83
|
this.singletonCache.clear();
|
|
47
84
|
this.inFlight.clear();
|
|
@@ -179,6 +216,7 @@ class Container {
|
|
|
179
216
|
}
|
|
180
217
|
// 2. Check request cache
|
|
181
218
|
if (requestCache && requestCache.has(unwrappedToken)) {
|
|
219
|
+
this.markRequestScoped();
|
|
182
220
|
return requestCache.get(unwrappedToken);
|
|
183
221
|
}
|
|
184
222
|
// 3. Circular Dependency Resolution: Return Lazy Proxy
|
|
@@ -210,19 +248,8 @@ class Container {
|
|
|
210
248
|
this.inFlight.add(unwrappedToken);
|
|
211
249
|
try {
|
|
212
250
|
const scope = unwrappedToken.prototype?.[exports.SCOPE_METADATA] || 'singleton';
|
|
213
|
-
const instance = this.instantiateClass(unwrappedToken, requestCache);
|
|
214
|
-
|
|
215
|
-
return instance;
|
|
216
|
-
}
|
|
217
|
-
if (scope === 'request') {
|
|
218
|
-
if (!requestCache) {
|
|
219
|
-
throw new Error(`Cannot resolve request-scoped provider '${String(unwrappedToken)}' outside of a request context. This usually happens if you try to resolve a request-scoped dependency during app startup, inside a background job, or without passing the request context cache.`);
|
|
220
|
-
}
|
|
221
|
-
requestCache.set(unwrappedToken, instance);
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
this.singletonCache.set(unwrappedToken, instance);
|
|
225
|
-
}
|
|
251
|
+
const { value: instance, dependsOnRequest } = this.build(() => this.instantiateClass(unwrappedToken, requestCache));
|
|
252
|
+
this.store(unwrappedToken, instance, scope, dependsOnRequest, requestCache);
|
|
226
253
|
return instance;
|
|
227
254
|
}
|
|
228
255
|
catch (err) {
|
|
@@ -237,55 +264,44 @@ class Container {
|
|
|
237
264
|
}
|
|
238
265
|
throw new Error('Provider not found for token: ' + String(unwrappedToken));
|
|
239
266
|
}
|
|
240
|
-
let resolvedValue;
|
|
241
267
|
let scope = 'singleton';
|
|
242
268
|
this.inFlight.add(unwrappedToken);
|
|
243
269
|
try {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
}
|
|
249
|
-
else if (provider && typeof provider === 'object') {
|
|
250
|
-
if ('scope' in provider && provider.scope) {
|
|
251
|
-
scope = provider.scope;
|
|
252
|
-
}
|
|
253
|
-
if ('useValue' in provider) {
|
|
254
|
-
resolvedValue = provider.useValue;
|
|
270
|
+
const { value: resolvedValue, dependsOnRequest } = this.build(() => {
|
|
271
|
+
if (typeof provider === 'function') {
|
|
272
|
+
scope = provider.prototype?.[exports.SCOPE_METADATA] || 'singleton';
|
|
273
|
+
return this.instantiateClass(provider, requestCache);
|
|
255
274
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
throw new Error(`Cannot resolve request-scoped provider '${String(unwrappedToken)}' outside of a request context. This usually happens if you try to resolve a request-scoped dependency during app startup, inside a background job, or without passing the request context cache.`);
|
|
275
|
+
if (provider && typeof provider === 'object') {
|
|
276
|
+
if ('scope' in provider && provider.scope) {
|
|
277
|
+
scope = provider.scope;
|
|
278
|
+
}
|
|
279
|
+
if ('useValue' in provider) {
|
|
280
|
+
return provider.useValue;
|
|
281
|
+
}
|
|
282
|
+
if ('useExisting' in provider) {
|
|
283
|
+
return this.resolve(provider.useExisting, requestCache);
|
|
284
|
+
}
|
|
285
|
+
if ('useFactory' in provider) {
|
|
286
|
+
const factoryProv = provider;
|
|
287
|
+
const injectTokens = Array.isArray(factoryProv.inject)
|
|
288
|
+
? factoryProv.inject
|
|
289
|
+
: [];
|
|
290
|
+
const injectedDeps = injectTokens.map((depToken) => this.resolve(depToken, requestCache));
|
|
291
|
+
return factoryProv.useFactory(...injectedDeps);
|
|
292
|
+
}
|
|
293
|
+
if ('useClass' in provider) {
|
|
294
|
+
// Without an explicit scope, the class's @Injectable({ scope }) applies
|
|
295
|
+
if (!('scope' in provider && provider.scope)) {
|
|
296
|
+
scope =
|
|
297
|
+
provider.useClass.prototype?.[exports.SCOPE_METADATA] || 'singleton';
|
|
298
|
+
}
|
|
299
|
+
return this.instantiateClass(provider.useClass, requestCache);
|
|
300
|
+
}
|
|
283
301
|
}
|
|
284
|
-
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
this.singletonCache.set(unwrappedToken, resolvedValue);
|
|
288
|
-
}
|
|
302
|
+
return provider;
|
|
303
|
+
});
|
|
304
|
+
this.store(unwrappedToken, resolvedValue, scope, dependsOnRequest, requestCache);
|
|
289
305
|
return resolvedValue;
|
|
290
306
|
}
|
|
291
307
|
finally {
|
package/dist/di/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/di/container.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,10 +26,11 @@ npx exisjs dev [options]
|
|
|
26
26
|
| `-p, --port <port>` | `number` | `3000` | Port to listen on (overrides `.env` and `exis.config.ts`). |
|
|
27
27
|
| `-H, --host <host>` | `string` | `localhost` | Host address to bind to. |
|
|
28
28
|
| `-e, --entry <file>` | `string` | `src/http/server.ts` | Custom entry file path to bootstrap the application. |
|
|
29
|
+
| `--force` | `boolean` | `false` | Start even if a dev server for the same port appears to be running. |
|
|
29
30
|
|
|
30
31
|
### Behavior
|
|
31
32
|
- **Port Collision Detection**: If the specified port is in use, the CLI automatically increments to the next open port.
|
|
32
|
-
- **
|
|
33
|
+
- **One server per port**: `.exis/dev-<port>.pid` stops a second `exisjs dev` on the same port. A second instance on another port (`--port 4010`, for example against a test database) is allowed. A lock left by a crashed process is ignored once its port is free; `--force` skips the check.
|
|
33
34
|
|
|
34
35
|
---
|
|
35
36
|
|
|
@@ -51,6 +52,9 @@ npx exisjs build [options]
|
|
|
51
52
|
| `--dry-run` | `boolean` | `false` | Compile and bundle without halting on missing environment variables. |
|
|
52
53
|
| `-m, --mode <mode>` | `string` | `production` | Environment mode to load (e.g. `production`, `staging`). |
|
|
53
54
|
|
|
55
|
+
### Type-checking on deployment hosts
|
|
56
|
+
Some hosts (Render, Heroku and others) install with `NODE_ENV=production`, which leaves out `devDependencies` such as `@types/node`. When `@types/*` packages listed in your `devDependencies` are not installed, `exisjs build` skips the type-check with a warning and still compiles. To keep the type-check on the host, set the install command to `npm install --include=dev`.
|
|
57
|
+
|
|
54
58
|
### Build Outputs
|
|
55
59
|
- Compiles application source code into the specified `outDir`.
|
|
56
60
|
- Emits pre-computed route manifests (`.exis/routes-manifest.js`) for O(1) route discovery at runtime.
|
|
@@ -147,7 +147,9 @@ export default defineConfig({
|
|
|
147
147
|
| Option | Type | Default | Description |
|
|
148
148
|
| :--- | :--- | :--- | :--- |
|
|
149
149
|
| `cors` | `boolean \| CorsConfig` | `{ origin: '*' }` | Global CORS policy. Can be overridden in boundaries or routes. `credentials: true` requires explicit origins: with `origin: '*'` it is ignored and a warning is logged, because browsers reject that combination. |
|
|
150
|
-
| `helmet` | `boolean \| HelmetConfig` | `{ enabled: true }` | Security headers
|
|
150
|
+
| `helmet` | `boolean \| HelmetConfig` | `{ enabled: true }` | Security headers, including a same-origin `Content-Security-Policy`. `contentSecurityPolicy: false` sends no CSP; a string replaces the default. |
|
|
151
|
+
| `authorization` | `AuthorizationConfig` | `{}` | `defaultPolicy: 'authenticated'` closes controller routes that declare no rule unless they are `@Public()`. `superUser: (user) => boolean` lets matching users pass every `@Roles` / `@Permissions` rule. |
|
|
152
|
+
| `errors` | `{ legacyFields?: boolean }` | `{}` | `legacyFields: true` adds the pre-0.9 duplicate fields to error bodies. Deprecated. |
|
|
151
153
|
| `compression` | `boolean` | `false` | Gzip/Brotli HTTP response compression. |
|
|
152
154
|
| `bodyLimit` | `number` | `10485760` (10MB) | Maximum request payload body size in bytes. |
|
|
153
155
|
| `blockSuspiciousProbes` | `boolean \| BlockProbesOptions` | `false` | Blocks known vulnerability scanners and malicious probes (`.php`, `wp-admin`). |
|
|
@@ -161,8 +163,8 @@ export default defineConfig({
|
|
|
161
163
|
| `logger` | `boolean \| LoggerConfig` | `false` | Pino logger settings (`level`, `pretty`, `redact`). |
|
|
162
164
|
| `debugRouting` | `boolean` | `false` | Outputs detailed route resolution logs per request in development. |
|
|
163
165
|
| `asyncContext` | `boolean` | `false` | Enables `AsyncLocalStorage` context tracking (`getContext()`). |
|
|
164
|
-
| `docs` / `swagger` | `boolean \| SwaggerConfig` | `{ enabled: false }` | OpenAPI 3.1 specification and Swagger UI endpoint generation. Served in every environment when enabled;
|
|
165
|
-
| `healthcheck` | `boolean \| HealthCheckConfig` | `{ enabled: false }` |
|
|
166
|
+
| `docs` / `swagger` | `boolean \| SwaggerConfig` | `{ enabled: false }` | OpenAPI 3.1 specification and Swagger UI endpoint generation. Served in every environment when enabled; the project template uses `enabled: process.env.NODE_ENV !== 'production'` so published API docs do not help attackers. |
|
|
167
|
+
| `healthcheck` | `boolean \| HealthCheckConfig` | `{ enabled: false }` | `path` (`/_health`): liveness, runs `checks`. `readyPath` (`/_ready`, `false` to disable): readiness, `503` unless `checks` pass, registered databases are healthy and the app is not shutting down. |
|
|
166
168
|
| `metrics` | `boolean \| MetricsConfig` | `{ enabled: false }` | Prometheus metrics endpoint (`path: '/metrics'`). |
|
|
167
169
|
| `telemetry` | `boolean \| TelemetryConfig` | `{ enabled: false }` | OpenTelemetry tracing and metrics export. |
|
|
168
170
|
|
|
@@ -239,13 +239,37 @@ CronExpression.EVERY_YEAR // '0 0 1 1 *'
|
|
|
239
239
|
### 1. Overlap Prevention (`preventOverlap: true`)
|
|
240
240
|
If a job takes longer than its scheduling frequency (for example, a database migration running for 90 seconds on a 60-second interval), standard Node.js timers cause overlapping concurrent runs. ExisJS locks execution during active runs and skips overlapping ticks until the current run completes.
|
|
241
241
|
|
|
242
|
+
`preventOverlap` works inside one process. When the app runs on several instances, every instance runs every job; set `app.cron.lock` so only the instance holding the lock runs each tick:
|
|
243
|
+
|
|
244
|
+
```typescript filename="src/http/server.ts"
|
|
245
|
+
import { randomUUID } from 'node:crypto'
|
|
246
|
+
const instanceId = randomUUID()
|
|
247
|
+
|
|
248
|
+
export default exis({
|
|
249
|
+
async onStart(app) {
|
|
250
|
+
app.cron.lock = {
|
|
251
|
+
acquire: async (job, ttlMs) =>
|
|
252
|
+
(await redis.set(`cron:${job}`, instanceId, 'PX', ttlMs, 'NX')) === 'OK',
|
|
253
|
+
release: async (job) => {
|
|
254
|
+
if ((await redis.get(`cron:${job}`)) === instanceId) await redis.del(`cron:${job}`)
|
|
255
|
+
},
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
})
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
The lock is held for at most `lockTtlMs` (default: the interval, or 5 minutes for cron patterns). A Postgres advisory lock (`pg_try_advisory_lock`) works the same way. `app.cron.trigger(name)` runs a job without the lock.
|
|
262
|
+
|
|
242
263
|
### 2. Isolated Error Sandbox
|
|
243
264
|
Exceptions thrown inside cron handlers are caught within an isolated execution boundary. An uncaught error in a background task will never crash the HTTP server or prevent subsequent scheduled runs. Errors are logged with execution duration and forwarded to your `onError` handler.
|
|
244
265
|
|
|
245
266
|
### 3. Accurate Timezone & DST Calculation
|
|
246
267
|
Cron schedules evaluate IANA timezones (e.g. `'America/Chicago'`, `'Europe/Berlin'`, `'UTC'`) using native `Intl.DateTimeFormat` evaluations, adjusting accurately for Daylight Saving Time (DST) transitions.
|
|
247
268
|
|
|
248
|
-
### 4.
|
|
269
|
+
### 4. Quiet Under Tests
|
|
270
|
+
Under `NODE_ENV=test` jobs are registered but not started; see [Testing](/docs/testing). Each job file is loaded once: from `src/` during development and tests, and from the compiled `.exis/server/src/` in production.
|
|
271
|
+
|
|
272
|
+
### 5. Graceful Shutdown & Drain Window
|
|
249
273
|
When the server receives `SIGTERM` or `SIGINT`:
|
|
250
274
|
1. The scheduler halts all future timer registrations.
|
|
251
275
|
2. Active timers are unreferenced (`timer.unref()`).
|
|
@@ -312,7 +312,7 @@ export default class CheckoutController {
|
|
|
312
312
|
@Post('/')
|
|
313
313
|
@Timeout(15000)
|
|
314
314
|
@Idempotent({ ttlMs: 86400000 })
|
|
315
|
-
@Dedupe({
|
|
315
|
+
@Dedupe({ keyGenerator: (req) => req.user?.id ?? req.ip })
|
|
316
316
|
@Compress()
|
|
317
317
|
async processPayment() {
|
|
318
318
|
return { status: 'processed' }
|
|
@@ -385,9 +385,9 @@ export default class RolesController {
|
|
|
385
385
|
|
|
386
386
|
| Decorator | Target | Description |
|
|
387
387
|
| :--- | :--- | :--- |
|
|
388
|
-
| `@Roles(...roles: string[])` | Class / Method |
|
|
389
|
-
| `@Permissions(...perms: string[])` | Class / Method |
|
|
390
|
-
| `@Public()` / `@IsPublic()` / `@AllowAnonymous()` | Class / Method | Marks route as unauthenticated. |
|
|
388
|
+
| `@Roles(...roles: string[])` | Class / Method | Requires `req.user` to have **one** of the roles (`user.roles` or `user.role`). No user: `401`; wrong role: `403`. |
|
|
389
|
+
| `@Permissions(...perms: string[])` | Class / Method | Requires **all** listed permissions in `req.user.permissions`. A role is never counted as a permission. No user: `401`; missing permission: `403`. |
|
|
390
|
+
| `@Public()` / `@IsPublic()` / `@AllowAnonymous()` | Class / Method | Marks route as unauthenticated. Wins over `@Roles` / `@Permissions` on the same route (a warning is logged at startup). |
|
|
391
391
|
|
|
392
392
|
---
|
|
393
393
|
|