From e7010c518868f6f89aaf6c395dd5e7c8a96206c4 Mon Sep 17 00:00:00 2001 From: c9s Date: Mon, 16 May 2022 22:24:25 +0800 Subject: [PATCH] fix lightweight chart loading issue --- apps/bbgo-backtest-report/next.config.js | 36 ++- apps/bbgo-backtest-report/package.json | 4 +- apps/bbgo-backtest-report/pages/index.tsx | 11 +- .../src/TradingViewChart.js | 91 +++++++ apps/bbgo-backtest-report/yarn.lock | 257 +----------------- 5 files changed, 134 insertions(+), 265 deletions(-) create mode 100644 apps/bbgo-backtest-report/src/TradingViewChart.js diff --git a/apps/bbgo-backtest-report/next.config.js b/apps/bbgo-backtest-report/next.config.js index cad79f093..cc5aa7597 100644 --- a/apps/bbgo-backtest-report/next.config.js +++ b/apps/bbgo-backtest-report/next.config.js @@ -1,22 +1,28 @@ // workaround for react financial charts // https://github.com/react-financial/react-financial-charts/issues/606 + +// workaround for lightweight chart +// https://stackoverflow.com/questions/65936222/next-js-syntaxerror-unexpected-token-export +// https://stackoverflow.com/questions/66244968/cannot-use-import-statement-outside-a-module-error-when-importing-react-hook-m const withTM = require('next-transpile-modules')([ - 'd3-array', - 'd3-format', - 'd3-time', - 'd3-time-format', - 'react-financial-charts', - '@react-financial-charts/annotations', - '@react-financial-charts/axes', - '@react-financial-charts/coordinates', - '@react-financial-charts/core', - '@react-financial-charts/indicators', - '@react-financial-charts/interactive', - '@react-financial-charts/scales', - '@react-financial-charts/series', - '@react-financial-charts/tooltip', - '@react-financial-charts/utils', + 'lightweight-charts', + 'fancy-canvas', + // 'd3-array', + // 'd3-format', + // 'd3-time', + // 'd3-time-format', + // 'react-financial-charts', + // '@react-financial-charts/annotations', + // '@react-financial-charts/axes', + // '@react-financial-charts/coordinates', + // '@react-financial-charts/core', + // '@react-financial-charts/indicators', + // '@react-financial-charts/interactive', + // '@react-financial-charts/scales', + // '@react-financial-charts/series', + // '@react-financial-charts/tooltip', + // '@react-financial-charts/utils', ]); /** @type {import('next').NextConfig} */ diff --git a/apps/bbgo-backtest-report/package.json b/apps/bbgo-backtest-report/package.json index 086ff6224..42f2f1374 100644 --- a/apps/bbgo-backtest-report/package.json +++ b/apps/bbgo-backtest-report/package.json @@ -12,10 +12,10 @@ "d3-dsv": "^3.0.1", "d3-format": "^3.1.0", "d3-time-format": "^4.1.0", + "lightweight-charts": "^3.8.0", "next": "12.1.6", "react": "18.1.0", - "react-dom": "18.1.0", - "react-financial-charts": "^1.3.2" + "react-dom": "18.1.0" }, "devDependencies": { "@types/d3-dsv": "^3.0.0", diff --git a/apps/bbgo-backtest-report/pages/index.tsx b/apps/bbgo-backtest-report/pages/index.tsx index 0eace6e44..a5a14e849 100644 --- a/apps/bbgo-backtest-report/pages/index.tsx +++ b/apps/bbgo-backtest-report/pages/index.tsx @@ -3,19 +3,22 @@ import Head from 'next/head' import Image from 'next/image' import styles from '../styles/Home.module.css' -import StockChart from '../src/StockChart'; +import TradingViewChart from '../src/TradingViewChart'; + +// This is for react-financial-chart +// import StockChart from '../src/StockChart'; const Home: NextPage = () => { return (
- Create Next App + Back-Test Report -
- +

Back-test Report

