Skip to main content

Getting Started with JavaScript SDK

The DinoConfig JavaScript SDK provides a simple, type-safe way to access your configurations from any JavaScript or TypeScript application.

Prerequisites

  • Node.js 16.0.0 or higher
  • npm, yarn, or pnpm
  • A DinoConfig API key (get one from dinoconfig.com)

Installation

Install the SDK using your preferred package manager:

npm install @dinoconfig/dinoconfig-js-sdk

Quick Start

1. Import and Initialize

import { dinoconfigApi } from '@dinoconfig/dinoconfig-js-sdk';

// Initialize the SDK (async operation)
const dinoconfig = await dinoconfigApi({
apiKey: 'dino_your-api-key-here',
});

2. Fetch Configuration Values

// Get a single value using path notation
const theme = await dinoconfig.configs.getValue('MyBrand.AppSettings.theme');
console.log(theme.data); // "dark"

// Get an entire configuration
const config = await dinoconfig.configs.get('MyBrand.AppSettings');
console.log(config.data.values); // { theme: "dark", maxItems: 100, ... }

3. Explore Available Configurations

// List all brands you have access to
const brands = await dinoconfig.discovery.listBrands();
console.log(brands.data);

// List configurations for a brand
const configs = await dinoconfig.discovery.listConfigs('MyBrand');
console.log(configs.data);

Basic Example

Here's a complete example of using the SDK:

import { dinoconfigApi } from '@dinoconfig/dinoconfig-js-sdk';

async function main() {
// Initialize the SDK
const dinoconfig = await dinoconfigApi({
apiKey: process.env.DINOCONFIG_API_KEY!,
baseUrl: 'https://api.dinoconfig.com',
});

try {
// Get application settings
const settings = await dinoconfig.configs.get('MyApp.Settings');

if (settings.success) {
console.log('App Name:', settings.data.values.appName);
console.log('Max Users:', settings.data.values.maxUsers);
console.log('Features:', settings.data.values.features);
}

// Get a specific feature flag
const darkMode = await dinoconfig.configs.getValue<boolean>(
'MyApp.FeatureFlags.darkModeEnabled'
);

if (darkMode.data) {
console.log('Dark mode is enabled!');
}
} catch (error) {
console.error('Error fetching config:', error);
}
}

main();

Environment Variables

We recommend storing your API key in environment variables:

.env
DINOCONFIG_API_KEY=dino_your-api-key-here
DINOCONFIG_BASE_URL=https://api.dinoconfig.com
const dinoconfig = await dinoconfigApi({
apiKey: process.env.DINOCONFIG_API_KEY!,
baseUrl: process.env.DINOCONFIG_BASE_URL,
});
Security Note

Never commit your API keys to version control. Always use environment variables or a secrets manager in production.

SDK Structure

The SDK provides three main APIs through the initialized instance:

APIDescription
configsRetrieve configuration values
discoveryExplore brands, configs, and schemas
cacheManage local caching
const dinoconfig = await dinoconfigApi({ apiKey: '...' });

// Access the APIs
dinoconfig.configs // → ConfigAPI
dinoconfig.discovery // → DiscoveryAPI
dinoconfig.cache // → CacheAPI

What's Next?