Skip to content

LLM Resources

@dovenv/convert - API documentation โ€‹

Classes โ€‹

Convert โ€‹

Convertion class.

Example โ€‹

ts
// convert ts files to markdown
const convert = new Convert()
await convert.ts2md({input: 'src/main.ts', output: 'README.md' })

Implements โ€‹

  • ConvertInterface

Constructors โ€‹

new Convert() โ€‹
ts
new Convert(): Convert
Returns โ€‹

Convert

Methods โ€‹

custom() โ€‹
ts
custom(params: {
  fn: (data: {
     config: Config;
     run: {
        html2md: (params: ConvertPropsSuper) => Promise<ConvertResponse>;
        jsdoc2md: (params: Jsdoc2MarkdownProps) => Promise<ConvertResponse>;
        md2html: (params: ConvertPropsSuper) => Promise<ConvertResponse>;
        openapi2md: (params: Openapi2MarkdownProps) => Promise<ConvertResponse>;
        ts2html: (params: {
           input: string | string[];
           opts: {
              hooks: {
                 after: ... | ...;
                 before: ... | ...;
                };
              name: string;
              packageJsonPath: string;
              transform: (content: string) => Promise<...>;
              tsconfigPath: string;
              typedoc: Partial<Omit<..., ...>>;
             };
           output: string;
          }) => Promise<{
           content: string;
           id: path;
          }[]>;
        ts2md: (params: {
           input: string | string[];
           opts: {
              hooks: {
                 after: ... | ...;
                 before: ... | ...;
                };
              name: string;
              packageJsonPath: string;
              transform: (content: string) => Promise<...>;
              tsconfigPath: string;
              typedoc: Partial<Omit<..., ...>>;
              typedocMarkdown: Partial<PluginOptions>;
             };
           output: string;
          }) => Promise<{
           content: string;
           id: path;
          }[]>;
       };
    }) => Promise<void>;
}): Promise<void>
Parameters โ€‹
ParameterTypeDescription
paramsobject-
params.fn(data: { config: Config; run: { html2md: (params: ConvertPropsSuper) => Promise<ConvertResponse>; jsdoc2md: (params: Jsdoc2MarkdownProps) => Promise<ConvertResponse>; md2html: (params: ConvertPropsSuper) => Promise<ConvertResponse>; openapi2md: (params: Openapi2MarkdownProps) => Promise<ConvertResponse>; ts2html: (params: { input: string | string[]; opts: { hooks: { after: ... | ...; before: ... | ...; }; name: string; packageJsonPath: string; transform: (content: string) => Promise<...>; tsconfigPath: string; typedoc: Partial<Omit<..., ...>>; }; output: string; }) => Promise<{ content: string; id: path; }[]>; ts2md: (params: { input: string | string[]; opts: { hooks: { after: ... | ...; before: ... | ...; }; name: string; packageJsonPath: string; transform: (content: string) => Promise<...>; tsconfigPath: string; typedoc: Partial<Omit<..., ...>>; typedocMarkdown: Partial<PluginOptions>; }; output: string; }) => Promise<{ content: string; id: path; }[]>; }; }) => Promise<void>Function to run your conversion.
Returns โ€‹

Promise<void>

Implementation of โ€‹

ConvertInterface.custom

html2md() โ€‹
ts
html2md(params: ConvertPropsSuper): Promise<ConvertResponse>
Parameters โ€‹
ParameterType
paramsConvertPropsSuper
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertInterface.html2md

jsdoc2md() โ€‹
ts
jsdoc2md(params: Jsdoc2MarkdownProps): Promise<ConvertResponse>
Parameters โ€‹
ParameterType
paramsJsdoc2MarkdownProps
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertInterface.jsdoc2md

md2html() โ€‹
ts
md2html(params: ConvertPropsSuper): Promise<ConvertResponse>
Parameters โ€‹
ParameterType
paramsConvertPropsSuper
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertInterface.md2html

openapi2md() โ€‹
ts
openapi2md(params: Openapi2MarkdownProps): Promise<ConvertResponse>
Parameters โ€‹
ParameterType
paramsOpenapi2MarkdownProps
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertInterface.openapi2md

