libmodulor 0.25.0 → 0.26.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/CHANGELOG.md +15 -0
- package/README.md +32 -151
- package/dist/esm/app/workers/AppUCsLoader.d.ts +2 -3
- package/dist/esm/apps/Helper/src/i18n.d.ts +39 -2
- package/dist/esm/apps/Helper/src/i18n.js +15 -1
- package/dist/esm/apps/Helper/src/lib/SrcFilesGenerator.d.ts +13 -0
- package/dist/esm/apps/Helper/src/lib/SrcFilesGenerator.js +37 -0
- package/dist/esm/apps/Helper/src/lib/consts.d.ts +2 -0
- package/dist/esm/apps/Helper/src/lib/consts.js +2 -0
- package/dist/esm/apps/Helper/src/lib/funcs.d.ts +4 -0
- package/dist/esm/apps/Helper/src/lib/funcs.js +9 -0
- package/dist/esm/apps/Helper/src/lib/io.d.ts +10 -0
- package/dist/esm/apps/Helper/src/lib/io.js +22 -0
- package/dist/esm/apps/Helper/src/lib/layers/app.d.ts +3 -0
- package/dist/esm/apps/Helper/src/lib/layers/app.js +30 -0
- package/dist/esm/apps/Helper/src/lib/layers/product.d.ts +3 -0
- package/dist/esm/apps/Helper/src/lib/layers/product.js +27 -0
- package/dist/esm/apps/Helper/src/lib/layers/project.d.ts +4 -0
- package/dist/esm/apps/Helper/src/lib/layers/project.js +163 -0
- package/dist/esm/apps/Helper/src/lib/layers/target.d.ts +3 -0
- package/dist/esm/apps/Helper/src/lib/layers/target.js +202 -0
- package/dist/esm/apps/Helper/src/lib/layers/uc.d.ts +3 -0
- package/dist/esm/apps/Helper/src/lib/layers/uc.js +113 -0
- package/dist/esm/apps/Helper/src/lib/project.js +15 -17
- package/dist/esm/apps/Helper/src/lib/types.d.ts +3 -0
- package/dist/esm/apps/Helper/src/lib/types.js +1 -0
- package/dist/esm/apps/Helper/src/manifest.d.ts +20 -0
- package/dist/esm/apps/Helper/src/manifest.js +20 -0
- package/dist/esm/apps/Helper/src/ucds/CreateAppUCD.d.ts +7 -0
- package/dist/esm/apps/Helper/src/ucds/CreateAppUCD.js +101 -0
- package/dist/esm/apps/Helper/src/ucds/CreateProductUCD.d.ts +7 -0
- package/dist/esm/apps/Helper/src/ucds/CreateProductUCD.js +101 -0
- package/dist/esm/apps/Helper/src/ucds/CreateProjectUCD.d.ts +1 -17
- package/dist/esm/apps/Helper/src/ucds/CreateProjectUCD.js +40 -34
- package/dist/esm/apps/Helper/src/ucds/CreateTargetUCD.d.ts +9 -0
- package/dist/esm/apps/Helper/src/ucds/CreateTargetUCD.js +109 -0
- package/dist/esm/apps/Helper/src/ucds/CreateUCUCD.d.ts +8 -0
- package/dist/esm/apps/Helper/src/ucds/CreateUCUCD.js +87 -0
- package/dist/esm/apps/Helper/src/ucds/DeleteGeneratedAppsTestsUCD.d.ts +1 -1
- package/dist/esm/apps/Helper/src/ucds/DeleteGeneratedAppsTestsUCD.js +1 -1
- package/dist/esm/apps/Helper/src/ucds/GenerateAppsTestsUCD.d.ts +1 -1
- package/dist/esm/apps/Helper/src/ucds/GenerateAppsTestsUCD.js +1 -1
- package/dist/esm/apps/Helper/src/ucds/TestAppUCD.d.ts +1 -1
- package/dist/esm/apps/Helper/src/ucds/TestAppUCD.js +1 -1
- package/dist/esm/convention.d.ts +15 -4
- package/dist/esm/convention.js +33 -9
- package/dist/esm/error/funcs.d.ts +2 -0
- package/dist/esm/error/funcs.js +20 -0
- package/dist/esm/error/index.d.ts +1 -1
- package/dist/esm/error/index.js +1 -1
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.node-test.d.ts +1 -1
- package/dist/esm/index.node-test.js +1 -1
- package/dist/esm/product/index.d.ts +1 -1
- package/dist/esm/product/index.js +1 -1
- package/dist/esm/product/workers/ProductUCsLoader.d.ts +8 -6
- package/dist/esm/product/workers/ProductUCsLoader.js +19 -5
- package/dist/esm/products/Helper/cli-node-core/container.d.ts +3 -0
- package/dist/esm/products/Helper/cli-node-core/container.js +26 -0
- package/dist/esm/products/Helper/cli-node-core/index.d.ts +1 -0
- package/dist/esm/products/Helper/cli-node-core/index.js +9 -0
- package/dist/esm/products/Helper/i18n.d.ts +101 -2
- package/dist/esm/products/Helper/targets/node-core-cli/container.d.ts +3 -0
- package/dist/esm/products/Helper/targets/node-core-cli/container.js +26 -0
- package/dist/esm/products/Helper/targets/node-core-cli/index.d.ts +1 -0
- package/dist/esm/products/Helper/targets/node-core-cli/index.js +9 -0
- package/dist/esm/std/SettingsManager.d.ts +3 -16
- package/dist/esm/std/SettingsManager.js +1 -16
- package/dist/esm/std/ShellCommandExecutor.d.ts +1 -1
- package/dist/esm/std/consts.js +4 -4
- package/dist/esm/std/impl/EnvSettingsManager.d.ts +5 -4
- package/dist/esm/std/impl/EnvSettingsManager.js +40 -62
- package/dist/esm/std/impl/FakeFSManager.d.ts +3 -1
- package/dist/esm/std/impl/FakeFSManager.js +3 -0
- package/dist/esm/std/impl/FakeShellCommandExecutor.d.ts +12 -0
- package/dist/esm/std/impl/FakeShellCommandExecutor.js +30 -0
- package/dist/esm/std/impl/StaticSettingsManager.d.ts +1 -1
- package/dist/esm/std/impl/StaticSettingsManager.js +3 -0
- package/dist/esm/std/index.d.ts +1 -0
- package/dist/esm/std/index.js +1 -0
- package/dist/esm/std/lib/settings.d.ts +5 -0
- package/dist/esm/std/lib/settings.js +39 -0
- package/dist/esm/target/edge-worker-hono-server/SyncEdgeWorkerHonoServerManager.d.ts +3 -1
- package/dist/esm/target/edge-worker-hono-server/SyncEdgeWorkerHonoServerManager.js +12 -7
- package/dist/esm/target/index.d.ts +1 -0
- package/dist/esm/target/index.js +1 -0
- package/dist/esm/target/lib/cli/CLIManager.d.ts +2 -2
- package/dist/esm/target/lib/client/consts.js +2 -1
- package/dist/esm/target/lib/entrypoint.d.ts +2 -0
- package/dist/esm/target/lib/entrypoint.js +1 -0
- package/dist/esm/target/lib/manifest.d.ts +13 -0
- package/dist/esm/target/lib/manifest.js +11 -0
- package/dist/esm/target/lib/mcp-server/MCPServerBooter.d.ts +2 -2
- package/dist/esm/target/lib/server/CustomerFacingErrorBuilder.js +6 -1
- package/dist/esm/target/lib/server/ServerBooter.d.ts +2 -2
- package/dist/esm/target/lib/server/ServerRequestHandler.js +6 -2
- package/dist/esm/target/lib/server/consts.js +2 -1
- package/dist/esm/target/lib/server-express/funcs.d.ts +2 -0
- package/dist/esm/target/lib/server-express/funcs.js +6 -0
- package/dist/esm/target/lib/server-hono/funcs.d.ts +2 -1
- package/dist/esm/target/lib/server-hono/funcs.js +7 -3
- package/dist/esm/target/node-express-server/NodeExpressServerManager.d.ts +3 -1
- package/dist/esm/target/node-express-server/NodeExpressServerManager.js +17 -12
- package/dist/esm/target/node-hono-server/NodeHonoServerManager.d.ts +3 -1
- package/dist/esm/target/node-hono-server/NodeHonoServerManager.js +15 -10
- package/dist/esm/target/node-stricli-cli/NodeStricliCLIManager.d.ts +3 -1
- package/dist/esm/target/node-stricli-cli/NodeStricliCLIManager.js +9 -5
- package/dist/esm/testing/impl/NodeAppTesterConfigurator.d.ts +15 -0
- package/dist/esm/testing/impl/NodeAppTesterConfigurator.js +68 -0
- package/dist/esm/testing/impl/VitestAppTestSuiteEmitter.d.ts +2 -0
- package/dist/esm/testing/impl/VitestAppTestSuiteEmitter.js +27 -10
- package/dist/esm/testing/impl/newNodeAppTester.js +3 -4
- package/dist/esm/testing/opts.d.ts +1 -1
- package/dist/esm/utils/ioc/bindCommon.d.ts +4 -4
- package/dist/esm/utils/ioc/bindCommon.js +17 -15
- package/dist/esm/utils/ioc/bindNodeCore.js +5 -0
- package/dist/esm/utils/ioc/bindServer.js +8 -2
- package/package.json +9 -8
- package/pnpm-workspace.yaml +0 -8
- package/tsconfig.build.examples.json +0 -8
- package/tsconfig.json +0 -36
- package/vitest.config.ts +0 -16
package/dist/esm/std/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export * from './JobManager.js';
|
|
|
15
15
|
export * from './JWTManager.js';
|
|
16
16
|
export * from './LLMManager.js';
|
|
17
17
|
export * from './Logger.js';
|
|
18
|
+
export * from './lib/settings.js';
|
|
18
19
|
export * from './PromptManager.js';
|
|
19
20
|
export * from './SettingsManager.js';
|
|
20
21
|
export * from './ShellCommandExecutor.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { StringKeys } from '../../utils/index.js';
|
|
2
|
+
import type { Settings } from '../SettingsManager.js';
|
|
3
|
+
export declare function unsafeDefaultSetting(suffix?: string): string;
|
|
4
|
+
export declare function assertSettingNotUnsafe<S extends Settings, K extends StringKeys<S> = StringKeys<S>>(key: K, value: unknown): void;
|
|
5
|
+
export declare function checkSettings<S extends Settings>(settings: S, throwIfViolations: boolean): void;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const UNSAFE_SETTING = 'UNSAFE_CHANGE_ME';
|
|
2
|
+
export function unsafeDefaultSetting(suffix = '') {
|
|
3
|
+
return `${UNSAFE_SETTING}${suffix}`;
|
|
4
|
+
}
|
|
5
|
+
export function assertSettingNotUnsafe(key, value) {
|
|
6
|
+
if (typeof value === 'string' && value.startsWith(UNSAFE_SETTING)) {
|
|
7
|
+
throw new Error(`"${key}" still has the unsafe default value. Please change it !`);
|
|
8
|
+
}
|
|
9
|
+
if (Array.isArray(value)) {
|
|
10
|
+
for (const v of value) {
|
|
11
|
+
assertSettingNotUnsafe(key, v);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
if (typeof value === 'object' && value !== null) {
|
|
15
|
+
for (const [_k, v] of Object.entries(value)) {
|
|
16
|
+
assertSettingNotUnsafe(key, v);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export function checkSettings(settings, throwIfViolations) {
|
|
21
|
+
const violations = [];
|
|
22
|
+
for (const [k, v] of Object.entries(settings)) {
|
|
23
|
+
try {
|
|
24
|
+
assertSettingNotUnsafe(k, v);
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
violations.push(err.message);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (violations.length > 0) {
|
|
31
|
+
// 1m : bold ; 33m : yellow/orange ; 0m : reset
|
|
32
|
+
const message = `\x1b[1m\x1b[33m[WARNING] THE SETTINGS ARE NOT SAFE (THIS WILL THROW IN PROD) :\n${violations.join('\n')}\x1b[0m`;
|
|
33
|
+
if (throwIfViolations) {
|
|
34
|
+
throw new Error(message);
|
|
35
|
+
}
|
|
36
|
+
// biome-ignore lint/suspicious/noConsole: we want it
|
|
37
|
+
console.warn(message);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -3,6 +3,7 @@ import type { AppManifest } from '../../app/index.js';
|
|
|
3
3
|
import type { DirPath } from '../../dt/index.js';
|
|
4
4
|
import type { Configurable, SettingsManager } from '../../std/index.js';
|
|
5
5
|
import type { UCDataStore, UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js';
|
|
6
|
+
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
|
|
6
7
|
import type { ServerManager } from '../lib/server/ServerManager.js';
|
|
7
8
|
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
|
|
8
9
|
export interface SyncEdgeWorkerHonoServerManagerSettings {
|
|
@@ -10,12 +11,13 @@ export interface SyncEdgeWorkerHonoServerManagerSettings {
|
|
|
10
11
|
}
|
|
11
12
|
type S = SyncEdgeWorkerHonoServerManagerSettings;
|
|
12
13
|
export declare class SyncEdgeWorkerHonoServerManager implements Configurable<S>, ServerManager {
|
|
14
|
+
private customerFacingErrorBuilder;
|
|
13
15
|
private serverRequestHandler;
|
|
14
16
|
private settingsManager;
|
|
15
17
|
private ucDataStore;
|
|
16
18
|
private ucManager;
|
|
17
19
|
protected runtime: Hono;
|
|
18
|
-
constructor(serverRequestHandler: ServerRequestHandler, settingsManager: SettingsManager<S>, ucDataStore: UCDataStore, ucManager: UCManager);
|
|
20
|
+
constructor(customerFacingErrorBuilder: CustomerFacingErrorBuilder, serverRequestHandler: ServerRequestHandler, settingsManager: SettingsManager<S>, ucDataStore: UCDataStore, ucManager: UCManager);
|
|
19
21
|
s(): SyncEdgeWorkerHonoServerManagerSettings;
|
|
20
22
|
getRuntime(): Hono;
|
|
21
23
|
overrideUCManager(ucManager: UCManager): void;
|
|
@@ -12,15 +12,18 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'inversify';
|
|
14
14
|
import { NotAvailableError, NotCallableError } from '../../error/index.js';
|
|
15
|
+
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
|
|
15
16
|
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
|
|
16
17
|
import { buildHandler, init, mountHandler } from '../lib/server-hono/funcs.js';
|
|
17
18
|
let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
|
|
19
|
+
customerFacingErrorBuilder;
|
|
18
20
|
serverRequestHandler;
|
|
19
21
|
settingsManager;
|
|
20
22
|
ucDataStore;
|
|
21
23
|
ucManager;
|
|
22
24
|
runtime;
|
|
23
|
-
constructor(serverRequestHandler, settingsManager, ucDataStore, ucManager) {
|
|
25
|
+
constructor(customerFacingErrorBuilder, serverRequestHandler, settingsManager, ucDataStore, ucManager) {
|
|
26
|
+
this.customerFacingErrorBuilder = customerFacingErrorBuilder;
|
|
24
27
|
this.serverRequestHandler = serverRequestHandler;
|
|
25
28
|
this.settingsManager = settingsManager;
|
|
26
29
|
this.ucDataStore = ucDataStore;
|
|
@@ -41,7 +44,7 @@ let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
|
|
|
41
44
|
throw new NotCallableError('init', 'initSync', 'sync-only');
|
|
42
45
|
}
|
|
43
46
|
initSync() {
|
|
44
|
-
this.runtime = init();
|
|
47
|
+
this.runtime = init(this.customerFacingErrorBuilder);
|
|
45
48
|
}
|
|
46
49
|
async mount(_appManifest, _ucd, _contract) {
|
|
47
50
|
throw new NotCallableError('mount', 'mountSync', 'sync-only');
|
|
@@ -78,10 +81,12 @@ let SyncEdgeWorkerHonoServerManager = class SyncEdgeWorkerHonoServerManager {
|
|
|
78
81
|
};
|
|
79
82
|
SyncEdgeWorkerHonoServerManager = __decorate([
|
|
80
83
|
injectable(),
|
|
81
|
-
__param(0, inject(
|
|
82
|
-
__param(1, inject(
|
|
83
|
-
__param(2, inject('
|
|
84
|
-
__param(3, inject('
|
|
85
|
-
|
|
84
|
+
__param(0, inject(CustomerFacingErrorBuilder)),
|
|
85
|
+
__param(1, inject(ServerRequestHandler)),
|
|
86
|
+
__param(2, inject('SettingsManager')),
|
|
87
|
+
__param(3, inject('UCDataStore')),
|
|
88
|
+
__param(4, inject('UCManager')),
|
|
89
|
+
__metadata("design:paramtypes", [CustomerFacingErrorBuilder,
|
|
90
|
+
ServerRequestHandler, Object, Object, Object])
|
|
86
91
|
], SyncEdgeWorkerHonoServerManager);
|
|
87
92
|
export { SyncEdgeWorkerHonoServerManager };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TARGETS, type TargetName } from './lib/manifest.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TARGETS } from './lib/manifest.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type Input =
|
|
1
|
+
import type { TargetEntrypointInput } from '../entrypoint.js';
|
|
2
|
+
export type Input = TargetEntrypointInput;
|
|
3
3
|
export type Output = void;
|
|
4
4
|
export interface CLIManager {
|
|
5
5
|
handleCommand(input: Input): Promise<void>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { unsafeDefaultSetting } from '../../../std/index.js';
|
|
1
2
|
/**
|
|
2
3
|
* @see TARGET_DEFAULT_SERVER_MANAGER_SETTINGS
|
|
3
4
|
*/
|
|
4
5
|
export const TARGET_DEFAULT_SERVER_CLIENT_MANAGER_SETTINGS = {
|
|
5
6
|
server_cookies_name_auth: 'auth',
|
|
6
|
-
server_public_api_key:
|
|
7
|
+
server_public_api_key: unsafeDefaultSetting(),
|
|
7
8
|
server_public_api_key_header_name: 'X-API-Key',
|
|
8
9
|
server_public_url: 'http://localhost:7443',
|
|
9
10
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { EnumOf } from '../../utils/index.js';
|
|
2
|
+
export declare const TARGETS: {
|
|
3
|
+
readonly 'edge-worker-hono-server': "edge-worker-hono-server";
|
|
4
|
+
readonly 'nextjs-server': "nextjs-server";
|
|
5
|
+
readonly 'node-core-cli': "node-core-cli";
|
|
6
|
+
readonly 'node-express-server': "node-express-server";
|
|
7
|
+
readonly 'node-hono-server': "node-hono-server";
|
|
8
|
+
readonly 'node-mcp-server': "node-mcp-server";
|
|
9
|
+
readonly 'node-stricli-cli': "node-stricli-cli";
|
|
10
|
+
readonly 'react-native-pure': "react-native-pure";
|
|
11
|
+
readonly 'react-web-pure': "react-web-pure";
|
|
12
|
+
};
|
|
13
|
+
export type TargetName = EnumOf<typeof TARGETS>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const TARGETS = {
|
|
2
|
+
'edge-worker-hono-server': 'edge-worker-hono-server',
|
|
3
|
+
'nextjs-server': 'nextjs-server',
|
|
4
|
+
'node-core-cli': 'node-core-cli',
|
|
5
|
+
'node-express-server': 'node-express-server',
|
|
6
|
+
'node-hono-server': 'node-hono-server',
|
|
7
|
+
'node-mcp-server': 'node-mcp-server',
|
|
8
|
+
'node-stricli-cli': 'node-stricli-cli',
|
|
9
|
+
'react-native-pure': 'react-native-pure',
|
|
10
|
+
'react-web-pure': 'react-web-pure',
|
|
11
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { AppUCsLoaderInput } from '../../../app/index.js';
|
|
2
1
|
import { ProductUCsLoader } from '../../../product/index.js';
|
|
3
2
|
import type { I18nManager, Logger, Worker } from '../../../std/index.js';
|
|
4
3
|
import { type UCManager } from '../../../uc/index.js';
|
|
4
|
+
import type { TargetEntrypointInput } from '../entrypoint.js';
|
|
5
5
|
import type { ServerManager } from '../server/ServerManager.js';
|
|
6
|
-
type Input =
|
|
6
|
+
type Input = TargetEntrypointInput;
|
|
7
7
|
export declare class MCPServerBooter implements Worker<Input, Promise<void>> {
|
|
8
8
|
private i18nManager;
|
|
9
9
|
private logger;
|
|
@@ -11,7 +11,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
11
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
12
|
};
|
|
13
13
|
import { inject, injectable } from 'inversify';
|
|
14
|
-
import { CustomError, InternalServerError } from '../../../error/index.js';
|
|
14
|
+
import { CustomError, IllegalArgumentError, InternalServerError, isInvalidJSON, } from '../../../error/index.js';
|
|
15
15
|
let CustomerFacingErrorBuilder = class CustomerFacingErrorBuilder {
|
|
16
16
|
environmentManager;
|
|
17
17
|
logger;
|
|
@@ -26,6 +26,11 @@ let CustomerFacingErrorBuilder = class CustomerFacingErrorBuilder {
|
|
|
26
26
|
error,
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
+
if (isInvalidJSON(error)) {
|
|
30
|
+
return {
|
|
31
|
+
error: new IllegalArgumentError(),
|
|
32
|
+
};
|
|
33
|
+
}
|
|
29
34
|
this.logger.error(error);
|
|
30
35
|
// Create a specific generic error to avoid leaking potentially sensitive error
|
|
31
36
|
// We all know the infamous "Cannot connect to MySQL database"...
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type { AppUCsLoaderInput } from '../../../app/index.js';
|
|
2
1
|
import { ProductUCsLoader } from '../../../product/index.js';
|
|
3
2
|
import type { Configurable, EmailManager, FSManager, I18nManager, JobManager, Logger, SettingsManager, Worker } from '../../../std/index.js';
|
|
4
3
|
import { type UCManager } from '../../../uc/index.js';
|
|
4
|
+
import type { TargetEntrypointInput } from '../entrypoint.js';
|
|
5
5
|
import { ServerInstaller } from './ServerInstaller.js';
|
|
6
6
|
import type { ServerManager, ServerManagerSettings } from './ServerManager.js';
|
|
7
7
|
type S = Pick<ServerManagerSettings, 'server_static_dir_path' | 'server_tmp_path'>;
|
|
8
|
-
type Input =
|
|
8
|
+
type Input = TargetEntrypointInput & {
|
|
9
9
|
autoMountUCs?: boolean;
|
|
10
10
|
};
|
|
11
11
|
export declare class ServerBooter implements Configurable<S>, Worker<Input, Promise<void>> {
|
|
@@ -12,6 +12,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
12
|
};
|
|
13
13
|
var ServerRequestHandler_1;
|
|
14
14
|
import { inject, injectable } from 'inversify';
|
|
15
|
+
import { IllegalArgumentError, isEmptyJSON } from '../../../error/index.js';
|
|
15
16
|
import { UCBuilder, UCOutputReader, UCOutputSideEffectType, } from '../../../uc/index.js';
|
|
16
17
|
import { AuthCookieCreator, } from './AuthCookieCreator.js';
|
|
17
18
|
import { AuthenticationChecker } from './AuthenticationChecker.js';
|
|
@@ -119,8 +120,11 @@ let ServerRequestHandler = class ServerRequestHandler {
|
|
|
119
120
|
try {
|
|
120
121
|
uc.fill((await req.bodyFromJSON()));
|
|
121
122
|
}
|
|
122
|
-
catch (
|
|
123
|
-
|
|
123
|
+
catch (err) {
|
|
124
|
+
if (isEmptyJSON(err)) {
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
throw new IllegalArgumentError();
|
|
124
128
|
}
|
|
125
129
|
break;
|
|
126
130
|
case 'query-params':
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { unsafeDefaultSetting } from '../../../std/index.js';
|
|
1
2
|
/**
|
|
2
3
|
* @see TARGET_DEFAULT_SERVER_CLIENT_MANAGER_SETTINGS
|
|
3
4
|
*/
|
|
@@ -13,7 +14,7 @@ export const TARGET_DEFAULT_SERVER_MANAGER_SETTINGS = {
|
|
|
13
14
|
server_csp_img_src: [],
|
|
14
15
|
server_csp_script_src: [],
|
|
15
16
|
server_private_api_key_entries: [],
|
|
16
|
-
server_public_api_key_entries: [
|
|
17
|
+
server_public_api_key_entries: [unsafeDefaultSetting()],
|
|
17
18
|
server_public_api_key_header_name: 'X-API-Key',
|
|
18
19
|
server_public_url: 'http://localhost:7443',
|
|
19
20
|
server_ssl_fullchain_path: null,
|
|
@@ -4,12 +4,14 @@ import type { AppManifest } from '../../../app/index.js';
|
|
|
4
4
|
import type { File } from '../../../dt/index.js';
|
|
5
5
|
import type { LoggerLevel } from '../../../std/index.js';
|
|
6
6
|
import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../../uc/index.js';
|
|
7
|
+
import type { CustomerFacingErrorBuilder } from '../server/CustomerFacingErrorBuilder.js';
|
|
7
8
|
import type { ServerManagerSettings } from '../server/ServerManager.js';
|
|
8
9
|
import type { ServerRequestHandler, ServerRequestHandlerReq, ServerRequestHandlerRes } from '../server/ServerRequestHandler.js';
|
|
9
10
|
import type { HelmetMiddlewareBuilder } from './HelmetMiddlewareBuilder.js';
|
|
10
11
|
export declare function buildHandler<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(appManifest: AppManifest, ucd: UCDef<I, OPI0, OPI1>, contract: UCHTTPContract, serverRequestHandler: ServerRequestHandler, ucManager: UCManager): RequestHandler;
|
|
11
12
|
export declare function init(helmetMB: HelmetMiddlewareBuilder, loggerLevel: LoggerLevel, serverTmpPath: ServerManagerSettings['server_tmp_path']): Express;
|
|
12
13
|
export declare function mountHandler(contract: UCHTTPContract, express: Express, handler: RequestHandler): void;
|
|
14
|
+
export declare function postInit(app: Express, customerFacingErrorBuilder: CustomerFacingErrorBuilder): void;
|
|
13
15
|
export declare function toFile(f: fileUpload.UploadedFile): File;
|
|
14
16
|
export declare function toReq(req: Request): ServerRequestHandlerReq;
|
|
15
17
|
export declare function toRes(res: Response): ServerRequestHandlerRes;
|
|
@@ -94,6 +94,12 @@ export function mountHandler(contract, express, handler) {
|
|
|
94
94
|
express[httpMethod](pathAlias, handler);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
export function postInit(app, customerFacingErrorBuilder) {
|
|
98
|
+
app.use((err, _req, res, _next) => {
|
|
99
|
+
const { error } = customerFacingErrorBuilder.exec({ error: err });
|
|
100
|
+
return res.status(error.httpStatus).json(error.toObj());
|
|
101
|
+
});
|
|
102
|
+
}
|
|
97
103
|
export function toFile(f) {
|
|
98
104
|
return {
|
|
99
105
|
name: f.name,
|
|
@@ -2,9 +2,10 @@ import { type Context, type Handler, Hono } from 'hono';
|
|
|
2
2
|
import type { BlankEnv, Env } from 'hono/types';
|
|
3
3
|
import type { AppManifest } from '../../../app/index.js';
|
|
4
4
|
import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../../uc/index.js';
|
|
5
|
+
import type { CustomerFacingErrorBuilder } from '../server/CustomerFacingErrorBuilder.js';
|
|
5
6
|
import type { ServerRequestHandler, ServerRequestHandlerReq, ServerRequestHandlerRes } from '../server/ServerRequestHandler.js';
|
|
6
7
|
export declare function buildHandler<I extends UCInput | undefined = undefined, OPI0 extends UCOPIBase | undefined = undefined, OPI1 extends UCOPIBase | undefined = undefined>(appManifest: AppManifest, ucd: UCDef<I, OPI0, OPI1>, contract: UCHTTPContract, serverRequestHandler: ServerRequestHandler, ucManager: UCManager, beforeExec?: (c: Context) => Promise<void>): Handler;
|
|
7
|
-
export declare function init<E extends Env = BlankEnv>(): Hono<E>;
|
|
8
|
+
export declare function init<E extends Env = BlankEnv>(customerFacingErrorBuilder: CustomerFacingErrorBuilder): Hono<E>;
|
|
8
9
|
export declare function mountHandler(contract: UCHTTPContract, hono: Hono, handler: Handler): void;
|
|
9
10
|
export declare function toReq(c: Context): ServerRequestHandlerReq;
|
|
10
11
|
export declare function toRes(c: Context): ServerRequestHandlerRes;
|
|
@@ -86,13 +86,17 @@ export function buildHandler(appManifest, ucd, contract, serverRequestHandler, u
|
|
|
86
86
|
};
|
|
87
87
|
return handler;
|
|
88
88
|
}
|
|
89
|
-
export function init() {
|
|
89
|
+
export function init(customerFacingErrorBuilder) {
|
|
90
90
|
const app = new Hono();
|
|
91
91
|
app.use(secureHeaders());
|
|
92
92
|
app.use(logger());
|
|
93
93
|
app.notFound((c) => {
|
|
94
|
-
const
|
|
95
|
-
return c.json(
|
|
94
|
+
const error = new NotFoundError();
|
|
95
|
+
return c.json(error.toObj(), error.httpStatus);
|
|
96
|
+
});
|
|
97
|
+
app.onError((err, c) => {
|
|
98
|
+
const { error } = customerFacingErrorBuilder.exec({ error: err });
|
|
99
|
+
return c.json(error.toObj(), error.httpStatus);
|
|
96
100
|
});
|
|
97
101
|
return app;
|
|
98
102
|
}
|
|
@@ -3,6 +3,7 @@ import type { AppManifest } from '../../app/index.js';
|
|
|
3
3
|
import type { DirPath } from '../../dt/index.js';
|
|
4
4
|
import type { Configurable, EnvironmentManager, Logger, LoggerSettings, SettingsManager } from '../../std/index.js';
|
|
5
5
|
import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js';
|
|
6
|
+
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
|
|
6
7
|
import { EntrypointsBuilder } from '../lib/server/EntrypointsBuilder.js';
|
|
7
8
|
import type { ServerManager, ServerManagerSettings } from '../lib/server/ServerManager.js';
|
|
8
9
|
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
|
|
@@ -11,6 +12,7 @@ import { HelmetMiddlewareBuilder } from '../lib/server-express/HelmetMiddlewareB
|
|
|
11
12
|
import type { ListenSettings, StopSettings } from '../lib/server-node/types.js';
|
|
12
13
|
type S = ListenSettings & Pick<LoggerSettings, 'logger_level'> & Pick<ServerManagerSettings, 'server_tmp_path'> & StopSettings;
|
|
13
14
|
export declare class NodeExpressServerManager implements Configurable<S>, ServerManager {
|
|
15
|
+
private customerFacingErrorBuilder;
|
|
14
16
|
private entrypointsBuilder;
|
|
15
17
|
protected environmentManager: EnvironmentManager;
|
|
16
18
|
private helmetMB;
|
|
@@ -21,7 +23,7 @@ export declare class NodeExpressServerManager implements Configurable<S>, Server
|
|
|
21
23
|
private ucManager;
|
|
22
24
|
protected runtime: Express;
|
|
23
25
|
private server;
|
|
24
|
-
constructor(entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, helmetMB: HelmetMiddlewareBuilder, logger: Logger, serverRequestHandler: ServerRequestHandler, serverSSLCertLoader: ServerSSLCertLoader, settingsManager: SettingsManager<S>, ucManager: UCManager);
|
|
26
|
+
constructor(customerFacingErrorBuilder: CustomerFacingErrorBuilder, entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, helmetMB: HelmetMiddlewareBuilder, logger: Logger, serverRequestHandler: ServerRequestHandler, serverSSLCertLoader: ServerSSLCertLoader, settingsManager: SettingsManager<S>, ucManager: UCManager);
|
|
25
27
|
s(): S;
|
|
26
28
|
getRuntime(): Express;
|
|
27
29
|
overrideUCManager(ucManager: UCManager): void;
|
|
@@ -15,13 +15,15 @@ import https from 'node:https';
|
|
|
15
15
|
import express, {} from 'express';
|
|
16
16
|
import { inject, injectable } from 'inversify';
|
|
17
17
|
import { NotCallableError } from '../../error/index.js';
|
|
18
|
+
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
|
|
18
19
|
import { EntrypointsBuilder } from '../lib/server/EntrypointsBuilder.js';
|
|
19
20
|
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
|
|
20
21
|
import { ServerSSLCertLoader } from '../lib/server/ServerSSLCertLoader.js';
|
|
21
|
-
import { buildHandler, init, mountHandler, } from '../lib/server-express/funcs.js';
|
|
22
|
+
import { buildHandler, init, mountHandler, postInit, } from '../lib/server-express/funcs.js';
|
|
22
23
|
import { HelmetMiddlewareBuilder } from '../lib/server-express/HelmetMiddlewareBuilder.js';
|
|
23
24
|
import { listen, stop } from '../lib/server-node/funcs.js';
|
|
24
25
|
let NodeExpressServerManager = class NodeExpressServerManager {
|
|
26
|
+
customerFacingErrorBuilder;
|
|
25
27
|
entrypointsBuilder;
|
|
26
28
|
environmentManager;
|
|
27
29
|
helmetMB;
|
|
@@ -32,7 +34,8 @@ let NodeExpressServerManager = class NodeExpressServerManager {
|
|
|
32
34
|
ucManager;
|
|
33
35
|
runtime;
|
|
34
36
|
server;
|
|
35
|
-
constructor(entrypointsBuilder, environmentManager, helmetMB, logger, serverRequestHandler, serverSSLCertLoader, settingsManager, ucManager) {
|
|
37
|
+
constructor(customerFacingErrorBuilder, entrypointsBuilder, environmentManager, helmetMB, logger, serverRequestHandler, serverSSLCertLoader, settingsManager, ucManager) {
|
|
38
|
+
this.customerFacingErrorBuilder = customerFacingErrorBuilder;
|
|
36
39
|
this.entrypointsBuilder = entrypointsBuilder;
|
|
37
40
|
this.environmentManager = environmentManager;
|
|
38
41
|
this.helmetMB = helmetMB;
|
|
@@ -83,7 +86,7 @@ let NodeExpressServerManager = class NodeExpressServerManager {
|
|
|
83
86
|
await stop(this.server, this.settingsManager);
|
|
84
87
|
}
|
|
85
88
|
async warmUp() {
|
|
86
|
-
|
|
89
|
+
postInit(this.runtime, this.customerFacingErrorBuilder);
|
|
87
90
|
}
|
|
88
91
|
async createServer() {
|
|
89
92
|
const port = this.s().server_binding_port;
|
|
@@ -102,15 +105,17 @@ let NodeExpressServerManager = class NodeExpressServerManager {
|
|
|
102
105
|
};
|
|
103
106
|
NodeExpressServerManager = __decorate([
|
|
104
107
|
injectable(),
|
|
105
|
-
__param(0, inject(
|
|
106
|
-
__param(1, inject(
|
|
107
|
-
__param(2, inject(
|
|
108
|
-
__param(3, inject(
|
|
109
|
-
__param(4, inject(
|
|
110
|
-
__param(5, inject(
|
|
111
|
-
__param(6, inject(
|
|
112
|
-
__param(7, inject('
|
|
113
|
-
|
|
108
|
+
__param(0, inject(CustomerFacingErrorBuilder)),
|
|
109
|
+
__param(1, inject(EntrypointsBuilder)),
|
|
110
|
+
__param(2, inject('EnvironmentManager')),
|
|
111
|
+
__param(3, inject(HelmetMiddlewareBuilder)),
|
|
112
|
+
__param(4, inject('Logger')),
|
|
113
|
+
__param(5, inject(ServerRequestHandler)),
|
|
114
|
+
__param(6, inject(ServerSSLCertLoader)),
|
|
115
|
+
__param(7, inject('SettingsManager')),
|
|
116
|
+
__param(8, inject('UCManager')),
|
|
117
|
+
__metadata("design:paramtypes", [CustomerFacingErrorBuilder,
|
|
118
|
+
EntrypointsBuilder, Object, HelmetMiddlewareBuilder, Object, ServerRequestHandler,
|
|
114
119
|
ServerSSLCertLoader, Object, Object])
|
|
115
120
|
], NodeExpressServerManager);
|
|
116
121
|
export { NodeExpressServerManager };
|
|
@@ -3,6 +3,7 @@ import type { AppManifest } from '../../app/index.js';
|
|
|
3
3
|
import type { DirPath } from '../../dt/index.js';
|
|
4
4
|
import type { Configurable, EnvironmentManager, Logger, SettingsManager } from '../../std/index.js';
|
|
5
5
|
import type { UCDef, UCHTTPContract, UCInput, UCManager, UCOPIBase } from '../../uc/index.js';
|
|
6
|
+
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
|
|
6
7
|
import { EntrypointsBuilder } from '../lib/server/EntrypointsBuilder.js';
|
|
7
8
|
import type { ServerManager } from '../lib/server/ServerManager.js';
|
|
8
9
|
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
|
|
@@ -10,6 +11,7 @@ import { ServerSSLCertLoader } from '../lib/server/ServerSSLCertLoader.js';
|
|
|
10
11
|
import type { ListenSettings, StopSettings } from '../lib/server-node/types.js';
|
|
11
12
|
type S = ListenSettings & StopSettings;
|
|
12
13
|
export declare class NodeHonoServerManager implements Configurable<S>, ServerManager {
|
|
14
|
+
private customerFacingErrorBuilder;
|
|
13
15
|
private entrypointsBuilder;
|
|
14
16
|
protected environmentManager: EnvironmentManager;
|
|
15
17
|
private logger;
|
|
@@ -19,7 +21,7 @@ export declare class NodeHonoServerManager implements Configurable<S>, ServerMan
|
|
|
19
21
|
private ucManager;
|
|
20
22
|
protected runtime: Hono;
|
|
21
23
|
private server;
|
|
22
|
-
constructor(entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, logger: Logger, serverRequestHandler: ServerRequestHandler, serverSSLCertLoader: ServerSSLCertLoader, settingsManager: SettingsManager<S>, ucManager: UCManager);
|
|
24
|
+
constructor(customerFacingErrorBuilder: CustomerFacingErrorBuilder, entrypointsBuilder: EntrypointsBuilder, environmentManager: EnvironmentManager, logger: Logger, serverRequestHandler: ServerRequestHandler, serverSSLCertLoader: ServerSSLCertLoader, settingsManager: SettingsManager<S>, ucManager: UCManager);
|
|
23
25
|
s(): S;
|
|
24
26
|
getRuntime(): Hono;
|
|
25
27
|
overrideUCManager(ucManager: UCManager): void;
|
|
@@ -16,12 +16,14 @@ import { createAdaptorServer } from '@hono/node-server';
|
|
|
16
16
|
import { serveStatic } from '@hono/node-server/serve-static';
|
|
17
17
|
import { inject, injectable } from 'inversify';
|
|
18
18
|
import { NotCallableError } from '../../error/index.js';
|
|
19
|
+
import { CustomerFacingErrorBuilder } from '../lib/server/CustomerFacingErrorBuilder.js';
|
|
19
20
|
import { EntrypointsBuilder } from '../lib/server/EntrypointsBuilder.js';
|
|
20
21
|
import { ServerRequestHandler } from '../lib/server/ServerRequestHandler.js';
|
|
21
22
|
import { ServerSSLCertLoader } from '../lib/server/ServerSSLCertLoader.js';
|
|
22
23
|
import { buildHandler, init, mountHandler } from '../lib/server-hono/funcs.js';
|
|
23
24
|
import { listen, stop } from '../lib/server-node/funcs.js';
|
|
24
25
|
let NodeHonoServerManager = class NodeHonoServerManager {
|
|
26
|
+
customerFacingErrorBuilder;
|
|
25
27
|
entrypointsBuilder;
|
|
26
28
|
environmentManager;
|
|
27
29
|
logger;
|
|
@@ -31,7 +33,8 @@ let NodeHonoServerManager = class NodeHonoServerManager {
|
|
|
31
33
|
ucManager;
|
|
32
34
|
runtime;
|
|
33
35
|
server;
|
|
34
|
-
constructor(entrypointsBuilder, environmentManager, logger, serverRequestHandler, serverSSLCertLoader, settingsManager, ucManager) {
|
|
36
|
+
constructor(customerFacingErrorBuilder, entrypointsBuilder, environmentManager, logger, serverRequestHandler, serverSSLCertLoader, settingsManager, ucManager) {
|
|
37
|
+
this.customerFacingErrorBuilder = customerFacingErrorBuilder;
|
|
35
38
|
this.entrypointsBuilder = entrypointsBuilder;
|
|
36
39
|
this.environmentManager = environmentManager;
|
|
37
40
|
this.logger = logger;
|
|
@@ -57,7 +60,7 @@ let NodeHonoServerManager = class NodeHonoServerManager {
|
|
|
57
60
|
this.ucManager = ucManager;
|
|
58
61
|
}
|
|
59
62
|
async init() {
|
|
60
|
-
this.runtime = init();
|
|
63
|
+
this.runtime = init(this.customerFacingErrorBuilder);
|
|
61
64
|
await this.createServer();
|
|
62
65
|
}
|
|
63
66
|
initSync() {
|
|
@@ -106,14 +109,16 @@ let NodeHonoServerManager = class NodeHonoServerManager {
|
|
|
106
109
|
};
|
|
107
110
|
NodeHonoServerManager = __decorate([
|
|
108
111
|
injectable(),
|
|
109
|
-
__param(0, inject(
|
|
110
|
-
__param(1, inject(
|
|
111
|
-
__param(2, inject('
|
|
112
|
-
__param(3, inject(
|
|
113
|
-
__param(4, inject(
|
|
114
|
-
__param(5, inject(
|
|
115
|
-
__param(6, inject('
|
|
116
|
-
|
|
112
|
+
__param(0, inject(CustomerFacingErrorBuilder)),
|
|
113
|
+
__param(1, inject(EntrypointsBuilder)),
|
|
114
|
+
__param(2, inject('EnvironmentManager')),
|
|
115
|
+
__param(3, inject('Logger')),
|
|
116
|
+
__param(4, inject(ServerRequestHandler)),
|
|
117
|
+
__param(5, inject(ServerSSLCertLoader)),
|
|
118
|
+
__param(6, inject('SettingsManager')),
|
|
119
|
+
__param(7, inject('UCManager')),
|
|
120
|
+
__metadata("design:paramtypes", [CustomerFacingErrorBuilder,
|
|
121
|
+
EntrypointsBuilder, Object, Object, ServerRequestHandler,
|
|
117
122
|
ServerSSLCertLoader, Object, Object])
|
|
118
123
|
], NodeHonoServerManager);
|
|
119
124
|
export { NodeHonoServerManager };
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { WordingManager } from '../../i18n/index.js';
|
|
2
2
|
import { type ProductManifest, ProductUCsLoader } from '../../product/index.js';
|
|
3
|
+
import type { I18nManager } from '../../std/index.js';
|
|
3
4
|
import type { CLIManager, Input, Output } from '../lib/cli/CLIManager.js';
|
|
4
5
|
import { CommandExecutor } from '../lib/cli/CommandExecutor.js';
|
|
5
6
|
export declare class NodeStricliCLIManager implements CLIManager {
|
|
6
7
|
private commandExecutor;
|
|
8
|
+
private i18nManager;
|
|
7
9
|
private productManifest;
|
|
8
10
|
private productUCsLoader;
|
|
9
11
|
private wordingManager;
|
|
10
|
-
constructor(commandExecutor: CommandExecutor, productManifest: ProductManifest, productUCsLoader: ProductUCsLoader, wordingManager: WordingManager);
|
|
12
|
+
constructor(commandExecutor: CommandExecutor, i18nManager: I18nManager, productManifest: ProductManifest, productUCsLoader: ProductUCsLoader, wordingManager: WordingManager);
|
|
11
13
|
handleCommand({ appsRootPath, srcImporter, }: Input): Promise<Output>;
|
|
12
14
|
}
|
|
@@ -18,16 +18,19 @@ import { ucifHint, ucifIsMandatory, ucifRepeatability, ucMountingPoint, } from '
|
|
|
18
18
|
import { CommandExecutor } from '../lib/cli/CommandExecutor.js';
|
|
19
19
|
let NodeStricliCLIManager = class NodeStricliCLIManager {
|
|
20
20
|
commandExecutor;
|
|
21
|
+
i18nManager;
|
|
21
22
|
productManifest;
|
|
22
23
|
productUCsLoader;
|
|
23
24
|
wordingManager;
|
|
24
|
-
constructor(commandExecutor, productManifest, productUCsLoader, wordingManager) {
|
|
25
|
+
constructor(commandExecutor, i18nManager, productManifest, productUCsLoader, wordingManager) {
|
|
25
26
|
this.commandExecutor = commandExecutor;
|
|
27
|
+
this.i18nManager = i18nManager;
|
|
26
28
|
this.productManifest = productManifest;
|
|
27
29
|
this.productUCsLoader = productUCsLoader;
|
|
28
30
|
this.wordingManager = wordingManager;
|
|
29
31
|
}
|
|
30
32
|
async handleCommand({ appsRootPath, srcImporter, }) {
|
|
33
|
+
await this.i18nManager.init();
|
|
31
34
|
const ucs = await this.productUCsLoader.exec({
|
|
32
35
|
appsRootPath,
|
|
33
36
|
srcImporter,
|
|
@@ -109,10 +112,11 @@ let NodeStricliCLIManager = class NodeStricliCLIManager {
|
|
|
109
112
|
NodeStricliCLIManager = __decorate([
|
|
110
113
|
injectable(),
|
|
111
114
|
__param(0, inject(CommandExecutor)),
|
|
112
|
-
__param(1, inject('
|
|
113
|
-
__param(2, inject(
|
|
114
|
-
__param(3, inject(
|
|
115
|
-
|
|
115
|
+
__param(1, inject('I18nManager')),
|
|
116
|
+
__param(2, inject('ProductManifest')),
|
|
117
|
+
__param(3, inject(ProductUCsLoader)),
|
|
118
|
+
__param(4, inject(WordingManager)),
|
|
119
|
+
__metadata("design:paramtypes", [CommandExecutor, Object, Object, ProductUCsLoader,
|
|
116
120
|
WordingManager])
|
|
117
121
|
], NodeStricliCLIManager);
|
|
118
122
|
export { NodeStricliCLIManager };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AppTesterConfigurator, AppTesterConfiguratorAuthSettersConfig, AppTesterConfiguratorInputFillers, AppTesterConfiguratorSideEffects, AppTesterConfiguratorSpecificAssertions } from '../AppTesterConfigurator.js';
|
|
2
|
+
import type { AppTesterCtx } from '../ctx.js';
|
|
3
|
+
import type { AppTesterFlow } from '../flow.js';
|
|
4
|
+
export declare class NodeAppTesterConfigurator implements AppTesterConfigurator {
|
|
5
|
+
authSettersConfig(): Promise<AppTesterConfiguratorAuthSettersConfig | undefined>;
|
|
6
|
+
bindImplementations(ctx: AppTesterCtx): Promise<void>;
|
|
7
|
+
clearExecution(ctx: AppTesterCtx): Promise<void>;
|
|
8
|
+
flows(): Promise<AppTesterFlow[]>;
|
|
9
|
+
inputFillers(): Promise<AppTesterConfiguratorInputFillers | undefined>;
|
|
10
|
+
opts(): Promise<AppTesterCtx['opts']>;
|
|
11
|
+
seed(_ctx: AppTesterCtx): Promise<void>;
|
|
12
|
+
sideEffects(_ctx: AppTesterCtx): Promise<AppTesterConfiguratorSideEffects | undefined>;
|
|
13
|
+
specificAssertions(): Promise<AppTesterConfiguratorSpecificAssertions | undefined>;
|
|
14
|
+
updateSettings<S>(ctx: AppTesterCtx, settings: S): Promise<void>;
|
|
15
|
+
}
|