diff --git a/cpp/perspective/src/cpp/emscripten.cpp b/cpp/perspective/src/cpp/emscripten.cpp index c0c8b1db3e..c78704bbe2 100644 --- a/cpp/perspective/src/cpp/emscripten.cpp +++ b/cpp/perspective/src/cpp/emscripten.cpp @@ -561,7 +561,7 @@ namespace binding { template val - col_to_typed_array(std::vector data) { + col_to_typed_array(std::vector const& data) { int data_size = data.size(); std::vector vals; vals.reserve(data.size()); @@ -593,7 +593,7 @@ namespace binding { template <> val - col_to_typed_array(std::vector data) { + col_to_typed_array(std::vector const& data) { int data_size = data.size(); std::vector vals; @@ -631,7 +631,7 @@ namespace binding { template <> val - col_to_typed_array(std::vector data) { + col_to_typed_array(std::vector const& data) { int data_size = data.size(); t_vocab vocab; @@ -690,6 +690,7 @@ namespace binding { case DTYPE_INT16: { return col_to_typed_array(data); } break; + case DTYPE_DATE: case DTYPE_TIME: { return col_to_typed_array(data); } break; diff --git a/docs/i18n/en.json b/docs/i18n/en.json index 5bcd943925..e860d0fb51 100644 --- a/docs/i18n/en.json +++ b/docs/i18n/en.json @@ -23,6 +23,12 @@ "md/usage": { "title": "User Guide" }, + "obj/perspective-viewer": { + "title": "`perspective-viewer` API" + }, + "obj/perspective": { + "title": "`perspective` API" + }, "README": { "title": "README" } diff --git a/docs/md/installation.md b/docs/md/installation.md index c0adfd8776..d956813cc2 100644 --- a/docs/md/installation.md +++ b/docs/md/installation.md @@ -42,7 +42,7 @@ cp -r node_modules/@finos/perspective/build my_build/assets/ By far the easiest way to get started with Perspective in the browser, the full library can be used directly from -[unpkg.com](https://unpkg.com/@finos/perspective-examples/build/perspective.view.js) +[unpkg.com](https://unpkg.com/@finos/perspective-examples/build/perspective-viewer.js) CDN by simply adding these scripts to your `.html`'s `` section: ```html diff --git a/docs/md/usage.md b/docs/md/usage.md index 5d0bfeaa74..28a40abb51 100644 --- a/docs/md/usage.md +++ b/docs/md/usage.md @@ -374,9 +374,9 @@ you can just import the pre-bundled assets from their respective modules, which export their default visualizations. ```html - - - + + + diff --git a/docs/siteConfig.js b/docs/siteConfig.js index 72720d4827..f34e40010b 100644 --- a/docs/siteConfig.js +++ b/docs/siteConfig.js @@ -39,10 +39,10 @@ const siteConfig = { scripts: [ "https://buttons.github.io/buttons.js", - "https://unpkg.com/@finos/perspective/build/perspective.js", - "https://unpkg.com/@finos/perspective-viewer/build/perspective.view.js", - "https://unpkg.com/@finos/perspective-viewer-hypergrid/build/hypergrid.plugin.js", - "https://unpkg.com/@finos/perspective-viewer-d3fc/build/d3fc.plugin.js", + "https://unpkg.com/@finos/perspective", + "https://unpkg.com/@finos/perspective-viewer", + "https://unpkg.com/@finos/perspective-viewer-hypergrid", + "https://unpkg.com/@finos/perspective-viewer-d3fc", "js/animation.js" ], diff --git a/examples/git_history/chained.html b/examples/git_history/chained.html index 0df6c6e724..85d8cb539d 100644 --- a/examples/git_history/chained.html +++ b/examples/git_history/chained.html @@ -14,9 +14,9 @@ - - - + + + @@ -29,7 +29,7 @@ - - - + + + @@ -29,7 +29,7 @@ - - - + + + @@ -29,7 +29,7 @@ diff --git a/examples/simple/citibike.html b/examples/simple/citibike.html index 9d738e7ccd..ea2b3aae62 100644 --- a/examples/simple/citibike.html +++ b/examples/simple/citibike.html @@ -15,9 +15,9 @@ - - - + + + @@ -73,7 +73,7 @@ sort='[["num_bikes_available","desc"]]'> diff --git a/examples/simple/csv.html b/examples/simple/csv.html index d01be085e3..079e0833e2 100644 --- a/examples/simple/csv.html +++ b/examples/simple/csv.html @@ -14,9 +14,9 @@ - - - + + + diff --git a/examples/simple/investing.ohlc.html b/examples/simple/investing.ohlc.html index 5a4338a93f..b072ff267c 100644 --- a/examples/simple/investing.ohlc.html +++ b/examples/simple/investing.ohlc.html @@ -6,9 +6,9 @@ - - - + + + @@ -29,7 +29,7 @@
- diff --git a/examples/simple/linked.html b/examples/simple/linked.html index bd5d5894c6..5f93f9db1b 100644 --- a/examples/simple/linked.html +++ b/examples/simple/linked.html @@ -14,9 +14,9 @@ - - - + + + @@ -54,7 +54,7 @@ - + diff --git a/examples/simple/streaming.html b/examples/simple/streaming.html index 899eae015d..6f4db8886d 100644 --- a/examples/simple/streaming.html +++ b/examples/simple/streaming.html @@ -14,9 +14,9 @@ - - - + + + diff --git a/examples/simple/superstore-arrow.html b/examples/simple/superstore-arrow.html index 3a6519f04a..75669bf086 100644 --- a/examples/simple/superstore-arrow.html +++ b/examples/simple/superstore-arrow.html @@ -14,9 +14,9 @@ - - - + + + @@ -28,7 +28,7 @@ - + diff --git a/package.json b/package.json index 2fd10d95ee..7625f6782e 100644 --- a/package.json +++ b/package.json @@ -34,20 +34,18 @@ "jsdoc-babel": "^0.5.0", "jsdoc-to-markdown": "^4.0.1", "lerna": "^2.11.0", - "mini-css-extract-plugin": "^0.6.0", + "mini-css-extract-plugin": "^0.7.0", "minimist": "^1.2.0", "mkdirp": "^0.5.1", "npm-run-all": "^4.1.3", - "on-build-webpack": "^0.1.0", "pre-commit": "^1.2.2", "prettier": "^1.14.2", "rimraf": "^2.6.2", "sinon": "^7.3.1", - "ts-loader": "^3.5.0", + "ts-loader": "^6.0.4", "typescript": "~2.9.2", "webpack": "^4.31.0", "webpack-cli": "^3.3.2" - }, "pre-commit": [ "precommit" diff --git a/packages/perspective-bench/bench/versions.js b/packages/perspective-bench/bench/versions.js index 9b3e38bf28..8b89b4e04f 100644 --- a/packages/perspective-bench/bench/versions.js +++ b/packages/perspective-bench/bench/versions.js @@ -35,12 +35,12 @@ const JPMC_VERSIONS = [ const FINOS_VERSIONS = ["0.3.0-rc.3", "0.3.0-rc.2", "0.3.0-rc.1"]; async function run() { - await PerspectiveBench.run("master", "bench/perspective.benchmark.js", `http://host.docker.internal:8080/perspective.js`, {output: "build/benchmark", puppeteer: true}); + await PerspectiveBench.run("master", "bench/perspective.benchmark.js", `http://host.docker.internal:8080/perspective.js`, {output: "dist/benchmark", puppeteer: true}); for (const version of FINOS_VERSIONS) { const url = `https://unpkg.com/@finos/perspective@${version}/build/perspective.js`; await PerspectiveBench.run(version, "bench/perspective.benchmark.js", url, { - output: "build/benchmark", + output: "dist/benchmark", read: true, puppeteer: true }); @@ -49,7 +49,7 @@ async function run() { for (const version of JPMC_VERSIONS) { const url = `https://unpkg.com/@jpmorganchase/perspective@${version}/build/perspective.js`; await PerspectiveBench.run(version, "bench/perspective.benchmark.js", url, { - output: "build/benchmark", + output: "dist/benchmark", read: true, puppeteer: true }); diff --git a/packages/perspective-bench/src/html/benchmark.html b/packages/perspective-bench/src/html/benchmark.html index b746c42380..dfbef6934f 100644 --- a/packages/perspective-bench/src/html/benchmark.html +++ b/packages/perspective-bench/src/html/benchmark.html @@ -14,9 +14,9 @@ - - - + + + diff --git a/packages/perspective-cli/src/html/index.html b/packages/perspective-cli/src/html/index.html index 42ec5e2f23..62f845aec7 100644 --- a/packages/perspective-cli/src/html/index.html +++ b/packages/perspective-cli/src/html/index.html @@ -12,9 +12,9 @@ - - - + + + diff --git a/packages/perspective-cli/src/js/index.js b/packages/perspective-cli/src/js/index.js index ec009ca5c5..3760b15760 100755 --- a/packages/perspective-cli/src/js/index.js +++ b/packages/perspective-cli/src/js/index.js @@ -7,7 +7,7 @@ * */ -const {WebSocketServer, table} = require("@finos/perspective/build/perspective.node.js"); +const {WebSocketServer, table} = require("@finos/perspective"); const {read_stdin, open_browser} = require("./utils.js"); const fs = require("fs"); const path = require("path"); diff --git a/packages/perspective-jupyterlab/package.json b/packages/perspective-jupyterlab/package.json index c42ca7c38b..498fc4905d 100644 --- a/packages/perspective-jupyterlab/package.json +++ b/packages/perspective-jupyterlab/package.json @@ -38,18 +38,13 @@ "@finos/perspective-webpack-plugin": "^0.3.1", "@types/jest": "^23.3.9", "@types/node": "^11.11.0", - "css-loader": "^0.26.1", "file-loader": "^0.11.1", "identity-obj-proxy": "^3.0.0", "isomorphic-fetch": "^2.2.1", - "jest": "^23.6.0", "jest-transform-css": "^2.0.0", - "rimraf": "^2.5.2", "source-map-support": "^0.5.9", - "style-loader": "^0.13.1", "ts-jest": "^23.10.4", - "typescript": "^3.2.4", - "webpack": "^2.2.1" + "typescript": "^3.2.4" }, "jupyterlab": { "extension": "dist/index.js" diff --git a/packages/perspective-jupyterlab/src/config/plugin.config.js b/packages/perspective-jupyterlab/src/config/plugin.config.js index 0a91335998..f002d997d5 100644 --- a/packages/perspective-jupyterlab/src/config/plugin.config.js +++ b/packages/perspective-jupyterlab/src/config/plugin.config.js @@ -12,6 +12,7 @@ const PerspectivePlugin = require("@finos/perspective-webpack-plugin"); const webpack = require("webpack"); module.exports = { + mode: process.env.PSP_NO_MINIFY || process.env.PSP_DEBUG ? "development" : process.env.NODE_ENV || "production", entry: "./src/ts/index.ts", resolveLoader: { alias: { @@ -21,20 +22,32 @@ module.exports = { resolve: { extensions: [".ts", ".js"] }, + performance: { + hints: false, + maxEntrypointSize: 512000, + maxAssetSize: 512000 + }, externals: /\@jupyter|\@phosphor/, + stats: {modules: false, hash: false, version: false, builtAt: false, entrypoints: false}, plugins: [new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /(en|es|fr)$/), new PerspectivePlugin()], module: { rules: [ { test: /\.css$/, + exclude: /node_modules/, use: [{loader: "css-loader"}] }, { - test: /\.json$/, - loader: "json-loader" + test: /\.(wasm)$/, + type: "javascript/auto", + use: { + loader: "arraybuffer-loader", + options: {} + } }, { test: /\.ts$/, + exclude: /node_modules/, loader: "ts-loader" } ] @@ -42,6 +55,6 @@ module.exports = { output: { filename: "index.js", libraryTarget: "umd", - path: path.resolve(__dirname, "../../dist") + path: path.resolve(__dirname, "../../dist/umd") } }; diff --git a/packages/perspective-jupyterlab/src/ts/arraybuffer.d.ts b/packages/perspective-jupyterlab/src/ts/arraybuffer.d.ts index 761f201b09..4c85242481 100644 --- a/packages/perspective-jupyterlab/src/ts/arraybuffer.d.ts +++ b/packages/perspective-jupyterlab/src/ts/arraybuffer.d.ts @@ -7,5 +7,5 @@ * */ -declare module 'arraybuffer-loader!*'; -declare module 'file-worker-loader?inline=true!*'; +declare module '@finos/perspective/dist/umd/psp.async.wasm'; +declare module '!!file-worker-loader?inline=true!*'; diff --git a/packages/perspective-jupyterlab/src/ts/widget.ts b/packages/perspective-jupyterlab/src/ts/widget.ts index 61806da06b..38943ba4dc 100644 --- a/packages/perspective-jupyterlab/src/ts/widget.ts +++ b/packages/perspective-jupyterlab/src/ts/widget.ts @@ -12,8 +12,9 @@ import {DOMWidgetModel, DOMWidgetView, ISerializers} from '@jupyter-widgets/base import {PERSPECTIVE_VERSION} from './version'; import perspective from "@finos/perspective"; -import * as wasm from "arraybuffer-loader!@finos/perspective/build/psp.async.wasm"; -import * as worker from "file-worker-loader?inline=true!@finos/perspective/build/perspective.wasm.worker.js"; + +import * as wasm from "@finos/perspective/dist/umd/psp.async.wasm"; +import * as worker from "!!file-worker-loader?inline=true!@finos/perspective/dist/umd/perspective.wasm.worker.js"; if (perspective) { perspective.override({wasm, worker}); @@ -21,7 +22,7 @@ if (perspective) { console.warn('Perspective was undefined - wasm load errors may occur'); } -import {PerspectiveWidget} from '@finos/perspective-phosphor/src/ts/index'; +import {PerspectiveWidget} from '@finos/perspective-phosphor'; export class PerspectiveModel extends DOMWidgetModel { diff --git a/packages/perspective-phosphor/package.json b/packages/perspective-phosphor/package.json index b171ff457a..cd0087b516 100644 --- a/packages/perspective-phosphor/package.json +++ b/packages/perspective-phosphor/package.json @@ -3,15 +3,12 @@ "version": "0.3.1", "description": "Perspective.js", "files": [ - "build/*.d.ts", - "build/*.js.map", - "build/*.js", - "build/*.wasm", + "dist/**/*", "src/css/*.css", "babel.config.js" ], - "main": "build/index.js", - "types": "build/index.d.ts", + "main": "dist/cjs/index.js", + "types": "dist/cjs/index.d.ts", "license": "Apache-2.0", "publishConfig": { "access": "public" @@ -22,8 +19,8 @@ "bench:run": "echo \"No Benchmarks\"", "test": "npm-run-all test:run", "test:run": "echo done", - "build": "webpack --color --config src/config/plugin.config.js", - "clean": "rimraf build" + "build": "webpack --color --config src/config/cjs.config.js", + "clean": "rimraf dist" }, "dependencies": { "@finos/perspective": "^0.3.1", @@ -37,17 +34,13 @@ "devDependencies": { "@finos/perspective-webpack-plugin": "^0.3.1", "@types/jest": "^23.3.9", - "css-loader": "^0.26.1", "file-loader": "^0.11.1", "identity-obj-proxy": "^3.0.0", "isomorphic-fetch": "^2.2.1", - "jest": "^23.6.0", "jest-transform-css": "^2.0.0", "rimraf": "^2.5.2", "source-map-support": "^0.5.9", - "style-loader": "^0.13.1", "ts-jest": "^23.10.4", - "typescript": "^3.2.4", - "webpack": "^2.2.1" + "typescript": "^3.2.4" } } diff --git a/packages/perspective-phosphor/src/config/plugin.config.js b/packages/perspective-phosphor/src/config/cjs.config.js similarity index 70% rename from packages/perspective-phosphor/src/config/plugin.config.js rename to packages/perspective-phosphor/src/config/cjs.config.js index 90cfb9b8d1..b07af99ffd 100644 --- a/packages/perspective-phosphor/src/config/plugin.config.js +++ b/packages/perspective-phosphor/src/config/cjs.config.js @@ -8,16 +8,18 @@ */ const path = require("path"); -const PerspectivePlugin = require("@finos/perspective-webpack-plugin"); const webpack = require("webpack"); module.exports = { + mode: process.env.PSP_NO_MINIFY || process.env.PSP_DEBUG ? "development" : process.env.NODE_ENV || "production", entry: "./src/ts/index.ts", + devtool: "source-map", resolve: { extensions: [".ts", ".js", ".json"] }, - externals: /\@jupyter|\@phosphor/, - plugins: [new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /(en|es|fr)$/), new PerspectivePlugin()], + externals: [/^[a-z0-9@]/], + plugins: [new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /(en|es|fr)$/)], + stats: {modules: false, hash: false, version: false, builtAt: false, entrypoints: false}, module: { rules: [ { @@ -30,6 +32,6 @@ module.exports = { output: { filename: "index.js", libraryTarget: "umd", - path: path.resolve(__dirname, "../../build") + path: path.resolve(__dirname, "../../dist/cjs") } }; diff --git a/packages/perspective-phosphor/tsconfig.json b/packages/perspective-phosphor/tsconfig.json index 8351def670..125408990d 100644 --- a/packages/perspective-phosphor/tsconfig.json +++ b/packages/perspective-phosphor/tsconfig.json @@ -1,22 +1,26 @@ { - "compilerOptions": { - "declaration": true, - "noImplicitAny": true, - "noEmitOnError": true, - "noUnusedLocals": true, - "module": "commonjs", - "moduleResolution": "node", - "resolveJsonModule": true, - "target": "es2016", - "outDir": "", - "lib": [ - "es2016", - "ES2015.Promise", - "DOM" - ], - "types": [ - "@finos/perspective-viewer" + "compilerOptions": { + "declaration": true, + "noImplicitAny": true, + "noEmitOnError": true, + "noUnusedLocals": true, + "module": "commonjs", + "moduleResolution": "node", + "resolveJsonModule": true, + "target": "es2016", + "outDir": "dist/cjs", + "sourceMap": true, + "inlineSourceMap": false, + "lib": [ + "es2016", + "ES2015.Promise", + "DOM" + ], + "types": [ + "@finos/perspective-viewer" + ] + }, + "include": [ + "src/ts/*" ] - }, - "include": ["src/ts/*"] -} +} \ No newline at end of file diff --git a/packages/perspective-viewer-d3fc/package.json b/packages/perspective-viewer-d3fc/package.json index 5bae951793..f939d6edce 100644 --- a/packages/perspective-viewer-d3fc/package.json +++ b/packages/perspective-viewer-d3fc/package.json @@ -1,41 +1,42 @@ { "name": "@finos/perspective-viewer-d3fc", "version": "0.3.1", - "description": "Perspective.js", - "main": "./cjs/js/index.js", - "module": "./cjs/js/index.js", + "description": "Perspective.js D3FC Plugin", + "main": "./dist/cjs/perspective-viewer-d3fc.js", + "module": "./dist/cjs/perspective-viewer-d3fc.js", "browser": { - "area": "./cjs/js/index/area.js", - "bar": "./cjs/js/index/bar.js", - "candlestick": "./cjs/js/index/candlestick.js", - "column": "./cjs/js/index/column.js", - "heatmap": "./cjs/js/index/heatmap.js", - "line": "./cjs/js/index/line.js", - "ohlc": "./cjs/js/index/ohlc.js", - "sunburst": "./cjs/js/index/sunburst.js", - "xy-scatter": "./cjs/js/index/xy-scatter.js", - "y-scatter": "./cjs/js/index/y-scatter.js" + "area": "./dist/esm/index/area.js", + "bar": "./dist/esm/index/bar.js", + "candlestick": "./dist/esm/index/candlestick.js", + "column": "./dist/esm/index/column.js", + "heatmap": "./dist/esm/index/heatmap.js", + "line": "./dist/esm/index/line.js", + "ohlc": "./dist/esm/index/ohlc.js", + "sunburst": "./dist/esm/index/sunburst.js", + "xy-scatter": "./dist/esm/index/xy-scatter.js", + "y-scatter": "./dist/esm/index/y-scatter.js" }, - "unpkg": "./build/d3fc.plugin.js", + "unpkg": "./dist/umd/perspective-viewer-d3fc.js", "files": [ - "build/**/*", - "cjs/**/*", + "dist/**/*", "babel.config.js" ], "scripts": { "bench": "npm-run-all bench:build bench:run", "bench:build": "echo \"No Benchmarks\"", "bench:run": "echo \"No Benchmarks\"", - "prebuild": "mkdirp cjs", - "build:babel": "cpx \"src/**/*\" cjs && babel src/js --source-maps --out-dir cjs/js", - "build:webpack": "webpack --color --config src/config/d3fc.plugin.config.js", - "build": "npm-run-all build:babel build:webpack", - "test:build": "cpx \"test/html/*\" build", + "prebuild": "mkdirp dist/esm", + "build:babel": "cpx \"src/**/*\" dist && babel src/js --source-maps --out-dir dist/esm", + "build:webpack:cjs": "webpack --color --config src/config/cjs.config.js", + "build:webpack:umd": "webpack --color --config src/config/umd.config.js", + "build:webpack": "npm-run-all build:webpack:cjs build:webpack:umd", + "build": "npm-run-all --silent build:babel build:webpack", + "test:build": "cpx \"test/html/*\" dist/umd", "watch": "webpack --color --watch --config src/config/d3fc.watch.config.js", "test:run": "jest --silent --color 2>&1", "test:unit": "jest --config=test/js/jest.unit.config.js --color --watch", "test": "npm-run-all test:build test:run", - "clean": "rimraf build && rimraf cjs", + "clean": "rimraf dist", "clean:screenshots": "rimraf \"screenshots/**/*.@(failed|diff).png\"" }, "jest": { diff --git a/packages/perspective-viewer-d3fc/src/config/cjs.config.js b/packages/perspective-viewer-d3fc/src/config/cjs.config.js new file mode 100644 index 0000000000..cf41145859 --- /dev/null +++ b/packages/perspective-viewer-d3fc/src/config/cjs.config.js @@ -0,0 +1,13 @@ +const path = require("path"); +const common = require("@finos/perspective/src/config/common.config.js"); + +module.exports = Object.assign({}, common(), { + entry: "./dist/esm/index.js", + externals: [/^[a-z0-9@]/], + output: { + filename: "perspective-viewer-d3fc.js", + library: "perspective-view-d3fc", + libraryTarget: "umd", + path: path.resolve(__dirname, "../../dist/cjs") + } +}); diff --git a/packages/perspective-viewer-d3fc/src/config/d3fc.plugin.config.js b/packages/perspective-viewer-d3fc/src/config/umd.config.js similarity index 61% rename from packages/perspective-viewer-d3fc/src/config/d3fc.plugin.config.js rename to packages/perspective-viewer-d3fc/src/config/umd.config.js index fda7025420..ab7e043d52 100644 --- a/packages/perspective-viewer-d3fc/src/config/d3fc.plugin.config.js +++ b/packages/perspective-viewer-d3fc/src/config/umd.config.js @@ -2,11 +2,11 @@ const path = require("path"); const common = require("@finos/perspective/src/config/common.config.js"); module.exports = Object.assign({}, common(), { - entry: "./cjs/js/index.js", + entry: "./dist/cjs/perspective-viewer-d3fc.js", output: { - filename: "d3fc.plugin.js", + filename: "perspective-viewer-d3fc.js", library: "perspective-view-d3fc", libraryTarget: "umd", - path: path.resolve(__dirname, "../../build") + path: path.resolve(__dirname, "../../dist/umd") } }); diff --git a/packages/perspective-viewer-d3fc/src/js/plugin/template.js b/packages/perspective-viewer-d3fc/src/js/plugin/template.js index 5434548393..456aec9e59 100644 --- a/packages/perspective-viewer-d3fc/src/js/plugin/template.js +++ b/packages/perspective-viewer-d3fc/src/js/plugin/template.js @@ -13,7 +13,7 @@ import template from "../../html/d3fc-chart.html"; import {areArraysEqualSimple} from "../utils/utils"; import {initialiseStyles} from "../series/colorStyles"; -import {bindTemplate} from "@finos/perspective-viewer/cjs/js/utils"; +import {bindTemplate} from "@finos/perspective-viewer/dist/esm/utils"; const styleWithD3FC = `${style}${getD3FCStyles()}`; diff --git a/packages/perspective-viewer-d3fc/test/html/shares-template.html b/packages/perspective-viewer-d3fc/test/html/shares-template.html index e1beaea7d4..7415b1e3a1 100644 --- a/packages/perspective-viewer-d3fc/test/html/shares-template.html +++ b/packages/perspective-viewer-d3fc/test/html/shares-template.html @@ -13,15 +13,15 @@ - - + + - diff --git a/packages/perspective-viewer-d3fc/test/html/simple-template.html b/packages/perspective-viewer-d3fc/test/html/simple-template.html index 5c4d75eb62..a3a9418db4 100644 --- a/packages/perspective-viewer-d3fc/test/html/simple-template.html +++ b/packages/perspective-viewer-d3fc/test/html/simple-template.html @@ -12,16 +12,16 @@ - - - + + + diff --git a/packages/perspective-viewer-d3fc/test/html/themed-template.html b/packages/perspective-viewer-d3fc/test/html/themed-template.html index 0fcf6cfa1f..fd76b32fdd 100644 --- a/packages/perspective-viewer-d3fc/test/html/themed-template.html +++ b/packages/perspective-viewer-d3fc/test/html/themed-template.html @@ -12,9 +12,9 @@ - - - + + + ` + template.innerHTML; } - window.ShadyCSS && window.ShadyCSS.prepareTemplate(template, template.getAttribute("id")); template.innerHTML = `` + template.innerHTML; const _perspective_element = class extends proto { @@ -65,8 +62,6 @@ export function registerElement(templateString, styleString, proto) { } connectedCallback() { - window.ShadyCSS && window.ShadyCSS.styleElement(this); - if (this._initialized) { return; } @@ -187,32 +182,3 @@ export function copy_to_clipboard(csv) { export const json_attribute = _attribute(() => ({})); export const array_attribute = _attribute(() => []); - -function get(url) { - return new Promise(resolve => { - const xhr = new XMLHttpRequest(); - xhr.open("GET", url, true); - xhr.onload = () => resolve(xhr.responseText); - xhr.send(null); - }); -} - -async function load_themes() { - const themes = document.head.querySelectorAll("link[is=custom-style]"); - for (let theme of themes) { - const url = theme.getAttribute("href"); - console.log(`Loading theme ${url} asynchronously due to IE`); - const css = await get(url); - window.ShadyCSS.CustomStyleInterface.addCustomStyle({ - getStyle() { - const style = document.createElement("style"); - style.textContent = css; - return style; - } - }); - } -} - -if (detectIE()) { - window.addEventListener("load", load_themes); -} diff --git a/packages/perspective-viewer/src/js/viewer.js b/packages/perspective-viewer/src/js/viewer.js index 1af0b75022..b579ebf723 100755 --- a/packages/perspective-viewer/src/js/viewer.js +++ b/packages/perspective-viewer/src/js/viewer.js @@ -8,7 +8,6 @@ */ import "@webcomponents/webcomponentsjs"; -import "@webcomponents/shadycss/custom-style-interface.min.js"; import _ from "lodash"; import {polyfill} from "mobile-drag-drop"; @@ -269,14 +268,14 @@ class PerspectiveViewer extends ActionElement { * @type {string} * @fires PerspectiveViewer#perspective-config-update */ - set view(v) { + set plugin(v) { const plugin_names = Object.keys(renderers.getInstance()); - let plugin = this.getAttribute("view"); + let plugin = this.getAttribute("plugin"); if (plugin_names.indexOf(plugin) === -1) { const guess_plugin = plugin_names.find(x => x.indexOf(plugin) > -1); if (guess_plugin) { console.warn(`Unknown plugin "${plugin}", using "${guess_plugin}"`); - this.setAttribute("view", guess_plugin); + this.setAttribute("plugin", guess_plugin); } else { console.error(`Unknown plugin "${plugin}"`); } @@ -556,7 +555,7 @@ class PerspectiveViewer extends ActionElement { } else { this.removeAttribute("columns"); } - this.setAttribute("view", Object.keys(renderers.getInstance())[0]); + this.setAttribute("plugin", Object.keys(renderers.getInstance())[0]); this.dispatchEvent(new Event("perspective-config-update")); this._hide_context_menu(); } diff --git a/packages/perspective-viewer/src/js/viewer/action_element.js b/packages/perspective-viewer/src/js/viewer/action_element.js index 524e7e5401..cc10fd6820 100644 --- a/packages/perspective-viewer/src/js/viewer/action_element.js +++ b/packages/perspective-viewer/src/js/viewer/action_element.js @@ -7,7 +7,7 @@ * */ -import {undrag, column_undrag, column_dragleave, column_dragover, column_drop, drop, drag_enter, allow_drop, disallow_drop} from "./dragdrop.js"; +import {dragend, column_dragend, column_dragleave, column_dragover, column_drop, drop, dragenter, dragover, dragleave} from "./dragdrop.js"; import {DomElement} from "./dom_element.js"; @@ -201,28 +201,28 @@ export class ActionElement extends DomElement { // most of these are drag and drop handlers - how to clean up? _register_callbacks() { this._sort.addEventListener("drop", drop.bind(this)); - this._sort.addEventListener("dragend", undrag.bind(this)); - this._sort.addEventListener("dragenter", drag_enter.bind(this)); - this._sort.addEventListener("dragover", allow_drop.bind(this)); - this._sort.addEventListener("dragleave", disallow_drop.bind(this)); + this._sort.addEventListener("dragend", dragend.bind(this)); + this._sort.addEventListener("dragenter", dragenter.bind(this)); + this._sort.addEventListener("dragover", dragover.bind(this)); + this._sort.addEventListener("dragleave", dragleave.bind(this)); this._row_pivots.addEventListener("drop", drop.bind(this)); - this._row_pivots.addEventListener("dragend", undrag.bind(this)); - this._row_pivots.addEventListener("dragenter", drag_enter.bind(this)); - this._row_pivots.addEventListener("dragover", allow_drop.bind(this)); - this._row_pivots.addEventListener("dragleave", disallow_drop.bind(this)); + this._row_pivots.addEventListener("dragend", dragend.bind(this)); + this._row_pivots.addEventListener("dragenter", dragenter.bind(this)); + this._row_pivots.addEventListener("dragover", dragover.bind(this)); + this._row_pivots.addEventListener("dragleave", dragleave.bind(this)); this._column_pivots.addEventListener("drop", drop.bind(this)); - this._column_pivots.addEventListener("dragend", undrag.bind(this)); - this._column_pivots.addEventListener("dragenter", drag_enter.bind(this)); - this._column_pivots.addEventListener("dragover", allow_drop.bind(this)); - this._column_pivots.addEventListener("dragleave", disallow_drop.bind(this)); + this._column_pivots.addEventListener("dragend", dragend.bind(this)); + this._column_pivots.addEventListener("dragenter", dragenter.bind(this)); + this._column_pivots.addEventListener("dragover", dragover.bind(this)); + this._column_pivots.addEventListener("dragleave", dragleave.bind(this)); this._filters.addEventListener("drop", drop.bind(this)); - this._filters.addEventListener("dragend", undrag.bind(this)); - this._filters.addEventListener("dragenter", drag_enter.bind(this)); - this._filters.addEventListener("dragover", allow_drop.bind(this)); - this._filters.addEventListener("dragleave", disallow_drop.bind(this)); + this._filters.addEventListener("dragend", dragend.bind(this)); + this._filters.addEventListener("dragenter", dragenter.bind(this)); + this._filters.addEventListener("dragover", dragover.bind(this)); + this._filters.addEventListener("dragleave", dragleave.bind(this)); this._active_columns.addEventListener("drop", column_drop.bind(this)); - this._active_columns.addEventListener("dragenter", drag_enter.bind(this)); - this._active_columns.addEventListener("dragend", column_undrag.bind(this)); + this._active_columns.addEventListener("dragenter", dragenter.bind(this)); + this._active_columns.addEventListener("dragend", column_dragend.bind(this)); this._active_columns.addEventListener("dragover", column_dragover.bind(this)); this._active_columns.addEventListener("dragleave", column_dragleave.bind(this)); this._add_computed_column.addEventListener("click", this._open_computed_column.bind(this)); @@ -235,10 +235,10 @@ export class ActionElement extends DomElement { this._copy_button.addEventListener("click", event => this.copy(event.shiftKey)); this._download_button.addEventListener("click", event => this.download(event.shiftKey)); this._transpose_button.addEventListener("click", this._transpose.bind(this)); - this._drop_target.addEventListener("dragover", allow_drop.bind(this)); + this._drop_target.addEventListener("dragover", dragover.bind(this)); this._vis_selector.addEventListener("change", () => { - this.setAttribute("view", this._vis_selector.value); + this.setAttribute("plugin", this._vis_selector.value); this._debounce_update(); }); diff --git a/packages/perspective-viewer/src/js/viewer/dom_element.js b/packages/perspective-viewer/src/js/viewer/dom_element.js index e35eec992a..5541692d54 100644 --- a/packages/perspective-viewer/src/js/viewer/dom_element.js +++ b/packages/perspective-viewer/src/js/viewer/dom_element.js @@ -7,9 +7,8 @@ * */ -import detectIE from "detectie"; import perspective from "@finos/perspective"; -import {undrag} from "./dragdrop.js"; +import {dragend} from "./dragdrop.js"; import {renderers} from "./renderers.js"; import {PerspectiveElement} from "./perspective_element.js"; @@ -70,8 +69,8 @@ export class DomElement extends PerspectiveElement { const v = this._table.view({row_pivots: [name], aggregates: {}}); v.to_json().then(json => { row.choices(json.slice(1, json.length).map(x => x.__ROW_PATH__)); - v.delete(); }); + v.delete(); } } @@ -92,7 +91,7 @@ export class DomElement extends PerspectiveElement { row.addEventListener("visibility-clicked", this._column_visibility_clicked.bind(this)); row.addEventListener("aggregate-selected", this._column_aggregate_clicked.bind(this)); row.addEventListener("filter-selected", this._column_filter_clicked.bind(this)); - row.addEventListener("close-clicked", event => undrag.call(this, event.detail)); + row.addEventListener("close-clicked", event => dragend.call(this, event.detail)); row.addEventListener("sort-order", this._sort_order_clicked.bind(this)); row.addEventListener("row-drag", () => { @@ -184,10 +183,6 @@ export class DomElement extends PerspectiveElement { } } this.shadowRoot.querySelector("#psp_styles").innerHTML = style; - - if (detectIE()) { - window.ShadyCSS.styleDocument(); - } } _show_column_selectors() { diff --git a/packages/perspective-viewer/src/js/viewer/dragdrop.js b/packages/perspective-viewer/src/js/viewer/dragdrop.js index 491fdf1fcf..d3ea0dd6c2 100644 --- a/packages/perspective-viewer/src/js/viewer/dragdrop.js +++ b/packages/perspective-viewer/src/js/viewer/dragdrop.js @@ -7,8 +7,6 @@ * */ -import detectIE from "detectie"; - function calc_index(event) { if (this._active_columns.children.length == 0) { return 0; @@ -23,7 +21,13 @@ function calc_index(event) { } } -export function undrag(event) { +function _clear_classes() { + for (const active_column of this._active_columns.children) { + active_column.className = ""; + } +} + +export function dragend(event) { let div = event.target.getRootNode().host; let parent = div; if (parent.tagName === "PERSPECTIVE-VIEWER") { @@ -33,13 +37,9 @@ export function undrag(event) { } let idx = Array.prototype.slice.call(parent.children).indexOf(div.tagName === "PERSPECTIVE-ROW" ? div : event.target); let attr_name = parent.getAttribute("for"); - let pivots = JSON.parse(this.getAttribute(attr_name)); - pivots.splice(idx, 1); - this.setAttribute(attr_name, JSON.stringify(pivots)); - - if (detectIE()) { - window.ShadyCSS.styleDocument(); - } + let attr_value = JSON.parse(this.getAttribute(attr_name)); + attr_value.splice(idx, 1); + this.setAttribute(attr_name, JSON.stringify(attr_value)); } export function drop(ev) { @@ -84,11 +84,9 @@ export function drop(ev) { } // Handle column actions -export function column_undrag(event) { +export function column_dragend(event) { let data = event.target.parentElement.parentElement; - Array.prototype.slice.call(this._active_columns.children).map(x => { - x.className = ""; - }); + _clear_classes.bind(this)(); if (this._get_visible_column_count() > 1 && event.dataTransfer.dropEffect !== "move") { this._active_columns.removeChild(data); this._update_column_view(); @@ -142,29 +140,27 @@ export function column_drop(ev) { if (this._drop_target_hover.parentElement === this._active_columns) { this._drop_target_hover.removeAttribute("drop-target"); } - Array.prototype.slice.call(this._active_columns.children).map(x => { - x.className = ""; - }); + _clear_classes.bind(this)(); let data = ev.dataTransfer.getData("text"); if (!data) return; this._update_column_view(); } -export function drag_enter(ev) { +export function dragenter(ev) { ev.stopPropagation(); ev.preventDefault(); ev.currentTarget.classList.add("dropping"); } -export function allow_drop(ev) { +export function dragover(ev) { ev.stopPropagation(); ev.preventDefault(); ev.currentTarget.classList.add("dropping"); ev.dataTransfer.dropEffect = "move"; } -export function disallow_drop(ev) { +export function dragleave(ev) { if (ev.currentTarget == ev.target) { ev.stopPropagation(); ev.preventDefault(); diff --git a/packages/perspective-viewer/src/js/viewer/perspective_element.js b/packages/perspective-viewer/src/js/viewer/perspective_element.js index 751fe99c27..18727778cd 100644 --- a/packages/perspective-viewer/src/js/viewer/perspective_element.js +++ b/packages/perspective-viewer/src/js/viewer/perspective_element.js @@ -25,7 +25,7 @@ function numberWithCommas(x) { return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } -let TYPE_ORDER = {integer: 2, string: 0, float: 3, boolean: 4, datetime: 1}; +let TYPE_ORDER = {integer: 2, string: 0, float: 3, boolean: 4, datetime: 1, date: 1}; const column_sorter = schema => (a, b) => { const s1 = TYPE_ORDER[schema[a]]; @@ -235,7 +235,7 @@ export class PerspectiveElement extends StateElement { } _is_config_changed(config) { - const plugin_name = this.getAttribute("view"); + const plugin_name = this.getAttribute("plugin"); if (_.isEqual(config, this._previous_config) && plugin_name === this._previous_plugin_name) { return false; } else { diff --git a/packages/perspective-viewer/src/js/viewer/state_element.js b/packages/perspective-viewer/src/js/viewer/state_element.js index b6300ac4c9..9b0c7a9ac3 100644 --- a/packages/perspective-viewer/src/js/viewer/state_element.js +++ b/packages/perspective-viewer/src/js/viewer/state_element.js @@ -12,11 +12,11 @@ import {renderers} from "./renderers.js"; export class StateElement extends HTMLElement { get _plugin() { let current_renderers = renderers.getInstance(); - let view = this.getAttribute("view"); + let view = this.getAttribute("plugin"); if (!view) { view = Object.keys(current_renderers)[0]; } - this.setAttribute("view", view); + this.setAttribute("plugin", view); return current_renderers[view] || current_renderers[Object.keys(current_renderers)[0]]; } diff --git a/packages/perspective-viewer/src/less/row.less b/packages/perspective-viewer/src/less/row.less index 629fb1f1b4..48178c606f 100644 --- a/packages/perspective-viewer/src/less/row.less +++ b/packages/perspective-viewer/src/less/row.less @@ -117,6 +117,12 @@ } } +@keyframes expand3 { + from { + transform: scale(0.9); + } +} + :host(:hover) .is_visible { color: var(--button-hover--color, --column-selector--color); } @@ -247,6 +253,10 @@ --column-drop-target--background, rgb(240, 240, 255) ) !important; + animation: var( + --drop-target--animation, + var(--row_draggable--animation, expand3 0.5s ease-out) + ); border: 1px solid #1078d1 !important; } } diff --git a/packages/perspective-viewer/test/html/blank.html b/packages/perspective-viewer/test/html/blank.html index cb78641a6d..d59bbbe437 100644 --- a/packages/perspective-viewer/test/html/blank.html +++ b/packages/perspective-viewer/test/html/blank.html @@ -12,7 +12,7 @@ - + diff --git a/packages/perspective-viewer/test/html/superstore.html b/packages/perspective-viewer/test/html/superstore.html index f2617da75d..73a4d8c913 100644 --- a/packages/perspective-viewer/test/html/superstore.html +++ b/packages/perspective-viewer/test/html/superstore.html @@ -12,7 +12,7 @@ - + diff --git a/packages/perspective-viewer/test/js/utils.js b/packages/perspective-viewer/test/js/utils.js index 8e02a32330..6648627022 100644 --- a/packages/perspective-viewer/test/js/utils.js +++ b/packages/perspective-viewer/test/js/utils.js @@ -32,7 +32,7 @@ exports.with_server = function with_server({paths}, body) { throw "ERROR"; } server = new WebSocketServer({ - assets: paths || [path.join(test_root, "build")], + assets: paths || [path.join(test_root, "dist", "umd")], port: 0, on_start: () => { __PORT__ = server._server.address().port; diff --git a/packages/perspective-webpack-plugin/index.js b/packages/perspective-webpack-plugin/index.js index 457732792a..b5edc395b5 100644 --- a/packages/perspective-webpack-plugin/index.js +++ b/packages/perspective-webpack-plugin/index.js @@ -29,34 +29,11 @@ class PerspectiveWebpackPlugin { } apply(compiler) { - const rules = [ - { - test: /\.less$/, - exclude: /themes/, - include: this.options.load_path, - use: [{loader: "css-loader"}, {loader: "clean-css-loader", options: {level: 2}}, {loader: "less-loader"}] - }, - { - test: /\.(html)$/, - include: this.options.load_path, - use: { - loader: "html-loader", - options: {} - } - }, - { - test: /\.(arrow)$/, - include: this.options.load_path, - use: { - loader: "arraybuffer-loader", - options: {} - } - } - ]; + const rules = []; if (this.options.build_worker) { rules.push({ - test: /perspective\.(asmjs|wasm)\.js$/, + test: /perspective\.wasm\.js$/, include: this.options.load_path, use: [ { @@ -71,7 +48,7 @@ class PerspectiveWebpackPlugin { }); } else { rules.push({ - test: /perspective\.(wasm|asmjs)\.js$/, + test: /perspective\.wasm\.js$/, include: this.options.load_path, use: { loader: PSP_WORKER_LOADER, @@ -102,7 +79,7 @@ class PerspectiveWebpackPlugin { }); rules.push({ - test: /psp\.(sync|async)\.wasm\.js$/, + test: /psp\.async\.wasm\.js$/, include: this.options.load_path, use: { loader: WASM_LOADER, diff --git a/packages/perspective-webpack-plugin/src/js/psp-worker-loader.js b/packages/perspective-webpack-plugin/src/js/psp-worker-loader.js index 9040a4a8d7..4576037c5f 100644 --- a/packages/perspective-webpack-plugin/src/js/psp-worker-loader.js +++ b/packages/perspective-webpack-plugin/src/js/psp-worker-loader.js @@ -46,9 +46,10 @@ exports.default = function loader(content) { var inputPath = this.resourcePath; if (!options.inline) { inputPath = inputPath - .replace(path.join("perspective", "build"), "perspective") + .replace(path.join("perspective", "dist", "esm"), path.join("perspective", "dist", "umd")) + .replace(path.join("perspective", "dist", "cjs"), path.join("perspective", "dist", "umd")) .replace(/\.js/, ".worker.js") - .replace(path.join("cjs", "js"), "build"); + .replace(path.join("dist", "esm"), path.join("dist", "umd")); } content = fs.readFileSync(inputPath).toString(); if (!options.inline) { diff --git a/packages/perspective-webpack-plugin/src/js/wasm-loader.js b/packages/perspective-webpack-plugin/src/js/wasm-loader.js index 654e3fc74a..ee32cfe977 100644 --- a/packages/perspective-webpack-plugin/src/js/wasm-loader.js +++ b/packages/perspective-webpack-plugin/src/js/wasm-loader.js @@ -32,7 +32,7 @@ exports.pitch = function pitch(request) { validateOptions(schema, options, "Cross Origin File Loader"); var context = options.context || this.rootContext || (this.options && this.options.context); - var content = fs.readFileSync(request.replace(path.join("cjs", "js"), "build").replace("wasm.js", "wasm")); + var content = fs.readFileSync(request.replace(path.join("dist", "esm"), path.join("dist", "umd")).replace("wasm.js", "wasm")); var emitPath = loaderUtils.interpolateName(this, options.name, { context, content, diff --git a/packages/perspective/package.json b/packages/perspective/package.json index a7b08ccd0a..17eac9dab5 100644 --- a/packages/perspective/package.json +++ b/packages/perspective/package.json @@ -2,10 +2,10 @@ "name": "@finos/perspective", "version": "0.3.1", "description": "Perspective.js", - "main": "build/perspective.node.js", - "unpkg": "build/perspective.js", - "browser": "cjs/js/perspective.parallel.js", - "module": "cjs/js/perspective.parallel.js", + "main": "dist/umd/perspective.node.js", + "unpkg": "dist/umd/perspective.js", + "browser": "dist/esm/perspective.parallel.js", + "module": "dist/esm/perspective.parallel.js", "publishConfig": { "access": "public" }, @@ -17,10 +17,10 @@ ], "typings": "index.d.ts", "scripts": { - "prebuild": "mkdirp build && mkdirp obj", + "prebuild": "mkdirp dist && mkdirp obj", "cpp": "npm-run-all build:cpp test:cpp", "build": "npm-run-all build:babel build:webpack", - "build:babel": "babel src/js --source-maps --out-dir cjs/js", + "build:babel": "babel src/js --source-maps --out-dir dist/esm", "build:webpack": "npm-run-all -p build:webpack:*", "build:webpack:umd": "webpack --color --config src/config/perspective.config.js", "build:webpack:node": "webpack --color --config src/config/perspective.node.config.js", @@ -30,7 +30,7 @@ "test:build": "cpx \"test/html/*\" build", "test:run": "jest --color --ci", "test": "npm-run-all test:build test:run", - "clean": "rimraf build && rimraf obj && rimraf cjs" + "clean": "rimraf dist" }, "jest": { "roots": [ diff --git a/packages/perspective/src/config/common.config.js b/packages/perspective/src/config/common.config.js index 600a43453c..3e89128ef4 100644 --- a/packages/perspective/src/config/common.config.js +++ b/packages/perspective/src/config/common.config.js @@ -8,6 +8,29 @@ module.exports = function({build_worker, no_minify} = {}) { return { mode: process.env.PSP_NO_MINIFY || process.env.PSP_DEBUG || no_minify ? "development" : process.env.NODE_ENV || "production", plugins: plugins, + module: { + rules: [ + { + test: /\.less$/, + exclude: /node_modules/, + use: [{loader: "css-loader"}, {loader: "clean-css-loader", options: {level: 2}}, {loader: "less-loader"}] + }, + { + test: /\.(html)$/, + use: { + loader: "html-loader", + options: {} + } + }, + { + test: /\.(arrow)$/, + use: { + loader: "arraybuffer-loader", + options: {} + } + } + ] + }, devtool: "source-map", node: { fs: "empty" @@ -17,6 +40,7 @@ module.exports = function({build_worker, no_minify} = {}) { maxEntrypointSize: 512000, maxAssetSize: 512000 }, + stats: {modules: false, hash: false, version: false, builtAt: false, entrypoints: false}, optimization: { minimizer: [ new TerserPlugin({ diff --git a/packages/perspective/src/config/perspective.config.js b/packages/perspective/src/config/perspective.config.js index bb3a600622..1076911714 100644 --- a/packages/perspective/src/config/perspective.config.js +++ b/packages/perspective/src/config/perspective.config.js @@ -3,13 +3,13 @@ const common = require("./common.config.js"); const TerserPlugin = require("terser-webpack-plugin"); module.exports = Object.assign({}, common({build_worker: true}), { - entry: "./cjs/js/perspective.parallel.js", + entry: "./dist/esm/perspective.parallel.js", output: { filename: "perspective.js", library: "perspective", libraryTarget: "umd", libraryExport: "default", - path: path.resolve(__dirname, "../../build") + path: path.resolve(__dirname, "../../dist/umd") }, optimization: { minimizer: [ diff --git a/packages/perspective/src/config/perspective.node.config.js b/packages/perspective/src/config/perspective.node.config.js index 6c2aa84e06..49d454f7b0 100644 --- a/packages/perspective/src/config/perspective.node.config.js +++ b/packages/perspective/src/config/perspective.node.config.js @@ -3,7 +3,7 @@ const common = require("./common.config.js"); const TerserPlugin = require("terser-webpack-plugin"); module.exports = Object.assign({}, common(), { - entry: "./cjs/js/perspective.node.js", + entry: "./dist/esm/perspective.node.js", target: "node", externals: [/^[a-z0-9].*?$/g], node: { @@ -12,7 +12,7 @@ module.exports = Object.assign({}, common(), { }, output: { filename: "perspective.node.js", - path: path.resolve(__dirname, "../../build"), + path: path.resolve(__dirname, "../../dist/umd"), libraryTarget: "umd" }, optimization: { diff --git a/packages/perspective/src/js/API/client.js b/packages/perspective/src/js/API/client.js index 8474b2c1c8..74d9158983 100644 --- a/packages/perspective/src/js/API/client.js +++ b/packages/perspective/src/js/API/client.js @@ -46,7 +46,7 @@ Client.prototype.unsubscribe = function(cmd, handler) { * Process an asynchronous message. */ Client.prototype.post = function(msg, resolve, reject, keep_alive = false) { - if (resolve) { + if (resolve || reject) { this._worker.handlers[++this._worker.msg_id] = {resolve, reject, keep_alive}; } msg.id = this._worker.msg_id; diff --git a/packages/perspective/src/js/perspective.node.js b/packages/perspective/src/js/perspective.node.js index 29c0507aa5..efc3dd81b7 100644 --- a/packages/perspective/src/js/perspective.node.js +++ b/packages/perspective/src/js/perspective.node.js @@ -59,12 +59,12 @@ module.exports.sync_module = () => SYNC_SERVER.perspective; let CLIENT_ID_GEN = 0; const DEFAULT_ASSETS = [ - "@finos/perspective/build", - "@finos/perspective-bench/build", - "@finos/perspective-viewer/build", - "@finos/perspective-viewer-highcharts/build", - "@finos/perspective-viewer-hypergrid/build", - "@finos/perspective-viewer-d3fc/build" + "@finos/perspective/dist/umd", + "@finos/perspective-bench/dist", + "@finos/perspective-viewer/dist/umd", + "@finos/perspective-viewer-highcharts/dist/umd", + "@finos/perspective-viewer-hypergrid/dist/umd", + "@finos/perspective-viewer-d3fc/dist/umd" ]; const CONTENT_TYPES = { diff --git a/packages/perspective/test/js/perspective.spec.js b/packages/perspective/test/js/perspective.spec.js index 999dd66961..5077a0f394 100644 --- a/packages/perspective/test/js/perspective.spec.js +++ b/packages/perspective/test/js/perspective.spec.js @@ -7,7 +7,7 @@ * */ -const node_perspective = require("../../build/perspective.node.js"); +const node_perspective = require("../../dist/umd/perspective.node.js"); const RUNTIMES = { NODE: node_perspective diff --git a/packages/perspective/test/js/sync_load.spec.js b/packages/perspective/test/js/sync_load.spec.js index e6c23f3509..5a1fa2acfa 100644 --- a/packages/perspective/test/js/sync_load.spec.js +++ b/packages/perspective/test/js/sync_load.spec.js @@ -9,7 +9,7 @@ describe("perspective.js module", function() { it("does not access the WASM module until it is ready", async () => { - const tbl = require("../../build/perspective.node.js").table([{x: 1}]); + const tbl = require("../../dist/umd/perspective.node.js").table([{x: 1}]); const size = await tbl.size(); expect(size).toEqual(1); }); diff --git a/scripts/build.js b/scripts/build.js index a18b542918..fedb2427be 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -49,11 +49,11 @@ function compileRuntime({inputFile, inputWasmFile, format, packageName}) { const BUILD_DIRECTORY = getBuildDir(packageName); mkdirp.sync(path.join(OUTPUT_DIRECTORY, "obj")); - mkdirp.sync(path.join(OUTPUT_DIRECTORY, "build")); + mkdirp.sync(path.join(OUTPUT_DIRECTORY, "dist", "umd")); if (inputWasmFile) { console.log("-- Copying WASM file %s", inputWasmFile); - fs.copyFileSync(path.join(BUILD_DIRECTORY, inputWasmFile), path.join(OUTPUT_DIRECTORY, "build", inputWasmFile)); + fs.copyFileSync(path.join(BUILD_DIRECTORY, inputWasmFile), path.join(OUTPUT_DIRECTORY, "dist", "umd", inputWasmFile)); } console.debug("-- Creating wrapped js runtime"); @@ -102,7 +102,7 @@ function compileCPP(packageName) { } function lerna() { - let cmd = `lerna run build --loglevel silent --stream `; + let cmd = `lerna run build --loglevel silent `; if (process.env.PACKAGE) { cmd += `--scope=@finos/${process.env.PACKAGE} `; } diff --git a/yarn.lock b/yarn.lock index 70fd6701bd..b0a4f6d991 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,7 +42,7 @@ dependencies: "@babel/highlight" "7.0.0-beta.44" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35": +"@babel/code-frame@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8" integrity sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA== @@ -1828,11 +1828,6 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^1.1.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" - integrity sha1-MU3QpLM2j609/NxU7eYXG4htrzw= - ajv-keywords@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" @@ -1843,14 +1838,6 @@ ajv-keywords@^3.1.0: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.0.tgz#4b831e7b531415a7cc518cd404e73f6193c6349d" integrity sha512-aUjdRFISbuFOl0EIZc+9e4FfZp0bDZgAdOOf30bJmw8VM9v84SHyVyxDfbWxpGYbdZD/9XoKxfHVNmxPkhwyGw== -ajv@^4.7.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" - integrity sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY= - dependencies: - co "^4.6.0" - json-stable-stringify "^1.0.1" - ajv@^5.0.0, ajv@^5.2.3, ajv@^5.3.0: version "5.5.2" resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" @@ -1988,13 +1975,6 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -append-transform@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991" - integrity sha1-126/jKlNJ24keja61EpLdKthGZE= - dependencies: - default-require-extensions "^1.0.0" - aproba@^1.0.3, aproba@^1.1.1, aproba@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -2242,7 +2222,7 @@ async@^1.5.0, async@^1.5.2: resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= -async@^2.1.2, async@^2.1.4, async@^2.4.1, async@^2.5.0: +async@^2.1.2, async@^2.4.1, async@^2.5.0: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" integrity sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg== @@ -2308,7 +2288,7 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== -babel-code-frame@6.26.0, babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: +babel-code-frame@6.26.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= @@ -2317,31 +2297,6 @@ babel-code-frame@6.26.0, babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, bab esutils "^2.0.2" js-tokens "^3.0.2" -babel-core@^6.0.0, babel-core@^6.26.0: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - babel-eslint@^8.2.3: version "8.2.6" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.2.6.tgz#6270d0c73205628067c0f7ae1693a9e797acefd9" @@ -2354,36 +2309,6 @@ babel-eslint@^8.2.3: eslint-scope "3.7.1" eslint-visitor-keys "^1.0.0" -babel-generator@^6.18.0, babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-jest@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1" - integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew== - dependencies: - babel-plugin-istanbul "^4.1.6" - babel-preset-jest "^23.2.0" - babel-jest@^24.5.0, babel-jest@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.8.0.tgz#5c15ff2b28e20b0f45df43fe6b7f2aae93dba589" @@ -2404,16 +2329,6 @@ babel-messages@^6.23.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.6: - version "4.1.6" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" - integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ== - dependencies: - babel-plugin-syntax-object-rest-spread "^6.13.0" - find-up "^2.1.0" - istanbul-lib-instrument "^1.10.1" - test-exclude "^4.2.1" - babel-plugin-istanbul@^5.1.0: version "5.1.4" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.4.tgz#841d16b9a58eeb407a0ddce622ba02fe87a752ba" @@ -2423,11 +2338,6 @@ babel-plugin-istanbul@^5.1.0: istanbul-lib-instrument "^3.3.0" test-exclude "^5.2.3" -babel-plugin-jest-hoist@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167" - integrity sha1-5h+uBaHKiAGq3uV6bWa4zvr0QWc= - babel-plugin-jest-hoist@^24.6.0: version "24.6.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.6.0.tgz#f7f7f7ad150ee96d7a5e8e2c5da8319579e78019" @@ -2446,11 +2356,6 @@ babel-plugin-lodash@^3.3.4: lodash "^4.17.10" require-package-name "^2.0.1" -babel-plugin-syntax-object-rest-spread@^6.13.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - babel-plugin-transform-custom-element-classes@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-custom-element-classes/-/babel-plugin-transform-custom-element-classes-0.1.0.tgz#4414dcec23f96815041d850b757baba83dd8c542" @@ -2467,14 +2372,6 @@ babel-polyfill@^6.26.0: core-js "^2.5.0" regenerator-runtime "^0.10.5" -babel-preset-jest@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46" - integrity sha1-jsegOhOPABoaj7HoETZSvxpV2kY= - dependencies: - babel-plugin-jest-hoist "^23.2.0" - babel-plugin-syntax-object-rest-spread "^6.13.0" - babel-preset-jest@^24.6.0: version "24.6.0" resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.6.0.tgz#66f06136eefce87797539c0d63f1769cc3915984" @@ -2483,19 +2380,6 @@ babel-preset-jest@^24.6.0: "@babel/plugin-syntax-object-rest-spread" "^7.0.0" babel-plugin-jest-hoist "^24.6.0" -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" - integrity sha1-btAhFz4vy0htestFxgCahW9kcHE= - dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" - babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" @@ -2504,7 +2388,7 @@ babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: +babel-template@^6.16.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= @@ -2515,7 +2399,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: babylon "^6.18.0" lodash "^4.17.4" -babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0: +babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= @@ -2530,7 +2414,7 @@ babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0: invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.26.0: +babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= @@ -2802,6 +2686,13 @@ braces@^2.3.1, braces@^2.3.2: split-string "^3.0.2" to-regex "^3.0.1" +braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -3087,11 +2978,6 @@ callsites@^0.2.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" integrity sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo= -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" @@ -3132,11 +3018,6 @@ camelcase@^2.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" @@ -3167,13 +3048,6 @@ caniuse-lite@^1.0.30000957, caniuse-lite@^1.0.30000967: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000971.tgz#d1000e4546486a6977756547352bc96a4cfd2b13" integrity sha512-TQFYFhRS0O5rdsmSbF1Wn+16latXYsQJat66f7S7lizXW1PVpWJeZw9wqqVLIjuxDRz7s7xRUj13QCfd8hKn6g== -capture-exit@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" - integrity sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28= - dependencies: - rsvp "^3.3.3" - capture-exit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" @@ -4034,7 +3908,7 @@ conventional-recommended-bump@^1.2.1: meow "^3.3.0" object-assign "^4.0.1" -convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1: +convert-source-map@^1.1.0, convert-source-map@^1.4.0: version "1.6.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== @@ -4237,24 +4111,6 @@ css-injector@^1.1.0: resolved "https://registry.yarnpkg.com/css-injector/-/css-injector-1.1.0.tgz#486fd4dc4f8470def0071470434452f2033ec4fa" integrity sha1-SG/U3E+EcN7wBxRwQ0RS8gM+xPo= -css-loader@^0.26.1: - version "0.26.4" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.26.4.tgz#b61e9e30db94303e6ffc892f10ecd09ad025a1fd" - integrity sha1-th6eMNuUMD5v/IkvEOzQmtAlof0= - dependencies: - babel-code-frame "^6.11.0" - css-selector-tokenizer "^0.7.0" - cssnano ">=2.6.1 <4" - loader-utils "^1.0.2" - lodash.camelcase "^4.3.0" - object-assign "^4.0.1" - postcss "^5.0.6" - postcss-modules-extract-imports "^1.0.0" - postcss-modules-local-by-default "^1.0.1" - postcss-modules-scope "^1.0.0" - postcss-modules-values "^1.1.0" - source-list-map "^0.1.7" - css-loader@^0.28.7: version "0.28.11" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.11.tgz#c3f9864a700be2711bb5a2462b2389b1a392dab7" @@ -4352,7 +4208,7 @@ cssesc@^0.1.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4" integrity sha1-yBSQPkViM3GgR3tAEJqq++6t27Q= -"cssnano@>=2.6.1 <4", cssnano@^3.10.0: +cssnano@^3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" integrity sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg= @@ -4831,7 +4687,7 @@ debug@0.7.4: resolved "https://registry.yarnpkg.com/debug/-/debug-0.7.4.tgz#06e1ea8082c2cb14e39806e22e2f6f757f92af39" integrity sha1-BuHqgILCyxTjmAbiLi9vdX+Srzk= -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -4982,13 +4838,6 @@ default-gateway@^2.6.0: execa "^0.10.0" ip-regex "^2.1.0" -default-require-extensions@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8" - integrity sha1-836hXT4T/9m0N9M+GnW1+5eHTLg= - dependencies: - strip-bom "^2.0.0" - defaults@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" @@ -5080,13 +4929,6 @@ detect-file@^1.0.0: resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg= - dependencies: - repeating "^2.0.0" - detect-indent@^5.0.0, detect-indent@~5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" @@ -5138,7 +4980,7 @@ diff-sequences@^24.3.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.3.0.tgz#0f20e8a1df1abddaf4d9c226680952e64118b975" integrity sha512-xLqpez+Zj9GKSnPWS0WZw1igGocZ+uua8+y+5dDNTT934N3QuY1sp2LkHzwiaYQGz60hMq0pjAshdeXm5VUOEw== -diff@^3.2.0, diff@^3.5.0: +diff@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== @@ -5460,7 +5302,7 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enhanced-resolve@^3.0.0, enhanced-resolve@^3.3.0, enhanced-resolve@^3.4.0: +enhanced-resolve@^3.4.0: version "3.4.1" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24= @@ -5470,7 +5312,7 @@ enhanced-resolve@^3.0.0, enhanced-resolve@^3.3.0, enhanced-resolve@^3.4.0: object-assign "^4.0.1" tapable "^0.2.7" -enhanced-resolve@^4.1.0: +enhanced-resolve@^4.0.0, enhanced-resolve@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== @@ -5834,13 +5676,6 @@ exec-buffer@^3.0.0: rimraf "^2.5.4" tempfile "^2.0.0" -exec-sh@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36" - integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw== - dependencies: - merge "^1.2.0" - exec-sh@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" @@ -5949,18 +5784,6 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-23.6.0.tgz#1e0c8d3ba9a581c87bd71fb9bc8862d443425f98" - integrity sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w== - dependencies: - ansi-styles "^3.2.0" - jest-diff "^23.6.0" - jest-get-type "^22.1.0" - jest-matcher-utils "^23.6.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - expect@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/expect/-/expect-24.8.0.tgz#471f8ec256b7b6129ca2524b2a62f030df38718d" @@ -6276,14 +6099,6 @@ filenamify@^2.0.0: strip-outer "^1.0.0" trim-repeated "^1.0.0" -fileset@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA= - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - filesize@3.5.11: version "3.5.11" resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee" @@ -6310,6 +6125,13 @@ fill-range@^4.0.0: repeat-string "^1.6.1" to-regex-range "^2.1.0" +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + fin-hypergrid-grouped-header-plugin@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/fin-hypergrid-grouped-header-plugin/-/fin-hypergrid-grouped-header-plugin-1.2.4.tgz#f37bfd00ca3209eb04c27293b5d60deecd3581c9" @@ -6585,7 +6407,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^1.0.0, fsevents@^1.2.3, fsevents@^1.2.7: +fsevents@^1.0.0, fsevents@^1.2.7: version "1.2.9" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== @@ -7018,7 +6840,7 @@ handle-thing@^2.0.0: resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" integrity sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ== -handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.0.3, handlebars@^4.1.2: +handlebars@^4.0.11, handlebars@^4.0.2, handlebars@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== @@ -7179,14 +7001,6 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg= - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -7504,14 +7318,6 @@ import-lazy@^3.1.0: resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-3.1.0.tgz#891279202c8a2280fdbd6674dbd8da1a1dfc67cc" integrity sha512-8/gvXvX2JMn0F+CDlSC4l6kOmVaLOO3XLkksI7CI3Ud95KDYJuYur2b9P/PUt/i/pDAMd/DulQsNbbbmRRsDIQ== -import-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc" - integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ== - dependencies: - pkg-dir "^2.0.0" - resolve-cwd "^2.0.0" - import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -7826,11 +7632,6 @@ is-fullwidth-code-point@^2.0.0: resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - integrity sha1-lp1J4bszKfa7fwkIm+JleLLd1Go= - is-generator-fn@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" @@ -7906,6 +7707,11 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + is-obj@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" @@ -8099,53 +7905,11 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= -istanbul-api@^1.3.1: - version "1.3.7" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" - integrity sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA== - dependencies: - async "^2.1.4" - fileset "^2.0.2" - istanbul-lib-coverage "^1.2.1" - istanbul-lib-hook "^1.2.2" - istanbul-lib-instrument "^1.10.2" - istanbul-lib-report "^1.1.5" - istanbul-lib-source-maps "^1.2.6" - istanbul-reports "^1.5.1" - js-yaml "^3.7.0" - mkdirp "^0.5.1" - once "^1.4.0" - -istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ== - istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== -istanbul-lib-hook@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86" - integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw== - dependencies: - append-transform "^0.4.0" - -istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A== - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" @@ -8159,16 +7923,6 @@ istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: istanbul-lib-coverage "^2.0.5" semver "^6.0.0" -istanbul-lib-report@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" - integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw== - dependencies: - istanbul-lib-coverage "^1.2.1" - mkdirp "^0.5.1" - path-parse "^1.0.5" - supports-color "^3.1.2" - istanbul-lib-report@^2.0.4: version "2.0.8" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" @@ -8178,17 +7932,6 @@ istanbul-lib-report@^2.0.4: make-dir "^2.1.0" supports-color "^6.1.0" -istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f" - integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg== - dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^1.2.1" - mkdirp "^0.5.1" - rimraf "^2.6.1" - source-map "^0.5.3" - istanbul-lib-source-maps@^3.0.1: version "3.0.6" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" @@ -8200,13 +7943,6 @@ istanbul-lib-source-maps@^3.0.1: rimraf "^2.6.3" source-map "^0.6.1" -istanbul-reports@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" - integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw== - dependencies: - handlebars "^4.0.3" - istanbul-reports@^2.1.1: version "2.2.6" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" @@ -8222,13 +7958,6 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -jest-changed-files@^23.4.2: - version "23.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83" - integrity sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA== - dependencies: - throat "^4.0.0" - jest-changed-files@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.8.0.tgz#7e7eb21cf687587a85e50f3d249d1327e15b157b" @@ -8238,48 +7967,6 @@ jest-changed-files@^24.8.0: execa "^1.0.0" throat "^4.0.0" -jest-cli@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.6.0.tgz#61ab917744338f443ef2baa282ddffdd658a5da4" - integrity sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ== - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.1.11" - import-local "^1.0.0" - is-ci "^1.0.10" - istanbul-api "^1.3.1" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-source-maps "^1.2.4" - jest-changed-files "^23.4.2" - jest-config "^23.6.0" - jest-environment-jsdom "^23.4.0" - jest-get-type "^22.1.0" - jest-haste-map "^23.6.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - jest-resolve-dependencies "^23.6.0" - jest-runner "^23.6.0" - jest-runtime "^23.6.0" - jest-snapshot "^23.6.0" - jest-util "^23.4.0" - jest-validate "^23.6.0" - jest-watcher "^23.4.0" - jest-worker "^23.2.0" - micromatch "^2.3.11" - node-notifier "^5.2.1" - prompts "^0.1.9" - realpath-native "^1.0.0" - rimraf "^2.5.4" - slash "^1.0.0" - string-length "^2.0.0" - strip-ansi "^4.0.0" - which "^1.2.12" - yargs "^11.0.0" - jest-cli@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.8.0.tgz#b075ac914492ed114fa338ade7362a301693e989" @@ -8299,26 +7986,6 @@ jest-cli@^24.8.0: realpath-native "^1.1.0" yargs "^12.0.2" -jest-config@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d" - integrity sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ== - dependencies: - babel-core "^6.0.0" - babel-jest "^23.6.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^23.4.0" - jest-environment-node "^23.4.0" - jest-get-type "^22.1.0" - jest-jasmine2 "^23.6.0" - jest-regex-util "^23.3.0" - jest-resolve "^23.6.0" - jest-util "^23.4.0" - jest-validate "^23.6.0" - micromatch "^2.3.11" - pretty-format "^23.6.0" - jest-config@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.8.0.tgz#77db3d265a6f726294687cbbccc36f8a76ee0f4f" @@ -8342,16 +8009,6 @@ jest-config@^24.8.0: pretty-format "^24.8.0" realpath-native "^1.1.0" -jest-diff@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d" - integrity sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g== - dependencies: - chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.1.0" - pretty-format "^23.6.0" - jest-diff@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.8.0.tgz#146435e7d1e3ffdf293d53ff97e193f1d1546172" @@ -8367,13 +8024,6 @@ jest-docblock@^21.0.0: resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" integrity sha512-5IZ7sY9dBAYSV+YjQ0Ovb540Ku7AO9Z5o2Cg789xj167iQuZ2cG+z0f3Uct6WeYLbU6aQiM2pCs7sZ+4dotydw== -jest-docblock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" - integrity sha1-8IXh8YVI2Z/dabICB+b9VdkTg6c= - dependencies: - detect-newline "^2.1.0" - jest-docblock@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.3.0.tgz#b9c32dac70f72e4464520d2ba4aec02ab14db5dd" @@ -8381,14 +8031,6 @@ jest-docblock@^24.3.0: dependencies: detect-newline "^2.1.0" -jest-each@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.6.0.tgz#ba0c3a82a8054387016139c733a05242d3d71575" - integrity sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg== - dependencies: - chalk "^2.0.1" - pretty-format "^23.6.0" - jest-each@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.8.0.tgz#a05fd2bf94ddc0b1da66c6d13ec2457f35e52775" @@ -8400,15 +8042,6 @@ jest-each@^24.8.0: jest-util "^24.8.0" pretty-format "^24.8.0" -jest-environment-jsdom@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023" - integrity sha1-BWp5UrP+pROsYqFAosNox52eYCM= - dependencies: - jest-mock "^23.2.0" - jest-util "^23.4.0" - jsdom "^11.5.1" - jest-environment-jsdom@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.8.0.tgz#300f6949a146cabe1c9357ad9e9ecf9f43f38857" @@ -8421,14 +8054,6 @@ jest-environment-jsdom@^24.8.0: jest-util "^24.8.0" jsdom "^11.5.1" -jest-environment-node@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10" - integrity sha1-V+gO0IQd6jAxZ8zozXlSHeuv3hA= - dependencies: - jest-mock "^23.2.0" - jest-util "^23.4.0" - jest-environment-node@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.8.0.tgz#d3f726ba8bc53087a60e7a84ca08883a4c892231" @@ -8440,30 +8065,11 @@ jest-environment-node@^24.8.0: jest-mock "^24.8.0" jest-util "^24.8.0" -jest-get-type@^22.1.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" - integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== - jest-get-type@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.8.0.tgz#a7440de30b651f5a70ea3ed7ff073a32dfe646fc" integrity sha512-RR4fo8jEmMD9zSz2nLbs2j0zvPpk/KCEz3a62jJWbd2ayNo0cb+KFRxPHVhE4ZmgGJEQp0fosmNz84IfqM8cMQ== -jest-haste-map@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz#2e3eb997814ca696d62afdb3f2529f5bbc935e16" - integrity sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg== - dependencies: - fb-watchman "^2.0.0" - graceful-fs "^4.1.11" - invariant "^2.2.4" - jest-docblock "^23.2.0" - jest-serializer "^23.0.1" - jest-worker "^23.2.0" - micromatch "^2.3.11" - sane "^2.0.0" - jest-haste-map@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.8.0.tgz#51794182d877b3ddfd6e6d23920e3fe72f305800" @@ -8483,24 +8089,6 @@ jest-haste-map@^24.8.0: optionalDependencies: fsevents "^1.2.7" -jest-jasmine2@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz#840e937f848a6c8638df24360ab869cc718592e0" - integrity sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ== - dependencies: - babel-traverse "^6.0.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^23.6.0" - is-generator-fn "^1.0.0" - jest-diff "^23.6.0" - jest-each "^23.6.0" - jest-matcher-utils "^23.6.0" - jest-message-util "^23.4.0" - jest-snapshot "^23.6.0" - jest-util "^23.4.0" - pretty-format "^23.6.0" - jest-jasmine2@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.8.0.tgz#a9c7e14c83dd77d8b15e820549ce8987cc8cd898" @@ -8523,13 +8111,6 @@ jest-jasmine2@^24.8.0: pretty-format "^24.8.0" throat "^4.0.0" -jest-leak-detector@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz#e4230fd42cf381a1a1971237ad56897de7e171de" - integrity sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg== - dependencies: - pretty-format "^23.6.0" - jest-leak-detector@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.8.0.tgz#c0086384e1f650c2d8348095df769f29b48e6980" @@ -8537,15 +8118,6 @@ jest-leak-detector@^24.8.0: dependencies: pretty-format "^24.8.0" -jest-matcher-utils@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz#726bcea0c5294261a7417afb6da3186b4b8cac80" - integrity sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog== - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - pretty-format "^23.6.0" - jest-matcher-utils@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.8.0.tgz#2bce42204c9af12bde46f83dc839efe8be832495" @@ -8556,17 +8128,6 @@ jest-matcher-utils@^24.8.0: jest-get-type "^24.8.0" pretty-format "^24.8.0" -jest-message-util@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f" - integrity sha1-F2EMUJQjSVCNAaPR4L2iwHkIap8= - dependencies: - "@babel/code-frame" "^7.0.0-beta.35" - chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" - stack-utils "^1.0.1" - jest-message-util@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.8.0.tgz#0d6891e72a4beacc0292b638685df42e28d6218b" @@ -8581,11 +8142,6 @@ jest-message-util@^24.8.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-mock@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" - integrity sha1-rRxg8p6HGdR8JuETgJi20YsmETQ= - jest-mock@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.8.0.tgz#2f9d14d37699e863f1febf4e4d5a33b7fdbbde56" @@ -8598,24 +8154,11 @@ jest-pnp-resolver@^1.2.1: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== -jest-regex-util@^23.3.0: - version "23.3.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5" - integrity sha1-X4ZylUfCeFxAAs6qj4Sf6MpHG8U= - jest-regex-util@^24.3.0: version "24.3.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.3.0.tgz#d5a65f60be1ae3e310d5214a0307581995227b36" integrity sha512-tXQR1NEOyGlfylyEjg1ImtScwMq8Oh3iJbGTjN7p0J23EuVX1MA8rwU69K4sLbCmwzgCUbVkm0FkSF9TdzOhtg== -jest-resolve-dependencies@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz#b4526af24c8540d9a3fab102c15081cf509b723d" - integrity sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA== - dependencies: - jest-regex-util "^23.3.0" - jest-snapshot "^23.6.0" - jest-resolve-dependencies@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.8.0.tgz#19eec3241f2045d3f990dba331d0d7526acff8e0" @@ -8625,15 +8168,6 @@ jest-resolve-dependencies@^24.8.0: jest-regex-util "^24.3.0" jest-snapshot "^24.8.0" -jest-resolve@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.6.0.tgz#cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae" - integrity sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA== - dependencies: - browser-resolve "^1.11.3" - chalk "^2.0.1" - realpath-native "^1.0.0" - jest-resolve@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.8.0.tgz#84b8e5408c1f6a11539793e2b5feb1b6e722439f" @@ -8645,25 +8179,6 @@ jest-resolve@^24.8.0: jest-pnp-resolver "^1.2.1" realpath-native "^1.1.0" -jest-runner@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.6.0.tgz#3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38" - integrity sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA== - dependencies: - exit "^0.1.2" - graceful-fs "^4.1.11" - jest-config "^23.6.0" - jest-docblock "^23.2.0" - jest-haste-map "^23.6.0" - jest-jasmine2 "^23.6.0" - jest-leak-detector "^23.6.0" - jest-message-util "^23.4.0" - jest-runtime "^23.6.0" - jest-util "^23.4.0" - jest-worker "^23.2.0" - source-map-support "^0.5.6" - throat "^4.0.0" - jest-runner@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.8.0.tgz#4f9ae07b767db27b740d7deffad0cf67ccb4c5bb" @@ -8689,33 +8204,6 @@ jest-runner@^24.8.0: source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.6.0.tgz#059e58c8ab445917cd0e0d84ac2ba68de8f23082" - integrity sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw== - dependencies: - babel-core "^6.0.0" - babel-plugin-istanbul "^4.1.6" - chalk "^2.0.1" - convert-source-map "^1.4.0" - exit "^0.1.2" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.11" - jest-config "^23.6.0" - jest-haste-map "^23.6.0" - jest-message-util "^23.4.0" - jest-regex-util "^23.3.0" - jest-resolve "^23.6.0" - jest-snapshot "^23.6.0" - jest-util "^23.4.0" - jest-validate "^23.6.0" - micromatch "^2.3.11" - realpath-native "^1.0.0" - slash "^1.0.0" - strip-bom "3.0.0" - write-file-atomic "^2.1.0" - yargs "^11.0.0" - jest-runtime@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.8.0.tgz#05f94d5b05c21f6dc54e427cd2e4980923350620" @@ -8745,32 +8233,11 @@ jest-runtime@^24.8.0: strip-bom "^3.0.0" yargs "^12.0.2" -jest-serializer@^23.0.1: - version "23.0.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" - integrity sha1-o3dq6zEekP6D+rnlM+hRAr0WQWU= - jest-serializer@^24.4.0: version "24.4.0" resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.4.0.tgz#f70c5918c8ea9235ccb1276d232e459080588db3" integrity sha512-k//0DtglVstc1fv+GY/VHDIjrtNjdYvYjMlbLUed4kxrE92sIUewOi5Hj3vrpB8CXfkJntRPDRjCrCvUhBdL8Q== -jest-snapshot@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz#f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a" - integrity sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg== - dependencies: - babel-types "^6.0.0" - chalk "^2.0.1" - jest-diff "^23.6.0" - jest-matcher-utils "^23.6.0" - jest-message-util "^23.4.0" - jest-resolve "^23.6.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^23.6.0" - semver "^5.5.0" - jest-snapshot@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.8.0.tgz#3bec6a59da2ff7bc7d097a853fb67f9d415cb7c6" @@ -8801,20 +8268,6 @@ jest-transform-css@^2.0.0: postcss-modules "1.3.2" style-inject "0.3.0" -jest-util@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" - integrity sha1-TQY8uSe68KI4Mf9hvsLLv0l5NWE= - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^23.4.0" - mkdirp "^0.5.1" - slash "^1.0.0" - source-map "^0.6.0" - jest-util@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.8.0.tgz#41f0e945da11df44cc76d64ffb915d0716f46cd1" @@ -8833,16 +8286,6 @@ jest-util@^24.8.0: slash "^2.0.0" source-map "^0.6.0" -jest-validate@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474" - integrity sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A== - dependencies: - chalk "^2.0.1" - jest-get-type "^22.1.0" - leven "^2.1.0" - pretty-format "^23.6.0" - jest-validate@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.8.0.tgz#624c41533e6dfe356ffadc6e2423a35c2d3b4849" @@ -8855,15 +8298,6 @@ jest-validate@^24.8.0: leven "^2.1.0" pretty-format "^24.8.0" -jest-watcher@^23.4.0: - version "23.4.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" - integrity sha1-0uKM50+NrWxq/JIrksq+9u0FyRw= - dependencies: - ansi-escapes "^3.0.0" - chalk "^2.0.1" - string-length "^2.0.0" - jest-watcher@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.8.0.tgz#58d49915ceddd2de85e238f6213cef1c93715de4" @@ -8877,13 +8311,6 @@ jest-watcher@^24.8.0: jest-util "^24.8.0" string-length "^2.0.0" -jest-worker@^23.2.0: - version "23.2.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9" - integrity sha1-+vcGqNo2+uYOsmlXJX+ntdjqArk= - dependencies: - merge-stream "^1.0.1" - jest-worker@^24.6.0: version "24.6.0" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.6.0.tgz#7f81ceae34b7cde0c9827a6980c35b7cdc0161b3" @@ -8892,14 +8319,6 @@ jest-worker@^24.6.0: merge-stream "^1.0.1" supports-color "^6.1.0" -jest@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-23.6.0.tgz#ad5835e923ebf6e19e7a1d7529a432edfee7813d" - integrity sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw== - dependencies: - import-local "^1.0.0" - jest-cli "^23.6.0" - jest@^24.5.0: version "24.8.0" resolved "https://registry.yarnpkg.com/jest/-/jest-24.8.0.tgz#d5dff1984d0d1002196e9b7f12f75af1b2809081" @@ -8953,7 +8372,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.8.1, js-yaml@^3.9.0, js-yaml@^3.9.1: +js-yaml@^3.13.1, js-yaml@^3.8.1, js-yaml@^3.9.0, js-yaml@^3.9.1: version "3.13.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== @@ -9084,11 +8503,6 @@ jsdom@^11.5.1: ws "^5.2.0" xml-name-validator "^3.0.0" -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s= - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -9257,11 +8671,6 @@ klaw@~2.0.0: dependencies: graceful-fs "^4.1.9" -kleur@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" - integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ== - kleur@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -10096,17 +9505,12 @@ merge2@^1.2.3: resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.2.3.tgz#7ee99dbd69bb6481689253f018488a1b902b0ed5" integrity sha512-gdUU1Fwj5ep4kplwcmftruWofEFt6lfpkkr3h860CXbAB9c3hGb55EOL2ali0Td5oebvW0E1+3Sr+Ur7XfKpRA== -merge@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145" - integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ== - methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^2.1.5, micromatch@^2.3.11: +micromatch@^2.1.5: version "2.3.11" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" integrity sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU= @@ -10144,6 +9548,14 @@ micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8, mic snapdragon "^0.8.1" to-regex "^3.0.2" +micromatch@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + miller-rabin@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" @@ -10189,13 +9601,13 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mini-css-extract-plugin@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.6.0.tgz#a3f13372d6fcde912f3ee4cd039665704801e3b9" - integrity sha512-79q5P7YGI6rdnVyIAV4NXpBQJFWdkzJxCim3Kog4078fM0piAaFlwocqbejdWtLW1cEzCexPrh6EdyFsPgVdAw== +mini-css-extract-plugin@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.7.0.tgz#5ba8290fbb4179a43dd27cca444ba150bee743a0" + integrity sha512-RQIw6+7utTYn8DBGsf/LpRgZCJMpZt+kuawJ/fju0KiOL6nAaTBNmCJwS7HtwSCXfS47gCkmtBFS7HdsquhdxQ== dependencies: loader-utils "^1.1.0" - normalize-url "^2.0.1" + normalize-url "1.9.1" schema-utils "^1.0.0" webpack-sources "^1.1.0" @@ -10232,7 +9644,7 @@ minimatch@3.0.3: dependencies: brace-expansion "^1.0.0" -minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: +minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.2: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== @@ -10651,16 +10063,7 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= -normalize-url@2.0.1, normalize-url@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" - integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== - dependencies: - prepend-http "^2.0.0" - query-string "^5.0.1" - sort-keys "^2.0.0" - -normalize-url@^1.4.0: +normalize-url@1.9.1, normalize-url@^1.4.0: version "1.9.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= @@ -10670,6 +10073,15 @@ normalize-url@^1.4.0: query-string "^4.1.0" sort-keys "^1.0.0" +normalize-url@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" + integrity sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw== + dependencies: + prepend-http "^2.0.0" + query-string "^5.0.1" + sort-keys "^2.0.0" + npm-audit-report@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/npm-audit-report/-/npm-audit-report-1.3.2.tgz#303bc78cd9e4c226415076a4f7e528c89fc77018" @@ -11037,11 +10449,6 @@ obuf@^1.0.0, obuf@^1.1.2: resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== -on-build-webpack@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/on-build-webpack/-/on-build-webpack-0.1.0.tgz#a287c0e17766e6141926e5f2cbb0d8bb53b76814" - integrity sha1-oofA4Xdm5hQZJuXyy7DYu1O3aBQ= - on-finished@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" @@ -11145,13 +10552,6 @@ os-homedir@^1.0.0, os-homedir@^1.0.1: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - os-locale@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" @@ -11175,7 +10575,7 @@ os-shim@^0.1.2: resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" integrity sha1-a2LDeRz3kJ6jXtRuF2WLtBfLORc= -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -11487,7 +10887,7 @@ path-exists@^3.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: +path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= @@ -11502,7 +10902,7 @@ path-key@^2.0.0, path-key@^2.0.1: resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= -path-parse@^1.0.5, path-parse@^1.0.6: +path-parse@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== @@ -11568,6 +10968,11 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= +picomatch@^2.0.5: + version "2.0.7" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.0.7.tgz#514169d8c7cd0bdbeecc8a2609e34a7163de69f6" + integrity sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA== + pidtree@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.0.tgz#f6fada10fccc9f99bf50e90d0b23d72c9ebc2e6b" @@ -11607,13 +11012,6 @@ pirates@^4.0.0, pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - pkg-dir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" @@ -11798,14 +11196,14 @@ postcss-modules-extract-imports@1.1.0: dependencies: postcss "^6.0.1" -postcss-modules-extract-imports@^1.0.0, postcss-modules-extract-imports@^1.2.0: +postcss-modules-extract-imports@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a" integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw== dependencies: postcss "^6.0.1" -postcss-modules-local-by-default@1.2.0, postcss-modules-local-by-default@^1.0.1, postcss-modules-local-by-default@^1.2.0: +postcss-modules-local-by-default@1.2.0, postcss-modules-local-by-default@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069" integrity sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk= @@ -11813,7 +11211,7 @@ postcss-modules-local-by-default@1.2.0, postcss-modules-local-by-default@^1.0.1, css-selector-tokenizer "^0.7.0" postcss "^6.0.1" -postcss-modules-scope@1.1.0, postcss-modules-scope@^1.0.0, postcss-modules-scope@^1.1.0: +postcss-modules-scope@1.1.0, postcss-modules-scope@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90" integrity sha1-1upkmUx5+XtipytCb75gVqGUu5A= @@ -11821,7 +11219,7 @@ postcss-modules-scope@1.1.0, postcss-modules-scope@^1.0.0, postcss-modules-scope css-selector-tokenizer "^0.7.0" postcss "^6.0.1" -postcss-modules-values@1.3.0, postcss-modules-values@^1.1.0, postcss-modules-values@^1.3.0: +postcss-modules-values@1.3.0, postcss-modules-values@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20" integrity sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA= @@ -12023,14 +11421,6 @@ prettier@^1.14.2: resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.17.1.tgz#ed64b4e93e370cb8a25b9ef7fef3e4fd1c0995db" integrity sha512-TzGRNvuUSmPgwivDqkZ9tM/qTGW9hqDKWOE9YHiyQdixlKbv7kvEqsmDPrcHJTKwthU774TQwZXVtaQ/mMsvjg== -pretty-format@^23.6.0: - version "23.6.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760" - integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw== - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - pretty-format@^24.8.0: version "24.8.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.8.0.tgz#8dae7044f58db7cb8be245383b565a963e3c27f2" @@ -12048,7 +11438,7 @@ prismjs@^1.15.0: optionalDependencies: clipboard "^2.0.0" -private@^0.1.6, private@^0.1.8, private@~0.1.5: +private@^0.1.6, private@~0.1.5: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== @@ -12088,14 +11478,6 @@ promise@^7.1.1: dependencies: asap "~2.0.3" -prompts@^0.1.9: - version "0.1.14" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.14.tgz#a8e15c612c5c9ec8f8111847df3337c9cbd443b2" - integrity sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w== - dependencies: - kleur "^2.0.1" - sisteransi "^0.1.1" - prompts@^2.0.1: version "2.1.0" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.1.0.tgz#bf90bc71f6065d255ea2bdc0fe6520485c1b45db" @@ -12568,7 +11950,7 @@ readdirp@^2.0.0, readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -realpath-native@^1.0.0, realpath-native@^1.1.0: +realpath-native@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== @@ -13005,11 +12387,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rsvp@^3.3.3: - version "3.6.2" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" - integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== - rsvp@^4.8.4: version "4.8.4" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.4.tgz#b50e6b34583f3dd89329a2f23a8a2be072845911" @@ -13068,22 +12445,6 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^2.0.0: - version "2.5.2" - resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa" - integrity sha1-tNwYYcIbQn6SlQej51HiosuKs/o= - dependencies: - anymatch "^2.0.0" - capture-exit "^1.2.0" - exec-sh "^0.2.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - watch "~0.18.0" - optionalDependencies: - fsevents "^1.2.3" - sane@^4.0.3: version "4.1.0" resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" @@ -13179,7 +12540,7 @@ semver-truncate@^1.1.2: dependencies: semver "^5.3.0" -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA== @@ -13384,11 +12745,6 @@ sinon@^7.3.1: nise "^1.4.10" supports-color "^5.5.0" -sisteransi@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" - integrity sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g== - sisteransi@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.0.tgz#77d9622ff909080f1c19e5f4a1df0c1b0a27b88c" @@ -13550,11 +12906,6 @@ sorted-union-stream@~2.1.3: from2 "^1.3.0" stream-iterate "^1.1.0" -source-list-map@^0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" - integrity sha1-xVCyq1Qn9rPyH1r+rYjE9Vh7IQY= - source-list-map@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" @@ -13579,13 +12930,6 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== - dependencies: - source-map "^0.5.6" - source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.10: version "0.5.12" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.12.tgz#b4f3b10d51857a5af0138d3ce8003b201613d599" @@ -13599,7 +12943,7 @@ source-map-url@^0.4.0: resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= -source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.0, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -13849,7 +13193,7 @@ string-template@~0.2.1: resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= -string-width@^1.0.1, string-width@^1.0.2: +string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= @@ -13920,11 +13264,6 @@ strip-ansi@^5.0.0: dependencies: ansi-regex "^4.1.0" -strip-bom@3.0.0, strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - strip-bom@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" @@ -13932,6 +13271,11 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= + strip-color@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/strip-color/-/strip-color-0.1.0.tgz#106f65d3d3e6a2d9401cac0eb0ce8b8a702b4f7b" @@ -13989,13 +13333,6 @@ style-inject@0.3.0: resolved "https://registry.yarnpkg.com/style-inject/-/style-inject-0.3.0.tgz#d21c477affec91811cc82355832a700d22bf8dd3" integrity sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw== -style-loader@^0.13.1: - version "0.13.2" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.13.2.tgz#74533384cf698c7104c7951150b49717adc2f3bb" - integrity sha1-dFMzhM9pjHEEx5URULSXF63C87s= - dependencies: - loader-utils "^1.0.2" - style-loader@^0.18.2: version "0.18.2" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.18.2.tgz#cc31459afbcd6d80b7220ee54b291a9fd66ff5eb" @@ -14021,7 +13358,7 @@ supports-color@^2.0.0: resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= -supports-color@^3.1.0, supports-color@^3.1.2, supports-color@^3.2.3: +supports-color@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" integrity sha1-ZawFBLOVQXHYpklGsq48u4pfVPY= @@ -14125,7 +13462,7 @@ taffydb@2.6.2: resolved "https://registry.yarnpkg.com/taffydb/-/taffydb-2.6.2.tgz#7cbcb64b5a141b6a2efc2c5d2c67b4e150b2a268" integrity sha1-fLy2S1oUG2ou/CxdLGe04VCyomg= -tapable@^0.2.7, tapable@~0.2.5: +tapable@^0.2.7: version "0.2.9" resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.9.tgz#af2d8bbc9b04f74ee17af2b4d9048f807acd18a8" integrity sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A== @@ -14277,17 +13614,6 @@ terser@^4.0.0: source-map "~0.6.1" source-map-support "~0.5.10" -test-exclude@^4.2.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" - integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA== - dependencies: - arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -14441,6 +13767,13 @@ to-regex-range@^2.1.0: is-number "^3.0.0" repeat-string "^1.6.1" +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + to-regex@^3.0.1, to-regex@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" @@ -14541,16 +13874,16 @@ ts-jest@^23.10.4: semver "^5.5" yargs-parser "10.x" -ts-loader@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-3.5.0.tgz#151d004dcddb4cf8e381a3bf9d6b74c2d957a9c0" - integrity sha512-JTia3kObhTk36wPFgy0RnkZReiusYx7Le9IhcUWRrCTcFcr6Dy1zGsFd3x8DG4gevlbN65knI8W50FfoykXcng== +ts-loader@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-6.0.4.tgz#bc331ad91a887a60632d94c9f79448666f2c4b63" + integrity sha512-p2zJYe7OtwR+49kv4gs7v4dMrfYD1IPpOtqiSPCbe8oR+4zEBtdHwzM7A7M91F+suReqgzZrlClk4LRSSp882g== dependencies: chalk "^2.3.0" - enhanced-resolve "^3.0.0" + enhanced-resolve "^4.0.0" loader-utils "^1.0.2" - micromatch "^3.1.4" - semver "^5.0.1" + micromatch "^4.0.0" + semver "^6.0.0" tslib@^1.9.0, tslib@^1.9.3: version "1.9.3" @@ -14632,7 +13965,7 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" -uglify-js@^2.8.27, uglify-js@^2.8.29: +uglify-js@^2.8.29: version "2.8.29" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0= @@ -15006,15 +14339,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -watch@~0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986" - integrity sha1-KAlUdsbffJDJYxOJkMClQj60uYY= - dependencies: - exec-sh "^0.2.0" - minimist "^1.2.0" - -watchpack@^1.3.1, watchpack@^1.4.0, watchpack@^1.5.0: +watchpack@^1.4.0, watchpack@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== @@ -15131,33 +14456,6 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0, webpack-sources@^1.3.0: source-list-map "^2.0.0" source-map "~0.6.1" -webpack@^2.2.1: - version "2.7.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.7.0.tgz#b2a1226804373ffd3d03ea9c6bd525067034f6b1" - integrity sha512-MjAA0ZqO1ba7ZQJRnoCdbM56mmFpipOPUv/vQpwwfSI42p5PVDdoiuK2AL2FwFUVgT859Jr43bFZXRg/LNsqvg== - dependencies: - acorn "^5.0.0" - acorn-dynamic-import "^2.0.0" - ajv "^4.7.0" - ajv-keywords "^1.1.1" - async "^2.1.2" - enhanced-resolve "^3.3.0" - interpret "^1.0.0" - json-loader "^0.5.4" - json5 "^0.5.1" - loader-runner "^2.3.0" - loader-utils "^0.2.16" - memory-fs "~0.4.1" - mkdirp "~0.5.0" - node-libs-browser "^2.0.0" - source-map "^0.5.3" - supports-color "^3.1.0" - tapable "~0.2.5" - uglify-js "^2.8.27" - watchpack "^1.3.1" - webpack-sources "^1.0.1" - yargs "^6.0.0" - webpack@^3.5.6: version "3.12.0" resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.12.0.tgz#3f9e34360370602fcf639e97939db486f4ec0d74" @@ -15269,11 +14567,6 @@ whet.extend@~0.9.9: resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" integrity sha1-+HfVv2SMl+WqVC+twW1qJZucEaE= -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" @@ -15284,7 +14577,7 @@ which-pm-runs@^1.0.0: resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb" integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs= -which@1, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -15377,7 +14670,7 @@ write-file-atomic@2.4.1: imurmurhash "^0.1.4" signal-exit "^3.0.2" -write-file-atomic@^2.0.0, write-file-atomic@^2.1.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: +write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== @@ -15500,13 +14793,6 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - integrity sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw= - dependencies: - camelcase "^3.0.0" - yargs-parser@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" @@ -15582,25 +14868,6 @@ yargs@^2.3.0: dependencies: wordwrap "0.0.2" -yargs@^6.0.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - integrity sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg= - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" - yargs@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"