# parse

Conventional-commit message parser: header, body, and footers parsed without regex.

[`parseConventionalCommit`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-parseConventionalCommit) is the main entry point: given a raw commit message it returns a [`ConventionalCommit`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/models/#api-ConventionalCommit) (or throws if the format is invalid). [`isConventionalCommit`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-isConventionalCommit) is the non-throwing predicate for guard checks. The lower-level helpers ([`parseHeader`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-parseHeader), [`parseBody`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-parseBody), [`parseFooters`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-parseFooters)) are exposed for callers that need to operate on individual sections of a message; each returns a focused [`ParsedHeader`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-ParsedHeader) / [`ParsedBody`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-ParsedBody) / [`ParsedFooters`](https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/#api-ParsedFooters) shape. All parsing is character-by-character with explicit state transitions, giving O(n) behavior and no catastrophic-backtracking risk; input length is capped at 10 KB.

---

Canonical page: https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse/
This file: https://www.hyperfrontend.dev/docs/libraries/versioning/commits/parse.md
Documentation index: https://www.hyperfrontend.dev/llms.txt
