npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@aerokit/sdk

v12.69.0

Published

Unified TypeScript SDK for modern cloud platforms.

Downloads

431

Readme

@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

| Module | Description | |-----------------------------|-------------------------------------------------------------------------------| | @aerokit/sdk/bpm | Business process management and workflow automation APIs. | | @aerokit/sdk/cache | In-memory and distributed caching APIs for data reuse and performance. | | @aerokit/sdk/cms | Content management utilities and repository access. | | @aerokit/sdk/component | Dependency injection and modular service registration. | | @aerokit/sdk/core | Core runtime utilities such as environment, configuration, and context. | | @aerokit/sdk/db | Database access with SQL and NoSQL support, entity mapping, and transactions. | | @aerokit/sdk/extensions | Mechanisms for runtime extensions and dynamic plugin registration. | | @aerokit/sdk/git | Git integration for repository operations (clone, commit, push, etc.). | | @aerokit/sdk/http | HTTP server framework for RESTful APIs and web controllers. | | @aerokit/sdk/indexing | Indexing and search API for full-text and structured content. | | @aerokit/sdk/integrations | Integration adapters for connecting to external enterprise systems. | | @aerokit/sdk/io | File, stream, and storage I/O operations for local or remote sources. | | @aerokit/sdk/job | Scheduling and background task execution with decorators. | | @aerokit/sdk/junit | Lightweight testing and runtime validation utilities. | | @aerokit/sdk/log | Centralized logging and monitoring interfaces. | | @aerokit/sdk/mail | Email composition, sending, and notification services. | | @aerokit/sdk/messaging | Messaging layer with queue, topic, and event APIs. | | @aerokit/sdk/net | Networking utilities such as WebSocket, REST, and HTTP client operations. | | @aerokit/sdk/pdf | PDF generation and manipulation tools. | | @aerokit/sdk/platform | Platform lifecycle management, module metadata, and runtime services. | | @aerokit/sdk/security | Authentication, authorization, and user context management. | | @aerokit/sdk/template | Templating system for dynamic document and content rendering. | | @aerokit/sdk/utils | Generic 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";