meta-json-schema 1.19.0 → 1.19.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,3 +1,30 @@
|
|
|
1
|
+
## v1.19.2
|
|
2
|
+
|
|
3
|
+
### Changes
|
|
4
|
+
|
|
5
|
+
- 新增: hy2 新增 `initial-stream-receive-window`、`max-stream-receive-window`、`initial-connection-receive-window`、`max-connection-receive-window` quic-go配置项
|
|
6
|
+
- 新增: inbound 新增 vless `listeners` 配置项
|
|
7
|
+
|
|
8
|
+
### Bugs Fixes
|
|
9
|
+
|
|
10
|
+
- 修复: 枚举 `cipher` 缺失加密方法 `2022-blake3-aes-128-ccm`、`2022-blake3-aes-256-ccm`、`2022-blake3-chacha8-poly1305`、`chacha20-poly1305`、`chacha8-ietf-poly1305`、`xchacha8-ietf-poly1305`、`zero`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## v1.19.1
|
|
15
|
+
|
|
16
|
+
### Changes
|
|
17
|
+
|
|
18
|
+
- 新增: rule-providers 新增 `inline` 内联规则配置
|
|
19
|
+
- 新增: proxy-providers 新增 `inline` 内联proxies配置
|
|
20
|
+
- 调整: outbound 的 `header` 配置项宽松,不再限制value的类型为 string
|
|
21
|
+
|
|
22
|
+
### Bugs Fixes
|
|
23
|
+
|
|
24
|
+
- 修复: `tuic` V4 的 `token` 配置项类型错误
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
1
28
|
## v1.19.0
|
|
2
29
|
|
|
3
30
|
### Changes
|
|
@@ -41,8 +68,6 @@
|
|
|
41
68
|
- 新增: `dns` 新增 `fake-ip-filter-mode` 配置项
|
|
42
69
|
- 调整: 规则 `GEOIP`、`IP-ASN`、`IP-CIDR`、`IP-CIDR6`、`IP-SUFFIX`、`RULE-SET` 支持追加 `,src` 选项
|
|
43
70
|
|
|
44
|
-
### Bugs Fixes
|
|
45
|
-
|
|
46
71
|
---
|
|
47
72
|
|
|
48
73
|
## v1.18.7
|
|
@@ -56,8 +81,6 @@
|
|
|
56
81
|
- 新增: 全局配置新增 `keep-alive-idle` 和 `disable-keep-alive` 保持连接相关配置
|
|
57
82
|
- 移除: 不再支持 `ebpf` 配置
|
|
58
83
|
|
|
59
|
-
### Bugs Fixes
|
|
60
|
-
|
|
61
84
|
---
|
|
62
85
|
|
|
63
86
|
## v1.18.6
|
|
@@ -121,8 +144,6 @@
|
|
|
121
144
|
|
|
122
145
|
### Features
|
|
123
146
|
|
|
124
|
-
- 首个JSON Schema版本
|
|
125
|
-
|
|
126
|
-
### Bugs Fixes
|
|
147
|
+
- 首个 JSON Schema 版本
|
|
127
148
|
|
|
128
149
|
---
|
package/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
### 🧩 VSCode 插件
|
|
2
2
|
|
|
3
|
-
VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema
|
|
3
|
+
VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema` ,安装扩展后即可获取 `Clash.Meta` 的语法支持。
|
|
4
4
|
|
|
5
5
|
## 💡 用法
|
|
6
6
|
|
|
7
7
|
<details>
|
|
8
8
|
<summary>Visual Studio Code中使用</summary>
|
|
9
9
|
|
|
10
|
-
1. 安装YAML
|
|
11
|
-
2.
|
|
10
|
+
1. 安装YAML语法支持插件 `redhat.vscode-yaml` 。
|
|
11
|
+
2. 在 `.vscode` 目录下的 `settings.json` 文件中(如不存在则手动创建),填入以下内容。其中,key为schema文件的地址(url或本地文件),value为路径通配符,请根据需求自行修改。
|
|
12
12
|
```json
|
|
13
13
|
{
|
|
14
14
|
"yaml.schemas": {
|
|
@@ -21,59 +21,59 @@ VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema`
|
|
|
21
21
|
<details>
|
|
22
22
|
<summary>Monaco Editor中使用</summary>
|
|
23
23
|
|
|
24
|
-
1.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
2.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
24
|
+
1. 安装 `monaco-editor` (编辑器)和 `monaco-yaml` (YAML支持)。
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
npm install monaco-editor
|
|
28
|
+
npm install monaco-yaml
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
2. 如果是vite项目,可通过安装插件简化初始化(其他构建工具如 `webpack` 请参考[monaco-yaml文档](https://github.com/remcohaszing/monaco-yaml?tab=readme-ov-file#using-monaco-webpack-loader-plugin))。
|
|
32
|
+
|
|
33
|
+
1. 安装 `vite-plugin-monaco-editor` 。
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
npm install vite-plugin-monaco-editor
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
2. 配置 `vite.config.ts` 。
|
|
40
|
+
|
|
41
|
+
```javascript
|
|
42
|
+
import { defineConfig } from "vite";
|
|
43
|
+
import monacoEditor from "vite-plugin-monaco-editor";
|
|
44
|
+
|
|
45
|
+
export default defineConfig({
|
|
46
|
+
plugins: [
|
|
47
|
+
monacoEditor({
|
|
48
|
+
languageWorkers: ["editorWorkerService"],
|
|
49
|
+
customWorkers: [
|
|
50
|
+
{
|
|
51
|
+
label: "yaml",
|
|
52
|
+
entry: "monaco-yaml/yaml.worker"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
})
|
|
56
|
+
]
|
|
57
|
+
});
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
3. 代码中配置schema(请根据需求自行修改 `fileMatch` )。
|
|
61
|
+
|
|
62
|
+
```javascript
|
|
63
|
+
import * as monaco from "monaco-editor";
|
|
64
|
+
import { configureMonacoYaml } from "monaco-yaml";
|
|
65
|
+
|
|
66
|
+
configureMonacoYaml(monaco, {
|
|
67
|
+
validate: true,
|
|
68
|
+
enableSchemaRequest: true,
|
|
69
|
+
schemas: [
|
|
70
|
+
{
|
|
71
|
+
uri: "https://fastly.jsdelivr.net/gh/dongchengjie/meta-json-schema@main/schemas/meta-json-schema.json",
|
|
72
|
+
fileMatch: ["**/*.clash.yaml"]
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
});
|
|
76
|
+
```
|
|
77
77
|
|
|
78
78
|
</details>
|
|
79
79
|
|
|
@@ -85,52 +85,56 @@ VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema`
|
|
|
85
85
|
|
|
86
86
|
- <a href="https://dongchengjie.github.io/meta-json-schema/?schema=https://raw.githubusercontent.com/dongchengjie/meta-json-schema/main/schemas/clash-nyanpasu-merge-json-schema.json" target="_blank">clash-nyanpasu-merge-json-schema</a>
|
|
87
87
|
|
|
88
|
-
## 🖥️
|
|
89
|
-
|
|
90
|
-
1. 下载代码
|
|
88
|
+
## 🖥️ 贡献代码
|
|
91
89
|
|
|
92
|
-
|
|
93
|
-
git clone https://github.com/dongchengjie/meta-json-schema.git
|
|
94
|
-
```
|
|
90
|
+
1. Fork仓库代码
|
|
95
91
|
|
|
96
|
-
2.
|
|
92
|
+
2. 使用Visual Studio Code打开项目(工作目录为.vscode所在目录)
|
|
97
93
|
|
|
98
94
|
```bash
|
|
99
|
-
code
|
|
95
|
+
code path/to/project
|
|
100
96
|
```
|
|
101
97
|
|
|
102
98
|
> [!NOTE]
|
|
103
|
-
> 项目打开后会弹出建议安装YAML
|
|
99
|
+
> 项目打开后会弹出建议安装YAML插件的提示,请点击确认安装或手动安装,以获取良好的开发体验。
|
|
104
100
|
|
|
105
|
-
3.
|
|
101
|
+
3. 安装依赖
|
|
106
102
|
|
|
107
103
|
```bash
|
|
108
104
|
pnpm install
|
|
109
105
|
```
|
|
110
106
|
|
|
111
|
-
4.
|
|
107
|
+
4. 启动项目。
|
|
108
|
+
|
|
109
|
+
- 执行下列命令后,会对 `src` 目录进行监视。
|
|
110
|
+
- 如果发生变动则会对项目进行打包,输出到 `schemas` 目录下。
|
|
112
111
|
|
|
113
112
|
```bash
|
|
114
113
|
pnpm dev
|
|
115
114
|
```
|
|
116
115
|
|
|
117
|
-
5.
|
|
116
|
+
5. 测试验证生成的schema文件
|
|
117
|
+
|
|
118
|
+
- 由于 `.vscode` 目录下 `settings.json` 中已事先配置了如下配置( `test` 目录下的文件使用 `schemas` 目录下输出的schema文件)。于是可以对`src`目录中的内容进行修改,通过自动打包更新schema文件。
|
|
119
|
+
- 通过在 `test` 目录下新增测试文件,观察并验证校验结果,并及时做出修正。
|
|
118
120
|
|
|
119
121
|
```json
|
|
120
122
|
"yaml.schemas": {
|
|
121
123
|
"schemas/meta-json-schema.json": "test/clash-meta/**/*.yaml",
|
|
122
124
|
"schemas/clash-verge-merge-json-schema.json": "test/clash-verge/**/*.yaml",
|
|
123
125
|
"schemas/clash-verge-nyanpasu-json-schema.json": "test/clash-nyanpasu/**/*.yaml"
|
|
124
|
-
}
|
|
126
|
+
}
|
|
125
127
|
```
|
|
126
128
|
|
|
127
|
-
6.
|
|
129
|
+
6. 输出打包
|
|
130
|
+
|
|
131
|
+
- 执行下列命令后,会根据 `package.json` 文件中定义的`releases`进行输出,并根据 `optimization` 决定是否进行压缩。
|
|
128
132
|
|
|
129
133
|
```bash
|
|
130
134
|
pnpm release
|
|
131
135
|
```
|
|
132
136
|
|
|
133
|
-
##
|
|
137
|
+
## 📖 JSON Schema 语法参考
|
|
134
138
|
|
|
135
139
|
<details>
|
|
136
140
|
<summary>JSON Schema标准语法</summary>
|
|
@@ -142,7 +146,7 @@ pnpm release
|
|
|
142
146
|
<details>
|
|
143
147
|
<summary>Monaco Editor扩展语法</summary>
|
|
144
148
|
|
|
145
|
-
> Monaco 编辑器是为 VS Code
|
|
149
|
+
> Monaco 编辑器是为 VS Code 提供支持的开源代码编辑器,使用下列属性提供更丰富的 `Snippet` 支持。
|
|
146
150
|
|
|
147
151
|
```typescript
|
|
148
152
|
interface JSONSchema {
|
|
@@ -150,7 +154,7 @@ interface JSONSchema {
|
|
|
150
154
|
defaultSnippets?: {
|
|
151
155
|
label: string; // 标签文本(索引)
|
|
152
156
|
description?: string; // 标签描述(需要点击展开)
|
|
153
|
-
markdownDescription?: string; // 标签描述(需要点击展开,markdown格式,优先级高于description
|
|
157
|
+
markdownDescription?: string; // 标签描述(需要点击展开,markdown格式,优先级高于description)
|
|
154
158
|
body: any; // 实际取值内容
|
|
155
159
|
bodyText?: string; // 实际取值内容文本(暂无作用)
|
|
156
160
|
}[];
|
|
@@ -169,12 +173,14 @@ interface JSONSchema {
|
|
|
169
173
|
|
|
170
174
|
</details>
|
|
171
175
|
|
|
172
|
-
##
|
|
176
|
+
## ❓ FAQ
|
|
177
|
+
|
|
178
|
+
### definitions目录下的 `compatible.json` 文件的用途是什么?
|
|
173
179
|
|
|
174
|
-
|
|
180
|
+
YAML支持 `Folded Style` 和 `Inline Style` 的写法。
|
|
181
|
+
使用`"type": "boolean"`来定义某个属性,那么`'true'`和`'false'`就会提示`Incorrect type. Expected "boolean".`。
|
|
175
182
|
|
|
176
|
-
|
|
177
|
-
使用`"type": "boolean"`来定义某个属性,那么`'true'`和`'false'`就会提示`Incorrect type. Expected "boolean".`。因此引入compatible类型,以兼容多种编码风格。
|
|
183
|
+
因此引入compatible类型,以兼容多种编码风格。
|
|
178
184
|
|
|
179
185
|
<details>
|
|
180
186
|
<summary>Inline Style</summary>
|
|
@@ -205,4 +211,4 @@ proxies:
|
|
|
205
211
|
</details>
|
|
206
212
|
|
|
207
213
|
> [!NOTE]
|
|
208
|
-
>
|
|
214
|
+
> 由于这种情况多发生于 `proxies` 配置部分,所以目前仅 `proxies` 配置中使用了 `compatible.json` ,其余地方可视情况使用。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "meta-json-schema",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.2",
|
|
4
4
|
"description": "JSON Schema for Clash Meta",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"clash",
|
|
@@ -27,15 +27,14 @@
|
|
|
27
27
|
"prepare": "lefthook install",
|
|
28
28
|
"dev": "npx json-schema-artifact --watch",
|
|
29
29
|
"release": "npx json-schema-artifact",
|
|
30
|
-
"preview": "
|
|
30
|
+
"preview": "npm publish --dry-run"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@commitlint/cli": "^19.
|
|
34
|
-
"@commitlint/config-conventional": "^19.
|
|
35
|
-
"
|
|
33
|
+
"@commitlint/cli": "^19.7.1",
|
|
34
|
+
"@commitlint/config-conventional": "^19.7.1",
|
|
35
|
+
"dprint": "^0.49.0",
|
|
36
36
|
"json-schema-artifact": "^1.1.3",
|
|
37
|
-
"lefthook": "^1.
|
|
38
|
-
"prettier": "^3.4.2"
|
|
37
|
+
"lefthook": "^1.10.10"
|
|
39
38
|
},
|
|
40
39
|
"commitlint": {
|
|
41
40
|
"extends": [
|
|
@@ -46,5 +45,5 @@
|
|
|
46
45
|
"node": ">=18",
|
|
47
46
|
"pnpm": ">=9"
|
|
48
47
|
},
|
|
49
|
-
"packageManager": "pnpm@9.15.
|
|
48
|
+
"packageManager": "pnpm@9.15.4"
|
|
50
49
|
}
|