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
- Host: GitHub
- URL: https://github.com/iweavetales/lunarx
- Owner: Iweavetales
- License: mit
- Created: 2023-08-13T12:04:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-27T13:57:49.000Z (over 1 year ago)
- Last Synced: 2024-11-24T20:00:39.384Z (5 months ago)
- Topics: build-tool, component, deno, dynamic-routing, enhanced, framework, lunar, page-routing, react, reactjs, routing, server-side-rendering, ssr, typescript, universal
- Language: TypeScript
- Homepage:
- Size: 996 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: license.md
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