πŸ“„ File detail

utils/yaml.ts

🧩 .tsπŸ“ 16 linesπŸ’Ύ 525 bytesπŸ“ text
← Back to All Files

🎯 Use case

This file lives under β€œutils/”, which covers cross-cutting helpers (shell, tempfiles, settings, messages, process input, …). On the API surface it exposes parseYaml β€” mainly functions, hooks, or classes. What the file header says: 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.

Generated from folder role, exports, dependency roots, and inline comments β€” not hand-reviewed for every path.

🧠 Inline summary

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.

πŸ“€ Exports (heuristic)

  • parseYaml

πŸ–₯️ Source preview

/**
 * 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)
}