{"id":23020971,"url":"https://github.com/jscharting/jscharting-dist","last_synced_at":"2026-03-08T20:33:07.505Z","repository":{"id":35046826,"uuid":"189252558","full_name":"jscharting/jscharting-dist","owner":"jscharting","description":"JavaScript charting library","archived":false,"fork":false,"pushed_at":"2023-07-18T21:10:35.000Z","size":24390,"stargazers_count":10,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-11T09:31:04.947Z","etag":null,"topics":["chart","javascript-chart-library","jscharting"],"latest_commit_sha":null,"homepage":"https://jscharting.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jscharting.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-05-29T15:30:09.000Z","updated_at":"2025-01-07T01:26:59.000Z","dependencies_parsed_at":"2024-01-17T01:35:54.017Z","dependency_job_id":"c416a15a-e7d3-441d-8b15-72ab23066bf0","html_url":"https://github.com/jscharting/jscharting-dist","commit_stats":{"total_commits":26,"total_committers":1,"mean_commits":26.0,"dds":0.0,"last_synced_commit":"21f0bc222429bf2df88d2ff66675657725b034eb"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/jscharting/jscharting-dist","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jscharting%2Fjscharting-dist","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jscharting%2Fjscharting-dist/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jscharting%2Fjscharting-dist/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jscharting%2Fjscharting-dist/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jscharting","download_url":"https://codeload.github.com/jscharting/jscharting-dist/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jscharting%2Fjscharting-dist/sbom","scorecard":{"id":537735,"data":{"date":"2025-08-11","repo":{"name":"github.com/jscharting/jscharting-dist","commit":"21f0bc222429bf2df88d2ff66675657725b034eb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/27 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":0,"reason":"11 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-fjxv-7rqg-78g4","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-72xf-g2v4-qvf3","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7","Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-20T07:24:34.794Z","repository_id":35046826,"created_at":"2025-08-20T07:24:34.794Z","updated_at":"2025-08-20T07:24:34.794Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281114802,"owners_count":26446046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chart","javascript-chart-library","jscharting"],"created_at":"2024-12-15T12:16:00.937Z","updated_at":"2025-10-26T14:07:37.913Z","avatar_url":"https://github.com/jscharting.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JSCharting: Any Chart. Anywhere.\n\n\u003ca href=\"https://jscharting.com\"\u003e\u003cimg src=\"https://jscharting.com/images/logo_short.svg\" style=\"margin: 0 13px 0 0;\" align=\"left\" hspace=\"10\" vspace=\"6\" width=\"200\" \u003e\u003c/a\u003e\n\n**JSCharting** is a JavaScript chart library for visualizing your data across all devices and platforms. Every JSCharting license includes the full suite of 150+ advanced chart types plus Gantt charts, JavaScript Org Charts, interactive stock and finance charts, seamless grid and calendar charts, JavaScript maps, and micro charts all for no additional charge. JSCharting has all the features you need and many you don't yet know you want.\n\nExample Charts: \n[Chart Types](https://jscharting.com/examples/chart-types/)\n| [Feature Examples](https://jscharting.com/examples/chart-features/)\n## Install\n\n#### Using CDN\n\nVisit [code.jscharting.com](https://code.jscharting.com/) for a list of available releases.\n\n```html\n\u003cscript src=\"https://code.jscharting.com/latest/jscharting.js\"\u003e\u003c/script\u003e\n```\n\n\n#### Download\n\nThe latest release can be [downloaded here](https://jscharting.com/download/).\n\n\n#### Using npm\n\nSee [npm documentation](https://docs.npmjs.com/) to get started with npm.\n```\nnpm install --save jscharting\n```\n##### Working with a local copy of JSCharting\n\nThe npm package folder ```jscharting/dist/``` includes all the necessary charting JavaScript files and resources such as icons, polyfills, and mapping data files. The chart loads these resources dynamically as needed. The content of this folder should be accessible through http, so when building, copy this folder to a destination in the output website. \n\nIf the chart detects a script tag pointing to the main jscharting.js file, it will assume the rest of the resources are \nlocated in the same place and will load them from there.\n\nIf the ```JSC``` namespace is imported from the ```jscharting.js``` file as a module, the chart will not know where resources \nare located and will load them from the CDN. If ```debug: true``` chart option is set, a warning message will note that the \nchart is using the CDN. In order to use local resources, point the chart baseUrl option to the location of the local \ncopy of the ```jscharting/dist/``` folder.\n\nTo avoid setting the baseUrl property on every chart instance, it can be set as a global default like so:\n\n```typescript\nJSC.defaults({ baseUrl: './js/jsc/' });\n```\n\nA wrapper module can be used to apply the baseUrl and any other default options that should be used globally such as \ndebug, or styling options. All subsequent charts can import this wrapper instead of the chart itself to ensure the default options are always applied. \n\n```typescript\nimport * as JSC from \"jscharting\";\n\nJSC.defaults({ baseUrl: './js/jsc/' });\n\nexport default JSC;\n```\n\n## First Chart\n\nAdd a target div element to you HTML page for the chart to render in and specify a CSS height setting.\n\n```html\n\u003cdiv id=\"chartDiv\" style=\"max-width: 500px; height: 300px;\"\u003e\u003c/div\u003e\n```\n\n\u003cblockquote\u003e\nThe chart will automatically conform to the container size by default.\n\u003c/blockquote\u003e\n\nCreate an instance of a chart with some static data.\n\n```js\nconst chart = new JSC.Chart('chartDiv', { \n  type: 'column',\n  series:[{\n\tname: 'Teams',\n    points: [{ x: 'A', y: 10 }, { x: 'B', y: 5 }]\n  }], \n});\n```\n\n![First Chart](https://jscharting.com/documentation/tutorials/images/getting-started/first-column-chart.png \"First Chart\")\n\nEdit in [CodePen](https://codepen.io/jsblog/pen/rNrEyog)\n\n#### Get data from CSV\nJSC.fetch() is an alias for the standard JavaScript\n [fetch()](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch) function and includes a polyfill \nfor IE11. Use this function to effortlessly retrieve chart data from your disk.\n \n```js\nJSC.fetch('./data.csv')\n    .then(response =\u003e response.text())\n    .then(text =\u003e {\n        //Use csv text \n    });\n```\n\nData in CSV, TSV, or delimiter-separated values format can be converted to JSON. \nRefer to the [fetch(), CSV, and JSON](https://jscharting.com/tutorials/js-chart-data/client-side/fetch-csv-and-json/) tutorial for more information.\n\n```js\nlet data = JSC.csv2Json(\n 'date,actual,goal\\n1/1/2023,5409,7000\\n1/8/2023,4893,7000'\n);\n// -\u003e \n//[{date: 1672552800000, actual: 5409, goal: 7000},\n//{date: 1673157600000, actual: 4893, goal: 7000}]\n```\n\n#### Map data to chart points\n\n```js\nlet points = data.map(d =\u003e {  \n  return { x: d.date, y: d.actual }; \n});\n//-\u003e [{ x: 1672552800000, y: 5409 }, { x: 1673157600000, y: 4893 }]\n```\n\n#### Render a chart using data\n\n```js\nconst chart = new JSC.Chart('chartDiv', {\n   /* Set the x axis scale to time. */\n   xAxis_scale_type: 'time',\n   /* Pass points to the series */\n   series: [{\n       points: points\n   }]\n});\n```\n\n\n![CSV Data Chart](https://jscharting.com/documentation/tutorials/images/getting-started/second-line-chart.png \"CSV Data Chart\")\n\nEdit in [CodePen](https://codepen.io/jsblog/pen/jOpjmbd)\n\n## Crash Course\n\n(5 min read to hit the ground running)\n\nThe JSCharting API is designed to be user-friendly. The chart selects default options that are intuitive, \nreducing the need for customization.\n\n#### Chart Types\n\nYou can set chart types through the chart type property:\n \n ```js\n const chart = new JSC.Chart('divId', { type: 'horizontal column' });\n ```\n\nThere are a variety of [chart types](https://jscharting.com/documentation/#node=Enums.chartType), \n[series types](https://jscharting.com/documentation/#node=Home.API.json.Enums.seriesType), \nand modifiers that can be combined in the \"type\" property. \n\n##### Examples of chart types:\n`horizontal`, `pie`, `radar`, `map`, `organizational`, `calendar`, [full list](https://jscharting.com/documentation/#node=Enums.chartType)\n\n##### Examples of series types:\n`column`, `line`, `area`, `bubble`, `candlestick`, [full list](https://jscharting.com/documentation/#node=Home.API.json.Enums.seriesType)\n\nA few illustrated examples of type settings:\n\n[![line](https://jscharting.com/documentation/tutorials/images/getting-started/line-type.png)](https://jscharting.com/examples/chart-types/line/)\n[![column](https://jscharting.com/documentation/tutorials/images/getting-started/column-type.png)](https://jscharting.com/examples/chart-types/line/)\n[![area](https://jscharting.com/documentation/tutorials/images/getting-started/area-type.png)](https://jscharting.com/examples/chart-types/area/)\n[![horizontal column](https://jscharting.com/documentation/tutorials/images/getting-started/horizontal-column-type.png)](https://jscharting.com/examples/chart-types/bar/)\n[![radar spider column](https://jscharting.com/documentation/tutorials/images/getting-started/radar-spider-column.png)](https://jscharting.com/examples/chart-types/radar-polar/)\n[![gauge column roundcaps](https://jscharting.com/documentation/tutorials/images/getting-started/gauge-column-roundcaps.png)](https://jscharting.com/examples/chart-types/circular-gauge/)\n[![More Examples](https://jscharting.com/documentation/tutorials/images/getting-started/more-types.png)](https://jscharting.com/examples/chart-types/)\n \n [Chart Types Overview](https://jscharting.com/tutorials/types/overview/)\n\nBe sure to check out our [chart types gallery](https://jscharting.com/examples/chart-types/) for examples and usage guidance.\n \n#### Chart Options\n\nChart options can be set in the chart constructor,\n```js\nconst chart = new JSC.Chart('divId', { /*options*/ });\n```\nor at any time after the chart is rendered.\n```js\nchart.options({ /*options*/ });\n```\n#### Property Expansion\nJSCharting provides a declarative API with options such as\n```js\nchart.options({ title: { label: { text: 'title text' }}});\n```\n\nFor convenience, property paths can be combined into single property names as shown:\n```js\nchart.options({ title_label_text: 'title text' });\n```\n\n[Property Expansion Details](https://jscharting.com/tutorials/js-chart-api-features/code-expansion/)\n\n#### Hide Legend\n\n```js\nchart.options({ legend_visible: false });\n```\n#### Legend Columns \n\n```js\n// Less Detail\nchart.options({ legend_template: '%icon %name' });\n// More Detail\nchart.options({ legend_template: '%average %sum %icon %name' });\n```\nRefer to the [Token Reference Tutorial](https://jscharting.com/tutorials/js-chart-labels/token-reference/) for a comprehensive list of over 54 available tokens, listed under the 'Series Tokens' section.\n\n![Legend template](https://jscharting.com/documentation/tutorials/images/getting-started/legend-template.png \"Legend template\")\n\n\nTry it out in this [CodePen](https://codepen.io/jsblog/pen/NWBQWGQ)\n\n#### Legend Entries for Points\nThe code snippet below sets a series palette, which results in each point in a series having a corresponding entry in the legend box.\n```js\nchart.options({ defaultSeries_palette: 'default' });\n```\n\n![No Setting](https://jscharting.com/documentation/tutorials/images/getting-started/default-palette.png \"No Setting\")\n![Series Palette Set](https://jscharting.com/documentation/tutorials/images/getting-started/default-series-palette.png \"Series Palette Set\")\n\n[Legend Tutorial](https://jscharting.com/tutorials/js-chart-legend/)\n\n#### Labels\n\n```js\nchart.options({\n    /* Title text */\n    title_label_text: 'Title text',\n    /* Axis label text */\n    xAxis_label_text: 'Time',\n    yAxis_label_text: 'Steps',\n    /* Point labels */\n    defaultPoint_label_text: '%yValue',\n    /* Annotations */\n    annotations:[{\n        position: 'top',\n        label_text: 'Annotation text'\n    }]\n});\n```\n\n![Chart Labels](https://jscharting.com/documentation/tutorials/images/getting-started/label-text.png \"Chart Labels\")\n\n[Using Labels](https://jscharting.com/tutorials/js-chart-labels/) tutorial.\n\n#### Chart with a button\nDo you need a user interface control to adjust a chart setting or test a line of code in real-time?\n\nTraditionally, you would have to create an HTML element and link its events to JavaScript code, \nbut this process can be made much easier by using the integrated UI controls provided by JSCharting. \nThis allows you to add simple UI elements without any HTML required.\n\n```js\nJSC.Chart('chartDiv', { \n    toolbar_items: {\n        'Click Me': {\n            events_click: function(){ alert('Button clicked'); }\n        }}\n});\n```\nTry it in [CodePen](https://codepen.io/jsblog/pen/poZMoOR).\n\n\n[Toolbar \u0026#x26; UiItems](https://jscharting.com/tutorials/js-chart-interactivity/ui-controls/overview/) tutorial.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjscharting%2Fjscharting-dist","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjscharting%2Fjscharting-dist","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjscharting%2Fjscharting-dist/lists"}