@daiso-tech/core

中文文档
0.57.0发布于 2026/08/03Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 2867

库为现代网络应用提供灵活,框架不可知的解决方案,以适应性组件为基础,与"下J"等通俗框架无缝地融合.

此软件包已被标记为弃用

@daiso-tech/core will be renamed to eridu-tech

中文使用文档
文档目录29 节
  1. QQ 快速安装
  2. 为什么?
  3. 统一结构
  4. (笑声) 塞尔德——按顺序排列任何东西。 复还一切相.
  5. QQ 执行 Context —— 跨亚星边界的推进上下文.
  6. 🔗-中相-AOP型中相相. 作曲行为. 保持逻辑清洁.
  7. Httprouter——定义路线。 保持框架-不可知论.
  8. QQ Envaccessor — 类型安全环境变量. 任何来源.
  9. QQ 配置——安全阅读配置. 保持类型安全.
  10. 📊一一相
  11. -这是给谁的?
  12. 完美为
  13. - 不适合这样
  14. 正式维护组件
  15. 基金会
  16. 存储
  17. 复原力
  18. 货币
  19. 通讯
  20. 网页
  21. * 即将到来的组成部分
  22. @daiso-tech/core如何比较
  23. NestJS——内置DI的完整框架与适合您需要的库.
  24. AdonisJS — A电池包含的全存储框架与可堆肥原始.
  25. TRPC / ORPC – 端到端键入API对后方的服务器侧基础设施.
  26. Next.js, Nuxt等——网络的Meta-frameworks vs 框架-不可知后端.
  27. 编成自有的堆栈——手取的库与相接相接相接,相接相接相接.
  28. 觉得这个库有用吗? 给它一个""
  29. 准备好造出伟大的东西了吗?

npm version NPM Downloads TypeScript ES Modules License

@ daiso- tech/ core

写商业逻辑一次。 随时更换基础设施.

TypeScript的适配器-首个后端工具包——17个正式维护组件,拥有4,640+集成和行为测试.

探索文档 • 妇女 API 文件 • 妇女 GitHub 图像 • 妇女 国家预防机制


QQ 快速安装

npm install @daiso-tech/core

为什么?

  • 不重写业务逻辑而切换基础设施:适配器模式使您的代码与供应商脱钩. 今天使用 Redis, 明天使用 Postgres —— 不需要重构 .
  • 测试所有没有Docker的东西:每个有内置适配器和内置维特辅助器的组件船. 写出快速,孤立的测试,没有外部服务.
  • 带上自己的框架: 不需要DI容器。 直接插入快递,NestJS,AdonisJS,Next.js,Nuxt,或TanStack Start——它只是工作.
  • 从第一天起型号安全: Full TypeScript支持有精确的通称,丰富的intellisense,以及自动进口的友好API——在编译时间被捕获出错误,而不是运行时间.
  • 构建于: 头等舱一体化 标准Schema启用 佐德语Name, Valibot, 或 ArkType 执行编译时间和运行时间数据安全 .
  • 无害环境管理本地化。 无普通JS行李.:由现代JavaScript原始人所建. 与Node.js, Bun, Deno以及现代捆绑生态系统完全相容.

统一结构

一个单一的序列化引擎,一个单一的执行上下文,以及可堆放的中间软件——每个组件都共享相同的架构.

(笑声) 塞尔德——按顺序排列任何东西。 复还一切相.

塞尔德组件提供统一的序列化和去串行化引擎,并配有完全的型式安全计划. 它支持任意类型的自定义序列器,并包括一个内置的SuperJSON适配器,处理出框中的日期,映射,设定和 BigInt. Serde在内部跨越了LockFactory,Cache,EventBus等组件.

  • 整个Daiso使用的共享序列化引擎
  • Powers LockFactory,缓存,事件Bus等
  • 内建的 SuperJSON 适配器 — 日期、 地图、 设置和 BigInt 从框出
  • 自行类型的自定义序列器

QQ 执行 Context —— 跨亚星边界的推进上下文.

执行Context组件将任何类型的同步上下文传播到执行边界。 大多数组件都用它来成为隐含的执行-文本-意识,允许它们自动分享相同的交易和其他上下文状态.

  • 类型安全上下文符号
  • Async 上下文传播
  • 没有手动通过参数

🔗-中相-AOP型中相相. 作曲行为. 保持逻辑清洁.

Middleware组件提供可堆肥的AOP型中件管,并配有前/后接接钩,出错处理和上下文传播等. 它支持用 use(),用 enhance(),并将可重复使用的中间软件包装成插件 withPlugin(). 所建中件包括复试,超时,倒置等.

  • 在任何函数上勾起前/后勾起的 AOP
  • 内置的重试、超时、倒置的中间器件等
  • 函数以 use(),类增强 enhance(),插件系统 withPlugin()
  • 用于大多数组件和更多组件的内置前缀插件

Httprouter——定义路线。 保持框架-不可知论.

HttpRouter组件提供了一个框架不可知的HTTP路由层,带有类型安全终点定义,标准-schema验证,以及中间软件支持. 它与任何冬季TC兼容运行时间或适配器相配合,并可以被跨快通,快通,Hono,Next.js,Nuxt,SvelteKit等使用.

  • 具有标准-schema验证的类型安全路由定义
  • 用 Next.js App 路由器、 Nuxt 、 SvelteKit 和任何冬季 tc 兼容运行时间或适配器工作
  • 建在 Hono.js 路由器适配器上
  • 中间软件链和路由组

QQ Envaccessor — 类型安全环境变量. 任何来源.

Envaccessor组件提供了方便的类型安全访问环境变量. 它支持多个同步和Async源(process.env,秘密管理器),schema验证,以及方便的访问模式.

  • 装满自动读取的字型安全
  • 多个来源——process.env和Aync秘密提供者
  • 可选 Zod 计划验证
  • get() 返回缺失字段时无效; getOr() 回到默认状态

QQ 配置——安全阅读配置. 保持类型安全.

CfigAccessor组件提供标准化的类型安全访问域配置变量. 它支持可选的 schema 校验——对每租户设置等动态配置有用.

  • 装满自动读取的字型安全
  • 深至2级的嵌入式物体和阵列
  • 可选 Zod 计划验证
  • get() 返回缺失路径时无效; getOr() 回到默认状态

📊一一相

页:1100%4,640+ (单位:千美元)0 个
官方维护的部件类型脚本整合和行为测试测试需要多克

-这是给谁的?

@daiso-tech/core是为后端和全装的TypeScript开发者所建,他们重视灵活性和可测试性.

完美为

  • 后端应用程序 : 构建REST API,背景工人,CLI,以及使用可再用,可堆放组件的后端其他服务.
  • 框架不可知性项目: 与Express,Fastify,Hono,Next.js,Nuxt,SvelteKit,Cloudflare Workers,Bun,Deno,Node.js合作,以及任何运行时间支持标准冬季tc取取api.
  • 适应者第一架构: 在 Redis, PostgreSQL, SQLite, MongoDB, S3, 本地存储, 内存执行之间切换, 或者在不改变业务逻辑的情况下, 在自己的适配器之间切换.
  • 分布式系统: 使用分布式锁,semaphores,共享锁,断路器,限速器,缓存,以及跨多流程和机器工作的事件总线.
  • 模块单体 : 通过单一的可部署应用程序共享相同的抽象,中间软件,以及适配器. 一些组件或工人可以被用在微服务上,但库主要是为模块化的单体建筑而设计的.
  • 图书馆和框架作者: 在稳定的接口上建立可重复使用的后端库,而不是与特定的供应商或基础设施相接.
  • 测试和地方发展: 使用内膜和NoOp适配器进行快速的,决定性的测试,然后交换到只配置的生产基础设施.
  • 便携式后端代码 : 写基础设施独立代码,可以在云提供者,数据库,存储提供者之间移动,运行时间变化最小.
  • 通过单个组成部分: 使用特定组件而不被迫采用整个库或一个DI容器——每个组件独立工作.
  • 逐步通过: 从一个单一的组件开始,随着项目的发展逐渐采用更多的组件.

