A Gettext PO file parser written with peg.js. Tested to support parsing most PO files in the GNOME project, and every parsed node contains information for its location in source file.
npm install gettext-po-parser
import { parse } from 'gettext-po-parser';
const catalog = parse(input);
You can take a look at the type definitions for the returned data structure.