@sima-land/isomorph 11.0.0-alpha.11 → 11.0.0-alpha.12
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/http-server/template/index.js +6 -0
- package/http-server/template/index.js.map +1 -1
- package/http-server/types.d.ts +2 -0
- package/http-server/utils.d.ts +3 -5
- package/http-server/utils.js +16 -15
- package/http-server/utils.js.map +1 -1
- package/package.json +1 -1
- package/preset/node/response.js +2 -3
- package/preset/node/response.js.map +1 -1
|
@@ -21,9 +21,15 @@ exports.pageTemplate = (0, ejs_1.compile)(`
|
|
|
21
21
|
line-height: inherit;
|
|
22
22
|
}
|
|
23
23
|
</style>
|
|
24
|
+
<% if (assets.criticalCss) { %>
|
|
25
|
+
<link rel="stylesheet" href="<%= assets.criticalCss %>">
|
|
26
|
+
<% } %>
|
|
24
27
|
<% if (assets.css) { %>
|
|
25
28
|
<link rel="stylesheet" href="<%= assets.css %>">
|
|
26
29
|
<% } %>
|
|
30
|
+
<% if (assets.criticalJs) { %>
|
|
31
|
+
<script src="<%= assets.criticalJs %>"></script>
|
|
32
|
+
<% } %>
|
|
27
33
|
</head>
|
|
28
34
|
<body>
|
|
29
35
|
<%- markup %>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-server/template/index.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAEjB,QAAA,YAAY,GAAG,IAAA,aAAO,EAAC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http-server/template/index.ts"],"names":[],"mappings":";;;AAAA,6BAA8B;AAEjB,QAAA,YAAY,GAAG,IAAA,aAAO,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCnC,CAAC,CAAC"}
|
package/http-server/types.d.ts
CHANGED
package/http-server/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Request, Response } from 'express';
|
|
2
|
-
import type { PageTemplate, PageTemplateData } from './types';
|
|
2
|
+
import type { PageAssets, PageTemplate, PageTemplateData } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Определяет IP входящего запроса.
|
|
5
5
|
* @param req Входящий запрос.
|
|
@@ -15,15 +15,13 @@ export declare function getServiceHeaders(req: Request): Record<string, string |
|
|
|
15
15
|
export declare class PageResponse {
|
|
16
16
|
private type;
|
|
17
17
|
private html;
|
|
18
|
-
private
|
|
18
|
+
private _assets;
|
|
19
19
|
private _template;
|
|
20
|
-
static create(): PageResponse;
|
|
21
20
|
static defineFormat(req: Request): PageResponse['type'];
|
|
22
21
|
static defaultTemplate({ markup }: PageTemplateData): string;
|
|
23
22
|
constructor();
|
|
24
23
|
markup(html: string): this;
|
|
25
|
-
|
|
26
|
-
styles(url: string): this;
|
|
24
|
+
assets(assets: PageAssets): this;
|
|
27
25
|
format(type: PageResponse['type']): this;
|
|
28
26
|
template(template: PageTemplate): this;
|
|
29
27
|
send(res: Response): void;
|
package/http-server/utils.js
CHANGED
|
@@ -32,12 +32,9 @@ class PageResponse {
|
|
|
32
32
|
constructor() {
|
|
33
33
|
this.type = 'html';
|
|
34
34
|
this.html = '';
|
|
35
|
-
this.
|
|
35
|
+
this._assets = { js: '', css: '' };
|
|
36
36
|
this._template = PageResponse.defaultTemplate;
|
|
37
37
|
}
|
|
38
|
-
static create() {
|
|
39
|
-
return new PageResponse();
|
|
40
|
-
}
|
|
41
38
|
static defineFormat(req) {
|
|
42
39
|
let result = 'html';
|
|
43
40
|
if ((req.header('accept') || '').toLowerCase().includes('application/json')) {
|
|
@@ -52,12 +49,8 @@ class PageResponse {
|
|
|
52
49
|
this.html = html;
|
|
53
50
|
return this;
|
|
54
51
|
}
|
|
55
|
-
|
|
56
|
-
this.
|
|
57
|
-
return this;
|
|
58
|
-
}
|
|
59
|
-
styles(url) {
|
|
60
|
-
this.assets.css = url;
|
|
52
|
+
assets(assets) {
|
|
53
|
+
this._assets = assets;
|
|
61
54
|
return this;
|
|
62
55
|
}
|
|
63
56
|
format(type) {
|
|
@@ -72,21 +65,29 @@ class PageResponse {
|
|
|
72
65
|
const templateData = {
|
|
73
66
|
type: this.type,
|
|
74
67
|
markup: this.html,
|
|
75
|
-
assets: this.
|
|
68
|
+
assets: this._assets,
|
|
76
69
|
};
|
|
77
70
|
switch (this.type) {
|
|
78
71
|
case 'json': {
|
|
79
72
|
const result = {
|
|
80
73
|
markup: this._template(templateData),
|
|
81
|
-
bundle_js: this.
|
|
82
|
-
bundle_css: this.
|
|
74
|
+
bundle_js: this._assets.js,
|
|
75
|
+
bundle_css: this._assets.css,
|
|
76
|
+
critical_js: this._assets.criticalJs,
|
|
77
|
+
critical_css: this._assets.criticalCss,
|
|
83
78
|
};
|
|
84
79
|
res.json(result);
|
|
85
80
|
break;
|
|
86
81
|
}
|
|
87
82
|
case 'html': {
|
|
88
|
-
res.setHeader('simaland-bundle-js', this.
|
|
89
|
-
res.setHeader('simaland-bundle-css', this.
|
|
83
|
+
res.setHeader('simaland-bundle-js', this._assets.js);
|
|
84
|
+
res.setHeader('simaland-bundle-css', this._assets.css);
|
|
85
|
+
if (this._assets.criticalJs) {
|
|
86
|
+
res.setHeader('simaland-critical-js', this._assets.criticalJs);
|
|
87
|
+
}
|
|
88
|
+
if (this._assets.criticalCss) {
|
|
89
|
+
res.setHeader('simaland-critical-css', this._assets.criticalCss);
|
|
90
|
+
}
|
|
90
91
|
res.send(this._template(templateData));
|
|
91
92
|
break;
|
|
92
93
|
}
|
package/http-server/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":";;;AAEA,6BAA2B;AAE3B;;;;GAIG;AACH,SAAgB,YAAY,CAAC,GAAY;IACvC,MAAM,WAAW,GACf,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IAEzF,OAAO,IAAA,UAAI,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9C,CAAC;AALD,oCAKC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,GAAY;IAC5C,MAAM,MAAM,GAAuC,EAAE,CAAC;IAEtD,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QAC/C,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAChD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC/B;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,8CAUC;AAED,uDAAuD;AACvD,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/http-server/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/preset/node/response.js
CHANGED
|
@@ -52,10 +52,9 @@ function provideMain(resolve) {
|
|
|
52
52
|
const render = resolve(tokens_1.KnownToken.Response.render);
|
|
53
53
|
const template = resolve(tokens_1.KnownToken.Response.template);
|
|
54
54
|
return async function main() {
|
|
55
|
-
utils_1.PageResponse
|
|
55
|
+
new utils_1.PageResponse()
|
|
56
56
|
.markup(await render(await prepare()))
|
|
57
|
-
.
|
|
58
|
-
.styles(assets.css)
|
|
57
|
+
.assets(assets)
|
|
59
58
|
.format(utils_1.PageResponse.defineFormat(context.req))
|
|
60
59
|
.template(template)
|
|
61
60
|
.send(context.res);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/preset/node/response.ts"],"names":[],"mappings":";;;AAGA,iCAAmF;AACnF,yCAA0C;AAC1C,6CAAkD;AAClD,2DAA6D;AAC7D,yDAA0D;AAC1D,mDAAuD;AACvD,uDAAsF;AAEtF;;;GAGG;AACH,SAAgB,cAAc;IAC5B,OAAO,IAAA,iBAAY,EAAC;QAClB,CAAC,mBAAU,CAAC,cAAc,EAAE,qBAAqB,CAAC;QAClD,CAAC,mBAAU,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;QAC3C,CAAC,mBAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;QAC/C,CAAC,mBAAU,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;KACxC,CAAC,CAAC;AACL,CAAC;AAPD,wCAOC;AAED,SAAgB,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,CAAC;IAE1C,OAAO,IAAA,iCAAoB,EAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAJD,sDAIC;AAED,SAAgB,aAAa,CAAC,OAAgB;IAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO,SAAS,MAAM,CAAC,OAAoB;QACzC,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,WAAW,CAAC,CAAC;QAErC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,CAAC;QAEvC,GAAG,CAAC,IAAI,CAAC,0BAAc,CAAC,YAAY,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAZD,sCAYC;AAED,SAAgB,eAAe,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/C,OAAO,SAAS,QAAQ,CAAC,IAAI;QAC3B,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM;YACzB,CAAC,CAAC,IAAA,uBAAY,EAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAgB,WAAW,CAAC,OAAgB;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvD,OAAO,KAAK,UAAU,IAAI;QACxB,oBAAY,
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../../src/preset/node/response.ts"],"names":[],"mappings":"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"}
|