ts2html() โ€‹
ts
ts2html(params: {
  input: string | string[];
  opts: {
     hooks: {
        after: () => string | Promise<string>;
        before: () => string | Promise<string>;
       };
     name: string;
     packageJsonPath: string;
     transform: (content: string) => Promise<string>;
     tsconfigPath: string;
     typedoc: Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>;
    };
  output: string;
 }): Promise<{
  content: string;
  id: path;
}[]>
Parameters โ€‹
ParameterTypeDescription
paramsobject-
params.inputstring | string[]Input patterns. Accepts glob patterns, urls, and strings. Examples [ 'https://pigeonposse.com', './docs/*.md', 'Just a simple string' ] './my/file' 'https://pigeonposse.com' 'my content string data'
params.opts?objectOptions. See https://dovenv.pigeonposse.com/guide/plugin/convert
params.opts.hooks?objectHooks.
params.opts.hooks.after?() => string | Promise<string>-
params.opts.hooks.before?() => string | Promise<string>-
params.opts.name?stringName of your project.
params.opts.packageJsonPath?stringPackage.json path. This path is used to extract specific properties from the package.json file. Default join( process.cwd(), "package.json" )
params.opts.transform?(content: string) => Promise<string>Transform function.
params.opts.tsconfigPath?stringCuaton tsconfig path. Used for getting the ts config of the output. Default join( process.cwd(), "tsconfig.ts" )
params.opts.typedoc?Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>Typedoc options. See https://typedoc.org/options/
params.output?stringOutput path.
Returns โ€‹

Promise<{ content: string; id: path; }[]>

Implementation of โ€‹

ConvertInterface.ts2html

ts2md() โ€‹
ts
ts2md(params: {
  input: string | string[];
  opts: {
     hooks: {
        after: () => string | Promise<string>;
        before: () => string | Promise<string>;
       };
     name: string;
     packageJsonPath: string;
     transform: (content: string) => Promise<string>;
     tsconfigPath: string;
     typedoc: Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>;
     typedocMarkdown: Partial<PluginOptions>;
    };
  output: string;
 }): Promise<{
  content: string;
  id: path;
}[]>
Parameters โ€‹
ParameterTypeDescription
paramsobject-
params.inputstring | string[]Input patterns. Accepts glob patterns, urls, and strings. Examples [ 'https://pigeonposse.com', './docs/*.md', 'Just a simple string' ] './my/file' 'https://pigeonposse.com' 'my content string data'
params.opts?objectOptions. See https://dovenv.pigeonposse.com/guide/plugin/convert
params.opts.hooks?objectHooks.
params.opts.hooks.after?() => string | Promise<string>-
params.opts.hooks.before?() => string | Promise<string>-
params.opts.name?stringName of your project.
params.opts.packageJsonPath?stringPackage.json path. This path is used to extract specific properties from the package.json file. Default join( process.cwd(), "package.json" )
params.opts.transform?(content: string) => Promise<string>Transform function.
params.opts.tsconfigPath?stringCuaton tsconfig path. Used for getting the ts config of the output. Default join( process.cwd(), "tsconfig.ts" )
params.opts.typedoc?Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>Typedoc options. See https://typedoc.org/options/
params.opts.typedocMarkdown?Partial<PluginOptions>Typedoc markdown options. See - - https://typedoc-plugin-markdown.org/docs/options
params.output?stringOutput path.
Returns โ€‹

Promise<{ content: string; id: path; }[]>

Implementation of โ€‹

ConvertInterface.ts2md

Properties โ€‹

PropertyTypeDefault value
configConfig{}

Html2Markdown โ€‹

Extends โ€‹

  • ConvertSuper<Html2MarkdownProps>

Constructors โ€‹

new Html2Markdown() โ€‹
ts
new Html2Markdown(props: ConvertPropsSuper): Html2Markdown
Parameters โ€‹
ParameterType
propsConvertPropsSuper
Returns โ€‹

Html2Markdown

Overrides โ€‹

ConvertSuper<Html2MarkdownProps>.constructor

Methods โ€‹

run() โ€‹
ts
run(): Promise<ConvertResponse>
Returns โ€‹

Promise<ConvertResponse>

Properties โ€‹

PropertyTypeOverrides
propsConvertPropsSuperConvertSuper.props

Jsdoc2Markdown โ€‹

Extends โ€‹

  • ConvertSuper<Jsdoc2MarkdownProps>

Implements โ€‹

  • ConvertSuperInterface

Constructors โ€‹

