@cdx-extensions/di-sdk-mobile
v2.0.2
Published
Development harness for building React Native extensions locally - Part of Candescent Developer Experience (CDX)
Readme
CDX Extensibility SDK - Mobile Harness
Part of the Candescent Developer Experience (CDX)
Published as @cdx-extensions/di-sdk-mobile. Mock implementation of the CDX Extensibility SDK for local development of React Native extensions.
Overview
The Mobile Harness provides a realistic development environment for building platform extensions without the full production platform. It includes:
- Mock user context data
- Simulated network delays
- Configurable API endpoints
- Branding/theming support
- Secure HTTP client with error simulation
This library is independent. Dependencies are resolved from JFrog when you run npm install in this folder. Build and publish from this directory.
Installation
npm install @cdx-extensions/di-sdk-mobileUsage
import React, { useEffect, useState } from 'react';
import { View, Text } from 'react-native';
import {
getUserContext,
getConfig,
getBranding,
httpClient,
} from '@cdx-extensions/di-sdk-mobile';
import type { BrandingConfig, ExtensibilityConfig, UserContext } from '@cdx-extensions/di-sdk-types';
export const MyExtension = () => {
const [user, setUser] = useState<UserContext | null>(null);
const [config, setConfig] = useState<ExtensibilityConfig | null>(null);
useEffect(() => {
const initialize = async () => {
const userContext = await getUserContext();
const platformConfig = getConfig();
const branding = getBranding();
setUser(userContext);
setConfig(platformConfig);
};
initialize();
}, []);
return (
<View>
<Text>Welcome, {user?.fullName}!</Text>
<Text>Environment: {config?.environment}</Text>
</View>
);
};Development
From the repository root:
cd libs/public/extensibility-sdk-mobile-harness
npm install
npm run buildPublishing under development: To publish this lib while it is under development without affecting the main version, run from this directory: npm publish --tag development.
Production versions are updated when changes are merged to main (CI runs the publish workflow).
API Reference
getUserContext(): Promise<UserContext>— Returns mock user context.getConfig(): ExtensibilityConfig— Returns platform configuration.getBranding(): BrandingConfig— Returns branding/theming configuration.httpClient— Secure HTTP client; use instead offetch(). Methods:get,post,put,patch,delete.
React Native
- Minimum React Native version: 0.71.0
- TypeScript: Full type definitions included
- Platforms: iOS and Android
Documentation
License
ISC
CDX = Candescent Developer Experience
