Node.js SDK

Installation

npm install vexil

Quick Start

import { Client } from 'vexil';

// From environment variables
const client = new Client({ provider: 'env' });

const darkMode = await client.bool('dark-mode', false);
const rateLimit = await client.int('api-rate-limit', 100);
const banner = await client.string('banner-text', 'Welcome');

console.log({ darkMode, rateLimit, banner });

Providers

Environment Variables

const client = new Client({ provider: 'env' });

Sidecar

const client = new Client({
  provider: 'sidecar',
  address: 'http://localhost:8514',
});

ConfigMap

const client = new Client({
  provider: 'configmap',
  path: '/etc/vexil',
});

API

All methods are async.

Method Signature Description
bool bool(name, defaultVal?) -> Promise<boolean> Get boolean flag
string string(name, defaultVal?) -> Promise<string> Get string flag
int int(name, defaultVal?) -> Promise<number> Get integer flag
json json<T>(name) -> Promise<T \| null> Parse JSON flag
getFlag getFlag(name) -> Promise<Flag \| null> Get raw flag
allFlags allFlags() -> Promise<Flag[]> List all flags

Flag Interface

interface Flag {
  name: string;
  type: string;    // "boolean", "string", "integer", "json"
  value: string;
  disabled: boolean;
}

Back to top

Vexil Platform © 2026. Apache-2.0 License.