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

ember-documentary

v0.0.6

Published

The default blueprint for ember-cli addons.

Downloads

7

Readme

Ember-documentary Build Status

Add JSDocs to your Ember components, then access those JSDocs elsewhere through an Ember component provided by ember-documentary. Great for living style guides.

Note: This addon is a work in progress, so the API may change a lot. To that end, this addon won't follow semver for versions 0.0.x. Once this addon hits version 0.1.0, this addon will follow semver from then on.

Installation

  • git clone this repository
  • npm install
  • bower install

Usage

Add JSDocs to your Ember components like so:

/**
 * Provides JSDoc information about a particular component.
 *
 * Pass a block to this component to define your own template and operate upon
 * the JSDoc information. The block should take one argument, which is the
 * instance of this component. So, you can use this component like so:
 *
 * ```hbs
 * {{#documentary-component 'documentary-component' as |meta|}}
 *   {{meta.signature}}
 * {{/documentary-component}}
 * ```
 *
 * @param {String} componentPath - Path to the component.
 */
export default Ember.Component.extend({
});

Then in an Ember template, you can access the JSDoc information. An example:

{{#documentary-component 'documentary-component' as |meta|}}
  {{meta.signature}}
{{/documentary-component}}

meta is an instance of documentary-component, so you should be able to access every property in the component definition. Still, a rudimentary list of the API is below.

API

  • signature: a generated signature for the Ember component. Example: {{cool-component title requiredParam=String [optionalParam="default"]}}
  • description: The main body of the JSDoc comment, without any tag information.
  • params: Array. (Keyword) param information for the Ember component.
  • positionalParams: Array. Positional param information for the Ember component.
  • ast: The raw JSDoc AST if you want to do low-level operations.

All the JSDoc tags (lines that start with @, like @param) have great documentation over at usejsdoc.

New JSDoc tag: @positionalParam

@positionalParam is not part of the official JSDoc spec. It is a custom tag I made for this library. It's implemented by preprocessing JSDoc comments and replacing any form of:

@positionalParam {OptionalType} name

with:

@param {OptionalType} __positional_param__name

The prefix __positional_param__ is stripped from the param name inside the documentary-component Ember.Component.

Tests

  • npm test (Runs ember try:testall to test your addon against multiple Ember versions)
  • ember test
  • ember test --server

License

Copyright Kickstarter, PBC.

Released under an MIT License.