Skip to main content
Glama

TinyPNG MCP Server

by Alvinnn1
JSDOC_GUIDELINES.md3.66 kB
# JSDoc 规范指南 本项目强制要求使用符合 JSDoc 标准的注释。所有函数、类、方法和导出的变量都必须包含完整的 JSDoc 注释。 ## 基本要求 - ✅ 所有函数声明必须有 JSDoc 注释 - ✅ 所有类声明必须有 JSDoc 注释 - ✅ 所有方法定义必须有 JSDoc 注释 - ✅ 所有箭头函数必须有 JSDoc 注释 - ✅ 所有函数表达式必须有 JSDoc 注释 ## JSDoc 格式规范 ### 1. 描述要求 - 必须包含完整的描述 - 描述必须以句号结尾 - 描述和标签之间需要空行 ### 2. 参数文档 - 所有参数必须有 `@param` 标签 - 参数描述必须完整且以句号结尾 - 参数名称必须与函数签名一致 ### 3. 返回值文档 - 有返回值的函数必须有 `@returns` 标签 - 返回值描述必须完整且以句号结尾 ## 正确示例 ```typescript /** * 处理图片缓冲区并应用指定的选项。 * * @param buffer 要处理的图片缓冲区。 * @param options 处理选项配置。 * @returns 处理后的图片缓冲区。 */ function processImage(buffer: Buffer, options: ProcessingOptions): Buffer { return buffer } /** * 图片处理器主类。 * 提供各种图片处理功能。 */ class ImageProcessor { /** * 压缩给定的图片数据。 * * @param data 要压缩的图片数据。 * @returns 压缩后的图片数据。 */ compress(data: string): string { return data } } /** * 计算图片的总面积。 * * @param width 图片宽度(像素)。 * @param height 图片高度(像素)。 * @returns 总面积(平方像素)。 */ const calculateSize = (width: number, height: number): number => { return width * height } ``` ## 接口和类型注释 ```typescript /** * 处理选项接口。 */ interface ProcessingOptions { /** 质量等级(0-100)。 */ quality: number /** 输出格式。 */ format: string } ``` ## ESLint 规则说明 项目配置了以下 JSDoc 相关的 ESLint 规则: - `jsdoc/require-jsdoc` - 要求所有函数、类、方法都有 JSDoc 注释 - `jsdoc/require-description` - 要求所有 JSDoc 都有描述 - `jsdoc/require-description-complete-sentence` - 要求描述是完整句子(以句号结尾) - `jsdoc/require-param` - 要求所有参数都有 @param 标签 - `jsdoc/require-param-description` - 要求所有参数都有描述 - `jsdoc/require-returns` - 要求有返回值的函数有 @returns 标签 - `jsdoc/require-returns-description` - 要求返回值有描述 - `jsdoc/check-param-names` - 检查参数名称是否一致 - `jsdoc/check-tag-names` - 检查标签名称是否正确 - `jsdoc/check-syntax` - 检查 JSDoc 语法 - `jsdoc/check-alignment` - 检查注释对齐 - `jsdoc/no-blank-blocks` - 不允许空白的 JSDoc 块 ## 违规示例(会被 ESLint 报错) ```typescript // ❌ 错误:缺少 JSDoc 注释 function processImage(buffer: Buffer) { return buffer } // ❌ 错误:JSDoc 不完整 /** * processImage */ function processImage(buffer: Buffer) { return buffer } // ❌ 错误:缺少参数描述 /** * 处理图片缓冲区。 * @param buffer * @returns 处理后的缓冲区 */ function processImage(buffer: Buffer) { return buffer } ``` ## 运行检查 ```bash # 检查所有文件的 JSDoc 规范 npm run lint # 自动修复可修复的 JSDoc 格式问题 npm run lint:fix ``` ## 注意事项 - TypeScript 已提供类型信息,因此禁用了 `@param` 和 `@returns` 的类型要求 - 未使用的参数建议以下划线开头(如 `_options`)以避免 ESLint 警告 - VSCode 会在保存时自动执行 ESLint 修复,包括 JSDoc 格式修复

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Alvinnn1/tinify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server