antd-overlay 0.1.2 → 0.2.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.
- package/README.md +20 -1
- package/docs/ai/api-manifest.json +162 -0
- package/docs/ai/constraints.md +58 -0
- package/docs/ai/contracts.json +63 -0
- package/docs/ai/quick-reference.md +74 -0
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -137,6 +137,23 @@ function GlobalUsage() {
|
|
|
137
137
|
|
|
138
138
|
`openModal(...)` 返回 `OverlayController`:可调用 `update` 传入要更新的字段(与当前已保存的 props 及 Hook 的 `defaultProps` **浅合并**,同名键以本次 `update` 入参为准)、`close` 关闭(会尊重动画配置)。
|
|
139
139
|
|
|
140
|
+
`customOk` 关闭语义(适用于 `useOverlay` / `useModal` / `useDrawer`):
|
|
141
|
+
|
|
142
|
+
- 同步回调正常返回:自动关闭覆盖层
|
|
143
|
+
- 异步回调 `Promise resolve`:在 Promise 完成后自动关闭覆盖层
|
|
144
|
+
- 异步回调 `Promise reject` 或同步抛错:保持覆盖层打开,并将错误透传给调用方
|
|
145
|
+
|
|
146
|
+
## AI 使用指引
|
|
147
|
+
|
|
148
|
+
为提高代码助手(Cursor/Copilot/Claude Code 等)对本库的调用正确率,建议优先读取以下文档:
|
|
149
|
+
|
|
150
|
+
- `docs/ai/quick-reference.md`:最短调用路径与最小示例
|
|
151
|
+
- `docs/ai/constraints.md`:前置条件、行为约束与错误语义
|
|
152
|
+
- `docs/ai/api-manifest.json`:机器可读 API 清单
|
|
153
|
+
- `docs/ai/contracts.json`:能力、约束、错误语义和推荐模板
|
|
154
|
+
|
|
155
|
+
若 AI 生成的是全局 Hook(`useGlobalModal`、`useGlobalDrawer`、`useGlobalOverlay`)用法,务必同时生成 `AntdOverlayProvider` 包裹代码。
|
|
156
|
+
|
|
140
157
|
## API
|
|
141
158
|
|
|
142
159
|
### Provider
|
|
@@ -238,10 +255,12 @@ const [openOverlay, holder] = useOverlay(MyOverlay, {
|
|
|
238
255
|
interface CustomOverlayProps<T = any, R = void> {
|
|
239
256
|
open?: boolean;
|
|
240
257
|
customClose: () => void;
|
|
241
|
-
customOk?: (value: T) => R
|
|
258
|
+
customOk?: (value: T) => R | Promise<R>;
|
|
242
259
|
}
|
|
243
260
|
```
|
|
244
261
|
|
|
262
|
+
如需本地验证异步行为,可运行 demo 中的 `AsyncCustomOkDemo`(包含 Overlay / Modal / Drawer 的异步成功与失败场景)。
|
|
263
|
+
|
|
245
264
|
#### `CustomModalProps<T, R>` / `CustomDrawerProps<T, R>`
|
|
246
265
|
|
|
247
266
|
分别为 `ModalProps` / `DrawerProps` 与 `CustomOverlayProps` 的交叉类型。
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "antd-overlay",
|
|
3
|
+
"manifestVersion": "1.0.0",
|
|
4
|
+
"docsVersion": "0.1.2",
|
|
5
|
+
"entrypoint": "antd-overlay",
|
|
6
|
+
"symbols": [
|
|
7
|
+
{
|
|
8
|
+
"name": "AntdOverlayProvider",
|
|
9
|
+
"kind": "component",
|
|
10
|
+
"signature": "AntdOverlayProvider(props: { children; defaultModalProps?; defaultDrawerProps? })",
|
|
11
|
+
"params": [
|
|
12
|
+
{ "name": "children", "required": true, "type": "React.ReactNode" },
|
|
13
|
+
{ "name": "defaultModalProps", "required": false, "type": "Partial<ModalProps>" },
|
|
14
|
+
{ "name": "defaultDrawerProps", "required": false, "type": "Partial<DrawerProps>" }
|
|
15
|
+
],
|
|
16
|
+
"returns": "JSX.Element",
|
|
17
|
+
"preconditions": [],
|
|
18
|
+
"failureScenarios": [],
|
|
19
|
+
"recommendedDoc": "docs/ai/quick-reference.md"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"name": "useModal",
|
|
23
|
+
"kind": "hook",
|
|
24
|
+
"signature": "useModal<T>(Component, options?) => [openModal, holder]",
|
|
25
|
+
"params": [
|
|
26
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomModalProps>" },
|
|
27
|
+
{ "name": "options", "required": false, "type": "UseModalOptions<T>" }
|
|
28
|
+
],
|
|
29
|
+
"returns": "[OverlayOpener<T>, React.ReactNode]",
|
|
30
|
+
"preconditions": [],
|
|
31
|
+
"failureScenarios": [
|
|
32
|
+
{
|
|
33
|
+
"code": "INVALID_OVERLAY_CONTRACT",
|
|
34
|
+
"when": "传入组件未正确消费 open/customClose 导致行为异常"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"recommendedDoc": "docs/ai/quick-reference.md"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "useGlobalModal",
|
|
41
|
+
"kind": "hook",
|
|
42
|
+
"signature": "useGlobalModal<T>(Component, options?) => openModal",
|
|
43
|
+
"params": [
|
|
44
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomModalProps>" },
|
|
45
|
+
{ "name": "options", "required": false, "type": "UseModalOptions<T>" }
|
|
46
|
+
],
|
|
47
|
+
"returns": "OverlayOpener<T>",
|
|
48
|
+
"preconditions": ["必须在 AntdOverlayProvider 作用域中调用"],
|
|
49
|
+
"failureScenarios": [
|
|
50
|
+
{
|
|
51
|
+
"code": "PROVIDER_REQUIRED",
|
|
52
|
+
"when": "在 AntdOverlayProvider 外部调用 useGlobalModal"
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"recommendedDoc": "docs/ai/constraints.md"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "useDrawer",
|
|
59
|
+
"kind": "hook",
|
|
60
|
+
"signature": "useDrawer<T>(Component, options?) => [openDrawer, holder]",
|
|
61
|
+
"params": [
|
|
62
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomDrawerProps>" },
|
|
63
|
+
{ "name": "options", "required": false, "type": "UseDrawerOptions<T>" }
|
|
64
|
+
],
|
|
65
|
+
"returns": "[OverlayOpener<T>, React.ReactNode]",
|
|
66
|
+
"preconditions": [],
|
|
67
|
+
"failureScenarios": [
|
|
68
|
+
{
|
|
69
|
+
"code": "INVALID_OVERLAY_CONTRACT",
|
|
70
|
+
"when": "传入组件未正确消费 open/customClose 导致行为异常"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"recommendedDoc": "docs/ai/quick-reference.md"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"name": "useGlobalDrawer",
|
|
77
|
+
"kind": "hook",
|
|
78
|
+
"signature": "useGlobalDrawer<T>(Component, options?) => openDrawer",
|
|
79
|
+
"params": [
|
|
80
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomDrawerProps>" },
|
|
81
|
+
{ "name": "options", "required": false, "type": "UseDrawerOptions<T>" }
|
|
82
|
+
],
|
|
83
|
+
"returns": "OverlayOpener<T>",
|
|
84
|
+
"preconditions": ["必须在 AntdOverlayProvider 作用域中调用"],
|
|
85
|
+
"failureScenarios": [
|
|
86
|
+
{
|
|
87
|
+
"code": "PROVIDER_REQUIRED",
|
|
88
|
+
"when": "在 AntdOverlayProvider 外部调用 useGlobalDrawer"
|
|
89
|
+
}
|
|
90
|
+
],
|
|
91
|
+
"recommendedDoc": "docs/ai/constraints.md"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "useOverlay",
|
|
95
|
+
"kind": "hook",
|
|
96
|
+
"signature": "useOverlay<T>(Component, options?) => [openOverlay, holder]",
|
|
97
|
+
"params": [
|
|
98
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomOverlayProps>" },
|
|
99
|
+
{ "name": "options", "required": false, "type": "UseOverlayOptions<T>" }
|
|
100
|
+
],
|
|
101
|
+
"returns": "[OverlayOpener<T>, React.ReactNode]",
|
|
102
|
+
"preconditions": [],
|
|
103
|
+
"failureScenarios": [],
|
|
104
|
+
"recommendedDoc": "docs/ai/quick-reference.md"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"name": "useGlobalOverlay",
|
|
108
|
+
"kind": "hook",
|
|
109
|
+
"signature": "useGlobalOverlay<T>(Component, options?) => openOverlay",
|
|
110
|
+
"params": [
|
|
111
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomOverlayProps>" },
|
|
112
|
+
{ "name": "options", "required": false, "type": "UseOverlayOptions<T>" }
|
|
113
|
+
],
|
|
114
|
+
"returns": "OverlayOpener<T>",
|
|
115
|
+
"preconditions": ["必须在 AntdOverlayProvider 作用域中调用"],
|
|
116
|
+
"failureScenarios": [
|
|
117
|
+
{
|
|
118
|
+
"code": "PROVIDER_REQUIRED",
|
|
119
|
+
"when": "在 AntdOverlayProvider 外部调用 useGlobalOverlay"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"recommendedDoc": "docs/ai/constraints.md"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"name": "generateUseModalHook",
|
|
126
|
+
"kind": "factory",
|
|
127
|
+
"signature": "generateUseModalHook<T>(Component) => { useModal, useGlobalModal }",
|
|
128
|
+
"params": [
|
|
129
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomModalProps>" }
|
|
130
|
+
],
|
|
131
|
+
"returns": "{ useModal(options?), useGlobalModal(options?) }",
|
|
132
|
+
"preconditions": [],
|
|
133
|
+
"failureScenarios": [],
|
|
134
|
+
"recommendedDoc": "README.md"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "generateUseDrawerHook",
|
|
138
|
+
"kind": "factory",
|
|
139
|
+
"signature": "generateUseDrawerHook<T>(Component) => { useDrawer, useGlobalDrawer }",
|
|
140
|
+
"params": [
|
|
141
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomDrawerProps>" }
|
|
142
|
+
],
|
|
143
|
+
"returns": "{ useDrawer(options?), useGlobalDrawer(options?) }",
|
|
144
|
+
"preconditions": [],
|
|
145
|
+
"failureScenarios": [],
|
|
146
|
+
"recommendedDoc": "README.md"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"name": "generateUseOverlayHook",
|
|
150
|
+
"kind": "factory",
|
|
151
|
+
"signature": "generateUseOverlayHook<T>(Component, defaultOptions?) => { useOverlay, useGlobalOverlay }",
|
|
152
|
+
"params": [
|
|
153
|
+
{ "name": "Component", "required": true, "type": "React.FC<T extends CustomOverlayProps>" },
|
|
154
|
+
{ "name": "defaultOptions", "required": false, "type": "UseOverlayOptions<T>" }
|
|
155
|
+
],
|
|
156
|
+
"returns": "{ useOverlay(options?), useGlobalOverlay(options?) }",
|
|
157
|
+
"preconditions": [],
|
|
158
|
+
"failureScenarios": [],
|
|
159
|
+
"recommendedDoc": "README.md"
|
|
160
|
+
}
|
|
161
|
+
]
|
|
162
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# antd-overlay Constraints and Error Semantics
|
|
2
|
+
|
|
3
|
+
本文件定义 AI 调用时应优先遵守的约束,避免生成“看起来正确但运行失败”的代码。
|
|
4
|
+
|
|
5
|
+
## Provider 约束
|
|
6
|
+
|
|
7
|
+
### 约束
|
|
8
|
+
|
|
9
|
+
- `useGlobalOverlay`
|
|
10
|
+
- `useGlobalModal`
|
|
11
|
+
- `useGlobalDrawer`
|
|
12
|
+
|
|
13
|
+
以上 Hook 必须在 `AntdOverlayProvider` 作用域内调用。
|
|
14
|
+
|
|
15
|
+
### 失败语义
|
|
16
|
+
|
|
17
|
+
- 错误语义码:`PROVIDER_REQUIRED`
|
|
18
|
+
- 触发条件:在 Provider 外调用任一全局 Hook
|
|
19
|
+
- 建议修复:将应用入口包裹 `AntdOverlayProvider`
|
|
20
|
+
|
|
21
|
+
## 组件契约约束
|
|
22
|
+
|
|
23
|
+
### 最小必需字段
|
|
24
|
+
|
|
25
|
+
自定义覆盖层组件必须实现 `CustomOverlayProps` 的关键字段:
|
|
26
|
+
|
|
27
|
+
- `open?: boolean`
|
|
28
|
+
- `customClose: () => void`
|
|
29
|
+
- `customOk?: (value) => any | Promise<any>`
|
|
30
|
+
|
|
31
|
+
### 失败语义
|
|
32
|
+
|
|
33
|
+
- 错误语义码:`INVALID_OVERLAY_CONTRACT`
|
|
34
|
+
- 触发条件:组件不消费 `open/customClose`,导致显示或关闭行为异常
|
|
35
|
+
- 建议修复:将 UI 组件的显隐/关闭事件绑定到 `open/customClose`
|
|
36
|
+
|
|
37
|
+
## 行为语义约束
|
|
38
|
+
|
|
39
|
+
### customOk
|
|
40
|
+
|
|
41
|
+
- 同步成功返回:自动关闭
|
|
42
|
+
- Promise resolve:异步完成后自动关闭
|
|
43
|
+
- throw / Promise reject:保持打开并透传错误
|
|
44
|
+
|
|
45
|
+
错误语义码:`CUSTOM_OK_REJECTED`
|
|
46
|
+
|
|
47
|
+
### update
|
|
48
|
+
|
|
49
|
+
- `controller.update(next)` 是浅合并更新,不是深合并
|
|
50
|
+
- 合并优先级:`defaultProps` < 之前 props < 本次 `update`
|
|
51
|
+
|
|
52
|
+
错误语义码:`UPDATE_SHALLOW_MERGE`
|
|
53
|
+
|
|
54
|
+
## AI 生成代码建议
|
|
55
|
+
|
|
56
|
+
- 优先生成 `useModal` 或 `useDrawer`,仅在通用组件时使用 `useOverlay`
|
|
57
|
+
- 使用全局 Hook 时必须同时输出 Provider 包裹代码
|
|
58
|
+
- 避免在 `customOk` 内重复手动 `close`,除非明确要覆盖默认关闭时机
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "antd-overlay-ai-contracts",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"package": "antd-overlay",
|
|
5
|
+
"capabilities": [
|
|
6
|
+
"imperative-open-close-overlay",
|
|
7
|
+
"update-overlay-props-via-controller",
|
|
8
|
+
"global-overlay-hosting-via-provider",
|
|
9
|
+
"async-custom-ok-auto-close-on-resolve"
|
|
10
|
+
],
|
|
11
|
+
"constraints": [
|
|
12
|
+
{
|
|
13
|
+
"code": "PROVIDER_REQUIRED",
|
|
14
|
+
"rule": "useGlobalModal/useGlobalDrawer/useGlobalOverlay 必须在 AntdOverlayProvider 作用域内调用"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"code": "OVERLAY_COMPONENT_CONTRACT",
|
|
18
|
+
"rule": "自定义组件必须消费 open 与 customClose,且 customOk 应由确认行为触发"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"code": "UPDATE_SHALLOW_MERGE",
|
|
22
|
+
"rule": "controller.update 使用浅合并,不进行深层对象合并"
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"errorSemantics": [
|
|
26
|
+
{
|
|
27
|
+
"code": "PROVIDER_REQUIRED",
|
|
28
|
+
"type": "runtime-throw",
|
|
29
|
+
"trigger": "全局 Hook 在 Provider 外调用",
|
|
30
|
+
"fix": "在应用入口包裹 AntdOverlayProvider"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"code": "CUSTOM_OK_REJECTED",
|
|
34
|
+
"type": "behavior",
|
|
35
|
+
"trigger": "customOk 抛错或 Promise reject",
|
|
36
|
+
"result": "覆盖层保持打开,错误透传"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"code": "UPDATE_SHALLOW_MERGE",
|
|
40
|
+
"type": "behavior",
|
|
41
|
+
"trigger": "调用 controller.update",
|
|
42
|
+
"result": "defaultProps < prevProps < nextProps(浅合并)"
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"recommendedTemplates": {
|
|
46
|
+
"globalModal": {
|
|
47
|
+
"providerRequired": true,
|
|
48
|
+
"snippet": "const openModal = useGlobalModal(Component); openModal({ ...props });"
|
|
49
|
+
},
|
|
50
|
+
"localModal": {
|
|
51
|
+
"providerRequired": false,
|
|
52
|
+
"snippet": "const [openModal, holder] = useModal(Component); openModal({ ...props });"
|
|
53
|
+
},
|
|
54
|
+
"controllerUpdate": {
|
|
55
|
+
"snippet": "const controller = openModal(init); controller.update(next); controller.close();"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"docs": {
|
|
59
|
+
"quickReference": "docs/ai/quick-reference.md",
|
|
60
|
+
"constraints": "docs/ai/constraints.md",
|
|
61
|
+
"apiManifest": "docs/ai/api-manifest.json"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# antd-overlay AI Quick Reference
|
|
2
|
+
|
|
3
|
+
本文件面向代码助手与自动化 Agent,提供最短可执行调用路径。
|
|
4
|
+
|
|
5
|
+
## 1) 全局调用(推荐跨组件场景)
|
|
6
|
+
|
|
7
|
+
前置条件:应用根节点已包裹 `AntdOverlayProvider`。
|
|
8
|
+
|
|
9
|
+
```tsx
|
|
10
|
+
import { AntdOverlayProvider, useGlobalModal, CustomModalProps } from 'antd-overlay';
|
|
11
|
+
import { Modal } from 'antd';
|
|
12
|
+
|
|
13
|
+
interface ConfirmModalProps extends CustomModalProps<void> {
|
|
14
|
+
titleText: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
const ConfirmModal: React.FC<ConfirmModalProps> = ({ open, customClose, customOk, titleText }) => (
|
|
18
|
+
<Modal open={open} title={titleText} onCancel={customClose} onOk={() => customOk?.()}>
|
|
19
|
+
Confirm?
|
|
20
|
+
</Modal>
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
function AppRoot() {
|
|
24
|
+
return (
|
|
25
|
+
<AntdOverlayProvider>
|
|
26
|
+
<Page />
|
|
27
|
+
</AntdOverlayProvider>
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
function Page() {
|
|
32
|
+
const openConfirm = useGlobalModal(ConfirmModal);
|
|
33
|
+
return <button onClick={() => openConfirm({ titleText: 'Delete item' })}>Open</button>;
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 2) 局部调用(需要 holder)
|
|
38
|
+
|
|
39
|
+
适用场景:覆盖层只在当前组件内管理,不依赖全局 Provider。
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
import { useModal } from 'antd-overlay';
|
|
43
|
+
|
|
44
|
+
function LocalPage() {
|
|
45
|
+
const [openConfirm, holder] = useModal(ConfirmModal);
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<>
|
|
49
|
+
<button onClick={() => openConfirm({ titleText: 'Local confirm' })}>Open</button>
|
|
50
|
+
{holder}
|
|
51
|
+
</>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 3) 控制器模式(update / close)
|
|
57
|
+
|
|
58
|
+
```tsx
|
|
59
|
+
const controller = openConfirm({ titleText: 'Step 1' });
|
|
60
|
+
controller.update({ titleText: 'Step 2' });
|
|
61
|
+
controller.close();
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 4) customOk 语义(必须遵守)
|
|
65
|
+
|
|
66
|
+
- 同步返回(不抛错):自动关闭覆盖层
|
|
67
|
+
- Promise resolve:Promise 完成后自动关闭
|
|
68
|
+
- throw 或 Promise reject:保持打开,错误继续抛给调用方
|
|
69
|
+
|
|
70
|
+
## 5) 最小规则清单
|
|
71
|
+
|
|
72
|
+
- 使用 `useGlobalModal/useGlobalDrawer/useGlobalOverlay` 时,必须存在 `AntdOverlayProvider`
|
|
73
|
+
- 自定义组件需要消费 `open` 与 `customClose`
|
|
74
|
+
- 覆盖层确认动作优先通过 `customOk` 触发,避免自行关闭与业务状态不同步
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "antd-overlay",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Ant Design Modal/Drawer 命令式调用方案",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -11,10 +11,15 @@
|
|
|
11
11
|
"types": "./dist/index.d.ts",
|
|
12
12
|
"import": "./dist/index.js",
|
|
13
13
|
"require": "./dist/index.cjs"
|
|
14
|
-
}
|
|
14
|
+
},
|
|
15
|
+
"./ai/api-manifest.json": "./docs/ai/api-manifest.json",
|
|
16
|
+
"./ai/contracts.json": "./docs/ai/contracts.json",
|
|
17
|
+
"./ai/quick-reference.md": "./docs/ai/quick-reference.md",
|
|
18
|
+
"./ai/constraints.md": "./docs/ai/constraints.md"
|
|
15
19
|
},
|
|
16
20
|
"files": [
|
|
17
|
-
"dist"
|
|
21
|
+
"dist",
|
|
22
|
+
"docs/ai"
|
|
18
23
|
],
|
|
19
24
|
"keywords": [
|
|
20
25
|
"antd",
|
|
@@ -65,6 +70,7 @@
|
|
|
65
70
|
"format": "prettier --write .",
|
|
66
71
|
"format:check": "prettier --check .",
|
|
67
72
|
"typecheck": "tsc --noEmit",
|
|
73
|
+
"validate:ai-docs": "node ./scripts/validate-ai-docs.mjs",
|
|
68
74
|
"changeset": "changeset",
|
|
69
75
|
"version-packages": "changeset version",
|
|
70
76
|
"release": "pnpm build && changeset publish"
|