From 7e94eccc2eb56a48db2f299d6597dd2dd4f3f79b Mon Sep 17 00:00:00 2001 From: Spencer Date: Fri, 7 Sep 2018 18:36:13 -0700 Subject: [PATCH] Upgrade to Jest 23.5.0 (#22791) I'd really like to upgrade to Typescript 3 for its `unknown` type, but we need to upgrade to `jest@23` to support a recent version of `ts-jest@23`. The [jest changelog](https://github.com/facebook/jest/blob/master/CHANGELOG.md) breaks down the breaking changes in 23.x, but I found it to be slightly incomplete so I've broken down the changes that actually caused breaks for us here, and addressed each in individual commits to make review a little easier: - the `testURL` config default was changed from `about:blank` to `http://localhost` - this cause some XHR requests powered by JSdom to start failing. It seems these requests just do nothing in master but start to fail when JSdom is initialized with an actual URL... I think we would ideally stop sending meaningless XHR requests in the tests, but it was a lot easier to just set the config to `about:blank` for now, and we can worry about cleanup later if necessary - `expect(...).toThrow()` only passes if an actual error was thrown. - In two places in the index pattern code we were throwing strings, which broke the assertions. Fortunately/Unfortunately the errors are not being consumed by anything, so I was able to wrap them in `new Error()` without causing any issues. - snapshots of mock functions now include a `results` array, detailing the return values of the function - React fragments are now serialized as `` instead of `` - undefined props in React components are now stripped from snapshots - minor changes to the ordering of mocks, imports resolution, and before hooks caused the uiSettings API tests to start breaking, but I'm replacing them with totally new tests in #22694 so I just deleted them here - mocks created with `jest.spyOn()` that are restored now have their `mock.calls` reset, so some of the kbn-pm tests stated failing. This was fixed by restoring them with `jest.restoreAllMocks()` rather than trying to do it before the assertions --- package.json | 12 +- packages/eslint-config-kibana/package.json | 2 +- .../sao_template/template/package.json | 2 +- packages/kbn-pm/package.json | 2 +- .../kbn-pm/src/commands/bootstrap.test.ts | 13 +- .../utils/link_project_executables.test.ts | 2 +- packages/kbn-pm/yarn.lock | 6 +- packages/kbn-system-loader/package.json | 2 +- packages/kbn-system-loader/yarn.lock | 6 +- .../__snapshots__/legacy_service.test.ts.snap | 6 + .../data/__snapshots__/data_view.test.js.snap | 4 +- .../dashboard_listing.test.js.snap | 4 +- .../instruction_set.test.js.snap | 44 +- .../saved_objects_installer.test.js.snap | 136 +++- .../lib/__tests__/get_indices.test.js | 2 +- .../lib/get_indices.js | 2 +- .../source_filters_table.test.js.snap | 18 + .../field/__snapshots__/field.test.js.snap | 264 +++---- src/dev/jest/config.js | 2 + src/dev/jest/ts_transform.ts | 23 +- .../__snapshots__/help_flyout.test.js.snap | 1 - .../share_context_menu.test.js.snap | 3 - .../ui_settings_api.test.js.snap | 126 ---- .../public/ui_settings_api.test.js | 134 ---- x-pack/dev-tools/jest/create_jest_config.js | 4 +- x-pack/package.json | 10 +- .../list/__snapshots__/table.test.js.snap | 1 - x-pack/yarn.lock | 520 ++++++++------ yarn.lock | 672 ++++++++---------- 29 files changed, 940 insertions(+), 1083 deletions(-) delete mode 100644 src/ui/ui_settings/public/__snapshots__/ui_settings_api.test.js.snap delete mode 100644 src/ui/ui_settings/public/ui_settings_api.test.js diff --git a/package.json b/package.json index b7a6a0035f46..3239cdefafc0 100644 --- a/package.json +++ b/package.json @@ -224,7 +224,7 @@ "@types/glob": "^5.0.35", "@types/hapi-latest": "npm:@types/hapi@17.0.12", "@types/has-ansi": "^3.0.0", - "@types/jest": "^22.2.3", + "@types/jest": "^23.3.1", "@types/joi": "^10.4.4", "@types/jquery": "3.3.1", "@types/js-yaml": "^3.11.1", @@ -244,7 +244,7 @@ "@types/type-detect": "^4.0.1", "angular-mocks": "1.4.7", "babel-eslint": "8.1.2", - "babel-jest": "^22.4.3", + "babel-jest": "^23.4.2", "backport": "4.4.1", "chai": "3.5.0", "chance": "1.0.10", @@ -260,7 +260,7 @@ "eslint-config-prettier": "^2.9.0", "eslint-plugin-babel": "4.1.2", "eslint-plugin-import": "2.8.0", - "eslint-plugin-jest": "^21.6.2", + "eslint-plugin-jest": "^21.22.0", "eslint-plugin-mocha": "4.11.0", "eslint-plugin-no-unsanitized": "^3.0.2", "eslint-plugin-prefer-object-spread": "1.2.1", @@ -285,8 +285,8 @@ "husky": "0.8.1", "image-diff": "1.6.0", "istanbul-instrumenter-loader": "3.0.0", - "jest": "^22.4.3", - "jest-cli": "^22.4.3", + "jest": "^23.5.0", + "jest-cli": "^23.5.0", "jest-raw-loader": "^1.0.1", "jimp": "0.2.28", "jsdom": "9.9.1", @@ -322,7 +322,7 @@ "supertest": "^3.1.0", "supertest-as-promised": "^4.0.2", "tree-kill": "^1.1.0", - "ts-jest": "^22.4.6", + "ts-jest": "^23.1.4", "ts-loader": "^3.5.0", "ts-node": "^6.0.3", "tslint": "^5.10.0", diff --git a/packages/eslint-config-kibana/package.json b/packages/eslint-config-kibana/package.json index 0c04ea50a4c0..19574bb2df05 100644 --- a/packages/eslint-config-kibana/package.json +++ b/packages/eslint-config-kibana/package.json @@ -19,7 +19,7 @@ "eslint": "^4.1.0", "eslint-plugin-babel": "^4.1.1", "eslint-plugin-import": "^2.6.0", - "eslint-plugin-jest": "^21.0.0", + "eslint-plugin-jest": "^21.22.0", "eslint-plugin-mocha": "^4.9.0", "eslint-plugin-no-unsanitized": "^3.0.2", "eslint-plugin-prefer-object-spread": "^1.2.1", diff --git a/packages/kbn-plugin-generator/sao_template/template/package.json b/packages/kbn-plugin-generator/sao_template/template/package.json index 70608f3c2d79..f61e589960cd 100755 --- a/packages/kbn-plugin-generator/sao_template/template/package.json +++ b/packages/kbn-plugin-generator/sao_template/template/package.json @@ -24,7 +24,7 @@ "eslint": "^4.11.0", "eslint-plugin-babel": "^4.1.1", "eslint-plugin-import": "^2.3.0", - "eslint-plugin-jest": "^21.3.2", + "eslint-plugin-jest": "^21.22.0", "eslint-plugin-mocha": "^4.9.0", "eslint-plugin-no-unsanitized": "^3.0.2", "eslint-plugin-prefer-object-spread": "^1.2.1", diff --git a/packages/kbn-pm/package.json b/packages/kbn-pm/package.json index f7faefa5f9d4..53b72582981a 100644 --- a/packages/kbn-pm/package.json +++ b/packages/kbn-pm/package.json @@ -20,7 +20,7 @@ "@types/globby": "^6.1.0", "@types/has-ansi": "^3.0.0", "@types/indent-string": "^3.0.0", - "@types/jest": "^22.1.3", + "@types/jest": "^23.3.1", "@types/lodash.clonedeepwith": "^4.5.3", "@types/log-symbols": "^2.0.0", "@types/mkdirp": "^0.5.2", diff --git a/packages/kbn-pm/src/commands/bootstrap.test.ts b/packages/kbn-pm/src/commands/bootstrap.test.ts index 92785ebc91d3..66bdc6d82ecd 100644 --- a/packages/kbn-pm/src/commands/bootstrap.test.ts +++ b/packages/kbn-pm/src/commands/bootstrap.test.ts @@ -53,6 +53,7 @@ const noop = () => { afterEach(() => { jest.resetAllMocks(); + jest.restoreAllMocks(); }); test('handles dependencies of dependencies', async () => { @@ -96,8 +97,6 @@ test('handles dependencies of dependencies', async () => { rootPath: '', }); - logMock.mockRestore(); - expect(mockInstallInDir.mock.calls).toMatchSnapshot('install in dir'); expect(logMock.mock.calls).toMatchSnapshot('logs'); }); @@ -127,8 +126,6 @@ test('does not run installer if no deps in package', async () => { rootPath: '', }); - logMock.mockRestore(); - expect(mockInstallInDir.mock.calls).toMatchSnapshot('install in dir'); expect(logMock.mock.calls).toMatchSnapshot('logs'); }); @@ -143,7 +140,7 @@ test('handles "frozen-lockfile"', async () => { const projects = new Map([['kibana', kibana]]); const projectGraph = buildProjectGraph(projects); - const logMock = jest.spyOn(console, 'log').mockImplementation(noop); + jest.spyOn(console, 'log').mockImplementation(noop); await BootstrapCommand.run(projects, projectGraph, { extraArgs: [], @@ -153,8 +150,6 @@ test('handles "frozen-lockfile"', async () => { rootPath: '', }); - logMock.mockRestore(); - expect(mockInstallInDir.mock.calls).toMatchSnapshot('install in dir'); }); @@ -177,7 +172,7 @@ test('calls "kbn:bootstrap" scripts and links executables after installing deps' const projects = new Map([['kibana', kibana], ['bar', bar]]); const projectGraph = buildProjectGraph(projects); - const logMock = jest.spyOn(console, 'log').mockImplementation(noop); + jest.spyOn(console, 'log').mockImplementation(noop); await BootstrapCommand.run(projects, projectGraph, { extraArgs: [], @@ -185,8 +180,6 @@ test('calls "kbn:bootstrap" scripts and links executables after installing deps' rootPath: '', }); - logMock.mockRestore(); - expect(mockLinkProjectExecutables.mock.calls).toMatchSnapshot('link bins'); expect(mockRunScriptInPackageStreaming.mock.calls).toMatchSnapshot('script'); }); diff --git a/packages/kbn-pm/src/utils/link_project_executables.test.ts b/packages/kbn-pm/src/utils/link_project_executables.test.ts index b618a28e642d..ac0b69d01f79 100644 --- a/packages/kbn-pm/src/utils/link_project_executables.test.ts +++ b/packages/kbn-pm/src/utils/link_project_executables.test.ts @@ -81,6 +81,7 @@ expect.addSnapshotSerializer(stripAnsiSnapshotSerializer); afterEach(() => { jest.resetAllMocks(); + jest.restoreAllMocks(); }); describe('bin script points nowhere', () => { @@ -102,7 +103,6 @@ describe('bin script points to a file', () => { // noop }); await linkProjectExecutables(projectsByName, projectGraph); - logMock.mockRestore(); expect(getFsMockCalls()).toMatchSnapshot('fs module calls'); expect(logMock.mock.calls).toMatchSnapshot('logs'); diff --git a/packages/kbn-pm/yarn.lock b/packages/kbn-pm/yarn.lock index c16d37de830c..a19ebad9dfb0 100644 --- a/packages/kbn-pm/yarn.lock +++ b/packages/kbn-pm/yarn.lock @@ -70,9 +70,9 @@ version "3.0.0" resolved "https://registry.yarnpkg.com/@types/indent-string/-/indent-string-3.0.0.tgz#9ebb391ceda548926f5819ad16405349641b999f" -"@types/jest@^22.1.3": - version "22.1.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-22.1.3.tgz#25da391935e6fac537551456f077ce03144ec168" +"@types/jest@^23.3.1": + version "23.3.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" "@types/lodash.clonedeepwith@^4.5.3": version "4.5.3" diff --git a/packages/kbn-system-loader/package.json b/packages/kbn-system-loader/package.json index 5a169283edb7..55c65747c9fd 100644 --- a/packages/kbn-system-loader/package.json +++ b/packages/kbn-system-loader/package.json @@ -10,7 +10,7 @@ "kbn:bootstrap": "yarn build" }, "devDependencies": { - "@types/jest": "^22.2.2", + "@types/jest": "^23.3.1", "typescript": "^2.9.2" } } diff --git a/packages/kbn-system-loader/yarn.lock b/packages/kbn-system-loader/yarn.lock index 5e55ff3b0318..4b0f2d57d94d 100644 --- a/packages/kbn-system-loader/yarn.lock +++ b/packages/kbn-system-loader/yarn.lock @@ -2,9 +2,9 @@ # yarn lockfile v1 -"@types/jest@^22.2.2": - version "22.2.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-22.2.2.tgz#afe5dacbd00d65325f52da0ed3e76e259629ac9d" +"@types/jest@^23.3.1": + version "23.3.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" typescript@^2.9.2: version "2.9.2" diff --git a/src/core/server/legacy_compat/__snapshots__/legacy_service.test.ts.snap b/src/core/server/legacy_compat/__snapshots__/legacy_service.test.ts.snap index 4e10f1449d1c..99e6a29a8c5e 100644 --- a/src/core/server/legacy_compat/__snapshots__/legacy_service.test.ts.snap +++ b/src/core/server/legacy_compat/__snapshots__/legacy_service.test.ts.snap @@ -33,6 +33,12 @@ Array [ "starting legacy service", ], ], + "results": Array [ + Object { + "isThrow": false, + "value": undefined, + }, + ], }, "error": [MockFunction], "fatal": [MockFunction], diff --git a/src/core_plugins/inspector_views/public/data/__snapshots__/data_view.test.js.snap b/src/core_plugins/inspector_views/public/data/__snapshots__/data_view.test.js.snap index 65dbad218a28..86ba5ce7cd2b 100644 --- a/src/core_plugins/inspector_views/public/data/__snapshots__/data_view.test.js.snap +++ b/src/core_plugins/inspector_views/public/data/__snapshots__/data_view.test.js.snap @@ -29,11 +29,11 @@ exports[`Inspector Data View component should render empty state 1`] = ` > +

The element did not provide any data.

-
+
} iconColor="subdued" title={ diff --git a/src/core_plugins/kibana/public/dashboard/listing/__snapshots__/dashboard_listing.test.js.snap b/src/core_plugins/kibana/public/dashboard/listing/__snapshots__/dashboard_listing.test.js.snap index f8dd924d09f4..45517f756370 100644 --- a/src/core_plugins/kibana/public/dashboard/listing/__snapshots__/dashboard_listing.test.js.snap +++ b/src/core_plugins/kibana/public/dashboard/listing/__snapshots__/dashboard_listing.test.js.snap @@ -212,7 +212,7 @@ exports[`after fetch renders call to action when no dashboards exist 1`] = ` } body={ - +

You can combine data views from any Kibana app into one dashboard and see everything in one place.

@@ -227,7 +227,7 @@ exports[`after fetch renders call to action when no dashboards exist 1`] = ` to take a test drive.

-
+ } iconColor="subdued" iconType="dashboardApp" diff --git a/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/instruction_set.test.js.snap b/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/instruction_set.test.js.snap index 0f8dc642b9dc..33da08908448 100644 --- a/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/instruction_set.test.js.snap +++ b/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/instruction_set.test.js.snap @@ -55,8 +55,6 @@ exports[`render 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 0, "title": "step 1", @@ -70,8 +68,6 @@ exports[`render 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 1, "title": "step 2", @@ -137,8 +133,6 @@ exports[`statusCheckState checking status 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 0, "title": "step 1", @@ -152,14 +146,12 @@ exports[`statusCheckState checking status 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 1, "title": "step 2", }, Object { - "children": + "children": - , + , "key": "checkStatusStep", "status": "incomplete", "title": "custom title", @@ -262,8 +254,6 @@ exports[`statusCheckState failed status check - error 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 0, "title": "step 1", @@ -277,14 +267,12 @@ exports[`statusCheckState failed status check - error 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 1, "title": "step 2", }, Object { - "children": + "children": - , + , "key": "checkStatusStep", "status": "danger", "title": "custom title", @@ -392,8 +380,6 @@ exports[`statusCheckState failed status check - no data 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 0, "title": "step 1", @@ -407,14 +393,12 @@ exports[`statusCheckState failed status check - no data 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 1, "title": "step 2", }, Object { - "children": + "children": - , + , "key": "checkStatusStep", "status": "warning", "title": "custom title", @@ -522,8 +506,6 @@ exports[`statusCheckState initial state - no check has been attempted 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 0, "title": "step 1", @@ -537,14 +519,12 @@ exports[`statusCheckState initial state - no check has been attempted 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 1, "title": "step 2", }, Object { - "children": + "children": - , + , "key": "checkStatusStep", "status": "incomplete", "title": "custom title", @@ -647,8 +627,6 @@ exports[`statusCheckState successful status check 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 0, "title": "step 1", @@ -662,14 +640,12 @@ exports[`statusCheckState successful status check 1`] = ` } paramValues={Object {}} replaceTemplateStrings={[Function]} - textPost={undefined} - textPre={undefined} />, "key": 1, "title": "step 2", }, Object { - "children": + "children": - , + , "key": "checkStatusStep", "status": "complete", "title": "custom title", diff --git a/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap b/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap index 6a0f123c2290..f5ae01470c77 100644 --- a/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap +++ b/src/core_plugins/kibana/public/home/components/tutorial/__snapshots__/saved_objects_installer.test.js.snap @@ -130,6 +130,84 @@ exports[`bulkCreate should display error message when bulkCreate request fails 1 }, ], ], + "results": Array [ + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "{savedObjectsLength} saved objects successfully added", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Request failed, Error: {message}", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + ], }, "formatNumber": [MockFunction], "formatPlural": [MockFunction], @@ -155,7 +233,7 @@ exports[`bulkCreate should display error message when bulkCreate request fails 1 steps={ Array [ Object { - "children": + "children": - , + , "key": "installStep", "status": "incomplete", "title": "Load Kibana objects", @@ -439,6 +517,52 @@ exports[`bulkCreate should display success message when bulkCreate is successful }, ], ], + "results": Array [ + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + Object { + "isThrow": false, + "value": "{savedObjectsLength} saved objects successfully added", + }, + Object { + "isThrow": false, + "value": "Imports index pattern, visualizations and pre-defined dashboards.", + }, + Object { + "isThrow": false, + "value": "Load Kibana objects", + }, + ], }, "formatNumber": [MockFunction], "formatPlural": [MockFunction], @@ -464,7 +588,7 @@ exports[`bulkCreate should display success message when bulkCreate is successful steps={ Array [ Object { - "children": + "children": - , + , "key": "installStep", "status": "complete", "title": "Load Kibana objects", @@ -716,7 +840,7 @@ exports[`renders 1`] = ` steps={ Array [ Object { - "children": + "children": - , + , "key": "installStep", "status": "incomplete", "title": "Load Kibana objects", diff --git a/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/__tests__/get_indices.test.js b/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/__tests__/get_indices.test.js index 150753fd34e3..f5dcccf6da50 100644 --- a/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/__tests__/get_indices.test.js +++ b/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/__tests__/get_indices.test.js @@ -80,7 +80,7 @@ describe('getIndices', () => { it('should throw exceptions', async () => { const es = { - search: () => { throw 'Fail'; } + search: () => { throw new Error('Fail'); } }; await expect(getIndices(es, 'kibana', 1)).rejects.toThrow(); diff --git a/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/get_indices.js b/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/get_indices.js index 9a2a712d82c1..7638daf1c572 100644 --- a/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/get_indices.js +++ b/src/core_plugins/kibana/public/management/sections/indices/create_index_pattern_wizard/lib/get_indices.js @@ -42,7 +42,7 @@ export async function getIndices(es, rawPattern, limit) { // We need to always provide a limit and not rely on the default if (!limit) { - throw '`getIndices()` was called without the required `limit` parameter.'; + throw new Error('`getIndices()` was called without the required `limit` parameter.'); } const params = { diff --git a/src/core_plugins/kibana/public/management/sections/indices/edit_index_pattern/source_filters_table/__tests__/__snapshots__/source_filters_table.test.js.snap b/src/core_plugins/kibana/public/management/sections/indices/edit_index_pattern/source_filters_table/__tests__/__snapshots__/source_filters_table.test.js.snap index 0206f5c9774d..3452fd16456e 100644 --- a/src/core_plugins/kibana/public/management/sections/indices/edit_index_pattern/source_filters_table/__tests__/__snapshots__/source_filters_table.test.js.snap +++ b/src/core_plugins/kibana/public/management/sections/indices/edit_index_pattern/source_filters_table/__tests__/__snapshots__/source_filters_table.test.js.snap @@ -18,6 +18,12 @@ exports[`SourceFiltersTable should add a filter 1`] = ` "calls": Array [ Array [], ], + "results": Array [ + Object { + "isThrow": false, + "value": undefined, + }, + ], }, "sourceFilters": Array [ Object { @@ -106,6 +112,12 @@ exports[`SourceFiltersTable should remove a filter 1`] = ` "calls": Array [ Array [], ], + "results": Array [ + Object { + "isThrow": false, + "value": undefined, + }, + ], }, "sourceFilters": Array [ Object { @@ -308,6 +320,12 @@ exports[`SourceFiltersTable should update a filter 1`] = ` "calls": Array [ Array [], ], + "results": Array [ + Object { + "isThrow": false, + "value": undefined, + }, + ], }, "sourceFilters": Array [ Object { diff --git a/src/core_plugins/kibana/public/management/sections/settings/components/field/__snapshots__/field.test.js.snap b/src/core_plugins/kibana/public/management/sections/settings/components/field/__snapshots__/field.test.js.snap index 881e228173b3..1c0861de51b3 100644 --- a/src/core_plugins/kibana/public/management/sections/settings/components/field/__snapshots__/field.test.js.snap +++ b/src/core_plugins/kibana/public/management/sections/settings/components/field/__snapshots__/field.test.js.snap @@ -18,7 +18,7 @@ exports[`Field for array setting should render as read only with help text if ov +
- + @@ -34,15 +34,15 @@ exports[`Field for array setting should render as read only with help text if ov grow={true} size="xs" > - + Default: default_value - + - - + + } fullWidth={false} gutterSize="l" @@ -119,7 +119,7 @@ exports[`Field for array setting should render custom setting icon if it is cust +
- + } fullWidth={false} gutterSize="l" @@ -202,7 +202,7 @@ exports[`Field for array setting should render default value if there is no user +
- + } fullWidth={false} gutterSize="l" @@ -280,7 +280,7 @@ exports[`Field for array setting should render user value if there is user value +
- + @@ -296,15 +296,15 @@ exports[`Field for array setting should render user value if there is user value grow={true} size="xs" > - + Default: default_value - + - - + + } fullWidth={false} gutterSize="l" @@ -389,7 +389,7 @@ exports[`Field for boolean setting should render as read only with help text if +
- + @@ -405,15 +405,15 @@ exports[`Field for boolean setting should render as read only with help text if grow={true} size="xs" > - + Default: true - + - - + + } fullWidth={false} gutterSize="l" @@ -488,7 +488,7 @@ exports[`Field for boolean setting should render custom setting icon if it is cu +
- + } fullWidth={false} gutterSize="l" @@ -569,7 +569,7 @@ exports[`Field for boolean setting should render default value if there is no us +
- + } fullWidth={false} gutterSize="l" @@ -645,7 +645,7 @@ exports[`Field for boolean setting should render user value if there is user val +
- + @@ -661,15 +661,15 @@ exports[`Field for boolean setting should render user value if there is user val grow={true} size="xs" > - + Default: true - + - - + + } fullWidth={false} gutterSize="l" @@ -752,7 +752,7 @@ exports[`Field for image setting should render as read only with help text if ov +
- + @@ -768,15 +768,15 @@ exports[`Field for image setting should render as read only with help text if ov grow={true} size="xs" > - + Default: null - + - - + + } fullWidth={false} gutterSize="l" @@ -850,7 +850,7 @@ exports[`Field for image setting should render custom setting icon if it is cust +
- + } fullWidth={false} gutterSize="l" @@ -932,7 +932,7 @@ exports[`Field for image setting should render default value if there is no user +
- + } fullWidth={false} gutterSize="l" @@ -1009,7 +1009,7 @@ exports[`Field for image setting should render user value if there is user value +
- + @@ -1025,15 +1025,15 @@ exports[`Field for image setting should render user value if there is user value grow={true} size="xs" > - + Default: null - + - - + + } fullWidth={false} gutterSize="l" @@ -1126,7 +1126,7 @@ exports[`Field for json setting should render as read only with help text if ove +
- + @@ -1142,7 +1142,7 @@ exports[`Field for json setting should render as read only with help text if ove grow={true} size="xs" > - + Default: {} - + - - + + } fullWidth={false} gutterSize="l" @@ -1247,7 +1247,7 @@ exports[`Field for json setting should render custom setting icon if it is custo +
- + } fullWidth={false} gutterSize="l" @@ -1346,7 +1346,7 @@ exports[`Field for json setting should render default value if there is no user +
- + @@ -1362,7 +1362,7 @@ exports[`Field for json setting should render default value if there is no user grow={true} size="xs" > - + Default: {} - + - - + + } fullWidth={false} gutterSize="l" @@ -1475,7 +1475,7 @@ exports[`Field for json setting should render user value if there is user value +
- + @@ -1491,7 +1491,7 @@ exports[`Field for json setting should render user value if there is user value grow={true} size="xs" > - + Default: {} - + - - + + } fullWidth={false} gutterSize="l" @@ -1604,7 +1604,7 @@ exports[`Field for markdown setting should render as read only with help text if +
- + @@ -1620,15 +1620,15 @@ exports[`Field for markdown setting should render as read only with help text if grow={true} size="xs" > - + Default: null - + - - + + } fullWidth={false} gutterSize="l" @@ -1721,7 +1721,7 @@ exports[`Field for markdown setting should render custom setting icon if it is c +
- + } fullWidth={false} gutterSize="l" @@ -1820,7 +1820,7 @@ exports[`Field for markdown setting should render default value if there is no u +
- + } fullWidth={false} gutterSize="l" @@ -1914,7 +1914,7 @@ exports[`Field for markdown setting should render user value if there is user va +
- + @@ -1930,15 +1930,15 @@ exports[`Field for markdown setting should render user value if there is user va grow={true} size="xs" > - + Default: null - + - - + + } fullWidth={false} gutterSize="l" @@ -2039,7 +2039,7 @@ exports[`Field for number setting should render as read only with help text if o +
- + @@ -2055,15 +2055,15 @@ exports[`Field for number setting should render as read only with help text if o grow={true} size="xs" > - + Default: 5 - + - - + + } fullWidth={false} gutterSize="l" @@ -2140,7 +2140,7 @@ exports[`Field for number setting should render custom setting icon if it is cus +
- + } fullWidth={false} gutterSize="l" @@ -2223,7 +2223,7 @@ exports[`Field for number setting should render default value if there is no use +
- + } fullWidth={false} gutterSize="l" @@ -2301,7 +2301,7 @@ exports[`Field for number setting should render user value if there is user valu +
- + @@ -2317,15 +2317,15 @@ exports[`Field for number setting should render user value if there is user valu grow={true} size="xs" > - + Default: 5 - + - - + + } fullWidth={false} gutterSize="l" @@ -2410,7 +2410,7 @@ exports[`Field for select setting should render as read only with help text if o +
- + @@ -2426,15 +2426,15 @@ exports[`Field for select setting should render as read only with help text if o grow={true} size="xs" > - + Default: orange - + - - + + } fullWidth={false} gutterSize="l" @@ -2528,7 +2528,7 @@ exports[`Field for select setting should render custom setting icon if it is cus +
- + } fullWidth={false} gutterSize="l" @@ -2628,7 +2628,7 @@ exports[`Field for select setting should render default value if there is no use +
- + } fullWidth={false} gutterSize="l" @@ -2723,7 +2723,7 @@ exports[`Field for select setting should render user value if there is user valu +
- + @@ -2739,15 +2739,15 @@ exports[`Field for select setting should render user value if there is user valu grow={true} size="xs" > - + Default: orange - + - - + + } fullWidth={false} gutterSize="l" @@ -2849,7 +2849,7 @@ exports[`Field for string setting should render as read only with help text if o +
- + @@ -2865,15 +2865,15 @@ exports[`Field for string setting should render as read only with help text if o grow={true} size="xs" > - + Default: null - + - - + + } fullWidth={false} gutterSize="l" @@ -2950,7 +2950,7 @@ exports[`Field for string setting should render custom setting icon if it is cus +
- + } fullWidth={false} gutterSize="l" @@ -3033,7 +3033,7 @@ exports[`Field for string setting should render default value if there is no use +
- + } fullWidth={false} gutterSize="l" @@ -3111,7 +3111,7 @@ exports[`Field for string setting should render user value if there is user valu +
- + @@ -3127,15 +3127,15 @@ exports[`Field for string setting should render user value if there is user valu grow={true} size="xs" > - + Default: null - + - - + + } fullWidth={false} gutterSize="l" diff --git a/src/dev/jest/config.js b/src/dev/jest/config.js index 99b22b14c2d7..4bb11a6d4378 100644 --- a/src/dev/jest/config.js +++ b/src/dev/jest/config.js @@ -96,4 +96,6 @@ export default { 'default', '/src/dev/jest/junit_reporter.js', ], + // TODO: prevent tests from making web requests that rely on this setting, see https://github.com/facebook/jest/pull/6792 + testURL: 'about:blank', }; diff --git a/src/dev/jest/ts_transform.ts b/src/dev/jest/ts_transform.ts index 60f0b11ec94a..ed366bcd091a 100644 --- a/src/dev/jest/ts_transform.ts +++ b/src/dev/jest/ts_transform.ts @@ -17,8 +17,7 @@ * under the License. */ -import { getCacheKey, install, process } from 'ts-jest'; -import { JestConfig, TransformOptions } from 'ts-jest/dist/jest-types'; +import TsJest from 'ts-jest'; import { getTsProjectForAbsolutePath } from '../typescript'; @@ -26,11 +25,11 @@ const DEFAULT_TS_CONFIG_PATH = require.resolve('../../../tsconfig.json'); const DEFAULT_BROWSER_TS_CONFIG_PATH = require.resolve('../../../tsconfig.browser.json'); function extendJestConfigJSON(jestConfigJSON: string, filePath: string) { - const jestConfig = JSON.parse(jestConfigJSON) as JestConfig; + const jestConfig = JSON.parse(jestConfigJSON) as jest.ProjectConfig; return JSON.stringify(extendJestConfig(jestConfig, filePath)); } -function extendJestConfig(jestConfig: JestConfig, filePath: string) { +function extendJestConfig(jestConfig: jest.ProjectConfig, filePath: string) { let tsConfigFile = getTsProjectForAbsolutePath(filePath).tsConfigPath; // swap ts config file for jest tests @@ -51,25 +50,25 @@ function extendJestConfig(jestConfig: JestConfig, filePath: string) { } module.exports = { + canInstrument: true, + process( src: string, - filePath: string, - jestConfig: JestConfig, - transformOptions: TransformOptions + filePath: jest.Path, + jestConfig: jest.ProjectConfig, + transformOptions: jest.TransformOptions ) { const extendedConfig = extendJestConfig(jestConfig, filePath); - return process(src, filePath, extendedConfig, transformOptions); + return TsJest.process(src, filePath, extendedConfig, transformOptions); }, getCacheKey( src: string, filePath: string, jestConfigJSON: string, - transformOptions: TransformOptions + transformOptions: jest.TransformOptions ) { const extendedConfigJSON = extendJestConfigJSON(jestConfigJSON, filePath); - return getCacheKey(src, filePath, extendedConfigJSON, transformOptions); + return TsJest.getCacheKey!(src, filePath, extendedConfigJSON, transformOptions); }, - - install, }; diff --git a/src/ui/public/field_editor/components/scripting_help/__snapshots__/help_flyout.test.js.snap b/src/ui/public/field_editor/components/scripting_help/__snapshots__/help_flyout.test.js.snap index 3e7298b2f083..8a0efdef7201 100644 --- a/src/ui/public/field_editor/components/scripting_help/__snapshots__/help_flyout.test.js.snap +++ b/src/ui/public/field_editor/components/scripting_help/__snapshots__/help_flyout.test.js.snap @@ -34,7 +34,6 @@ exports[`ScriptingHelpFlyout should render normally 1`] = ` indexPattern={Object {}} lang="painless" name="myScriptedField" - script={undefined} />, "data-test-subj": "testTab", "id": "test", diff --git a/src/ui/public/share/components/__snapshots__/share_context_menu.test.js.snap b/src/ui/public/share/components/__snapshots__/share_context_menu.test.js.snap index e4157f40f2ce..5708a29a93db 100644 --- a/src/ui/public/share/components/__snapshots__/share_context_menu.test.js.snap +++ b/src/ui/public/share/components/__snapshots__/share_context_menu.test.js.snap @@ -8,7 +8,6 @@ exports[`should only render permalink panel when there are no other panels 1`] = Object { "content": , "id": 1, @@ -27,7 +26,6 @@ exports[`should render context menu panel when there are more than one panel 1`] Object { "content": , "id": 1, @@ -37,7 +35,6 @@ exports[`should render context menu panel when there are more than one panel 1`] "content": , "id": 2, diff --git a/src/ui/ui_settings/public/__snapshots__/ui_settings_api.test.js.snap b/src/ui/ui_settings/public/__snapshots__/ui_settings_api.test.js.snap deleted file mode 100644 index 6b461a38df27..000000000000 --- a/src/ui/ui_settings/public/__snapshots__/ui_settings_api.test.js.snap +++ /dev/null @@ -1,126 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`#batchSet Buffers are always clear of previously buffered changes: buffered bar=foo 1`] = ` -Array [ - Object { - "body": Object { - "changes": Object { - "bar": "foo", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, -] -`; - -exports[`#batchSet Buffers are always clear of previously buffered changes: buffered baz=box 1`] = ` -Array [ - Object { - "body": Object { - "changes": Object { - "baz": "box", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, -] -`; - -exports[`#batchSet Buffers are always clear of previously buffered changes: unbuffered foo=bar 1`] = ` -Array [ - Array [ - Object { - "body": Object { - "changes": Object { - "foo": "bar", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, - ], -] -`; - -exports[`#batchSet Overwrites previously buffered values with new values for the same key: buffered bar=null 1`] = ` -Array [ - Array [ - Object { - "body": Object { - "changes": Object { - "bar": null, - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, - ], -] -`; - -exports[`#batchSet Overwrites previously buffered values with new values for the same key: unbuffered foo=bar 1`] = ` -Array [ - Array [ - Object { - "body": Object { - "changes": Object { - "foo": "bar", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, - ], -] -`; - -exports[`#batchSet buffers changes while first request is in progress, sends buffered changes after first request completes: buffered foo=baz bar=bug 1`] = ` -Array [ - Array [ - Object { - "body": Object { - "changes": Object { - "bar": "bug", - "foo": "baz", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, - ], -] -`; - -exports[`#batchSet buffers changes while first request is in progress, sends buffered changes after first request completes: unbuffered foo=bar 1`] = ` -Array [ - Array [ - Object { - "body": Object { - "changes": Object { - "foo": "bar", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, - ], -] -`; - -exports[`#batchSet sends a single change immediately: unbuffered foo=bar 1`] = ` -Array [ - Array [ - Object { - "body": Object { - "changes": Object { - "foo": "bar", - }, - }, - "method": "POST", - "path": "/api/kibana/settings", - }, - ], -] -`; diff --git a/src/ui/ui_settings/public/ui_settings_api.test.js b/src/ui/ui_settings/public/ui_settings_api.test.js deleted file mode 100644 index c25db836b59b..000000000000 --- a/src/ui/ui_settings/public/ui_settings_api.test.js +++ /dev/null @@ -1,134 +0,0 @@ -/* - * Licensed to Elasticsearch B.V. under one or more contributor - * license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright - * ownership. Elasticsearch B.V. licenses this file to you under - * the Apache License, Version 2.0 (the "License"); you may - * not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import { createUiSettingsApi } from './ui_settings_api'; -import { sendRequest } from './send_request'; - -jest.mock('./send_request', () => { - let resolve; - const sendRequest = jest.fn(() => new Promise((res) => { - resolve = res; - })); - - return { - sendRequest, - - resolveMockedSendRequest(value = {}) { - resolve(value); - }, - - async resolveMockedSendRequestAndWaitForNext(value = {}) { - const currentCallCount = sendRequest.mock.calls.length; - resolve(value); - - const waitStart = Date.now(); - while (sendRequest.mock.calls.length === currentCallCount) { - await new Promise(resolve => { - setImmediate(resolve); - }); - - if (Date.now() - waitStart > 10000) { - throw new Error('Waiting for subsequent call to sendRequest() timed out after 10 seconds'); - } - } - }, - }; -}); - -beforeEach(() => { - sendRequest.mockRestore(); - jest.clearAllMocks(); -}); - -describe('#batchSet', () => { - it('sends a single change immediately', () => { - const uiSettingsApi = createUiSettingsApi(); - const { sendRequest } = require('./send_request'); - - uiSettingsApi.batchSet('foo', 'bar'); - - expect(sendRequest).toHaveBeenCalledTimes(1); - expect(sendRequest.mock.calls).toMatchSnapshot('unbuffered foo=bar'); - }); - - it('buffers changes while first request is in progress, sends buffered changes after first request completes', async () => { - const uiSettingsApi = createUiSettingsApi(); - const { sendRequest, resolveMockedSendRequestAndWaitForNext } = require('./send_request'); - - uiSettingsApi.batchSet('foo', 'bar'); - expect(sendRequest).toHaveBeenCalledTimes(1); - expect(sendRequest.mock.calls).toMatchSnapshot('unbuffered foo=bar'); - sendRequest.mock.calls.length = 0; - - uiSettingsApi.batchSet('foo', 'baz'); - uiSettingsApi.batchSet('bar', 'bug'); - expect(sendRequest).not.toHaveBeenCalled(); - - await resolveMockedSendRequestAndWaitForNext(); - - expect(sendRequest).toHaveBeenCalledTimes(1); - expect(sendRequest.mock.calls).toMatchSnapshot('buffered foo=baz bar=bug'); - }); - - it('Overwrites previously buffered values with new values for the same key', async () => { - const uiSettingsApi = createUiSettingsApi(); - const { sendRequest, resolveMockedSendRequestAndWaitForNext } = require('./send_request'); - - uiSettingsApi.batchSet('foo', 'bar'); - expect(sendRequest).toHaveBeenCalledTimes(1); - expect(sendRequest.mock.calls).toMatchSnapshot('unbuffered foo=bar'); - sendRequest.mock.calls.length = 0; - - // if changes were sent to the API now they would be { bar: 'foo' } - uiSettingsApi.batchSet('bar', 'foo'); - // these changes override the previous one, we should now send { bar: null } - uiSettingsApi.batchSet('bar', null); - - await resolveMockedSendRequestAndWaitForNext(); - - expect(sendRequest).toHaveBeenCalledTimes(1); - expect(sendRequest.mock.calls).toMatchSnapshot('buffered bar=null'); - }); - - it('Buffers are always clear of previously buffered changes', async () => { - const uiSettingsApi = createUiSettingsApi(); - const { sendRequest, resolveMockedSendRequestAndWaitForNext } = require('./send_request'); - - uiSettingsApi.batchSet('foo', 'bar'); - expect(sendRequest).toHaveBeenCalledTimes(1); - expect(sendRequest.mock.calls).toMatchSnapshot('unbuffered foo=bar'); - sendRequest.mock.calls.length = 0; - - // buffer a change - uiSettingsApi.batchSet('bar', 'foo'); - - // flush the buffer and wait for next request to start - await resolveMockedSendRequestAndWaitForNext(); - - // buffer another change - uiSettingsApi.batchSet('baz', 'box'); - - // flush the buffer and wait for next request to start - await resolveMockedSendRequestAndWaitForNext(); - - expect(sendRequest).toHaveBeenCalledTimes(2); - expect(sendRequest.mock.calls[0]).toMatchSnapshot('buffered bar=foo'); - expect(sendRequest.mock.calls[1]).toMatchSnapshot('buffered baz=box'); - }); -}); diff --git a/x-pack/dev-tools/jest/create_jest_config.js b/x-pack/dev-tools/jest/create_jest_config.js index ae5526190a22..305b26917bcd 100644 --- a/x-pack/dev-tools/jest/create_jest_config.js +++ b/x-pack/dev-tools/jest/create_jest_config.js @@ -50,6 +50,8 @@ export function createJestConfig({ reportName: 'X-Pack Jest Tests', rootDirectory: xPackKibanaDirectory, }] - ] + ], + // TODO: prevent tests from making web requests that rely on this setting, see https://github.com/facebook/jest/pull/6792 + testURL: 'about:blank', }; } diff --git a/x-pack/package.json b/x-pack/package.json index 0a8682a85707..fed84badfa99 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -25,14 +25,14 @@ "@kbn/es": "link:../packages/kbn-es", "@kbn/plugin-helpers": "link:../packages/kbn-plugin-helpers", "@kbn/test": "link:../packages/kbn-test", - "@types/jest": "^22.2.3", + "@types/jest": "^23.3.1", "@types/pngjs": "^3.3.1", "abab": "^1.0.4", "ansi-colors": "^3.0.5", "ansicolors": "0.3.2", "aws-sdk": "2.2.33", "axios": "^0.18.0", - "babel-jest": "^22.4.3", + "babel-jest": "^23.4.2", "chalk": "^2.4.1", "chance": "1.0.10", "checksum": "0.1.1", @@ -48,9 +48,9 @@ "gulp": "3.9.1", "gulp-mocha": "2.2.0", "hapi": "14.2.0", - "jest": "^22.4.3", - "jest-cli": "^22.4.3", - "jest-styled-components": "^5.0.1", + "jest": "^23.5.0", + "jest-cli": "^23.5.0", + "jest-styled-components": "^6.1.1", "mocha": "3.3.0", "mustache": "^2.3.0", "mutation-observer": "^1.0.3", diff --git a/x-pack/plugins/ml/public/settings/filter_lists/list/__snapshots__/table.test.js.snap b/x-pack/plugins/ml/public/settings/filter_lists/list/__snapshots__/table.test.js.snap index cc3079080ecd..5dc2235cc2a0 100644 --- a/x-pack/plugins/ml/public/settings/filter_lists/list/__snapshots__/table.test.js.snap +++ b/x-pack/plugins/ml/public/settings/filter_lists/list/__snapshots__/table.test.js.snap @@ -172,7 +172,6 @@ exports[`Filter Lists Table renders with filter lists supplied 1`] = ` , , ], } diff --git a/x-pack/yarn.lock b/x-pack/yarn.lock index 686d8b5eb988..f4fc8b3fae93 100644 --- a/x-pack/yarn.lock +++ b/x-pack/yarn.lock @@ -150,9 +150,9 @@ dependencies: "@types/node" "*" -"@types/jest@^22.2.3": - version "22.2.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-22.2.3.tgz#0157c0316dc3722c43a7b71de3fdf3acbccef10d" +"@types/jest@^23.3.1": + version "23.3.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" "@types/loglevel@^1.5.3": version "1.5.3" @@ -721,12 +721,12 @@ babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.3.tgz#4b7a0b6041691bbd422ab49b3b73654a49a6627a" +babel-jest@^23.4.2: + version "23.4.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.4.2.tgz#f276de67798a5d68f2d6e87ff518c2f6e1609877" dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.4.3" + babel-plugin-istanbul "^4.1.6" + babel-preset-jest "^23.2.0" babel-messages@^6.23.0: version "6.23.0" @@ -740,17 +740,18 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" +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" dependencies: + babel-plugin-syntax-object-rest-spread "^6.13.0" find-up "^2.1.0" - istanbul-lib-instrument "^1.7.5" - test-exclude "^4.1.1" + istanbul-lib-instrument "^1.10.1" + test-exclude "^4.2.1" -babel-plugin-jest-hoist@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.3.tgz#7d8bcccadc2667f96a0dcc6afe1891875ee6c14a" +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" babel-plugin-syntax-object-rest-spread@^6.13.0: version "6.13.0" @@ -966,11 +967,11 @@ babel-preset-es2015@^6.24.1: babel-plugin-transform-es2015-unicode-regex "^6.24.1" babel-plugin-transform-regenerator "^6.24.1" -babel-preset-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156" +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" dependencies: - babel-plugin-jest-hoist "^22.4.3" + babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" babel-register@^6.26.0: @@ -1002,7 +1003,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.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -1016,7 +1017,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -1179,7 +1180,13 @@ browser-process-hrtime@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" -browser-resolve@^1.11.2, browser-resolve@^1.8.1: +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + dependencies: + resolve "1.1.7" + +browser-resolve@^1.8.1: version "1.11.2" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" dependencies: @@ -2358,16 +2365,16 @@ expect.js@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b" -expect@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" +expect@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-23.5.0.tgz#18999a0eef8f8acf99023fde766d9c323c2562ed" dependencies: ansi-styles "^3.2.0" - jest-diff "^22.4.3" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" + jest-diff "^23.5.0" + jest-get-type "^22.1.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" extend-shallow@^1.1.2: version "1.1.4" @@ -3559,7 +3566,7 @@ invariant@^2.0.0, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2: dependencies: loose-envify "^1.0.0" -invariant@^2.1.1: +invariant@^2.1.1, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: @@ -3889,66 +3896,66 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.1.14: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.1.tgz#0c60a0515eb11c7d65c6b50bba2c6e999acd8620" +istanbul-api@^1.3.1: + version "1.3.7" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" dependencies: async "^2.1.4" fileset "^2.0.2" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-hook "^1.1.0" - istanbul-lib-instrument "^1.9.1" - istanbul-lib-report "^1.1.2" - istanbul-lib-source-maps "^1.2.2" - istanbul-reports "^1.1.3" + 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.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da" +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" -istanbul-lib-hook@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b" +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" dependencies: append-transform "^0.4.0" -istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0, istanbul-lib-instrument@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e" +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" 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.1.1" + istanbul-lib-coverage "^1.2.1" semver "^5.3.0" -istanbul-lib-report@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.2.tgz#922be27c13b9511b979bd1587359f69798c1d425" +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" dependencies: - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.1" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.2.1, istanbul-lib-source-maps@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.2.tgz#750578602435f28a0c04ee6d7d9e0f2960e62c1c" +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" dependencies: debug "^3.1.0" - istanbul-lib-coverage "^1.1.1" + istanbul-lib-coverage "^1.2.1" mkdirp "^0.5.1" rimraf "^2.6.1" source-map "^0.5.3" -istanbul-reports@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.1.3.tgz#3b9e1e8defb6d18b1d425da8e8b32c5a163f2d10" +istanbul-reports@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" dependencies: handlebars "^4.0.3" @@ -3974,15 +3981,15 @@ jclass@^1.0.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jclass/-/jclass-1.2.1.tgz#eaafeec0dd6a5bf8b3ea43c04e010c637638768b" -jest-changed-files@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" +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" dependencies: throat "^4.0.0" -jest-cli@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.3.tgz#bf16c4a5fb7edc3fa5b9bb7819e34139e88a72c7" +jest-cli@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.5.0.tgz#d316b8e34a38a610a1efc4f0403d8ef8a55e4492" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -3991,129 +3998,143 @@ jest-cli@^22.4.3: graceful-fs "^4.1.11" import-local "^1.0.0" is-ci "^1.0.10" - istanbul-api "^1.1.14" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-source-maps "^1.2.1" - jest-changed-files "^22.4.3" - jest-config "^22.4.3" - jest-environment-jsdom "^22.4.3" - jest-get-type "^22.4.3" - jest-haste-map "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve-dependencies "^22.4.3" - jest-runner "^22.4.3" - jest-runtime "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - jest-worker "^22.4.3" + 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.5.0" + jest-environment-jsdom "^23.4.0" + jest-get-type "^22.1.0" + jest-haste-map "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve-dependencies "^23.5.0" + jest-runner "^23.5.0" + jest-runtime "^23.5.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.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 "^10.0.3" + yargs "^11.0.0" -jest-config@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403" +jest-config@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.5.0.tgz#3770fba03f7507ee15f3b8867c742e48f31a9773" dependencies: + babel-core "^6.0.0" + babel-jest "^23.4.2" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^22.4.3" - jest-environment-node "^22.4.3" - jest-get-type "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - pretty-format "^22.4.3" - -jest-diff@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" + jest-environment-jsdom "^23.4.0" + jest-environment-node "^23.4.0" + jest-get-type "^22.1.0" + jest-jasmine2 "^23.5.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.0" + micromatch "^2.3.11" + pretty-format "^23.5.0" + +jest-diff@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.5.0.tgz#250651a433dd0050290a07642946cc9baaf06fba" dependencies: chalk "^2.0.1" diff "^3.2.0" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.5.0" -jest-docblock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" +jest-docblock@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" dependencies: detect-newline "^2.1.0" -jest-environment-jsdom@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" +jest-each@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.5.0.tgz#77f7e2afe6132a80954b920006e78239862b10ba" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + chalk "^2.0.1" + pretty-format "^23.5.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" + dependencies: + jest-mock "^23.2.0" + jest-util "^23.4.0" jsdom "^11.5.1" -jest-environment-node@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" +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" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.2.0" + jest-util "^23.4.0" -jest-get-type@^22.4.3: +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" -jest-haste-map@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" +jest-haste-map@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.5.0.tgz#d4ca618188bd38caa6cb20349ce6610e194a8065" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^22.4.3" - jest-serializer "^22.4.3" - jest-worker "^22.4.3" + 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-jasmine2@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.3.tgz#4daf64cd14c793da9db34a7c7b8dcfe52a745965" +jest-jasmine2@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.5.0.tgz#05fe7f1788e650eeb5a03929e6461ea2e9f3db53" dependencies: + babel-traverse "^6.0.0" chalk "^2.0.1" co "^4.6.0" - expect "^22.4.3" - graceful-fs "^4.1.11" + expect "^23.5.0" is-generator-fn "^1.0.0" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - source-map-support "^0.5.0" - -jest-leak-detector@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" + jest-diff "^23.5.0" + jest-each "^23.5.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + pretty-format "^23.5.0" + +jest-leak-detector@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.5.0.tgz#14ac2a785bd625160a2ea968fd5d98b7dcea3e64" dependencies: - pretty-format "^22.4.3" + pretty-format "^23.5.0" -jest-matcher-utils@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" +jest-matcher-utils@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.5.0.tgz#0e2ea67744cab78c9ab15011c4d888bdd3e49e2a" dependencies: chalk "^2.0.1" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.5.0" -jest-message-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" +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" dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -4121,123 +4142,140 @@ jest-message-util@^22.4.3: slash "^1.0.0" stack-utils "^1.0.1" -jest-mock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" +jest-mock@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" -jest-regex-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" +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" -jest-resolve-dependencies@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" +jest-resolve-dependencies@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.5.0.tgz#10c4d135beb9d2256de1fedc7094916c3ad74af7" dependencies: - jest-regex-util "^22.4.3" + jest-regex-util "^23.3.0" + jest-snapshot "^23.5.0" -jest-resolve@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" +jest-resolve@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.5.0.tgz#3b8e7f67e84598f0caf63d1530bd8534a189d0e6" dependencies: - browser-resolve "^1.11.2" + browser-resolve "^1.11.3" chalk "^2.0.1" + realpath-native "^1.0.0" -jest-runner@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.3.tgz#298ddd6a22b992c64401b4667702b325e50610c3" +jest-runner@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.5.0.tgz#570f7a044da91648b5bb9b6baacdd511076c71d7" dependencies: exit "^0.1.2" - jest-config "^22.4.3" - jest-docblock "^22.4.3" - jest-haste-map "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-leak-detector "^22.4.3" - jest-message-util "^22.4.3" - jest-runtime "^22.4.3" - jest-util "^22.4.3" - jest-worker "^22.4.3" + graceful-fs "^4.1.11" + jest-config "^23.5.0" + jest-docblock "^23.2.0" + jest-haste-map "^23.5.0" + jest-jasmine2 "^23.5.0" + jest-leak-detector "^23.5.0" + jest-message-util "^23.4.0" + jest-runtime "^23.5.0" + jest-util "^23.4.0" + jest-worker "^23.2.0" + source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.3.tgz#b69926c34b851b920f666c93e86ba2912087e3d0" +jest-runtime@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.5.0.tgz#eb503525a196dc32f2f9974e3482d26bdf7b63ce" dependencies: babel-core "^6.0.0" - babel-jest "^22.4.3" - babel-plugin-istanbul "^4.1.5" + 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 "^22.4.3" - jest-haste-map "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - json-stable-stringify "^1.0.1" + jest-config "^23.5.0" + jest-haste-map "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.5.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.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 "^10.0.3" + yargs "^11.0.0" -jest-serializer@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" +jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" -jest-snapshot@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" +jest-snapshot@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.5.0.tgz#cc368ebd8513e1175e2a7277f37a801b7358ae79" dependencies: + babel-types "^6.0.0" chalk "^2.0.1" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" + jest-diff "^23.5.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-resolve "^23.5.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^22.4.3" + pretty-format "^23.5.0" + semver "^5.5.0" -jest-styled-components@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-5.0.1.tgz#386c5a161a0f5e783444d624bfc18c6d228d1277" +jest-styled-components@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-6.1.1.tgz#2b9b6e3ded212b43ea71df72e82d55b856e9d1ed" dependencies: css "^2.2.1" -jest-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" +jest-util@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" dependencies: callsites "^2.0.0" chalk "^2.0.1" graceful-fs "^4.1.11" is-ci "^1.0.10" - jest-message-util "^22.4.3" + jest-message-util "^23.4.0" mkdirp "^0.5.1" + slash "^1.0.0" source-map "^0.6.0" -jest-validate@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.3.tgz#0780954a5a7daaeec8d3c10834b9280865976b30" +jest-validate@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.5.0.tgz#f5df8f761cf43155e1b2e21d6e9de8a2852d0231" dependencies: chalk "^2.0.1" - jest-config "^22.4.3" - jest-get-type "^22.4.3" + jest-get-type "^22.1.0" leven "^2.1.0" - pretty-format "^22.4.3" + pretty-format "^23.5.0" -jest-worker@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" +jest-watcher@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + 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" dependencies: merge-stream "^1.0.1" -jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.3.tgz#2261f4b117dc46d9a4a1a673d2150958dee92f16" +jest@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-23.5.0.tgz#80de353d156ea5ea4a7332f7962ac79135fbc62e" dependencies: import-local "^1.0.0" - jest-cli "^22.4.3" + jest-cli "^23.5.0" joi@10.x.x: version "10.6.0" @@ -4445,6 +4483,10 @@ kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" +kleur@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" + lazy-cache@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" @@ -5913,9 +5955,9 @@ preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" -pretty-format@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" +pretty-format@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.5.0.tgz#0f9601ad9da70fe690a269cd3efca732c210687c" dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" @@ -5954,6 +5996,13 @@ 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" + dependencies: + kleur "^2.0.1" + sisteransi "^0.1.1" + prop-types@15.5.8: version "15.5.8" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" @@ -7076,6 +7125,10 @@ sinon@^5.0.7: supports-color "^5.1.0" type-detect "^4.0.5" +sisteransi@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -7150,10 +7203,11 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" -source-map-support@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.0.tgz#2018a7ad2bdf8faf2691e5fddab26bed5a2bacab" +source-map-support@^0.5.6: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" dependencies: + buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: @@ -7565,9 +7619,9 @@ temp@^0.8.3: os-tmpdir "^1.0.0" rimraf "~2.2.6" -test-exclude@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.1.1.tgz#4d84964b0966b0087ecc334a2ce002d3d9341e26" +test-exclude@^4.2.1: + version "4.2.3" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" dependencies: arrify "^1.0.1" micromatch "^2.3.11" @@ -8296,9 +8350,9 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" dependencies: camelcase "^4.1.0" @@ -8320,9 +8374,9 @@ yargs@4.7.1: y18n "^3.2.1" yargs-parser "^2.4.0" -yargs@^10.0.3: - version "10.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.1.tgz#5fe1ea306985a099b33492001fa19a1e61efe285" +yargs@^11.0.0: + version "11.1.0" + resolved "http://registry.npmjs.org/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" dependencies: cliui "^4.0.0" decamelize "^1.1.1" @@ -8335,7 +8389,7 @@ yargs@^10.0.3: string-width "^2.0.0" which-module "^2.0.0" y18n "^3.2.1" - yargs-parser "^8.1.0" + yargs-parser "^9.0.2" yargs@^7.0.0: version "7.1.0" diff --git a/yarn.lock b/yarn.lock index 800284455806..6050e1454032 100644 --- a/yarn.lock +++ b/yarn.lock @@ -394,9 +394,9 @@ dependencies: "@types/node" "*" -"@types/jest@^22.2.3": - version "22.2.3" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-22.2.3.tgz#0157c0316dc3722c43a7b71de3fdf3acbccef10d" +"@types/jest@^23.3.1": + version "23.3.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.3.1.tgz#a4319aedb071d478e6f407d1c4578ec8156829cf" "@types/joi@*": version "13.3.0" @@ -922,10 +922,6 @@ array-equal@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" -array-filter@~0.0.0: - version "0.0.1" - resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-0.0.1.tgz#7da8cf2e26628ed732803581fd21f67cacd2eeec" - array-find-index@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" @@ -941,18 +937,10 @@ array-includes@^3.0.3: define-properties "^1.1.2" es-abstract "^1.7.0" -array-map@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-map/-/array-map-0.0.0.tgz#88a2bab73d1cf7bcd5c1b118a003f66f665fa662" - array-parallel@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/array-parallel/-/array-parallel-0.1.3.tgz#8f785308926ed5aa478c47e64d1b334b6c0c947d" -array-reduce@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" - array-series@~0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/array-series/-/array-series-0.1.5.tgz#df5d37bfc5c2ef0755e2aa4f92feae7d4b5a972f" @@ -1210,30 +1198,6 @@ babel-core@^6.0.0, babel-core@^6.18.0, babel-core@^6.26.0: slash "^1.0.0" source-map "^0.5.6" -babel-core@^6.26.3: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - 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.1.2: version "8.1.2" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-8.1.2.tgz#a39230b0c20ecbaa19a35d5633bf9b9ca2c8116f" @@ -1367,12 +1331,12 @@ babel-helpers@^6.16.0, babel-helpers@^6.24.1: babel-runtime "^6.22.0" babel-template "^6.24.1" -babel-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.3.tgz#4b7a0b6041691bbd422ab49b3b73654a49a6627a" +babel-jest@^23.4.2: + version "23.4.2" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.4.2.tgz#f276de67798a5d68f2d6e87ff518c2f6e1609877" dependencies: - babel-plugin-istanbul "^4.1.5" - babel-preset-jest "^22.4.3" + babel-plugin-istanbul "^4.1.6" + babel-preset-jest "^23.2.0" babel-loader@7.1.2: version "7.1.2" @@ -1398,14 +1362,6 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-istanbul@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.5.tgz#6760cdd977f411d3e175bb064f2bc327d99b2b6e" - dependencies: - find-up "^2.1.0" - istanbul-lib-instrument "^1.7.5" - test-exclude "^4.1.1" - 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" @@ -1415,9 +1371,9 @@ babel-plugin-istanbul@^4.1.6: istanbul-lib-instrument "^1.10.1" test-exclude "^4.2.1" -babel-plugin-jest-hoist@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.3.tgz#7d8bcccadc2667f96a0dcc6afe1891875ee6c14a" +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" babel-plugin-syntax-async-functions@^6.8.0: version "6.13.0" @@ -1576,15 +1532,6 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e babel-template "^6.26.0" babel-types "^6.26.0" -babel-plugin-transform-es2015-modules-commonjs@^6.26.2: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - babel-plugin-transform-es2015-modules-systemjs@^6.23.0, babel-plugin-transform-es2015-modules-systemjs@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" @@ -1800,11 +1747,11 @@ babel-preset-flow@^6.23.0: dependencies: babel-plugin-transform-flow-strip-types "^6.22.0" -babel-preset-jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.3.tgz#e92eef9813b7026ab4ca675799f37419b5a44156" +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" dependencies: - babel-plugin-jest-hoist "^22.4.3" + babel-plugin-jest-hoist "^23.2.0" babel-plugin-syntax-object-rest-spread "^6.13.0" babel-preset-react@^6.24.1: @@ -1842,7 +1789,7 @@ babel-register@^6.18.0, babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1, babel-runtime@^6.9.2: +babel-runtime@^6.11.6, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.23.0, babel-runtime@^6.26.0, babel-runtime@^6.6.1: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: @@ -1859,7 +1806,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.18.0, babel-traverse@^6.21.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: +babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.21.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" dependencies: @@ -1873,7 +1820,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.21.0, babel-traverse@^6.24.1, babel-tr invariant "^2.2.2" lodash "^4.17.4" -babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.21.0, babel-types@^6.24.1, babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -2183,7 +2130,13 @@ browser-process-hrtime@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e" -browser-resolve@^1.11.2, browser-resolve@^1.8.1: +browser-resolve@^1.11.3: + version "1.11.3" + resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" + dependencies: + resolve "1.1.7" + +browser-resolve@^1.8.1: version "1.11.2" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce" dependencies: @@ -2687,7 +2640,7 @@ chokidar@1.6.0: optionalDependencies: fsevents "^1.0.0" -chokidar@^1.4.1, chokidar@^1.6.0: +chokidar@^1.4.1: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: @@ -2883,6 +2836,10 @@ cloneable-readable@^1.0.0: process-nextick-args "^2.0.0" readable-stream "^2.3.5" +closest-file-data@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/closest-file-data/-/closest-file-data-0.1.4.tgz#975f87c132f299d24a0375b9f63ca3fb88f72b3a" + co@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" @@ -3014,7 +2971,7 @@ commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" -compare-versions@3.1.0, compare-versions@^3.1.0: +compare-versions@3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.1.0.tgz#43310256a5c555aaed4193c04d8f154cf9c6efd5" @@ -3226,22 +3183,6 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: parse-json "^2.2.0" require-from-string "^1.1.0" -cpx@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f" - dependencies: - babel-runtime "^6.9.2" - chokidar "^1.6.0" - duplexer "^0.1.1" - glob "^7.0.5" - glob2base "^0.0.12" - minimatch "^3.0.2" - mkdirp "^0.5.1" - resolve "^1.1.7" - safe-buffer "^5.0.1" - shell-quote "^1.6.1" - subarg "^1.0.0" - create-ecdh@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" @@ -4144,7 +4085,7 @@ duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" -duplexer@^0.1.1, duplexer@~0.1.1: +duplexer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" @@ -4579,9 +4520,9 @@ eslint-plugin-import@2.8.0: minimatch "^3.0.3" read-pkg-up "^2.0.0" -eslint-plugin-jest@^21.6.2: - version "21.15.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.15.0.tgz#645a3f560d3e61d99611b215adc80b4f31e6d896" +eslint-plugin-jest@^21.22.0: + version "21.22.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-21.22.0.tgz#1b9e49b3e5ce9a3d0a51af4579991d517f33726e" eslint-plugin-mocha@4.11.0: version "4.11.0" @@ -4874,16 +4815,16 @@ expect.js@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/expect.js/-/expect.js-0.3.1.tgz#b0a59a0d2eff5437544ebf0ceaa6015841d09b5b" -expect@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" +expect@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-23.5.0.tgz#18999a0eef8f8acf99023fde766d9c323c2562ed" dependencies: ansi-styles "^3.2.0" - jest-diff "^22.4.3" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" + jest-diff "^23.5.0" + jest-get-type "^22.1.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" expiry-js@0.1.7: version "0.1.7" @@ -5183,10 +5124,6 @@ find-cache-dir@^1.0.0: make-dir "^1.0.0" pkg-dir "^2.0.0" -find-index@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" - find-root@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/find-root/-/find-root-0.1.2.tgz#98d2267cff1916ccaf2743b3a0eea81d79d7dcd1" @@ -5356,9 +5293,9 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.0.tgz#0f0afb290bb3deb87978da816fcd3c7797f3a817" +fs-extra@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.1.tgz#8abc128f7946e310135ddc93b98bddb410e7a34b" dependencies: graceful-fs "^4.1.2" jsonfile "^4.0.0" @@ -5603,12 +5540,6 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob2base@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - dependencies: - find-index "^0.1.1" - glob@6.0.4, glob@^6.0.4: version "6.0.4" resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" @@ -6634,7 +6565,7 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" -invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2: +invariant@^2.0.0, invariant@^2.1.1, invariant@^2.2.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: @@ -7120,19 +7051,18 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-api@^1.1.14: - version "1.3.1" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954" +istanbul-api@^1.3.1: + version "1.3.7" + resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa" dependencies: async "^2.1.4" - compare-versions "^3.1.0" fileset "^2.0.2" - istanbul-lib-coverage "^1.2.0" - istanbul-lib-hook "^1.2.0" - istanbul-lib-instrument "^1.10.1" - istanbul-lib-report "^1.1.4" - istanbul-lib-source-maps "^1.2.4" - istanbul-reports "^1.3.0" + 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" @@ -7146,17 +7076,21 @@ istanbul-instrumenter-loader@3.0.0: loader-utils "^1.1.0" schema-utils "^0.3.0" -istanbul-lib-coverage@^1.1.1, istanbul-lib-coverage@^1.1.2, istanbul-lib-coverage@^1.2.0: +istanbul-lib-coverage@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341" -istanbul-lib-hook@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz#ae556fd5a41a6e8efa0b1002b1e416dfeaf9816c" +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" + +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" dependencies: append-transform "^0.4.0" -istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.7.3, istanbul-lib-instrument@^1.7.5, istanbul-lib-instrument@^1.8.0: +istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.7.3: version "1.10.1" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b" dependencies: @@ -7168,38 +7102,50 @@ istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.7.3, istanbul-lib-in istanbul-lib-coverage "^1.2.0" semver "^5.3.0" -istanbul-lib-report@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.4.tgz#e886cdf505c4ebbd8e099e4396a90d0a28e2acb5" +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" dependencies: - istanbul-lib-coverage "^1.2.0" + 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-report@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c" + dependencies: + istanbul-lib-coverage "^1.2.1" mkdirp "^0.5.1" path-parse "^1.0.5" supports-color "^3.1.2" -istanbul-lib-source-maps@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.3.tgz#20fb54b14e14b3fb6edb6aca3571fd2143db44e6" +istanbul-lib-source-maps@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7" dependencies: debug "^3.1.0" - istanbul-lib-coverage "^1.1.2" + istanbul-lib-coverage "^1.2.0" mkdirp "^0.5.1" rimraf "^2.6.1" source-map "^0.5.3" -istanbul-lib-source-maps@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7" +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" dependencies: debug "^3.1.0" - istanbul-lib-coverage "^1.2.0" + istanbul-lib-coverage "^1.2.1" mkdirp "^0.5.1" rimraf "^2.6.1" source-map "^0.5.3" -istanbul-reports@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554" +istanbul-reports@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a" dependencies: handlebars "^4.0.3" @@ -7241,15 +7187,15 @@ jclass@^1.0.1: version "1.2.1" resolved "https://registry.yarnpkg.com/jclass/-/jclass-1.2.1.tgz#eaafeec0dd6a5bf8b3ea43c04e010c637638768b" -jest-changed-files@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-22.4.3.tgz#8882181e022c38bd46a2e4d18d44d19d90a90fb2" +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" dependencies: throat "^4.0.0" -jest-cli@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-22.4.3.tgz#bf16c4a5fb7edc3fa5b9bb7819e34139e88a72c7" +jest-cli@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.5.0.tgz#d316b8e34a38a610a1efc4f0403d8ef8a55e4492" dependencies: ansi-escapes "^3.0.0" chalk "^2.0.1" @@ -7258,133 +7204,147 @@ jest-cli@^22.4.3: graceful-fs "^4.1.11" import-local "^1.0.0" is-ci "^1.0.10" - istanbul-api "^1.1.14" - istanbul-lib-coverage "^1.1.1" - istanbul-lib-instrument "^1.8.0" - istanbul-lib-source-maps "^1.2.1" - jest-changed-files "^22.4.3" - jest-config "^22.4.3" - jest-environment-jsdom "^22.4.3" - jest-get-type "^22.4.3" - jest-haste-map "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve-dependencies "^22.4.3" - jest-runner "^22.4.3" - jest-runtime "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - jest-worker "^22.4.3" + 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.5.0" + jest-environment-jsdom "^23.4.0" + jest-get-type "^22.1.0" + jest-haste-map "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve-dependencies "^23.5.0" + jest-runner "^23.5.0" + jest-runtime "^23.5.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.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 "^10.0.3" + yargs "^11.0.0" -jest-config@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.3.tgz#0e9d57db267839ea31309119b41dc2fa31b76403" +jest-config@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.5.0.tgz#3770fba03f7507ee15f3b8867c742e48f31a9773" dependencies: + babel-core "^6.0.0" + babel-jest "^23.4.2" chalk "^2.0.1" glob "^7.1.1" - jest-environment-jsdom "^22.4.3" - jest-environment-node "^22.4.3" - jest-get-type "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - pretty-format "^22.4.3" - -jest-diff@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" + jest-environment-jsdom "^23.4.0" + jest-environment-node "^23.4.0" + jest-get-type "^22.1.0" + jest-jasmine2 "^23.5.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.0" + micromatch "^2.3.11" + pretty-format "^23.5.0" + +jest-diff@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.5.0.tgz#250651a433dd0050290a07642946cc9baaf06fba" dependencies: chalk "^2.0.1" diff "^3.2.0" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.5.0" jest-docblock@^21.0.0: version "21.2.0" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414" -jest-docblock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-22.4.3.tgz#50886f132b42b280c903c592373bb6e93bb68b19" +jest-docblock@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7" dependencies: detect-newline "^2.1.0" -jest-environment-jsdom@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" +jest-each@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.5.0.tgz#77f7e2afe6132a80954b920006e78239862b10ba" + dependencies: + chalk "^2.0.1" + pretty-format "^23.5.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" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.2.0" + jest-util "^23.4.0" jsdom "^11.5.1" -jest-environment-node@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" +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" dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" + jest-mock "^23.2.0" + jest-util "^23.4.0" -jest-get-type@^22.4.3: +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" -jest-haste-map@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-22.4.3.tgz#25842fa2ba350200767ac27f658d58b9d5c2e20b" +jest-haste-map@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.5.0.tgz#d4ca618188bd38caa6cb20349ce6610e194a8065" dependencies: fb-watchman "^2.0.0" graceful-fs "^4.1.11" - jest-docblock "^22.4.3" - jest-serializer "^22.4.3" - jest-worker "^22.4.3" + 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-jasmine2@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.3.tgz#4daf64cd14c793da9db34a7c7b8dcfe52a745965" +jest-jasmine2@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.5.0.tgz#05fe7f1788e650eeb5a03929e6461ea2e9f3db53" dependencies: + babel-traverse "^6.0.0" chalk "^2.0.1" co "^4.6.0" - expect "^22.4.3" - graceful-fs "^4.1.11" + expect "^23.5.0" is-generator-fn "^1.0.0" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-snapshot "^22.4.3" - jest-util "^22.4.3" - source-map-support "^0.5.0" - -jest-leak-detector@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-22.4.3.tgz#2b7b263103afae8c52b6b91241a2de40117e5b35" + jest-diff "^23.5.0" + jest-each "^23.5.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + pretty-format "^23.5.0" + +jest-leak-detector@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.5.0.tgz#14ac2a785bd625160a2ea968fd5d98b7dcea3e64" dependencies: - pretty-format "^22.4.3" + pretty-format "^23.5.0" -jest-matcher-utils@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" +jest-matcher-utils@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.5.0.tgz#0e2ea67744cab78c9ab15011c4d888bdd3e49e2a" dependencies: chalk "^2.0.1" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-get-type "^22.1.0" + pretty-format "^23.5.0" -jest-message-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" +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" dependencies: "@babel/code-frame" "^7.0.0-beta.35" chalk "^2.0.1" @@ -7392,121 +7352,138 @@ jest-message-util@^22.4.3: slash "^1.0.0" stack-utils "^1.0.1" -jest-mock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" +jest-mock@^23.2.0: + version "23.2.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134" jest-raw-loader@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/jest-raw-loader/-/jest-raw-loader-1.0.1.tgz#ce9f56d54650f157c4a7d16d224ba5d613bcd626" -jest-regex-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" +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" -jest-resolve-dependencies@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-22.4.3.tgz#e2256a5a846732dc3969cb72f3c9ad7725a8195e" +jest-resolve-dependencies@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.5.0.tgz#10c4d135beb9d2256de1fedc7094916c3ad74af7" dependencies: - jest-regex-util "^22.4.3" + jest-regex-util "^23.3.0" + jest-snapshot "^23.5.0" -jest-resolve@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" +jest-resolve@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.5.0.tgz#3b8e7f67e84598f0caf63d1530bd8534a189d0e6" dependencies: - browser-resolve "^1.11.2" + browser-resolve "^1.11.3" chalk "^2.0.1" + realpath-native "^1.0.0" -jest-runner@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-22.4.3.tgz#298ddd6a22b992c64401b4667702b325e50610c3" +jest-runner@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.5.0.tgz#570f7a044da91648b5bb9b6baacdd511076c71d7" dependencies: exit "^0.1.2" - jest-config "^22.4.3" - jest-docblock "^22.4.3" - jest-haste-map "^22.4.3" - jest-jasmine2 "^22.4.3" - jest-leak-detector "^22.4.3" - jest-message-util "^22.4.3" - jest-runtime "^22.4.3" - jest-util "^22.4.3" - jest-worker "^22.4.3" + graceful-fs "^4.1.11" + jest-config "^23.5.0" + jest-docblock "^23.2.0" + jest-haste-map "^23.5.0" + jest-jasmine2 "^23.5.0" + jest-leak-detector "^23.5.0" + jest-message-util "^23.4.0" + jest-runtime "^23.5.0" + jest-util "^23.4.0" + jest-worker "^23.2.0" + source-map-support "^0.5.6" throat "^4.0.0" -jest-runtime@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-22.4.3.tgz#b69926c34b851b920f666c93e86ba2912087e3d0" +jest-runtime@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.5.0.tgz#eb503525a196dc32f2f9974e3482d26bdf7b63ce" dependencies: babel-core "^6.0.0" - babel-jest "^22.4.3" - babel-plugin-istanbul "^4.1.5" + 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 "^22.4.3" - jest-haste-map "^22.4.3" - jest-regex-util "^22.4.3" - jest-resolve "^22.4.3" - jest-util "^22.4.3" - jest-validate "^22.4.3" - json-stable-stringify "^1.0.1" + jest-config "^23.5.0" + jest-haste-map "^23.5.0" + jest-message-util "^23.4.0" + jest-regex-util "^23.3.0" + jest-resolve "^23.5.0" + jest-snapshot "^23.5.0" + jest-util "^23.4.0" + jest-validate "^23.5.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 "^10.0.3" + yargs "^11.0.0" -jest-serializer@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-22.4.3.tgz#a679b81a7f111e4766235f4f0c46d230ee0f7436" +jest-serializer@^23.0.1: + version "23.0.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165" -jest-snapshot@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" +jest-snapshot@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.5.0.tgz#cc368ebd8513e1175e2a7277f37a801b7358ae79" dependencies: + babel-types "^6.0.0" chalk "^2.0.1" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" + jest-diff "^23.5.0" + jest-matcher-utils "^23.5.0" + jest-message-util "^23.4.0" + jest-resolve "^23.5.0" mkdirp "^0.5.1" natural-compare "^1.4.0" - pretty-format "^22.4.3" + pretty-format "^23.5.0" + semver "^5.5.0" -jest-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" +jest-util@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561" dependencies: callsites "^2.0.0" chalk "^2.0.1" graceful-fs "^4.1.11" is-ci "^1.0.10" - jest-message-util "^22.4.3" + jest-message-util "^23.4.0" mkdirp "^0.5.1" + slash "^1.0.0" source-map "^0.6.0" -jest-validate@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.3.tgz#0780954a5a7daaeec8d3c10834b9280865976b30" +jest-validate@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.5.0.tgz#f5df8f761cf43155e1b2e21d6e9de8a2852d0231" dependencies: chalk "^2.0.1" - jest-config "^22.4.3" - jest-get-type "^22.4.3" + jest-get-type "^22.1.0" leven "^2.1.0" - pretty-format "^22.4.3" + pretty-format "^23.5.0" -jest-worker@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-22.4.3.tgz#5c421417cba1c0abf64bf56bd5fb7968d79dd40b" +jest-watcher@^23.4.0: + version "23.4.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.1" + 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" dependencies: merge-stream "^1.0.1" -jest@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-22.4.3.tgz#2261f4b117dc46d9a4a1a673d2150958dee92f16" +jest@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-23.5.0.tgz#80de353d156ea5ea4a7332f7962ac79135fbc62e" dependencies: import-local "^1.0.0" - jest-cli "^22.4.3" + jest-cli "^23.5.0" jimp@0.2.28: version "0.2.28" @@ -7964,6 +7941,10 @@ kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" +kleur@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300" + kopy@^8.2.0: version "8.3.0" resolved "https://registry.yarnpkg.com/kopy/-/kopy-8.3.0.tgz#7a476efeeed90a0d49ca57464ba2ffdbf41244ee" @@ -8906,7 +8887,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -10404,9 +10385,9 @@ prettier@^1.14.0: version "1.14.0" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.14.0.tgz#847c235522035fd988100f1f43cf20a7d24f9372" -pretty-format@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" +pretty-format@^23.5.0: + version "23.5.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.5.0.tgz#0f9601ad9da70fe690a269cd3efca732c210687c" dependencies: ansi-regex "^3.0.0" ansi-styles "^3.2.0" @@ -10415,7 +10396,7 @@ prismjs@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-0.0.1.tgz#0fd50f4baf26e5cd33523b65bac2f0bc90f5503f" -private@^0.1.6, private@^0.1.7, private@^0.1.8: +private@^0.1.6, private@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" @@ -10453,6 +10434,13 @@ promise@^7.0.1, 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" + dependencies: + kleur "^2.0.1" + sisteransi "^0.1.1" + prop-types@15.5.8: version "15.5.8" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.8.tgz#6b7b2e141083be38c8595aa51fc55775c7199394" @@ -11698,7 +11686,7 @@ resolve@1.1.7, resolve@1.1.x, resolve@~1.1.0, resolve@~1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@^1.1.5, resolve@^1.1.7, resolve@^1.2.0, resolve@^1.5.0: +resolve@^1.1.5, resolve@^1.2.0, resolve@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c" dependencies: @@ -12041,15 +12029,6 @@ shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" -shell-quote@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767" - dependencies: - array-filter "~0.0.0" - array-map "~0.0.0" - array-reduce "~0.0.0" - jsonify "~0.0.0" - shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" @@ -12100,6 +12079,10 @@ sinon@^5.0.7: supports-color "^5.1.0" type-detect "^4.0.5" +sisteransi@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce" + slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" @@ -12242,15 +12225,16 @@ source-map-support@^0.4.15, source-map-support@^0.4.2: dependencies: source-map "^0.5.6" -source-map-support@^0.5.0: - version "0.5.4" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.4.tgz#54456efa89caa9270af7cd624cc2f123e51fbae8" +source-map-support@^0.5.3: + version "0.5.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" dependencies: + buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.3, source-map-support@^0.5.5: - version "0.5.6" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13" +source-map-support@^0.5.6: + version "0.5.9" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -12680,12 +12664,6 @@ stylis@^3.5.0: version "3.5.1" resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.1.tgz#fd341d59f57f9aeb412bc14c9d8a8670b438e03b" -subarg@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2" - dependencies: - minimist "^1.1.0" - subtext@4.x.x: version "4.4.1" resolved "https://registry.yarnpkg.com/subtext/-/subtext-4.4.1.tgz#2fcec945de429283c3d18b151ff0fa1f1b87aec9" @@ -12908,7 +12886,7 @@ term-size@^1.2.0: dependencies: execa "^0.7.0" -test-exclude@^4.1.1, test-exclude@^4.2.1: +test-exclude@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa" dependencies: @@ -13200,21 +13178,14 @@ trunc-text@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/trunc-text/-/trunc-text-1.0.2.tgz#b582bb3ddea9c9adc25017d737c48ebdd2157406" -ts-jest@^22.4.6: - version "22.4.6" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-22.4.6.tgz#a5d7f5e8b809626d1f4143209d301287472ec344" +ts-jest@^23.1.4: + version "23.1.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-23.1.4.tgz#66ac1d8d3fbf8f9a98432b11aa377aa850664b2b" dependencies: - babel-core "^6.26.3" - babel-plugin-istanbul "^4.1.6" - babel-plugin-transform-es2015-modules-commonjs "^6.26.2" - babel-preset-jest "^22.4.3" - cpx "^1.5.0" - fs-extra "6.0.0" - jest-config "^22.4.3" + closest-file-data "^0.1.4" + fs-extra "6.0.1" + json5 "^0.5.0" lodash "^4.17.10" - pkg-dir "^2.0.0" - source-map-support "^0.5.5" - yargs "^11.0.0" ts-loader@^3.5.0: version "3.5.0" @@ -14522,35 +14493,12 @@ yargs-parser@^7.0.0: dependencies: camelcase "^4.1.0" -yargs-parser@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950" - dependencies: - camelcase "^4.1.0" - yargs-parser@^9.0.2: version "9.0.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" dependencies: camelcase "^4.1.0" -yargs@^10.0.3: - version "10.1.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5" - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^8.1.0" - yargs@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.0.0.tgz#c052931006c5eee74610e5fc0354bedfd08a201b"