Typesafe, single-source-of-truth SSR/SSG pipeline
Combining some related issues concerning the design of our SSR pipeline to make a single branch and !MR. I hope this will be relatively easy to review.
- Type safety throughout the build pipelines to enable autocomplete and to prevent obscure errors
-
Cohesion within
.tsmodules for easier maintenance, features and refactors - Consistency of styles and patterns
- Single-source-of-truth principle so we can understand where effects originate
-
#99 (closed) Use typesafe typescript libraries to model invariants and enforce narrow constraints
-> Typesafe functions to prevent undebuggable build-time errors
-
#104 (closed) Migrate from separate scss files to narrow tokens in a typesafe css.tsmodule
-> Typesafe css builder -> Cohesion (less indirection, more inlining)
-
#102 (closed) Query the CMS for design tokens and derive all metrics (Spacing & Colors) from CMS
-> Consistent and typesafe colors and spacings -> Singe source of truth
-
#96 (closed) Fix the fluid scale: Less size contrast on small screens; get grid metrics from CMS
-> Consistent and typesafe widths and heights -> Singe source of truth
Also included in this branch: #103 (closed) Fix
element for correct Html outputEdited by Flupsi