记录我给inspector项目提交一个完成合入PR的过程
PR#772记录
- 这个PR的核心是如下对于schemaUtils.ts文件的generateDefaultValue方法的如下修改,这个方法的注释里写的是基于JSON Schema类型生成一个默认值,在main分支以前的代码里对于string、number、boolean等primitive类型是区分是否required进行不同的处理的,但是对于object和array类型没有判断是否required进行不同的处理
Generates a default value based on a JSON schema type
1 | - return []; |
vscode上安装Github PR/Issue 插件
- 安装上了这个插件就能在vscode上同步inspector仓库的PR与issue了
PR#786记录
- 这个PR里放了一个作者自己进行自测的视频
- 这个视频里展示了一个启动一个mcp server的命令
1 | cd typescript-sdk(mcp的ts sdk) |
client这个workspace是使用react写的
- 我在这个仓库练习使用react进行开发的经验
server这个workspace是使用express.js开发的
- 我在express-typescript仓库练习使用express.js开发接口
UT
- 开源远程工作者Anthony Fu在博客中写到,参考TDD(测试驱动开发)的思路,作为一个用户在向一个仓库报bug的时候,可以先为仓库添加相应的用例,这样既能保证bug被修复,也能作为一个用例持续保持项目在这一个用例上的正确性
- 因为前面准备了cva仓库的练习,所以是先看了client这个workspace下的component库,
ls -lh
命令找到了最小文件大小的samplingTab.test.tsx
文件,在cd
到client文件夹下后,使用npm test -- samplingTab
能执行这个文件下的用例;这个文件下有两个用例,当pendingRequests为空数组时和pendingRequests为包含5个元素的数组时的场景;在跟着这个测试用例走的时候,找到了第一个错误点,并提出了第一个PR
处理别人的issue
- 我偏向于按照自己的节奏探索inspector项目的架构,我会觉得处理别人的issue是浪费时间;但是换一个角度想问题,是不是我掌握inspector项目,建立和inspector项目的了解关系是不是就是为了帮助别人,好像不是为了帮助别人,而是为了自己能在简历里写自己曾深度的参与一个开源项目,贡献了多少个PR
- 处理了别人的issue是否需要在后面留言,可以follow一下自己的github账号
- 参与项目过程肯定是一个要有收获的过程,学到项目的开发框架,开源项目的组织形式