Skip to content

v2.0.0

Compare
Choose a tag to compare
@75lb 75lb released this 09 Oct 22:22
· 81 commits to master since this release

This release is intended to freshen up the codebase and make a few improvements while longer-term goals continue to be developed. The majority of improvements relate to performance, the API and dependency tree cleansing - the data and rendered docs output are largely unchanged. For now.

Breaking since 1.3.6

  • Whole new API.
    • The streaming interface has gone in favour of sync (node >= 0.12.0) and async (Promise) methods.
    • Methods added to get raw jsdoc data.
    • Generated docs are cached internally by default. Meaning, repeat runs against the same input will return the previous output straight from cache.
    • source option added, you can now pass in source code as a string.
  • Command-line tool changes
    • Updated the usage guide
    • options added
      • --namepaths returns all namepaths found in the supplied code
      • --source takes source code in as a string. Useful in scripting.
      • --jsdoc returns the raw, unchanged jsdoc data.
      • --clear clears the cache
      • --no-cache skips the cache
      • --version
    • options changed
      • -c is now the alias for --configure instead of --member-index-format to match the jsdoc -c option.
      • --conf option renamed to --configure to match the jsdoc --configure option.
      • --src option renamed to --files to avoid confusion between --src and --source
    • options removed
      • --sort-by and --group-by removed for now, back in a future version or by popular demand.
  • Data and rendered output changes
    • enum is now interpreted as a kind (like member, class etc.) not doclet property, as before. The isEnum property in the --json (and jsdoc-parse) output has gone.
    • @private and @ignored doclets and are now left in the --json (jsdoc-parse) data, and filtered out at template (dmd) level instead.

Other updates

Dependency tree

Old package and deprecation warnings should now be gone.

Documentation

Fresh tutorials in the wiki, more to come.

Usage stats

I'm curious to know whether i can drop node 0.10 or 0.12 support. Also, i'd like to know which features are used/unused, need improving or better documentation. So, the tool keeps count of the features and node versions used. Only count totals are sent, no data, filenames or source code.

To disable collection of stats, run this command:

$ echo '{ "no-usage-stats": true }' > ~/.jsdoc2md.json

jsdoc-parse changes

  • Streaming interface removed. jsdoc-parse now exports a single, synchronous function to transform the raw jsdoc data.
  • CLI removed.

dmd changes

  • Streaming interface removed. dmd now exports both sync and sync functions generate the markdown output.
  • Memoisation cache added to speed up repeat invocations.
  • CLI removed.