Skip to content

barelyhuman/nomen

Repository files navigation

nomen-js

nomen is a minimal but extensible framework for server based applications.

Goal

A no build solution with pure ESM to write API's and Frontend Interactive Views while not being tied to a specific web framework. We aren't trying to solve a hundred problems with the framework.

The entire framework is based off of a module loading system which is meant to be flexible enough to be able to add in any kind of rendering engine atop an API Server

That's it. I'm not trying to create and fix imaginary problems. Most of them have already been solved and can be reused with nomen-js

Think of it as another "One Man fullstack framework" in the JS land

Todo

  • Module Loader
  • Server Kernel
  • ESBuild Core Transformer
  • Render Adaptor definition
  • Rendering Engine
    • Vanilla JS Client Hydration
  • Bundle Chunker
  • Plugin API (mostly just a layer atop esbuild's plugin API)
  • Adaptors for various server renderers
    • ArrowJS
    • Preact
    • VanillaJS
  • Page Head Support
  • Dev Server Essentials
    • Watcher
    • Live Reload
    • HMR
  • Custom Template (index.html)
  • Custom 404 Page
  • Custom Error Page
  • Usage Documentation
  • Faster Builds
  • Pre-rendering module spec
  • Typings (Last thing to do)
  • Cross Runtimes Execution (Node, Deno, Bun, etc)

Alternatives / Similar Solutions

  • AdonisJS - no-nonsense full stack framework for Typescript(Javascript)
  • rakkasjs - A react based framework built on vite and hattip

Development

  • Make sure you have nvm installed

Setup Node Version

nvm install
nvm use
node -v # v18.16.0

Setup repository and dependencies

npm i -g [email protected]
pnpm i

Run Development

There's no build tooling, the repository is just a collection of ESM modules that get imported by the node runtime.

Run Playground

cd playground
pnpm dev

About

minimalistic but extensible framework for server-rendered applications

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages