Skip to content
/ marwajs Public

MarwaJS Blazing Fast Compiler and Runtime — AOT-compiled JavaScript framework and zero-runtime overhead.

License

Notifications You must be signed in to change notification settings

memran/marwajs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MarwaJS

MarwaJS is a tiny, fast frontend framework with:

  • Signals and reactive core
  • Zero-config single-file components (.marwa)
  • Built-in router
  • Dependency injection and stores
  • Simple, stable, and production-ready

Designed for minimal bundle size and maximum developer experience.


✨ Features

  • Tiny & Fast: Core focuses on performance and small runtime.
  • 📦 Zero Config SFCs: .marwa files support <template>, <script setup>, <style scoped>.
  • 🔗 Built-in Router: File-based routes, layouts, and 404 handling out of the box.
  • 🛠 Signals & Stores: Simple reactivity and global store system.
  • 🔌 Plugin System: Extend with app.use().
  • 🚀 DX First: Compiler auto-injects imports, handles scoped styles, and optimizes builds.

📦 Installation

npm install @marwajs/core
npm install -D @marwajs/compiler

Usage

1. Create a component

<!-- src/pages/Home.marwa -->
<template>
  <h1>Hello {{ name }}</h1>
  <input m-model="name" />
</template>

<script setup>
const name = ref('World')
</script>

2. Define App Shell

<!-- src/App.marwa -->
<template>
  <header>MarwaJS Demo</header>
  <RouterView />
</template>

3. Mount App

// src/main.ts
import { createApp } from '@marwajs/core'
import { routes } from './routes'

import App from './App.marwa'

createApp(App).useRouter(routes).mount('#app')

CLI

Compile .marwa files:

npx marwa compile

License

MIT © 2025 Mohammad Emran

About

MarwaJS Blazing Fast Compiler and Runtime — AOT-compiled JavaScript framework and zero-runtime overhead.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published