{"_id":"react-diff-viewer","_rev":"29-d3af6ab6e476dfbf5a219b48a02dfc4e","name":"react-diff-viewer","dist-tags":{"latest":"3.1.1","alpha":"2.0.0-alpha.4","beta":"3.0.0-beta.1"},"versions":{"0.0.1":{"name":"react-diff-viewer","version":"0.0.1","description":"Text diff viewer for React","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"license":"MIT","private":false,"devDependencies":{"emotion":"^9.2.10","react":"^16.5.2","react-dom":"^16.5.2","webpack":"^4.20.2"},"gitHead":"d4443a72f494582380edd0a9018ef3418ad05249","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@0.0.1","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-uZJQsGgaKHqMqayXYtB0JVz8xIV410A+ahMP97hde6B0pkYdd6dnyTkafVEoI3T5fqPfnAkHk1c7+UO7BeC/kg==","shasum":"886637d8eabf0cd9611b22bfce56ba0390d473c1","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-0.0.1.tgz","fileCount":4,"unpackedSize":90095,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbrHb3CRA9TVsSAnZWagAAbS8P/06YvmNCavWYUodRwziO\nQfR/LUBnlIXhd3Jmy4RA445gfBi8+3arff04rScnP/cN/xPbXQM/kGB3YLoo\nd/HsYQvsQNfuJ2ho/LSp92vC/WJUFoGYDPHqBnV9cbOLjfyfala3BNKcUgYV\nifFpYkfqHTrEb4eLSDRc1QAcuccpU24ynkXQhBwD8fvb5JRrH0pWOCzBoWVl\nBpsQJpYKIMCbAxBAOBKXLTts7RtKil8lhvvdGFRVWLBcI/Re27RoV0tKIW9t\nyyGuhCeDkSG9G9/9tKWW98IbXGkaNooVIrRTQzKQ9ZJJhkUwRwUSR5DwqUsC\n6FHYgOSyrtci5OBSlzujp41dXh3wPs6ttwoAiSw2ATwyL4Z6qBVzDQaK76xf\n+IKtGk5edz2ZpYwYiAdc9o+TybtF2PLmBcIf03PrNWiHRU9W+gG5MkEYDZcd\nxf9wQURv0LXx2pqlZCn4BroPYaiTcIDNIrX22KWutBIXpXHy24dtYlee3xY5\n613QoEDOU3pZoKGtHFgoHaBWS7ZctRG4ukXRWiHOFnl+cUFDmjPyIpWs7FdD\nzA5mv1FsbbUcL4xFZa8MUfpEVWUjnhKtKOptx7MYi2VfBjiTIdSiwhBK4nMW\nJJbAwxlDNW0/hE6/6GXpIRrs9+AJKDsLLhsVC+Xv9Nfo6Tf4ca59FCJRkVe6\nJXV8\r\n=+sUG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDH5wTKztsdPDKg6ByZYFzJ2ZLw4wpEKdPFMntl5PKa0QIhAKfQLmp2Na86tGazWB8Q+XmjEtjZ53W+KtTx7CoKM5PJ"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_0.0.1_1538029302982_0.917013850667755"},"_hasShrinkwrap":false},"1.0.0-alpha.1":{"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.4.3","node-sass":"^4.9.3","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","ts-loader":"^5.2.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"name":"react-diff-viewer","version":"1.0.0-alpha.1","description":"The only text diff viewer needed for React","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"license":"MIT","private":false,"scripts":{"build":"tsc --outDir lib/","build:watch":"tsc --outDir lib/ -w","build:examples":"webpack --progress --colors","start:examples":"webpack-dev-server --open --hot --inline","prepublish":"yarn build","postpublish":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","prop-types":"^15.6.2"},"gitHead":"6799098fb6a98428e99c81740c1f8ff96c8e6c7a","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.0-alpha.1","_shasum":"4c45246a9fe72fa505cf6667e109f77d4c666646","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"shasum":"4c45246a9fe72fa505cf6667e109f77d4c666646","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.0-alpha.1.tgz","integrity":"sha512-3w3XHi43MVM9l3vkTad0PswrUqmS4rbO81q0pzhxJg00RtAR0yXQswqCtc12z1t1WELziJNSj7745zg2vxgyCQ==","fileCount":16,"unpackedSize":198871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3DlfCRA9TVsSAnZWagAA1dQP/1A6/QXUdl42xeOV2uFB\nCPaqY3jSBccV42tauARk1ZJ4/OnjWDZQlE7jO+RiMJiWcfKaeTt4+Y09cpwz\nJw2Gov6JH78YSzTYhesAfRkxUhWB2cfu74gF9iTx35w9pkyu5ICV2+Ehd5gu\nvuSg2I/lyFffihdyXVyCWuccKs4ccIHnCjHBqRFVzhAt2QIOs2520Rfhv5Tv\nYOpfDfDCJ9Kz7wLrtThmvfxj3ZZMoOnxhIYdO/v0II2+WKF/jUrFaucaz2V3\nU6yp/TLZ7Zaz1TEwRJEapIbgfutI+uhBqL3mM/AQe1HhvhN2lj2uPHNC6vsg\n3u3pvWSmukzndCbtRDL1ovMqoGmD3ueQ74gCkYcS44au+S3GNL20VdPrWOvL\nwtLJ610/4ciOtJY3RmNBeeuyqUAPqInbr3nRqa2Zv50JCvTh+WCqlMXZg3GM\n8qOiu39X/0QoF6ljfsAOSJ/BgGQFaMRPSe3U7OuL2orAnBaKykTqEKRgtNzp\nyq0x5n5H4ftlvO1giCDPrkQxECIc+UQDQPsgW5dUKWZSNFQnxpJNWh1Vcda8\n9qoUr4+9as5RQMvvV0Kq0He/l7JRHkB8/UzNp8fn7Hn9kjJ43BrN3Utq1nrK\nHKisjeOnvxc11154j/q0D1OYmp5D6lVthAbcgreMRDxEM+YZ/ja10Q7lWnHj\nwQGT\r\n=FxdJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICYprBFPa2bY5/IcaFrcqqT7YzcRG5uoVlbdT6apZcE3AiBiMvp0E2rpN7RD6kcWfZVuwrrC/hG0tBQj6Jsj5IS15w=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.0-alpha.1_1541159262342_0.25951284579915646"},"_hasShrinkwrap":false},"1.0.0-beta.1":{"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","memoize-one":"^4.0.2","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"name":"react-diff-viewer","version":"1.0.0-beta.1","description":"The only text diff viewer needed for React","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"license":"MIT","private":false,"scripts":{"build":"tsc --outDir lib/","build:watch":"tsc --outDir lib/ -w","build:examples":"webpack --progress --colors","start:examples":"webpack-dev-server --open --hot --inline --host 192.168.31.72","prepublish":"yarn build","publish:site":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","postpublish":"yarn publish:site","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","prop-types":"^15.6.2"},"gitHead":"323e89262660befc25b200f7b7eda120f57b71f3","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.0-beta.1","_shasum":"e10c4994b0bee5347648994ca8a006a0a18bbb1f","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"shasum":"e10c4994b0bee5347648994ca8a006a0a18bbb1f","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.0-beta.1.tgz","integrity":"sha512-q+kSJeBiHkyD6O5zdV0KIzl46cghnf6ZNJs2+iy2sK2t0W/qYCvqkQaO4bhoFS7sEjNWEPCFpuSpn7IN2Yj5lA==","fileCount":24,"unpackedSize":270986,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3YfXCRA9TVsSAnZWagAA1iQP/1G6fcbh1QRlagkgVcOL\n4PA1gEUq2GVH6MxGI1pWDy9j/TMrTCtgHv57XguwmeFCK/0STqK0+pURYfZx\nEngUcqpxtgOEMNZJACeDHcFWmO8N+6mQfBPS5pRIAvQEHmoiD1q2oQko3fw/\nXDZMElTK0IDVsyWjrYZBs3AIq+pFSmtbUQbgueBGacB2ri9GNKYQ/mrwI22/\npX0IDz2c7Ps2hi37IEUN2pP0V09aaCikfXvweL7Wf13wBvyQY/L1QC8gtpCf\n4oPvWccQ+6O3mgevdS/pL9+j2fW4TuiYVROyxFOFDQk6KkornA8vMNmZzu7Z\nmnEdEEDlDC65HMzm9yPZKsFJet/CYDGOx0VX4YOu3tuu9sgv/0ItA/O0OIku\nFUXNZDDRE6aizI2cZJKhF6+EoFtk/bMSPrVSqlesdkAogl9pYsVAOT0L/Iwd\nOO1/dxBpsQOWCv+oj2bufQ8KQMd4zJa6YEhPBja+SQQA8VwNGNwFkqSU4Ut5\nuNBBq40puuk+R1M3q59eS0x8L3QXf7mKtxqmOcf4kfzJDVEu1SgxjSya3OEN\nMTaWtqTdilA7yAD+PJKswBc77DiDftdX6U4/T6Zk6YXofUh8Tx5U9FGczru4\nC1buApM75wv8idXYzF7csg/8TL85OP8r3h5KlBtzKGzpjc0tw+R2mAGT0UBe\nCVi3\r\n=zNyC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCl9m+nhnIl0WEVpNhEGEr1YtBalf0Jzzl4d8yB5PvOiAIhAKXLV3hvOVHk+TtKkdpWEqsXoUR7pPL5ZfOP7IDl773l"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.0-beta.1_1541244886784_0.0708750528399602"},"_hasShrinkwrap":false},"1.0.0-beta.2":{"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","memoize-one":"^4.0.2","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"name":"react-diff-viewer","version":"1.0.0-beta.2","description":"The only text diff viewer needed for React","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"license":"MIT","private":false,"scripts":{"build":"tsc --outDir lib/","build:watch":"tsc --outDir lib/ -w","build:examples":"webpack --progress --colors","start:examples":"webpack-dev-server --open --hot --inline --host 192.168.31.72","prepublish":"yarn build","publish:site":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","postpublish":"yarn publish:site","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","prop-types":"^15.6.2"},"gitHead":"08990cbca5aaa3046d9df56c67eb7e40419728c6","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.0-beta.2","_shasum":"0e0ae90e03b6a71b61bb6d11ac4cdd95dea70d0f","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"shasum":"0e0ae90e03b6a71b61bb6d11ac4cdd95dea70d0f","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.0-beta.2.tgz","integrity":"sha512-YJ+JxRCFfWpucHUJUhVKmqwsGRWUb+5tm1Lamv742CS314OGDZu0O7UdMpmI+tNojYCcOY7jqvbQNsByPULuLg==","fileCount":24,"unpackedSize":271237,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3brACRA9TVsSAnZWagAAr4oP/AvHNCJOIUFIqIMP40ir\npVzTLB5UcVaWVQp44sKRsE0OAT4mZ0u2dnHBESLleDUm68Ber0iTp/S0Qrlr\nWAZox0F0kVbOOwePHdwxBleQcLGrO31gBDSl+KnA6/TTvccbmEDrtJLrsP4W\n+2w66mY7UCbInbEux0fRwewwpUBoYh60dHhMN3g92OI8AIbq7FDbJJN9Kgho\n47lruUGc1nIexwHNqTbS98Zn305FpBXQ37g2XXoKkv+eu2OvbFKIr7hOB3OL\neovqf1+3K4dcc3SATrS3nl3URKSSV185ckegPV6n4FSz6IepN2CSC34MFWhV\n55cgVnWcNlAJ6WQlFtjhukPeZW8sCtqqeRdUzpQ74ePOZo1syWaEONNvlhwh\n3C6FNXveuHyYhdzngIkz2VduGRDGoFJQLX++2x0Kp8PtQfZ9s75XNfC07ihX\neLmLEEkXM2FgLgUTggQe3Gc43IctV5dIREjG/r4cj/XUcdXt3SSxvSt8uea9\nVkAmG6S/C1Oy4Vf/JyQCmIjOUN4JPS5t8I/IAPb/KbugCGnrIIJfTEYraHib\nudbcfSwQWpwaTZm6DfHkxGmloq/Q3u22udmkRnlzl0OTpKd7EX47ZvxwL/sC\nG6bkuBUsny1X3sUptTzeu8EO1jGNqwEuu2+XrSXl++3eG/fxreW9UKxtpjPu\nf/Pt\r\n=0RG4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrmWVOYhTDuMppBHTOdxJMen97zyA2aJ8erBLHWv4kZwIhAJpdz7A9MH8okKhLt+5QjjCuyV6/4qBib9w4nmvZfe8P"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.0-beta.2_1541257919407_0.8865127097071293"},"_hasShrinkwrap":false},"1.0.0-beta-3":{"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","memoize-one":"^4.0.2","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"name":"react-diff-viewer","version":"1.0.0-beta-3","description":"The only text diff viewer needed for React","main":"lib/index.js","repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"license":"MIT","private":false,"scripts":{"build":"tsc --outDir lib/","build:watch":"tsc --outDir lib/ -w","build:examples":"webpack --progress --colors","start:examples":"webpack-dev-server --open --hot --inline --host 192.168.31.72","prepublish":"yarn build","publish:site":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","postpublish":"yarn publish:site","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","prop-types":"^15.6.2"},"gitHead":"4408bcd545875d502fd33e94b1349fbe4aa15832","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.0-beta-3","_shasum":"dfef1cfa7ad628d9a12c5c2c4defee346eb10be4","_from":".","_npmVersion":"3.5.2","_nodeVersion":"8.10.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"shasum":"dfef1cfa7ad628d9a12c5c2c4defee346eb10be4","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.0-beta-3.tgz","integrity":"sha512-qrAjgKXHP9XDx5g+CHSd2BI2IlTyxW++F8uD9aIp96Shzvqt9Vj/H31UhPABCE5wBRduilGaKFB92Rx1cEhG8Q==","fileCount":24,"unpackedSize":271827,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3d/0CRA9TVsSAnZWagAAw6UP/iMNahCQodrAQhoGccEm\n0Hsvd77p2MoNCWPW7uCDqgh3oKskG1zdVLj+GNDba5O8URYCKzw3wak3GW0g\nlfnYqE/h5/9R2X0YqNfndQNLe+d+40tyynkvaMJXwbn7Tump1d+s8JxgOxh1\nAengGO8sYIIAaObwtm2YLlOuWsBXCERtvXeARxu0EOuCl2H/zbhWJz7Lqi5k\nwY3VYE/kJETiirCPPFPhMVvYdql2RK1rY9K8XM5TfoCJxnbrhIV5K6y+Kuw+\n6/3nAVIcmbBCNRumjpBN/9YYFFRdpVVd36pkGanC9v50Xl3aRKK2zDAMqnIT\nYechOQTYP9u+LwJHfSPJhvH/OP7doKY7KrxIuoB8ssfjmdXQFR91ACby+Tvc\n/GdZ57D9s5SHvwOM22itj5jcqlOxD8PFr1vh4P6cdt8nTyjBF2Wz+oFaLRhw\nS/R7LEHZ5FJIWLXKMo0Ot1nA9rITpMX5Q/603hIanHdy2YnOnad/ZMhhJKyX\ny5wE0H8hTmSnunORxVQdXCgktYFuD7qCrGVCs0lSnxUwXsnBZel0/sSxd20L\nWI78dZVD0zkXFYLlwjRZd4yiuc/0SzdTQIaiAP/BUfJfzpSOscmN6lSlXCsR\np3DMx/iAXTuwBGkfHcaZTaWMW1yQ4yQt8ughhb/xDvEBHGnxZu/CjMx5cflM\nWD1+\r\n=1cjR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIF0ik/OhkTPXA0pTXnug+ioKctWxMUcoTXir7UYDme8pAiBhS0AYk7SJYkdH+FCEOVGbr/N/Ad5oSxrEb8jCXBUbrw=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.0-beta-3_1541267443796_0.8139171764443096"},"_hasShrinkwrap":false},"1.0.3":{"name":"react-diff-viewer","version":"1.0.3","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index.js","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline --host 192.168.31.72","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","memoize-one":"^4.0.2","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/node":"^10.12.2","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"f17ec5dbf302f3ed59fb1a0cca691d33c4bfb2f1","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.3","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-R1LNR1ya5rswnPh+6bMULajXfgMjgv0Fk/oIox13JSOML3IRoCEyNkz/Iito5Md0gSr185fhlnG73bzvbu6EIQ==","shasum":"b4d1a149bf33135cfa7e05e8572881ef23550355","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.3.tgz","fileCount":10,"unpackedSize":224035,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb3qJBCRA9TVsSAnZWagAAzmoP/2CWFaWV+BJ0dn7VtsYp\nQmZs1LVh2G7yLOJN2WmfHH8RBkRj89sTERjQukrFyoZ8qUO1A/dmxy7um8sf\nNrSdv0+so9BpBfTuHLh1nmkrepVRRxzD2/inStpjxWJltXKoDLHCddQpIIdz\n/ivxnC42iGz/2vFIehLsexzceYAkTfawFYYMk/1KxNowSWFK5VJtMzGDTeld\nAH8P0tj1KhPD9gxVRMccLNImjF8q5LClLu3RpiLX0Tk/Oyzfi3MfDXf6gVnI\nbkJM6/srNg3gKvyrzSDG1njgGtFZmcV8IwWPhLJI0J3J+taUvAOOL0P+P9QM\nGA6tpvQI0xdSmroQ3/64+sDg5EViV1XOEbeUIqSrCkXyXYUaYrg2v/2Ek3La\nRn97Gi8M1C9YcPxjbsca3ciHswKbRGPuIGX9Urbo6PWW8c/LegGC77tHj226\nhL13/H597GBF1mVJB/lAPHoOp5yFdkGQY+cIr0/AyBn6psR0qG4Ew7hX0drR\ny3M4MHnkPTTnGM1nZQb0d0WUMK4sR8fYi5zY4axA36i/ZJ2qpEcDEHNSjLMG\nxeGwAtpW0K8CmCMWtuXBp/DgORcnYPqjBMJChsnuGHqHCgUtF18ifozeYHsq\nauXec2oMS6OkoGmpvHfokYfti8rlM8J6E7TIDs1TEpfIi/w60613fCjuj567\ng1OH\r\n=HyLL\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC5I003C4h+baTlVWL9Uq00/6qWo2+J2hT/bt/pFZvTdAIgX1HLvsUO6kDIb4IUZhTef9Y1Y5McwbLZWgU0oDhL3WY="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.3_1541317184552_0.2642540308908028"},"_hasShrinkwrap":false},"1.0.4":{"name":"react-diff-viewer","version":"1.0.4","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index.js","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline --host 192.168.31.72","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","memoize-one":"^4.0.2","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/node":"^10.12.2","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"a07b292fb10e70d1021f6de11d94db09ad6789ad","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.4","_npmVersion":"6.4.1","_nodeVersion":"8.12.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-M52akBUTr5XYuaa7a4puPYVgzODbqMiSIng06Ms7nK8x1T3OIvuztuu6QZv203ITs6caddgeC2UXJ/3oaFNMkQ==","shasum":"ac87c9cb1666c5b716dceb665ca0cec2f51c1dc9","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.4.tgz","fileCount":16,"unpackedSize":249371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb4uJfCRA9TVsSAnZWagAAiJUP/i49P1a23UDmm/Qm7q5E\nuJMSltRGnKzQVObFZSUt2ucOwBLLrZB7BzBlnRoAQoNfW5PjgSELAV4OnSin\nmKP3lP43nS5b6loAWGXBr2WF+q36Gc6KTjyeDKKCVw8XckzEyiSyj8og5gW1\np4Pdk5QlGj4Ig/ykBzkN5H3pHrvVww6f5d/VJIb4bT4DBijTEUT9J362BcNr\n9YhJlNL729aa50Ei8dIwaEKAS9KLWUOAkzriOn9ZvZTP0j1zL1+09hOEpWST\ndI5Iv7mJEpFzSNGq+3uqUCV27gyaq+l9MkwMU1MUL/tVSLumzLyYBHK6EV2p\noGL5Y/I9molH/UVFXDDw3cJoX+IBkVIq6Pm7dakvbFVCBpSc8eUXWfF9Suyi\nyK4CG4zyqjACzD3Iomc2ber7ZEpT7IHQ6P1eW+Stb1k2ljdEHWluYBTJJ8y0\nKq1IlpT3FKwvXbk2wIupQB1I/z/Fx111nGA1FJUFLxiBM9iSLTYSx7qphdw/\nxBOwimNCLweUV0myXm/hOoU97HMrw2gtcbR4tBUAjIy33vZWySW4q54TBlT1\n+2YjdUtAcS4XWrwRh8lU6trolTVZnNlm+FH/4uKf3OBS67AniyUCbS8OHMWB\nTdMspIuG2brVDWTWdj04pHs3vWSUZQimTOfI4sB5UkSMxCJ64LPyj70l7+jL\nYDGk\r\n=N4Wj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDixo66ttYw27owI+OzHWcfPOpBvbrV+N6qdYhXj9Y1gAIhAOm3HrsBRs7nGllidgEEA0MK07DZVMdzsMrFJ3yo2xTz"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.4_1541595742340_0.9105893931051201"},"_hasShrinkwrap":false},"1.0.5":{"name":"react-diff-viewer","version":"1.0.5","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline --host 192.168.31.72","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","memoize-one":"^4.0.2","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/node":"^10.12.2","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"f22b2051176560991942301929e0b6614e30e52a","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.0.5","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-SaYVY/bSIPWvLrnReDtPljqQ5J6lDlZ/4LzfjSzBtYY719Fj6lMzPiULrmFvPHbkY8Q3jPqWGXAMDEKCmEYdfQ==","shasum":"fde0c796262eb5c33e7d21858af9b01f50e3cc96","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.0.5.tgz","fileCount":16,"unpackedSize":249394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcuJ0XCRA9TVsSAnZWagAAxmMP/2gWuS7KSHA5DCmcAPvk\nF02LDPH+fw/w3gc3XBgEhcTGKf0eq/2awGaBYK7HcAWMwZKxmhCuTWzVGhec\ncOMXwoJXzx0ottLC2SAm/G7IuZIqz79C3URB/Lc80m2lZjZrEjo6T0/MdomG\nXbdKfG69C/98MV4IcDmRAi8GtWNcpcf3pmywSPG2kL1rs3H2fIeQsQD7eTjE\nEth4bYSQd7S4uEiRP6ALMrjy+GlLV/fKg2++/qUIHhy+StkIVfhRLoM/4mA2\nbeBk0Bg8NMTYjNONw/kUUdWx4xgtXgwaOTYkxspt/MSY19whL+J0c3CGlHqS\nQ1fT0ErmWrFeYqEc1R7brz6pR+SWt2Bec7kTqJYQRNsIRWD/vjzrksWkp+X5\n63s0mNhzLOZrpYGPEuOHlgJKoJnL4e6Amyan6uRf9eIj6sv1paEGcUnNyEme\n9GsYQeu/Cy8ItSHiC8kEyM0zXcyXXliZyeNOdNNkyMM729UQUlsyJrVmfuV3\nHmYkmn50yhwwRewXXHvBAvFhHd+KPf8uGbCgRcZ4Xq/oBUsbpa6YzfNO2woZ\nOBUbW9TMuZ5TLKzZWh2YT6XfePKEIp6dLdXmymc0WvzZTcyf+mQ7nk7xNSlS\nbXhh1uyCCqE9Ti2CfRY1CeC1s6jSgOapk1ayuqtUV7WlDYsVAA2OmSGJMeBR\nDOYc\r\n=ibHj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUWe84pWpRAzQGYA5oyqEhW9CwHke7ti+apyC7TJQksQIhAN0diXckVtu7zfXuTVi5YkSvEEkeN8vpOOHrdB1XktSR"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.0.5_1555602711184_0.8210152485364928"},"_hasShrinkwrap":false},"1.1.0":{"name":"react-diff-viewer","version":"1.1.0","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","diff":"^3.5.0","emotion":"^9.2.10","memoize-one":"^4.0.2","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^3.5.1","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^3.1.1","@types/mocha":"^5.2.5","@types/node":"^10.12.2","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","css-loader":"^1.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","expect":"^23.6.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^2.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.4.3","mocha":"^5.2.0","node-sass":"^4.9.3","raw-loader":"^0.5.1","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^5.2.1","ts-node":"^7.0.1","typescript":"^3.1.1","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"0addee116d0a6878c2d4d6305d338d925fbef389","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@1.1.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-8JbzwUs+q0VDu1LjmTRkzBn2gYVrH4u8eus5ei+C5+CJG6UgOb2LC/ebDNljg28gyBme045xkrhcpSNWKn3tcQ==","shasum":"0fc3e956c64132a3291386e4b910561172a0def7","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-1.1.0.tgz","fileCount":16,"unpackedSize":250368,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJczoxfCRA9TVsSAnZWagAAlhMP/1UWOiHSSug1kJ6oEVLR\nVm+s0QJkyqGo1MihkPmV3j/eznknMI2VuzHYK77gnhlkrxhh6kNfCXKY6kmZ\nHGN5KT5wdvbt+5jydgpEILDtISmUeNj4NERudeL5IiMUncjbNcjR0hNiEIxD\njNFQpDoR09DnikPHffIpArysz8Z8KtFDqf0k/qTPA3UoXagKcPZzsC2chvLr\nvYNrYyg179UsuZP/HZd4riE9JTUcNIzwXOa7amKddr/ABPlW4TzzdbS0858J\nJm7DErG+q15uZsMP3nzMUiB7ZrS/YuqkJUdW+4UShufBz5ySFRV75ZKzEmgQ\nCHIISFXyHU5H+vmVVDXb5sC3x4t/9fOSQI37Q51uEOQkw1KkSsYCrDtaqYYN\nMvS7Gk+op/Jn1LVKp4tWm64Kbo7jYa8PX634QwsFOaFf1O39rf+xVTy7jgvR\nZ93P7dr0BMG+xo8Jdv3wxweZEdH8JLgyTNLRcgL58Q4l1PvHYlqPZsm/CQCa\ngeX5x8MiSAf+hgtxAcedIxTJU/C2tCpcWcDFcm1ULpseK+P4mYFdCFSjZQ9u\nX5Z/bR2GSvxD5514SjK9utgnImlCJSPXZYp25FNOYURbzBnIlvrlgo1n8bmx\n1M62VU5jASxFB5rDh5LP7mi0DwISU2pBN7cZjFUGzWb0E0c8ObRTGFuRfCJi\n3vQf\r\n=iiVp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG4xb4mMuh0Sb5hS7NNQ0X/NiBHGPyHKq4u9sFE5onx/AiA/b4zygyDL+zviQ8OYAPgZshWyKnF3RgCMf2tc7BskTQ=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_1.1.0_1557040222458_0.9810086360843793"},"_hasShrinkwrap":false},"2.0.0-alpha.2":{"name":"react-diff-viewer","version":"2.0.0-alpha.2","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"readme":"> This is an alpha version. Not ready for production yet. Please report any bug if discovered.\n\n# React Diff Viewer\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n [![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n [![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github's diff viewer, it includes features like split view, unified view, word diff and line highlight. It is highly customizable and it supports almost all languages.  Check out the [demo](https://praneshravi.in/react-diff-viewer/).\n\n## Install\n\n```bash\nyarn add react-diff-viewer@alpha\n\n# or\n\nnpm i react-diff-viewer@alpha\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n      />\n    )\n  }\n}\n```\n\n## Props\n|Prop              |Type           |Default       |Description                                   |\n|------------------|---------------|--------------|----------------------------------------------|\n|oldValue          |`string`       |`''`          |Old value as string.                          |\n|newVlaue          |`string`       |`''`          |New value as string.                          |\n|splitView         |`boolean`      |`true`        |Switch between `unified` and `split` view.    |\n|disableWordDiff   |`boolean`      |`false`       |Show and hide word diff in a diff line.       |\n|hideLineNumbers   |`boolean`      |`false`       |Show and hide line numbers.                   |\n|renderContent     |`function`     |`undefined`   |Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)   |\n|onLineNumberClick |`function`     |`undefined`   |Event handler for line number click. `(lineId: string) => void`          |\n|hightlightLines   |`array[string]`|`[]`          |List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane.   |\n|showDiffOnly      |`boolean`      |`true`        |Shows only the diffed lines and folds the unchanged lines|\n|extraLinesSurroundingDiff|`number`|`3`           |Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.|\n|codeFoldMessageRenderer|`function`|`Expand {number} of lines ...`   |Render Prop API to render code fold message.|\n|styles            |`object`       |`{}`          |To override style variables and styles. Learn more about [overriding styles](#overriding-styles)  |\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to acheive this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\" />\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n```\n\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    addedBackground: '#e6ffed',\n    addedColor: '#24292e',\n    removedBackground: '#ffeef0',\n    removedColor: '#24292e',\n    wordAddedBackground: '#acf2bd',\n    wordRemovedBackground: '#fdb8c0',\n    addedGutterBackground: '#cdffd8',\n    removedGutterBackground: '#ffdce0',\n    gutterBackground: '#f7f7f7',\n    gutterBackgroundDark: '#f3f1f1',\n    highlightBackground: '#fffbdd',\n    highlightGutterBackground: '#fff5b1',\n    codeFoldGutterBackground: '#dbedff',\n    codeFoldBackground: '#f1f8ff',\n    emptyLineBackground: '#fafbfc',\n  },\n  diffContainer?: {}; //style object\n  diffRemoved?: {}; //style object\n  diffAdded?: {}; //style object\n  marker?: {}; //style object\n  highlightedLine?: {}; //style object\n  highlightedGutter?: {}; //style object\n  gutter?: {}; //style object\n  line?: {}; //style object\n  wordDiff?: {}; //style object\n  wordAdded?: {}; //style object\n  wordRemoved?: {}; //style object\n  codeFoldGutter?: {}; //style object\n  emptyLine?: {}; //style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n\n    const newStyles = {\n      variables: {\n        highlightBackground: '#fefed5',\n        highlightGutterBackground: '#ffcd3c',\n      },\n      line: {\n        padding: '10px 2px',\n        '&:hover': {\n          background: '#a26ea1',\n        },\n      },\n    }\n\n    return (\n      <ReactDiffViewer\n        styles={newStyles}\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","gitHead":"2e64b8493519e5c4e38ecfae9e1a478b80ce0602","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.0-alpha.2","_nodeVersion":"10.15.1","_npmVersion":"6.7.0","dist":{"integrity":"sha512-o7YoUVfpadtoAOYzNH5EMhxb6xcs2cR8dRE7uoRmyx+c+oI+fbqMCwMmLtIVtnTv9NoEOeJAG9N3WINEgSSY1w==","shasum":"7c6ca1a1594140ea452dfb016a281bacc6b1e476","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.0-alpha.2.tgz","fileCount":17,"unpackedSize":356476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJKHQCRA9TVsSAnZWagAASaAP/ibDFpRFzpjEPt9017Of\ntV/XmEBirWA8nUMmhL5O5f7hjsSbL7DT3cFJjolhwHVUl1TUHf1Mt6aCjMRD\ndytze3QgGajeOxxyzrKt13naOhfLlpLeOuiK+oQbnQoc04wGme0bSIZ1A0zT\nTws3iiirbPVb3RsD+mJMIq0zzIt0evyX6aVlYD6QZReJzlS4qOmbsu5bAKaT\nxcTpFed+0MkHRlqyze9CGzwRvbR0NMO5bbuaVnqtJBGvcjHtjYoM8iNldO6a\nkcCs9zPiCFbjblsBsjYcXuctqUOWmdyBH3SEBNDlvD9/DNSP0diywo9GxtIq\nz2OEZ5CR7PL5izpOwlOFsaAa9TdXxbuzbTsignoZE2XP9rSvkNKqs4TXqFtK\nL9tYmmWl0+Q/qeMm7VnppuUDyCidarW0J7YFHtR/J5JprrOS0UXT2EqkoUNw\nvZdV/Kr3DV62yx/ogJl2W8T2gZpZyXdgot3kK+N32h4TXvRNc9RxmVgZzBPR\n1oqYFjm2ESPXySA0ApHX46M968nFXpwlkqKr0dkqlzVCSe3nZ6IRmebrqdBM\nEViT0cD9JbwCqXbA1K72jHM2DNkJdLVRPNXgDC8rBbsSdHZt8LYtOb97pt8q\ndVRev13D1J4Dm+RsPLMqHQ13REYJ0demt2M4BnJgrV75Dgk8bH2ccw8SLfj3\nAFvn\r\n=zGXy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXejBI8iLwZqwU/Xfzvfra9KINjXovJLYy336eQoqH7wIgBPsO4hKcq2qlqEbwGNMF+on4slO1utK8/rZEi5LU954="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.0-alpha.2_1562681808041_0.2715559105383403"},"_hasShrinkwrap":false},"2.0.0-alpha.3":{"name":"react-diff-viewer","version":"2.0.0-alpha.3","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/index.tsx","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/index.tsx"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"83ddd0d71b67319fa125bcc50a5e74aa5fcbd374","readme":"> This is an alpha version. Not ready for production yet. Please report any bug if discovered.\n\n# React Diff Viewer\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n [![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n [![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github's diff viewer, it includes features like split view, unified view, word diff and line highlight. It is highly customizable and it supports almost all languages.  Check out the [demo](https://praneshravi.in/react-diff-viewer/).\n\n## Install\n\n```bash\nyarn add react-diff-viewer@alpha\n\n# or\n\nnpm i react-diff-viewer@alpha\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n      />\n    )\n  }\n}\n```\n\n## Props\n|Prop              |Type           |Default       |Description                                   |\n|------------------|---------------|--------------|----------------------------------------------|\n|oldValue          |`string`       |`''`          |Old value as string.                          |\n|newVlaue          |`string`       |`''`          |New value as string.                          |\n|splitView         |`boolean`      |`true`        |Switch between `unified` and `split` view.    |\n|disableWordDiff   |`boolean`      |`false`       |Show and hide word diff in a diff line.       |\n|hideLineNumbers   |`boolean`      |`false`       |Show and hide line numbers.                   |\n|renderContent     |`function`     |`undefined`   |Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)   |\n|onLineNumberClick |`function`     |`undefined`   |Event handler for line number click. `(lineId: string) => void`          |\n|hightlightLines   |`array[string]`|`[]`          |List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane.   |\n|showDiffOnly      |`boolean`      |`true`        |Shows only the diffed lines and folds the unchanged lines|\n|extraLinesSurroundingDiff|`number`|`3`           |Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.|\n|codeFoldMessageRenderer|`function`|`Expand {number} of lines ...`   |Render Prop API to render code fold message.|\n|styles            |`object`       |`{}`          |To override style variables and styles. Learn more about [overriding styles](#overriding-styles)  |\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to acheive this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\" />\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n```\n\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    addedBackground: '#e6ffed',\n    addedColor: '#24292e',\n    removedBackground: '#ffeef0',\n    removedColor: '#24292e',\n    wordAddedBackground: '#acf2bd',\n    wordRemovedBackground: '#fdb8c0',\n    addedGutterBackground: '#cdffd8',\n    removedGutterBackground: '#ffdce0',\n    gutterBackground: '#f7f7f7',\n    gutterBackgroundDark: '#f3f1f1',\n    highlightBackground: '#fffbdd',\n    highlightGutterBackground: '#fff5b1',\n    codeFoldGutterBackground: '#dbedff',\n    codeFoldBackground: '#f1f8ff',\n    emptyLineBackground: '#fafbfc',\n  },\n  diffContainer?: {}; //style object\n  diffRemoved?: {}; //style object\n  diffAdded?: {}; //style object\n  marker?: {}; //style object\n  highlightedLine?: {}; //style object\n  highlightedGutter?: {}; //style object\n  gutter?: {}; //style object\n  line?: {}; //style object\n  wordDiff?: {}; //style object\n  wordAdded?: {}; //style object\n  wordRemoved?: {}; //style object\n  codeFoldGutter?: {}; //style object\n  emptyLine?: {}; //style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n\n    const newStyles = {\n      variables: {\n        highlightBackground: '#fefed5',\n        highlightGutterBackground: '#ffcd3c',\n      },\n      line: {\n        padding: '10px 2px',\n        '&:hover': {\n          background: '#a26ea1',\n        },\n      },\n    }\n\n    return (\n      <ReactDiffViewer\n        styles={newStyles}\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.0-alpha.3","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-7ZJP+BQIZVcFVKaAt+ea1iSXAR2/v2r9rEjO7vHKMtUVXSFa7mBfwN3hc4PZosdJQpfGWO6bg6XYf5kQSDbakA==","shasum":"2a93ea11875287a9b2ee5cf8032b6e7a06279e24","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.0-alpha.3.tgz","fileCount":17,"unpackedSize":356489,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJKo+CRA9TVsSAnZWagAAb3kP/0CIpxre09OSe8Jz6nJZ\nKkj1xccAd5j8RVD1ggtpgsHmglHtJyIcpnNluvK7VznEBa3rj3Q/TXGI/mcx\nac4Ap8STTac5rVYRl/eglMhZpunLo1cKpmILxOktX6XKnRAbZV1IE8StRsfv\nUhPDVsV0h67nDZP1h9NY+WSFIr9eR+8b5u572BptE/oXJRIpvtQhKelGQ5H3\nfNXFbPyPCJ69qWWO7w1BLy/JkWMnxHkyFBh6qSXhyf7zppuhf2Qv/gNaMu2d\nrT9Rxu8lKyB+aeaQd+4Exuc265cy+SvnRC7wHh4K5T47taG1lj+eJQTWs/r7\nUKGldsZSLwlwi2NeFMWiP3nBViQACVQskVJm9oY30Rk9KznLEsY4i8jJVsdj\nOx3K142GY708WhXtykTFj+xi1Sav9xbUbz25TN6Yuvmo8J+zfREWYlCk5yV+\nW4I4gf2E6Z3QWdtuvLvcUE/uTIGfZ9RT467efG80L2+i2mI2/ZgEST0Ne2Ml\nwflX0bL1lEP4y7mHyLwIc7s8OKrkcnFC26KORynq9VUDlRr7gOix5nngU6xu\nR73hzaC8QD6YXad6Zvy7P06hRCnyTkDtKeHdNl3L2u1C9EteIt6byIv4mP9b\nkJwSwCfaECtOErxv31EecQH9wNVzk1JOg/pXOLFV90xXYNlfKfjzY4qEfSr4\nwAyy\r\n=RH4H\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFyGqueiVFJaezodbZpa5Yju2Lj9eznFkFnJWSMbOEs6AiBApQBPvFsJRmEfQ5PbMKTglnYrYku4KJIJASr/LM+HTg=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.0-alpha.3_1562683965696_0.7363554114537989"},"_hasShrinkwrap":false},"2.0.0-alpha.4":{"name":"react-diff-viewer","version":"2.0.0-alpha.4","private":false,"description":"The only text diff viewer needed for React","keywords":["code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"88db2435a7b71c372af644806216d3e136a8aaf6","readme":"> This is an alpha version. Not ready for production yet. Please report any bug if discovered.\n\n# React Diff Viewer\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n [![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n [![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github's diff viewer, it includes features like split view, unified view, word diff and line highlight. It is highly customizable and it supports almost all languages.  Check out the [demo](https://praneshravi.in/react-diff-viewer/).\n\n## Install\n\n```bash\nyarn add react-diff-viewer@alpha\n\n# or\n\nnpm i react-diff-viewer@alpha\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n      />\n    )\n  }\n}\n```\n\n## Props\n|Prop              |Type           |Default       |Description                                   |\n|------------------|---------------|--------------|----------------------------------------------|\n|oldValue          |`string`       |`''`          |Old value as string.                          |\n|newVlaue          |`string`       |`''`          |New value as string.                          |\n|splitView         |`boolean`      |`true`        |Switch between `unified` and `split` view.    |\n|disableWordDiff   |`boolean`      |`false`       |Show and hide word diff in a diff line.       |\n|hideLineNumbers   |`boolean`      |`false`       |Show and hide line numbers.                   |\n|renderContent     |`function`     |`undefined`   |Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)   |\n|onLineNumberClick |`function`     |`undefined`   |Event handler for line number click. `(lineId: string) => void`          |\n|hightlightLines   |`array[string]`|`[]`          |List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane.   |\n|showDiffOnly      |`boolean`      |`true`        |Shows only the diffed lines and folds the unchanged lines|\n|extraLinesSurroundingDiff|`number`|`3`           |Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.|\n|codeFoldMessageRenderer|`function`|`Expand {number} of lines ...`   |Render Prop API to render code fold message.|\n|styles            |`object`       |`{}`          |To override style variables and styles. Learn more about [overriding styles](#overriding-styles)  |\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to acheive this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\" />\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n```\n\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    addedBackground: '#e6ffed',\n    addedColor: '#24292e',\n    removedBackground: '#ffeef0',\n    removedColor: '#24292e',\n    wordAddedBackground: '#acf2bd',\n    wordRemovedBackground: '#fdb8c0',\n    addedGutterBackground: '#cdffd8',\n    removedGutterBackground: '#ffdce0',\n    gutterBackground: '#f7f7f7',\n    gutterBackgroundDark: '#f3f1f1',\n    highlightBackground: '#fffbdd',\n    highlightGutterBackground: '#fff5b1',\n    codeFoldGutterBackground: '#dbedff',\n    codeFoldBackground: '#f1f8ff',\n    emptyLineBackground: '#fafbfc',\n  },\n  diffContainer?: {}; //style object\n  diffRemoved?: {}; //style object\n  diffAdded?: {}; //style object\n  marker?: {}; //style object\n  highlightedLine?: {}; //style object\n  highlightedGutter?: {}; //style object\n  gutter?: {}; //style object\n  line?: {}; //style object\n  wordDiff?: {}; //style object\n  wordAdded?: {}; //style object\n  wordRemoved?: {}; //style object\n  codeFoldGutter?: {}; //style object\n  emptyLine?: {}; //style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n\n    const newStyles = {\n      variables: {\n        highlightBackground: '#fefed5',\n        highlightGutterBackground: '#ffcd3c',\n      },\n      line: {\n        padding: '10px 2px',\n        '&:hover': {\n          background: '#a26ea1',\n        },\n      },\n    }\n\n    return (\n      <ReactDiffViewer\n        styles={newStyles}\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.0-alpha.4","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-c+ZmRHES+il2T8PJdGZ3gnkNa7ph2IVI8hPD7dySv/kQq04zpFvOCAwBtBjzQiy1W+yVwQzBwCmde6HT82yWkQ==","shasum":"0cce49c6dfd2e632b7892dabca93763dc74169db","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.0-alpha.4.tgz","fileCount":17,"unpackedSize":363539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdJf1zCRA9TVsSAnZWagAA25MQAKFznaRYyNLWUfjULL4u\nlJsURuTefBRTBbIE3MsRurXvTQm9ohdXK8I5j3lfFRPIbLw72Gj19VTSqQ7q\nOtIlxBXgKIdm0HM8cCYLDY1qpXAJB9knn3wdkY9SsFcsi7LHsKDN+yoHgFgz\nyhkAnfoTTUTWFXKMcIf+hHPQ9tAGI8SyVN4pOcDiUhOcnbl6I6klbGenJ6p/\nqQZFRMSAx8xAuE7ZrMfzIWQlBMh/gkiYmlEs7NicRCYt8ZNUOLMySKmFBT7M\n2hImCaNcZOn2dTm+WuMWusyJuYPRJFsJKK8qyjPxMHrI1kb5FveD13oHFnje\nD4NmT/maxUQurAIiv69Os5r7KNd4krHQIt9EERNNyyr4NhrtVgn7NM1r339r\nKLKctfkYvx9ioMOYeVWO224utPuxXPz58jwj9YGp/jyx31Y0Bre/HeCKRvMG\nKkSgLJnrDTOkPA0LS4FQTmin2jheFboAgZYseT8xxf1XjuuAsSWQHuy8TUlh\nr0UA6LEUVGqvt3dcwN/qyYzAE9xSJsyhc59uUGZeWSKnkfcCFjt+u/eu4qFp\nSnKDUrM1BeTr8zJAnZ6ROimLDVmnwSeaHAOXTENW0Xnz8pKTNOiuZ9tLozjt\nblWztdlp4osG+wL0vTERJ1XD8rjkTwRdrOi7IlaIFNyQ+2tgZXPtB4d5gj/F\nsVDc\r\n=SXOm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEiFLfPtaHh/VarFOcp7or3auCLse8VQBPogfl/+qQwIAiBFFVfAKV8tp6HRKIClgAzAbGRDkvKRkjMH2DmQoe3yEg=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.0-alpha.4_1562770802738_0.5818672935202929"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"react-diff-viewer","version":"2.0.0-beta.0","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"415b8730f2106c644154b6e025da6fb85979a7cd","readme":"> This is an beta version. Not ready for production yet. Please report any bug if discovered.\n\n<br/>\n<br/>\n<br/>\n<br/>\n<p align=\"center\">\n  <img src='https://i.ibb.co/k9bYvq0/Full-View.png' width=\"80%\" alt='React Diff Viewer' />\n</p>\n<br/>\n<br/>\n<br/>\n<br/>\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n [![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n [![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer component made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github's diff viewer, it includes features like split view, inline view, word diff, line highlight and more. It is highly customizable and it supports almost all languages.  Check out the [demo](https://praneshravi.in/react-diff-viewer/).\n\n## Install\n\n```bash\nyarn add react-diff-viewer@beta\n\n# or\n\nnpm i react-diff-viewer@beta\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n      />\n    )\n  }\n}\n```\n\n## Props\n|Prop              |Type           |Default       |Description                                   |\n|------------------|---------------|--------------|----------------------------------------------|\n|oldValue          |`string`       |`''`          |Old value as string.                          |\n|newVlaue          |`string`       |`''`          |New value as string.                          |\n|splitView         |`boolean`      |`true`        |Switch between `unified` and `split` view.    |\n|disableWordDiff   |`boolean`      |`false`       |Show and hide word diff in a diff line.       |\n|hideLineNumbers   |`boolean`      |`false`       |Show and hide line numbers.                   |\n|renderContent     |`function`     |`undefined`   |Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)   |\n|onLineNumberClick |`function`     |`undefined`   |Event handler for line number click. `(lineId: string) => void`          |\n|hightlightLines   |`array[string]`|`[]`          |List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane.   |\n|showDiffOnly      |`boolean`      |`true`        |Shows only the diffed lines and folds the unchanged lines|\n|extraLinesSurroundingDiff|`number`|`3`           |Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.|\n|codeFoldMessageRenderer|`function`|`Expand {number} of lines ...`   |Render Prop API to render code fold message.|\n|styles            |`object`       |`{}`          |To override style variables and styles. Learn more about [overriding styles](#overriding-styles)  |\n\n## Instance Methods\n\n`resetCodeBlocks()` - Resets the expanded code blocks to it's initial state. Return `true` on successful reset and `false` during unsuccessful reset.\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to acheive this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\" />\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n```\n\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    diffViewerBackground: '#fff',\n    addedBackground: '#e6ffed',\n    addedColor: '#24292e',\n    removedBackground: '#ffeef0',\n    removedColor: '#24292e',\n    wordAddedBackground: '#acf2bd',\n    wordRemovedBackground: '#fdb8c0',\n    addedGutterBackground: '#cdffd8',\n    removedGutterBackground: '#ffdce0',\n    gutterBackground: '#f7f7f7',\n    gutterBackgroundDark: '#f3f1f1',\n    highlightBackground: '#fffbdd',\n    highlightGutterBackground: '#fff5b1',\n    codeFoldGutterBackground: '#dbedff',\n    codeFoldBackground: '#f1f8ff',\n    emptyLineBackground: '#fafbfc',\n  },\n  diffContainer?: {}, //style object\n  diffRemoved?: {}, //style object\n  diffAdded?: {}, //style object\n  marker?: {}, //style object\n  highlightedLine?: {}, //style object\n  highlightedGutter?: {}, //style object\n  gutter?: {}, //style object\n  line?: {}, //style object\n  wordDiff?: {}, //style object\n  wordAdded?: {}, //style object\n  wordRemoved?: {}, //style object\n  codeFoldGutter?: {}, //style object\n  emptyLine?: {}, //style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n\n    const newStyles = {\n      variables: {\n        highlightBackground: '#fefed5',\n        highlightGutterBackground: '#ffcd3c',\n      },\n      line: {\n        padding: '10px 2px',\n        '&:hover': {\n          background: '#a26ea1',\n        },\n      },\n    }\n\n    return (\n      <ReactDiffViewer\n        styles={newStyles}\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.0-beta.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-eLJ7VkYAbF5G5Qozeh1TmZlj7oWV4QZRZDlwRDiRpofKl7lOQ/AwBPfW7LljVP5XTR4eOkyJViu2mpRodRcDhg==","shasum":"364b5a7b4f975acae1ad3e623f6dddba78c29f7c","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.0-beta.0.tgz","fileCount":19,"unpackedSize":482310,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdKJ9NCRA9TVsSAnZWagAAjDsQAJaA0+xhgXIdoMz1UXKe\nVUGr/4vey4bFLYc9TYBlmt20wgqqDw4rIIv9hLkHJbV8n5SLlM1HwynLbZBU\nwbwP5vYPnRcde632Sl6UsKQ5WGP8kZyyPo8fMfYY39lRxWyTyDkelrQgsY5h\nRmqnBL4sIeedac1jygH0pey8PyblcS4r2AeYc8P+tB3np0pk+P/WOhfbqpLn\n0SSp0iYe0Flpdtjnl/gLU7cwk0AH1H28g3WSbCQthp9Zo73Vn2nWyPcHUSAT\n9qSpdTFaNZKkxbhVxzc6hJz03/h8GiBczvhCugveogPyvx92tBdS70HPf3uD\nJLOJ5Gy1g0QY3nt4ifE/ONkqfvpW6d0fbyqHQbjUOb3rZUUL9bsC64+RF3U8\nonmKwEcalUXNUQW5pVyFE+Xs9XPNoSImwG9kaXGQNUyR6JhjHcLRfFmR0nAh\nfl3lCS0URcz+pr3JhzfWjY2OzcTMgU7hMGleHPA6UvAGvfFZ6GUdOJjg8HLs\nMd3stsJXy636QDX6FE2jWPpZhkDDnzQv30g6U4rQM+c1acO6oafKevtX+zXq\nyvXbUo8dEnJanU2Q+E9njmi8UiBAAV1eb+QJD4qq+7PaF9eSGV8VJMUTbU4s\n5fUGK76gdOIrR4DUIZgKz/+DwPDDMjQ6BtAax/w4H//9rQInujEjcsoaPro/\nVcb8\r\n=daX8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICOHSbN+gREj8hEDes6jdwxlQUurp1QLL0nwcLKZvvKfAiBPtdwhTgJp4buLXso+1G+MuNwmK3SiBdRcX/cGjc1loQ=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.0-beta.0_1562943308381_0.8910323094071047"},"_hasShrinkwrap":false},"2.0.0":{"name":"react-diff-viewer","version":"2.0.0","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"55fa0a073aae0a2092445c67df881c641759c8e9","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.0","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-Y6s/yxc2CXwjdsKG073W0WHD8wIsyLlO31h6kUuz0pb492r+SMsZvKRaJirpgQCy21+37HCL0MN5ZoH0XA2MpQ==","shasum":"3ccb89aec032f1fd671c9c1a600467160b189bdc","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.0.tgz","fileCount":19,"unpackedSize":461679,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLIRlCRA9TVsSAnZWagAAMYEP/0AH0BDHue60cNBuyT0D\n06guQVtzEPQXicrbKGPhhw8ktlGguCr/YqUdG4u/bb+FIWBv3b+t8Sy48UhK\naUEU+CofHC+aASHT5ljCp68iAMqim2bBIvCFEr2oiIYJfQy7Fc/JhIlx51Z+\nI3qCq6Tc3kW54PyfVRLcTgherKrZE3Q6P+DCi9310ZXGkyj4SfiAAiXTS+1X\nbokNLO7At4Yl5y/4byC+5Nn6p+ZzTg0VQ1hTTKS6Lb86IN0Qb2PwQTKSPjuC\nk4iJXGXJbP9GGIzuoui1R0MXgujuItDzlcqSng7rrZuORfPwZeUG47Dt1ysH\nChqws3e92wp6TJ77bCYDoDW5A63Z1rxeMKAhCotGjMxz4jBATA7shR5YVh5A\nSxGV9JKK7pKZ2R8BHItV3M0D/JLn04Mi5qzK4p2ohTZ7S0uHTL3rlx+jgcmr\nXAaCVqO/A894jrtM4qw4m2vhND72EWW5dYdaaCJkQJk0snrqXUq/jo90heZk\nN5pOFOO7GqcJjRFznSxivxSAEhyse8pXh6SWOVipBzMEb5TRXDVGZR31I7q6\nF6YktxJAsRgI0mvKzT9dX/sotNG26YBsgL+8l6mRR5mBZlfKDY8S0FDwTmBJ\nJ5eN6uZQd0S+2pySMOq6Z6B9ClY/7peoh+LzlJLAoccLOYV8KWjRGn16OvlX\n/X+Y\r\n=zZ62\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDqMgF+O4EnnoipXTF4IA3Gfk30bbNGPZNsSxelbztURAIgQulEHZZI0ipmKu+Q85HMxZ1AoBrGZX6Z7vFLdJCunPI="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.0_1563198565003_0.7153975886444841"},"_hasShrinkwrap":false},"2.0.1":{"name":"react-diff-viewer","version":"2.0.1","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"c21150cfbfb960cd417dd4a63059c2f1637dfc60","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.1","_npmVersion":"6.4.1","_nodeVersion":"8.16.0","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-ZvyD5I+hD/aL60QwfiJmZKpepd8h63vq9iIFMiu6OUYC72FXXdkJ3RlCQ+5vJs6sHHe5nEMXQOHtoxSQ2eUx3g==","shasum":"84c361fa9935188deeb44bf32ca1fe66eac56b45","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.1.tgz","fileCount":19,"unpackedSize":462307,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdPUQnCRA9TVsSAnZWagAAL7cP/RsSBXmaPV90rut551vo\nFTNTu4Yd3UfW/u4QfFvrSI0pjA1Bb1Dhpebh5S4zEAmDqmPYjPhEPMh/1Oym\nl/hvDHsREsday9yXqdrguZUVkNiY8aoJJJNOr7kDENAEF5flcGKWw3ns396E\n3uTheR8+ELE0/4lUkzXMmudqvt9etbPnmbMaspG/zneS3B4pZoanc4VQtsAz\nlynJjXrcpfH5ko68qDh6H7p79Z6D3FWbN02y5UikShr2a5nLEpalsy6gBFfO\nPwMlA5KBDYO9SuYlRAs0eNB1+49CfRiMbDKzqkPkW/oesiKtIyyOzREkEzkW\nCD+Vyye/BfRgNriv8pKT2wUaBAipQKFjF5IbDcwx9k0UmO3fc1xTCkDKj48W\nwlCnhYurvKycOfc7g1GFf3RwAItIxgAVZNKo5TcXahNbOGstNxxil01NwreZ\nBmEAZ9bv+zh5/Wq8RjYf+v9TEAjPk3ePLoG5X43stL8R4gW1Xt0xckAfGGL4\n5Y4jgzamJYhynhFMt70l1vtri40MjX8q6zRHIIIQUA3KW9kd7FaAM/6wmgyI\np+gWjlTqosHJYBMqvUp6BT+xCbCSTSndc5dxgx7o4aoLNfeBod6SVuB1g67U\n8WxTHflDw1YZ8Elhwcb/qeuPWTLuiE+b6Yfse7kkWs7IxmeWufupIvnD8oup\nlQQZ\r\n=J9O3\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFsRyV5n3UKdWUTDXurCNsD0RORoqVmwKpGKamBVQIvwAiEAj587xp37BhnhdtHKQSG4Wo1KylA9UIRpX0ThacrhNRc="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.1_1564296230797_0.4803493008768689"},"_hasShrinkwrap":false},"2.0.3-beta.0":{"name":"react-diff-viewer","version":"2.0.3-beta.0","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"readme":"<br/>\n<br/>\n<br/>\n<br/>\n<p align=\"center\">\n  <img src='https://i.ibb.co/k9bYvq0/Full-View.png' width=\"80%\" alt='React Diff Viewer' />\n</p>\n<br/>\n<br/>\n<br/>\n<br/>\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n [![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n [![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer component made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github's diff viewer, it includes features like split view, inline view, word diff, line highlight and more. It is highly customizable and it supports almost all languages.  Check out the [demo](https://praneshravi.in/react-diff-viewer/).\n\nCheck [here](https://github.com/praneshr/react-diff-viewer/tree/v1.0) for v1.0\n\n## Install\n\n```bash\nyarn add react-diff-viewer\n\n# or\n\nnpm i react-diff-viewer\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n      />\n    )\n  }\n}\n```\n\n## Props\n|Prop              |Type           |Default       |Description                                   |\n|------------------|---------------|--------------|----------------------------------------------|\n|oldValue          |`string`       |`''`          |Old value as string.                          |\n|newValue          |`string`       |`''`          |New value as string.                          |\n|splitView         |`boolean`      |`true`        |Switch between `unified` and `split` view.    |\n|disableWordDiff   |`boolean`      |`false`       |Show and hide word diff in a diff line.       |\n|hideLineNumbers   |`boolean`      |`false`       |Show and hide line numbers.                   |\n|renderContent     |`function`     |`undefined`   |Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)   |\n|onLineNumberClick |`function`     |`undefined`   |Event handler for line number click. `(lineId: string) => void`          |\n|highlightLines   |`array[string]`|`[]`          |List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane.   |\n|showDiffOnly      |`boolean`      |`true`        |Shows only the diffed lines and folds the unchanged lines|\n|extraLinesSurroundingDiff|`number`|`3`           |Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.|\n|codeFoldMessageRenderer|`function`|`Expand {number} of lines ...`   |Render Prop API to render code fold message.|\n|styles            |`object`       |`{}`          |To override style variables and styles. Learn more about [overriding styles](#overriding-styles)  |\n\n## Instance Methods\n\n`resetCodeBlocks()` - Resets the expanded code blocks to it's initial state. Return `true` on successful reset and `false` during unsuccessful reset.\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to acheive this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\" />\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => <pre\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n```\n\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    diffViewerBackground: '#fff',\n    addedBackground: '#e6ffed',\n    addedColor: '#24292e',\n    removedBackground: '#ffeef0',\n    removedColor: '#24292e',\n    wordAddedBackground: '#acf2bd',\n    wordRemovedBackground: '#fdb8c0',\n    addedGutterBackground: '#cdffd8',\n    removedGutterBackground: '#ffdce0',\n    gutterBackground: '#f7f7f7',\n    gutterBackgroundDark: '#f3f1f1',\n    highlightBackground: '#fffbdd',\n    highlightGutterBackground: '#fff5b1',\n    codeFoldGutterBackground: '#dbedff',\n    codeFoldBackground: '#f1f8ff',\n    emptyLineBackground: '#fafbfc',\n  },\n  diffContainer?: {}, //style object\n  diffRemoved?: {}, //style object\n  diffAdded?: {}, //style object\n  marker?: {}, //style object\n  highlightedLine?: {}, //style object\n  highlightedGutter?: {}, //style object\n  gutter?: {}, //style object\n  line?: {}, //style object\n  wordDiff?: {}, //style object\n  wordAdded?: {}, //style object\n  wordRemoved?: {}, //style object\n  codeFoldGutter?: {}, //style object\n  emptyLine?: {}, //style object\n  emptyGutter?: {}, //style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react'\nimport ReactDiffViewer from 'react-diff-viewer'\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`\n\nclass Diff extends PureComponent {\n\n  highlightSyntax = str => <span\n    style={{ display: 'inline' }}\n    dangerouslySetInnerHTML={{ __html: Prism.highlight(str, Prism.languages.javascript) }}\n  />\n\n  render = () => {\n\n    const newStyles = {\n      variables: {\n        highlightBackground: '#fefed5',\n        highlightGutterBackground: '#ffcd3c',\n      },\n      line: {\n        padding: '10px 2px',\n        '&:hover': {\n          background: '#a26ea1',\n        },\n      },\n    }\n\n    return (\n      <ReactDiffViewer\n        styles={newStyles}\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    )\n  }\n}\n\n```\n\n## Local Development\n\n```bash\nyarn install\nyarn build # or use yarn build:watch\nyarn start:exmaples\n```\nCheck package.json for more build scripts.\n\n## License\n\nMIT\n","readmeFilename":"README.md","gitHead":"7702576d51db3956c4db046327832f5dd858be8f","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.3-beta.0","_nodeVersion":"10.15.1","_npmVersion":"6.10.3","dist":{"integrity":"sha512-HWFJFmQC+4fOkpyAJ+bb2EZ1D18EJ2dIPyF8upzSIGOi56vH3ck1hHNpHm0W5PHFdwVRR/TNyxwMjwG6w5EizA==","shasum":"aba8e6ac798475744eabc1ade544e93fb24555cf","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.3-beta.0.tgz","fileCount":20,"unpackedSize":482147,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdrbPtCRA9TVsSAnZWagAAVUcQAI2pEzll9dcqhkLUt/99\nSqk9xx3FLCoFANcbP7qRX7ylO52L9mab32B7CA5yufxx4cdgIv2bcES6U6QK\nc0og/Rdy0jz2Eh3MjD7BAr8dvuxLdxRBIWS2ycX6OS6OAdK56XFNLo7jCp3k\n0XpFW66Fu3ylDNxwjK6q5Yl+bv82WliSs9IDY6GoxUcTuni8YHpYGxMBuZvV\nm20iIASJHAJxUVeUAeaeC8fVxLgFe7JgoBgHgR8BOaTBR7F0fnRzEDjmlyus\nYQ5a45KNCBTmFT1BglkHK27QZOlAJsPnwI2xvl1i9o9TdKKMVhgAwQns2jcz\nFdbHeOkW/8oubufNlwl1RQph7ABYLskdY1Vs3IzpzgFeyNzEw2kvFxk19x7K\nQclPyqG+FZ75yF7+bfSP6EDiBIFcW/Jl7gQRf8Jn42uxjnxAYcS397NZzEce\nPQ1uhWLBhKQr1nZvdH9SD4kAk+hPyPwR5xEc/JETleAi0Vz49rdG9dFKAHtj\n9j0Ku1PHMjxyKcEGZ9NICFGdS6koqref2bjaqTe/O5tdIgfDUdL5IMWfwydH\nKvqx11Rb7z073N3JU2h907W1Tot5b/xOMDKxiXOWlJtgA1m1HCH1B9DOR6as\nPFwO7sxmQOGVuIHh4bCkauUhGzUEySmU/uJDnH/iGb4ZBZbwUrcN2cqu2fqt\nlbPY\r\n=xkwS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAFfSL0/AXXI8rBWqtCPigjVz2l5cmKw2XB7czkue46AAiEAmQG9kgvfiDmlW51Mr2HJks2WMfVahCURnMr+522KCTE="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.3-beta.0_1571664876527_0.2065387061409747"},"_hasShrinkwrap":false},"2.0.3":{"name":"react-diff-viewer","version":"2.0.3","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"d327da115c85e733ef46f5e95a896d6df09a5367","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.3","_npmVersion":"6.4.1","_nodeVersion":"10.15.1","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-loJU3vD40O+uJHvDYmScAAyHIYVYCm3A+vGdKXwF6tixoGLR8vXZuIKSMzEi9jJcXKfDdvlEnej9Q8BHsb5lPg==","shasum":"53d9929dc8da679da7e801310ab75c9f0cf63214","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.3.tgz","fileCount":22,"unpackedSize":473715,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdtlDJCRA9TVsSAnZWagAATj0P/3MLtWgUDFrMaVkIBYJZ\n3Ytpg1OJ8JRcj3EeYLS3SvXMSdskCYjFC7MG1JQmBvVLzmjH8ADJx7FOFr2q\nNekpdfITWWCiozTjn0z6vAo1gypCpj0aIK4mzlE+ohojRpvRVD6HxFAt6ocu\nkYPCEKbizID3cdNJ4nyph1tXi3QDT/8Cw/uJU18Y47+Eu0vL66mM9oYzp2NO\n4Ebn3hurIa5RZ/DGMdkx2p6jNSHXtI1wQMREOrv9M4kuS3IQ8WxumNIMF6L/\n/rcWHVUP2hKMjbucSk3+UiBbylBvgCrZzqiQN9Du8jVUETv4lBRyr5AHOze9\n6hAA5ltYfLym6mLoIhPOTNM83acnnC5gU7iQrzC3SDJCBd+AxdfqEKMaAAxE\niqMV5aw5LLI6fCfD9cIOzPpsSD0Tzrbii0zvbfomaeokM7dojSe+b7BwTs9S\nrK/juRQ/KOXiAVZUeBxyrhY8Wgcflw/djB2LbsFGA5bdJEUhxNx/FGrUnLtP\nVKNpJddjzY+5q55us8usAj5sNxdX2Y4El8sbw3jILws2LayJjhDhrexcVk9T\nhCG3NaKNf6bTCV9PfPfemg1PBJ8xlKXpN9dQxrsPAh7i/h1E9UEXLqE8mlRN\nu0Umquw+iimn0yuSRl3ta8orulBHnQhzkd3S13g/R+wvkAWJkJPNMWhAGcxw\nA1tV\r\n=QT4D\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD6o0WFLzd24EO1WW5RWQvTKEzSUEWTfpW+YPCq+Y2u3AIhAIg0spfM0zJxTQpGYQSEMz9cO7s3dKDg0I3hAVwCpJtY"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.3_1572229319761_0.9044755181774333"},"_hasShrinkwrap":false},"2.0.5":{"name":"react-diff-viewer","version":"2.0.5","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git@github.com:praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"licenseText":"MIT License\n\nCopyright (c) 2018 Pranesh Ravi\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"react-diff-viewer@2.0.5","dist":{"shasum":"9343d257717bdf2f257b9e1e0959bbfab95ccecf","integrity":"sha512-eXAryFXBEk9yXbhA5eWZxu/cKrm9ev07Q2CI4nSi+f4g2WcS87csqZHVf0Mn+r+ETlQjWkBhDn8hp4UBNBh1gA==","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.5.tgz","fileCount":24,"unpackedSize":159559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdujfwCRA9TVsSAnZWagAAnBgP/RF+DePhE24bxNwipMru\n9OsdLb3FPegOVGo26Bfu0s26LZIAMpUOIxjJKwUdViWumtlNyvINWCSPePv3\npzJWsfyqCopVSM3Lz4wCA2JTmqtpHftUc7zhy54X7ojO9SpYlcXrN7LcUMNI\nie9SSkr/hSoEsKGEm5nasHHMzZ4+j9ZdyW071mGPDowSwYLF4SKBzGbC7fsz\n+OS9Te6JV7Uk/Cybd7cmi8DhP3zk2baJClVRaXSswk4mpYQrpVViWdaHhNb4\ntjEivjkiZMxq/lMx7zKEiZRXL3OW96gmEC/syE18JIbM+BCQ27zfdqegeXAA\nZi1IBK4anYBQlfCAjuyo310IU3vwxoip6QubSx5CdvXKOZEm73w/XosUxAtI\n4X3bgDEtLaugTjdTUafVNvXjCDvJX1GDXfc7umMduppwaK+f1dmZVGiKUG6x\nVOtJkPnP+t/ZUj44Z+Bp14OhxVfTDTk9QGbhSMvYapD2hJifU2XjUFX34Kmg\nZm3ZqcHyISvKuDHX1Gwiw7K/+5y2ZotuaPoI+F07f6k7p/C6ak1EWud9t6mA\neG1tSKdOa/DXoDQxyrQMH1kRdu2uLM/KY/oC+7PRl0Phsnw5g22guU8Qo3Tf\nS3RPbbejYb/QbFu/NLd0TvFSuzCEZVuLFMM76tBg81SdDoE6ZL+G1GSHh/3Z\ndkQU\r\n=JzWO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCbt76vHnYSFaKs4qEtPwshMpIqc9aNtjKfIO4nhs4pmgIgGLlbcVI6mvzrXYR2+7zG08cWUJaQ6Six5sSutYf1i7Q="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.5_1572485104522_0.8803290815668088"},"_hasShrinkwrap":false},"2.0.6":{"name":"react-diff-viewer","version":"2.0.6","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"gitHead":"7a300131f0ba76cab2516ee32221664be1c9f9af","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@2.0.6","_npmVersion":"6.4.1","_nodeVersion":"8.16.2","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"integrity":"sha512-jS5yXgxbNvacb3Mgb+tq2ZKIS0K0pV1nPxYPtBSxxi4fAT9mU3NUjIeOBGE30Wjv9D7iTb5Qm9yy8Ih5R8ml+Q==","shasum":"e094ae5524c79cf81d1529f3d777c333a740bdb3","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-2.0.6.tgz","fileCount":20,"unpackedSize":463141,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd3MWACRA9TVsSAnZWagAAM40P/RH9estKWHkMkjDoR43E\n2+70dRwtQeK2HWT9eIvBtKuf3nbrU5E9mKRXgN17D0H7T+8e6QgASnSchmV7\nCZs93SfadTSPVUeaMd9I78XNoQCG058OukhyBMuVxcdLpDiLvBFxUoTEQtg1\nJ0ug9EswEHv8zoIszouXgMAEkZOPv57d4pEKiVjbqx8WWTpzWQJfy1Mp4JNp\nU1d/a/EY9VmgKvaAnFsDBfKPD+TKBxJn2tg4GfQciaoSRTO8U+F6d/lcAfi+\nWMfo8tfljNSlCjN+QcjOQDO2qB1gRKbVhhY9rhQkYgW2VN70F9OlENoLordh\nAZ9D7G/yokbXu20mHeN/9XRNr9zUEpE5THuW6wCFMF7yDhUsehYsJ7MptyhO\nxu0/QQStfSvpuhi0DzEwUP2q8XMIpmM5vNmm7ZwvPvqhPAbMkI5m1ez4iOij\nVbiQLpxzi/Fi3n9PGmu0RM9xrS34ZvYixfbQutVk39+e3utT9Br8c7oSl0vq\nYYd4fdOcrdbjD6kZbaIMzxFmhfysVpeTWku9FYOq3+7NjJuu2FePPrxWi6vg\nu7ewwUCCqxxDEIWhY1AHHeDMg7Ll5iH5xqx9EKvowM+sH7XimMVop9l7crvM\nJHX4OAtFa5jNQPYklK+ZvFxb81f/npy1v+br859rf8wOMS6y4V3F5ltETunt\nzfLE\r\n=o7L1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAQgvTa5ACRouO7E3Uo87e3oxO7LMuaMnbkMpr900HzWAiEA8L5i90h1GIRpYApZiTBWavqBRMu4JTnQdI+BuoS251M="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_2.0.6_1574749567892_0.9899889254411867"},"_hasShrinkwrap":false},"3.0.0-beta.1":{"name":"react-diff-viewer","version":"3.0.0-beta.1","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"readme":"<br/>\n<br/>\n<br/>\n<br/>\n<p align=\"center\">\n  <img src='https://i.ibb.co/DKrGhVQ/Frame-1-1.png' width=\"100%\" alt='React Diff Viewer' />\n</p>\n<br/>\n<br/>\n<br/>\n<br/>\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n[![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n[![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer component made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github's diff viewer, it includes features like split view, inline view, word diff, line highlight and more. It is highly customizable and it supports almost all languages. Check out the [demo](https://praneshravi.in/react-diff-viewer/).\n\nCheck [here](https://github.com/praneshr/react-diff-viewer/tree/v1.0) for v1.0\n\n## Install\n\n```bash\nyarn add react-diff-viewer@beta\n\n# or\n\nnpm i react-diff-viewer@beta\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`;\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`;\n\nclass Diff extends PureComponent {\n\trender = () => {\n\t\treturn (\n\t\t\t<ReactDiffViewer oldValue={oldCode} newValue={newCode} splitView={true} />\n\t\t);\n\t};\n}\n```\n\n## Props\n\n| Prop                      | Type            | Default                        | Description                                                                                                                                                                                                                                                                                                                                                                                                      |\n| ------------------------- | --------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| oldValue                  | `string`        | `''`                           | Old value as string.                                                                                                                                                                                                                                                                                                                                                                                             |\n| newValue                  | `string`        | `''`                           | New value as string.                                                                                                                                                                                                                                                                                                                                                                                             |\n| splitView                 | `boolean`       | `true`                         | Switch between `unified` and `split` view.                                                                                                                                                                                                                                                                                                                                                                       |\n| disableWordDiff           | `boolean`       | `false`                        | Show and hide word diff in a diff line.                                                                                                                                                                                                                                                                                                                                                                          |\n| compareMethod             | `DiffMethod`    | `DiffMethod.CHARS`             | JsDiff text diff method used for diffing strings. Check out the guide to use different method.                                                                                                                                                                                                                                                                                                                   |\n| hideLineNumbers           | `boolean`       | `false`                        | Show and hide line numbers.                                                                                                                                                                                                                                                                                                                                                                                      |\n| renderContent             | `function`      | `undefined`                    | Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)                                                                                                                                                                                                                                                                                                       |\n| onLineNumberClick         | `function`      | `undefined`                    | Event handler for line number click. `(lineId: string) => void`                                                                                                                                                                                                                                                                                                                                                  |\n| highlightLines            | `array[string]` | `[]`                           | List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane. |\n| showDiffOnly              | `boolean`       | `true`                         | Shows only the diffed lines and folds the unchanged lines                                                                                                                                                                                                                                                                                                                                                        |\n| extraLinesSurroundingDiff | `number`        | `3`                            | Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.                                                                                                                                                                                                                                                                                                                           |\n| codeFoldMessageRenderer   | `function`      | `Expand {number} of lines ...` | Render Prop API to render code fold message.                                                                                                                                                                                                                                                                                                                                                                     |\n| styles                    | `object`        | `{}`                           | To override style variables and styles. Learn more about [overriding styles](#overriding-styles)                                                                                                                                                                                                                                                                                                                 |\n| useDarkTheme              | `boolean`       | `true`                         | To enable/disable dark theme.                                                                                                                                                                                                                                                                                                                                                                                    |\n| leftTitle                 | `string`        | `undefined`                    | Column title for left section of the diff in split view. This will be used as the only title in inline view.                                                                                                                                                                                                                                                                                                     |\n| rightTitle                | `string`        | `undefined`                    | Column title for right section of the diff in split view. This will be ignored in inline view.                                                                                                                                                                                                                                                                                                                   |\n\n## Compare Methods\n\nReact diff viewer supports 7 types of jsDiff methods. By default, `DiffMethod.CHARS` is used. Other available options are the following.\n\n```javascript\nenum DiffMethod {\n  CHARS = 'diffChars',\n  WORDS = 'diffWords',\n  WORDS_WITH_SPACE = 'diffWordsWithSpace',\n  LINES = 'diffLines',\n  TRIMMED_LINES = 'diffTrimmedLines',\n  SENTENCES = 'diffSentences',\n  CSS = 'diffCss',\n}\n```\n\nTo change the diff methods, import the `DiffMethod` enum and use the available options.\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nclass Diff extends PureComponent {\n\trender = () => {\n\t\treturn (\n\t\t\t<ReactDiffViewer\n\t\t\t\toldValue={oldCode}\n\t\t\t\tnewValue={newCode}\n\t\t\t\tsplitView={true}\n\t\t\t\tcompareMethod={DiffMethod.WORDS}\n\t\t\t/>\n\t\t);\n\t};\n}\n```\n\n## Instance Methods\n\n`resetCodeBlocks()` - Resets the expanded code blocks to it's initial state. Return `true` on successful reset and `false` during unsuccessful reset.\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to acheive this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link\n\thref=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\"\n/>\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`;\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`;\n\nclass Diff extends PureComponent {\n\thighlightSyntax = str => (\n\t\t<pre\n\t\t\tstyle={{ display: 'inline' }}\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Prism.highlight(str, Prism.languages.javascript),\n\t\t\t}}\n\t\t/>\n\t);\n\n\trender = () => {\n\t\treturn (\n\t\t\t<ReactDiffViewer\n\t\t\t\toldValue={oldCode}\n\t\t\t\tnewValue={newCode}\n\t\t\t\tsplitView={true}\n\t\t\t\trenderContent={this.highlightSyntax}\n\t\t\t/>\n\t\t);\n\t};\n}\n```\n\n## Text block diff comparison\n\nDifferent styles of text block diffing are possible by using the enums corresponding to various v4.0.1 JsDiff text block method names ([learn more](https://github.com/kpdecker/jsdiff/tree/v4.0.1#api)).\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer, { DiffMethod } from 'react-diff-viewer';\n\nconst oldCode = `\n{\n  \"name\": \"Original name\",\n  \"description\": null\n}\n`;\nconst newCode = `\n{\n  \"name\": \"My updated name\",\n  \"description\": \"Brand new description\",\n  \"status\": \"running\"\n}\n`;\n\nclass Diff extends PureComponent {\n\trender = () => {\n\t\treturn (\n\t\t\t<ReactDiffViewer\n\t\t\t\toldValue={oldCode}\n\t\t\t\tnewValue={newCode}\n\t\t\t\tcompareMethod={DiffMethod.WORDS}\n\t\t\t\tsplitView={true}\n\t\t\t\trenderContent={this.highlightSyntax}\n\t\t\t/>\n\t\t);\n\t};\n}\n```\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables. You can supply different variables for both light and dark themes. Styles will be common for both themes.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    light: {\n      diffViewerBackground: '#fff',\n      diffViewerColor: '212529',\n      addedBackground: '#e6ffed',\n      addedColor: '#24292e',\n      removedBackground: '#ffeef0',\n      removedColor: '#24292e',\n      wordAddedBackground: '#acf2bd',\n      wordRemovedBackground: '#fdb8c0',\n      addedGutterBackground: '#cdffd8',\n      removedGutterBackground: '#ffdce0',\n      gutterBackground: '#f7f7f7',\n      gutterBackgroundDark: '#f3f1f1',\n      highlightBackground: '#fffbdd',\n      highlightGutterBackground: '#fff5b1',\n      codeFoldGutterBackground: '#dbedff',\n      codeFoldBackground: '#f1f8ff',\n      emptyLineBackground: '#fafbfc',\n      gutterColor: '#212529',\n      addedGutterColor: '#212529',\n      removedGutterColor: '#212529',\n      codeFoldContentColor: '#212529',\n      diffViewerTitleBackground: '#fafbfc',\n      diffViewerTitleColor: '#212529',\n      diffViewerTitleBorderColor: '#eee',\n    },\n    dark: {\n      diffViewerBackground: '#2e303c',\n      diffViewerColor: '#FFF',\n      addedBackground: '#044B53',\n      addedColor: 'white',\n      removedBackground: '#632F34',\n      removedColor: 'white',\n      wordAddedBackground: '#055d67',\n      wordRemovedBackground: '#7d383f',\n      addedGutterBackground: '#034148',\n      removedGutterBackground: '#632b30',\n      gutterBackground: '#2c2f3a',\n      gutterBackgroundDark: '#262933',\n      highlightBackground: '#2a3967',\n      highlightGutterBackground: '#2d4077',\n      codeFoldGutterBackground: '#21232b',\n      codeFoldBackground: '#262831',\n      emptyLineBackground: '#363946',\n      gutterColor: '#464c67',\n      addedGutterColor: '#8c8c8c',\n      removedGutterColor: '#8c8c8c',\n      codeFoldContentColor: '#555a7b',\n      diffViewerTitleBackground: '#2f323e',\n      diffViewerTitleColor: '#555a7b',\n      diffViewerTitleBorderColor: '#353846',\n    }\n  },\n  diffContainer?: {}, // style object\n  diffRemoved?: {}, // style object\n  diffAdded?: {}, // style object\n  marker?: {}, // style object\n  emptyGutter?: {}, // style object\n  highlightedLine?: {}, // style object\n  lineNumber?: {}, // style object\n  highlightedGutter?: {}, // style object\n  contentText?: {}, // style object\n  gutter?: {}, // style object\n  line?: {}, // style object\n  wordDiff?: {}, // style object\n  wordAdded?: {}, // style object\n  wordRemoved?: {}, // style object\n  codeFoldGutter?: {}, // style object\n  emptyLine?: {}, // style object\n  content?: {}, // style object\n  titleBlock?: {}, // style object\n  splitView?: {}, // style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`;\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`;\n\nclass Diff extends PureComponent {\n\thighlightSyntax = str => (\n\t\t<span\n\t\t\tstyle={{ display: 'inline' }}\n\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t__html: Prism.highlight(str, Prism.languages.javascript),\n\t\t\t}}\n\t\t/>\n\t);\n\n\trender = () => {\n\t\tconst newStyles = {\n\t\t\tvariables: {\n\t\t\t\tdark: {\n\t\t\t\t\thighlightBackground: '#fefed5',\n\t\t\t\t\thighlightGutterBackground: '#ffcd3c',\n\t\t\t\t},\n\t\t\t},\n\t\t\tline: {\n\t\t\t\tpadding: '10px 2px',\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackground: '#a26ea1',\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\treturn (\n\t\t\t<ReactDiffViewer\n\t\t\t\tstyles={newStyles}\n\t\t\t\toldValue={oldCode}\n\t\t\t\tnewValue={newCode}\n\t\t\t\tsplitView={true}\n\t\t\t\trenderContent={this.highlightSyntax}\n\t\t\t/>\n\t\t);\n\t};\n}\n```\n\n## Local Development\n\n```bash\nyarn install\nyarn build # or use yarn build:watch\nyarn start:examples\n```\n\nCheck package.json for more build scripts.\n\n## License\n\nMIT\n","readmeFilename":"README.md","gitHead":"a917cfad2ed98b8047a0501be0f4712ae0338f8c","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@3.0.0-beta.1","_shasum":"71dad315dbcb7d8095cb19749c5b18a0baef1085","_from":".","_npmVersion":"4.2.0","_nodeVersion":"7.10.1","_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"dist":{"shasum":"71dad315dbcb7d8095cb19749c5b18a0baef1085","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.0.0-beta.1.tgz","integrity":"sha512-VFjM49tPb57z2Vc2R7dBqr3sGG1EBvTTvyZDjb355XgaVwLZiEqjqQcUcD1lB1gcX1GeI1teBvX7/+sCROk7Ew==","fileCount":24,"unpackedSize":728611,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd8cxhCRA9TVsSAnZWagAA7FsP/1rF+EwrnLcZl3IkbS3C\nx7S+m3riIBQAWZjXxP6rFZTGLCkzuPN7rDG8owrachTb3YzXD2MxaLfUgeJK\nsSvPNL4dxpk7lzTG4r797oMVXNGD/Ru/ki0SmHrsVizTiGmX7R3vD79xIjlX\nAVHNwz2tgfs5VXxLnJc091fSC0+5uRbiZVX/SBR3DeRKlxiKhPU24BZ6ZmfT\nzpAHSTMJDlqGoFB3NvlYUaIuyO1k7xPCEABmrwek4i75bWRxIu/7M2vVV6TD\nttkqb34oBzcyaimr/PtlwyPh8AiuCS8NZjpEH/cLTGJiM5XpEjRyqdzQWUcV\nPOexmJ+ns3a2h0pgXVav0m3eQDQbLViI68LhhIO6il6xXPjlIcjv/ysKCsdr\nBQUS/9U2R7wFDEbyGoBPZnJqq+0C67aSNFtDFcRnzf2S+S7iILIlmgUuZbe4\nnh89BjkZMLYPkRroksfNPzm5DWQWp5wA6DZ/rI2x/CTmkJ4ye1YP2kODGQQC\nHesf8I4Wx4ynxWZpNA9HYAOg4qwNQ4xUb4v4pZStpKShnIoP6WJs2B29yHit\nyrjSmqW43pHEaXtmB9Enlr3gpuqdArwhdU8Bz5rwd6DyWg9HgbFuv4JMudyn\n/Zk6vm3vTwHoVEsKOskmL4WYsvURpCiHfU/R01gKh5pqWagkuLvpTdhlGqJj\ntcmE\r\n=6EyX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHeeQ7XGoJwm5wGtCxfQa55+BZiDwLXSVLAyk8jp/5C7AiEAwf8zSDgeGN8J0UooQywLwraIWSG6h7+JVSf04CMKSgs="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_3.0.0-beta.1_1576127585523_0.902181838672715"},"_hasShrinkwrap":false},"3.0.0":{"name":"react-diff-viewer","version":"3.0.0","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"engines":{"node":"^12"},"gitHead":"95953d3d54b4fbf851b432fa2bc3fce45ba696ec","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@3.0.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-8BJqOC/d/dZQuH3loJ3acOS0gHQTMtctD8XiO/EoUiywsROlJ8CW2iZCX+uqGmuH83rCTQGQ0jtdyY+wqDFssw==","shasum":"192e087f1aba221019407fd0b9f27d8ec2eab29d","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.0.0.tgz","fileCount":19,"unpackedSize":78479,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+HiPCRA9TVsSAnZWagAAUUgP/i5otfCCo0EGyJqRkqYk\nRdPgZw6vg7lBYR9YVWsN+T5BlU0PN/3QlNqpKYujQyU4TEkwuJO9KdQhF++h\nBwMtl210Mku6RHEy87+urMzkCOakh0ltRi3iXtmevlaukXv3YvHwf9V5xK9T\ns+lHGdE3xMNGyPwy/ABJPbsxsptvNgIyn4E4Pgx6Co5ElZWUqJBrVhIFLncV\nNGyr12d/SurHiv2bA2Xt+GnuEfSOfG/MrCvcwpD5AWgenjNA177WubS2fR59\nsuaQO/z/YA/ILU50c9qneqGi16ew8eoo0IRFhi79NBVRoLhQEZaDBYzG7gZ+\n/4U3uynjL6nTGWynvZNKeO6LqcQ6ojzoO5YUSUHzvVzrMxriuXL6Vj1bDiIe\nhMJcPnstzrtL7YmYWV0fwdyOrdC2QGuMBAAxIK6kq3x9C+n/Mdfmxzkyk3Fd\nbKECW1RmAw/tRG/Soi36VukPplPLzCKRWOXLYe8jPCvgvemVSvKtq0/pDPll\n2Ata/CWsTprafHcHe3QK2Yuka4ftPfaNH2QC9O4HVA3V2csSnPC3rCdK6sSI\nvzJb6txIdC3Qx3FV/rj3pMXjw/+DwbvBQf+p0DqLVIWtQ53/soKY8157DGft\nxy1K0DM8mB5/y+c4220bYpIWAXNyDTCeybBC5QO3v1tLlXZz8paeXRPh78vL\n7pbL\r\n=bV+e\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY0uAEYOirGxMZZ1uZWyIaDLWDfHJjnSIziXUlB3+DkwIhAJ0tB8DAjhNhQyRb/azmEjocSvori0+RucUAnwTd/zOO"}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_3.0.0_1576564879192_0.6934513706997052"},"_hasShrinkwrap":false},"3.0.1":{"name":"react-diff-viewer","version":"3.0.1","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"engines":{"node":"^12 || ^10 || ^8"},"gitHead":"fb96ee94eb15ea14902ae99251156f30a66f49a7","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@3.0.1","_nodeVersion":"12.14.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-eOOn24lwlmc5f0OUof3s5kHwI9AwnZEKi5bQ23zz4OcWQa1ODwHWjxoKT6j+kGRWHGn9IAOz6l16D1FBFrnW0A==","shasum":"25da026018b2191f790b7d25b6d0401bda32c26b","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.0.1.tgz","fileCount":19,"unpackedSize":78492,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+wBxCRA9TVsSAnZWagAANe0P+wXYRIPBM4pIC0oigsqc\nj6szVprQgVgTVVuaQN2nqAvDAlTwne+HaoFbRJEDflodbsxcd4WD7gaofkTF\nFR+Ya8MkGDbjymoEcLRvpnFrH4rmPQNpx8ekKCdcJ0eJMkrorVS1Hp+w8Sk4\ntxQXVMaHIHivDFtkPFWnoj+QQ72+v5111UUtSwp9ef4vxyV8iGbdBEA9Q/Sg\nwn0S26cbUi5VwsAA710f+Inzb+MmCLdBpNdvGZ7QL0TrEmnV5r3u+onDslm8\nYO12LaEoy0OYXtN6QJQ740PpjbnrK3mi3DUBy6YtcXFr5ZqrUG9qJ5Kxgfxx\na2ZhGfotn59z9KwFJkqT806a2y/u3OqmwfjK+dYt1wEJuGHBt0S7BO6NhnoE\ngy3d3+J5lIl/gko+BYFPhKFRlI/7xG7kZ3rLFTNN1STnlIfcBnraJVJR5y7G\nI4E6sKXqNyxnWmV1KztGRfAe5hlWdfRWT8l4yIHHy7tteeXXqcx7mm6K6ac8\nzWIBRk6s68n5LeORtEkuTsG8H8ewFOyf+rwW/mURWqDkHpF70wpXB3pMr3b7\n15I04J81isex+0MXeAwjmpyBaDBSEDqjtvSAPwyTjy77/l4eztOhh6yFad0i\nlT58KR2bY9tqseLjnGd0UaYGA+K5TgfzBfrXwkUZ+sJE5ERt6hAFDx7W+TpJ\nA7ae\r\n=fBkx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC9PFE5oN6eLNUTD/Gb5FGEMhzR2gjn6KVL+uGyRDuU3gIgPJwaM/UsmYfuJPQ7xU3PtHe2toZ02jlQ0/HKnmEIAhs="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_3.0.1_1576730736892_0.31098821051827685"},"_hasShrinkwrap":false},"3.0.2":{"name":"react-diff-viewer","version":"3.0.2","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"engines":{"node":">= 8"},"gitHead":"5a5ec1e0cbd1dc7583eff9dcd3e131e01d6538f7","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@3.0.2","_nodeVersion":"12.16.1","_npmVersion":"6.13.4","dist":{"integrity":"sha512-pNTgxisla+WfbH5fOovY3es5xNKDAmc8pZR0gh6NNw4mXv7DJCCgS+lv/mqWz6FaHJnI6bDSIT330KHJGulubg==","shasum":"bbe52c2331344da4c22c094396322a05656ba22f","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.0.2.tgz","fileCount":19,"unpackedSize":78480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYHYSCRA9TVsSAnZWagAAui0P/1WrM3oQUEblhZT7WqyC\nUQdNOlWeWA3IE5q8ECotQ1ryU8kFrJ/cxSiyYP9qWF1yQ8t2/xMpBIQ/hPw/\no/2NJMC99Uk6pPySMPN33Jwi3CROSUZjTy/c9bWuNeyc5EsoDZGXG1oxIteJ\n+uKZ++qdNwk+hx0DxyfNbsOhBhHH9Qtnc3Fqsz6Kfj5cOUB+m5YrI5SINkMl\nB29Kr8kkuPNG4R4S1p6/UnDIbV1+ztEc1YAFmqrWpo6LiAiElDAxchyavz1j\nPAcxfY8g5ZjIlekMBMSIUaFatPbeFVK5U0O3RYPk1hbSWpE/vzZ27frmQtP+\nVXsjOBEYXbgaPQfw3zJdG1c59Y3IZmaWAF4w23bWPMCcHcCWm6UT0/MqRHQq\nE/JCjw9M5wGrNKrqjTgih7U6ZHhCJhxdNiV1W574KkG6jwpnyzKCHr5tJI2J\nUAd9L5WDtrXRiyiOWkWbnKub/P54e2NKmRPz3Y42lNziTk5C0rteWmODOE9n\nP42qKnEdbz18tOsYg1wtCc3ps62F+HhuQYe0aWRkFH6uVW6zm7MhTKsT8ijx\nrCyxf1YEBzQAQvBqwyoJCsqFy6P723EhJ8HGJJtNoxdlOolO0OjwYFUSR9su\ng+lfef2EoBK7cqSwt6+Bgkm3QNe1jJeyVPk6Oj1zXHXlXsEA3MnLObkIqbzU\nwXxt\r\n=YB4b\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDW9oNdjxi0FmbjdT+aSOTU5MuTiapLzm60g8zscSJXEAiBIuS78+g5v78hOhKGWPSThmUDcV9a2XvzzJtjPyELYAg=="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_3.0.2_1583379985678_0.49235345321676305"},"_hasShrinkwrap":false},"3.1.0":{"name":"react-diff-viewer","version":"3.1.0","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"engines":{"node":">= 8"},"gitHead":"4f131d4ab1d54fa33a61727d60ae1d52b9b8f264","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@3.1.0","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-yRM8u4rTmplZ1acy5oLUSLkPiyvJXhGMb4+2YzS3R5BPxGOSYxsvHwbe9Hu/gW3t4aPfrjY2QSZb4BIoLZGJHQ==","shasum":"c41086813e5bf2e2c7091e4492d27184cb02947c","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.1.0.tgz","fileCount":19,"unpackedSize":83635,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJewU03CRA9TVsSAnZWagAA+9oQAIhP6aMiGDqtLhBXm8/i\nxQcOGB+Q/+OsNVp10b7SidWE9yQ1S6Hic61WvHdBiYdU8KTVykolCOxdXN+F\nBCTErsHFA9qQzuWgTk1cnmZ3jy+GfPOoPbnm0/YHToVqLPKpuU8ojXvre9GM\nm3ETOFAG0vkIhxNjdsiSH/D0IKn7WXTro+jY7MRGu3zJlCAmCiLhntmJOJx1\nvZ49OkuW5nNzf18jx7Kp+IYJvpPryIN45Bz5p+meLasENCAC5cWXT08RiORk\nj8oKltpJ+IxAluawohJxJUBmpqotjTYsjwxWD+PXlc2NhzS3gQ//LmFyovkW\n0/mBIsGA1RFXH1nqw4IUxndvq65+BI4plEYBQ7UnGL3scnAI9vKbcXf8jbPP\nbdwxmnsrqU3N7TWKj0je3YJLanoehF/JJ41ao8IqpXE2GTKgdZAe49vvj5m+\nS2qvfNaRqirTEGiYFZuiUBp7uHo1bRHQlF+dWGfE0MfCNW4rZMh7bgK8Q+g3\nUwT8VRWGiIJ7+QGq7X8trX4uqMsmnjJmMfkOPkcGOs7IFmc5Xq9TBpn++R/k\nJ99f3USaerAoBnsLKl6Gw6lkCQPuT27xx97Na4gPbZLyMZ8R1mnMa4R5LRqW\n9XvOeklJVJeyHupKUgLAOeMARH3SOGQXnL6oVV2iUxidryxdi7yFMx70Rysi\nQ60M\r\n=g0qg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDe9OQV0HcV+ipEy7VYt5FgdgZLaawOqtJzTNyl0qnFmAIgfFZmOvZZr6tchzHP94wJ1ebs3dH3jlOfvvNdLziCUYc="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_3.1.0_1589726518906_0.32489860457233966"},"_hasShrinkwrap":false},"3.1.1":{"name":"react-diff-viewer","version":"3.1.1","private":false,"description":"A simple and beautiful text diff viewer component made with diff and React","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"license":"MIT","author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"main":"lib/index","typings":"lib/index","scripts":{"build":"tsc --outDir lib/","build:examples":"webpack --progress --colors","build:watch":"tsc --outDir lib/ -w","publish:examples":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist -r $GITHUB_REPO_URL","publish:examples:local":"NODE_ENV=production yarn build:examples && gh-pages -d examples/dist","start:examples":"webpack-dev-server --open --hot --inline","test":"mocha --require ts-node/register --require enzyme.ts ./test/**","test:watch":"mocha --require ts-node/register --require enzyme.ts --watch-extensions ts,tsx --watch ./test/**"},"dependencies":{"classnames":"^2.2.6","create-emotion":"^10.0.14","diff":"^4.0.1","emotion":"^10.0.14","memoize-one":"^5.0.4","prop-types":"^15.6.2"},"devDependencies":{"@types/classnames":"^2.2.6","@types/diff":"^4.0.2","@types/enzyme":"^3.1.14","@types/enzyme-adapter-react-16":"^1.0.3","@types/expect":"^1.20.3","@types/memoize-one":"^4.1.1","@types/mocha":"^5.2.5","@types/node":"^12.0.12","@types/react":"^16.4.14","@types/react-dom":"^16.0.8","@types/webpack":"^4.4.13","@typescript-eslint/eslint-plugin":"^1.11.0","@typescript-eslint/parser":"^1.11.0","css-loader":"^3.0.0","enzyme":"^3.7.0","enzyme-adapter-react-16":"^1.6.0","eslint":"6.0.1","eslint-config-airbnb":"17.1.1","eslint-plugin-import":"^2.18.0","eslint-plugin-jsx-a11y":"^6.2.3","eslint-plugin-react":"^7.14.2","expect":"^24.8.0","favicons-webpack-plugin":"^0.0.9","file-loader":"^4.0.0","gh-pages":"^2.0.1","html-webpack-plugin":"^3.2.0","mini-css-extract-plugin":"^0.7.0","mocha":"^6.1.4","node-sass":"^4.9.3","raw-loader":"^3.0.0","react":"^16.5.2","react-dom":"^16.5.2","sass-loader":"^7.1.0","spy":"^1.0.0","ts-loader":"^6.0.4","ts-node":"^8.3.0","typescript":"^3.5.2","webpack":"^4.20.2","webpack-cli":"^3.1.1","webpack-dev-server":"^3.1.9"},"peerDependencies":{"react":"^15.3.0 || ^16.0.0","react-dom":"^15.3.0 || ^16.0.0"},"engines":{"node":">= 8"},"gitHead":"9ac4ba90643f0695179aebab6ce6311adbad0f11","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"},"homepage":"https://github.com/praneshr/react-diff-viewer#readme","_id":"react-diff-viewer@3.1.1","_nodeVersion":"12.16.3","_npmVersion":"6.14.4","dist":{"integrity":"sha512-rmvwNdcClp6ZWdS11m1m01UnBA4OwYaLG/li0dB781e/bQEzsGyj+qewVd6W5ztBwseQ72pO7nwaCcq5jnlzcw==","shasum":"21ac9c891193d05a3734bfd6bd54b107ee6d46cc","tarball":"https://registry.npmjs.org/react-diff-viewer/-/react-diff-viewer-3.1.1.tgz","fileCount":19,"unpackedSize":83956,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJex3WfCRA9TVsSAnZWagAASw4QAIJ4Cnxvh4BxDKWRIttJ\nOdU/TJsdldwFHeDPGY739l1Oa5fUEZfTWkaUhBll88yP/d0jVTVmVPKy9uy/\nsnWVNPbGFjo5N8D9ntcdOTqvGm2VL/pgthK+JX9s0ji5yyHrfo6xdZ4xnHUE\n4RTmvswgBTKg66WikS31HmYKIhLR/cFDXnCvus3Ah5DKE7Gukf4fHD52QnNO\nxhJb7Wg2XSdnXZrm+zp1Upd10e/Zrj71DZUcyJEbpg6zhjIYLPehSsxx7D4I\nNX43jR5fJOrC0MJi3SkysKlpAAeWLycaTFK8qW/BegX63Oh+nXpbBi1skHOu\nU+59Q/jy51Y78ajbC7rg5SkspfVdK2SkrRiZCYF2v5Wv25nesDEoertC7/7q\nQeep5DIE27GTnESGP4krXd1EGMm9ejXJ2VFjRlKJ5hJuSFCjWQqhntW3ONri\nMSJH6I8YZH/dHdyOrFZFUCH+UHxiKOE7W/DZ43+1cJdgsg3CTYWbnZUhnFYC\ndIM4QeIFud+ifkpDXwJUknnH/+6RBU8hHQi6hUopZ2beyU/EBHjS9pWILxKu\ngit5Q21mURNIUpH8Wx3zkSk4CHFzal94BZ8DhchVRbHcR4KyQ7khv84cVxYh\ny8OdfKwSa/tpxTb0vTkAMn/27cddH6LKbiT3EpoB+gvRB2/5PDmRalxjIuiV\nbhSl\r\n=uev6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDq322NOWjeVJuBULbeXkl7YedVCTOZ4fgTtMwQd3R1vAiEAhQr63HAdTK4bQPgrXx/6guo5Xz7SlTzCSzm3nHaDmpQ="}]},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"_npmUser":{"name":"praneshravi","email":"praneshpranesh@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-diff-viewer_3.1.1_1590130078874_0.08698153986384649"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-27T06:21:42.981Z","0.0.1":"2018-09-27T06:21:43.124Z","modified":"2022-05-14T09:36:33.614Z","1.0.0-alpha.1":"2018-11-02T11:47:42.456Z","1.0.0-beta.1":"2018-11-03T11:34:46.957Z","1.0.0-beta.2":"2018-11-03T15:11:59.582Z","1.0.0-beta-3":"2018-11-03T17:50:43.928Z","1.0.3":"2018-11-04T07:39:44.755Z","1.0.4":"2018-11-07T13:02:22.496Z","1.0.5":"2019-04-18T15:51:51.310Z","1.1.0":"2019-05-05T07:10:22.627Z","2.0.0-alpha.1":"2019-07-09T14:12:12.283Z","2.0.0-alpha.2":"2019-07-09T14:16:48.338Z","2.0.0-alpha.3":"2019-07-09T14:52:45.923Z","2.0.0-alpha.4":"2019-07-10T15:00:02.945Z","2.0.0-beta.0":"2019-07-12T14:55:08.563Z","2.0.0":"2019-07-15T13:49:25.150Z","2.0.1":"2019-07-28T06:43:51.068Z","2.0.3-beta.0":"2019-10-21T13:34:36.692Z","2.0.3":"2019-10-28T02:22:00.073Z","2.0.4":"2019-10-31T01:21:48.179Z","2.0.5":"2019-10-31T01:25:04.717Z","2.0.6":"2019-11-26T06:26:08.069Z","3.0.0-beta.1":"2019-12-12T05:13:05.650Z","3.0.0":"2019-12-17T06:41:19.293Z","3.0.1":"2019-12-19T04:45:37.068Z","3.0.2":"2020-03-05T03:46:25.788Z","3.1.0":"2020-05-17T14:41:59.036Z","3.1.1":"2020-05-22T06:47:58.989Z"},"maintainers":[{"name":"praneshravi","email":"praneshpranesh@gmail.com"}],"description":"A simple and beautiful text diff viewer component made with diff and React","repository":{"type":"git","url":"git+ssh://git@github.com/praneshr/react-diff-viewer.git"},"author":{"name":"Pranesh Ravi","email":"praneshpranesh@gmail.com"},"license":"MIT","readme":"\n<p align=\"center\">\n  <img src='https://i.ibb.co/DKrGhVQ/Frame-1-1.png' width=\"100%\" alt='React Diff Viewer' />\n</p>\n<br/>\n\n[![Build Status](https://travis-ci.com/praneshr/react-diff-viewer.svg?branch=master)](https://travis-ci.com/praneshr/react-diff-viewer)\n[![npm version](https://badge.fury.io/js/react-diff-viewer.svg)](https://badge.fury.io/js/react-diff-viewer)\n[![GitHub license](https://img.shields.io/github/license/praneshr/react-diff-viewer.svg)](https://github.com/praneshr/react-diff-viewer/blob/master/LICENSE)\n\nA simple and beautiful text diff viewer component made with [Diff](https://github.com/kpdecker/jsdiff) and [React](https://reactjs.org).\n\nInspired from Github diff viewer, it includes features like split view, inline view, word diff, line highlight and more. It is highly customizable and it supports almost all languages.\n\nCheck [here](https://github.com/praneshr/react-diff-viewer/tree/v2.0) for v2.0\n\n## Install\n\n```bash\nyarn add react-diff-viewer\n\n# or\n\nnpm i react-diff-viewer\n```\n\n## Usage\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`;\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`;\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer oldValue={oldCode} newValue={newCode} splitView={true} />\n    );\n  };\n}\n```\n\n## Props\n\n| Prop                      | Type            | Default                        | Description                                                                                                                                                                                                                                                                                                                                                                                                      |\n| ------------------------- | --------------- | ------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| oldValue                  | `string`        | `''`                           | Old value as string.                                                                                                                                                                                                                                                                                                                                                                                             |\n| newValue                  | `string`        | `''`                           | New value as string.                                                                                                                                                                                                                                                                                                                                                                                             |\n| splitView                 | `boolean`       | `true`                         | Switch between `unified` and `split` view.                                                                                                                                                                                                                                                                                                                                                                       |\n| disableWordDiff           | `boolean`       | `false`                        | Show and hide word diff in a diff line.                                                                                                                                                                                                                                                                                                                                                                          |\n| compareMethod             | `DiffMethod`    | `DiffMethod.CHARS`             | JsDiff text diff method used for diffing strings. Check out the [guide](https://github.com/praneshr/react-diff-viewer/tree/v3.0.0#text-block-diff-comparison) to use different methods.                                                                                                                                                                                                                          |\n| hideLineNumbers           | `boolean`       | `false`                        | Show and hide line numbers.                                                                                                                                                                                                                                                                                                                                                                                      |\n| renderContent             | `function`      | `undefined`                    | Render Prop API to render code in the diff viewer. Helpful for [syntax highlighting](#syntax-highlighting)                                                                                                                                                                                                                                                                                                       |\n| onLineNumberClick         | `function`      | `undefined`                    | Event handler for line number click. `(lineId: string) => void`                                                                                                                                                                                                                                                                                                                                                  |\n| highlightLines            | `array[string]` | `[]`                           | List of lines to be highlighted. Works together with `onLineNumberClick`. Line number are prefixed with `L` and `R` for the left and right section of the diff viewer, respectively. For example, `L-20` means 20th line in the left pane. To highlight a range of line numbers, pass the prefixed line number as an array. For example, `[L-2, L-3, L-4, L-5]` will highlight the lines `2-5` in the left pane. |\n| showDiffOnly              | `boolean`       | `true`                         | Shows only the diffed lines and folds the unchanged lines                                                                                                                                                                                                                                                                                                                                                        |\n| extraLinesSurroundingDiff | `number`        | `3`                            | Number of extra unchanged lines surrounding the diff. Works along with `showDiffOnly`.                                                                                                                                                                                                                                                                                                                           |\n| codeFoldMessageRenderer   | `function`      | `Expand {number} of lines ...` | Render Prop API to render code fold message.                                                                                                                                                                                                                                                                                                                                                                     |\n| styles                    | `object`        | `{}`                           | To override style variables and styles. Learn more about [overriding styles](#overriding-styles)                                                                                                                                                                                                                                                                                                                 |\n| useDarkTheme              | `boolean`       | `true`                         | To enable/disable dark theme.                                                                                                                                                                                                                                                                                                                                                                                    |\n| leftTitle                 | `string`        | `undefined`                    | Column title for left section of the diff in split view. This will be used as the only title in inline view.                                                                                                                                                                                                                                                                                                     |\n| rightTitle                | `string`        | `undefined`                    | Column title for right section of the diff in split view. This will be ignored in inline view.                                                                                                                                                                                                                                                                                                                   |\n| linesOffset               | `number`        | `0`                            | Number to start count code lines from.                                                                                                                                                                                                                                                                                                                                                                           |\n\n## Instance Methods\n\n`resetCodeBlocks()` - Resets the expanded code blocks to it's initial state. Return `true` on successful reset and `false` during unsuccessful reset.\n\n## Syntax Highlighting\n\nSyntax highlighting is a bit tricky when combined with diff. Here, React Diff Viewer provides a simple render prop API to handle syntax highlighting. Use `renderContent(content: string) => JSX.Element` and your favorite syntax highlighting library to achieve this.\n\nAn example using [Prism JS](https://prismjs.com)\n\n```html\n// Load Prism CSS\n<link\n  href=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.css\"\n/>\n\n// Load Prism JS\n<script src=\"https://cdnjs.cloudflare.com/ajax/libs/prism/1.15.0/prism.min.js\"></script>\n```\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`;\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`;\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => (\n    <pre\n      style={{ display: 'inline' }}\n      dangerouslySetInnerHTML={{\n        __html: Prism.highlight(str, Prism.languages.javascript),\n      }}\n    />\n  );\n\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    );\n  };\n}\n```\n\n## Text block diff comparison\n\nDifferent styles of text block diffing are possible by using the enums corresponding to variou JsDiff methods ([learn more](https://github.com/kpdecker/jsdiff/tree/v4.0.1#api)). The supported methods are as follows.\n\n```javascript\nenum DiffMethod {\n  CHARS = 'diffChars',\n  WORDS = 'diffWords',\n  WORDS_WITH_SPACE = 'diffWordsWithSpace',\n  LINES = 'diffLines',\n  TRIMMED_LINES = 'diffTrimmedLines',\n  SENTENCES = 'diffSentences',\n  CSS = 'diffCss',\n}\n```\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer, { DiffMethod } from 'react-diff-viewer';\n\nconst oldCode = `\n{\n  \"name\": \"Original name\",\n  \"description\": null\n}\n`;\nconst newCode = `\n{\n  \"name\": \"My updated name\",\n  \"description\": \"Brand new description\",\n  \"status\": \"running\"\n}\n`;\n\nclass Diff extends PureComponent {\n  render = () => {\n    return (\n      <ReactDiffViewer\n        oldValue={oldCode}\n        newValue={newCode}\n        compareMethod={DiffMethod.WORDS}\n        splitView={true}\n      />\n    );\n  };\n}\n```\n\n## Overriding Styles\n\nReact Diff Viewer uses [emotion](https://emotion.sh/) for styling. It also offers a simple way to override styles and style variables. You can supply different variables for both light and dark themes. Styles will be common for both themes.\n\nBelow are the default style variables and style object keys.\n\n```javascript\n\n// Default variables and style keys\n\nconst defaultStyles = {\n  variables: {\n    light: {\n      diffViewerBackground: '#fff',\n      diffViewerColor: '212529',\n      addedBackground: '#e6ffed',\n      addedColor: '#24292e',\n      removedBackground: '#ffeef0',\n      removedColor: '#24292e',\n      wordAddedBackground: '#acf2bd',\n      wordRemovedBackground: '#fdb8c0',\n      addedGutterBackground: '#cdffd8',\n      removedGutterBackground: '#ffdce0',\n      gutterBackground: '#f7f7f7',\n      gutterBackgroundDark: '#f3f1f1',\n      highlightBackground: '#fffbdd',\n      highlightGutterBackground: '#fff5b1',\n      codeFoldGutterBackground: '#dbedff',\n      codeFoldBackground: '#f1f8ff',\n      emptyLineBackground: '#fafbfc',\n      gutterColor: '#212529',\n      addedGutterColor: '#212529',\n      removedGutterColor: '#212529',\n      codeFoldContentColor: '#212529',\n      diffViewerTitleBackground: '#fafbfc',\n      diffViewerTitleColor: '#212529',\n      diffViewerTitleBorderColor: '#eee',\n    },\n    dark: {\n      diffViewerBackground: '#2e303c',\n      diffViewerColor: '#FFF',\n      addedBackground: '#044B53',\n      addedColor: 'white',\n      removedBackground: '#632F34',\n      removedColor: 'white',\n      wordAddedBackground: '#055d67',\n      wordRemovedBackground: '#7d383f',\n      addedGutterBackground: '#034148',\n      removedGutterBackground: '#632b30',\n      gutterBackground: '#2c2f3a',\n      gutterBackgroundDark: '#262933',\n      highlightBackground: '#2a3967',\n      highlightGutterBackground: '#2d4077',\n      codeFoldGutterBackground: '#21232b',\n      codeFoldBackground: '#262831',\n      emptyLineBackground: '#363946',\n      gutterColor: '#464c67',\n      addedGutterColor: '#8c8c8c',\n      removedGutterColor: '#8c8c8c',\n      codeFoldContentColor: '#555a7b',\n      diffViewerTitleBackground: '#2f323e',\n      diffViewerTitleColor: '#555a7b',\n      diffViewerTitleBorderColor: '#353846',\n    }\n  },\n  diffContainer?: {}, // style object\n  diffRemoved?: {}, // style object\n  diffAdded?: {}, // style object\n  marker?: {}, // style object\n  emptyGutter?: {}, // style object\n  highlightedLine?: {}, // style object\n  lineNumber?: {}, // style object\n  highlightedGutter?: {}, // style object\n  contentText?: {}, // style object\n  gutter?: {}, // style object\n  line?: {}, // style object\n  wordDiff?: {}, // style object\n  wordAdded?: {}, // style object\n  wordRemoved?: {}, // style object\n  codeFoldGutter?: {}, // style object\n  emptyLine?: {}, // style object\n  content?: {}, // style object\n  titleBlock?: {}, // style object\n  splitView?: {}, // style object\n}\n```\n\nTo override any style, just pass the new style object to the `styles` prop. New style will be computed using `Object.assign(default, override)`.\n\nFor keys other than `variables`, the value can either be an object or string interpolation.\n\n```javascript\nimport React, { PureComponent } from 'react';\nimport ReactDiffViewer from 'react-diff-viewer';\n\nconst oldCode = `\nconst a = 10\nconst b = 10\nconst c = () => console.log('foo')\n\nif(a > 10) {\n  console.log('bar')\n}\n\nconsole.log('done')\n`;\nconst newCode = `\nconst a = 10\nconst boo = 10\n\nif(a === 10) {\n  console.log('bar')\n}\n`;\n\nclass Diff extends PureComponent {\n  highlightSyntax = str => (\n    <span\n      style={{ display: 'inline' }}\n      dangerouslySetInnerHTML={{\n        __html: Prism.highlight(str, Prism.languages.javascript),\n      }}\n    />\n  );\n\n  render = () => {\n    const newStyles = {\n      variables: {\n        dark: {\n          highlightBackground: '#fefed5',\n          highlightGutterBackground: '#ffcd3c',\n        },\n      },\n      line: {\n        padding: '10px 2px',\n        '&:hover': {\n          background: '#a26ea1',\n        },\n      },\n    };\n\n    return (\n      <ReactDiffViewer\n        styles={newStyles}\n        oldValue={oldCode}\n        newValue={newCode}\n        splitView={true}\n        renderContent={this.highlightSyntax}\n      />\n    );\n  };\n}\n```\n\n## Local Development\n\n```bash\nyarn install\nyarn build # or use yarn build:watch\nyarn start:examples\n```\n\nCheck package.json for more build scripts.\n\n## License\n\nMIT\n","readmeFilename":"README.md","keywords":["review","code-review","diff","diff-viewer","github","react","react-component","ui"],"homepage":"https://github.com/praneshr/react-diff-viewer#readme","bugs":{"url":"https://github.com/praneshr/react-diff-viewer/issues"}}