From 1f3208384b2782c58a5531c0aa07d9410bef8552 Mon Sep 17 00:00:00 2001 From: Till JS Date: Sat, 28 Mar 2026 17:40:47 +0100 Subject: [PATCH] refactor(packages): consolidate 2 subscription packages into @manacore/subscriptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Merged shared-subscription-types + shared-subscription-ui into @manacore/subscriptions. Updated imports in 15 web apps. Package count: 49 → 47 Co-Authored-By: Claude Opus 4.6 (1M context) --- apps/calendar/apps/web/package.json | 2 +- apps/chat/apps/web/package.json | 2 +- apps/clock/apps/web/package.json | 2 +- apps/contacts/apps/web/package.json | 2 +- apps/context/apps/web/package.json | 2 +- apps/inventar/apps/web/package.json | 2 +- apps/manacore/apps/web/package.json | 3 +- apps/manadeck/apps/web/package.json | 3 +- apps/nutriphi/apps/web/package.json | 2 +- apps/photos/apps/web/package.json | 2 +- apps/picture/apps/web/package.json | 3 +- apps/presi/apps/web/package.json | 2 +- apps/storage/apps/web/package.json | 2 +- apps/todo/apps/web/package.json | 2 +- apps/zitare/apps/web/package.json | 2 +- .../shared-subscription-types/package.json | 21 ------- .../shared-subscription-types/src/index.ts | 39 ------------ .../shared-subscription-types/tsconfig.json | 17 ------ packages/shared-subscription-ui/package.json | 59 ------------------- packages/shared-subscription-ui/src/index.ts | 32 ---------- packages/shared-subscription-ui/tsconfig.json | 19 ------ packages/subscriptions/package.json | 29 +++++++++ .../src/BillingToggle.svelte | 2 +- .../src/CostCard.svelte | 2 +- .../src/ManaIcon.svelte | 0 .../src/PackageCard.svelte | 2 +- .../src/SubscriptionButton.svelte | 0 .../src/SubscriptionCard.svelte | 2 +- .../src/UsageCard.svelte | 2 +- .../src/data/appCosts.json | 0 .../src/data/defaultUsageData.json | 0 .../src/data/subscriptionData.json | 0 packages/subscriptions/src/index.ts | 51 ++++++++++++++++ .../src/pages/SubscriptionPage.svelte | 2 +- .../src/plans.ts | 0 .../src/revenueCat.ts | 0 .../src/usage.ts | 0 packages/subscriptions/tsconfig.json | 14 +++++ 38 files changed, 115 insertions(+), 211 deletions(-) delete mode 100644 packages/shared-subscription-types/package.json delete mode 100644 packages/shared-subscription-types/src/index.ts delete mode 100644 packages/shared-subscription-types/tsconfig.json delete mode 100644 packages/shared-subscription-ui/package.json delete mode 100644 packages/shared-subscription-ui/src/index.ts delete mode 100644 packages/shared-subscription-ui/tsconfig.json create mode 100644 packages/subscriptions/package.json rename packages/{shared-subscription-ui => subscriptions}/src/BillingToggle.svelte (97%) rename packages/{shared-subscription-ui => subscriptions}/src/CostCard.svelte (97%) rename packages/{shared-subscription-ui => subscriptions}/src/ManaIcon.svelte (100%) rename packages/{shared-subscription-ui => subscriptions}/src/PackageCard.svelte (98%) rename packages/{shared-subscription-ui => subscriptions}/src/SubscriptionButton.svelte (100%) rename packages/{shared-subscription-ui => subscriptions}/src/SubscriptionCard.svelte (98%) rename packages/{shared-subscription-ui => subscriptions}/src/UsageCard.svelte (98%) rename packages/{shared-subscription-ui => subscriptions}/src/data/appCosts.json (100%) rename packages/{shared-subscription-ui => subscriptions}/src/data/defaultUsageData.json (100%) rename packages/{shared-subscription-ui => subscriptions}/src/data/subscriptionData.json (100%) create mode 100644 packages/subscriptions/src/index.ts rename packages/{shared-subscription-ui => subscriptions}/src/pages/SubscriptionPage.svelte (99%) rename packages/{shared-subscription-types => subscriptions}/src/plans.ts (100%) rename packages/{shared-subscription-types => subscriptions}/src/revenueCat.ts (100%) rename packages/{shared-subscription-types => subscriptions}/src/usage.ts (100%) create mode 100644 packages/subscriptions/tsconfig.json diff --git a/apps/calendar/apps/web/package.json b/apps/calendar/apps/web/package.json index e1c55883b..4ba15ba11 100644 --- a/apps/calendar/apps/web/package.json +++ b/apps/calendar/apps/web/package.json @@ -57,7 +57,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-splitscreen": "workspace:*", "@manacore/shared-stores": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tags": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", diff --git a/apps/chat/apps/web/package.json b/apps/chat/apps/web/package.json index a28679af7..e7bd29b53 100644 --- a/apps/chat/apps/web/package.json +++ b/apps/chat/apps/web/package.json @@ -47,7 +47,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/clock/apps/web/package.json b/apps/clock/apps/web/package.json index 5db4da857..c4969bd2f 100644 --- a/apps/clock/apps/web/package.json +++ b/apps/clock/apps/web/package.json @@ -50,7 +50,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/contacts/apps/web/package.json b/apps/contacts/apps/web/package.json index e94b96fcd..716d29cf2 100644 --- a/apps/contacts/apps/web/package.json +++ b/apps/contacts/apps/web/package.json @@ -49,7 +49,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-splitscreen": "workspace:*", "@manacore/shared-stores": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tags": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", diff --git a/apps/context/apps/web/package.json b/apps/context/apps/web/package.json index 663c3dbdf..d90aa75ac 100644 --- a/apps/context/apps/web/package.json +++ b/apps/context/apps/web/package.json @@ -46,7 +46,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/inventar/apps/web/package.json b/apps/inventar/apps/web/package.json index 7093ece4d..aed1268c6 100644 --- a/apps/inventar/apps/web/package.json +++ b/apps/inventar/apps/web/package.json @@ -38,7 +38,7 @@ "@manacore/shared-landing-ui": "workspace:*", "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-types": "workspace:*", "@manacore/shared-ui": "workspace:*", diff --git a/apps/manacore/apps/web/package.json b/apps/manacore/apps/web/package.json index be8c1bf5d..2c4fecea6 100644 --- a/apps/manacore/apps/web/package.json +++ b/apps/manacore/apps/web/package.json @@ -56,8 +56,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-types": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/manadeck/apps/web/package.json b/apps/manadeck/apps/web/package.json index a913cb579..5325a26b3 100644 --- a/apps/manadeck/apps/web/package.json +++ b/apps/manadeck/apps/web/package.json @@ -44,8 +44,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-types": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/nutriphi/apps/web/package.json b/apps/nutriphi/apps/web/package.json index bd21fa35a..3d39176de 100644 --- a/apps/nutriphi/apps/web/package.json +++ b/apps/nutriphi/apps/web/package.json @@ -50,7 +50,7 @@ "@manacore/shared-icons": "workspace:*", "@manacore/local-store": "workspace:*", "@manacore/shared-profile-ui": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/photos/apps/web/package.json b/apps/photos/apps/web/package.json index e54e13cc3..4eeb78849 100644 --- a/apps/photos/apps/web/package.json +++ b/apps/photos/apps/web/package.json @@ -43,7 +43,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-splitscreen": "workspace:*", "@manacore/shared-stores": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tags": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", diff --git a/apps/picture/apps/web/package.json b/apps/picture/apps/web/package.json index 208489d93..b37947795 100644 --- a/apps/picture/apps/web/package.json +++ b/apps/picture/apps/web/package.json @@ -30,8 +30,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-types": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/presi/apps/web/package.json b/apps/presi/apps/web/package.json index 11e1ba52e..c4bfaf068 100644 --- a/apps/presi/apps/web/package.json +++ b/apps/presi/apps/web/package.json @@ -44,7 +44,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/apps/storage/apps/web/package.json b/apps/storage/apps/web/package.json index bfcf3fa1a..2e10ac57b 100644 --- a/apps/storage/apps/web/package.json +++ b/apps/storage/apps/web/package.json @@ -50,7 +50,7 @@ "@manacore/local-store": "workspace:*", "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tags": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", diff --git a/apps/todo/apps/web/package.json b/apps/todo/apps/web/package.json index f91515a8b..64ff8133e 100644 --- a/apps/todo/apps/web/package.json +++ b/apps/todo/apps/web/package.json @@ -53,7 +53,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-splitscreen": "workspace:*", "@manacore/shared-stores": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tags": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", diff --git a/apps/zitare/apps/web/package.json b/apps/zitare/apps/web/package.json index 25625f289..8243e1967 100644 --- a/apps/zitare/apps/web/package.json +++ b/apps/zitare/apps/web/package.json @@ -45,7 +45,7 @@ "@manacore/shared-profile-ui": "workspace:*", "@manacore/shared-stores": "workspace:*", "@manacore/shared-tags": "workspace:*", - "@manacore/shared-subscription-ui": "workspace:*", + "@manacore/subscriptions": "workspace:*", "@manacore/shared-tailwind": "workspace:*", "@manacore/shared-theme": "workspace:*", "@manacore/shared-theme-ui": "workspace:*", diff --git a/packages/shared-subscription-types/package.json b/packages/shared-subscription-types/package.json deleted file mode 100644 index 875d7bf23..000000000 --- a/packages/shared-subscription-types/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "@manacore/shared-subscription-types", - "version": "1.0.0", - "private": true, - "type": "module", - "main": "./src/index.ts", - "types": "./src/index.ts", - "exports": { - ".": "./src/index.ts", - "./plans": "./src/plans.ts", - "./usage": "./src/usage.ts", - "./revenueCat": "./src/revenueCat.ts" - }, - "scripts": { - "type-check": "tsc --noEmit", - "lint": "eslint ." - }, - "devDependencies": { - "typescript": "^5.7.3" - } -} diff --git a/packages/shared-subscription-types/src/index.ts b/packages/shared-subscription-types/src/index.ts deleted file mode 100644 index eb09dbd9d..000000000 --- a/packages/shared-subscription-types/src/index.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** - * Shared subscription types for Manacore monorepo - * - * This package contains TypeScript types for subscription plans, - * mana packages, usage tracking, and RevenueCat integration. - */ - -// Plan types -export { - type BillingCycle, - type PlanCategory, - type SubscriptionPlan, - type ManaPackage, - type ProductMapping, - type PackageMapping, - type FreeTierConfig, - DEFAULT_FREE_TIER, -} from './plans'; - -// Usage types -export { - type UsageData, - type UsageHistoryEntry, - type CostItem, - type ManaBalance, - type CreditTransaction, - type OperationPricing, -} from './usage'; - -// RevenueCat types -export { - type RevenueCatSubscriptionPlan, - type RevenueCatManaPackage, - type SubscriptionServiceData, - type PurchaseResult, - type CustomerSubscriptionStatus, - type RestorePurchasesResult, - type RevenueCatOffering, -} from './revenueCat'; diff --git a/packages/shared-subscription-types/tsconfig.json b/packages/shared-subscription-types/tsconfig.json deleted file mode 100644 index c828b6630..000000000 --- a/packages/shared-subscription-types/tsconfig.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ESNext", - "moduleResolution": "bundler", - "lib": ["ES2022"], - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "isolatedModules": true, - "verbatimModuleSyntax": true, - "noEmit": true - }, - "include": ["src/**/*"], - "exclude": ["node_modules"] -} diff --git a/packages/shared-subscription-ui/package.json b/packages/shared-subscription-ui/package.json deleted file mode 100644 index da3d6ae6f..000000000 --- a/packages/shared-subscription-ui/package.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "name": "@manacore/shared-subscription-ui", - "version": "1.0.0", - "private": true, - "type": "module", - "svelte": "./src/index.ts", - "main": "./src/index.ts", - "types": "./src/index.ts", - "exports": { - ".": { - "svelte": "./src/index.ts", - "types": "./src/index.ts", - "default": "./src/index.ts" - }, - "./SubscriptionCard.svelte": { - "svelte": "./src/SubscriptionCard.svelte", - "default": "./src/SubscriptionCard.svelte" - }, - "./PackageCard.svelte": { - "svelte": "./src/PackageCard.svelte", - "default": "./src/PackageCard.svelte" - }, - "./BillingToggle.svelte": { - "svelte": "./src/BillingToggle.svelte", - "default": "./src/BillingToggle.svelte" - }, - "./UsageCard.svelte": { - "svelte": "./src/UsageCard.svelte", - "default": "./src/UsageCard.svelte" - }, - "./CostCard.svelte": { - "svelte": "./src/CostCard.svelte", - "default": "./src/CostCard.svelte" - }, - "./SubscriptionButton.svelte": { - "svelte": "./src/SubscriptionButton.svelte", - "default": "./src/SubscriptionButton.svelte" - }, - "./ManaIcon.svelte": { - "svelte": "./src/ManaIcon.svelte", - "default": "./src/ManaIcon.svelte" - } - }, - "scripts": { - "check": "svelte-check --tsconfig ./tsconfig.json", - "lint": "eslint ." - }, - "dependencies": { - "@manacore/shared-subscription-types": "workspace:*" - }, - "devDependencies": { - "svelte": "^5.0.0", - "svelte-check": "^4.0.0", - "typescript": "^5.7.3" - }, - "peerDependencies": { - "svelte": "^5.0.0" - } -} diff --git a/packages/shared-subscription-ui/src/index.ts b/packages/shared-subscription-ui/src/index.ts deleted file mode 100644 index 5dd2fbc7f..000000000 --- a/packages/shared-subscription-ui/src/index.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * Shared subscription UI components for Manacore monorepo - * - * This package contains Svelte 5 components for displaying - * subscription plans, mana packages, and usage information. - */ - -// Pages -export { default as SubscriptionPage } from './pages/SubscriptionPage.svelte'; - -// Components -export { default as SubscriptionCard } from './SubscriptionCard.svelte'; -export { default as PackageCard } from './PackageCard.svelte'; -export { default as BillingToggle } from './BillingToggle.svelte'; -export { default as UsageCard } from './UsageCard.svelte'; -export { default as CostCard } from './CostCard.svelte'; -export { default as SubscriptionButton } from './SubscriptionButton.svelte'; -export { default as ManaIcon } from './ManaIcon.svelte'; - -// Default data exports -export { default as defaultSubscriptionData } from './data/subscriptionData.json'; -export { default as defaultAppCosts } from './data/appCosts.json'; -export { default as defaultUsageData } from './data/defaultUsageData.json'; - -// Re-export types for convenience -export type { - SubscriptionPlan, - ManaPackage, - BillingCycle, - UsageData, - CostItem, -} from '@manacore/shared-subscription-types'; diff --git a/packages/shared-subscription-ui/tsconfig.json b/packages/shared-subscription-ui/tsconfig.json deleted file mode 100644 index c05c7cc81..000000000 --- a/packages/shared-subscription-ui/tsconfig.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2022", - "module": "ESNext", - "moduleResolution": "bundler", - "lib": ["ES2022", "DOM", "DOM.Iterable"], - "strict": true, - "esModuleInterop": true, - "skipLibCheck": true, - "forceConsistentCasingInFileNames": true, - "resolveJsonModule": true, - "isolatedModules": true, - "verbatimModuleSyntax": true, - "noEmit": true, - "types": ["svelte"] - }, - "include": ["src/**/*"], - "exclude": ["node_modules"] -} diff --git a/packages/subscriptions/package.json b/packages/subscriptions/package.json new file mode 100644 index 000000000..d712eb5dd --- /dev/null +++ b/packages/subscriptions/package.json @@ -0,0 +1,29 @@ +{ + "name": "@manacore/subscriptions", + "version": "1.0.0", + "private": true, + "description": "Unified subscription package — types and UI components", + "type": "module", + "svelte": "./src/index.ts", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "svelte": "./src/index.ts", + "types": "./src/index.ts", + "default": "./src/index.ts" + } + }, + "scripts": { + "type-check": "svelte-check --tsconfig ./tsconfig.json" + }, + "devDependencies": { + "svelte": "^5.0.0", + "svelte-check": "^4.0.0", + "svelte-i18n": "^4.0.0", + "typescript": "^5.9.3" + }, + "peerDependencies": { + "svelte": "^5.0.0" + } +} diff --git a/packages/shared-subscription-ui/src/BillingToggle.svelte b/packages/subscriptions/src/BillingToggle.svelte similarity index 97% rename from packages/shared-subscription-ui/src/BillingToggle.svelte rename to packages/subscriptions/src/BillingToggle.svelte index 7c716bc0b..ca46955fb 100644 --- a/packages/shared-subscription-ui/src/BillingToggle.svelte +++ b/packages/subscriptions/src/BillingToggle.svelte @@ -1,5 +1,5 @@