@modern-js/prod-server 2.35.0 → 2.36.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/dist/cjs/constants.js +33 -27
- package/dist/cjs/index.js +41 -33
- package/dist/cjs/libs/context/context.js +86 -36
- package/dist/cjs/libs/context/index.js +27 -17
- package/dist/cjs/libs/hook-api/base.js +49 -30
- package/dist/cjs/libs/hook-api/index.js +36 -28
- package/dist/cjs/libs/hook-api/index.worker.js +39 -31
- package/dist/cjs/libs/hook-api/route.js +28 -11
- package/dist/cjs/libs/hook-api/template.js +27 -17
- package/dist/cjs/libs/hook-api/templateForStream.js +31 -14
- package/dist/cjs/libs/loadConfig.js +46 -29
- package/dist/cjs/libs/metrics.js +24 -7
- package/dist/cjs/libs/preload/flushServerHeader.js +30 -13
- package/dist/cjs/libs/preload/index.js +22 -5
- package/dist/cjs/libs/preload/parseLinks.js +54 -30
- package/dist/cjs/libs/preload/shouldFlushServerHeader.js +25 -15
- package/dist/cjs/libs/preload/transformLinks2String.js +27 -11
- package/dist/cjs/libs/proxy.js +29 -19
- package/dist/cjs/libs/render/cache/__tests__/cache.fun.test.js +40 -22
- package/dist/cjs/libs/render/cache/__tests__/cache.test.js +33 -41
- package/dist/cjs/libs/render/cache/__tests__/cacheable.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/error-configuration.js +24 -7
- package/dist/cjs/libs/render/cache/__tests__/matched-cache.js +24 -7
- package/dist/cjs/libs/render/cache/index.js +30 -18
- package/dist/cjs/libs/render/cache/page-caches/index.js +26 -9
- package/dist/cjs/libs/render/cache/page-caches/lru.js +39 -13
- package/dist/cjs/libs/render/cache/spr.js +62 -44
- package/dist/cjs/libs/render/cache/type.js +15 -3
- package/dist/cjs/libs/render/cache/util.js +49 -36
- package/dist/cjs/libs/render/index.js +56 -30
- package/dist/cjs/libs/render/measure.js +27 -17
- package/dist/cjs/libs/render/reader.js +50 -35
- package/dist/cjs/libs/render/ssr.js +52 -26
- package/dist/cjs/libs/render/static.js +44 -18
- package/dist/cjs/libs/render/type.js +24 -7
- package/dist/cjs/libs/render/utils.js +29 -19
- package/dist/cjs/libs/reporter.js +24 -7
- package/dist/cjs/libs/route/index.js +30 -20
- package/dist/cjs/libs/route/matcher.js +37 -20
- package/dist/cjs/libs/route/route.js +34 -17
- package/dist/cjs/libs/serveFile.js +40 -21
- package/dist/cjs/libs/serverTiming.js +27 -10
- package/dist/cjs/renderHtml.js +17 -20
- package/dist/cjs/server/index.js +74 -50
- package/dist/cjs/server/modernServer.js +136 -113
- package/dist/cjs/server/modernServerSplit.js +29 -12
- package/dist/cjs/type.js +15 -3
- package/dist/cjs/utils.js +41 -38
- package/dist/cjs/workerServer.js +48 -39
- package/dist/esm/constants.js +14 -6
- package/dist/esm/index.js +11 -5
- package/dist/esm/libs/context/context.js +33 -6
- package/dist/esm/libs/context/index.js +5 -2
- package/dist/esm/libs/hook-api/base.js +6 -2
- package/dist/esm/libs/hook-api/index.js +11 -5
- package/dist/esm/libs/hook-api/index.worker.js +16 -10
- package/dist/esm/libs/hook-api/route.js +4 -1
- package/dist/esm/libs/hook-api/template.js +6 -2
- package/dist/esm/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm/libs/loadConfig.js +8 -3
- package/dist/esm/libs/metrics.js +3 -1
- package/dist/esm/libs/preload/flushServerHeader.js +9 -6
- package/dist/esm/libs/preload/parseLinks.js +13 -11
- package/dist/esm/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm/libs/preload/transformLinks2String.js +5 -3
- package/dist/esm/libs/proxy.js +9 -5
- package/dist/esm/libs/render/cache/__tests__/cache.test.js +12 -12
- package/dist/esm/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm/libs/render/cache/index.js +6 -3
- package/dist/esm/libs/render/cache/page-caches/index.js +5 -2
- package/dist/esm/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm/libs/render/cache/spr.js +13 -9
- package/dist/esm/libs/render/cache/type.js +0 -1
- package/dist/esm/libs/render/cache/util.js +18 -8
- package/dist/esm/libs/render/index.js +17 -11
- package/dist/esm/libs/render/measure.js +15 -11
- package/dist/esm/libs/render/reader.js +17 -10
- package/dist/esm/libs/render/ssr.js +11 -8
- package/dist/esm/libs/render/static.js +5 -2
- package/dist/esm/libs/render/type.js +4 -1
- package/dist/esm/libs/render/utils.js +6 -2
- package/dist/esm/libs/reporter.js +4 -1
- package/dist/esm/libs/route/index.js +5 -2
- package/dist/esm/libs/route/matcher.js +6 -3
- package/dist/esm/libs/route/route.js +4 -1
- package/dist/esm/libs/serveFile.js +6 -2
- package/dist/esm/libs/serverTiming.js +4 -1
- package/dist/esm/renderHtml.js +133 -124
- package/dist/esm/server/index.js +14 -13
- package/dist/esm/server/modernServer.js +39 -47
- package/dist/esm/server/modernServerSplit.js +4 -1
- package/dist/esm/type.js +0 -1
- package/dist/esm/utils.js +23 -12
- package/dist/esm/workerServer.js +25 -22
- package/dist/esm-node/constants.js +14 -6
- package/dist/esm-node/index.js +11 -5
- package/dist/esm-node/libs/context/context.js +33 -6
- package/dist/esm-node/libs/context/index.js +5 -2
- package/dist/esm-node/libs/hook-api/base.js +6 -2
- package/dist/esm-node/libs/hook-api/index.js +10 -4
- package/dist/esm-node/libs/hook-api/index.worker.js +10 -4
- package/dist/esm-node/libs/hook-api/route.js +4 -1
- package/dist/esm-node/libs/hook-api/template.js +6 -2
- package/dist/esm-node/libs/hook-api/templateForStream.js +4 -1
- package/dist/esm-node/libs/loadConfig.js +8 -3
- package/dist/esm-node/libs/metrics.js +3 -1
- package/dist/esm-node/libs/preload/flushServerHeader.js +6 -3
- package/dist/esm-node/libs/preload/parseLinks.js +11 -9
- package/dist/esm-node/libs/preload/shouldFlushServerHeader.js +6 -2
- package/dist/esm-node/libs/preload/transformLinks2String.js +5 -3
- package/dist/esm-node/libs/proxy.js +6 -2
- package/dist/esm-node/libs/render/cache/__tests__/cache.test.js +7 -12
- package/dist/esm-node/libs/render/cache/__tests__/cacheable.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/error-configuration.js +4 -1
- package/dist/esm-node/libs/render/cache/__tests__/matched-cache.js +4 -1
- package/dist/esm-node/libs/render/cache/index.js +5 -3
- package/dist/esm-node/libs/render/cache/page-caches/index.js +4 -1
- package/dist/esm-node/libs/render/cache/page-caches/lru.js +4 -1
- package/dist/esm-node/libs/render/cache/spr.js +7 -4
- package/dist/esm-node/libs/render/cache/type.js +0 -1
- package/dist/esm-node/libs/render/cache/util.js +18 -8
- package/dist/esm-node/libs/render/index.js +7 -3
- package/dist/esm-node/libs/render/measure.js +6 -2
- package/dist/esm-node/libs/render/reader.js +13 -7
- package/dist/esm-node/libs/render/ssr.js +4 -1
- package/dist/esm-node/libs/render/static.js +4 -1
- package/dist/esm-node/libs/render/type.js +4 -1
- package/dist/esm-node/libs/render/utils.js +6 -2
- package/dist/esm-node/libs/reporter.js +4 -1
- package/dist/esm-node/libs/route/index.js +5 -2
- package/dist/esm-node/libs/route/matcher.js +6 -3
- package/dist/esm-node/libs/route/route.js +4 -1
- package/dist/esm-node/libs/serveFile.js +6 -2
- package/dist/esm-node/libs/serverTiming.js +4 -1
- package/dist/esm-node/renderHtml.js +72 -63
- package/dist/esm-node/server/index.js +11 -10
- package/dist/esm-node/server/modernServer.js +29 -28
- package/dist/esm-node/server/modernServerSplit.js +4 -1
- package/dist/esm-node/type.js +0 -1
- package/dist/esm-node/utils.js +20 -9
- package/dist/esm-node/workerServer.js +12 -9
- package/dist/types/libs/context/context.d.ts +2 -1
- package/dist/types/type.d.ts +1 -0
- package/dist/types/utils.d.ts +1 -1
- package/package.json +9 -8
- package/dist/cjs/libs/logger.js +0 -123
- package/dist/esm/libs/logger.js +0 -125
- package/dist/esm-node/libs/logger.js +0 -106
- package/dist/types/libs/logger.d.ts +0 -61
package/dist/esm-node/utils.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { createDebugger } from "@modern-js/utils";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
const debug = createDebugger("prod-server");
|
|
3
|
+
const mergeExtension = (users) => {
|
|
4
4
|
const output = [];
|
|
5
5
|
return {
|
|
6
6
|
middleware: output.concat(users)
|
|
7
7
|
};
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
const noop = () => {
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
const createErrorDocument = (status, text) => {
|
|
12
12
|
const title = `${status}: ${text}`;
|
|
13
13
|
return `<!DOCTYPE html>
|
|
14
14
|
<html lang="en">
|
|
@@ -41,7 +41,7 @@ export const createErrorDocument = (status, text) => {
|
|
|
41
41
|
</html>
|
|
42
42
|
`;
|
|
43
43
|
};
|
|
44
|
-
|
|
44
|
+
const createMiddlewareCollecter = () => {
|
|
45
45
|
const webMiddlewares = [];
|
|
46
46
|
const apiMiddlewares = [];
|
|
47
47
|
const addWebMiddleware = (input) => {
|
|
@@ -60,7 +60,7 @@ export const createMiddlewareCollecter = () => {
|
|
|
60
60
|
addAPIMiddleware
|
|
61
61
|
};
|
|
62
62
|
};
|
|
63
|
-
|
|
63
|
+
const getStaticReg = (output = {}, html = {}, prefix = "/") => {
|
|
64
64
|
const { distPath: { css: cssPath, js: jsPath, media: mediaPath } = {} } = output;
|
|
65
65
|
const { favicon, faviconByEntries } = html;
|
|
66
66
|
const favicons = prepareFavicons(favicon, faviconByEntries);
|
|
@@ -86,7 +86,7 @@ export const getStaticReg = (output = {}, html = {}, prefix = "/") => {
|
|
|
86
86
|
].join("|")})`);
|
|
87
87
|
return staticPathRegExp;
|
|
88
88
|
};
|
|
89
|
-
|
|
89
|
+
const prepareFavicons = (favicon, faviconByEntries) => {
|
|
90
90
|
const faviconNames = [];
|
|
91
91
|
if (favicon) {
|
|
92
92
|
faviconNames.push(favicon.substring(favicon.lastIndexOf("/") + 1));
|
|
@@ -101,7 +101,7 @@ export const prepareFavicons = (favicon, faviconByEntries) => {
|
|
|
101
101
|
}
|
|
102
102
|
return faviconNames;
|
|
103
103
|
};
|
|
104
|
-
|
|
104
|
+
const headersWithoutCookie = (headers) => {
|
|
105
105
|
if (typeof headers.cookie !== "undefined") {
|
|
106
106
|
const safeHeaders = {
|
|
107
107
|
...headers
|
|
@@ -111,7 +111,7 @@ export const headersWithoutCookie = (headers) => {
|
|
|
111
111
|
}
|
|
112
112
|
return headers;
|
|
113
113
|
};
|
|
114
|
-
|
|
114
|
+
const isRedirect = (code) => {
|
|
115
115
|
return [
|
|
116
116
|
301,
|
|
117
117
|
302,
|
|
@@ -119,3 +119,14 @@ export const isRedirect = (code) => {
|
|
|
119
119
|
308
|
|
120
120
|
].includes(code);
|
|
121
121
|
};
|
|
122
|
+
export {
|
|
123
|
+
createErrorDocument,
|
|
124
|
+
createMiddlewareCollecter,
|
|
125
|
+
debug,
|
|
126
|
+
getStaticReg,
|
|
127
|
+
headersWithoutCookie,
|
|
128
|
+
isRedirect,
|
|
129
|
+
mergeExtension,
|
|
130
|
+
noop,
|
|
131
|
+
prepareFavicons
|
|
132
|
+
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
2
|
import { createAsyncPipeline } from "@modern-js/plugin";
|
|
3
|
+
import { createLogger } from "@modern-js/utils/logger";
|
|
3
4
|
import { createAfterMatchContext, createAfterRenderContext, createMiddlewareContext } from "./libs/hook-api/index.worker";
|
|
4
|
-
import { Logger } from "./libs/logger";
|
|
5
5
|
import { RouteMatchManager } from "./libs/route";
|
|
6
6
|
import { metrics as defaultMetrics } from "./libs/metrics";
|
|
7
7
|
import { defaultReporter } from "./libs/reporter";
|
|
8
|
-
|
|
8
|
+
class ReturnResponse {
|
|
9
9
|
/**
|
|
10
10
|
* Iterate a Object
|
|
11
11
|
* 1. adds the value if the key does not already exist.
|
|
@@ -65,12 +65,12 @@ const checkIsSent = (context) => {
|
|
|
65
65
|
return false;
|
|
66
66
|
};
|
|
67
67
|
const middlewarePipeline = createAsyncPipeline();
|
|
68
|
-
|
|
68
|
+
const createHandler = (manifest) => {
|
|
69
69
|
const routeMgr = new RouteMatchManager();
|
|
70
70
|
const { pages, routes } = manifest;
|
|
71
71
|
routeMgr.reset(routes);
|
|
72
72
|
return async (options) => {
|
|
73
|
-
var _page_serverHooks_afterMatch, _page_serverHooks
|
|
73
|
+
var _page_serverHooks_afterMatch, _page_serverHooks;
|
|
74
74
|
const { request, loadableStats, routeManifest } = options;
|
|
75
75
|
const url = new URL(request.url);
|
|
76
76
|
const pageMatch = routeMgr.match(url.pathname);
|
|
@@ -79,14 +79,14 @@ export const createHandler = (manifest) => {
|
|
|
79
79
|
}
|
|
80
80
|
const entryName = pageMatch.spec.urlPath;
|
|
81
81
|
const page = pages[entryName];
|
|
82
|
-
const logger =
|
|
82
|
+
const logger = createLogger({
|
|
83
83
|
level: "warn"
|
|
84
84
|
});
|
|
85
85
|
const metrics = defaultMetrics;
|
|
86
86
|
const reporter = defaultReporter;
|
|
87
87
|
const hookContext = createWorkerHookContext(request.url, logger, metrics, reporter);
|
|
88
88
|
const afterMatchHookContext = createAfterMatchContext(hookContext, entryName);
|
|
89
|
-
|
|
89
|
+
page === null || page === void 0 ? void 0 : (_page_serverHooks = page.serverHooks) === null || _page_serverHooks === void 0 ? void 0 : (_page_serverHooks_afterMatch = _page_serverHooks.afterMatch) === null || _page_serverHooks_afterMatch === void 0 ? void 0 : _page_serverHooks_afterMatch.call(_page_serverHooks, afterMatchHookContext, () => void 0);
|
|
90
90
|
if (checkIsSent(hookContext)) {
|
|
91
91
|
return new ReturnResponse(hookContext.res.body || "Unkown body", hookContext.res.status, hookContext.res.headers);
|
|
92
92
|
}
|
|
@@ -122,14 +122,13 @@ export const createHandler = (manifest) => {
|
|
|
122
122
|
logger,
|
|
123
123
|
reporter: defaultReporter,
|
|
124
124
|
metrics,
|
|
125
|
-
// FIXME: pass correctly req & res
|
|
126
125
|
req: request,
|
|
126
|
+
res: responseLike,
|
|
127
127
|
serverTiming: {
|
|
128
128
|
addServeTiming() {
|
|
129
129
|
return this;
|
|
130
130
|
}
|
|
131
|
-
}
|
|
132
|
-
res: responseLike
|
|
131
|
+
}
|
|
133
132
|
};
|
|
134
133
|
const body = await page.serverRender(serverRenderContext);
|
|
135
134
|
const afterRenderHookContext = createAfterRenderContext(hookContext, body);
|
|
@@ -210,3 +209,7 @@ function applyMiddlewares(ctx, middleware) {
|
|
|
210
209
|
});
|
|
211
210
|
}
|
|
212
211
|
}
|
|
212
|
+
export {
|
|
213
|
+
ReturnResponse,
|
|
214
|
+
createHandler
|
|
215
|
+
};
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
/// <reference types="node" />
|
|
4
4
|
/// <reference types="node/http" />
|
|
5
|
-
/// <reference types=".dts-temp/
|
|
5
|
+
/// <reference types=".dts-temp/7Y-G4jfBIn4nRmqrSkuxy/src/type" />
|
|
6
6
|
import { IncomingMessage, ServerResponse } from 'http';
|
|
7
7
|
import qs from 'querystring';
|
|
8
8
|
import type { ModernServerContext as ModernServerContextInterface, Reporter as ModernServerReporter, ServerTiming as ModernServerTiming } from '@modern-js/types';
|
|
@@ -12,6 +12,7 @@ export type ContextOptions = {
|
|
|
12
12
|
};
|
|
13
13
|
type ResponseBody = string | Buffer;
|
|
14
14
|
export declare class ModernServerContext implements ModernServerContextInterface {
|
|
15
|
+
#private;
|
|
15
16
|
/**
|
|
16
17
|
* http request
|
|
17
18
|
*/
|
package/dist/types/type.d.ts
CHANGED
package/dist/types/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node/http" />
|
|
3
|
-
/// <reference types=".dts-temp/
|
|
3
|
+
/// <reference types=".dts-temp/7Y-G4jfBIn4nRmqrSkuxy/src/type" />
|
|
4
4
|
import { IncomingMessage } from 'http';
|
|
5
5
|
import type { OutputNormalizedConfig, HtmlNormalizedConfig } from '@modern-js/server-core';
|
|
6
6
|
export declare const debug: any;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.36.0",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -74,9 +74,10 @@
|
|
|
74
74
|
"node-html-parser": "^6.1.5",
|
|
75
75
|
"path-to-regexp": "^6.2.0",
|
|
76
76
|
"serve-static": "^1.14.1",
|
|
77
|
-
"@modern-js/plugin": "2.
|
|
78
|
-
"@modern-js/
|
|
79
|
-
"@modern-js/
|
|
77
|
+
"@modern-js/plugin": "2.36.0",
|
|
78
|
+
"@modern-js/server-core": "2.36.0",
|
|
79
|
+
"@modern-js/utils": "2.36.0",
|
|
80
|
+
"@modern-js/runtime-utils": "2.36.0"
|
|
80
81
|
},
|
|
81
82
|
"devDependencies": {
|
|
82
83
|
"@types/cookie": "^0.4.1",
|
|
@@ -95,10 +96,10 @@
|
|
|
95
96
|
"portfinder": "^1.0.28",
|
|
96
97
|
"typescript": "^5",
|
|
97
98
|
"ws": "^8.13.0",
|
|
98
|
-
"@modern-js/server-core": "2.
|
|
99
|
-
"@modern-js/types": "2.
|
|
100
|
-
"@scripts/
|
|
101
|
-
"@scripts/
|
|
99
|
+
"@modern-js/server-core": "2.36.0",
|
|
100
|
+
"@modern-js/types": "2.36.0",
|
|
101
|
+
"@scripts/jest-config": "2.36.0",
|
|
102
|
+
"@scripts/build": "2.36.0"
|
|
102
103
|
},
|
|
103
104
|
"sideEffects": false,
|
|
104
105
|
"publishConfig": {
|
package/dist/cjs/libs/logger.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
function _export(target, all) {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
Object.defineProperty(target, name, {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: all[name]
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
_export(exports, {
|
|
13
|
-
Logger: function() {
|
|
14
|
-
return Logger;
|
|
15
|
-
},
|
|
16
|
-
logger: function() {
|
|
17
|
-
return logger;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
const _define_property = require("@swc/helpers/_/_define_property");
|
|
21
|
-
const LOG_LEVEL = {
|
|
22
|
-
error: 0,
|
|
23
|
-
warn: 1,
|
|
24
|
-
info: 2,
|
|
25
|
-
debug: 3,
|
|
26
|
-
log: 4
|
|
27
|
-
};
|
|
28
|
-
const LOG_TYPES = {
|
|
29
|
-
error: {
|
|
30
|
-
color: "red",
|
|
31
|
-
label: "error",
|
|
32
|
-
level: "error"
|
|
33
|
-
},
|
|
34
|
-
info: {
|
|
35
|
-
color: "cyan",
|
|
36
|
-
label: "info",
|
|
37
|
-
level: "info"
|
|
38
|
-
},
|
|
39
|
-
success: {
|
|
40
|
-
color: "green",
|
|
41
|
-
label: "Success",
|
|
42
|
-
level: "info"
|
|
43
|
-
},
|
|
44
|
-
warn: {
|
|
45
|
-
color: "yellow",
|
|
46
|
-
label: "warn",
|
|
47
|
-
level: "warn"
|
|
48
|
-
},
|
|
49
|
-
debug: {
|
|
50
|
-
color: "red",
|
|
51
|
-
label: "debug",
|
|
52
|
-
level: "debug"
|
|
53
|
-
},
|
|
54
|
-
log: {
|
|
55
|
-
level: "log"
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
const DEFAULT_CONFIG = {
|
|
59
|
-
displayLabel: true,
|
|
60
|
-
uppercaseLabel: false
|
|
61
|
-
};
|
|
62
|
-
class Logger {
|
|
63
|
-
_log(type, message, ...args) {
|
|
64
|
-
if (message === void 0 || message === null) {
|
|
65
|
-
console.log();
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (LOG_LEVEL[type] > LOG_LEVEL[this.level]) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
let label = "";
|
|
72
|
-
let text = "";
|
|
73
|
-
const logType = this.types[type];
|
|
74
|
-
if (this.config.displayLabel && logType.label) {
|
|
75
|
-
label = this.config.uppercaseLabel ? logType.label.toUpperCase() : logType.label;
|
|
76
|
-
label = label.padEnd(this.longestLabel.length);
|
|
77
|
-
}
|
|
78
|
-
if (message instanceof Error) {
|
|
79
|
-
if (message.stack) {
|
|
80
|
-
const [name, ...rest] = message.stack.split("\n");
|
|
81
|
-
text = `${name}
|
|
82
|
-
${rest.join("\n")}`;
|
|
83
|
-
} else {
|
|
84
|
-
text = message.message;
|
|
85
|
-
}
|
|
86
|
-
} else {
|
|
87
|
-
text = `${message}`;
|
|
88
|
-
}
|
|
89
|
-
const log = label.length > 0 ? `${label} ${text}` : text;
|
|
90
|
-
console.log(log, ...args);
|
|
91
|
-
}
|
|
92
|
-
getLongestLabel() {
|
|
93
|
-
let longestLabel = "";
|
|
94
|
-
Object.keys(this.types).forEach((type) => {
|
|
95
|
-
const { label = "" } = this.types[type];
|
|
96
|
-
if (label.length > longestLabel.length) {
|
|
97
|
-
longestLabel = label;
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
return longestLabel;
|
|
101
|
-
}
|
|
102
|
-
constructor(options = {}) {
|
|
103
|
-
_define_property._(this, "level", void 0);
|
|
104
|
-
_define_property._(this, "config", void 0);
|
|
105
|
-
_define_property._(this, "types", void 0);
|
|
106
|
-
_define_property._(this, "longestLabel", void 0);
|
|
107
|
-
this.level = options.level || LOG_TYPES.log.level;
|
|
108
|
-
this.config = {
|
|
109
|
-
...DEFAULT_CONFIG,
|
|
110
|
-
...options.config || {}
|
|
111
|
-
};
|
|
112
|
-
this.types = {
|
|
113
|
-
...LOG_TYPES,
|
|
114
|
-
...options.types || {}
|
|
115
|
-
};
|
|
116
|
-
this.longestLabel = this.getLongestLabel();
|
|
117
|
-
Object.keys(this.types).forEach((type) => {
|
|
118
|
-
this[type] = this._log.bind(this, type);
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
const logger = new Logger();
|
|
123
|
-
logger.Logger = Logger;
|
package/dist/esm/libs/logger.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
import { _ as _class_call_check } from "@swc/helpers/_/_class_call_check";
|
|
2
|
-
import { _ as _create_class } from "@swc/helpers/_/_create_class";
|
|
3
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
4
|
-
import { _ as _instanceof } from "@swc/helpers/_/_instanceof";
|
|
5
|
-
import { _ as _object_spread } from "@swc/helpers/_/_object_spread";
|
|
6
|
-
import { _ as _to_array } from "@swc/helpers/_/_to_array";
|
|
7
|
-
import { _ as _to_consumable_array } from "@swc/helpers/_/_to_consumable_array";
|
|
8
|
-
var LOG_LEVEL = {
|
|
9
|
-
error: 0,
|
|
10
|
-
warn: 1,
|
|
11
|
-
info: 2,
|
|
12
|
-
debug: 3,
|
|
13
|
-
log: 4
|
|
14
|
-
};
|
|
15
|
-
var LOG_TYPES = {
|
|
16
|
-
error: {
|
|
17
|
-
color: "red",
|
|
18
|
-
label: "error",
|
|
19
|
-
level: "error"
|
|
20
|
-
},
|
|
21
|
-
info: {
|
|
22
|
-
color: "cyan",
|
|
23
|
-
label: "info",
|
|
24
|
-
level: "info"
|
|
25
|
-
},
|
|
26
|
-
success: {
|
|
27
|
-
color: "green",
|
|
28
|
-
label: "Success",
|
|
29
|
-
level: "info"
|
|
30
|
-
},
|
|
31
|
-
warn: {
|
|
32
|
-
color: "yellow",
|
|
33
|
-
label: "warn",
|
|
34
|
-
level: "warn"
|
|
35
|
-
},
|
|
36
|
-
debug: {
|
|
37
|
-
color: "red",
|
|
38
|
-
label: "debug",
|
|
39
|
-
level: "debug"
|
|
40
|
-
},
|
|
41
|
-
log: {
|
|
42
|
-
level: "log"
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
var DEFAULT_CONFIG = {
|
|
46
|
-
displayLabel: true,
|
|
47
|
-
uppercaseLabel: false
|
|
48
|
-
};
|
|
49
|
-
var Logger = /* @__PURE__ */ function() {
|
|
50
|
-
"use strict";
|
|
51
|
-
function Logger2() {
|
|
52
|
-
var options = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
|
|
53
|
-
var _this = this;
|
|
54
|
-
_class_call_check(this, Logger2);
|
|
55
|
-
_define_property(this, "level", void 0);
|
|
56
|
-
_define_property(this, "config", void 0);
|
|
57
|
-
_define_property(this, "types", void 0);
|
|
58
|
-
_define_property(this, "longestLabel", void 0);
|
|
59
|
-
this.level = options.level || LOG_TYPES.log.level;
|
|
60
|
-
this.config = _object_spread({}, DEFAULT_CONFIG, options.config || {});
|
|
61
|
-
this.types = _object_spread({}, LOG_TYPES, options.types || {});
|
|
62
|
-
this.longestLabel = this.getLongestLabel();
|
|
63
|
-
Object.keys(this.types).forEach(function(type) {
|
|
64
|
-
_this[type] = _this._log.bind(_this, type);
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
_create_class(Logger2, [
|
|
68
|
-
{
|
|
69
|
-
key: "_log",
|
|
70
|
-
value: function _log(type, message) {
|
|
71
|
-
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
|
|
72
|
-
args[_key - 2] = arguments[_key];
|
|
73
|
-
}
|
|
74
|
-
var _console;
|
|
75
|
-
if (message === void 0 || message === null) {
|
|
76
|
-
console.log();
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (LOG_LEVEL[type] > LOG_LEVEL[this.level]) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
var label = "";
|
|
83
|
-
var text = "";
|
|
84
|
-
var logType = this.types[type];
|
|
85
|
-
if (this.config.displayLabel && logType.label) {
|
|
86
|
-
label = this.config.uppercaseLabel ? logType.label.toUpperCase() : logType.label;
|
|
87
|
-
label = label.padEnd(this.longestLabel.length);
|
|
88
|
-
}
|
|
89
|
-
if (_instanceof(message, Error)) {
|
|
90
|
-
if (message.stack) {
|
|
91
|
-
var _message_stack_split = _to_array(message.stack.split("\n")), name = _message_stack_split[0], rest = _message_stack_split.slice(1);
|
|
92
|
-
text = "".concat(name, "\n").concat(rest.join("\n"));
|
|
93
|
-
} else {
|
|
94
|
-
text = message.message;
|
|
95
|
-
}
|
|
96
|
-
} else {
|
|
97
|
-
text = "".concat(message);
|
|
98
|
-
}
|
|
99
|
-
var log = label.length > 0 ? "".concat(label, " ").concat(text) : text;
|
|
100
|
-
(_console = console).log.apply(_console, [
|
|
101
|
-
log
|
|
102
|
-
].concat(_to_consumable_array(args)));
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
{
|
|
106
|
-
key: "getLongestLabel",
|
|
107
|
-
value: function getLongestLabel() {
|
|
108
|
-
var _this = this;
|
|
109
|
-
var longestLabel = "";
|
|
110
|
-
Object.keys(this.types).forEach(function(type) {
|
|
111
|
-
var _this_types_type = _this.types[type], _this_types_type_label = _this_types_type.label, label = _this_types_type_label === void 0 ? "" : _this_types_type_label;
|
|
112
|
-
if (label.length > longestLabel.length) {
|
|
113
|
-
longestLabel = label;
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
return longestLabel;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
]);
|
|
120
|
-
return Logger2;
|
|
121
|
-
}();
|
|
122
|
-
var logger = new Logger();
|
|
123
|
-
logger.Logger = Logger;
|
|
124
|
-
export { Logger };
|
|
125
|
-
export { logger };
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { _ as _define_property } from "@swc/helpers/_/_define_property";
|
|
2
|
-
const LOG_LEVEL = {
|
|
3
|
-
error: 0,
|
|
4
|
-
warn: 1,
|
|
5
|
-
info: 2,
|
|
6
|
-
debug: 3,
|
|
7
|
-
log: 4
|
|
8
|
-
};
|
|
9
|
-
const LOG_TYPES = {
|
|
10
|
-
error: {
|
|
11
|
-
color: "red",
|
|
12
|
-
label: "error",
|
|
13
|
-
level: "error"
|
|
14
|
-
},
|
|
15
|
-
info: {
|
|
16
|
-
color: "cyan",
|
|
17
|
-
label: "info",
|
|
18
|
-
level: "info"
|
|
19
|
-
},
|
|
20
|
-
success: {
|
|
21
|
-
color: "green",
|
|
22
|
-
label: "Success",
|
|
23
|
-
level: "info"
|
|
24
|
-
},
|
|
25
|
-
warn: {
|
|
26
|
-
color: "yellow",
|
|
27
|
-
label: "warn",
|
|
28
|
-
level: "warn"
|
|
29
|
-
},
|
|
30
|
-
debug: {
|
|
31
|
-
color: "red",
|
|
32
|
-
label: "debug",
|
|
33
|
-
level: "debug"
|
|
34
|
-
},
|
|
35
|
-
log: {
|
|
36
|
-
level: "log"
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
const DEFAULT_CONFIG = {
|
|
40
|
-
displayLabel: true,
|
|
41
|
-
uppercaseLabel: false
|
|
42
|
-
};
|
|
43
|
-
class Logger {
|
|
44
|
-
_log(type, message, ...args) {
|
|
45
|
-
if (message === void 0 || message === null) {
|
|
46
|
-
console.log();
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
if (LOG_LEVEL[type] > LOG_LEVEL[this.level]) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
let label = "";
|
|
53
|
-
let text = "";
|
|
54
|
-
const logType = this.types[type];
|
|
55
|
-
if (this.config.displayLabel && logType.label) {
|
|
56
|
-
label = this.config.uppercaseLabel ? logType.label.toUpperCase() : logType.label;
|
|
57
|
-
label = label.padEnd(this.longestLabel.length);
|
|
58
|
-
}
|
|
59
|
-
if (message instanceof Error) {
|
|
60
|
-
if (message.stack) {
|
|
61
|
-
const [name, ...rest] = message.stack.split("\n");
|
|
62
|
-
text = `${name}
|
|
63
|
-
${rest.join("\n")}`;
|
|
64
|
-
} else {
|
|
65
|
-
text = message.message;
|
|
66
|
-
}
|
|
67
|
-
} else {
|
|
68
|
-
text = `${message}`;
|
|
69
|
-
}
|
|
70
|
-
const log = label.length > 0 ? `${label} ${text}` : text;
|
|
71
|
-
console.log(log, ...args);
|
|
72
|
-
}
|
|
73
|
-
getLongestLabel() {
|
|
74
|
-
let longestLabel = "";
|
|
75
|
-
Object.keys(this.types).forEach((type) => {
|
|
76
|
-
const { label = "" } = this.types[type];
|
|
77
|
-
if (label.length > longestLabel.length) {
|
|
78
|
-
longestLabel = label;
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
return longestLabel;
|
|
82
|
-
}
|
|
83
|
-
constructor(options = {}) {
|
|
84
|
-
_define_property(this, "level", void 0);
|
|
85
|
-
_define_property(this, "config", void 0);
|
|
86
|
-
_define_property(this, "types", void 0);
|
|
87
|
-
_define_property(this, "longestLabel", void 0);
|
|
88
|
-
this.level = options.level || LOG_TYPES.log.level;
|
|
89
|
-
this.config = {
|
|
90
|
-
...DEFAULT_CONFIG,
|
|
91
|
-
...options.config || {}
|
|
92
|
-
};
|
|
93
|
-
this.types = {
|
|
94
|
-
...LOG_TYPES,
|
|
95
|
-
...options.types || {}
|
|
96
|
-
};
|
|
97
|
-
this.longestLabel = this.getLongestLabel();
|
|
98
|
-
Object.keys(this.types).forEach((type) => {
|
|
99
|
-
this[type] = this._log.bind(this, type);
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
const logger = new Logger();
|
|
104
|
-
logger.Logger = Logger;
|
|
105
|
-
export { Logger };
|
|
106
|
-
export { logger };
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
type LogLevel = 'debug' | 'info' | 'warn' | 'error';
|
|
2
|
-
type LogMsg = number | string | Error | null;
|
|
3
|
-
interface LoggerConfiguration {
|
|
4
|
-
label?: string;
|
|
5
|
-
level?: LogLevel;
|
|
6
|
-
}
|
|
7
|
-
interface InstanceConfiguration {
|
|
8
|
-
displayLabel?: boolean;
|
|
9
|
-
uppercaseLabel?: boolean;
|
|
10
|
-
}
|
|
11
|
-
interface ConstructorOptions {
|
|
12
|
-
config?: InstanceConfiguration;
|
|
13
|
-
level?: string;
|
|
14
|
-
types?: Record<string, LoggerConfiguration>;
|
|
15
|
-
}
|
|
16
|
-
type LoggerFunction = (message?: LogMsg, ...args: any[]) => void;
|
|
17
|
-
declare const LOG_TYPES: {
|
|
18
|
-
error: {
|
|
19
|
-
color: string;
|
|
20
|
-
label: string;
|
|
21
|
-
level: string;
|
|
22
|
-
};
|
|
23
|
-
info: {
|
|
24
|
-
color: string;
|
|
25
|
-
label: string;
|
|
26
|
-
level: string;
|
|
27
|
-
};
|
|
28
|
-
success: {
|
|
29
|
-
color: string;
|
|
30
|
-
label: string;
|
|
31
|
-
level: string;
|
|
32
|
-
};
|
|
33
|
-
warn: {
|
|
34
|
-
color: string;
|
|
35
|
-
label: string;
|
|
36
|
-
level: string;
|
|
37
|
-
};
|
|
38
|
-
debug: {
|
|
39
|
-
color: string;
|
|
40
|
-
label: string;
|
|
41
|
-
level: string;
|
|
42
|
-
};
|
|
43
|
-
log: {
|
|
44
|
-
level: string;
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
declare class Logger {
|
|
48
|
-
private readonly level;
|
|
49
|
-
private readonly config;
|
|
50
|
-
private readonly types;
|
|
51
|
-
private readonly longestLabel;
|
|
52
|
-
[key: string]: any;
|
|
53
|
-
constructor(options?: ConstructorOptions);
|
|
54
|
-
private _log;
|
|
55
|
-
private getLongestLabel;
|
|
56
|
-
}
|
|
57
|
-
type LoggerInterface = { [key in keyof typeof LOG_TYPES]: LoggerFunction };
|
|
58
|
-
declare const logger: Logger & LoggerInterface;
|
|
59
|
-
export { Logger };
|
|
60
|
-
export { logger };
|
|
61
|
-
export type { LoggerInterface };
|