Files
Oleg Isonen 8880da1ac4 refactor: rename MemberRelation → WorkspaceRelation, remove permissions prop-drilling, unify shared stores
- Rename userRelation → workspaceRelation across schema, DB, router, and UI
- Rename MemberRelation type → WorkspaceRelation everywhere
- Create canonical UserPlanFeatures/UserPurchase module in trpc-interface
- Make userPlanFeatures non-optional in AppContext
- Separate purchases from UserPlanFeatures
- Compute workspaceRelation in route loaders instead of consumer sites
- Add $workspaceRelation atom, use real relation in $permissions computed
- Remove permissions prop-drilling from all dashboard components
- Leaf components use useStore($permissions) directly
- Create setSharedStores() for unified store initialization
- Combine workspace + membership into single PostgREST query in builder route
- Replace purchases.length checks with canDownloadAssets/canRestoreBackups
- getUserPlanFeatures() → getUserPlanInfo() returning { userPlanFeatures, purchases }
2026-03-14 14:14:14 +00:00

37 lines
920 B
JSON

{
"name": "@webstudio-is/trpc-interface",
"version": "0.0.0",
"description": "Webstudio TRPC Interface",
"author": "Webstudio <github@webstudio.is>",
"homepage": "https://webstudio.is",
"type": "module",
"scripts": {
"typecheck": "tsgo --noEmit",
"test": "vitest run"
},
"dependencies": {
"@webstudio-is/feature-flags": "workspace:*",
"@trpc/client": "^10.45.2",
"@trpc/server": "^10.45.2",
"memoize": "^10.0.0",
"ts-custom-error": "^3.3.1",
"zod": "^3.24.2"
},
"devDependencies": {
"@webstudio-is/postgrest": "workspace:*",
"@webstudio-is/tsconfig": "workspace:*",
"vitest": "^3.1.2"
},
"exports": {
"./index.server": {
"webstudio": "./src/index.server.ts"
},
"./user-plan-features": {
"webstudio": "./src/shared/user-plan-features.ts"
}
},
"license": "AGPL-3.0-or-later",
"private": true,
"sideEffects": false
}