@aerokit/sdk

中文文档
15.15.0发布于 2026/11/04EPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 5510

Unified TypeScript SDK for modern cloud platforms.

原始使用文档
文档目录10 节
  1. Overview
  2. Core Features
  3. Example
  4. CountryEntity.ts
  5. CountryRepository.ts
  6. CountryController.ts
  7. SDK Modules
  8. Use Cases
  9. Philosophy
  10. Getting Started

@aerokit/sdk

npm version License

Accelerate your application and integration development with a unified TypeScript SDK for modern cloud platforms.


Overview

@aerokit/sdk provides a modular, server-side TypeScript runtime API designed for developing lightweight applications, automation scripts, and extensions across cloud or on-premise environments.


Core Features

  • TypeScript-first API – Rich type definitions and IDE autocompletion for productive, safe scripting.
  • Unified platform model – Common abstractions for HTTP, I/O, Database, Filesystem, Security, Jobs, and Messaging.
  • Built-in decorators – Simplify development with @Controller, @Entity, @Scheduled, @Component, @Injected, and more.
  • Seamless dependency injection – Lightweight IoC mechanism for connecting modular business logic.
  • Pluggable persistence – Work with SQL and NoSQL through the sdk/sdk/db API.
  • Enterprise-ready HTTP layer – Build APIs and web services with sdk/sdk/http.
  • Background jobs and listeners – Schedule recurring tasks using sdk/sdk/job or event-driven listeners with sdk/component.
  • Extensible runtime – Deploy, extend, and run modules dynamically without redeployment.

Example

CountryEntity.ts

import { Entity, Table, Id, Generated, Column, Documentation } from "@aerokit/sdk/db";

@Entity("CountryEntity")
@Table("SAMPLE_COUNTRY")
@Documentation("Sample Country Entity")
export class CountryEntity {

    @Id()
    @Generated("sequence")
    @Column({ name: "COUNTRY_ID", type: "long" })
    @Documentation("My Id")
    public Id?: number;

    @Column({ name: "COUNTRY_NAME", type: "string" })
    @Documentation("My Name")
    public Name?: string;

    @Column({ name: "COUNTRY_CODE2", type: "string" })
    public Code2?: string;

    @Column({ name: "COUNTRY_CODE3", type: "string" })
    public Code3?: string;

    @Column({ name: "COUNTRY_NUMERIC", type: "string" })
    public Numeric?: string;

}

CountryRepository.ts

import { Repository, EntityConstructor } from "@aerokit/sdk/db";
import { Component } from "@aerokit/sdk/component";
import { CountryEntity } from "./CountryEntity";

@Component('CountryRepository')
export class CountryRepository extends Repository<CountryEntity> {

    constructor() {
        super((CountryEntity as EntityConstructor));
    }

}

CountryRepository;

CountryController.ts

import { Controller, Get, Documentation } from "@aerokit/sdk/http"
import { HttpUtils } from "@aerokit/sdk/http/utils";
import { Options } from "@aerokit/sdk/db";
import { Injected, Inject } from "@aerokit/sdk/component";
import { CountryEntity } from "./CountryEntity";
import { CountryRepository } from "./CountryRepository";

@Controller
@Documentation("Sample Country Controller")
@Injected()
class CountryController {

    @Inject('CountryRepository')
    private readonly repository!: CountryRepository;

    @Get("/")
    @Documentation("Sample Get All Countries")
    public getAll(): CountryEntity[] {
        try {
            const options: Options = {limit: 20, offset: 0};
            return this.repository.findAll(options);
        } catch (error: any) {
            HttpUtils.sendInternalServerError(error.message);
        }
        return [];
    }

}

SDK Modules

ModuleDescription
@aerokit/sdk/bpmBusiness process management and workflow automation APIs.
@aerokit/sdk/cacheIn-memory and distributed caching APIs for data reuse and performance.
@aerokit/sdk/cmsContent management utilities and repository access.
@aerokit/sdk/componentDependency injection and modular service registration.
@aerokit/sdk/coreCore runtime utilities such as environment, configuration, and context.
@aerokit/sdk/dbDatabase access with SQL and NoSQL support, entity mapping, and transactions.
@aerokit/sdk/extensionsMechanisms for runtime extensions and dynamic plugin registration.
@aerokit/sdk/gitGit integration for repository operations (clone, commit, push, etc.).
@aerokit/sdk/httpHTTP server framework for RESTful APIs and web controllers.
@aerokit/sdk/indexingIndexing and search API for full-text and structured content.
@aerokit/sdk/integrationsIntegration adapters for connecting to external enterprise systems.
@aerokit/sdk/ioFile, stream, and storage I/O operations for local or remote sources.
@aerokit/sdk/jobScheduling and background task execution with decorators.
@aerokit/sdk/junitLightweight testing and runtime validation utilities.
@aerokit/sdk/logCentralized logging and monitoring interfaces.
@aerokit/sdk/mailEmail composition, sending, and notification services.
@aerokit/sdk/messagingMessaging layer with queue, topic, and event APIs.
@aerokit/sdk/netNetworking utilities such as WebSocket, REST, and HTTP client operations.
@aerokit/sdk/pdfPDF generation and manipulation tools.
@aerokit/sdk/platformPlatform lifecycle management, module metadata, and runtime services.
@aerokit/sdk/securityAuthentication, authorization, and user context management.
@aerokit/sdk/templateTemplating system for dynamic document and content rendering.
@aerokit/sdk/utilsGeneric utilities for string, date, and object manipulation.

Use Cases

  • API-first business logic for internal or customer apps.
  • Lightweight integrations between enterprise systems.
  • Automation scripts (scheduled or event-driven).
  • Custom platform extensions in modular runtimes.

Philosophy

@aerokit follows a code-as-configuration philosophy — instead of XML or JSON descriptors, you define services, entities, and jobs directly in TypeScript using decorators. This makes your code self-documenting, testable, and portable across environments.

Getting Started

npm install @aerokit/sdk

Then import only what you need:

import { Request, Response } from "@aerokit/sdk/http";
import { Entity, Column } from "@aerokit/sdk/db";

版本与发布记录

@aerokit/sdk 共发布 182 个版本,首次发布于 2025/11/14;过去 12 个月发布了 182 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
15.15.0latest2026/11/041 天前
15.14.02026/11/042 天前
15.13.02026/11/032 天前
15.12.02026/11/023 天前
15.11.02026/10/316 天前
15.10.02026/10/316 天前

关于 @aerokit/sdk 的常见问题

@aerokit/sdk 是什么?

Unified TypeScript SDK for modern cloud platforms.

如何安装 @aerokit/sdk?

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

@aerokit/sdk 支持 TypeScript 吗?

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

@aerokit/sdk 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@aerokit/sdk 可以商用吗?

@aerokit/sdk 使用 EPL-2.0 许可。声明的许可为 EPL-2.0,请阅读许可原文确认使用条件。以上为概括,不构成法律意见,请以许可原文为准。

@aerokit/sdk 的下载量有多少?

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

@aerokit/sdk 还在维护吗?

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