+
) diff --git a/apps/bbgo-backtest-report/src/TradingViewChart.js b/apps/bbgo-backtest-report/src/TradingViewChart.js new file mode 100644 index 000000000..471db1deb --- /dev/null +++ b/apps/bbgo-backtest-report/src/TradingViewChart.js @@ -0,0 +1,91 @@ +import React, {useEffect, useState, useRef} from 'react'; +import dynamic from 'next/dynamic'; +import { tsvParse } from "d3-dsv"; + +// https://github.com/tradingview/lightweight-charts/issues/543 +// const createChart = dynamic(() => import('lightweight-charts')); + +import { createChart } from 'lightweight-charts'; +import {timeParse} from "d3-time-format"; + +const parseDate = timeParse("%Y-%m-%d"); + +const parseData = () => { + return (d) => { + const date = parseDate(d.startTime); + if (date === null) { + d.time = new Date(Number(d.startTime)); + } else { + d.time = new Date(date); + } + + for (const key in d) { + // convert number fields + if (key !== "time" && key !== "interval" && Object.prototype.hasOwnProperty.call(d, key)) { + d[key] = +d[key]; + } + } + + return d; + }; +}; + + +const TradingViewChart = (props) => { + const ref = useRef(); + const [data, setData] = useState(null); + + useEffect(() => { + console.log("useEffect") + + setData(true) + + if (!ref.current || ref.current.children.length > 0) { + return; + } + + fetch( + `/data/klines/ETHUSDT-5m.tsv`, + ) + .then((response) => response.text()) + .then((data) => tsvParse(data, parseData())) + // .then((data) => tsvParse(data)) + .then((data) => { + console.log(data); + setData(data); + }) + .catch(() => { + console.error("failed to fetch") + }); + + + // ref.current + + console.log("createChart") + const c = createChart(ref.current, { + width: 800, + height: 200, + }); + + const lineSeries = c.addLineSeries(); + lineSeries.setData([ + { time: '2019-04-11', value: 80.01 }, + { time: '2019-04-12', value: 96.63 }, + { time: '2019-04-13', value: 76.64 }, + { time: '2019-04-14', value: 81.89 }, + { time: '2019-04-15', value: 74.43 }, + { time: '2019-04-16', value: 80.01 }, + { time: '2019-04-17', value: 96.63 }, + { time: '2019-04-18', value: 76.64 }, + { time: '2019-04-19', value: 81.89 }, + { time: '2019-04-20', value: 74.43 }, + ]); + }, [ref.current, data]) + return
+
+ +
+
; +}; + +export default TradingViewChart; diff --git a/apps/bbgo-backtest-report/yarn.lock b/apps/bbgo-backtest-report/yarn.lock index 4259a7b4c..72482a89f 100644 --- a/apps/bbgo-backtest-report/yarn.lock +++ b/apps/bbgo-backtest-report/yarn.lock @@ -139,109 +139,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@react-financial-charts/annotations@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/annotations/-/annotations-1.3.1.tgz#03dc307586e5dded982cee3c082c2b01364d5f7f" - integrity sha512-Fv3vbQM0plGP4rKFO+YQrDJlHhw0yuwiNOpS0xGfL5zgvOboL/nN/99ScV1JE5TxMHl9wrKBRarfql6UOcoJ5w== - dependencies: - "@react-financial-charts/core" "^1.3.1" - "@types/d3-scale" "^3.2.2" - prop-types "^15.7.2" - -"@react-financial-charts/axes@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/axes/-/axes-1.3.1.tgz#e7644354f3bb2c5dcd1594c7f903f30db6342222" - integrity sha512-BJZHKOYJn4UDcAeCIBLagQJcaKgPgKMj5wQ82NCCluBexLpfsBr7Sd5jvsQSRUlXEC7qlY90dbprJ88oYHzhCg== - dependencies: - "@react-financial-charts/core" "^1.3.1" - "@types/d3-scale" "^3.2.2" - d3-array "^2.9.1" - d3-force "^2.1.1" - d3-scale "^3.2.3" - d3-selection "^2.0.0" - -"@react-financial-charts/coordinates@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/coordinates/-/coordinates-1.3.1.tgz#a16648e344cea467b54a7a4c6e1282267bc0db08" - integrity sha512-cDexGGWlbV8l9DTNEB//x8puQiy73uAoDO5o2ud1lVaZh02gl6NPny574p5vYt4niBm7jInM9ug6v93aCuSxGA== - dependencies: - "@react-financial-charts/core" "^1.3.1" - d3-format "^2.0.0" - prop-types "^15.7.2" - -"@react-financial-charts/core@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/core/-/core-1.3.1.tgz#c147067c754636042de09e78d3b84c75f4e04d26" - integrity sha512-PDCnEVwb+gxOFGe76bBac39c5YS3gjmOICwn0MD3d7e2aQfk/b89XatcV3F+gRHeW89pctyBoTthXnl7P2RoZQ== - dependencies: - "@types/d3-scale" "^3.2.2" - d3-array "^2.9.1" - d3-scale "^3.2.3" - d3-selection "^2.0.0" - lodash.flattendeep "^4.4.0" - prop-types "^15.7.2" - -"@react-financial-charts/indicators@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@react-financial-charts/indicators/-/indicators-1.3.0.tgz#a009d0555f6fbd4920f53d720527779a11755216" - integrity sha512-k+K3fDlwUGNZMybpKhBPS89cscfrEJT8J6ZwsI88H1knZNy4dBQnkHxAudJEbL2nkvTVlW/jdjLXIOKDVBFbXg== - dependencies: - d3-array "^2.9.1" - d3-scale "^3.2.3" - -"@react-financial-charts/interactive@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/interactive/-/interactive-1.3.1.tgz#b3d968cb42d90d41c0a06368f6b298164fb0218a" - integrity sha512-AH8Zhnq0Wwk7qO9ZHrcJ1WrwksFLfqGK5fNDTU7nlYQJUQpBgL4UhQNicMcYobJRzT4F1famAx7eGDcMbdHBtg== - dependencies: - "@react-financial-charts/coordinates" "^1.3.1" - "@react-financial-charts/core" "^1.3.1" - d3-array "^2.9.1" - d3-format "^2.0.0" - d3-interpolate "^2.0.1" - d3-path "^2.0.0" - prop-types "^15.7.2" - -"@react-financial-charts/scales@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/scales/-/scales-1.3.1.tgz#547f2fcefc03523da0f251c1cd4017f510667cb4" - integrity sha512-ab+d2I8biIF0NL6RCc8BX2hQKsGtMU4+w/kRb1qoxif/uImYkFdQ7li4IfT6S9gZGhIcYnkb82eFQ3c/HPrLKw== - dependencies: - "@react-financial-charts/core" "^1.3.1" - d3-array "^2.9.1" - d3-scale "^3.2.3" - d3-time-format "^3.0.0" - -"@react-financial-charts/series@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@react-financial-charts/series/-/series-1.3.2.tgz#826c95864bdfe85cc325cc50978ddd2c210455e1" - integrity sha512-WVr5D2ewKe5eECK17Uz68mpHoq366W+bcjMtgMciBCRcP0YTNlpSEBJBGY2tHtlsZJmxX7aJ/btReHoveQD3sw== - dependencies: - "@react-financial-charts/core" "^1.3.1" - "@types/d3-scale" "^3.2.2" - d3-array "^2.9.1" - d3-scale "^3.2.3" - d3-shape "^2.0.0" - -"@react-financial-charts/tooltip@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@react-financial-charts/tooltip/-/tooltip-1.3.1.tgz#109a6052704f505586c45b06eb679acbe51977b1" - integrity sha512-rmSX+zungxRfC58SFU1aeWNXShrQRAhjNYmsrBW94pkq4/fCVG6sy9ccqBaSdDc3pePXL15aMqfF2OpxFTyegA== - dependencies: - "@react-financial-charts/core" "^1.3.1" - d3-array "^2.9.1" - d3-format "^2.0.0" - d3-time-format "^3.0.0" - prop-types "^15.7.2" - -"@react-financial-charts/utils@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@react-financial-charts/utils/-/utils-1.3.0.tgz#8a8eae7116ef4883ce7d25e893498e51bcf75a6c" - integrity sha512-BXemTnjRtR9QgRzZ/no6eRC56Fp+mheK9t76QERkp0m98n3xI2IdMo2FHDFKvbh/dexJ7vfQP+iZXqrQJDwM9A== - dependencies: - "@types/react-virtualized-auto-sizer" "^1.0.0" - react-virtualized-auto-sizer "^1.0.4" - "@rushstack/eslint-patch@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.3.tgz#6801033be7ff87a6b7cadaf5b337c9f366a3c4b0" @@ -257,23 +154,11 @@ resolved "https://registry.yarnpkg.com/@types/d3-format/-/d3-format-3.0.1.tgz#194f1317a499edd7e58766f96735bdc0216bb89d" integrity sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg== -"@types/d3-scale@^3.2.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-3.3.2.tgz#18c94e90f4f1c6b1ee14a70f14bfca2bd1c61d06" - integrity sha512-gGqr7x1ost9px3FvIfUMi5XA/F/yAf4UkUDtdQhpH92XCT0Oa7zkkRzY61gPVJq+DxpHn/btouw5ohWkbBsCzQ== - dependencies: - "@types/d3-time" "^2" - "@types/d3-time-format@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/d3-time-format/-/d3-time-format-4.0.0.tgz#ee7b6e798f8deb2d9640675f8811d0253aaa1946" integrity sha512-yjfBUe6DJBsDin2BMIulhSHmr5qNR5Pxs17+oW4DoVPyVIXZ+m6bs7j1UVKP08Emv6jRmYrYqxYzO63mQxy1rw== -"@types/d3-time@^2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-2.1.1.tgz#743fdc821c81f86537cbfece07093ac39b4bc342" - integrity sha512-9MVYlmIgmRR31C5b4FVSWtuMmBHh2mOWQYfl7XAYOa8dsnb7iEmUmRSWSFgXFtkjxO65d7hTUHQC+RhR/9IWFg== - "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" @@ -296,13 +181,6 @@ dependencies: "@types/react" "*" -"@types/react-virtualized-auto-sizer@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.1.tgz#b3187dae1dfc4c15880c9cfc5b45f2719ea6ebd4" - integrity sha512-GH8sAnBEM5GV9LTeiz56r4ZhMOUSrP43tAQNSRVxNexDjcNKLCEtnxusAItg1owFUFE6k0NslV26gqVClVvong== - dependencies: - "@types/react" "*" - "@types/react@*": version "18.0.9" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.9.tgz#d6712a38bd6cd83469603e7359511126f122e878" @@ -553,13 +431,6 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33" integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw== -d3-array@2, d3-array@^2.3.0, d3-array@^2.9.1: - version "2.12.1" - resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" - integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== - dependencies: - internmap "^1.0.0" - "d3-array@2 - 3": version "3.1.6" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.1.6.tgz#0342c835925826f49b4d16eb7027aec334ffc97d" @@ -567,16 +438,6 @@ d3-array@2, d3-array@^2.3.0, d3-array@^2.9.1: dependencies: internmap "1 - 2" -"d3-color@1 - 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" - integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== - -"d3-dispatch@1 - 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-dispatch/-/d3-dispatch-2.0.0.tgz#8a18e16f76dd3fcaef42163c97b926aa9b55e7cf" - integrity sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA== - d3-dsv@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-3.0.1.tgz#c63af978f4d6a0d084a52a673922be2160789b73" @@ -586,72 +447,11 @@ d3-dsv@^3.0.1: iconv-lite "0.6" rw "1" -d3-force@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/d3-force/-/d3-force-2.1.1.tgz#f20ccbf1e6c9e80add1926f09b51f686a8bc0937" - integrity sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew== - dependencies: - d3-dispatch "1 - 2" - d3-quadtree "1 - 2" - d3-timer "1 - 2" - -"d3-format@1 - 2", d3-format@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" - integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== - d3-format@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== -"d3-interpolate@1.2.0 - 2", d3-interpolate@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" - integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== - dependencies: - d3-color "1 - 2" - -"d3-path@1 - 2", d3-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-2.0.0.tgz#55d86ac131a0548adae241eebfb56b4582dd09d8" - integrity sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA== - -"d3-quadtree@1 - 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-quadtree/-/d3-quadtree-2.0.0.tgz#edbad045cef88701f6fee3aee8e93fb332d30f9d" - integrity sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw== - -d3-scale@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-3.3.0.tgz#28c600b29f47e5b9cd2df9749c206727966203f3" - integrity sha512-1JGp44NQCt5d1g+Yy+GeOnZP7xHo0ii8zsQp6PGzd+C1/dl0KGsp9A7Mxwp+1D1o4unbTTxVdU/ZOIEBoeZPbQ== - dependencies: - d3-array "^2.3.0" - d3-format "1 - 2" - d3-interpolate "1.2.0 - 2" - d3-time "^2.1.1" - d3-time-format "2 - 3" - -d3-selection@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-selection/-/d3-selection-2.0.0.tgz#94a11638ea2141b7565f883780dabc7ef6a61066" - integrity sha512-XoGGqhLUN/W14NmaqcO/bb1nqjDAw5WtSYb2X8wiuQWvSZUsUVYsOSkOybUrNvcBjaywBdYPy03eXHMXjk9nZA== - -d3-shape@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-2.1.0.tgz#3b6a82ccafbc45de55b57fcf956c584ded3b666f" - integrity sha512-PnjUqfM2PpskbSLTJvAzp2Wv4CZsnAgTfcVRTwW03QR3MkXF8Uo7B1y/lWkAsmbKwuecto++4NlsYcvYpXpTHA== - dependencies: - d3-path "1 - 2" - -"d3-time-format@2 - 3", d3-time-format@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-3.0.0.tgz#df8056c83659e01f20ac5da5fdeae7c08d5f1bb6" - integrity sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag== - dependencies: - d3-time "1 - 2" - d3-time-format@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a" @@ -659,13 +459,6 @@ d3-time-format@^4.1.0: dependencies: d3-time "1 - 3" -"d3-time@1 - 2", d3-time@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-2.1.1.tgz#e9d8a8a88691f4548e68ca085e5ff956724a6682" - integrity sha512-/eIQe/eR4kCQwq7yxi7z4c6qEXf2IYGcjoWB5OOQy4Tq9Uv39/947qlDcN2TLkiTzQWzvnsuYPB9TrWaNfipKQ== - dependencies: - d3-array "2" - "d3-time@1 - 3": version "3.0.0" resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.0.0.tgz#65972cb98ae2d4954ef5c932e8704061335d4975" @@ -673,11 +466,6 @@ d3-time-format@^4.1.0: dependencies: d3-array "2 - 3" -"d3-timer@1 - 2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-2.0.0.tgz#055edb1d170cfe31ab2da8968deee940b56623e6" - integrity sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA== - damerau-levenshtein@^1.0.7: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -1009,6 +797,11 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +fancy-canvas@0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/fancy-canvas/-/fancy-canvas-0.2.2.tgz#33fd4976724169a1eda5015f515a2a1302d1ec91" + integrity sha512-50qi8xA0QkHbjmb8h7XQ6k2fvD7y/yMfiUw9YTarJ7rWrq6o5/3CCXPouYk+XSLASvvxtjyiQLRBFt3qkE3oyA== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -1273,11 +1066,6 @@ internal-slot@^1.0.3: resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== -internmap@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" - integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== - is-bigint@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" @@ -1439,6 +1227,13 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +lightweight-charts@^3.8.0: + version "3.8.0" + resolved "https://registry.yarnpkg.com/lightweight-charts/-/lightweight-charts-3.8.0.tgz#8c41ad7c1c083f18621f11ece7fc1096e131a0d3" + integrity sha512-7yFGnYuE1RjRJG9RwUTBz5wvF1QtjBOSW4FFlikr8Dh+/TDNt4ci+HsWSYmStgQUpawpvkCJ3j5/W25GppGj9Q== + dependencies: + fancy-canvas "0.2.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -1447,11 +1242,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" - integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -1706,7 +1496,7 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -1733,32 +1523,11 @@ react-dom@18.1.0: loose-envify "^1.1.0" scheduler "^0.22.0" -react-financial-charts@^1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/react-financial-charts/-/react-financial-charts-1.3.2.tgz#474b53918f676064dfef73c253677982ba64aa53" - integrity sha512-gBPdasfCI0H8fV3vij7zTkQME/uOz3V9AOKTO3il4V/w8emA8fc6TuCHG4ZHZF5fcw3sBs71qeeCzpJsxbgfnw== - dependencies: - "@react-financial-charts/annotations" "^1.3.1" - "@react-financial-charts/axes" "^1.3.1" - "@react-financial-charts/coordinates" "^1.3.1" - "@react-financial-charts/core" "^1.3.1" - "@react-financial-charts/indicators" "^1.3.0" - "@react-financial-charts/interactive" "^1.3.1" - "@react-financial-charts/scales" "^1.3.1" - "@react-financial-charts/series" "^1.3.2" - "@react-financial-charts/tooltip" "^1.3.1" - "@react-financial-charts/utils" "^1.3.0" - react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-virtualized-auto-sizer@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.6.tgz#66c5b1c9278064c5ef1699ed40a29c11518f97ca" - integrity sha512-7tQ0BmZqfVF6YYEWcIGuoR3OdYe8I/ZFbNclFlGOC3pMqunkYF/oL30NCjSGl9sMEb17AnzixDz98Kqc3N76HQ== - react@18.1.0: version "18.1.0" resolved "https://registry.yarnpkg.com/react/-/react-18.1.0.tgz#6f8620382decb17fdc5cc223a115e2adbf104890"