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

treedoc-viewer

v0.1.71

Published

A feature-rich viewer for Treedoc implemented with VueJS and typescript. Treedoc is an abstraction for all the tree-structured document formats such as JSON, YAML, XML. This viewer has built-in support of JSON/[JSONex](https://github.com/eBay/jsonex/blob/

Downloads

138

Readme

Treedoc Viewer

A feature-rich viewer for Treedoc implemented with VueJS and typescript. Treedoc is an abstraction for all the tree-structured document formats such as JSON, YAML, XML. This viewer has built-in support of JSON/JSONex, YAML and XML. It provides an easy way to plugin any other format by implementing the ParserPlugin interface.

Features

  • Three views: Source, Tree and Table and they are toggleable
  • Flexible navigation
    • Back/forward navigation between tree nodes
    • Support breadcrumb view of the node path for easy navigation to parent nodes
    • Navigation through $ref node as defined in OpenAPI or Google Discovery Service
    • Navigation is synchronized between tree view and table view
  • Treeview
    • Support expand / collapse one level or all levels.
    • Tree is also embedded in table views
  • Table view (Based on vue2-datatable-component)
    • Expand attributes for the child nodes as table columns
    • Support column filtering and sorting
    • Support pagination
    • Support column selection
  • Source View (Based on CodeMirror)
    • Syntax source highlighting
    • Synchronized highlighting in the source code when navigating through nodes
  • Support multiple file formats
    • different sources of the document: open local file, open URL or copy/paste
    • Auto-detect format to choose the right parser
    • Buildin Support following formats
      • JSONex format (extension of JSON) (Based on treedoc)
      • text protobuf which is support by JSONex parser
      • Custom format such as java Map.toString, java Lombok.toString
      • Prometheus text format.
      • csv, tsv, ssv (space-separated values)
      • XML, Compact XML
      • YAML, include multiple document format
    • Plugable parser, so that more format can be easily added.
  • Implemented as VueJS component, so it's easy to be reused in different applications

Usage

As a Vue component

yarn add treedoc-viewer
// main.js
import TreedocViewer from 'treedoc-viewer'

Vue.use(TreedocViewer);

In public/index.html

<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">

In component template

<json-tree-table :data='jsonData'>

As embedded iframe

If you are not using VueJs or don't want to introduce heavy dependencies, you can use embedded mode either through iframe or open a new window (tab)

<iframe id='tdvFrame' src="https://www.treedoc.org?embeddedId=tdv_1" width="100%" height="100%"></iframe>
<script>
  function setJttData(target, data) {
    target.postMessage({type:'tdv-setData', data}, '*');
  }
  setTimeout(() => setJttData(frame, {message:"after timeout"}), 1000);
</script>

For a working example, please refer to sample/embedded.html in github repo.

Development

yarn install
yarn serve

Live Demo

http://treedoc.org

License

Copyright 2019-2020 Jianwu Chen Author/Developer: Jianwu Chen

Use of this source code is governed by an MIT-style license that can be found in the LICENSE file or at https://opensource.org/licenses/MIT.