You've already forked dev-sidecar
mirror of
https://github.com/docmirror/dev-sidecar.git
synced 2025-11-26 14:10:40 +08:00
# 新特性:
1. 系统代理中的排除列表,可配置化;可在界面中配置,也可在远程配置中配置 # 问题修复: 1. 空指针异常导致插件关闭失败的问题修复 2. 偶发的空指针异常导致代理请求失败,原因不明,暂时规避掉 # 配置调整: 1. 添加几项targets配置,优化1项配置 2. 添加几项拦截配置 3. 添加很多项系统代理排除项,并调整白名单配置 4. 优化dns配置 5. `.gitignore` 中,排除掉 `package-lock.json` # 功能优化: 1. 远程配置内容格式不正确时,不保存它 2. 部分日志优化 3. 封装 merge.js 的 doDiff 和 doMarge 两个方法,方便使用和测试,同时添加测试用例 `mergeTest.js`,删除老的 `mergeTest.mjs`;doDiff优化过,使 config.json5 的内容更准确的体现用户自定义配置 4. 打开链接的方法,全部改为异步 # 文档: 1. 移除部分 `gitee仓库` 相关的内容,因为gitee的仓库被禁了,部分gitee地址改为github地址 2. 代码贡献说明中,添加环境准备相关说明;同时添加4个bat脚本文件方便windows用户快速贡献代码
This commit is contained in:
88
packages/core/test/mergeTest.js
Normal file
88
packages/core/test/mergeTest.js
Normal file
@@ -0,0 +1,88 @@
|
||||
const lodash = require('lodash')
|
||||
const mergeApi = require('../src/merge.js')
|
||||
|
||||
// 默认配置
|
||||
const defConfig = {
|
||||
a: {
|
||||
aa: { value: 1 },
|
||||
bb: { value: 2 }
|
||||
},
|
||||
b: { c: 2 },
|
||||
c: 1,
|
||||
d: [1, 2, 3],
|
||||
e: {
|
||||
aa: 2,
|
||||
ee: 5
|
||||
},
|
||||
f: {
|
||||
x: 1
|
||||
},
|
||||
g: [1, 2],
|
||||
h: null,
|
||||
i: null
|
||||
}
|
||||
|
||||
// 自定义配置
|
||||
const customConfig = {
|
||||
a: {
|
||||
bb: { value: 2 },
|
||||
cc: { value: 3 }
|
||||
},
|
||||
b: { c: 2 },
|
||||
c: null,
|
||||
d: [1, 2, 3, 4],
|
||||
e: {
|
||||
aa: 2,
|
||||
ee: 5,
|
||||
ff: 6
|
||||
},
|
||||
f: {},
|
||||
g: [1, 2],
|
||||
h: null
|
||||
}
|
||||
|
||||
// doDiff
|
||||
const doDiffResult = mergeApi.doDiff(defConfig, customConfig)
|
||||
console.log('doDiffResult:', JSON.stringify(doDiffResult, null, 2))
|
||||
console.log('\r')
|
||||
// 校验doDiff结果
|
||||
const doDiffExpect = {
|
||||
a: {
|
||||
aa: null,
|
||||
cc: { value: 3 }
|
||||
},
|
||||
c: null,
|
||||
d: [1, 2, 3, 4],
|
||||
e: {
|
||||
ff: 6
|
||||
},
|
||||
f: {
|
||||
x: null
|
||||
}
|
||||
}
|
||||
console.log('check diff result:', lodash.isEqual(doDiffResult, doDiffExpect))
|
||||
console.log('\r')
|
||||
|
||||
// doMerge
|
||||
const doMergeResult = mergeApi.doMerge(defConfig, doDiffResult)
|
||||
// delete null item
|
||||
mergeApi.deleteNullItems(doMergeResult)
|
||||
console.log('running:', JSON.stringify(doMergeResult, null, 2))
|
||||
// 校验doMerge结果
|
||||
const doMergeExpect = {
|
||||
a: {
|
||||
bb: { value: 2 },
|
||||
cc: { value: 3 }
|
||||
},
|
||||
b: { c: 2 },
|
||||
d: [1, 2, 3, 4],
|
||||
e: {
|
||||
aa: 2,
|
||||
ee: 5,
|
||||
ff: 6
|
||||
},
|
||||
f: {},
|
||||
g: [1, 2]
|
||||
}
|
||||
console.log('check merge result:', lodash.isEqual(doMergeResult, doMergeExpect))
|
||||
console.log('\r')
|
||||
Reference in New Issue
Block a user