ssr-plugin-react 6.1.6 → 6.1.11

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019 ykfe
3
+ Copyright (c) 2019 zhangyuang
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -1,3 +1,3 @@
1
1
  import * as WebpackChain from 'webpack-chain';
2
- declare const getBaseConfig: (chain: WebpackChain, isServer: boolean) => any;
2
+ declare const getBaseConfig: (chain: WebpackChain, isServer: boolean) => import("ssr-types").IConfig;
3
3
  export { getBaseConfig };
@@ -1,4 +1,2 @@
1
- /// <reference types="react" />
2
- import { IContext } from 'ssr-types-react';
3
- declare const STORE_CONTEXT: import("react").Context<IContext<any>>;
1
+ declare let STORE_CONTEXT: any;
4
2
  export { STORE_CONTEXT };
@@ -1,9 +1,20 @@
1
1
  "use strict";
2
+ // @ts-nocheck
2
3
  // The file is provisional,don't depend on it
4
+ var _a;
3
5
  Object.defineProperty(exports, "__esModule", { value: true });
4
6
  exports.STORE_CONTEXT = void 0;
5
7
  const react_1 = require("react");
6
- const STORE_CONTEXT = (0, react_1.createContext)({
7
- state: {}
8
- });
8
+ let STORE_CONTEXT;
9
9
  exports.STORE_CONTEXT = STORE_CONTEXT;
10
+ if (__isBrowser__) {
11
+ exports.STORE_CONTEXT = STORE_CONTEXT = (_a = window.STORE_CONTEXT) !== null && _a !== void 0 ? _a : (0, react_1.createContext)({
12
+ state: {}
13
+ });
14
+ window.STORE_CONTEXT = STORE_CONTEXT;
15
+ }
16
+ else {
17
+ exports.STORE_CONTEXT = STORE_CONTEXT = (0, react_1.createContext)({
18
+ state: {}
19
+ });
20
+ }
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.serverRender = void 0;
4
4
  const React = require("react");
5
+ const react_router_dom_1 = require("react-router-dom");
5
6
  const ssr_server_utils_1 = require("ssr-server-utils");
6
7
  const serialize = require("serialize-javascript");
7
8
  // @ts-expect-error
