You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi all! I'm enthusiastically using Sinuous in Credt, an experimental web framework.
Sinuous has allowed credt to create a pattern for SSR that is fun and fast to experiment with. One of the goals is to create very little "build" infrastructure--preferably no build step at all, where possible. Highlights taken from the README:
A credt web page is a [file].html.ts.js file. It runs on both the client and the server. It has 2 ways that it can run on the server:
If you run it via nodejs (e.g. node index.html.ts.js > index.html), it will print an HTML file to stdout that can be loaded in the browser. This HTML file is suitable for development mode--once created, you don't need to create it again. As you develop your [file].html.ts.js javascript and its dependencies, you can just reload the HTML page in the browser and it will include your new javascript code automatically.
If you add NODE_ENV=production to the environment, your [file].html.ts.js file will print an HTML file to stdout that includes a snapshot of the initial app state (HTML) for SSR (e.g. NODE_ENV=production node index.html.ts.js > index.html). When a user loads this production file, they won't see a blank page flash. In addition, the javascript will be loaded into the browser and hydrate the app and continue where the raw HTML left off, making it an SPA if desired.
All credt javascript code must be contained within isomorphic ES modules (i.e. the modules can run in node 18.0+ or the browser). NPM modules can be installed like usual via, e.g. pnpm for the server side. You maintain an importmap of modules and their online sources for the browser-side using the jspm CLI.
Other goals for credt include using a CRDT to sync between server and client, as well as very small size (currently under 5kb, and will probably land at around 10kb).
Thanks to those who've pioneered Sinuous! It is rewarding to work with the craftsmanship and attention to detail within, as well as the community ecosystem around it.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hi all! I'm enthusiastically using Sinuous in Credt, an experimental web framework.
Sinuous has allowed
credt
to create a pattern for SSR that is fun and fast to experiment with. One of the goals is to create very little "build" infrastructure--preferably no build step at all, where possible. Highlights taken from the README:A credt web page is a
[file].html.ts.js
file. It runs on both the client and the server. It has 2 ways that it can run on the server:If you run it via nodejs (e.g.
node index.html.ts.js > index.html
), it will print an HTML file to stdout that can be loaded in the browser. This HTML file is suitable for development mode--once created, you don't need to create it again. As you develop your[file].html.ts.js
javascript and its dependencies, you can just reload the HTML page in the browser and it will include your new javascript code automatically.If you add
NODE_ENV=production
to the environment, your[file].html.ts.js
file will print an HTML file to stdout that includes a snapshot of the initial app state (HTML) for SSR (e.g.NODE_ENV=production node index.html.ts.js > index.html
). When a user loads this production file, they won't see a blank page flash. In addition, the javascript will be loaded into the browser and hydrate the app and continue where the raw HTML left off, making it an SPA if desired.All credt javascript code must be contained within isomorphic ES modules (i.e. the modules can run in node 18.0+ or the browser). NPM modules can be installed like usual via, e.g.
pnpm
for the server side. You maintain an importmap of modules and their online sources for the browser-side using the jspm CLI.Other goals for
credt
include using a CRDT to sync between server and client, as well as very small size (currently under 5kb, and will probably land at around 10kb).Thanks to those who've pioneered Sinuous! It is rewarding to work with the craftsmanship and attention to detail within, as well as the community ecosystem around it.
Beta Was this translation helpful? Give feedback.
All reactions