310 lines
10 KiB
JSON
310 lines
10 KiB
JSON
{
|
|
"name": "suaveplan",
|
|
"version": "0.1.0",
|
|
"devDependencies": {
|
|
"@apollo/server": "^4.11.0",
|
|
"@biomejs/biome": "catalog:tooling",
|
|
"@suaveplan/crypto-utils": "workspace:*",
|
|
"@suaveplan/error": "workspace:*",
|
|
"@types/bun": "catalog:",
|
|
"@types/node": "catalog:",
|
|
"bun-types": "catalog:",
|
|
"ctix": "catalog:tooling",
|
|
"graphql": "^16.9.0",
|
|
"markdownlint-cli2": "catalog:tooling",
|
|
"turbo": "catalog:tooling",
|
|
"typescript": "catalog:",
|
|
"yaml": "catalog:",
|
|
"zod": "catalog:forms"
|
|
},
|
|
"description": "SuavePlan Enterprise-grade Monorepo",
|
|
"engines": {
|
|
"bun": ">=1.3.13"
|
|
},
|
|
"license": "MIT",
|
|
"overrides": {
|
|
"libsodium-wrappers-sumo": "0.7.15",
|
|
"@types/libsodium-wrappers": "0.7.14",
|
|
"@audio/decode-wav": "1.2.0"
|
|
},
|
|
"packageManager": "bun@1.3.13",
|
|
"private": true,
|
|
"scripts": {
|
|
"publish": "bun scripts/publish.ts",
|
|
"lint": "bunx turbo lint lint:test-runner-imports lint:preflight lint:feature-layout lint:error-subclass-constructors lint:carry-forward-deps lint:verified-by lint:stage-smoke lint:primitive-host-integration lint:wasm-subpath-deps",
|
|
"lint:test-runner-imports": "bun scripts/lint/check-test-runner-imports.ts",
|
|
"lint:wasm-subpath-deps": "bun scripts/lint/check-wasm-subpath-deps.ts",
|
|
"lint:preflight": "bun scripts/openspec/check-preflight.ts",
|
|
"lint:feature-layout": "bun scripts/lint/check-feature-layout.ts",
|
|
"lint:error-subclass-constructors": "bun scripts/lint/check-error-subclass-constructors.ts",
|
|
"lint:carry-forward-deps": "bun scripts/lint/check-carry-forward-deps.ts",
|
|
"lint:verified-by": "bun scripts/lint/check-verified-by.ts --mode=author",
|
|
"lint:verified-by:archive": "bun scripts/lint/check-verified-by.ts --mode=archive",
|
|
"lint:stage-smoke": "bun scripts/lint/check-stage-smoke.ts",
|
|
"lint:primitive-host-integration": "bun scripts/lint/check-primitive-host-integration.ts",
|
|
"lint:md": "bunx markdownlint-cli2",
|
|
"lint:md:fix": "bunx markdownlint-cli2 --fix",
|
|
"docs:check": "bunx turbo docs:check",
|
|
"check": "bunx biome check --write --unsafe --max-diagnostics=20000",
|
|
"check:all": "bun run check && bun run lint:md:fix",
|
|
"format": "bunx biome format --write --max-diagnostics=20000",
|
|
"typecheck": "bunx turbo typecheck",
|
|
"test": "bunx turbo test",
|
|
"test:coverage": "bunx turbo test:coverage",
|
|
"build": "bunx turbo build",
|
|
"build:full": "bunx turbo lint typecheck && bun run check:all && bunx turbo test:coverage build",
|
|
"gate": "bunx --bun turbo lint typecheck test",
|
|
"crypto:kat": "bunx turbo crypto:kat --filter=@suaveplan/crypto-hash --filter=@suaveplan/crypto-curve --filter=@suaveplan/crypto-cipher",
|
|
"crypto:fuzz": "bun scripts/crypto-fuzz.ts",
|
|
"crypto:timing": "bun scripts/crypto-timing.ts",
|
|
"barrel": "bun scripts/barrel.ts",
|
|
"ct-lint": "bun scripts/ct-lint.ts",
|
|
"precommit": "bun scripts/ct-lint.ts",
|
|
"check:fixture-resolves": "bun scripts/check-fixture-resolves.ts"
|
|
},
|
|
"type": "module",
|
|
"workspaces": {
|
|
"packages": [
|
|
"packages/*/*/*",
|
|
"docker",
|
|
"apps/*",
|
|
"e2e/*"
|
|
],
|
|
"catalog": {
|
|
"typescript": "5.9.2",
|
|
"tslib": "2.6.2",
|
|
"@types/node": "25.6.0",
|
|
"bun-types": "1.3.13",
|
|
"@types/bun": "1.3.13",
|
|
"hono": "4.7.4",
|
|
"storybook": "8.6.12",
|
|
"yaml": "^2.8.3",
|
|
"standardized-audio-context": "^25.3.77",
|
|
"image-q": "^4.0.0"
|
|
},
|
|
"catalogs": {
|
|
"testing": {
|
|
"vitest": "^4.0.7",
|
|
"@vitest/coverage-istanbul": "^4.0.7",
|
|
"happy-dom": "^20.0.0",
|
|
"fast-check": "^3.23.2",
|
|
"fake-indexeddb": "^6.0.0",
|
|
"mitata": "^1.0.34",
|
|
"@testing-library/react": "^16.3.0",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@testing-library/dom": "^10.4.0",
|
|
"@vitejs/plugin-react": "^5.0.4",
|
|
"@playwright/test": "^1.48.2",
|
|
"cloakbrowser": "^0.3.28",
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"@types/react": "19.2.0",
|
|
"@types/react-dom": "19.2.0"
|
|
},
|
|
"build": {
|
|
"vite": "^6.0.0",
|
|
"vite-plugin-dts": "~4.5.0",
|
|
"tslib": "2.6.2",
|
|
"@tailwindcss/vite": "4.1.5",
|
|
"tailwindcss": "4.1.5",
|
|
"@vitejs/plugin-react": "^5.0.4"
|
|
},
|
|
"tooling": {
|
|
"@biomejs/biome": "^2.4.12",
|
|
"ctix": "^2.7.6-beta1",
|
|
"markdownlint-cli2": "^0.18.1",
|
|
"turbo": "^2.5.8"
|
|
},
|
|
"markdown": {
|
|
"glob": "^11.0.3",
|
|
"gray-matter": "^4.0.3",
|
|
"remark": "^15.0.1",
|
|
"remark-parse": "^11.0.0",
|
|
"remark-stringify": "^11.0.0",
|
|
"remark-gfm": "^4.0.0",
|
|
"unified": "^11.0.5",
|
|
"unist-util-visit": "^5.0.0",
|
|
"@types/glob": "^8.1.0",
|
|
"@types/mdast": "^4.0.4",
|
|
"@types/unist": "^3.0.3"
|
|
},
|
|
"forms": {
|
|
"zod": "^4.1.5",
|
|
"react-hook-form": "^7.54.2",
|
|
"@hookform/resolvers": "^5.1.1",
|
|
"libphonenumber-js": "^1.11.20",
|
|
"@zxcvbn-ts/core": "^3.0.4"
|
|
},
|
|
"observability": {
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/sdk-metrics": "^1.30.0",
|
|
"@opentelemetry/sdk-trace-base": "^1.30.0"
|
|
},
|
|
"auth": {
|
|
"better-auth": "^1.4.0"
|
|
},
|
|
"server": {
|
|
"@hono/zod-openapi": "^1.0.2",
|
|
"@hono/swagger-ui": "^0.5.2"
|
|
},
|
|
"cli": {
|
|
"@inquirer/prompts": "^7.8.6",
|
|
"commander": "^14.0.1",
|
|
"iconz": "^2.0.1"
|
|
},
|
|
"fonts": {
|
|
"@types/opentype.js": "1.3.9",
|
|
"opentype.js": "1.3.4"
|
|
},
|
|
"crypto": {
|
|
"@noble/ciphers": "^1.3.0",
|
|
"@noble/curves": "^1.9.0",
|
|
"@noble/hashes": "^1.8.0",
|
|
"@scure/bip39": "^1.5.4",
|
|
"libsodium-wrappers-sumo": "^0.7.15",
|
|
"@types/libsodium-wrappers": "^0.7.14"
|
|
},
|
|
"serialization": {
|
|
"@msgpack/msgpack": "^3.0.0",
|
|
"serialize-javascript": "^6.0.0"
|
|
},
|
|
"parsing": {
|
|
"fast-xml-parser": "^5.2.5",
|
|
"fflate": "^0.8.2",
|
|
"papaparse": "^5.5.3",
|
|
"@types/papaparse": "^5.3.15",
|
|
"tldts": "^6.1.64",
|
|
"postal-mime": "^2.7.4",
|
|
"libmime": "^5.3.8",
|
|
"htmlparser2": "^10.0.0",
|
|
"domhandler": "^5.0.3",
|
|
"domutils": "^3.2.2"
|
|
},
|
|
"database": {
|
|
"drizzle-orm": "0.45.2",
|
|
"@sqlite.org/sqlite-wasm": "3.53.0-build1",
|
|
"surrealdb": "^2.0.3",
|
|
"postgres": "^3.4.5"
|
|
},
|
|
"security": {
|
|
"jose": "^5.10.0"
|
|
},
|
|
"storage": {
|
|
"@aws-sdk/client-s3": "^3.800.0",
|
|
"@aws-sdk/s3-request-presigner": "^3.800.0"
|
|
},
|
|
"containers": {
|
|
"testcontainers": "^11.14.0"
|
|
},
|
|
"network-discovery": {
|
|
"peerjs": "^1.5.5",
|
|
"yjs": "^13.6.20",
|
|
"y-webrtc": "^10.3.0",
|
|
"@automerge/automerge-repo": "^1.2.1",
|
|
"@automerge/automerge-repo-network-broadcastchannel": "^1.2.1",
|
|
"@automerge/automerge-repo-network-websocket": "^1.2.1",
|
|
"@automerge/automerge-repo-storage-indexeddb": "^1.2.1",
|
|
"trystero": "^0.21.5",
|
|
"p2pt": "^1.4.3",
|
|
"gun": "^0.2020.1240"
|
|
},
|
|
"network-transport": {
|
|
"hyperswarm": "^4.7.11",
|
|
"libp2p": "^2.10.0",
|
|
"@libp2p/tcp": "^11.0.6",
|
|
"@libp2p/websockets": "^10.0.6",
|
|
"@libp2p/webrtc": "^6.0.6",
|
|
"@libp2p/bootstrap": "^11.0.29",
|
|
"@libp2p/circuit-relay-v2": "^4.0.5",
|
|
"@libp2p/echo": "^3.0.6",
|
|
"@libp2p/identify": "^3.0.29",
|
|
"@libp2p/interface": "^2.0.1",
|
|
"@libp2p/ping": "^2.0.29",
|
|
"@chainsafe/libp2p-noise": "^17.0.0",
|
|
"@chainsafe/libp2p-yamux": "^8.0.0",
|
|
"@multiformats/multiaddr": "^12.4.4"
|
|
},
|
|
"react": {
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"react-router-dom": "7.5.2",
|
|
"@types/react": "19.2.0",
|
|
"@types/react-dom": "19.2.0"
|
|
},
|
|
"state": {
|
|
"zustand": "^5.0.13"
|
|
},
|
|
"react-three": {
|
|
"three": "^0.170.0",
|
|
"@types/three": "^0.170.0",
|
|
"@react-three/fiber": "^9.0.0",
|
|
"@react-three/drei": "^10.0.0"
|
|
},
|
|
"storybook": {
|
|
"@storybook/react": "8.6.12",
|
|
"@storybook/react-vite": "8.6.12",
|
|
"@storybook/addon-essentials": "8.6.12",
|
|
"@storybook/addon-interactions": "8.6.12",
|
|
"@storybook/test": "8.6.12"
|
|
},
|
|
"ui": {
|
|
"@radix-ui/react-slot": "^1.1.2",
|
|
"@radix-ui/react-direction": "^1.1.0",
|
|
"@radix-ui/react-label": "^2.1.2",
|
|
"@radix-ui/react-separator": "^1.1.2",
|
|
"@radix-ui/react-checkbox": "^1.1.4",
|
|
"@radix-ui/react-radio-group": "^1.2.3",
|
|
"@radix-ui/react-select": "^2.1.6",
|
|
"@radix-ui/react-slider": "^1.2.3",
|
|
"@radix-ui/react-switch": "^1.1.3",
|
|
"@radix-ui/react-toggle": "^1.1.2",
|
|
"@radix-ui/react-toggle-group": "^1.1.2",
|
|
"@radix-ui/react-dialog": "^1.1.4",
|
|
"@radix-ui/react-alert-dialog": "^1.1.4",
|
|
"@radix-ui/react-popover": "^1.1.4",
|
|
"@radix-ui/react-hover-card": "^1.1.4",
|
|
"@radix-ui/react-tooltip": "^1.1.4",
|
|
"@radix-ui/react-context-menu": "^2.2.4",
|
|
"@radix-ui/react-avatar": "^1.1.4",
|
|
"@radix-ui/react-progress": "^1.1.4",
|
|
"@radix-ui/react-accordion": "^1.2.12",
|
|
"@radix-ui/react-aspect-ratio": "^1.1.8",
|
|
"@radix-ui/react-collapsible": "^1.1.12",
|
|
"@radix-ui/react-dropdown-menu": "^2.1.4",
|
|
"@radix-ui/react-menubar": "^1.1.4",
|
|
"@radix-ui/react-scroll-area": "^1.2.10",
|
|
"@radix-ui/react-tabs": "^1.1.3",
|
|
"react-resizable-panels": "^4.11.0",
|
|
"@tanstack/react-table": "^8.21.0",
|
|
"cmdk": "^1.0.4",
|
|
"input-otp": "^1.4.1",
|
|
"react-day-picker": "^9.4.2",
|
|
"recharts": "^2.15.0",
|
|
"vaul": "^1.1.2",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"tailwind-merge": "^2.6.0",
|
|
"lucide-react": "^0.468.0",
|
|
"sonner": "^1.7.4",
|
|
"semver": "^7.6.3",
|
|
"@types/semver": "^7.5.8"
|
|
},
|
|
"wasm": {
|
|
"javy": "v8.1.1"
|
|
},
|
|
"audio": {
|
|
"fluent-ffmpeg": "^2.1.3",
|
|
"@ffmpeg-installer/ffmpeg": "^1.1.0",
|
|
"@ffprobe-installer/ffprobe": "^2.1.2",
|
|
"@types/fluent-ffmpeg": "^2.1.27",
|
|
"@ffmpeg/ffmpeg": "^0.12.15",
|
|
"@ffmpeg/core": "^0.12.10",
|
|
"@ffmpeg/util": "^0.12.2",
|
|
"spessasynth_lib": "4.3.3",
|
|
"spessasynth_core": "4.3.4"
|
|
}
|
|
}
|
|
}
|
|
}
|