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..clear()
method added - clears the cache.
- Command-line tool changes
- Updated the usage guide
- options added
--source
takes source code in as a string. Useful in scripting.--jsdoc
returns the raw, unchanged jsdoc data.--clear
clears the cache
- 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
(likemember
,class
etc.) not doclet property, as before. TheisEnum
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.
- enum is now interpreted as a
Dependency tree
Old packages and deprecation warnings should now be gone.
Documentation
I'll write a fresh set of documentation (tutorials and an FAQ) next, making more use of the Wiki.
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 will now keep count of the options and node versions used. Only counts/stats are sent, no filenames or source code. Please read the usage-stats docs and source for all the details. You're welcome to view the stats, just send me a google account email and i'll grant you read access to the reports.
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.
Install the prerelease
$ npm install -g jsdoc-to-markdown@^2.0.0-alpha
Related repos:
https://github.com/jsdoc2md/jsdoc-to-markdown/tree/next
https://github.com/jsdoc2md/jsdoc-api
https://github.com/jsdoc2md/jsdoc-parse/tree/next
https://github.com/jsdoc2md/dmd/tree/sync