An open API service indexing awesome lists of open source software.

https://github.com/iweavetales/lunarx

A simplified SSR Framework for X
https://github.com/iweavetales/lunarx

build-tool component deno dynamic-routing enhanced framework lunar page-routing react reactjs routing server-side-rendering ssr typescript universal

Last synced: 3 months ago
JSON representation

A simplified SSR Framework for X

Awesome Lists containing this project

README

        













React SSR Framework with NodeJS and Deno

The simplified & light SSR front framework, offering greater flexibility than Next.js and Remix.Run, empower to build powerful front-end applications.

## Features

[//]: # (* Supports Deno runtime ( in progress ))
* File based routing
* Nested routing
* Memorize scroll position
* Server-side fetching
* Supports NodeJS runtime
* Page reload on edit
* Asynchronous Page module load

[//]: # (* SEO (in progress))
[//]: # (* Fast Refresh aka. HMR (in progress))

[//]: # (## Future Enhancements)

[//]: # (* Highly customizable with both shallow and deep modifications)

[//]: # (* Support for BUN runtime)

[//]: # (* Support for Go and Rust runtimes)

[//]: # (* Multi-thread optimized server-side processing(for Deno,Bun runtime))

[//]: # (* Enhanced features for front-end applications)

[//]: # (* SolidJS)

# Getting Started

```shell
# pnpx create-lunarx-app example ( Unavailable yet )

$ pnpm add lunarx
# or
$ npm add lunarx

$ lunarx dev
$ lunarx start
$ lunarx build
```

## Project structure
You could refer `/examples/basic` or `/tests/samples/basic` for now.

# Architecture
## Response-Render Pipeline
1.
2.

## Application Build
### Bundler
Lunar uses `esbuild` to quickly create a split-bundle source structure.

### Transpiler
Lunar uses `SWC` for transpile to ensure compatibility with both client-side and Node.js runtimes.

## Server Side Script

Files ending in `.server.tsx` will only be executed on the server side and won't be exposed to the public.

# Roadmap
1. Support error & 404 page
2. Optimize and persist routing states from upper nested routing rendering & fetch
3. `Server Action` like submit as Post
4. Support deno-runtime
5.

# Author

Iweavetales@github