tramvaijs / tramvai

A modular framework for universal JS applications

Home Page:http://tramvai.dev/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

taiga ui logo

Modular framework for universal React applications


Features

  • ✈️ Universal

    Creates SSR React applications - includes solid server with metrics, health checks and graceful degradation support

  • πŸ’‰ Dependency Injection

    Provides simple and powerful DI system, inspired by Angular and Nest.js best practices

  • 🧩 Modular

    Every application build from list of feature modules - doing one thing right!

  • ⚑ Fast and lightweight

    Enforces best web-performance techniques - resources preloading and inlining, lazy hydration πŸš€, modern ES bundles, tree-shakable libraries

  • πŸ”— Chain of commands

    Elegant pattern for complete control over application life-cycle - predictable flow for every HTTP request into application, running async actions in parallel, limits the duration of server-side actions

  • 🧱 Micro Frontends

    Heavily integrated solution for Micro Frontends with SSR and Module Federation

  • πŸ› οΈ Tooling

    Functional CLI for generating, develop, analyze, and bundling tramvai applications - powered by webpack@5

  • πŸ§ͺ Testing

    Complete set of unit and integration testing utilites - powered by jest and testing-library

  • πŸ•ŠοΈ Migrations

    Automatic migrations with jscodeshift codemodes

Get started

  1. Generate new application

    npm init @tramvai@latest my-awesome-app
  2. Run development server

    cd my-awesome-app && npm start

    application will be available at http://localhost:3000/

Tutorials

Pokedex application

Sandboxes

Edit on CodeSandbox

About

A modular framework for universal JS applications

http://tramvai.dev/

License:Apache License 2.0


Languages

Language:TypeScript 95.7%Language:JavaScript 2.4%Language:Rust 1.3%Language:Handlebars 0.5%Language:CSS 0.1%