TIbiAdmin Starter Kit
Go to file
2023-12-24 11:38:32 +01:00
.vscode Initial commit 2023-12-24 11:38:32 +01:00
.yarn Initial commit 2023-12-24 11:38:32 +01:00
api Initial commit 2023-12-24 11:38:32 +01:00
cypress Initial commit 2023-12-24 11:38:32 +01:00
public Initial commit 2023-12-24 11:38:32 +01:00
scripts Initial commit 2023-12-24 11:38:32 +01:00
src Initial commit 2023-12-24 11:38:32 +01:00
types Initial commit 2023-12-24 11:38:32 +01:00
.basic-auth-code Initial commit 2023-12-24 11:38:32 +01:00
.basic-auth-web Initial commit 2023-12-24 11:38:32 +01:00
.drone.yml Initial commit 2023-12-24 11:38:32 +01:00
.env Initial commit 2023-12-24 11:38:32 +01:00
.gitattributes Initial commit 2023-12-24 11:38:32 +01:00
.gitignore Initial commit 2023-12-24 11:38:32 +01:00
.prettierrc Initial commit 2023-12-24 11:38:32 +01:00
.yarnrc.yml Initial commit 2023-12-24 11:38:32 +01:00
babel.config.cypress.json Initial commit 2023-12-24 11:38:32 +01:00
babel.config.json Initial commit 2023-12-24 11:38:32 +01:00
cypress.json Initial commit 2023-12-24 11:38:32 +01:00
docker-compose-local.yml Initial commit 2023-12-24 11:38:32 +01:00
docker-compose.cypress.yml Initial commit 2023-12-24 11:38:32 +01:00
esbuild.config.cypress.js Initial commit 2023-12-24 11:38:32 +01:00
esbuild.config.js Initial commit 2023-12-24 11:38:32 +01:00
esbuild.config.legacy.js Initial commit 2023-12-24 11:38:32 +01:00
esbuild.config.server.js Initial commit 2023-12-24 11:38:32 +01:00
LICENSE Initial commit 2023-12-24 11:38:32 +01:00
Makefile Initial commit 2023-12-24 11:38:32 +01:00
package.json Initial commit 2023-12-24 11:38:32 +01:00
README.md Initial commit 2023-12-24 11:38:32 +01:00
svelte.config.js Initial commit 2023-12-24 11:38:32 +01:00
tsconfig.json Initial commit 2023-12-24 11:38:32 +01:00
yarn.lock Initial commit 2023-12-24 11:38:32 +01:00

tibi-starter

Starter Kit für SPAs(s) ;) mit Svelte und TibiCMS inkl. 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 tibi-server SSR-Hook (server side rendering) 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

git

nach git clone ...

git lfs install
git lfs pull

Abhängigkeiten laden

yarn install

Entwickeln mit dev-Webserver

yarn start

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

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

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

yarn dev

Entwickeln auf dem Code-Server mit Docker Compose Stack

make docker-start
# oder
make docker-up
make docker-down

# "make help" zeigt alle Kommandos
UI URL
Website https://tibi-svelte-starter.code.testversion.online/
Tibi Admin https://tibi-svelte-starter-tibiadmin.code.testversion.online/
Admin Mongo https://tibi-svelte-starter-adminmongo.code.testversion.online/
Maildev https://tibi-svelte-starter-maildev.code.testversion.online/

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