@webda/core 2.0.0-beta.1 → 2.0.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/lib/application.d.ts +9 -21
- package/lib/application.js +71 -84
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +121 -140
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +86 -46
- package/lib/core.js +254 -316
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +326 -391
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +49 -45
- package/lib/index.js +54 -67
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +2 -2
- package/lib/models/aclmodel.js +63 -90
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +127 -151
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +84 -11
- package/lib/models/coremodel.js +104 -103
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +91 -91
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +5 -3
- package/lib/models/ident.js +4 -9
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +9 -11
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +12 -2
- package/lib/models/ownermodel.js +54 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +129 -152
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +2 -2
- package/lib/models/rolemodel.js +24 -40
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +44 -61
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +5 -5
- package/lib/models/user.js +3 -8
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +14 -16
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -2
- package/lib/queues/filequeue.js +72 -93
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +53 -70
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -2
- package/lib/queues/memoryqueue.js +37 -61
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +142 -165
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +2 -2
- package/lib/queues/pubsubservice.js +3 -7
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +42 -56
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +4 -4
- package/lib/queues/queueservice.js +52 -67
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +7 -3
- package/lib/router.js +49 -48
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +64 -61
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +2 -2
- package/lib/services/asyncevents.js +44 -64
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +81 -98
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +28 -19
- package/lib/services/authentication.js +539 -571
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +411 -447
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +8 -6
- package/lib/services/binary.js +212 -244
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +3 -3
- package/lib/services/binary.spec.js +390 -443
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +3 -3
- package/lib/services/cloudbinary.js +46 -71
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.d.ts +3 -3
- package/lib/services/cloudbinary.spec.js +133 -162
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +6 -3
- package/lib/services/configuration.js +78 -103
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +63 -83
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +3 -2
- package/lib/services/cron.js +9 -13
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +18 -21
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +258 -0
- package/lib/services/cryptoservice.js +312 -0
- package/lib/services/cryptoservice.js.map +1 -0
- package/lib/services/cryptoservice.spec.d.ts +1 -0
- package/lib/services/cryptoservice.spec.js +137 -0
- package/lib/services/cryptoservice.spec.js.map +1 -0
- package/lib/services/debugmailer.d.ts +1 -1
- package/lib/services/debugmailer.js +13 -34
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +16 -29
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +2 -2
- package/lib/services/echo.js +15 -31
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +27 -40
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +15 -5
- package/lib/services/filebinary.js +171 -200
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +2 -1
- package/lib/services/filebinary.spec.js +106 -117
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +2 -2
- package/lib/services/fileconfiguration.js +25 -43
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +79 -109
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +9 -9
- package/lib/services/invitationservice.js +275 -313
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +442 -448
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +2 -2
- package/lib/services/kubernetesconfiguration.js +41 -59
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +80 -98
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +4 -4
- package/lib/services/mailer.js +62 -86
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +86 -127
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +4 -4
- package/lib/services/notificationservice.js +23 -42
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +47 -73
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +32 -6
- package/lib/services/oauth.js +73 -78
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +128 -147
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +74 -0
- package/lib/services/proxy.js +126 -0
- package/lib/services/proxy.js.map +1 -0
- package/lib/services/proxy.spec.d.ts +1 -0
- package/lib/services/proxy.spec.js +59 -0
- package/lib/services/proxy.spec.js.map +1 -0
- package/lib/services/resource.d.ts +2 -2
- package/lib/services/resource.js +12 -18
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +67 -99
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +33 -7
- package/lib/services/service.js +74 -42
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +62 -67
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +1 -1
- package/lib/services/version.js +3 -8
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +11 -24
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -3
- package/lib/stores/aggregator.js +37 -57
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +3 -3
- package/lib/stores/file.js +93 -131
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +2 -2
- package/lib/stores/file.spec.js +261 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.js +112 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +131 -150
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +67 -6
- package/lib/stores/memory.js +155 -117
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +3 -2
- package/lib/stores/memory.spec.js +127 -105
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +35 -15
- package/lib/stores/store.js +839 -821
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +6 -4
- package/lib/stores/store.spec.js +627 -647
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
- package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +4 -5
- package/lib/stores/webdaql/query.js +16 -19
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +30 -32
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.d.ts +3 -3
- package/lib/test.js +74 -94
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +1 -1
- package/lib/unpackedapplication.js +25 -31
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.js +1 -5
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.js +6 -8
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +61 -29
- package/lib/utils/context.js +133 -127
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +147 -153
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +66 -45
- package/lib/utils/cookie.js +69 -158
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +220 -238
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +4 -0
- package/lib/utils/esm.js +10 -0
- package/lib/utils/esm.js.map +1 -0
- package/lib/utils/httpcontext.d.ts +37 -9
- package/lib/utils/httpcontext.js +86 -57
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -48
- package/lib/utils/httpcontext.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +15 -28
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js +9 -11
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +17 -20
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +43 -44
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +120 -0
- package/lib/utils/session.js +155 -0
- package/lib/utils/session.js.map +1 -0
- package/lib/utils/session.spec.d.ts +1 -0
- package/lib/utils/session.spec.js +66 -0
- package/lib/utils/session.spec.js.map +1 -0
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js +32 -52
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +75 -92
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +22 -14
- package/test/config-invitation.json +1 -3
- package/test/config.json +3 -3
- package/test/config.old.json +1 -2
- package/test/moddas/annotatedservice.js +5 -5
- package/test/moddas/debugmailer.js +2 -3
- package/test/moddas/fakeservice.js +2 -3
- package/test/moddas/voidstore.js +6 -4
- package/test/models/ident.js +2 -6
- package/test/models/task.js +3 -7
- package/test/package.json +2 -1
- package/webda.module.json +956 -188
package/lib/application.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { WorkerLogLevel, WorkerOutput } from "@webda/workout";
|
|
2
2
|
import { JSONSchema7 } from "json-schema";
|
|
3
3
|
import { OpenAPIV3 } from "openapi-types";
|
|
4
|
-
import { Context, Core, CoreModelDefinition, Service } from "./index";
|
|
4
|
+
import { Constructor, Context, Core, CoreModelDefinition, Service } from "./index.js";
|
|
5
5
|
export declare type PackageDescriptorAuthor = string | {
|
|
6
6
|
name?: string;
|
|
7
7
|
email?: string;
|
|
@@ -136,6 +136,10 @@ export declare type UnpackedConfiguration = {
|
|
|
136
136
|
* Global parameters
|
|
137
137
|
*/
|
|
138
138
|
parameters?: {
|
|
139
|
+
/**
|
|
140
|
+
* Trust this reverse proxies
|
|
141
|
+
*/
|
|
142
|
+
trustedProxies?: string | string[];
|
|
139
143
|
/**
|
|
140
144
|
* Allowed origin for referer that match
|
|
141
145
|
* any of this regexp
|
|
@@ -155,26 +159,10 @@ export declare type UnpackedConfiguration = {
|
|
|
155
159
|
* Serve statically a website
|
|
156
160
|
*/
|
|
157
161
|
static?: StaticWebsite;
|
|
158
|
-
/**
|
|
159
|
-
* Cookie configuration for session
|
|
160
|
-
*/
|
|
161
|
-
cookie?: {
|
|
162
|
-
sameSite: "None" | "Strict" | "Lax";
|
|
163
|
-
domain: string;
|
|
164
|
-
/**
|
|
165
|
-
* @minimum 1
|
|
166
|
-
*/
|
|
167
|
-
maxAge: number;
|
|
168
|
-
path: string;
|
|
169
|
-
};
|
|
170
162
|
/**
|
|
171
163
|
* Read from the configuration service before init
|
|
172
164
|
*/
|
|
173
165
|
configurationService?: string;
|
|
174
|
-
/**
|
|
175
|
-
* Application salt
|
|
176
|
-
*/
|
|
177
|
-
salt?: string;
|
|
178
166
|
/**
|
|
179
167
|
* Define the api url
|
|
180
168
|
*/
|
|
@@ -496,7 +484,7 @@ export declare class Application {
|
|
|
496
484
|
* @param name
|
|
497
485
|
* @returns
|
|
498
486
|
*/
|
|
499
|
-
getWebdaObject(section: Section, name:
|
|
487
|
+
getWebdaObject(section: Section, name: string): any;
|
|
500
488
|
/**
|
|
501
489
|
* Get a service based on name
|
|
502
490
|
*
|
|
@@ -520,12 +508,12 @@ export declare class Application {
|
|
|
520
508
|
*
|
|
521
509
|
* @param name model to retrieve
|
|
522
510
|
*/
|
|
523
|
-
getModel(name: string):
|
|
511
|
+
getModel<T extends CoreModelDefinition | Constructor<any> = CoreModelDefinition>(name: string): T;
|
|
524
512
|
/**
|
|
525
513
|
* Get all models definitions
|
|
526
514
|
*/
|
|
527
515
|
getModels(): {
|
|
528
|
-
[key: string]: Context | CoreModelDefinition;
|
|
516
|
+
[key: string]: Constructor<Context> | CoreModelDefinition;
|
|
529
517
|
};
|
|
530
518
|
/**
|
|
531
519
|
* Return all deployers
|
|
@@ -638,7 +626,7 @@ export declare class Application {
|
|
|
638
626
|
*
|
|
639
627
|
* @param info
|
|
640
628
|
*/
|
|
641
|
-
importFile(info: string): Promise<any>;
|
|
629
|
+
importFile(info: string, withExport?: boolean): Promise<any>;
|
|
642
630
|
/**
|
|
643
631
|
* Load local module
|
|
644
632
|
*/
|
package/lib/application.js
CHANGED
|
@@ -1,28 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Application = exports.SectionEnum = void 0;
|
|
13
|
-
const workout_1 = require("@webda/workout");
|
|
14
|
-
const fs = require("fs");
|
|
15
|
-
const path = require("path");
|
|
16
|
-
const path_1 = require("path");
|
|
17
|
-
const index_1 = require("./index");
|
|
18
|
-
const serializers_1 = require("./utils/serializers");
|
|
19
|
-
var SectionEnum;
|
|
1
|
+
import { WorkerOutput } from "@webda/workout";
|
|
2
|
+
import * as fs from "fs";
|
|
3
|
+
import * as path from "path";
|
|
4
|
+
import { join } from "path";
|
|
5
|
+
import { WebdaError } from "./index.js";
|
|
6
|
+
import { getCommonJS } from "./utils/esm.js";
|
|
7
|
+
import { FileUtils } from "./utils/serializers.js";
|
|
8
|
+
const { __dirname } = getCommonJS(import.meta.url);
|
|
9
|
+
export var SectionEnum;
|
|
20
10
|
(function (SectionEnum) {
|
|
21
11
|
SectionEnum["Moddas"] = "moddas";
|
|
22
12
|
SectionEnum["Deployers"] = "deployers";
|
|
23
13
|
SectionEnum["Models"] = "models";
|
|
24
14
|
SectionEnum["Beans"] = "beans";
|
|
25
|
-
})(SectionEnum
|
|
15
|
+
})(SectionEnum || (SectionEnum = {}));
|
|
26
16
|
/**
|
|
27
17
|
* Map a Webda Application
|
|
28
18
|
*
|
|
@@ -36,7 +26,7 @@ var SectionEnum;
|
|
|
36
26
|
*
|
|
37
27
|
* @category CoreFeatures
|
|
38
28
|
*/
|
|
39
|
-
class Application {
|
|
29
|
+
export class Application {
|
|
40
30
|
/**
|
|
41
31
|
*
|
|
42
32
|
* @param {string} fileOrFolder to load Webda Application from
|
|
@@ -71,10 +61,10 @@ class Application {
|
|
|
71
61
|
* Detect if running as workspace
|
|
72
62
|
*/
|
|
73
63
|
this.workspacesPath = "";
|
|
74
|
-
this.logger = logger || new
|
|
64
|
+
this.logger = logger || new WorkerOutput();
|
|
75
65
|
this.initTime = Date.now();
|
|
76
66
|
if (!fs.existsSync(file)) {
|
|
77
|
-
throw new
|
|
67
|
+
throw new WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: unexisting ${file}`);
|
|
78
68
|
}
|
|
79
69
|
if (fs.lstatSync(file).isDirectory()) {
|
|
80
70
|
file = path.join(file, "webda.config.jsonc");
|
|
@@ -88,12 +78,10 @@ class Application {
|
|
|
88
78
|
/**
|
|
89
79
|
* Import all required modules
|
|
90
80
|
*/
|
|
91
|
-
load() {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
return this;
|
|
96
|
-
});
|
|
81
|
+
async load() {
|
|
82
|
+
this.loadConfiguration(this.configurationFile);
|
|
83
|
+
await this.loadModule(this.baseConfiguration.cachedModules);
|
|
84
|
+
return this;
|
|
97
85
|
}
|
|
98
86
|
/**
|
|
99
87
|
* Allow subclass to implement migration
|
|
@@ -104,16 +92,16 @@ class Application {
|
|
|
104
92
|
loadConfiguration(file) {
|
|
105
93
|
// Check if file is a file or folder
|
|
106
94
|
if (!fs.existsSync(file)) {
|
|
107
|
-
throw new
|
|
95
|
+
throw new WebdaError("NO_WEBDA_FOLDER", `Not a webda application folder or webda.config.jsonc or webda.config.json file: ${file}`);
|
|
108
96
|
}
|
|
109
97
|
try {
|
|
110
|
-
this.baseConfiguration =
|
|
98
|
+
this.baseConfiguration = FileUtils.load(file);
|
|
111
99
|
if (this.baseConfiguration.version !== 3) {
|
|
112
100
|
this.log("ERROR", "Your configuration file should use version 3, see https://docs.webda.io/");
|
|
113
101
|
}
|
|
114
102
|
}
|
|
115
103
|
catch (err) {
|
|
116
|
-
throw new
|
|
104
|
+
throw new WebdaError("INVALID_WEBDA_CONFIG", `Cannot parse JSON of: ${file}`);
|
|
117
105
|
}
|
|
118
106
|
}
|
|
119
107
|
/**
|
|
@@ -155,8 +143,7 @@ class Application {
|
|
|
155
143
|
* In case of workspaces the object is combined
|
|
156
144
|
*/
|
|
157
145
|
getPackageWebda() {
|
|
158
|
-
|
|
159
|
-
return (((_a = this.baseConfiguration.cachedModules.project) === null || _a === void 0 ? void 0 : _a.webda) || {
|
|
146
|
+
return (this.baseConfiguration.cachedModules.project?.webda || {
|
|
160
147
|
namespace: "Webda"
|
|
161
148
|
});
|
|
162
149
|
}
|
|
@@ -164,8 +151,7 @@ class Application {
|
|
|
164
151
|
* Retrieve content of package.json
|
|
165
152
|
*/
|
|
166
153
|
getPackageDescription() {
|
|
167
|
-
|
|
168
|
-
return ((_b = (_a = this.baseConfiguration.cachedModules) === null || _a === void 0 ? void 0 : _a.project) === null || _b === void 0 ? void 0 : _b.package) || {};
|
|
154
|
+
return this.baseConfiguration.cachedModules?.project?.package || {};
|
|
169
155
|
}
|
|
170
156
|
/**
|
|
171
157
|
* Log information
|
|
@@ -304,8 +290,7 @@ class Application {
|
|
|
304
290
|
* @return the git information
|
|
305
291
|
*/
|
|
306
292
|
getGitInformation(_packageName, _version) {
|
|
307
|
-
|
|
308
|
-
return (_a = this.baseConfiguration.cachedModules.project) === null || _a === void 0 ? void 0 : _a.git;
|
|
293
|
+
return this.baseConfiguration.cachedModules.project?.git;
|
|
309
294
|
}
|
|
310
295
|
/**
|
|
311
296
|
* Allow variable inside of string
|
|
@@ -332,7 +317,11 @@ class Application {
|
|
|
332
317
|
throw new Error("Too many variables");
|
|
333
318
|
}
|
|
334
319
|
}
|
|
335
|
-
return new Function("return `" + templateString.replace(/\$\{([^\}\{]+)}/g, "${this.$1}") + "`;").call(
|
|
320
|
+
return new Function("return `" + templateString.replace(/\$\{([^\}\{]+)}/g, "${this.$1}") + "`;").call({
|
|
321
|
+
...this.baseConfiguration.cachedModules.project,
|
|
322
|
+
now: this.initTime,
|
|
323
|
+
...replacements
|
|
324
|
+
});
|
|
336
325
|
}
|
|
337
326
|
/**
|
|
338
327
|
* Allow variable inside object strings
|
|
@@ -423,35 +412,38 @@ class Application {
|
|
|
423
412
|
*
|
|
424
413
|
* @param info
|
|
425
414
|
*/
|
|
426
|
-
importFile(info) {
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
415
|
+
async importFile(info, withExport = true) {
|
|
416
|
+
if (info.startsWith(".")) {
|
|
417
|
+
info = join(this.appPath, ...info.split("/"));
|
|
418
|
+
}
|
|
419
|
+
try {
|
|
420
|
+
this.log("TRACE", "Load file", info);
|
|
421
|
+
let [importFilename, importName = "default"] = info.split(":");
|
|
422
|
+
if (!importFilename.endsWith(".js")) {
|
|
423
|
+
importFilename += ".js";
|
|
430
424
|
}
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
const importObject = (yield Promise.resolve().then(() => require(importFilename)))[importName];
|
|
435
|
-
if (!importObject) {
|
|
436
|
-
this.log("WARN", `Module ${importFilename} does not have export named ${importName}`);
|
|
437
|
-
}
|
|
438
|
-
return importObject;
|
|
425
|
+
const importedFile = await import(importFilename);
|
|
426
|
+
if (!withExport) {
|
|
427
|
+
return;
|
|
439
428
|
}
|
|
440
|
-
|
|
441
|
-
|
|
429
|
+
const importObject = importedFile[importName];
|
|
430
|
+
if (!importObject) {
|
|
431
|
+
this.log("WARN", `Module ${importFilename} does not have export named ${importName}`);
|
|
442
432
|
}
|
|
443
|
-
|
|
433
|
+
return importObject;
|
|
434
|
+
}
|
|
435
|
+
catch (err) {
|
|
436
|
+
this.log("WARN", "Cannot resolve require", info, err.message);
|
|
437
|
+
}
|
|
444
438
|
}
|
|
445
439
|
/**
|
|
446
440
|
* Load local module
|
|
447
441
|
*/
|
|
448
|
-
loadLocalModule() {
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
}
|
|
454
|
-
});
|
|
442
|
+
async loadLocalModule() {
|
|
443
|
+
let moduleFile = path.join(process.cwd(), "webda.module.json");
|
|
444
|
+
if (fs.existsSync(moduleFile)) {
|
|
445
|
+
await this.loadModule(FileUtils.load(moduleFile), process.cwd());
|
|
446
|
+
}
|
|
455
447
|
}
|
|
456
448
|
/**
|
|
457
449
|
* Load the module,
|
|
@@ -459,26 +451,23 @@ class Application {
|
|
|
459
451
|
* @protected
|
|
460
452
|
* @ignore Useless for documentation
|
|
461
453
|
*/
|
|
462
|
-
loadModule(module, parent = this.appPath) {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
})
|
|
480
|
-
]);
|
|
481
|
-
});
|
|
454
|
+
async loadModule(module, parent = this.appPath) {
|
|
455
|
+
const info = { beans: {}, ...module };
|
|
456
|
+
const sectionLoader = async (section) => {
|
|
457
|
+
var _a, _b;
|
|
458
|
+
for (let key in info[section]) {
|
|
459
|
+
(_a = this[section])[_b = key.toLowerCase()] ?? (_a[_b] = await this.importFile(path.join(parent, info[section][key])));
|
|
460
|
+
}
|
|
461
|
+
};
|
|
462
|
+
await Promise.all([
|
|
463
|
+
sectionLoader("moddas"),
|
|
464
|
+
sectionLoader("deployers"),
|
|
465
|
+
sectionLoader("models"),
|
|
466
|
+
...Object.keys(info.beans).map(f => {
|
|
467
|
+
this.baseConfiguration.cachedModules.beans[f] = info.beans[f];
|
|
468
|
+
return this.importFile(path.join(parent, info.beans[f]), false).catch(this.log.bind(this, "WARN"));
|
|
469
|
+
})
|
|
470
|
+
]);
|
|
482
471
|
}
|
|
483
472
|
/**
|
|
484
473
|
* Return the full name including namespace
|
|
@@ -490,12 +479,11 @@ class Application {
|
|
|
490
479
|
* @param name
|
|
491
480
|
*/
|
|
492
481
|
completeNamespace(name = "") {
|
|
493
|
-
var _a, _b;
|
|
494
482
|
// Do not add a namespace if already present
|
|
495
483
|
if (name.indexOf("/") >= 0) {
|
|
496
484
|
return name.toLowerCase();
|
|
497
485
|
}
|
|
498
|
-
return `${
|
|
486
|
+
return `${this.baseConfiguration.cachedModules.project?.webda?.namespace || "webda"}/${name}`.toLowerCase();
|
|
499
487
|
}
|
|
500
488
|
/**
|
|
501
489
|
* Check if object extends a class
|
|
@@ -517,5 +505,4 @@ class Application {
|
|
|
517
505
|
return false;
|
|
518
506
|
}
|
|
519
507
|
}
|
|
520
|
-
exports.Application = Application;
|
|
521
508
|
//# sourceMappingURL=application.js.map
|
package/lib/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|