new Jsdoc2Markdown() โ€‹
ts
new Jsdoc2Markdown(props: Jsdoc2MarkdownProps): Jsdoc2Markdown
Parameters โ€‹
ParameterType
propsJsdoc2MarkdownProps
Returns โ€‹

Jsdoc2Markdown

Overrides โ€‹

ConvertSuper<Jsdoc2MarkdownProps>.constructor

Methods โ€‹

run() โ€‹
ts
run(): Promise<ConvertResponse>
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertSuperInterface.run

Properties โ€‹

PropertyTypeOverrides
propsJsdoc2MarkdownPropsConvertSuper.props

Markdown2Html โ€‹

Extends โ€‹

  • ConvertSuper<Markdown2HtmlProps>

Implements โ€‹

  • ConvertSuperInterface

Constructors โ€‹

new Markdown2Html() โ€‹
ts
new Markdown2Html(props: ConvertPropsSuper): Markdown2Html
Parameters โ€‹
ParameterType
propsConvertPropsSuper
Returns โ€‹

Markdown2Html

Overrides โ€‹

ConvertSuper<Markdown2HtmlProps>.constructor

Methods โ€‹

run() โ€‹
ts
run(): Promise<ConvertResponse>
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertSuperInterface.run

Properties โ€‹

PropertyTypeOverrides
propsConvertPropsSuperConvertSuper.props

MultipleConvert โ€‹

Constructors โ€‹

new MultipleConvert() โ€‹
ts
new MultipleConvert(__namedParameters: {
  opts: Config;
  utils: CommandSuper;
 }): MultipleConvert
Parameters โ€‹
ParameterType
__namedParametersobject
__namedParameters.opts?Config
__namedParameters.utilsCommandSuper
Returns โ€‹

MultipleConvert

Methods โ€‹

run() โ€‹
ts
run(pattern?: string[]): Promise<undefined | Res>
Parameters โ€‹
ParameterType
pattern?string[]
Returns โ€‹

Promise<undefined | Res>

Properties โ€‹

PropertyType
convertConvert
optsundefined | Config
utilsCommandSuper

Openapi2Markdown โ€‹

Extends โ€‹

  • ConvertSuper<Openapi2MarkdownProps>

Implements โ€‹

  • ConvertSuperInterface

Constructors โ€‹

new Openapi2Markdown() โ€‹
ts
new Openapi2Markdown(props: Openapi2MarkdownProps): Openapi2Markdown
Parameters โ€‹
ParameterType
propsOpenapi2MarkdownProps
Returns โ€‹

Openapi2Markdown

Overrides โ€‹

ConvertSuper<Openapi2MarkdownProps>.constructor

Methods โ€‹

run() โ€‹
ts
run(): Promise<ConvertResponse>
Returns โ€‹

Promise<ConvertResponse>

Implementation of โ€‹

ConvertSuperInterface.run

Properties โ€‹

PropertyTypeOverrides
propsOpenapi2MarkdownPropsConvertSuper.props

Typescript2Markdown โ€‹

Extends โ€‹

  • TypescriptSuper<Typescript2MarkdownProps>

Implements โ€‹

  • ConvertSuperInterface

Constructors โ€‹

new Typescript2Markdown() โ€‹
ts
new Typescript2Markdown(props: {
  input: string | string[];
  opts: {
     hooks: {
        after: () => string | Promise<string>;
        before: () => string | Promise<string>;
       };
     name: string;
     packageJsonPath: string;
     transform: (content: string) => Promise<string>;
     tsconfigPath: string;
     typedoc: Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>;
     typedocMarkdown: Partial<PluginOptions>;
    };
  output: string;
 }): Typescript2Markdown
Parameters โ€‹
ParameterTypeDescription
propsobject-
props.inputstring | string[]Input patterns. Accepts glob patterns, urls, and strings. Examples [ 'https://pigeonposse.com', './docs/*.md', 'Just a simple string' ] './my/file' 'https://pigeonposse.com' 'my content string data'
props.opts?objectOptions. See https://dovenv.pigeonposse.com/guide/plugin/convert
props.opts.hooks?objectHooks.
props.opts.hooks.after?() => string | Promise<string>-
props.opts.hooks.before?() => string | Promise<string>-
props.opts.name?stringName of your project.
props.opts.packageJsonPath?stringPackage.json path. This path is used to extract specific properties from the package.json file. Default join( process.cwd(), "package.json" )
props.opts.transform?(content: string) => Promise<string>Transform function.
props.opts.tsconfigPath?stringCuaton tsconfig path. Used for getting the ts config of the output. Default join( process.cwd(), "tsconfig.ts" )
props.opts.typedoc?Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>Typedoc options. See https://typedoc.org/options/
props.opts.typedocMarkdown?Partial<PluginOptions>Typedoc markdown options. See - - https://typedoc-plugin-markdown.org/docs/options
props.output?stringOutput path.
Returns โ€‹

