Skip to content

Releases: floracodex/obo-parser

v1.0.1

14 Apr 22:12
da4e8ec

Choose a tag to compare

  • Drop Node 18 support (EOL April 2025); require Node >= 20
  • Add Node 24 to CI test matrix
  • Update dependencies: eslint 10, vitest 4, actions/checkout v6, actions/setup-node v6
  • Trusted publishing via OIDC

v1.0.0

14 Apr 21:02
78be72b

Choose a tag to compare

v1.0.0 — Initial Release

Spec-complete OBO 1.4 format parser for TypeScript and JavaScript. The first and only OBO parser in the npm ecosystem.

Features

  • Two APIs — synchronous parseObo(string) for small files, async parseOboStream(stream) for large ontologies
  • Full OBO 1.4 coverage — all stanza types ([Term], [Typedef], [Instance]), all tags, qualifier blocks, escape sequences, multi-line values
  • Fully typed — every OBO construct has a corresponding TypeScript interface with JSDoc
  • Zero runtime dependencies
  • ESM and CommonJS dual-package output
  • Node.js 18+ and modern browsers

Spec coverage

  • 20 header tags including treat-xrefs-as-* macros, subsetdef, synonymtypedef, idspace, owl-axioms, property_value
  • 24 Term tags, all Typedef relationship properties, Instance tags
  • Escape sequences: \", \\, \n, \t, \:, \!, \xHH
  • Qualifier blocks on is_a, relationship, intersection_of, union_of, equivalent_to, disjoint_from
  • UTF-8 BOM stripping, CRLF handling, continuation lines

Tested against

  • Gene Ontology (48,291 terms)
  • Plant Ontology (1,793 terms)
  • PATO (2,785 terms)
  • Units of Measurement Ontology (574 terms)

All parsed with zero unparsed tags and full string/stream API parity.

Install

npm install @floracodex/obo-parser