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

@barchart/chart-lib

v2.252.0

Published

Barchart HTML5 Streaming Chart

Downloads

8,162

Readme

Barchart HTML5 chart SDK

The contents of the package

The archive contains the following files:

  1. barchart.chart.js - the chart component you're integrating into your product(s)
  2. barchart.chart.d.ts - TypeScript declaration file for the library; please note that this is useful for both TypeScript and JavaScript projects
  3. index.html - a web page hosting a single chart; please note that you may host many charts inside a single page, we've tested dozens of charts shown simultaneously
  4. index.js - the script needed to add a chart to the page using a custom data feed (complete implementation is provided) for demonstration purposes; in practice, the feed is provided by Barchart and using the chart requires only a few lines of code
  5. style.css - a simple CSS for styling some elements of the UI using a dark theme
  6. chart.def.json - a default chart definition (its state) with one symbol plot and the volume study using a dark theme
  7. AMZN_Daily.json - a snapshot of Amazon's daily data for demonstration purposes
  8. AMZN_Events.json - a snapshot of Amazon's events data for demonstration purposes
  9. package.json - an npm package definition

How to run the example

Please note that because the timeseries data is loaded using JavaScript fetch functionality, the web page must be served using a web server (in other words, you can't just open index.html from the local filesystem). You could use a very mature and popular one that we like on NPM. Assuming you've decompressed the SDK into the chart-lib folder, simply go into the chart-lib folder and run serve .. By default, the server will serve the index.html on a port 5000. In order to keep the example running, please contact Barchart and obtain an API key, which should replace the <YOUR_API_KEY> in the index.js.

Browser support

In order to keep the chart component's size reasonably small, we have built the component for the last EcmaScript (JavaScript) standard. The last 2 versions of all major browsers support this standard, so you will need a modern browser to use the component.

Please note that the component can be made to support older browsers (for example IE 11, we have not tested older versions) at the expense of its size which typically grows significantly for very old browsers.

Using the library with npm

While the example code (index.html and related files) is complete and works, it does not show a modern JavaScript development scenario - it's more akin to a traditional approach where you'd reference the library in your HTML, then use the resources from the Barchart "namespace" in your scripts.

However, this is just one and definitely not the only way of using the library. If you would like to reference and build the library with your code and you are using npm - which practically all modern approaches do - and any of the modern bundlers (Webpack, Rollup, Parcel or Vite) and transpilers like Babel, then please do one of the two:

  1. If you have network access, install our library from npm as usual, that is to say npm i @barchart/chart-lib or yarn add @barchart/chart-lib
  2. If you don't have network access, you may install the package directly from this very archive (no need to decompress) by running npm i /path/to/chart-lib.tgz or yarn add file:/path/to/chart-lib.tgz

You are now able to import any of the functions/classes/constants the chart library exports; these are all documented in the above mentioned TypeScript declaration file. Our module name is @barchart/chart-lib.

The chart component is framework-agnostic and works equally well with any modern JS framework as well as with no framework at all.

Where to find more information

The chart component/SDK does not ship with any form of UI. The API the chart responds to is documented here. We're busy at work making the docs clearer and easier to use, please check back often.

We do have a product - called widget - which includes the UI. A UI builder producing the small snippet of the HTML needed to get the widget on your page can be seen at the widget site. The very same widget powers our demo site. The widget is written using Barchart's cutting edge (proprietary) library which produces Web Components, helping keep the package size small and efficient.

Please note that we're using the component as-is in many of Barchart's products. The component is in production since 2016 and is battle tested across several different scenarios - both page based and SPA based. We're happy to help you integrate the component into your product(s).