amelspahic / typescript-library-template
打字稿库的初始样板包括测试,覆盖范围,文档。
typescript-library-template
A starter template for TypeScript libraries. Use this repository as a starting point for your own TypeScript library. This template includes the following features:
- Compiles TypeScript code using both the koude0 and koude1 files.
- Formats TypeScript code using Prettier.
- 使用ESLint。 的lints打字标记代码
- 使用AVA。 运行单元测试
- 使用纽约市生成代码覆盖报告。
- 使用TypeDoc。 生成HTML文档
- 使用Husky git钩子和Lint-staged预先承诺钩。
安装
克隆存储库:
git克隆https://github.com/amelspahic/typescript-library-template.git
安装依赖项:
npm安装
有几个脚本可以帮助您开始:
使用tsconfig.json
和tsconfig.module.json
文件编译打字稿代码。
npm运行构建
使用Prettier格式化打字稿代码,并使用ESLINT来填充代码,修复了发现的任何问题。
npm运行修复
使用ESLINT使用Prettier检查代码格式,然后使用AVA进行单元测试。
npm运行 test
TypeScript是一种流行而有影响力的语言,可扩展使用静态键入和其他功能的JavaScript。它可以帮助您为项目编写更可靠,可维护,可扩展的代码。但是,创建和发布打字稿库可能具有挑战性,尤其是如果您是Typescript生态系统的新手。涉及许多工具和配置,并找到一个涵盖您需要的一切都具有挑战性的好模板或指南。
由于上述原因,我创建了一个打字稿库模板,您可以用作库的起点。它基于我的经验和打字稿社区的最佳实践(通常是主观的),其中包括您开发,测试,记录和发布库所需的一切。本文将解释此模板提供的内容,如何使用以及如何根据您的需求进行自定义。
什么是Typescript-library-template?
typescript-library-template是一个GitHub存储库,您可以用作创建自己的打字稿库的模板。它具有以下功能:
-
打字稿:作为编写库代码的主要语言。它还包括一些针对
tsconfig.json
和tslint.json
文件的推荐设置。 -
ava:作为库编写和运行单元测试的测试框架。它还支持伊斯坦布尔(NYC)的代码覆盖报告。
-
typedoc:作为用于从您的打字稿注释为您的库创建API文档的文档生成器。
-
漂亮:作为保持代码样式一致且可读的代码格式。
-
eslint(typescript-eslint):用于静态代码分析。
-
沙哑和棉绒阶段:模板使用沙哑和绒毛阶段来运行预先承诺的钩子,以确保您的代码在订立之前必须格式,填充,测试和记录。
如何使用TypeScript-library-template?
我将在下面仅提及几个命令。您可以在readme.md文件中找到更多信息。
使用typescript-library-template非常容易。您需要遵循以下步骤:
-
单击GitHub存储库页面上的“使用此模板”按钮。这将根据您的帐户下的模板创建一个新的存储库。
-
克隆或将新存储库下载到本地机器。
-
运行
npm install
或yarn install
安装所有依赖项。 -
通过编辑
src/index.ts
文件开始开发库(或在src
下添加更多文件)。使用AVA语法,您可以使用.spec.ts
或.test.ts
后缀编写单元测试。 -
运行
npm run build
或yarn build
来构建库。这将在dist
文件夹下生成多个输出文件。 -
运行
npm run test
或yarn test
以使用ava进行所有单位测试。 -
在“覆盖范围文件夹”下生成代码覆盖报告,运行
npm run cov
。 -
运行
npm run doc
或yarn doc
使用typedoc生成API文档。这将在docs/index.html
下创建HTML文件。 -
运行
npm run fix
或yarn fix
使用Prettier格式化所有源文件。 -
提交您的更改(它将激活将执行测试和覆盖/格式化的预加入钩子)
-
将您的更改推向github。
如何自定义打字稿 - 图板?
您可以根据自己的喜好自定义打字稿上图书馆。添加文件,更改配置,并删除您发现的任何内容。