cabloy 5.1.54 → 5.1.55

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 CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 5.1.55
4
+
5
+ ### Features
6
+
7
+ - Add update-related functionality.
8
+
9
+ ### Improvements
10
+
11
+ - Create the `pnpm-workspace.yaml` workspace configuration.
12
+ - Update the `pnpm-workspace.yaml` workspace configuration.
13
+
3
14
  ## 5.1.54
4
15
 
5
16
  ### Features
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cabloy",
3
- "version": "5.1.54",
3
+ "version": "5.1.55",
4
4
  "gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
5
5
  "description": "A Node.js fullstack framework",
6
6
  "keywords": [
@@ -0,0 +1,2 @@
1
+ allowBuilds:
2
+ nx: true
package/scripts/init.ts CHANGED
@@ -44,6 +44,10 @@ function execQuiet(cmd: string, cwd = ROOT_DIR): string {
44
44
  return execSync(cmd, { stdio: 'pipe', cwd }).toString();
45
45
  }
46
46
 
47
+ function pnpmInstall(cwd = ROOT_DIR): void {
48
+ exec('pnpm install --config.confirmModulesPurge=false --no-frozen-lockfile', cwd);
49
+ }
50
+
47
51
  function checkPnpm(): void {
48
52
  const version = execQuiet('pnpm --version').trimEnd();
49
53
  const [major, minor, patch] = version.split('.').map(item => Number.parseInt(item, 10) || 0);
@@ -166,7 +170,7 @@ function initVona(): void {
166
170
  const pkgPath = resolve(VONA_DIR, 'package.json');
167
171
  // if (!existsSync(pkgPath)) {
168
172
  copyFileSync(resolve(VONA_DIR, 'package.original.json'), pkgPath);
169
- exec('pnpm install --no-frozen-lockfile', VONA_DIR);
173
+ pnpmInstall(VONA_DIR);
170
174
  // }
171
175
  exec('npm run vona :tools:deps');
172
176
  }
@@ -179,7 +183,7 @@ function initZova(): void {
179
183
  const pkgPath = resolve(ZOVA_DIR, 'package.json');
180
184
  // if (!existsSync(pkgPath)) {
181
185
  copyFileSync(resolve(ZOVA_DIR, 'package.original.json'), pkgPath);
182
- exec('pnpm install --no-frozen-lockfile', ZOVA_DIR);
186
+ pnpmInstall(ZOVA_DIR);
183
187
  // }
184
188
  exec('npm run zova :tools:deps');
185
189
  }
@@ -226,13 +230,13 @@ function initCabloyDocs(): void {
226
230
  if (!existsSync(pkgPath)) return;
227
231
  // eslint-disable-next-line
228
232
  console.log('[init] Initializing cabloy-docs...');
229
- exec('pnpm install --no-frozen-lockfile', CABLOY_DOCS_DIR);
233
+ pnpmInstall(CABLOY_DOCS_DIR);
230
234
  }
231
235
 
232
236
  // --- Main ---
233
237
 
234
238
  checkPnpm();
235
- exec('pnpm install --no-frozen-lockfile');
239
+ pnpmInstall();
236
240
  setAppName();
237
241
  generateEnvProdLocal();
238
242
  generateEnvProdDockerLocal();
@@ -57,5 +57,7 @@ minimumReleaseAgeExclude:
57
57
  - vue@3.5.38
58
58
 
59
59
  allowBuilds:
60
+ '@parcel/watcher': true
61
+ '@zhennann/ejs': true
60
62
  esbuild: true
61
63
  vue-demi: true
package/vona/README.md DELETED
@@ -1,109 +0,0 @@
1
- English | [Simplified Chinese](./README.zh-CN.md)
2
-
3
- # Vona
4
-
5
- Vona is a fullstack framework for building SSR/SPA/Web/Admin in one codebase, featuring frontend and backend separation and native type sharing
6
-
7
- - Supports dual-layer tabs navigation, enabling efficient page switching while maintaining page state
8
- - Dynamically render CRUD list pages, entry pages, and search forms, while demonstrating best practices for Tanstack Table, Tanstack Form, and Tanstack Query
9
- - Dynamically infer and generate DTOs to eliminate redundant type definitions and boost development productivity
10
-
11
- [![LICENSE MIT][license-image]][license-url]
12
- [![NPM version][npm-image]][npm-url]
13
- [![Test coverage][cov-image]][cov-url]
14
- [![NPM download][download-image]][download-url]
15
-
16
- [license-image]: https://img.shields.io/badge/license-MIT-blue.svg
17
- [license-url]: https://github.com/vonajs/vona/blob/master/LICENSE
18
- [npm-image]: https://img.shields.io/npm/v/vona.svg?style=flat-square
19
- [npm-url]: https://npmjs.com/package/vona
20
- [cov-image]: https://img.shields.io/codecov/c/github/vonajs/vona.svg?style=flat-square
21
- [cov-url]: https://app.codecov.io/github/vonajs/vona
22
- [download-image]: https://img.shields.io/npm/dm/vona?color=orange&label=npm%20downloads
23
- [download-url]: https://npmjs.com/package/vona
24
-
25
- ## Fullstack Mechanism
26
-
27
- Vona adopts a frontend-backend separation architecture. The frontend uses the Zova framework, and the built JS bundle is placed into the Vona backend for direct SSR rendering on the backend
28
-
29
- Frontend-backend type sharing mechanism:
30
-
31
- - The backend generates Swagger/OpenAPI Schema for generating API SDK on the frontend
32
- - The frontend generates types for icons, routes, and components for providing type hints on the backend
33
-
34
- ## Documentation
35
-
36
- - [Docs](https://vona.js.org/guide/start/introduction.html)
37
-
38
- ## Demo Online
39
-
40
- The Web and Admin of Cabloy Store are built by one codebase
41
-
42
- - Web: [https://cabloy.com](https://cabloy.com)
43
- - Admin: [https://cabloy.com/admin](https://cabloy.com/admin)
44
-
45
- ## GIF Demo
46
-
47
- - Dual-layer tabs navigation
48
-
49
- ![](./packages-docs/assets/img/start/cabloy-start-two-level-tabs.gif)
50
-
51
- ## Technology Stack
52
-
53
- ### General
54
-
55
- | Name | Version |
56
- | ---------- | -------- |
57
- | pnpm | >=11.5.2 |
58
- | Nodejs | >=24.8.0 |
59
- | Typescript | >=5.9.3 |
60
-
61
- ### Backend(Vona)
62
-
63
- | Name | Version |
64
- | ---------- | -------- |
65
- | Koa | >=3.0.0 |
66
- | Knex | >=3.1.0 |
67
- | Zod | >=4.1.13 |
68
- | Redis | >=7.2.6 |
69
- | Sqlite3 | builtin |
70
- | MySQL | >=8 |
71
- | Postgresql | >=16 |
72
-
73
- - `Redis`: VonaJS provides the following capabilities based on Redis:
74
- - `Queue, Schedule, Startup, Broadcast, Caching, Two-layer cache, and Redlock`
75
- - `Sqlite3`: You need to set up the node-gyp environment in advance to ensure that `better_sqlite3.node` can be compiled properly when installing dependencies
76
-
77
- ### Frontend(Zova)
78
-
79
- | Name | Version |
80
- | -------------- | -------- |
81
- | Vite | >=8.0.0 |
82
- | Vue | >=3.5.6 |
83
- | Vue Router | >=4.4.5 |
84
- | Zod | >=4.1.13 |
85
- | Tanstack Query | >=5.92.5 |
86
- | Tanstack Form | >=1.23.5 |
87
- | Tanstack Table | >=8.21.3 |
88
-
89
- ### UI Libraries
90
-
91
- Zova can be used with any UI library and comes with built-in project templates for several UI libraries, making it easy to use out of the box
92
-
93
- | Name | Version |
94
- | ----------- | -------- |
95
- | Daisyui | >=5.3.2 |
96
- | Tailwindcss | >=4.1.14 |
97
- | Quasar | >=2.18.1 |
98
- | Vuetify | >=4.0.1 |
99
-
100
- ## Stay In Touch
101
-
102
- - [Twitter](https://x.com/zhennann2024)
103
- - [Bilibili](https://space.bilibili.com/454737998)
104
-
105
- ## License
106
-
107
- [MIT](./LICENSE)
108
-
109
- Copyright (c) 2016-present, Vona
@@ -1,109 +0,0 @@
1
- 简体中文 | [English](./README.md)
2
-
3
- # Vona 是什么
4
-
5
- Vona 是一款全栈框架,支持单代码库构建`SSR/SPA/Web/Admin`,采用前后端分离架构,并内置前后端类型共享能力
6
-
7
- - 提供 DTO 动态推断与生成能力,减少重复的类型定义工作,提升开发效率
8
- - 支持双层页签导航,实现高效页面切换,并保持页面状态
9
- - 可动态渲染 CRUD 的列表页、条目页、搜索表单,并且提供了`Tanstack Table/Tanstack Form/Tanstack Query`的最佳实践
10
-
11
- [![LICENSE MIT][license-image]][license-url]
12
- [![NPM version][npm-image]][npm-url]
13
- [![Test coverage][cov-image]][cov-url]
14
- [![NPM download][download-image]][download-url]
15
-
16
- [license-image]: https://img.shields.io/badge/license-MIT-blue.svg
17
- [license-url]: https://github.com/vonajs/vona/blob/master/LICENSE
18
- [npm-image]: https://img.shields.io/npm/v/vona.svg?style=flat-square
19
- [npm-url]: https://npmjs.com/package/vona
20
- [cov-image]: https://img.shields.io/codecov/c/github/vonajs/vona.svg?style=flat-square
21
- [cov-url]: https://app.codecov.io/github/vonajs/vona
22
- [download-image]: https://img.shields.io/npm/dm/vona?color=orange&label=npm%20downloads
23
- [download-url]: https://npmjs.com/package/vona
24
-
25
- ## 全栈机制
26
-
27
- Vona 采用前后端分离的架构。前端使用 Zova 框架,将构建生成的 JS bundle 放入 Vona 后端,在后端直接进行 SSR 渲染
28
-
29
- 前后端类型共享机制:
30
-
31
- - 后端生成 Swagger/Openapi Schema,用于在前端生成 Api SDK
32
- - 前端生成图标、路由和组件的类型,用于在后端提供类型提示
33
-
34
- ## 文档
35
-
36
- - [文档](https://vona.js.org/zh/guide/start/introduction.html)
37
-
38
- ## 在线演示
39
-
40
- 使用同一套代码实现 Cabloy Store 的`Web`和`Admin`
41
-
42
- - Web:[https://cabloy.com](https://cabloy.com)
43
- - Admin:[https://cabloy.com/admin](https://cabloy.com/admin)
44
-
45
- ## 动图演示
46
-
47
- - 双层页签导航
48
-
49
- ![](./packages-docs/zh/assets/img/start/cabloy-start-two-level-tabs.gif)
50
-
51
- ## 技术栈
52
-
53
- ### 通用
54
-
55
- | 名称 | 版本 |
56
- | ---------- | -------- |
57
- | pnpm | >=11.5.2 |
58
- | Nodejs | >=24.8.0 |
59
- | Typescript | >=5.9.3 |
60
-
61
- ### 后端(Vona)
62
-
63
- | 名称 | 版本 |
64
- | ---------- | -------- |
65
- | Koa | >=3.0.0 |
66
- | Knex | >=3.1.0 |
67
- | Zod | >=4.1.13 |
68
- | Redis | >=7.2.6 |
69
- | Sqlite3 | 内置 |
70
- | MySQL | >=8 |
71
- | Postgresql | >=16 |
72
-
73
- - `Redis`: VonaJS 基于 Redis 提供了以下能力:
74
- - `队列、定时任务、启动项、广播、缓存、二级缓存、分布式锁`
75
- - `Sqlite3`: 需要预先准备 node-gyp 环境,确保在安装依赖时可以正常编译出`better_sqlite3.node`
76
-
77
- ### 前端(Zova)
78
-
79
- | 名称 | 版本 |
80
- | -------------- | -------- |
81
- | Vite | >=8.0.0 |
82
- | Vue | >=3.5.6 |
83
- | Vue Router | >=4.4.5 |
84
- | Zod | >=4.1.13 |
85
- | Tanstack Query | >=5.92.5 |
86
- | Tanstack Form | >=1.23.5 |
87
- | Tanstack Table | >=8.21.3 |
88
-
89
- ### UI库
90
-
91
- Zova 可以搭配任何 UI 库使用,并且内置了几款 UI 库的项目模版,便于开箱即用
92
-
93
- | 名称 | 版本 |
94
- | ----------- | -------- |
95
- | Daisyui | >=5.3.2 |
96
- | Tailwindcss | >=4.1.14 |
97
- | Quasar | >=2.18.1 |
98
- | Vuetify | >=4.0.1 |
99
-
100
- ## 联系方式
101
-
102
- - [Twitter](https://x.com/zhennann2024)
103
- - [B站:濮水代码](https://space.bilibili.com/454737998)
104
-
105
- ## License
106
-
107
- [MIT](./LICENSE)
108
-
109
- Copyright (c) 2016-present, Vona
package/zova/README.md DELETED
@@ -1,93 +0,0 @@
1
- English | [Simplified Chinese](./README.zh-CN.md)
2
-
3
- # Zova
4
-
5
- Zova: The Intuitive Frontend Framework = Vue3 Reactive + React TSX + Angular IOC
6
-
7
- - Built-in out-of-the-box SSR solution, building `SSR/SPA/Web/Admin` in one codebase
8
- - Supports dual-layer tabs navigation, enabling efficient page switching while maintaining page state
9
- - Dynamically render CRUD list pages, entry pages, and search forms, while demonstrating best practices for Tanstack Table, Tanstack Form, and Tanstack Query
10
-
11
- [![LICENSE MIT][license-image]][license-url]
12
- [![NPM version][npm-image]][npm-url]
13
- [![NPM download][download-image]][download-url]
14
-
15
- [license-image]: https://img.shields.io/badge/license-MIT-blue.svg
16
- [license-url]: https://github.com/zovajs/zova/blob/master/LICENSE
17
- [npm-image]: https://img.shields.io/npm/v/zova.svg?style=flat-square
18
- [npm-url]: https://npmjs.com/package/zova
19
- [download-image]: https://img.shields.io/npm/dm/zova?color=orange&label=npm%20downloads
20
- [download-url]: https://npmjs.com/package/zova
21
-
22
- ## With UI libraries
23
-
24
- Zova can be used with any UI library and comes with built-in project templates for several UI libraries, making it easy to use out of the box, including:
25
-
26
- - Daisyui
27
- - Quasar
28
- - Vuetify
29
- - Empty: Other UI libraries can be used based on this empty template
30
-
31
- ## Documentation
32
-
33
- - [Docs](https://zova.js.org/guide/start/introduction.html)
34
-
35
- ## Demo Online 1
36
-
37
- - [vue3 + ts + tsx + tailwindcss + daisyui](https://zova.js.org/zova-demo/)
38
- - admin/123456
39
-
40
- ## Demo Online 2
41
-
42
- The Web and Admin of Cabloy Store are built by one codebase
43
-
44
- - Web: [https://cabloy.com](https://cabloy.com)
45
- - Admin: [https://cabloy.com/admin](https://cabloy.com/admin)
46
-
47
- ## GIF Demo
48
-
49
- - Dual-layer tabs navigation
50
-
51
- ![](./packages-docs/assets/img/start/cabloy-start-two-level-tabs.gif)
52
-
53
- ## Technology Stack
54
-
55
- ### Core
56
-
57
- | Name | Version |
58
- | -------------- | -------- |
59
- | Vite | >=8.0.0 |
60
- | Vue | >=3.5.6 |
61
- | Vue Router | >=4.4.5 |
62
- | Zod | >=4.1.13 |
63
- | Tanstack Query | >=5.92.5 |
64
- | Tanstack Form | >=1.23.5 |
65
- | Tanstack Table | >=8.21.3 |
66
-
67
- ### UI Libraries
68
-
69
- Zova can be used with any UI library and comes with built-in project templates for several UI libraries, making it easy to use out of the box
70
-
71
- | Name | Version |
72
- | ----------- | -------- |
73
- | Daisyui | >=5.3.2 |
74
- | Tailwindcss | >=4.1.14 |
75
- | Quasar | >=2.18.1 |
76
- | Vuetify | >=4.0.1 |
77
-
78
- ## Stay In Touch
79
-
80
- - [Twitter](https://x.com/zhennann2024)
81
- - [Bilibili](https://space.bilibili.com/454737998)
82
-
83
- ## Thanks
84
-
85
- - Thanks to Angular that ioc container of Zova was in part inspired by Angular
86
- - Thanks to React that React’s pioneering JSX syntax has significantly improved the efficiency and experience of front-end development
87
- - Thanks to Vue that Vue provides a very powerful reactive system and ecosystem. Without the support of these ecosystems, Zova would be difficult to implement
88
-
89
- ## License
90
-
91
- [MIT](./LICENSE)
92
-
93
- Copyright (c) 2016-present, Zova
@@ -1,94 +0,0 @@
1
- 简体中文 | [English](./README.md)
2
-
3
- # Zova
4
-
5
- Zova: 直观的前端框架 = Vue3 响应式 + React TSX + Angular IOC
6
-
7
- - 内置开箱即用的 SSR 解决方案,可在同一个代码库中实现`SSR/SPA/Web/Admin`
8
- - 支持双层页签导航,实现高效页面切换,并保持页面状态
9
- - 可动态渲染 CRUD 的列表页、条目页、搜索表单,并且提供了`Tanstack Table/Tanstack Form/Tanstack Query`的最佳实践
10
- - 提供强大的 IOC + AOP 能力,让系统具有无与伦比的可扩展性和可维护性
11
-
12
- [![LICENSE MIT][license-image]][license-url]
13
- [![NPM version][npm-image]][npm-url]
14
- [![NPM download][download-image]][download-url]
15
-
16
- [license-image]: https://img.shields.io/badge/license-MIT-blue.svg
17
- [license-url]: https://github.com/zovajs/zova/blob/master/LICENSE
18
- [npm-image]: https://img.shields.io/npm/v/zova.svg?style=flat-square
19
- [npm-url]: https://npmjs.com/package/zova
20
- [download-image]: https://img.shields.io/npm/dm/zova?color=orange&label=npm%20downloads
21
- [download-url]: https://npmjs.com/package/zova
22
-
23
- ## 与UI库的配合
24
-
25
- Zova 可以搭配任何 UI 库使用,并且内置了几款 UI 库的项目模版,便于开箱即用,包括:
26
-
27
- - Daisyui
28
- - Quasar
29
- - Vuetify
30
- - Empty:可以在此基础上使用其他 UI 库
31
-
32
- ## 文档
33
-
34
- - [文档](https://zova.js.org/zh/guide/start/introduction.html)
35
-
36
- ## 在线演示1
37
-
38
- - [vue3 + ts + tsx + tailwindcss + daisyui](https://zova.js.org/zova-demo/)
39
- - admin/123456
40
-
41
- ## 在线演示2
42
-
43
- 使用同一套代码实现 Cabloy Store 的`Web`和`Admin`
44
-
45
- - Web:[https://cabloy.com](https://cabloy.com)
46
- - Admin:[https://cabloy.com/admin](https://cabloy.com/admin)
47
-
48
- ## 动图演示
49
-
50
- - 双层页签导航
51
-
52
- ![](./packages-docs/zh/assets/img/start/cabloy-start-two-level-tabs.gif)
53
-
54
- ## 技术栈
55
-
56
- ### 核心
57
-
58
- | 名称 | 版本 |
59
- | -------------- | -------- |
60
- | Vite | >=8.0.0 |
61
- | Vue | >=3.5.6 |
62
- | Vue Router | >=4.4.5 |
63
- | Zod | >=4.1.13 |
64
- | Tanstack Query | >=5.92.5 |
65
- | Tanstack Form | >=1.23.5 |
66
- | Tanstack Table | >=8.21.3 |
67
-
68
- ### UI库
69
-
70
- Zova 可以搭配任何 UI 库使用,并且内置了几款 UI 库的项目模版,便于开箱即用
71
-
72
- | 名称 | 版本 |
73
- | ----------- | -------- |
74
- | Daisyui | >=5.3.2 |
75
- | Tailwindcss | >=4.1.14 |
76
- | Quasar | >=2.18.1 |
77
- | Vuetify | >=4.0.1 |
78
-
79
- ## 联系方式
80
-
81
- - [Twitter](https://x.com/zhennann2024)
82
- - [B站:濮水代码](https://space.bilibili.com/454737998)
83
-
84
- ## 致谢
85
-
86
- - 向 Angular 表达感谢,Angular 激发了在 Vue 中实现 ioc 容器的灵感
87
- - 向 React 表达感谢,React 首创的 JSX 语法显著提升了前端的开发效率和开发体验
88
- - 向 Vue 表达感谢,Vue 提供了非常强大的响应式系统和生态。如果没有这些生态的支持,Zova 的实现将非常困难
89
-
90
- ## License
91
-
92
- [MIT](./LICENSE)
93
-
94
- Copyright (c) 2016-present, Zova