zenweb 3.15.0 → 3.15.2

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,71 +1,78 @@
1
- # Changelog
2
-
3
- ## [3.15.0] - 2023-3-21
4
- - 更新: @zenweb/messagecode: ^3.4.0
5
- - number 类型支持,如果为 number 则直接获取不进行递归查找
6
- - 可以格式化不在配置项中的字符串
7
- - 增加 has 方法用于判断配置项是否存在
8
- - 更新: @zenweb/result: ^3.1.0
9
- - 使用 messagecode 统一处理错误代码消息
10
- - 更新: @zenweb/helper: ^3.4.0
11
- - 使用新的 result.fail 简化错误输出代码
12
- - 去除配置项中的 requiredErrorCode validateErrorCode
13
- - 增加全局配置 page 选项
14
- - 更新: @zenweb/controller: ^3.10.0
15
- - discoverPaths 支持使用 "./" 开头的相对路径
16
- - 增加 debug 信息
17
-
18
- ## [3.14.0] - 2023-3-19
19
- - 更新: @zenweb/body: ^3.6.0
20
-
21
- ## [3.13.1] - 2023-3-18
22
- - 导出: RawBody, TextBody
23
-
24
- ## [3.13.0] - 2023-3-17
25
- - 更新: @zenweb/body: ^3.5.0
26
- - 重构数据流读取, 新增 RawBody 和 TextBody,可扩展的解析器
27
-
28
- ## [3.12.2] - 2023-3-15
29
- - 更新:@zenweb/body: ^3.2.2 xml 类型
30
-
31
- ## 3.12.1
32
- - 导出: ParamHelper
33
-
34
- ## 3.12.0
35
- - 更新: @zenweb/body: ^3.2.0 ObjectBody
36
-
37
- ## 3.11.1
38
- > null 大检查! 所有项目强制开启 TS strict 模式,不再忽略 null 检查
39
- - 更新:
40
- - @zenweb/body: ^3.1.1
41
- - @zenweb/controller: ^3.9.1
42
- - @zenweb/core: ^3.5.1
43
- - @zenweb/helper: ^3.3.1
44
- - @zenweb/log: ^3.2.1
45
- - @zenweb/messagecode: ^3.2.1
46
- - @zenweb/meta: ^2.4.1
47
- - @zenweb/result: ^3.0.1
48
-
49
- ## 3.11.0
50
- - @zenweb/helper: ^3.3.0
51
- - 去除 Helper
52
- - 新增 QueryHelper, ParamHelper, TypeCastHelper
53
- - @zenweb/body: ^3.1.0
54
- - 新增 BodyHelper 数据类型转换&校验
55
-
56
- ## 3.10.0
57
- - update:
58
- - @zenweb/core: ^3.5.0
59
- - 新增: Core.moduleExists
60
- - 新增: SetupHelper.assertModuleExists
61
- - 修改: Core.setup 方法增加 name 参数
62
- - 删除: SetupHelper.checkCoreProperty
63
- - 删除: SetupHelper.checkContextProperty
64
- - @zenweb/body: ^3.0.0
65
- - 使用依赖注入重构,去除 xml 和 文件上传表单支持,取消的这两个作为独立模块分离。
66
- - @zenweb/helper: ^3.1.0
67
- - 使用依赖注入重构,不再支持 ctx.helper 调用
68
- - @zenweb/router: ^3.3.0
69
- - @zenweb/controller: ^3.9.0
70
- - @zenweb/messagecode: ^3.2.0
71
- - @zenweb/inject: ^3.18.0
1
+ # Changelog
2
+
3
+ ## [3.15.2] - 2023-3-27
4
+ - 新增 tsconfig-base.json 文件
5
+
6
+ ## [3.15.1] - 2023-3-23
7
+ - 更新: @zenweb/body@3.6.1 错误的使用了 node16 的包导入规则,导致低于 16 版本的 node 无法使用
8
+ - 更新说明文档
9
+
10
+ ## [3.15.0] - 2023-3-21
11
+ - 更新: @zenweb/messagecode: ^3.4.0
12
+ - number 类型支持,如果为 number 则直接获取不进行递归查找
13
+ - 可以格式化不在配置项中的字符串
14
+ - 增加 has 方法用于判断配置项是否存在
15
+ - 更新: @zenweb/result: ^3.1.0
16
+ - 使用 messagecode 统一处理错误代码消息
17
+ - 更新: @zenweb/helper: ^3.4.0
18
+ - 使用新的 result.fail 简化错误输出代码
19
+ - 去除配置项中的 requiredErrorCode 和 validateErrorCode
20
+ - 增加全局配置 page 选项
21
+ - 更新: @zenweb/controller: ^3.10.0
22
+ - discoverPaths 支持使用 "./" 开头的相对路径
23
+ - 增加 debug 信息
24
+
25
+ ## [3.14.0] - 2023-3-19
26
+ - 更新: @zenweb/body: ^3.6.0
27
+
28
+ ## [3.13.1] - 2023-3-18
29
+ - 导出: RawBody, TextBody
30
+
31
+ ## [3.13.0] - 2023-3-17
32
+ - 更新: @zenweb/body: ^3.5.0
33
+ - 重构数据流读取, 新增 RawBody 和 TextBody,可扩展的解析器
34
+
35
+ ## [3.12.2] - 2023-3-15
36
+ - 更新:@zenweb/body: ^3.2.2 xml 类型
37
+
38
+ ## 3.12.1
39
+ - 导出: ParamHelper
40
+
41
+ ## 3.12.0
42
+ - 更新: @zenweb/body: ^3.2.0 ObjectBody
43
+
44
+ ## 3.11.1
45
+ > null 大检查! 所有项目强制开启 TS strict 模式,不再忽略 null 检查
46
+ - 更新:
47
+ - @zenweb/body: ^3.1.1
48
+ - @zenweb/controller: ^3.9.1
49
+ - @zenweb/core: ^3.5.1
50
+ - @zenweb/helper: ^3.3.1
51
+ - @zenweb/log: ^3.2.1
52
+ - @zenweb/messagecode: ^3.2.1
53
+ - @zenweb/meta: ^2.4.1
54
+ - @zenweb/result: ^3.0.1
55
+
56
+ ## 3.11.0
57
+ - @zenweb/helper: ^3.3.0
58
+ - 去除 Helper
59
+ - 新增 QueryHelper, ParamHelper, TypeCastHelper
60
+ - @zenweb/body: ^3.1.0
61
+ - 新增 BodyHelper 数据类型转换&校验
62
+
63
+ ## 3.10.0
64
+ - update:
65
+ - @zenweb/core: ^3.5.0
66
+ - 新增: Core.moduleExists
67
+ - 新增: SetupHelper.assertModuleExists
68
+ - 修改: Core.setup 方法增加 name 参数
69
+ - 删除: SetupHelper.checkCoreProperty
70
+ - 删除: SetupHelper.checkContextProperty
71
+ - @zenweb/body: ^3.0.0
72
+ - 使用依赖注入重构,去除 xml 和 文件上传表单支持,取消的这两个作为独立模块分离。
73
+ - @zenweb/helper: ^3.1.0
74
+ - 使用依赖注入重构,不再支持 ctx.helper 调用
75
+ - @zenweb/router: ^3.3.0
76
+ - @zenweb/controller: ^3.9.0
77
+ - @zenweb/messagecode: ^3.2.0
78
+ - @zenweb/inject: ^3.18.0
package/README.md CHANGED
@@ -1,37 +1,119 @@
1
- # ZenWeb
2
- 基于 Koa 的模块化轻量级 Web 开发框架。
3
- 本框架全部由 typescript 编写
4
-
5
- ## 文档
6
- [ZenWeb 文档](https://zenweb.node.ltd)
7
-
8
- ## 内置模块
9
- - [meta](https://www.npmjs.com/package/@zenweb/meta) 运行基本信息,例如:请求耗时
10
- - [log](https://www.npmjs.com/package/@zenweb/log) 日志支持
11
- - [router](https://www.npmjs.com/package/@zenweb/router) 路由支持
12
- - [messagecode](https://www.npmjs.com/package/@zenweb/messagecode) 统一错误消息格式化
13
- - [body](https://www.npmjs.com/package/@zenweb/body) 请求主体解析,JSON、Form
14
- - [result](https://www.npmjs.com/package/@zenweb/result) 统一结果返回,成功或失败
15
- - [helper](https://www.npmjs.com/package/@zenweb/helper) 输入数据验证
16
- - [inject](https://www.npmjs.com/package/@zenweb/inject) 注入支持
17
-
18
- 内置模块默认开启,可以通过设置配置项为 **false** 关闭
19
-
20
-
21
- ## 可选模块
22
- - [cors](https://www.npmjs.com/package/@zenweb/cors) 跨域支持
23
- - [sentry](https://www.npmjs.com/package/@zenweb/sentry) sentry 错误收集
24
- - [metric](https://www.npmjs.com/package/@zenweb/metric) 生产运行健康信息收集
25
- - [validation](https://www.npmjs.com/package/@zenweb/validation) JSONSchema 验证
26
- - [mysql](https://www.npmjs.com/package/@zenweb/mysql) MySQL 数据库支持
27
- - [orm](https://www.npmjs.com/package/@zenweb/orm) ORM 支持
28
- - [view](https://www.npmjs.com/package/@zenweb/view) 视图模版渲染
29
- - [schedule](https://www.npmjs.com/package/@zenweb/schedule) 定时任务
30
- - [form](https://www.npmjs.com/package/@zenweb/form) 统一表单(多用于后台)
31
- - [grid](https://www.npmjs.com/package/@zenweb/grid) 统一表格(多用于后台)
32
- - [upload](https://www.npmjs.com/package/@zenweb/upload) 文件上传支持
33
- - [xmlBody](https://www.npmjs.com/package/@zenweb/xml-body) XML Body 解析
34
-
35
-
36
- ## 废弃模块
37
- - [service](https://www.npmjs.com/package/@zenweb/service) 废弃,已被 3.0 注入技术替代
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-base",
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.0",
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.0",
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.2",
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,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "experimentalDecorators": true,
4
+ "emitDecoratorMetadata": true,
5
+ "target": "ES2019",
6
+ "lib": [ "ES2019" ],
7
+ "module": "commonjs",
8
+ "strict": true,
9
+ "declaration": true,
10
+ "noUnusedLocals": true,
11
+ "noUnusedParameters": true,
12
+ "allowUnusedLabels": false,
13
+ "newLine": "lf"
14
+ }
15
+ }