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
.ts
modules for easier maintenance, features and refactors - Consistency of styles and patterns
- Single-source-of-truth principle so we can understand where effects originate
-
#99 Use typesafe typescript libraries to model invariants and enforce narrow constraints
-> Typesafe functions to prevent undebuggable build-time errors
-
#104 Migrate from separate scss files to narrow tokens in a typesafe css.ts
module
-> Typesafe css builder -> Cohesion (less indirection, more inlining)
-
#102 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 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 Fix
element for correct Html output