Hi everyone! I made an SSR web framework on NPM named Authtics Host (or HostJS) with backend and frontend support.
About
Based on tests, it starts the server in under 1 second. For a user to see the page, it takes 1-4 seconds.
It also has a Developer Panel, which has controls to control the website (e.g., Restart, Shutdown and Pause Users) with DAT (Developer Access Token) authorization for the Developer Panel.
The framework’s Developer Panel has console and network tabs, where devs can see: what the page is receiving, sending or what logs it’s placing in the console. Better than importing a package and setting it up on mobile.
3 Reasons why I made this
- Most frameworks start in 2-5+ seconds
- There isn’t any console or network tab for mobile
- If there’s a developer panel in another framework, it might not be mobile-friendly
Package
The NPM package is at: @bananacool467/authtics-host
Code snippet
For starting the server:
(Backend script)
import { App } from "@bananacool467/authtics-host";
const app = new App();
Enter fullscreen mode Exit fullscreen mode
(Bash script)
node --experimental-strip-types index.ts
Enter fullscreen mode Exit fullscreen mode
How I got it to start in under 1 second
What I did was make it do fast stuff, when it starts, it:
- Loads modules (node:fs, node:http, jiti)
- Then it loads the jiti config file
- Then it starts the server with the config
More info
It caches pages in a folder named .authtics_host, sometimes the cache might not update so you might have to delete it with:
rm -rf .authtics_host
Enter fullscreen mode Exit fullscreen mode
In Linux, or:
rmdir /s /q .authtics_host
Enter fullscreen mode Exit fullscreen mode
On Windows.
Page rendering with Esbuild only happens when the user visits the website, not when the server starts.
답글 남기기