JSPM

  • Created
  • Published
  • Downloads 484
  • Score
    100M100P100Q92666F
  • License MIT

Modular TypeScript Backend Framework with Dependency Injection, Plugins, Controllers, Middleware and Hot Reloading.

Package Exports

  • raiton
  • raiton/commands/artifact.command
  • raiton/commands/build.command
  • raiton/commands/develop.command
  • raiton/commands/grafts.command
  • raiton/commands/start.command
  • raiton/core/application
  • raiton/core/builder
  • raiton/core/bytes.util
  • raiton/core/command
  • raiton/core/commands
  • raiton/core/config/config
  • raiton/core/config/define
  • raiton/core/config/index
  • raiton/core/context
  • raiton/core/controller/builder
  • raiton/core/controller/compiler
  • raiton/core/controller/index
  • raiton/core/controller/metadata
  • raiton/core/directories
  • raiton/core/guards
  • raiton/core/helpers/index
  • raiton/core/helpers/raiton
  • raiton/core/hooks
  • raiton/core/index
  • raiton/core/injection/index
  • raiton/core/injection/injection
  • raiton/core/middleware/compose
  • raiton/core/middleware/index
  • raiton/core/middleware/pipeline
  • raiton/core/plugins/index
  • raiton/core/plugins/plugin
  • raiton/core/plugins/scope
  • raiton/core/process.util
  • raiton/core/raiton
  • raiton/core/router/handler
  • raiton/core/router/index
  • raiton/core/router/matcher
  • raiton/core/router/route
  • raiton/core/router/router
  • raiton/core/server
  • raiton/core/thread
  • raiton/sdk
  • raiton/sdk/artifacts
  • raiton/sdk/constants/decorators.constant
  • raiton/sdk/constants/index
  • raiton/sdk/constants/microservices.constant
  • raiton/sdk/controllers
  • raiton/sdk/data-transfer-object
  • raiton/sdk/decorators/access-guard.decorator
  • raiton/sdk/decorators/controllable.decorator
  • raiton/sdk/decorators/guard.decorator
  • raiton/sdk/decorators/index
  • raiton/sdk/decorators/injection.decorator
  • raiton/sdk/decorators/middleware.decorator
  • raiton/sdk/decorators/parametrable
  • raiton/sdk/decorators/routable.decorator
  • raiton/sdk/encryption
  • raiton/sdk/enums/encrypted.enum
  • raiton/sdk/enums/event.message.enum
  • raiton/sdk/enums/http-method.enum
  • raiton/sdk/enums/http-parameters.enum
  • raiton/sdk/enums/http-status.enum
  • raiton/sdk/enums/index
  • raiton/sdk/enums/runtime.enum
  • raiton/sdk/enums/timestamp.enum
  • raiton/sdk/env
  • raiton/sdk/exceptions/http-exception
  • raiton/sdk/exceptions/index
  • raiton/sdk/exceptions/throwable
  • raiton/sdk/index
  • raiton/sdk/parameter-bag
  • raiton/sdk/plugins/body-parser.plugin
  • raiton/sdk/plugins/index
  • raiton/sdk/plugins/security/body-limit
  • raiton/sdk/plugins/security/cors
  • raiton/sdk/plugins/security/headers
  • raiton/sdk/plugins/security/index
  • raiton/sdk/plugins/security/method-guard
  • raiton/sdk/plugins/security/rate-limit
  • raiton/sdk/repositories
  • raiton/sdk/responses/error
  • raiton/sdk/responses/helpers
  • raiton/sdk/responses/http
  • raiton/sdk/responses/http-throwable
  • raiton/sdk/responses/index
  • raiton/sdk/runtime/bun/server
  • raiton/sdk/runtime/deno/server
  • raiton/sdk/runtime/index
  • raiton/sdk/runtime/node/reply
  • raiton/sdk/runtime/node/request
  • raiton/sdk/runtime/node/server
  • raiton/sdk/runtime/web/server
  • raiton/sdk/services
  • raiton/sdk/utilities/alias-path.util
  • raiton/sdk/utilities/artifact.util
  • raiton/sdk/utilities/callable.util
  • raiton/sdk/utilities/index
  • raiton/sdk/utilities/json.util
  • raiton/sdk/utilities/path.util
  • raiton/sdk/utilities/url
  • raiton/sdk/utilities/utilities.util
  • raiton/types
  • raiton/types/application
  • raiton/types/artifact
  • raiton/types/builder
  • raiton/types/config
  • raiton/types/controller
  • raiton/types/contruct
  • raiton/types/core
  • raiton/types/directory
  • raiton/types/encryption
  • raiton/types/generic
  • raiton/types/guard
  • raiton/types/index
  • raiton/types/injection
  • raiton/types/lifecycle
  • raiton/types/middleware
  • raiton/types/parseable
  • raiton/types/plugin
  • raiton/types/raiton
  • raiton/types/responses
  • raiton/types/router
  • raiton/types/runtime
  • raiton/types/server
  • raiton/types/thread
  • raiton/types/utilities
  • raiton/types/values

Readme

Protorians Raiton

Version License: MIT

Protorians Raiton est un framework backend moderne et performant, conçu pour construire des microservices TypeScript. Optimisé pour Bun, il offre également un support complet pour Node.js et Deno.

Caractéristiques

  • Optimisé pour Bun : Utilise Bun.serve nativement pour des performances maximales.
  • Multi-Runtime : Compatible avec Bun (recommandé), Node.js et les environnements Web.
  • Architecture Décorative : Utilise les décorateurs TypeScript pour définir contrôleurs, routes et injections.
  • Modulaire : Système de plugins et de middlewares flexible.
  • CLI Puissant : Outils intégrés pour le développement, le build et le déploiement.

Installation

bun add raiton reflect-metadata
# ou
npm install raiton reflect-metadata

Note : Raiton nécessite reflect-metadata pour fonctionner avec les décorateurs. Importez-le au début de votre point d'entrée.

Démarrage Rapide

1. Créez un contrôleur (source/controllers/hello.controller.ts)

import { Controllable, Get, Param } from "raiton/sdk";

@Controllable('/hello')
export class HelloController {
    @Get('/')
    index() {
        return { message: "Bonjour de Raiton !" };
    }

    @Get('/:name')
    greet(@Param("name") name?: string) {
        return { message: `Bonjour, ${name} !` };
    }
}

2. Configurez votre application (source/main.ts)

import "reflect-metadata";
import {ThreadInterface} from "raiton/types";
import {Application} from "raiton/core";

export default async function (thread: ThreadInterface) {
    const app = new Application({
        port: 3000,
        prefix: '/api'
    });

    // Enregistrez vos plugins, middlewares et contrôleurs ici
    // ...

    // Lier son application au thread
    return await thread.setup({application: app}).run()
}

Utilisation du CLI

Raiton est livré avec une interface en ligne de commande pour faciliter le développement.

# Lancer en mode développement (avec hot reload)
bun raiton develop

# Builder le projet
bun raiton build

# Démarrer le projet buildé
bun raiton start

🛠 Runtimes supportés

Raiton détecte automatiquement l'environnement d'exécution et adapte son serveur :

  • Bun : Utilisation de Bun.serve.
  • Node.js : Adaptateur pour serveurs HTTP Node.
  • Web : Compatible avec les environnements basés sur les standards Web (Fetch API).

📄 Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.


Développé avec ❤️ par Y. Yannick GOBOU