@forinda/kickjs-core
v1.4.0
Published
Core DI container, decorators, module system, and logger for KickJS
Maintainers
Keywords
Readme
@forinda/kickjs-core
Core DI container, decorators, module system, logger, and error types for KickJS.
Install
# Using the KickJS CLI (included by default with kick new)
kick add core
# Manual install
pnpm add @forinda/kickjs-coreFeatures
- Custom lightweight IoC container (no Inversify)
- 20+ decorators:
@Service,@Controller,@Autowired,@Inject,@Value,@Get,@Post,@Middleware,@Bean,@PostConstruct, and more - Module system with
AppModuleinterface - Adapter pattern for lifecycle hooks
- Pino-based structured logger
HttpExceptionwith static factories for all HTTP status codes- Circular dependency detection with full resolution chain
Quick Example
import { Service, Controller, Get, Autowired } from '@forinda/kickjs-core'
import { RequestContext } from '@forinda/kickjs-http'
@Service()
class UserService {
findAll() {
return [{ id: '1', name: 'Alice' }]
}
}
@Controller('/users')
class UserController {
@Autowired() private userService!: UserService
@Get('/')
async list(ctx: RequestContext) {
ctx.json(this.userService.findAll())
}
}Sub-path Imports
import { Container } from '@forinda/kickjs-core/container'
import { Service, Controller, Get } from '@forinda/kickjs-core/decorators'
import type { AppModule } from '@forinda/kickjs-core/module'
import { HttpException } from '@forinda/kickjs-core/errors'
import { Logger } from '@forinda/kickjs-core/logger'Documentation
License
MIT
