diff --git a/README.md b/README.md index 8008cb90..4e2ef937 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,20 @@ ## WARNING: THIS IS NOT YET PRODUCTION-QUALITY CODE. Docs and Tests are still being written. Use at your own risk. If your project requires composable React charts, we recommend using [Victory](https://github.com/FormidableLabs/victory). # reactochart + Charting library for React # API +[comment]: <> (TODO: Update readme to include directions on importing base styles) + ### Non-XY charts + * PieChart * TreeMap ### XYPlot & XY charts + * XYPlot * BarChart * RangeBarChart @@ -19,9 +24,10 @@ Charting library for React * AreaHeatmap * Histogram * KernelDensityEstimation -* *planned: AreaChart, StackedBarChart, GroupedBarChart* +* _planned: AreaChart, StackedBarChart, GroupedBarChart_ ### XY Axis Components + * XAxis, YAxis * XAxisTitle, YAxisTitle * XAxisLabels, YAxisLabels @@ -29,15 +35,18 @@ Charting library for React * XGrid, YGrid ### XY datum components (used by charts/axes) -* Bar + +* Bar * RangeRect * XLine, YLine -* *planned: AreaRect?, AreaCircle?* +* _planned: AreaRect?, AreaCircle?_ ### Higher-order components + * resolveXYScales ### Utilities + * Data * Scale * Axis @@ -45,14 +54,13 @@ Charting library for React * Margin * depthEqual - # Examples If you just want to run the examples locally: -1. Clone this repo and `cd` to the newly-created directory -2. Run `npm serve` in your terminal -3. Go to [http://localhost:8000](http://localhost:8000) +1. Clone this repo and `cd` to the newly-created directory +2. Run `npm run serve` in your terminal (note: if you're running Python in v3 or higher you'll need to run `python -m http.server`) +3. Go to [http://localhost:8000](http://localhost:8000) # Development @@ -61,34 +69,34 @@ If you'd like to contribute to the development this project, first fork & clone ### Global dependencies * This project uses NPM to manage dependencies and run scripts. Run `npm -v` to check if you already have it installed. -If you don't have it, NPM is packaged with Node.js - download and run the -[install package located on nodejs.org](https://nodejs.org/) to install. + If you don't have it, NPM is packaged with Node.js - download and run the + [install package located on nodejs.org](https://nodejs.org/) to install. * Babel is used to transpile ES6+ code to ES5 syntax. Install by running `npm install --global babel` * Webpack is used to bundle the JS & styles for the examples. Install by running `npm install --global webpack` ### Project dependencies * Run `npm install` in the project root directory. This will install all of the project dependencies into the -`node_modules` directory. + `node_modules` directory. ### Development process * Run `npm run dev` to run the development server (webpack-dev-server), which will serve a live development version of -the examples at [localhost:9876](http://localhost:9876) + the examples at [localhost:9876](http://localhost:9876) * Make changes to the library code in the `src` directory, and/or changes to the examples in the `examples/src` -directory. + directory. * Once you are happy with your changes, run `npm run build` to generate a production build. (This transpiles the ES6 -library code, and transpiles + bundles the examples). + library code, and transpiles + bundles the examples). * `git commit` and `git push` your changes to your forked version of the repo. * Open a Github pull request if you'd like to get your changes merged into the official repository. ### Notes * **Do not make any changes in the `lib` or `examples/build` directories**, as these directories are destroyed and -regenerated on each build. + regenerated on each build. * The development server uses [react-hot-loader](https://github.com/gaearon/react-hot-loader) to automatically -"hot reload" changes to React components, so refreshing your web browser is usually not necessary. However, some -changes will still require a refresh to propagate. + "hot reload" changes to React components, so refreshing your web browser is usually not necessary. However, some + changes will still require a refresh to propagate. # TO DO: @@ -97,8 +105,9 @@ changes will still require a refresh to propagate. * documentation ## additional chart types + * Range-Value Bar Chart * Value-Range Bar Chart * Range-Range Bar Chart * 2D Histogram (heatmap) -* 2D KDE? \ No newline at end of file +* 2D KDE? diff --git a/package-lock.json b/package-lock.json index cdc8bedc..b3ec5d72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6585,169 +6585,34 @@ } }, "less": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/less/-/less-2.7.3.tgz", - "integrity": "sha512-KPdIJKWcEAb02TuJtaLrhue0krtRLoRoo7x6BNJIBelO00t/CCdJQUnHW5V34OnHMWzIktSalJxRO+FvytQlCQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/less/-/less-3.0.4.tgz", + "integrity": "sha512-q3SyEnPKbk9zh4l36PGeW2fgynKu+FpbhiUNx/yaiBUQ3V0CbACCgb9FzYWcRgI2DJlP6eI4jc8XPrCTi55YcQ==", "dev": true, "requires": { "errno": "0.1.7", "graceful-fs": "4.1.11", "image-size": "0.5.5", - "mime": "1.3.6", + "mime": "1.6.0", "mkdirp": "0.5.1", "promise": "7.3.1", - "request": "2.81.0", - "source-map": "0.5.7" + "request": "2.85.0", + "source-map": "0.6.1" }, "dependencies": { - "assert-plus": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", - "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=", - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", - "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=", - "dev": true, - "optional": true - }, - "boom": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", - "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "cryptiles": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", - "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "form-data": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", - "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.6", - "mime-types": "2.1.18" - } - }, - "har-schema": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", - "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=", - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", - "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "hawk": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", - "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", - "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=", - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", - "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.1", - "sshpk": "1.14.1" - } - }, - "performance-now": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", - "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=", + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, "optional": true }, - "qs": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", - "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=", + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, "optional": true - }, - "request": { - "version": "2.81.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", - "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.7.0", - "caseless": "0.12.0", - "combined-stream": "1.0.6", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.18", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.2", - "stringstream": "0.0.5", - "tough-cookie": "2.3.4", - "tunnel-agent": "0.6.0", - "uuid": "3.2.1" - } - }, - "sntp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", - "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } } } }, diff --git a/package.json b/package.json index d3e956b1..79ae110d 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "files": [ "*.js", "*.js.map", + "styles.css", "utils/", "src/" ], @@ -17,10 +18,11 @@ "lint": "eslint ./src", "lint-fix": "eslint ./src --ext .js --fix", "prepublish": "npm run build", - "build": "npm run build-lib && npm run docs", + "build": "npm run build-lib && npm run build-css && npm run docs", "dev": "webpack-dev-server --config webpack.config.base.js", "docs": "npm run make-docs && npm run build-docs", "build-lib": "npm run clean && babel src --out-dir ./ --source-maps", + "build-css": "lessc ./styles/charts.less ./styles.css", "build-docs": "BABEL_ENV=production webpack --config webpack.config.build.js", "make-docs": "node scripts/makeDocs.js", "clean": "node scripts/clean.js", @@ -69,7 +71,7 @@ "html-webpack-plugin": "^2.30.1", "jsdom": "^9.12.0", "json-loader": "^0.5.2", - "less": "^2.5.1", + "less": "^3.0.4", "less-loader": "^4.0.5", "mocha": "^3.5.0", "prettier": "^1.12.1", diff --git a/scripts/clean.js b/scripts/clean.js index 4fc963b8..62580913 100644 --- a/scripts/clean.js +++ b/scripts/clean.js @@ -1,7 +1,7 @@ const fs = require("fs"); const sh = require("shelljs"); -const {fileExists, dirExists} = require("./utils"); +const { fileExists, dirExists } = require("./utils"); const srcContents = sh.ls("src"); @@ -22,8 +22,13 @@ srcContents.forEach(fileOrDir => { sh.rm("-rf", `./${fileOrDir}`); } // check for source maps too - if(fileExists(`./${fileOrDir}.map`)) { + if (fileExists(`./${fileOrDir}.map`)) { console.log(`deleting file ./${fileOrDir}.map`); sh.rm(`./${fileOrDir}.map`); } }); + +// Clean compiled css file +if (fileExists("./styles.css")) { + sh.rm("./styles.css"); +} diff --git a/styles/charts.less b/styles/charts.less new file mode 100644 index 00000000..3b8ed6a5 --- /dev/null +++ b/styles/charts.less @@ -0,0 +1,147 @@ +.chart-tick { + fill: none; + stroke: #666; + stroke-width: 1px; +} +.chart-grid-line { + stroke: #b9b9b9; + stroke-width: 1px; +} + +.line-chart, +.xy-plot { + //background: #f0f0f0; + //background: lightblue; + margin-right: 6px; + + .chart-background { + fill: none; + } + .plot-background { + fill: #e0e0e0; + } + + * { + user-select: none; + -webkit-user-select: none; + -moz-user-select: none; + } + .chart-line { + fill: none; + //stroke: steelblue; + stroke: #090909; + stroke-width: 1.5px; + stroke-linejoin: bevel; + } + + .chart-zero-line { + stroke: #888; + stroke-width: 1.5px; + } + .chart-axis-value-label { + font-size: 8pt; + } + .chart-axis-value-label-x { + text-anchor: middle; + } + .chart-axis-value-label-y { + text-anchor: end; + } + .chart-selected-range { + fill: #eeeef6; + } + + .chart-axis-label { + font-size: 16pt; + font-weight: bold; + } +} + +.chart-bar, +.chart-area-bar { + fill: steelblue; +} + +.marker-line-chart { + line { + stroke: black; + stroke-width: 2px; + } +} + +.pie-chart { + path { + stroke: none; + //stroke: black; + } + .pie-slice-0 { + fill: steelblue; + } + .pie-slice-1 { + fill: darkred; + } + .pie-slice-2 { + fill: orange; + } + .pie-slice-empty { + fill: #ddd; + } + .pie-label-center { + font-size: 26pt; + } + .marker-line { + stroke: black; + stroke-width: 2px; + } +} + +path { + fill: none; + //stroke: steelblue; + stroke: #0a0a0a; + stroke-width: 1.5px; + stroke-linejoin: bevel; +} +.chart-series-0 { + path { + stroke: steelblue; + } +} +.chart-series-1 { + path { + stroke: darkred; + } +} +.chart-series-2 { + path { + stroke: orange; + } +} + +.area-chart { + .area-chart-path { + stroke-width: 0; + fill: steelblue; + } +} + +.sankey-nodes .sankey-node { + fill: #000; +} +.sankey-links .sankey-link { + stroke: rgba(0, 0, 0, 0.16); +} +.sankey-node-label { + pointer-events: none; + font-size: 10pt; +} +.sankey-link-label { + pointer-events: none; + alignment-baseline: middle; + dominant-baseline: central; + font-size: 8.5pt; + color: #333; +} +.sankey-node-terminal { + fill: steelblue; +} diff --git a/yarn.lock b/yarn.lock index 083442e2..79ed944d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -147,7 +147,7 @@ ajv-keywords@^3.1.0: version "3.2.0" resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a" -ajv@^4.7.0, ajv@^4.9.1: +ajv@^4.7.0: version "4.11.8" resolved "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" dependencies: @@ -332,10 +332,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" -assert-plus@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" - assert@^1.1.1: version "1.4.1" resolved "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" @@ -395,15 +391,11 @@ autoprefixer@^6.3.1: postcss "^5.2.16" postcss-value-parser "^3.2.3" -aws-sign2@~0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" -aws4@^1.2.1, aws4@^1.6.0: +aws4@^1.6.0: version "1.7.0" resolved "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" @@ -1251,12 +1243,6 @@ boolbase@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - dependencies: - hoek "2.x.x" - boom@4.x.x: version "4.3.1" resolved "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" @@ -1769,7 +1755,7 @@ colors@~1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" -combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: +combined-stream@1.0.6, combined-stream@~1.0.5: version "1.0.6" resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" dependencies: @@ -1980,12 +1966,6 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - dependencies: - boom "2.x.x" - cryptiles@3.x.x: version "3.1.2" resolved "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" @@ -3077,7 +3057,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: +extend@^3.0.0, extend@~3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" @@ -3287,14 +3267,6 @@ forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" -form-data@~2.1.1: - version "2.1.4" - resolved "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.5" - mime-types "^2.1.12" - form-data@~2.3.1: version "2.3.2" resolved "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" @@ -3511,21 +3483,10 @@ handle-thing@^1.2.5: version "1.2.5" resolved "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz#fd7aad726bf1a5fd16dfc29b2f7a6601d27139c4" -har-schema@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" -har-validator@~4.2.1: - version "4.2.1" - resolved "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" - dependencies: - ajv "^4.9.1" - har-schema "^1.0.5" - har-validator@~5.0.3: version "5.0.3" resolved "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" @@ -3624,15 +3585,6 @@ hast-util-sanitize@^1.0.0: dependencies: xtend "^4.0.1" -hawk@~3.1.3: - version "3.1.3" - resolved "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - hawk@~6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" @@ -3664,10 +3616,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - hoek@4.x.x: version "4.2.1" resolved "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" @@ -3802,14 +3750,6 @@ http-proxy@^1.16.2: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" - dependencies: - assert-plus "^0.2.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - http-signature@~1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -4442,18 +4382,18 @@ less-loader@^4.0.5: loader-utils "^1.1.0" pify "^3.0.0" -less@^2.5.1: - version "2.7.3" - resolved "https://registry.npmjs.org/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b" +less@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/less/-/less-3.0.4.tgz#d27dcedbac96031c9e7b76f1da1e4b7d83760814" optionalDependencies: errno "^0.1.1" graceful-fs "^4.1.2" image-size "~0.5.0" - mime "^1.2.11" + mime "^1.4.1" mkdirp "^0.5.0" promise "^7.1.1" - request "2.81.0" - source-map "^0.5.3" + request "^2.83.0" + source-map "~0.6.0" levn@^0.3.0, levn@~0.3.0: version "0.3.0" @@ -4911,7 +4851,7 @@ miller-rabin@^4.0.0: version "1.33.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db" -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18: version "2.1.18" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8" dependencies: @@ -4925,7 +4865,7 @@ mime@1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" -mime@^1.2.11, mime@^1.5.0: +mime@^1.4.1, mime@^1.5.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" @@ -5283,7 +5223,7 @@ numeral@^2.0.6: version "1.4.4" resolved "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz#2285631f34a95f0d0395cd900c96ed39b58f346e" -oauth-sign@~0.8.1, oauth-sign@~0.8.2: +oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -5630,10 +5570,6 @@ pbkdf2@^3.0.3: safe-buffer "^5.0.1" sha.js "^2.4.8" -performance-now@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" - performance-now@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" @@ -6057,10 +5993,6 @@ qs@6.5.1, qs@~6.5.1: version "6.5.1" resolved "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" -qs@~6.4.0: - version "6.4.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" - query-string@^4.1.0: version "4.3.4" resolved "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" @@ -6479,34 +6411,7 @@ replace-ext@1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" -request@2.81.0: - version "2.81.0" - resolved "https://registry.npmjs.org/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" - dependencies: - aws-sign2 "~0.6.0" - aws4 "^1.2.1" - caseless "~0.12.0" - combined-stream "~1.0.5" - extend "~3.0.0" - forever-agent "~0.6.1" - form-data "~2.1.1" - har-validator "~4.2.1" - hawk "~3.1.3" - http-signature "~1.1.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.7" - oauth-sign "~0.8.1" - performance-now "^0.2.0" - qs "~6.4.0" - safe-buffer "^5.0.1" - stringstream "~0.0.4" - tough-cookie "~2.3.0" - tunnel-agent "^0.6.0" - uuid "^3.0.0" - -request@^2.79.0: +request@^2.79.0, request@^2.83.0: version "2.85.0" resolved "https://registry.npmjs.org/request/-/request-2.85.0.tgz#5a03615a47c61420b3eb99b7dba204f83603e1fa" dependencies: @@ -6860,12 +6765,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - dependencies: - hoek "2.x.x" - sntp@2.x.x: version "2.1.0" resolved "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" @@ -6934,7 +6833,7 @@ source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, sourc version "0.5.7" resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" -source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" @@ -7123,7 +7022,7 @@ stringify-object@2.4.0: is-plain-obj "^1.0.0" is-regexp "^1.0.0" -stringstream@~0.0.4, stringstream@~0.0.5: +stringstream@~0.0.5: version "0.0.5" resolved "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" @@ -7334,7 +7233,7 @@ toposort@^1.0.0: version "1.0.7" resolved "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" -tough-cookie@^2.3.2, tough-cookie@~2.3.0, tough-cookie@~2.3.3: +tough-cookie@^2.3.2, tough-cookie@~2.3.3: version "2.3.4" resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" dependencies: @@ -7638,7 +7537,7 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0: +uuid@^3.0.1, uuid@^3.1.0: version "3.2.1" resolved "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"