A GitLab CodeOwners parser for Node.js, written in TypeScript.
It aims to implement all documented features of the format, but it's not quite there yet. Consider this alpha-quality software for now!
npm install @gitlab/codeowners
import { parse } from '@gitlab/codeowners';
const codeowners = await parse('./CODEOWNERS');
const owners = codeowners.getOwners('README.md'); // ['@user', '@group']
This project will use semantic versioning. Particularly, note item 4:
Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
This project will reach 1.0.0 once it supports all features documented by GitLab.
This is not yet a complete implementation of a GitLab CODEOWNERS parser. Here's a non-exhaustive list of things where are not implemented/supported:
- Sections with duplicate names
- Optional sections
- Multiple approvals
- Error handling
- Reporting on parsing errors/file validity
- Probably others!