From f8b1ee16ad417e50251106918dab45d2336bdc9f Mon Sep 17 00:00:00 2001
From: charlzyx <charlzyx@qq.com>
Date: Mon, 15 Jan 2024 15:44:26 +0800
Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=F0=9F=8E=B8=20v4/v5=20=E5=8F=8CUI?=
 =?UTF-8?q?=20=E9=80=82=E9=85=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitignore                                    |   1 +
 bun.lockb                                     | Bin 349731 -> 381754 bytes
 docs/index.mdx                                | 108 ----------------
 docs/pro-table/demos/ArrayTablePro.tsx        |  16 ++-
 docs/pro-table/demos/QueryList.tsx            |   3 +-
 package.json                                  |  18 +--
 rsbuild.config.ts                             |   2 +-
 rspress.config.ts                             |   2 +-
 scripts/patch.js                              |  27 ++++
 scripts/read.js                               |  28 ++++
 scripts/switch.js                             | 120 ++++++++++++++++++
 src/adaptor                                   |   1 +
 src/array-table-pro/features/hooks.ts         |   2 +-
 src/array-table-pro/features/pro-settings.tsx |  18 +--
 src/array-table-pro/features/sortable.tsx     |   2 +-
 src/array-table-pro/hooks.tsx                 |   7 +-
 src/array-table-pro/mixin.tsx                 |   9 +-
 src/array-table-pro/pro.tsx                   |  14 +-
 src/array-table-pro/types.tsx                 |   2 +-
 src/index.ts                                  |   6 +-
 src/query-form/index.tsx                      |   4 +-
 src/query-form/useGrid.tsx                    |   2 +-
 src/query-list/index.tsx                      |   4 +-
 src/query-table/index.tsx                     |   4 +-
 src/style.ts                                  |   2 +-
 tsconfig.json                                 |   8 +-
 {src/deps => ui/antd-v5}/README.md            |   0
 ui/antd-v5/adaptor.ts                         |  18 +++
 src/deps/ui.ts => ui/antd-v5/index.ts         |   0
 ui/antd-v5/package.json                       |  16 +++
 ui/antd-v5/themes/array-table-pro/useStyle.ts |  63 +++++++++
 ui/antd-v5/themes/index.ts                    |   2 +
 ui/antd/README.md                             |   1 +
 src/deps/peer.ts => ui/antd/adaptor.ts        |   2 +
 ui/antd/index.ts                              |  16 +++
 ui/antd/package.json                          |  16 +++
 .../antd/themes}/array-table-pro/style.less   |   0
 .../antd/themes}/array-table-pro/style.ts     |   0
 ui/antd/themes/array-table-pro/useStyle.ts    |   1 +
 ui/antd/themes/index.ts                       |   1 +
 {src => ui}/overview/index.tsx                |   0
 {src => ui}/overview/overview.less            |   0
 42 files changed, 382 insertions(+), 164 deletions(-)
 create mode 100644 scripts/patch.js
 create mode 100644 scripts/read.js
 create mode 100644 scripts/switch.js
 create mode 120000 src/adaptor
 rename {src/deps => ui/antd-v5}/README.md (100%)
 create mode 100644 ui/antd-v5/adaptor.ts
 rename src/deps/ui.ts => ui/antd-v5/index.ts (100%)
 create mode 100644 ui/antd-v5/package.json
 create mode 100644 ui/antd-v5/themes/array-table-pro/useStyle.ts
 create mode 100644 ui/antd-v5/themes/index.ts
 create mode 100644 ui/antd/README.md
 rename src/deps/peer.ts => ui/antd/adaptor.ts (89%)
 create mode 100644 ui/antd/index.ts
 create mode 100644 ui/antd/package.json
 rename {src => ui/antd/themes}/array-table-pro/style.less (100%)
 rename {src => ui/antd/themes}/array-table-pro/style.ts (100%)
 create mode 100644 ui/antd/themes/array-table-pro/useStyle.ts
 create mode 100644 ui/antd/themes/index.ts
 rename {src => ui}/overview/index.tsx (100%)
 rename {src => ui}/overview/overview.less (100%)

diff --git a/.gitignore b/.gitignore
index 044373f..ccf8139 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,3 +23,4 @@ dist-ssr
 *.sln
 *.sw?
 doc_build
+src/adaptor/
diff --git a/bun.lockb b/bun.lockb
index d0d56ea5e103f5b92603f820bb1ad469bb0aa9f2..382b74083594614a333398490b34f54d0b578976 100755
GIT binary patch
delta 77451
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

