cabloy 5.1.95 → 5.1.96
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/.cabloy-version +1 -0
- package/.claude/skills/cabloy-backend-scaffold/references/follow-up-checklist.md +4 -1
- package/.claude/skills/cabloy-resource-field-update/SKILL.md +6 -3
- package/.github/workflows/vona-test-crud.yml +2 -0
- package/.github/workflows/vona-test-mysql.yml +2 -0
- package/.github/workflows/vona-test-pg.yml +2 -0
- package/.github/workflows/vona-test-sqlite3.yml +2 -0
- package/CHANGELOG.md +31 -0
- package/CLAUDE.md +1 -0
- package/cabloy-docs/ai/playbook-backend-module.md +6 -3
- package/cabloy-docs/fullstack/framework-performance.md +3 -3
- package/cabloy-docs/fullstack/quickstart.md +1 -1
- package/package.json +1 -1
- package/scripts/release.ts +27 -1
- package/vona/docker-compose-original/docker-compose-dockerfile-app +4 -0
- package/vona/docker-compose-original/docker-compose.original.yml +0 -1
- package/vona/env/.env +0 -1
- package/vona/env/.env.prod +0 -1
- package/vona/env/.env.prod.docker +0 -7
- package/vona/package.original.json +3 -3
- package/vona/packages-cli/cabloy-cli/package.json +2 -2
- package/vona/packages-cli/cli/package.json +1 -1
- package/vona/packages-cli/cli-set-api/package.json +2 -2
- package/vona/packages-cli/cli-set-api/src/lib/bean/cli.bin.build.ts +70 -2
- package/vona/packages-utils/babel-plugin-vona-bean-module/package.json +2 -2
- package/vona/packages-utils/module-glob/package.json +2 -2
- package/vona/packages-utils/module-info-pro/package.json +2 -2
- package/vona/packages-utils/utils/package.json +2 -2
- package/vona/packages-vona/vona/package.json +1 -1
- package/vona/packages-vona/vona-core/package.json +2 -2
- package/vona/packages-vona/vona-core/src/lib/addon/addon.ts +77 -0
- package/vona/packages-vona/vona-core/src/lib/addon/index.ts +3 -0
- package/vona/packages-vona/vona-core/src/lib/addon/sharp.ts +46 -0
- package/vona/packages-vona/vona-core/src/lib/addon/sqlite3.ts +23 -0
- package/vona/packages-vona/vona-core/src/lib/index.ts +1 -0
- package/vona/packages-vona/vona-core/src/lib/utils/index.ts +0 -1
- package/vona/packages-vona/vona-core/src/lib/utils/util.ts +5 -0
- package/vona/packages-vona/vona-mock/package.json +2 -2
- package/vona/pnpm-lock.yaml +414 -64
- package/vona/src/backend/cli.ts +2 -5
- package/vona/src/backend/config/config/config.ts +0 -4
- package/vona/src/suite/a-demo/modules/demo-basic/src/bean/ssrMenu.admin.ts +1 -1
- package/vona/src/suite/a-training/modules/training-record/src/.metadata/index.ts +26 -0
- package/vona/src/suite/a-training/modules/training-record/src/bean/imageScene.sceneImage.ts +11 -0
- package/vona/src/suite/a-training/modules/training-record/src/bean/meta.version.ts +1 -0
- package/vona/src/suite/a-training/modules/training-record/src/config/locale/en-us.ts +1 -0
- package/vona/src/suite/a-training/modules/training-record/src/config/locale/zh-cn.ts +1 -0
- package/vona/src/suite/a-training/modules/training-record/src/dto/recordSelectResItem.tsx +12 -0
- package/vona/src/suite/a-training/modules/training-record/src/dto/recordView.tsx +12 -0
- package/vona/src/suite/a-training/modules/training-record/src/entity/record.tsx +26 -1
- package/vona/src/suite/a-training/modules/training-record/src/index.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/.metadata/index.ts +27 -1
- package/vona/src/suite/a-training/modules/training-student/src/bean/imageScene.studentImage.ts +10 -0
- package/vona/src/suite/a-training/modules/training-student/src/bean/meta.version.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/config/locale/en-us.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/config/locale/zh-cn.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/detailRecordBase.tsx +16 -2
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentCreate.tsx +1 -1
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentSelectResItem.tsx +12 -0
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentUpdate.tsx +1 -1
- package/vona/src/suite/a-training/modules/training-student/src/dto/studentView.tsx +13 -1
- package/vona/src/suite/a-training/modules/training-student/src/entity/student.tsx +26 -1
- package/vona/src/suite/a-training/modules/training-student/src/index.ts +1 -0
- package/vona/src/suite/a-training/modules/training-student/src/model/student.ts +1 -0
- package/vona/src/suite-vendor/a-auth/modules/a-auth/package.json +1 -1
- package/vona/src/suite-vendor/a-auth/modules/a-auth/src/bean/bean.authProvider.ts +2 -5
- package/vona/src/suite-vendor/a-auth/package.json +1 -1
- package/vona/src/suite-vendor/a-image/modules/a-image/cli/imageProvider/boilerplate/{{sceneName}}.{{beanName}}.ts_ +23 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/cli/imageScene/boilerplate/{{sceneName}}.{{beanName}}.ts_ +5 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/package.json +68 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/index.ts +482 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/locales.ts +18 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/.metadata/this.ts +2 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.image.ts +443 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.imageProvider.ts +55 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/bean.imageUploadPolicy.ts +174 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/meta.redlock.ts +11 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/meta.version.ts +40 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/serializerTransform.resolveView.ts +44 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/bean/serializerTransform.resolveViews.ts +44 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/config/config.ts +17 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/config/locale/en-us.ts +1 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/config/locale/zh-cn.ts +1 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/controller/image.ts +165 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDeliveryRequest.ts +20 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDirectUploadRequest.ts +36 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageDirectUploadResponse.ts +38 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageTransformOptions.tsx +42 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadResponse.ts +62 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadTokenRequest.ts +24 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadTokenResponse.ts +16 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageUploadUrlRequest.ts +33 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/dto/imageView.ts +46 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/entity/image.ts +58 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/entity/imageProvider.ts +24 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/index.ts +4 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/imageProvider.ts +9 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/imageScene.ts +7 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/imageVariant.ts +46 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/lib/index.ts +3 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/model/image.ts +10 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/model/imageProvider.ts +10 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/types/image.ts +208 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/types/imageProvider.ts +110 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/types/imageScene.ts +52 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/src/types/index.ts +3 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/tsconfig.build.json +11 -0
- package/vona/src/suite-vendor/a-image/modules/a-image/tsconfig.json +7 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/package.json +49 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/.metadata/index.ts +89 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/.metadata/this.ts +2 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/bean/imageProvider.cloudflare.ts +155 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/index.ts +1 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/lib/cloudflareImageUrl.ts +112 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/src/service/imageCloudflare.ts +273 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/tsconfig.build.json +11 -0
- package/vona/src/suite-vendor/a-image/modules/image-cloudflare/tsconfig.json +7 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/package.json +63 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/.metadata/index.ts +114 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/.metadata/this.ts +2 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/bean/imageProvider.native.ts +131 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/config/config.ts +11 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/index.ts +1 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/monkey.ts +33 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/src/service/imageNative.ts +291 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/tsconfig.build.json +11 -0
- package/vona/src/suite-vendor/a-image/modules/image-native/tsconfig.json +7 -0
- package/vona/src/suite-vendor/a-image/package.json +14 -0
- package/vona/src/suite-vendor/a-image/tsconfig.base.json +4 -0
- package/vona/src/suite-vendor/a-image/tsconfig.json +16 -0
- package/vona/src/suite-vendor/a-vona/modules/a-core/package.json +2 -2
- package/vona/src/suite-vendor/a-vona/modules/a-jwt/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-jwt/src/service/jwtClient.ts +5 -0
- package/vona/src/suite-vendor/a-vona/modules/a-jwt/src/types/jwt.ts +1 -0
- package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/schema/makeSchemaLikes.ts +6 -3
- package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/utils.ts +13 -7
- package/vona/src/suite-vendor/a-vona/modules/a-orm/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-orm/src/types/database.ts +0 -1
- package/vona/src/suite-vendor/a-vona/modules/a-ormdialect/package.json +9 -1
- package/vona/src/suite-vendor/a-vona/modules/a-upload/package.json +1 -1
- package/vona/src/suite-vendor/a-vona/modules/a-upload/src/bean/interceptor.upload.ts +39 -7
- package/vona/src/suite-vendor/a-vona/package.json +1 -1
- package/zova/packages-cli/cli/package.json +3 -3
- package/zova/packages-cli/cli-set-front/package.json +9 -9
- package/zova/packages-cli/cli-set-front/src/lib/bean/cli.openapi.generate.ts +20 -10
- package/zova/packages-utils/babel-plugin-zova-bean-module/package.json +2 -2
- package/zova/packages-utils/babel-plugin-zova-bean-use/package.json +2 -2
- package/zova/packages-utils/babel-plugin-zova-behavior/package.json +2 -2
- package/zova/packages-utils/babel-plugin-zova-component/package.json +2 -2
- package/zova/packages-utils/zova-jsx/package.json +3 -3
- package/zova/packages-utils/zova-vite/package.json +7 -7
- package/zova/packages-zova/zova/package.json +3 -3
- package/zova/packages-zova/zova-core/package.json +3 -3
- package/zova/pnpm-lock.yaml +77 -25
- package/zova/src/suite/a-home/modules/home-api/src/api/captcha.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/api/home.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/api/homeBaseMenu.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/api/homeBasePermission.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/api/homeUserPassport.ts +22 -20
- package/zova/src/suite/a-home/modules/home-api/src/api/openapi/schemas.ts +163 -53
- package/zova/src/suite/a-home/modules/home-api/src/api/openapi/types.ts +2060 -675
- package/zova/src/suite/a-home/modules/home-api/src/api/testSsrToolOne.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/apiSchema/captcha.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/apiSchema/home.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/apiSchema/homeBaseMenu.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/apiSchema/homeBasePermission.ts +3 -1
- package/zova/src/suite/a-home/modules/home-api/src/apiSchema/homeUserPassport.ts +13 -11
- package/zova/src/suite/a-home/modules/home-api/src/apiSchema/testSsrToolOne.ts +3 -1
- package/zova/src/suite/a-training/modules/training-student/src/api/openapi/schemas.ts +54 -16
- package/zova/src/suite/a-training/modules/training-student/src/api/openapi/types.ts +468 -8
- package/zova/src/suite/a-training/modules/training-student/src/apiSchema/trainingStudent.ts +3 -1
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/bean/tableCell.actionUpdate.tsx +1 -1
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/component/actionCreate/controller.tsx +1 -1
- package/zova/src/suite/cabloy-basic/modules/basic-details/src/service/detail.tsx +53 -1
- package/zova/src/suite/cabloy-basic/modules/basic-image/cli/openapi.config.ts +9 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/package.json +60 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/component/formFieldImage.ts +31 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/index.ts +191 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/locales.ts +7 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/.metadata/this.ts +2 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/image.ts +104 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/baseURL.ts +5 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/index.ts +3 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/schemas.ts +262 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/api/openapi/types.ts +5159 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/apiSchema/image.ts +35 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/bean/tableCell.image.tsx +200 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/component/formFieldImage/controller.tsx +781 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/config/locale/en-us.ts +18 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/config/locale/zh-cn.ts +18 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/index.ts +4 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/index.ts +2 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/preview.ts +105 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/lib/previewDialog.tsx +190 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/types/image.ts +5 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/src/types/index.ts +1 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/tsconfig.build.json +13 -0
- package/zova/src/suite/cabloy-basic/modules/basic-image/tsconfig.json +5 -0
- package/zova/src/suite/cabloy-basic/package.json +1 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/package.json +1 -1
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/image.ts +1 -0
- package/zova/src/suite-vendor/a-zova/modules/a-openapi/src/types/index.ts +1 -0
- package/zova/src/suite-vendor/a-zova/modules/a-zova/package.json +5 -5
- package/zova/src/suite-vendor/a-zova/package.json +3 -3
- package/vona/packages-vona/vona-core/src/lib/utils/sqlite3.ts +0 -50
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "./tsconfig.base",
|
|
3
|
+
"compilerOptions": {},
|
|
4
|
+
"references": [
|
|
5
|
+
{
|
|
6
|
+
"path": "modules/a-image/tsconfig.build.json"
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
"path": "modules/image-native/tsconfig.build.json"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"path": "modules/image-cloudflare/tsconfig.build.json"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"exclude": ["modules"]
|
|
16
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-core",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.42",
|
|
4
4
|
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"@babel/traverse": "^7.29.0",
|
|
37
37
|
"@cabloy/deps": "workspace:^",
|
|
38
38
|
"@cabloy/json5": "workspace:^",
|
|
39
|
-
"@cabloy/module-info": "^2.0.
|
|
39
|
+
"@cabloy/module-info": "^2.0.3",
|
|
40
40
|
"@cabloy/type-fest": "^5.3.1",
|
|
41
41
|
"@cabloy/utils": "workspace:^",
|
|
42
42
|
"@cabloy/word-utils": "^2.1.8",
|
|
@@ -79,6 +79,11 @@ export class ServiceJwtClient extends BeanBase {
|
|
|
79
79
|
expiresIn: this.scope.config.tempAuthToken.signOptions.expiresIn,
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
|
+
if (options?.expiresIn !== undefined) {
|
|
83
|
+
signOptions = Object.assign({}, signOptions, {
|
|
84
|
+
expiresIn: options.expiresIn,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
82
87
|
this._jwtInstance.sign(payload, this._clientOptions.secret!, signOptions, (err, encoded) => {
|
|
83
88
|
if (err) return reject(err);
|
|
84
89
|
resolve(encoded!);
|
package/vona/src/suite-vendor/a-vona/modules/a-openapiutils/src/lib/schema/makeSchemaLikes.ts
CHANGED
|
@@ -11,6 +11,7 @@ import { SymbolDecoratorRule } from '../const/decorator.ts';
|
|
|
11
11
|
import {
|
|
12
12
|
getTargetDecoratorDtoOpenapi,
|
|
13
13
|
getTargetDecoratorDtoPipes,
|
|
14
|
+
mergeSchemaOpenapiMetadata,
|
|
14
15
|
prepareClassType,
|
|
15
16
|
} from '../utils.ts';
|
|
16
17
|
import { SymbolSchemaDynamicRefId } from './schemaDynamic.ts';
|
|
@@ -39,9 +40,10 @@ export function makeSchemaLike<T>(
|
|
|
39
40
|
schemaPrevious: z.ZodType<T>,
|
|
40
41
|
): z.ZodType<T> {
|
|
41
42
|
if (!schemaLike) return schemaPrevious;
|
|
43
|
+
let schemaCurrent: z.ZodType<T>;
|
|
42
44
|
if (Object.prototype.hasOwnProperty.call(schemaLike, 'parseAsync')) {
|
|
43
45
|
// schema
|
|
44
|
-
|
|
46
|
+
schemaCurrent = schemaLike as z.ZodType<T>;
|
|
45
47
|
} else if (
|
|
46
48
|
isClass(schemaLike) ||
|
|
47
49
|
['String', 'Number', 'Boolean', 'Date', 'BigInt', 'Array'].includes(
|
|
@@ -49,11 +51,12 @@ export function makeSchemaLike<T>(
|
|
|
49
51
|
)
|
|
50
52
|
) {
|
|
51
53
|
// class
|
|
52
|
-
|
|
54
|
+
schemaCurrent = $schema(cast<Constructable>(schemaLike)) as z.ZodType<T>;
|
|
53
55
|
} else {
|
|
54
56
|
// function
|
|
55
|
-
|
|
57
|
+
schemaCurrent = cast<SchemaLikeCreate>(schemaLike)(schemaPrevious);
|
|
56
58
|
}
|
|
59
|
+
return mergeSchemaOpenapiMetadata(schemaPrevious, schemaCurrent);
|
|
57
60
|
}
|
|
58
61
|
|
|
59
62
|
export function $schema<T>(schemaLike: z.ZodType<T>): z.ZodType<T>;
|
|
@@ -93,6 +93,18 @@ export function mergeDtoFieldsOpenapiMetadata(target: Constructable) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
export function mergeSchemaOpenapiMetadata<T>(
|
|
97
|
+
schemaPrevious: z.ZodType<T> | undefined,
|
|
98
|
+
schemaCurrent: z.ZodType<T>,
|
|
99
|
+
): z.ZodType<T> {
|
|
100
|
+
if (!schemaPrevious) return schemaCurrent;
|
|
101
|
+
if (schemaPrevious === schemaCurrent) return schemaCurrent;
|
|
102
|
+
const metadataPrevious = ZodMetadata.getOpenapiMetadata(schemaPrevious);
|
|
103
|
+
if (isEmptyObject(metadataPrevious)) return schemaCurrent;
|
|
104
|
+
const metadataCurrent = ZodMetadata.getOpenapiMetadata(schemaCurrent);
|
|
105
|
+
return schemaCurrent.openapi(deepExtend({}, metadataPrevious, metadataCurrent));
|
|
106
|
+
}
|
|
107
|
+
|
|
96
108
|
// fieldRule maybe undefined
|
|
97
109
|
export function mergeFieldOpenapiMetadata(
|
|
98
110
|
target: object,
|
|
@@ -106,13 +118,7 @@ export function mergeFieldOpenapiMetadata(
|
|
|
106
118
|
const metadataCurrent = schemaCurrent ? ZodMetadata.getOpenapiMetadata(schemaCurrent) : undefined;
|
|
107
119
|
// merge
|
|
108
120
|
if (Object.prototype.hasOwnProperty.call(fieldRule, 'parseAsync')) {
|
|
109
|
-
|
|
110
|
-
if (isEmptyObject(metadataCurrent)) {
|
|
111
|
-
rules[prop] = schema;
|
|
112
|
-
} else {
|
|
113
|
-
const metadataCustom = ZodMetadata.getOpenapiMetadata(schema);
|
|
114
|
-
rules[prop] = schema.openapi(deepExtend({}, metadataCurrent, metadataCustom));
|
|
115
|
-
}
|
|
121
|
+
rules[prop] = mergeSchemaOpenapiMetadata(schemaCurrent as any, fieldRule as any) as any;
|
|
116
122
|
} else {
|
|
117
123
|
if (schemaCurrent) {
|
|
118
124
|
if (!isEmptyObject(fieldRule)) {
|
|
@@ -42,7 +42,6 @@ declare module 'vona' {
|
|
|
42
42
|
DATABASE_DEFAULT_CLIENT: string | undefined;
|
|
43
43
|
// sqlite3
|
|
44
44
|
DATABASE_CLIENT_SQLITE3_FILENAME: string | undefined;
|
|
45
|
-
DATABASE_CLIENT_SQLITE3_NATIVEBINDING: string | 'true' | 'false' | undefined;
|
|
46
45
|
// pg
|
|
47
46
|
DATABASE_CLIENT_PG_HOST: string | undefined;
|
|
48
47
|
DATABASE_CLIENT_PG_PORT: string | undefined;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vona-module-a-ormdialect",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.16",
|
|
4
4
|
"gitHead": "a79189b882c17af5911573896a781bbb0046d37d",
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [
|
|
@@ -54,6 +54,14 @@
|
|
|
54
54
|
"dependencies": {},
|
|
55
55
|
"globalDependencies": {
|
|
56
56
|
"better-sqlite3": true
|
|
57
|
+
},
|
|
58
|
+
"bundle": {
|
|
59
|
+
"externals": [
|
|
60
|
+
"better-sqlite3"
|
|
61
|
+
],
|
|
62
|
+
"allowBuilds": [
|
|
63
|
+
"better-sqlite3"
|
|
64
|
+
]
|
|
57
65
|
}
|
|
58
66
|
}
|
|
59
67
|
}
|
|
@@ -44,6 +44,13 @@ export class InterceptorUpload extends BeanBase implements IInterceptorExecute {
|
|
|
44
44
|
const fields: IUploadField[] = [];
|
|
45
45
|
const files: IUploadFile[] = [];
|
|
46
46
|
const filesCleanup: Function[] = [];
|
|
47
|
+
const fileWrites: Promise<void>[] = [];
|
|
48
|
+
let settled = false;
|
|
49
|
+
const rejectOnce = (err: Error) => {
|
|
50
|
+
if (settled) return;
|
|
51
|
+
settled = true;
|
|
52
|
+
reject(err);
|
|
53
|
+
};
|
|
47
54
|
// bb
|
|
48
55
|
const bb = Busboy(Object.assign({}, options.busboy, { headers: this.ctx.req.headers }));
|
|
49
56
|
bb.on('file', (name, file, info) => {
|
|
@@ -59,7 +66,25 @@ export class InterceptorUpload extends BeanBase implements IInterceptorExecute {
|
|
|
59
66
|
info,
|
|
60
67
|
});
|
|
61
68
|
// save
|
|
62
|
-
|
|
69
|
+
const writeStream = createWriteStream(fileTemp);
|
|
70
|
+
const fileWrite = new Promise<void>((resolveWrite, rejectWrite) => {
|
|
71
|
+
writeStream.on('finish', () => {
|
|
72
|
+
resolveWrite();
|
|
73
|
+
});
|
|
74
|
+
writeStream.on('error', err => {
|
|
75
|
+
rejectWrite(err);
|
|
76
|
+
});
|
|
77
|
+
file.on('error', err => {
|
|
78
|
+
rejectWrite(err);
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
fileWrites.push(
|
|
82
|
+
fileWrite.catch(err => {
|
|
83
|
+
rejectOnce(err as Error);
|
|
84
|
+
throw err;
|
|
85
|
+
}),
|
|
86
|
+
);
|
|
87
|
+
file.pipe(writeStream);
|
|
63
88
|
});
|
|
64
89
|
bb.on('field', (name, value, info) => {
|
|
65
90
|
fields.push({
|
|
@@ -68,20 +93,27 @@ export class InterceptorUpload extends BeanBase implements IInterceptorExecute {
|
|
|
68
93
|
info,
|
|
69
94
|
});
|
|
70
95
|
});
|
|
71
|
-
bb.on('close', () => {
|
|
72
|
-
|
|
96
|
+
bb.on('close', async () => {
|
|
97
|
+
try {
|
|
98
|
+
await Promise.all(fileWrites);
|
|
99
|
+
if (settled) return;
|
|
100
|
+
settled = true;
|
|
101
|
+
resolve([fields, files, filesCleanup]);
|
|
102
|
+
} catch {
|
|
103
|
+
// handled by rejectOnce
|
|
104
|
+
}
|
|
73
105
|
});
|
|
74
106
|
bb.on('error', (err: Error) => {
|
|
75
|
-
|
|
107
|
+
rejectOnce(err);
|
|
76
108
|
});
|
|
77
109
|
bb.on('partsLimit', () => {
|
|
78
|
-
|
|
110
|
+
rejectOnce(new Error('partsLimit'));
|
|
79
111
|
});
|
|
80
112
|
bb.on('filesLimit', () => {
|
|
81
|
-
|
|
113
|
+
rejectOnce(new Error('filesLimit'));
|
|
82
114
|
});
|
|
83
115
|
bb.on('fieldsLimit', () => {
|
|
84
|
-
|
|
116
|
+
rejectOnce(new Error('fieldsLimit'));
|
|
85
117
|
});
|
|
86
118
|
this.ctx.req.pipe(bb);
|
|
87
119
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.97",
|
|
4
4
|
"gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
|
|
5
5
|
"description": "zova cli",
|
|
6
6
|
"keywords": [
|
|
@@ -40,11 +40,11 @@
|
|
|
40
40
|
"postpack": "clean-package restore"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@cabloy/cli": "^3.1.
|
|
43
|
+
"@cabloy/cli": "^3.1.28",
|
|
44
44
|
"@cabloy/process-helper": "^3.1.8",
|
|
45
45
|
"fs-extra": "^11.3.5",
|
|
46
46
|
"semver": "^7.6.2",
|
|
47
|
-
"zova-cli-set-front": "^1.2.
|
|
47
|
+
"zova-cli-set-front": "^1.2.95"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
50
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-cli-set-front",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.95",
|
|
4
4
|
"gitHead": "6f675a8cc46d596142c591c28a40cc4d82fcc6cc",
|
|
5
5
|
"description": "zova cli-set-front",
|
|
6
6
|
"keywords": [
|
|
@@ -41,21 +41,21 @@
|
|
|
41
41
|
"@babel/plugin-proposal-decorators": "^7.29.0",
|
|
42
42
|
"@babel/plugin-transform-class-properties": "^7.28.6",
|
|
43
43
|
"@babel/plugin-transform-typescript": "^7.28.6",
|
|
44
|
-
"@cabloy/cli": "^3.1.
|
|
44
|
+
"@cabloy/cli": "^3.1.28",
|
|
45
45
|
"@cabloy/extend": "^3.2.8",
|
|
46
|
-
"@cabloy/module-info": "^2.0.
|
|
46
|
+
"@cabloy/module-info": "^2.0.3",
|
|
47
47
|
"@cabloy/openapi-typescript": "^7.9.2",
|
|
48
|
-
"@cabloy/utils": "^2.1.
|
|
48
|
+
"@cabloy/utils": "^2.1.26",
|
|
49
49
|
"@cabloy/vite-plugin-babel": "^1.3.3",
|
|
50
50
|
"@cabloy/vue-babel-plugin-jsx": "^2.0.1",
|
|
51
51
|
"@cabloy/word-utils": "^2.1.14",
|
|
52
52
|
"@typescript/native-preview": "^7.0.0-dev.20260320.1",
|
|
53
53
|
"@vitejs/plugin-vue-jsx": "^5.1.5",
|
|
54
54
|
"babel-plugin-transform-typescript-metadata": "^0.4.0",
|
|
55
|
-
"babel-plugin-zova-bean-module": "^1.2.
|
|
56
|
-
"babel-plugin-zova-bean-use": "^1.1.
|
|
57
|
-
"babel-plugin-zova-behavior": "^1.1.
|
|
58
|
-
"babel-plugin-zova-component": "^1.1.
|
|
55
|
+
"babel-plugin-zova-bean-module": "^1.2.15",
|
|
56
|
+
"babel-plugin-zova-bean-use": "^1.1.15",
|
|
57
|
+
"babel-plugin-zova-behavior": "^1.1.15",
|
|
58
|
+
"babel-plugin-zova-component": "^1.1.15",
|
|
59
59
|
"compressing": "^1.10.0",
|
|
60
60
|
"fs-extra": "^11.3.5",
|
|
61
61
|
"globby": "^14.1.0",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"vite": "^8.0.14",
|
|
71
71
|
"yaml": "^2.8.3",
|
|
72
72
|
"zova-openapi": "^1.1.17",
|
|
73
|
-
"zova-vite": "^1.1.
|
|
73
|
+
"zova-vite": "^1.1.43"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"clean-package": "^2.2.0",
|
|
@@ -393,17 +393,26 @@ export const OpenApiBaseURL = (sys: ZovaSys) => {
|
|
|
393
393
|
}
|
|
394
394
|
//
|
|
395
395
|
const contentTypes2 = contentTypes.join('\n');
|
|
396
|
-
const
|
|
397
|
-
|
|
398
|
-
if (
|
|
399
|
-
if (contentTypes2.includes('
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
396
|
+
const importsOpenapiValue: string[] = [];
|
|
397
|
+
const importsOpenapiType: string[] = [];
|
|
398
|
+
if (contentSignatures.length > 0) importsOpenapiValue.push('OpenApiBaseURL');
|
|
399
|
+
if (contentTypes2.includes('components["schemas"]')) importsOpenapiType.push('components');
|
|
400
|
+
if (contentTypes2.includes('paths[')) importsOpenapiType.push('paths');
|
|
401
|
+
const contentImportsOpenapiValue =
|
|
402
|
+
importsOpenapiValue.length > 0
|
|
403
|
+
? `import { ${importsOpenapiValue.join(', ')} } from './openapi/index.js';`
|
|
403
404
|
: '';
|
|
405
|
+
const contentImportsOpenapiType =
|
|
406
|
+
importsOpenapiType.length > 0
|
|
407
|
+
? `import type { ${importsOpenapiType.join(', ')} } from './openapi/index.js';`
|
|
408
|
+
: '';
|
|
409
|
+
const contentImportsOpenapi = [contentImportsOpenapiValue, contentImportsOpenapiType]
|
|
410
|
+
.filter(item => !!item)
|
|
411
|
+
.join('\n');
|
|
404
412
|
// apiContent
|
|
405
|
-
const apiContent = `import { Api, BeanApiBase
|
|
406
|
-
|
|
413
|
+
const apiContent = `import { Api, BeanApiBase } from 'zova-module-a-api';
|
|
414
|
+
import type { IApiActionOptions } from 'zova-module-a-api';
|
|
415
|
+
${contentImportsOpenapi}
|
|
407
416
|
|
|
408
417
|
${contentTypes2}
|
|
409
418
|
|
|
@@ -441,7 +450,8 @@ export class ApiMeta${apiName} extends BeanBase {
|
|
|
441
450
|
}
|
|
442
451
|
`;
|
|
443
452
|
const apiSchemaContent = `import { BeanBase } from 'zova';
|
|
444
|
-
import { ApiSchema
|
|
453
|
+
import { ApiSchema } from 'zova-module-a-api';
|
|
454
|
+
import type { IApiSchemaOptions } from 'zova-module-a-api';
|
|
445
455
|
${contentImportsApiPath}
|
|
446
456
|
|
|
447
457
|
@ApiSchema()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-zova-bean-module",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.15",
|
|
4
4
|
"gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
|
|
5
5
|
"description": "babel-plugin-zova-bean-module",
|
|
6
6
|
"keywords": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@babel/core": "^7.29.0",
|
|
40
40
|
"@babel/traverse": "^7.29.0",
|
|
41
|
-
"@cabloy/module-info": "^2.0.
|
|
41
|
+
"@cabloy/module-info": "^2.0.3",
|
|
42
42
|
"@cabloy/word-utils": "^2.1.14"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-zova-bean-use",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
|
|
5
5
|
"description": "babel-plugin-zova-bean-use",
|
|
6
6
|
"keywords": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@babel/core": "^7.29.0",
|
|
40
40
|
"@babel/traverse": "^7.29.0",
|
|
41
|
-
"@cabloy/module-info": "^2.0.
|
|
41
|
+
"@cabloy/module-info": "^2.0.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/babel__core": "^7.20.5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-zova-behavior",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
|
|
5
5
|
"description": "babel-plugin-zova-behavior",
|
|
6
6
|
"keywords": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@babel/core": "^7.29.0",
|
|
40
40
|
"@babel/traverse": "^7.29.0",
|
|
41
|
-
"@cabloy/module-info": "^2.0.
|
|
41
|
+
"@cabloy/module-info": "^2.0.3",
|
|
42
42
|
"html-tags": "^3.3.1",
|
|
43
43
|
"svg-tags": "^1.0.0"
|
|
44
44
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babel-plugin-zova-component",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.15",
|
|
4
4
|
"gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
|
|
5
5
|
"description": "babel-plugin-zova-component",
|
|
6
6
|
"keywords": [
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@babel/core": "^7.29.0",
|
|
40
40
|
"@babel/traverse": "^7.29.0",
|
|
41
|
-
"@cabloy/module-info": "^2.0.
|
|
41
|
+
"@cabloy/module-info": "^2.0.1"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@types/babel__core": "^7.20.5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-jsx",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.76",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "Zova JSX",
|
|
6
6
|
"keywords": [
|
|
@@ -46,11 +46,11 @@
|
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@cabloy/compose": "^2.1.8",
|
|
49
|
-
"@cabloy/utils": "^2.1.
|
|
49
|
+
"@cabloy/utils": "^2.1.26",
|
|
50
50
|
"@cabloy/word-utils": "^2.1.14",
|
|
51
51
|
"typestyle": "^2.4.0",
|
|
52
52
|
"vue": "^3.5.38",
|
|
53
|
-
"zova-core": "^5.1.
|
|
53
|
+
"zova-core": "^5.1.76"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-vite",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.43",
|
|
4
4
|
"gitHead": "09d901d17140a80ee0764211b441cda72fd94663",
|
|
5
5
|
"description": "zova vite",
|
|
6
6
|
"keywords": [
|
|
@@ -42,8 +42,8 @@
|
|
|
42
42
|
"@babel/plugin-transform-typescript": "^7.28.6",
|
|
43
43
|
"@cabloy/dotenv": "^1.2.8",
|
|
44
44
|
"@cabloy/extend": "^3.2.8",
|
|
45
|
-
"@cabloy/module-glob": "^5.3.
|
|
46
|
-
"@cabloy/module-info": "^2.0.
|
|
45
|
+
"@cabloy/module-glob": "^5.3.17",
|
|
46
|
+
"@cabloy/module-info": "^2.0.3",
|
|
47
47
|
"@cabloy/vite-plugin-babel": "^1.3.3",
|
|
48
48
|
"@cabloy/vue-babel-plugin-jsx": "^2.0.1",
|
|
49
49
|
"@cabloy/vue-compiler-sfc": "^3.5.14",
|
|
@@ -56,10 +56,10 @@
|
|
|
56
56
|
"@types/node": "^22.19.17",
|
|
57
57
|
"@vitejs/plugin-vue-jsx": "^5.1.5",
|
|
58
58
|
"babel-plugin-transform-typescript-metadata": "^0.4.0",
|
|
59
|
-
"babel-plugin-zova-bean-module": "^1.2.
|
|
60
|
-
"babel-plugin-zova-bean-use": "^1.1.
|
|
61
|
-
"babel-plugin-zova-behavior": "^1.1.
|
|
62
|
-
"babel-plugin-zova-component": "^1.1.
|
|
59
|
+
"babel-plugin-zova-bean-module": "^1.2.15",
|
|
60
|
+
"babel-plugin-zova-bean-use": "^1.1.15",
|
|
61
|
+
"babel-plugin-zova-behavior": "^1.1.15",
|
|
62
|
+
"babel-plugin-zova-component": "^1.1.15",
|
|
63
63
|
"chalk": "^3.0.0",
|
|
64
64
|
"esbuild": "^0.25.12",
|
|
65
65
|
"fs-extra": "^11.3.5",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.131",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "A vue3 framework with ioc",
|
|
6
6
|
"keywords": [
|
|
@@ -45,8 +45,8 @@
|
|
|
45
45
|
"postpack": "clean-package restore"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"zova-core": "^5.1.
|
|
49
|
-
"zova-suite-a-zova": "^5.1.
|
|
48
|
+
"zova-core": "^5.1.76",
|
|
49
|
+
"zova-suite-a-zova": "^5.1.130"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
52
|
"clean-package": "^2.2.0",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zova-core",
|
|
3
|
-
"version": "5.1.
|
|
3
|
+
"version": "5.1.76",
|
|
4
4
|
"gitHead": "2c5c19284bab738e492856189acb6fad74b8a7b7",
|
|
5
5
|
"description": "A vue3 framework with ioc",
|
|
6
6
|
"keywords": [
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"@cabloy/json5": "^1.1.9",
|
|
52
52
|
"@cabloy/localeutil": "^2.1.8",
|
|
53
53
|
"@cabloy/logger": "^1.1.24",
|
|
54
|
-
"@cabloy/module-info": "^2.0.
|
|
55
|
-
"@cabloy/utils": "^2.1.
|
|
54
|
+
"@cabloy/module-info": "^2.0.3",
|
|
55
|
+
"@cabloy/utils": "^2.1.26",
|
|
56
56
|
"@cabloy/vue-compiler-sfc": "^3.5.14",
|
|
57
57
|
"@cabloy/vue-reactivity": "^3.5.16",
|
|
58
58
|
"@cabloy/vue-router": "^4.4.16",
|