diff --git a/.babelrc b/.babelrc
new file mode 100644
index 0000000..a9ce136
--- /dev/null
+++ b/.babelrc
@@ -0,0 +1,3 @@
+{
+ "presets": ["react-native"]
+}
diff --git a/.eslintrc b/.eslintrc
index 65c2a0b..0e2b6b0 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -3,7 +3,8 @@
"env": {
"browser": true,
"node": true,
- "es6": true
+ "es6": true,
+ "jest": true
},
"parserOptions": {
"sourceType": "module",
@@ -11,11 +12,7 @@
"jsx": true
}
},
- "extends": [
- "prettier",
- "prettier/flowtype",
- "prettier/react"
- ],
+ "extends": ["prettier", "prettier/flowtype", "prettier/react"],
"plugins": [
"babel",
"flowtype",
@@ -66,11 +63,9 @@
"require-yield": "error",
"use-isnan": "error",
"valid-typeof": "error",
-
"babel/new-cap": "off",
"babel/object-curly-spacing": "off",
"babel/arrow-parens": "off",
-
"flowtype/boolean-style": ["error", "boolean"],
"flowtype/define-flow-type": "error",
"flowtype/no-dupe-keys": "error",
@@ -84,7 +79,6 @@
"flowtype/type-id-match": "off",
"flowtype/use-flow-type": "error",
"flowtype/valid-syntax": "error",
-
"import/no-unresolved": "error",
"import/named": "error",
"import/default": "off",
@@ -102,7 +96,6 @@
"import/no-namespace": "off",
"import/extensions": ["error", { "js": "never", "json": "always" }],
"import/order": "off",
-
"react/display-name": "off",
"react/forbid-prop-types": "off",
"react/no-danger": "error",
@@ -135,6 +128,9 @@
"react/jsx-uses-vars": "error",
"react-native/no-unused-styles": "error",
"react-native/split-platform-components": "off",
- "prettier/prettier": ["error", {"trailingComma": "all", "singleQuote": true}]
+ "prettier/prettier": [
+ "error",
+ { "trailingComma": "all", "singleQuote": true }
+ ]
}
-}
\ No newline at end of file
+}
diff --git a/.travis.yml b/.travis.yml
index f53c7c5..e96ab50 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,6 +6,5 @@ node_js:
install:
- yarn
-before_script:
- - yarn run flow
- - yarn run lint
+script:
+ - yarn run flow && yarn run lint && yarn run test
diff --git a/README.md b/README.md
index 007a067..4d5af54 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,21 @@
-# React Native Material Tabs
-
-Material Design implementation of [Tabs](https://material.io/guidelines/components/tabs.html#tabs-types-of-tabs).
-
-[![Build Status](https://travis-ci.org/iRoachie/react-native-material-tabs.svg?branch=master)](https://travis-ci.org/iRoachie/react-native-material-tabs)
-[![npm version](https://badge.fury.io/js/react-native-material-tabs.svg)](https://badge.fury.io/js/react-native-material-tabs)
-[![npm downloads](https://img.shields.io/npm/dt/react-native-material-tabs.svg)](https://www.npmjs.com/package/react-native-material-tabs)
+
React Native Material Tabs
+
+Material Design implementation of Tabs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## Getting Started
#### Step 1
diff --git a/flow-typed/npm/babel-jest_vx.x.x.js b/flow-typed/npm/babel-jest_vx.x.x.js
new file mode 100644
index 0000000..b375fb3
--- /dev/null
+++ b/flow-typed/npm/babel-jest_vx.x.x.js
@@ -0,0 +1,32 @@
+// flow-typed signature: 476cdf041c12e4372121dd0d59078192
+// flow-typed version: <>/babel-jest_v21.2.0/flow_v0.56.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-jest'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-jest' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-jest/build/index' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-jest/build/index.js' {
+ declare module.exports: $Exports<'babel-jest/build/index'>;
+}
diff --git a/flow-typed/npm/babel-preset-react-native_vx.x.x.js b/flow-typed/npm/babel-preset-react-native_vx.x.x.js
new file mode 100644
index 0000000..452f44d
--- /dev/null
+++ b/flow-typed/npm/babel-preset-react-native_vx.x.x.js
@@ -0,0 +1,73 @@
+// flow-typed signature: 0a6f0b938b4ca850cbfe51d2630f769c
+// flow-typed version: <>/babel-preset-react-native_v4.0.0/flow_v0.56.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'babel-preset-react-native'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'babel-preset-react-native' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'babel-preset-react-native/configs/hmr' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-react-native/configs/main' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-react-native/lib/resolvePlugins' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-react-native/plugins' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-react-native/transforms/transform-dynamic-import' {
+ declare module.exports: any;
+}
+
+declare module 'babel-preset-react-native/transforms/transform-symbol-member' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'babel-preset-react-native/configs/hmr.js' {
+ declare module.exports: $Exports<'babel-preset-react-native/configs/hmr'>;
+}
+declare module 'babel-preset-react-native/configs/main.js' {
+ declare module.exports: $Exports<'babel-preset-react-native/configs/main'>;
+}
+declare module 'babel-preset-react-native/index' {
+ declare module.exports: $Exports<'babel-preset-react-native'>;
+}
+declare module 'babel-preset-react-native/index.js' {
+ declare module.exports: $Exports<'babel-preset-react-native'>;
+}
+declare module 'babel-preset-react-native/lib/resolvePlugins.js' {
+ declare module.exports: $Exports<'babel-preset-react-native/lib/resolvePlugins'>;
+}
+declare module 'babel-preset-react-native/plugins.js' {
+ declare module.exports: $Exports<'babel-preset-react-native/plugins'>;
+}
+declare module 'babel-preset-react-native/transforms/transform-dynamic-import.js' {
+ declare module.exports: $Exports<'babel-preset-react-native/transforms/transform-dynamic-import'>;
+}
+declare module 'babel-preset-react-native/transforms/transform-symbol-member.js' {
+ declare module.exports: $Exports<'babel-preset-react-native/transforms/transform-symbol-member'>;
+}
diff --git a/flow-typed/npm/enzyme_v3.x.x.js b/flow-typed/npm/enzyme_v3.x.x.js
new file mode 100644
index 0000000..e52f9ad
--- /dev/null
+++ b/flow-typed/npm/enzyme_v3.x.x.js
@@ -0,0 +1,126 @@
+// flow-typed signature: 687805dabf4b11b8ad99d263c9d3703d
+// flow-typed version: f0c7fe5246/enzyme_v3.x.x/flow_>=v0.53.x
+
+import * as React from "react";
+
+declare module "enzyme" {
+ declare type PredicateFunction = (
+ wrapper: T,
+ index: number
+ ) => boolean;
+ declare type NodeOrNodes = React.Node | Array;
+ declare type EnzymeSelector = string | Class> | Object;
+
+ // CheerioWrapper is a type alias for an actual cheerio instance
+ // TODO: Reference correct type from cheerio's type declarations
+ declare type CheerioWrapper = any;
+
+ declare class Wrapper {
+ find(selector: EnzymeSelector): this,
+ findWhere(predicate: PredicateFunction): this,
+ filter(selector: EnzymeSelector): this,
+ filterWhere(predicate: PredicateFunction): this,
+ contains(nodeOrNodes: NodeOrNodes): boolean,
+ containsMatchingElement(node: React.Node): boolean,
+ containsAllMatchingElements(nodes: NodeOrNodes): boolean,
+ containsAnyMatchingElements(nodes: NodeOrNodes): boolean,
+ dive(option?: { context?: Object }): this,
+ exists(): boolean,
+ isEmptyRender(): boolean,
+ matchesElement(node: React.Node): boolean,
+ hasClass(className: string): boolean,
+ is(selector: EnzymeSelector): boolean,
+ isEmpty(): boolean,
+ not(selector: EnzymeSelector): this,
+ children(selector?: EnzymeSelector): this,
+ childAt(index: number): this,
+ parents(selector?: EnzymeSelector): this,
+ parent(): this,
+ closest(selector: EnzymeSelector): this,
+ render(): CheerioWrapper,
+ unmount(): this,
+ text(): string,
+ html(): string,
+ get(index: number): React.Node,
+ getNodes(): Array,
+ getDOMNode(): HTMLElement | HTMLInputElement,
+ at(index: number): this,
+ first(): this,
+ last(): this,
+ state(key?: string): any,
+ context(key?: string): any,
+ props(): Object,
+ prop(key: string): any,
+ key(): string,
+ simulate(event: string, ...args: Array): this,
+ setState(state: {}, callback?: Function): this,
+ setProps(props: {}): this,
+ setContext(context: Object): this,
+ instance(): React.Component<*, *>,
+ update(): this,
+ debug(): string,
+ type(): string | Function | null,
+ name(): string,
+ forEach(fn: (node: this, index: number) => mixed): this,
+ map(fn: (node: this, index: number) => T): Array,
+ reduce(
+ fn: (value: T, node: this, index: number) => T,
+ initialValue?: T
+ ): Array,
+ reduceRight(
+ fn: (value: T, node: this, index: number) => T,
+ initialValue?: T
+ ): Array,
+ some(selector: EnzymeSelector): boolean,
+ someWhere(predicate: PredicateFunction): boolean,
+ every(selector: EnzymeSelector): boolean,
+ everyWhere(predicate: PredicateFunction): boolean,
+ length: number
+ }
+
+ declare class ReactWrapper extends Wrapper {
+ constructor(nodes: NodeOrNodes, root: any, options?: ?Object): ReactWrapper,
+ mount(): this,
+ ref(refName: string): this,
+ detach(): void
+ }
+
+ declare class ShallowWrapper extends Wrapper {
+ constructor(
+ nodes: NodeOrNodes,
+ root: any,
+ options?: ?Object
+ ): ShallowWrapper,
+ equals(node: React.Node): boolean,
+ shallow(options?: { context?: Object }): ShallowWrapper
+ }
+
+ declare function shallow(
+ node: React.Node,
+ options?: { context?: Object, disableLifecycleMethods?: boolean }
+ ): ShallowWrapper;
+ declare function mount(
+ node: React.Node,
+ options?: {
+ context?: Object,
+ attachTo?: HTMLElement,
+ childContextTypes?: Object
+ }
+ ): ReactWrapper;
+ declare function render(
+ node: React.Node,
+ options?: { context?: Object }
+ ): CheerioWrapper;
+
+ declare module.exports: {
+ configure(options: {
+ Adapter?: any,
+ disableLifecycleMethods?: boolean
+ }): void,
+ render: typeof render,
+ mount: typeof mount,
+ shallow: typeof shallow,
+ ShallowWrapper: typeof ShallowWrapper,
+ ReactWrapper: typeof ReactWrapper
+ };
+}
diff --git a/flow-typed/npm/jest_v21.x.x.js b/flow-typed/npm/jest_v21.x.x.js
new file mode 100644
index 0000000..daaeda7
--- /dev/null
+++ b/flow-typed/npm/jest_v21.x.x.js
@@ -0,0 +1,584 @@
+// flow-typed signature: 107cf7068b8835594e97f938e8848244
+// flow-typed version: 8b4dd96654/jest_v21.x.x/flow_>=v0.39.x
+
+type JestMockFn, TReturn> = {
+ (...args: TArguments): TReturn,
+ /**
+ * An object for introspecting mock calls
+ */
+ mock: {
+ /**
+ * An array that represents all calls that have been made into this mock
+ * function. Each call is represented by an array of arguments that were
+ * passed during the call.
+ */
+ calls: Array,
+ /**
+ * An array that contains all the object instances that have been
+ * instantiated from this mock function.
+ */
+ instances: Array
+ },
+ /**
+ * Resets all information stored in the mockFn.mock.calls and
+ * mockFn.mock.instances arrays. Often this is useful when you want to clean
+ * up a mock's usage data between two assertions.
+ */
+ mockClear(): void,
+ /**
+ * Resets all information stored in the mock. This is useful when you want to
+ * completely restore a mock back to its initial state.
+ */
+ mockReset(): void,
+ /**
+ * Removes the mock and restores the initial implementation. This is useful
+ * when you want to mock functions in certain test cases and restore the
+ * original implementation in others. Beware that mockFn.mockRestore only
+ * works when mock was created with jest.spyOn. Thus you have to take care of
+ * restoration yourself when manually assigning jest.fn().
+ */
+ mockRestore(): void,
+ /**
+ * Accepts a function that should be used as the implementation of the mock.
+ * The mock itself will still record all calls that go into and instances
+ * that come from itself -- the only difference is that the implementation
+ * will also be executed when the mock is called.
+ */
+ mockImplementation(
+ fn: (...args: TArguments) => TReturn
+ ): JestMockFn,
+ /**
+ * Accepts a function that will be used as an implementation of the mock for
+ * one call to the mocked function. Can be chained so that multiple function
+ * calls produce different results.
+ */
+ mockImplementationOnce(
+ fn: (...args: TArguments) => TReturn
+ ): JestMockFn,
+ /**
+ * Just a simple sugar function for returning `this`
+ */
+ mockReturnThis(): void,
+ /**
+ * Deprecated: use jest.fn(() => value) instead
+ */
+ mockReturnValue(value: TReturn): JestMockFn,
+ /**
+ * Sugar for only returning a value once inside your mock
+ */
+ mockReturnValueOnce(value: TReturn): JestMockFn
+};
+
+type JestAsymmetricEqualityType = {
+ /**
+ * A custom Jasmine equality tester
+ */
+ asymmetricMatch(value: mixed): boolean
+};
+
+type JestCallsType = {
+ allArgs(): mixed,
+ all(): mixed,
+ any(): boolean,
+ count(): number,
+ first(): mixed,
+ mostRecent(): mixed,
+ reset(): void
+};
+
+type JestClockType = {
+ install(): void,
+ mockDate(date: Date): void,
+ tick(milliseconds?: number): void,
+ uninstall(): void
+};
+
+type JestMatcherResult = {
+ message?: string | (() => string),
+ pass: boolean
+};
+
+type JestMatcher = (actual: any, expected: any) => JestMatcherResult;
+
+type JestPromiseType = {
+ /**
+ * Use rejects to unwrap the reason of a rejected promise so any other
+ * matcher can be chained. If the promise is fulfilled the assertion fails.
+ */
+ rejects: JestExpectType,
+ /**
+ * Use resolves to unwrap the value of a fulfilled promise so any other
+ * matcher can be chained. If the promise is rejected the assertion fails.
+ */
+ resolves: JestExpectType
+};
+
+/**
+ * Plugin: jest-enzyme
+ */
+type EnzymeMatchersType = {
+ toBeChecked(): void,
+ toBeDisabled(): void,
+ toBeEmpty(): void,
+ toBePresent(): void,
+ toContainReact(element: React$Element): void,
+ toHaveClassName(className: string): void,
+ toHaveHTML(html: string): void,
+ toHaveProp(propKey: string, propValue?: any): void,
+ toHaveRef(refName: string): void,
+ toHaveState(stateKey: string, stateValue?: any): void,
+ toHaveStyle(styleKey: string, styleValue?: any): void,
+ toHaveTagName(tagName: string): void,
+ toHaveText(text: string): void,
+ toIncludeText(text: string): void,
+ toHaveValue(value: any): void,
+ toMatchElement(element: React$Element): void,
+ toMatchSelector(selector: string): void
+};
+
+type JestExpectType = {
+ not: JestExpectType & EnzymeMatchersType,
+ /**
+ * If you have a mock function, you can use .lastCalledWith to test what
+ * arguments it was last called with.
+ */
+ lastCalledWith(...args: Array): void,
+ /**
+ * toBe just checks that a value is what you expect. It uses === to check
+ * strict equality.
+ */
+ toBe(value: any): void,
+ /**
+ * Use .toHaveBeenCalled to ensure that a mock function got called.
+ */
+ toBeCalled(): void,
+ /**
+ * Use .toBeCalledWith to ensure that a mock function was called with
+ * specific arguments.
+ */
+ toBeCalledWith(...args: Array): void,
+ /**
+ * Using exact equality with floating point numbers is a bad idea. Rounding
+ * means that intuitive things fail.
+ */
+ toBeCloseTo(num: number, delta: any): void,
+ /**
+ * Use .toBeDefined to check that a variable is not undefined.
+ */
+ toBeDefined(): void,
+ /**
+ * Use .toBeFalsy when you don't care what a value is, you just want to
+ * ensure a value is false in a boolean context.
+ */
+ toBeFalsy(): void,
+ /**
+ * To compare floating point numbers, you can use toBeGreaterThan.
+ */
+ toBeGreaterThan(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeGreaterThanOrEqual.
+ */
+ toBeGreaterThanOrEqual(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeLessThan.
+ */
+ toBeLessThan(number: number): void,
+ /**
+ * To compare floating point numbers, you can use toBeLessThanOrEqual.
+ */
+ toBeLessThanOrEqual(number: number): void,
+ /**
+ * Use .toBeInstanceOf(Class) to check that an object is an instance of a
+ * class.
+ */
+ toBeInstanceOf(cls: Class<*>): void,
+ /**
+ * .toBeNull() is the same as .toBe(null) but the error messages are a bit
+ * nicer.
+ */
+ toBeNull(): void,
+ /**
+ * Use .toBeTruthy when you don't care what a value is, you just want to
+ * ensure a value is true in a boolean context.
+ */
+ toBeTruthy(): void,
+ /**
+ * Use .toBeUndefined to check that a variable is undefined.
+ */
+ toBeUndefined(): void,
+ /**
+ * Use .toContain when you want to check that an item is in a list. For
+ * testing the items in the list, this uses ===, a strict equality check.
+ */
+ toContain(item: any): void,
+ /**
+ * Use .toContainEqual when you want to check that an item is in a list. For
+ * testing the items in the list, this matcher recursively checks the
+ * equality of all fields, rather than checking for object identity.
+ */
+ toContainEqual(item: any): void,
+ /**
+ * Use .toEqual when you want to check that two objects have the same value.
+ * This matcher recursively checks the equality of all fields, rather than
+ * checking for object identity.
+ */
+ toEqual(value: any): void,
+ /**
+ * Use .toHaveBeenCalled to ensure that a mock function got called.
+ */
+ toHaveBeenCalled(): void,
+ /**
+ * Use .toHaveBeenCalledTimes to ensure that a mock function got called exact
+ * number of times.
+ */
+ toHaveBeenCalledTimes(number: number): void,
+ /**
+ * Use .toHaveBeenCalledWith to ensure that a mock function was called with
+ * specific arguments.
+ */
+ toHaveBeenCalledWith(...args: Array): void,
+ /**
+ * Use .toHaveBeenLastCalledWith to ensure that a mock function was last called
+ * with specific arguments.
+ */
+ toHaveBeenLastCalledWith(...args: Array): void,
+ /**
+ * Check that an object has a .length property and it is set to a certain
+ * numeric value.
+ */
+ toHaveLength(number: number): void,
+ /**
+ *
+ */
+ toHaveProperty(propPath: string, value?: any): void,
+ /**
+ * Use .toMatch to check that a string matches a regular expression or string.
+ */
+ toMatch(regexpOrString: RegExp | string): void,
+ /**
+ * Use .toMatchObject to check that a javascript object matches a subset of the properties of an object.
+ */
+ toMatchObject(object: Object | Array): void,
+ /**
+ * This ensures that a React component matches the most recent snapshot.
+ */
+ toMatchSnapshot(name?: string): void,
+ /**
+ * Use .toThrow to test that a function throws when it is called.
+ * If you want to test that a specific error gets thrown, you can provide an
+ * argument to toThrow. The argument can be a string for the error message,
+ * a class for the error, or a regex that should match the error.
+ *
+ * Alias: .toThrowError
+ */
+ toThrow(message?: string | Error | Class | RegExp): void,
+ toThrowError(message?: string | Error | Class | RegExp): void,
+ /**
+ * Use .toThrowErrorMatchingSnapshot to test that a function throws a error
+ * matching the most recent snapshot when it is called.
+ */
+ toThrowErrorMatchingSnapshot(): void
+};
+
+type JestObjectType = {
+ /**
+ * Disables automatic mocking in the module loader.
+ *
+ * After this method is called, all `require()`s will return the real
+ * versions of each module (rather than a mocked version).
+ */
+ disableAutomock(): JestObjectType,
+ /**
+ * An un-hoisted version of disableAutomock
+ */
+ autoMockOff(): JestObjectType,
+ /**
+ * Enables automatic mocking in the module loader.
+ */
+ enableAutomock(): JestObjectType,
+ /**
+ * An un-hoisted version of enableAutomock
+ */
+ autoMockOn(): JestObjectType,
+ /**
+ * Clears the mock.calls and mock.instances properties of all mocks.
+ * Equivalent to calling .mockClear() on every mocked function.
+ */
+ clearAllMocks(): JestObjectType,
+ /**
+ * Resets the state of all mocks. Equivalent to calling .mockReset() on every
+ * mocked function.
+ */
+ resetAllMocks(): JestObjectType,
+ /**
+ * Removes any pending timers from the timer system.
+ */
+ clearAllTimers(): void,
+ /**
+ * The same as `mock` but not moved to the top of the expectation by
+ * babel-jest.
+ */
+ doMock(moduleName: string, moduleFactory?: any): JestObjectType,
+ /**
+ * The same as `unmock` but not moved to the top of the expectation by
+ * babel-jest.
+ */
+ dontMock(moduleName: string): JestObjectType,
+ /**
+ * Returns a new, unused mock function. Optionally takes a mock
+ * implementation.
+ */
+ fn, TReturn>(
+ implementation?: (...args: TArguments) => TReturn
+ ): JestMockFn,
+ /**
+ * Determines if the given function is a mocked function.
+ */
+ isMockFunction(fn: Function): boolean,
+ /**
+ * Given the name of a module, use the automatic mocking system to generate a
+ * mocked version of the module for you.
+ */
+ genMockFromModule(moduleName: string): any,
+ /**
+ * Mocks a module with an auto-mocked version when it is being required.
+ *
+ * The second argument can be used to specify an explicit module factory that
+ * is being run instead of using Jest's automocking feature.
+ *
+ * The third argument can be used to create virtual mocks -- mocks of modules
+ * that don't exist anywhere in the system.
+ */
+ mock(
+ moduleName: string,
+ moduleFactory?: any,
+ options?: Object
+ ): JestObjectType,
+ /**
+ * Returns the actual module instead of a mock, bypassing all checks on
+ * whether the module should receive a mock implementation or not.
+ */
+ requireActual(moduleName: string): any,
+ /**
+ * Returns a mock module instead of the actual module, bypassing all checks
+ * on whether the module should be required normally or not.
+ */
+ requireMock(moduleName: string): any,
+ /**
+ * Resets the module registry - the cache of all required modules. This is
+ * useful to isolate modules where local state might conflict between tests.
+ */
+ resetModules(): JestObjectType,
+ /**
+ * Exhausts the micro-task queue (usually interfaced in node via
+ * process.nextTick).
+ */
+ runAllTicks(): void,
+ /**
+ * Exhausts the macro-task queue (i.e., all tasks queued by setTimeout(),
+ * setInterval(), and setImmediate()).
+ */
+ runAllTimers(): void,
+ /**
+ * Exhausts all tasks queued by setImmediate().
+ */
+ runAllImmediates(): void,
+ /**
+ * Executes only the macro task queue (i.e. all tasks queued by setTimeout()
+ * or setInterval() and setImmediate()).
+ */
+ runTimersToTime(msToRun: number): void,
+ /**
+ * Executes only the macro-tasks that are currently pending (i.e., only the
+ * tasks that have been queued by setTimeout() or setInterval() up to this
+ * point)
+ */
+ runOnlyPendingTimers(): void,
+ /**
+ * Explicitly supplies the mock object that the module system should return
+ * for the specified module. Note: It is recommended to use jest.mock()
+ * instead.
+ */
+ setMock(moduleName: string, moduleExports: any): JestObjectType,
+ /**
+ * Indicates that the module system should never return a mocked version of
+ * the specified module from require() (e.g. that it should always return the
+ * real module).
+ */
+ unmock(moduleName: string): JestObjectType,
+ /**
+ * Instructs Jest to use fake versions of the standard timer functions
+ * (setTimeout, setInterval, clearTimeout, clearInterval, nextTick,
+ * setImmediate and clearImmediate).
+ */
+ useFakeTimers(): JestObjectType,
+ /**
+ * Instructs Jest to use the real versions of the standard timer functions.
+ */
+ useRealTimers(): JestObjectType,
+ /**
+ * Creates a mock function similar to jest.fn but also tracks calls to
+ * object[methodName].
+ */
+ spyOn(object: Object, methodName: string): JestMockFn,
+ /**
+ * Set the default timeout interval for tests and before/after hooks in milliseconds.
+ * Note: The default timeout interval is 5 seconds if this method is not called.
+ */
+ setTimeout(timeout: number): JestObjectType
+};
+
+type JestSpyType = {
+ calls: JestCallsType
+};
+
+/** Runs this function after every test inside this context */
+declare function afterEach(
+ fn: (done: () => void) => ?Promise,
+ timeout?: number
+): void;
+/** Runs this function before every test inside this context */
+declare function beforeEach(
+ fn: (done: () => void) => ?Promise,
+ timeout?: number
+): void;
+/** Runs this function after all tests have finished inside this context */
+declare function afterAll(
+ fn: (done: () => void) => ?Promise,
+ timeout?: number
+): void;
+/** Runs this function before any tests have started inside this context */
+declare function beforeAll(
+ fn: (done: () => void) => ?Promise,
+ timeout?: number
+): void;
+
+/** A context for grouping tests together */
+declare var describe: {
+ /**
+ * Creates a block that groups together several related tests in one "test suite"
+ */
+ (name: string, fn: () => void): void,
+
+ /**
+ * Only run this describe block
+ */
+ only(name: string, fn: () => void): void,
+
+ /**
+ * Skip running this describe block
+ */
+ skip(name: string, fn: () => void): void
+};
+
+/** An individual test unit */
+declare var it: {
+ /**
+ * An individual test unit
+ *
+ * @param {string} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ (
+ name: string,
+ fn?: (done: () => void) => ?Promise,
+ timeout?: number
+ ): void,
+ /**
+ * Only run this test
+ *
+ * @param {string} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ only(
+ name: string,
+ fn?: (done: () => void) => ?Promise,
+ timeout?: number
+ ): void,
+ /**
+ * Skip running this test
+ *
+ * @param {string} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ skip(
+ name: string,
+ fn?: (done: () => void) => ?Promise,
+ timeout?: number
+ ): void,
+ /**
+ * Run the test concurrently
+ *
+ * @param {string} Name of Test
+ * @param {Function} Test
+ * @param {number} Timeout for the test, in milliseconds.
+ */
+ concurrent(
+ name: string,
+ fn?: (done: () => void) => ?Promise,
+ timeout?: number
+ ): void
+};
+declare function fit(
+ name: string,
+ fn: (done: () => void) => ?Promise,
+ timeout?: number
+): void;
+/** An individual test unit */
+declare var test: typeof it;
+/** A disabled group of tests */
+declare var xdescribe: typeof describe;
+/** A focused group of tests */
+declare var fdescribe: typeof describe;
+/** A disabled individual test */
+declare var xit: typeof it;
+/** A disabled individual test */
+declare var xtest: typeof it;
+
+/** The expect function is used every time you want to test a value */
+declare var expect: {
+ /** The object that you want to make assertions against */
+ (value: any): JestExpectType & JestPromiseType & EnzymeMatchersType,
+ /** Add additional Jasmine matchers to Jest's roster */
+ extend(matchers: { [name: string]: JestMatcher }): void,
+ /** Add a module that formats application-specific data structures. */
+ addSnapshotSerializer(serializer: (input: Object) => string): void,
+ assertions(expectedAssertions: number): void,
+ hasAssertions(): void,
+ any(value: mixed): JestAsymmetricEqualityType,
+ anything(): void,
+ arrayContaining(value: Array): void,
+ objectContaining(value: Object): void,
+ /** Matches any received string that contains the exact expected string. */
+ stringContaining(value: string): void,
+ stringMatching(value: string | RegExp): void
+};
+
+// TODO handle return type
+// http://jasmine.github.io/2.4/introduction.html#section-Spies
+declare function spyOn(value: mixed, method: string): Object;
+
+/** Holds all functions related to manipulating test runner */
+declare var jest: JestObjectType;
+
+/**
+ * The global Jasmine object, this is generally not exposed as the public API,
+ * using features inside here could break in later versions of Jest.
+ */
+declare var jasmine: {
+ DEFAULT_TIMEOUT_INTERVAL: number,
+ any(value: mixed): JestAsymmetricEqualityType,
+ anything(): void,
+ arrayContaining(value: Array): void,
+ clock(): JestClockType,
+ createSpy(name: string): JestSpyType,
+ createSpyObj(
+ baseName: string,
+ methodNames: Array
+ ): { [methodName: string]: JestSpyType },
+ objectContaining(value: Object): void,
+ stringMatching(value: string): void
+};
diff --git a/flow-typed/npm/react-test-renderer_vx.x.x.js b/flow-typed/npm/react-test-renderer_vx.x.x.js
new file mode 100644
index 0000000..e6a81f5
--- /dev/null
+++ b/flow-typed/npm/react-test-renderer_vx.x.x.js
@@ -0,0 +1,66 @@
+// flow-typed signature: 75f8bc2b3dfa4281e96c1e8e40e8f11f
+// flow-typed version: <>/react-test-renderer_v^16.2.0/flow_v0.56.0
+
+/**
+ * This is an autogenerated libdef stub for:
+ *
+ * 'react-test-renderer'
+ *
+ * Fill this stub out by replacing all the `any` types.
+ *
+ * Once filled out, we encourage you to share your work with the
+ * community by sending a pull request to:
+ * https://github.com/flowtype/flow-typed
+ */
+
+declare module 'react-test-renderer' {
+ declare module.exports: any;
+}
+
+/**
+ * We include stubs for each file inside this npm package in case you need to
+ * require those files directly. Feel free to delete any files that aren't
+ * needed.
+ */
+declare module 'react-test-renderer/cjs/react-test-renderer-shallow.development' {
+ declare module.exports: any;
+}
+
+declare module 'react-test-renderer/cjs/react-test-renderer-shallow.production.min' {
+ declare module.exports: any;
+}
+
+declare module 'react-test-renderer/cjs/react-test-renderer.development' {
+ declare module.exports: any;
+}
+
+declare module 'react-test-renderer/cjs/react-test-renderer.production.min' {
+ declare module.exports: any;
+}
+
+declare module 'react-test-renderer/shallow' {
+ declare module.exports: any;
+}
+
+// Filename aliases
+declare module 'react-test-renderer/cjs/react-test-renderer-shallow.development.js' {
+ declare module.exports: $Exports<'react-test-renderer/cjs/react-test-renderer-shallow.development'>;
+}
+declare module 'react-test-renderer/cjs/react-test-renderer-shallow.production.min.js' {
+ declare module.exports: $Exports<'react-test-renderer/cjs/react-test-renderer-shallow.production.min'>;
+}
+declare module 'react-test-renderer/cjs/react-test-renderer.development.js' {
+ declare module.exports: $Exports<'react-test-renderer/cjs/react-test-renderer.development'>;
+}
+declare module 'react-test-renderer/cjs/react-test-renderer.production.min.js' {
+ declare module.exports: $Exports<'react-test-renderer/cjs/react-test-renderer.production.min'>;
+}
+declare module 'react-test-renderer/index' {
+ declare module.exports: $Exports<'react-test-renderer'>;
+}
+declare module 'react-test-renderer/index.js' {
+ declare module.exports: $Exports<'react-test-renderer'>;
+}
+declare module 'react-test-renderer/shallow.js' {
+ declare module.exports: $Exports<'react-test-renderer/shallow'>;
+}
diff --git a/package.json b/package.json
index 5a0bc19..8a01b19 100644
--- a/package.json
+++ b/package.json
@@ -14,14 +14,19 @@
"scripts": {
"flow": "flow check",
"lint": "eslint **/*.js",
- "format": "eslint --fix **/*.js"
+ "format": "eslint --fix **/*.js",
+ "test": "jest"
},
"dependencies": {
"prop-types": "^15.5.10",
- "styled-components": "^2.1.1"
+ "styled-components": "^2.3.0"
},
"devDependencies": {
"babel-eslint": "^7.2.3",
+ "babel-jest": "21.2.0",
+ "babel-preset-react-native": "4.0.0",
+ "enzyme": "^3.2.0",
+ "enzyme-adapter-react-16": "^1.1.0",
"eslint": "^4.2.0",
"eslint-config-prettier": "^2.3.0",
"eslint-plugin-babel": "^4.1.1",
@@ -31,9 +36,12 @@
"eslint-plugin-react": "^7.1.0",
"eslint-plugin-react-native": "^2.3.2",
"flow-bin": "^0.56.0",
+ "jest": "21.2.1",
"prettier": "^1.9.1",
"react": "16.0.0",
- "react-native": "^0.51.0"
+ "react-dom": "^16.2.0",
+ "react-native": "^0.51.0",
+ "react-test-renderer": "^16.2.0"
},
"peerDependencies": {
"react": "*",
@@ -46,5 +54,8 @@
"repository": {
"type": "git",
"url": "git+https://github.com/iRoachie/react-native-material-tabs.git"
+ },
+ "jest": {
+ "preset": "react-native"
}
}
diff --git a/src/__tests__/__snapshots__/main.test.js.snap b/src/__tests__/__snapshots__/main.test.js.snap
new file mode 100644
index 0000000..e3dc3b0
--- /dev/null
+++ b/src/__tests__/__snapshots__/main.test.js.snap
@@ -0,0 +1,181 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Main should render without errors 1`] = `
+
+
+
+
+
+
+
+ TAB1
+
+
+
+
+
+
+ TAB2
+
+
+
+
+
+
+
+
+`;
diff --git a/src/__tests__/main.test.js b/src/__tests__/main.test.js
new file mode 100644
index 0000000..3211747
--- /dev/null
+++ b/src/__tests__/main.test.js
@@ -0,0 +1,70 @@
+import React from 'react';
+import Adapter from 'enzyme-adapter-react-16';
+import { create } from 'react-test-renderer';
+import { shallow, configure } from 'enzyme';
+import MaterialTabs from '../index';
+
+configure({ adapter: new Adapter() });
+
+let component;
+let onChange;
+
+describe('Main', () => {
+ beforeAll(() => {
+ console.warn = function() {};
+ });
+
+ beforeEach(() => {
+ onChange = jest.fn();
+ component = (
+
+ );
+ });
+
+ it('should render without errors', () => {
+ const tree = create(component).toJSON();
+ expect(tree).toMatchSnapshot();
+ });
+
+ it('should render with correct tabs', () => {
+ const wrapper = shallow(component);
+ const tabs = wrapper.find('Tab');
+
+ expect(tabs.length).toBe(2);
+ });
+
+ it('should fire onChange event', () => {
+ const wrapper = shallow(component);
+
+ wrapper
+ .find('Tab')
+ .at(1)
+ .props()
+ .onPress();
+
+ expect(onChange).toBeCalledWith(1);
+ });
+
+ it('should change tabs', () => {
+ const wrapper = shallow(component);
+ let tabs = wrapper.find('Tab');
+
+ // Mock scrollTo function
+ wrapper.instance().scrollView = {
+ scrollTo: () => {},
+ };
+
+ // Assert initial state
+ expect(tabs.at(0).props().active).toBe(true);
+
+ wrapper.setProps({ selectedIndex: 1 });
+ tabs = wrapper.find('Tab');
+
+ expect(tabs.at(0).props().active).toBe(false);
+ expect(tabs.at(1).props().active).toBe(true);
+ });
+});
diff --git a/src/components/Indicator.js b/src/components/Indicator.js
index 9b7f981..718c226 100644
--- a/src/components/Indicator.js
+++ b/src/components/Indicator.js
@@ -10,11 +10,11 @@ type BarProps = {
};
const Bar = styled(Animated.View)`
- height: 2
- width: ${(props: BarProps) => props.tabWidth}
- position: absolute
- bottom: 0
- backgroundColor: ${(props: BarProps) => props.color}
+ height: 2;
+ width: ${(props: BarProps) => props.tabWidth};
+ position: absolute;
+ bottom: 0;
+ background-color: ${(props: BarProps) => props.color};
`;
type IndicatorProps = {
diff --git a/src/components/MaterialTabs.js b/src/components/MaterialTabs.js
index 6085ad0..06d29d8 100644
--- a/src/components/MaterialTabs.js
+++ b/src/components/MaterialTabs.js
@@ -2,7 +2,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { Animated, ScrollView } from 'react-native';
+import { Animated, ScrollView, View } from 'react-native';
import { Bar, TabTrack } from '../lib/styles';
import Tab from './Tab';
import Indicator from './Indicator';
@@ -59,11 +59,21 @@ export default class MaterialTabs extends React.Component {
);
}
+ componentWillUpdate(nextProps: Props) {
+ // Recalculate views if the number of items change
+ if (nextProps.items.length !== this.props.items.length) {
+ this.bar.measure((_, b, width) => {
+ this.getTabWidth(width);
+ });
+ }
+ }
+
componentDidUpdate() {
this.selectTab();
}
scrollView: ScrollView;
+ bar: View;
getAnimateValues() {
const idx = this.props.selectedIndex;
@@ -133,6 +143,7 @@ export default class MaterialTabs extends React.Component {
renderContent() {
return (
(this.bar = ref)}
barColor={this.props.barColor}
onLayout={event => this.getTabWidth(event.nativeEvent.layout.width)}
>
diff --git a/src/components/Tab/styles.js b/src/components/Tab/styles.js
index 5acd8b4..ee1604e 100644
--- a/src/components/Tab/styles.js
+++ b/src/components/Tab/styles.js
@@ -6,10 +6,10 @@ import Button from '../Touchable';
import values from '../../lib/values';
export const TabBody = styled.View`
- height: ${values.barHeight}
- alignItems: center
- justifyContent: center
- paddingHorizontal: 12px
+ height: ${values.barHeight};
+ align-items: center;
+ justify-content: center;
+ padding-horizontal: 12px;
`;
type TabButtonProps = {
@@ -25,10 +25,10 @@ type TabTextProps = {
};
export const TabText = styled.Text`
- color: ${(props: TabTextProps) => props.color}
- fontWeight: ${Platform.OS === 'ios' ? 500 : 400}
- fontFamily: ${Platform.OS === 'android' ? 'sans-serif-medium' : 'System'}
- fontSize: 14
- textAlign: center
- minWidth: 100%
+ color: ${(props: TabTextProps) => props.color};
+ font-weight: ${Platform.OS === 'ios' ? 500 : 400};
+ font-family: ${Platform.OS === 'android' ? 'sans-serif-medium' : 'System'};
+ font-size: 14;
+ text-align: center;
+ min-width: 100%;
`;
diff --git a/src/index.d.ts b/src/index.d.ts
index a488b6a..a1d81a2 100644
--- a/src/index.d.ts
+++ b/src/index.d.ts
@@ -1,7 +1,7 @@
// Type definitions for react-native-material-tabs
// Project: https://github.com/iRoachie/react-native-material-tabs
// Definitions by: Kyle Roach
-// TypeScript Version: 2.2.2
+// TypeScript Version: 3.1
import * as React from 'react'
diff --git a/src/lib/styles.js b/src/lib/styles.js
index f2c648b..a861883 100644
--- a/src/lib/styles.js
+++ b/src/lib/styles.js
@@ -8,13 +8,13 @@ type BarProps = {
};
const Bar = styled.View`
- backgroundColor: ${(props: BarProps) => props.barColor}
- height: ${values.barHeight}
+ background-color: ${(props: BarProps) => props.barColor};
+ height: ${values.barHeight};
`;
const TabTrack = styled.View`
- flexDirection: row
- height: 46
+ flex-direction: row;
+ height: 46;
`;
export { Bar, TabTrack };
diff --git a/yarn.lock b/yarn.lock
index e35c219..823b564 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,14 @@
# yarn lockfile v1
+"@types/node@*":
+ version "8.5.1"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-8.5.1.tgz#4ec3020bcdfe2abffeef9ba3fbf26fca097514b5"
+
+abab@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
+
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
@@ -24,6 +32,12 @@ accepts@~1.3.0:
mime-types "~2.1.11"
negotiator "0.6.1"
+acorn-globals@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf"
+ dependencies:
+ acorn "^4.0.4"
+
acorn-jsx@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
@@ -34,6 +48,10 @@ acorn@^3.0.4:
version "3.3.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+acorn@^4.0.4:
+ version "4.0.13"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
+
acorn@^5.0.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.1.1.tgz#53fe161111f912ab999ee887a90a0bc52822fd75"
@@ -58,10 +76,26 @@ ajv@^5.2.0:
json-schema-traverse "^0.3.0"
json-stable-stringify "^1.0.1"
+align-text@^0.1.1, align-text@^0.1.3:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ dependencies:
+ kind-of "^3.0.2"
+ longest "^1.0.1"
+ repeat-string "^1.5.2"
+
+amdefine@>=0.0.4:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
+
ansi-escapes@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-2.0.0.tgz#5bae52be424878dd9783e8910e3fc2922e83c81b"
+ansi-escapes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
+
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -80,6 +114,12 @@ ansi-styles@^3.1.0:
dependencies:
color-convert "^1.0.0"
+ansi-styles@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
+ dependencies:
+ color-convert "^1.9.0"
+
ansi@^0.3.0, ansi@~0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21"
@@ -91,6 +131,12 @@ anymatch@^1.3.0:
arrify "^1.0.0"
micromatch "^2.1.5"
+append-transform@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+ dependencies:
+ default-require-extensions "^1.0.0"
+
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
@@ -122,6 +168,10 @@ array-differ@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
+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"
@@ -148,7 +198,7 @@ array-unique@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
-arrify@^1.0.0:
+arrify@^1.0.0, arrify@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
@@ -172,7 +222,15 @@ assert-plus@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-async@^2.4.0:
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+
+async@^1.4.0:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
+
+async@^2.1.4, async@^2.4.0:
version "2.6.0"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
dependencies:
@@ -198,6 +256,38 @@ babel-code-frame@^6.22.0:
esutils "^2.0.2"
js-tokens "^3.0.0"
+babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-core@^6.0.0, babel-core@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
+ 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.0"
+ debug "^2.6.8"
+ json5 "^0.5.1"
+ lodash "^4.17.4"
+ minimatch "^3.0.4"
+ path-is-absolute "^1.0.1"
+ private "^0.1.7"
+ slash "^1.0.0"
+ source-map "^0.5.6"
+
babel-core@^6.24.1, babel-core@^6.7.2:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729"
@@ -231,7 +321,7 @@ babel-eslint@^7.2.3:
babel-types "^6.23.0"
babylon "^6.17.0"
-babel-generator@^6.24.1:
+babel-generator@^6.18.0, babel-generator@^6.24.1, babel-generator@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
dependencies:
@@ -366,6 +456,13 @@ babel-helpers@^6.24.1:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
+babel-jest@21.2.0, babel-jest@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-21.2.0.tgz#2ce059519a9374a2c46f2455b6fbef5ad75d863e"
+ dependencies:
+ babel-plugin-istanbul "^4.0.0"
+ babel-preset-jest "^21.2.0"
+
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
@@ -384,6 +481,18 @@ babel-plugin-external-helpers@^6.18.0:
dependencies:
babel-runtime "^6.22.0"
+babel-plugin-istanbul@^4.0.0:
+ 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-jest-hoist@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-21.2.0.tgz#2cef637259bd4b628a6cace039de5fcd14dbb006"
+
babel-plugin-react-transform@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/babel-plugin-react-transform/-/babel-plugin-react-transform-3.0.0.tgz#402f25137b7bb66e9b54ead75557dfbc7ecaaa74"
@@ -414,7 +523,7 @@ babel-plugin-syntax-jsx@^6.5.0, babel-plugin-syntax-jsx@^6.8.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946"
-babel-plugin-syntax-object-rest-spread@^6.8.0:
+babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
@@ -691,7 +800,14 @@ babel-preset-fbjs@^2.1.2, babel-preset-fbjs@^2.1.4:
babel-plugin-transform-react-display-name "^6.8.0"
babel-plugin-transform-react-jsx "^6.8.0"
-babel-preset-react-native@^4.0.0:
+babel-preset-jest@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-21.2.0.tgz#ff9d2bce08abd98e8a36d9a8a5189b9173b85638"
+ dependencies:
+ babel-plugin-jest-hoist "^21.2.0"
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
+
+babel-preset-react-native@4.0.0, babel-preset-react-native@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/babel-preset-react-native/-/babel-preset-react-native-4.0.0.tgz#3df80dd33a453888cdd33bdb87224d17a5d73959"
dependencies:
@@ -739,6 +855,18 @@ babel-register@^6.24.1:
mkdirp "^0.5.1"
source-map-support "^0.4.2"
+babel-register@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ dependencies:
+ babel-core "^6.26.0"
+ babel-runtime "^6.26.0"
+ core-js "^2.5.0"
+ home-or-tmp "^2.0.0"
+ lodash "^4.17.4"
+ mkdirp "^0.5.1"
+ source-map-support "^0.4.15"
+
babel-runtime@^6.0.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b"
@@ -753,6 +881,16 @@ babel-runtime@^6.23.0, babel-runtime@^6.26.0:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
+babel-template@^6.16.0, babel-template@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ dependencies:
+ babel-runtime "^6.26.0"
+ babel-traverse "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ lodash "^4.17.4"
+
babel-template@^6.24.1, babel-template@^6.25.0:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071"
@@ -763,6 +901,20 @@ babel-template@^6.24.1, babel-template@^6.25.0:
babylon "^6.17.2"
lodash "^4.2.0"
+babel-traverse@^6.18.0, babel-traverse@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ dependencies:
+ babel-code-frame "^6.26.0"
+ babel-messages "^6.23.0"
+ babel-runtime "^6.26.0"
+ babel-types "^6.26.0"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+ globals "^9.18.0"
+ invariant "^2.2.2"
+ lodash "^4.17.4"
+
babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1"
@@ -777,6 +929,15 @@ babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.25.0:
invariant "^2.2.0"
lodash "^4.2.0"
+babel-types@^6.18.0, babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25.0:
version "6.25.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e"
@@ -786,15 +947,6 @@ babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.25
lodash "^4.2.0"
to-fast-properties "^1.0.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:
- babel-runtime "^6.26.0"
- esutils "^2.0.2"
- lodash "^4.17.4"
- to-fast-properties "^1.0.3"
-
babylon@^6.17.0, babylon@^6.17.2:
version "6.17.4"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a"
@@ -870,6 +1022,10 @@ body-parser@~1.13.3:
raw-body "~2.1.2"
type-is "~1.6.6"
+boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+
boom@2.x.x:
version "2.10.1"
resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
@@ -903,6 +1059,12 @@ braces@^1.8.2:
preserve "^0.2.0"
repeat-element "^1.1.2"
+browser-resolve@^1.11.2:
+ version "1.11.2"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+ dependencies:
+ resolve "1.1.7"
+
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -938,6 +1100,14 @@ callsites@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+
+camelcase@^1.0.2:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+
camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
@@ -946,6 +1116,13 @@ caseless@~0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+center-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ dependencies:
+ align-text "^0.1.3"
+ lazy-cache "^1.0.3"
+
chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -964,6 +1141,29 @@ chalk@^2.0.0:
escape-string-regexp "^1.0.5"
supports-color "^4.0.0"
+chalk@^2.0.1:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+cheerio@^1.0.0-rc.2:
+ version "1.0.0-rc.2"
+ resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.2.tgz#4b9f53a81b27e4d5dac31c0ffd0cfa03cc6830db"
+ dependencies:
+ css-select "~1.2.0"
+ dom-serializer "~0.1.0"
+ entities "~1.1.1"
+ htmlparser2 "^3.9.1"
+ lodash "^4.15.0"
+ parse5 "^3.0.1"
+
+ci-info@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4"
+
circular-json@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.1.tgz#be8b36aefccde8b3ca7aa2d6afc07a37242c0d2d"
@@ -978,6 +1178,14 @@ cli-width@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.1.0.tgz#b234ca209b29ef66fc518d9b98d5847b00edf00a"
+cliui@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ dependencies:
+ center-align "^0.1.1"
+ right-align "^0.1.1"
+ wordwrap "0.0.2"
+
cliui@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
@@ -1008,10 +1216,20 @@ color-convert@^1.0.0:
dependencies:
color-name "^1.1.1"
+color-convert@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ dependencies:
+ color-name "^1.1.1"
+
color-name@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.2.tgz#5c8ab72b64bd2215d617ae9559ebb148475cf98d"
+colors@0.5.x:
+ version "0.5.1"
+ resolved "https://registry.yarnpkg.com/colors/-/colors-0.5.1.tgz#7d0023eaeb154e8ee9fce75dcb923d0ed1667774"
+
combined-stream@^1.0.5, combined-stream@~1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
@@ -1108,6 +1326,10 @@ contains-path@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
+content-type-parser@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/content-type-parser/-/content-type-parser-1.0.2.tgz#caabe80623e63638b2502fd4c7f12ff4ce2352e7"
+
content-type@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
@@ -1116,6 +1338,10 @@ convert-source-map@^1.1.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5"
+convert-source-map@^1.4.0, convert-source-map@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+
cookie-parser@~1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/cookie-parser/-/cookie-parser-1.3.5.tgz#9d755570fb5d17890771227a02314d9be7cf8356"
@@ -1151,6 +1377,10 @@ core-js@^2.4.1:
version "2.5.1"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.1.tgz#ae6874dc66937789b80754ff5428df66819ca50b"
+core-js@^2.5.0:
+ version "2.5.3"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+
core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -1193,6 +1423,15 @@ css-color-keywords@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05"
+css-select@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858"
+ dependencies:
+ boolbase "~1.0.0"
+ css-what "2.1"
+ domutils "1.5.1"
+ nth-check "~1.0.1"
+
css-to-react-native@^2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.0.4.tgz#cf4cc407558b3474d4ba8be1a2cd3b6ce713101b"
@@ -1201,6 +1440,20 @@ css-to-react-native@^2.0.3:
fbjs "^0.8.5"
postcss-value-parser "^3.3.0"
+css-what@2.1:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd"
+
+cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.2.tgz#b8036170c79f07a90ff2f16e22284027a243848b"
+
+"cssstyle@>= 0.2.37 < 0.3.0":
+ version "0.2.37"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54"
+ dependencies:
+ cssom "0.3.x"
+
csurf@~1.8.3:
version "1.8.3"
resolved "https://registry.yarnpkg.com/csurf/-/csurf-1.8.3.tgz#23f2a13bf1d8fce1d0c996588394442cba86a56a"
@@ -1226,13 +1479,19 @@ debug@2.6.8, debug@^2.1.1, debug@^2.2.0, debug@^2.6.8:
dependencies:
ms "2.0.0"
+debug@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ dependencies:
+ ms "2.0.0"
+
debug@~2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
dependencies:
ms "0.7.1"
-decamelize@^1.1.1:
+decamelize@^1.0.0, decamelize@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -1244,6 +1503,19 @@ deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+default-require-extensions@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+ dependencies:
+ strip-bom "^2.0.0"
+
+define-properties@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94"
+ dependencies:
+ foreach "^2.0.5"
+ object-keys "^1.0.8"
+
del@^2.0.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
@@ -1290,6 +1562,14 @@ detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+diff@^3.2.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.4.0.tgz#b1d85507daf3964828de54b37d0d73ba67dda56c"
+
+discontinuous-range@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/discontinuous-range/-/discontinuous-range-1.0.0.tgz#e38331f0844bba49b9a9cb71c771585aab1bc65a"
+
doctrine@1.5.0:
version "1.5.0"
resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
@@ -1304,10 +1584,45 @@ doctrine@^2.0.0:
esutils "^2.0.2"
isarray "^1.0.0"
+dom-serializer@0, dom-serializer@~0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82"
+ dependencies:
+ domelementtype "~1.1.1"
+ entities "~1.1.1"
+
dom-walk@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018"
+domelementtype@1, domelementtype@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+
+domelementtype@~1.1.1:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+
+domhandler@^2.3.0:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
+ dependencies:
+ domelementtype "1"
+
+domutils@1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf"
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+domutils@^1.5.1:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.6.2.tgz#1958cc0b4c9426e9ed367fb1c8e854891b0fa3ff"
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
duplexer2@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
@@ -1330,6 +1645,10 @@ encoding@^0.1.11:
dependencies:
iconv-lite "~0.4.13"
+entities@^1.1.1, entities@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
+
envinfo@^3.0.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-3.10.0.tgz#24b52a5c19af379dc32465d1909e37344dc41c20"
@@ -1340,6 +1659,41 @@ envinfo@^3.0.0:
os-name "^2.0.1"
which "^1.2.14"
+enzyme-adapter-react-16@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.1.0.tgz#86c5db7c10f0be6ec25d54ca41b59f2abb397cf4"
+ dependencies:
+ enzyme-adapter-utils "^1.1.0"
+ lodash "^4.17.4"
+ object.assign "^4.0.4"
+ object.values "^1.0.4"
+ prop-types "^15.5.10"
+ react-test-renderer "^16.0.0-0"
+
+enzyme-adapter-utils@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/enzyme-adapter-utils/-/enzyme-adapter-utils-1.2.0.tgz#7f4471ee0a70b91169ec8860d2bf0a6b551664b2"
+ dependencies:
+ lodash "^4.17.4"
+ object.assign "^4.0.4"
+ prop-types "^15.5.10"
+
+enzyme@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.2.0.tgz#998bdcda0fc71b8764a0017f7cc692c943f54a7a"
+ dependencies:
+ cheerio "^1.0.0-rc.2"
+ function.prototype.name "^1.0.3"
+ has "^1.0.1"
+ is-subset "^0.1.1"
+ lodash "^4.17.4"
+ object-is "^1.0.1"
+ object.assign "^4.0.4"
+ object.entries "^1.0.4"
+ object.values "^1.0.4"
+ raf "^3.4.0"
+ rst-selector-parser "^2.2.3"
+
errno@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
@@ -1359,6 +1713,24 @@ errorhandler@~1.4.2:
accepts "~1.3.0"
escape-html "~1.0.3"
+es-abstract@^1.6.1:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
+ dependencies:
+ es-to-primitive "^1.1.1"
+ function-bind "^1.1.1"
+ has "^1.0.1"
+ is-callable "^1.1.3"
+ is-regex "^1.0.4"
+
+es-to-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d"
+ dependencies:
+ is-callable "^1.1.1"
+ is-date-object "^1.0.1"
+ is-symbol "^1.0.1"
+
escape-html@1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.2.tgz#d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c"
@@ -1371,6 +1743,17 @@ escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+escodegen@^1.6.1:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.0.tgz#9811a2f265dc1cd3894420ee3717064b632b8852"
+ dependencies:
+ esprima "^3.1.3"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.5.6"
+
eslint-config-prettier@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-2.3.0.tgz#b75b1eabea0c8b97b34403647ee25db349b9d8a0"
@@ -1487,6 +1870,10 @@ espree@^3.4.3:
acorn "^5.0.1"
acorn-jsx "^3.0.0"
+esprima@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633"
+
esprima@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
@@ -1550,6 +1937,17 @@ expand-range@^1.8.1:
dependencies:
fill-range "^2.1.0"
+expect@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-21.2.1.tgz#003ac2ac7005c3c29e73b38a272d4afadd6d1d7b"
+ dependencies:
+ ansi-styles "^3.2.0"
+ jest-diff "^21.2.1"
+ jest-get-type "^21.2.0"
+ jest-matcher-utils "^21.2.1"
+ jest-message-util "^21.2.1"
+ jest-regex-util "^21.2.0"
+
express-session@~1.11.3:
version "1.11.3"
resolved "https://registry.yarnpkg.com/express-session/-/express-session-1.11.3.tgz#5cc98f3f5ff84ed835f91cbf0aabd0c7107400af"
@@ -1665,6 +2063,13 @@ filename-regex@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+fileset@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
+ dependencies:
+ glob "^7.0.3"
+ minimatch "^3.0.3"
+
fill-range@^2.1.0:
version "2.2.3"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
@@ -1691,7 +2096,7 @@ find-up@^1.0.0:
path-exists "^2.0.0"
pinkie-promise "^2.0.0"
-find-up@^2.0.0:
+find-up@^2.0.0, find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
dependencies:
@@ -1720,6 +2125,10 @@ for-own@^0.1.4:
dependencies:
for-in "^1.0.1"
+foreach@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99"
+
forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
@@ -1776,6 +2185,18 @@ function-bind@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.0.tgz#16176714c801798e4e8f2cf7f7529467bb4a5771"
+function-bind@^1.1.0, function-bind@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+
+function.prototype.name@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.0.3.tgz#0099ae5572e9dd6f03c97d023fd92bcc5e639eac"
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.0"
+ is-callable "^1.1.3"
+
gauge@~1.2.5:
version "1.2.7"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93"
@@ -1848,7 +2269,7 @@ global@^4.3.0:
min-document "^2.19.0"
process "~0.5.1"
-globals@^9.0.0, globals@^9.17.0:
+globals@^9.0.0, globals@^9.17.0, globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
@@ -1906,6 +2327,16 @@ gulplog@^1.0.0:
dependencies:
glogg "^1.0.0"
+handlebars@^4.0.3:
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
+ dependencies:
+ async "^1.4.0"
+ optimist "^0.6.1"
+ source-map "^0.4.4"
+ optionalDependencies:
+ uglify-js "^2.6"
+
har-schema@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
@@ -1975,6 +2406,23 @@ hosted-git-info@^2.1.4:
version "2.5.0"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
+html-encoding-sniffer@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
+ dependencies:
+ whatwg-encoding "^1.0.1"
+
+htmlparser2@^3.9.1:
+ version "3.9.2"
+ resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338"
+ dependencies:
+ domelementtype "^1.3.0"
+ domhandler "^2.3.0"
+ domutils "^1.5.1"
+ entities "^1.1.1"
+ inherits "^2.0.1"
+ readable-stream "^2.0.2"
+
http-errors@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.3.1.tgz#197e22cdebd4198585e8694ef6786197b91ed942"
@@ -1998,14 +2446,14 @@ iconv-lite@0.4.13:
version "0.4.13"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.13.tgz#1f88aba4ab0b1508e8312acc39345f36e992e2f2"
+iconv-lite@0.4.19, iconv-lite@^0.4.8:
+ version "0.4.19"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
+
iconv-lite@^0.4.17, iconv-lite@~0.4.13:
version "0.4.18"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2"
-iconv-lite@^0.4.8:
- version "0.4.19"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b"
-
ieee754@^1.1.4:
version "1.1.8"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
@@ -2029,7 +2477,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -2056,7 +2504,7 @@ inquirer@^3.0.6:
strip-ansi "^4.0.0"
through "^2.3.6"
-invariant@^2.2.0:
+invariant@^2.2.0, invariant@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
dependencies:
@@ -2080,6 +2528,20 @@ is-builtin-module@^1.0.0:
dependencies:
builtin-modules "^1.0.0"
+is-callable@^1.1.1, is-callable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2"
+
+is-ci@^1.0.10:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.0.10.tgz#f739336b2632365061a9d48270cd56ae3369318e"
+ dependencies:
+ ci-info "^1.0.0"
+
+is-date-object@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16"
+
is-dotfile@^1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
@@ -2170,6 +2632,12 @@ is-promise@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+is-regex@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491"
+ dependencies:
+ has "^1.0.1"
+
is-resolvable@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.0.tgz#8df57c61ea2e3c501408d100fb013cf8d6e0cc62"
@@ -2180,10 +2648,22 @@ is-stream@^1.0.1, is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+is-subset@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6"
+
+is-symbol@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572"
+
is-typedarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+
isarray@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
@@ -2217,6 +2697,134 @@ isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+istanbul-api@^1.1.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.2.1.tgz#0c60a0515eb11c7d65c6b50bba2c6e999acd8620"
+ 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"
+ js-yaml "^3.7.0"
+ mkdirp "^0.5.1"
+ once "^1.4.0"
+
+istanbul-lib-coverage@^1.0.1, 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-hook@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.1.0.tgz#8538d970372cb3716d53e55523dd54b557a8d89b"
+ dependencies:
+ append-transform "^0.4.0"
+
+istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.5, 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"
+ 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"
+ 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"
+ dependencies:
+ istanbul-lib-coverage "^1.1.1"
+ mkdirp "^0.5.1"
+ path-parse "^1.0.5"
+ supports-color "^3.1.2"
+
+istanbul-lib-source-maps@^1.1.0, 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"
+ dependencies:
+ debug "^3.1.0"
+ istanbul-lib-coverage "^1.1.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"
+ dependencies:
+ handlebars "^4.0.3"
+
+jest-changed-files@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-21.2.0.tgz#5dbeecad42f5d88b482334902ce1cba6d9798d29"
+ dependencies:
+ throat "^4.0.0"
+
+jest-cli@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-21.2.1.tgz#9c528b6629d651911138d228bdb033c157ec8c00"
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.1"
+ glob "^7.1.2"
+ graceful-fs "^4.1.11"
+ is-ci "^1.0.10"
+ istanbul-api "^1.1.1"
+ istanbul-lib-coverage "^1.0.1"
+ istanbul-lib-instrument "^1.4.2"
+ istanbul-lib-source-maps "^1.1.0"
+ jest-changed-files "^21.2.0"
+ jest-config "^21.2.1"
+ jest-environment-jsdom "^21.2.1"
+ jest-haste-map "^21.2.0"
+ jest-message-util "^21.2.1"
+ jest-regex-util "^21.2.0"
+ jest-resolve-dependencies "^21.2.0"
+ jest-runner "^21.2.1"
+ jest-runtime "^21.2.1"
+ jest-snapshot "^21.2.1"
+ jest-util "^21.2.1"
+ micromatch "^2.3.11"
+ node-notifier "^5.0.2"
+ pify "^3.0.0"
+ slash "^1.0.0"
+ string-length "^2.0.0"
+ strip-ansi "^4.0.0"
+ which "^1.2.12"
+ worker-farm "^1.3.1"
+ yargs "^9.0.0"
+
+jest-config@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-21.2.1.tgz#c7586c79ead0bcc1f38c401e55f964f13bf2a480"
+ dependencies:
+ chalk "^2.0.1"
+ glob "^7.1.1"
+ jest-environment-jsdom "^21.2.1"
+ jest-environment-node "^21.2.1"
+ jest-get-type "^21.2.0"
+ jest-jasmine2 "^21.2.1"
+ jest-regex-util "^21.2.0"
+ jest-resolve "^21.2.0"
+ jest-util "^21.2.1"
+ jest-validate "^21.2.1"
+ pretty-format "^21.2.1"
+
+jest-diff@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-21.2.1.tgz#46cccb6cab2d02ce98bc314011764bb95b065b4f"
+ dependencies:
+ chalk "^2.0.1"
+ diff "^3.2.0"
+ jest-get-type "^21.2.0"
+ pretty-format "^21.2.1"
+
jest-docblock@^20.0.1:
version "20.0.3"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712"
@@ -2225,7 +2833,26 @@ jest-docblock@^21, jest-docblock@^21.2.0:
version "21.2.0"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-21.2.0.tgz#51529c3b30d5fd159da60c27ceedc195faf8d414"
-jest-haste-map@^21:
+jest-environment-jsdom@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-21.2.1.tgz#38d9980c8259b2a608ec232deee6289a60d9d5b4"
+ dependencies:
+ jest-mock "^21.2.0"
+ jest-util "^21.2.1"
+ jsdom "^9.12.0"
+
+jest-environment-node@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-21.2.1.tgz#98c67df5663c7fbe20f6e792ac2272c740d3b8c8"
+ dependencies:
+ jest-mock "^21.2.0"
+ jest-util "^21.2.1"
+
+jest-get-type@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-21.2.0.tgz#f6376ab9db4b60d81e39f30749c6c466f40d4a23"
+
+jest-haste-map@^21, jest-haste-map@^21.2.0:
version "21.2.0"
resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-21.2.0.tgz#1363f0a8bb4338f24f001806571eff7a4b2ff3d8"
dependencies:
@@ -2236,10 +2863,143 @@ jest-haste-map@^21:
sane "^2.0.0"
worker-farm "^1.3.1"
-js-tokens@^3.0.0:
+jest-jasmine2@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-21.2.1.tgz#9cc6fc108accfa97efebce10c4308548a4ea7592"
+ dependencies:
+ chalk "^2.0.1"
+ expect "^21.2.1"
+ graceful-fs "^4.1.11"
+ jest-diff "^21.2.1"
+ jest-matcher-utils "^21.2.1"
+ jest-message-util "^21.2.1"
+ jest-snapshot "^21.2.1"
+ p-cancelable "^0.3.0"
+
+jest-matcher-utils@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-21.2.1.tgz#72c826eaba41a093ac2b4565f865eb8475de0f64"
+ dependencies:
+ chalk "^2.0.1"
+ jest-get-type "^21.2.0"
+ pretty-format "^21.2.1"
+
+jest-message-util@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-21.2.1.tgz#bfe5d4692c84c827d1dcf41823795558f0a1acbe"
+ dependencies:
+ chalk "^2.0.1"
+ micromatch "^2.3.11"
+ slash "^1.0.0"
+
+jest-mock@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-21.2.0.tgz#7eb0770e7317968165f61ea2a7281131534b3c0f"
+
+jest-regex-util@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-21.2.0.tgz#1b1e33e63143babc3e0f2e6c9b5ba1eb34b2d530"
+
+jest-resolve-dependencies@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-21.2.0.tgz#9e231e371e1a736a1ad4e4b9a843bc72bfe03d09"
+ dependencies:
+ jest-regex-util "^21.2.0"
+
+jest-resolve@^21.2.0:
+ version "21.2.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-21.2.0.tgz#068913ad2ba6a20218e5fd32471f3874005de3a6"
+ dependencies:
+ browser-resolve "^1.11.2"
+ chalk "^2.0.1"
+ is-builtin-module "^1.0.0"
+
+jest-runner@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-21.2.1.tgz#194732e3e518bfb3d7cbfc0fd5871246c7e1a467"
+ dependencies:
+ jest-config "^21.2.1"
+ jest-docblock "^21.2.0"
+ jest-haste-map "^21.2.0"
+ jest-jasmine2 "^21.2.1"
+ jest-message-util "^21.2.1"
+ jest-runtime "^21.2.1"
+ jest-util "^21.2.1"
+ pify "^3.0.0"
+ throat "^4.0.0"
+ worker-farm "^1.3.1"
+
+jest-runtime@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-21.2.1.tgz#99dce15309c670442eee2ebe1ff53a3cbdbbb73e"
+ dependencies:
+ babel-core "^6.0.0"
+ babel-jest "^21.2.0"
+ babel-plugin-istanbul "^4.0.0"
+ chalk "^2.0.1"
+ convert-source-map "^1.4.0"
+ graceful-fs "^4.1.11"
+ jest-config "^21.2.1"
+ jest-haste-map "^21.2.0"
+ jest-regex-util "^21.2.0"
+ jest-resolve "^21.2.0"
+ jest-util "^21.2.1"
+ json-stable-stringify "^1.0.1"
+ micromatch "^2.3.11"
+ slash "^1.0.0"
+ strip-bom "3.0.0"
+ write-file-atomic "^2.1.0"
+ yargs "^9.0.0"
+
+jest-snapshot@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-21.2.1.tgz#29e49f16202416e47343e757e5eff948c07fd7b0"
+ dependencies:
+ chalk "^2.0.1"
+ jest-diff "^21.2.1"
+ jest-matcher-utils "^21.2.1"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ pretty-format "^21.2.1"
+
+jest-util@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-21.2.1.tgz#a274b2f726b0897494d694a6c3d6a61ab819bb78"
+ dependencies:
+ callsites "^2.0.0"
+ chalk "^2.0.1"
+ graceful-fs "^4.1.11"
+ jest-message-util "^21.2.1"
+ jest-mock "^21.2.0"
+ jest-validate "^21.2.1"
+ mkdirp "^0.5.1"
+
+jest-validate@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-21.2.1.tgz#cc0cbca653cd54937ba4f2a111796774530dd3c7"
+ dependencies:
+ chalk "^2.0.1"
+ jest-get-type "^21.2.0"
+ leven "^2.1.0"
+ pretty-format "^21.2.1"
+
+jest@21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-21.2.1.tgz#c964e0b47383768a1438e3ccf3c3d470327604e1"
+ dependencies:
+ jest-cli "^21.2.1"
+
+js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+js-yaml@^3.7.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
js-yaml@^3.8.4:
version "3.9.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.9.0.tgz#4ffbbf25c2ac963b8299dc74da7e3740de1c18ce"
@@ -2255,6 +3015,30 @@ jschardet@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-1.4.2.tgz#2aa107f142af4121d145659d44f50830961e699a"
+jsdom@^9.12.0:
+ version "9.12.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4"
+ dependencies:
+ abab "^1.0.3"
+ acorn "^4.0.4"
+ acorn-globals "^3.1.0"
+ array-equal "^1.0.0"
+ content-type-parser "^1.0.1"
+ cssom ">= 0.3.2 < 0.4.0"
+ cssstyle ">= 0.2.37 < 0.3.0"
+ escodegen "^1.6.1"
+ html-encoding-sniffer "^1.0.1"
+ nwmatcher ">= 1.3.9 < 2.0.0"
+ parse5 "^1.5.1"
+ request "^2.79.0"
+ sax "^1.2.1"
+ symbol-tree "^3.2.1"
+ tough-cookie "^2.3.2"
+ webidl-conversions "^4.0.0"
+ whatwg-encoding "^1.0.1"
+ whatwg-url "^4.3.0"
+ xml-name-validator "^2.0.1"
+
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
@@ -2285,7 +3069,7 @@ json5@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d"
-json5@^0.5.0:
+json5@^0.5.0, json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
@@ -2330,6 +3114,10 @@ klaw@^1.0.0:
optionalDependencies:
graceful-fs "^4.1.9"
+lazy-cache@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
@@ -2340,6 +3128,10 @@ left-pad@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a"
+leven@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
+
levn@^0.3.0, levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
@@ -2347,6 +3139,16 @@ levn@^0.3.0, levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
load-json-file@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
@@ -2409,6 +3211,10 @@ lodash.escape@^3.0.0:
dependencies:
lodash._root "^3.0.0"
+lodash.flattendeep@^4.4.0:
+ version "4.4.0"
+ resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2"
+
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -2470,6 +3276,10 @@ lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.6, lodash@^4.17.4, l
version "4.17.4"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
+longest@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+
loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
@@ -2698,6 +3508,14 @@ natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+nearley@^2.7.10:
+ version "2.11.0"
+ resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.11.0.tgz#5e626c79a6cd2f6ab9e7e5d5805e7668967757ae"
+ dependencies:
+ nomnom "~1.6.2"
+ railroad-diagrams "^1.0.0"
+ randexp "^0.4.2"
+
negotiator@0.5.3:
version "0.5.3"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.5.3.tgz#269d5c476810ec92edbe7b6c2f28316384f9a7e8"
@@ -2717,7 +3535,7 @@ node-int64@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
-node-notifier@^5.1.2:
+node-notifier@^5.0.2, node-notifier@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff"
dependencies:
@@ -2742,6 +3560,13 @@ node-pre-gyp@^0.6.39:
tar "^2.2.1"
tar-pack "^3.4.0"
+nomnom@~1.6.2:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/nomnom/-/nomnom-1.6.2.tgz#84a66a260174408fc5b77a18f888eccc44fb6971"
+ dependencies:
+ colors "0.5.x"
+ underscore "~1.4.4"
+
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
@@ -2787,10 +3612,20 @@ npmlog@^4.0.2:
gauge "~2.7.3"
set-blocking "~2.0.0"
+nth-check@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4"
+ dependencies:
+ boolbase "~1.0.0"
+
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+"nwmatcher@>= 1.3.9 < 2.0.0":
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/nwmatcher/-/nwmatcher-1.4.3.tgz#64348e3b3d80f035b40ac11563d278f8b72db89c"
+
oauth-sign@~0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@@ -2803,6 +3638,31 @@ object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+object-is@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.0.1.tgz#0aa60ec9989a0b3ed795cf4d06f62cf1ad6539b6"
+
+object-keys@^1.0.10, object-keys@^1.0.8:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+
+object.assign@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.0.4.tgz#b1c9cc044ef1b9fe63606fc141abbb32e14730cc"
+ dependencies:
+ define-properties "^1.1.2"
+ function-bind "^1.1.0"
+ object-keys "^1.0.10"
+
+object.entries@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.0.4.tgz#1bf9a4dd2288f5b33f3a993d257661f05d161a5f"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.6.1"
+ function-bind "^1.1.0"
+ has "^1.0.1"
+
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@@ -2810,6 +3670,15 @@ object.omit@^2.0.0:
for-own "^0.1.4"
is-extendable "^0.1.1"
+object.values@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.6.1"
+ function-bind "^1.1.0"
+ has "^1.0.1"
+
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
@@ -2820,7 +3689,7 @@ on-headers@~1.0.0, on-headers@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
-once@^1.3.0, once@^1.3.3:
+once@^1.3.0, once@^1.3.3, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
@@ -2845,7 +3714,7 @@ optimist@^0.6.1:
minimist "~0.0.1"
wordwrap "~0.0.2"
-optionator@^0.8.2:
+optionator@^0.8.1, optionator@^0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
dependencies:
@@ -2890,6 +3759,10 @@ osenv@^0.1.4:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
+p-cancelable@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa"
+
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
@@ -2919,6 +3792,16 @@ parse-json@^2.2.0:
dependencies:
error-ex "^1.2.0"
+parse5@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
+
+parse5@^3.0.1:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-3.0.3.tgz#042f792ffdd36851551cf4e9e066b3874ab45b5c"
+ dependencies:
+ "@types/node" "*"
+
parseurl@~1.3.0, parseurl@~1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
@@ -2933,7 +3816,7 @@ path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-path-is-absolute@^1.0.0:
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
@@ -2949,6 +3832,14 @@ path-parse@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
path-type@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
@@ -2967,10 +3858,18 @@ performance-now@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+
pinkie-promise@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
@@ -3024,6 +3923,13 @@ prettier@^1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.9.1.tgz#41638a0d47c1efbd1b7d5a742aaa5548eab86d70"
+pretty-format@^21.2.1:
+ version "21.2.1"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-21.2.1.tgz#ae5407f3cf21066cd011aa1ba5fce7b6a2eddb36"
+ dependencies:
+ ansi-regex "^3.0.0"
+ ansi-styles "^3.2.0"
+
pretty-format@^4.2.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-4.3.1.tgz#530be5c42b3c05b36414a7a2a4337aa80acd0e8d"
@@ -3032,6 +3938,10 @@ private@^0.1.6:
version "0.1.7"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.7.tgz#68ce5e8a1ef0a23bb570cc28537b5332aba63ef1"
+private@^0.1.7:
+ version "0.1.8"
+ resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+
process-nextick-args@~1.0.6:
version "1.0.7"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
@@ -3085,6 +3995,23 @@ qs@~6.4.0:
version "6.4.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+raf@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.0.tgz#a28876881b4bc2ca9117d4138163ddb80f781575"
+ dependencies:
+ performance-now "^2.1.0"
+
+railroad-diagrams@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz#eb7e6267548ddedfb899c1b90e57374559cddb7e"
+
+randexp@^0.4.2:
+ version "0.4.6"
+ resolved "https://registry.yarnpkg.com/randexp/-/randexp-0.4.6.tgz#e986ad5e5e31dae13ddd6f7b3019aa7c87f60ca3"
+ dependencies:
+ discontinuous-range "1.0.0"
+ ret "~0.1.10"
+
random-bytes@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/random-bytes/-/random-bytes-1.0.0.tgz#4f68a1dc0ae58bd3fb95848c30324db75d64360b"
@@ -3132,6 +4059,15 @@ react-devtools-core@^2.5.0:
shell-quote "^1.6.1"
ws "^2.0.3"
+react-dom@^16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044"
+ dependencies:
+ fbjs "^0.8.16"
+ loose-envify "^1.1.0"
+ object-assign "^4.1.1"
+ prop-types "^15.6.0"
+
react-native@^0.51.0:
version "0.51.0"
resolved "https://registry.yarnpkg.com/react-native/-/react-native-0.51.0.tgz#fe25934b3030fd323f3ca1a70f034133465955ed"
@@ -3197,6 +4133,14 @@ react-proxy@^1.1.7:
lodash "^4.6.1"
react-deep-force-update "^1.0.0"
+react-test-renderer@^16.0.0-0, react-test-renderer@^16.2.0:
+ version "16.2.0"
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.2.0.tgz#bddf259a6b8fcd8555f012afc8eacc238872a211"
+ dependencies:
+ fbjs "^0.8.16"
+ object-assign "^4.1.1"
+ prop-types "^15.6.0"
+
react-timer-mixin@^0.13.2:
version "0.13.3"
resolved "https://registry.yarnpkg.com/react-timer-mixin/-/react-timer-mixin-0.13.3.tgz#0da8b9f807ec07dc3e854d082c737c65605b3d22"
@@ -3217,6 +4161,13 @@ react@16.0.0:
object-assign "^4.1.1"
prop-types "^15.6.0"
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
read-pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
@@ -3224,6 +4175,14 @@ read-pkg-up@^2.0.0:
find-up "^2.0.0"
read-pkg "^2.0.0"
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
read-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
@@ -3232,7 +4191,7 @@ read-pkg@^2.0.0:
normalize-package-data "^2.3.2"
path-type "^2.0.0"
-readable-stream@^2.0.1, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2:
+readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2:
version "2.3.3"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
dependencies:
@@ -3366,6 +4325,10 @@ resolve-from@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+resolve@1.1.7:
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+
resolve@^1.2.0:
version "1.3.3"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5"
@@ -3386,6 +4349,16 @@ restore-cursor@^2.0.0:
onetime "^2.0.0"
signal-exit "^3.0.2"
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+
+right-align@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ dependencies:
+ align-text "^0.1.1"
+
rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
@@ -3406,6 +4379,13 @@ rndm@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/rndm/-/rndm-1.2.0.tgz#f33fe9cfb52bbfd520aa18323bc65db110a1b76c"
+rst-selector-parser@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/rst-selector-parser/-/rst-selector-parser-2.2.3.tgz#81b230ea2fcc6066c89e3472de794285d9b03d91"
+ dependencies:
+ lodash.flattendeep "^4.4.0"
+ nearley "^2.7.10"
+
run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
@@ -3444,6 +4424,10 @@ sane@^2.0.0:
optionalDependencies:
fsevents "^1.1.1"
+sax@^1.2.1:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+
sax@~1.1.1:
version "1.1.6"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.1.6.tgz#5d616be8a5e607d54e114afae55b7eaf2fcc3240"
@@ -3563,16 +4547,32 @@ sntp@1.x.x:
dependencies:
hoek "2.x.x"
+source-map-support@^0.4.15:
+ version "0.4.18"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ dependencies:
+ source-map "^0.5.6"
+
source-map-support@^0.4.2:
version "0.4.15"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1"
dependencies:
source-map "^0.5.6"
+source-map@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
+ dependencies:
+ amdefine ">=0.0.4"
+
source-map@^0.5.0, source-map@^0.5.6:
version "0.5.6"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
+source-map@^0.5.3, source-map@~0.5.1, source-map@~0.5.6:
+ version "0.5.7"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+
source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
@@ -3635,6 +4635,13 @@ stream-counter@~0.2.0:
dependencies:
readable-stream "~1.1.8"
+string-length@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
+ dependencies:
+ astral-regex "^1.0.0"
+ strip-ansi "^4.0.0"
+
string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
@@ -3676,10 +4683,16 @@ strip-ansi@^4.0.0:
dependencies:
ansi-regex "^3.0.0"
-strip-bom@^3.0.0:
+strip-bom@3.0.0, strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ dependencies:
+ is-utf8 "^0.2.0"
+
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
@@ -3688,9 +4701,9 @@ strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-styled-components@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.1.1.tgz#7e9b5bc319ee3963b47aebb74f4658119ea9d484"
+styled-components@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-2.3.0.tgz#d9cf4574e140fea6426e48632ed0ca4494537718"
dependencies:
buffer "^5.0.3"
css-to-react-native "^2.0.3"
@@ -3699,18 +4712,18 @@ styled-components@^2.1.1:
is-function "^1.0.1"
is-plain-object "^2.0.1"
prop-types "^15.5.4"
- stylis "^3.2.1"
+ stylis "^3.4.0"
supports-color "^3.2.3"
-stylis@^3.2.1:
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.2.3.tgz#fed751d792af3f48a247769f55aca05c1a100a09"
+stylis@^3.4.0:
+ version "3.4.5"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.4.5.tgz#d7b9595fc18e7b9c8775eca8270a9a1d3e59806e"
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-supports-color@^3.2.3:
+supports-color@^3.1.2, supports-color@^3.2.3:
version "3.2.3"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
dependencies:
@@ -3722,6 +4735,10 @@ supports-color@^4.0.0:
dependencies:
has-flag "^2.0.0"
+symbol-tree@^3.2.1:
+ version "3.2.2"
+ resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
+
sync-exec@~0.6.x:
version "0.6.2"
resolved "https://registry.yarnpkg.com/sync-exec/-/sync-exec-0.6.2.tgz#717d22cc53f0ce1def5594362f3a89a2ebb91105"
@@ -3765,11 +4782,21 @@ 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"
+ dependencies:
+ arrify "^1.0.1"
+ micromatch "^2.3.11"
+ object-assign "^4.1.0"
+ read-pkg-up "^1.0.1"
+ require-main-filename "^1.0.1"
+
text-table@~0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-throat@^4.1.0:
+throat@^4.0.0, throat@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
@@ -3802,12 +4829,22 @@ to-fast-properties@^1.0.1, to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+tough-cookie@^2.3.2:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561"
+ dependencies:
+ punycode "^1.4.1"
+
tough-cookie@~2.3.0:
version "2.3.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
dependencies:
punycode "^1.4.1"
+tr46@~0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
@@ -3858,6 +4895,19 @@ uglify-es@^3.1.8:
commander "~2.12.1"
source-map "~0.6.1"
+uglify-js@^2.6:
+ version "2.8.29"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ dependencies:
+ source-map "~0.5.1"
+ yargs "~3.10.0"
+ optionalDependencies:
+ uglify-to-browserify "~1.0.0"
+
+uglify-to-browserify@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+
uid-number@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
@@ -3882,6 +4932,10 @@ ultron@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864"
+underscore@~1.4.4:
+ version "1.4.4"
+ resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.4.4.tgz#61a6a32010622afa07963bf325203cf12239d604"
+
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
@@ -3948,6 +5002,20 @@ watch@~0.18.0:
exec-sh "^0.2.0"
minimist "^1.2.0"
+webidl-conversions@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+
+webidl-conversions@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+
+whatwg-encoding@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.3.tgz#57c235bc8657e914d24e1a397d3c82daee0a6ba3"
+ dependencies:
+ iconv-lite "0.4.19"
+
whatwg-fetch@>=0.10.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
@@ -3956,6 +5024,13 @@ whatwg-fetch@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.1.1.tgz#ac3c9d39f320c6dce5339969d054ef43dd333319"
+whatwg-url@^4.3.0:
+ version "4.8.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0"
+ dependencies:
+ tr46 "~0.0.3"
+ webidl-conversions "^3.0.0"
+
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
@@ -3984,6 +5059,14 @@ win-release@^1.0.0:
dependencies:
semver "^5.0.1"
+window-size@0.1.0:
+ version "0.1.0"
+ resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+
+wordwrap@0.0.2:
+ version "0.0.2"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+
wordwrap@^1.0.0, wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
@@ -4018,6 +5101,14 @@ write-file-atomic@^1.2.0:
imurmurhash "^0.1.4"
slide "^1.1.5"
+write-file-atomic@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.3.0.tgz#1ff61575c2e2a4e8e510d6fa4e243cce183999ab"
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
write@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
@@ -4046,6 +5137,10 @@ xcode@^0.9.1:
simple-plist "^0.2.1"
uuid "3.0.1"
+xml-name-validator@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-2.0.1.tgz#4d8b8f1eccd3419aa362061becef515e1e559635"
+
xmlbuilder@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-4.0.0.tgz#98b8f651ca30aa624036f127d11cc66dc7b907a3"
@@ -4105,3 +5200,12 @@ yargs@^9.0.0:
which-module "^2.0.0"
y18n "^3.2.1"
yargs-parser "^7.0.0"
+
+yargs@~3.10.0:
+ version "3.10.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ dependencies:
+ camelcase "^1.0.2"
+ cliui "^2.1.0"
+ decamelize "^1.0.0"
+ window-size "0.1.0"