create-windy 0.6.8 → 0.6.9
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/dist/cli.js +152 -24
- package/package.json +1 -1
- package/template/.windy-template.json +2 -2
- package/template/README.md +4 -2
- package/template/apps/server/src/runtime-development.ts +1 -0
- package/template/apps/web/src/layout/AppSidebar.vue +1 -0
- package/template/apps/web/src/pages/ui/UiComponentPage.vue +7 -0
- package/template/apps/web/src/pages/ui/UiComponentPage.webtest.ts +94 -0
- package/template/apps/web/src/pages/ui/component-catalog.ts +248 -0
- package/template/apps/web/src/pages/ui/components/ComponentPreviewCard.vue +50 -0
- package/template/apps/web/src/pages/ui/components/DataComponentShowcases.vue +131 -0
- package/template/apps/web/src/pages/ui/components/FeedbackComponentShowcases.vue +158 -0
- package/template/apps/web/src/pages/ui/components/FoundationComponentShowcases.vue +129 -0
- package/template/apps/web/src/pages/ui/components/NavigationComponentShowcases.vue +155 -0
- package/template/apps/web/src/pages/ui/components/ProjectComponentShowcases.vue +31 -0
- package/template/apps/web/src/pages/ui/components/UiComponentGallery.vue +238 -0
- package/template/apps/web/src/router/index.ts +2 -0
- package/template/apps/web/src/router/manifest-routes.webtest.ts +1 -0
- package/template/apps/web/src/router/platform-admin-route-bindings.ts +3 -1
- package/template/docs/development/business-web-routes.md +3 -1
- package/template/docs/development/ui-component-gallery.md +44 -0
- package/template/docs/operations/incremental-delivery.md +10 -9
- package/template/packages/modules/package.json +1 -1
- package/template/packages/modules/src/system-admin-routes.ts +8 -0
- package/template/packages/modules/src/system-admin-ui-catalog.ts +1 -1
- package/template/packages/modules/src/system-features.ts +5 -0
- package/template/packages/modules/src/system-module-catalog.ts +2 -1
- package/template/packages/modules/src/system-modules.ts +11 -0
- package/template/packages/modules/src/system-permissions.ts +2 -0
- package/template/packages/modules/src/system-ui-components.test.ts +36 -0
|
@@ -107,11 +107,11 @@ package `bin`,避免 fresh `bun install` 改写受管源码的 POSIX mode。
|
|
|
107
107
|
|
|
108
108
|
```bash
|
|
109
109
|
sudo install -d -m 0755 /opt/windy/runtime /opt/windy/bin
|
|
110
|
-
sudo cp -R ./packages/delivery /opt/windy/runtime/delivery-0.6.
|
|
111
|
-
sudo chmod 0555 /opt/windy/runtime/delivery-0.6.
|
|
112
|
-
sudo mv /opt/windy/runtime/delivery-0.6.
|
|
113
|
-
/opt/windy/runtime/delivery-0.6.
|
|
114
|
-
sudo ln -s /opt/windy/runtime/delivery-0.6.
|
|
110
|
+
sudo cp -R ./packages/delivery /opt/windy/runtime/delivery-0.6.8.tmp
|
|
111
|
+
sudo chmod 0555 /opt/windy/runtime/delivery-0.6.8.tmp/bin/windy-delivery
|
|
112
|
+
sudo mv /opt/windy/runtime/delivery-0.6.8.tmp \
|
|
113
|
+
/opt/windy/runtime/delivery-0.6.8
|
|
114
|
+
sudo ln -s /opt/windy/runtime/delivery-0.6.8/bin/windy-delivery \
|
|
115
115
|
/opt/windy/bin/windy-delivery.next
|
|
116
116
|
sudo mv -Tf /opt/windy/bin/windy-delivery.next \
|
|
117
117
|
/opt/windy/bin/windy-delivery
|
|
@@ -175,10 +175,11 @@ resource fork 或 Finder metadata。路径组件以 `._` 开头时直接拒绝
|
|
|
175
175
|
|
|
176
176
|
## 构建与旧项目升级
|
|
177
177
|
|
|
178
|
-
`create-windy@0.6.7`
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
layout(含 `oci-layout`、`index.json` 和
|
|
178
|
+
`packages/delivery`、本说明和 `delivery:remote` 脚本自 `create-windy@0.6.7` 起进入受管
|
|
179
|
+
Starter;当前公开版为 `0.6.8`,最低支持基线 `0.6.6` 可通过连续 recipe 事务升级,现有
|
|
180
|
+
project-owned 发布脚本不会被覆盖。正式构建先准备一个完整 release 目录,其中
|
|
181
|
+
`images.tar` 必须是 OCI image layout(含 `oci-layout`、`index.json` 和
|
|
182
|
+
`blobs/sha256/*`),再运行:
|
|
182
183
|
|
|
183
184
|
```bash
|
|
184
185
|
bun run delivery:remote -- pack \
|
|
@@ -70,6 +70,14 @@ export const systemAdminRoutes: ModuleManifest["adminRoutes"] = [
|
|
|
70
70
|
"system.feature.read",
|
|
71
71
|
"system.feature",
|
|
72
72
|
),
|
|
73
|
+
route(
|
|
74
|
+
"system.ui-components",
|
|
75
|
+
"/ui/component",
|
|
76
|
+
"组件总览",
|
|
77
|
+
"sidebar",
|
|
78
|
+
"system.ui-components.read",
|
|
79
|
+
"system.ui-components",
|
|
80
|
+
),
|
|
73
81
|
// @windy-module system.notification begin
|
|
74
82
|
route(
|
|
75
83
|
"system.notification",
|
|
@@ -2,7 +2,7 @@ import type { AdminUiManifest } from "./admin-ui-manifest.js";
|
|
|
2
2
|
import { systemAdminRoutes } from "./system-admin-routes.js";
|
|
3
3
|
|
|
4
4
|
const definitions = [
|
|
5
|
-
["system", ["system.feature"]],
|
|
5
|
+
["system", ["system.feature", "system.ui-components"]],
|
|
6
6
|
[
|
|
7
7
|
"system.identity",
|
|
8
8
|
[
|
|
@@ -37,6 +37,11 @@ export const systemFeatures: ModuleManifest["features"] = [
|
|
|
37
37
|
"功能开关管理",
|
|
38
38
|
"查看和恢复平台 Feature 状态的核心控制面能力。",
|
|
39
39
|
),
|
|
40
|
+
feature(
|
|
41
|
+
"system.ui-components",
|
|
42
|
+
"UI 组件总览",
|
|
43
|
+
"查看 Windy Web 已封装基础组件的真实主题与交互示例。",
|
|
44
|
+
),
|
|
40
45
|
feature(
|
|
41
46
|
"system.user-directory",
|
|
42
47
|
"业务用户目录",
|
|
@@ -21,12 +21,13 @@ export const systemModuleDefinitions = [
|
|
|
21
21
|
version: "0.1.0",
|
|
22
22
|
label: "系统核心",
|
|
23
23
|
description: "管理面准入、Feature 治理、数据库基线与审计动作目录。",
|
|
24
|
-
resources: ["admin", "runtime", "auth", "feature"],
|
|
24
|
+
resources: ["admin", "runtime", "auth", "feature", "ui-components"],
|
|
25
25
|
featureKeys: [
|
|
26
26
|
"system.admin",
|
|
27
27
|
"system.runtime",
|
|
28
28
|
"system.auth",
|
|
29
29
|
"system.feature",
|
|
30
|
+
"system.ui-components",
|
|
30
31
|
"system.ruoyi-compat",
|
|
31
32
|
],
|
|
32
33
|
},
|
|
@@ -169,6 +169,17 @@ export function systemFoundationModule(): ModuleManifest {
|
|
|
169
169
|
featureKey: "system.config",
|
|
170
170
|
},
|
|
171
171
|
// @windy-module system.configuration end
|
|
172
|
+
{
|
|
173
|
+
key: "system.ui-components",
|
|
174
|
+
title: "组件总览",
|
|
175
|
+
type: "menu",
|
|
176
|
+
order: 70,
|
|
177
|
+
visible: true,
|
|
178
|
+
path: "/ui/component",
|
|
179
|
+
icon: "blocks",
|
|
180
|
+
permissionKey: "system.ui-components.read",
|
|
181
|
+
featureKey: "system.ui-components",
|
|
182
|
+
},
|
|
172
183
|
],
|
|
173
184
|
},
|
|
174
185
|
{
|
|
@@ -11,6 +11,7 @@ const systemResourceLabels = {
|
|
|
11
11
|
menu: "菜单管理",
|
|
12
12
|
dict: "字典管理",
|
|
13
13
|
feature: "功能开关",
|
|
14
|
+
"ui-components": "UI 组件总览",
|
|
14
15
|
search: "全局搜索",
|
|
15
16
|
settings: "全局设置",
|
|
16
17
|
config: "配置版本",
|
|
@@ -96,6 +97,7 @@ export const systemPermissions: ModuleManifest["permissions"] = [
|
|
|
96
97
|
permission("dict", "manage"),
|
|
97
98
|
permission("feature", "read"),
|
|
98
99
|
permission("feature", "manage"),
|
|
100
|
+
permission("ui-components", "read"),
|
|
99
101
|
// @windy-module system.search begin
|
|
100
102
|
permission("search", "read"),
|
|
101
103
|
permission("search", "manage"),
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { describe, expect, test } from "bun:test";
|
|
2
|
+
import { systemFoundationModule } from "./system-modules.js";
|
|
3
|
+
|
|
4
|
+
describe("系统组件展厅能力注册", () => {
|
|
5
|
+
test("以同一能力 Key 注册 Feature、Permission、菜单和路由", () => {
|
|
6
|
+
const manifest = systemFoundationModule();
|
|
7
|
+
const menus = flattenMenus(manifest.menus);
|
|
8
|
+
|
|
9
|
+
expect(manifest.features).toContainEqual(
|
|
10
|
+
expect.objectContaining({ key: "system.ui-components" }),
|
|
11
|
+
);
|
|
12
|
+
expect(manifest.permissions).toContainEqual(
|
|
13
|
+
expect.objectContaining({ key: "system.ui-components.read" }),
|
|
14
|
+
);
|
|
15
|
+
expect(
|
|
16
|
+
menus.find(({ key }) => key === "system.ui-components"),
|
|
17
|
+
).toMatchObject({
|
|
18
|
+
path: "/ui/component",
|
|
19
|
+
permissionKey: "system.ui-components.read",
|
|
20
|
+
featureKey: "system.ui-components",
|
|
21
|
+
});
|
|
22
|
+
expect(
|
|
23
|
+
manifest.adminRoutes.find(({ key }) => key === "system.ui-components"),
|
|
24
|
+
).toMatchObject({
|
|
25
|
+
path: "/ui/component",
|
|
26
|
+
permissionKey: "system.ui-components.read",
|
|
27
|
+
featureKey: "system.ui-components",
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
function flattenMenus(
|
|
33
|
+
menus: ReturnType<typeof systemFoundationModule>["menus"],
|
|
34
|
+
): ReturnType<typeof systemFoundationModule>["menus"] {
|
|
35
|
+
return menus.flatMap((menu) => [menu, ...flattenMenus(menu.children || [])]);
|
|
36
|
+
}
|