@storm-software/config-tools
Version:
⚡The Storm-Ops monorepo contains utility applications, tools, and various libraries to create modern and scalable web applications.
24 lines (21 loc) • 1.52 kB
TypeScript
import { StormWorkspaceConfig } from '@storm-software/config';
import { ZodTypeAny } from 'zod';
/**
* Get the config for the current Storm workspace
*
* @returns The config for the current Storm workspace
*/
declare const createStormWorkspaceConfig: <TExtensionName extends keyof StormWorkspaceConfig["extensions"] = keyof StormWorkspaceConfig["extensions"], TExtensionConfig = any, TExtensionSchema extends ZodTypeAny = ZodTypeAny>(extensionName?: TExtensionName, schema?: TExtensionSchema, workspaceRoot?: string, skipLogs?: boolean) => Promise<StormWorkspaceConfig<TExtensionName, TExtensionConfig>>;
/**
* Get the config for a specific Storm config Extension
*
* @param extensionName - The name of the config extension
* @param options - The options for the config extension
* @returns The config for the specified Storm config extension. If the extension does not exist, `undefined` is returned.
*/
declare const createConfigExtension: <TExtensionName extends keyof StormWorkspaceConfig["extensions"] = keyof StormWorkspaceConfig["extensions"], TExtensionConfig = any, TExtensionSchema extends ZodTypeAny = ZodTypeAny>(extensionName: TExtensionName, schema: TExtensionSchema) => TExtensionConfig;
/**
* Load the config file values for the current Storm workspace into environment variables
*/
declare const loadStormWorkspaceConfig: (workspaceRoot?: string, skipLogs?: boolean) => Promise<StormWorkspaceConfig>;
export { createConfigExtension, createStormWorkspaceConfig, loadStormWorkspaceConfig };