{"_id":"@andypoorman/recharts","name":"@andypoorman/recharts","dist-tags":{"beta":"3.8.1","latest":"3.8.1"},"versions":{"3.8.1":{"name":"@andypoorman/recharts","version":"3.8.1","description":"React charts","main":"lib/index.js","module":"es6/index.js","jsnext:main":"es6/index.js","types":"types/index.d.ts","sideEffects":false,"workspaces":["www"],"keywords":["react","reactjs","chart","react-component"],"scripts":{"prepare":"husky","prebuild":"npm run omnidoc","build":"npm run build-types && npm run build-cjs && npm run build-es6 && npm run build-umd && npm run test-build-output","build-cjs":"rimraf lib && cross-env NODE_ENV=commonjs babel ./src -d lib --extensions '.js,.ts,.tsx'","build-es6":"rimraf es6 && cross-env NODE_ENV=es6 babel ./src -d es6 --extensions '.js,.ts,.tsx'","build-umd":"rimraf umd && cross-env NODE_ENV=production webpack -o umd","build-types":"rimraf types && npm run tsc","check-types":"npm run check-types-lib && npm run check-types-test && npm run check-types-storybook && npm run check-types-website","check-types-lib":"tsc --noEmit","check-types-test":"tsc --project test/tsconfig.json","check-types-storybook":"tsc --project storybook/tsconfig.json","check-types-website":"tsc --project www/tsconfig.json","check-playwright-versions":"node scripts/check-playwright-versions.mjs","test":"vitest run --config vitest.config.mts --project unit:*","test-lib":"vitest run --config vitest.config.mts --project unit:lib","test-website":"vitest run --config vitest.config.mts --project unit:website","test-coverage":"vitest run --config vitest.config.mts --coverage --project unit:*","test-omnidoc":"vitest run --project unit:omnidoc --config vitest.config.mts","test-exports":"vitest run scripts/verify-exports.test.ts","test-treeshaking":"vitest run scripts/treeshaking.test.ts","omnidoc":"npx tsx omnidoc/generateApiDoc.ts && npx tsx omnidoc/generateStorybookArgs.ts","test-mutation":"stryker run","test-watch":"vitest --config vitest.config.mts --project unit:*","lint":"eslint .","autofix":"eslint . --fix","analyse":"cross-env NODE_ENV=analyse webpack -o umd/Recharts.js","trace-bundle":"npx tsx scripts/trace-bundle.ts","generate-bundle-data":"npx tsx scripts/generate-bundle-data.ts","prettier":"prettier . --write","tsc":"tsc","storybook-doctor":"npx storybook doctor --config-dir storybook","storybook":"npx storybook dev -p 6006 -c storybook","build-storybook":"npx storybook build -o storybook/public -c storybook","chromatic":"npx chromatic","test-build-output":"vitest run --project build-output --config vitest.config.mts","test-storybook":"vitest --config vitest.config.mts --project storybook","test-vr:prepare":"npm run build && docker compose up -d --build","test-vr":"docker compose run --rm test-vr playwright-test","test-vr:update":"docker compose run --rm test-vr playwright-test --update-snapshots","test-vr:ui":"docker compose run -p 8080:8080 --rm test-vr playwright-test --ui --ui-host=0.0.0.0 --ui-port=8080","test-vr:report":"npx playwright show-report test-vr/playwright-report","bundlewatch":"bundlewatch --config .bundlewatch.config.json"},"lint-staged":{"*.{ts,tsx,js,jsx}":["eslint --fix","prettier --write"]},"repository":{"type":"git","url":"git+https://github.com/recharts/recharts.git"},"author":{"name":"recharts group"},"bugs":{"url":"https://github.com/recharts/recharts/issues"},"homepage":"https://github.com/recharts/recharts","peerDependencies":{"react":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-dom":"^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0","react-is":"^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"},"dependencies":{"@reduxjs/toolkit":"^1.9.0 || 2.x.x","clsx":"^2.1.1","decimal.js-light":"^2.5.1","es-toolkit":"^1.39.3","eventemitter3":"^5.0.1","immer":"^10.1.1","react-redux":"8.x.x || 9.x.x","reselect":"5.1.1","tiny-invariant":"^1.3.3","use-sync-external-store":"^1.2.2","victory-vendor":"^37.0.2"},"devDependencies":{"@babel/cli":"^7.24.8","@babel/core":"^7.24.9","@babel/preset-env":"^7.29.0","@babel/preset-react":"^7.28.5","@babel/preset-typescript":"^7.28.5","@babel/runtime":"^7.26.10","@chromatic-com/storybook":"^4.0.1","@codecov/bundle-analyzer":"^1.9.1","@eslint-community/eslint-plugin-eslint-comments":"^4.5.0","@eslint/compat":"^1.3.2","@eslint/js":"^9.35.0","@playwright/experimental-ct-react":"1.58.2","@recharts/devtools":"^0.0.11","@reduxjs/toolkit":"^1.9.7","@rollup/plugin-babel":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.3","@stackblitz/sdk":"^1.11.0","@storybook/addon-a11y":"^9.0.17","@storybook/addon-docs":"^9.0.17","@storybook/addon-links":"^9.0.17","@storybook/addon-onboarding":"^9.0.17","@storybook/addon-vitest":"^9.0.17","@storybook/builder-vite":"^9.0.17","@storybook/icons":"^1.2.12","@storybook/react-vite":"^9.0.17","@stryker-mutator/typescript-checker":"^9.2.0","@stryker-mutator/vitest-runner":"^9.2.0","@testing-library/jest-dom":"^6.4.8","@testing-library/react":"^16.0.0","@testing-library/user-event":"^14.5.2","@types/d3-interpolate":"^3.0.4","@types/d3-shape":"^3.1.6","@types/d3-time-format":"^4.0.3","@types/node":"24.x.x","@types/react":"^18.3.3","@types/react-dom":"^18.3.0","@types/react-is":"^18.3.0","@vitejs/plugin-react":"^4.3.1","@vitest/browser":"3.2.4","@vitest/coverage-v8":"^3.2.3","babel-loader":"^9.1.3","babel-plugin-dev-expression":"^0.2.3","babel-plugin-transform-define":"^2.1.4","browserslist":"^4.23.2","bundlewatch":"^0.4.1","chromatic":"^11.5.6","cross-env":"^7.0.3","d3-scale-chromatic":"^3.1.0","d3-time":"^3.1.0","d3-time-format":"^4.1.0","diff":"^8.0.2","eslint":"^9.35.0","eslint-config-airbnb-extended":"^2.2.0","eslint-config-prettier":"^10.1.8","eslint-import-resolver-typescript":"^4.4.4","eslint-plugin-import":"^2.32.0","eslint-plugin-jsdoc":"^61.5.0","eslint-plugin-jsx-a11y":"^6.10.2","eslint-plugin-prettier":"^5.5.4","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","eslint-plugin-react-perf":"^3.3.3","eslint-plugin-storybook":"^9.1.5","glob":"^11.0.0","globals":"^16.3.0","husky":"^9.1.1","jsdom":"^24.1.1","lint-staged":"^15.2.7","marked":"^17.0.1","playwright":"1.58.2","prettier":"^3.6.2","react":"^18.3.1","react-dom":"^18.3.1","react-is":"^18.3.1","react-redux":"^8.1.3","rimraf":"^6.0.1","rollup":"^4.40.1","rollup-plugin-esbuild":"^6.2.1","storybook":"^9.0.17","terser":"^5.46.0","terser-webpack-plugin":"^5.3.10","ts-loader":"^9.5.1","ts-morph":"^27.0.2","typescript":"^5.7.2","typescript-eslint":"^8.42.0","update-browserslist-db":"^1.1.0","vitest":"^3.2.3","vitest-axe":"^0.1.0","webpack":"^5.93.0","webpack-bundle-analyzer":"^4.10.2","webpack-cli":"^5.1.4"},"engines":{"node":">=18"},"license":"MIT","_id":"@andypoorman/recharts@3.8.1","gitHead":"8ed41b1b5ec74d502964825e4ac05d3061fa1326","_nodeVersion":"20.20.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-dhOYswTF4KIIKYxANWrqmlpOosiUTSznpLHmV/LBLDsQ6roKHefYLweIKxmKUAEhkpP2UtlqpayFKo2U/p0GYA==","shasum":"71f1f9d57b5cf3613e51864c67b770bff7af10e2","tarball":"https://registry.npmjs.org/@andypoorman/recharts/-/recharts-3.8.1.tgz","fileCount":791,"unpackedSize":6769969,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFPvgZ8WWlmwYaJFEwDIVVWck24abXDpS+jbH7liANWuAiApWx2z7yhiiFF80xOx37UkOStIVP4DE8hI0jNj+A4/9g=="}]},"_npmUser":{"name":"andypoorman","email":"andypoorman@gmail.com"},"directories":{},"maintainers":[{"name":"andypoorman","email":"andypoorman@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/recharts_3.8.1_1774638927707_0.4550511801177439"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-27T19:15:27.641Z","3.8.1":"2026-03-27T19:15:27.994Z","modified":"2026-03-27T19:15:28.155Z"},"maintainers":[{"name":"andypoorman","email":"andypoorman@gmail.com"}],"description":"React charts","homepage":"https://github.com/recharts/recharts","keywords":["react","reactjs","chart","react-component"],"repository":{"type":"git","url":"git+https://github.com/recharts/recharts.git"},"author":{"name":"recharts group"},"bugs":{"url":"https://github.com/recharts/recharts/issues"},"license":"MIT","readme":"# Recharts\n\n[![storybook](https://raw.githubusercontent.com/storybooks/brand/master/badge/badge-storybook.svg)](https://recharts.github.io/en-US/storybook)\n[![Build Status](https://github.com/recharts/recharts/workflows/Node.js%20CI/badge.svg)](https://github.com/recharts/recharts/actions)\n[![codecov](https://codecov.io/gh/recharts/recharts/graph/badge.svg?token=Bn6L2hrl8T)](https://codecov.io/gh/recharts/recharts)\n[![npm version](https://badge.fury.io/js/recharts.svg)](http://badge.fury.io/js/recharts)\n[![npm downloads](https://img.shields.io/npm/dm/recharts.svg?style=flat-square)](https://www.npmjs.com/package/recharts)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](/LICENSE)\n\n## Introduction\n\nRecharts is a **Redefined** chart library built with [React](https://facebook.github.io/react/) and [D3](http://d3js.org).\n\nThe main purpose of this library is to help you to write charts in React applications without any pain. Main principles of Recharts are:\n\n1. **Simply** deploy with React components.\n2. **Native** SVG support, lightweight with minimal dependencies.\n3. **Declarative** components.\n\nDocumentation at [recharts.github.io](https://recharts.github.io) and our [storybook](https://recharts.github.io/en-US/storybook)\n\nAlso see [the wiki](https://github.com/recharts/recharts/wiki).\n\nAll development is done on the `main` branch. The current latest release and storybook documentation reflects what is on the `release` branch.\n\n## Examples\n\n```jsx\n<LineChart width={400} height={400} data={data}>\n  <XAxis dataKey=\"name\" />\n  <Tooltip />\n  <CartesianGrid stroke=\"#f5f5f5\" />\n  <Line type=\"monotone\" dataKey=\"uv\" stroke=\"#ff7300\" />\n  <Line type=\"monotone\" dataKey=\"pv\" stroke=\"#387908\" />\n</LineChart>\n```\n\nAll the components of Recharts are clearly separated. The LineChart is composed of x axis, tooltip, grid, and line items, and each of them is an independent React Component. The clear separation and composition of components is one of the principle Recharts follows.\n\n## Installation\n\n### npm\n\nNPM is the easiest and fastest way to get started using Recharts. It is also the recommended installation method when building single-page applications (SPAs). It pairs nicely with a CommonJS module bundler such as Webpack.\n\n```sh\n# latest stable\n$ npm install recharts react-is\n```\n\n`react-is` needs to match the version of your installed `react` package.\n\n### umd\n\nThe UMD build is also available on unpkg.com:\n\n```html\n<script src=\"https://unpkg.com/react/umd/react.production.min.js\"></script>\n<script src=\"https://unpkg.com/react-dom/umd/react-dom.production.min.js\"></script>\n<script src=\"https://unpkg.com/react-is/umd/react-is.production.min.js\"></script>\n<script src=\"https://unpkg.com/recharts/umd/Recharts.min.js\"></script>\n```\n\nThen you can find the library on `window.Recharts`.\n\n## Contributing\n\nRecharts is open source. If you want to contribute to the project, please read the [CONTRIBUTING.md](/CONTRIBUTING.md)\nto understand how to contribute to the project and [DEVELOPING.md](/DEVELOPING.md) to set up your development\nenvironment.\n\n## Thanks\n\n<a href=\"https://www.chromatic.com/\"><img src=\"https://user-images.githubusercontent.com/321738/84662277-e3db4f80-af1b-11ea-88f5-91d67a5e59f6.png\" width=\"153\" height=\"30\" alt=\"Chromatic\" /></a>\n\nThanks to [Chromatic](https://www.chromatic.com/) for providing the visual testing platform that helps us review UI changes and catch visual regressions.\n\n[![JetBrains logo.](https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg)](https://jb.gg/OpenSourceSupport)\n\nThanks to JetBrains for providing OSS development license for their IDEs.\n\nBrowser testing via\n\n[![TestMu AI](www/public/assets/testmu-logo-black.svg)](https://www.testmuai.com/?utm_medium=sponsor&utm_source=recharts)\n\n\n## License\n\n[MIT](http://opensource.org/licenses/MIT)\n\nCopyright (c) 2015-2024 Recharts Group.\n","readmeFilename":"README.md","_rev":"1-1e71c47b75b041b596f991f1103387c9"}