@@ -96,7 +97,8 @@ const serverRender = async (ctx, config) => {
96
97
  const injectState = isCsr ? null : React.createElement("script", { dangerouslySetInnerHTML: {
97
98
  __html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}`
98
99
  } });
99
- return (React.createElement(create_context_1.STORE_CONTEXT.Provider, { value: { state: combineData } },
100
- React.createElement(index_tsx_1.default, { ctx: ctx, config: config, staticList: staticList, injectState: injectState }, isCsr ? React.createElement(React.Fragment, null) : React.createElement(Component, null))));
100
+ return (React.createElement(react_router_dom_1.StaticRouter, { location: ctx.request.url },
101
+ React.createElement(create_context_1.STORE_CONTEXT.Provider, { value: { state: combineData } },
102
+ React.createElement(index_tsx_1.default, { ctx: ctx, config: config, staticList: staticList, injectState: injectState }, isCsr ? React.createElement(React.Fragment, null) : React.createElement(Component, null)))));
101
103
  };
102
104
  exports.serverRender = serverRender;
@@ -0,0 +1,6 @@
1
+ import type { UserConfig } from 'vite';
2
+ declare const serverConfig: UserConfig;
3
+ declare const clientConfig: UserConfig;
4
+ declare const viteStart: () => Promise<void>;
5
+ declare const viteBuild: () => Promise<void>;
6
+ export { viteBuild, viteStart, serverConfig, clientConfig };
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.clientConfig = exports.serverConfig = exports.viteStart = exports.viteBuild = void 0;
4
+ const path_1 = require("path");
5
+ const ssr_server_utils_1 = require("ssr-server-utils");
6
+ const plugin_react_1 = require("@vitejs/plugin-react");
7
+ const build = require('vite').build;
8
+ const { getOutput, reactServerEntry, reactClientEntry } = (0, ssr_server_utils_1.loadConfig)();
9
+ const { clientOutPut, serverOutPut } = getOutput();
10
+ const cwd = (0, ssr_server_utils_1.getCwd)();
11
+ const resolveObj = {
12
+ alias: {
13
+ '@': (0, path_1.resolve)(cwd, './web'),
14
+ _build: (0, path_1.resolve)(cwd, './build')
15
+ },
16
+ extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
17
+ };
18
+ const serverConfig = {
19
+ ...ssr_server_utils_1.commonConfig,
20
+ resolve: resolveObj,
21
+ plugins: [
22
+ (0, plugin_react_1.default)()
23
+ ],
24
+ build: {
25
+ ssr: reactServerEntry,
26
+ outDir: serverOutPut,
27
+ rollupOptions: {
28
+ output: {
29
+ entryFileNames: 'Page.server.js'
30
+ }
31
+ }
32
+ },
33
+ define: {
34
+ __isBrowser__: false
35
+ }
36
+ };
37
+ exports.serverConfig = serverConfig;
38
+ const clientConfig = {
39
+ ...ssr_server_utils_1.commonConfig,
40
+ resolve: resolveObj,
41
+ plugins: [
42
+ (0, plugin_react_1.default)()
43
+ ],
44
+ build: {
45
+ ssrManifest: true,
46
+ outDir: clientOutPut,
47
+ rollupOptions: {
48
+ input: reactClientEntry,
49
+ //@ts-expect-error
50
+ output: ssr_server_utils_1.output,
51
+ plugins: [(0, ssr_server_utils_1.chunkNamePlugin)(), (0, ssr_server_utils_1.manifestPlugin)()]
52
+ }
53
+ },
54
+ define: {
55
+ __isBrowser__: true
56
+ }
57
+ };
58
+ exports.clientConfig = clientConfig;
59
+ const viteStart = async () => {
60
+ //
61
+ };
62
+ exports.viteStart = viteStart;
63
+ const viteBuild = async () => {
64
+ await build({ ...clientConfig, mode: 'production' });
65
+ await build({ ...serverConfig, mode: 'production' });
66
+ };
67
+ exports.viteBuild = viteBuild;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy92aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLCtCQUE4QjtBQUU5Qix1REFBNEc7QUFDNUcsdURBQXdDO0FBQ3hDLE1BQU0sS0FBSyxHQUFxQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFBO0FBQ3JELE1BQU0sRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxJQUFBLDZCQUFVLEdBQUUsQ0FBQTtBQUN0RSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxHQUFHLFNBQVMsRUFBRSxDQUFBO0FBRWxELE1BQU0sR0FBRyxHQUFHLElBQUEseUJBQU0sR0FBRSxDQUFBO0FBQ3BCLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLEtBQUssRUFBRTtRQUNMLEdBQUcsRUFBRSxJQUFBLGNBQU8sRUFBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxJQUFBLGNBQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxDQUFDO0tBQ2hDO0lBQ0QsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDO0NBQ3BFLENBQUE7QUFDRCxNQUFNLFlBQVksR0FBZTtJQUMvQixHQUFHLCtCQUFZO0lBQ2YsT0FBTyxFQUFFLFVBQVU7SUFDbkIsT0FBTyxFQUFFO1FBQ1AsSUFBQSxzQkFBSyxHQUFFO0tBQ1I7SUFDRCxLQUFLLEVBQUU7UUFDTCxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLGFBQWEsRUFBRTtZQUNiLE1BQU0sRUFBRTtnQkFDTixjQUFjLEVBQUUsZ0JBQWdCO2FBQ2pDO1NBQ0Y7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLGFBQWEsRUFBRSxLQUFLO0tBQ3JCO0NBQ0YsQ0FBQTtBQWlDQyxvQ0FBWTtBQS9CZCxNQUFNLFlBQVksR0FBZTtJQUMvQixHQUFHLCtCQUFZO0lBQ2YsT0FBTyxFQUFFLFVBQVU7SUFDbkIsT0FBTyxFQUFFO1FBQ1AsSUFBQSxzQkFBSyxHQUFFO0tBQ1I7SUFDRCxLQUFLLEVBQUU7UUFDTCxXQUFXLEVBQUUsSUFBSTtRQUNqQixNQUFNLEVBQUUsWUFBWTtRQUNwQixhQUFhLEVBQUU7WUFDYixLQUFLLEVBQUUsZ0JBQWdCO1lBQ3ZCLGtCQUFrQjtZQUNsQixNQUFNLEVBQUUseUJBQU07WUFDZCxPQUFPLEVBQUUsQ0FBQyxJQUFBLGtDQUFlLEdBQUUsRUFBRSxJQUFBLGlDQUFjLEdBQUUsQ0FBQztTQUMvQztLQUNGO0lBQ0QsTUFBTSxFQUFFO1FBQ04sYUFBYSxFQUFFLElBQUk7S0FDcEI7Q0FDRixDQUFBO0FBYUMsb0NBQVk7QUFaZCxNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMzQixFQUFFO0FBQ0osQ0FBQyxDQUFBO0FBUUMsOEJBQVM7QUFQWCxNQUFNLFNBQVMsR0FBRyxLQUFLLElBQUksRUFBRTtJQUMzQixNQUFNLEtBQUssQ0FBQyxFQUFFLEdBQUcsWUFBWSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFBO0lBQ3BELE1BQU0sS0FBSyxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7QUFDdEQsQ0FBQyxDQUFBO0FBR0MsOEJBQVMifQ==
@@ -0,0 +1,2 @@
1
+ export declare const webpackStart: () => Promise<void>;
2
+ export declare const webpackBuild: () => Promise<void>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.webpackBuild = exports.webpackStart = void 0;
4
+ const WebpackChain = require("webpack-chain");
5
+ const webpackStart = async () => {
6
+ const { startServerBuild } = await Promise.resolve().then(() => require('ssr-webpack/cjs/server'));
7
+ const { getServerWebpack } = await Promise.resolve().then(() => require('../config/server'));
8
+ const serverConfigChain = new WebpackChain();
9
+ const { startClientServer } = await Promise.resolve().then(() => require('ssr-webpack'));
10
+ const { getClientWebpack } = await Promise.resolve().then(() => require('../config'));
11
+ const clientConfigChain = new WebpackChain();
12
+ await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientServer(getClientWebpack(clientConfigChain))]);
13
+ };
14
+ exports.webpackStart = webpackStart;
15
+ const webpackBuild = async () => {
16
+ const { startServerBuild, startClientBuild } = await Promise.resolve().then(() => require('ssr-webpack'));
17
+ const { getClientWebpack, getServerWebpack } = await Promise.resolve().then(() => require('../config'));
18
+ const serverConfigChain = new WebpackChain();
19
+ const clientConfigChain = new WebpackChain();
20
+ await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientBuild(getClientWebpack(clientConfigChain))]);
21
+ };
22
+ exports.webpackBuild = webpackBuild;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy93ZWJwYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhDQUE2QztBQUV0QyxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUNyQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRywyQ0FBYSx3QkFBd0IsRUFBQyxDQUFBO0lBQ25FLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLDJDQUFhLGtCQUFrQixFQUFDLENBQUE7SUFDN0QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBRTVDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLDJDQUFhLGFBQWEsRUFBQyxDQUFBO0lBQ3pELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLDJDQUFhLFdBQVcsRUFBQyxDQUFBO0lBQ3RELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNwSSxDQUFDLENBQUE7QUFUWSxRQUFBLFlBQVksZ0JBU3hCO0FBRU0sTUFBTSxZQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDckMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEdBQUcsMkNBQWEsYUFBYSxFQUFDLENBQUE7SUFDMUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEdBQUcsMkNBQWEsV0FBVyxFQUFDLENBQUE7SUFDeEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzVDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNuSSxDQUFDLENBQUE7QUFOWSxRQUFBLFlBQVksZ0JBTXhCIn0=
@@ -1,3 +1,3 @@
1
1
  import * as WebpackChain from 'webpack-chain';
2
- declare const getBaseConfig: (chain: WebpackChain, isServer: boolean) => any;
2
+ declare const getBaseConfig: (chain: WebpackChain, isServer: boolean) => import("ssr-types").IConfig;
3
3
  export { getBaseConfig };
@@ -1,4 +1,2 @@
1
- /// <reference types="react" />
2
- import { IContext } from 'ssr-types-react';
3
- declare const STORE_CONTEXT: import("react").Context<IContext<any>>;
1
+ declare let STORE_CONTEXT: any;
4
2
  export { STORE_CONTEXT };
@@ -1,6 +1,17 @@
1
+ // @ts-nocheck
1
2
  // The file is provisional,don't depend on it
3
+ var _a;
2
4
  import { createContext } from 'react';
3
- const STORE_CONTEXT = createContext({
4
- state: {}
5
- });
5
+ let STORE_CONTEXT;
6
+ if (__isBrowser__) {
7
+ STORE_CONTEXT = (_a = window.STORE_CONTEXT) !== null && _a !== void 0 ? _a : createContext({
8
+ state: {}
9
+ });
10
+ window.STORE_CONTEXT = STORE_CONTEXT;
11
+ }
12
+ else {
13
+ STORE_CONTEXT = createContext({
14
+ state: {}
15
+ });
16
+ }
6
17
  export { STORE_CONTEXT };
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react';
2
+ import { StaticRouter } from 'react-router-dom';
2
3
  import { findRoute, getManifest, logGreen, normalizePath, addAsyncChunk } from 'ssr-server-utils';
3
4
  import * as serialize from 'serialize-javascript';
4
5
  // @ts-expect-error
@@ -93,7 +94,8 @@ const serverRender = async (ctx, config) => {
93
94
  const injectState = isCsr ? null : React.createElement("script", { dangerouslySetInnerHTML: {
94
95
  __html: `window.__USE_SSR__=true; window.__INITIAL_DATA__ =${serialize(combineData)}`
95
96
  } });
96
- return (React.createElement(Context.Provider, { value: { state: combineData } },
97
- React.createElement(Layout, { ctx: ctx, config: config, staticList: staticList, injectState: injectState }, isCsr ? React.createElement(React.Fragment, null) : React.createElement(Component, null))));
97
+ return (React.createElement(StaticRouter, { location: ctx.request.url },
98
+ React.createElement(Context.Provider, { value: { state: combineData } },
99
+ React.createElement(Layout, { ctx: ctx, config: config, staticList: staticList, injectState: injectState }, isCsr ? React.createElement(React.Fragment, null) : React.createElement(Component, null)))));
98
100
  };
99
101
  export { serverRender };
@@ -0,0 +1,6 @@
1
+ import type { UserConfig } from 'vite';
2
+ declare const serverConfig: UserConfig;
3
+ declare const clientConfig: UserConfig;
4
+ declare const viteStart: () => Promise<void>;
5
+ declare const viteBuild: () => Promise<void>;
6
+ export { viteBuild, viteStart, serverConfig, clientConfig };
@@ -0,0 +1,62 @@
1
+ import { resolve } from 'path';
2
+ import { loadConfig, chunkNamePlugin, output, manifestPlugin, commonConfig, getCwd } from 'ssr-server-utils';
3
+ import react from '@vitejs/plugin-react';
4
+ const build = require('vite').build;
5
+ const { getOutput, reactServerEntry, reactClientEntry } = loadConfig();
6
+ const { clientOutPut, serverOutPut } = getOutput();
7
+ const cwd = getCwd();
8
+ const resolveObj = {
9
+ alias: {
10
+ '@': resolve(cwd, './web'),
11
+ _build: resolve(cwd, './build')
12
+ },
13
+ extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
14
+ };
15
+ const serverConfig = {
16
+ ...commonConfig,
17
+ resolve: resolveObj,
18
+ plugins: [
19
+ react()
20
+ ],
21
+ build: {
22
+ ssr: reactServerEntry,
23
+ outDir: serverOutPut,
24
+ rollupOptions: {
25
+ output: {
26
+ entryFileNames: 'Page.server.js'
27
+ }
28
+ }
29
+ },
30
+ define: {
31
+ __isBrowser__: false
32
+ }
33
+ };
34
+ const clientConfig = {
35
+ ...commonConfig,
36
+ resolve: resolveObj,
37
+ plugins: [
38
+ react()
39
+ ],
40
+ build: {
41
+ ssrManifest: true,
42
+ outDir: clientOutPut,
43
+ rollupOptions: {
44
+ input: reactClientEntry,
45
+ //@ts-expect-error
46
+ output: output,
47
+ plugins: [chunkNamePlugin(), manifestPlugin()]
48
+ }
49
+ },
50
+ define: {
51
+ __isBrowser__: true
52
+ }
53
+ };
54
+ const viteStart = async () => {
55
+ //
56
+ };
57
+ const viteBuild = async () => {
58
+ await build({ ...clientConfig, mode: 'production' });
59
+ await build({ ...serverConfig, mode: 'production' });
60
+ };
61
+ export { viteBuild, viteStart, serverConfig, clientConfig };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidml0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy92aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFFOUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDNUcsT0FBTyxLQUFLLE1BQU0sc0JBQXNCLENBQUE7QUFDeEMsTUFBTSxLQUFLLEdBQXFCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUE7QUFDckQsTUFBTSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFBO0FBQ3RFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEdBQUcsU0FBUyxFQUFFLENBQUE7QUFFbEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUE7QUFDcEIsTUFBTSxVQUFVLEdBQUc7SUFDakIsS0FBSyxFQUFFO1FBQ0wsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1FBQzFCLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQztLQUNoQztJQUNELFVBQVUsRUFBRSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQztDQUNwRSxDQUFBO0FBQ0QsTUFBTSxZQUFZLEdBQWU7SUFDL0IsR0FBRyxZQUFZO0lBQ2YsT0FBTyxFQUFFLFVBQVU7SUFDbkIsT0FBTyxFQUFFO1FBQ1AsS0FBSyxFQUFFO0tBQ1I7SUFDRCxLQUFLLEVBQUU7UUFDTCxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLGFBQWEsRUFBRTtZQUNiLE1BQU0sRUFBRTtnQkFDTixjQUFjLEVBQUUsZ0JBQWdCO2FBQ2pDO1NBQ0Y7S0FDRjtJQUNELE1BQU0sRUFBRTtRQUNOLGFBQWEsRUFBRSxLQUFLO0tBQ3JCO0NBQ0YsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUFlO0lBQy9CLEdBQUcsWUFBWTtJQUNmLE9BQU8sRUFBRSxVQUFVO0lBQ25CLE9BQU8sRUFBRTtRQUNQLEtBQUssRUFBRTtLQUNSO0lBQ0QsS0FBSyxFQUFFO1FBQ0wsV0FBVyxFQUFFLElBQUk7UUFDakIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsYUFBYSxFQUFFO1lBQ2IsS0FBSyxFQUFFLGdCQUFnQjtZQUN2QixrQkFBa0I7WUFDbEIsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxjQUFjLEVBQUUsQ0FBQztTQUMvQztLQUNGO0lBQ0QsTUFBTSxFQUFFO1FBQ04sYUFBYSxFQUFFLElBQUk7S0FDcEI7Q0FDRixDQUFBO0FBQ0QsTUFBTSxTQUFTLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDM0IsRUFBRTtBQUNKLENBQUMsQ0FBQTtBQUNELE1BQU0sU0FBUyxHQUFHLEtBQUssSUFBSSxFQUFFO0lBQzNCLE1BQU0sS0FBSyxDQUFDLEVBQUUsR0FBRyxZQUFZLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUE7SUFDcEQsTUFBTSxLQUFLLENBQUMsRUFBRSxHQUFHLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQTtBQUN0RCxDQUFDLENBQUE7QUFFRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNiLENBQUEifQ==
@@ -0,0 +1,2 @@
1
+ export declare const webpackStart: () => Promise<void>;
2
+ export declare const webpackBuild: () => Promise<void>;
@@ -0,0 +1,18 @@
1
+ import * as WebpackChain from 'webpack-chain';
2
+ export const webpackStart = async () => {
3
+ const { startServerBuild } = await import('ssr-webpack/cjs/server');
4
+ const { getServerWebpack } = await import('../config/server');
5
+ const serverConfigChain = new WebpackChain();
6
+ const { startClientServer } = await import('ssr-webpack');
7
+ const { getClientWebpack } = await import('../config');
8
+ const clientConfigChain = new WebpackChain();
9
+ await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientServer(getClientWebpack(clientConfigChain))]);
10
+ };
11
+ export const webpackBuild = async () => {
12
+ const { startServerBuild, startClientBuild } = await import('ssr-webpack');
13
+ const { getClientWebpack, getServerWebpack } = await import('../config');
14
+ const serverConfigChain = new WebpackChain();
15
+ const clientConfigChain = new WebpackChain();
16
+ await Promise.all([startServerBuild(getServerWebpack(serverConfigChain)), startClientBuild(getClientWebpack(clientConfigChain))]);
17
+ };
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy93ZWJwYWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxZQUFZLE1BQU0sZUFBZSxDQUFBO0FBRTdDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxLQUFLLElBQUksRUFBRTtJQUNyQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO0lBQ25FLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUE7SUFDN0QsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBRTVDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3pELE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3RELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNwSSxDQUFDLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDckMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUE7SUFDMUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDeEUsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFBO0lBQzVDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQTtJQUM1QyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNuSSxDQUFDLENBQUEifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ssr-plugin-react",
3
- "version": "6.1.6",
3
+ "version": "6.1.11",
4
4
  "description": "plugin-react for ssr",
5
5
  "main": "./cjs/index.js",
6
6
  "module": "./esm/index.js",
@@ -13,7 +13,7 @@
13
13
  },
14
14
  "repository": {
15
15
  "type": "git",
16
- "url": "git+https://github.com/ykfe/ssr.git"
16
+ "url": "git+https://github.com/zhangyuang/ssr.git"
17
17
  },
18
18
  "keywords": [
19
19
  "cli",
@@ -25,9 +25,9 @@
25
25
  "author": "zhangyuang",
26
26
  "license": "MIT",
27
27
  "bugs": {
28
- "url": "https://github.com/ykfe/ssr/issues"
28
+ "url": "https://github.com/zhangyuang/ssr/issues"
29
29
  },
30
- "homepage": "https://github.com/ykfe/ssr#readme",
30
+ "homepage": "https://github.com/zhangyuang/ssr#readme",
31
31
  "dependencies": {
32
32
  "@babel/core": "^7.0.0",
33
33
  "@babel/plugin-transform-runtime": "^7.9.6",
@@ -53,10 +53,10 @@
53
53
  "postcss-safe-parser": "4.0.1",
54
54
  "react-dev-utils": "^11.0.4",
55
55
  "serialize-javascript": "^3.0.0",
56
- "ssr-client-utils": "^5.6.38",
57
- "ssr-hoc-react": "^6.0.5",
58
- "ssr-server-utils": "^5.7.7",
59
- "ssr-webpack": "^5.7.6",
56
+ "ssr-client-utils": "^5.6.41",
57
+ "ssr-hoc-react": "^6.0.8",
58
+ "ssr-server-utils": "^5.7.12",
59
+ "ssr-webpack": "^5.7.11",
60
60
  "terser-webpack-plugin": "^2.3.5",
61
61
  "url-loader": "^4.1.1",
62
62
  "webpack-bundle-analyzer": "^3.6.1",
@@ -70,7 +70,7 @@
70
70
  "@types/react-router-dom": "^5.1.3",
71
71
  "@types/serialize-javascript": "^1.5.0",
72
72
  "@types/webpack": "^4.41.10",
73
- "ssr-types-react": "^6.0.4"
73
+ "ssr-types-react": "^6.0.7"
74
74
  },
75
- "gitHead": "a88956ed6b48a19f39f3817ac78115d977345580"
75
+ "gitHead": "d5ecc8aa7bc9e6f7f0c5b9752b4fe379cb0236f1"
76
76
  }
@@ -1,11 +1,20 @@
1
+ // @ts-nocheck
1
2
  // The file is provisional,don't depend on it
2
3
 
3
4
  import { createContext } from 'react'
4
5
  import { IContext } from 'ssr-types-react'
5
6
 
6
- const STORE_CONTEXT = createContext<IContext>({
7
- state: {}
8
- })
7
+ let STORE_CONTEXT
8
+ if (__isBrowser__) {
9
+ STORE_CONTEXT = window.STORE_CONTEXT ?? createContext<IContext>({
10
+ state: {}
11
+ })
12
+ window.STORE_CONTEXT = STORE_CONTEXT
13
+ } else {
14
+ STORE_CONTEXT = createContext<IContext>({
15
+ state: {}
16
+ })
17
+ }
9
18
 
10
19
  export {
11
20
  STORE_CONTEXT
@@ -1,4 +1,5 @@
1
1
  import * as React from 'react'
2
+ import { StaticRouter } from 'react-router-dom'
2
3
  import { findRoute, getManifest, logGreen, normalizePath, addAsyncChunk } from 'ssr-server-utils'
3
4
  import { ISSRContext, IGlobal, IConfig, ReactRoutesType, ReactESMFeRouteItem } from 'ssr-types-react'
4
5
  import * as serialize from 'serialize-javascript'
@@ -109,11 +110,13 @@ const serverRender = async (ctx: ISSRContext, config: IConfig): Promise<React.Re
109
110
  }} />
110
111
 
111
112
  return (
112
- <Context.Provider value={{ state: combineData }}>
113
- <Layout ctx={ctx} config={config} staticList={staticList} injectState={injectState}>
114
- {isCsr ? <></> : <Component />}
115
- </Layout>
116
- </Context.Provider>
113
+ <StaticRouter location={ctx.request.url}>
114
+ <Context.Provider value={{ state: combineData }}>
115
+ <Layout ctx={ctx} config={config} staticList={staticList} injectState={injectState}>
116
+ {isCsr ? <></> : <Component />}
117
+ </Layout>
118
+ </Context.Provider>
119
+ </StaticRouter>
117
120
  )
118
121
  }
119
122