mono/packages/kbot/ref/utils/yaml.ts
2026-04-01 01:05:48 +02:00

16 lines
525 B
TypeScript

/**
* YAML parsing wrapper.
*
* Uses Bun.YAML (built-in, zero-cost) when running under Bun, otherwise falls
* back to the `yaml` npm package. The package is lazy-required inside the
* non-Bun branch so native Bun builds never load the ~270KB yaml parser.
*/
export function parseYaml(input: string): unknown {
if (typeof Bun !== 'undefined') {
return Bun.YAML.parse(input)
}
// eslint-disable-next-line @typescript-eslint/no-require-imports
return (require('yaml') as typeof import('yaml')).parse(input)
}