meta-json-schema 1.19.0 → 1.19.1

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,17 @@
1
+ ## v1.19.1
2
+
3
+ ### Changes
4
+
5
+ - 新增:rule-providers 新增 `inline` 内联规则配置
6
+ - 新增:proxy-providers 新增 `inline` 内联proxies配置
7
+ - 调整: outbound 的 `header` 配置项宽松,不再限制value的类型为 string
8
+
9
+ ### Bugs Fixes
10
+
11
+ - 修复: `tuic` V4 的 `token` 配置项类型错误
12
+
13
+ ---
14
+
1
15
  ## v1.19.0
2
16
 
3
17
  ### Changes
package/README.md CHANGED
@@ -1,14 +1,14 @@
1
1
  ### 🧩 VSCode 插件
2
2
 
3
- VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema`,安装扩展后即可获取 `Clash.Meta`的语法支持。
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语法支持插件`redhat.vscode-yaml`。
11
- 2. 在`.vscode`目录下的`settings.json`文件中(如不存在则手动创建),填入以下内容。其中,key为schema文件的地址,value为路径通配符,请根据需求自行修改。
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,22 +21,22 @@ VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema`
21
21
  <details>
22
22
  <summary>Monaco Editor中使用</summary>
23
23
 
24
- 1. 安装`monaco-editor`(编辑器)和`monaco-yaml`(YAML支持)。
24
+ 1. 安装 `monaco-editor` (编辑器)和 `monaco-yaml` (YAML支持)。
25
25
 
26
26
  ```
27
27
  npm install monaco-editor
28
28
  npm install monaco-yaml
29
29
  ```
30
30
 
31
- 2. 如果是vite项目,可通过安装插件简化初始化(其他构建工具如`webpack`请参考[monaco-yaml文档](https://github.com/remcohaszing/monaco-yaml?tab=readme-ov-file#using-monaco-webpack-loader-plugin))。
31
+ 2. 如果是vite项目,可通过安装插件简化初始化(其他构建工具如 `webpack` 请参考[monaco-yaml文档](https://github.com/remcohaszing/monaco-yaml?tab=readme-ov-file#using-monaco-webpack-loader-plugin))。
32
32
 
33
- 1. 安装`vite-plugin-monaco-editor`。
33
+ 1. 安装 `vite-plugin-monaco-editor` 。
34
34
 
35
35
  ```
36
36
  npm install vite-plugin-monaco-editor
37
37
  ```
38
38
 
39
- 2. 配置`vite.config.ts`。
39
+ 2. 配置 `vite.config.ts` 。
40
40
 
41
41
  ```javascript
42
42
  import { defineConfig } from "vite";
@@ -57,7 +57,7 @@ VS Code 扩展商店搜索 `Meta JSON Schema` 或 `ClashMeta.meta-json-schema`
57
57
  });
58
58
  ```
59
59
 
60
- 3. 代码中配置schema(请根据需求自行修改`fileMatch`)。
60
+ 3. 代码中配置schema(请根据需求自行修改 `fileMatch` )。
61
61
 
62
62
  ```javascript
63
63
  import * as monaco from "monaco-editor";
@@ -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
- ## 🖥️ 开发
88
+ ## 🖥️ 贡献代码
89
89
 
90
- 1. 下载代码
90
+ 1. Fork仓库代码
91
91
 
92
- ```bash
93
- git clone https://github.com/dongchengjie/meta-json-schema.git
94
- ```
95
-
96
- 2. 使用Visual Studio Code打开项目(工作目录为.vscode所在目录)。
92
+ 2. 使用Visual Studio Code打开项目(工作目录为.vscode所在目录)
97
93
 
98
94
  ```bash
99
- code /path/to/project/location
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. 启动项目。执行下列命令后,会对`src`目录进行监视,如果发生变动则会对项目进行bundle,输出到`schemas`目录下。
107
+ 4. 启动项目。
108
+
109
+ - 执行下列命令后,会对 `src` 目录进行监视。
110
+ - 如果发生变动则会对项目进行打包,输出到 `schemas` 目录下。
112
111
 
113
112
  ```bash
114
113
  pnpm dev
115
114
  ```
116
115
 
117
- 5. 测试schema。由于`.vscode`目录下`settings.json`中已事先配置了如下配置(`test`目录下的文件使用`schemas`目录下输出的schema文件)。因此可以对`src`进行修改,并在`test`目录下新增测试文件,及时观察变动并做出修正。
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. 发布release。执行下列命令后,会根据`package.json`文件中定义的`releases`进行输出,并根据`optimization`决定是否进行压缩。
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 提供支持的开源代码编辑器,使用下列属性提供更丰富的`Snippet`支持。
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
- ## 🤔 FAQ
176
+ ## FAQ
177
+
178
+ ### definitions目录下的 `compatible.json` 文件的用途是什么?
173
179
 
174
- ### definitions中的`compatible.json`文件的用途是什么?
180
+ YAML支持 `Folded Style` 和 `Inline Style` 的写法。
181
+ 使用`"type": "boolean"`来定义某个属性,那么`'true'`和`'false'`就会提示`Incorrect type. Expected "boolean".`。
175
182
 
176
- YAML支持`Folded Style`和`Inline Style`的写法。
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
- > 由于这种情况多发生于`proxies`配置部分,所以目前仅`proxies`配置中使用了`compatible.json`,其余地方可视情况使用。
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.0",
3
+ "version": "1.19.1",
4
4
  "description": "JSON Schema for Clash Meta",
5
5
  "keywords": [
6
6
  "clash",