Back to Explore

eslint/doctrine

GitHub
1 watchersOpen source

Last release:

Doctrine is a JSDoc parser for JavaScript, useful for parsing documentation comments into structured data (for example, descriptions and `@param` tags). It exposes a primary `parse()` method that takes a JSDoc comment string plus optional options, and it is no longer maintained.

Project status

  • Maintenance status: Upstream is marked as archived, and the last upstream push was in 2018-12-03. As of 2026-06-11, the project appears quiet/dormant rather than actively maintained.
  • Update cadence: Updates occurred in a burst from 2016 through late 2018 (for example, versions 1.x in 2016, 2.x in 2017, 3.0.0 in 2018), with no evidence of updates after 2018.

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v3.0.0

    v3.0.0 primarily drops support for Node versions below 6, and bumps some developer tooling dependencies. The code changes are minimal for runtime behavior, but the packaging and release automation setup changed meaningfully (notably lockfile handling and npm scripts).

    Breaking
  • v2.1.0

    v2.1.0 adds support for emitting source node ranges in doctrine's parsed type output, based on indices in the original JSDoc comment. The release notes mention this change as a fix for issue #89. The code diff shows the feature is implemented via new range propagation logic throughout the type parser.

    Features
  • v2.0.1

    Release v2.0.1 is a set of Doctrine parsing and stringification fixes plus test tooling updates. The documented changes address union type stringification respecting the compact flag, native String.prototype.trim usage, better handling for @this type expressions, array indexes in tag names, and arrow function defaults, alongside a cleanup of the isarray dependency.

    Breaking
  • v2.0.2

    v2.0.2 is a small packaging-related release. The documented change is removing redundant LICENSE/README entries from the npm package file list, and the diff shows version metadata updates to match the new release.

  • v2.0.0

    Release v2.0.0 primarily updates the project licensing from BSD to Apache License 2.0. The diff also updates repository documentation and npm package metadata to reflect the new license and adjusts the README and license files accordingly.

    Breaking
  • v1.5.0

    Release v1.5.0 adds parsing and stringifying support for boolean literal types in doctrine type expressions. The parser now recognizes `true` and `false` and represents them as `BooleanLiteralType` nodes, with corresponding updates to the exported `Syntax` enum and added tests.

    Features
  • v1.4.0

    v1.4.0 adds support for parsing optional properties, specifically using bracket syntax to produce OptionalType nodes. The release notes describe this in the context of typedefs, but the code changes extend the behavior more broadly in the core tag parsing logic.

    Features
  • v1.3.0

    v1.3.0 adds support in doctrine’s type parser for literal types, specifically string literal types and numeric literal types. The update extends the tokenizer, the type AST node types (via Syntax), and the type stringify logic, along with corresponding test coverage.

    Features
  • v1.2.3

    v1.2.3 includes a CI release script addition and upgrades the doctrine dependency esutils to v2.0.2. The code diff also shows additional parsing behavior changes (identifier handling, name parsing, and default value parsing) that are not mentioned in the provided release notes.

  • v1.2.0

    v1.2.0 adds support for slash characters in doctrine namepaths and improves parsing of optional parameters with default values that contain whitespace. The release also includes a build system cleanup, dependency/version maintenance (isarray), and documentation/test updates to match the parser behavior.

    Features