npm包名称规范

包名称规范

  1. 最多为 214 个字符。

  2. 全部小写,多字母建议用中横线-分隔,不建议使用点.或下划线_分隔。

  3. 不允许使用某些特殊字符:“~\’!()*”)’,不允许有空格,不允许使用node_modules 或 favicon.ico等特殊名字。

  4. 不能以 . 或 _ 开头。

  5. 必须放在私有域下,私有域目前有@jdcfe,其他有需求请联系添加。

代码编写规范

  1. 代码必须使用ES6或者TypeScript语法编写,每个文件都必须严格满足JDCFE的Eslint规则。

  2. 必须使用ES Module规范,禁止使用AMD/CommonJS规范。

  3. 必须有单元测试,单元测试用例放在单独的test目录下,规范参见基础js lib单元测试规范。

  4. 对于复杂组件,应该有使用示例,可以放在demo目录下,在README中有链接到这些demo链接。

  5. 对于使用TypeScript编写的npm包,其导出文件必须有对应的类型定义文件。

  6. 有完整的NPM Scripts。

package.json规范

  1. 必须要有description属性,内容不能少于10字,包含功能/用途说明。

  2. 如果有依赖,必须要有dependencies属性,并声明正确的版本。

  3. 包的导出提供两种形式:ES Module导出和CommonJS导出,package.json的main字段指向CommonJS导出,module字段指向ES Module导出。命名推荐为:lib/、es/

  4. 必须有包含项目地址的repository字段。

  5. 必须有包含作者名的author字段,且建议用实名,避免找不到人。

  6. 必须遵循语义化版本规范,即maior.minor.patch形式,规范参见这里。每次变更请按照规范来修改package.json中的version字段。

  7. npm script规范

文档规范

  1. 包根目录下必须有README.md文件,该文件是对包的简要说明,具体编写参见11.README文件编写建议(待补充. 。

  2. 对于复杂的组件,可以包含一个docs目录,该目录下可以放组件说明的md文件,用于对组件进行详细的说明

  3. 导出文件必须遵守jsdoc规范