Project Icon

effect

TypeScript函数式效果系统框架

Effect是一个TypeScript框架,提供函数式效果系统和标准库。支持TypeScript 5.4+,需启用严格模式。框架提供文档、API参考和社区支持,有助于开发可靠和可扩展的应用。项目开源,欢迎贡献,并提供详细的贡献指南。

Effect

欢迎使用Effect,这是一个强大的TypeScript框架,提供了一个功能齐全的函数式效果系统和丰富的标准库。

要求

  • TypeScript 5.4 或更高版本
  • 在你的tsconfig.json文件中启用strict标志
{
  // ...
  "compilerOptions": {
    // ...
    "strict": true,
  },
}

文档

有关详细信息和使用示例,请访问Effect网站

Effect简介

要开始使用Effect,请观看我们在YouTube上的介绍视频。这个视频概述了Effect及其主要特性,是新手入门的绝佳起点:

Effect简介

加入我们的社区

加入我们活跃的Discord社区,与其他开发者互动、提问和分享经验。这是我们Discord服务器的邀请链接:加入Effect的Discord社区

API参考

有关Effect API的详细信息,请参阅我们的API参考

通过拉取请求贡献

我们欢迎通过拉取请求进行贡献!以下是一些帮助你入门的指南:

设置你的环境

首先,fork仓库并将其克隆到你的本地机器。

进入克隆的仓库并为你的更改创建一个新分支:

git checkout -b my-branch

通过运行以下命令确保安装所有必需的依赖项:

pnpm install  # 需要pnpm 9.0.4版本

进行更改

实现你的更改

对代码库进行你提议的更改。如果你的更改影响功能,请添加相应的测试以验证你的更新。

验证你的更改

运行以下命令以确保你的更改不会引入任何问题:

  • pnpm codegen(可选):如果你更改了包的结构或引入了新模块,重新生成包入口点。
  • pnpm check:确认代码编译没有错误。
  • pnpm test:执行所有单元测试,确保你的更改没有破坏现有功能。
  • pnpm circular:检查导入中是否存在循环依赖。
  • pnpm lint:确保代码符合我们的编码标准。
    • 如果遇到样式问题,使用pnpm lint-fix自动纠正其中一些问题。
  • pnpm dtslint:运行类型级测试。
  • pnpm docgen:确保文档生成正确并反映所做的任何更改。

记录你的更改

JSDoc注释

添加新功能时,使用JSDoc注释记录你的代码很重要。这有助于其他开发者理解你的更改的目的和用法。在你的JSDoc注释中至少包含以下内容:

  • 简短描述:总结功能的目的和功能。
  • 示例:在@example标签下提供使用示例,展示如何使用该功能。
  • 引入版本:使用@since标签指明引入该功能的版本。如果你不确定版本,请咨询项目维护者。
  • 类别(可选):你可以使用@category标签对功能进行分类,以帮助组织文档。如果你不确定分配什么类别,请询问项目维护者。

变更集文档

在提交更改之前,使用变更集记录它们。这个过程有助于跟踪修改并有效地将它们传达给项目团队和用户:

pnpm changeset

在创建变更集的过程中,你将被提示为你的更改选择适当的级别:

  • patch:如果你进行小修复或不影响库整体功能的小变更,选择此项。
  • minor:为增强功能但不破坏现有功能的新特性选择此项。
  • major:为任何导致库向后不兼容修改的更改选择此项。

完成你的贡献

提交你的更改

一旦你用变更集记录了你的更改,就该将它们提交到仓库了。使用清晰描述性的提交消息,可以与你在变更集中使用的消息相同:

git commit -am '添加某个功能'

链接到问题

如果你的提交解决了一个开放的问题,在你的提交消息中直接引用问题编号。这有助于将你的贡献明确地链接到特定任务或错误报告。此外,如果你的提交解决了问题,你可以通过添加类似", closes #<问题编号>"的短语来表示。例如:

git commit -am '添加某个功能, closes #123'

这种做法不仅有助于跟踪问题的进展,而且在提交合并时会自动关闭问题,简化项目管理。

推送到你的Fork

将更改推送到你的GitHub fork:

git push origin my-branch

创建拉取请求

对原始仓库的适当分支打开一个拉取请求:

  • main分支:用于小补丁或错误修复。
  • next-minor分支:用于非破坏性的新功能。
  • next-major分支:用于引入破坏性修改的更改。

请耐心等待!我们将尽快审核你的拉取请求。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号