ssr-plugin-react 6.2.84 → 7.0.1-beta.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.
Files changed (116) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/README.md +0 -0
  3. package/cjs/entry/context.d.ts +0 -1
  4. package/cjs/entry/context.d.ts.map +1 -1
  5. package/cjs/entry/context.js +1 -2
  6. package/cjs/entry/context.js.map +1 -1
  7. package/cjs/entry/create.d.ts +0 -1
  8. package/cjs/entry/create.d.ts.map +1 -1
  9. package/cjs/entry/create.js +6 -6
  10. package/cjs/entry/create.js.map +1 -1
  11. package/cjs/entry/{client-entry.d.ts → react17-client-entry.d.ts} +1 -2
  12. package/cjs/entry/react17-client-entry.d.ts.map +1 -0
  13. package/cjs/entry/{client-entry.js → react17-client-entry.js} +13 -8
  14. package/cjs/entry/react17-client-entry.js.map +1 -0
  15. package/{esm/entry/client-entry.d.ts → cjs/entry/react18-client-entry.d.ts} +1 -2
  16. package/cjs/entry/react18-client-entry.d.ts.map +1 -0
  17. package/cjs/entry/react18-client-entry.js +62 -0
  18. package/cjs/entry/react18-client-entry.js.map +1 -0
  19. package/cjs/entry/server-entry.d.ts +0 -1
  20. package/cjs/entry/server-entry.d.ts.map +1 -1
  21. package/cjs/entry/server-entry.js +44 -16
  22. package/cjs/entry/server-entry.js.map +1 -1
  23. package/cjs/index.d.ts +0 -1
  24. package/cjs/index.d.ts.map +1 -1
  25. package/cjs/index.js +16 -36
  26. package/cjs/index.js.map +1 -1
  27. package/esm/entry/context.d.ts +0 -1
  28. package/esm/entry/context.d.ts.map +1 -1
  29. package/esm/entry/context.js.map +1 -1
  30. package/esm/entry/create.d.ts +0 -1
  31. package/esm/entry/create.d.ts.map +1 -1
  32. package/esm/entry/create.js +4 -4
  33. package/esm/entry/create.js.map +1 -1
  34. package/esm/entry/react17-client-entry.d.ts +3 -0
  35. package/esm/entry/react17-client-entry.d.ts.map +1 -0
  36. package/esm/entry/{client-entry.js → react17-client-entry.js} +13 -8
  37. package/esm/entry/react17-client-entry.js.map +1 -0
  38. package/esm/entry/react18-client-entry.d.ts +3 -0
  39. package/esm/entry/react18-client-entry.d.ts.map +1 -0
  40. package/esm/entry/react18-client-entry.js +59 -0
  41. package/esm/entry/react18-client-entry.js.map +1 -0
  42. package/esm/entry/server-entry.d.ts +0 -1
  43. package/esm/entry/server-entry.d.ts.map +1 -1
  44. package/esm/entry/server-entry.js +45 -17
  45. package/esm/entry/server-entry.js.map +1 -1
  46. package/esm/index.d.ts +0 -1
  47. package/esm/index.d.ts.map +1 -1
  48. package/esm/index.js +16 -21
  49. package/esm/index.js.map +1 -1
  50. package/package.json +27 -55
  51. package/src/entry/context.tsx +22 -19
  52. package/src/entry/create.ts +19 -20
  53. package/src/entry/react17-client-entry.tsx +73 -0
  54. package/src/entry/react18-client-entry.tsx +80 -0
  55. package/src/entry/server-entry.tsx +132 -84
  56. package/src/index.ts +40 -44
  57. package/.turbo/turbo-build.log +0 -7
  58. package/cjs/config/base.d.ts +0 -4
  59. package/cjs/config/base.d.ts.map +0 -1
  60. package/cjs/config/base.js +0 -56
  61. package/cjs/config/base.js.map +0 -1
  62. package/cjs/config/client.d.ts +0 -5
  63. package/cjs/config/client.d.ts.map +0 -1
  64. package/cjs/config/client.js +0 -57
  65. package/cjs/config/client.js.map +0 -1
  66. package/cjs/config/index.d.ts +0 -3
  67. package/cjs/config/index.d.ts.map +0 -1
  68. package/cjs/config/index.js +0 -19
  69. package/cjs/config/index.js.map +0 -1
  70. package/cjs/config/server.d.ts +0 -6
  71. package/cjs/config/server.d.ts.map +0 -1
  72. package/cjs/config/server.js +0 -42
  73. package/cjs/config/server.js.map +0 -1
  74. package/cjs/entry/client-entry.d.ts.map +0 -1
  75. package/cjs/entry/client-entry.js.map +0 -1
  76. package/cjs/tools/vite.d.ts +0 -9
  77. package/cjs/tools/vite.d.ts.map +0 -1
  78. package/cjs/tools/vite.js +0 -151
  79. package/cjs/tools/vite.js.map +0 -1
  80. package/cjs/tools/webpack.d.ts +0 -3
  81. package/cjs/tools/webpack.d.ts.map +0 -1
  82. package/cjs/tools/webpack.js +0 -23
  83. package/cjs/tools/webpack.js.map +0 -1
  84. package/esm/config/base.d.ts +0 -4
  85. package/esm/config/base.d.ts.map +0 -1
  86. package/esm/config/base.js +0 -53
  87. package/esm/config/base.js.map +0 -1
  88. package/esm/config/client.d.ts +0 -5
  89. package/esm/config/client.d.ts.map +0 -1
  90. package/esm/config/client.js +0 -54
  91. package/esm/config/client.js.map +0 -1
  92. package/esm/config/index.d.ts +0 -3
  93. package/esm/config/index.d.ts.map +0 -1
  94. package/esm/config/index.js +0 -3
  95. package/esm/config/index.js.map +0 -1
  96. package/esm/config/server.d.ts +0 -6
  97. package/esm/config/server.d.ts.map +0 -1
  98. package/esm/config/server.js +0 -39
  99. package/esm/config/server.js.map +0 -1
  100. package/esm/entry/client-entry.d.ts.map +0 -1
  101. package/esm/entry/client-entry.js.map +0 -1
  102. package/esm/tools/vite.d.ts +0 -9
  103. package/esm/tools/vite.d.ts.map +0 -1
  104. package/esm/tools/vite.js +0 -143
  105. package/esm/tools/vite.js.map +0 -1
  106. package/esm/tools/webpack.d.ts +0 -3
  107. package/esm/tools/webpack.d.ts.map +0 -1
  108. package/esm/tools/webpack.js +0 -18
  109. package/esm/tools/webpack.js.map +0 -1
  110. package/src/config/base.ts +0 -65
  111. package/src/config/client.ts +0 -65
  112. package/src/config/index.ts +0 -2
  113. package/src/config/server.ts +0 -48
  114. package/src/entry/client-entry.tsx +0 -55
  115. package/src/tools/vite.ts +0 -153
  116. package/src/tools/webpack.ts +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/entry/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA;AAGxD,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,EAAE,YAAY,CAAoB,CAAA;AAEnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,MAAM,aAAa,GAAG,aAAa,CAAW;QAC5C,KAAK,EAAE,EAAE;KACV,CAAC,CAAA;IACF,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;KACrC;IACD,OAAO,aAAa,CAAA;AACtB,CAAC,CAAA;AAED,MAAM,UAAU,WAAW,CAAE,WAAiB;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IACxB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAC/B,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;KACvF;IACD,OAAO,aAAa,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/entry/create.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAGzC,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAE9B,MAAM,CAAC,MAAM,MAAM,GAAG,aAAa,CAAC,aAAa,EAAE,YAAY,CAAoB,CAAA;AACnF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACpC,MAAM,aAAa,GAAG,aAAa,CAAW;QAC7C,KAAK,EAAE,EAAE;KACT,CAAC,CAAA;IACF,IAAI,aAAa,EAAE,CAAC;QACnB,MAAM,CAAC,aAAa,GAAG,aAAa,CAAA;IACrC,CAAC;IACD,OAAO,aAAa,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,UAAU,WAAW,CAAC,WAAiB;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAA;IACxB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5D,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,aAAa,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAA;IACvF,CAAC;IACD,OAAO,aAAa,CAAA;AACrB,CAAC"}
