From cde7a730d40fb3bded4064433223a6b825d31196 Mon Sep 17 00:00:00 2001 From: Yasodha Dollu Date: Tue, 7 Apr 2026 15:13:12 +0530 Subject: [PATCH] feat: update supa prefix to supaship --- README.md | 4 +- packages/javascript/README.md | 52 +++++++------- .../javascript/src/__tests__/client.test.ts | 44 ++++++------ packages/javascript/src/client.ts | 18 ++--- packages/javascript/src/index.ts | 14 ++-- .../src/plugins/analytics-plugin.ts | 6 +- .../javascript/src/plugins/caching-plugin.ts | 6 +- .../javascript/src/plugins/logging-plugin.ts | 6 +- .../src/plugins/observability-plugin.ts | 6 +- .../javascript/src/plugins/toolbar-plugin.ts | 28 ++++---- packages/javascript/src/plugins/types.ts | 4 +- packages/javascript/src/types.ts | 14 ++-- packages/react-core/README.md | 2 +- .../react-core/src/create-supaship-react.tsx | 46 ++++++------ packages/react-core/src/feature-hooks.ts | 9 ++- packages/react-core/src/index.ts | 2 +- packages/react-native/README.md | 14 ++-- .../src/__tests__/SupashipProvider.test.tsx | 30 ++++---- .../react-native/src/__tests__/query.test.tsx | 2 +- .../src/__tests__/useFeature.test.tsx | 20 +++--- packages/react-native/src/components.tsx | 8 +-- packages/react-native/src/index.ts | 2 +- packages/react-native/src/supaship.ts | 2 +- packages/react-native/src/types.ts | 8 +-- packages/react/README.md | 72 +++++++++---------- .../src/__tests__/SupashipProvider.test.tsx | 32 +++++---- packages/react/src/__tests__/query.test.tsx | 4 +- .../react/src/__tests__/useFeature.test.tsx | 22 +++--- packages/react/src/components.tsx | 10 +-- packages/react/src/index.ts | 2 +- packages/react/src/supaship.ts | 2 +- packages/react/src/types.ts | 8 +-- packages/vue/README.md | 10 +-- packages/vue/src/__tests__/useFeature.test.ts | 12 ++-- packages/vue/src/plugin.ts | 30 ++++---- packages/vue/src/types.ts | 6 +- 36 files changed, 284 insertions(+), 273 deletions(-) diff --git a/README.md b/README.md index d271d16..1522689 100644 --- a/README.md +++ b/README.md @@ -16,9 +16,9 @@ More packages will be added in the future to support additional platforms and fr ### JavaScript SDK ```javascript -import { SupaClient } from '@supashiphq/javascript-sdk' +import { SupashipClient } from '@supashiphq/javascript-sdk' -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'sdk-key', environment: 'production', context: { diff --git a/packages/javascript/README.md b/packages/javascript/README.md index 1631b53..c8656f0 100644 --- a/packages/javascript/README.md +++ b/packages/javascript/README.md @@ -15,7 +15,7 @@ pnpm add @supashiphq/javascript-sdk ## Quick Start ```typescript -import { SupaClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' +import { SupashipClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' // Define your features with fallback values const features = { @@ -28,7 +28,7 @@ const features = { } satisfies FeaturesWithFallbacks // Create client with features -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'production', features, @@ -95,7 +95,7 @@ const features: FeaturesWithFallbacks = { }, } -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'production', features, @@ -111,12 +111,12 @@ const value = await client.getFeature('unknown-feature') ## API Reference -### SupaClient +### SupashipClient #### Constructor ```typescript -new SupaClient(config: SupaClientConfig) +new SupashipClient(config: SupashipClientConfig) ``` **Configuration Options:** @@ -129,7 +129,7 @@ new SupaClient(config: SupaClientConfig) | `context` | `FeatureContext` | Yes | Default context for feature evaluation | | `sensitiveContextProperties` | `string[]` | No | Hash sensitive context properties such as PII on the client before sending to Edge | | `networkConfig` | `NetworkConfig` | No | Network settings (endpoints, retry, timeout, custom fetch) | -| `plugins` | `SupaPlugin[]` | No | Plugins for observability, caching, etc. | +| `plugins` | `SupashipPlugin[]` | No | Plugins for observability, caching, etc. | **Feature Context:** @@ -142,7 +142,7 @@ new SupaClient(config: SupaClientConfig) Use `sensitiveContextProperties` to hash selected context property values on the client before requests are sent to Edge. ```typescript -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'production', features, @@ -199,7 +199,7 @@ const features = { 'theme-config': { primary: '#007bff' }, } satisfies FeaturesWithFallbacks -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'key', environment: 'production', features, @@ -245,7 +245,7 @@ const features = { 'beta-mode': false, } satisfies FeaturesWithFallbacks -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'key', environment: 'prod', features, @@ -348,10 +348,10 @@ export const features = { } satisfies FeaturesWithFallbacks // client.ts -import { SupaClient } from '@supashiphq/javascript-sdk' +import { SupashipClient } from '@supashiphq/javascript-sdk' import { features } from './features' -export const client = new SupaClient({ +export const client = new SupashipClient({ sdkKey: process.env.SUPASHIP_SDK_KEY!, environment: process.env.ENVIRONMENT!, features, @@ -382,7 +382,7 @@ const features: FeaturesWithFallbacks = { }, } -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'key', environment: 'prod', features, @@ -400,7 +400,7 @@ const theme = config.theme // ✅ Type-safe, inferred as 'light' literal ### 3. Use Context for Targeting ```typescript -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'production', features, @@ -447,7 +447,7 @@ Visual toolbar for local development and testing. **✨ Auto-enabled in browser environments!** The toolbar is automatically enabled in browsers with `enabled: 'auto'` (shows only on localhost). No manual configuration needed! ```typescript -import { SupaClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' +import { SupashipClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' const features = { 'new-ui': false, @@ -455,7 +455,7 @@ const features = { } satisfies FeaturesWithFallbacks // ✅ Automatic (recommended) - Toolbar auto-enabled in browser with 'auto' mode -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'development', features, @@ -463,7 +463,7 @@ const client = new SupaClient({ }) // 🎨 Custom configuration -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'development', features, @@ -478,7 +478,7 @@ const client = new SupaClient({ }) // ❌ Opt-out (disable toolbar) -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: 'your-sdk-key', environment: 'production', features, @@ -509,7 +509,7 @@ For React applications, use our dedicated React SDK which provides hooks and com ```typescript import express from 'express' -import { SupaClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' +import { SupashipClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' const features = { 'new-api': false, @@ -517,7 +517,7 @@ const features = { 'rate-limit': { maxRequests: 100, windowMs: 60000 }, } satisfies FeaturesWithFallbacks -const featureClient = new SupaClient({ +const featureClient = new SupashipClient({ sdkKey: process.env.SUPASHIP_SDK_KEY!, environment: 'production', features, @@ -552,7 +552,7 @@ app.get('/api/user-features/:userId', async (req, res) => { ```typescript // plugins/feature-flags.ts -import { SupaClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' +import { SupashipClient, FeaturesWithFallbacks } from '@supashiphq/javascript-sdk' const features = { 'new-nav': false, @@ -560,7 +560,7 @@ const features = { 'premium-content': false, } satisfies FeaturesWithFallbacks -const client = new SupaClient({ +const client = new SupashipClient({ sdkKey: import.meta.env.VITE_SUPASHIP_SDK_KEY, environment: 'production', features, @@ -577,9 +577,9 @@ export default { // components/MyComponent.vue