SvelteKit UI for skins.sulej.net (frontend for osc_dev/osc-api)
- Svelte 87.6%
- TypeScript 10.5%
- CSS 1%
- JavaScript 0.5%
- Dockerfile 0.2%
- Other 0.2%
|
All checks were successful
Build and Push osc-skins-ui / Release & build osc-skins-ui (push) Successful in 35s
|
||
|---|---|---|
| .gitea/workflows | ||
| src | ||
| static | ||
| .gitignore | ||
| .releaserc.json | ||
| CHANGELOG.md | ||
| Dockerfile | ||
| package.json | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| vite.config.ts | ||
osc-skins-ui
SvelteKit UI for skins.sulej.net. The backend lives at osc_dev/osc-api.
Stack
- SvelteKit 2.x + Svelte 5 (runes)
- Tailwind 4 + bits-ui
- CodeMirror 6 (JSON editor)
@lucide/svelteicons@sveltejs/adapter-node(SSR)
Local dev
npm install
npm run sync-types # pull openapi.json from osc-api, regenerate src/lib/api-types.generated.ts
npm run dev # vite dev server on :3000
npm run sync-types fetches https://git.sulej.net/osc_dev/osc-api/raw/main/openapi.json and runs openapi-typescript. Run it whenever the backend's API shape changes — the generated types replace the hand-mirrored SkinEntry / SkinsJson / CIRun etc. that used to drift in src/lib/api.ts.
Deployment
CI on push to main builds + pushes git.sulej.net/osc_dev/osc-skins-ui:latest. The server at /home/arlind/docker/oscbot/ runs docker compose pull && up -d to roll forward.
Traefik routes everything under skins.sulej.net (except /api/*) → osc-web-frontend:3000.