JSPM

  • Created
  • Published
  • Downloads 423
  • Score
    100M100P100Q92867F
  • License MIT

Protorians Raiton Development Kit

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/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/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/access-guards
  • 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/http-responses
  • 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/scheme
  • raiton/types/server
  • raiton/types/thread
  • raiton/types/utilities
  • raiton/types/values

Readme

Protorians Raiton

Version License: MIT

Protorians Raiton est un kit de développement (SDK) 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