Skip to content

Commit 6e0ce87

Browse files
committed
feat: dashboard, monorepo
1 parent 69604d4 commit 6e0ce87

222 files changed

Lines changed: 10638 additions & 3506 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.cursor/worktrees.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ dist-ssr
1010

1111
# opensrc - source code for packages
1212
opensrc/
13+
14+
.turbo
15+
*.tsbuildinfo

.husky/commit-msg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pnpm commitlint --edit ${1}

biome.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@
1414
"!**/.vscode",
1515
"!**/routeTree.gen.ts",
1616
"!**/client-factory.ts",
17-
"!**/api-schemas.ts"
17+
"!**/api-schemas.ts",
18+
"!**/opensrc"
1819
]
1920
},
2021
"formatter": {

commitlint.config.cjs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
module.exports = {
2+
extends: ["@commitlint/config-conventional"],
3+
};

components.json

Lines changed: 0 additions & 21 deletions
This file was deleted.

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@
1414
</head>
1515
<body>
1616
<div id="app"></div>
17-
<script type="module" src="/src/main.tsx"></script>
17+
<script type="module" src="/src/example/main.tsx"></script>
1818
</body>
1919
</html>

package.json

Lines changed: 23 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,29 @@
11
{
2-
"name": "perps",
3-
"private": true,
4-
"type": "module",
2+
"name": "@yieldxyz/perps",
3+
"keywords": [
4+
"perps",
5+
"yieldxyz"
6+
],
57
"scripts": {
6-
"dev": "vite --port 3000",
7-
"build": "vite build && tsc",
8-
"preview": "vite preview",
9-
"test": "vitest run",
10-
"lint": "biome check . && tsc",
11-
"format": "biome format --write .",
12-
"generate-client-factory": "tsx --env-file .env scripts/generate-client-factory.ts",
13-
"generate-routes": "tsr generate",
14-
"generate-tradingview-symbols": "tsx --env-file .env scripts/generate-tradingview-symbols/index.ts"
15-
},
16-
"dependencies": {
17-
"@base-ui/react": "^1.1.0",
18-
"@effect-atom/atom-react": "^0.4.6",
19-
"@effect/experimental": "^0.58.0",
20-
"@effect/platform": "^0.94.2",
21-
"@effect/platform-node": "^0.104.1",
22-
"@ledgerhq/wallet-api-client": "^1.12.6",
23-
"@lucas-barake/effect-form-react": "^0.14.0",
24-
"@reown/appkit": "^1.8.17",
25-
"@reown/appkit-adapter-wagmi": "^1.8.17",
26-
"@stakekit/common": "^0.0.61",
27-
"@tailwindcss/vite": "^4.0.6",
28-
"@tanstack/react-devtools": "^0.9.2",
29-
"@tanstack/react-query": "^5.90.20",
30-
"@tanstack/react-router": "^1.157.8",
31-
"@tanstack/react-router-devtools": "^1.157.8",
32-
"@tanstack/react-virtual": "^3.13.18",
33-
"@tanstack/router-plugin": "^1.157.8",
34-
"class-variance-authority": "^0.7.1",
35-
"clsx": "^2.1.1",
36-
"effect": "^3.19.15",
37-
"lucide-react": "^0.563.0",
38-
"react": "^19.2.0",
39-
"react-dom": "^19.2.0",
40-
"sonner": "^2.0.7",
41-
"tailwind-merge": "^3.0.2",
42-
"tailwindcss": "^4.0.6",
43-
"tw-animate-css": "^1.3.6",
44-
"viem": "^2.45.0",
45-
"wagmi": "^3.4.1"
8+
"dev": "turbo dev --filter=@yieldxyz/perps-common --filter=@yieldxyz/perps-widget --filter=@yieldxyz/perps-dashboard",
9+
"dev:widget": "turbo dev --filter=@yieldxyz/perps-common --filter=@yieldxyz/perps-widget",
10+
"dev:dashboard": "turbo dev --filter=@yieldxyz/perps-common --filter=@yieldxyz/perps-dashboard",
11+
12+
"build:widget": "turbo build --filter=@yieldxyz/perps-widget",
13+
"build:dashboard": "turbo build --filter=@yieldxyz/perps-dashboard",
14+
15+
"build": "turbo build",
16+
"test": "turbo test",
17+
"lint": "turbo lint",
18+
"format": "turbo format",
19+
"prepare": "husky"
4620
},
4721
"devDependencies": {
48-
"@biomejs/biome": "2.3.12",
49-
"@effect/language-service": "^0.72.0",
50-
"@tanstack/devtools-vite": "^0.4.1",
51-
"@tanstack/router-cli": "^1.157.15",
52-
"@testing-library/dom": "^10.4.0",
53-
"@testing-library/react": "^16.3.2",
54-
"@tim-smart/openapi-gen": "^0.4.13",
55-
"@types/node": "^25.0.10",
56-
"@types/react": "^19.2.9",
57-
"@types/react-dom": "^19.2.0",
58-
"@vite-pwa/assets-generator": "^1.0.2",
59-
"@vitejs/plugin-react": "^5.0.4",
60-
"@vitest/browser-playwright": "^4.0.18",
61-
"babel-plugin-react-compiler": "^1.0.0",
62-
"jsdom": "^27.0.0",
63-
"openapi-filter": "^3.2.3",
64-
"tsx": "^4.21.0",
65-
"typescript": "^5.7.2",
66-
"vite": "^7.3.1",
67-
"vite-plugin-node-polyfills": "^0.25.0",
68-
"vitest": "^4.0.18",
69-
"vitest-browser-react": "^2.0.4"
22+
"turbo": "catalog:",
23+
"@biomejs/biome": "catalog:",
24+
"@effect/language-service": "catalog:",
25+
"@commitlint/cli": "catalog:",
26+
"@commitlint/config-conventional": "catalog:",
27+
"husky": "catalog:"
7028
}
7129
}

packages/common/package.json

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
{
2+
"name": "@yieldxyz/perps-common",
3+
"version": "0.0.1",
4+
"private": true,
5+
"type": "module",
6+
"scripts": {
7+
"dev": "pnpm run watch",
8+
"watch": "tsc -b --watch",
9+
"build": "rm -rf dist && tsc -b && pnpm run copy-assets",
10+
"test": "vitest run",
11+
"copy-assets": "cp -r src/assets dist/src && cp -r src/styles dist/src/styles",
12+
"lint": "biome check . && tsc -b",
13+
"format": "biome format --write .",
14+
"generate-client-factory": "tsx --env-file .env scripts/generate-client-factory.ts",
15+
"generate-tradingview-symbols": "tsx --env-file .env scripts/generate-tradingview-symbols/index.ts"
16+
},
17+
"exports": {
18+
"./vite.config": {
19+
"default": "./dist/src/vite.config.js"
20+
},
21+
"./styles": {
22+
"default": "./dist/src/styles/index.css"
23+
},
24+
"./assets/*": {
25+
"default": "./dist/src/assets/*"
26+
},
27+
"./services": {
28+
"types": "./dist/src/services/index.d.ts",
29+
"default": "./dist/src/services/index.js"
30+
},
31+
"./domain": {
32+
"types": "./dist/src/domain/index.d.ts",
33+
"default": "./dist/src/domain/index.js"
34+
},
35+
"./components": {
36+
"types": "./dist/src/components/index.d.ts",
37+
"default": "./dist/src/components/index.js"
38+
},
39+
"./context": {
40+
"types": "./dist/src/context/index.d.ts",
41+
"default": "./dist/src/context/index.js"
42+
},
43+
"./atoms": {
44+
"types": "./dist/src/atoms/index.d.ts",
45+
"default": "./dist/src/atoms/index.js"
46+
},
47+
"./hooks": {
48+
"types": "./dist/src/hooks/index.d.ts",
49+
"default": "./dist/src/hooks/index.js"
50+
},
51+
"./lib": {
52+
"types": "./dist/src/lib/index.d.ts",
53+
"default": "./dist/src/lib/index.js"
54+
}
55+
},
56+
"dependencies": {
57+
"@base-ui/react": "catalog:",
58+
"@effect-atom/atom-react": "catalog:",
59+
"@effect/experimental": "^0.58.0",
60+
"@effect/platform": "catalog:",
61+
"@effect/platform-node": "catalog:",
62+
"@ledgerhq/wallet-api-client": "catalog:",
63+
"@lucas-barake/effect-form-react": "catalog:",
64+
"@reown/appkit": "catalog:",
65+
"@reown/appkit-adapter-wagmi": "catalog:",
66+
"@stakekit/common": "catalog:",
67+
"@tailwindcss/vite": "catalog:",
68+
"@tanstack/react-devtools": "catalog:",
69+
"@tanstack/react-query": "catalog:",
70+
"@tanstack/react-router": "catalog:",
71+
"@tanstack/react-router-devtools": "catalog:",
72+
"@tanstack/react-virtual": "catalog:",
73+
"class-variance-authority": "catalog:",
74+
"clsx": "catalog:",
75+
"effect": "catalog:",
76+
"lucide-react": "catalog:",
77+
"react": "catalog:",
78+
"react-dom": "catalog:",
79+
"sonner": "catalog:",
80+
"tailwind-merge": "catalog:",
81+
"tailwindcss": "catalog:",
82+
"tw-animate-css": "catalog:",
83+
"viem": "catalog:",
84+
"wagmi": "catalog:"
85+
},
86+
"devDependencies": {
87+
"@tanstack/devtools-vite": "catalog:",
88+
"@tanstack/router-cli": "catalog:",
89+
"@testing-library/dom": "catalog:",
90+
"@testing-library/react": "catalog:",
91+
"@tim-smart/openapi-gen": "catalog:",
92+
"@types/node": "catalog:",
93+
"@types/react": "catalog:",
94+
"@types/react-dom": "catalog:",
95+
"@vite-pwa/assets-generator": "catalog:",
96+
"@vitejs/plugin-react": "catalog:",
97+
"@vitest/browser-playwright": "catalog:",
98+
"babel-plugin-react-compiler": "catalog:",
99+
"jsdom": "catalog:",
100+
"openapi-filter": "catalog:",
101+
"tsx": "catalog:",
102+
"typescript": "catalog:",
103+
"vite": "catalog:",
104+
"vite-plugin-node-polyfills": "catalog:",
105+
"vitest": "catalog:",
106+
"vitest-browser-react": "catalog:"
107+
}
108+
}

scripts/generate-client-factory.ts renamed to packages/common/scripts/generate-client-factory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ const fetchOpenApiSpecs = Effect.gen(function* () {
1414
const client = yield* HttpClient.HttpClient;
1515
const fs = yield* FileSystem.FileSystem;
1616

17-
const perpsDocsUrl = yield* Config.string("VITE_PERPS_DOCS_URL");
17+
const perpsDocsUrl = yield* Config.string("PERPS_DOCS_URL");
1818
const perpsJsonPath = yield* perpsOpenApiJsonPath;
1919

2020
yield* client.get(perpsDocsUrl).pipe(

0 commit comments

Comments
 (0)