JSPM

@trailhead/config

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 69
  • Score
    100M100P100Q76143F
  • License MIT

Enhanced Zod-powered configuration management for CLI applications

Package Exports

  • @trailhead/config
  • @trailhead/config/core
  • @trailhead/config/docs
  • @trailhead/config/loaders
  • @trailhead/config/testing
  • @trailhead/config/transformers
  • @trailhead/config/validation
  • @trailhead/config/validators

Readme

@trailhead/config

Type-safe configuration management with validation and documentation generation

TypeScript Node License

Type-safe configuration management with Result-based validation, schema definition with builder patterns, and automatic documentation generation.

Installation

pnpm add @trailhead/config

Quick Example

import { defineSchema, createConfigOperations } from '@trailhead/config'
import { z } from 'zod'

// Define schema using Zod
const appConfigSchema = defineSchema(
  z.object({
    app: z.object({
      name: z.string().min(1),
      port: z.number().min(1).max(65535).default(3000),
      debug: z.boolean().default(false),
    }),
  })
)

// Load and validate configuration
const configOps = createConfigOperations()
const manager = configOps.create({
  name: 'app-config',
  sources: [
    { type: 'file', path: './config.json', priority: 1 },
    { type: 'env', priority: 2 },
  ],
})

const state = await manager.load()
if (state.isOk()) {
  console.log('Loaded:', manager.get('app.name'))
}

Key Features

  • Result-based validation - Explicit error handling for config operations
  • Schema definition - Zod integration with field builder patterns
  • Multiple sources - Load from files, environment variables, and CLI arguments
  • Documentation generation - Auto-generate docs from schemas
  • Type-safe - Full TypeScript support with type inference

Documentation

License

MIT © Esteban URL