Phase 1 of the hexagonal-architecture plan (dtoro/oikos plans/2026-08-15-hexagonal-architecture.md). Moves the delivery stack for the control-room UI into its own repo with its own pipeline: - web/ — Svelte 5 SPA, verbatim (vendor/ included) - desktop/ — Wails v3 wrapper, updateURL repointed to dtoro/oikos-web releases - compose/ — Dockerfile + Caddyfile, verbatim (the /wails/* 404 and asset no-fallback quirks are load-bearing) - docker-compose.yml — single web service, same 8091:80 publish, mem/cpu limits, and restart policy as the oikos stack's web service - scripts/deploy.sh — mirrors oikos deploy essentials: CI-green gate, TOCTOU guard, version-tagged oikos-web:v$VERSION, prune to 3 - cmd/webhook + scripts/install-webhook.sh — standalone push-to-deploy receiver on :9798 (env-only secrets, no Infisical dependency) - CI: the web job from oikos's ci.yml + the desktop build/release workflow, path-adjusted Own VERSION (0.33.0) with the same bump-on-main rule; starts above oikos's 0.32.x so the desktop updater sees an upgrade.
60 lines
1.6 KiB
JSON
60 lines
1.6 KiB
JSON
{
|
|
"name": "oikos-web",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build",
|
|
"preview": "vite preview",
|
|
"check": "svelte-check --tsconfig ./tsconfig.json",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"format": "prettier --write .",
|
|
"format:check": "prettier --check .",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest"
|
|
},
|
|
"devDependencies": {
|
|
"@internationalized/date": "^3.12.2",
|
|
"@lucide/svelte": "^1.25.0",
|
|
"@sveltejs/vite-plugin-svelte": "^5.0.0",
|
|
"@tailwindcss/vite": "^4.3.2",
|
|
"@tsconfig/svelte": "^5.0.0",
|
|
"@types/d3-force": "^3.0.10",
|
|
"@vincjo/datatables": "^2.8.1",
|
|
"bits-ui": "^2.18.1",
|
|
"eslint": "^9.0.0",
|
|
"eslint-plugin-svelte": "^2.46.0",
|
|
"globals": "^15.0.0",
|
|
"jsdom": "^25.0.0",
|
|
"prettier": "^3.3.0",
|
|
"prettier-plugin-svelte": "^3.3.0",
|
|
"svelte": "^5.0.0",
|
|
"svelte-check": "^4.0.0",
|
|
"svelte-sonner": "^1.1.1",
|
|
"tailwind-variants": "^3.2.2",
|
|
"tailwindcss": "^4.3.2",
|
|
"typescript": "^5.5.0",
|
|
"typescript-eslint": "^8.0.0",
|
|
"vite": "^6.0.0",
|
|
"vitest": "^2.0.0"
|
|
},
|
|
"dependencies": {
|
|
"@joan/procedural-glyph-engine": "file:../vendor",
|
|
"@sigma/node-image": "^3.0.0",
|
|
"@surdeddd/wmkit": "^0.3.0",
|
|
"clsx": "^2.1.1",
|
|
"d3-force": "^3.0.0",
|
|
"dompurify": "^3.4.11",
|
|
"graphology": "^0.26.0",
|
|
"graphology-layout-forceatlas2": "^0.10.1",
|
|
"marked": "^18.0.5",
|
|
"sigma": "^3.0.3",
|
|
"svelte-splitpanes": "^8.0.12",
|
|
"tailwind-merge": "^3.6.0",
|
|
"uplot": "^1.6.32"
|
|
}
|
|
}
|