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 🙏

© 2026 – Pkg Stats / Ryan Hefner

coggle

v0.1.8

Published

Library for accessing the Coggle API

Downloads

23

Readme

Coggle API Javascript Client

NPM version

Basic Use

See coggle-issue-importer or coggle-opml-importer for complete example applications, including authentication.

npm install coggle
var CoggleApi = require('coggle');

var coggle = new CoggleApi({
  token:user_access_token
});

coggle.createDiagram(
    "My New Coggle"
    function(err, diagram){
        if(err)
            throw err;
        console.log("created diagram!", diagram);
    }
);

API Documentation

##Class CoggleApi The Coggle API client.

###Constructor Create a new instance of the Coggle API client.

Example:

new CoggleApi({token:user_auth_token})

Parameters:

  • options type: Object
    Possible Options:
    • token, required: API user authentication token

###Method listDiagrams() Lists diagrams accessible to the authorised user.

Parameters:

  • options type: Object
    Possible Options:
    • organisation: The organisation to fetch diagrams for. (If undefined, the authenticated user's personal Coggles will be retrieved)
  • callback type: Function
    Callback accepting (Error, [Array of CoggleApiDiagram])

###Method createDiagram() Create a new Coggle diagram.

Parameters:

  • title type: String
    Title for the created diagram.
  • callback type: Function
    Callback accepting (Error, CoggleApiDiagram)

##Class CoggleApiDiagram Coggle API Diagram object.

###Constructor Create a new instance of a Coggle API Diagram object.

Parameters:

  • coggle_api type: CoggleApi
    The API client used for accessing this diagram.
  • diagram_resource type: Object
    Diagram Resource object, with at least _id and title fields

###Method webUrl() Return the web URL for accessing this diagram.

###Method getNodes() Get all of the nodes (branch elements) in a Diagram.

Parameters:

  • callback type: Function
    Callback accepting (Error, [Array of CoggleApiNode])

###Method arrange() Rearrange the nodes in this diagram. Use with care!

This function performs a server-side re-arrangement of all of the items in the diagram. It will attempt to make sure no items overlap, and to space things out evenly, it is not guaranteed to produce the same result when called with the same parameters.

Use of this function is generally discouraged, for the same reason that an auto-arrange function isn't provided in the web interface to Coggle: the placement of items can convey meaning, and if your program understands relationships in the data (such as a natural ordering, or that some sibling branches are more closely associated than others), then you should make use of that information to perform a custom layout.

Parameters:

  • callback type: Function
    Callback accepting (Error, [Array of CoggleApiNode])

##Class CoggleApiNode Coggle API Node object, which represents individual parts("nodes") of the branches in a Coggle diagarm

###Constructor Create a new instance of a Coggle API Node object.

Parameters:

  • coggle_api_diagram type: CoggleApiDiagram
    The Diagram in which this node belongs.
  • node_resource type: Object
    Node Resource object, with at least _id (String), text (String), and offset ({x:Number, y:Number}) fields.

###Method addChild() Add a child to this item. The child is positioned relative to this item, and will move when you move this item.

Parameters:

  • text Text to add for the item.
  • offset type: Object: {x:Number, y:Number}
    Offset of the new item from this one. The x coordinate is along the branch direction, the y coordinate is vertically down from the top of the document.
  • callback type: Function
    Callback accepting (Error, CoggleApiNode)

###Method update() Update the properties of this node

Parameters:

  • properties type: Object: {text:String, offset:{x:Number, y:Number}, parent:String}
    Omitted properties are unmodified.
  • callback type: Function
    Callback accepting (Error, CoggleApiNode)

###Method setText() Set the text of this node.

Parameters:

  • text type: String
    New text to set
  • callback type: Function
    Callback accepting (Error, CoggleApiNode)

###Method move() Move this node to a new offset relative to its parent.

Parameters:

  • offset type: Object {x:Number, y:Number}
    New position to set
  • callback type: Function
    Callback accepting (Error, CoggleApiNode)

###Method remove() Remove this node, and all nodes descended from it.

Parameters:

  • callback type: Function
    Callback accepting (Error)