@@ -0,0 +1,3 @@
1
+ declare const clientRender: () => Promise<void>;
2
+ export { clientRender };
3
+ //# sourceMappingURL=react17-client-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react17-client-entry.d.ts","sourceRoot":"","sources":["../../src/entry/react17-client-entry.tsx"],"names":[],"mappings":"AAWA,QAAA,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CAyD1C,CAAA;AAID,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -1,6 +1,5 @@
1
+ import ReactDOM from 'react-dom';
1
2
  import { createElement } from 'react';
2
- import * as ReactDOM from 'react-dom';
3
- import 'react-router'; // for vite prebundle list
4
3
  import { BrowserRouter, Route, Switch } from 'react-router-dom';
5
4
  import { preloadComponent, isMicro, setStoreContext, setStore } from 'ssr-common-utils';
6
5
  import { wrapComponent } from 'ssr-hoc-react';
@@ -18,11 +17,14 @@ const clientRender = async () => {
18
17
  setStore(store !== null && store !== void 0 ? store : {});
19
18
  const baseName = isMicro() ? window.clientPrefix : window.prefix;
20
19
  const routes = await preloadComponent(FeRoutes, baseName);
21
- ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](createElement(BrowserRouter, {
20
+ const container = document.querySelector((_a = window.ssrDevInfo.rootId) !== null && _a !== void 0 ? _a : '#app');
21
+ const ele = createElement(
22
+ //@ts-ignore
23
+ BrowserRouter, {
22
24
  basename: baseName
23
25
  }, createElement(AppContext, {
24
26
  context,
25
- children: createElement(Switch, null, createElement(IApp, null, createElement(Switch, null, routes.map(item => {
27
+ children: createElement(Switch, null, createElement(IApp, null, createElement(Switch, null, routes.map((item) => {
26
28
  const { fetch, component, path } = item;
27
29
  component.fetch = fetch;
28
30
  component.layoutFetch = layoutFetch;
@@ -31,16 +33,19 @@ const clientRender = async () => {
31
33
  exact: true,
32
34
  key: path,
33
35
  path: path,
34
- render: () => createElement(WrappedComponent, {
35
- key: location.pathname
36
+ render: (props) => createElement(WrappedComponent, {
37
+ ...props,
38
+ key: props.history.location.key
36
39
  })
37
40
  });
38
41
  }))))
39
- })), document.querySelector((_a = window.ssrDevInfo.rootId) !== null && _a !== void 0 ? _a : '#app'));
42
+ }));
43
+ ReactDOM[window.__USE_SSR__ ? 'hydrate' : 'render'](ele, container);
40
44
  if (!window.__USE_VITE__) {
45
+ ;
41
46
  (_c = (_b = module === null || module === void 0 ? void 0 : module.hot) === null || _b === void 0 ? void 0 : _b.accept) === null || _c === void 0 ? void 0 : _c.call(_b);
42
47
  }
43
48
  };
44
49
  clientRender();
45
50
  export { clientRender };
46
- //# sourceMappingURL=client-entry.js.map
51
+ //# sourceMappingURL=react17-client-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react17-client-entry.js","sourceRoot":"","sources":["../../src/entry/react17-client-entry.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ declare const clientRender: () => Promise<void>;
2
+ export { clientRender };
3
+ //# sourceMappingURL=react18-client-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react18-client-entry.d.ts","sourceRoot":"","sources":["../../src/entry/react18-client-entry.tsx"],"names":[],"mappings":"AAcA,QAAA,MAAM,YAAY,QAAa,OAAO,CAAC,IAAI,CA6D1C,CAAA;AAID,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -0,0 +1,59 @@
1
+ //@ts-ignore
2
+ import { hydrateRoot, createRoot } from 'react-dom/client';
3
+ import { createElement } from 'react';
4
+ import { BrowserRouter, Route, Switch } from 'react-router-dom';
5
+ import { preloadComponent, isMicro, setStoreContext, setStore } from 'ssr-common-utils';
6
+ import { wrapComponent } from 'ssr-hoc-react';
7
+ import { ssrCreateContext, Routes, createStore } from './create';
8
+ import { AppContext } from './context';
9
+ const { FeRoutes, layoutFetch, App } = Routes;
10
+ const clientRender = async () => {
11
+ var _a, _b, _c;
12
+ const IApp = App !== null && App !== void 0 ? App : function (props) {
13
+ return props.children;
14
+ };
15
+ const context = ssrCreateContext();
16
+ setStoreContext(context);
17
+ const store = createStore(window.__VALTIO_DATA__);
18
+ setStore(store !== null && store !== void 0 ? store : {});
19
+ const baseName = isMicro() ? window.clientPrefix : window.prefix;
20
+ const routes = await preloadComponent(FeRoutes, baseName);
21
+ const container = document.querySelector((_a = window.ssrDevInfo.rootId) !== null && _a !== void 0 ? _a : '#app');
22
+ const ele = createElement(
23
+ //@ts-ignore
24
+ BrowserRouter, {
25
+ basename: baseName
26
+ }, createElement(AppContext, {
27
+ context,
28
+ children: createElement(Switch, null, createElement(IApp, null, createElement(Switch, null, routes.map((item) => {
29
+ const { fetch, component, path } = item;
30
+ component.fetch = fetch;
31
+ component.layoutFetch = layoutFetch;
32
+ const WrappedComponent = wrapComponent(component);
33
+ return createElement(Route, {
34
+ exact: true,
35
+ key: path,
36
+ path: path,
37
+ render: (props) => createElement(WrappedComponent, {
38
+ ...props,
39
+ key: props.history.location.key
40
+ })
41
+ });
42
+ }))))
43
+ }));
44
+ if (window.__USE_SSR__) {
45
+ ;
46
+ hydrateRoot(container, ele);
47
+ }
48
+ else {
49
+ const root = createRoot(container);
50
+ root.render(ele);
51
+ }
52
+ if (!window.__USE_VITE__) {
53
+ ;
54
+ (_c = (_b = module === null || module === void 0 ? void 0 : module.hot) === null || _b === void 0 ? void 0 : _b.accept) === null || _c === void 0 ? void 0 : _c.call(_b);
55
+ }
56
+ };
57
+ clientRender();
58
+ export { clientRender };
59
+ //# sourceMappingURL=react18-client-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react18-client-entry.js","sourceRoot":"","sources":["../../src/entry/react18-client-entry.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { ISSRContext, IConfig } from 'ssr-types';
3
2
  import { Routes } from './create';
4
3
  declare const serverRender: (ctx: ISSRContext, config: IConfig) => Promise<string | import("stream").Readable | NodeJS.ReadableStream | import("ssr-types").PipeableStream | {
@@ -1 +1 @@
1
- {"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAiC,MAAM,UAAU,CAAA;AAIhE,QAAA,MAAM,YAAY,QAAe,WAAW,UAAU,OAAO;;;EAwF5D,CAAA;AAED,OAAO,EACL,YAAY,EACZ,MAAM,EACP,CAAA"}
1
+ {"version":3,"file":"server-entry.d.ts","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAmD,MAAM,WAAW,CAAA;AAGjG,OAAO,EAAE,MAAM,EAAiC,MAAM,UAAU,CAAA;AAOhE,QAAA,MAAM,YAAY,GAAU,KAAK,WAAW,EAAE,QAAQ,OAAO;;;EAuI5D,CAAA;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { PassThrough } from 'stream';
2
2
  import * as React from 'react';
3
3
  import { createElement } from 'react';
4
+ import * as ReactDOMServer from 'react-dom/server';
4
5
  import { StaticRouter } from 'react-router-dom';
5
- import { renderToString, renderToNodeStream } from 'react-dom/server';
6
- import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, splitPageInfo, reactRefreshFragment, localStorageWrapper, checkRoute, useStore } from 'ssr-common-utils';
6
+ import { findRoute, getManifest, logGreen, normalizePath, getAsyncCssChunk, getAsyncJsChunk, splitPageInfo, reactRefreshFragment, localStorageWrapper, checkRoute, useStore, isReact18, getClientEntry } from 'ssr-common-utils';
7
7
  import { serialize } from 'ssr-serialize-javascript';
8
8
  import { AppContext } from './context';
9
9
  import { Routes, ssrCreateContext, createStore } from './create';
@@ -11,7 +11,7 @@ const { FeRoutes, layoutFetch, state, Layout } = Routes;
11
11
  const serverRender = async (ctx, config) => {
12
12
  var _a;
13
13
  const context = ssrCreateContext();
14
- const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix, stream, rootId, hashRouter, streamHighWaterMark } = config;
14
+ const { mode, parallelFetch, prefix, isVite, isDev, clientPrefix, onReady, onError, stream, rootId, hashRouter, streamHighWaterMark } = config;
15
15
  const rawPath = (_a = ctx.request.path) !== null && _a !== void 0 ? _a : ctx.request.url;
16
16
  const path = normalizePath(rawPath, prefix);
17
17
  const routeItem = findRoute(FeRoutes, path);
@@ -22,26 +22,42 @@ const serverRender = async (ctx, config) => {
22
22
  const dynamicCssOrder = await getAsyncCssChunk(ctx, webpackChunkName, config);
23
23
  const dynamicJsOrder = await getAsyncJsChunk(ctx, webpackChunkName, config);
24
24
  const manifest = await getManifest(config);
25
- const injectCss = ((isVite && isDev) ? [
26
- React.createElement("script", { src: "/@vite/client", type: "module", key: "vite-client" }),
27
- React.createElement("script", { key: "vite-react-refresh", type: "module", dangerouslySetInnerHTML: {
28
- __html: reactRefreshFragment
29
- } })
30
- ] : dynamicCssOrder.map(css => manifest[css]).filter(Boolean).map(css => React.createElement("link", { rel: 'stylesheet', key: css, href: css })))
31
- .concat((isVite && isDev) ? [] : dynamicJsOrder.map(js => manifest[js]).filter(Boolean).map(js => React.createElement("link", { href: js, as: "script", rel: isVite ? 'modulepreload' : 'preload', key: js })));
25
+ const injectCss = (isVite && isDev
26
+ ? [
27
+ React.createElement("script", { src: "/@vite/client", type: "module", key: "vite-client" }),
28
+ React.createElement("script", { key: "vite-react-refresh", type: "module", dangerouslySetInnerHTML: {
29
+ __html: reactRefreshFragment
30
+ } })
31
+ ]
32
+ : dynamicCssOrder
33
+ .map((css) => manifest[css])
34
+ .filter(Boolean)
35
+ .map((css) => React.createElement("link", { rel: "stylesheet", key: css, href: css }))).concat(isVite && isDev
36
+ ? []
37
+ : dynamicJsOrder
38
+ .map((js) => manifest[js])
39
+ .filter(Boolean)
40
+ .map((js) => React.createElement("link", { href: js, as: "script", rel: isVite ? 'modulepreload' : 'preload', key: js })));
32
41
  const injectScript = [
33
- ...(isVite ? [React.createElement("script", { key: "viteWindowInit", dangerouslySetInnerHTML: {
34
- __html: 'window.__USE_VITE__=true'
35
- } })] : []),
36
- ...((isVite && isDev) ? [React.createElement("script", { type: "module", src: '/node_modules/ssr-plugin-react/esm/entry/client-entry.js', key: "vite-react-entry" })] : []),
37
- ...dynamicJsOrder.map(js => manifest[js]).filter(Boolean).map(item => React.createElement("script", { key: item, src: item, type: isVite ? 'module' : 'text/javascript' }))
42
+ ...(isVite
43
+ ? [
44
+ React.createElement("script", { key: "viteWindowInit", dangerouslySetInnerHTML: {
45
+ __html: 'window.__USE_VITE__=true'
46
+ } })
47
+ ]
48
+ : []),
49
+ ...(isVite && isDev ? [React.createElement("script", { type: "module", src: `/node_modules/ssr-plugin-react/esm/entry/${getClientEntry()}.js`, key: "vite-react-entry" })] : []),
50
+ ...dynamicJsOrder
51
+ .map((js) => manifest[js])
52
+ .filter(Boolean)
53
+ .map((item) => React.createElement("script", { key: item, src: item, type: isVite ? 'module' : 'text/javascript' }))
38
54
  ];
39
55
  const staticList = {
40
56
  injectCss,
41
57
  injectScript
42
58
  };
43
59
  const isCsr = !!(mode === 'csr' || ((_a = ctx.request.query) === null || _a === void 0 ? void 0 : _a.csr));
44
- const Component = isCsr ? React.Fragment : (component.name === 'dynamicComponent' ? (await component()).default : component);
60
+ const Component = isCsr ? React.Fragment : component.name === 'dynamicComponent' ? (await component()).default : component;
45
61
  if (isCsr) {
46
62
  logGreen(`Current path ${path} use csr render mode`);
47
63
  }
@@ -80,7 +96,19 @@ const serverRender = async (ctx, config) => {
80
96
  }, createElement(Component, null))
81
97
  }));
82
98
  // for ctx.body will loose asynclocalstorage context, consume stream in advance like vue2/3
83
- return stream ? renderToNodeStream(ele).pipe(new PassThrough({ highWaterMark: streamHighWaterMark })) : renderToString(ele);
99
+ if (isReact18()) {
100
+ return stream
101
+ ? ReactDOMServer
102
+ .renderToPipeableStream(ele, {
103
+ onAllReady: onReady,
104
+ onError: onError
105
+ })
106
+ .pipe(new PassThrough({ highWaterMark: streamHighWaterMark }))
107
+ : ReactDOMServer.renderToString(ele);
108
+ }
109
+ else {
110
+ return stream ? ReactDOMServer.renderToNodeStream(ele).pipe(new PassThrough({ highWaterMark: streamHighWaterMark })) : ReactDOMServer.renderToString(ele);
111
+ }
84
112
  };
85
113
  return await localStorageWrapper.run({
86
114
  context: context,
@@ -1 +1 @@
1
- {"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-entry.js","sourceRoot":"","sources":["../../src/entry/server-entry.tsx"],"names":[],"mappings":"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"}
package/esm/index.d.ts CHANGED
@@ -3,5 +3,4 @@ export declare function clientPlugin(): {
3
3
  start: () => Promise<void>;
4
4
  build: () => Promise<void>;
5
5
  };
6
- export * from './tools/vite';
7
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,wBAAgB,YAAY;;;;EAyC3B;AAED,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,wBAAgB,YAAY;;;;EAsC3B"}
package/esm/index.js CHANGED
@@ -1,51 +1,46 @@
1
- import { loadConfig } from 'ssr-common-utils';
1
+ import { resolve } from 'path';
2
+ import { loadConfig, getCwd } from 'ssr-common-utils';
2
3
  const { isVite, optimize } = loadConfig();
3
4
  const spinner = require('ora')('Building');
4
5
  export function clientPlugin() {
6
+ const cwd = getCwd();
7
+ const webpackPath = resolve(cwd, './node_modules/ssr-webpack');
8
+ const vitePath = resolve(cwd, './node_modules/ssr-vite');
5
9
  return {
6
10
  name: 'plugin-react',
7
11
  start: async () => {
8
12
  if (isVite) {
9
- const { viteStart } = await import('./tools/vite');
10
- await viteStart();
13
+ const { start } = await import(vitePath);
14
+ await start();
11
15
  }
12
16
  else {
13
17
  if (optimize) {
14
18
  spinner.start();
15
- const { viteBuildClient } = await import('./tools/vite');
19
+ const { viteBuildClient } = await import(vitePath);
16
20
  await viteBuildClient();
17
21
  process.env.NODE_ENV = 'development';
18
22
  spinner.stop();
19
- const { webpackStart } = await import('./tools/webpack');
20
- await webpackStart();
21
- }
22
- else {
23
- const { webpackStart } = await import('./tools/webpack');
24
- await webpackStart();
25
23
  }
24
+ const { start } = await import(webpackPath);
25
+ await start();
26
26
  }
27
27
  },
28
28
  build: async () => {
29
29
  if (isVite) {
30
- const { viteBuild } = await import('./tools/vite');
31
- await viteBuild();
30
+ const { build } = await import(vitePath);
31
+ await build();
32
32
  }
33
33
  else {
34
34
  if (optimize) {
35
35
  spinner.start();
36
- const { viteBuildClient } = await import('./tools/vite');
37
- await viteBuildClient();
36
+ const { build } = await import(vitePath);
37
+ await build();
38
38
  spinner.stop();
39
- const { webpackBuild } = await import('./tools/webpack');
40
- await webpackBuild();
41
- }
42
- else {
43
- const { webpackBuild } = await import('./tools/webpack');
44
- await webpackBuild();
45
39
  }
40
+ const { build } = await import(webpackPath);
41
+ await build();
46
42
  }
47
43
  }
48
44
  };
49
45
  }
50
- export * from './tools/vite';
51
46
  //# sourceMappingURL=index.js.map
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;AACzC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAA;AAE1C,MAAM,UAAU,YAAY;IAC1B,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,MAAM,EAAE;gBACV,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;gBAClD,MAAM,SAAS,EAAE,CAAA;aAClB;iBAAM;gBACL,IAAI,QAAQ,EAAE;oBACZ,OAAO,CAAC,KAAK,EAAE,CAAA;oBACf,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;oBACxD,MAAM,eAAe,EAAE,CAAA;oBACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;oBACpC,OAAO,CAAC,IAAI,EAAE,CAAA;oBACd,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;oBACxD,MAAM,YAAY,EAAE,CAAA;iBACrB;qBAAM;oBACL,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;oBACxD,MAAM,YAAY,EAAE,CAAA;iBACrB;aACF;QACH,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,IAAI,MAAM,EAAE;gBACV,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;gBAClD,MAAM,SAAS,EAAE,CAAA;aAClB;iBAAM;gBACL,IAAI,QAAQ,EAAE;oBACZ,OAAO,CAAC,KAAK,EAAE,CAAA;oBACf,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAA;oBACxD,MAAM,eAAe,EAAE,CAAA;oBACvB,OAAO,CAAC,IAAI,EAAE,CAAA;oBACd,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;oBACxD,MAAM,YAAY,EAAE,CAAA;iBACrB;qBAAM;oBACL,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;oBACxD,MAAM,YAAY,EAAE,CAAA;iBACrB;aACF;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAErD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAA;AACzC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAA;AAE1C,MAAM,UAAU,YAAY;IAC3B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAA;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAA;IACxD,OAAO;QACN,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxC,MAAM,KAAK,EAAE,CAAA;YACd,CAAC;iBAAM,CAAC;gBACP,IAAI,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,EAAE,CAAA;oBACf,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAClD,MAAM,eAAe,EAAE,CAAA;oBACvB,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAA;oBACpC,OAAO,CAAC,IAAI,EAAE,CAAA;gBACf,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;gBAC3C,MAAM,KAAK,EAAE,CAAA;YACd,CAAC;QACF,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,MAAM,EAAE,CAAC;gBACZ,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACxC,MAAM,KAAK,EAAE,CAAA;YACd,CAAC;iBAAM,CAAC;gBACP,IAAI,QAAQ,EAAE,CAAC;oBACd,OAAO,CAAC,KAAK,EAAE,CAAA;oBACf,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAA;oBACxC,MAAM,KAAK,EAAE,CAAA;oBACb,OAAO,CAAC,IAAI,EAAE,CAAA;gBACf,CAAC;gBACD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAA;gBAC3C,MAAM,KAAK,EAAE,CAAA;YACd,CAAC;QACF,CAAC;KACD,CAAA;AACF,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,10 @@
1
1
  {
2
2
  "name": "ssr-plugin-react",
3
- "version": "6.2.84",
3
+ "version": "7.0.1-beta.0",
4
4
  "description": "plugin-react for ssr",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
7
7
  "sideEffects": false,
8
- "scripts": {
9
- "build": "concurrently \"tsc -p ./tsconfig.cjs.json \" \" tsc -p ./tsconfig.esm.json\"",
10
- "watch": "concurrently \"tsc -w -p ./tsconfig.cjs.json \" \"tsc -w -p ./tsconfig.esm.json \""
11
- },
12
8
  "repository": {
13
9
  "type": "git",
14
10
  "url": "git+https://github.com/zhangyuang/ssr.git"
@@ -30,64 +26,40 @@
30
26
  },
31
27
  "homepage": "https://github.com/zhangyuang/ssr#readme",
32
28
  "dependencies": {
33
- "@babel/core": "^7.0.0",
34
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.5",
35
- "@babel/plugin-proposal-optional-chaining": "^7.16.5",
36
- "@babel/plugin-proposal-private-methods": "^7.18.6",
37
- "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
38
- "@babel/plugin-transform-runtime": "^7.9.6",
39
- "@babel/preset-env": "^7.5.5",
40
- "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
41
- "@types/semver": "^7.3.13",
42
29
  "@vitejs/plugin-react": "^1.3.2",
43
- "babel-loader": "^8.0.4",
44
- "babel-plugin-import": "1.13.3",
45
30
  "babel-preset-react-app": "^10.0.0",
46
- "core-js": "^3.6.4",
47
- "css-loader": "^5.2.7",
48
- "file-loader": "^6.2.0",
49
- "less": "^4.1.1",
50
- "less-loader": "^7.3.0",
51
- "optimize-css-assets-webpack-plugin": "^6.0.0",
52
- "ora": "^4.0.4",
53
- "postcss": "^8.0.0",
54
- "postcss-discard-comments": "^5.0.0",
55
- "postcss-flexbugs-fixes": "^5.0.0",
56
- "postcss-loader": "^4.0.0",
57
- "postcss-modules": "^4.0.0",
58
- "postcss-preset-env": "7.6.0",
59
- "postcss-safe-parser": "^6.0.0",
60
- "react": "^17.0.1",
61
- "react-dev-utils": "^11.0.4",
62
- "react-dom": "^17.0.0",
63
31
  "react-refresh": "^0.12.0",
64
- "react-router": "^5.2.1",
65
- "react-router-dom": "^5.1.2",
66
- "rollup-plugin-visualizer": "^5.12.0",
67
- "semver": "^7.3.8",
68
- "ssr-common-utils": "^6.0.0",
69
- "ssr-deepclone": "^1.0.0",
70
- "ssr-hoc-react": "^6.2.7",
71
- "ssr-mini-css-extract-plugin": "^1.6.5",
72
- "ssr-serialize-javascript": "^6.0.0",
73
- "ssr-vite-plugin-style-import": "^2.0.1",
74
- "ssr-webpack": "^6.2.10",
75
- "ssr-webpack4": "^4.46.2",
76
- "terser-webpack-plugin": "^2.3.5",
77
- "url-loader": "^4.1.1",
78
- "valtio": "^1.11.2",
79
- "vite": "^2.9.15",
80
- "webpack-bundle-analyzer": "^3.6.1",
81
- "webpack-chain": "^6.4.0",
82
- "webpack-manifest-plugin": "^2.2.0",
83
- "webpackbar": "^5.0.0-3"
32
+ "@pmmmwh/react-refresh-webpack-plugin": "^0.5.5",
33
+ "valtio": "^1.13.2",
34
+ "ssr-common-utils": "7.0.1-beta.0",
35
+ "ssr-hoc-react": "7.0.1-beta.0"
36
+ },
37
+ "peerDependencies": {
38
+ "react": ">=17.0.1",
39
+ "react-dom": ">=17.0.0",
40
+ "react-router": ">=5.2.1",
41
+ "react-router-dom": ">=5.1.2",
42
+ "webpack": "^4.0.0"
84
43
  },
85
44
  "devDependencies": {
45
+ "@types/react18": "npm:@types/react@^18.0.0",
46
+ "@types/react-dom18": "npm:@types/react-dom@^18.0.0",
86
47
  "@types/react": "^17.0.0",
87
48
  "@types/react-dom": "^17.0.0",
88
49
  "@types/react-router-dom": "^5.1.3",
89
50
  "@types/webpack": "^4.41.10",
90
51
  "concurrently": "^5.1.0",
91
- "ssr-types": "^6.2.7"
52
+ "ssr-types": "7.0.1-beta.2",
53
+ "ssr-webpack": "7.0.1-beta.0",
54
+ "ssr-vite": "7.0.1-beta.0"
55
+ },
56
+ "peerDependenciesMeta": {
57
+ "webpack": {
58
+ "optional": true
59
+ }
60
+ },
61
+ "scripts": {
62
+ "build": "concurrently \"tsc -p ./tsconfig.cjs.json \" \" tsc -p ./tsconfig.esm.json\"",
63
+ "watch": "concurrently \"tsc -w -p ./tsconfig.cjs.json \" \"tsc -w -p ./tsconfig.esm.json \""
92
64
  }
93
- }
65
+ }
@@ -5,35 +5,38 @@ import { Routes } from './create'
5
5
  const { reducer, state } = Routes as ReactRoutesType
6
6
 
7
7
  const userState = state ?? {}
8
- const userReducer = reducer ?? function() { }
8
+ const userReducer = reducer ?? function () {}
9
9
 
10
10
  const isDev = process.env.NODE_ENV !== 'production'
11
11
 
12
12
  declare const window: IWindow
13
13
 
14
14
  function defaultReducer(state: any, action: Action) {
15
- switch (action.type) {
16
- case 'updateContext':
17
- if (isDev) {
18
- console.log('[SSR:updateContext]: dispatch updateContext with action')
19
- console.log(action)
20
- }
21
- return { ...state, ...action.payload }
22
- }
15
+ switch (action.type) {
16
+ case 'updateContext':
17
+ if (isDev) {
18
+ console.log('[SSR:updateContext]: dispatch updateContext with action')
19
+ console.log(action)
20
+ }
21
+ return { ...state, ...action.payload }
22
+ }
23
23
  }
24
24
 
25
-
26
25
  function combineReducer(state: any, action: any) {
27
- return defaultReducer(state, action) || userReducer(state, action)
26
+ return defaultReducer(state, action) || userReducer(state, action)
28
27
  }
29
28
 
30
29
  export function AppContext(props: IProps) {
31
- const initialState = Object.assign({}, userState ?? {}, __isBrowser__ ? window?.__INITIAL_DATA__ : props.initialState)
32
- const [state, dispatch] = useReducer(combineReducer, initialState)
33
- return createElement(props.context.Provider, {
34
- value: {
35
- state,
36
- dispatch
37
- }
38
- }, props.children as any)
30
+ const initialState = Object.assign({}, userState ?? {}, __isBrowser__ ? window?.__INITIAL_DATA__ : props.initialState)
31
+ const [state, dispatch] = useReducer(combineReducer, initialState)
32
+ return createElement(
33
+ props.context.Provider,
34
+ {
35
+ value: {
36
+ state,
37
+ dispatch
38
+ }
39
+ },
40
+ props.children as any
41
+ )
39
42
  }
@@ -1,29 +1,28 @@
1
- import { createContext } from 'react'
2
- import type { IContext } from 'ssr-types'
3
- import { proxy } from 'valtio'
4
- import { deepClone } from 'ssr-deepclone'
5
- import { combineRoutes } from 'ssr-common-utils'
6
1
  import * as declareRoutes from '_build/ssr-declare-routes'
7
2
  import * as ManualRoutes from '_build/ssr-manual-routes'
3
+ import { createContext } from 'react'
4
+ import { combineRoutes } from 'ssr-common-utils'
5
+ import { deepClone } from 'ssr-deepclone'
6
+ import type { IContext } from 'ssr-types'
8
7
  import { ReactRoutesType } from 'ssr-types'
8
+ import { proxy } from 'valtio'
9
9
 
10
10
  export const Routes = combineRoutes(declareRoutes, ManualRoutes) as ReactRoutesType
11
-
12
11
  export const ssrCreateContext = () => {
13
- const STORE_CONTEXT = createContext<IContext>({
14
- state: {}
15
- })
16
- if (__isBrowser__) {
17
- window.STORE_CONTEXT = STORE_CONTEXT
18
- }
19
- return STORE_CONTEXT
12
+ const STORE_CONTEXT = createContext<IContext>({
13
+ state: {}
14
+ })
15
+ if (__isBrowser__) {
16
+ window.STORE_CONTEXT = STORE_CONTEXT
17
+ }
18
+ return STORE_CONTEXT
20
19
  }
21
20
 
22
- export function createStore (initialData?: any) {
23
- const { store } = Routes
24
- const storeInstance = initialData ? store : deepClone(store)
25
- for (const key in storeInstance) {
26
- storeInstance[key] = initialData ? proxy(initialData[key]) : proxy(storeInstance[key])
27
- }
28
- return storeInstance
21
+ export function createStore(initialData?: any) {
22
+ const { store } = Routes
23
+ const storeInstance = initialData ? store : deepClone(store)
24
+ for (const key in storeInstance) {
25
+ storeInstance[key] = initialData ? proxy(initialData[key]) : proxy(storeInstance[key])
26
+ }
27
+ return storeInstance
29
28
  }