Instead of repeating myself — read about the project here.
pnpm v6
- Manages dependencies. The project is split into workspaces
node
- Local self signed HTTPS certs
-
$ cd ./apps/www && mkcert localhost
-
deno
- Build the CLI version to a portable executable
- Install all dependencies
$ pnpm i
From the root of the repo, you can run the dev script by filtering to start the vite dev server.
$ pnpm -F ./apps/www dev
Build the main web app
$ pnpm -F ./apps/www build
This script performs a few key steps:
- Builds the app in vite's ssg mode to a single plain JS file
- Builds the app using vite for browser based environments
- Builds a ServiceWorker using esbuild
- Pre-renders the app to plain HTML using the ssg assets
- Copies the
_headers
file todist
- Optimizes the HTML using critical to inline styles into the document head (to prevent FOUC) and finally minifies the whole file
- Build the main web app
$ pnpm -F ./apps/www build
- Run a local web server to serve the static content
$ pnpm -F ./apps/www preview
- Run Playwright
$ pnpm -F ./apps/e2e test
We only have unit tests for the pure functions in the gen-utils pkg. The UI is tested mainly by the E2E test for robustness, but also I couldn't get solid-testing-library to work 😕
- Run the tests!
$ pnpm -F ./pkgs/gen-utils test