@spinajs/http 2.0.331 → 2.0.332
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/lib/cjs/cache.d.ts +28 -0
- package/lib/cjs/cache.d.ts.map +1 -0
- package/lib/cjs/cache.js +79 -0
- package/lib/cjs/cache.js.map +1 -0
- package/lib/cjs/cli/GenerateControllerCache.d.ts +14 -0
- package/lib/cjs/cli/GenerateControllerCache.d.ts.map +1 -0
- package/lib/cjs/cli/GenerateControllerCache.js +41 -0
- package/lib/cjs/cli/GenerateControllerCache.js.map +1 -0
- package/lib/cjs/config/http.d.ts +2 -1
- package/lib/cjs/config/http.d.ts.map +1 -1
- package/lib/cjs/config/http.js +9 -4
- package/lib/cjs/config/http.js.map +1 -1
- package/lib/cjs/controllers.d.ts +2 -18
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +5 -46
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/mjs/cache.d.ts +28 -0
- package/lib/mjs/cache.d.ts.map +1 -0
- package/lib/mjs/cache.js +75 -0
- package/lib/mjs/cache.js.map +1 -0
- package/lib/mjs/cli/GenerateControllerCache.d.ts +14 -0
- package/lib/mjs/cli/GenerateControllerCache.d.ts.map +1 -0
- package/lib/mjs/cli/GenerateControllerCache.js +38 -0
- package/lib/mjs/cli/GenerateControllerCache.js.map +1 -0
- package/lib/mjs/config/http.d.ts +2 -1
- package/lib/mjs/config/http.d.ts.map +1 -1
- package/lib/mjs/config/http.js +9 -4
- package/lib/mjs/config/http.js.map +1 -1
- package/lib/mjs/controllers.d.ts +2 -18
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +6 -47
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +11 -11
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ClassInfo } from '@spinajs/di';
|
|
2
|
+
import { fs as fFs, FileHasher } from '@spinajs/fs';
|
|
3
|
+
import { BaseController } from './controllers.js';
|
|
4
|
+
import { Log } from '@spinajs/log';
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* We store parameter info in cache files
|
|
8
|
+
* Parsing ts files is slow.
|
|
9
|
+
*
|
|
10
|
+
* We do this becouse ts is not providing parameter names from functions - data is lost during runtime
|
|
11
|
+
* And we need this for proper parameter assignment in controller routes
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class DefaultControllerCache {
|
|
15
|
+
protected Log: Log;
|
|
16
|
+
/**
|
|
17
|
+
* Loaded controllers
|
|
18
|
+
*/
|
|
19
|
+
Controllers: Promise<Array<ClassInfo<BaseController>>>;
|
|
20
|
+
/**
|
|
21
|
+
* File system for temporary files for storing controllers cache
|
|
22
|
+
*/
|
|
23
|
+
protected CacheFS: fFs;
|
|
24
|
+
protected Hasher: FileHasher;
|
|
25
|
+
getCache(controller: ClassInfo<BaseController>): Promise<any>;
|
|
26
|
+
generate(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,EAAE,IAAI,GAAG,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IAEjC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9D;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAEhB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IAa9C,QAAQ;CAgCtB"}
|
package/lib/cjs/cache.js
ADDED
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DefaultControllerCache = void 0;
|
|
13
|
+
const di_1 = require("@spinajs/di");
|
|
14
|
+
const reflection_1 = require("@spinajs/reflection");
|
|
15
|
+
const fs_1 = require("@spinajs/fs");
|
|
16
|
+
const log_1 = require("@spinajs/log");
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* We store parameter info in cache files
|
|
20
|
+
* Parsing ts files is slow.
|
|
21
|
+
*
|
|
22
|
+
* We do this becouse ts is not providing parameter names from functions - data is lost during runtime
|
|
23
|
+
* And we need this for proper parameter assignment in controller routes
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
class DefaultControllerCache {
|
|
27
|
+
async getCache(controller) {
|
|
28
|
+
const file = controller.file.replace('.js', '.d.ts');
|
|
29
|
+
const hash = await this.Hasher.hash(file);
|
|
30
|
+
const exists = await this.CacheFS.exists(hash);
|
|
31
|
+
if (!exists) {
|
|
32
|
+
this.Log.warn(`Controller cache not exists for ${controller.name}, regenerating cache ...`);
|
|
33
|
+
await this.generate();
|
|
34
|
+
}
|
|
35
|
+
return await this.CacheFS.read(hash).then((x) => JSON.parse(x));
|
|
36
|
+
}
|
|
37
|
+
async generate() {
|
|
38
|
+
const controllers = await this.Controllers;
|
|
39
|
+
for (const controller of controllers) {
|
|
40
|
+
const file = controller.file.replace('.js', '.d.ts');
|
|
41
|
+
const hash = await this.Hasher.hash(file);
|
|
42
|
+
let parameters = {};
|
|
43
|
+
const exists = await this.CacheFS.exists(hash);
|
|
44
|
+
if (!exists) {
|
|
45
|
+
this.Log.trace(`Controller cache not exists for ${controller.name}, generating cache...`);
|
|
46
|
+
const compiler = new reflection_1.TypescriptCompiler(file);
|
|
47
|
+
const members = compiler.getClassMembers(controller.name);
|
|
48
|
+
members.forEach((v, k) => {
|
|
49
|
+
v.parameters.forEach((p) => {
|
|
50
|
+
if (!parameters[k]) {
|
|
51
|
+
parameters[k] = [];
|
|
52
|
+
}
|
|
53
|
+
parameters[k][v.parameters.indexOf(p)] = p.name.text;
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
await this.CacheFS.write(hash, JSON.stringify(parameters));
|
|
57
|
+
this.Log.trace(`Ending generating controller cache for ${controller.name}`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.DefaultControllerCache = DefaultControllerCache;
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, log_1.Logger)('http'),
|
|
65
|
+
__metadata("design:type", log_1.Log)
|
|
66
|
+
], DefaultControllerCache.prototype, "Log", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, reflection_1.ListFromFiles)('/**/!(*.d).{ts,js}', 'system.dirs.controllers'),
|
|
69
|
+
__metadata("design:type", Promise)
|
|
70
|
+
], DefaultControllerCache.prototype, "Controllers", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, fs_1.FileSystem)('__fs_controller_cache__'),
|
|
73
|
+
__metadata("design:type", fs_1.fs)
|
|
74
|
+
], DefaultControllerCache.prototype, "CacheFS", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, di_1.Autoinject)(fs_1.FileHasher),
|
|
77
|
+
__metadata("design:type", fs_1.FileHasher)
|
|
78
|
+
], DefaultControllerCache.prototype, "Hasher", void 0);
|
|
79
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,oCAAoD;AACpD,oDAAwE;AACxE,oCAAgE;AAEhE,sCAA2C;AAE3C;;;;;;;;GAQG;AACH,MAAa,sBAAsB;IAmB1B,KAAK,CAAC,QAAQ,CAAC,UAAqC;QACzD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,EAAE;YACX,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAmC,UAAU,CAAC,IAAI,0BAA0B,CAAC,CAAC;YAC5F,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;SACvB;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,QAAQ;QACnB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QAE3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,UAAU,GAEV,EAAE,CAAC;YAEP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,MAAM,EAAE;gBACX,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAmC,UAAU,CAAC,IAAI,uBAAuB,CAAC,CAAC;gBAE1F,MAAM,QAAQ,GAAG,IAAI,+BAAkB,CAAC,IAAI,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC1D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACvB,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE;wBAC9B,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;4BAClB,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;yBACpB;wBAED,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvD,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;gBAE3D,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0CAA0C,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7E;SACF;IACH,CAAC;CACF;AAhED,wDAgEC;AA9DW;IADT,IAAA,YAAM,EAAC,MAAM,CAAC;8BACA,SAAG;mDAAC;AAMZ;IADN,IAAA,0BAAa,EAAC,oBAAoB,EAAE,yBAAyB,CAAC;;2DACD;AAMpD;IADT,IAAA,eAAU,EAAC,yBAAyB,CAAC;8BACnB,OAAG;uDAAC;AAGb;IADT,IAAA,eAAU,EAAC,eAAU,CAAC;8BACL,eAAU;sDAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CliCommand } from '@spinajs/cli';
|
|
2
|
+
import { Log } from '@spinajs/log-common';
|
|
3
|
+
import { DefaultControllerCache } from '../cache.js';
|
|
4
|
+
import { fs as fFs } from '@spinajs/fs';
|
|
5
|
+
export declare class ControllersCacheCommand extends CliCommand {
|
|
6
|
+
protected Log: Log;
|
|
7
|
+
/**
|
|
8
|
+
* File system for temporary files for storing controllers cache
|
|
9
|
+
*/
|
|
10
|
+
protected CacheFS: fFs;
|
|
11
|
+
protected Cache: DefaultControllerCache;
|
|
12
|
+
execute(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=GenerateControllerCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateControllerCache.d.ts","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAc,EAAE,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAEpD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ControllersCacheCommand = void 0;
|
|
13
|
+
const cli_1 = require("@spinajs/cli");
|
|
14
|
+
const log_common_1 = require("@spinajs/log-common");
|
|
15
|
+
const cache_js_1 = require("../cache.js");
|
|
16
|
+
const di_1 = require("@spinajs/di");
|
|
17
|
+
const fs_1 = require("@spinajs/fs");
|
|
18
|
+
let ControllersCacheCommand = class ControllersCacheCommand extends cli_1.CliCommand {
|
|
19
|
+
async execute() {
|
|
20
|
+
this.Log.info('Generating controllers cache ...');
|
|
21
|
+
await this.Cache.generate();
|
|
22
|
+
this.Log.info('Controllers cache generated at path: ', this.CacheFS.resolvePath(''));
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.ControllersCacheCommand = ControllersCacheCommand;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, log_common_1.Logger)('http'),
|
|
28
|
+
__metadata("design:type", log_common_1.Log)
|
|
29
|
+
], ControllersCacheCommand.prototype, "Log", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, fs_1.FileSystem)('__fs_controller_cache__'),
|
|
32
|
+
__metadata("design:type", fs_1.fs)
|
|
33
|
+
], ControllersCacheCommand.prototype, "CacheFS", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, di_1.Autoinject)(),
|
|
36
|
+
__metadata("design:type", cache_js_1.DefaultControllerCache)
|
|
37
|
+
], ControllersCacheCommand.prototype, "Cache", void 0);
|
|
38
|
+
exports.ControllersCacheCommand = ControllersCacheCommand = __decorate([
|
|
39
|
+
(0, cli_1.Command)('http:controllers:cache', 'generate controllers cache')
|
|
40
|
+
], ControllersCacheCommand);
|
|
41
|
+
//# sourceMappingURL=GenerateControllerCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateControllerCache.js","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmD;AACnD,oDAAkD;AAClD,0CAAqD;AACrD,oCAAyC;AACzC,oCAAoD;AAG7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,gBAAU;IAa9C,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;CACF,CAAA;AAlBY,0DAAuB;AAExB;IADT,IAAA,mBAAM,EAAC,MAAM,CAAC;8BACA,gBAAG;oDAAC;AAMT;IADT,IAAA,eAAU,EAAC,yBAAyB,CAAC;8BACnB,OAAG;wDAAC;AAGb;IADT,IAAA,eAAU,GAAE;8BACI,iCAAsB;sDAAC;kCAX7B,uBAAuB;IADnC,IAAA,aAAO,EAAC,wBAAwB,EAAE,4BAA4B,CAAC;GACnD,uBAAuB,CAkBnC"}
|
package/lib/cjs/config/http.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ declare const http: {
|
|
|
5
5
|
dirs: {
|
|
6
6
|
locales: string[];
|
|
7
7
|
controllers: string[];
|
|
8
|
+
cli: string[];
|
|
8
9
|
};
|
|
9
10
|
};
|
|
10
11
|
cookie: {
|
|
@@ -44,7 +45,7 @@ declare const http: {
|
|
|
44
45
|
/**
|
|
45
46
|
* full path to folder with static content
|
|
46
47
|
*/
|
|
47
|
-
Path: string;
|
|
48
|
+
Path: string[];
|
|
48
49
|
}[];
|
|
49
50
|
/**
|
|
50
51
|
* Whitch accept headers we support (default JSON & HTML)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAqB9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6DN;;WAEG;;YAGC;;eAEG;;YAGH;;eAEG;;;QAKP;;WAEG;;QAGH;;;WAGG;;;CAgBN,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/lib/cjs/config/http.js
CHANGED
|
@@ -11,7 +11,11 @@ const path_1 = require("path");
|
|
|
11
11
|
const os_1 = __importDefault(require("os"));
|
|
12
12
|
function dir(path) {
|
|
13
13
|
const inCommonJs = typeof module !== 'undefined';
|
|
14
|
-
return
|
|
14
|
+
return [
|
|
15
|
+
(0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), 'node_modules', '@spinajs', 'http', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
|
|
16
|
+
// one up if we run from app or build folder
|
|
17
|
+
(0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), '../', 'node_modules', '@spinajs', 'http', 'lib', inCommonJs ? 'cjs' : 'mjs', path))),
|
|
18
|
+
];
|
|
15
19
|
}
|
|
16
20
|
function dir_cwd(path) {
|
|
17
21
|
return (0, path_1.resolve)((0, path_1.normalize)((0, path_1.join)(process.cwd(), path)));
|
|
@@ -19,8 +23,9 @@ function dir_cwd(path) {
|
|
|
19
23
|
const http = {
|
|
20
24
|
system: {
|
|
21
25
|
dirs: {
|
|
22
|
-
locales: [dir('locales')],
|
|
23
|
-
controllers: [dir('controllers')],
|
|
26
|
+
locales: [...dir('locales')],
|
|
27
|
+
controllers: [...dir('controllers')],
|
|
28
|
+
cli: [...dir('cli')],
|
|
24
29
|
},
|
|
25
30
|
},
|
|
26
31
|
cookie: {
|
|
@@ -47,7 +52,7 @@ const http = {
|
|
|
47
52
|
{
|
|
48
53
|
service: 'fsNative',
|
|
49
54
|
name: '__fs_controller_cache__',
|
|
50
|
-
basePath: dir_cwd('
|
|
55
|
+
basePath: dir_cwd('./__cache__/__controllers__'),
|
|
51
56
|
},
|
|
52
57
|
],
|
|
53
58
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";;;;;AAAA,sDAA8B;AAC9B,oDAA4B;AAC5B,kEAAyC;AACzC,8DAAsC;AACtC,+BAAgD;AAChD,4CAAoB;AAEpB,SAAS,GAAG,CAAC,IAAY;IACvB,MAAM,UAAU,GAAG,OAAO,MAAM,KAAK,WAAW,CAAC;IACjD,OAAO,IAAA,cAAO,EAAC,IAAA,gBAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/controllers.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { DataValidator } from '@spinajs/validation';
|
|
|
7
7
|
import { Configuration } from '@spinajs/configuration';
|
|
8
8
|
import { HttpServer } from './server.js';
|
|
9
9
|
import { IController, IControllerDescriptor, IActionLocalStoregeContext } from './interfaces.js';
|
|
10
|
-
import {
|
|
10
|
+
import { DefaultControllerCache } from './cache.js';
|
|
11
11
|
export declare abstract class BaseController extends AsyncService implements IController {
|
|
12
12
|
/**
|
|
13
13
|
* Array index getter
|
|
@@ -43,25 +43,9 @@ export declare class Controllers extends AsyncService {
|
|
|
43
43
|
protected Log: Log;
|
|
44
44
|
protected Container: IContainer;
|
|
45
45
|
protected Server: HttpServer;
|
|
46
|
-
|
|
47
|
-
* File system for temporary files for storing controllers cache
|
|
48
|
-
*/
|
|
49
|
-
protected CacheFS: fFs;
|
|
50
|
-
protected Hasher: FileHasher;
|
|
46
|
+
protected ControllersCache: DefaultControllerCache;
|
|
51
47
|
registerFromFile(file: string): Promise<void>;
|
|
52
48
|
register(controller: ClassInfo<BaseController>): Promise<void>;
|
|
53
49
|
resolve(): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
* We store parameter info in cache files
|
|
57
|
-
* Parsing ts files is slow.
|
|
58
|
-
*
|
|
59
|
-
* We do this becouse ts is not providing parameter names from functions - data is lost during runtime
|
|
60
|
-
* And we need this for proper parameter assignment in controller routes
|
|
61
|
-
*
|
|
62
|
-
* @param controller
|
|
63
|
-
* @returns
|
|
64
|
-
*/
|
|
65
|
-
private _getCachedControllerData;
|
|
66
50
|
}
|
|
67
51
|
//# sourceMappingURL=controllers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,MAAM,aAAa,CAAC;AAG7F,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"controllers.d.ts","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAKrD,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAkB,SAAS,EAAa,MAAM,aAAa,CAAC;AAG7F,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAiC,WAAW,EAAE,qBAAqB,EAAgG,0BAA0B,EAAW,MAAM,iBAAiB,CAAC;AAGvO,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,8BAAsB,cAAe,SAAQ,YAAa,YAAW,WAAW;IAC9E;;OAEG;IACH,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC;IAEtB,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC;IAGlC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC;IAGpC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC;IAGpB,SAAS,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,0BAA0B,CAAC,CAAC;IAG7E,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAAC,MAAM,CAElC;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,qBAAqB,CAE7C;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAEY,OAAO;CA6LrB;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAG9D,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAGnB,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC;IAGhC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAG7B,SAAS,CAAC,gBAAgB,EAAE,sBAAsB,CAAC;IAEtC,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAmB7B,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IA0B9C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAItC"}
|
package/lib/cjs/controllers.js
CHANGED
|
@@ -52,7 +52,7 @@ const server_js_1 = require("./server.js");
|
|
|
52
52
|
const interfaces_js_1 = require("./interfaces.js");
|
|
53
53
|
const decorators_js_1 = require("./decorators.js");
|
|
54
54
|
const util_1 = require("@spinajs/util");
|
|
55
|
-
const
|
|
55
|
+
const cache_js_1 = require("./cache.js");
|
|
56
56
|
class BaseController extends di_1.AsyncService {
|
|
57
57
|
/**
|
|
58
58
|
* Express router with middleware stack
|
|
@@ -281,7 +281,7 @@ class Controllers extends di_1.AsyncService {
|
|
|
281
281
|
}
|
|
282
282
|
async register(controller) {
|
|
283
283
|
this.Log.trace(`Loading controller: ${controller.name}`);
|
|
284
|
-
const parameters = await this.
|
|
284
|
+
const parameters = await this.ControllersCache.getCache(controller);
|
|
285
285
|
if (!controller.instance.Descriptor) {
|
|
286
286
|
this.Log.warn(`Controller ${controller.name} in file ${controller.file} dont have descriptor or routes defined`);
|
|
287
287
|
}
|
|
@@ -307,43 +307,6 @@ class Controllers extends di_1.AsyncService {
|
|
|
307
307
|
const controllers = await this.Controllers;
|
|
308
308
|
await Promise.all(controllers.map((x) => this.register(x)));
|
|
309
309
|
}
|
|
310
|
-
/**
|
|
311
|
-
*
|
|
312
|
-
* We store parameter info in cache files
|
|
313
|
-
* Parsing ts files is slow.
|
|
314
|
-
*
|
|
315
|
-
* We do this becouse ts is not providing parameter names from functions - data is lost during runtime
|
|
316
|
-
* And we need this for proper parameter assignment in controller routes
|
|
317
|
-
*
|
|
318
|
-
* @param controller
|
|
319
|
-
* @returns
|
|
320
|
-
*/
|
|
321
|
-
async _getCachedControllerData(controller) {
|
|
322
|
-
const file = controller.file.replace('.js', '.d.ts');
|
|
323
|
-
const hash = await this.Hasher.hash(file);
|
|
324
|
-
let parameters = {};
|
|
325
|
-
const exists = await this.CacheFS.exists(hash);
|
|
326
|
-
if (!exists) {
|
|
327
|
-
this.Log.trace(`Controller cache not exists for ${controller.name}, generating cache...`);
|
|
328
|
-
const compiler = new reflection_1.TypescriptCompiler(file);
|
|
329
|
-
const members = compiler.getClassMembers(controller.name);
|
|
330
|
-
members.forEach((v, k) => {
|
|
331
|
-
v.parameters.forEach((p) => {
|
|
332
|
-
if (!parameters[k]) {
|
|
333
|
-
parameters[k] = [];
|
|
334
|
-
}
|
|
335
|
-
parameters[k][v.parameters.indexOf(p)] = p.name.text;
|
|
336
|
-
});
|
|
337
|
-
});
|
|
338
|
-
await this.CacheFS.write(hash, JSON.stringify(parameters));
|
|
339
|
-
this.Log.trace(`Ending generating controller cache for ${controller.name}`);
|
|
340
|
-
}
|
|
341
|
-
else {
|
|
342
|
-
this.Log.trace(`Cache exists for controller ${controller.name}, loading from file...`);
|
|
343
|
-
parameters = await this.CacheFS.read(hash).then((x) => JSON.parse(x));
|
|
344
|
-
}
|
|
345
|
-
return parameters;
|
|
346
|
-
}
|
|
347
310
|
}
|
|
348
311
|
exports.Controllers = Controllers;
|
|
349
312
|
__decorate([
|
|
@@ -363,11 +326,7 @@ __decorate([
|
|
|
363
326
|
__metadata("design:type", server_js_1.HttpServer)
|
|
364
327
|
], Controllers.prototype, "Server", void 0);
|
|
365
328
|
__decorate([
|
|
366
|
-
(0,
|
|
367
|
-
__metadata("design:type",
|
|
368
|
-
], Controllers.prototype, "
|
|
369
|
-
__decorate([
|
|
370
|
-
(0, di_1.Autoinject)(fs_1.FileHasher),
|
|
371
|
-
__metadata("design:type", fs_1.FileHasher)
|
|
372
|
-
], Controllers.prototype, "Hasher", void 0);
|
|
329
|
+
(0, di_1.Autoinject)(),
|
|
330
|
+
__metadata("design:type", cache_js_1.DefaultControllerCache)
|
|
331
|
+
], Controllers.prototype, "ControllersCache", void 0);
|
|
373
332
|
//# sourceMappingURL=controllers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controllers.js","sourceRoot":"","sources":["../../src/controllers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ClassInfo } from '@spinajs/di';
|
|
2
|
+
import { fs as fFs, FileHasher } from '@spinajs/fs';
|
|
3
|
+
import { BaseController } from './controllers.js';
|
|
4
|
+
import { Log } from '@spinajs/log';
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* We store parameter info in cache files
|
|
8
|
+
* Parsing ts files is slow.
|
|
9
|
+
*
|
|
10
|
+
* We do this becouse ts is not providing parameter names from functions - data is lost during runtime
|
|
11
|
+
* And we need this for proper parameter assignment in controller routes
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class DefaultControllerCache {
|
|
15
|
+
protected Log: Log;
|
|
16
|
+
/**
|
|
17
|
+
* Loaded controllers
|
|
18
|
+
*/
|
|
19
|
+
Controllers: Promise<Array<ClassInfo<BaseController>>>;
|
|
20
|
+
/**
|
|
21
|
+
* File system for temporary files for storing controllers cache
|
|
22
|
+
*/
|
|
23
|
+
protected CacheFS: fFs;
|
|
24
|
+
protected Hasher: FileHasher;
|
|
25
|
+
getCache(controller: ClassInfo<BaseController>): Promise<any>;
|
|
26
|
+
generate(): Promise<void>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,SAAS,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,EAAE,IAAI,GAAG,EAAE,UAAU,EAAc,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAU,GAAG,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;;;;GAQG;AACH,qBAAa,sBAAsB;IAEjC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEI,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAE9D;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC;IAEhB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,cAAc,CAAC;IAa9C,QAAQ;CAgCtB"}
|
package/lib/mjs/cache.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { Autoinject } from '@spinajs/di';
|
|
11
|
+
import { TypescriptCompiler, ListFromFiles } from '@spinajs/reflection';
|
|
12
|
+
import { fs as fFs, FileHasher, FileSystem } from '@spinajs/fs';
|
|
13
|
+
import { Logger, Log } from '@spinajs/log';
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* We store parameter info in cache files
|
|
17
|
+
* Parsing ts files is slow.
|
|
18
|
+
*
|
|
19
|
+
* We do this becouse ts is not providing parameter names from functions - data is lost during runtime
|
|
20
|
+
* And we need this for proper parameter assignment in controller routes
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
23
|
+
export class DefaultControllerCache {
|
|
24
|
+
async getCache(controller) {
|
|
25
|
+
const file = controller.file.replace('.js', '.d.ts');
|
|
26
|
+
const hash = await this.Hasher.hash(file);
|
|
27
|
+
const exists = await this.CacheFS.exists(hash);
|
|
28
|
+
if (!exists) {
|
|
29
|
+
this.Log.warn(`Controller cache not exists for ${controller.name}, regenerating cache ...`);
|
|
30
|
+
await this.generate();
|
|
31
|
+
}
|
|
32
|
+
return await this.CacheFS.read(hash).then((x) => JSON.parse(x));
|
|
33
|
+
}
|
|
34
|
+
async generate() {
|
|
35
|
+
const controllers = await this.Controllers;
|
|
36
|
+
for (const controller of controllers) {
|
|
37
|
+
const file = controller.file.replace('.js', '.d.ts');
|
|
38
|
+
const hash = await this.Hasher.hash(file);
|
|
39
|
+
let parameters = {};
|
|
40
|
+
const exists = await this.CacheFS.exists(hash);
|
|
41
|
+
if (!exists) {
|
|
42
|
+
this.Log.trace(`Controller cache not exists for ${controller.name}, generating cache...`);
|
|
43
|
+
const compiler = new TypescriptCompiler(file);
|
|
44
|
+
const members = compiler.getClassMembers(controller.name);
|
|
45
|
+
members.forEach((v, k) => {
|
|
46
|
+
v.parameters.forEach((p) => {
|
|
47
|
+
if (!parameters[k]) {
|
|
48
|
+
parameters[k] = [];
|
|
49
|
+
}
|
|
50
|
+
parameters[k][v.parameters.indexOf(p)] = p.name.text;
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
await this.CacheFS.write(hash, JSON.stringify(parameters));
|
|
54
|
+
this.Log.trace(`Ending generating controller cache for ${controller.name}`);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
__decorate([
|
|
60
|
+
Logger('http'),
|
|
61
|
+
__metadata("design:type", Log)
|
|
62
|
+
], DefaultControllerCache.prototype, "Log", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
ListFromFiles('/**/!(*.d).{ts,js}', 'system.dirs.controllers'),
|
|
65
|
+
__metadata("design:type", Promise)
|
|
66
|
+
], DefaultControllerCache.prototype, "Controllers", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
FileSystem('__fs_controller_cache__'),
|
|
69
|
+
__metadata("design:type", fFs)
|
|
70
|
+
], DefaultControllerCache.prototype, "CacheFS", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
Autoinject(FileHasher),
|
|
73
|
+
__metadata("design:type", FileHasher)
|
|
74
|
+
], DefaultControllerCache.prototype, "Hasher", void 0);
|
|
75
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CliCommand } from '@spinajs/cli';
|
|
2
|
+
import { Log } from '@spinajs/log-common';
|
|
3
|
+
import { DefaultControllerCache } from '../cache.js';
|
|
4
|
+
import { fs as fFs } from '@spinajs/fs';
|
|
5
|
+
export declare class ControllersCacheCommand extends CliCommand {
|
|
6
|
+
protected Log: Log;
|
|
7
|
+
/**
|
|
8
|
+
* File system for temporary files for storing controllers cache
|
|
9
|
+
*/
|
|
10
|
+
protected CacheFS: fFs;
|
|
11
|
+
protected Cache: DefaultControllerCache;
|
|
12
|
+
execute(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=GenerateControllerCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateControllerCache.d.ts","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAW,MAAM,cAAc,CAAC;AACnD,OAAO,EAAU,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EAAc,EAAE,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAEpD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC;IAEnB;;OAEG;IAEH,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC;IAGvB,SAAS,CAAC,KAAK,EAAE,sBAAsB,CAAC;IAE3B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { CliCommand, Command } from '@spinajs/cli';
|
|
11
|
+
import { Logger, Log } from '@spinajs/log-common';
|
|
12
|
+
import { DefaultControllerCache } from '../cache.js';
|
|
13
|
+
import { Autoinject } from '@spinajs/di';
|
|
14
|
+
import { FileSystem, fs as fFs } from '@spinajs/fs';
|
|
15
|
+
let ControllersCacheCommand = class ControllersCacheCommand extends CliCommand {
|
|
16
|
+
async execute() {
|
|
17
|
+
this.Log.info('Generating controllers cache ...');
|
|
18
|
+
await this.Cache.generate();
|
|
19
|
+
this.Log.info('Controllers cache generated at path: ', this.CacheFS.resolvePath(''));
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
__decorate([
|
|
23
|
+
Logger('http'),
|
|
24
|
+
__metadata("design:type", Log)
|
|
25
|
+
], ControllersCacheCommand.prototype, "Log", void 0);
|
|
26
|
+
__decorate([
|
|
27
|
+
FileSystem('__fs_controller_cache__'),
|
|
28
|
+
__metadata("design:type", fFs)
|
|
29
|
+
], ControllersCacheCommand.prototype, "CacheFS", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
Autoinject(),
|
|
32
|
+
__metadata("design:type", DefaultControllerCache)
|
|
33
|
+
], ControllersCacheCommand.prototype, "Cache", void 0);
|
|
34
|
+
ControllersCacheCommand = __decorate([
|
|
35
|
+
Command('http:controllers:cache', 'generate controllers cache')
|
|
36
|
+
], ControllersCacheCommand);
|
|
37
|
+
export { ControllersCacheCommand };
|
|
38
|
+
//# sourceMappingURL=GenerateControllerCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenerateControllerCache.js","sourceRoot":"","sources":["../../../src/cli/GenerateControllerCache.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,EAAE,IAAI,GAAG,EAAE,MAAM,aAAa,CAAC;AAG7C,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,UAAU;IAa9C,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;CACF,CAAA;AAhBW;IADT,MAAM,CAAC,MAAM,CAAC;8BACA,GAAG;oDAAC;AAMT;IADT,UAAU,CAAC,yBAAyB,CAAC;8BACnB,GAAG;wDAAC;AAGb;IADT,UAAU,EAAE;8BACI,sBAAsB;sDAAC;AAX7B,uBAAuB;IADnC,OAAO,CAAC,wBAAwB,EAAE,4BAA4B,CAAC;GACnD,uBAAuB,CAkBnC"}
|
package/lib/mjs/config/http.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ declare const http: {
|
|
|
5
5
|
dirs: {
|
|
6
6
|
locales: string[];
|
|
7
7
|
controllers: string[];
|
|
8
|
+
cli: string[];
|
|
8
9
|
};
|
|
9
10
|
};
|
|
10
11
|
cookie: {
|
|
@@ -44,7 +45,7 @@ declare const http: {
|
|
|
44
45
|
/**
|
|
45
46
|
* full path to folder with static content
|
|
46
47
|
*/
|
|
47
|
-
Path: string;
|
|
48
|
+
Path: string[];
|
|
48
49
|
}[];
|
|
49
50
|
/**
|
|
50
51
|
* Whitch accept headers we support (default JSON & HTML)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../../src/config/http.ts"],"names":[],"mappings":";AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAqB9B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QA6DN;;WAEG;;YAGC;;eAEG;;YAGH;;eAEG;;;QAKP;;WAEG;;QAGH;;;WAGG;;;CAgBN,CAAC;AAEF,eAAe,IAAI,CAAC"}
|