From f26517c1e07b6f8bd9a546e2afd42ba6d168c7dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=87=8E=E5=A3=B0?= Date: Thu, 28 Mar 2024 14:33:28 +0800 Subject: [PATCH 1/3] feat: skip bundle stats page when load js (#12246) --- .../src/features/devTool/devTool.ts | 26 +++++++++++-------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/preset-umi/src/features/devTool/devTool.ts b/packages/preset-umi/src/features/devTool/devTool.ts index 1cab8ccf360e..ef3c503e7ab6 100644 --- a/packages/preset-umi/src/features/devTool/devTool.ts +++ b/packages/preset-umi/src/features/devTool/devTool.ts @@ -80,17 +80,21 @@ export default (api: IApi) => { } } - // bundle status - const isDone = - api.appData.bundleStatus.done && - (enableVite || - api.config.mfsu === false || - api.appData.mfsuBundleStatus.done); - - if (!isDone) { - res.setHeader('Content-Type', 'text/html'); - res.send(loadingHtml); - return; + if ( + req.headers.accept?.includes('text/html') || + req.headers.accept === '*/*' + ) { + // bundle status + const isDone = + api.appData.bundleStatus.done && + (enableVite || + api.config.mfsu === false || + api.appData.mfsuBundleStatus.done); + if (!isDone) { + res.setHeader('Content-Type', 'text/html'); + res.send(loadingHtml); + return; + } } return next(); From ac85e529d4a701b79f4e669cf337a506adc9ebd2 Mon Sep 17 00:00:00 2001 From: Jinbao1001 Date: Fri, 29 Mar 2024 10:53:41 +0800 Subject: [PATCH 2/3] release: 4.1.6 --- lerna.json | 2 +- packages/ast/package.json | 2 +- packages/babel-preset-umi/package.json | 2 +- packages/bundler-esbuild/package.json | 2 +- packages/bundler-utils/package.json | 2 +- packages/bundler-vite/package.json | 2 +- packages/bundler-webpack/package.json | 2 +- packages/core/package.json | 2 +- packages/create-umi/package.json | 2 +- packages/lint/package.json | 2 +- packages/max/package.json | 2 +- packages/mfsu/package.json | 2 +- packages/plugin-docs/package.json | 2 +- packages/plugin-run/package.json | 2 +- packages/plugins/package.json | 2 +- packages/preset-umi/package.json | 2 +- packages/preset-vue/package.json | 2 +- packages/renderer-react/package.json | 2 +- packages/renderer-vue/package.json | 2 +- packages/server/package.json | 2 +- packages/testing/package.json | 2 +- packages/umi/package.json | 2 +- packages/utils/package.json | 2 +- packages/zod2ts/package.json | 2 +- 24 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lerna.json b/lerna.json index 413192b4544f..2603ee0ac2c9 100644 --- a/lerna.json +++ b/lerna.json @@ -1,4 +1,4 @@ { - "version": "4.1.5", + "version": "4.1.6", "workspaces": ["packages/*"] } diff --git a/packages/ast/package.json b/packages/ast/package.json index 06b26c01dca9..fb9b77c2cc6c 100644 --- a/packages/ast/package.json +++ b/packages/ast/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/ast", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/ast", "homepage": "https://github.com/umijs/umi/tree/master/packages/ast#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/babel-preset-umi/package.json b/packages/babel-preset-umi/package.json index 9145965d3079..cdfa945d5691 100644 --- a/packages/babel-preset-umi/package.json +++ b/packages/babel-preset-umi/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/babel-preset-umi", - "version": "4.1.5", + "version": "4.1.6", "description": "Official babel preset for umi.", "homepage": "https://github.com/umijs/umi/tree/master/packages/babel-preset-umi#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/bundler-esbuild/package.json b/packages/bundler-esbuild/package.json index 4507ce668213..7094302068d1 100644 --- a/packages/bundler-esbuild/package.json +++ b/packages/bundler-esbuild/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/bundler-esbuild", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/bundler-esbuild", "homepage": "https://github.com/umijs/umi/tree/master/packages/bundler-esbuild#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/bundler-utils/package.json b/packages/bundler-utils/package.json index 1d22261cdb78..8b44c523e978 100644 --- a/packages/bundler-utils/package.json +++ b/packages/bundler-utils/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/bundler-utils", - "version": "4.1.5", + "version": "4.1.6", "homepage": "https://github.com/umijs/umi/tree/master/packages/bundler-utils#readme", "bugs": "https://github.com/umijs/umi/issues", "repository": { diff --git a/packages/bundler-vite/package.json b/packages/bundler-vite/package.json index 9c218ab62f4f..2f12959ae8ba 100644 --- a/packages/bundler-vite/package.json +++ b/packages/bundler-vite/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/bundler-vite", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/bundler-vite", "homepage": "https://github.com/umijs/umi/tree/master/packages/bundler-vite#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/bundler-webpack/package.json b/packages/bundler-webpack/package.json index b25263e1f47c..19ebe83968dc 100644 --- a/packages/bundler-webpack/package.json +++ b/packages/bundler-webpack/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/bundler-webpack", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/bundler-webpack", "homepage": "https://github.com/umijs/umi/tree/master/packages/bundler-webpack#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/core/package.json b/packages/core/package.json index 8946ddc631ca..db9ea2e45868 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/core", - "version": "4.1.5", + "version": "4.1.6", "homepage": "https://github.com/umijs/umi/tree/master/packages/core#readme", "bugs": "https://github.com/umijs/umi/issues", "repository": { diff --git a/packages/create-umi/package.json b/packages/create-umi/package.json index e527914f6759..b37f848856cd 100644 --- a/packages/create-umi/package.json +++ b/packages/create-umi/package.json @@ -1,6 +1,6 @@ { "name": "create-umi", - "version": "4.1.5", + "version": "4.1.6", "description": "create-umi", "homepage": "https://github.com/umijs/umi/tree/master/packages/create-umi#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/lint/package.json b/packages/lint/package.json index e8acc26f1c0a..2a6fd489ebbb 100644 --- a/packages/lint/package.json +++ b/packages/lint/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/lint", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/lint", "homepage": "https://github.com/umijs/umi/tree/master/packages/lint#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/max/package.json b/packages/max/package.json index 70e6ef0eec16..47d78a5d1f64 100644 --- a/packages/max/package.json +++ b/packages/max/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/max", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/max", "homepage": "https://github.com/umijs/umi/tree/master/packages/max#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/mfsu/package.json b/packages/mfsu/package.json index 2b9fcf370ae1..d097516876d0 100644 --- a/packages/mfsu/package.json +++ b/packages/mfsu/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/mfsu", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/mfsu", "homepage": "https://github.com/umijs/umi/tree/master/packages/mfsu#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/plugin-docs/package.json b/packages/plugin-docs/package.json index f11c3b1d35d4..62c554b1da43 100644 --- a/packages/plugin-docs/package.json +++ b/packages/plugin-docs/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/plugin-docs", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/plugin-docs", "homepage": "https://github.com/umijs/umi/tree/master/packages/plugin-docs#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/plugin-run/package.json b/packages/plugin-run/package.json index b195c5392aea..cbd99f741866 100644 --- a/packages/plugin-run/package.json +++ b/packages/plugin-run/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/plugin-run", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/plugin-run", "homepage": "https://github.com/umijs/umi/tree/master/packages/plugin-run#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/plugins/package.json b/packages/plugins/package.json index 4ae60e0973b7..23253c88c229 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/plugins", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/plugins", "homepage": "https://github.com/umijs/umi/tree/master/packages/plugins#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/preset-umi/package.json b/packages/preset-umi/package.json index 30f3f9c160b2..5bdfd4372f46 100644 --- a/packages/preset-umi/package.json +++ b/packages/preset-umi/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/preset-umi", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/preset-umi", "homepage": "https://github.com/umijs/umi/tree/master/packages/preset-umi#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/preset-vue/package.json b/packages/preset-vue/package.json index 65afa13e3764..152372605dbb 100644 --- a/packages/preset-vue/package.json +++ b/packages/preset-vue/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/preset-vue", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/preset-vue", "homepage": "https://github.com/umijs/umi/tree/master/packages/preset-vue#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/renderer-react/package.json b/packages/renderer-react/package.json index 07ceab9a5daa..a85d03a940ec 100644 --- a/packages/renderer-react/package.json +++ b/packages/renderer-react/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/renderer-react", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/renderer-react", "homepage": "https://github.com/umijs/umi/tree/master/packages/renderer-react#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/renderer-vue/package.json b/packages/renderer-vue/package.json index b11d79d1e1f8..0263ac0606d9 100644 --- a/packages/renderer-vue/package.json +++ b/packages/renderer-vue/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/renderer-vue", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/renderer-vue", "homepage": "https://github.com/umijs/umi/tree/master/packages/renderer-vue#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/server/package.json b/packages/server/package.json index a3649c6748cd..db99e161d88b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/server", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/server", "homepage": "https://github.com/umijs/umi/tree/master/packages/server#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/testing/package.json b/packages/testing/package.json index 53f2a6bbcbb2..dbda7fd0b9c3 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/test", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/test", "homepage": "https://github.com/umijs/umi/tree/master/packages/testing#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/umi/package.json b/packages/umi/package.json index 5f744107293d..29de652f26c8 100644 --- a/packages/umi/package.json +++ b/packages/umi/package.json @@ -1,6 +1,6 @@ { "name": "umi", - "version": "4.1.5", + "version": "4.1.6", "description": "umi", "homepage": "https://github.com/umijs/umi/tree/master/packages/umi#readme", "bugs": "https://github.com/umijs/umi/issues", diff --git a/packages/utils/package.json b/packages/utils/package.json index 2c86ea6c4c33..345b6ffa639d 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/utils", - "version": "4.1.5", + "version": "4.1.6", "homepage": "https://github.com/umijs/umi/tree/master/packages/utils#readme", "bugs": "https://github.com/umijs/umi/issues", "repository": { diff --git a/packages/zod2ts/package.json b/packages/zod2ts/package.json index 60f9573e76a1..b718ab459a42 100644 --- a/packages/zod2ts/package.json +++ b/packages/zod2ts/package.json @@ -1,6 +1,6 @@ { "name": "@umijs/zod2ts", - "version": "4.1.5", + "version": "4.1.6", "description": "@umijs/zod2ts", "homepage": "https://github.com/umijs/umi/tree/master/packages/zod2ts#readme", "bugs": "https://github.com/umijs/umi/issues", From ae9dc254306b6cedec336f6a0b8faf5a44bae026 Mon Sep 17 00:00:00 2001 From: MadCcc <1075746765@qq.com> Date: Mon, 1 Apr 2024 14:24:08 +0800 Subject: [PATCH 3/3] feat: SSR support useServerInsertedHTML (#12247) * feat: SSR support useServerInsertedHTML * feat: ssr insert html * fix: string template * chore: update lock --- examples/ssr-demo/package.json | 2 + examples/ssr-demo/src/layouts/index.tsx | 23 ++++ examples/ssr-demo/src/pages/index.tsx | 14 ++- .../routePreloadOnLoad/routePreloadOnLoad.ts | 2 +- packages/server/src/ssr.ts | 106 +++++++++++++----- pnpm-lock.yaml | 38 ++++--- 6 files changed, 137 insertions(+), 48 deletions(-) create mode 100644 examples/ssr-demo/src/layouts/index.tsx diff --git a/examples/ssr-demo/package.json b/examples/ssr-demo/package.json index 564ea9a69734..3b81a184639b 100644 --- a/examples/ssr-demo/package.json +++ b/examples/ssr-demo/package.json @@ -9,6 +9,8 @@ "start:prod": "node ./production-server.js" }, "dependencies": { + "@ant-design/cssinjs": "^1.18.5", + "antd": "^5", "express": "4.18.2", "umi": "workspace:*" } diff --git a/examples/ssr-demo/src/layouts/index.tsx b/examples/ssr-demo/src/layouts/index.tsx new file mode 100644 index 000000000000..06c6f7ea086c --- /dev/null +++ b/examples/ssr-demo/src/layouts/index.tsx @@ -0,0 +1,23 @@ +import { createCache, extractStyle, StyleProvider } from '@ant-design/cssinjs'; +import { useState } from 'react'; +import { Outlet, useServerInsertedHTML } from 'umi'; + +export default function Layout() { + const [cssCache] = useState(() => createCache()); + + useServerInsertedHTML(() => { + const style = extractStyle(cssCache, { plain: true }); + return ( + + ); + }); + + return ( + + + + ); +} diff --git a/examples/ssr-demo/src/pages/index.tsx b/examples/ssr-demo/src/pages/index.tsx index 279b00b9d5c1..c12ea05b1ed6 100644 --- a/examples/ssr-demo/src/pages/index.tsx +++ b/examples/ssr-demo/src/pages/index.tsx @@ -1,3 +1,5 @@ +import { Input } from 'antd'; +import { useId } from 'react'; import { Link, MetadataLoader, @@ -22,16 +24,26 @@ export default function HomePage() { const serverLoaderData = useServerLoaderData(); useServerInsertedHTML(() => { - return
inserted html
; + return ( + + ); }); + const id = useId(); + return (

Hello~

+

id: {id}

This is index.tsx

I should be pink

I should be cyan