This repo is for the testing and development of Sinuous/Haptic and other packages listed below. It's a place to try out a modern healthy web stack.
It's Sinuous(+Lifecycles), ESM-only, TS, JSX, CSS-in-JS, and SSR.
Originally this repo was created to build a homepage for Stayknit, a cloud I host for my partners. It's been sidetracked to say the least.
https://nthm.gitlab.io/stayknit/
Sinuous:
- Component relationships: sinuous-trace
- Component lifecycles: sinuous-lifecycle
Web:
- CSS-in-JS at compile time: styletakeout.macro
- DOM in Node for SSR: softdom.js
This is ESM-only. No bundler - Babel removes all TypeScript annotations. Packages are handled by Snowpack. I was very tired of bundlers - if you are too, let this spark hope a better future in JS modules.
I've composed parts of Sinuous in src/sinuous.ts to provide a local
framework used throughout the rest of the project. Mostly because by default
Sinuous pulls in HTM but JSX already does this work at compile time.
There's no tree-shaking so the best option is to not include HTM at all.
As of 83c09c6 I use Haptic which better supports TypeScript.
-
Publish a TS+JSX Sinuous starter kit -
Publish a ESM(Snowpack)+TS+JSX Sinuous starter kit - Work on SSR hydration (SSR is working via SoftDOM: CI demo)
- Support event handlers
- Support observables - WIP
I think Sinuous is a beautiful project and has a bright future. JS frameworks often become over-engineered and heavy, so it's nice to see an approachable lightweight project that anyone use without drowning in tooling.