zenweb 3.15.1 → 3.15.3

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,75 +1,81 @@
1
- # Changelog
2
-
3
- ## [3.15.1] - 2023-3-23
4
- - 更新: @zenweb/body@3.6.1 错误的使用了 node16 的包导入规则,导致低于 16 版本的 node 无法使用
5
- - 更新说明文档
6
-
7
- ## [3.15.0] - 2023-3-21
8
- - 更新: @zenweb/messagecode: ^3.4.0
9
- - number 类型支持,如果为 number 则直接获取不进行递归查找
10
- - 可以格式化不在配置项中的字符串
11
- - 增加 has 方法用于判断配置项是否存在
12
- - 更新: @zenweb/result: ^3.1.0
13
- - 使用 messagecode 统一处理错误代码消息
14
- - 更新: @zenweb/helper: ^3.4.0
15
- - 使用新的 result.fail 简化错误输出代码
16
- - 去除配置项中的 requiredErrorCode 和 validateErrorCode
17
- - 增加全局配置 page 选项
18
- - 更新: @zenweb/controller: ^3.10.0
19
- - discoverPaths 支持使用 "./" 开头的相对路径
20
- - 增加 debug 信息
21
-
22
- ## [3.14.0] - 2023-3-19
23
- - 更新: @zenweb/body: ^3.6.0
24
-
25
- ## [3.13.1] - 2023-3-18
26
- - 导出: RawBody, TextBody
27
-
28
- ## [3.13.0] - 2023-3-17
29
- - 更新: @zenweb/body: ^3.5.0
30
- - 重构数据流读取, 新增 RawBody 和 TextBody,可扩展的解析器
31
-
32
- ## [3.12.2] - 2023-3-15
33
- - 更新:@zenweb/body: ^3.2.2 xml 类型
34
-
35
- ## 3.12.1
36
- - 导出: ParamHelper
37
-
38
- ## 3.12.0
39
- - 更新: @zenweb/body: ^3.2.0 ObjectBody
40
-
41
- ## 3.11.1
42
- > null 大检查! 所有项目强制开启 TS strict 模式,不再忽略 null 检查
43
- - 更新:
44
- - @zenweb/body: ^3.1.1
45
- - @zenweb/controller: ^3.9.1
46
- - @zenweb/core: ^3.5.1
47
- - @zenweb/helper: ^3.3.1
48
- - @zenweb/log: ^3.2.1
49
- - @zenweb/messagecode: ^3.2.1
50
- - @zenweb/meta: ^2.4.1
51
- - @zenweb/result: ^3.0.1
52
-
53
- ## 3.11.0
54
- - @zenweb/helper: ^3.3.0
55
- - 去除 Helper
56
- - 新增 QueryHelper, ParamHelper, TypeCastHelper
57
- - @zenweb/body: ^3.1.0
58
- - 新增 BodyHelper 数据类型转换&校验
59
-
60
- ## 3.10.0
61
- - update:
62
- - @zenweb/core: ^3.5.0
63
- - 新增: Core.moduleExists
64
- - 新增: SetupHelper.assertModuleExists
65
- - 修改: Core.setup 方法增加 name 参数
66
- - 删除: SetupHelper.checkCoreProperty
67
- - 删除: SetupHelper.checkContextProperty
68
- - @zenweb/body: ^3.0.0
69
- - 使用依赖注入重构,去除 xml 和 文件上传表单支持,取消的这两个作为独立模块分离。
70
- - @zenweb/helper: ^3.1.0
71
- - 使用依赖注入重构,不再支持 ctx.helper 调用
72
- - @zenweb/router: ^3.3.0
73
- - @zenweb/controller: ^3.9.0
74
- - @zenweb/messagecode: ^3.2.0
75
- - @zenweb/inject: ^3.18.0
1
+ # Changelog
2
+
3
+ ## [3.15.3] - 2023-3-27
4
+ - 新增 tsconfig-app.json, tsconfig-module.json 文件
5
+
6
+ ## [3.15.2] - 2023-3-27
7
+ - 新增 tsconfig-base.json 文件
8
+
9
+ ## [3.15.1] - 2023-3-23
10
+ - 更新: @zenweb/body@3.6.1 错误的使用了 node16 的包导入规则,导致低于 16 版本的 node 无法使用
11
+ - 更新说明文档
12
+
13
+ ## [3.15.0] - 2023-3-21
14
+ - 更新: @zenweb/messagecode: ^3.4.0
15
+ - number 类型支持,如果为 number 则直接获取不进行递归查找
16
+ - 可以格式化不在配置项中的字符串
17
+ - 增加 has 方法用于判断配置项是否存在
18
+ - 更新: @zenweb/result: ^3.1.0
19
+ - 使用 messagecode 统一处理错误代码消息
20
+ - 更新: @zenweb/helper: ^3.4.0
21
+ - 使用新的 result.fail 简化错误输出代码
22
+ - 去除配置项中的 requiredErrorCode 和 validateErrorCode
23
+ - 增加全局配置 page 选项
24
+ - 更新: @zenweb/controller: ^3.10.0
25
+ - discoverPaths 支持使用 "./" 开头的相对路径
26
+ - 增加 debug 信息
27
+
28
+ ## [3.14.0] - 2023-3-19
29
+ - 更新: @zenweb/body: ^3.6.0
30
+
31
+ ## [3.13.1] - 2023-3-18
32
+ - 导出: RawBody, TextBody
33
+
34
+ ## [3.13.0] - 2023-3-17
35
+ - 更新: @zenweb/body: ^3.5.0
36
+ - 重构数据流读取, 新增 RawBody 和 TextBody,可扩展的解析器
37
+
38
+ ## [3.12.2] - 2023-3-15
39
+ - 更新:@zenweb/body: ^3.2.2 xml 类型
40
+
41
+ ## 3.12.1
42
+ - 导出: ParamHelper
43
+
44
+ ## 3.12.0
45
+ - 更新: @zenweb/body: ^3.2.0 ObjectBody
46
+
47
+ ## 3.11.1
48
+ > null 大检查! 所有项目强制开启 TS strict 模式,不再忽略 null 检查
49
+ - 更新:
50
+ - @zenweb/body: ^3.1.1
51
+ - @zenweb/controller: ^3.9.1
52
+ - @zenweb/core: ^3.5.1
53
+ - @zenweb/helper: ^3.3.1
54
+ - @zenweb/log: ^3.2.1
55
+ - @zenweb/messagecode: ^3.2.1
56
+ - @zenweb/meta: ^2.4.1
57
+ - @zenweb/result: ^3.0.1
58
+
59
+ ## 3.11.0
60
+ - @zenweb/helper: ^3.3.0
61
+ - 去除 Helper
62
+ - 新增 QueryHelper, ParamHelper, TypeCastHelper
63
+ - @zenweb/body: ^3.1.0
64
+ - 新增 BodyHelper 数据类型转换&校验
65
+
66
+ ## 3.10.0
67
+ - update:
68
+ - @zenweb/core: ^3.5.0
69
+ - 新增: Core.moduleExists
70
+ - 新增: SetupHelper.assertModuleExists
71
+ - 修改: Core.setup 方法增加 name 参数
72
+ - 删除: SetupHelper.checkCoreProperty
73
+ - 删除: SetupHelper.checkContextProperty
74
+ - @zenweb/body: ^3.0.0
75
+ - 使用依赖注入重构,去除 xml 和 文件上传表单支持,取消的这两个作为独立模块分离。
76
+ - @zenweb/helper: ^3.1.0
77
+ - 使用依赖注入重构,不再支持 ctx.helper 调用
78
+ - @zenweb/router: ^3.3.0
79
+ - @zenweb/controller: ^3.9.0
80
+ - @zenweb/messagecode: ^3.2.0
81
+ - @zenweb/inject: ^3.18.0
package/README.md CHANGED
@@ -1,72 +1,119 @@
1
- # ZenWeb
2
- 基于 Koa 的模块化轻量级 Web 开发框架。
3
- 本框架全部由 typescript 编写
4
-
5
- ## 文档
6
- [ZenWeb 文档](https://zenweb.vercel.app)
7
-
8
- ## 演示
9
-
10
- index.ts
11
- ```ts
12
- import { create } from 'zenweb';
13
- create().start();
14
- ```
15
-
16
- service/hello.ts
17
- ```ts
18
- import { inject } from 'zenweb';
19
-
20
- export class HelloService {
21
- @inject ctx: Context;
22
-
23
- getIp() {
24
- return this.ctx.ip;
25
- }
26
- }
27
- ```
28
-
29
- controller/hello.ts
30
- ```ts
31
- import { mapping } from 'zenweb';
32
- import { HelloService } from '../service/hello';
33
-
34
- export class HelloController {
35
- @mapping()
36
- index(service: HelloService) {
37
- const ip = service.getIp();
38
- return `Hello ZenWeb! ${ip}`;
39
- }
40
- }
41
- ```
42
-
43
- ```bash
44
- ts-node index
45
- ```
46
-
47
- ## 内置模块
48
- - [meta](https://www.npmjs.com/package/@zenweb/meta) 运行基本信息,例如:请求耗时
49
- - [log](https://www.npmjs.com/package/@zenweb/log) 日志支持
50
- - [router](https://www.npmjs.com/package/@zenweb/router) 路由支持
51
- - [messagecode](https://www.npmjs.com/package/@zenweb/messagecode) 统一错误消息格式化
52
- - [body](https://www.npmjs.com/package/@zenweb/body) 请求主体解析,JSON、Form
53
- - [result](https://www.npmjs.com/package/@zenweb/result) 统一结果返回,成功或失败
54
- - [helper](https://www.npmjs.com/package/@zenweb/helper) 输入数据验证
55
- - [inject](https://www.npmjs.com/package/@zenweb/inject) 注入支持
56
-
57
- 内置模块默认开启,可以通过设置配置项为 **false** 关闭
58
-
59
-
60
- ## 可选模块
61
- - [cors](https://www.npmjs.com/package/@zenweb/cors) 跨域支持
62
- - [sentry](https://www.npmjs.com/package/@zenweb/sentry) sentry 错误收集
63
- - [metric](https://www.npmjs.com/package/@zenweb/metric) 生产运行健康信息收集
64
- - [validation](https://www.npmjs.com/package/@zenweb/validation) JSONSchema 验证
65
- - [mysql](https://www.npmjs.com/package/@zenweb/mysql) MySQL 数据库支持
66
- - [orm](https://www.npmjs.com/package/@zenweb/orm) ORM 支持
67
- - [view](https://www.npmjs.com/package/@zenweb/view) 视图模版渲染
68
- - [schedule](https://www.npmjs.com/package/@zenweb/schedule) 定时任务
69
- - [form](https://www.npmjs.com/package/@zenweb/form) 统一表单(多用于后台)
70
- - [grid](https://www.npmjs.com/package/@zenweb/grid) 统一表格(多用于后台)
71
- - [upload](https://www.npmjs.com/package/@zenweb/upload) 文件上传支持
72
- - [xmlBody](https://www.npmjs.com/package/@zenweb/xml-body) XML Body 解析
1
+ # ZenWeb
2
+
3
+ Modular lightweight web framework based on Koa
4
+
5
+ ## Document
6
+
7
+ [ZenWeb 文档](https://zenweb.node.ltd)
8
+
9
+ ## Install
10
+
11
+ ```bash
12
+ # for production
13
+ npm install zenweb
14
+
15
+ # for development
16
+ npm install dotenv typescript rimraf tsc-watch --save-dev
17
+ ```
18
+
19
+ ## Project Code
20
+
21
+ edit `package.json` file at `scripts`:
22
+
23
+ ```json
24
+ "scripts": {
25
+ "start": "node --enable-source-maps app",
26
+ "dev": "rimraf app && tsc-watch --onSuccess \"npm run dev-start\"",
27
+ "dev-start": "node -r dotenv/config --enable-source-maps app",
28
+ "build": "rimraf app && tsc"
29
+ }
30
+ ```
31
+
32
+ create `tsconfig.json` file
33
+
34
+ ```json
35
+ {
36
+ "extends": "zenweb/tsconfig-app",
37
+ "compilerOptions": {
38
+ "outDir": "./app"
39
+ },
40
+ "include": ["src/**/*"]
41
+ }
42
+ ```
43
+
44
+ create `.env` file
45
+
46
+ ```bash
47
+ APP_NAME=myweb
48
+ NODE_ENV=development
49
+ DEBUG=*
50
+ ```
51
+
52
+ create `src/index.ts` file
53
+
54
+ ```ts
55
+ import { create } from 'zenweb';
56
+ create().start();
57
+ ```
58
+
59
+ create `src/service/hello.ts` file
60
+
61
+ ```ts
62
+ import { inject } from 'zenweb';
63
+
64
+ export class HelloService {
65
+ @inject ctx!: Context;
66
+
67
+ getIp() {
68
+ return this.ctx.ip;
69
+ }
70
+ }
71
+ ```
72
+
73
+ create `src/controller/hello.ts` file
74
+
75
+ ```ts
76
+ import { mapping } from 'zenweb';
77
+ import { HelloService } from '../service/hello';
78
+
79
+ export class HelloController {
80
+ @mapping()
81
+ index(service: HelloService) {
82
+ const ip = service.getIp();
83
+ return `Hello ZenWeb! ${ip}`;
84
+ }
85
+ }
86
+ ```
87
+
88
+ start server:
89
+
90
+ ```bash
91
+ npm run dev
92
+ ```
93
+
94
+ ## 内置模块
95
+ - [meta](https://www.npmjs.com/package/@zenweb/meta) 运行基本信息,例如:请求耗时
96
+ - [log](https://www.npmjs.com/package/@zenweb/log) 日志支持
97
+ - [router](https://www.npmjs.com/package/@zenweb/router) 路由支持
98
+ - [messagecode](https://www.npmjs.com/package/@zenweb/messagecode) 统一错误消息格式化
99
+ - [body](https://www.npmjs.com/package/@zenweb/body) 请求主体解析,JSON、Form
100
+ - [result](https://www.npmjs.com/package/@zenweb/result) 统一结果返回,成功或失败
101
+ - [helper](https://www.npmjs.com/package/@zenweb/helper) 输入数据验证
102
+ - [inject](https://www.npmjs.com/package/@zenweb/inject) 注入支持
103
+
104
+ 内置模块默认开启,可以通过设置配置项为 **false** 关闭
105
+
106
+
107
+ ## 可选模块
108
+ - [cors](https://www.npmjs.com/package/@zenweb/cors) 跨域支持
109
+ - [sentry](https://www.npmjs.com/package/@zenweb/sentry) sentry 错误收集
110
+ - [metric](https://www.npmjs.com/package/@zenweb/metric) 生产运行健康信息收集
111
+ - [validation](https://www.npmjs.com/package/@zenweb/validation) JSONSchema 验证
112
+ - [mysql](https://www.npmjs.com/package/@zenweb/mysql) MySQL 数据库支持
113
+ - [orm](https://www.npmjs.com/package/@zenweb/orm) ORM 支持
114
+ - [view](https://www.npmjs.com/package/@zenweb/view) 视图模版渲染
115
+ - [schedule](https://www.npmjs.com/package/@zenweb/schedule) 定时任务
116
+ - [form](https://www.npmjs.com/package/@zenweb/form) 统一表单(多用于后台)
117
+ - [grid](https://www.npmjs.com/package/@zenweb/grid) 统一表格(多用于后台)
118
+ - [upload](https://www.npmjs.com/package/@zenweb/upload) 文件上传支持
119
+ - [xmlBody](https://www.npmjs.com/package/@zenweb/xml-body) XML Body 解析
package/package.json CHANGED
@@ -1,52 +1,47 @@
1
- {
2
- "name": "zenweb",
3
- "version": "3.15.1",
4
- "description": "Modular lightweight web framework based on Koa",
5
- "main": "dist/index.js",
6
- "typings": "./dist/index.d.ts",
7
- "files": [
8
- "dist"
9
- ],
10
- "scripts": {
11
- "build": "rimraf dist && tsc",
12
- "prepublishOnly": "npm run build",
13
- "dev": "cd example && cross-env APP_NAME=testapp DEBUG=* NODE_ENV=development ts-node src"
14
- },
15
- "author": {
16
- "name": "YeFei",
17
- "email": "316606233@qq.com"
18
- },
19
- "keywords": [
20
- "web",
21
- "app",
22
- "http",
23
- "framework",
24
- "koa"
25
- ],
26
- "license": "MIT",
27
- "repository": {
28
- "type": "git",
29
- "url": "git+https://github.com/yefei/zenweb.git"
30
- },
31
- "bugs": {
32
- "url": "https://github.com/yefei/zenweb/issues"
33
- },
34
- "dependencies": {
35
- "@zenweb/body": "^3.6.1",
36
- "@zenweb/controller": "^3.10.0",
37
- "@zenweb/core": "^3.5.1",
38
- "@zenweb/helper": "^3.4.0",
39
- "@zenweb/inject": "^3.18.0",
40
- "@zenweb/log": "^3.2.1",
41
- "@zenweb/messagecode": "^3.4.0",
42
- "@zenweb/meta": "^2.4.1",
43
- "@zenweb/result": "^3.1.0",
44
- "@zenweb/router": "^3.3.0"
45
- },
46
- "devDependencies": {
47
- "cross-env": "^7.0.3",
48
- "rimraf": "^4.1.2",
49
- "ts-node": "^10.9.1",
50
- "typescript": "^4.9.4"
51
- }
52
- }
1
+ {
2
+ "name": "zenweb",
3
+ "version": "3.15.3",
4
+ "description": "Modular lightweight web framework based on Koa",
5
+ "main": "dist/index.js",
6
+ "typings": "./dist/index.d.ts",
7
+ "files": [
8
+ "tsconfig-base.json",
9
+ "dist"
10
+ ],
11
+ "scripts": {
12
+ "build": "rimraf dist && tsc",
13
+ "prepublishOnly": "npm run build",
14
+ "dev": "cd example && cross-env APP_NAME=testapp DEBUG=* NODE_ENV=development ts-node src"
15
+ },
16
+ "author": {
17
+ "name": "YeFei",
18
+ "email": "316606233@qq.com"
19
+ },
20
+ "keywords": [
21
+ "web",
22
+ "app",
23
+ "http",
24
+ "framework",
25
+ "koa"
26
+ ],
27
+ "license": "MIT",
28
+ "homepage": "https://zenweb.node.ltd",
29
+ "dependencies": {
30
+ "@zenweb/body": "^3.6.1",
31
+ "@zenweb/controller": "^3.10.0",
32
+ "@zenweb/core": "^3.5.5",
33
+ "@zenweb/helper": "^3.4.0",
34
+ "@zenweb/inject": "^3.18.0",
35
+ "@zenweb/log": "^3.2.1",
36
+ "@zenweb/messagecode": "^3.4.0",
37
+ "@zenweb/meta": "^2.4.1",
38
+ "@zenweb/result": "^3.1.0",
39
+ "@zenweb/router": "^3.3.0"
40
+ },
41
+ "devDependencies": {
42
+ "cross-env": "^7.0.3",
43
+ "rimraf": "^4.1.2",
44
+ "ts-node": "^10.9.1",
45
+ "typescript": "^5.0.2"
46
+ }
47
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "compilerOptions": {
3
+ "experimentalDecorators": true,
4
+ "emitDecoratorMetadata": true,
5
+ "target": "ES2019",
6
+ "lib": [ "ES2019" ],
7
+ "module": "commonjs",
8
+ "strict": true,
9
+ "noUnusedLocals": true,
10
+ "noUnusedParameters": true,
11
+ "allowUnusedLabels": false,
12
+ "newLine": "lf"
13
+ }
14
+ }