@modern-js/runtime 2.48.0 → 2.48.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.
Files changed (27) hide show
  1. package/dist/cjs/ssr/cli/loadable-bundler-plugin.js +0 -3
  2. package/dist/cjs/ssr/index.js +3 -2
  3. package/dist/cjs/ssr/react/prerender/index.js +5 -7
  4. package/dist/cjs/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
  5. package/dist/cjs/ssr/serverRender/renderToString/entry.js +2 -13
  6. package/dist/cjs/ssr/serverRender/renderToString/loadable.js +0 -3
  7. package/dist/cjs/ssr/serverRender/renderToString/render.js +8 -6
  8. package/dist/cjs/ssr/serverRender/renderToString/styledComponent.js +1 -3
  9. package/dist/esm/ssr/cli/loadable-bundler-plugin.js +63 -77
  10. package/dist/esm/ssr/index.js +4 -3
  11. package/dist/esm/ssr/react/prerender/index.js +20 -27
  12. package/dist/esm/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
  13. package/dist/esm/ssr/serverRender/renderToString/entry.js +177 -202
  14. package/dist/esm/ssr/serverRender/renderToString/loadable.js +197 -217
  15. package/dist/esm/ssr/serverRender/renderToString/render.js +40 -46
  16. package/dist/esm/ssr/serverRender/renderToString/styledComponent.js +9 -19
  17. package/dist/esm-node/ssr/cli/loadable-bundler-plugin.js +0 -3
  18. package/dist/esm-node/ssr/index.js +3 -2
  19. package/dist/esm-node/ssr/react/prerender/index.js +5 -7
  20. package/dist/esm-node/ssr/serverRender/renderToStream/bulidTemplate.before.js +1 -1
  21. package/dist/esm-node/ssr/serverRender/renderToString/entry.js +2 -13
  22. package/dist/esm-node/ssr/serverRender/renderToString/loadable.js +0 -3
  23. package/dist/esm-node/ssr/serverRender/renderToString/render.js +8 -6
  24. package/dist/esm-node/ssr/serverRender/renderToString/styledComponent.js +1 -3
  25. package/dist/types/ssr/serverRender/renderToString/render.d.ts +4 -2
  26. package/dist/types/ssr/serverRender/types.d.ts +2 -0
  27. package/package.json +10 -10
@@ -1,7 +1,5 @@
1
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
1
  import React from "react";
3
2
  import { serializeJson } from "@modern-js/runtime-utils/node";
4
- import ReactHelmet from "react-helmet";
5
3
  import { time } from "@modern-js/runtime-utils/time";
6
4
  import { serializeErrors } from "../../../router/runtime/utils";
7
5
  import helmetReplace from "../helmet";
@@ -70,7 +68,7 @@ class Entry {
70
68
  createReplaceHtml(this.result.html || ""),
71
69
  ...this.htmlModifiers
72
70
  ]);
73
- const helmetData = ReactHelmet.renderStatic();
71
+ const helmetData = this.result.helmet;
74
72
  return helmetData ? helmetReplace(html, helmetData) : html;
75
73
  }
76
74
  async prefetch(context) {
@@ -93,7 +91,7 @@ class Entry {
93
91
  ssr: true
94
92
  })
95
93
  });
