{"id":36537842,"url":"https://github.com/skalinichev/uplot-wrappers","last_synced_at":"2026-01-15T02:50:03.905Z","repository":{"id":42475839,"uuid":"352341672","full_name":"skalinichev/uplot-wrappers","owner":"skalinichev","description":"React, Vue.js and Svelte wrappers for uPlot that allow you to work with charts declaratively inside your favorite framework","archived":false,"fork":false,"pushed_at":"2025-09-25T11:17:47.000Z","size":487,"stargazers_count":119,"open_issues_count":0,"forks_count":15,"subscribers_count":5,"default_branch":"master","last_synced_at":"2026-01-12T10:16:52.295Z","etag":null,"topics":["charts","react","svelte","uplot","vue","wrapper"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skalinichev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-28T13:49:38.000Z","updated_at":"2026-01-11T23:05:53.000Z","dependencies_parsed_at":"2024-06-18T17:09:24.112Z","dependency_job_id":"f89cf5ad-d1bb-4cf8-995f-a9f437ce643a","html_url":"https://github.com/skalinichev/uplot-wrappers","commit_stats":{"total_commits":38,"total_committers":5,"mean_commits":7.6,"dds":"0.10526315789473684","last_synced_commit":"3416bdd79b0b1f601342c188643e1bea1544f723"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/skalinichev/uplot-wrappers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalinichev%2Fuplot-wrappers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalinichev%2Fuplot-wrappers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalinichev%2Fuplot-wrappers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalinichev%2Fuplot-wrappers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skalinichev","download_url":"https://codeload.github.com/skalinichev/uplot-wrappers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalinichev%2Fuplot-wrappers/sbom","scorecard":{"id":829028,"data":{"date":"2025-08-11","repo":{"name":"github.com/skalinichev/uplot-wrappers","commit":"9fa8ff7806b9a78035105ae6093bde7beb7514cb"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.4,"checks":[{"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":"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":"Maintained","score":4,"reason":"2 commit(s) and 3 issue activity found in the last 90 days -- score normalized to 4","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":"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":1,"reason":"Found 4/24 approved changesets -- score normalized to 1","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":"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":"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":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"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":"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":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 10 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":0,"reason":"59 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-34q8-jcq6-mc37","Warn: Project is vulnerable to: GHSA-mh2x-fcqh-fmqv","Warn: Project is vulnerable to: GHSA-rjjv-87mx-6x3h","Warn: Project is vulnerable to: GHSA-6q87-84jw-cjhp","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg","Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x","Warn: Project is vulnerable to: GHSA-67mh-4wv8-2f99","Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv","Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55","Warn: Project is vulnerable to: GHSA-gcx4-mw62-g8wm","Warn: Project is vulnerable to: GHSA-8266-84wp-wv5c","Warn: Project is vulnerable to: GHSA-64vr-g452-qvp3","Warn: Project is vulnerable to: GHSA-9cwx-2883-4wfx","Warn: Project is vulnerable to: GHSA-vg6x-rcgg-rjx6","Warn: Project is vulnerable to: GHSA-x574-m823-4x7w","Warn: Project is vulnerable to: GHSA-4r4m-qw57-chr8","Warn: Project is vulnerable to: GHSA-xcj6-pq6g-qj4x","Warn: Project is vulnerable to: GHSA-356w-63v5-8wf4","Warn: Project is vulnerable to: GHSA-859w-5945-r5v3","Warn: Project is vulnerable to: GHSA-5j4c-8p2g-v4jx","Warn: Project is vulnerable to: GHSA-968p-4wvh-cqc8","Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92","Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-qwcr-r2fm-qrc7","Warn: Project is vulnerable to: GHSA-w8qv-6jwh-64r5","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-rv95-896h-c2vc","Warn: Project is vulnerable to: GHSA-qw6h-vgh9-j6wx","Warn: Project is vulnerable to: GHSA-74fj-2j2h-c42q","Warn: Project is vulnerable to: GHSA-pw2r-vq6v-hr8c","Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc","Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-c7qv-q95q-8v27","Warn: Project is vulnerable to: GHSA-4www-5p9h-95mh","Warn: Project is vulnerable to: GHSA-9gqv-wp59-fq42","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-76p3-8jx3-jpfq","Warn: Project is vulnerable to: GHSA-3rfm-jhwj-7488","Warn: Project is vulnerable to: GHSA-hhq3-ff78-jv3g","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-76c9-3jph-rj3q","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-9wv6-86v2-598j","Warn: Project is vulnerable to: GHSA-rhx6-c78j-4q9w","Warn: Project is vulnerable to: GHSA-7fh5-64p2-3v2j","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-m6fv-jmcg-4jfg","Warn: Project is vulnerable to: GHSA-76p7-773f-r4q5","Warn: Project is vulnerable to: GHSA-cm22-4g7w-348p","Warn: Project is vulnerable to: GHSA-hc6q-2mpp-qw7j","Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986","Warn: Project is vulnerable to: GHSA-wr3j-pwj9-hqq6","Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h","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-23T17:14:00.755Z","repository_id":42475839,"created_at":"2025-08-23T17:14:00.755Z","updated_at":"2025-08-23T17:14:00.755Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28441562,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:55:22.719Z","status":"online","status_checked_at":"2026-01-15T02:00:08.019Z","response_time":62,"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":["charts","react","svelte","uplot","vue","wrapper"],"created_at":"2026-01-12T05:11:13.051Z","updated_at":"2026-01-15T02:50:03.892Z","avatar_url":"https://github.com/skalinichev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\r\n\u003cdiv align=\"right\"\u003e\r\n  \u003cdetails\u003e\r\n    \u003csummary \u003e🌐 Language\u003c/summary\u003e\r\n    \u003cdiv\u003e\r\n      \u003cdiv align=\"center\"\u003e\r\n        \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=en\"\u003eEnglish\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=zh-CN\"\u003e简体中文\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=zh-TW\"\u003e繁體中文\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=ja\"\u003e日本語\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=ko\"\u003e한국어\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=hi\"\u003eहिन्दी\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=th\"\u003eไทย\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=fr\"\u003eFrançais\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=de\"\u003eDeutsch\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=es\"\u003eEspañol\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=it\"\u003eItaliano\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=ru\"\u003eРусский\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=pt\"\u003ePortuguês\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=nl\"\u003eNederlands\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=pl\"\u003ePolski\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=ar\"\u003eالعربية\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=fa\"\u003eفارسی\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=tr\"\u003eTürkçe\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=vi\"\u003eTiếng Việt\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=id\"\u003eBahasa Indonesia\u003c/a\u003e\r\n        | \u003ca href=\"https://openaitx.github.io/view.html?user=skalinichev\u0026project=uplot-wrappers\u0026lang=as\"\u003eঅসমীয়া\u003c/\r\n      \u003c/div\u003e\r\n    \u003c/div\u003e\r\n  \u003c/details\u003e\r\n\u003c/div\u003e\n\n# uPlot wrappers\n\nA collection of [uPlot](https://github.com/leeoniya/uPlot 'uPlot') wrappers that allow you to work with charts declaratively inside your favorite framework.\n\n**Table of Contents**\n\n-   [Motivation](#motivation)\n-   [Getting started](#getting-started)\n-   [React](#react)\n    -   [Installation](#installation)\n    -   [How to use](#how-to-use)\n    -   [Demo](#demo)\n-   [Vue.js](#vuejs)\n    -   [Installation](#installation-1)\n    -   [How to use](#how-to-use-1)\n    -   [Demo](#demo-1)\n-   [Svelte](#svelte)\n    -   [Installation](#installation-2)\n    -   [How to use](#how-to-use-2)\n    -   [Demo](#demo-2)\n-   [Documentation](#documentation)\n\n# Motivation\n\nWhile several other uPlot wrappers already exist, all of them have one of the following limitations:\n\n1. They create uPlot instance once, during component mount phase, and expect you to handle all the update logic yourself.\n2. They recreate uPlot instance anew whenever the props change, even if the instance can be updated to reflect the changes.\n\nIn comparison this library tries it's best not to recreate the uPlot instance once the props change. Instead of recreation it tries to use uPlot public API to keep it up to date with the props.\n\n# Getting started\n\nSee [React](#react), [Vue.js](#vuejs) or [Svelte](#svelte) sections below depending on what framework you're using.\nAlso see API [documentation](#documentation) common to all frameworks.\n\n# React\n\n## Installation\n\nInstall uplot-react package with uplot dependency:\n\n-   Using npm: `$ npm install uplot-react uplot`\n-   Using yarn: `$ yarn add uplot-react uplot`\n\nYou also need React 16.8 or above to be installed inside your project tree.\n\n## How to use\n\n```javascript\nimport React from 'react';\nimport uPlot from 'uplot';\nimport UplotReact from 'uplot-react';\nimport 'uplot/dist/uPlot.min.css';\n\nconst Chart = () =\u003e (\n    \u003cUplotReact options={options} data={data} target={target} onCreate={(chart) =\u003e {}} onDelete={(chart) =\u003e {}} /\u003e\n);\n```\n\n## Demo\n\nSee the [live demo](https://codesandbox.io/s/uplot-react-6ykeb?file=/react/uplot-react-example.tsx 'live demo')\n\nYou can also run the demo app locally:\n\n`$ git clone https://github.com/skalinichev/uplot-wrappers.git`\n\n`$ cd uplot-wrappers \u0026\u0026 yarn install \u0026\u0026 yarn run serveReact`\n\n### ReactJS Demo\n\nsimple example for getting started quickly.\n[ReactJS Demo](https://github.com/skalinichev/uplot-wrappers/blob/master/react/uplot-react-simple.js 'ReactJS Demo')\n\n![image](https://user-images.githubusercontent.com/62290677/233559830-5dea130c-11a3-434e-9cce-d4f00dc9bea8.png)\n\n# Vue.js\n\n## Installation\n\nInstall uplot-vue package with uplot dependency:\n\n-   Using npm: `$ npm install uplot-vue uplot`\n-   Using yarn: `$ yarn add uplot-vue uplot`\n\nYou also need Vue.js to be installed inside your project tree (both 2.6 and 3.x versions are supported).\n\n## How to use\n\nUsing template\n\n```html\n\u003ctemplate\u003e\n    \u003cUplotVue :data=\"data\" :options=\"options\" :target=\"target\" @create=\"onCreate\" @delete=\"onDelete\" /\u003e\n\u003c/template\u003e\n\u003cscript\u003e\n    // Vue.js 2\n    import Vue from 'vue';\n    // Vue.js 3\n    import { createApp } from 'vue';\n    import uPlot from 'uplot';\n    import UplotVue from 'uplot-vue';\n    import 'uplot/dist/uPlot.min.css';\n\n    // Vue.js 2\n    const Chart = Vue.extend({ components: { uplotvue: UplotVue } });\n    // Vue.js 3\n    const Chart = createApp({ components: { uplotvue: UplotVue } });\n\u003c/script\u003e\n```\n\nUsing JSX\n\n```javascript\n// Vue.js 2\nimport Vue from 'vue';\n// Vue.js 3\nimport { createApp } from 'vue';\nimport uPlot from 'uplot';\nimport UplotVue from 'uplot-vue';\nimport 'uplot/dist/uPlot.min.css';\n\n{\n    ...,\n    render() {\n        return (\n            \u003cUplotVue\n                options={options}\n                data={data}\n                target={target}\n                onDelete={(chart) =\u003e {}}\n                onCreate={(chart) =\u003e {}}\n            /\u003e\n        );\n    }\n}\n```\n\n\u003e Note: Property changes by mutation are not supported due to [Vue limitation](https://github.com/vuejs/vue/issues/2164) You have to create a copy of the property, i.e. replace it instead, see an [example](https://github.com/skalinichev/uplot-wrappers/blob/master/vue/uplot-vue-example.tsx#L52) for the general idea.\n\n## Demo\n\nSee the [Vue.js 2 live demo](https://codesandbox.io/s/uplot-vue-khi4m?file=/vue/uplot-vue-example.tsx 'Vue.js 2 live demo')\n\nYou can also run the demo app locally:\n\n`$ git clone https://github.com/skalinichev/uplot-wrappers.git`\n\n`$ cd uplot-wrappers \u0026\u0026 yarn install`\n\nVue.js 2:\n\n`$ yarn run serveVue`\n\nVue.js 3:\n\n`$ yarn run serveVue3`\n\n# Svelte\n\n## Installation\n\nInstall uplot-svelte package with uplot dependency:\n\n-   Using npm: `$ npm install uplot-svelte uplot`\n-   Using yarn: `$ yarn add uplot-svelte uplot`\n\nYou also need Svelte to be installed inside your project tree. UplotSvelte component is compatible with Svelte and SvelteKit projects.\n\n## How to use\n\n```sveltehtml\n\u003cscript lang=\"ts\"\u003e\n    import UplotSvelte from 'uplot-svelte';\n    import uPlot from 'uplot';\n    import 'uplot/dist/uPlot.min.css';\n\n    ...\n\u003c/script\u003e\n\n\u003cUplotSvelte {options} {data} onCreate={onCreate} onDelete={onDelete} /\u003e\n```\n\n## Demo\n\nSee the example [Svelte example](https://github.com/skalinichev/uplot-wrappers/blob/master/svelte/svelte-example.svelte 'Svelte example')\n\nYou can also run the demo app locally:\n\n`$ git clone https://github.com/skalinichev/uplot-wrappers.git`\n\n`$ cd uplot-wrappers \u0026\u0026 yarn install \u0026\u0026 yarn run serveSvelte`\n\n# Documentation\n\n|    Parameter    | Requirement | Description                                                                                                                                                                                                |\n| :-------------: | :---------: | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n|     options     |  required   | Options for uPlot. Passed as the first argument to uPlot constructor: `new uPlot(options)`                                                                                                                 |\n|      data       |  required   | Data for uPlot. Passed as the second argument to uPlot constructor: `new uPlot(options, data)`                                                                                                             |\n|     target      |  optional   | Target html element for uPlot. Passed as the third argument to uPlot constructor: `new uPlot(options, data, target)` A new div target element will be created automatically if none is passed in the props |\n|    onCreate     |  optional   | Callback function, invoked upon uPlot instance creation or recreation                                                                                                                                      |\n|    onDelete     |  optional   | Callback function, invoked before uPlot instance gets destroyed, either because the props has changed so much it's impossible to update the chart or because the component is about to be unmounted        |\n| className/class |  optional   | A class name passed over to the automatically created target div element. Class name is ignored when the 'target' prop is used.                                                                            |\n|   resetScales   |  optional   | Flag controlling whether to reset the scales on data change. Defaults to true.                                                                                                                             |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskalinichev%2Fuplot-wrappers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskalinichev%2Fuplot-wrappers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskalinichev%2Fuplot-wrappers/lists"}