Go to file
2022-01-25 16:21:54 +01:00
.vscode sourcemap tests 2021-09-13 18:12:40 +02:00
api ssr 404 2022-01-25 16:21:54 +01:00
cypress cypress and instanbul 2021-09-14 14:45:47 +02:00
public sourcemap tests 2021-09-13 18:12:40 +02:00
scripts cypress and instanbul 2021-09-14 14:45:47 +02:00
src upgrade 2021-12-08 12:56:19 +01:00
types init 2021-03-22 15:59:05 +01:00
.drone.yml upgrade 2021-12-08 12:56:19 +01:00
.gitignore cypress and instanbul 2021-09-14 14:45:47 +02:00
.prettierrc sourcemap tests 2021-09-13 18:12:40 +02:00
babel.config.cypress.json sourcemap tests 2021-09-13 18:12:40 +02:00
babel.config.json init 2021-03-22 15:59:05 +01:00
cypress.json cypress and instanbul 2021-09-14 14:45:47 +02:00
docker-compose.cypress.yml cypress and instanbul 2021-09-14 14:45:47 +02:00
esbuild.config.cypress.js sourcemap tests 2021-09-13 18:12:40 +02:00
esbuild.config.js upgrade 2021-12-08 12:56:19 +01:00
esbuild.config.legacy.js init 2021-03-22 15:59:05 +01:00
esbuild.config.server.js init 2021-03-22 15:59:05 +01:00
LICENSE Initial commit 2021-03-22 13:24:57 +01:00
package.json upgrade 2021-12-08 12:56:19 +01:00
README.md cypress and instanbul 2021-09-14 14:45:47 +02:00
svelte.config.js sourcemap tests 2021-09-13 18:12:40 +02:00
tsconfig.json upgrade 2021-12-08 12:56:19 +01:00
yarn.lock upgrade 2021-12-08 12:56:19 +01:00

wmbasic-svelte-starter

Starter Kit für SPAs(s) ;) mit Svelte und WMBasic-Backend ink. SSR

Wozu?

Via Svelte wird eine SPA (Single-Page-App) programmiert. Dazu wird der Code einmal für den Browser aufgebreitet und außerdem für den Server kompiliert und transpiliert. Der Server-Code wird in einem WMBasic-API SSR-Hook (server side renering) eingebunden und generiert dort fertiges HTML anhand der aktuelle Route für SEO und optimierte Ladezeiten.

Die Navigation innerhalb der APP im Browser löst dagegen nur API-Aufrufe aus ohne jedesmal einen SSR-Prozess anzustoßen.

Um die SSR-Last so gering wie möglich zu halten, wurde ein Caching in der "ssr"-Collection der API implementiert.

Toolchain

Abhängigkeiten laden

yarn install

Entwickeln mit dev-Webserver

yarn start

oder mit abweichender API für "/api"-Proxy

API_BASE=https://login.wmbasic.de/api/v1_/__NAMESPACE__ yarn start

Entwickeln mit externem Webserver (z.B. vscode live server)

yarn dev

Testen

yarn build:istanbul # instrumentiert Code für coverage-Report
yarn cy:docker:run  # oder mit Xserver und UI cy:docker:open

Bauen

# moderne Browser
yarn build

# alte Browser (IE11)
yarn build:legacy

# serverseitiges Rendering
yarn build:server