96
- html = await createRender(App).addCollector(createStyledCollector(this.result)).addCollector(createLoadableCollector({
94
+ html = await createRender(App, this.result).addCollector(createStyledCollector(this.result)).addCollector(createLoadableCollector({
97
95
  stats: ssrContext.loadableStats,
98
96
  result: this.result,
99
97
  entryName: this.entryName,
@@ -126,15 +124,6 @@ class Entry {
126
124
  return ssrDataScripts;
127
125
  }
128
126
  constructor(options) {
129
- _define_property(this, "entryName", void 0);
130
- _define_property(this, "result", void 0);
131
- _define_property(this, "tracker", void 0);
132
- _define_property(this, "template", void 0);
133
- _define_property(this, "App", void 0);
134
- _define_property(this, "pluginConfig", void 0);
135
- _define_property(this, "htmlModifiers", void 0);
136
- _define_property(this, "nonce", void 0);
137
- _define_property(this, "routeManifest", void 0);
138
127
  const { ctx, config } = options;
139
128
  const { entryName, template, nonce } = ctx;
140
129
  this.template = template;
@@ -1,4 +1,3 @@
1
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
1
  import { ChunkExtractor } from "@loadable/server";
3
2
  import { attributesToString, checkIsNode } from "../utils";
4
3
  const extname = (uri) => {
@@ -127,8 +126,6 @@ class LoadableCollector {
127
126
  };
128
127
  }
129
128
  constructor(options) {
130
- _define_property(this, "options", void 0);
131
- _define_property(this, "extractor", void 0);
132
129
  this.options = options;
133
130
  }
134
131
  }
@@ -1,5 +1,5 @@
1
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
1
  import ReactDomServer from "react-dom/server";
2
+ import ReactHelmet from "react-helmet";
3
3
  class Render {
4
4
  addCollector(collector) {
5
5
  this.collectors.push(collector);
@@ -8,17 +8,19 @@ class Render {
8
8
  async finish() {
9
9
  const App = this.collectors.reduce((pre, collector) => collector.collect(pre), this.App);
10
10
  const html = ReactDomServer.renderToString(App);
11
+ const helmetData = ReactHelmet.renderStatic();
12
+ this.renderResult.helmet = helmetData;
11
13
  await Promise.all(this.collectors.map((component) => component.effect()));
12
14
  return html;
13
15
  }
14
- constructor(App) {
15
- _define_property(this, "App", void 0);
16
- _define_property(this, "collectors", []);
16
+ constructor(App, result) {
17
+ this.collectors = [];
17
18
  this.App = App;
19
+ this.renderResult = result;
18
20
  }
19
21
  }
20
- function createRender(App) {
21
- return new Render(App);
22
+ function createRender(App, result) {
23
+ return new Render(App, result);
22
24
  }
23
25
  export {
24
26
  createRender
@@ -1,4 +1,3 @@
1
- import { _ as _define_property } from "@swc/helpers/_/_define_property";
2
1
  import { ServerStyleSheet } from "styled-components";
3
2
  class StyledCollector {
4
3
  collect(comopnent) {
@@ -9,8 +8,7 @@ class StyledCollector {
9
8
  this.result.chunksMap.css += css;
10
9
  }
11
10
  constructor(result) {
12
- _define_property(this, "sheet", new ServerStyleSheet());
13
- _define_property(this, "result", void 0);
11
+ this.sheet = new ServerStyleSheet();
14
12
  this.result = result;
15
13
  }
16
14
  }
@@ -1,14 +1,16 @@
1
1
  import type { ReactElement } from 'react';
2
+ import { RenderResult } from '../types';
2
3
  export interface Collector {
3
4
  collect: (comopnent: ReactElement) => ReactElement;
4
5
  effect: () => void | Promise<void>;
5
6
  }
6
7
  declare class Render {
7
8
  private App;
9
+ private renderResult;
8
10
  private collectors;
9
- constructor(App: ReactElement);
11
+ constructor(App: ReactElement, result: RenderResult);
10
12
  addCollector(collector: Collector): this;
11
13
  finish(): Promise<string>;
12
14
  }
13
- export declare function createRender(App: ReactElement): Render;
15
+ export declare function createRender(App: ReactElement, result: RenderResult): Render;
14
16
  export {};
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { ServerUserConfig } from '@modern-js/app-tools';
3
3
  import type { BaseSSRServerContext } from '@modern-js/types';
4
+ import type { HelmetData } from 'react-helmet';
4
5
  import type { RuntimeContext } from '../../core';
5
6
  import type { BuildHtmlCb } from './renderToString/buildHtml';
6
7
  import type { SSRTracker } from './tracker';
@@ -12,6 +13,7 @@ export declare enum RenderLevel {
12
13
  export type RenderResult = {
13
14
  renderLevel: RenderLevel;
14
15
  html?: string;
16
+ helmet?: HelmetData;
15
17
  chunksMap: {
16
18
  js: string;
17
19
  css: string;
package/package.json CHANGED
@@ -15,7 +15,7 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "2.48.0",
18
+ "version": "2.48.2",
19
19
  "engines": {
20
20
  "node": ">=14.17.6"
21
21
  },
@@ -171,10 +171,10 @@
171
171
  "react-side-effect": "^2.1.1",
172
172
  "styled-components": "^5.3.1",
173
173
  "@swc/helpers": "0.5.3",
174
- "@modern-js/types": "2.48.0",
175
- "@modern-js/plugin": "2.48.0",
176
- "@modern-js/utils": "2.48.0",
177
- "@modern-js/runtime-utils": "2.48.0"
174
+ "@modern-js/utils": "2.48.2",
175
+ "@modern-js/plugin": "2.48.2",
176
+ "@modern-js/types": "2.48.2",
177
+ "@modern-js/runtime-utils": "2.48.2"
178
178
  },
179
179
  "peerDependencies": {
180
180
  "react": ">=17",
@@ -195,11 +195,11 @@
195
195
  "ts-jest": "^29.1.0",
196
196
  "typescript": "^5",
197
197
  "webpack": "^5.89.0",
198
- "@modern-js/app-tools": "2.48.0",
199
- "@modern-js/core": "2.48.0",
200
- "@modern-js/server-core": "2.48.0",
201
- "@scripts/build": "2.48.0",
202
- "@scripts/jest-config": "2.48.0"
198
+ "@modern-js/app-tools": "2.48.2",
199
+ "@modern-js/core": "2.48.2",
200
+ "@modern-js/server-core": "2.48.2",
201
+ "@scripts/jest-config": "2.48.2",
202
+ "@scripts/build": "2.48.2"
203
203
  },
204
204
  "sideEffects": false,
205
205
  "publishConfig": {