mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:01:08 +02:00
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:
parent
5bd967900f
commit
b76746229e
7 changed files with 0 additions and 128 deletions
|
|
@ -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 |
|
||||
|
|
|
|||
|
|
@ -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`],
|
||||
|
|
|
|||
|
|
@ -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';
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -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`
|
||||
|
|
|
|||
|
|
@ -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:*"
|
||||
}
|
||||
}
|
||||
|
|
@ -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 };
|
||||
},
|
||||
};
|
||||
|
|
@ -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"]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue