@fluojs/runtime 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bootstrap.js +4 -4
- package/dist/http-adapter-shared.js +3 -3
- package/dist/logging/default-logger.d.ts +8 -0
- package/dist/logging/default-logger.d.ts.map +1 -0
- package/dist/logging/default-logger.js +28 -0
- package/dist/node/internal-node.d.ts.map +1 -1
- package/dist/node/internal-node.js +8 -1
- package/package.json +2 -2
package/dist/bootstrap.js
CHANGED
|
@@ -5,7 +5,7 @@ import { DuplicateProviderError } from './errors.js';
|
|
|
5
5
|
import { createBootstrapTimingDiagnostics } from './health/diagnostics.js';
|
|
6
6
|
import { defineRuntimeModuleMetadata, getRuntimeClassDiMetadata } from './internal/core-metadata.js';
|
|
7
7
|
import { RuntimeDefaultBinder } from './internal/http-runtime.js';
|
|
8
|
-
import {
|
|
8
|
+
import { createDefaultApplicationLogger } from './logging/default-logger.js';
|
|
9
9
|
import { compileModuleGraph, providerToken } from './module-graph.js';
|
|
10
10
|
import { createRuntimePlatformShell } from './platform-shell.js';
|
|
11
11
|
import { APPLICATION_LOGGER, BOOTSTRAP_READY_SIGNAL, COMPILED_MODULES, HTTP_APPLICATION_ADAPTER, PLATFORM_SHELL, RUNTIME_CLEANUP_REGISTRATION, RUNTIME_CONTAINER } from './tokens.js';
|
|
@@ -994,7 +994,7 @@ function createRuntimeDispatcher(bootstrapped, options, logger) {
|
|
|
994
994
|
* @throws {Error} Propagates module-graph, lifecycle, or runtime initialization failures.
|
|
995
995
|
*/
|
|
996
996
|
export async function bootstrapApplication(options) {
|
|
997
|
-
const logger = options.logger ??
|
|
997
|
+
const logger = options.logger ?? createDefaultApplicationLogger();
|
|
998
998
|
let lifecycleInstances = [];
|
|
999
999
|
let bootstrappedContainer;
|
|
1000
1000
|
let bootstrappedModules = [];
|
|
@@ -1110,7 +1110,7 @@ export class FluoFactory {
|
|
|
1110
1110
|
* @throws {Error} Propagates module-graph, lifecycle, and context bootstrap failures.
|
|
1111
1111
|
*/
|
|
1112
1112
|
static async createApplicationContext(rootModule, options = {}) {
|
|
1113
|
-
const logger = options.logger ??
|
|
1113
|
+
const logger = options.logger ?? createDefaultApplicationLogger();
|
|
1114
1114
|
let lifecycleInstances = [];
|
|
1115
1115
|
let bootstrappedContainer;
|
|
1116
1116
|
let bootstrappedModules = [];
|
|
@@ -1195,7 +1195,7 @@ export class FluoFactory {
|
|
|
1195
1195
|
* @throws {Error} Propagates application-context bootstrap or runtime-resolution failures.
|
|
1196
1196
|
*/
|
|
1197
1197
|
static async createMicroservice(rootModule, options = {}) {
|
|
1198
|
-
const logger = options.logger ??
|
|
1198
|
+
const logger = options.logger ?? createDefaultApplicationLogger();
|
|
1199
1199
|
const microserviceToken = options.microserviceToken ?? DEFAULT_MICROSERVICE_TOKEN;
|
|
1200
1200
|
const context = await FluoFactory.createApplicationContext(rootModule, options);
|
|
1201
1201
|
try {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createCorsMiddleware, createErrorResponse, createSecurityHeadersMiddleware, matchRoutePattern, normalizeRoutePattern, NotFoundException } from '@fluojs/http';
|
|
2
2
|
import { bootstrapApplication } from './bootstrap.js';
|
|
3
|
-
import {
|
|
3
|
+
import { createDefaultApplicationLogger } from './logging/default-logger.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Input type for configuring CORS in an HTTP adapter.
|
|
@@ -38,7 +38,7 @@ export async function bootstrapHttpAdapterApplication(rootModule, options, adapt
|
|
|
38
38
|
return bootstrapApplication({
|
|
39
39
|
...options,
|
|
40
40
|
adapter,
|
|
41
|
-
logger: options.logger ??
|
|
41
|
+
logger: options.logger ?? createDefaultApplicationLogger(),
|
|
42
42
|
middleware: createHttpAdapterMiddleware(options),
|
|
43
43
|
rootModule
|
|
44
44
|
});
|
|
@@ -84,7 +84,7 @@ export function formatHttpAdapterListenMessage(target) {
|
|
|
84
84
|
* @returns A promise that resolves to the running application instance.
|
|
85
85
|
*/
|
|
86
86
|
export async function runHttpAdapterApplication(rootModule, options, adapter) {
|
|
87
|
-
const logger = options.logger ??
|
|
87
|
+
const logger = options.logger ?? createDefaultApplicationLogger();
|
|
88
88
|
const app = await bootstrapApplication({
|
|
89
89
|
...options,
|
|
90
90
|
adapter,
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ApplicationLogger } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates the transport-neutral runtime logger used by default root bootstrap flows.
|
|
4
|
+
*
|
|
5
|
+
* @returns Application logger that writes through `console` without Node-only process metadata.
|
|
6
|
+
*/
|
|
7
|
+
export declare function createDefaultApplicationLogger(): ApplicationLogger;
|
|
8
|
+
//# sourceMappingURL=default-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-logger.d.ts","sourceRoot":"","sources":["../../src/logging/default-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD;;;;GAIG;AACH,wBAAgB,8BAA8B,IAAI,iBAAiB,CAmBlE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function formatDefaultLog(level, context, message) {
|
|
2
|
+
return `[fluo] ${level} [${context}] ${message}`;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Creates the transport-neutral runtime logger used by default root bootstrap flows.
|
|
7
|
+
*
|
|
8
|
+
* @returns Application logger that writes through `console` without Node-only process metadata.
|
|
9
|
+
*/
|
|
10
|
+
export function createDefaultApplicationLogger() {
|
|
11
|
+
return {
|
|
12
|
+
debug(message, context = 'fluo') {
|
|
13
|
+
console.debug(formatDefaultLog('DEBUG', context, message));
|
|
14
|
+
},
|
|
15
|
+
error(message, error, context = 'fluo') {
|
|
16
|
+
console.error(formatDefaultLog('ERROR', context, message));
|
|
17
|
+
if (error) {
|
|
18
|
+
console.error(error);
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
log(message, context = 'fluo') {
|
|
22
|
+
console.log(formatDefaultLog('LOG', context, message));
|
|
23
|
+
},
|
|
24
|
+
warn(message, context = 'fluo') {
|
|
25
|
+
console.warn(formatDefaultLog('WARN', context, message));
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal-node.d.ts","sourceRoot":"","sources":["../../src/node/internal-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAA6C,MAAM,WAAW,CAAC;AACxG,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,KAAK,aAAa,IAAI,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGzG,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC5B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"internal-node.d.ts","sourceRoot":"","sources":["../../src/node/internal-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { createServer as createHttpServer } from 'node:http';
|
|
|
2
2
|
import { createServer as createHttpsServer } from 'node:https';
|
|
3
3
|
import { createServerBackedHttpAdapterRealtimeCapability } from '@fluojs/http';
|
|
4
4
|
import { bootstrapHttpAdapterApplication, runHttpAdapterApplication } from '../http-adapter-shared.js';
|
|
5
|
+
import { createConsoleApplicationLogger } from '../logging/logger.js';
|
|
5
6
|
import { createNodeResponseCompression, compressNodeResponse } from './internal-node-compression.js';
|
|
6
7
|
import { cloneHeaderValue, cloneRequestHeaders, createDeferredFrameworkRequestShell, createDeferredFrameworkRequest, createMemoizedAsyncValue, createMemoizedValue, NodeRequestPayloadTooLargeException, normalizePrimaryContentType, parseCookieHeader, parseQueryParamsFromSearch, createRequestSignal, materializeFrameworkRequestBody, readPrimaryHeaderValue, resolveAbsoluteRequestUrl, resolveRequestIdFromHeaders, snapshotSimpleQueryRecord, splitRawRequestUrl } from './internal-node-request.js';
|
|
7
8
|
import { createFrameworkResponse, writeNodeAdapterErrorResponse } from './internal-node-response.js';
|
|
@@ -144,7 +145,11 @@ export function createNodeHttpAdapter(options = {}, compression = false, multipa
|
|
|
144
145
|
* @returns The bootstrap node application result.
|
|
145
146
|
*/
|
|
146
147
|
export async function bootstrapNodeApplication(rootModule, options) {
|
|
147
|
-
|
|
148
|
+
const logger = options.logger ?? createConsoleApplicationLogger();
|
|
149
|
+
return bootstrapHttpAdapterApplication(rootModule, {
|
|
150
|
+
...options,
|
|
151
|
+
logger
|
|
152
|
+
}, createNodeHttpAdapter(options, options.compression ?? false, options.multipart));
|
|
148
153
|
}
|
|
149
154
|
|
|
150
155
|
/**
|
|
@@ -155,9 +160,11 @@ export async function bootstrapNodeApplication(rootModule, options) {
|
|
|
155
160
|
* @returns The run node application result.
|
|
156
161
|
*/
|
|
157
162
|
export async function runNodeApplication(rootModule, options) {
|
|
163
|
+
const logger = options.logger ?? createConsoleApplicationLogger();
|
|
158
164
|
const adapter = createNodeHttpAdapter(options, options.compression ?? false, options.multipart);
|
|
159
165
|
return runHttpAdapterApplication(rootModule, {
|
|
160
166
|
...options,
|
|
167
|
+
logger,
|
|
161
168
|
shutdownRegistration: createNodeShutdownSignalRegistration(options.shutdownSignals ?? defaultNodeShutdownSignals())
|
|
162
169
|
}, adapter);
|
|
163
170
|
}
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"module-graph",
|
|
10
10
|
"orchestration"
|
|
11
11
|
],
|
|
12
|
-
"version": "1.1.
|
|
12
|
+
"version": "1.1.2",
|
|
13
13
|
"private": false,
|
|
14
14
|
"license": "MIT",
|
|
15
15
|
"repository": {
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"vitest": "^3.2.4",
|
|
77
|
-
"@fluojs/serialization": "^1.0.
|
|
77
|
+
"@fluojs/serialization": "^1.0.4"
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
80
80
|
"prebuild": "node ../../tooling/scripts/clean-dist.mjs",
|