From 86d0d07adc1b51f29b5c33f094954ff2e3aed2f0 Mon Sep 17 00:00:00 2001 From: Daniel Tschinder <231804+danez@users.noreply.github.com> Date: Mon, 11 Mar 2024 15:15:08 +0100 Subject: [PATCH] Add new experimental features config for upcoming features This way we do not have to do major releases that often and could also iterate more on some options. --- packages/react-docgen/src/config.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/react-docgen/src/config.ts b/packages/react-docgen/src/config.ts index 19eb6263210..5abacccd640 100644 --- a/packages/react-docgen/src/config.ts +++ b/packages/react-docgen/src/config.ts @@ -22,6 +22,10 @@ import { FindExportedDefinitionsResolver, } from './resolver/index.js'; +interface Features { + resolveEnums?: boolean; +} + export interface Config { handlers?: Handler[]; importer?: Importer; @@ -33,6 +37,7 @@ export interface Config { */ filename?: string; babelOptions?: TransformOptions; + experimentalFeatures?: Features; } export type InternalConfig = Omit, 'filename'>; @@ -61,14 +66,26 @@ export const defaultHandlers: Handler[] = [ componentMethodsJsDocHandler, ]; +const defaultFeatures: Required = { + resolveEnums: false, +}; + export function createConfig(inputConfig: Config): InternalConfig { - const { babelOptions, filename, handlers, importer, resolver } = inputConfig; + const { + babelOptions, + filename, + experimentalFeatures, + handlers, + importer, + resolver, + } = inputConfig; const config = { babelOptions: { ...babelOptions }, handlers: handlers ?? defaultHandlers, importer: importer ?? defaultImporter, resolver: resolver ?? defaultResolver, + experimentalFeatures: { ...defaultFeatures, ...experimentalFeatures }, }; if (filename) {