delta 62689
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
N{L-79G^}3j{{Xj>b724g

diff --git a/docs/index.mdx b/docs/index.mdx
index 0a3bd12..7ea8880 100644
--- a/docs/index.mdx
+++ b/docs/index.mdx
@@ -26,111 +26,3 @@ features:
     details: Through its extension mechanism, you can easily extend theme UI and build process.
     icon: 🔥
 ---
-```tsx
-/**
- * inline: true
- */
-import React from 'react';
-import {Overview} from 'proformily';
-
-// const prefix = process.env.NODE_ENV === 'development' ? '/components' : '/fireformily/components';
-// const prefixPro = process.env.NODE_ENV === 'development' ? '/pro' : '/fireformily/pro';
-const prefix = ''
-
-const groups = [
-  // {
-  //   title: '优雅阅读态组件',
-  //   prefix,
-  //   children: [
-  //     {
-  //       title: 'Dict',
-  //       subtitle: '远程词典',
-  //       cover: 'https://gw.alipayobjects.com/zos/antfincdn/AwU0Cv%26Ju/bianzu%2525208.svg',
-  //       link: '/dict'
-  //     },
-  //     {
-  //       title: 'ImageView',
-  //       subtitle: '图片查看',
-  //       cover: 'https://gw.alipayobjects.com/zos/antfincdn/D1dXz9PZqa/image.svg',
-  //       link: '/image-view'
-  //     },
-  //     {
-  //       title: 'LongText',
-  //       subtitle: '长文本',
-  //       cover: 'https://gw.alipayobjects.com/zos/alicdn/Vyyeu8jq2/Tooltp.svg',
-  //       link: '/long-text'
-  //     },
-  //   ],
-  // },
-  {
-    title: '专业级组件',
-    prefix,
-    children: [
-      {
-        title: 'ArrayTablePro',
-        subtitle: '专业列表',
-        cover: 'https://gw.alipayobjects.com/zos/antfincdn/AwU0Cv%26Ju/bianzu%2525208.svg',
-        link: '/pro-table'
-      },
-      // {
-      //   title: 'QueryList',
-      //   subtitle: '查询列表',
-      //   cover: 'https://gw.alipayobjects.com/zos/antfincdn/AwU0Cv%26Ju/bianzu%2525208.svg',
-      //   link: '/query-list'
-      // },
-      // {
-      //   title: 'PopActions',
-      //   subtitle: '弹窗动作表单',
-      //   cover: 'https://gw.alipayobjects.com/zos/alicdn/3StSdUlSH/Modal.svg',
-      //   link: '/pop-actions'
-      // },
-      // {
-      //   title: 'Linkage',
-      //   subtitle: '级联选择',
-      //   cover: 'https://gw.alipayobjects.com/zos/alicdn/UdS8y8xyZ/Cascader.svg',
-      //   link: '/linkage'
-      // },
-      // {
-      //   title: 'Suggestion',
-      //   subtitle: '搜索建议',
-      //   cover: 'https://gw.alipayobjects.com/zos/alicdn/qtJm4yt45/AutoComplete.svg',
-      //   link: '/suggestion'
-      // },
-      // {
-      //   title: 'TreeNodes',
-      //   subtitle: '节点树',
-      //   cover: 'https://gw.alipayobjects.com/zos/alicdn/Xh-oWqg9k/Tree.svg',
-      //   link: '/tree-nodes'
-      // },
-    ]
-  },
-  // {
-  // title: '最佳实践',
-  // prefix: prefixPro,
-  // children: [
-  //   {
-  //     title: 'Dict',
-  //     subtitle: '远程词典',
-  //     cover: 'https://gw.alipayobjects.com/zos/antfincdn/AwU0Cv%26Ju/bianzu%2525208.svg',
-  //     link: '/dict'
-  //   },
-  //   {
-  //     title: 'TreeBase',
-  //     subtitle: '基础树',
-  //     cover: 'https://gw.alipayobjects.com/zos/alicdn/Xh-oWqg9k/Tree.svg',
-  //     link: '/tree-base'
-  //   },
-  //   {
-  //     title: '响应式编程 in React',
-  //     subtitle: 'useLive',
-  //     cover: 'https://gw.alipayobjects.com/zos/alicdn/kegYxl1wj/ConfigProvider.svg',
-  //     link: '/live'
-  //   },
-    // ],
-  // },
-];
-
-export default () => {
-  return <Overview groups={groups} />
-}
-```
diff --git a/docs/pro-table/demos/ArrayTablePro.tsx b/docs/pro-table/demos/ArrayTablePro.tsx
index 4cc4b05..7e2b57b 100644
--- a/docs/pro-table/demos/ArrayTablePro.tsx
+++ b/docs/pro-table/demos/ArrayTablePro.tsx
@@ -14,6 +14,7 @@ import {
 import { FormProvider, ISchema, createSchemaField } from "@formily/react";
 import { Button, ConfigProvider, Divider, Space } from "antd";
 import "antd/dist/antd.css";
+// import "antd/dist/antd.css";
 import zhCN from "antd/lib/locale/zh_CN";
 import moment from "moment";
 import "moment/locale/zh-cn";
@@ -23,18 +24,19 @@ import {
   ArrayTablePro,
   useArrayCompPropsOf,
   useFormArrayProps,
-} from "proformily";
+} from "@proformily/antd";
 import { useEffect } from "react";
 
 const CustomeToolbar = () => {
   const array = ArrayBase.useArray!();
-  const [, $row] = useArrayCompPropsOf(array.field, "rowSelection");
+  const [, $row] = useArrayCompPropsOf(array?.field, "rowSelection");
   return (
     <Space>
       <Button
         type="primary"
         onClick={() => {
           // ok
+          if (!array) return;
           console.log(array.field.componentProps.rowSelection.selectedRowKeys);
           if (!$row) return;
           // but quick
@@ -48,7 +50,8 @@ const CustomeToolbar = () => {
 };
 const CustomeFooter = () => {
   const array = ArrayBase.useArray!();
-  const [, $page] = useArrayCompPropsOf(array.field, "pagination");
+  const [, $page] = useArrayCompPropsOf(array?.field, "pagination");
+  console.log("🚀 ~ CustomeFooter ~ $page:", $page);
   const totalPage =
     $page === false
       ? 0
@@ -56,15 +59,16 @@ const CustomeFooter = () => {
   return (
     <Space>
       自定义底部
-      {$page === false ? 0 : $page!.current}/{totalPage}, 共计
-      {array.field.value.length}条数据
+      {$page === false ? 0 : $page?.current}/{totalPage}, 共计
+      {array?.field?.value?.length}条数据
     </Space>
   );
 };
 
 const RowSummary = () => {
   const row = ArrayBase.useRecord!();
-  const summary = row.a1 + row.a2 + row.a3;
+  console.log("🚀 ~ RowSummary ~ row:", row);
+  const summary = row ? "" : row.a1 + row.a2 + row.a3;
   return (
     <div
       style={{
diff --git a/docs/pro-table/demos/QueryList.tsx b/docs/pro-table/demos/QueryList.tsx
index 20b08ab..d6c2f4e 100644
--- a/docs/pro-table/demos/QueryList.tsx
+++ b/docs/pro-table/demos/QueryList.tsx
@@ -14,12 +14,13 @@ import { createForm } from "@formily/core";
 import { FormProvider, ISchema, createSchemaField } from "@formily/react";
 import { ConfigProvider, Divider } from "antd";
 import "antd/dist/antd.css";
+// import "antd/dist/antd.css";
 import zhCN from "antd/lib/locale/zh_CN";
 import moment from "moment";
 import "moment/locale/zh-cn";
 moment.locale("zh-cn");
 
-import { QueryForm, QueryList, QueryTable } from "proformily";
+import { QueryForm, QueryList, QueryTable } from "@proformily/antd";
 
 const log = (label: string, x: any) => {
   console.log("LABEL:", label);
diff --git a/package.json b/package.json
index 2c837a0..8d8cdf0 100644
--- a/package.json
+++ b/package.json
@@ -1,35 +1,37 @@
 {
-  "name": "rspress-doc-template",
+  "name": "@proformily/antd",
   "version": "1.0.0",
   "private": true,
   "scripts": {
-    "dev": "rspress dev",
+    "d4": "node scripts/switch.js antd dev && rspress dev",
+    "d5": "node scripts/switch.js antd dev && rspress dev",
     "build:docs": "rspress build",
     "preview": "rspress preview"
   },
   "dependencies": {
     "@ant-design/icons": "^5.2.6",
-    "@formily/antd": "^2.3.1",
     "@formily/core": "^2.3.1",
     "@formily/react": "^2.3.1",
     "@formily/reactive": "^2.3.1",
     "@formily/shared": "^2.3.1",
     "ahooks": "^3.7.8",
-    "antd": "^4.24.15",
     "moment": "^2.30.1",
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
-    "react-resizable": "^3.0.5"
+    "react-resizable": "^3.0.5",
+    "@formily/antd": "^2.*.*",
+    "antd": "^4.*.*"
   },
   "devDependencies": {
-    "rspress": "^1.9.3",
     "@biomejs/biome": "^1.5.0",
+    "@faker-js/faker": "^8.3.1",
     "@rsbuild/plugin-react": "^0.2.18",
     "@rspress/plugin-preview": "^1.9.3",
+    "@types/node": "^16.18.70",
     "@types/react": "^18.2.47",
     "@types/react-dom": "^18.2.18",
     "@types/react-resizable": "^3.0.7",
-    "@faker-js/faker": "^8.3.1",
-    "@types/node": "^16.18.70"
+    "rimraf": "^5.0.5",
+    "rspress": "^1.9.3"
   }
 }
diff --git a/rsbuild.config.ts b/rsbuild.config.ts
index 7204815..90214d9 100644
--- a/rsbuild.config.ts
+++ b/rsbuild.config.ts
@@ -6,7 +6,7 @@ export default defineConfig({
   plugins: [pluginReact()],
   source: {
     alias: {
-      proformily: path.resolve(__dirname, "./src"),
+      // proformily: path.resolve(__dirname, "./src"),
     },
   },
   tools: {
diff --git a/rspress.config.ts b/rspress.config.ts
index 5a1f485..f86460b 100644
--- a/rspress.config.ts
+++ b/rspress.config.ts
@@ -4,7 +4,7 @@ import { defineConfig } from "rspress/config";
 import RsBuildConfig from "./rsbuild.config";
 
 export default defineConfig({
-  base: "/pro.formily/",
+  base: "/proformily-antd/",
   root: path.join(__dirname, "docs"),
   title: "ProFormily",
   description: "Pro Formily, 启动!",
diff --git a/scripts/patch.js b/scripts/patch.js
new file mode 100644
index 0000000..d1931ad
--- /dev/null
+++ b/scripts/patch.js
@@ -0,0 +1,27 @@
+const { execSync } = require("child_process");
+const path = require("path");
+const fs = require("fs");
+
+const cssPath = path.resolve(
+  __dirname,
+  "../node_modules/@rspress/theme-default/dist/bundle.css",
+);
+
+if (fs.existsSync(cssPath)) {
+  const css = fs.readFileSync(cssPath, "utf-8").toString();
+  const neo = css.replace(
+    `
+[type=submit] {
+  -webkit-appearance: button;
+  background-color: transparent;
+  background-image: none;
+}`.trim(),
+    `
+[type=submit] {
+  -webkit-appearance: button;
+  background-image: none;
+}
+`,
+  );
+  fs.writeFileSync(cssPath, neo, "utf-8");
+}
diff --git a/scripts/read.js b/scripts/read.js
new file mode 100644
index 0000000..56d83e2
--- /dev/null
+++ b/scripts/read.js
@@ -0,0 +1,28 @@
+const { execSync } = require("child_process");
+const fs = require("fs");
+const path = require("path");
+const argv = process.argv.slice(2);
+const adaptor = argv[0];
+const mode = argv[1];
+const rmrf = require("rimraf");
+
+const loop = (filepath, it) => {
+  if (fs.existsSync(filepath)) {
+    const isDir = fs.statSync(filepath).isDirectory();
+    if (isDir) {
+      fs.readdirSync(filepath).forEach((sub) => {
+        loop(path.join(filepath, sub), it);
+      });
+    } else {
+      it(path.join(filepath));
+    }
+  }
+};
+
+const docs = () => {
+  loop(path.join(__dirname, "../docs"), (item) => {
+    console.log(item);
+  });
+};
+
+docs();
diff --git a/scripts/switch.js b/scripts/switch.js
new file mode 100644
index 0000000..47a255b
--- /dev/null
+++ b/scripts/switch.js
@@ -0,0 +1,120 @@
+const { execSync } = require("child_process");
+const fs = require("fs");
+const path = require("path");
+const argv = process.argv.slice(2);
+const adaptor = argv[0];
+const mode = argv[1];
+const rmrf = require("rimraf");
+
+if (!/antd|antd-v5/.test(adaptor)) {
+  throw new Error(`适配库${adaptor}不存在`);
+}
+
+const rewite = (filePath, writer) => {
+  const old = fs.readFileSync(filePath).toString();
+  const neo = writer(old);
+  if (neo === old) return;
+  fs.writeFileSync(filePath, neo);
+};
+
+const files = ["tsconfig.json", "package.json", "rspress.config.ts"].map(
+  (item) => {
+    return path.resolve(__dirname, `../${item}`);
+  },
+);
+
+const loop = (filepath, it) => {
+  if (fs.existsSync(filepath)) {
+    const isDir = fs.statSync(filepath).isDirectory();
+    if (isDir) {
+      fs.readdirSync(filepath).forEach((sub) => {
+        loop(path.join(filepath, sub), it);
+      });
+    } else {
+      it(path.join(filepath));
+    }
+  }
+};
+
+const docs = () => {
+  const list = [];
+  loop(path.join(__dirname, "../docs"), (item) => {
+    list.push(item);
+  });
+  return list;
+};
+
+docs()
+  .filter((x) => /\.(mdx|md|tsx|ts|js|js)$/.test(x))
+  .forEach((item) => {
+    rewite(item, (c) => {
+      if (adaptor === "antd") {
+        return c
+          .replace("formily/antd-v5", "formily/antd")
+          .replace("antd/dist/reset.css", "antd/dist/antd.css");
+      } else {
+        return c
+          .replace("formily/antd", "formily/antd-v5")
+          .replace("antd/dist/antd.css", "antd/dist/reset.css");
+      }
+    });
+  });
+
+files.forEach((item) => {
+  rewite(item, (c) => {
+    if (adaptor === "antd") {
+      return c
+        .replace("formily/antd-v5", "formily/antd")
+        .replace("proformily-antd-v5", "proformily-antd");
+    } else {
+      return c
+        .replace("formily/antd", "formily/antd-v5")
+        .replace("proformily-antd", "proformily-antd-v5");
+    }
+  });
+});
+
+const shadow = path.resolve(__dirname, "../src/adaptor");
+const ui = path.resolve(__dirname, `../ui/${adaptor}`);
+
+rmrf.sync(shadow);
+
+// 开发用软连接就好了
+if (mode === "dev") {
+  execSync(`rm -rf ${shadow}`);
+  execSync(`ln -s ${ui} ${shadow}`);
+} else {
+  execSync(`rm -rf ${shadow}`);
+  execSync(`cp -R ${ui} ${shadow}`);
+}
+const pkgPath = path.resolve(__dirname, "../package.json");
+const pkg = JSON.parse(fs.readFileSync(pkgPath));
+const adaptorPkg = JSON.parse(fs.readFileSync(`${ui}/package.json`));
+
+const deps = {
+  "@ant-design/icons": "^5.2.6",
+  "@formily/core": "^2.3.1",
+  "@formily/react": "^2.3.1",
+  "@formily/reactive": "^2.3.1",
+  "@formily/shared": "^2.3.1",
+  ahooks: "^3.7.8",
+  moment: "^2.30.1",
+  react: "^18.2.0",
+  "react-dom": "^18.2.0",
+  "react-resizable": "^3.0.5",
+};
+
+// sed -i 's/@proformily\/antd/@proformily\/antd-v5/g' *
+fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf-8");
+
+if (!pkg.dependencies[`@formily/${adaptor}`]) {
+  pkg.dependencies = {
+    ...deps,
+    ...adaptorPkg.dependencies,
+  };
+  rmrf.sync(path.resolve(__dirname, "../node_modules"));
+}
+
+rmrf.sync(path.resolve(__dirname, "../doc_build"));
+execSync("bun i");
+console.log("ready for --", adaptor);
diff --git a/src/adaptor b/src/adaptor
new file mode 120000
index 0000000..1bf5f86
--- /dev/null
+++ b/src/adaptor
@@ -0,0 +1 @@
+/Users/chao/Lab/proformily/ui/antd
\ No newline at end of file
diff --git a/src/array-table-pro/features/hooks.ts b/src/array-table-pro/features/hooks.ts
index bad29fb..c457ce5 100644
--- a/src/array-table-pro/features/hooks.ts
+++ b/src/array-table-pro/features/hooks.ts
@@ -26,7 +26,7 @@ type SupportedProps = {
   expandable: IExpandableProps;
 };
 export const useArrayCompPropsOf = <K extends keyof SupportedProps>(
-  field: GeneralField,
+  field: GeneralField | undefined,
   key: K,
 ) => {
   const $props = (field?.componentProps as any)?.[key];
diff --git a/src/array-table-pro/features/pro-settings.tsx b/src/array-table-pro/features/pro-settings.tsx
index fb82e46..1856555 100644
--- a/src/array-table-pro/features/pro-settings.tsx
+++ b/src/array-table-pro/features/pro-settings.tsx
@@ -8,14 +8,6 @@ import {
 import { toJS } from "@formily/reactive";
 import useCreation from "ahooks/es/useCreation";
 import React, { useMemo } from "react";
-import {
-  Checkbox,
-  FormItem,
-  Input,
-  NumberPicker,
-  PreviewText,
-  Radio,
-} from "../../deps/peer";
 import {
   Button,
   ColumnHeightOutlined,
@@ -25,7 +17,15 @@ import {
   SettingOutlined,
   Slider,
   Space,
-} from "../../deps/ui";
+} from "../../adaptor";
+import {
+  Checkbox,
+  FormItem,
+  Input,
+  NumberPicker,
+  PreviewText,
+  Radio,
+} from "../../adaptor/adaptor";
 import { useArrayTableColumns } from "../hooks";
 import { ArrayTablePro } from "../pro";
 
diff --git a/src/array-table-pro/features/sortable.tsx b/src/array-table-pro/features/sortable.tsx
index 7f17b7a..cfdcd32 100644
--- a/src/array-table-pro/features/sortable.tsx
+++ b/src/array-table-pro/features/sortable.tsx
@@ -1,4 +1,4 @@
-import { builtins } from "../../deps/peer";
+import { builtins } from "../../adaptor/adaptor";
 const { SortableContainer, SortableElement, usePrefixCls } = builtins;
 import { ReactFC, useFieldSchema } from "@formily/react";
 import cls from "classnames";
diff --git a/src/array-table-pro/hooks.tsx b/src/array-table-pro/hooks.tsx
index 89540c4..db1413e 100644
--- a/src/array-table-pro/hooks.tsx
+++ b/src/array-table-pro/hooks.tsx
@@ -4,7 +4,7 @@ import { RecursionField, useField, useFieldSchema } from "@formily/react";
 import { isArr } from "@formily/shared";
 import { useState } from "react";
 import type { ResizeCallbackData } from "react-resizable";
-import { ArrayBase, ColumnsType } from "../deps/peer";
+import { ArrayBase, ColumnsType } from "../adaptor/adaptor";
 import {
   isAdditionComponent,
   isColumnComponent,
@@ -200,7 +200,10 @@ export const useExpandRender = (index: number) => {
   return schema.reduceProperties((expand, schema, key) => {
     if (isExpandComponent(schema)) {
       return (
-        <ArrayBase.Item index={index} record={() => array.field.value?.[index]}>
+        <ArrayBase.Item
+          index={index}
+          record={() => array?.field.value?.[index]}
+        >
           <RecursionField onlyRenderProperties schema={schema} name={index} />
         </ArrayBase.Item>
       );
diff --git a/src/array-table-pro/mixin.tsx b/src/array-table-pro/mixin.tsx
index 167f138..5ea820a 100644
--- a/src/array-table-pro/mixin.tsx
+++ b/src/array-table-pro/mixin.tsx
@@ -1,8 +1,7 @@
-import { ArrayBaseMixins } from "@formily/antd";
 import { ReactFC, observer } from "@formily/react";
 import React, { Fragment } from "react";
-import { ArrayBase, ColumnProps } from "../deps/peer";
-import { Alert, Button, Divider, Space } from "../deps/ui";
+import { Alert, Button, Divider, Space } from "../adaptor";
+import { ArrayBase, ArrayBaseMixins, ColumnProps } from "../adaptor/adaptor";
 import { useArrayCompPropsOf } from "./features/hooks";
 
 export const Column: ReactFC<ColumnProps<any>> = () => {
@@ -14,7 +13,7 @@ export const RowExpand: ReactFC<ColumnProps<any>> = () => {
 
 export const Addition: ArrayBaseMixins["Addition"] = observer((props) => {
   const array = ArrayBase.useArray();
-  const [, $page] = useArrayCompPropsOf(array.field, "pagination");
+  const [, $page] = useArrayCompPropsOf(array?.field, "pagination");
   return (
     <ArrayBase.Addition
       block={false}
@@ -62,7 +61,7 @@ export const RowSelectionPro = (props: {
 }) => {
   const { ds, rowKey } = props;
   const array = ArrayBase.useArray();
-  const [, $row] = useArrayCompPropsOf(array.field, "rowSelection");
+  const [, $row] = useArrayCompPropsOf(array?.field, "rowSelection");
   return ds.length > 0 ? (
     <Alert
       style={{ padding: "3px 4px" }}
diff --git a/src/array-table-pro/pro.tsx b/src/array-table-pro/pro.tsx
index 7c858f1..986f164 100644
--- a/src/array-table-pro/pro.tsx
+++ b/src/array-table-pro/pro.tsx
@@ -1,10 +1,9 @@
-import { usePrefixCls } from "@formily/antd/esm/__builtins__";
 import { ArrayField } from "@formily/core";
 import { ReactFC, RecursionField, observer, useField } from "@formily/react";
 import React, { useEffect, useRef } from "react";
-import { ArrayBase } from "../deps/peer";
 // import useWhyDidYouUpdate from "ahooks/es/useWhyDidYouUpdate";
-import { Pagination, Table, Typography } from "../deps/ui";
+import { Pagination, Table, Typography } from "../adaptor";
+import { ArrayBase, builtins } from "../adaptor/adaptor";
 import { ProSettings } from "./features/pro-settings";
 import { ResizableTitle } from "./features/resizeable";
 import { useSortable } from "./features/sortable";
@@ -21,11 +20,14 @@ import {
 } from "./hooks";
 import { Addition, Column, Flex, RowExpand, RowSelectionPro } from "./mixin";
 import { ArrayTableProProps, IChangeData } from "./types";
+const { usePrefixCls } = builtins;
+import useStyle from "../adaptor/themes/array-table-pro/useStyle";
 
 const ProArrayTable: ReactFC<ArrayTableProProps> = observer((props) => {
   const ref = useRef<HTMLDivElement>(null);
   const field = useField<ArrayField>();
   const prefixCls = usePrefixCls("formily-array-table");
+  const [wrapSSR, hasId] = useStyle(prefixCls);
   /**
    * 优化笔记:
    * 本来以为这个 slice 没什么用,直到我膝盖中了一箭
@@ -144,10 +146,10 @@ const ProArrayTable: ReactFC<ArrayTableProProps> = observer((props) => {
     </Flex>
   );
 
-  return (
+  return wrapSSR(
     <ArrayBase>
       {_header}
-      <div ref={ref} className={prefixCls}>
+      <div ref={ref} className={`${prefixCls} ${hasId}`}>
         <Table
           bordered
           rowKey={rowKey}
@@ -197,7 +199,7 @@ const ProArrayTable: ReactFC<ArrayTableProProps> = observer((props) => {
           key,
         });
       })}
-    </ArrayBase>
+    </ArrayBase>,
   );
 });
 
diff --git a/src/array-table-pro/types.tsx b/src/array-table-pro/types.tsx
index 7f33ca0..c65e875 100644
--- a/src/array-table-pro/types.tsx
+++ b/src/array-table-pro/types.tsx
@@ -1,6 +1,6 @@
 import { FieldDisplayTypes, GeneralField } from "@formily/core";
 import { Schema } from "@formily/json-schema";
-import type { ColumnProps, TableProps } from "../deps/peer";
+import type { ColumnProps, TableProps } from "../adaptor/adaptor";
 
 type TableChangeParams = Parameters<Required<TableProps<any>>["onChange"]>;
 
diff --git a/src/index.ts b/src/index.ts
index 5068243..ad38292 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,7 +1,5 @@
-import "./style";
 export * from "./array-table-pro";
+export * from "./array-table-pro/features/hooks";
+export * from "./query-list";
 export * from "./query-form";
 export * from "./query-table";
-export * from "./query-list";
-
-export { Overview } from "./overview";
diff --git a/src/query-form/index.tsx b/src/query-form/index.tsx
index e5603bf..d9fe35f 100644
--- a/src/query-form/index.tsx
+++ b/src/query-form/index.tsx
@@ -2,9 +2,9 @@ import { DownOutlined, UpOutlined } from "@ant-design/icons";
 import type { ObjectField } from "@formily/core";
 import { observer, useField } from "@formily/react";
 import { clone } from "@formily/shared";
-import { Button } from "antd";
 import React, { useEffect } from "react";
-import { FormButtonGroup, FormGrid, FormLayout } from "../deps/peer";
+import { Button } from "../adaptor";
+import { FormButtonGroup, FormGrid, FormLayout } from "../adaptor/adaptor";
 import { useQueryListContext } from "../query-list";
 import { useGrid } from "./useGrid";
 
diff --git a/src/query-form/useGrid.tsx b/src/query-form/useGrid.tsx
index a0b7254..b3c09e2 100644
--- a/src/query-form/useGrid.tsx
+++ b/src/query-form/useGrid.tsx
@@ -1,5 +1,5 @@
 import React, { useMemo } from "react";
-import { FormGrid } from "../deps/peer";
+import { FormGrid } from "../adaptor/adaptor";
 
 export const useGrid = (conf: React.ComponentProps<typeof FormGrid> = {}) => {
   const maxRows = conf.maxRows || 2;
diff --git a/src/query-list/index.tsx b/src/query-list/index.tsx
index 37d902c..1e008a9 100644
--- a/src/query-list/index.tsx
+++ b/src/query-list/index.tsx
@@ -8,8 +8,8 @@ import React, {
   useRef,
   useState,
 } from "react";
-import { noop } from "src/__builtins__";
-import type { TableProps } from "../deps/ui";
+import { noop } from "../__builtins__";
+import type { TableProps } from "../adaptor";
 
 type TableChangeParams = Parameters<Required<TableProps<any>>["onChange"]>;
 
diff --git a/src/query-table/index.tsx b/src/query-table/index.tsx
index de23583..0225ed1 100644
--- a/src/query-table/index.tsx
+++ b/src/query-table/index.tsx
@@ -2,10 +2,10 @@ import type { ArrayField } from "@formily/core";
 import { observer, useField } from "@formily/react";
 import { useEffect } from "react";
 import { ArrayTableProProps } from "src/array-table-pro/types";
+import { TablePaginationConfig } from "../adaptor";
+import { ArrayBase } from "../adaptor/adaptor";
 import { Addition, Column, RowExpand } from "../array-table-pro/mixin";
 import { ArrayTablePro } from "../array-table-pro/pro";
-import { ArrayBase } from "../deps/peer";
-import { TablePaginationConfig } from "../deps/ui";
 import { useQueryListContext } from "../query-list";
 
 export const QueryTablePro = observer((overprops: ArrayTableProProps) => {
diff --git a/src/style.ts b/src/style.ts
index 255d9e9..7d3dc81 100644
--- a/src/style.ts
+++ b/src/style.ts
@@ -1 +1 @@
-import "./array-table-pro/style";
+import "./adaptor/themes/index";
diff --git a/tsconfig.json b/tsconfig.json
index 129c9bd..986efb2 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -13,8 +13,12 @@
     "declaration": true,
     "moduleResolution": "node",
     "paths": {
-      "proformily": ["./src"]
+      "@proformily/antd": ["src"]
     }
   },
-  "include": ["src", "docs"]
+  "include": [
+    "src",
+    "docs",
+    "ui",
+  ]
 }
diff --git a/src/deps/README.md b/ui/antd-v5/README.md
similarity index 100%
rename from src/deps/README.md
rename to ui/antd-v5/README.md
diff --git a/ui/antd-v5/adaptor.ts b/ui/antd-v5/adaptor.ts
new file mode 100644
index 0000000..7af89cf
--- /dev/null
+++ b/ui/antd-v5/adaptor.ts
@@ -0,0 +1,18 @@
+export * as builtins from "@formily/antd-v5/esm/__builtins__";
+export {
+  FormGrid,
+  FormButtonGroup,
+  FormLayout,
+  Checkbox,
+  FormItem,
+  Input,
+  NumberPicker,
+  PreviewText,
+  Radio,
+} from "@formily/antd-v5";
+
+import { ArrayBase as AntdArrayBase } from "@formily/antd-v5";
+export type { ArrayBaseMixins } from "@formily/antd-v5";
+// 类型fix
+export const ArrayBase = AntdArrayBase;
+export type { ColumnsType, ColumnProps, TableProps } from "antd/es/table";
diff --git a/src/deps/ui.ts b/ui/antd-v5/index.ts
similarity index 100%
rename from src/deps/ui.ts
rename to ui/antd-v5/index.ts
diff --git a/ui/antd-v5/package.json b/ui/antd-v5/package.json
new file mode 100644
index 0000000..2ced4a4
--- /dev/null
+++ b/ui/antd-v5/package.json
@@ -0,0 +1,16 @@
+{
+  "name": "antd",
+  "version": "1.0.0",
+  "description": "",
+  "main": "index.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "keywords": [],
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+    "@formily/antd-v5": "^1.*.*",
+    "antd": "^5.*.*"
+  }
+}
diff --git a/ui/antd-v5/themes/array-table-pro/useStyle.ts b/ui/antd-v5/themes/array-table-pro/useStyle.ts
new file mode 100644
index 0000000..4af0622
--- /dev/null
+++ b/ui/antd-v5/themes/array-table-pro/useStyle.ts
@@ -0,0 +1,63 @@
+import { builtins } from "../../adaptor";
+
+export default builtins.genStyleHook("array-table", (token) => {
+  const {
+    componentCls,
+    antCls,
+    colorErrorBorder,
+    fontSizeSM,
+    colorBgBase,
+    colorBorder,
+    colorBgContainer,
+  } = token;
+  const itemCls = `${antCls}-formily-item`;
+
+  return {
+    [componentCls]: {
+      [`${componentCls}-pagination`]: {
+        display: "flex",
+        justifyContent: "center",
+
+        [`${componentCls}-status-select.has-error`]: {
+          [`${antCls}-select-selector`]: {
+            borderColor: `${colorErrorBorder} !important`,
+          },
+        },
+      },
+      [`${antCls}-table`]: {
+        td: {
+          visibility: "visible",
+          [`${itemCls}:not(${itemCls}-feedback-layout-popover)`]: {
+            marginBottom: "0 !important",
+
+            [`${itemCls}-help`]: {
+              position: "absolute",
+              fontSize: fontSizeSM,
+              top: "100%",
+              background: colorBgBase,
+              width: "100%",
+              marginTop: 3,
+              padding: 3,
+              zIndex: 1,
+              borderRadius: 3,
+              boxShadow: `0 0 10px ${colorBorder}`,
+              animation: "none",
+              transform: "translateY(0)",
+              opacity: 1,
+            },
+          },
+        },
+
+        table: {
+          overflow: "hidden",
+        },
+      },
+
+      [`${componentCls}-sort-helper`]: {
+        background: colorBgContainer,
+        border: `1px solid ${colorBorder}`,
+        zIndex: 10,
+      },
+    },
+  };
+});
diff --git a/ui/antd-v5/themes/index.ts b/ui/antd-v5/themes/index.ts
new file mode 100644
index 0000000..4b2a726
--- /dev/null
+++ b/ui/antd-v5/themes/index.ts
@@ -0,0 +1,2 @@
+// @ts-ignore
+// 什么都没有,为了适配 antd-v4 那个文件
diff --git a/ui/antd/README.md b/ui/antd/README.md
new file mode 100644
index 0000000..c1b1d1d
--- /dev/null
+++ b/ui/antd/README.md
@@ -0,0 +1 @@
+声明外部依赖, 方便迁移
diff --git a/src/deps/peer.ts b/ui/antd/adaptor.ts
similarity index 89%
rename from src/deps/peer.ts
rename to ui/antd/adaptor.ts
index 61959ce..ea78b91 100644
--- a/src/deps/peer.ts
+++ b/ui/antd/adaptor.ts
@@ -10,7 +10,9 @@ export {
   PreviewText,
   Radio,
 } from "@formily/antd";
+
 import { ArrayBase as AntdArrayBase } from "@formily/antd";
+export type { ArrayBaseMixins } from "@formily/antd";
 // 类型fix
 export const ArrayBase = AntdArrayBase as Required<typeof AntdArrayBase> &
   typeof AntdArrayBase;
diff --git a/ui/antd/index.ts b/ui/antd/index.ts
new file mode 100644
index 0000000..c866520
--- /dev/null
+++ b/ui/antd/index.ts
@@ -0,0 +1,16 @@
+export { ColumnHeightOutlined, SettingOutlined } from "@ant-design/icons";
+export {
+  Alert,
+  Divider,
+  Pagination,
+  Table,
+  Button,
+  ConfigProvider,
+  Popover,
+  Row,
+  Slider,
+  Space,
+  Typography,
+} from "antd";
+
+export type { TablePaginationConfig, TableProps } from "antd";
diff --git a/ui/antd/package.json b/ui/antd/package.json
new file mode 100644
index 0000000..194fac6
--- /dev/null
+++ b/ui/antd/package.json
@@ -0,0 +1,16 @@
+{
+  "name": "antd",
+  "version": "1.0.0",
+  "description": "",
+  "main": "index.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "keywords": [],
+  "author": "",
+  "license": "ISC",
+  "dependencies": {
+    "@formily/antd": "^2.*.*",
+    "antd": "^4.*.*"
+  }
+}
diff --git a/src/array-table-pro/style.less b/ui/antd/themes/array-table-pro/style.less
similarity index 100%
rename from src/array-table-pro/style.less
rename to ui/antd/themes/array-table-pro/style.less
diff --git a/src/array-table-pro/style.ts b/ui/antd/themes/array-table-pro/style.ts
similarity index 100%
rename from src/array-table-pro/style.ts
rename to ui/antd/themes/array-table-pro/style.ts
diff --git a/ui/antd/themes/array-table-pro/useStyle.ts b/ui/antd/themes/array-table-pro/useStyle.ts
new file mode 100644
index 0000000..680522c
--- /dev/null
+++ b/ui/antd/themes/array-table-pro/useStyle.ts
@@ -0,0 +1 @@
+export default () => [<T>(x: T) => x, ""] as const;
diff --git a/ui/antd/themes/index.ts b/ui/antd/themes/index.ts
new file mode 100644
index 0000000..255d9e9
--- /dev/null
+++ b/ui/antd/themes/index.ts
@@ -0,0 +1 @@
+import "./array-table-pro/style";
diff --git a/src/overview/index.tsx b/ui/overview/index.tsx
similarity index 100%
rename from src/overview/index.tsx
rename to ui/overview/index.tsx
diff --git a/src/overview/overview.less b/ui/overview/overview.less
similarity index 100%
rename from src/overview/overview.less
rename to ui/overview/overview.less

From dd09e48e71998ce86622f757cb0e669a2c4d5710 Mon Sep 17 00:00:00 2001
From: charlzyx <charlzyx@qq.com>
Date: Mon, 15 Jan 2024 16:00:31 +0800
Subject: [PATCH 2/3] =?UTF-8?q?ci:=20=F0=9F=8E=A1=20dev=20scripts?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .gitignore        |  1 +
 package.json      |  8 ++++----
 rspress.config.ts |  7 ++++++-
 scripts/patch.js  |  1 -
 scripts/switch.js | 41 ++++++++++++++++++-----------------------
 5 files changed, 29 insertions(+), 29 deletions(-)

diff --git a/.gitignore b/.gitignore
index ccf8139..1a6954f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,4 +23,5 @@ dist-ssr
 *.sln
 *.sw?
 doc_build
+src/adaptor
 src/adaptor/
diff --git a/package.json b/package.json
index 8d8cdf0..1d11cbd 100644
--- a/package.json
+++ b/package.json
@@ -1,10 +1,10 @@
 {
-  "name": "@proformily/antd",
+  "name": "@proformily/antd-v5",
   "version": "1.0.0",
   "private": true,
   "scripts": {
     "d4": "node scripts/switch.js antd dev && rspress dev",
-    "d5": "node scripts/switch.js antd dev && rspress dev",
+    "d5": "node scripts/switch.js antd-v5 dev && rspress dev",
     "build:docs": "rspress build",
     "preview": "rspress preview"
   },
@@ -19,8 +19,8 @@
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
     "react-resizable": "^3.0.5",
-    "@formily/antd": "^2.*.*",
-    "antd": "^4.*.*"
+    "@formily/antd-v5": "^1.*.*",
+    "antd": "^5.*.*"
   },
   "devDependencies": {
     "@biomejs/biome": "^1.5.0",
diff --git a/rspress.config.ts b/rspress.config.ts
index f86460b..6dfab67 100644
--- a/rspress.config.ts
+++ b/rspress.config.ts
@@ -17,7 +17,12 @@ export default defineConfig({
   builderConfig: {
     ...RsBuildConfig,
   },
-  plugins: [pluginPreview()],
+  plugins: [
+    pluginPreview(),
+    () => {
+      require("./scripts/patch.js");
+    },
+  ],
   themeConfig: {
     socialLinks: [
       {
diff --git a/scripts/patch.js b/scripts/patch.js
index d1931ad..5f792d2 100644
--- a/scripts/patch.js
+++ b/scripts/patch.js
@@ -1,4 +1,3 @@
-const { execSync } = require("child_process");
 const path = require("path");
 const fs = require("fs");
 
diff --git a/scripts/switch.js b/scripts/switch.js
index 47a255b..6ccd5c9 100644
--- a/scripts/switch.js
+++ b/scripts/switch.js
@@ -44,34 +44,29 @@ const docs = () => {
   return list;
 };
 
+const replaeer = (c) => {
+  if (adaptor === "antd") {
+    return c
+      .replace(`@formily/antd-v5"`, `@formily/antd"`)
+      .replace(`@proformily/antd-v5"`, `@proformily/antd"`)
+      .replace(`proformily-antd-v5"`, `proformily-antd"`)
+      .replace("antd/dist/reset.css", "antd/dist/antd.css");
+  } else {
+    return c
+      .replace(`@formily/antd"`, `@formily/antd-v5"`)
+      .replace(`@proformily/antd"`, `@proformily/antd-v5"`)
+      .replace(`proformily-antd"`, `proformily-antd-v5"`)
+      .replace("antd/dist/antd.css", "antd/dist/reset.css");
+  }
+};
 docs()
   .filter((x) => /\.(mdx|md|tsx|ts|js|js)$/.test(x))
   .forEach((item) => {
-    rewite(item, (c) => {
-      if (adaptor === "antd") {
-        return c
-          .replace("formily/antd-v5", "formily/antd")
-          .replace("antd/dist/reset.css", "antd/dist/antd.css");
-      } else {
-        return c
-          .replace("formily/antd", "formily/antd-v5")
-          .replace("antd/dist/antd.css", "antd/dist/reset.css");
-      }
-    });
+    rewite(item, replaeer);
   });
 
 files.forEach((item) => {
-  rewite(item, (c) => {
-    if (adaptor === "antd") {
-      return c
-        .replace("formily/antd-v5", "formily/antd")
-        .replace("proformily-antd-v5", "proformily-antd");
-    } else {
-      return c
-        .replace("formily/antd", "formily/antd-v5")
-        .replace("proformily-antd", "proformily-antd-v5");
-    }
-  });
+  rewite(item, replaeer);
 });
 
 const shadow = path.resolve(__dirname, "../src/adaptor");
@@ -105,13 +100,13 @@ const deps = {
 };
 
 // sed -i 's/@proformily\/antd/@proformily\/antd-v5/g' *
-fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf-8");
 
 if (!pkg.dependencies[`@formily/${adaptor}`]) {
   pkg.dependencies = {
     ...deps,
     ...adaptorPkg.dependencies,
   };
+  fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf-8");
   rmrf.sync(path.resolve(__dirname, "../node_modules"));
 }
 

From 37645b5e38984c2f750d065e5912d6309f841e5c Mon Sep 17 00:00:00 2001
From: charlzyx <charlzyx@qq.com>
Date: Mon, 15 Jan 2024 16:09:23 +0800
Subject: [PATCH 3/3] =?UTF-8?q?fix:=20=F0=9F=90=9B=20build=20scripts?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 package.json      | 13 +++++++------
 scripts/read.js   | 28 ----------------------------
 scripts/switch.js | 16 ++++++++--------
 src/adaptor       |  1 -
 4 files changed, 15 insertions(+), 43 deletions(-)
 delete mode 100644 scripts/read.js
 delete mode 120000 src/adaptor

diff --git a/package.json b/package.json
index 1d11cbd..1da74fd 100644
--- a/package.json
+++ b/package.json
@@ -1,11 +1,12 @@
 {
-  "name": "@proformily/antd-v5",
+  "name": "@proformily/antd",
   "version": "1.0.0",
   "private": true,
   "scripts": {
-    "d4": "node scripts/switch.js antd dev && rspress dev",
-    "d5": "node scripts/switch.js antd-v5 dev && rspress dev",
-    "build:docs": "rspress build",
+    "v4": "node scripts/switch.js antd dev && rspress dev",
+    "v5": "node scripts/switch.js antd-v5 dev && rspress dev",
+    "build:docs:v4": "node scripts/switch.js antd && rspress build",
+    "build:docs:v5": "node scripts/switch.js antd-v5 && rspress build",
     "preview": "rspress preview"
   },
   "dependencies": {
@@ -19,8 +20,8 @@
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
     "react-resizable": "^3.0.5",
-    "@formily/antd-v5": "^1.*.*",
-    "antd": "^5.*.*"
+    "@formily/antd": "^2.*.*",
+    "antd": "^4.*.*"
   },
   "devDependencies": {
     "@biomejs/biome": "^1.5.0",
diff --git a/scripts/read.js b/scripts/read.js
deleted file mode 100644
index 56d83e2..0000000
--- a/scripts/read.js
+++ /dev/null
@@ -1,28 +0,0 @@
-const { execSync } = require("child_process");
-const fs = require("fs");
-const path = require("path");
-const argv = process.argv.slice(2);
-const adaptor = argv[0];
-const mode = argv[1];
-const rmrf = require("rimraf");
-
-const loop = (filepath, it) => {
-  if (fs.existsSync(filepath)) {
-    const isDir = fs.statSync(filepath).isDirectory();
-    if (isDir) {
-      fs.readdirSync(filepath).forEach((sub) => {
-        loop(path.join(filepath, sub), it);
-      });
-    } else {
-      it(path.join(filepath));
-    }
-  }
-};
-
-const docs = () => {
-  loop(path.join(__dirname, "../docs"), (item) => {
-    console.log(item);
-  });
-};
-
-docs();
diff --git a/scripts/switch.js b/scripts/switch.js
index 6ccd5c9..98aaec9 100644
--- a/scripts/switch.js
+++ b/scripts/switch.js
@@ -81,6 +81,8 @@ if (mode === "dev") {
 } else {
   execSync(`rm -rf ${shadow}`);
   execSync(`cp -R ${ui} ${shadow}`);
+  rmrf.sync(path.resolve(__dirname, "../node_modules"));
+  rmrf.sync(path.resolve(__dirname, "../doc_build"));
 }
 const pkgPath = path.resolve(__dirname, "../package.json");
 const pkg = JSON.parse(fs.readFileSync(pkgPath));
@@ -101,14 +103,12 @@ const deps = {
 
 // sed -i 's/@proformily\/antd/@proformily\/antd-v5/g' *
 
-if (!pkg.dependencies[`@formily/${adaptor}`]) {
-  pkg.dependencies = {
-    ...deps,
-    ...adaptorPkg.dependencies,
-  };
-  fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf-8");
-  rmrf.sync(path.resolve(__dirname, "../node_modules"));
-}
+pkg.dependencies = {
+  ...deps,
+  ...adaptorPkg.dependencies,
+};
+fs.writeFileSync(pkgPath, JSON.stringify(pkg, null, 2), "utf-8");
+rmrf.sync(path.resolve(__dirname, "../node_modules"));
 
 rmrf.sync(path.resolve(__dirname, "../doc_build"));
 execSync("bun i");
diff --git a/src/adaptor b/src/adaptor
deleted file mode 120000
index 1bf5f86..0000000
--- a/src/adaptor
+++ /dev/null
@@ -1 +0,0 @@
-/Users/chao/Lab/proformily/ui/antd
\ No newline at end of file