{"id":15314452,"url":"https://github.com/barelyhuman/nomen","last_synced_at":"2025-09-11T17:06:58.889Z","repository":{"id":204168756,"uuid":"710910084","full_name":"barelyhuman/nomen","owner":"barelyhuman","description":"minimalistic but extensible framework for server-rendered applications","archived":false,"fork":false,"pushed_at":"2024-03-28T11:37:35.000Z","size":274,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-15T02:16:26.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/barelyhuman.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"liberapay":"reaper","ko_fi":"barelyreaper","github":"barelyhuman","custom":"https://barelyreaper.gumroad.com/coffee"}},"created_at":"2023-10-27T17:50:03.000Z","updated_at":"2023-12-10T17:44:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"438afd9a-7f8f-4053-8105-f4f5715758de","html_url":"https://github.com/barelyhuman/nomen","commit_stats":null,"previous_names":["barelyhuman/nomen"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/barelyhuman/nomen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barelyhuman%2Fnomen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barelyhuman%2Fnomen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barelyhuman%2Fnomen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barelyhuman%2Fnomen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/barelyhuman","download_url":"https://codeload.github.com/barelyhuman/nomen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/barelyhuman%2Fnomen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274674430,"owners_count":25328831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-11T02:00:13.660Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-01T08:45:34.246Z","updated_at":"2025-09-11T17:06:58.847Z","avatar_url":"https://github.com/barelyhuman.png","language":"JavaScript","funding_links":["https://liberapay.com/reaper","https://ko-fi.com/barelyreaper","https://github.com/sponsors/barelyhuman","https://barelyreaper.gumroad.com/coffee"],"categories":[],"sub_categories":[],"readme":"# nomen-js\n\n[![](https://img.shields.io/badge/plainjs-blue?colorA=181819\u0026colorB=181819\u0026logo=npm\u0026logoColor=efefef)](https://plainjs.github.io)\n[![](https://img.shields.io/github/actions/workflow/status/barelyhuman/nomen/test.yml?logo=github\u0026label=Test\u0026logoColor=efefef\u0026color=181819\u0026colorA=181819\u0026colorB=181819)](https://github.com/barelyhuman/nomen/actions/workflows/test.yml)\n\n`nomen` is a minimal but extensible framework for server based applications.\n\n- [nomen-js](#nomen-js)\n  - [Goal](#goal)\n- [Todo](#todo)\n- [Alternatives / Similar Solutions](#alternatives--similar-solutions)\n- [Development](#development)\n\n## Goal\n\nA no build solution with pure ESM to write API's and Frontend Interactive Views\nwhile not being tied to a specific web framework. We aren't trying to solve a\nhundred problems with the framework.\n\nThe entire framework is based off of a module loading system which is meant to\nbe flexible enough to be able to add in any kind of rendering engine atop an API\nServer\n\nThat's it. I'm not trying to create and fix imaginary problems. Most of them\nhave already been solved and can be reused with `nomen-js`\n\nThink of it as another \"One Man fullstack framework\" in the JS land\n\n# Todo\n\n- [x] Module Loader\n- [x] Server Kernel\n- [x] ESBuild Core Transformer\n- [x] Render Adaptor definition\n- [x] Rendering Engine\n  - [x] Vanilla JS Client Hydration\n- [x] Bundle Chunker\n- [x] Plugin API (mostly just a layer atop esbuild's plugin API)\n- [x] Adaptors for various server renderers\n  - [x] ArrowJS\n  - [x] Preact\n  - [x] VanillaJS\n- [ ] Page Head Support\n- [x] Dev Server Essentials\n  - [x] Watcher\n  - [x] Live Reload\n  - [ ] HMR\n- [x] Custom Template (_index.html_)\n- [x] Custom 404 Page\n- [ ] Custom Error Page\n- [ ] Usage Documentation\n- [ ] Faster Builds\n- [ ] Pre-rendering module spec\n- [ ] Typings (Last thing to do)\n- [ ] Cross Runtimes Execution (Node, Deno, Bun, etc)\n\n# Alternatives / Similar Solutions\n\n- [AdonisJS](http://adonisjs.com) - no-nonsense full stack framework for\n  Typescript(Javascript)\n- [rakkasjs](http://rakkasjs.org) - A react based framework built on\n  [vite](https://vite.dev) and [hattip](https://hattipjs.org)\n\n# Development\n\n- Make sure you have [nvm](https://github.com/nvm-sh/nvm) installed\n\n**Setup Node Version**\n\n```sh\nnvm install\nnvm use\nnode -v # v18.16.0\n```\n\n**Setup repository and dependencies**\n\n```sh\nnpm i -g pnpm@8.6.2\npnpm i\n```\n\n**Run Development**\n\nThere's no build tooling, the repository is just a collection of ESM modules\nthat get imported by the node runtime.\n\n**Run Playground**\n\n```sh\ncd playground\npnpm dev\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarelyhuman%2Fnomen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarelyhuman%2Fnomen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarelyhuman%2Fnomen/lists"}