- 不适合这样

  • 微服务: 库为模块化的单体所设计,组件共享相同的过程和运行时间. 虽然一些组件(如分布式锁,断路器,和事件巴士等)在跨过程工作,但更广泛的适配器模型和共享抽象并没有被优化用于微服务架构.
  • 只有前端应用程序 : @daiso-tech/core是为后端和服务器侧开发而设计的,而不是浏览器应用程序.
  • 项目与一个供应商紧密结合: 如果您的应用有意依赖于提供者的特有特征而不是抽象,适配器模型可能不会提供多少好处.
  • 极小的脚本 : 如果您只需要单一的 Redis 呼叫,文件上传,或缓存操作,抽象层可能是不必要的间接费用.
  • 需要特定提供者能力的应用程序: 特定数据库独有的特性,缓存,或云服务,可能需要直接使用该提供者的原生SDK,而不需要通用抽象.
  • 纯 JavaScript 工程优先排序为简单 : 虽然从JavaScript中可以使用,但库是围绕TypeScript的类型系统,通用软件,以及推论设计,以获得最好的开发者经验.

正式维护组件

越来越多的官方维护的部件被收藏. 每艘有多个内置适配器的组件船——互换基础设施而无需改变一行业务逻辑.

基金会

  • 中间软件和 AOP —— 说 Near-stable ——可编译的中件管件有钩前/钩后,出错处理——每个组件插件系统的基础.
  • 收藏 —— 说 Near-stable ——有强大的查询,变相,并有活页式原始物的"类型安全"收集工具.
  • 赛德 —— 说 Experimental ——用内置的"超级JSON"适配器(Date, Map, Set, BigInt)和自定义的序列器来序列化和去序列化数据——是整个生态系统所有数据交换的骨干.
  • 代码c —— 说 Experimental ——有统一,类型安全接口的编码和解码数据——包括一个内置的 Base64 代码并允许您为任何协议构建自定义代码.
  • 执行背景 —— 说 Near-stable – 类型安全,可相容的上下文传播请求ID,用户信息,以及跨越ASync边界追踪元数据——没有线程本地黑客.
  • 输入配置访问 —— 说 Near-stable ——标准化类型安全访问域配置变量——可选的Schema验证和完整的TypeScript推断.
  • 输入信封访问 —— 说 Near-stable – 具有解析,默认和验证功能的多同步/同步源的类型安全环境可变访问——从未读取 process.env 又生还了.

存储

  • 缓存 —— 说 Near-stable ——用可插件商店(内存,Redis等),TTL政策,并盖章保护.
  • 文件存储 —— 说 Near-stable ——抽象文件存储为本地磁盘的适配器,S3相容,以及其他后端——上传,流出,并服务于一个API.

复原力

  • 断路器 —— 说 Near-stable ——用可配置的阈值,半开放回收,自定义后退策略来防止连锁故障.
  • 限制费率 —— 说 Near-stable —— Throttle 请求率带有可配置限制,可滑动窗口,可插接后端——保护您的服务不超载.
  • 复原力 —— 说 Near-stable ——暂停,倒计时,倒计时,重试,有可配置政策和后退.

货币

  • 锁定 —— 说 Near-stable ——分出有租赁管理,屏蔽和无屏蔽收购,自动放行等功能的锁原始.
  • 共享锁定 —— 说 Near-stable ——阅读-写出分布式锁,以配合共享和专用模式同时访问.
  • 司马发 —— 说 Near-stable ——以动态许可分配的方式限制共享资源同时使用费率.

通讯

  • 活动总线 —— 说 Near-stable ——Pub/sub事件总线,用于发送和收听带有可插接运输后端的事件——独立于基础技术.

