@agile-team/wl-skills-ui 1.11.0 → 1.11.1
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/CHANGELOG.md +6 -0
- package/README.md +2 -2
- package/docs/ag-grid-empty-state.md +3 -2
- package/docs/split-grid-resize.md +2 -1
- package/docs/version-history.md +5 -0
- package/es/auto.js +1 -1
- package/es/{chunk-HGWRHQS6.js → chunk-M2X7ZZBR.js} +2 -7
- package/es/common-preset.js +1 -1
- package/es/index.js +1 -1
- package/package.json +162 -162
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.11.1] - 2026-08-26
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- AG Grid 空态守护导致上下分栏(`jh-drag-row`)手柄失去拖动行程:旧逻辑对分栏内所有 pane 按首次观测高度做快照并以 `min-height` 钉死,两侧地板相加约等于容器高度,分栏内任意一侧表格为空时手柄即拖不动,直到空态消失才解钉(wl-ui-produce 计划下达页实测复盘)。现只给持有空态表格的 pane 设置内容需求地板(pane 内非表格内容实测高度 + 160px 空态最小数据区),未持有空态表格的 pane 不钉死;空态提示保护、分屏根滚动、左右分栏同高语义与清理逻辑均不变。左右分栏(`drag-col`)路径零改动。
|
|
14
|
+
|
|
9
15
|
## [1.11.0] - 2026-08-24
|
|
10
16
|
|
|
11
17
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @agile-team/wl-skills-ui
|
|
2
2
|
|
|
3
|
-
**企业级 UI 一致性与 AI 精确治理工具包 v1.11.
|
|
3
|
+
**企业级 UI 一致性与 AI 精确治理工具包 v1.11.1** — 面向 Vue 3 + Element Plus 的设计令牌、样式皮肤、页面骨架、运行时能力、静态扫描、确定性修复、AI Skill、MCP 与脱敏 UI 模板契约。
|
|
4
4
|
|
|
5
5
|
它把“视觉统一、问题识别、机械修复、项目适配和样例沉淀”拆成可验证、可组合的工程能力。脚本、规则和 MCP 先完成确定性工作,AI 只处理业务语义与人工决策,从而减少重复读源码、上下文 token 和误修改。
|
|
6
6
|
|
|
@@ -449,7 +449,7 @@ npx wl-ui doctor --project . --print-overrides
|
|
|
449
449
|
|
|
450
450
|
## 版本与进一步阅读
|
|
451
451
|
|
|
452
|
-
当前 v1.11.0
|
|
452
|
+
当前 v1.11.1:修复空态守护按初始快照钉死上下分栏全部 pane 导致手柄失去拖动行程的问题,空态表格仍保留内容需求地板。v1.11.0 新增精确 SFC 解析、低 token 增量扫描、共享 Observer Hub、领域 ui-contract、13 个 MCP Tool、日期弹层全屏防护、表格全轴居中与 small 图标按钮确定性治理。
|
|
453
453
|
|
|
454
454
|
- [版本摘要](docs/version-history.md)
|
|
455
455
|
- [完整 Changelog](CHANGELOG.md)
|
|
@@ -34,8 +34,9 @@ AG Grid 的 no-rows overlay 在不同版本中可能覆盖整张 Grid。直接
|
|
|
34
34
|
`.ag-body`。
|
|
35
35
|
3. 把 overlay 的 `top/height` 对齐真实数据区,不计算固定表头高度。
|
|
36
36
|
4. 数据区小于 160px 时,为 grid host 添加包内最小高度标记,保证完整空态可容纳。
|
|
37
|
-
5.
|
|
38
|
-
|
|
37
|
+
5. 上下分屏只给持有空态表格的 pane 设置内容需求地板(pane 内非表格内容实测高度 +
|
|
38
|
+
空态最小数据区高度),未持有空态表格的 pane 不钉死,拖动手柄始终保留行程;
|
|
39
|
+
空间不足时仅让 `.drager_row` 承担纵向滚动。
|
|
39
40
|
6. 左右分屏把两个 pane 撑到同一最小高度,仅让 `.drag-col-container` 承担纵向滚动。
|
|
40
41
|
7. 弹窗内独立空表由 `.el-dialog__body` 承担滚动,不突破弹窗可视边界。
|
|
41
42
|
8. 数据恢复、路由卸载或手动卸载守护时,包添加的属性和 CSS 变量全部清理。
|
|
@@ -31,7 +31,8 @@
|
|
|
31
31
|
|
|
32
32
|
有数据时,本实现不会给 `.drager_top/.drager_bottom` 或 `.drager_row` 增加
|
|
33
33
|
`overflow:auto`。唯一例外是完整空状态:当 160px 数据区在当前上下分屏中放不下时,
|
|
34
|
-
`runtime/ag-grid-empty-state`
|
|
34
|
+
`runtime/ag-grid-empty-state` 只给持有空态表格的 pane 设置内容需求地板(不按初始
|
|
35
|
+
高度快照钉死全部 pane,手柄始终保留行程),并让最近的 `.drager_row`
|
|
35
36
|
临时承担一个纵向滚动条;数据恢复后立即撤销。pane 自身仍不滚动。
|
|
36
37
|
|
|
37
38
|
两套守护都不会访问 Vue 私有实例,不会遍历或猜测 `gridApi`,也不会广播全局
|
package/docs/version-history.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
本页保留面向使用者的版本能力摘要;逐提交级变更、修复细节和旧版本记录见根目录 [`CHANGELOG.md`](../CHANGELOG.md)。
|
|
4
4
|
|
|
5
|
+
## v1.11.1 — 空态守护不再锁死上下分栏手柄
|
|
6
|
+
|
|
7
|
+
- 上下分栏(`jh-drag-row`)内任意一侧表格为空时,手柄仍可自由拖动:空态守护只给持有空表格的 pane 设置内容需求地板(非表格内容实测高度 + 160px 最小数据区),不再按初始高度快照钉死全部 pane。
|
|
8
|
+
- 空态提示保护、分屏根滚动、左右分栏同高语义与卸载清理行为保持不变;左右分栏(`drag-col`)路径零改动。
|
|
9
|
+
|
|
5
10
|
## v1.11.0 — 精确扫描、低 token 与 UI 语义契约
|
|
6
11
|
|
|
7
12
|
- 原生 Element Plus Date/Time Picker Teleport 面板几何隔离,新增 R042、结构 fixture 和 Chrome/Edge 计算样式契约,避免裸 `.el-date-picker` 规则导致全屏。
|
package/es/auto.js
CHANGED
|
@@ -680,7 +680,6 @@ function collectRowSplitLayouts(rowGroups, paneMinHeights, scrollContainers, act
|
|
|
680
680
|
for (const [splitRoot, grids] of rowGroups) {
|
|
681
681
|
activeSplitRoots.add(splitRoot);
|
|
682
682
|
scrollContainers.set(splitRoot, "row");
|
|
683
|
-
const baselines = ensurePaneBaselines(splitRoot, ROW_PANE_SELECTOR);
|
|
684
683
|
const paneGroups = /* @__PURE__ */ new Map();
|
|
685
684
|
for (const grid of grids) {
|
|
686
685
|
const pane = grid.root.closest(ROW_PANE_SELECTOR);
|
|
@@ -689,12 +688,8 @@ function collectRowSplitLayouts(rowGroups, paneMinHeights, scrollContainers, act
|
|
|
689
688
|
paneGrids.push(grid);
|
|
690
689
|
paneGroups.set(pane, paneGrids);
|
|
691
690
|
}
|
|
692
|
-
for (const [pane,
|
|
693
|
-
|
|
694
|
-
paneMinHeights.set(
|
|
695
|
-
pane,
|
|
696
|
-
paneGrids ? Math.max(baseline, desiredPaneHeight(pane, paneGrids)) : baseline
|
|
697
|
-
);
|
|
691
|
+
for (const [pane, paneGrids] of paneGroups) {
|
|
692
|
+
paneMinHeights.set(pane, desiredPaneHeight(pane, paneGrids));
|
|
698
693
|
}
|
|
699
694
|
}
|
|
700
695
|
}
|
package/es/common-preset.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { installUiRuntimeGuards } from './chunk-
|
|
1
|
+
import { installUiRuntimeGuards } from './chunk-M2X7ZZBR.js';
|
|
2
2
|
import { renderTagNode, renderClassifyTag, registerColumnAutoMaps, renderRatingLevel, renderBadge } from './chunk-ZZXLRRGF.js';
|
|
3
3
|
export { registerDictColorMap, registerDictColorMaps, renderDictClassifyTag, setDictResolver } from './chunk-ZZXLRRGF.js';
|
|
4
4
|
import './chunk-Q62CGYZA.js';
|
package/es/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { AG_GRID_EMPTY_BODY_MIN_HEIGHT, SPLIT_GRID_RESIZE_EVENT, installAgGridEmptyStateGuard, installOverflowTooltipGuard, installSplitGridResizeGuard, installUiRuntimeGuards, refreshAgGridEmptyStateLayout, uninstallAgGridEmptyStateGuard, uninstallOverflowTooltipGuard, uninstallSplitGridResizeGuard, uninstallUiRuntimeGuards } from './chunk-
|
|
1
|
+
export { AG_GRID_EMPTY_BODY_MIN_HEIGHT, SPLIT_GRID_RESIZE_EVENT, installAgGridEmptyStateGuard, installOverflowTooltipGuard, installSplitGridResizeGuard, installUiRuntimeGuards, refreshAgGridEmptyStateLayout, uninstallAgGridEmptyStateGuard, uninstallOverflowTooltipGuard, uninstallSplitGridResizeGuard, uninstallUiRuntimeGuards } from './chunk-M2X7ZZBR.js';
|
|
2
2
|
import { registerColumnAutoMaps } from './chunk-ZZXLRRGF.js';
|
|
3
3
|
export { AUDIT_STATUS_MAP, AUTO_CLASSIFY_RULES, AUTO_STATUS_RULES, ENABLE_STATUS_MAP, RATING_LEVEL_COLORS, VERIFY_STATUS_MAP, autoTagTypeByLabel, clearColumnAutoMap, defineColumns, ensureDefaultAlignment, getColumnAutoMap, normalizeColumnAlignment, normalizeColumnAlignments, normalizeColumnAlignmentsWith, registerColumnAutoMap, registerColumnAutoMaps, registerDictColorMap, registerDictColorMaps, renderAuditStatus, renderAutoTag, renderAutoTagByLabel, renderBadge, renderClassifyTag, renderCountBadge, renderDangerText, renderDictClassifyTag, renderEnableStatus, renderOps, renderRatingLevel, renderTagNode, renderTagSlot, renderVerifyStatus, setDictResolver } from './chunk-ZZXLRRGF.js';
|
|
4
4
|
export { BRAND_THEME_TOKENS, getObserverHubStats, installBrandThemeLock, subscribeDocumentMutations, subscribeElementResize, uninstallBrandThemeLock } from './chunk-Q62CGYZA.js';
|
package/package.json
CHANGED
|
@@ -1,162 +1,162 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@agile-team/wl-skills-ui",
|
|
3
|
-
"version": "1.11.
|
|
4
|
-
"description": "企业级 UI 风格对齐框架 — Vue + Element Plus 项目通用化妆/原生双模式(tokens / element / vendors / layouts / runtime / scanner / fixer / skills)",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./es/index.js",
|
|
7
|
-
"types": "./es/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": "./es/index.js",
|
|
11
|
-
"types": "./es/index.d.ts"
|
|
12
|
-
},
|
|
13
|
-
"./runtime": {
|
|
14
|
-
"import": "./es/index.js",
|
|
15
|
-
"types": "./es/index.d.ts"
|
|
16
|
-
},
|
|
17
|
-
"./runtime/auto": {
|
|
18
|
-
"import": "./es/auto.js"
|
|
19
|
-
},
|
|
20
|
-
"./runtime/common-preset": {
|
|
21
|
-
"import": "./es/common-preset.js",
|
|
22
|
-
"types": "./es/common-preset.d.ts"
|
|
23
|
-
},
|
|
24
|
-
"./runtime/presets/security": {
|
|
25
|
-
"import": "./es/presets/security.js",
|
|
26
|
-
"types": "./es/presets/security.d.ts"
|
|
27
|
-
},
|
|
28
|
-
"./vite": "./runtime/vite/check.mjs",
|
|
29
|
-
"./styles": "./styles/index.scss",
|
|
30
|
-
"./styles/*": "./styles/*",
|
|
31
|
-
"./design/tokens": "./design/tokens/index.css",
|
|
32
|
-
"./design/tokens/*": "./design/tokens/*",
|
|
33
|
-
"./dist": "./dist/index.scss",
|
|
34
|
-
"./dist/tokens.css": "./dist/tokens.css",
|
|
35
|
-
"./dist/portal.scss": "./dist/portal.scss",
|
|
36
|
-
"./dist/*": "./dist/*",
|
|
37
|
-
"./standards/*": "./standards/*",
|
|
38
|
-
"./skills/*": "./skills/*",
|
|
39
|
-
"./templates/*": "./templates/*",
|
|
40
|
-
"./SKILL.md": "./SKILL.md"
|
|
41
|
-
},
|
|
42
|
-
"bin": {
|
|
43
|
-
"wl-ui": "bin/wl-ui.js",
|
|
44
|
-
"wl-scan": "scanner/index.mjs",
|
|
45
|
-
"wl-ui-mcp": "mcp/server.js"
|
|
46
|
-
},
|
|
47
|
-
"scripts": {
|
|
48
|
-
"build": "tsup && npm run sync:tokens",
|
|
49
|
-
"prepare": "npm run build",
|
|
50
|
-
"sync:tokens": "node -e \"import('fs').then(fs=>fs.copyFileSync('design/tokens/base.css','dist/tokens.css'))\"",
|
|
51
|
-
"test": "node --test scanner/__tests__/*.test.mjs runtime/__tests__/*.test.mjs",
|
|
52
|
-
"test:visual": "playwright test --config tests/visual/playwright.config.ts",
|
|
53
|
-
"test:visual:contracts": "playwright test --config tests/visual/playwright.config.ts tests/visual/specs/browser-compat.spec.ts",
|
|
54
|
-
"test:visual:ui": "playwright test --config tests/visual/playwright.config.ts --ui",
|
|
55
|
-
"test:visual:update": "playwright test --config tests/visual/playwright.config.ts --update-snapshots",
|
|
56
|
-
"check:scss": "node scripts/check-scss.mjs",
|
|
57
|
-
"check:compat": "node scripts/check-compat-matrix.mjs",
|
|
58
|
-
"docs:check": "node scripts/check-docs.mjs",
|
|
59
|
-
"scan": "node scanner/index.mjs scan",
|
|
60
|
-
"check": "node scanner/index.mjs check",
|
|
61
|
-
"fix": "node scanner/index.mjs fix",
|
|
62
|
-
"all": "node scanner/index.mjs all",
|
|
63
|
-
"standards:init": "npx @robot-admin/git-standards init",
|
|
64
|
-
"cz": "git-cz",
|
|
65
|
-
"lint": "eslint . --max-warnings 0",
|
|
66
|
-
"verify:package": "node scripts/verify-package.mjs",
|
|
67
|
-
"verify": "npm run lint && npm test && npm run check:scss && npm run check:compat && npm run docs:check && npm run build && npm run verify:package",
|
|
68
|
-
"pack:dry": "npm pack --dry-run --ignore-scripts",
|
|
69
|
-
"release:check": "npm run verify && npm run test:visual:contracts && npm run pack:dry",
|
|
70
|
-
"prepublishOnly": "npm run release:check",
|
|
71
|
-
"test:coverage": "node --test --experimental-test-coverage scanner/__tests__/*.test.mjs runtime/__tests__/*.test.mjs",
|
|
72
|
-
"benchmark:runtime": "node scripts/benchmark-observer-hub.mjs"
|
|
73
|
-
},
|
|
74
|
-
"files": [
|
|
75
|
-
"dist",
|
|
76
|
-
"es",
|
|
77
|
-
"runtime/vite",
|
|
78
|
-
"scanner/*.mjs",
|
|
79
|
-
"scanner/rules",
|
|
80
|
-
"standards",
|
|
81
|
-
"styles",
|
|
82
|
-
"design",
|
|
83
|
-
"docs",
|
|
84
|
-
"skills",
|
|
85
|
-
"templates",
|
|
86
|
-
"bin",
|
|
87
|
-
"mcp",
|
|
88
|
-
"reference",
|
|
89
|
-
"examples",
|
|
90
|
-
"SKILL.md",
|
|
91
|
-
"README.md",
|
|
92
|
-
"CHANGELOG.md"
|
|
93
|
-
],
|
|
94
|
-
"sideEffects": [
|
|
95
|
-
"*.css",
|
|
96
|
-
"*.scss",
|
|
97
|
-
"./es/auto.js"
|
|
98
|
-
],
|
|
99
|
-
"devDependencies": {
|
|
100
|
-
"@commitlint/cli": "^20.5.3",
|
|
101
|
-
"@commitlint/config-conventional": "^20.5.3",
|
|
102
|
-
"@element-plus/icons-vue": "^2.3.0",
|
|
103
|
-
"@playwright/test": "^1.62.1",
|
|
104
|
-
"@typescript-eslint/eslint-plugin": "^8.59.2",
|
|
105
|
-
"@typescript-eslint/parser": "^8.59.2",
|
|
106
|
-
"@vitejs/plugin-vue": "^6.0.8",
|
|
107
|
-
"@vue/eslint-config-typescript": "^14.7.0",
|
|
108
|
-
"commitizen": "^4.3.1",
|
|
109
|
-
"cz-customizable": "^7.5.4",
|
|
110
|
-
"element-plus": "^2.7.0",
|
|
111
|
-
"eslint": "^10.3.0",
|
|
112
|
-
"eslint-plugin-vue": "^10.9.0",
|
|
113
|
-
"happy-dom": "20.11.1",
|
|
114
|
-
"husky": "^9.1.7",
|
|
115
|
-
"lint-staged": "^16.4.0",
|
|
116
|
-
"sass": "1.77.8",
|
|
117
|
-
"tsup": "^8.3.0",
|
|
118
|
-
"typescript": "^5.4.0",
|
|
119
|
-
"vite": "^8.2.0",
|
|
120
|
-
"vue": "^3.4.0"
|
|
121
|
-
},
|
|
122
|
-
"peerDependencies": {
|
|
123
|
-
"@element-plus/icons-vue": ">=2.0",
|
|
124
|
-
"element-plus": ">=2.2",
|
|
125
|
-
"vue": ">=3.2"
|
|
126
|
-
},
|
|
127
|
-
"peerDependenciesMeta": {
|
|
128
|
-
"@element-plus/icons-vue": {
|
|
129
|
-
"optional": true
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"engines": {
|
|
133
|
-
"node": ">=22"
|
|
134
|
-
},
|
|
135
|
-
"keywords": [
|
|
136
|
-
"vue",
|
|
137
|
-
"vue3",
|
|
138
|
-
"element-plus",
|
|
139
|
-
"ag-grid",
|
|
140
|
-
"design-tokens",
|
|
141
|
-
"ui-alignment",
|
|
142
|
-
"linter",
|
|
143
|
-
"copilot-skill"
|
|
144
|
-
],
|
|
145
|
-
"license": "UNLICENSED",
|
|
146
|
-
"publishConfig": {
|
|
147
|
-
"access": "public"
|
|
148
|
-
},
|
|
149
|
-
"config": {
|
|
150
|
-
"commitizen": {
|
|
151
|
-
"path": "node_modules/cz-customizable"
|
|
152
|
-
},
|
|
153
|
-
"cz-customizable": {
|
|
154
|
-
"config": ".cz-config.cjs"
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
"lint-staged": {
|
|
158
|
-
"src/**/*.{js,jsx,ts,tsx,vue}": [
|
|
159
|
-
"eslint --fix --no-cache"
|
|
160
|
-
]
|
|
161
|
-
}
|
|
162
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@agile-team/wl-skills-ui",
|
|
3
|
+
"version": "1.11.1",
|
|
4
|
+
"description": "企业级 UI 风格对齐框架 — Vue + Element Plus 项目通用化妆/原生双模式(tokens / element / vendors / layouts / runtime / scanner / fixer / skills)",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./es/index.js",
|
|
7
|
+
"types": "./es/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": "./es/index.js",
|
|
11
|
+
"types": "./es/index.d.ts"
|
|
12
|
+
},
|
|
13
|
+
"./runtime": {
|
|
14
|
+
"import": "./es/index.js",
|
|
15
|
+
"types": "./es/index.d.ts"
|
|
16
|
+
},
|
|
17
|
+
"./runtime/auto": {
|
|
18
|
+
"import": "./es/auto.js"
|
|
19
|
+
},
|
|
20
|
+
"./runtime/common-preset": {
|
|
21
|
+
"import": "./es/common-preset.js",
|
|
22
|
+
"types": "./es/common-preset.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./runtime/presets/security": {
|
|
25
|
+
"import": "./es/presets/security.js",
|
|
26
|
+
"types": "./es/presets/security.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./vite": "./runtime/vite/check.mjs",
|
|
29
|
+
"./styles": "./styles/index.scss",
|
|
30
|
+
"./styles/*": "./styles/*",
|
|
31
|
+
"./design/tokens": "./design/tokens/index.css",
|
|
32
|
+
"./design/tokens/*": "./design/tokens/*",
|
|
33
|
+
"./dist": "./dist/index.scss",
|
|
34
|
+
"./dist/tokens.css": "./dist/tokens.css",
|
|
35
|
+
"./dist/portal.scss": "./dist/portal.scss",
|
|
36
|
+
"./dist/*": "./dist/*",
|
|
37
|
+
"./standards/*": "./standards/*",
|
|
38
|
+
"./skills/*": "./skills/*",
|
|
39
|
+
"./templates/*": "./templates/*",
|
|
40
|
+
"./SKILL.md": "./SKILL.md"
|
|
41
|
+
},
|
|
42
|
+
"bin": {
|
|
43
|
+
"wl-ui": "bin/wl-ui.js",
|
|
44
|
+
"wl-scan": "scanner/index.mjs",
|
|
45
|
+
"wl-ui-mcp": "mcp/server.js"
|
|
46
|
+
},
|
|
47
|
+
"scripts": {
|
|
48
|
+
"build": "tsup && npm run sync:tokens",
|
|
49
|
+
"prepare": "npm run build",
|
|
50
|
+
"sync:tokens": "node -e \"import('fs').then(fs=>fs.copyFileSync('design/tokens/base.css','dist/tokens.css'))\"",
|
|
51
|
+
"test": "node --test scanner/__tests__/*.test.mjs runtime/__tests__/*.test.mjs",
|
|
52
|
+
"test:visual": "playwright test --config tests/visual/playwright.config.ts",
|
|
53
|
+
"test:visual:contracts": "playwright test --config tests/visual/playwright.config.ts tests/visual/specs/browser-compat.spec.ts",
|
|
54
|
+
"test:visual:ui": "playwright test --config tests/visual/playwright.config.ts --ui",
|
|
55
|
+
"test:visual:update": "playwright test --config tests/visual/playwright.config.ts --update-snapshots",
|
|
56
|
+
"check:scss": "node scripts/check-scss.mjs",
|
|
57
|
+
"check:compat": "node scripts/check-compat-matrix.mjs",
|
|
58
|
+
"docs:check": "node scripts/check-docs.mjs",
|
|
59
|
+
"scan": "node scanner/index.mjs scan",
|
|
60
|
+
"check": "node scanner/index.mjs check",
|
|
61
|
+
"fix": "node scanner/index.mjs fix",
|
|
62
|
+
"all": "node scanner/index.mjs all",
|
|
63
|
+
"standards:init": "npx @robot-admin/git-standards init",
|
|
64
|
+
"cz": "git-cz",
|
|
65
|
+
"lint": "eslint . --max-warnings 0",
|
|
66
|
+
"verify:package": "node scripts/verify-package.mjs",
|
|
67
|
+
"verify": "npm run lint && npm test && npm run check:scss && npm run check:compat && npm run docs:check && npm run build && npm run verify:package",
|
|
68
|
+
"pack:dry": "npm pack --dry-run --ignore-scripts",
|
|
69
|
+
"release:check": "npm run verify && npm run test:visual:contracts && npm run pack:dry",
|
|
70
|
+
"prepublishOnly": "npm run release:check",
|
|
71
|
+
"test:coverage": "node --test --experimental-test-coverage scanner/__tests__/*.test.mjs runtime/__tests__/*.test.mjs",
|
|
72
|
+
"benchmark:runtime": "node scripts/benchmark-observer-hub.mjs"
|
|
73
|
+
},
|
|
74
|
+
"files": [
|
|
75
|
+
"dist",
|
|
76
|
+
"es",
|
|
77
|
+
"runtime/vite",
|
|
78
|
+
"scanner/*.mjs",
|
|
79
|
+
"scanner/rules",
|
|
80
|
+
"standards",
|
|
81
|
+
"styles",
|
|
82
|
+
"design",
|
|
83
|
+
"docs",
|
|
84
|
+
"skills",
|
|
85
|
+
"templates",
|
|
86
|
+
"bin",
|
|
87
|
+
"mcp",
|
|
88
|
+
"reference",
|
|
89
|
+
"examples",
|
|
90
|
+
"SKILL.md",
|
|
91
|
+
"README.md",
|
|
92
|
+
"CHANGELOG.md"
|
|
93
|
+
],
|
|
94
|
+
"sideEffects": [
|
|
95
|
+
"*.css",
|
|
96
|
+
"*.scss",
|
|
97
|
+
"./es/auto.js"
|
|
98
|
+
],
|
|
99
|
+
"devDependencies": {
|
|
100
|
+
"@commitlint/cli": "^20.5.3",
|
|
101
|
+
"@commitlint/config-conventional": "^20.5.3",
|
|
102
|
+
"@element-plus/icons-vue": "^2.3.0",
|
|
103
|
+
"@playwright/test": "^1.62.1",
|
|
104
|
+
"@typescript-eslint/eslint-plugin": "^8.59.2",
|
|
105
|
+
"@typescript-eslint/parser": "^8.59.2",
|
|
106
|
+
"@vitejs/plugin-vue": "^6.0.8",
|
|
107
|
+
"@vue/eslint-config-typescript": "^14.7.0",
|
|
108
|
+
"commitizen": "^4.3.1",
|
|
109
|
+
"cz-customizable": "^7.5.4",
|
|
110
|
+
"element-plus": "^2.7.0",
|
|
111
|
+
"eslint": "^10.3.0",
|
|
112
|
+
"eslint-plugin-vue": "^10.9.0",
|
|
113
|
+
"happy-dom": "20.11.1",
|
|
114
|
+
"husky": "^9.1.7",
|
|
115
|
+
"lint-staged": "^16.4.0",
|
|
116
|
+
"sass": "1.77.8",
|
|
117
|
+
"tsup": "^8.3.0",
|
|
118
|
+
"typescript": "^5.4.0",
|
|
119
|
+
"vite": "^8.2.0",
|
|
120
|
+
"vue": "^3.4.0"
|
|
121
|
+
},
|
|
122
|
+
"peerDependencies": {
|
|
123
|
+
"@element-plus/icons-vue": ">=2.0",
|
|
124
|
+
"element-plus": ">=2.2",
|
|
125
|
+
"vue": ">=3.2"
|
|
126
|
+
},
|
|
127
|
+
"peerDependenciesMeta": {
|
|
128
|
+
"@element-plus/icons-vue": {
|
|
129
|
+
"optional": true
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
"engines": {
|
|
133
|
+
"node": ">=22"
|
|
134
|
+
},
|
|
135
|
+
"keywords": [
|
|
136
|
+
"vue",
|
|
137
|
+
"vue3",
|
|
138
|
+
"element-plus",
|
|
139
|
+
"ag-grid",
|
|
140
|
+
"design-tokens",
|
|
141
|
+
"ui-alignment",
|
|
142
|
+
"linter",
|
|
143
|
+
"copilot-skill"
|
|
144
|
+
],
|
|
145
|
+
"license": "UNLICENSED",
|
|
146
|
+
"publishConfig": {
|
|
147
|
+
"access": "public"
|
|
148
|
+
},
|
|
149
|
+
"config": {
|
|
150
|
+
"commitizen": {
|
|
151
|
+
"path": "node_modules/cz-customizable"
|
|
152
|
+
},
|
|
153
|
+
"cz-customizable": {
|
|
154
|
+
"config": ".cz-config.cjs"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"lint-staged": {
|
|
158
|
+
"src/**/*.{js,jsx,ts,tsx,vue}": [
|
|
159
|
+
"eslint --fix --no-cache"
|
|
160
|
+
]
|
|
161
|
+
}
|
|
162
|
+
}
|