nextsj
Version:
NextSJ: the legendary JavaScript framework that tries really hard to be Next.js, but succeeds in chaos, laughter, and occasional brilliance.
104 lines (67 loc) • 2.51 kB
Markdown
# nextsj
**nextsj** is a cutting-edge JavaScript framework that aims to replicate the awesomeness of Next.js… almost.
While it might look serious, installing nextsj does **not** guarantee server-side rendering, static generation, or actually working routes. But it will make you feel like a pro.
## Features
* **Server-Side Rendering (SSR)**
Probably, maybe, or never. Depends on how optimistic you are.
* **Static Site Generation (SSG)**
Generate pages that exist in your imagination.
* **Routing**
Routes are dynamically generated… by magic. Or not.
* **React Compatibility**
nextsj works with React. Mostly. Only if you spell React correctly.
* **Performance**
Lightning fast… if you accept lightning in slow motion.
* **Type Safety**
Types are optional, ignored, or invented on the fly.
* **Error Handling**
Crashes gracefully. Mostly silently. Sometimes loudly.
* **Hot Reloading**
Changes reflect instantly… if your computer is dreaming.
* **Plugin System**
Plugins may exist. Installation optional. Reality optional.
* **SEO Optimization**
Search engines love us… or they don’t. Who knows?
* **Internationalization (i18n)**
Supports English. Minecraft Villager Language. Klingon. Others may be added arbitrarily.
* **Logging**
Logs everything. Even things that don’t happen.
* **Debug Mode**
Prints messages you didn’t ask for. Probably helpful.
* **Backward Compatibility**
Old features may or may not work. Time travel not guaranteed.
* **Community Support**
Community exists in your head. Always helpful.
* **Memory Management**
Memory is managed. Somewhere. Probably.
* **Documentation**
Fully documented… in a parallel universe.
## Installation
```bash
npm install nextsj
```
## Run demo
```bash
npm run demo
```
## Usage
```js
const { nextsj, startServer, createPage, useRouter } = require('nextsj');
// Start server
startServer(3000);
// Create a new page
createPage('home');
// Router usage
const router = useRouter();
router.push('/about');
// Generic function
nextsj();
```
## Examples
See the [examples/simple.js](examples/simple.js) file for a minimal setup.
## Documentation
For more advanced use cases, check [docs/advanced.md](docs/advanced.md).
## Contributing
Pull requests are welcome. Bonus points if you manage to make something actually work.
## License
MIT