From e596199ba0d34bb98a61bee142a916c547906e06 Mon Sep 17 00:00:00 2001 From: Till JS Date: Sat, 9 May 2026 12:38:51 +0200 Subject: [PATCH] dev: dev:full + cards-dev-Alias + lokale mana-auth-Pipeline MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - pnpm dev:full chained: docker:up --wait → db:push → concurrently dev + dev:auth - vite.config: ssr.noExternal + optimizeDeps.exclude für @mana/* aus Verdaccio (Raw-.ts-Sourcen brechen Node-22-Type-Stripping in node_modules) - README + STATUS auf neuen Setup-Umfang aktualisiert (mana-auth läuft mit) - concurrently als devDep, dev:auth/docker:up:auth/db:push:auth Sub-Scripts Co-Authored-By: Claude Opus 4.7 (1M context) --- README.md | 22 ++- STATUS.md | 21 +++ apps/web/vite.config.ts | 13 ++ package.json | 9 +- pnpm-lock.yaml | 403 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 463 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 104460d..92aa3ad 100644 --- a/README.md +++ b/README.md @@ -31,9 +31,25 @@ für den vollständigen Plan. ```bash pnpm install -pnpm docker:up # Postgres in Docker -pnpm db:push # Drizzle-Schema -pnpm dev # api + web parallel +pnpm dev:full # cards docker + mana docker + DB-Push (cards & auth) + dev (cards & mana-auth) +``` + +Oder von überall via zsh-Alias: `cards-dev`. + +`dev:full` greift in `../mana/` (Plattform-Repo): startet `mana-postgres`, +pushed `mana-auth`-Schema, und startet `mana-auth` auf :3001 parallel zu +cards-api/-web. Damit ist Login lokal komplett testbar (Cookie-Domain +`localhost`, eigener Dev-User in lokaler `mana_auth`-DB). + +Einzelschritte (falls nur Teile gebraucht werden): + +```bash +pnpm docker:up # Cards Postgres + MinIO (wartet bis healthy) +pnpm docker:up:auth # Mana Postgres (wartet bis healthy) +pnpm db:push # Cards Drizzle-Schema +pnpm db:push:auth # mana-auth Drizzle-Schema +pnpm dev # cards api + web parallel (Turbo) +pnpm dev:auth # mana-auth :3001 ``` → API auf `http://localhost:3081`, Web auf `http://localhost:3082` (oder Vite-Dev-Default `5173`). diff --git a/STATUS.md b/STATUS.md index 6b196cb..34f925d 100644 --- a/STATUS.md +++ b/STATUS.md @@ -107,6 +107,27 @@ Legende: ✅ erledigt + verifiziert · 🚧 blockiert · ⏸ noch nicht begonnen ### Lokal voll einsatzbereit +**One-Shot (empfohlen):** + +```bash +cd /Users/till/Documents/Code/cards +NPM_AUTH_TOKEN= pnpm install # einmalig / nach pull +pnpm dev:full # cards-docker + mana-docker + DB-Push (cards & auth) + dev (cards & mana-auth) +``` + +Oder von überall via zsh-Alias: `cards-dev` (definiert in `~/.zshrc`, +zeigt auf `pnpm dev:full` im cards-Repo). + +`dev:full` greift bewusst in `../mana/` (Plattform-Repo): startet +`mana-postgres` und `mana-auth` (:3001) parallel zu cards-api/-web. +Login lokal komplett testbar — Dev-User `tills95@gmail.com` / +`Aa-123456789` ist in der lokalen `mana_auth`-DB angelegt +(`access_tier=founder`, `email_verified=true`). Cross-Repo-Coupling +ist Trade-off für E2E-Bequemlichkeit; CLAUDE.md erwähnt das nicht +als Architektur-Invariante, sondern Pragma. + +**Manuelle Sequenz** (für Debug oder wenn nur Teile gebraucht werden): + ```bash cd /Users/till/Documents/Code/cards diff --git a/apps/web/vite.config.ts b/apps/web/vite.config.ts index 59aad41..0b0f2ca 100644 --- a/apps/web/vite.config.ts +++ b/apps/web/vite.config.ts @@ -8,4 +8,17 @@ export default defineConfig({ port: Number(process.env.CARDS_WEB_PORT ?? 3082), host: true, }, + // @mana/* aus Verdaccio publishen Raw-.ts (main: src/index.ts). + // Node 22 verweigert Type-Stripping in node_modules → Vite muss + // die Pakete im SSR selbst transformieren statt extern an Node + // weiterzureichen. Plus client-side: optimizeDeps mit esbuild + // erstickt an .svelte.ts-Files, die `import type {}`/`export type` + // enthalten — also vom Pre-Bundling ausnehmen, dann übernimmt der + // reguläre Vite-Transform den TS-Strip. + ssr: { + noExternal: [/^@mana\//], + }, + optimizeDeps: { + exclude: ['@mana/shared-ui', '@mana/shared-theme', '@mana/shared-icons'], + }, }); diff --git a/package.json b/package.json index 6d581c2..02d4bb6 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ }, "scripts": { "dev": "turbo run dev", + "dev:auth": "cd ../mana/services/mana-auth && pnpm dev", + "dev:full": "pnpm docker:up && pnpm docker:up:auth && pnpm db:push && pnpm db:push:auth && concurrently -n cards,auth -c cyan,blue \"pnpm dev\" \"pnpm dev:auth\"", "build": "turbo run build", "test": "turbo run test", "lint": "turbo run lint", @@ -21,14 +23,17 @@ "validate:manifest": "pnpm exec validate-manifest app-manifest.json", "validate:fast": "pnpm run type-check && pnpm run validate:manifest", "validate:all": "pnpm run type-check && pnpm run validate:manifest && pnpm run test", - "docker:up": "docker compose -f infrastructure/docker-compose.yml up -d", + "docker:up": "docker compose -f infrastructure/docker-compose.yml up -d --wait", + "docker:up:auth": "docker compose -f ../mana/docker-compose.yml up -d --wait postgres", "docker:down": "docker compose -f infrastructure/docker-compose.yml down", "docker:logs": "docker compose -f infrastructure/docker-compose.yml logs -f", - "db:push": "pnpm --filter @cards/api drizzle:push" + "db:push": "pnpm --filter @cards/api drizzle:push", + "db:push:auth": "cd ../mana/services/mana-auth && pnpm db:push" }, "devDependencies": { "@types/bun": "latest", "@types/node": "^22.10.2", + "concurrently": "^9.2.1", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", "turbo": "^2.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6b4f878..5e67b0c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@types/node': specifier: ^22.10.2 version: 22.19.18 + concurrently: + specifier: ^9.2.1 + version: 9.2.1 prettier: specifier: ^3.3.3 version: 3.8.3 @@ -66,6 +69,12 @@ importers: '@cards/domain': specifier: workspace:* version: link:../../packages/cards-domain + '@mana/shared-icons': + specifier: ^1.0.0 + version: 1.0.0(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0)) + '@mana/shared-ui': + specifier: ^0.1.1 + version: 0.1.1(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0)) dompurify: specifier: ^3.4.2 version: 3.4.2 @@ -569,10 +578,33 @@ packages: '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + '@mana/shared-branding@1.0.0': + resolution: {integrity: sha512-s2mcSUfT8It3NxmPZCAkObKc9vIGHUtAgmAgyyWHZBMt9/Ve4Krh+lnMPA6DgPQ+tVRoRRb3hVgl7RJqCr2Tsg==} + peerDependencies: + svelte: ^5.0.0 + + '@mana/shared-icons@1.0.0': + resolution: {integrity: sha512-71L1dLO6tias8floLv8s0MYzv4cA5IvwftxdFnTYOsKMTMkJ2xEiJ4VxoV5Rj7iAG0oCdV5cmjGyOEKWaLVGEA==} + peerDependencies: + svelte: ^5.0.0 + '@mana/shared-share-protocol@0.1.0': resolution: {integrity: sha512-I1fIDbS3nu++9LUXc08ICrLXE/cdV/n9D0Jm8LOhVH9izUXQSSg2EO4M2+m7K5vc5KdjGBcYrFPhAg48+KE6Kw==} hasBin: true + '@mana/shared-theme@0.1.0': + resolution: {integrity: sha512-ECOLTCSNZakFENI3CIRDIJPq0vIwO3FN7dDUQ+EpSGZPoFXOj92KSu+OgsrOnLHqmXEVluqCPNKcOtZUUJKO0w==} + peerDependencies: + svelte: ^5.0.0 + + '@mana/shared-types@0.1.0': + resolution: {integrity: sha512-DLoTWqbmF/XePHe3VivpdSaVISpQgtWCOMgleO135a0+miWRXiecuwR+uR+HLRRaNp3bsKbwuq9iKhQixGUaMA==} + + '@mana/shared-ui@0.1.1': + resolution: {integrity: sha512-70GJBsAX94I1mRIaqWbGuWf+5iWyeXyZskXD36eZbOnCjw/5GdngPiHWpXx2166p8iw/6E7YIIa75Ul6pbPdcg==} + peerDependencies: + svelte: ^5.0.0 + '@nodable/entities@2.1.0': resolution: {integrity: sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==} @@ -913,6 +945,24 @@ packages: '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + + '@types/d3-force@3.0.10': + resolution: {integrity: sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==} + + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-selection@3.0.11': + resolution: {integrity: sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==} + + '@types/d3-transition@3.0.9': + resolution: {integrity: sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==} + + '@types/d3-zoom@3.0.8': + resolution: {integrity: sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==} + '@types/dompurify@3.2.0': resolution: {integrity: sha512-Fgg31wv9QbLDA0SpTOXO3MaxySc4DKGLi8sna4/Utjo4r3ZRPdCt4UQee8BWr+Q5z21yifghREPJGYaEOEIACg==} deprecated: This is a stub types definition. dompurify provides its own type definitions, so you do not need this installed. @@ -976,6 +1026,14 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + aria-query@5.3.1: resolution: {integrity: sha512-Z/ZeOgVl7bcSYZ/u/rh0fOpvEpq//LZmdbkXyc7syVzjPAhfOa9ebsdTSjEBDU4vs5nC98Kfduj1uFo0qyET3g==} engines: {node: '>= 0.4'} @@ -1015,6 +1073,10 @@ packages: resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} engines: {node: '>=18'} + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + check-error@2.1.3: resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} @@ -1023,13 +1085,29 @@ packages: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + concurrently@9.2.1: + resolution: {integrity: sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==} + engines: {node: '>=18'} + hasBin: true + cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} @@ -1037,6 +1115,55 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + date-fns@4.1.0: + resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} + debug@4.4.3: resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} @@ -1164,6 +1291,9 @@ packages: sqlite3: optional: true + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + enhanced-resolve@5.21.2: resolution: {integrity: sha512-xe9vQb5kReirPUxgQrXA3ihgbCqssmTiM7cOZ+Gzu+VeGWgpV98lLZvp0dl4yriyAePcewxGUs9UpKD8PET9KQ==} engines: {node: '>=10.13.0'} @@ -1199,6 +1329,10 @@ packages: engines: {node: '>=12'} hasBin: true + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + esm-env@1.2.2: resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} @@ -1256,12 +1390,20 @@ packages: engines: {node: '>= 18.0.0'} hasBin: true + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-tsconfig@4.14.0: resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + hasown@2.0.3: resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} @@ -1284,6 +1426,10 @@ packages: resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} engines: {node: '>= 0.4'} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + is-module@1.0.0: resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} @@ -1449,6 +1595,15 @@ packages: resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} + phosphor-svelte@3.1.0: + resolution: {integrity: sha512-nldtxx+XCgNREvrb7O5xgDsefytXpSkPTx8Rnu3f2qQCUZLDV1rLxYSd2Jcwckuo9lZB1qKMqGR17P4UDC0PrA==} + peerDependencies: + svelte: ^5.0.0 || ^5.0.0-next.96 + vite: '>=5' + peerDependenciesMeta: + vite: + optional: true + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -1493,6 +1648,10 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} @@ -1506,6 +1665,9 @@ packages: engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + rxjs@7.8.2: + resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} + sade@1.8.1: resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} engines: {node: '>=6'} @@ -1573,12 +1735,28 @@ packages: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + strnum@2.3.0: resolution: {integrity: sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -1627,10 +1805,17 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + ts-fsrs@5.3.2: resolution: {integrity: sha512-moJJfYAeG9ynyyGCNaQPUloi0sspTMHFtgCvsx2wDchELu3O2c513/7fp+6PxsGth0ztxNjEtG8d85gX4ce0og==} engines: {node: '>=20.0.0'} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + turbo@2.9.10: resolution: {integrity: sha512-YBLeNT0wLoysGgQEkvBWE2GA1liGGZ1j13wa7xHTwELJx4ZhM+c2szeXj6wUOUGO86BmyhY0Q/ELWwU3WDXzZA==} hasBin: true @@ -1725,6 +1910,10 @@ packages: engines: {node: '>=8'} hasBin: true + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + xml-naming@0.1.0: resolution: {integrity: sha512-k8KO9hrMyNk6tUWqUfkTEZbezRRpONVOzUTnc97VnCvyj6Tf9lyUR9EDAIeiVLv56jsMcoXEwjW8Kv5yPY52lw==} engines: {node: '>=16.0.0'} @@ -1737,6 +1926,18 @@ packages: resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} engines: {node: '>=4.0'} + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + zimmerframe@1.1.4: resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} @@ -1985,10 +2186,49 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 + '@mana/shared-branding@1.0.0(svelte@5.55.5)': + dependencies: + '@mana/shared-types': 0.1.0 + svelte: 5.55.5 + + '@mana/shared-icons@1.0.0(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0))': + dependencies: + phosphor-svelte: 3.1.0(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0)) + svelte: 5.55.5 + transitivePeerDependencies: + - vite + '@mana/shared-share-protocol@0.1.0': dependencies: zod: 3.25.76 + '@mana/shared-theme@0.1.0(svelte@5.55.5)': + dependencies: + svelte: 5.55.5 + + '@mana/shared-types@0.1.0': + dependencies: + zod: 3.25.76 + + '@mana/shared-ui@0.1.1(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0))': + dependencies: + '@mana/shared-branding': 1.0.0(svelte@5.55.5) + '@mana/shared-icons': 1.0.0(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0)) + '@mana/shared-theme': 0.1.0(svelte@5.55.5) + '@mana/shared-types': 0.1.0 + '@types/d3-force': 3.0.10 + '@types/d3-selection': 3.0.11 + '@types/d3-transition': 3.0.9 + '@types/d3-zoom': 3.0.8 + d3-force: 3.0.0 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + d3-zoom: 3.0.0 + date-fns: 4.1.0 + svelte: 5.55.5 + transitivePeerDependencies: + - vite + '@nodable/entities@2.1.0': {} '@petamoriken/float16@3.9.3': {} @@ -2254,6 +2494,25 @@ snapshots: '@types/cookie@0.6.0': {} + '@types/d3-color@3.1.3': {} + + '@types/d3-force@3.0.10': {} + + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-selection@3.0.11': {} + + '@types/d3-transition@3.0.9': + dependencies: + '@types/d3-selection': 3.0.11 + + '@types/d3-zoom@3.0.8': + dependencies: + '@types/d3-interpolate': 3.0.4 + '@types/d3-selection': 3.0.11 + '@types/dompurify@3.2.0': dependencies: dompurify: 3.4.2 @@ -2323,6 +2582,12 @@ snapshots: acorn@8.16.0: {} + ansi-regex@5.0.1: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + aria-query@5.3.1: {} assertion-error@2.0.1: {} @@ -2355,20 +2620,92 @@ snapshots: loupe: 3.2.1 pathval: 2.0.1 + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + check-error@2.1.3: {} chokidar@4.0.3: dependencies: readdirp: 4.1.2 + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + clsx@2.1.1: {} + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + commondir@1.0.1: {} + concurrently@9.2.1: + dependencies: + chalk: 4.1.2 + rxjs: 7.8.2 + shell-quote: 1.8.3 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.2 + cookie@0.6.0: {} core-util-is@1.0.3: {} + d3-color@3.1.0: {} + + d3-dispatch@3.0.1: {} + + d3-drag@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-selection: 3.0.0 + + d3-ease@3.0.1: {} + + d3-force@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-quadtree: 3.0.1 + d3-timer: 3.0.1 + + d3-interpolate@3.0.1: + dependencies: + d3-color: 3.1.0 + + d3-quadtree@3.0.1: {} + + d3-selection@3.0.0: {} + + d3-timer@3.0.1: {} + + d3-transition@3.0.1(d3-selection@3.0.0): + dependencies: + d3-color: 3.1.0 + d3-dispatch: 3.0.1 + d3-ease: 3.0.1 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-timer: 3.0.1 + + d3-zoom@3.0.0: + dependencies: + d3-dispatch: 3.0.1 + d3-drag: 3.0.0 + d3-interpolate: 3.0.1 + d3-selection: 3.0.0 + d3-transition: 3.0.1(d3-selection@3.0.0) + + date-fns@4.1.0: {} + debug@4.4.3: dependencies: ms: 2.1.3 @@ -2404,6 +2741,8 @@ snapshots: postgres: 3.4.9 sql.js: 1.14.1 + emoji-regex@8.0.0: {} + enhanced-resolve@5.21.2: dependencies: graceful-fs: 4.2.11 @@ -2499,6 +2838,8 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 + escalade@3.2.0: {} + esm-env@1.2.2: {} esrap@2.2.6: @@ -2549,12 +2890,16 @@ snapshots: transitivePeerDependencies: - supports-color + get-caller-file@2.0.5: {} + get-tsconfig@4.14.0: dependencies: resolve-pkg-maps: 1.0.0 graceful-fs@4.2.11: {} + has-flag@4.0.0: {} + hasown@2.0.3: dependencies: function-bind: 1.1.2 @@ -2571,6 +2916,8 @@ snapshots: dependencies: hasown: 2.0.3 + is-fullwidth-code-point@3.0.0: {} + is-module@1.0.0: {} is-reference@1.2.1: @@ -2703,6 +3050,14 @@ snapshots: pathval@2.0.1: {} + phosphor-svelte@3.1.0(svelte@5.55.5)(vite@5.4.21(@types/node@22.19.18)(lightningcss@1.32.0)): + dependencies: + estree-walker: 3.0.3 + magic-string: 0.30.21 + svelte: 5.55.5 + optionalDependencies: + vite: 5.4.21(@types/node@22.19.18)(lightningcss@1.32.0) + picocolors@1.1.1: {} picomatch@4.0.4: {} @@ -2749,6 +3104,8 @@ snapshots: readdirp@4.1.2: {} + require-directory@2.1.1: {} + resolve-pkg-maps@1.0.0: {} resolve@1.22.12: @@ -2789,6 +3146,10 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.60.3 fsevents: 2.3.3 + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + sade@1.8.1: dependencies: mri: 1.2.0 @@ -2838,12 +3199,30 @@ snapshots: strict-uri-encode@2.0.0: {} + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + strnum@2.3.0: {} + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + supports-preserve-symlinks-flag@1.0.0: {} svelte-check@4.4.8(picomatch@4.0.4)(svelte@5.55.5)(typescript@5.9.3): @@ -2899,8 +3278,12 @@ snapshots: totalist@3.0.1: {} + tree-kill@1.2.2: {} + ts-fsrs@5.3.2: {} + tslib@2.8.1: {} + turbo@2.9.10: optionalDependencies: '@turbo/darwin-64': 2.9.10 @@ -2992,6 +3375,12 @@ snapshots: siginfo: 2.0.0 stackback: 0.0.2 + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + xml-naming@0.1.0: {} xml2js@0.6.2: @@ -3001,6 +3390,20 @@ snapshots: xmlbuilder@11.0.1: {} + y18n@5.0.8: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + zimmerframe@1.1.4: {} zod-to-json-schema@3.25.2(zod@3.25.76):