Skip to content

nailyjs/core

Repository files navigation


Naily

Naily is a IOC framework written in TypeScript.

CI GitHub commit activity GitHub repo size GitHub code size in bytes GitHub last commit (branch) GitHub Workflow Status (with event)

🚀 特性

  • 🖊️ TypeScript: 使用 TypeScript 编写,提供完整的类型定义
  • 🚀 轻量级: 体积小,核心容器除reflect-metadata外几乎无任何外来依赖包
  • 🪜 跨平台: 核心容器在服务端/浏览器均可运行;后端适配包等通过adapter也不局限于环境,并且尝试让性能最大化,与前端生态接轨,支持vite dev server/node.js/bun(正在适配中)等运行时
  • 与原生契合: Restful控制器使用原生new Response发送请求,同时naily内部也是采用的原生Request对象,与原生完全接轨
  • 📦 unplugin-rpc: 吸取cell.js@celljs/rpc之精髓,将其注入unplugin生态,让任何vite前端项目都可以尝试到绝对类型安全的后端开发!
  • 🛠 插件化: 支持插件机制,可以自定义扩展功能
  • 🚪 极为开放的核心: 不像inversify.jsnest.js等一众ioc框架将容器实现藏得很深,拥有极简的容器设计和极为flexable的API,每个人都可以操纵容器的各个边边角角,让ioc的设计理念和理解成本降低
  • ⚙️ 约定大于配置: 参考cell.js的设计理念 + 目前前端生态的情况,尽量减少配置过程,每个包内部都有一套现成的默认配置。需要自定义配置时,遵循程序内部重写的类 > 配置文件naily.config.ts > 默认配置的优先级,让开发者更专注于业务逻辑

📄 License

MIT

About

🍺 Lightweight, progressive IOC framework for TypeScript.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages