npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@tremho/doc-holiday

v1.1.0

Published

_Simplified and organized documentation solution for Javascript and Typescript using existing JSDoc technologies in a sensible fashion_

Downloads

2

Readme

Doc Holiday

Simplified and organized documentation solution for Javascript and Typescript using existing JSDoc technologies in a sensible fashion

Build Status NPM version Downloads TotalDownloads Twitter Follow

Avoid "Documentation Disillusionment"

Perhaps you've lived this scenario, or are living it now: You have created your masterwork of code and have been generally good at commenting your functions, classes, and types using JSDoc syntax. Then you run it through JSDoc and are dismayed to find that the code documentation is incomplete or incorrect in many cases, and you are forced to go back into your source code to find and fix bad or missing elements. It can be confusing because JSDoc has so many tags and not all of them work as you would expect.

Perhaps more frustrating: You are now using Typescript for your source code, and have adopted it for type declarations. But JSDoc does not work well with Typescript, and does not recognize your type declarations or class properties. Not to mention your own defined types or enums.

To document all these things properly you fear you will need to effectively learn to master another language in addition to your code -- JSDoc.

And you thought you were near the end of your project!

Instead, you need to buckle up for what may be several more weeks before you can get your code to parse into documentation that properly represents your API.

You can use alternatives, via JSDoc templates such as Better Docs or DocStrap, or alternative engines such as DocumentationJS, and these will likely give you prettier output, but may not solve the fundamental problems of having your code recognized and represented for what it is at the source level.

In rides Doc-Holiday

If the idea of shooting it out with JSDoc gives you a bad toothache from grinding your jaw, Doc-Holiday can help.

Take a break from the status-quo of documentation hell and get on with getting published.

Doc-Holiday reads your source code -- whether it be classic JavaScript or (better still) TypeScript -- and identifies all of your documentable entities, including functions, classes, properties, enums, typedefs, interfaces, and more, and creates valid JSDoc comment blocks for these written out as intermediate "stub" files before employing your JSDoc engine (JSDoc, JSDoc2Md, or DocumentationJS) to generate your rendered API documentation.

The result: No more worrying about a "second syntax" to learn just to say again what you've already written in code for the sake of proper documentation. No more jumping through hoops to get documentation to be rendered as it should be.

In addition, Doc-Holiday comes with impressive features as well

Features

  • Typescript-aware from the start. Plain Javascript is also just fine.
  • Uses existing JSDoc or DocumentationJS engines and templates, so your output can be styled as you like it to be.
  • Recognizes and supports Typescript type declarations, enums, typedefs, interfaces, and more
  • Recognizes and supports Mix-Ins
  • Recognizes and supports basic JSDoc function comment blocks for @param and @return definitions if not provided by Typescript
  • Supports multiple forms for comment descriptions.
  • Supports adhoc use of JSDoc tags when needed for exceptional circumstances.
  • Introduces Constraints to allow specification of value ranges in addition to type.
  • Provides API support for runtime validation of Constraints, if desired.
  • Supports PlantUML diagrams from within your description blocks.
  • May be integrated into larger documentation processing pipelines through either module API or via CLI options.

Doc-Holiday Documentation

Comprehensive documentation may be found here