UNPKG

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
# 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