网页

  • HTTP 路由器 —— 说 Near-stable ——在Hono路由器引擎上所建的框架-不可知HTTP路由器——执行Winter TC取取取标准并有中间软件链和打入路径参数.

查看全部组件 docs


* 即将到来的组成部分

目前在设计或开发中的组件——任何版本中都没有.

  • DI 集装箱 ——用于无紧接接接线的接线应用组件的轻量级,型号安全的依赖性注射容器.
  • 交易背景 ——按照承诺后模式协调各组成部分的数据库交易. 可靠消息的基础——给Outbox、收件箱、调度器和通知机以权力.
  • CLI 命令 ——用于定义和执行CLI指令并配有运输适配架构的统一API. 通过子进程在本地运行命令,远程在SSH或HTTP上运行,在多克容器内运行,或者通过自定义的运输——都来自相同的命令定义.
  • 结构货币 ——在结构化范围中运行同儿童任务与父母一生挂钩的同源任务——自动取消,错误传播,资源清理.
  • 承诺队列 ——可塑承诺排队控制同时履行承诺的数量并避免资源耗尽.
  • 日志可观察性( O) 支持可观察性——伐木、计量和追踪——采用可插接适配系统。 预建适配器 打开几何 和本地适配器,可以将日志、痕迹和度量衡保存到磁盘.
  • 回顾 ——通过预建的 CLI 命令检查任何组件的实际运行时间状态——查看已注册的处理器,活动任务,队列深度,锁定持有者,以及更多不挖掘日志或度量符.
  • 任务调度器 ——全程灵活安排工作——即时调度,延后执行,再起重复工作. 使用交易背景进行可靠的执行.

查看完整的路线图


@daiso-tech/core如何比较

NestJS——内置DI的完整框架与适合您需要的库.

代替雀巢JS与 @ daiso- tech/ core
有自己的设计、装饰和模块的意见框架.一个库,而不是一个框架——DI可选,没有装饰,平庸的阶级.
公约批发:DI Central,大多数原始人只在雀巢JS内部工作.任何框架中相同的缓存/锁/事件总线——没有锁定.
只有节点JS运行时间.Winter TC在任何地方运行——节点,邦克,德诺,边缘.
无法嵌入到一个完整的存储框架或主机中作为一个服务器.通过适配器模式可边接可适应.
不适应边缘运行时间 .嵌入到任何全存储框架中——主机为一服务器.
只有请求范围——没有自定义的瞄准镜.范围-不可知——要求,习惯,或没有范围.
包接已存在的 lib —— BullMQ,缓存管理器,类验证器,类转换器等.拥有可插接适配器的原始相——用于测试的内膜适配器.
向微服务 和单层.为模块化单体所建——互换基础设施而无需重写逻辑.
没有执行上下文贯穿所有组件 .执行上下文流经所有组件 .
没有共享序列化引擎跨组件.共享序列化引擎(Serde)跨组件.
无内置交易上下文 .将会有一个交易的背景.

AdonisJS — A电池包含的全存储框架与可堆肥原始.

而不是阿多尼斯JS与 @ daiso- tech/ core
Bundles 路由,ORM (Lucid), 认证,会话, 验证.没有应用框架,ORM,或认证——只是适配器后面的基础设施.
限定的文件夹结构和公约.结合任何应用层——你带来结构.
只有节点JS运行时间.Winter TC在任何地方运行——节点,邦克,德诺,边缘.
无法嵌入到一个完整的存储框架或主机中作为一个服务器.嵌入到任何全存储框架中——主机为一服务器.
不适应边缘运行时间 .通过适配器模式可边接可适应.
没有执行上下文贯穿所有组件 .执行上下文流经所有组件 .
没有共享序列化引擎跨组件.共享序列化引擎(Serde)跨组件.
无内置交易上下文 .将会有一个交易的背景.

TRPC / ORPC – 端到端键入API对后方的服务器侧基础设施.

