INTRODUCING

HIGH PERFORMANCE
TYPESCRIPT FRAMEWORK

ALPHA

High-quality TypeScript libraries and a framework that brings everything together.
Precisely aligned, gently optimised, solid engineered.

read introduction

TYPESCRIPT

RUNTIME TYPES

A runtime type system for JavaScript, powered by TypeScript types. Deepkit's type compiler makes it possible to use the whole TypeScript type system in any JavaScript runtime for the first time enabling completely new ways of writing data driven applications.

type status = 'pending' | 'running' | 'finished';
// ['pending', 'running', 'finished']
valuesOf<status>();


interface User {
    id: integer & PrimaryKey;
    created: Date;
    username: string & MaxLength<3> & Unique;
    email: Email;
    firstName?: string;
    lastName?: string;
}

// Full access to all computed type information
const reflection = ReflectionClass.from<User>();

// Type information of arbitrary type expressions
// {kind: ReflectionKind.class, types: [...]
typeOf<Pick<User, 'id' | 'username'>>();
ORM

MySQL, PostgreSQL, SQLite, MongoDB

Runtime
Types
ValidationReflection
SerializationWorkflow Engine
HTTP Router

FRAMEWORK

A framework that brings aligned libraries together to make web application development faster, more productive, and easier than ever.

Event System
ConfigurationBrokerModules
ProfilerDebuggerBSON
Template EngineDependency InjectionRPCCLI
TYPESCRIPT

THE BEAUTY OF TYPES

Powerful dependency injection container with type expressions to make HTTP routes, CLI commands, and RPC controllers safe, fast, and easy to write.

No json configuration files, unnecessary boilerplate, schema files, or code generation: TypeScript utilized to its fullest capabilities.

class UserAPI {
    constructor(private database: Database) {
    }

    @http.GET('/user/:id')
    async user(id: integer & Positive): Promise<User> {
        return await this.database.query(User)
            .filter({id})
            .findOne();
    }

    @http.GET('/user')
    async users(
        limit: HttpQuery<integer> & Maximum<100> = 10
    ): Promise<User[]> {
        return await this.database.query(User)
            .limit(limit)
            .find();
    }
}

new App({
    controllers: [UserAPI],
    imports: [new FrameworkModule()]
}).run();
DEV TOOLS

DEBUGGER

One of the most advanced dev tool experience in web frameworks.

g

API CONSOLE

Debug HTTP and RPC APIs directly in the browser without any external tools. Automatic API documentation from TypeScript types, for public or private audiences.

g
THE FUTURE

ISOMORPHIC TYPESCRIPT

Dual stack is a relic from the past. Isomorphic TypeScript empowers you to write frontend, backend, cli tools, micro-service, apps, and much more with the very same language. Its single stack nature has huge potential to share code, knowledge, and interfaces across the whole application landscape.

Deepkit provides solutions, libraries, and tools that are highly optimized and interoperate perfectly together to make isomorphic Typescript project a success — for browser and Node.

TypeScript logo

HIGH PERFORMANCE

High performance in every fiber. From execution time to development time.

We are committed to building a framework that utilizes the power of isomorphic TypeScript and an ecosystem of libraries that are perfectly optimized to work with each other to empower you to build applications faster than ever before.

MODULAR

Split the application in multiple modules and keep together what belongs together.

g
NOW

LETS GO

Start now and get to know the new runtime type system in action.

Get started
Made in Germany