@emberkit/core 0.3.0 → 0.3.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/dev-server/index.d.ts.map +1 -1
- package/dist/dev-server/index.js +1 -2
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/logger/browser.d.ts +3 -0
- package/dist/logger/browser.d.ts.map +1 -0
- package/dist/logger/browser.js +1 -0
- package/dist/logger/helpers/create-logger-browser.d.ts +6 -0
- package/dist/logger/helpers/create-logger-browser.d.ts.map +1 -0
- package/dist/logger/helpers/create-logger-browser.js +49 -0
- package/dist/logger/helpers/create-logger-node.d.ts +8 -0
- package/dist/logger/helpers/create-logger-node.d.ts.map +1 -0
- package/dist/logger/helpers/create-logger-node.js +103 -0
- package/dist/logger/index.d.ts +3 -6
- package/dist/logger/index.d.ts.map +1 -1
- package/dist/logger/index.js +3 -14
- package/dist/logger/node.d.ts +4 -0
- package/dist/logger/node.d.ts.map +1 -0
- package/dist/logger/node.js +2 -0
- package/dist/logger/server.d.ts +7 -0
- package/dist/logger/server.d.ts.map +1 -0
- package/dist/logger/server.js +13 -0
- package/package.json +13 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;CACjC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0D;IAClF,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAK;gBAEV,OAAO,GAAE,gBAAqB;IAU1C,QAAQ,IAAI,WAAW;IASjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dev-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;CACjC;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0D;IAClF,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAK;gBAEV,OAAO,GAAE,gBAAqB;IAU1C,QAAQ,IAAI,WAAW;IASjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,OAAO,CAAC,oBAAoB;YAuCd,YAAY;YAeZ,aAAa;IAgC3B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;CAIlB;AAED,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIpF"}
|
package/dist/dev-server/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createLogger
|
|
1
|
+
import { createLogger } from '../logger/node.js';
|
|
2
2
|
export class DevServer {
|
|
3
3
|
errorCount = 0;
|
|
4
4
|
logger;
|
|
@@ -62,7 +62,6 @@ export class DevServer {
|
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
createRequestHandler() {
|
|
65
|
-
const httpLogger = createHttpLogger(this.logger);
|
|
66
65
|
return async (req, res) => {
|
|
67
66
|
this.requestCount++;
|
|
68
67
|
const startTime = Date.now();
|
package/dist/index.d.ts
CHANGED
|
@@ -16,7 +16,6 @@ export type { HeadProps } from './meta/index.js';
|
|
|
16
16
|
export { generateMeta, generateBreadcrumbs, generateArticleSchema, generateProductSchema, } from './meta/index.js';
|
|
17
17
|
export type { MetaData, OpenGraphData, TwitterCardData } from './meta/index.js';
|
|
18
18
|
export type { FC, RouteComponent, RouteChildren } from './runtime/types.js';
|
|
19
|
-
export {
|
|
20
|
-
export type { Logger, LoggerOptions, LogLevel, RequestLog, ResponseLog } from './logger/index.js';
|
|
19
|
+
export type { Logger, LoggerOptions, LogLevel, RequestLog, ResponseLog } from './logger/types.js';
|
|
21
20
|
export declare function defineConfig(config: Record<string, unknown>): Record<string, unknown>;
|
|
22
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhF,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,KAAK,EACL,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,GACP,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnF,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEzF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhF,YAAY,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5E,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAErF"}
|
package/dist/index.js
CHANGED
|
@@ -11,7 +11,6 @@ export { compileMDX, compileSync, useMDX } from './mdx/index.js';
|
|
|
11
11
|
export { DataCache, createCache, getCached, setCache, prefetch } from './cache/index.js';
|
|
12
12
|
export { Head } from './meta/index.js';
|
|
13
13
|
export { generateMeta, generateBreadcrumbs, generateArticleSchema, generateProductSchema, } from './meta/index.js';
|
|
14
|
-
export { createLogger, createHttpLogger } from './logger/index.js';
|
|
15
14
|
export function defineConfig(config) {
|
|
16
15
|
return config;
|
|
17
16
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../src/logger/browser.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { createLogger } from './helpers/create-logger-browser.js';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Logger, LoggerOptions } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Browser-safe logger (console). Use when `import` resolves with the `browser` condition.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createLogger(options?: LoggerOptions): Logger;
|
|
6
|
+
//# sourceMappingURL=create-logger-browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-logger-browser.d.ts","sourceRoot":"","sources":["../../../src/logger/helpers/create-logger-browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAY,MAAM,aAAa,CAAC;AAenE;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAwChE"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
const LEVEL_RANK = {
|
|
2
|
+
trace: 10,
|
|
3
|
+
debug: 20,
|
|
4
|
+
info: 30,
|
|
5
|
+
warn: 40,
|
|
6
|
+
error: 50,
|
|
7
|
+
fatal: 60,
|
|
8
|
+
};
|
|
9
|
+
function enabled(threshold, level) {
|
|
10
|
+
return LEVEL_RANK[level] >= LEVEL_RANK[threshold ?? 'info'];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Browser-safe logger (console). Use when `import` resolves with the `browser` condition.
|
|
14
|
+
*/
|
|
15
|
+
export function createLogger(options = {}) {
|
|
16
|
+
const name = options.name ?? '@emberkit/core';
|
|
17
|
+
const threshold = options.level ?? 'info';
|
|
18
|
+
function createWithBindings(baseBindings) {
|
|
19
|
+
const prefix = `[${name}]`;
|
|
20
|
+
const out = (level, consoleFn, msg, errOrObj) => {
|
|
21
|
+
if (!enabled(threshold, level))
|
|
22
|
+
return;
|
|
23
|
+
const ctx = { ...baseBindings };
|
|
24
|
+
if (errOrObj instanceof Error) {
|
|
25
|
+
consoleFn(prefix, msg, ctx, errOrObj);
|
|
26
|
+
}
|
|
27
|
+
else if (errOrObj) {
|
|
28
|
+
Object.assign(ctx, errOrObj);
|
|
29
|
+
consoleFn(prefix, msg, ctx);
|
|
30
|
+
}
|
|
31
|
+
else if (Object.keys(ctx).length) {
|
|
32
|
+
consoleFn(prefix, msg, ctx);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
consoleFn(prefix, msg);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
return {
|
|
39
|
+
fatal: (msg, err) => out('fatal', console.error.bind(console), msg, err),
|
|
40
|
+
error: (msg, err) => out('error', console.error.bind(console), msg, err),
|
|
41
|
+
warn: (msg, obj) => out('warn', console.warn.bind(console), msg, obj),
|
|
42
|
+
info: (msg, obj) => out('info', console.info.bind(console), msg, obj),
|
|
43
|
+
debug: (msg, obj) => out('debug', console.debug.bind(console), msg, obj),
|
|
44
|
+
trace: (msg, obj) => out('trace', console.debug.bind(console), msg, obj),
|
|
45
|
+
child: (bindings) => createWithBindings({ ...baseBindings, ...bindings }),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return createWithBindings({});
|
|
49
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Logger, LoggerOptions } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Node-only logger backed by pino. Do not import from client bundles.
|
|
4
|
+
*/
|
|
5
|
+
export declare function createLogger(options?: LoggerOptions): Logger;
|
|
6
|
+
/** Default Node logger; import only from server code */
|
|
7
|
+
export declare const logger: Logger;
|
|
8
|
+
//# sourceMappingURL=create-logger-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-logger-node.d.ts","sourceRoot":"","sources":["../../../src/logger/helpers/create-logger-node.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAsDzD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM,CAqChE;AAED,wDAAwD;AACxD,eAAO,MAAM,MAAM,QAAiB,CAAC"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import pino from 'pino';
|
|
2
|
+
function wrapPino(pinoLogger) {
|
|
3
|
+
return {
|
|
4
|
+
fatal: (msg, err) => {
|
|
5
|
+
if (err instanceof Error) {
|
|
6
|
+
pinoLogger.fatal({ err }, msg);
|
|
7
|
+
}
|
|
8
|
+
else if (err) {
|
|
9
|
+
pinoLogger.fatal(err, msg);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
pinoLogger.fatal(msg);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
error: (msg, err) => {
|
|
16
|
+
if (err instanceof Error) {
|
|
17
|
+
pinoLogger.error({ err }, msg);
|
|
18
|
+
}
|
|
19
|
+
else if (err) {
|
|
20
|
+
pinoLogger.error(err, msg);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
pinoLogger.error(msg);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
warn: (msg, obj) => {
|
|
27
|
+
if (obj) {
|
|
28
|
+
pinoLogger.warn(obj, msg);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
pinoLogger.warn(msg);
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
info: (msg, obj) => {
|
|
35
|
+
if (obj) {
|
|
36
|
+
pinoLogger.info(obj, msg);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
pinoLogger.info(msg);
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
debug: (msg, obj) => {
|
|
43
|
+
if (obj) {
|
|
44
|
+
pinoLogger.debug(obj, msg);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
pinoLogger.debug(msg);
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
trace: (msg, obj) => {
|
|
51
|
+
if (obj) {
|
|
52
|
+
pinoLogger.trace(obj, msg);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
pinoLogger.trace(msg);
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
child: (bindings) => wrapPino(pinoLogger.child(bindings)),
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Node-only logger backed by pino. Do not import from client bundles.
|
|
63
|
+
*/
|
|
64
|
+
export function createLogger(options = {}) {
|
|
65
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
66
|
+
const isDev = !isProduction;
|
|
67
|
+
const pinoOptions = {
|
|
68
|
+
name: options.name ?? '@emberkit/core',
|
|
69
|
+
level: options.level ?? 'info',
|
|
70
|
+
};
|
|
71
|
+
let pinoBase;
|
|
72
|
+
if (options.transport === false) {
|
|
73
|
+
pinoBase = pino(pinoOptions);
|
|
74
|
+
}
|
|
75
|
+
else if (options.transport) {
|
|
76
|
+
pinoOptions.transport = options.transport;
|
|
77
|
+
pinoBase = pino(pinoOptions);
|
|
78
|
+
}
|
|
79
|
+
else if (isDev && !process.env.CI && typeof window === 'undefined') {
|
|
80
|
+
try {
|
|
81
|
+
pinoOptions.transport = {
|
|
82
|
+
target: 'pino-pretty',
|
|
83
|
+
options: {
|
|
84
|
+
colorize: true,
|
|
85
|
+
singleLine: false,
|
|
86
|
+
translateTime: 'SYS:standard',
|
|
87
|
+
ignore: 'pid,hostname',
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
pinoBase = pino(pinoOptions);
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
delete pinoOptions.transport;
|
|
94
|
+
pinoBase = pino(pinoOptions);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
pinoBase = pino(pinoOptions);
|
|
99
|
+
}
|
|
100
|
+
return wrapPino(pinoBase);
|
|
101
|
+
}
|
|
102
|
+
/** Default Node logger; import only from server code */
|
|
103
|
+
export const logger = createLogger();
|
package/dist/logger/index.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import type { Logger } from './types.js';
|
|
2
1
|
export type { Logger, LoggerOptions, LogLevel, RequestLog, ResponseLog } from './types.js';
|
|
3
|
-
export { createLogger } from './helpers/create-logger.js';
|
|
4
2
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @returns Pino HTTP middleware
|
|
3
|
+
* Default entry when tooling resolves the `logger/` folder (e.g. Vite workspace alias
|
|
4
|
+
* `@emberkit/core` → `src/`). Must stay free of pino so the client bundle never loads Node deps.
|
|
8
5
|
*/
|
|
9
|
-
export
|
|
6
|
+
export { createLogger } from './helpers/create-logger-browser.js';
|
|
10
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/logger/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE3F;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC"}
|
package/dist/logger/index.js
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
import pinoHttp from 'pino-http';
|
|
2
|
-
import { createLogger } from './helpers/create-logger.js';
|
|
3
|
-
export { createLogger } from './helpers/create-logger.js';
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @returns Pino HTTP middleware
|
|
2
|
+
* Default entry when tooling resolves the `logger/` folder (e.g. Vite workspace alias
|
|
3
|
+
* `@emberkit/core` → `src/`). Must stay free of pino so the client bundle never loads Node deps.
|
|
8
4
|
*/
|
|
9
|
-
export
|
|
10
|
-
const logger = loggerInstance ?? createLogger({ name: '@emberkit/http' });
|
|
11
|
-
return pinoHttp({
|
|
12
|
-
logger: logger,
|
|
13
|
-
customErrorMessage: (error) => error.message,
|
|
14
|
-
customSuccessMessage: () => 'Request processed',
|
|
15
|
-
}, logger);
|
|
16
|
-
}
|
|
5
|
+
export { createLogger } from './helpers/create-logger-browser.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/logger/node.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC3F,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import pinoHttp from 'pino-http';
|
|
2
|
+
import type { Logger } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* HTTP request logger middleware (Node only). Pass a pino-backed logger from {@link createLogger} on the server.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createHttpLogger(loggerInstance?: Logger): ReturnType<typeof pinoHttp>;
|
|
7
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/logger/server.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAGzC;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC,OAAO,QAAQ,CAAC,CAWrF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import pinoHttp from 'pino-http';
|
|
2
|
+
import { createLogger } from './helpers/create-logger-node.js';
|
|
3
|
+
/**
|
|
4
|
+
* HTTP request logger middleware (Node only). Pass a pino-backed logger from {@link createLogger} on the server.
|
|
5
|
+
*/
|
|
6
|
+
export function createHttpLogger(loggerInstance) {
|
|
7
|
+
const log = loggerInstance ?? createLogger({ name: '@emberkit/http' });
|
|
8
|
+
return pinoHttp({
|
|
9
|
+
logger: log,
|
|
10
|
+
customErrorMessage: (error) => error.message,
|
|
11
|
+
customSuccessMessage: () => 'Request processed',
|
|
12
|
+
}, log);
|
|
13
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emberkit/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"description": "Lightweight TypeScript-first JSX framework core",
|
|
@@ -44,6 +44,18 @@
|
|
|
44
44
|
"./jsx-dev-runtime": {
|
|
45
45
|
"import": "./dist/jsx-dev-runtime.js",
|
|
46
46
|
"types": "./dist/jsx-dev-runtime.d.ts"
|
|
47
|
+
},
|
|
48
|
+
"./logger": {
|
|
49
|
+
"browser": {
|
|
50
|
+
"types": "./dist/logger/browser.d.ts",
|
|
51
|
+
"import": "./dist/logger/browser.js"
|
|
52
|
+
},
|
|
53
|
+
"types": "./dist/logger/node.d.ts",
|
|
54
|
+
"import": "./dist/logger/node.js"
|
|
55
|
+
},
|
|
56
|
+
"./logger/node": {
|
|
57
|
+
"types": "./dist/logger/node.d.ts",
|
|
58
|
+
"import": "./dist/logger/node.js"
|
|
47
59
|
}
|
|
48
60
|
},
|
|
49
61
|
"dependencies": {
|