Big restructure

This commit is contained in:
Alois 2026-03-14 12:43:26 +01:00
commit 4ee57ab459
69 changed files with 124 additions and 124 deletions

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
node_modules node_modules
packages/core/socket packages/socket

View file

@ -4,4 +4,4 @@ coverage
.tmp .tmp
*.tsbuildinfo *.tsbuildinfo
bun.lock bun.lock
packages/desktop/build apps/desktop/build

View file

@ -12,10 +12,10 @@
}, },
"dependencies": { "dependencies": {
"@tensamin/chat": "workspace:*", "@tensamin/chat": "workspace:*",
"@tensamin/core-crypto": "workspace:*", "@tensamin/crypto": "workspace:*",
"@tensamin/ttp": "workspace:*", "@tensamin/ttp": "workspace:*",
"@tensamin/core-storage": "workspace:*", "@tensamin/storage": "workspace:*",
"@tensamin/core-user": "workspace:*", "@tensamin/user": "workspace:*",
"@tensamin/shared": "workspace:*", "@tensamin/shared": "workspace:*",
"@tensamin/ui": "workspace:*", "@tensamin/ui": "workspace:*",
"@noble/curves": "^2.0.1", "@noble/curves": "^2.0.1",

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

@ -1,4 +1,4 @@
import type { User } from "@tensamin/core-user/context"; import type { User } from "@tensamin/user/context";
import Avatar from "@tensamin/ui/avatar"; import Avatar from "@tensamin/ui/avatar";
import { reduceDisplay } from "./utils"; import { reduceDisplay } from "./utils";
import { Card, CardHeader } from "@tensamin/ui/card"; import { Card, CardHeader } from "@tensamin/ui/card";

View file

@ -2,7 +2,7 @@ import { Button } from "@tensamin/ui/button";
import { House } from "lucide-react"; import { House } from "lucide-react";
import { useNavigate, useRouterState } from "@tanstack/react-router"; import { useNavigate, useRouterState } from "@tanstack/react-router";
import * as React from "react"; import * as React from "react";
import { useUser, type User } from "@tensamin/core-user/context"; import { useUser, type User } from "@tensamin/user/context";
export default function Navbar() { export default function Navbar() {
const navigate = useNavigate(); const navigate = useNavigate();

View file

@ -2,7 +2,7 @@ import { Button } from "@tensamin/ui/button";
import { Card, CardContent, CardHeader, CardTitle } from "@tensamin/ui/card"; import { Card, CardContent, CardHeader, CardTitle } from "@tensamin/ui/card";
import { Input } from "@tensamin/ui/input"; import { Input } from "@tensamin/ui/input";
import { Label } from "@tensamin/ui/label"; import { Label } from "@tensamin/ui/label";
import { useStorage } from "@tensamin/core-storage/context"; import { useStorage } from "@tensamin/storage/context";
import { log, toast } from "@tensamin/shared/log"; import { log, toast } from "@tensamin/shared/log";
import { useNavigate } from "@tanstack/react-router"; import { useNavigate } from "@tanstack/react-router";
import { Upload } from "lucide-react"; import { Upload } from "lucide-react";

View file

@ -1,5 +1,5 @@
import { useStorage } from "@tensamin/core-storage/context"; import { useStorage } from "@tensamin/storage/context";
import Wrapper from "@tensamin/core-user/wrapper"; import Wrapper from "@tensamin/user/wrapper";
import * as React from "react"; import * as React from "react";
import Basic from "./modals/basic"; import Basic from "./modals/basic";
import List from "@/features/conversation/list/body"; import List from "@/features/conversation/list/body";

View file

@ -1,5 +1,5 @@
import Basic from "@/components/modals/basic"; import Basic from "@/components/modals/basic";
import Wrapper from "@tensamin/core-user/wrapper"; import Wrapper from "@tensamin/user/wrapper";
import { import {
ContextMenu, ContextMenu,
ContextMenuContent, ContextMenuContent,

View file

@ -1,5 +1,5 @@
import * as React from "react"; import * as React from "react";
import { useStorage } from "@tensamin/core-storage/context"; import { useStorage } from "@tensamin/storage/context";
import { Button } from "@tensamin/ui/button"; import { Button } from "@tensamin/ui/button";
import { import {
Checkbox, Checkbox,

View file

@ -3,9 +3,9 @@
@import "tw-animate-css"; @import "tw-animate-css";
@source "./**/*.{ts,tsx}"; @source "./**/*.{ts,tsx}";
@source "../../ui/src/**/*.{ts,tsx}"; @source "../../../packages/ui/src/**/*.{ts,tsx}";
@source "../../core/**/src/**/*.{ts,tsx}"; @source "../../../packages/**/src/**/*.{ts,tsx}";
@source "../../chat/src/**/*.{ts,tsx}"; @source "../../../packages/chat/src/**/*.{ts,tsx}";
@custom-variant dark (&:is(.dark *)); @custom-variant dark (&:is(.dark *));

View file

@ -1,5 +1,5 @@
import Socket from "@tensamin/ttp/context"; import Socket from "@tensamin/ttp/context";
import User from "@tensamin/core-user/context"; import User from "@tensamin/user/context";
import type { ReactNode } from "react"; import type { ReactNode } from "react";
import Sidebar from "@/components/sidebar"; import Sidebar from "@/components/sidebar";

View file

@ -1,7 +1,7 @@
import type { ReactNode } from "react"; import type { ReactNode } from "react";
import Storage from "@tensamin/core-storage/context"; import Storage from "@tensamin/storage/context";
import Crypto from "@tensamin/core-crypto/context"; import Crypto from "@tensamin/crypto/context";
import LegalWrapper from "@/features/legal/screen"; import LegalWrapper from "@/features/legal/screen";

262
bun.lock
View file

@ -18,89 +18,7 @@
"typescript-eslint": "^8.57.0", "typescript-eslint": "^8.57.0",
}, },
}, },
"packages/chat": { "apps/desktop": {
"name": "@tensamin/chat",
"version": "0.0.0",
"dependencies": {
"@tanstack/react-query": "^5.0.0",
"@tanstack/react-router": "^1.0.0",
"@tanstack/react-virtual": "^3.0.0",
"@tensamin/core-crypto": "workspace:*",
"@tensamin/core-storage": "workspace:*",
"@tensamin/core-user": "workspace:*",
"@tensamin/markdown": "workspace:*",
"@tensamin/shared": "workspace:*",
"@tensamin/ttp": "workspace:*",
"@tensamin/ui": "workspace:*",
"lucide-react": "^0.564.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
},
"packages/core/crypto": {
"name": "@tensamin/core-crypto",
"version": "0.0.0",
"dependencies": {
"@noble/curves": "^2.0.1",
"@tensamin/ui": "workspace:*",
"comlink": "^4.4.2",
"react": "^19.2.0",
"react-dom": "^19.2.0",
},
},
"packages/core/markdown": {
"name": "@tensamin/markdown",
"version": "0.0.0",
"dependencies": {
"@codemirror/commands": "^6.10.2",
"@codemirror/lang-markdown": "^6.5.0",
"@codemirror/state": "^6.5.4",
"@codemirror/view": "^6.39.15",
"@tensamin/ui": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
},
},
"packages/core/storage": {
"name": "@tensamin/core-storage",
"version": "0.0.0",
"dependencies": {
"@tensamin/shared": "workspace:*",
"@tensamin/ui": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
},
},
"packages/core/ttp": {
"name": "@tensamin/ttp",
"version": "0.0.0",
"dependencies": {
"@tanstack/react-router": "^1.0.0",
"@tensamin/core-crypto": "workspace:*",
"@tensamin/core-storage": "workspace:*",
"@tensamin/shared": "workspace:*",
"@tensamin/ui": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
"devDependencies": {
"eslint": "^10.0.3",
},
},
"packages/core/user": {
"name": "@tensamin/core-user",
"version": "0.0.0",
"dependencies": {
"@tensamin/shared": "workspace:*",
"@tensamin/ttp": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
},
"packages/desktop": {
"name": "electrobun-hello-world", "name": "electrobun-hello-world",
"version": "1.0.0", "version": "1.0.0",
"dependencies": { "dependencies": {
@ -111,42 +29,7 @@
"@types/bun": "latest", "@types/bun": "latest",
}, },
}, },
"packages/notifications": { "apps/web": {
"name": "@tensamin/notifications",
"version": "0.0.0",
"dependencies": {
"@tensamin/ttp": "git+https://github.com/Tensamin/TTP.git",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
},
"packages/shared": {
"name": "@tensamin/shared",
"version": "0.0.0",
"dependencies": {
"lucide-react": "^0.564.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"sonner": "^1.0.0",
"zod": "^4.3.6",
},
},
"packages/ui": {
"name": "@tensamin/ui",
"version": "0.0.0",
"dependencies": {
"@radix-ui/react-context-menu": "^2.2.16",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.564.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"sonner": "^1.0.0",
"tailwind-merge": "^3.5.0",
},
},
"packages/web": {
"name": "@tensamin/web", "name": "@tensamin/web",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
@ -155,12 +38,12 @@
"@tanstack/react-router": "^1.0.0", "@tanstack/react-router": "^1.0.0",
"@tanstack/react-virtual": "^3.0.0", "@tanstack/react-virtual": "^3.0.0",
"@tensamin/chat": "workspace:*", "@tensamin/chat": "workspace:*",
"@tensamin/core-crypto": "workspace:*", "@tensamin/crypto": "workspace:*",
"@tensamin/core-storage": "workspace:*",
"@tensamin/core-user": "workspace:*",
"@tensamin/shared": "workspace:*", "@tensamin/shared": "workspace:*",
"@tensamin/storage": "workspace:*",
"@tensamin/ttp": "workspace:*", "@tensamin/ttp": "workspace:*",
"@tensamin/ui": "workspace:*", "@tensamin/ui": "workspace:*",
"@tensamin/user": "workspace:*",
"class-variance-authority": "^0.7.1", "class-variance-authority": "^0.7.1",
"clsx": "^2.1.1", "clsx": "^2.1.1",
"comlink": "^4.4.2", "comlink": "^4.4.2",
@ -187,6 +70,123 @@
"vite": "^7.3.1", "vite": "^7.3.1",
}, },
}, },
"packages/chat": {
"name": "@tensamin/chat",
"version": "0.0.0",
"dependencies": {
"@tanstack/react-query": "^5.0.0",
"@tanstack/react-router": "^1.0.0",
"@tanstack/react-virtual": "^3.0.0",
"@tensamin/crypto": "workspace:*",
"@tensamin/markdown": "workspace:*",
"@tensamin/shared": "workspace:*",
"@tensamin/storage": "workspace:*",
"@tensamin/ttp": "workspace:*",
"@tensamin/ui": "workspace:*",
"@tensamin/user": "workspace:*",
"lucide-react": "^0.564.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
},
"packages/crypto": {
"name": "@tensamin/crypto",
"version": "0.0.0",
"dependencies": {
"@noble/curves": "^2.0.1",
"@tensamin/ui": "workspace:*",
"comlink": "^4.4.2",
"react": "^19.2.0",
"react-dom": "^19.2.0",
},
},
"packages/markdown": {
"name": "@tensamin/markdown",
"version": "0.0.0",
"dependencies": {
"@codemirror/commands": "^6.10.2",
"@codemirror/lang-markdown": "^6.5.0",
"@codemirror/state": "^6.5.4",
"@codemirror/view": "^6.39.15",
"@tensamin/ui": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
},
},
"packages/notifications": {
"name": "@tensamin/notifications",
"version": "0.0.0",
"dependencies": {
"@tensamin/ttp": "git+https://github.com/Tensamin/TTP.git",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
},
"packages/shared": {
"name": "@tensamin/shared",
"version": "0.0.0",
"dependencies": {
"lucide-react": "^0.564.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"sonner": "^1.0.0",
"zod": "^4.3.6",
},
},
"packages/storage": {
"name": "@tensamin/storage",
"version": "0.0.0",
"dependencies": {
"@tensamin/shared": "workspace:*",
"@tensamin/ui": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
},
},
"packages/ttp": {
"name": "@tensamin/ttp",
"version": "0.0.0",
"dependencies": {
"@tanstack/react-router": "^1.0.0",
"@tensamin/crypto": "workspace:*",
"@tensamin/shared": "workspace:*",
"@tensamin/storage": "workspace:*",
"@tensamin/ui": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
"devDependencies": {
"eslint": "^10.0.3",
},
},
"packages/ui": {
"name": "@tensamin/ui",
"version": "0.0.0",
"dependencies": {
"@radix-ui/react-context-menu": "^2.2.16",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"lucide-react": "^0.564.0",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"sonner": "^1.0.0",
"tailwind-merge": "^3.5.0",
},
},
"packages/user": {
"name": "@tensamin/user",
"version": "0.0.0",
"dependencies": {
"@tensamin/shared": "workspace:*",
"@tensamin/ttp": "workspace:*",
"react": "^19.2.0",
"react-dom": "^19.2.0",
"zod": "^4.3.6",
},
},
}, },
"packages": { "packages": {
"@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="], "@babel/code-frame": ["@babel/code-frame@7.29.0", "", { "dependencies": { "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", "picocolors": "^1.1.1" } }, "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw=="],
@ -519,23 +519,23 @@
"@tensamin/chat": ["@tensamin/chat@workspace:packages/chat"], "@tensamin/chat": ["@tensamin/chat@workspace:packages/chat"],
"@tensamin/core-crypto": ["@tensamin/core-crypto@workspace:packages/core/crypto"], "@tensamin/crypto": ["@tensamin/crypto@workspace:packages/crypto"],
"@tensamin/core-storage": ["@tensamin/core-storage@workspace:packages/core/storage"], "@tensamin/markdown": ["@tensamin/markdown@workspace:packages/markdown"],
"@tensamin/core-user": ["@tensamin/core-user@workspace:packages/core/user"],
"@tensamin/markdown": ["@tensamin/markdown@workspace:packages/core/markdown"],
"@tensamin/notifications": ["@tensamin/notifications@workspace:packages/notifications"], "@tensamin/notifications": ["@tensamin/notifications@workspace:packages/notifications"],
"@tensamin/shared": ["@tensamin/shared@workspace:packages/shared"], "@tensamin/shared": ["@tensamin/shared@workspace:packages/shared"],
"@tensamin/ttp": ["@tensamin/ttp@workspace:packages/core/ttp"], "@tensamin/storage": ["@tensamin/storage@workspace:packages/storage"],
"@tensamin/ttp": ["@tensamin/ttp@workspace:packages/ttp"],
"@tensamin/ui": ["@tensamin/ui@workspace:packages/ui"], "@tensamin/ui": ["@tensamin/ui@workspace:packages/ui"],
"@tensamin/web": ["@tensamin/web@workspace:packages/web"], "@tensamin/user": ["@tensamin/user@workspace:packages/user"],
"@tensamin/web": ["@tensamin/web@workspace:apps/web"],
"@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="], "@types/babel__core": ["@types/babel__core@7.20.5", "", { "dependencies": { "@babel/parser": "^7.20.7", "@babel/types": "^7.20.7", "@types/babel__generator": "*", "@types/babel__template": "*", "@types/babel__traverse": "*" } }, "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA=="],
@ -629,7 +629,7 @@
"electrobun": ["electrobun@1.15.1", "", { "dependencies": { "@babylonjs/core": "^7.45.0", "@types/bun": "^1.3.8", "png-to-ico": "^2.1.8", "rcedit": "^4.0.1", "three": "^0.165.0" }, "bin": { "electrobun": "bin/electrobun.cjs" } }, "sha512-FJ7XaTzbCPuH2ABK615WJyrfacoMdYR33tHJ0j/2JIw2srK4lHN9iSjPpvRVL1UveIQB7zRQ2pmVjeI4evwJ+g=="], "electrobun": ["electrobun@1.15.1", "", { "dependencies": { "@babylonjs/core": "^7.45.0", "@types/bun": "^1.3.8", "png-to-ico": "^2.1.8", "rcedit": "^4.0.1", "three": "^0.165.0" }, "bin": { "electrobun": "bin/electrobun.cjs" } }, "sha512-FJ7XaTzbCPuH2ABK615WJyrfacoMdYR33tHJ0j/2JIw2srK4lHN9iSjPpvRVL1UveIQB7zRQ2pmVjeI4evwJ+g=="],
"electrobun-hello-world": ["electrobun-hello-world@workspace:packages/desktop"], "electrobun-hello-world": ["electrobun-hello-world@workspace:apps/desktop"],
"electron-to-chromium": ["electron-to-chromium@1.5.286", "", {}, "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A=="], "electron-to-chromium": ["electron-to-chromium@1.5.286", "", {}, "sha512-9tfDXhJ4RKFNerfjdCcZfufu49vg620741MNs26a9+bhLThdB+plgMeou98CAaHu/WATj2iHOOHTp1hWtABj2A=="],

View file

@ -3,7 +3,7 @@
"private": true, "private": true,
"workspaces": [ "workspaces": [
"packages/*", "packages/*",
"packages/core/*" "apps/*"
], ],
"type": "module", "type": "module",
"scripts": { "scripts": {
@ -11,7 +11,7 @@
"lint": "bun scripts/lint-packages.ts", "lint": "bun scripts/lint-packages.ts",
"build:packages": "bun scripts/build-packages.ts", "build:packages": "bun scripts/build-packages.ts",
"install:packages": "bun scripts/install-packages.ts", "install:packages": "bun scripts/install-packages.ts",
"dev": "cd packages/web && bun dev" "dev": "cd apps/web && bun dev"
}, },
"devDependencies": { "devDependencies": {
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",

View file

@ -18,10 +18,10 @@
"@tanstack/react-query": "^5.0.0", "@tanstack/react-query": "^5.0.0",
"@tanstack/react-router": "^1.0.0", "@tanstack/react-router": "^1.0.0",
"@tanstack/react-virtual": "^3.0.0", "@tanstack/react-virtual": "^3.0.0",
"@tensamin/core-crypto": "workspace:*", "@tensamin/crypto": "workspace:*",
"@tensamin/ttp": "workspace:*", "@tensamin/ttp": "workspace:*",
"@tensamin/core-storage": "workspace:*", "@tensamin/storage": "workspace:*",
"@tensamin/core-user": "workspace:*", "@tensamin/user": "workspace:*",
"@tensamin/markdown": "workspace:*", "@tensamin/markdown": "workspace:*",
"@tensamin/shared": "workspace:*", "@tensamin/shared": "workspace:*",
"@tensamin/ui": "workspace:*", "@tensamin/ui": "workspace:*",

View file

@ -1,13 +1,13 @@
import Input from "@tensamin/markdown/input"; import Input from "@tensamin/markdown/input";
import { Card, CardHeader } from "@tensamin/ui/card"; import { Card, CardHeader } from "@tensamin/ui/card";
import { useStorage } from "@tensamin/core-storage/context"; import { useStorage } from "@tensamin/storage/context";
import * as React from "react"; import * as React from "react";
import { Button } from "@tensamin/ui/button"; import { Button } from "@tensamin/ui/button";
import { Plus, Laugh, Clapperboard } from "lucide-react"; import { Plus, Laugh, Clapperboard } from "lucide-react";
import { useChat } from "../context"; import { useChat } from "../context";
import { useSocket } from "@tensamin/ttp/context"; import { useSocket } from "@tensamin/ttp/context";
import { useCrypto } from "@tensamin/core-crypto/context"; import { useCrypto } from "@tensamin/crypto/context";
import { log, toast } from "@tensamin/shared/log"; import { log, toast } from "@tensamin/shared/log";
export default function InputComponent() { export default function InputComponent() {

View file

@ -1,4 +1,4 @@
import { useCrypto } from "@tensamin/core-crypto/context"; import { useCrypto } from "@tensamin/crypto/context";
import * as React from "react"; import * as React from "react";
import { useChat } from "../context"; import { useChat } from "../context";
import type { RawMessage } from "../values"; import type { RawMessage } from "../values";

View file

@ -2,9 +2,9 @@ import * as React from "react";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import { useRouterState } from "@tanstack/react-router"; import { useRouterState } from "@tanstack/react-router";
import type { RawMessage, RawMessages } from "./values"; import type { RawMessage, RawMessages } from "./values";
import { useCrypto } from "@tensamin/core-crypto/context"; import { useCrypto } from "@tensamin/crypto/context";
import { useUser } from "@tensamin/core-user/context"; import { useUser } from "@tensamin/user/context";
import { useStorage } from "@tensamin/core-storage/context"; import { useStorage } from "@tensamin/storage/context";
import { useSocket } from "@tensamin/ttp/context"; import { useSocket } from "@tensamin/ttp/context";
export const context = React.createContext<contextType | undefined>(undefined); export const context = React.createContext<contextType | undefined>(undefined);

View file

@ -1,5 +1,5 @@
{ {
"name": "@tensamin/core-crypto", "name": "@tensamin/crypto",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",

View file

@ -1,5 +1,5 @@
{ {
"name": "@tensamin/core-storage", "name": "@tensamin/storage",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",

View file

@ -16,8 +16,8 @@
}, },
"dependencies": { "dependencies": {
"@tanstack/react-router": "^1.0.0", "@tanstack/react-router": "^1.0.0",
"@tensamin/core-crypto": "workspace:*", "@tensamin/crypto": "workspace:*",
"@tensamin/core-storage": "workspace:*", "@tensamin/storage": "workspace:*",
"@tensamin/shared": "workspace:*", "@tensamin/shared": "workspace:*",
"@tensamin/ui": "workspace:*", "@tensamin/ui": "workspace:*",
"react": "^19.2.0", "react": "^19.2.0",

View file

@ -1,5 +1,5 @@
{ {
"name": "@tensamin/core-user", "name": "@tensamin/user",
"private": true, "private": true,
"version": "0.0.0", "version": "0.0.0",
"type": "module", "type": "module",

View file

@ -3,7 +3,7 @@
"module": "esnext", "module": "esnext",
"baseUrl": ".", "baseUrl": ".",
"paths": { "paths": {
"@app/*": ["packages/*/src", "packages/core/*/src"] "@app/*": ["packages/*/src", "apps/*/src"]
} }
} }
} }