Two axes on <html>: data-theme for colour, data-style for shape and density, independent of each other. v1 shipped 12 themes x 3 layout styles as 36 hand-maintained stylesheets -- 8,300 lines of CSS, 553 custom properties, 116 !important declarations, and the last fifteen commits in the repo were print-preview CSS tweaks. Here a theme is a list of colours and a style is a list of measurements. Every token is semantic: nothing is named --blue-500, because a theme has to be able to change what blue is. The release bundle is 209 KB, 87 KB gzipped. v1's was 2.5 MB, a meaningful share of which was a 638-line dead CalDAV client that kept reqwest, ical and regex in the dependency list. Feature-gating runway-core is what that structural fix buys. One typed API client returning Result<T, ApiError> with a matchable code, replacing v1's seventeen raw RequestInit call sites across three modules, each with its own header, error and JSON handling and all returning Result<T, String>. The session cookie is HttpOnly and this code cannot read it; asking the server who you are is the only way to find out. Trunk proxies /api to the backend so the cookie is same-origin in development exactly as in production, rather than weakening it to SameSite=None for a local convenience. And the browser loop the audit called the biggest change between v1 and v2: e2e/shoot.mjs drives a real Chromium, screenshots every state across both token axes using the actual controls, and reports whatever the console said. It found that wasm-opt needed telling bulk-memory is allowed, and that offering a reference number for a mistyped password suggests a fault at our end.
20 lines
516 B
JSON
20 lines
516 B
JSON
{
|
|
"name": "runway",
|
|
"version": "0.1.0",
|
|
"description": "Build tooling for the Runway frontend: Tailwind v4 and the browser-driving scripts.",
|
|
"directories": {
|
|
"doc": "docs"
|
|
},
|
|
"scripts": {
|
|
"css": "tailwindcss -i crates/runway-web/styles/main.css -o crates/runway-web/styles/generated.css",
|
|
"shoot": "node e2e/shoot.mjs"
|
|
},
|
|
"type": "commonjs",
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.62.1",
|
|
"@tailwindcss/cli": "^4.3.3",
|
|
"tailwindcss": "^4.3.3"
|
|
},
|
|
"private": true
|
|
}
|