代替TRPC/ORPC与 @ daiso- tech/ core
客户端和服务器之间的端到端类型安全.不属于RPC框架,也不属于tRPC或ORPC替代.
定义程序一次——从客户端打来全推论,没有代码.可插接适配器背后的后端基础设施——缓冲,锁定,速率限制,排程,事件总线.
在客户端和服务器的边界上 对安全型全层API来说非常棒.补充性——tRPC程序可以调用由@daiso-tech/core支持的服务.
没有内置电池包括后端基础设施选择 tRPC 用于打入的传输; 添加 @ daiso- tech/ core 用于以下可再使用的服务器侧 .

Next.js, Nuxt等——网络的Meta-frameworks vs 框架-不可知后端.

取而代之的是Next.js,Nuxt等.与 @ daiso- tech/ core
Excel在客户端渲染,SSR,路由,和丰富的前端生态系统.不是网络或前端框架——也不是Next.js或Nuxt的替换.
运送自己的服务器侧API和路由处理器.补充它们——路由处理器和服务器动作可以使用缓存,锁,队列,以及调度器.
通常是一个快速传送网络应用程序的最佳起点.相同的后端逻辑在元框架和独立的API服务或工人之间移动.
后端逻辑锁入元框.添加 @ daiso- tech/ core 用于以下可移植、可测试服务器侧.
没有内置电池包括后端基础设施

编成自有的堆栈——手取的库与相接相接相接,相接相接相接.

而不是编织自己的堆栈与 @ daiso- tech/ core
最大控制和最小的依赖性——准确选择您想要的库.一致地,综合地层——共享模式和通用适配器接口.
更简单,更轻的小型,有重点的使用案例.比单一的生化库更重,但舰只的入室适配器在没有多克的情况下进行测试.
当您需要一两个原始的或依赖提供者特有的特性时,更好.取舍:抽象地层——原始库为单一的Redis调用或小脚本取胜.
没有共同的公约——你们自己给图书馆打电话.没有胶体代码——组件通过共享 serde 和执行上下文进行交互操作.
被锁入你选择的东西中——增加更多意味着更多的胶体代码.逐步采用——从一个部分开始,随着项目的发展而增加更多的内容.

觉得这个库有用吗? 给它一个""

如果你在@daiso-tech/core中看到潜力,在GitHub上主演的回波可以帮助他人发现并激励继续发展. 它需要一击,意义很大.

GitHub 上的"星"("星")


准备好造出伟大的东西了吗?

起来,在几分钟内运行 一个安装.

npm install @daiso-tech/core

开始吧 • 妇女 在 GitHub 上查看

版本与发布记录

@daiso-tech/core 共发布 90 个版本,首次发布于 2024/08/22;过去 12 个月发布了 26 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.57.0latest2026/08/033 个月前
0.56.02026/07/273 个月前
0.55.02026/07/203 个月前
0.54.12026/07/183 个月前
0.54.02026/07/183 个月前
0.53.02026/05/185 个月前

关于 @daiso-tech/core 的常见问题

@daiso-tech/core 是什么?

库为现代网络应用提供灵活,框架不可知的解决方案,以适应性组件为基础,与"下J"等通俗框架无缝地融合.注意:该包已被作者标记为弃用——@daiso-tech/core will be renamed to eridu-tech

如何安装 @daiso-tech/core?

在项目目录运行 npm install @daiso-tech/core,或使用 pnpm add / yarn add / bun add。

@daiso-tech/core 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@daiso-tech/core 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@daiso-tech/core 可以商用吗?

@daiso-tech/core 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@daiso-tech/core 的下载量有多少?

根据 npm 官方下载统计,@daiso-tech/core 在 2026/10/11 – 2026/11/09 这 30 天内被下载 2,867 次,日均约 96 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@daiso-tech/core 还在维护吗?

最新版本 0.57.0 发布于 2026/08/03(3 个月前);至今共发布 90 个版本,其中过去 12 个月发布了 26 个;首次发布于 2024/08/22。作者已将其标记为弃用,新项目建议寻找替代方案。