@tramvai/module-render 5.49.1 → 5.53.74
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/lib/browser.js +1 -12
- package/lib/resourcesInliner/resourcesInliner.es.js +71 -67
- package/lib/resourcesInliner/resourcesInliner.js +71 -67
- package/lib/resourcesRegistry/index.es.js +2 -1
- package/lib/resourcesRegistry/index.js +2 -1
- package/lib/server/PageBuilder.d.ts +3 -3
- package/lib/server/PageBuilder.es.js +21 -6
- package/lib/server/PageBuilder.js +21 -6
- package/lib/server/ReactRenderServer.es.js +15 -1
- package/lib/server/ReactRenderServer.js +15 -1
- package/lib/server/blocks/bundleResource/bundleResource.d.ts +2 -2
- package/lib/server/blocks/bundleResource/bundleResource.es.js +42 -7
- package/lib/server/blocks/bundleResource/bundleResource.js +42 -7
- package/lib/server/blocks/polyfill.d.ts +1 -2
- package/lib/server/blocks/polyfill.es.js +18 -6
- package/lib/server/blocks/polyfill.js +18 -6
- package/lib/server/blocks/utils/fetchWebpackRuntime.d.ts +2 -0
- package/lib/server/blocks/utils/fetchWebpackRuntime.es.js +16 -0
- package/lib/server/blocks/utils/fetchWebpackRuntime.js +24 -0
- package/lib/server/blocks/utils/fetchWebpackStats.es.js +13 -17
- package/lib/server/blocks/utils/fetchWebpackStats.js +13 -17
- package/lib/server/blocks/utils/flushFiles.d.ts +2 -1
- package/lib/server/blocks/utils/flushFiles.es.js +5 -2
- package/lib/server/blocks/utils/flushFiles.js +5 -2
- package/lib/server/constants/slots.d.ts +1 -0
- package/lib/server/htmlPageSchema.es.js +2 -1
- package/lib/server/htmlPageSchema.js +2 -1
- package/lib/server.es.js +7 -37
- package/lib/server.js +5 -35
- package/package.json +22 -22
- package/tests.js +3 -1
package/lib/server.es.js
CHANGED
|
@@ -2,15 +2,13 @@ import { __decorate } from 'tslib';
|
|
|
2
2
|
import { Module, provide, commandLineListTokens, DI_TOKEN } from '@tramvai/core';
|
|
3
3
|
import { CREATE_CACHE_TOKEN, LOGGER_TOKEN, REQUEST_MANAGER_TOKEN, RESPONSE_MANAGER_TOKEN, CONTEXT_TOKEN, DEFERRED_ACTIONS_MAP_TOKEN } from '@tramvai/tokens-common';
|
|
4
4
|
import { PAGE_SERVICE_TOKEN } from '@tramvai/tokens-router';
|
|
5
|
-
import { ClientHintsModule
|
|
6
|
-
import { RESOURCES_REGISTRY, RESOURCE_INLINE_OPTIONS, ASSETS_PREFIX_TOKEN, BACK_FORWARD_CACHE_ENABLED, RENDER_SLOTS, POLYFILL_CONDITION, HTML_ATTRS,
|
|
5
|
+
import { ClientHintsModule } from '@tramvai/module-client-hints';
|
|
6
|
+
import { RESOURCES_REGISTRY, RESOURCE_INLINE_OPTIONS, ASSETS_PREFIX_TOKEN, BACK_FORWARD_CACHE_ENABLED, RENDER_SLOTS, POLYFILL_CONDITION, HTML_ATTRS, RENDER_FLOW_AFTER_TOKEN, FETCH_WEBPACK_STATS_TOKEN, INLINE_WEBPACK_RUNTIME, REACT_SERVER_RENDER_MODE, CUSTOM_RENDER, EXTEND_RENDER, REACT_STREAMING_RENDER_TIMEOUT, ResourceType, DEFAULT_ASSETS_PREFIX_TOKEN } from '@tramvai/tokens-render';
|
|
7
7
|
export * from '@tramvai/tokens-render';
|
|
8
8
|
import { Scope, optional } from '@tinkoff/dippy';
|
|
9
|
-
import { satisfies } from '@tinkoff/user-agent';
|
|
10
9
|
import { isRedirectFoundError } from '@tinkoff/errors';
|
|
11
10
|
import { setPageErrorEvent, PageErrorStore, deserializeError } from '@tramvai/module-router';
|
|
12
11
|
export { PageErrorStore, setPageErrorEvent } from '@tramvai/module-router';
|
|
13
|
-
import { COOKIE_MANAGER_TOKEN } from '@tramvai/module-common';
|
|
14
12
|
import { SERVER_RESPONSE_TASK_MANAGER, SERVER_RESPONSE_STREAM } from '@tramvai/tokens-server-private';
|
|
15
13
|
import { ResourcesInliner } from './resourcesInliner/resourcesInliner.es.js';
|
|
16
14
|
import { RESOURCE_INLINER, RESOURCES_REGISTRY_CACHE } from './resourcesInliner/tokens.es.js';
|
|
@@ -224,10 +222,10 @@ Page Error Boundary will be rendered for the client`,
|
|
|
224
222
|
renderSlots: { token: RENDER_SLOTS, optional: true },
|
|
225
223
|
polyfillCondition: POLYFILL_CONDITION,
|
|
226
224
|
htmlAttrs: HTML_ATTRS,
|
|
227
|
-
modern: MODERN_SATISFIES_TOKEN,
|
|
228
225
|
renderFlowAfter: { token: RENDER_FLOW_AFTER_TOKEN, optional: true },
|
|
229
226
|
logger: LOGGER_TOKEN,
|
|
230
227
|
fetchWebpackStats: FETCH_WEBPACK_STATS_TOKEN,
|
|
228
|
+
inlineWebpackRuntime: INLINE_WEBPACK_RUNTIME,
|
|
231
229
|
di: DI_TOKEN,
|
|
232
230
|
renderMode: optional(REACT_SERVER_RENDER_MODE),
|
|
233
231
|
assetsPrefixFactory: ASSETS_PREFIX_TOKEN,
|
|
@@ -294,38 +292,6 @@ Page Error Boundary will be rendered for the client`,
|
|
|
294
292
|
},
|
|
295
293
|
},
|
|
296
294
|
}),
|
|
297
|
-
provide({
|
|
298
|
-
provide: MODERN_SATISFIES_TOKEN,
|
|
299
|
-
useFactory: ({ requestManager, userAgent, cache, cookieManager }) => {
|
|
300
|
-
const reqUserAgent = requestManager.getHeader('user-agent');
|
|
301
|
-
let result;
|
|
302
|
-
if (cache.has(reqUserAgent)) {
|
|
303
|
-
result = cache.get(reqUserAgent);
|
|
304
|
-
}
|
|
305
|
-
else {
|
|
306
|
-
result = satisfies(userAgent, null, { env: 'modern' });
|
|
307
|
-
cache.set(reqUserAgent, result);
|
|
308
|
-
}
|
|
309
|
-
cookieManager.set({ name: '_t_modern', value: JSON.stringify(result) });
|
|
310
|
-
return result;
|
|
311
|
-
},
|
|
312
|
-
deps: {
|
|
313
|
-
requestManager: REQUEST_MANAGER_TOKEN,
|
|
314
|
-
userAgent: USER_AGENT_TOKEN,
|
|
315
|
-
cache: 'modernSatisfiesMemoryCache',
|
|
316
|
-
cookieManager: COOKIE_MANAGER_TOKEN,
|
|
317
|
-
},
|
|
318
|
-
}),
|
|
319
|
-
provide({
|
|
320
|
-
provide: 'modernSatisfiesMemoryCache',
|
|
321
|
-
scope: Scope.SINGLETON,
|
|
322
|
-
useFactory: ({ createCache }) => {
|
|
323
|
-
return createCache('memory', { name: 'modern-satisfies', max: 200 });
|
|
324
|
-
},
|
|
325
|
-
deps: {
|
|
326
|
-
createCache: CREATE_CACHE_TOKEN,
|
|
327
|
-
},
|
|
328
|
-
}),
|
|
329
295
|
provide({
|
|
330
296
|
provide: ASSETS_PREFIX_TOKEN,
|
|
331
297
|
useFactory: ({ defaultAssetsPrefix }) => {
|
|
@@ -352,6 +318,10 @@ Page Error Boundary will be rendered for the client`,
|
|
|
352
318
|
provide: BACK_FORWARD_CACHE_ENABLED,
|
|
353
319
|
useValue: true,
|
|
354
320
|
}),
|
|
321
|
+
provide({
|
|
322
|
+
provide: INLINE_WEBPACK_RUNTIME,
|
|
323
|
+
useValue: false,
|
|
324
|
+
}),
|
|
355
325
|
provide({
|
|
356
326
|
provide: REACT_SERVER_RENDER_MODE,
|
|
357
327
|
useValue: 'sync',
|
package/lib/server.js
CHANGED
|
@@ -9,10 +9,8 @@ var tokensRouter = require('@tramvai/tokens-router');
|
|
|
9
9
|
var moduleClientHints = require('@tramvai/module-client-hints');
|
|
10
10
|
var tokensRender = require('@tramvai/tokens-render');
|
|
11
11
|
var dippy = require('@tinkoff/dippy');
|
|
12
|
-
var userAgent = require('@tinkoff/user-agent');
|
|
13
12
|
var errors = require('@tinkoff/errors');
|
|
14
13
|
var moduleRouter = require('@tramvai/module-router');
|
|
15
|
-
var moduleCommon = require('@tramvai/module-common');
|
|
16
14
|
var tokensServerPrivate = require('@tramvai/tokens-server-private');
|
|
17
15
|
var resourcesInliner = require('./resourcesInliner/resourcesInliner.js');
|
|
18
16
|
var tokens = require('./resourcesInliner/tokens.js');
|
|
@@ -225,10 +223,10 @@ Page Error Boundary will be rendered for the client`,
|
|
|
225
223
|
renderSlots: { token: tokensRender.RENDER_SLOTS, optional: true },
|
|
226
224
|
polyfillCondition: tokensRender.POLYFILL_CONDITION,
|
|
227
225
|
htmlAttrs: tokensRender.HTML_ATTRS,
|
|
228
|
-
modern: tokensRender.MODERN_SATISFIES_TOKEN,
|
|
229
226
|
renderFlowAfter: { token: tokensRender.RENDER_FLOW_AFTER_TOKEN, optional: true },
|
|
230
227
|
logger: tokensCommon.LOGGER_TOKEN,
|
|
231
228
|
fetchWebpackStats: tokensRender.FETCH_WEBPACK_STATS_TOKEN,
|
|
229
|
+
inlineWebpackRuntime: tokensRender.INLINE_WEBPACK_RUNTIME,
|
|
232
230
|
di: core.DI_TOKEN,
|
|
233
231
|
renderMode: dippy.optional(tokensRender.REACT_SERVER_RENDER_MODE),
|
|
234
232
|
assetsPrefixFactory: tokensRender.ASSETS_PREFIX_TOKEN,
|
|
@@ -295,38 +293,6 @@ Page Error Boundary will be rendered for the client`,
|
|
|
295
293
|
},
|
|
296
294
|
},
|
|
297
295
|
}),
|
|
298
|
-
core.provide({
|
|
299
|
-
provide: tokensRender.MODERN_SATISFIES_TOKEN,
|
|
300
|
-
useFactory: ({ requestManager, userAgent: userAgent$1, cache, cookieManager }) => {
|
|
301
|
-
const reqUserAgent = requestManager.getHeader('user-agent');
|
|
302
|
-
let result;
|
|
303
|
-
if (cache.has(reqUserAgent)) {
|
|
304
|
-
result = cache.get(reqUserAgent);
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
result = userAgent.satisfies(userAgent$1, null, { env: 'modern' });
|
|
308
|
-
cache.set(reqUserAgent, result);
|
|
309
|
-
}
|
|
310
|
-
cookieManager.set({ name: '_t_modern', value: JSON.stringify(result) });
|
|
311
|
-
return result;
|
|
312
|
-
},
|
|
313
|
-
deps: {
|
|
314
|
-
requestManager: tokensCommon.REQUEST_MANAGER_TOKEN,
|
|
315
|
-
userAgent: moduleClientHints.USER_AGENT_TOKEN,
|
|
316
|
-
cache: 'modernSatisfiesMemoryCache',
|
|
317
|
-
cookieManager: moduleCommon.COOKIE_MANAGER_TOKEN,
|
|
318
|
-
},
|
|
319
|
-
}),
|
|
320
|
-
core.provide({
|
|
321
|
-
provide: 'modernSatisfiesMemoryCache',
|
|
322
|
-
scope: dippy.Scope.SINGLETON,
|
|
323
|
-
useFactory: ({ createCache }) => {
|
|
324
|
-
return createCache('memory', { name: 'modern-satisfies', max: 200 });
|
|
325
|
-
},
|
|
326
|
-
deps: {
|
|
327
|
-
createCache: tokensCommon.CREATE_CACHE_TOKEN,
|
|
328
|
-
},
|
|
329
|
-
}),
|
|
330
296
|
core.provide({
|
|
331
297
|
provide: tokensRender.ASSETS_PREFIX_TOKEN,
|
|
332
298
|
useFactory: ({ defaultAssetsPrefix }) => {
|
|
@@ -353,6 +319,10 @@ Page Error Boundary will be rendered for the client`,
|
|
|
353
319
|
provide: tokensRender.BACK_FORWARD_CACHE_ENABLED,
|
|
354
320
|
useValue: true,
|
|
355
321
|
}),
|
|
322
|
+
core.provide({
|
|
323
|
+
provide: tokensRender.INLINE_WEBPACK_RUNTIME,
|
|
324
|
+
useValue: false,
|
|
325
|
+
}),
|
|
356
326
|
core.provide({
|
|
357
327
|
provide: tokensRender.REACT_SERVER_RENDER_MODE,
|
|
358
328
|
useValue: 'sync',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/module-render",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.53.74",
|
|
4
4
|
"description": "",
|
|
5
5
|
"browser": "lib/browser.js",
|
|
6
6
|
"main": "lib/server.js",
|
|
@@ -22,35 +22,35 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@loadable/server": "^5.15.0",
|
|
25
|
-
"@tinkoff/
|
|
26
|
-
"@tinkoff/
|
|
27
|
-
"@tinkoff/
|
|
28
|
-
"@tinkoff/url": "0.11.2",
|
|
29
|
-
"@tinkoff/user-agent": "0.7.115",
|
|
25
|
+
"@tinkoff/errors": "0.6.3",
|
|
26
|
+
"@tinkoff/htmlpagebuilder": "0.8.5",
|
|
27
|
+
"@tinkoff/layout-factory": "0.6.4",
|
|
30
28
|
"@tinkoff/request-core": "^0.10.0",
|
|
31
29
|
"@tinkoff/request-plugin-protocol-http": "^0.12.1",
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@tramvai/
|
|
30
|
+
"@tinkoff/url": "0.11.3",
|
|
31
|
+
"@tinkoff/user-agent": "0.7.198",
|
|
32
|
+
"@tramvai/experiments": "5.53.74",
|
|
33
|
+
"@tramvai/module-client-hints": "5.53.74",
|
|
34
|
+
"@tramvai/module-router": "5.53.74",
|
|
35
|
+
"@tramvai/react": "5.53.74",
|
|
35
36
|
"@tramvai/safe-strings": "0.8.4",
|
|
36
|
-
"@tramvai/tokens-render": "5.
|
|
37
|
-
"@tramvai/experiments": "5.49.1",
|
|
37
|
+
"@tramvai/tokens-render": "5.53.74",
|
|
38
38
|
"@types/loadable__server": "^5.12.6",
|
|
39
39
|
"node-fetch": "^2.6.1"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@tinkoff/dippy": "0.11.
|
|
43
|
-
"@tinkoff/utils": "^2.1.2",
|
|
42
|
+
"@tinkoff/dippy": "0.11.5",
|
|
44
43
|
"@tinkoff/react-hooks": "0.4.2",
|
|
45
|
-
"@
|
|
46
|
-
"@tramvai/
|
|
47
|
-
"@tramvai/
|
|
48
|
-
"@tramvai/
|
|
49
|
-
"@tramvai/
|
|
50
|
-
"@tramvai/
|
|
51
|
-
"@tramvai/tokens-
|
|
52
|
-
"@tramvai/tokens-
|
|
53
|
-
"
|
|
44
|
+
"@tinkoff/utils": "^2.1.2",
|
|
45
|
+
"@tramvai/cli": "5.53.74",
|
|
46
|
+
"@tramvai/core": "5.53.74",
|
|
47
|
+
"@tramvai/module-common": "5.53.74",
|
|
48
|
+
"@tramvai/state": "5.53.74",
|
|
49
|
+
"@tramvai/test-helpers": "5.53.74",
|
|
50
|
+
"@tramvai/tokens-common": "5.53.74",
|
|
51
|
+
"@tramvai/tokens-router": "5.53.74",
|
|
52
|
+
"@tramvai/tokens-server-private": "5.53.74",
|
|
53
|
+
"express": "^4.21.2",
|
|
54
54
|
"react": ">=16.14.0",
|
|
55
55
|
"react-dom": ">=16.14.0",
|
|
56
56
|
"tslib": "^2.4.0"
|
package/tests.js
CHANGED
|
@@ -23,6 +23,7 @@ require('@tinkoff/utils/object/has');
|
|
|
23
23
|
require('@tinkoff/utils/array/last');
|
|
24
24
|
require('@tramvai/experiments');
|
|
25
25
|
require('@tinkoff/utils/array/uniq');
|
|
26
|
+
require('node-fetch');
|
|
26
27
|
require('@tinkoff/utils/array/each');
|
|
27
28
|
require('@tinkoff/utils/object/path');
|
|
28
29
|
|
|
@@ -128,7 +129,7 @@ const mapResourcesToSlots = (resources) => resources.reduce((acc, resource) => {
|
|
|
128
129
|
}, {});
|
|
129
130
|
/* eslint-enable sort-class-members/sort-class-members */
|
|
130
131
|
|
|
131
|
-
const { REACT_RENDER, HEAD_CORE_SCRIPTS, HEAD_DYNAMIC_SCRIPTS, HEAD_META, HEAD_POLYFILLS, HEAD_CORE_STYLES, HEAD_PERFORMANCE, HEAD_ANALYTICS, BODY_START, BODY_END, HEAD_ICONS, BODY_TAIL_ANALYTICS, BODY_TAIL, } = tokensRender.ResourceSlot;
|
|
132
|
+
const { REACT_RENDER, HEAD_CORE_SCRIPTS, HEAD_DYNAMIC_SCRIPTS, HEAD_META, HEAD_POLYFILLS, HEAD_WEBPACK_RUNTIME, HEAD_CORE_STYLES, HEAD_PERFORMANCE, HEAD_ANALYTICS, BODY_START, BODY_END, HEAD_ICONS, BODY_TAIL_ANALYTICS, BODY_TAIL, } = tokensRender.ResourceSlot;
|
|
132
133
|
const htmlPageSchemaFactory = ({ htmlAttrs, }) => {
|
|
133
134
|
return [
|
|
134
135
|
htmlpagebuilder.staticRender('<!DOCTYPE html>'),
|
|
@@ -138,6 +139,7 @@ const htmlPageSchemaFactory = ({ htmlAttrs, }) => {
|
|
|
138
139
|
htmlpagebuilder.dynamicRender(HEAD_META),
|
|
139
140
|
htmlpagebuilder.dynamicRender(HEAD_PERFORMANCE),
|
|
140
141
|
htmlpagebuilder.dynamicRender(HEAD_CORE_STYLES),
|
|
142
|
+
htmlpagebuilder.dynamicRender(HEAD_WEBPACK_RUNTIME),
|
|
141
143
|
htmlpagebuilder.dynamicRender(HEAD_POLYFILLS),
|
|
142
144
|
htmlpagebuilder.dynamicRender(HEAD_DYNAMIC_SCRIPTS),
|
|
143
145
|
htmlpagebuilder.dynamicRender(HEAD_CORE_SCRIPTS),
|