Typescript2Markdown

Overrides โ€‹

TypescriptSuper<Typescript2MarkdownProps>.constructor

Methods โ€‹

run() โ€‹
ts
run(): Promise<{
  content: string;
  id: path;
}[]>
Returns โ€‹

Promise<{ content: string; id: path; }[]>

Implementation of โ€‹

ConvertSuperInterface.run

runTypedoc() โ€‹
ts
runTypedoc<C>(customConf?: C): Promise<{
  content: string;
  id: path;
}[]>
Type Parameters โ€‹
Type Parameter
C extends Record<string, unknown>
Parameters โ€‹
ParameterType
customConf?C
Returns โ€‹

Promise<{ content: string; id: path; }[]>

Inherited from โ€‹

TypescriptSuper.runTypedoc

Properties โ€‹

PropertyTypeDescriptionOverrides
props{ input: string | string[]; opts: { hooks: { after: () => string | Promise<string>; before: () => string | Promise<string>; }; name: string; packageJsonPath: string; transform: (content: string) => Promise<string>; tsconfigPath: string; typedoc: Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>; typedocMarkdown: Partial<PluginOptions>; }; output: string; }-TypescriptSuper.props
props.inputstring | string[]Input patterns. Accepts glob patterns, urls, and strings. Examples [ 'https://pigeonposse.com', './docs/*.md', 'Just a simple string' ] './my/file' 'https://pigeonposse.com' 'my content string data'-
props.opts?{ hooks: { after: () => string | Promise<string>; before: () => string | Promise<string>; }; name: string; packageJsonPath: string; transform: (content: string) => Promise<string>; tsconfigPath: string; typedoc: Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>; typedocMarkdown: Partial<PluginOptions>; }Options. See https://dovenv.pigeonposse.com/guide/plugin/convert-
props.opts.hooks?{ after: () => string | Promise<string>; before: () => string | Promise<string>; }Hooks.-
props.opts.hooks.after?() => string | Promise<string>--
props.opts.hooks.before?() => string | Promise<string>--
props.opts.name?stringName of your project.-
props.opts.packageJsonPath?stringPackage.json path. This path is used to extract specific properties from the package.json file. Default join( process.cwd(), "package.json" )-
props.opts.transform?(content: string) => Promise<string>Transform function.-
props.opts.tsconfigPath?stringCuaton tsconfig path. Used for getting the ts config of the output. Default join( process.cwd(), "tsconfig.ts" )-
props.opts.typedoc?Partial<Omit<TypeDocOptions, "plugin" | "tsconfig" | "entryPoints" | "out">>Typedoc options. See https://typedoc.org/options/-
props.opts.typedocMarkdown?Partial<PluginOptions>Typedoc markdown options. See - - https://typedoc-plugin-markdown.org/docs/options-
props.output?stringOutput path.-

Functions โ€‹

convertPlugin() โ€‹

ts
function convertPlugin(conf?: Config): Config

A plugin for dovenv to convert files from one format to another.

Parameters โ€‹

ParameterTypeDescription
conf?ConfigConfiguration for the plugin.

Returns โ€‹

Config

  • The plugin.

Example โ€‹

ts
import { defineConfig } from '@dovenv/core'
import { convertPlugin } from '@dovenv/convert'
export default defineConfig(
    convertPlugin( {
      exampleJSDOC: {
        type: 'jsdoc2md',
        input: 'examples/recourses/main.js',
        output: 'build/jsdoc',
      },
      exampleTS: {
        type: 'ts2md',
        input: 'examples/recourses/main.ts',
        output: 'build/ts',
      },
      exampleHTML: {
        type: 'md2html',
        input: 'https://raw.githubusercontent.com/pigeonposse/backan/refs/heads/main/README.md',
        output: 'build/html',
      },
    } ),
)

Type Aliases โ€‹

Config โ€‹

ts
type Config: { [key in string]: ConfigValue };

References โ€‹

default โ€‹

Renames and re-exports convertPlugin