包结构

以下结构可确保包在我们的 monorepo/Nx 工作流中达到最佳效果。

./package.json

  • 所有 TanStack 项目都具有 "type": "module",用于将 .js 文件的默认解析设置为 ESM;这不会对构建 CJS 产生任何影响。
  • 拥有 "exports" 字段也至关重要。
  • 出于兼容性原因,您还应包含 "main""module""types" 字段。
  • 所有包都具有 Nx 缓存的以下脚本:"test:eslint""test:types""test:lib""build""test:build"

./tsconfig.json

  • 扩展根级别的 tsconfig(例如 "extends": "../../tsconfig.json")。
  • 在此处添加任何特定于框架的选项和包含的文件。

./vite.config.ts

./src

  • 此文件夹应仅包含经过构建并分发给用户的代码。
  • 测试不应放置在此文件夹中,因为它们会膨胀分发代码,并可能无意中使 Nx 缓存失效。

./tests

  • 此文件夹应包含所有测试文件。
  • 还应包含该框架所需的任何测试设置文件。
我们的合作伙伴
Code Rabbit
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。