exisjs 0.7.14 → 0.8.1
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/LICENSE +21 -0
- package/README.md +1 -1
- 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 +35 -2
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +4 -37
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +10 -0
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +9 -1
- package/dist/config/types.d.ts.map +1 -1
- package/dist/database/lifecycle.d.ts +7 -0
- package/dist/database/lifecycle.d.ts.map +1 -1
- package/dist/database/lifecycle.js +30 -7
- package/dist/database/lifecycle.js.map +1 -1
- package/dist/decorators/caching.d.ts +2 -5
- package/dist/decorators/caching.d.ts.map +1 -1
- package/dist/decorators/caching.js +7 -61
- package/dist/decorators/caching.js.map +1 -1
- package/dist/decorators/core.d.ts.map +1 -1
- package/dist/decorators/core.js +5 -0
- package/dist/decorators/core.js.map +1 -1
- package/dist/decorators/cron.d.ts +1 -0
- package/dist/decorators/cron.d.ts.map +1 -1
- package/dist/decorators/cron.js +4 -1
- package/dist/decorators/cron.js.map +1 -1
- package/dist/di/container.d.ts +1 -0
- package/dist/di/container.d.ts.map +1 -1
- package/dist/di/container.js +19 -3
- package/dist/di/container.js.map +1 -1
- package/dist/docs/ARCHITECTURE.md +11 -24
- package/dist/docs/BENCHMARKS.md +59 -26
- package/dist/docs/README.md +1 -1
- package/dist/docs/content/boundaries.mdx +2 -0
- package/dist/docs/content/cli/commands.mdx +4 -2
- package/dist/docs/content/cli/overview.mdx +1 -1
- package/dist/docs/content/config.mdx +22 -9
- package/dist/docs/content/cron.mdx +2 -2
- package/dist/docs/content/decorators.mdx +2 -2
- package/dist/docs/content/errors.mdx +22 -6
- package/dist/docs/content/installation.mdx +13 -8
- package/dist/docs/content/introduction.mdx +12 -12
- package/dist/docs/content/middleware.mdx +1 -1
- package/dist/docs/content/providers.mdx +4 -4
- package/dist/docs/content/requests.mdx +12 -1
- package/dist/docs/content/responses.mdx +44 -3
- package/dist/docs/content/routing.mdx +24 -0
- package/dist/docs/content/security.mdx +0 -1
- package/dist/docs/content/structure.mdx +4 -1
- package/dist/docs/content/testing.mdx +2 -0
- package/dist/docs/content/validation.mdx +16 -2
- package/dist/docs/reference/README.md +1 -1
- package/dist/docs/reference/config.mdx +1 -1
- package/dist/docs/reference/decorators.mdx +2 -2
- package/dist/docs/reference/di.mdx +1 -1
- package/dist/docs/reference/middleware.mdx +9 -5
- package/dist/docs/reference/sanitize.mdx +4 -4
- package/dist/docs/reference/validator.mdx +1 -1
- package/dist/error/errors.d.ts.map +1 -1
- package/dist/error/errors.js +31 -8
- package/dist/error/errors.js.map +1 -1
- package/dist/lib/start-server.js +5 -1
- package/dist/lib/start-server.js.map +1 -1
- package/dist/middleware/compression.d.ts +0 -12
- package/dist/middleware/compression.d.ts.map +1 -1
- package/dist/middleware/compression.js +52 -41
- package/dist/middleware/compression.js.map +1 -1
- package/dist/middleware/idempotency.d.ts +11 -6
- package/dist/middleware/idempotency.d.ts.map +1 -1
- package/dist/middleware/idempotency.js +5 -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 -29
- package/dist/middleware/ip-filter.js.map +1 -1
- package/dist/middleware/middleware.d.ts +2 -1
- package/dist/middleware/middleware.d.ts.map +1 -1
- package/dist/middleware/middleware.js +94 -57
- package/dist/middleware/middleware.js.map +1 -1
- package/dist/middleware/rate-limit.d.ts.map +1 -1
- package/dist/middleware/rate-limit.js +19 -38
- package/dist/middleware/rate-limit.js.map +1 -1
- package/dist/middleware/security.d.ts.map +1 -1
- package/dist/middleware/security.js +4 -28
- package/dist/middleware/security.js.map +1 -1
- package/dist/middleware/upload.d.ts.map +1 -1
- package/dist/middleware/upload.js +15 -7
- package/dist/middleware/upload.js.map +1 -1
- package/dist/response/index.d.ts +23 -0
- package/dist/response/index.d.ts.map +1 -1
- package/dist/response/index.js +28 -1
- package/dist/response/index.js.map +1 -1
- package/dist/router/index.d.ts +1 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/radix.d.ts +3 -16
- package/dist/router/radix.d.ts.map +1 -1
- package/dist/router/radix.js +135 -211
- package/dist/router/radix.js.map +1 -1
- package/dist/router/route-builder.d.ts +28 -0
- package/dist/router/route-builder.d.ts.map +1 -1
- package/dist/router/route-builder.js.map +1 -1
- package/dist/router/route-scanner.d.ts +2 -1
- package/dist/router/route-scanner.d.ts.map +1 -1
- package/dist/router/route-scanner.js +37 -44
- package/dist/router/route-scanner.js.map +1 -1
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +153 -126
- 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 +7 -2
- package/dist/router/scanner/boundary-loader.js.map +1 -1
- package/dist/router/scanner/functional-compiler.d.ts.map +1 -1
- package/dist/router/scanner/functional-compiler.js +9 -1
- package/dist/router/scanner/functional-compiler.js.map +1 -1
- package/dist/sanitize/index.d.ts +2 -3
- package/dist/sanitize/index.d.ts.map +1 -1
- package/dist/sanitize/index.js +15 -20
- package/dist/sanitize/index.js.map +1 -1
- package/dist/server/adapters/bun-adapter.d.ts +2 -1
- package/dist/server/adapters/bun-adapter.d.ts.map +1 -1
- package/dist/server/adapters/bun-adapter.js +22 -2
- package/dist/server/adapters/bun-adapter.js.map +1 -1
- package/dist/server/app.d.ts +2 -2
- package/dist/server/app.d.ts.map +1 -1
- package/dist/server/app.js +14 -7
- package/dist/server/app.js.map +1 -1
- package/dist/server/bootstrapper.d.ts +2 -2
- package/dist/server/bootstrapper.d.ts.map +1 -1
- package/dist/server/bootstrapper.js +2 -2
- package/dist/server/bootstrapper.js.map +1 -1
- package/dist/server/download.d.ts +22 -0
- package/dist/server/download.d.ts.map +1 -0
- package/dist/server/download.js +18 -0
- package/dist/server/download.js.map +1 -0
- package/dist/server/helpers/body-parser.d.ts +1 -1
- package/dist/server/helpers/body-parser.d.ts.map +1 -1
- package/dist/server/helpers/body-parser.js +126 -48
- package/dist/server/helpers/body-parser.js.map +1 -1
- package/dist/server/helpers/cookie.d.ts +6 -0
- package/dist/server/helpers/cookie.d.ts.map +1 -1
- package/dist/server/helpers/cookie.js +35 -0
- package/dist/server/helpers/cookie.js.map +1 -1
- package/dist/server/helpers/etag.d.ts.map +1 -1
- package/dist/server/helpers/etag.js +7 -2
- package/dist/server/helpers/etag.js.map +1 -1
- package/dist/server/helpers/index.d.ts +2 -1
- package/dist/server/helpers/index.d.ts.map +1 -1
- package/dist/server/helpers/index.js +5 -1
- package/dist/server/helpers/index.js.map +1 -1
- package/dist/server/helpers/ip.d.ts +13 -0
- package/dist/server/helpers/ip.d.ts.map +1 -1
- package/dist/server/helpers/ip.js +65 -54
- package/dist/server/helpers/ip.js.map +1 -1
- package/dist/server/helpers/json.d.ts +3 -0
- package/dist/server/helpers/json.d.ts.map +1 -0
- package/dist/server/helpers/json.js +43 -0
- package/dist/server/helpers/json.js.map +1 -0
- package/dist/server/helpers/upload-name.d.ts +9 -0
- package/dist/server/helpers/upload-name.d.ts.map +1 -0
- package/dist/server/helpers/upload-name.js +39 -0
- package/dist/server/helpers/upload-name.js.map +1 -0
- package/dist/server/request-handler.d.ts +0 -7
- package/dist/server/request-handler.d.ts.map +1 -1
- package/dist/server/request-handler.js +19 -46
- package/dist/server/request-handler.js.map +1 -1
- package/dist/server/request.d.ts +3 -2
- package/dist/server/request.d.ts.map +1 -1
- package/dist/server/request.js +22 -16
- package/dist/server/request.js.map +1 -1
- package/dist/server/response.d.ts +19 -10
- package/dist/server/response.d.ts.map +1 -1
- package/dist/server/response.js +98 -72
- package/dist/server/response.js.map +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +8 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/reporter.d.mts.map +1 -1
- package/dist/testing/reporter.mjs +18 -0
- package/dist/testing/reporter.mjs.map +1 -1
- package/dist/utils/ttl-cache.d.ts +11 -0
- package/dist/utils/ttl-cache.d.ts.map +1 -0
- package/dist/utils/ttl-cache.js +42 -0
- package/dist/utils/ttl-cache.js.map +1 -0
- package/dist/validator/builder.d.ts +2 -2
- package/dist/validator/builder.js +2 -2
- package/dist/validator/compile.d.ts +3 -0
- package/dist/validator/compile.d.ts.map +1 -0
- package/dist/validator/compile.js +254 -0
- package/dist/validator/compile.js.map +1 -0
- package/dist/validator/engine.d.ts +1 -0
- package/dist/validator/engine.d.ts.map +1 -1
- package/dist/validator/engine.js +285 -317
- package/dist/validator/engine.js.map +1 -1
- package/dist/validator/error.d.ts +1 -0
- package/dist/validator/error.d.ts.map +1 -1
- package/dist/validator/error.js +11 -1
- package/dist/validator/error.js.map +1 -1
- package/dist/validator/rules.d.ts +64 -0
- package/dist/validator/rules.d.ts.map +1 -0
- package/dist/validator/rules.js +655 -0
- package/dist/validator/rules.js.map +1 -0
- package/dist/validator/text.d.ts +11 -0
- package/dist/validator/text.d.ts.map +1 -0
- package/dist/validator/text.js +69 -0
- package/dist/validator/text.js.map +1 -0
- package/package.json +56 -39
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Prasanth
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
[](https://github.com/v25group/exisjs/blob/main/LICENSE)
|
|
5
5
|
[](https://github.com/v25group/exisjs/discussions)
|
|
6
6
|
|
|
7
|
-
`exisjs` is the core package for the ExisJS web framework. It provides the HTTP execution engine, file-system routing, dependency injection container,
|
|
7
|
+
`exisjs` is the core package for the ExisJS web framework. It provides the HTTP execution engine, file-system routing, dependency injection container, compiled validation schemas (`tex`), security middlewares, and OpenTelemetry instrumentation.
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -6,4 +6,6 @@ export interface BuildOptions {
|
|
|
6
6
|
mode?: string;
|
|
7
7
|
}
|
|
8
8
|
export declare function buildCommand(options?: BuildOptions): Promise<void>;
|
|
9
|
+
/** `@types/*` packages listed in devDependencies that are not installed. */
|
|
10
|
+
export declare function findMissingTypePackages(cwd: string): string[];
|
|
9
11
|
//# sourceMappingURL=build.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,wBAAsB,YAAY,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8T5E;AAID,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAmB7D"}
|
|
@@ -37,6 +37,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.buildCommand = buildCommand;
|
|
40
|
+
exports.findMissingTypePackages = findMissingTypePackages;
|
|
40
41
|
const node_path_1 = __importDefault(require("node:path"));
|
|
41
42
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
42
43
|
const node_url_1 = require("node:url");
|
|
@@ -152,7 +153,15 @@ async function buildCommand(options = {}) {
|
|
|
152
153
|
// ─── TypeScript Type-Check ─────────────────────────────────────────────────
|
|
153
154
|
// Run the TS compiler in check-only mode (no emit) to catch type errors,
|
|
154
155
|
// broken imports, and syntax errors BEFORE esbuild runs.
|
|
155
|
-
|
|
156
|
+
// Hosts that install with NODE_ENV=production (Render, Heroku...) leave out
|
|
157
|
+
// devDependencies, so the @types packages are absent and every Node global
|
|
158
|
+
// would be reported as a type error. esbuild does not need types to compile.
|
|
159
|
+
const missingTypes = process.env.NODE_ENV === 'test' ? [] : findMissingTypePackages(cwd);
|
|
160
|
+
if (missingTypes.length > 0) {
|
|
161
|
+
process.stdout.write(`\r${utils_1.c.yellow}↷${utils_1.c.reset} ${utils_1.c.dim}type-check skipped: devDependencies are not installed (${missingTypes.join(', ')}).${utils_1.c.reset}\n` +
|
|
162
|
+
`${utils_1.c.dim} To type-check on this host, install with: npm install --include=dev${utils_1.c.reset}\n`);
|
|
163
|
+
}
|
|
164
|
+
else if (process.env.NODE_ENV !== 'test') {
|
|
156
165
|
process.stdout.write(`${utils_1.c.dim}type-checking...${utils_1.c.reset}`);
|
|
157
166
|
const filesToCheck = serverEntryPoints.length > 0 ? serverEntryPoints : parsedConfig.fileNames;
|
|
158
167
|
const program = ts.createProgram(filesToCheck, {
|
|
@@ -186,7 +195,7 @@ async function buildCommand(options = {}) {
|
|
|
186
195
|
if (process.env.NODE_ENV === 'test') {
|
|
187
196
|
process.stdout.write(`\r${utils_1.c.yellow}↷${utils_1.c.reset} ${utils_1.c.dim}type-check skipped in test environment.${utils_1.c.reset}\n`);
|
|
188
197
|
}
|
|
189
|
-
else {
|
|
198
|
+
else if (missingTypes.length === 0) {
|
|
190
199
|
process.stdout.write(`\r${utils_1.c.green}✓${utils_1.c.reset} ${utils_1.c.dim}type-check passed.${utils_1.c.reset}\n`);
|
|
191
200
|
}
|
|
192
201
|
// ─── esbuild Compilation ───────────────────────────────────────────────────
|
|
@@ -281,6 +290,30 @@ async function buildCommand(options = {}) {
|
|
|
281
290
|
process.exit(0);
|
|
282
291
|
}
|
|
283
292
|
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
293
|
+
/** `@types/*` packages listed in devDependencies that are not installed. */
|
|
294
|
+
function findMissingTypePackages(cwd) {
|
|
295
|
+
let devDeps;
|
|
296
|
+
try {
|
|
297
|
+
devDeps =
|
|
298
|
+
JSON.parse(node_fs_1.default.readFileSync(node_path_1.default.join(cwd, 'package.json'), 'utf8'))
|
|
299
|
+
.devDependencies ?? {};
|
|
300
|
+
}
|
|
301
|
+
catch {
|
|
302
|
+
return [];
|
|
303
|
+
}
|
|
304
|
+
const req = typeof require !== 'undefined' ? require : eval('require');
|
|
305
|
+
return Object.keys(devDeps).filter((name) => {
|
|
306
|
+
if (!name.startsWith('@types/'))
|
|
307
|
+
return false;
|
|
308
|
+
try {
|
|
309
|
+
req.resolve(`${name}/package.json`, { paths: [cwd] });
|
|
310
|
+
return false;
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
return true;
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
284
317
|
async function fixPathAliases(cwd, outDir) {
|
|
285
318
|
try {
|
|
286
319
|
await (0, resolve_aliases_js_1.resolvePathAliases)(cwd, outDir);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,CACjC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,CACjC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Pf"}
|
|
@@ -14,7 +14,7 @@ async function doctorCommand(cwd = process.cwd()) {
|
|
|
14
14
|
// 1. Environment & Node.js Version Check
|
|
15
15
|
const nodeVer = process.version;
|
|
16
16
|
const majorNode = parseInt(nodeVer.replace(/^v/, '').split('.')[0], 10);
|
|
17
|
-
if (majorNode >=
|
|
17
|
+
if (majorNode >= 20) {
|
|
18
18
|
results.push({
|
|
19
19
|
category: 'Runtime',
|
|
20
20
|
name: 'Node.js Version',
|
|
@@ -27,44 +27,11 @@ async function doctorCommand(cwd = process.cwd()) {
|
|
|
27
27
|
category: 'Runtime',
|
|
28
28
|
name: 'Node.js Version',
|
|
29
29
|
status: 'fail',
|
|
30
|
-
message: `${nodeVer} is below minimum supported
|
|
31
|
-
hint: 'Upgrade Node.js to
|
|
30
|
+
message: `${nodeVer} is below minimum supported v20.0.0`,
|
|
31
|
+
hint: 'Upgrade Node.js to v20 or newer (an active LTS release is recommended).',
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
// 2.
|
|
35
|
-
try {
|
|
36
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
37
|
-
const rs = require('@exisjs/rs');
|
|
38
|
-
const hasRadix = typeof rs.NativeRadixTree === 'function';
|
|
39
|
-
const hasFastJson = typeof rs.fast_json_stringify === 'function';
|
|
40
|
-
if (hasRadix && hasFastJson) {
|
|
41
|
-
results.push({
|
|
42
|
-
category: 'Native Engine',
|
|
43
|
-
name: '@exisjs/rs (Rust Engine)',
|
|
44
|
-
status: 'pass',
|
|
45
|
-
message: 'Active (hardware-accelerated radix tree, off-heap cache & fast JSON)',
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
results.push({
|
|
50
|
-
category: 'Native Engine',
|
|
51
|
-
name: '@exisjs/rs (Rust Engine)',
|
|
52
|
-
status: 'warn',
|
|
53
|
-
message: 'Loaded, but some native symbols are unavailable. Fallbacks active.',
|
|
54
|
-
hint: 'Rebuild native bindings using "npm run build --workspace=packages/rs".',
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
results.push({
|
|
60
|
-
category: 'Native Engine',
|
|
61
|
-
name: '@exisjs/rs (Rust Engine)',
|
|
62
|
-
status: 'warn',
|
|
63
|
-
message: 'Not loaded. Framework running in graceful pure-JS fallback mode.',
|
|
64
|
-
hint: 'Run "npm install @exisjs/rs" or build from source to unlock 10x off-heap routing performance.',
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
// 3. Project Configuration & Directory Structure Check
|
|
34
|
+
// 2. Project Configuration & Directory Structure Check
|
|
68
35
|
const pkgPath = node_path_1.default.join(cwd, 'package.json');
|
|
69
36
|
if (node_fs_1.default.existsSync(pkgPath)) {
|
|
70
37
|
results.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":";;;;;AAYA,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAO1C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAID,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,QAAQ,CAAC,UAAU,CAAC,EAClB,KAAK,GACL,OAAO,GACP,OAAO,GACP,KAAK,GACL,mBAAmB,GACnB,aAAa,GACb,uBAAuB,CAC1B,GAAG;IACF,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IACvB,iBAAiB,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAA;IACnD,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IACvC,qBAAqB,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,cAkD3B,CAAA;AAID,wBAAgB,WAAW,CACzB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,UAAU,GACnB,cAAc,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAO1C,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAE3D;AAID,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,QAAQ,CAAC,UAAU,CAAC,EAClB,KAAK,GACL,OAAO,GACP,OAAO,GACP,KAAK,GACL,mBAAmB,GACnB,aAAa,GACb,uBAAuB,CAC1B,GAAG;IACF,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAA;IAC3B,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;IACvB,iBAAiB,CAAC,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAA;IACnD,WAAW,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAA;IACvC,qBAAqB,CAAC,EAAE,UAAU,CAAC,uBAAuB,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,cAkD3B,CAAA;AAID,wBAAgB,WAAW,CACzB,IAAI,EAAE,cAAc,EACpB,QAAQ,EAAE,UAAU,GACnB,cAAc,CAyChB;AAWD,wBAAsB,UAAU,CAC9B,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,cAAc,CAAC,CA0FzB"}
|
package/dist/config/config.js
CHANGED
|
@@ -90,6 +90,16 @@ function mergeConfig(base, override) {
|
|
|
90
90
|
result[key] = val;
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
+
else if (key === 'plugins' && Array.isArray(val)) {
|
|
94
|
+
// Plugins accumulate: those from exis.config.ts and those passed to
|
|
95
|
+
// exis({ plugins }) are all registered, instead of one list replacing
|
|
96
|
+
// the other
|
|
97
|
+
const existing = Array.isArray(base.plugins) ? base.plugins : [];
|
|
98
|
+
result.plugins = [
|
|
99
|
+
...existing,
|
|
100
|
+
...val.filter((p) => !existing.includes(p)),
|
|
101
|
+
];
|
|
102
|
+
}
|
|
93
103
|
else {
|
|
94
104
|
;
|
|
95
105
|
result[key] = val;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;;;;AAOA,oCAEC;AA6ED,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -33,8 +33,16 @@ export interface Logger {
|
|
|
33
33
|
}
|
|
34
34
|
export interface HelmetConfig {
|
|
35
35
|
enabled?: boolean;
|
|
36
|
-
|
|
36
|
+
/** `true` applies a strict default policy; a string is used verbatim (may contain `{nonce}`) */
|
|
37
|
+
contentSecurityPolicy?: boolean | string;
|
|
37
38
|
xFrameOptions?: 'DENY' | 'SAMEORIGIN';
|
|
39
|
+
hsts?: boolean | {
|
|
40
|
+
maxAge: number;
|
|
41
|
+
includeSubDomains: boolean;
|
|
42
|
+
};
|
|
43
|
+
noSniff?: boolean;
|
|
44
|
+
xssFilter?: boolean;
|
|
45
|
+
hidePoweredBy?: boolean;
|
|
38
46
|
}
|
|
39
47
|
export interface KeepAliveConfig {
|
|
40
48
|
timeoutMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAIzC,MAAM,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,CAAA;AAE7E,MAAM,MAAM,YAAY,GAAG,CACzB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,kBAAkB,KAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;AAEtC,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,YAAY,CAAA;IACvE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAID,MAAM,WAAW,KAAK;IACpB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;IACvC,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAA;CACvE;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,IAAI,EAAE,KAAK,CAAA;IACX,IAAI,EAAE,KAAK,CAAA;IACX,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,KAAK,CAAA;IACb,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA;IAChD,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,qBAAqB,CAAC,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,13 @@ export interface DatabaseRegistration {
|
|
|
21
21
|
export declare class DatabaseManager {
|
|
22
22
|
private static databases;
|
|
23
23
|
private static isShutdownHookRegistered;
|
|
24
|
+
private static appManagedShutdown;
|
|
25
|
+
/**
|
|
26
|
+
* Called by the server when it starts listening. From then on the app's
|
|
27
|
+
* graceful shutdown disconnects databases, after in-flight requests have
|
|
28
|
+
* drained, so the manager's own signal handlers must not close them early.
|
|
29
|
+
*/
|
|
30
|
+
static deferShutdownToApp(): void;
|
|
24
31
|
/**
|
|
25
32
|
* Registers a database connection lifecycle with the framework.
|
|
26
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/database/lifecycle.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC9B,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,OAAO,CAAA;AAEvD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,oBAAoB,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtC,SAAS,CAAC,EAAE,MACV,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,OAAO,GAAG,kBAAkB,CAAA;IACtE,WAAW,CAAC,EAAE,MACZ,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,OAAO,GAAG,kBAAkB,CAAA;CACvE;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/database/lifecycle.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAC9B,WAAW,GAAG,YAAY,GAAG,cAAc,GAAG,OAAO,CAAA;AAEvD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,oBAAoB,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACnC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACtC,SAAS,CAAC,EAAE,MACV,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,OAAO,GAAG,kBAAkB,CAAA;IACtE,WAAW,CAAC,EAAE,MACZ,OAAO,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,OAAO,GAAG,kBAAkB,CAAA;CACvE;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,SAAS,CAMrB;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAQ;IAC/C,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAQ;IAEzC;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,IAAI,IAAI;IAIjC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,oBAAoB,GAAG,IAAI;IAK/C;;OAEG;WACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBxC;;OAEG;WACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB3C;;OAEG;WACU,WAAW,IAAI,OAAO,CAAC;QAClC,OAAO,EAAE,OAAO,CAAA;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;KAC9C,CAAC;IAgDF;;OAEG;IACH,MAAM,KAAK,IAAI,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,IAAI,IAAI;IAKpB,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAgBnC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE,oBAAoB,GAC7B,IAAI,CAGN"}
|
|
@@ -8,6 +8,14 @@ exports.registerDatabase = registerDatabase;
|
|
|
8
8
|
* (Mongoose, Prisma, Drizzle, PostgreSQL, MySQL, SQLite, Redis).
|
|
9
9
|
*/
|
|
10
10
|
class DatabaseManager {
|
|
11
|
+
/**
|
|
12
|
+
* Called by the server when it starts listening. From then on the app's
|
|
13
|
+
* graceful shutdown disconnects databases, after in-flight requests have
|
|
14
|
+
* drained, so the manager's own signal handlers must not close them early.
|
|
15
|
+
*/
|
|
16
|
+
static deferShutdownToApp() {
|
|
17
|
+
this.appManagedShutdown = true;
|
|
18
|
+
}
|
|
11
19
|
/**
|
|
12
20
|
* Registers a database connection lifecycle with the framework.
|
|
13
21
|
*/
|
|
@@ -25,6 +33,7 @@ class DatabaseManager {
|
|
|
25
33
|
try {
|
|
26
34
|
await db.connect();
|
|
27
35
|
db._connected = true;
|
|
36
|
+
db._disconnecting = undefined;
|
|
28
37
|
}
|
|
29
38
|
catch (err) {
|
|
30
39
|
const error = new Error(`[ExisJS Database] Failed to connect database "${name}": ${err.message}`);
|
|
@@ -37,14 +46,22 @@ class DatabaseManager {
|
|
|
37
46
|
* Disconnects all registered databases gracefully.
|
|
38
47
|
*/
|
|
39
48
|
static async disconnectAll() {
|
|
40
|
-
const disconnectPromises = Array.from(this.databases.values()).map(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
49
|
+
const disconnectPromises = Array.from(this.databases.values()).map((db) => {
|
|
50
|
+
// Each database is disconnected once: repeated or concurrent calls
|
|
51
|
+
// (signal handler, app.close(), user code) share the first attempt.
|
|
52
|
+
// Drivers such as pg and Neon throw if a pool is ended twice.
|
|
53
|
+
if (!db._disconnecting) {
|
|
54
|
+
db._disconnecting = (async () => {
|
|
55
|
+
try {
|
|
56
|
+
await db.disconnect();
|
|
57
|
+
db._connected = false;
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
console.error(`[ExisJS Database] Error disconnecting "${db.name}":`, err);
|
|
61
|
+
}
|
|
62
|
+
})();
|
|
47
63
|
}
|
|
64
|
+
return db._disconnecting;
|
|
48
65
|
});
|
|
49
66
|
await Promise.allSettled(disconnectPromises);
|
|
50
67
|
}
|
|
@@ -109,12 +126,17 @@ class DatabaseManager {
|
|
|
109
126
|
*/
|
|
110
127
|
static clear() {
|
|
111
128
|
this.databases.clear();
|
|
129
|
+
this.appManagedShutdown = false;
|
|
112
130
|
}
|
|
113
131
|
static ensureShutdownHooks() {
|
|
114
132
|
if (this.isShutdownHookRegistered)
|
|
115
133
|
return;
|
|
116
134
|
this.isShutdownHookRegistered = true;
|
|
135
|
+
// Only for scripts and workers that register a database without
|
|
136
|
+
// running an HTTP server
|
|
117
137
|
const shutdownHandler = async () => {
|
|
138
|
+
if (DatabaseManager.appManagedShutdown)
|
|
139
|
+
return;
|
|
118
140
|
await DatabaseManager.disconnectAll();
|
|
119
141
|
};
|
|
120
142
|
if (typeof process !== 'undefined' && typeof process.on === 'function') {
|
|
@@ -126,6 +148,7 @@ class DatabaseManager {
|
|
|
126
148
|
exports.DatabaseManager = DatabaseManager;
|
|
127
149
|
DatabaseManager.databases = new Map();
|
|
128
150
|
DatabaseManager.isShutdownHookRegistered = false;
|
|
151
|
+
DatabaseManager.appManagedShutdown = false;
|
|
129
152
|
/**
|
|
130
153
|
* Convenience helper to register database lifecycle hooks.
|
|
131
154
|
* Supports both `registerDatabase(options)` and `registerDatabase(app, options)`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/database/lifecycle.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/database/lifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,10 +9,7 @@ export interface CacheEvictOptions {
|
|
|
9
9
|
key: string | ((...args: any[]) => string);
|
|
10
10
|
}
|
|
11
11
|
declare class MethodCacheStore {
|
|
12
|
-
private
|
|
13
|
-
private fallbackCache;
|
|
14
|
-
private isFallback;
|
|
15
|
-
constructor();
|
|
12
|
+
private cache;
|
|
16
13
|
get(key: string): any;
|
|
17
14
|
set(key: string, value: any, ttlSeconds?: number): void;
|
|
18
15
|
delete(key: string): void;
|
|
@@ -20,7 +17,7 @@ declare class MethodCacheStore {
|
|
|
20
17
|
}
|
|
21
18
|
export declare const methodCache: MethodCacheStore;
|
|
22
19
|
/**
|
|
23
|
-
* Caches the return value of a service method
|
|
20
|
+
* Caches the return value of a service method in a bounded in-memory cache.
|
|
24
21
|
*
|
|
25
22
|
* @example
|
|
26
23
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"caching.d.ts","sourceRoot":"","sources":["../../src/decorators/caching.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"caching.d.ts","sourceRoot":"","sources":["../../src/decorators/caching.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAA;CAC5C;AAED,MAAM,WAAW,iBAAiB;IAChC,oDAAoD;IACpD,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAA;CAC3C;AAED,cAAM,gBAAgB;IACpB,OAAO,CAAC,KAAK,CAA2B;IAEjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,SAAM,GAAG,IAAI;IAIpD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIzB,KAAK,IAAI,IAAI;CAGrB;AAED,eAAO,MAAM,WAAW,kBAAyB,CAAA;AAEjD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,eAAe,CAkCzE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAwBtE"}
|
|
@@ -3,81 +3,27 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.methodCache = void 0;
|
|
4
4
|
exports.Cacheable = Cacheable;
|
|
5
5
|
exports.CacheEvict = CacheEvict;
|
|
6
|
+
const ttl_cache_1 = require("../utils/ttl-cache");
|
|
6
7
|
class MethodCacheStore {
|
|
7
8
|
constructor() {
|
|
8
|
-
this.
|
|
9
|
-
this.isFallback = false;
|
|
10
|
-
try {
|
|
11
|
-
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
12
|
-
const { NativeMemoryCache } = require('@exisjs/rs');
|
|
13
|
-
this.nativeCache = new NativeMemoryCache(50000);
|
|
14
|
-
}
|
|
15
|
-
catch {
|
|
16
|
-
this.isFallback = true;
|
|
17
|
-
}
|
|
9
|
+
this.cache = new ttl_cache_1.TtlCache(50000);
|
|
18
10
|
}
|
|
19
11
|
get(key) {
|
|
20
|
-
|
|
21
|
-
try {
|
|
22
|
-
const raw = this.nativeCache.get(key);
|
|
23
|
-
if (raw !== undefined && raw !== null) {
|
|
24
|
-
return JSON.parse(raw);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
// Fall back to memory map
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
const item = this.fallbackCache.get(key);
|
|
32
|
-
if (!item)
|
|
33
|
-
return undefined;
|
|
34
|
-
if (Date.now() > item.exp) {
|
|
35
|
-
this.fallbackCache.delete(key);
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
return item.val;
|
|
12
|
+
return this.cache.get(key);
|
|
39
13
|
}
|
|
40
14
|
set(key, value, ttlSeconds = 300) {
|
|
41
|
-
|
|
42
|
-
try {
|
|
43
|
-
this.nativeCache.set(key, JSON.stringify(value), ttlSeconds * 1000);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// Fall back
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
this.fallbackCache.set(key, {
|
|
51
|
-
val: value,
|
|
52
|
-
exp: Date.now() + ttlSeconds * 1000,
|
|
53
|
-
});
|
|
15
|
+
this.cache.set(key, value, ttlSeconds * 1000);
|
|
54
16
|
}
|
|
55
17
|
delete(key) {
|
|
56
|
-
|
|
57
|
-
try {
|
|
58
|
-
this.nativeCache.delete(key);
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
// noop
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
this.fallbackCache.delete(key);
|
|
18
|
+
this.cache.delete(key);
|
|
65
19
|
}
|
|
66
20
|
clear() {
|
|
67
|
-
|
|
68
|
-
try {
|
|
69
|
-
this.nativeCache.clear();
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
// noop
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
this.fallbackCache.clear();
|
|
21
|
+
this.cache.clear();
|
|
76
22
|
}
|
|
77
23
|
}
|
|
78
24
|
exports.methodCache = new MethodCacheStore();
|
|
79
25
|
/**
|
|
80
|
-
* Caches the return value of a service method
|
|
26
|
+
* Caches the return value of a service method in a bounded in-memory cache.
|
|
81
27
|
*
|
|
82
28
|
* @example
|
|
83
29
|
* ```ts
|