@forinda/kickjs

中文文档
10.14.2发布于 2026/11/08MITTypeScriptES Module构建来源已验证近 30 天下载 5123

Modern type-safe backend framework, powered by Vite. Built for developer experience, pluggable as you need — runs on Express, Fastify or h3.

原始使用文档
文档目录4 节
  1. Install
  2. Quick example
  3. Documentation
  4. License

@forinda/kickjs

Modern type-safe backend framework, powered by Vite. Built for developer experience, and pluggable as you need: DI, modules, a typed request context, validation and generators, on Express (default), Fastify or h3, and on Workers, Bun and Deno through a web-standard entry.

Install

npx @forinda/kickjs-cli new my-api && cd my-api && pnpm dev

Or add it to an existing project:

pnpm add @forinda/kickjs express reflect-metadata zod
pnpm add -D @forinda/kickjs-cli @forinda/kickjs-vite

Quick example

// src/modules/users/user.controller.ts
import { Autowired, Controller, Get, Post, Service, type Ctx } from '@forinda/kickjs'
import { z } from 'zod'

@Service()
export class UserService {
  list() {
    return [{ id: '1', name: 'Alice' }]
  }
}

@Controller()
export class UserController {
  @Autowired() private readonly users!: UserService

  @Get('/')
  list() {
    return this.users.list()
  }

  @Post('/', { body: z.object({ name: z.string().min(1) }) })
  create(ctx: Ctx<KickRoutes.UserController['create']>) {
    ctx.created({ id: '2', name: ctx.body.name })
  }
}
// src/index.ts
import 'reflect-metadata'
import { bootstrap, defineModule, defineModules } from '@forinda/kickjs'
import { UserController } from './modules/users/user.controller'

const UserModule = defineModule({
  name: 'UserModule',
  build: () => ({ routes: () => ({ path: '/users', controller: UserController }) }),
})

export const app = await bootstrap({ modules: defineModules().mount(UserModule()) })

GET /api/v1/users returns the list. KickRoutes comes from kick typegen, which kick dev runs for you. To use another engine, pass runtime: fastifyRuntime() (from @forinda/kickjs/fastify) or h3Runtime() to bootstrap().

Documentation

kickjs.app. Good places to start:

License

MIT

版本与发布记录

@forinda/kickjs 共发布 126 个版本,首次发布于 2025/09/20;过去 12 个月发布了 121 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
10.14.2latest2026/11/087 天前
10.14.12026/10/3116 天前
10.14.02026/10/3016 天前
10.13.32026/10/2620 天前
10.13.22026/10/2422 天前
10.13.12026/10/2423 天前

其他发布通道:alpha → 5.18.0-alpha.1。

关于 @forinda/kickjs 的常见问题

@forinda/kickjs 是什么?

Modern type-safe backend framework, powered by Vite. Built for developer experience, pluggable as you need — runs on Express, Fastify or h3.

如何安装 @forinda/kickjs?

在项目目录运行 npm install @forinda/kickjs,或使用 pnpm add / yarn add / bun add。

@forinda/kickjs 支持 TypeScript 吗?

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

@forinda/kickjs 支持 ESM 还是 CommonJS?

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

@forinda/kickjs 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=20.0。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@forinda/kickjs 可以商用吗?

@forinda/kickjs 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@forinda/kickjs 的下载量有多少?

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

@forinda/kickjs 还在维护吗?

最新版本 10.14.2 发布于 2026/11/08(7 天前);至今共发布 126 个版本,其中过去 12 个月发布了 121 个;首次发布于 2025/09/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。