chore: remove @manacore/shared-supabase package

Package was unused — no imports found across the entire codebase.
All apps have migrated to direct PostgreSQL (Drizzle ORM) for backends
and mana-core-auth API for mobile/web clients.

Removes package and all documentation references.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-03-23 12:07:14 +01:00
parent 5bd967900f
commit b76746229e
7 changed files with 0 additions and 128 deletions

View file

@ -502,7 +502,6 @@ $: doubled = count * 2;
| `@mana-core/nestjs-integration` | NestJS module with auth guards + credit client |
| `@manacore/shared-auth` | Client-side auth service for web/mobile apps |
| `@manacore/shared-storage` | S3-compatible storage (MinIO) |
| `@manacore/shared-supabase` | Unified Supabase client |
| `@manacore/shared-types` | Common TypeScript types |
| `@manacore/shared-utils` | Utility functions |
| `@manacore/shared-ui` | React Native UI components |

View file

@ -712,7 +712,6 @@ export const characters = pgTable('characters', {
#### Option B: Alles auf Supabase
```typescript
// packages/shared-supabase/src/client.ts
export const createProjectClient = (project: 'maerchenzauber' | 'manadeck' | 'uload') => {
return createClient(
process.env[`${project.toUpperCase()}_SUPABASE_URL`],

View file

@ -454,7 +454,6 @@ Alle Projekte teilen gemeinsame Packages unter `packages/`:
| --------------------------- | ---------------------------------------- |
| `@manacore/shared-types` | Gemeinsame TypeScript Types |
| `@manacore/shared-utils` | Utility-Funktionen (Date, String, Async) |
| `@manacore/shared-supabase` | Einheitlicher Supabase Client |
| `@manacore/shared-config` | Gemeinsame Konfiguration |
### Auth & Security
@ -498,7 +497,6 @@ Alle Projekte teilen gemeinsame Packages unter `packages/`:
```typescript
// In einem beliebigen Projekt
import { User, ApiResponse } from '@manacore/shared-types';
import { createSupabaseClient } from '@manacore/shared-supabase';
import { formatDate, truncate, retry } from '@manacore/shared-utils';
```

View file

@ -13,7 +13,6 @@ This document outlines the plan to unify common code across all web apps in the
- [x] `@manacore/shared-theme-ui` - Theme UI Components (ThemeToggle, ThemeSelector)
- [x] `@manacore/shared-utils` - Unified Utilities (formatting, validation, async, date, keyboard)
- [x] `@manacore/shared-types` - Unified TypeScript Types
- [x] `@manacore/shared-supabase` - Unified Supabase Client Factory
- [x] `@manacore/shared-i18n` - Unified i18n (languages, locale detection, translations)
- [x] `@manacore/shared-config` - Unified Config (env validation)
- [x] `@manacore/shared-branding` - **NEW** Unified App Branding (logos, colors, app config)
@ -232,7 +231,6 @@ packages/shared-i18n/
3. **Phase 3** (Completed)
- [x] `@manacore/shared-utils`
- [x] `@manacore/shared-types`
- [x] `@manacore/shared-supabase`
4. **Phase 4** (Completed)
- [x] `@manacore/shared-i18n`

View file

@ -1,25 +0,0 @@
{
"name": "@manacore/shared-supabase",
"version": "0.1.0",
"private": true,
"description": "Shared Supabase client and utilities for Manacore monorepo",
"main": "./src/index.ts",
"types": "./src/index.ts",
"exports": {
".": "./src/index.ts"
},
"scripts": {
"type-check": "tsc --noEmit",
"clean": "rm -rf dist",
"lint": "eslint ."
},
"dependencies": {
"@supabase/supabase-js": "^2.81.1"
},
"devDependencies": {
"typescript": "^5.9.3"
},
"peerDependencies": {
"@manacore/shared-types": "workspace:*"
}
}

View file

@ -1,80 +0,0 @@
/**
* Shared Supabase utilities for Manacore monorepo
*
* This package provides a unified Supabase client and common database utilities.
*/
import { createClient } from '@supabase/supabase-js';
import type { SupabaseClient } from '@supabase/supabase-js';
import type { SupabaseConfig } from '@manacore/shared-types';
export { SupabaseClient } from '@supabase/supabase-js';
/**
* Create a Supabase client with the given configuration
*/
export function createSupabaseClient(config: SupabaseConfig): SupabaseClient {
return createClient(config.url, config.anonKey, {
auth: {
persistSession: true,
autoRefreshToken: true,
},
});
}
/**
* Create a Supabase admin client with service role key
*/
export function createSupabaseAdminClient(config: SupabaseConfig): SupabaseClient {
if (!config.serviceRoleKey) {
throw new Error('Service role key is required for admin client');
}
return createClient(config.url, config.serviceRoleKey, {
auth: {
persistSession: false,
autoRefreshToken: false,
},
});
}
/**
* Supabase error type
*/
export interface SupabaseError {
message: string;
code?: string;
details?: string;
hint?: string;
}
/**
* Standardized query result type
*/
export interface QueryResult<T> {
data: T | null;
error: SupabaseError | null;
}
/**
* Common database query helpers
*/
export const dbHelpers = {
/**
* Handle Supabase query result and return standardized response
*/
handleQueryResult<T>(result: { data: T | null; error: SupabaseError | null }): QueryResult<T> {
if (result.error) {
return {
data: null,
error: {
message: result.error.message,
code: result.error.code,
details: result.error.details,
hint: result.error.hint,
},
};
}
return { data: result.data, error: null };
},
};

View file

@ -1,17 +0,0 @@
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"lib": ["ES2022", "DOM"],
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"isolatedModules": true,
"verbatimModuleSyntax": true,
"noEmit": true
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}