diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index c19affe1..00000000
--- a/.babelrc
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "env": {
- "testing": {
- "presets":[
- ["env", { "modules": false }],
- "react"
- ],
- "plugins": [
- "transform-es2015-modules-commonjs",
- "transform-object-rest-spread"
- ]
- }
- }
-}
diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 958cf535..00000000
--- a/.eslintignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/coverage/
-/dist/
-/node_modules/
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index 4af3bee8..00000000
--- a/.eslintrc
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "extends": "react-app",
- "env": {
- "jest": true
- }
-}
diff --git a/.gitignore b/.gitignore
index d30f40ef..5dcb2856 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,7 +15,9 @@
.env.development.local
.env.test.local
.env.production.local
+.env
npm-debug.log*
yarn-debug.log*
yarn-error.log*
+.vscode/
diff --git a/images.d.ts b/images.d.ts
new file mode 100644
index 00000000..289fc650
--- /dev/null
+++ b/images.d.ts
@@ -0,0 +1,5 @@
+declare module '*.svg'
+declare module '*.png'
+declare module '*.jpg'
+
+declare module '*.json'
\ No newline at end of file
diff --git a/package.json b/package.json
index 79558901..31b32a00 100644
--- a/package.json
+++ b/package.json
@@ -3,14 +3,26 @@
"version": "0.1.0",
"private": true,
"dependencies": {
- "react": "^16.2.0",
- "react-dom": "^16.2.0",
- "react-scripts": "1.1.1"
+ "@types/react-redux": "^6.0.3",
+ "@types/redux-actions": "^2.3.0",
+ "axios": "^0.18.0",
+ "react": "^16.4.1",
+ "react-dom": "^16.4.1",
+ "react-redux": "^5.0.7",
+ "react-router-dom": "^4.3.1",
+ "react-scripts-ts": "2.16.0",
+ "redux": "^4.0.0",
+ "redux-actions": "^2.4.0",
+ "redux-saga": "^0.16.0",
+ "styled-components": "^3.3.3"
},
"jest": {
"collectCoverageFrom": [
- "**/src/**/*.{js,jsx}",
- "!**/src/registerServiceWorker.{js,jsx}"
+ "**/src/**/*.{ts,tsx}",
+ "!**/src/registerServiceWorker.{ts,tsx}",
+ "!**/src/setupTests.{js,ts}",
+ "!**/src/index.tsx",
+ "!**/src/**/*.d.{ts,tsx}"
],
"coverageThreshold": {
"global": {
@@ -22,15 +34,37 @@
}
},
"scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "eject": "react-scripts eject",
- "lint": "eslint ./",
+ "start": "react-scripts-ts start",
+ "build": "react-scripts-ts build",
"test": "yarn lint && yarn jest",
- "jest": "react-scripts test --env=jsdom --coverage"
+ "eject": "react-scripts-ts eject",
+ "lint": "tslint -p tsconfig.json -c tslint.json",
+ "jest": "react-scripts-ts test --env=jsdom --watchAll --coverage"
},
"devDependencies": {
+ "@types/babel-core": "^6.25.5",
+ "@types/enzyme": "^3.1.11",
+ "@types/enzyme-adapter-react-16": "^1.0.2",
+ "@types/jest": "^23.1.5",
+ "@types/node": "^10.5.2",
+ "@types/react": "^16.4.6",
+ "@types/react-dom": "^16.0.6",
+ "@types/react-router-dom": "^4.2.7",
+ "@types/react-test-renderer": "^16.0.1",
+ "@types/redux-mock-store": "^1.0.0",
"enzyme": "^3.3.0",
- "enzyme-adapter-react-16": "^1.1.1"
+ "enzyme-adapter-react-16": "^1.1.1",
+ "enzyme-to-json": "^3.3.4",
+ "jest": "^23.4.0",
+ "jest-enzyme": "^6.0.2",
+ "jest-styled-components": "^5.0.1",
+ "react-test-renderer": "^16.4.1",
+ "redux-devtools-extension": "^2.13.5",
+ "redux-mock-store": "^1.5.3",
+ "ts-jest": "^22.4.6",
+ "typescript": "^2.9.2"
+ },
+ "resolutions": {
+ "jest": "^23.4.0"
}
}
diff --git a/src/App.css b/src/App.css
deleted file mode 100644
index c5c6e8a6..00000000
--- a/src/App.css
+++ /dev/null
@@ -1,28 +0,0 @@
-.App {
- text-align: center;
-}
-
-.App-logo {
- animation: App-logo-spin infinite 20s linear;
- height: 80px;
-}
-
-.App-header {
- background-color: #222;
- height: 150px;
- padding: 20px;
- color: white;
-}
-
-.App-title {
- font-size: 1.5em;
-}
-
-.App-intro {
- font-size: large;
-}
-
-@keyframes App-logo-spin {
- from { transform: rotate(0deg); }
- to { transform: rotate(360deg); }
-}
diff --git a/src/App.js b/src/App.js
deleted file mode 100644
index 203067e4..00000000
--- a/src/App.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import React, { Component } from 'react';
-import logo from './logo.svg';
-import './App.css';
-
-class App extends Component {
- render() {
- return (
-
-
-
- Welcome to React
-
-
- To get started, edit src/App.js
and save to reload.
-
-
- );
- }
-}
-
-export default App;
diff --git a/src/App.style.ts b/src/App.style.ts
new file mode 100644
index 00000000..f41abcdf
--- /dev/null
+++ b/src/App.style.ts
@@ -0,0 +1 @@
+import './styles/App.global'
\ No newline at end of file
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 00000000..0207857e
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,33 @@
+import * as React from 'react';
+import {BrowserRouter as Router} from 'react-router-dom';
+import { Switch, Route, Redirect } from 'react-router-dom';
+import { Provider} from 'react-redux';
+
+import store from './store';
+import ROUTES from './routes';
+import Header from './components/presentational/Header';
+import { Container } from './components/presentational/Layout';
+
+import './App.style'
+
+class App extends React.Component {
+ public render() {
+ return (
+
+
+
+
+
+
+ {ROUTES.map(({path, component, exact}) =>
+ )}
+
+
+
+
+
+
+ );
+ }
+}
+export default App;
diff --git a/src/actions/gifs.ts b/src/actions/gifs.ts
new file mode 100644
index 00000000..3be14c39
--- /dev/null
+++ b/src/actions/gifs.ts
@@ -0,0 +1,21 @@
+import { createAction } from 'redux-actions'
+
+export const FETCH_TRENDING = 'FETCH_TRENDING';
+export const FETCHED_TRENDING = 'FETCHED_TRENDING';
+
+export const ADD_FAVORITE = 'ADD_FAVORITE';
+export const REMOVE_FAVORITE = 'REMOVE_FAVORITE'
+export const TOGGLE_FAVORITE = 'TOGGLE_FAVORITE';
+
+export const SEARCH_TRENDING = 'SEARCH_TRENDING';
+
+export const FILTER_FAVS = 'FILTER_FAVS';
+
+export const fetch_gifs = createAction(FETCH_TRENDING);
+export const fetched_gifs = createAction(FETCHED_TRENDING);
+
+export const toggle_favorite = createAction(TOGGLE_FAVORITE, (payload: any) => payload);
+
+export const search_trending = createAction(SEARCH_TRENDING, (payload: any) => payload);
+
+export const filter_favs = createAction(FILTER_FAVS, (payload: any) => payload);
\ No newline at end of file
diff --git a/src/api.ts b/src/api.ts
new file mode 100644
index 00000000..af671002
--- /dev/null
+++ b/src/api.ts
@@ -0,0 +1,22 @@
+import axios from 'axios';
+
+const API_URL = "https://api.giphy.com/v1/gifs";
+const API_KEY = process.env.REACT_APP_GIPHY_KEY;
+
+const API = axios.create({ baseURL: API_URL, params: { api_key: API_KEY } });
+
+export function getTrending() {
+ return API.get('/trending');
+}
+
+export function search(query: string) {
+ return API.get('/search', {
+ params: {
+ q: query,
+ limit: 25,
+ offset: 0,
+ rating: 'G',
+ lang: 'en'
+ }
+ });
+}
\ No newline at end of file
diff --git a/src/components/AppNav.style.ts b/src/components/AppNav.style.ts
new file mode 100644
index 00000000..9a92e70a
--- /dev/null
+++ b/src/components/AppNav.style.ts
@@ -0,0 +1,29 @@
+import styled from 'styled-components';
+import { NavLink as RouterNavLink } from 'react-router-dom';
+
+export const StyledNav = styled.nav`
+ border-bottom: 1px solid #FC4349;
+ margin-bottom: 1em;
+ color: #6DBCDB;
+ font-weight: bold;
+
+ ul {
+ display: flex;
+ justify-content: space-around;
+ text-align: center;
+ align-items: center;
+ height: 3.5em;
+ }
+
+ li { flex: 1; }
+
+ a {
+ text-decoration: none;
+ color: inherit;
+ padding: 1em;
+ }
+`;
+
+export const NavLink = styled(RouterNavLink)`
+ &.active { color: #FC4349; }
+`
diff --git a/src/components/AppNav.tsx b/src/components/AppNav.tsx
new file mode 100644
index 00000000..c2baa1d6
--- /dev/null
+++ b/src/components/AppNav.tsx
@@ -0,0 +1,21 @@
+import * as React from 'react';
+import ROUTES from '../routes';
+import Search from './Search';
+
+import { StyledNav, NavLink } from './AppNav.style'
+
+const LINKS = ROUTES.map(({path, content}) =>
+ {content});
+
+class AppNav extends React.Component {
+ public render() {
+ return (
+
+ );
+ }
+}
+
+export default AppNav;
diff --git a/src/components/FavsSearch.tsx b/src/components/FavsSearch.tsx
new file mode 100644
index 00000000..87886ce7
--- /dev/null
+++ b/src/components/FavsSearch.tsx
@@ -0,0 +1,26 @@
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { Dispatch, bindActionCreators } from 'redux';
+
+import { filter_favs as filter_favs_action } from '../actions/gifs';
+import { SearchInput } from './Search.style';
+
+class FavsSearch extends React.Component {
+ public onSearch = (event: React.ChangeEvent) => {
+ const term = event.target.value;
+ return this.props.filter_favs(term);
+ }
+
+ public render() {
+ return ;
+ }
+}
+
+function mapDispatchToProps(dispatch: Dispatch) {
+ return bindActionCreators({
+ filter_favs: filter_favs_action,
+ }, dispatch);
+}
+export default connect(null, mapDispatchToProps)(FavsSearch);
\ No newline at end of file
diff --git a/src/components/FavsView.style.ts b/src/components/FavsView.style.ts
new file mode 100644
index 00000000..3c77a1bf
--- /dev/null
+++ b/src/components/FavsView.style.ts
@@ -0,0 +1,7 @@
+import styled from 'styled-components';
+
+export const _div_search = styled.div`
+ width: 100%;
+ max-width: 320px;
+ margin: 0 auto;
+`;
diff --git a/src/components/FavsView.tsx b/src/components/FavsView.tsx
new file mode 100644
index 00000000..ac50f89b
--- /dev/null
+++ b/src/components/FavsView.tsx
@@ -0,0 +1,36 @@
+import * as React from 'react';
+import { IGIF } from '../types';
+import GIFList from './presentational/GIFList';
+import {connect} from 'react-redux';
+import { Dispatch, bindActionCreators } from 'redux';
+import FavsSearch from './FavsSearch';
+
+import { _div_search } from './FavsView.style'
+
+interface IFavsViewProps {
+ gifs: IGIF[]
+}
+
+export const FavsView = (props: IFavsViewProps) => {
+ return (
+
Your favorite GIFS
+ <_div_search>
+
+
+
+ );
+}
+
+function filterFavs(favs: object, query: string) {
+ const gifs = Object.keys(favs).map(key => favs[key]);
+
+ // Don't filter if there is no query term
+ if (!query || query.length === 0) return gifs;
+
+ return gifs.filter((gif: IGIF) => gif.title.includes(query));
+}
+
+function mapStateToProps(state: any) {
+ return { gifs: filterFavs(state.favs, state.filter_favs) }
+}
+export default connect(mapStateToProps)(FavsView);
\ No newline at end of file
diff --git a/src/components/HomeView.tsx b/src/components/HomeView.tsx
new file mode 100644
index 00000000..9006586a
--- /dev/null
+++ b/src/components/HomeView.tsx
@@ -0,0 +1,34 @@
+import * as React from 'react';
+import {connect} from 'react-redux';
+import { fetch_gifs } from '../actions/gifs';
+import { bindActionCreators, ActionCreator, Dispatch } from 'redux';
+
+import GIFList from './presentational/GIFList';
+import { IGIF } from '../types';
+
+interface IHomeViewProps {
+ fetch_gifs: ActionCreator
+ gifs: IGIF[]
+}
+
+class HomeView extends React.Component {
+ public componentDidMount() {
+ this.props.fetch_gifs();
+ }
+ public render() {
+ return (
+
Trending GIFS
+
+ );
+ }
+}
+
+function mapStateToProps(state: any) {
+ return { gifs: state.trending }
+}
+function mapDispatchToProps(dispatch: Dispatch) {
+ return bindActionCreators({
+ fetch_gifs,
+ }, dispatch);
+};
+export default connect(mapStateToProps, mapDispatchToProps)(HomeView);
\ No newline at end of file
diff --git a/src/components/Search.style.ts b/src/components/Search.style.ts
new file mode 100644
index 00000000..e62e6ec0
--- /dev/null
+++ b/src/components/Search.style.ts
@@ -0,0 +1,17 @@
+import styled from 'styled-components';
+
+export const SearchInput = styled.input.attrs({
+ type: 'text',
+ placeholder: "Search..."
+})`
+ width: 100%;
+ padding: 6px;
+ margin: 0 auto;
+ box-shadow: none;
+ color: #333;
+ box-sizing: border-box;
+
+ :focus {
+ outline: none;
+ }
+`
\ No newline at end of file
diff --git a/src/components/Search.tsx b/src/components/Search.tsx
new file mode 100644
index 00000000..56bb174a
--- /dev/null
+++ b/src/components/Search.tsx
@@ -0,0 +1,38 @@
+import * as React from 'react';
+import { connect } from 'react-redux';
+import { Dispatch, bindActionCreators, Store, ActionCreator } from 'redux';
+
+import { search_trending, fetch_gifs as fetch_gifs_action } from '../actions/gifs';
+
+import { SearchInput } from './Search.style';
+
+export class Search extends React.Component {
+ public onSearch = (event: React.ChangeEvent) => {
+ const term = event.target.value;
+ const { search, fetch_gifs } = this.props;
+
+ // Search bar is cleared
+ if (term.length === 0 || !term) return fetch_gifs();
+
+ // Only search with at least 3 chars
+ if (term.length >= 3) return search(term);
+ }
+
+ public render() {
+ const { query } = this.props;
+ return ;
+ }
+}
+function mapStateToProps(state: any) {
+ return { query: state.search }
+}
+function mapDispatchToProps(dispatch: Dispatch) {
+ return bindActionCreators({
+ fetch_gifs: fetch_gifs_action,
+ search: search_trending,
+ }, dispatch);
+}
+
+export default connect(mapStateToProps, mapDispatchToProps)(Search);
\ No newline at end of file
diff --git a/src/components/presentational/FavButton.style.ts b/src/components/presentational/FavButton.style.ts
new file mode 100644
index 00000000..048ecfa0
--- /dev/null
+++ b/src/components/presentational/FavButton.style.ts
@@ -0,0 +1,20 @@
+import styled from "styled-components";
+
+export default styled.button`
+ background: none;
+ height: 32px;
+ font-size: 20px;
+ line-height: 32px;
+ color: ${(props: any) => props.active ? "#FC4349" : "#FFF"};
+ margin: 10px;
+ opacity: 0.7;
+ border: none;
+ width: 32px;
+ border-radius: 50%;
+ /* background-color: rgba(0, 0, 0, 0.5); */
+ transition: opacity 0.25s;
+
+ :hover {
+ opacity: 1.0;
+ }
+`;
diff --git a/src/components/presentational/FavButton.tsx b/src/components/presentational/FavButton.tsx
new file mode 100644
index 00000000..fc7f7b6a
--- /dev/null
+++ b/src/components/presentational/FavButton.tsx
@@ -0,0 +1,13 @@
+import * as React from 'react';
+import FavButtonStyled from './FavButton.style';
+
+interface IFavButtonProps {
+ active?: boolean
+ onAddFavorite?: any
+}
+
+const FavButton = (props: IFavButtonProps) =>
+ ♥;
+
+export default FavButton;
\ No newline at end of file
diff --git a/src/components/presentational/GIFList.style.ts b/src/components/presentational/GIFList.style.ts
new file mode 100644
index 00000000..7ecf3c3b
--- /dev/null
+++ b/src/components/presentational/GIFList.style.ts
@@ -0,0 +1,30 @@
+import styled from 'styled-components';
+
+export const _div = styled.div`
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-around;
+`;
+
+export const _gif_div = styled.div`
+ position: relative;
+ overflow: hidden;
+ display: flex;
+ flex-direction: column;
+ margin: 1em;
+`;
+export const _gif_title = styled.p`
+ position: absolute;
+ top: 0px;
+ min-height: 32px;
+ text-align: center;
+ background-color: rgba(0,0,0, 0.5);
+ color: #FFF;
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+
+ small { padding: 1em; text-align: center; }
+`;
diff --git a/src/components/presentational/GIFList.tsx b/src/components/presentational/GIFList.tsx
new file mode 100644
index 00000000..cda01a19
--- /dev/null
+++ b/src/components/presentational/GIFList.tsx
@@ -0,0 +1,45 @@
+import * as React from 'react';
+import { IGIF, FavsCollection } from '../../types';
+
+import FavButton from './FavButton';
+import { connect } from 'react-redux';
+import { Dispatch, bindActionCreators } from 'redux';
+import { toggle_favorite } from '../../actions/gifs';
+
+import {_div, _gif_div, _gif_title} from './GIFList.style'
+
+interface IGIFListProps {
+ gifs: IGIF[]
+ favs: FavsCollection
+ onToggleFavorite: any
+}
+export const GIFList: React.SFC = (props) => {
+ const { gifs, onToggleFavorite, favs } = props;
+ return (
+ <_div>
+ { gifs && gifs.length > 0 ?
+ gifs.map(gif => {
+ const callback = onToggleFavorite.bind(null, gif);
+ const active = favs[gif.id] !== undefined;
+ return (
+ <_gif_div key={gif.id}>
+ <_gif_title>
+ {gif.title}
+
+
+
+ );
+ })
+ : No GIFs found!
}
+ );
+}
+
+function mapStateToProps(state: any) {
+ return { favs: {...state.favs} }
+}
+function mapDispatchToProps(dispatch: Dispatch) {
+ return bindActionCreators({
+ onToggleFavorite: toggle_favorite
+ }, dispatch);
+}
+export default connect(mapStateToProps, mapDispatchToProps)(GIFList);
\ No newline at end of file
diff --git a/src/components/presentational/Header.tsx b/src/components/presentational/Header.tsx
new file mode 100644
index 00000000..148a1e81
--- /dev/null
+++ b/src/components/presentational/Header.tsx
@@ -0,0 +1,9 @@
+import * as React from 'react';
+import AppNav from '../AppNav';
+import { Container } from './Layout';
+
+const Header = (props: any) => {
+ return ;
+}
+
+export default Header;
\ No newline at end of file
diff --git a/src/components/presentational/Layout.tsx b/src/components/presentational/Layout.tsx
new file mode 100644
index 00000000..1424adad
--- /dev/null
+++ b/src/components/presentational/Layout.tsx
@@ -0,0 +1,14 @@
+import * as React from 'react';
+import styled from 'styled-components';
+
+export const Container = styled.header`
+ width: 100%;
+ max-width: 100vw;
+ margin: 0 auto;
+ padding: 0 20px;
+ display: flex;
+ box-sizing: border-box;
+ flex-direction: column;
+ background-color: #2C3E50;
+ color: #FFF;
+`;
diff --git a/src/index.css b/src/index.css
deleted file mode 100644
index b4cc7250..00000000
--- a/src/index.css
+++ /dev/null
@@ -1,5 +0,0 @@
-body {
- margin: 0;
- padding: 0;
- font-family: sans-serif;
-}
diff --git a/src/index.js b/src/index.js
deleted file mode 100644
index fae3e350..00000000
--- a/src/index.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom';
-import './index.css';
-import App from './App';
-import registerServiceWorker from './registerServiceWorker';
-
-ReactDOM.render(, document.getElementById('root'));
-registerServiceWorker();
diff --git a/src/index.tsx b/src/index.tsx
new file mode 100644
index 00000000..ba162443
--- /dev/null
+++ b/src/index.tsx
@@ -0,0 +1,11 @@
+import * as React from 'react';
+import * as ReactDOM from 'react-dom';
+import App from './App';
+import './normalize.css';
+import registerServiceWorker from './registerServiceWorker';
+
+ReactDOM.render(
+ ,
+ document.getElementById('root') as HTMLElement
+);
+registerServiceWorker();
diff --git a/src/logo.svg b/src/logo.svg
deleted file mode 100644
index 6b60c104..00000000
--- a/src/logo.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
diff --git a/src/middleware/autosave.ts b/src/middleware/autosave.ts
new file mode 100644
index 00000000..f608855c
--- /dev/null
+++ b/src/middleware/autosave.ts
@@ -0,0 +1,12 @@
+import { Store, Action } from "redux";
+
+const autosave = (store: Store) => (next: any) => (action: Action) => {
+ const nextMiddlewares = next(action);
+ const stateAfterReducers = store.getState();
+
+ localStorage.setItem('favs', JSON.stringify(stateAfterReducers.favs));
+
+ return nextMiddlewares;
+ };
+
+ export default autosave;
diff --git a/src/middleware/index.ts b/src/middleware/index.ts
new file mode 100644
index 00000000..6bb0c7ab
--- /dev/null
+++ b/src/middleware/index.ts
@@ -0,0 +1,19 @@
+import { Action, Store, Dispatch } from "redux";
+import { FETCH_TRENDING, fetched_gifs } from '../actions/gifs';
+
+import * as API from '../api';
+
+function fetchGifs(dispatch: Dispatch) {
+ console.log("Fetching GIFs!...");
+ return API.getTrending()
+ .then(({data}) => dispatch(fetched_gifs(data)));
+}
+
+const gifsFetcher = (store: Store) => (next: any) => (action: Action) => {
+ const { type } = action;
+ if (type === FETCH_TRENDING ) fetchGifs(store.dispatch);
+
+ return next(action);
+ };
+
+export default gifsFetcher;
\ No newline at end of file
diff --git a/src/normalize.css b/src/normalize.css
new file mode 100644
index 00000000..9c2a167c
--- /dev/null
+++ b/src/normalize.css
@@ -0,0 +1,427 @@
+/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
+
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * user zoom.
+ */
+
+ html {
+ font-family: sans-serif; /* 1 */
+ -ms-text-size-adjust: 100%; /* 2 */
+ -webkit-text-size-adjust: 100%; /* 2 */
+ }
+
+ /**
+ * Remove default margin.
+ */
+
+ body {
+ margin: 0;
+ }
+
+ /* HTML5 display definitions
+ ========================================================================== */
+
+ /**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+
+ article,
+ aside,
+ details,
+ figcaption,
+ figure,
+ footer,
+ header,
+ hgroup,
+ main,
+ menu,
+ nav,
+ section,
+ summary {
+ display: block;
+ }
+
+ /**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+
+ audio,
+ canvas,
+ progress,
+ video {
+ display: inline-block; /* 1 */
+ vertical-align: baseline; /* 2 */
+ }
+
+ /**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+
+ audio:not([controls]) {
+ display: none;
+ height: 0;
+ }
+
+ /**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
+ */
+
+ [hidden],
+ template {
+ display: none;
+ }
+
+ /* Links
+ ========================================================================== */
+
+ /**
+ * Remove the gray background color from active links in IE 10.
+ */
+
+ a {
+ background-color: transparent;
+ }
+
+ /**
+ * Improve readability when focused and also mouse hovered in all browsers.
+ */
+
+ a:active,
+ a:hover {
+ outline: 0;
+ }
+
+ /* Text-level semantics
+ ========================================================================== */
+
+ /**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+
+ abbr[title] {
+ border-bottom: 1px dotted;
+ }
+
+ /**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+
+ b,
+ strong {
+ font-weight: bold;
+ }
+
+ /**
+ * Address styling not present in Safari and Chrome.
+ */
+
+ dfn {
+ font-style: italic;
+ }
+
+ /**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+
+ h1 {
+ font-size: 2em;
+ margin: 0.67em 0;
+ }
+
+ /**
+ * Address styling not present in IE 8/9.
+ */
+
+ mark {
+ background: #ff0;
+ color: #000;
+ }
+
+ /**
+ * Address inconsistent and variable font size in all browsers.
+ */
+
+ small {
+ font-size: 80%;
+ }
+
+ /**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+
+ sub,
+ sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline;
+ }
+
+ sup {
+ top: -0.5em;
+ }
+
+ sub {
+ bottom: -0.25em;
+ }
+
+ /* Embedded content
+ ========================================================================== */
+
+ /**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+
+ img {
+ border: 0;
+ }
+
+ /**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+
+ svg:not(:root) {
+ overflow: hidden;
+ }
+
+ /* Grouping content
+ ========================================================================== */
+
+ /**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+
+ figure {
+ margin: 1em 40px;
+ }
+
+ /**
+ * Address differences between Firefox and other browsers.
+ */
+
+ hr {
+ -moz-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0;
+ }
+
+ /**
+ * Contain overflow in all browsers.
+ */
+
+ pre {
+ overflow: auto;
+ }
+
+ /**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+
+ code,
+ kbd,
+ pre,
+ samp {
+ font-family: monospace, monospace;
+ font-size: 1em;
+ }
+
+ /* Forms
+ ========================================================================== */
+
+ /**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+
+ /**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+
+ button,
+ input,
+ optgroup,
+ select,
+ textarea {
+ color: inherit; /* 1 */
+ font: inherit; /* 2 */
+ margin: 0; /* 3 */
+ }
+
+ /**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+
+ button {
+ overflow: visible;
+ }
+
+ /**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+
+ button,
+ select {
+ text-transform: none;
+ }
+
+ /**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+
+ button,
+ html input[type="button"], /* 1 */
+ input[type="reset"],
+ input[type="submit"] {
+ -webkit-appearance: button; /* 2 */
+ cursor: pointer; /* 3 */
+ }
+
+ /**
+ * Re-set default cursor for disabled elements.
+ */
+
+ button[disabled],
+ html input[disabled] {
+ cursor: default;
+ }
+
+ /**
+ * Remove inner padding and border in Firefox 4+.
+ */
+
+ button::-moz-focus-inner,
+ input::-moz-focus-inner {
+ border: 0;
+ padding: 0;
+ }
+
+ /**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+
+ input {
+ line-height: normal;
+ }
+
+ /**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+
+ input[type="checkbox"],
+ input[type="radio"] {
+ box-sizing: border-box; /* 1 */
+ padding: 0; /* 2 */
+ }
+
+ /**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+
+ input[type="number"]::-webkit-inner-spin-button,
+ input[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+ }
+
+ /**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
+ * (include `-moz` to future-proof).
+ */
+
+ input[type="search"] {
+ -webkit-appearance: textfield; /* 1 */
+ -moz-box-sizing: content-box;
+ -webkit-box-sizing: content-box; /* 2 */
+ box-sizing: content-box;
+ }
+
+ /**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+
+ input[type="search"]::-webkit-search-cancel-button,
+ input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+ }
+
+ /**
+ * Define consistent border, margin, and padding.
+ */
+
+ fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+ }
+
+ /**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+
+ legend {
+ border: 0; /* 1 */
+ padding: 0; /* 2 */
+ }
+
+ /**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+
+ textarea {
+ overflow: auto;
+ }
+
+ /**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+
+ optgroup {
+ font-weight: bold;
+ }
+
+ /* Tables
+ ========================================================================== */
+
+ /**
+ * Remove most spacing between table cells.
+ */
+
+ table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+
+ td,
+ th {
+ padding: 0;
+ }
diff --git a/src/reducers/index.ts b/src/reducers/index.ts
new file mode 100644
index 00000000..4e8896fe
--- /dev/null
+++ b/src/reducers/index.ts
@@ -0,0 +1,36 @@
+import { combineReducers, Action, Reducer } from 'redux';
+import {
+ FETCHED_TRENDING,
+ TOGGLE_FAVORITE,
+ FILTER_FAVS} from '../actions/gifs';
+
+const initialState = {
+ trending: [],
+ favs: {}
+}
+
+function gifReducer(state = initialState, action: any) {
+ const {type, payload} = action;
+
+ if (!state.favs) state.favs = {}; // FIX: why it wasn't loading?
+
+ switch (type) {
+ case FETCHED_TRENDING:
+ return {...state, trending: payload.data };
+ case TOGGLE_FAVORITE: {
+ const { id } = payload;
+ const newState = {...state};
+
+ if (state.favs[id]) delete newState.favs[id];
+ else newState.favs[id] = payload;
+
+ return newState;
+ }
+ case FILTER_FAVS:
+ return {...state, filter_favs: payload}
+ default:
+ return state;
+ }
+}
+
+export default gifReducer;
diff --git a/src/registerServiceWorker.js b/src/registerServiceWorker.ts
similarity index 72%
rename from src/registerServiceWorker.js
rename to src/registerServiceWorker.ts
index a3e6c0cf..28c89f7b 100644
--- a/src/registerServiceWorker.js
+++ b/src/registerServiceWorker.ts
@@ -1,8 +1,9 @@
+// tslint:disable:no-console
// In production, we register a service worker to serve assets from local cache.
// This lets the app load faster on subsequent visits in production, and gives
// it offline capabilities. However, it also means that developers (and users)
-// will only see deployed updates on the "N+1" visit to a page, since previously
+// will only see deployed updates on the 'N+1' visit to a page, since previously
// cached resources are updated in the background.
// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.
@@ -21,7 +22,10 @@ const isLocalhost = Boolean(
export default function register() {
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
// The URL constructor is available in all browsers that support SW.
- const publicUrl = new URL(process.env.PUBLIC_URL, window.location);
+ const publicUrl = new URL(
+ process.env.PUBLIC_URL!,
+ window.location.toString()
+ );
if (publicUrl.origin !== window.location.origin) {
// Our service worker won't work if PUBLIC_URL is on a different origin
// from what our page is served on. This might happen if a CDN is used to
@@ -52,28 +56,30 @@ export default function register() {
}
}
-function registerValidSW(swUrl) {
+function registerValidSW(swUrl: string) {
navigator.serviceWorker
.register(swUrl)
.then(registration => {
registration.onupdatefound = () => {
const installingWorker = registration.installing;
- installingWorker.onstatechange = () => {
- if (installingWorker.state === 'installed') {
- if (navigator.serviceWorker.controller) {
- // At this point, the old content will have been purged and
- // the fresh content will have been added to the cache.
- // It's the perfect time to display a "New content is
- // available; please refresh." message in your web app.
- console.log('New content is available; please refresh.');
- } else {
- // At this point, everything has been precached.
- // It's the perfect time to display a
- // "Content is cached for offline use." message.
- console.log('Content is cached for offline use.');
+ if (installingWorker) {
+ installingWorker.onstatechange = () => {
+ if (installingWorker.state === 'installed') {
+ if (navigator.serviceWorker.controller) {
+ // At this point, the old content will have been purged and
+ // the fresh content will have been added to the cache.
+ // It's the perfect time to display a 'New content is
+ // available; please refresh.' message in your web app.
+ console.log('New content is available; please refresh.');
+ } else {
+ // At this point, everything has been precached.
+ // It's the perfect time to display a
+ // 'Content is cached for offline use.' message.
+ console.log('Content is cached for offline use.');
+ }
}
- }
- };
+ };
+ }
};
})
.catch(error => {
@@ -81,14 +87,14 @@ function registerValidSW(swUrl) {
});
}
-function checkValidServiceWorker(swUrl) {
+function checkValidServiceWorker(swUrl: string) {
// Check if the service worker can be found. If it can't reload the page.
fetch(swUrl)
.then(response => {
// Ensure service worker exists, and that we really are getting a JS file.
if (
response.status === 404 ||
- response.headers.get('content-type').indexOf('javascript') === -1
+ response.headers.get('content-type')!.indexOf('javascript') === -1
) {
// No service worker found. Probably a different app. Reload the page.
navigator.serviceWorker.ready.then(registration => {
diff --git a/src/routes.ts b/src/routes.ts
new file mode 100644
index 00000000..13aeaf38
--- /dev/null
+++ b/src/routes.ts
@@ -0,0 +1,18 @@
+import HomeView from './components/HomeView';
+import FavsView from './components/FavsView';
+
+const ROUTES = [
+ {
+ path: '/home',
+ exact: true,
+ content: 'Home',
+ component: HomeView
+ },
+ {
+ path: '/favs',
+ content: 'Favorites',
+ component: FavsView
+ }
+];
+
+export default ROUTES;
\ No newline at end of file
diff --git a/src/sagas/index.ts b/src/sagas/index.ts
new file mode 100644
index 00000000..d14ba76e
--- /dev/null
+++ b/src/sagas/index.ts
@@ -0,0 +1,29 @@
+import { takeLatest, takeEvery, put, all, call, Effect, TakeEffect } from 'redux-saga/effects';
+import { SagaIterator } from 'redux-saga';
+import { SEARCH_TRENDING, fetched_gifs, FETCH_TRENDING, fetch_gifs } from '../actions/gifs';
+import * as API from '../api';
+import { Action } from 'redux-actions';
+
+function* watchGifs() {
+ // TODO: Implement fetching
+ yield takeEvery("AN_ACTION", () => console.log("Requestiong gifs..."));
+}
+
+function* searchTrending(action: Action) {
+ console.log('Searching in Trending...');
+ const { data } = yield(call(API.search, action.payload));
+ console.log(action, data);
+
+ yield put(fetched_gifs(data));
+}
+
+function* watchSearchTrending() {
+ yield takeLatest(SEARCH_TRENDING, searchTrending);
+}
+function* rootSaga() {
+ yield all([
+ watchSearchTrending(),
+ ]);
+}
+
+export default rootSaga;
\ No newline at end of file
diff --git a/src/setupTests.js b/src/setupTests.js
deleted file mode 100644
index 85ad18cf..00000000
--- a/src/setupTests.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import Adapter from 'enzyme-adapter-react-16';
-import Enzyme from 'enzyme';
-
-Enzyme.configure({ adapter: new Adapter() });
diff --git a/src/setupTests.ts b/src/setupTests.ts
new file mode 100644
index 00000000..6239dada
--- /dev/null
+++ b/src/setupTests.ts
@@ -0,0 +1,14 @@
+import * as Enzyme from 'enzyme';
+import * as Adapter from 'enzyme-adapter-react-16';
+import 'jest-enzyme';
+import 'jest-styled-components'
+
+Enzyme.configure({ adapter: new Adapter() });
+
+const localStorageMock = {
+ getItem: jest.fn(),
+ setItem: jest.fn(),
+ clear: jest.fn()
+};
+
+(global as any).localStorage = localStorageMock;
\ No newline at end of file
diff --git a/src/store/index.ts b/src/store/index.ts
new file mode 100644
index 00000000..2eade455
--- /dev/null
+++ b/src/store/index.ts
@@ -0,0 +1,42 @@
+import { createStore, applyMiddleware, compose } from 'redux';
+import createSagaMiddleware from 'redux-saga'
+import { composeWithDevTools } from 'redux-devtools-extension';
+
+import rootReducer from '../reducers';
+import gifsFetcher from '../middleware';
+import rootSaga from '../sagas/';
+import autosave from '../middleware/autosave';
+
+const sagaMiddleware = createSagaMiddleware();
+
+function _getInitialFavs() {
+ const data = localStorage.getItem('favs') || "";
+ try {
+ return JSON.parse(data);
+ } catch(_) {
+ return {}
+ }
+}
+
+const initialState = {
+ favs: _getInitialFavs()
+};
+const middleware = [
+ sagaMiddleware,
+ autosave,
+ gifsFetcher,
+];
+
+const composedEnhancers = compose(
+ applyMiddleware(...middleware),
+);
+
+const store = createStore(
+ rootReducer,
+ initialState,
+ composeWithDevTools(composedEnhancers),
+);
+
+sagaMiddleware.run(rootSaga);
+
+export default store;
diff --git a/src/styles/App.global.ts b/src/styles/App.global.ts
new file mode 100644
index 00000000..57cf6c5a
--- /dev/null
+++ b/src/styles/App.global.ts
@@ -0,0 +1,73 @@
+import { injectGlobal } from 'styled-components';
+
+// tslint:disable-next-line
+injectGlobal`
+
+ /* http://meyerweb.com/eric/tools/css/reset/
+ v2.0 | 20110126
+ License: none (public domain)
+ */
+
+ html, body, div, span, applet, object, iframe,
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+ a, abbr, acronym, address, big, cite, code,
+ del, dfn, em, img, ins, kbd, q, s, samp,
+ small, strike, strong, sub, sup, tt, var,
+ b, u, i, center,
+ dl, dt, dd, ol, ul, li,
+ fieldset, form, label, legend,
+ table, caption, tbody, tfoot, thead, tr, th, td,
+ article, aside, canvas, details, embed,
+ figure, figcaption, footer, header, hgroup,
+ menu, nav, output, ruby, section, summary,
+ time, mark, audio, video {
+ margin: 0;
+ padding: 0;
+ border: 0;
+ font-size: 100%;
+ font: inherit;
+ vertical-align: baseline;
+ }
+ /* HTML5 display-role reset for older browsers */
+ article, aside, details, figcaption, figure,
+ footer, header, hgroup, menu, nav, section {
+ display: block;
+ }
+ body {
+ line-height: 1;
+ }
+ ol, ul {
+ list-style: none;
+ }
+ blockquote, q {
+ quotes: none;
+ }
+ blockquote:before, blockquote:after,
+ q:before, q:after {
+ content: '';
+ content: none;
+ }
+ table {
+ border-collapse: collapse;
+ border-spacing: 0;
+ }
+
+ /* Some base styles */
+ html { font-size: 62.5%; background-color: #2C3E50; }
+ body {
+ font-size: 1.5em;
+ line-height: 1.6;
+ font-weight: 400;
+ font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
+ color: #222; }
+ h1, h2, h3, h4, h5, h6 {
+ margin-top: 0;
+ margin-bottom: 2rem;
+ font-weight: 300; }
+ h1 { font-size: 4.0rem; line-height: 1.2; letter-spacing: -.1rem;}
+ h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
+
+ /* HELPERS */
+ .center { text-align: center }
+
+`
diff --git a/src/test/App.test.tsx b/src/test/App.test.tsx
new file mode 100644
index 00000000..5d1d4882
--- /dev/null
+++ b/src/test/App.test.tsx
@@ -0,0 +1,7 @@
+import * as React from 'react';
+import { shallow } from 'enzyme';
+import App from '../App';
+
+it('renders without crashing', () => {
+ shallow();
+});
diff --git a/src/test/FavButton.test.tsx b/src/test/FavButton.test.tsx
new file mode 100644
index 00000000..2848392e
--- /dev/null
+++ b/src/test/FavButton.test.tsx
@@ -0,0 +1,28 @@
+import * as React from 'react';
+import 'jest-enzyme';
+import 'jest-styled-components'
+import { shallow, mount } from 'enzyme';
+import FavButton from '../components/presentational/FavButton';
+
+describe('FavButton', () => {
+ it('renders withouth crashing', () => {
+ shallow();
+ });
+
+ it('matches snapshot', () => {
+ const wrapper = shallow()
+ expect(wrapper).toMatchSnapshot()
+ });
+
+ describe('heart icon', () => {
+ it('contains a white heart', () => {
+ const wrapper = mount();
+ expect(wrapper).toHaveText("♥");
+ expect(wrapper).toHaveStyleRule('color', '#FFF');
+ });
+ it('contains a red heart when active', () => {
+ const wrapper = mount();
+ expect(wrapper).not.toHaveStyleRule('color', '#FFF');
+ });
+ });
+});
\ No newline at end of file
diff --git a/src/test/FavsView.test.tsx b/src/test/FavsView.test.tsx
new file mode 100644
index 00000000..e059689b
--- /dev/null
+++ b/src/test/FavsView.test.tsx
@@ -0,0 +1,43 @@
+import * as React from 'react';
+import 'jest-enzyme'
+
+import { Provider } from 'react-redux';
+import { mount, shallow } from 'enzyme';
+import FavsView from '../components/FavsView';
+import configureStore from 'redux-mock-store'
+
+import * as GIFS from './GIFS.json'
+
+const FAVS = {}
+for(let i = 0; i < 6; FAVS[GIFS[i].id] = GIFS[i++]);
+
+describe('FavsSearch', () => {
+ let store: any;
+ const mockStore = configureStore();
+ it('renders without crashing', () => {
+ store = mockStore({ favs: FAVS });
+ const wrapper = mount(
+
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ it('contains the favorites in the store', () => {
+ store = mockStore({ favs: FAVS });
+ const wrapper = mount(
+
+ );
+ expect(wrapper.find('img').length).toBe(6);
+ });
+
+ describe('when filtering favs', () => {
+ store = mockStore({
+ favs: FAVS,
+ filter_favs: 'amazing'
+ });
+ const wrapper = mount(
+
+ );
+ expect(wrapper.find('img').length).toBe(1);
+ });
+});
\ No newline at end of file
diff --git a/src/test/GIFList.test.tsx b/src/test/GIFList.test.tsx
new file mode 100644
index 00000000..b422f9fc
--- /dev/null
+++ b/src/test/GIFList.test.tsx
@@ -0,0 +1,33 @@
+import * as React from 'react';
+import 'jest-enzyme';
+import 'jest-styled-components'
+import configureStore from 'redux-mock-store'
+import { mount } from 'enzyme';
+import GIFList from '../components/presentational/GIFList';
+import * as GIFS from './GIFS.json'
+import { Provider } from 'react-redux';
+
+describe('GIFList', () => {
+ const mockStore = configureStore();
+ const initialState = { trending: GIFS as string[] }
+ let store;
+
+ it('renders withouth crashing', () => {
+ store = mockStore(initialState);
+ const wrapper = mount(
+
+ );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ describe('with empty GIFS', () => {
+ it('it displays an message', () => {
+ store = mockStore(initialState);
+ const wrapper = mount(
+
+ );
+ expect(wrapper).toMatchSnapshot();
+ expect(wrapper).toHaveText('No GIFs found!');
+ });
+ });
+});
\ No newline at end of file
diff --git a/src/test/GIFS.json b/src/test/GIFS.json
new file mode 100644
index 00000000..d90b9590
--- /dev/null
+++ b/src/test/GIFS.json
@@ -0,0 +1,4805 @@
+[
+ {
+ "type": "gif",
+ "id": "1oKPKBGn5yTHxflC61",
+ "slug": "ctv-amazing-race-amazingracecanada-1oKPKBGn5yTHxflC61",
+ "url": "https://giphy.com/gifs/ctv-amazing-race-amazingracecanada-1oKPKBGn5yTHxflC61",
+ "bitly_gif_url": "https://gph.is/2zsyCFY",
+ "bitly_url": "https://gph.is/2zsyCFY",
+ "embed_url": "https://giphy.com/embed/1oKPKBGn5yTHxflC61",
+ "username": "ctv",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-11 01:09:12",
+ "trending_datetime": "2018-07-12 02:45:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/default3.gif",
+ "banner_url": "https://media.giphy.com/headers/ctv/hl2axCpopeoO.jpg",
+ "profile_url": "https://giphy.com/ctv/",
+ "username": "ctv",
+ "display_name": "CTV",
+ "guid": "U29jaWFsLk1lZGlhQGJlbGxtZWRpYS5jYQ"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "47820"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "87852"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200w.gif",
+ "width": "200",
+ "height": "113",
+ "size": "253382",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200w.mp4",
+ "mp4_size": "55688",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200w.webp",
+ "webp_size": "84694"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "14447"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "291315",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200_d.webp",
+ "webp_size": "73974"
+ },
+ "preview": {
+ "width": "194",
+ "height": "108",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy-preview.mp4",
+ "mp4_size": "34901"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "209232",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100.mp4",
+ "mp4_size": "49314",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100.webp",
+ "webp_size": "73034"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy-downsized_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "87852"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1395758"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1395758"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100w_s.gif",
+ "width": "100",
+ "height": "57",
+ "size": "6037"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy-preview.webp",
+ "width": "174",
+ "height": "98",
+ "size": "49946"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200w_s.gif",
+ "width": "200",
+ "height": "113",
+ "size": "17412"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100w.gif",
+ "width": "100",
+ "height": "57",
+ "size": "80057",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100w.mp4",
+ "mp4_size": "23055",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/100w.webp",
+ "webp_size": "32578"
+ },
+ "downsized_small": {
+ "width": "388",
+ "height": "218",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy-downsized-small.mp4",
+ "mp4_size": "91424"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200w_d.gif",
+ "width": "200",
+ "height": "113",
+ "size": "103587",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200w_d.webp",
+ "webp_size": "33950"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1395758"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1395758",
+ "frames": "15",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.mp4",
+ "mp4_size": "194920",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.webp",
+ "webp_size": "332286",
+ "hash": "71b54c5313f5d387401fcc7058a51502"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "716194",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200.mp4",
+ "mp4_size": "123445",
+ "webp": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/200.webp",
+ "webp_size": "184968"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy-loop.mp4",
+ "mp4_size": "3025379"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy.mp4",
+ "mp4_size": "194920"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/giphy-preview.gif",
+ "width": "107",
+ "height": "60",
+ "size": "49272"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/1oKPKBGn5yTHxflC61/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "amazing race GIF by CTV",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "2rACoX3oXJX1kZceZZ",
+ "slug": "loveconnectionfox-2rACoX3oXJX1kZceZZ",
+ "url": "https://giphy.com/gifs/loveconnectionfox-2rACoX3oXJX1kZceZZ",
+ "bitly_gif_url": "https://gph.is/2JcwwcF",
+ "bitly_url": "https://gph.is/2JcwwcF",
+ "embed_url": "https://giphy.com/embed/2rACoX3oXJX1kZceZZ",
+ "username": "loveconnectionfox",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-11 02:06:27",
+ "trending_datetime": "2018-07-12 02:30:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/loveconnectionfox/MfToNl4LYXMo.png",
+ "banner_url": "https://media.giphy.com/headers/loveconnectionfox/WFXnraLoD1To.png",
+ "profile_url": "https://giphy.com/loveconnectionfox/",
+ "username": "loveconnectionfox",
+ "display_name": "",
+ "guid": "ZmJjc29jaWFsMisxOUBnbWFpbC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "40570"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "69832"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200w.gif",
+ "width": "200",
+ "height": "113",
+ "size": "836633",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200w.mp4",
+ "mp4_size": "65735",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200w.webp",
+ "webp_size": "384096"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "11905"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "235467",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200_d.webp",
+ "webp_size": "51712"
+ },
+ "preview": {
+ "width": "384",
+ "height": "216",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-preview.mp4",
+ "mp4_size": "28214"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "704618",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100.mp4",
+ "mp4_size": "61399",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100.webp",
+ "webp_size": "327852"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-downsized_s.gif",
+ "width": "384",
+ "height": "216",
+ "size": "51520"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-downsized.gif",
+ "width": "384",
+ "height": "216",
+ "size": "1783687"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "4533921"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100w_s.gif",
+ "width": "100",
+ "height": "57",
+ "size": "5112"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-preview.webp",
+ "width": "228",
+ "height": "128",
+ "size": "47740"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200w_s.gif",
+ "width": "200",
+ "height": "113",
+ "size": "14284"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100w.gif",
+ "width": "100",
+ "height": "57",
+ "size": "230224",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100w.mp4",
+ "mp4_size": "25435",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/100w.webp",
+ "webp_size": "150254"
+ },
+ "downsized_small": {
+ "width": "324",
+ "height": "182",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-downsized-small.mp4",
+ "mp4_size": "75395"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200w_d.gif",
+ "width": "200",
+ "height": "113",
+ "size": "82798",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200w_d.webp",
+ "webp_size": "23516"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "4533921"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "4533921",
+ "frames": "100",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy.mp4",
+ "mp4_size": "249735",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy.webp",
+ "webp_size": "1410392",
+ "hash": "b59c304bdb1c0af70d325b1eb70e5b5c"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "2561317",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200.mp4",
+ "mp4_size": "157537",
+ "webp": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/200.webp",
+ "webp_size": "844470"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-loop.mp4",
+ "mp4_size": "1639490"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy.mp4",
+ "mp4_size": "249735"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/giphy-preview.gif",
+ "width": "148",
+ "height": "83",
+ "size": "49797"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/2rACoX3oXJX1kZceZZ/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "andy cohen fox GIF by loveconnectionfox",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "1rRPDrBQ0dBkkXa4wV",
+ "slug": "laugh-laughing-chris-evans-1rRPDrBQ0dBkkXa4wV",
+ "url": "https://giphy.com/gifs/laugh-laughing-chris-evans-1rRPDrBQ0dBkkXa4wV",
+ "bitly_gif_url": "https://gph.is/2NK4A3l",
+ "bitly_url": "https://gph.is/2NK4A3l",
+ "embed_url": "https://giphy.com/embed/1rRPDrBQ0dBkkXa4wV",
+ "username": "",
+ "source": "https://imgur.com/gallery/KPuCGRl",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "imgur.com",
+ "source_post_url": "https://imgur.com/gallery/KPuCGRl",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-11 14:27:30",
+ "trending_datetime": "2018-07-12 02:15:01",
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200_s.gif",
+ "width": "470",
+ "height": "200",
+ "size": "38727"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy_s.gif",
+ "width": "700",
+ "height": "298",
+ "size": "38567"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200w.gif",
+ "width": "200",
+ "height": "85",
+ "size": "658215",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200w.mp4",
+ "mp4_size": "84569",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200w.webp",
+ "webp_size": "249688"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100_s.gif",
+ "width": "235",
+ "height": "100",
+ "size": "10974"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200_d.gif",
+ "width": "470",
+ "height": "200",
+ "size": "229511",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200_d.webp",
+ "webp_size": "45312"
+ },
+ "preview": {
+ "width": "370",
+ "height": "156",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-preview.mp4",
+ "mp4_size": "38357"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100.gif",
+ "width": "235",
+ "height": "100",
+ "size": "918280",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100.mp4",
+ "mp4_size": "105632",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100.webp",
+ "webp_size": "320330"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-downsized_s.gif",
+ "width": "421",
+ "height": "179",
+ "size": "34234"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-downsized.gif",
+ "width": "421",
+ "height": "179",
+ "size": "1393317"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy.gif",
+ "width": "700",
+ "height": "298",
+ "size": "3844000"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100w_s.gif",
+ "width": "100",
+ "height": "43",
+ "size": "2973"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-preview.webp",
+ "width": "317",
+ "height": "135",
+ "size": "49544"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200w_s.gif",
+ "width": "200",
+ "height": "85",
+ "size": "8159"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100w.gif",
+ "width": "100",
+ "height": "43",
+ "size": "190316",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100w.mp4",
+ "mp4_size": "28945",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/100w.webp",
+ "webp_size": "105704"
+ },
+ "downsized_small": {
+ "width": "280",
+ "height": "118",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-downsized-small.mp4",
+ "mp4_size": "73359"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200w_d.gif",
+ "width": "200",
+ "height": "85",
+ "size": "42165",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200w_d.webp",
+ "webp_size": "12058"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy.gif",
+ "width": "700",
+ "height": "298",
+ "size": "3844000"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy.gif",
+ "width": "700",
+ "height": "298",
+ "size": "3844000",
+ "frames": "135",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy.mp4",
+ "mp4_size": "378859",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy.webp",
+ "webp_size": "2178094",
+ "hash": "3f458cbc55630c507e07b692eed49d2d"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200.gif",
+ "width": "470",
+ "height": "200",
+ "size": "3123915",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200.mp4",
+ "mp4_size": "329781",
+ "webp": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/200.webp",
+ "webp_size": "908340"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-loop.mp4",
+ "mp4_size": "1069381"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "204",
+ "mp4": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy.mp4",
+ "mp4_size": "378859"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/1rRPDrBQ0dBkkXa4wV/giphy-preview.gif",
+ "width": "190",
+ "height": "81",
+ "size": "49106"
+ },
+ "480w_still": {
+ "url": "https://media0.giphy.com/media/1rRPDrBQ0dBkkXa4wV/480w_s.jpg",
+ "width": "480",
+ "height": "204"
+ }
+ },
+ "title": "chris evans lol GIF",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "fVevz86bolcva0VTCS",
+ "slug": "ballinthefamily-season-3-episode-4-fVevz86bolcva0VTCS",
+ "url": "https://giphy.com/gifs/ballinthefamily-season-3-episode-4-fVevz86bolcva0VTCS",
+ "bitly_gif_url": "https://gph.is/2KMwgag",
+ "bitly_url": "https://gph.is/2KMwgag",
+ "embed_url": "https://giphy.com/embed/fVevz86bolcva0VTCS",
+ "username": "ballinthefamily",
+ "source": "https://www.facebook.com/ballinthefamily",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "www.facebook.com",
+ "source_post_url": "https://www.facebook.com/ballinthefamily",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-10 17:56:35",
+ "trending_datetime": "2018-07-12 02:00:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/ballinthefamily/6Q8aNyB7D6RY.gif",
+ "banner_url": "https://media.giphy.com/headers/ballinthefamily/IdjFyI3xVGf3.jpg",
+ "profile_url": "https://giphy.com/ballinthefamily/",
+ "username": "ballinthefamily",
+ "display_name": "Ball in the Family",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "16055"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "59844"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "163506",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200w.mp4",
+ "mp4_size": "15137",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200w.webp",
+ "webp_size": "51602"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "5970"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "90439",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200_d.webp",
+ "webp_size": "24118"
+ },
+ "preview": {
+ "width": "430",
+ "height": "430",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy-preview.mp4",
+ "mp4_size": "23669"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "51929",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100.mp4",
+ "mp4_size": "6728",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100.webp",
+ "webp_size": "24378"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy-downsized_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "59844"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "789390"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "789390"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "5970"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy-preview.webp",
+ "width": "355",
+ "height": "355",
+ "size": "49644"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "16055"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "51929",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100w.mp4",
+ "mp4_size": "6728",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/100w.webp",
+ "webp_size": "24378"
+ },
+ "downsized_small": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy-downsized-small.mp4",
+ "mp4_size": "62205"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "90439",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200w_d.webp",
+ "webp_size": "24118"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "789390"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "789390",
+ "frames": "13",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.mp4",
+ "mp4_size": "62205",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.webp",
+ "webp_size": "141228",
+ "hash": "f22808e683a2a65f22776b78694be2cd"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "163506",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200.mp4",
+ "mp4_size": "15137",
+ "webp": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/200.webp",
+ "webp_size": "51602"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy-loop.mp4",
+ "mp4_size": "1775849"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy.mp4",
+ "mp4_size": "62205"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/fVevz86bolcva0VTCS/giphy-preview.gif",
+ "width": "151",
+ "height": "151",
+ "size": "48965"
+ },
+ "480w_still": {
+ "url": "https://media4.giphy.com/media/fVevz86bolcva0VTCS/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "season 3 facebook watch GIF by Ball in the Family",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "l46C5CCrtPuTKAmUU",
+ "slug": "hot-fart-wrecked-l46C5CCrtPuTKAmUU",
+ "url": "https://giphy.com/gifs/hot-fart-wrecked-l46C5CCrtPuTKAmUU",
+ "bitly_gif_url": "https://gph.is/299cctA",
+ "bitly_url": "https://gph.is/299cctA",
+ "embed_url": "https://giphy.com/embed/l46C5CCrtPuTKAmUU",
+ "username": "wreckedtbs",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2016-06-27 19:00:21",
+ "trending_datetime": "2018-07-11 15:20:03",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/wreckedtbs/nOypcSqNMJ9j.jpg",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/wreckedtbs/",
+ "username": "wreckedtbs",
+ "display_name": "Wrecked",
+ "guid": "dGJzLndyZWNrZWRAZ21haWwuY29t"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200_s.gif",
+ "width": "356",
+ "height": "200"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy_s.gif",
+ "width": "500",
+ "height": "281"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "334844",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200w.mp4",
+ "mp4_size": "23702",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200w.webp",
+ "webp_size": "159258"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100_s.gif",
+ "width": "178",
+ "height": "100"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "224084",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200_d.webp",
+ "webp_size": "81060"
+ },
+ "preview": {
+ "width": "368",
+ "height": "206",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-preview.mp4",
+ "mp4_size": "34899"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "280066",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100.mp4",
+ "mp4_size": "21472",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100.webp",
+ "webp_size": "138696"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-downsized_s.gif",
+ "width": "250",
+ "height": "140",
+ "size": "20962"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-downsized.gif",
+ "width": "250",
+ "height": "140",
+ "size": "524574"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "2130213"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100w_s.gif",
+ "width": "100",
+ "height": "56"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-preview.webp",
+ "width": "189",
+ "height": "106",
+ "size": "49294"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200w_s.gif",
+ "width": "200",
+ "height": "112"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "96671",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100w.mp4",
+ "mp4_size": "10651",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/100w.webp",
+ "webp_size": "59810"
+ },
+ "downsized_small": {
+ "width": "500",
+ "height": "280",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-downsized-small.mp4",
+ "mp4_size": "125602"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "76429",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200w_d.webp",
+ "webp_size": "32726"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "2130213"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "2130213",
+ "frames": "29",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy.mp4",
+ "mp4_size": "88084",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy.webp",
+ "webp_size": "799190"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "1007418",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200.mp4",
+ "mp4_size": "55151",
+ "webp": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/200.webp",
+ "webp_size": "393142"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-loop.mp4",
+ "mp4_size": "619622"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "268",
+ "mp4": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy.mp4",
+ "mp4_size": "88084"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/giphy-preview.gif",
+ "width": "144",
+ "height": "81",
+ "size": "49399"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/l46C5CCrtPuTKAmUU/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "hot dog days GIF by Wrecked",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "RobBVDLdA7Qas",
+ "slug": "realitytvgifs-rhobh-wine-taylor-armstrong-RobBVDLdA7Qas",
+ "url": "https://giphy.com/gifs/realitytvgifs-rhobh-wine-taylor-armstrong-RobBVDLdA7Qas",
+ "bitly_gif_url": "https://gph.is/1rovCcR",
+ "bitly_url": "https://gph.is/1rovCcR",
+ "embed_url": "https://giphy.com/embed/RobBVDLdA7Qas",
+ "username": "realitytvgifs",
+ "source": "https://realitytvgifs.tumblr.com/post/100550296997/requested-by-brandiglanville",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "realitytvgifs.tumblr.com",
+ "source_post_url": "https://realitytvgifs.tumblr.com/post/100550296997/requested-by-brandiglanville",
+ "is_sticker": 0,
+ "import_datetime": "2014-10-21 01:59:29",
+ "trending_datetime": "2018-07-12 01:30:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/realitytvgifs/sdANtS453YMz.png",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/realitytvgifs/",
+ "username": "realitytvgifs",
+ "display_name": "T. Kyle",
+ "guid": "dGt5bGVtYWNtYWhvbkBnbWFpbC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/200_s.gif",
+ "width": "356",
+ "height": "200"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy_s.gif",
+ "width": "450",
+ "height": "253"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "521440",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/200w.mp4",
+ "mp4_size": "41510",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/200w.webp",
+ "webp_size": "200260"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/100_s.gif",
+ "width": "178",
+ "height": "100"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "297902",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/200_d.webp",
+ "webp_size": "93038"
+ },
+ "preview": {
+ "width": "270",
+ "height": "150",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy-preview.mp4",
+ "mp4_size": "44650"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "436203",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/100.mp4",
+ "mp4_size": "37437",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/100.webp",
+ "webp_size": "178664"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy_s.gif",
+ "width": "450",
+ "height": "253"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.gif",
+ "width": "450",
+ "height": "253",
+ "size": "1991178"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.gif",
+ "width": "450",
+ "height": "253",
+ "size": "1991178"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/100w_s.gif",
+ "width": "100",
+ "height": "56"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy-preview.webp",
+ "width": "171",
+ "height": "96",
+ "size": "47646"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/200w_s.gif",
+ "width": "200",
+ "height": "112"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "150085",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/100w.mp4",
+ "mp4_size": "16796",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/100w.webp",
+ "webp_size": "73786"
+ },
+ "downsized_small": {
+ "width": "450",
+ "height": "252",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy-downsized-small.mp4",
+ "mp4_size": "187991"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "97051",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/200w_d.webp",
+ "webp_size": "36066"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.gif",
+ "width": "450",
+ "height": "253",
+ "size": "1991178"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.gif",
+ "width": "450",
+ "height": "253",
+ "size": "1991178",
+ "frames": "34",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.mp4",
+ "mp4_size": "166344",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.webp",
+ "webp_size": "897234"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "1599039",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/200.mp4",
+ "mp4_size": "96150",
+ "webp": "https://media3.giphy.com/media/RobBVDLdA7Qas/200.webp",
+ "webp_size": "525416"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy-loop.mp4",
+ "mp4_size": "1078749"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "268",
+ "mp4": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy.mp4",
+ "mp4_size": "166344"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/RobBVDLdA7Qas/giphy-preview.gif",
+ "width": "110",
+ "height": "62",
+ "size": "47655"
+ },
+ "480w_still": {
+ "url": "https://media2.giphy.com/media/RobBVDLdA7Qas/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "white wine laughing GIF by T. Kyle",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "dilBP4FslWpm8",
+ "slug": "good-morning-well-dilBP4FslWpm8",
+ "url": "https://giphy.com/gifs/good-morning-well-dilBP4FslWpm8",
+ "bitly_gif_url": "https://gph.is/1xhALdB",
+ "bitly_url": "https://gph.is/1xhALdB",
+ "embed_url": "https://giphy.com/embed/dilBP4FslWpm8",
+ "username": "good-morning",
+ "source": "https://www.gifbay.com/gif/well_good_morning-156807/",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "www.gifbay.com",
+ "source_post_url": "https://www.gifbay.com/gif/well_good_morning-156807/",
+ "is_sticker": 0,
+ "import_datetime": "2014-11-07 18:27:09",
+ "trending_datetime": "2018-07-12 01:15:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/good-morning/mBgOAyM6ww8i.gif",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/good-morning/",
+ "username": "good-morning",
+ "display_name": "",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/200_s.gif",
+ "width": "250",
+ "height": "200"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy_s.gif",
+ "width": "245",
+ "height": "196"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/200w.gif",
+ "width": "200",
+ "height": "160",
+ "size": "558771",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/200w.mp4",
+ "mp4_size": "39553",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/200w.webp",
+ "webp_size": "277122"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/100_s.gif",
+ "width": "125",
+ "height": "100"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/200_d.gif",
+ "width": "250",
+ "height": "200",
+ "size": "210075",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/200_d.webp",
+ "webp_size": "101850"
+ },
+ "preview": {
+ "width": "154",
+ "height": "122",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-preview.mp4",
+ "mp4_size": "33672"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/100.gif",
+ "width": "125",
+ "height": "100",
+ "size": "235084",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/100.mp4",
+ "mp4_size": "22154",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/100.webp",
+ "webp_size": "128238"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-downsized_s.gif",
+ "width": "245",
+ "height": "196",
+ "size": "23446"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-downsized.gif",
+ "width": "245",
+ "height": "196",
+ "size": "567755"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy.gif",
+ "width": "245",
+ "height": "196",
+ "size": "567755"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/100w_s.gif",
+ "width": "100",
+ "height": "80"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-preview.webp",
+ "width": "120",
+ "height": "96",
+ "size": "48408"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/200w_s.gif",
+ "width": "200",
+ "height": "160"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/100w.gif",
+ "width": "100",
+ "height": "80",
+ "size": "156078",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/100w.mp4",
+ "mp4_size": "16069",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/100w.webp",
+ "webp_size": "89394"
+ },
+ "downsized_small": {
+ "width": "244",
+ "height": "196",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-downsized-small.mp4",
+ "mp4_size": "124941"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/200w_d.gif",
+ "width": "200",
+ "height": "160",
+ "size": "141162",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/200w_d.webp",
+ "webp_size": "69186"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy.gif",
+ "width": "245",
+ "height": "196",
+ "size": "567755"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy.gif",
+ "width": "245",
+ "height": "196",
+ "size": "567755",
+ "frames": "24",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy.mp4",
+ "mp4_size": "248791",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy.webp",
+ "webp_size": "437924"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/200.gif",
+ "width": "250",
+ "height": "200",
+ "size": "831559",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/200.mp4",
+ "mp4_size": "58160",
+ "webp": "https://media1.giphy.com/media/dilBP4FslWpm8/200.webp",
+ "webp_size": "407920"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-loop.mp4",
+ "mp4_size": "2568929"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "384",
+ "mp4": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy.mp4",
+ "mp4_size": "248791"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/giphy-preview.gif",
+ "width": "85",
+ "height": "68",
+ "size": "48414"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/dilBP4FslWpm8/480w_s.jpg",
+ "width": "480",
+ "height": "384"
+ }
+ },
+ "title": "whatsapp status GIF by good-morning",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "xT1XGWbE0XiBDX2T8Q",
+ "slug": "maury-maury-face-xT1XGWbE0XiBDX2T8Q",
+ "url": "https://giphy.com/gifs/maury-maury-face-xT1XGWbE0XiBDX2T8Q",
+ "bitly_gif_url": "https://gph.is/1reY7S2",
+ "bitly_url": "https://gph.is/1reY7S2",
+ "embed_url": "https://giphy.com/embed/xT1XGWbE0XiBDX2T8Q",
+ "username": "maury",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2016-04-26 12:58:51",
+ "trending_datetime": "2018-07-12 01:00:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/maury/CCfmmNrjL4h5.jpg",
+ "banner_url": "https://media.giphy.com/headers/maury/zJtPxFr5Aupk.jpg",
+ "profile_url": "https://giphy.com/maury/",
+ "username": "maury",
+ "display_name": "The Maury Show",
+ "guid": "QW5kcmV3LlJvdGUrbWF1cnlAbmJjdW5pLmNvbQ"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200_s.gif",
+ "width": "356",
+ "height": "200"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy_s.gif",
+ "width": "480",
+ "height": "270"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200w.gif",
+ "width": "200",
+ "height": "113",
+ "size": "423876",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200w.mp4",
+ "mp4_size": "22743",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200w.webp",
+ "webp_size": "159986"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100_s.gif",
+ "width": "178",
+ "height": "100"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "285227",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200_d.webp",
+ "webp_size": "73538"
+ },
+ "preview": {
+ "width": "258",
+ "height": "144",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-preview.mp4",
+ "mp4_size": "26452"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "357434",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100.mp4",
+ "mp4_size": "20303",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100.webp",
+ "webp_size": "138072"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-downsized_s.gif",
+ "width": "250",
+ "height": "140",
+ "size": "24480"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-downsized.gif",
+ "width": "250",
+ "height": "140",
+ "size": "640595"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2325265"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100w_s.gif",
+ "width": "100",
+ "height": "56"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-preview.webp",
+ "width": "196",
+ "height": "110",
+ "size": "49678"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200w_s.gif",
+ "width": "200",
+ "height": "113"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "118688",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100w.mp4",
+ "mp4_size": "10247",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/100w.webp",
+ "webp_size": "60926"
+ },
+ "downsized_small": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-downsized-small.mp4",
+ "mp4_size": "109525"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200w_d.gif",
+ "width": "200",
+ "height": "113",
+ "size": "100893",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200w_d.webp",
+ "webp_size": "33102"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2325265"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2325265",
+ "frames": "29",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy.mp4",
+ "mp4_size": "102608",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy.webp",
+ "webp_size": "601376"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "1287110",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200.mp4",
+ "mp4_size": "51550",
+ "webp": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/200.webp",
+ "webp_size": "355742"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-loop.mp4",
+ "mp4_size": "825052"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy.mp4",
+ "mp4_size": "102608"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/giphy-preview.gif",
+ "width": "116",
+ "height": "65",
+ "size": "47634"
+ },
+ "480w_still": {
+ "url": "https://media0.giphy.com/media/xT1XGWbE0XiBDX2T8Q/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "oh no GIF by The Maury Show",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "65OKKACyaw6FwwbuRt",
+ "slug": "ballinthefamily-season-3-episode-5-65OKKACyaw6FwwbuRt",
+ "url": "https://giphy.com/gifs/ballinthefamily-season-3-episode-5-65OKKACyaw6FwwbuRt",
+ "bitly_gif_url": "https://gph.is/2L9M82M",
+ "bitly_url": "https://gph.is/2L9M82M",
+ "embed_url": "https://giphy.com/embed/65OKKACyaw6FwwbuRt",
+ "username": "ballinthefamily",
+ "source": "https://www.facebook.com/ballinthefamily",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "www.facebook.com",
+ "source_post_url": "https://www.facebook.com/ballinthefamily",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-10 18:55:01",
+ "trending_datetime": "2018-07-12 00:45:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/ballinthefamily/6Q8aNyB7D6RY.gif",
+ "banner_url": "https://media.giphy.com/headers/ballinthefamily/IdjFyI3xVGf3.jpg",
+ "profile_url": "https://giphy.com/ballinthefamily/",
+ "username": "ballinthefamily",
+ "display_name": "Ball in the Family",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "13979"
+ },
+ "original_still": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "53631"
+ },
+ "fixed_width": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "417661",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200w.mp4",
+ "mp4_size": "53081",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200w.webp",
+ "webp_size": "131812"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "5254"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "78691",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200_d.webp",
+ "webp_size": "30402"
+ },
+ "preview": {
+ "width": "236",
+ "height": "236",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy-preview.mp4",
+ "mp4_size": "33983"
+ },
+ "fixed_height_small": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "153239",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100.mp4",
+ "mp4_size": "20893",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100.webp",
+ "webp_size": "56370"
+ },
+ "downsized_still": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy-downsized_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "53631"
+ },
+ "downsized": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "1658226"
+ },
+ "downsized_large": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "1658226"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "5254"
+ },
+ "preview_webp": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy-preview.webp",
+ "width": "204",
+ "height": "204",
+ "size": "49030"
+ },
+ "fixed_width_still": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "13979"
+ },
+ "fixed_width_small": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "153239",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100w.mp4",
+ "mp4_size": "20893",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/100w.webp",
+ "webp_size": "56370"
+ },
+ "downsized_small": {
+ "width": "432",
+ "height": "432",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy-downsized-small.mp4",
+ "mp4_size": "86291"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "78691",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200w_d.webp",
+ "webp_size": "30402"
+ },
+ "downsized_medium": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "1658226"
+ },
+ "original": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "1658226",
+ "frames": "31",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.mp4",
+ "mp4_size": "206386",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.webp",
+ "webp_size": "377910",
+ "hash": "cb77fbfbee176f164deb75bb6e093bc9"
+ },
+ "fixed_height": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "417661",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200.mp4",
+ "mp4_size": "53081",
+ "webp": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/200.webp",
+ "webp_size": "131812"
+ },
+ "looping": {
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy-loop.mp4",
+ "mp4_size": "2493398"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy.mp4",
+ "mp4_size": "206386"
+ },
+ "preview_gif": {
+ "url": "https://media2.giphy.com/media/65OKKACyaw6FwwbuRt/giphy-preview.gif",
+ "width": "118",
+ "height": "118",
+ "size": "49144"
+ },
+ "480w_still": {
+ "url": "https://media4.giphy.com/media/65OKKACyaw6FwwbuRt/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "season 3 omg GIF by Ball in the Family",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "323XtMJCe8AZ6QPxMP",
+ "slug": "nbcmarlon-season-2-nbc-323XtMJCe8AZ6QPxMP",
+ "url": "https://giphy.com/gifs/nbcmarlon-season-2-nbc-323XtMJCe8AZ6QPxMP",
+ "bitly_gif_url": "https://gph.is/2ulDW88",
+ "bitly_url": "https://gph.is/2ulDW88",
+ "embed_url": "https://giphy.com/embed/323XtMJCe8AZ6QPxMP",
+ "username": "nbcmarlon",
+ "source": "nbc.com/marlon",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "nbc.com/marlon",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-09 23:33:38",
+ "trending_datetime": "2018-07-12 00:30:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/nbcmarlon/JcFwZTr8xC1R.jpg",
+ "banner_url": "https://media.giphy.com/headers/nbcmarlon/5shCz6JIQUFs.gif",
+ "profile_url": "https://giphy.com/nbcmarlon/",
+ "username": "nbcmarlon",
+ "display_name": "Marlon",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "42459"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy_s.gif",
+ "width": "500",
+ "height": "281",
+ "size": "85514"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "271309",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200w.mp4",
+ "mp4_size": "82529",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200w.webp",
+ "webp_size": "209236"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "13165"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "240666",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200_d.webp",
+ "webp_size": "139904"
+ },
+ "preview": {
+ "width": "236",
+ "height": "132",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy-preview.mp4",
+ "mp4_size": "40999"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "228319",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100.mp4",
+ "mp4_size": "72109",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100.webp",
+ "webp_size": "175920"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy-downsized_s.gif",
+ "width": "500",
+ "height": "281",
+ "size": "85514"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "1744166"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "1744166"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "5641"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy-preview.webp",
+ "width": "133",
+ "height": "75",
+ "size": "48350"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "15549"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "74060",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100w.mp4",
+ "mp4_size": "26766",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/100w.webp",
+ "webp_size": "67132"
+ },
+ "downsized_small": {
+ "width": "268",
+ "height": "150",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy-downsized-small.mp4",
+ "mp4_size": "78369"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "80459",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200w_d.webp",
+ "webp_size": "53006"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "1744166"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.gif",
+ "width": "500",
+ "height": "281",
+ "size": "1744166",
+ "frames": "24",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.mp4",
+ "mp4_size": "467128",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.webp",
+ "webp_size": "1088232",
+ "hash": "81c0672438da4c90894981688f256967"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "863264",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200.mp4",
+ "mp4_size": "228328",
+ "webp": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/200.webp",
+ "webp_size": "556476"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy-loop.mp4",
+ "mp4_size": "2947244"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "268",
+ "mp4": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy.mp4",
+ "mp4_size": "467128"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/323XtMJCe8AZ6QPxMP/giphy-preview.gif",
+ "width": "121",
+ "height": "68",
+ "size": "49525"
+ },
+ "480w_still": {
+ "url": "https://media4.giphy.com/media/323XtMJCe8AZ6QPxMP/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "season 2 nbc GIF by Marlon",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "9V5mtff0N5dhZ0nFur",
+ "slug": "thegongshow-season-2-episode-9V5mtff0N5dhZ0nFur",
+ "url": "https://giphy.com/gifs/thegongshow-season-2-episode-9V5mtff0N5dhZ0nFur",
+ "bitly_gif_url": "https://gph.is/2MWaOgn",
+ "bitly_url": "https://gph.is/2MWaOgn",
+ "embed_url": "https://giphy.com/embed/9V5mtff0N5dhZ0nFur",
+ "username": "thegongshow",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-25 13:21:30",
+ "trending_datetime": "2018-07-11 15:19:07",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/thegongshow/cDZATOZOCi74.jpg",
+ "banner_url": "https://media.giphy.com/headers/thegongshow/5GkSLxZJE6bR.jpg",
+ "profile_url": "https://giphy.com/thegongshow/",
+ "username": "thegongshow",
+ "display_name": "The Gong Show",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "41797"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "67505"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "558441",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200w.mp4",
+ "mp4_size": "60418",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200w.webp",
+ "webp_size": "139138"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "13566"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "253890",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200_d.webp",
+ "webp_size": "49102"
+ },
+ "preview": {
+ "width": "384",
+ "height": "216",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-preview.mp4",
+ "mp4_size": "31009"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "358514",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100.mp4",
+ "mp4_size": "59317",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100.webp",
+ "webp_size": "124972"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-downsized_s.gif",
+ "width": "384",
+ "height": "216",
+ "size": "46423"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-downsized.gif",
+ "width": "384",
+ "height": "216",
+ "size": "1426080"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2132149"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "5775"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-preview.webp",
+ "width": "229",
+ "height": "129",
+ "size": "49236"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "16377"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "122422",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100w.mp4",
+ "mp4_size": "26599",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/100w.webp",
+ "webp_size": "59964"
+ },
+ "downsized_small": {
+ "width": "432",
+ "height": "242",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-downsized-small.mp4",
+ "mp4_size": "84444"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "95602",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200w_d.webp",
+ "webp_size": "23170"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2132149"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2132149",
+ "frames": "36",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy.mp4",
+ "mp4_size": "208936",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy.webp",
+ "webp_size": "415418",
+ "hash": "d63b47d3ea91c69451b6cb6837433d5d"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "1478363",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200.mp4",
+ "mp4_size": "138784",
+ "webp": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/200.webp",
+ "webp_size": "292106"
+ },
+ "hd": {
+ "width": "1280",
+ "height": "720",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-hd.mp4",
+ "mp4_size": "972062"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-loop.mp4",
+ "mp4_size": "1205485"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy.mp4",
+ "mp4_size": "208936"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/giphy-preview.gif",
+ "width": "137",
+ "height": "77",
+ "size": "49982"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/9V5mtff0N5dhZ0nFur/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "season 2 abc GIF by The Gong Show",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "ZwErXdw2Ei3Ouqrb9V",
+ "slug": "kochstrasse-cute-illustration-ZwErXdw2Ei3Ouqrb9V",
+ "url": "https://giphy.com/gifs/kochstrasse-cute-illustration-ZwErXdw2Ei3Ouqrb9V",
+ "bitly_gif_url": "https://gph.is/2IJ7L7T",
+ "bitly_url": "https://gph.is/2IJ7L7T",
+ "embed_url": "https://giphy.com/embed/ZwErXdw2Ei3Ouqrb9V",
+ "username": "kochstrasse",
+ "source": "https://www.kochstrasse.de",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "www.kochstrasse.de",
+ "source_post_url": "https://www.kochstrasse.de",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-01 18:05:12",
+ "trending_datetime": "2018-07-11 15:18:52",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/kochstrasse/1gJe8WAJW3PW.gif",
+ "banner_url": "https://media.giphy.com/headers/kochstrasse/xLhS70oCI3qt.gif",
+ "profile_url": "https://giphy.com/kochstrasse/",
+ "username": "kochstrasse",
+ "display_name": "Kochstrasse™",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "3874"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy_s.gif",
+ "width": "360",
+ "height": "360",
+ "size": "8155"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "71390",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200w.mp4",
+ "mp4_size": "33048",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200w.webp",
+ "webp_size": "84170"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "1732"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "15049",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200_d.webp",
+ "webp_size": "14548"
+ },
+ "preview": {
+ "width": "360",
+ "height": "360",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-preview.mp4",
+ "mp4_size": "32960"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "26611",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100.mp4",
+ "mp4_size": "15677",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100.webp",
+ "webp_size": "34988"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-downsized_s.gif",
+ "width": "360",
+ "height": "360",
+ "size": "8155"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-downsized.gif",
+ "width": "360",
+ "height": "360",
+ "size": "89010"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy.gif",
+ "width": "360",
+ "height": "360",
+ "size": "297864"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "1732"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-preview.webp",
+ "width": "360",
+ "height": "360",
+ "size": "41308"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "3874"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "26611",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100w.mp4",
+ "mp4_size": "15677",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/100w.webp",
+ "webp_size": "34988"
+ },
+ "downsized_small": {
+ "width": "360",
+ "height": "360",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-downsized-small.mp4",
+ "mp4_size": "77025"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "15049",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200w_d.webp",
+ "webp_size": "14548"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy.gif",
+ "width": "360",
+ "height": "360",
+ "size": "297864"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy.gif",
+ "width": "360",
+ "height": "360",
+ "size": "297864",
+ "frames": "132",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy.mp4",
+ "mp4_size": "87053",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy.webp",
+ "webp_size": "165972",
+ "hash": "23852dbe12877990a3c063aaf09a52cd"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "71390",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200.mp4",
+ "mp4_size": "33048",
+ "webp": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/200.webp",
+ "webp_size": "84170"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-loop.mp4",
+ "mp4_size": "345504"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy.mp4",
+ "mp4_size": "87053"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/giphy-preview.gif",
+ "width": "360",
+ "height": "360",
+ "size": "40873"
+ },
+ "480w_still": {
+ "url": "https://media2.giphy.com/media/ZwErXdw2Ei3Ouqrb9V/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "illustration abc GIF by Kochstrasse™",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "2SYwqrDoNjRogYgfHn",
+ "slug": "ballinthefamily-season-3-episode-5-2SYwqrDoNjRogYgfHn",
+ "url": "https://giphy.com/gifs/ballinthefamily-season-3-episode-5-2SYwqrDoNjRogYgfHn",
+ "bitly_gif_url": "https://gph.is/2u9XLjv",
+ "bitly_url": "https://gph.is/2u9XLjv",
+ "embed_url": "https://giphy.com/embed/2SYwqrDoNjRogYgfHn",
+ "username": "ballinthefamily",
+ "source": "https://www.facebook.com/ballinthefamily",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "www.facebook.com",
+ "source_post_url": "https://www.facebook.com/ballinthefamily",
+ "is_sticker": 0,
+ "import_datetime": "2018-07-10 19:02:54",
+ "trending_datetime": "2018-07-11 23:45:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/ballinthefamily/6Q8aNyB7D6RY.gif",
+ "banner_url": "https://media.giphy.com/headers/ballinthefamily/IdjFyI3xVGf3.jpg",
+ "profile_url": "https://giphy.com/ballinthefamily/",
+ "username": "ballinthefamily",
+ "display_name": "Ball in the Family",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "19031"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "66764"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "1451193",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200w.mp4",
+ "mp4_size": "142885",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200w.webp",
+ "webp_size": "362388"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "7218"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "141208",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200_d.webp",
+ "webp_size": "47654"
+ },
+ "preview": {
+ "width": "240",
+ "height": "240",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-preview.mp4",
+ "mp4_size": "43960"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "506376",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100.mp4",
+ "mp4_size": "56273",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100.webp",
+ "webp_size": "158726"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-downsized_s.gif",
+ "width": "222",
+ "height": "222",
+ "size": "19592"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-downsized.gif",
+ "width": "222",
+ "height": "222",
+ "size": "1567677"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "5917184"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "7218"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-preview.webp",
+ "width": "220",
+ "height": "220",
+ "size": "49942"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "19031"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "506376",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100w.mp4",
+ "mp4_size": "47860",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/100w.webp",
+ "webp_size": "158726"
+ },
+ "downsized_small": {
+ "width": "272",
+ "height": "272",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-downsized-small.mp4",
+ "mp4_size": "120063"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "141208",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200w_d.webp",
+ "webp_size": "47654"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-downsized-medium.gif",
+ "width": "384",
+ "height": "384",
+ "size": "4003475"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "5917184",
+ "frames": "64",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy.mp4",
+ "mp4_size": "617546",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy.webp",
+ "webp_size": "1090808",
+ "hash": "1fb4d16c346c75a7ed9840e430227259"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "1451193",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200.mp4",
+ "mp4_size": "142885",
+ "webp": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/200.webp",
+ "webp_size": "362388"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-loop.mp4",
+ "mp4_size": "3627465"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy.mp4",
+ "mp4_size": "617546"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/2SYwqrDoNjRogYgfHn/giphy-preview.gif",
+ "width": "94",
+ "height": "94",
+ "size": "49334"
+ },
+ "480w_still": {
+ "url": "https://media4.giphy.com/media/2SYwqrDoNjRogYgfHn/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "season 3 tina GIF by Ball in the Family",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "1poW0ORMkzctC7lIzL",
+ "slug": "maroon5-maroon-5-cardi-b-1poW0ORMkzctC7lIzL",
+ "url": "https://giphy.com/gifs/maroon5-maroon-5-cardi-b-1poW0ORMkzctC7lIzL",
+ "bitly_gif_url": "https://gph.is/2kDmp70",
+ "bitly_url": "https://gph.is/2kDmp70",
+ "embed_url": "https://giphy.com/embed/1poW0ORMkzctC7lIzL",
+ "username": "maroon5",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-01 15:19:59",
+ "trending_datetime": "2018-07-11 15:12:17",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/maroon5/PEbr2UyzWosE.jpg",
+ "banner_url": "https://media.giphy.com/headers/maroon5/SWw8125Em2NK.jpg",
+ "profile_url": "https://giphy.com/maroon5/",
+ "username": "maroon5",
+ "display_name": "Maroon 5",
+ "guid": "ZnJlZGRpZSttYXJvb241QGNhbWFuYWdlbWVudC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "37160"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "59363"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "1108418",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200w.mp4",
+ "mp4_size": "190805",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200w.webp",
+ "webp_size": "285392"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "11954"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "245775",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200_d.webp",
+ "webp_size": "50370"
+ },
+ "preview": {
+ "width": "295",
+ "height": "166",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-preview.mp4",
+ "mp4_size": "46664"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "885675",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100.mp4",
+ "mp4_size": "177285",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100.webp",
+ "webp_size": "237414"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-downsized_s.gif",
+ "width": "271",
+ "height": "152",
+ "size": "24724"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-downsized.gif",
+ "width": "271",
+ "height": "152",
+ "size": "1419171"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "5161404"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "5103"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-preview.webp",
+ "width": "251",
+ "height": "141",
+ "size": "49758"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "14706"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "343823",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100w.mp4",
+ "mp4_size": "47583",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/100w.webp",
+ "webp_size": "116114"
+ },
+ "downsized_small": {
+ "width": "259",
+ "height": "146",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-downsized-small.mp4",
+ "mp4_size": "174049"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "93308",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200w_d.webp",
+ "webp_size": "22830"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-downsized-medium.gif",
+ "width": "384",
+ "height": "216",
+ "size": "3215741"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "5161404",
+ "frames": "73",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy.mp4",
+ "mp4_size": "679105",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy.webp",
+ "webp_size": "921732",
+ "hash": "a5dc844f4ec83279697896ce096ec851"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "2915666",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200.mp4",
+ "mp4_size": "444880",
+ "webp": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/200.webp",
+ "webp_size": "625778"
+ },
+ "hd": {
+ "width": "1920",
+ "height": "1080",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-hd.mp4",
+ "mp4_size": "5608188"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-loop.mp4",
+ "mp4_size": "1934166"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy.mp4",
+ "mp4_size": "679105"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/1poW0ORMkzctC7lIzL/giphy-preview.gif",
+ "width": "121",
+ "height": "68",
+ "size": "49705"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/1poW0ORMkzctC7lIzL/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "cardi b GIF by Maroon 5",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "3d63Yehj2h3S8iLKc2",
+ "slug": "maroon5-maroon-5-cardi-b-3d63Yehj2h3S8iLKc2",
+ "url": "https://giphy.com/gifs/maroon5-maroon-5-cardi-b-3d63Yehj2h3S8iLKc2",
+ "bitly_gif_url": "https://gph.is/2kHMkdS",
+ "bitly_url": "https://gph.is/2kHMkdS",
+ "embed_url": "https://giphy.com/embed/3d63Yehj2h3S8iLKc2",
+ "username": "maroon5",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-01 15:18:59",
+ "trending_datetime": "2018-07-11 23:15:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/maroon5/PEbr2UyzWosE.jpg",
+ "banner_url": "https://media.giphy.com/headers/maroon5/SWw8125Em2NK.jpg",
+ "profile_url": "https://giphy.com/maroon5/",
+ "username": "maroon5",
+ "display_name": "Maroon 5",
+ "guid": "ZnJlZGRpZSttYXJvb241QGNhbWFuYWdlbWVudC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "40516"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "64266"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "615152",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200w.mp4",
+ "mp4_size": "73047",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200w.webp",
+ "webp_size": "201770"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "13240"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "271905",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200_d.webp",
+ "webp_size": "53604"
+ },
+ "preview": {
+ "width": "384",
+ "height": "216",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-preview.mp4",
+ "mp4_size": "30320"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "491661",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100.mp4",
+ "mp4_size": "64954",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100.webp",
+ "webp_size": "172596"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-downsized_s.gif",
+ "width": "384",
+ "height": "216",
+ "size": "44507"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-downsized.gif",
+ "width": "384",
+ "height": "216",
+ "size": "1889321"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2961049"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "5491"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-preview.webp",
+ "width": "228",
+ "height": "128",
+ "size": "48952"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "15962"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "170740",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100w.mp4",
+ "mp4_size": "30347",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/100w.webp",
+ "webp_size": "79502"
+ },
+ "downsized_small": {
+ "width": "430",
+ "height": "242",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-downsized-small.mp4",
+ "mp4_size": "97572"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "99898",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200w_d.webp",
+ "webp_size": "24718"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2961049"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "2961049",
+ "frames": "49",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy.mp4",
+ "mp4_size": "233857",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy.webp",
+ "webp_size": "615186",
+ "hash": "21046def8f88c7afeb8d937276587627"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "1771052",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200.mp4",
+ "mp4_size": "159342",
+ "webp": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/200.webp",
+ "webp_size": "433738"
+ },
+ "hd": {
+ "width": "1920",
+ "height": "1080",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-hd.mp4",
+ "mp4_size": "2220658"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-loop.mp4",
+ "mp4_size": "1026280"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy.mp4",
+ "mp4_size": "233857"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/3d63Yehj2h3S8iLKc2/giphy-preview.gif",
+ "width": "110",
+ "height": "62",
+ "size": "49413"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/3d63Yehj2h3S8iLKc2/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "cardi b GIF by Maroon 5",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "5bu6K7m9RSENK1Jorq",
+ "slug": "maroon5-maroon-5-cardi-b-5bu6K7m9RSENK1Jorq",
+ "url": "https://giphy.com/gifs/maroon5-maroon-5-cardi-b-5bu6K7m9RSENK1Jorq",
+ "bitly_gif_url": "https://gph.is/2LMEVWO",
+ "bitly_url": "https://gph.is/2LMEVWO",
+ "embed_url": "https://giphy.com/embed/5bu6K7m9RSENK1Jorq",
+ "username": "maroon5",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-01 15:23:39",
+ "trending_datetime": "2018-07-11 23:00:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/maroon5/PEbr2UyzWosE.jpg",
+ "banner_url": "https://media.giphy.com/headers/maroon5/SWw8125Em2NK.jpg",
+ "profile_url": "https://giphy.com/maroon5/",
+ "username": "maroon5",
+ "display_name": "Maroon 5",
+ "guid": "ZnJlZGRpZSttYXJvb241QGNhbWFuYWdlbWVudC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "37206"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "57332"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "1032532",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200w.mp4",
+ "mp4_size": "90809",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200w.webp",
+ "webp_size": "193046"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "12356"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "231565",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200_d.webp",
+ "webp_size": "32448"
+ },
+ "preview": {
+ "width": "384",
+ "height": "216",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-preview.mp4",
+ "mp4_size": "34024"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "819405",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100.mp4",
+ "mp4_size": "87111",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100.webp",
+ "webp_size": "167344"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-downsized_s.gif",
+ "width": "281",
+ "height": "158",
+ "size": "26772"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-downsized.gif",
+ "width": "281",
+ "height": "158",
+ "size": "1423791"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "4677699"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "5343"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-preview.webp",
+ "width": "341",
+ "height": "192",
+ "size": "49226"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "15044"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "308074",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100w.mp4",
+ "mp4_size": "41107",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/100w.webp",
+ "webp_size": "81952"
+ },
+ "downsized_small": {
+ "width": "384",
+ "height": "216",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-downsized-small.mp4",
+ "mp4_size": "120863"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "88889",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200w_d.webp",
+ "webp_size": "15590"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "4677699"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "4677699",
+ "frames": "73",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy.mp4",
+ "mp4_size": "306670",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy.webp",
+ "webp_size": "585192",
+ "hash": "41cf3951d5411c72971a5a499b89053f"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "2844608",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200.mp4",
+ "mp4_size": "211395",
+ "webp": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/200.webp",
+ "webp_size": "406386"
+ },
+ "hd": {
+ "width": "1920",
+ "height": "1080",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-hd.mp4",
+ "mp4_size": "3610232"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-loop.mp4",
+ "mp4_size": "897360"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy.mp4",
+ "mp4_size": "306670"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/5bu6K7m9RSENK1Jorq/giphy-preview.gif",
+ "width": "123",
+ "height": "69",
+ "size": "49799"
+ },
+ "480w_still": {
+ "url": "https://media4.giphy.com/media/5bu6K7m9RSENK1Jorq/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "cardi b GIF by Maroon 5",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "Ph83zh3vp39652AxX9",
+ "slug": "maroon5-maroon-5-cardi-b-Ph83zh3vp39652AxX9",
+ "url": "https://giphy.com/gifs/maroon5-maroon-5-cardi-b-Ph83zh3vp39652AxX9",
+ "bitly_gif_url": "https://gph.is/2LcYxSU",
+ "bitly_url": "https://gph.is/2LcYxSU",
+ "embed_url": "https://giphy.com/embed/Ph83zh3vp39652AxX9",
+ "username": "maroon5",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-01 15:20:49",
+ "trending_datetime": "2018-07-11 22:45:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/maroon5/PEbr2UyzWosE.jpg",
+ "banner_url": "https://media.giphy.com/headers/maroon5/SWw8125Em2NK.jpg",
+ "profile_url": "https://giphy.com/maroon5/",
+ "username": "maroon5",
+ "display_name": "Maroon 5",
+ "guid": "ZnJlZGRpZSttYXJvb241QGNhbWFuYWdlbWVudC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "35856"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "56765"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "266155",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200w.mp4",
+ "mp4_size": "46197",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200w.webp",
+ "webp_size": "58430"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "11737"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "213987",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200_d.webp",
+ "webp_size": "40604"
+ },
+ "preview": {
+ "width": "259",
+ "height": "146",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-preview.mp4",
+ "mp4_size": "34678"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "203132",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100.mp4",
+ "mp4_size": "42622",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100.webp",
+ "webp_size": "49300"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-downsized_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "56765"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1148776"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1148776"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "5076"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-preview.webp",
+ "width": "299",
+ "height": "168",
+ "size": "49884"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "14261"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "79295",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100w.mp4",
+ "mp4_size": "19940",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/100w.webp",
+ "webp_size": "24616"
+ },
+ "downsized_small": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-downsized-small.mp4",
+ "mp4_size": "168258"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "80857",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200w_d.webp",
+ "webp_size": "18578"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1148776"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "1148776",
+ "frames": "19",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.mp4",
+ "mp4_size": "168258",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.webp",
+ "webp_size": "190314",
+ "hash": "2f149b9765c1f23ecf25f58fb1f91b05"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "712106",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200.mp4",
+ "mp4_size": "109131",
+ "webp": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/200.webp",
+ "webp_size": "129556"
+ },
+ "hd": {
+ "width": "1920",
+ "height": "1080",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-hd.mp4",
+ "mp4_size": "1500802"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-loop.mp4",
+ "mp4_size": "1804443"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy.mp4",
+ "mp4_size": "168258"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/Ph83zh3vp39652AxX9/giphy-preview.gif",
+ "width": "128",
+ "height": "72",
+ "size": "48551"
+ },
+ "480w_still": {
+ "url": "https://media2.giphy.com/media/Ph83zh3vp39652AxX9/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "cardi b GIF by Maroon 5",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "QMJgdNgjPBpwMOkvJv",
+ "slug": "maroon5-maroon-5-cardi-b-QMJgdNgjPBpwMOkvJv",
+ "url": "https://giphy.com/gifs/maroon5-maroon-5-cardi-b-QMJgdNgjPBpwMOkvJv",
+ "bitly_gif_url": "https://gph.is/2HcREOZ",
+ "bitly_url": "https://gph.is/2HcREOZ",
+ "embed_url": "https://giphy.com/embed/QMJgdNgjPBpwMOkvJv",
+ "username": "maroon5",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-01 15:22:09",
+ "trending_datetime": "2018-07-11 15:11:58",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/maroon5/PEbr2UyzWosE.jpg",
+ "banner_url": "https://media.giphy.com/headers/maroon5/SWw8125Em2NK.jpg",
+ "profile_url": "https://giphy.com/maroon5/",
+ "username": "maroon5",
+ "display_name": "Maroon 5",
+ "guid": "ZnJlZGRpZSttYXJvb241QGNhbWFuYWdlbWVudC5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200_s.gif",
+ "width": "356",
+ "height": "200",
+ "size": "33137"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy_s.gif",
+ "width": "480",
+ "height": "270",
+ "size": "55018"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200w.gif",
+ "width": "200",
+ "height": "112",
+ "size": "1165082",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200w.mp4",
+ "mp4_size": "212040",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200w.webp",
+ "webp_size": "306522"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100_s.gif",
+ "width": "178",
+ "height": "100",
+ "size": "10941"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200_d.gif",
+ "width": "356",
+ "height": "200",
+ "size": "248055",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200_d.webp",
+ "webp_size": "55498"
+ },
+ "preview": {
+ "width": "263",
+ "height": "148",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-preview.mp4",
+ "mp4_size": "46925"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100.gif",
+ "width": "178",
+ "height": "100",
+ "size": "883174",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100.mp4",
+ "mp4_size": "196950",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100.webp",
+ "webp_size": "259070"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-downsized_s.gif",
+ "width": "261",
+ "height": "147",
+ "size": "21571"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-downsized.gif",
+ "width": "261",
+ "height": "147",
+ "size": "1401782"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "5426904"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100w_s.gif",
+ "width": "100",
+ "height": "56",
+ "size": "4780"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-preview.webp",
+ "width": "256",
+ "height": "144",
+ "size": "46834"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200w_s.gif",
+ "width": "200",
+ "height": "112",
+ "size": "13546"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100w.gif",
+ "width": "100",
+ "height": "56",
+ "size": "332575",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100w.mp4",
+ "mp4_size": "47642",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/100w.webp",
+ "webp_size": "121276"
+ },
+ "downsized_small": {
+ "width": "238",
+ "height": "134",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-downsized-small.mp4",
+ "mp4_size": "164715"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200w_d.gif",
+ "width": "200",
+ "height": "112",
+ "size": "93381",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200w_d.webp",
+ "webp_size": "24920"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-downsized-medium.gif",
+ "width": "384",
+ "height": "216",
+ "size": "3371200"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy.gif",
+ "width": "480",
+ "height": "270",
+ "size": "5426904",
+ "frames": "73",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy.mp4",
+ "mp4_size": "794852",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy.webp",
+ "webp_size": "1025594",
+ "hash": "88ab4ddeb3db162911c8f1a42f9ab04e"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200.gif",
+ "width": "356",
+ "height": "200",
+ "size": "3181067",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200.mp4",
+ "mp4_size": "509222",
+ "webp": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/200.webp",
+ "webp_size": "688130"
+ },
+ "hd": {
+ "width": "1920",
+ "height": "1080",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-hd.mp4",
+ "mp4_size": "6491910"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-loop.mp4",
+ "mp4_size": "2228862"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "270",
+ "mp4": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy.mp4",
+ "mp4_size": "794852"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/QMJgdNgjPBpwMOkvJv/giphy-preview.gif",
+ "width": "123",
+ "height": "69",
+ "size": "49915"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/QMJgdNgjPBpwMOkvJv/480w_s.jpg",
+ "width": "480",
+ "height": "270"
+ }
+ },
+ "title": "cardi b GIF by Maroon 5",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "3beHyPG9DSsdfDd2zp",
+ "slug": "music-video-rock-lenny-3beHyPG9DSsdfDd2zp",
+ "url": "https://giphy.com/gifs/music-video-rock-lenny-3beHyPG9DSsdfDd2zp",
+ "bitly_gif_url": "https://gph.is/2N7SYqG",
+ "bitly_url": "https://gph.is/2N7SYqG",
+ "embed_url": "https://giphy.com/embed/3beHyPG9DSsdfDd2zp",
+ "username": "lennykravitzofficial",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-29 19:10:39",
+ "trending_datetime": "2018-07-11 22:15:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/LennyKravitzOfficial/pNjTDhoDTywb.jpg",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/lennykravitzofficial/",
+ "username": "lennykravitzofficial",
+ "display_name": "Lenny Kravitz",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "32112"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "137227"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2103801",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200w.mp4",
+ "mp4_size": "303410",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200w.webp",
+ "webp_size": "455140"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "10425"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "190175",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200_d.webp",
+ "webp_size": "42302"
+ },
+ "preview": {
+ "width": "232",
+ "height": "232",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-preview.mp4",
+ "mp4_size": "41499"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "587153",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100.mp4",
+ "mp4_size": "129537",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100.webp",
+ "webp_size": "196066"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-downsized_s.gif",
+ "width": "192",
+ "height": "192",
+ "size": "31955"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-downsized.gif",
+ "width": "192",
+ "height": "192",
+ "size": "1578076"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-downsized-large.gif",
+ "width": "384",
+ "height": "384",
+ "size": "6077513"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "10425"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-preview.webp",
+ "width": "159",
+ "height": "159",
+ "size": "49134"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "32112"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "587153",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100w.mp4",
+ "mp4_size": "48750",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/100w.webp",
+ "webp_size": "196066"
+ },
+ "downsized_small": {
+ "width": "220",
+ "height": "220",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-downsized-small.mp4",
+ "mp4_size": "193529"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "190175",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200w_d.webp",
+ "webp_size": "42302"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-downsized-medium.gif",
+ "width": "276",
+ "height": "276",
+ "size": "3343150"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "9398829",
+ "frames": "68",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy.mp4",
+ "mp4_size": "951421",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy.webp",
+ "webp_size": "1417338",
+ "hash": "bb4341c0eb5c62235cd567926a242312"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2103801",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200.mp4",
+ "mp4_size": "303410",
+ "webp": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/200.webp",
+ "webp_size": "455140"
+ },
+ "hd": {
+ "width": "1200",
+ "height": "1200",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-hd.mp4",
+ "mp4_size": "3787285"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-loop.mp4",
+ "mp4_size": "2938120"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy.mp4",
+ "mp4_size": "951421"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/3beHyPG9DSsdfDd2zp/giphy-preview.gif",
+ "width": "85",
+ "height": "85",
+ "size": "49709"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/3beHyPG9DSsdfDd2zp/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "it ain't over music video GIF by Lenny Kravitz",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "d1RNodjx7ps9zfqCcO",
+ "slug": "music-video-rock-lenny-d1RNodjx7ps9zfqCcO",
+ "url": "https://giphy.com/gifs/music-video-rock-lenny-d1RNodjx7ps9zfqCcO",
+ "bitly_gif_url": "https://gph.is/2lH2sN7",
+ "bitly_url": "https://gph.is/2lH2sN7",
+ "embed_url": "https://giphy.com/embed/d1RNodjx7ps9zfqCcO",
+ "username": "lennykravitzofficial",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-29 19:07:55",
+ "trending_datetime": "2018-07-11 22:00:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/LennyKravitzOfficial/pNjTDhoDTywb.jpg",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/lennykravitzofficial/",
+ "username": "lennykravitzofficial",
+ "display_name": "Lenny Kravitz",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "28564"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "122713"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2420422",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200w.mp4",
+ "mp4_size": "243125",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200w.webp",
+ "webp_size": "706642"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "9248"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "167111",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200_d.webp",
+ "webp_size": "46358"
+ },
+ "preview": {
+ "width": "290",
+ "height": "290",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-preview.mp4",
+ "mp4_size": "31302"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "698309",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100.mp4",
+ "mp4_size": "113027",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100.webp",
+ "webp_size": "275586"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-downsized_s.gif",
+ "width": "227",
+ "height": "227",
+ "size": "37007"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-downsized.gif",
+ "width": "227",
+ "height": "227",
+ "size": "1479867"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-downsized-large.gif",
+ "width": "384",
+ "height": "384",
+ "size": "7306874"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "9248"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-preview.webp",
+ "width": "139",
+ "height": "139",
+ "size": "49092"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "28564"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "698309",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100w.mp4",
+ "mp4_size": "48248",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/100w.webp",
+ "webp_size": "275586"
+ },
+ "downsized_small": {
+ "width": "234",
+ "height": "234",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-downsized-small.mp4",
+ "mp4_size": "148225"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "167111",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200w_d.webp",
+ "webp_size": "46358"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-downsized-medium.gif",
+ "width": "271",
+ "height": "271",
+ "size": "3453042"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "11546453",
+ "frames": "90",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy.mp4",
+ "mp4_size": "837200",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy.webp",
+ "webp_size": "2206964",
+ "hash": "e4fd4850ef8bfe029c8382b40b43afa3"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2420422",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200.mp4",
+ "mp4_size": "243125",
+ "webp": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/200.webp",
+ "webp_size": "706642"
+ },
+ "hd": {
+ "width": "1200",
+ "height": "1200",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-hd.mp4",
+ "mp4_size": "3502154"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-loop.mp4",
+ "mp4_size": "1941828"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy.mp4",
+ "mp4_size": "837200"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/d1RNodjx7ps9zfqCcO/giphy-preview.gif",
+ "width": "81",
+ "height": "81",
+ "size": "48106"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/d1RNodjx7ps9zfqCcO/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "it ain't over music video GIF by Lenny Kravitz",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "vx2sQEjMHD6pUAFCX9",
+ "slug": "music-video-rock-lenny-vx2sQEjMHD6pUAFCX9",
+ "url": "https://giphy.com/gifs/music-video-rock-lenny-vx2sQEjMHD6pUAFCX9",
+ "bitly_gif_url": "https://gph.is/2yUngKt",
+ "bitly_url": "https://gph.is/2yUngKt",
+ "embed_url": "https://giphy.com/embed/vx2sQEjMHD6pUAFCX9",
+ "username": "lennykravitzofficial",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-29 19:11:00",
+ "trending_datetime": "2018-07-11 15:11:19",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/LennyKravitzOfficial/pNjTDhoDTywb.jpg",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/lennykravitzofficial/",
+ "username": "lennykravitzofficial",
+ "display_name": "Lenny Kravitz",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "24379"
+ },
+ "original_still": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "83501"
+ },
+ "fixed_width": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2063721",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200w.mp4",
+ "mp4_size": "185558",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200w.webp",
+ "webp_size": "213254"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "8675"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "109798",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200_d.webp",
+ "webp_size": "10688"
+ },
+ "preview": {
+ "width": "384",
+ "height": "384",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-preview.mp4",
+ "mp4_size": "26433"
+ },
+ "fixed_height_small": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "668773",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100.mp4",
+ "mp4_size": "79621",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100.webp",
+ "webp_size": "106018"
+ },
+ "downsized_still": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-downsized_s.gif",
+ "width": "301",
+ "height": "301",
+ "size": "47251"
+ },
+ "downsized": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-downsized.gif",
+ "width": "301",
+ "height": "301",
+ "size": "1555257"
+ },
+ "downsized_large": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "7405596"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "8675"
+ },
+ "preview_webp": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-preview.webp",
+ "width": "480",
+ "height": "480",
+ "size": "45798"
+ },
+ "fixed_width_still": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "24379"
+ },
+ "fixed_width_small": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "668773",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100w.mp4",
+ "mp4_size": "46589",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/100w.webp",
+ "webp_size": "106018"
+ },
+ "downsized_small": {
+ "width": "274",
+ "height": "274",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-downsized-small.mp4",
+ "mp4_size": "166108"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "109798",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200w_d.webp",
+ "webp_size": "10688"
+ },
+ "downsized_medium": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-downsized-medium.gif",
+ "width": "480",
+ "height": "480",
+ "size": "3676426"
+ },
+ "original": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "7405596",
+ "frames": "135",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy.mp4",
+ "mp4_size": "610418",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy.webp",
+ "webp_size": "548874",
+ "hash": "c59b559d231aab8f5cac27899a561a15"
+ },
+ "fixed_height": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2063721",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200.mp4",
+ "mp4_size": "185558",
+ "webp": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/200.webp",
+ "webp_size": "213254"
+ },
+ "hd": {
+ "width": "1200",
+ "height": "1200",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-hd.mp4",
+ "mp4_size": "2340995"
+ },
+ "looping": {
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-loop.mp4",
+ "mp4_size": "952362"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy.mp4",
+ "mp4_size": "610418"
+ },
+ "preview_gif": {
+ "url": "https://media1.giphy.com/media/vx2sQEjMHD6pUAFCX9/giphy-preview.gif",
+ "width": "101",
+ "height": "101",
+ "size": "48913"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/vx2sQEjMHD6pUAFCX9/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "it ain't over music video GIF by Lenny Kravitz",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "bbB45UPcelAL9qUVsl",
+ "slug": "music-video-rock-lenny-bbB45UPcelAL9qUVsl",
+ "url": "https://giphy.com/gifs/music-video-rock-lenny-bbB45UPcelAL9qUVsl",
+ "bitly_gif_url": "https://gph.is/2NasjK0",
+ "bitly_url": "https://gph.is/2NasjK0",
+ "embed_url": "https://giphy.com/embed/bbB45UPcelAL9qUVsl",
+ "username": "lennykravitzofficial",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-29 19:10:20",
+ "trending_datetime": "2018-07-11 21:30:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/LennyKravitzOfficial/pNjTDhoDTywb.jpg",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/lennykravitzofficial/",
+ "username": "lennykravitzofficial",
+ "display_name": "Lenny Kravitz",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "30700"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "130119"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2101697",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200w.mp4",
+ "mp4_size": "327264",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200w.webp",
+ "webp_size": "406708"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "10030"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "186004",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200_d.webp",
+ "webp_size": "35442"
+ },
+ "preview": {
+ "width": "234",
+ "height": "234",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-preview.mp4",
+ "mp4_size": "45164"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "601815",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100.mp4",
+ "mp4_size": "133651",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100.webp",
+ "webp_size": "176230"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-downsized_s.gif",
+ "width": "192",
+ "height": "192",
+ "size": "30621"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-downsized.gif",
+ "width": "192",
+ "height": "192",
+ "size": "1550040"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-downsized-large.gif",
+ "width": "384",
+ "height": "384",
+ "size": "5951714"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "10030"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-preview.webp",
+ "width": "176",
+ "height": "176",
+ "size": "46994"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "30700"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "601815",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100w.mp4",
+ "mp4_size": "48818",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/100w.webp",
+ "webp_size": "176230"
+ },
+ "downsized_small": {
+ "width": "168",
+ "height": "168",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-downsized-small.mp4",
+ "mp4_size": "179612"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "186004",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200w_d.webp",
+ "webp_size": "35442"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-downsized-medium.gif",
+ "width": "280",
+ "height": "280",
+ "size": "3383200"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "9185110",
+ "frames": "69",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy.mp4",
+ "mp4_size": "1016285",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy.webp",
+ "webp_size": "1204160",
+ "hash": "0ba11abbbe49c9aa9a6ca502f1fbdd39"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "2101697",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200.mp4",
+ "mp4_size": "327264",
+ "webp": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/200.webp",
+ "webp_size": "406708"
+ },
+ "hd": {
+ "width": "1200",
+ "height": "1200",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-hd.mp4",
+ "mp4_size": "4123365"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-loop.mp4",
+ "mp4_size": "3096524"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy.mp4",
+ "mp4_size": "1016285"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/bbB45UPcelAL9qUVsl/giphy-preview.gif",
+ "width": "85",
+ "height": "85",
+ "size": "48373"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/bbB45UPcelAL9qUVsl/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "it ain't over music video GIF by Lenny Kravitz",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "AsA9u7Iup0UVsQKclk",
+ "slug": "music-video-rock-lenny-AsA9u7Iup0UVsQKclk",
+ "url": "https://giphy.com/gifs/music-video-rock-lenny-AsA9u7Iup0UVsQKclk",
+ "bitly_gif_url": "https://gph.is/2tMiOHO",
+ "bitly_url": "https://gph.is/2tMiOHO",
+ "embed_url": "https://giphy.com/embed/AsA9u7Iup0UVsQKclk",
+ "username": "lennykravitzofficial",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2018-06-29 19:04:51",
+ "trending_datetime": "2018-07-11 21:15:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/avatars/LennyKravitzOfficial/pNjTDhoDTywb.jpg",
+ "banner_url": "",
+ "profile_url": "https://giphy.com/lennykravitzofficial/",
+ "username": "lennykravitzofficial",
+ "display_name": "Lenny Kravitz",
+ "guid": ""
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "27079"
+ },
+ "original_still": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy_s.gif",
+ "width": "480",
+ "height": "480",
+ "size": "101648"
+ },
+ "fixed_width": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200w.gif",
+ "width": "200",
+ "height": "200",
+ "size": "3301272",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200w.mp4",
+ "mp4_size": "390887",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200w.webp",
+ "webp_size": "456610"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "9163"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "162731",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200_d.webp",
+ "webp_size": "22384"
+ },
+ "preview": {
+ "width": "276",
+ "height": "276",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-preview.mp4",
+ "mp4_size": "38963"
+ },
+ "fixed_height_small": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100.gif",
+ "width": "100",
+ "height": "100",
+ "size": "997123",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100.mp4",
+ "mp4_size": "167295",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100.webp",
+ "webp_size": "225060"
+ },
+ "downsized_still": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-downsized_s.gif",
+ "width": "208",
+ "height": "208",
+ "size": "29955"
+ },
+ "downsized": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-downsized.gif",
+ "width": "208",
+ "height": "208",
+ "size": "1693492"
+ },
+ "downsized_large": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-downsized-large.gif",
+ "width": "384",
+ "height": "384",
+ "size": "7856058"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100w_s.gif",
+ "width": "100",
+ "height": "100",
+ "size": "9163"
+ },
+ "preview_webp": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-preview.webp",
+ "width": "280",
+ "height": "280",
+ "size": "49964"
+ },
+ "fixed_width_still": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200w_s.gif",
+ "width": "200",
+ "height": "200",
+ "size": "27079"
+ },
+ "fixed_width_small": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100w.gif",
+ "width": "100",
+ "height": "100",
+ "size": "997123",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100w.mp4",
+ "mp4_size": "46793",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/100w.webp",
+ "webp_size": "225060"
+ },
+ "downsized_small": {
+ "width": "152",
+ "height": "152",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-downsized-small.mp4",
+ "mp4_size": "182867"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200w_d.gif",
+ "width": "200",
+ "height": "200",
+ "size": "162731",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200w_d.webp",
+ "webp_size": "22384"
+ },
+ "downsized_medium": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-downsized-medium.gif",
+ "width": "384",
+ "height": "384",
+ "size": "4914759"
+ },
+ "original": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy.gif",
+ "width": "480",
+ "height": "480",
+ "size": "14139046",
+ "frames": "124",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy.mp4",
+ "mp4_size": "1236474",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy.webp",
+ "webp_size": "1133090",
+ "hash": "0b95b1b6131420cab735f562189f69a3"
+ },
+ "fixed_height": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200.gif",
+ "width": "200",
+ "height": "200",
+ "size": "3301272",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200.mp4",
+ "mp4_size": "390887",
+ "webp": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/200.webp",
+ "webp_size": "456610"
+ },
+ "hd": {
+ "width": "1200",
+ "height": "1200",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-hd.mp4",
+ "mp4_size": "4469240"
+ },
+ "looping": {
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-loop.mp4",
+ "mp4_size": "2076445"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "480",
+ "mp4": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy.mp4",
+ "mp4_size": "1236474"
+ },
+ "preview_gif": {
+ "url": "https://media0.giphy.com/media/AsA9u7Iup0UVsQKclk/giphy-preview.gif",
+ "width": "82",
+ "height": "82",
+ "size": "48014"
+ },
+ "480w_still": {
+ "url": "https://media1.giphy.com/media/AsA9u7Iup0UVsQKclk/480w_s.jpg",
+ "width": "480",
+ "height": "480"
+ }
+ },
+ "title": "it ain't over music video GIF by Lenny Kravitz",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "3o6wrCGevaM9E0Jlo4",
+ "slug": "gilmoregirls-netflix-gilmore-girls-3o6wrCGevaM9E0Jlo4",
+ "url": "https://giphy.com/gifs/gilmoregirls-netflix-gilmore-girls-3o6wrCGevaM9E0Jlo4",
+ "bitly_gif_url": "https://gph.is/2frLVIC",
+ "bitly_url": "https://gph.is/2frLVIC",
+ "embed_url": "https://giphy.com/embed/3o6wrCGevaM9E0Jlo4",
+ "username": "gilmoregirls",
+ "source": "",
+ "rating": "g",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2016-11-11 19:28:43",
+ "trending_datetime": "2018-07-11 21:00:01",
+ "user": {
+ "avatar_url": "https://media.giphy.com/channel_assets/gilmoregirls/Z7UIgXCANSoA.png",
+ "banner_url": "https://media.giphy.com/channel_assets/netflixgg/OnO4LqQZkJMa.png",
+ "profile_url": "https://giphy.com/gilmoregirls/",
+ "username": "gilmoregirls",
+ "display_name": "Gilmore Girls ",
+ "guid": "ZGF2aWRAcmFscGhhbmRjby5jb20"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200_s.gif",
+ "width": "268",
+ "height": "200",
+ "size": "39524"
+ },
+ "original_still": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy_s.gif",
+ "width": "480",
+ "height": "358",
+ "size": "100763"
+ },
+ "fixed_width": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200w.gif",
+ "width": "200",
+ "height": "150",
+ "size": "413103",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200w.mp4",
+ "mp4_size": "19580",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200w.webp",
+ "webp_size": "203298"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100_s.gif",
+ "width": "134",
+ "height": "100",
+ "size": "12282"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200_d.gif",
+ "width": "268",
+ "height": "200",
+ "size": "208264",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200_d.webp",
+ "webp_size": "52494"
+ },
+ "preview": {
+ "width": "384",
+ "height": "286",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-preview.mp4",
+ "mp4_size": "20643"
+ },
+ "fixed_height_small": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100.gif",
+ "width": "134",
+ "height": "100",
+ "size": "203953",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100.mp4",
+ "mp4_size": "12020",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100.webp",
+ "webp_size": "117570"
+ },
+ "downsized_still": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-downsized_s.gif",
+ "width": "480",
+ "height": "358",
+ "size": "100763"
+ },
+ "downsized": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-downsized.gif",
+ "width": "480",
+ "height": "358",
+ "size": "1910861"
+ },
+ "downsized_large": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy.gif",
+ "width": "480",
+ "height": "358",
+ "size": "1910861"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100w_s.gif",
+ "width": "100",
+ "height": "75",
+ "size": "7810"
+ },
+ "preview_webp": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-preview.webp",
+ "width": "197",
+ "height": "147",
+ "size": "48874"
+ },
+ "fixed_width_still": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200w_s.gif",
+ "width": "200",
+ "height": "150",
+ "size": "24338"
+ },
+ "fixed_width_small": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100w.gif",
+ "width": "100",
+ "height": "75",
+ "size": "120306",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100w.mp4",
+ "mp4_size": "8083",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/100w.webp",
+ "webp_size": "78944"
+ },
+ "downsized_small": {
+ "width": "480",
+ "height": "358",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-downsized-small.mp4",
+ "mp4_size": "72770"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200w_d.gif",
+ "width": "200",
+ "height": "150",
+ "size": "125735",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200w_d.webp",
+ "webp_size": "34604"
+ },
+ "downsized_medium": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy.gif",
+ "width": "480",
+ "height": "358",
+ "size": "1910861"
+ },
+ "original": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy.gif",
+ "width": "480",
+ "height": "358",
+ "size": "1910861",
+ "frames": "38",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy.mp4",
+ "mp4_size": "72770",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy.webp",
+ "webp_size": "588324",
+ "hash": "33c019cafc67a8716729b475e3dac140"
+ },
+ "fixed_height": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200.gif",
+ "width": "268",
+ "height": "200",
+ "size": "706486",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200.mp4",
+ "mp4_size": "28759",
+ "webp": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/200.webp",
+ "webp_size": "295266"
+ },
+ "looping": {
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-loop.mp4",
+ "mp4_size": "450594"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "358",
+ "mp4": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy.mp4",
+ "mp4_size": "72770"
+ },
+ "preview_gif": {
+ "url": "https://media2.giphy.com/media/3o6wrCGevaM9E0Jlo4/giphy-preview.gif",
+ "width": "134",
+ "height": "100",
+ "size": "47370"
+ },
+ "480w_still": {
+ "url": "https://media4.giphy.com/media/3o6wrCGevaM9E0Jlo4/480w_s.jpg",
+ "width": "480",
+ "height": "358"
+ }
+ },
+ "title": "season 3 netflix GIF by Gilmore Girls ",
+ "_score": 0
+ },
+ {
+ "type": "gif",
+ "id": "3o6gE0ad4RlMefMd2w",
+ "slug": "sporzaredactie-spain-euro-2016-sporza-3o6gE0ad4RlMefMd2w",
+ "url": "https://giphy.com/gifs/sporzaredactie-spain-euro-2016-sporza-3o6gE0ad4RlMefMd2w",
+ "bitly_gif_url": "https://gph.is/28Tdt7V",
+ "bitly_url": "https://gph.is/28Tdt7V",
+ "embed_url": "https://giphy.com/embed/3o6gE0ad4RlMefMd2w",
+ "username": "sporzaredactie",
+ "source": "",
+ "rating": "pg",
+ "content_url": "",
+ "source_tld": "",
+ "source_post_url": "",
+ "is_sticker": 0,
+ "import_datetime": "2016-06-21 20:50:03",
+ "trending_datetime": "2016-06-22 07:30:03",
+ "user": {
+ "avatar_url": "https://media1.giphy.com/avatars/sporzaredactie/e3oxkvg1wYNm.png",
+ "avatar": "https://media1.giphy.com/avatars/sporzaredactie/e3oxkvg1wYNm.png",
+ "banner_url": "https://media1.giphy.com/headers/sporzaredactie/gtUML7UmiYBt.png",
+ "banner_image": "https://media1.giphy.com/headers/sporzaredactie/gtUML7UmiYBt.png",
+ "profile_url": "https://giphy.com/sporzaredactie/",
+ "username": "sporzaredactie",
+ "display_name": "Sporza"
+ },
+ "images": {
+ "fixed_height_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200_s.gif",
+ "width": "362",
+ "height": "200"
+ },
+ "original_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy_s.gif",
+ "width": "480",
+ "height": "265"
+ },
+ "fixed_width": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200w.gif",
+ "width": "200",
+ "height": "110",
+ "size": "489827",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200w.mp4",
+ "mp4_size": "40202",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200w.webp",
+ "webp_size": "193962"
+ },
+ "fixed_height_small_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100_s.gif",
+ "width": "181",
+ "height": "100"
+ },
+ "fixed_height_downsampled": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200_d.gif",
+ "width": "362",
+ "height": "200",
+ "size": "219040",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200_d.webp",
+ "webp_size": "70958"
+ },
+ "preview": {
+ "width": "208",
+ "height": "114",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-preview.mp4",
+ "mp4_size": "34755"
+ },
+ "fixed_height_small": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100.gif",
+ "width": "181",
+ "height": "100",
+ "size": "439660",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100.mp4",
+ "mp4_size": "35268",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100.webp",
+ "webp_size": "175680"
+ },
+ "downsized_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-downsized_s.gif",
+ "width": "250",
+ "height": "138",
+ "size": "16776"
+ },
+ "downsized": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-downsized.gif",
+ "width": "250",
+ "height": "138",
+ "size": "716619"
+ },
+ "downsized_large": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy.gif",
+ "width": "480",
+ "height": "265",
+ "size": "2766141"
+ },
+ "fixed_width_small_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100w_s.gif",
+ "width": "100",
+ "height": "55"
+ },
+ "preview_webp": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-preview.webp",
+ "width": "235",
+ "height": "130",
+ "size": "49158"
+ },
+ "fixed_width_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200w_s.gif",
+ "width": "200",
+ "height": "110"
+ },
+ "fixed_width_small": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100w.gif",
+ "width": "100",
+ "height": "55",
+ "size": "163546",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100w.mp4",
+ "mp4_size": "16618",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/100w.webp",
+ "webp_size": "75228"
+ },
+ "downsized_small": {
+ "width": "480",
+ "height": "264",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-downsized-small.mp4",
+ "mp4_size": "169786"
+ },
+ "fixed_width_downsampled": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200w_d.gif",
+ "width": "200",
+ "height": "110",
+ "size": "74028",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200w_d.webp",
+ "webp_size": "27558"
+ },
+ "downsized_medium": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy.gif",
+ "width": "480",
+ "height": "265",
+ "size": "2766141"
+ },
+ "original": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy.gif",
+ "width": "480",
+ "height": "265",
+ "size": "2766141",
+ "frames": "42",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy.mp4",
+ "mp4_size": "169153",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy.webp",
+ "webp_size": "893470"
+ },
+ "fixed_height": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200.gif",
+ "width": "362",
+ "height": "200",
+ "size": "1467152",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200.mp4",
+ "mp4_size": "92593",
+ "webp": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/200.webp",
+ "webp_size": "500924"
+ },
+ "looping": {
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-loop.mp4",
+ "mp4_size": "1319381"
+ },
+ "original_mp4": {
+ "width": "480",
+ "height": "264",
+ "mp4": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy.mp4",
+ "mp4_size": "169153"
+ },
+ "preview_gif": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/giphy-preview.gif",
+ "width": "136",
+ "height": "75",
+ "size": "49965"
+ },
+ "480w_still": {
+ "url": "https://media3.giphy.com/media/3o6gE0ad4RlMefMd2w/480w_s.jpg",
+ "width": "480",
+ "height": "265"
+ }
+ },
+ "title": "excited euro 2016 GIF by Sporza",
+ "_score": 0
+ }
+ ]
\ No newline at end of file
diff --git a/src/test/Header.test.tsx b/src/test/Header.test.tsx
new file mode 100644
index 00000000..5f1b8aab
--- /dev/null
+++ b/src/test/Header.test.tsx
@@ -0,0 +1,7 @@
+import * as React from 'react';
+import { shallow } from 'enzyme';
+import Header from '../components/presentational/Header';
+
+it('renders without crashing', () => {
+ shallow();
+});
diff --git a/src/test/Search.test.tsx b/src/test/Search.test.tsx
new file mode 100644
index 00000000..b5c4675a
--- /dev/null
+++ b/src/test/Search.test.tsx
@@ -0,0 +1,89 @@
+import * as React from 'react';
+import 'jest-enzyme';
+import 'jest-styled-components'
+import configureStore from 'redux-mock-store'
+import { mount, shallow, render } from 'enzyme';
+import SearchContainer, { Search } from '../components/Search';
+import { Provider } from 'react-redux';
+
+describe('Search', () => {
+ const mockStore = configureStore();
+ let store: any;
+
+ beforeEach(() => {
+ store = mockStore();
+ })
+
+ it('renders withouth crashing', () => {
+ const wrapper = mount( );
+ expect(wrapper).toMatchSnapshot();
+ });
+
+ it('renders with the given query as value', () => {
+ const QUERY = 'Game of Thrones';
+ store = mockStore({ search: QUERY })
+
+ const wrapper = mount(
+
+ );
+ expect(wrapper).toMatchSnapshot();
+ expect(wrapper.find('input')).toHaveValue(QUERY);
+ });
+
+ describe('when clearing the text input', () => {
+ it('dispatches the fetch_gifs action', () => {
+ const fetch_gifs_fn = jest.fn();
+ const search_fn = jest.fn();
+
+ const event = { target: { value: '' } }
+
+ const wrapper = mount(
+
+ )
+
+ wrapper.find('Search').simulate('change', event);
+
+ expect(search_fn).not.toHaveBeenCalled();
+ expect(fetch_gifs_fn).toHaveBeenCalled();
+ });
+ });
+
+ describe('when typing less than 3 characters', () => {
+ it('does not call any action', () => {
+ const fetch_gifs_fn = jest.fn();
+ const search_fn = jest.fn();
+
+ const event = { target: { value: 'dr' } }
+
+ const wrapper = mount(
+
+ );
+
+ wrapper.find('Search').simulate('change', event);
+
+ expect(search_fn).not.toHaveBeenCalled();
+ expect(fetch_gifs_fn).not.toHaveBeenCalled();
+ });
+ });
+
+ describe('when typing more than 3 characters', () => {
+ it('dispatches the search action', () => {
+ const QUERY = 'dragon ball';
+
+ const fetch_gifs_fn = jest.fn();
+ const search_fn = jest.fn();
+
+ const event = { target: { value: QUERY } }
+
+ const wrapper = mount(
+
+ );
+
+ wrapper.find('Search').simulate('change', event);
+
+ expect(search_fn).toHaveBeenCalledWith(QUERY);
+ expect(fetch_gifs_fn).not.toHaveBeenCalled();
+ });
+ });
+});
\ No newline at end of file
diff --git a/src/test/__snapshots__/FavButton.test.tsx.snap b/src/test/__snapshots__/FavButton.test.tsx.snap
new file mode 100644
index 00000000..cf1e9b29
--- /dev/null
+++ b/src/test/__snapshots__/FavButton.test.tsx.snap
@@ -0,0 +1,7 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`FavButton matches snapshot 1`] = `
+
+ ♥
+
+`;
diff --git a/src/test/__snapshots__/FavsView.test.tsx.snap b/src/test/__snapshots__/FavsView.test.tsx.snap
new file mode 100644
index 00000000..ec73a4e9
--- /dev/null
+++ b/src/test/__snapshots__/FavsView.test.tsx.snap
@@ -0,0 +1,4894 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`FavsSearch renders without crashing 1`] = `
+.c5 {
+ background: none;
+ height: 32px;
+ font-size: 20px;
+ line-height: 32px;
+ color: #FC4349;
+ margin: 10px;
+ opacity: 0.7;
+ border: none;
+ width: 32px;
+ border-radius: 50%;
+ -webkit-transition: opacity 0.25s;
+ transition: opacity 0.25s;
+}
+
+.c5:hover {
+ opacity: 1.0;
+}
+
+.c2 {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: space-around;
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: space-around;
+ justify-content: space-around;
+}
+
+.c3 {
+ position: relative;
+ overflow: hidden;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin: 1em;
+}
+
+.c4 {
+ position: absolute;
+ top: 0px;
+ min-height: 32px;
+ text-align: center;
+ background-color: rgba(0,0,0,0.5);
+ color: #FFF;
+ width: 100%;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-align-items: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.c4 small {
+ padding: 1em;
+ text-align: center;
+}
+
+.c1 {
+ width: 100%;
+ padding: 6px;
+ margin: 0 auto;
+ box-shadow: none;
+ color: #333;
+ box-sizing: border-box;
+}
+
+.c1:focus {
+ outline: none;
+}
+
+.c0 {
+ width: 100%;
+ max-width: 320px;
+ margin: 0 auto;
+}
+
+
+
+
+
+
+ Your favorite GIFS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ amazing race GIF by CTV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ andy cohen fox GIF by loveconnectionfox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chris evans lol GIF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 3 facebook watch GIF by Ball in the Family
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hot dog days GIF by Wrecked
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ white wine laughing GIF by T. Kyle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/test/__snapshots__/GIFList.test.tsx.snap b/src/test/__snapshots__/GIFList.test.tsx.snap
new file mode 100644
index 00000000..f1654289
--- /dev/null
+++ b/src/test/__snapshots__/GIFList.test.tsx.snap
@@ -0,0 +1,10670 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`GIFList renders withouth crashing 1`] = `
+.c3 {
+ background: none;
+ height: 32px;
+ font-size: 20px;
+ line-height: 32px;
+ color: #FFF;
+ margin: 10px;
+ opacity: 0.7;
+ border: none;
+ width: 32px;
+ border-radius: 50%;
+ -webkit-transition: opacity 0.25s;
+ transition: opacity 0.25s;
+}
+
+.c3:hover {
+ opacity: 1.0;
+}
+
+.c0 {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: space-around;
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: space-around;
+ justify-content: space-around;
+}
+
+.c1 {
+ position: relative;
+ overflow: hidden;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ margin: 1em;
+}
+
+.c2 {
+ position: absolute;
+ top: 0px;
+ min-height: 32px;
+ text-align: center;
+ background-color: rgba(0,0,0,0.5);
+ color: #FFF;
+ width: 100%;
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-direction: row;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-pack: justify;
+ -webkit-justify-content: space-between;
+ -ms-flex-pack: justify;
+ justify-content: space-between;
+ -webkit-align-items: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+}
+
+.c2 small {
+ padding: 1em;
+ text-align: center;
+}
+
+
+
+
+
+
+
+
+
+
+
+ amazing race GIF by CTV
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ andy cohen fox GIF by loveconnectionfox
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ chris evans lol GIF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 3 facebook watch GIF by Ball in the Family
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hot dog days GIF by Wrecked
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ white wine laughing GIF by T. Kyle
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ whatsapp status GIF by good-morning
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ oh no GIF by The Maury Show
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 3 omg GIF by Ball in the Family
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 2 nbc GIF by Marlon
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 2 abc GIF by The Gong Show
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ illustration abc GIF by Kochstrasse™
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 3 tina GIF by Ball in the Family
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cardi b GIF by Maroon 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cardi b GIF by Maroon 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cardi b GIF by Maroon 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cardi b GIF by Maroon 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ cardi b GIF by Maroon 5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ it ain't over music video GIF by Lenny Kravitz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ it ain't over music video GIF by Lenny Kravitz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ it ain't over music video GIF by Lenny Kravitz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ it ain't over music video GIF by Lenny Kravitz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ it ain't over music video GIF by Lenny Kravitz
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ season 3 netflix GIF by Gilmore Girls
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ excited euro 2016 GIF by Sporza
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`GIFList with empty GIFS it displays an message 1`] = `
+.c0 {
+ display: -webkit-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: space-around;
+ -webkit-justify-content: space-around;
+ -ms-flex-pack: space-around;
+ justify-content: space-around;
+}
+
+
+
+
+
+
+
+ No GIFs found!
+
+
+
+
+
+
+`;
diff --git a/src/test/__snapshots__/Search.test.tsx.snap b/src/test/__snapshots__/Search.test.tsx.snap
new file mode 100644
index 00000000..0dc3b2b2
--- /dev/null
+++ b/src/test/__snapshots__/Search.test.tsx.snap
@@ -0,0 +1,91 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Search renders with the given query as value 1`] = `
+.c0 {
+ width: 100%;
+ padding: 6px;
+ margin: 0 auto;
+ box-shadow: none;
+ color: #333;
+ box-sizing: border-box;
+}
+
+.c0:focus {
+ outline: none;
+}
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`Search renders withouth crashing 1`] = `
+.c0 {
+ width: 100%;
+ padding: 6px;
+ margin: 0 auto;
+ box-shadow: none;
+ color: #333;
+ box-sizing: border-box;
+}
+
+.c0:focus {
+ outline: none;
+}
+
+
+
+
+
+
+`;
diff --git a/src/test/actions/gifs.test.ts b/src/test/actions/gifs.test.ts
new file mode 100644
index 00000000..e916f743
--- /dev/null
+++ b/src/test/actions/gifs.test.ts
@@ -0,0 +1,50 @@
+import * as Actions from '../../actions/gifs'
+import * as GIFS from '../GIFS.json'
+
+describe('actions > create an action to', () => {
+
+ it('filter the favorites', () => {
+ const payload = 'dragon';
+ const expectedAction = {
+ type: Actions.FILTER_FAVS,
+ payload
+ }
+ expect(Actions.filter_favs(payload))
+ .toEqual(expectedAction)
+ })
+
+ it('toggle as favorite a GIF', () => {
+ const payload = GIFS[0];
+ const expectedAction = {
+ type: Actions.TOGGLE_FAVORITE,
+ payload
+ }
+ expect(Actions.toggle_favorite(payload))
+ .toEqual(expectedAction)
+ })
+
+ it('search in the trending GIFS', () => {
+ const payload = 'All might';
+ const expectedAction = {
+ type: Actions.SEARCH_TRENDING,
+ payload
+ }
+ expect(Actions.search_trending(payload))
+ .toEqual(expectedAction)
+ })
+
+ describe('fetch gifs from Trending API', () => {
+
+ it('starts fetching', () => {
+ const expectedAction = { type: Actions.FETCH_TRENDING }
+ expect(Actions.fetch_gifs())
+ .toEqual(expectedAction)
+ })
+
+ it('notify when fetch is done', () => {
+ const expectedAction = { type: Actions.FETCHED_TRENDING }
+ expect(Actions.fetched_gifs())
+ .toEqual(expectedAction)
+ })
+ });
+})
diff --git a/src/test/api.test.ts b/src/test/api.test.ts
new file mode 100644
index 00000000..176656e6
--- /dev/null
+++ b/src/test/api.test.ts
@@ -0,0 +1,17 @@
+import axios from 'axios';
+import 'ts-jest'
+import { search, getTrending } from '../api'
+
+// jest.mock('axios');
+
+describe('API', () => {
+ it('#getTrending', async () => {
+ // axios.get.mockResolvedValue(false);
+ const data = await getTrending();
+ expect(data).toBeDefined();
+ });
+ it('#search', async () => {
+ const data = await search('goku');
+ expect(data).toBeDefined();
+ });
+});
\ No newline at end of file
diff --git a/src/test/testA.test.js b/src/test/testA.test.js
deleted file mode 100644
index 9da7def2..00000000
--- a/src/test/testA.test.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import React from 'react';
-import { shallow } from 'enzyme';
-const ABC = ({ children }) => {children}
;
-
-describe('test', () => {
- it('will work', () => {
- const component = shallow(hola);
- expect(component.text()).toBe('hola');
- });
-});
diff --git a/src/types/index.d.ts b/src/types/index.d.ts
new file mode 100644
index 00000000..1f1be8bd
--- /dev/null
+++ b/src/types/index.d.ts
@@ -0,0 +1,27 @@
+export interface IImageObject {
+ url: string
+ width: number
+ height: number
+}
+export interface IGIF {
+ id: string
+ slug: string
+ url: string
+ // Image Objects. See:
+ // https://developers.giphy.com/docs/#rendition-guide
+ images: {
+ original: IImageObject
+ fixed_height: IImageObject
+ }
+ title: string
+}
+
+export interface FavsCollection {
+ [id: string]: IGIF
+}
+export interface AppState {
+ readonly favs: FavsCollection
+ readonly trending: IGIF[]
+ readonly search: string
+ readonly filter_favs: string
+}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 00000000..4419f5f9
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,31 @@
+{
+ "compilerOptions": {
+ "baseUrl": ".",
+ "outDir": "build/dist",
+ "module": "esnext",
+ "target": "es5",
+ "lib": ["es6", "dom"],
+ "sourceMap": true,
+ "allowJs": true,
+ "jsx": "react",
+ "moduleResolution": "node",
+ "rootDir": "src",
+ "forceConsistentCasingInFileNames": true,
+ "noImplicitReturns": true,
+ "noImplicitThis": true,
+ "noImplicitAny": true,
+ "strictNullChecks": true,
+ "suppressImplicitAnyIndexErrors": true,
+ "noUnusedLocals": false,
+ "downlevelIteration": true
+ },
+ "exclude": [
+ "node_modules",
+ "build",
+ "scripts",
+ "acceptance-tests",
+ "webpack",
+ "jest",
+ "src/setupTests.ts"
+ ]
+}
diff --git a/tsconfig.prod.json b/tsconfig.prod.json
new file mode 100644
index 00000000..4144216d
--- /dev/null
+++ b/tsconfig.prod.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./tsconfig.json"
+}
\ No newline at end of file
diff --git a/tsconfig.test.json b/tsconfig.test.json
new file mode 100644
index 00000000..65ffdd49
--- /dev/null
+++ b/tsconfig.test.json
@@ -0,0 +1,6 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "commonjs"
+ }
+}
\ No newline at end of file
diff --git a/tslint.json b/tslint.json
new file mode 100644
index 00000000..59956dee
--- /dev/null
+++ b/tslint.json
@@ -0,0 +1,20 @@
+{
+ "extends": ["tslint:recommended", "tslint-react", "tslint-config-prettier"],
+ "linterOptions": {
+ "exclude": [
+ "config/**/*.js",
+ "coverage/**/*.js",
+ "dist/**/*.js",
+ "node_modules/**/*.ts"
+ ]
+ },
+ "rules": {
+ "variable-name": [ true, "ban-keywords", "check-format", "allow-leading-underscore", "allow-snake-case", "allow-pascal-case" ],
+ "object-literal-sort-keys": false,
+ "jsx-boolean-value": false,
+ "ordered-imports": false,
+ "curly": [true, "ignore-same-line"],
+ "no-console": false
+ },
+ "defaultSeverity": "warning"
+}
diff --git a/yarn.lock b/yarn.lock
index 927c6773..15abeeb5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,11 +2,140 @@
# yarn lockfile v1
-"@types/node@*":
- version "9.4.6"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-9.4.6.tgz#d8176d864ee48753d053783e4e463aec86b8d82e"
+"@babel/code-frame@^7.0.0-beta.35":
+ version "7.0.0-beta.52"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0-beta.52.tgz#192483bfa0d1e467c101571c21029ccb74af2801"
+ dependencies:
+ "@babel/highlight" "7.0.0-beta.52"
+
+"@babel/highlight@7.0.0-beta.52":
+ version "7.0.0-beta.52"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.52.tgz#ef24931432f06155e7bc39cdb8a6b37b4a28b3d0"
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^3.0.0"
+
+"@types/babel-core@^6.25.5":
+ version "6.25.5"
+ resolved "https://registry.yarnpkg.com/@types/babel-core/-/babel-core-6.25.5.tgz#7598b1287c2cb5a8e9150d60e4d4a8f2dbe29982"
+ dependencies:
+ "@types/babel-generator" "*"
+ "@types/babel-template" "*"
+ "@types/babel-traverse" "*"
+ "@types/babel-types" "*"
+ "@types/babylon" "*"
+
+"@types/babel-generator@*":
+ version "6.25.2"
+ resolved "https://registry.yarnpkg.com/@types/babel-generator/-/babel-generator-6.25.2.tgz#fa13653ec2d34a4037be9c34dec32ae75bea04cc"
+ dependencies:
+ "@types/babel-types" "*"
+
+"@types/babel-template@*":
+ version "6.25.1"
+ resolved "https://registry.yarnpkg.com/@types/babel-template/-/babel-template-6.25.1.tgz#03e23a893c16bab2ec00200ab51feccf488cae78"
+ dependencies:
+ "@types/babel-types" "*"
+ "@types/babylon" "*"
+
+"@types/babel-traverse@*":
+ version "6.25.4"
+ resolved "https://registry.yarnpkg.com/@types/babel-traverse/-/babel-traverse-6.25.4.tgz#269af6a25c80419b635c8fa29ae42b0d5ce2418c"
+ dependencies:
+ "@types/babel-types" "*"
+
+"@types/babel-types@*":
+ version "7.0.4"
+ resolved "https://registry.yarnpkg.com/@types/babel-types/-/babel-types-7.0.4.tgz#bfd5b0d0d1ba13e351dff65b6e52783b816826c8"
+
+"@types/babylon@*":
+ version "6.16.3"
+ resolved "https://registry.yarnpkg.com/@types/babylon/-/babylon-6.16.3.tgz#c2937813a89fcb5e79a00062fc4a8b143e7237bb"
+ dependencies:
+ "@types/babel-types" "*"
+
+"@types/cheerio@*":
+ version "0.22.8"
+ resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.8.tgz#5702f74f78b73e13f1eb1bd435c2c9de61a250d4"
+
+"@types/enzyme-adapter-react-16@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@types/enzyme-adapter-react-16/-/enzyme-adapter-react-16-1.0.2.tgz#15ae37c64d6221a6f4b3a4aacc357cf773859de4"
+ dependencies:
+ "@types/enzyme" "*"
+
+"@types/enzyme@*", "@types/enzyme@^3.1.11":
+ version "3.1.11"
+ resolved "https://registry.yarnpkg.com/@types/enzyme/-/enzyme-3.1.11.tgz#0a059d2fe2c686f024ada911d24473cdb2e13903"
+ dependencies:
+ "@types/cheerio" "*"
+ "@types/react" "*"
+
+"@types/history@*":
+ version "4.6.2"
+ resolved "https://registry.yarnpkg.com/@types/history/-/history-4.6.2.tgz#12cfaba693ba20f114ed5765467ff25fdf67ddb0"
+
+"@types/jest@^23.1.5":
+ version "23.1.5"
+ resolved "https://registry.yarnpkg.com/@types/jest/-/jest-23.1.5.tgz#e31be003956e1fa8c860124d99bea9ae327ae37b"
+
+"@types/node@*", "@types/node@^10.5.2":
+ version "10.5.2"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.5.2.tgz#f19f05314d5421fe37e74153254201a7bf00a707"
+
+"@types/react-dom@^16.0.6":
+ version "16.0.6"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.0.6.tgz#f1a65a4e7be8ed5d123f8b3b9eacc913e35a1a3c"
+ dependencies:
+ "@types/node" "*"
+ "@types/react" "*"
+
+"@types/react-redux@^6.0.3":
+ version "6.0.3"
+ resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-6.0.3.tgz#7e8a86cce1c453166056bce9d4eb5cab5a2cfe13"
+ dependencies:
+ "@types/react" "*"
+ redux "^4.0.0"
+
+"@types/react-router-dom@^4.2.7":
+ version "4.2.7"
+ resolved "https://registry.yarnpkg.com/@types/react-router-dom/-/react-router-dom-4.2.7.tgz#9d36bfe175f916dd8d7b6b0237feed6cce376b4c"
+ dependencies:
+ "@types/history" "*"
+ "@types/react" "*"
+ "@types/react-router" "*"
+
+"@types/react-router@*":
+ version "4.0.28"
+ resolved "https://registry.yarnpkg.com/@types/react-router/-/react-router-4.0.28.tgz#b0445fc38613c81e92ca9ec0e08ab36697d51003"
+ dependencies:
+ "@types/history" "*"
+ "@types/react" "*"
+
+"@types/react-test-renderer@^16.0.1":
+ version "16.0.1"
+ resolved "https://registry.yarnpkg.com/@types/react-test-renderer/-/react-test-renderer-16.0.1.tgz#36ee8c4fe33c61d460ad0e7bc42a2d0ddcc775a1"
+ dependencies:
+ "@types/react" "*"
+
+"@types/react@*", "@types/react@^16.4.6":
+ version "16.4.6"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-16.4.6.tgz#5024957c6bcef4f02823accf5974faba2e54fada"
+ dependencies:
+ csstype "^2.2.0"
+
+"@types/redux-actions@^2.3.0":
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@types/redux-actions/-/redux-actions-2.3.0.tgz#d28d7913ec86ee9e20ecb33a1fed887ecb538149"
+
+"@types/redux-mock-store@^1.0.0":
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/@types/redux-mock-store/-/redux-mock-store-1.0.0.tgz#e06bad2b4ca004bdd371f432c3e48a92c1857ed9"
+ dependencies:
+ redux "^4.0.0"
-abab@^1.0.3:
+abab@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/abab/-/abab-1.0.4.tgz#5faad9c2c07f60dd76770f71cf025b62a63cfd4e"
@@ -14,7 +143,7 @@ abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
-accepts@~1.3.4:
+accepts@~1.3.4, accepts@~1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
dependencies:
@@ -27,29 +156,19 @@ acorn-dynamic-import@^2.0.0:
dependencies:
acorn "^4.0.3"
-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"
+acorn-globals@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.1.0.tgz#ab716025dbe17c54d3ef81d32ece2b2d99fe2538"
dependencies:
- acorn "^3.0.4"
-
-acorn@^3.0.4:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+ acorn "^5.0.0"
-acorn@^4.0.3, acorn@^4.0.4:
+acorn@^4.0.3:
version "4.0.13"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
-acorn@^5.0.0, acorn@^5.5.0:
- version "5.5.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.5.1.tgz#84e05a9ea0acbe131227da50301e62464dc9c1d8"
+acorn@^5.0.0, acorn@^5.3.0:
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8"
address@1.0.3, address@^1.0.1:
version "1.0.3"
@@ -59,18 +178,11 @@ ajv-keywords@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
-ajv-keywords@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.1.0.tgz#ac2b27939c543e95d2c06e7f7f5c27be4aa543be"
-
-ajv@^4.9.1:
- version "4.11.8"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
- dependencies:
- co "^4.6.0"
- json-stable-stringify "^1.0.1"
+ajv-keywords@^3.1.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.2.0.tgz#e86b819c602cf8821ad637413698f1dec021847a"
-ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.2.0:
+ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
dependencies:
@@ -79,13 +191,14 @@ ajv@^5.0.0, ajv@^5.1.0, ajv@^5.1.5, ajv@^5.2.0:
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.3.0"
-ajv@^6.0.1:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.2.1.tgz#28a6abc493a2abe0fb4c8507acaedb43fa550671"
+ajv@^6.1.0:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.5.2.tgz#678495f9b82f7cca6be248dd92f59bff5e1f4360"
dependencies:
- fast-deep-equal "^1.0.0"
+ fast-deep-equal "^2.0.1"
fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.3.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.1"
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
@@ -109,19 +222,15 @@ ansi-align@^2.0.0:
dependencies:
string-width "^2.0.0"
-ansi-escapes@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-
ansi-escapes@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92"
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.1.0.tgz#f73207bb81207d75fd6c83f125af26eea378ca30"
ansi-html@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e"
-ansi-regex@^2.0.0, ansi-regex@^2.1.1:
+ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -133,7 +242,7 @@ ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-ansi-styles@^3.0.0, ansi-styles@^3.2.1:
+ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
dependencies:
@@ -153,19 +262,19 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
-append-transform@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+append-transform@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab"
dependencies:
- default-require-extensions "^1.0.0"
+ default-require-extensions "^2.0.0"
-aproba@^1.0.3:
+aproba@^1.0.3, aproba@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
are-we-there-yet@~1.1.2:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
@@ -176,13 +285,6 @@ argparse@^1.0.7:
dependencies:
sprintf-js "~1.0.2"
-aria-query@^0.7.0:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-0.7.1.tgz#26cbb5aff64144b0a825be1846e0b16cfa00b11e"
- dependencies:
- ast-types-flow "0.0.7"
- commander "^2.11.0"
-
arr-diff@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
@@ -278,10 +380,6 @@ assert-plus@1.0.0, assert-plus@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-assert-plus@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-
assert@^1.1.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
@@ -292,31 +390,35 @@ assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
-ast-types-flow@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+async-limiter@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
+
async@^1.4.0, async@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-async@^2.1.2, async@^2.1.4, async@^2.4.1:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4"
+async@^2.1.2, async@^2.1.4, async@^2.4.1, async@^2.5.0:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
dependencies:
- lodash "^4.14.0"
+ lodash "^4.17.10"
asynckit@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-atob@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d"
+atob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a"
autoprefixer@7.1.6:
version "7.1.6"
@@ -340,23 +442,20 @@ autoprefixer@^6.3.1:
postcss "^5.2.16"
postcss-value-parser "^3.2.3"
-aws-sign2@~0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
-
aws-sign2@~0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
-aws4@^1.2.1, aws4@^1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
+aws4@^1.6.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289"
-axobject-query@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-0.1.0.tgz#62f59dbc59c9f9242759ca349960e7a2fe3c36c0"
+axios@^0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.0.tgz#32d53e4851efdc0a11993b6cd000789d70c05102"
dependencies:
- ast-types-flow "0.0.7"
+ follow-redirects "^1.3.0"
+ is-buffer "^1.1.5"
babel-code-frame@6.26.0, babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
@@ -366,9 +465,9 @@ babel-code-frame@6.26.0, babel-code-frame@^6.11.0, babel-code-frame@^6.22.0, bab
esutils "^2.0.2"
js-tokens "^3.0.2"
-babel-core@6.26.0, 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"
+babel-core@^6.0.0, babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.26.3:
+ version "6.26.3"
+ resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
@@ -380,24 +479,15 @@ babel-core@6.26.0, babel-core@^6.0.0, babel-core@^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"
+ convert-source-map "^1.5.1"
+ debug "^2.6.9"
json5 "^0.5.1"
lodash "^4.17.4"
minimatch "^3.0.4"
path-is-absolute "^1.0.1"
- private "^0.1.7"
+ private "^0.1.8"
slash "^1.0.0"
- source-map "^0.5.6"
-
-babel-eslint@7.2.3:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827"
- dependencies:
- babel-code-frame "^6.22.0"
- babel-traverse "^6.23.1"
- babel-types "^6.23.0"
- babylon "^6.17.0"
+ source-map "^0.5.7"
babel-generator@^6.18.0, babel-generator@^6.26.0:
version "6.26.1"
@@ -521,17 +611,23 @@ babel-helpers@^6.24.1:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
-babel-jest@20.0.3, babel-jest@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-20.0.3.tgz#e4a03b13dc10389e140fc645d09ffc4ced301671"
+babel-jest@^22.1.0:
+ version "22.4.4"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-22.4.4.tgz#977259240420e227444ebe49e226a61e49ea659d"
dependencies:
- babel-core "^6.0.0"
- babel-plugin-istanbul "^4.0.0"
- babel-preset-jest "^20.0.3"
+ babel-plugin-istanbul "^4.1.5"
+ babel-preset-jest "^22.4.4"
-babel-loader@7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126"
+babel-jest@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-23.4.0.tgz#22c34c392e2176f6a4c367992a7fcff69d2e8557"
+ dependencies:
+ babel-plugin-istanbul "^4.1.6"
+ babel-preset-jest "^23.2.0"
+
+babel-loader@^7.1.2:
+ version "7.1.5"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.5.tgz#e3ee0cd7394aa557e013b02d3e492bfd07aa6d68"
dependencies:
find-cache-dir "^1.0.0"
loader-utils "^1.0.2"
@@ -557,17 +653,22 @@ babel-plugin-dynamic-import-node@1.1.0:
babel-template "^6.26.0"
babel-types "^6.26.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"
+babel-plugin-istanbul@^4.1.4, babel-plugin-istanbul@^4.1.5, babel-plugin-istanbul@^4.1.6:
+ version "4.1.6"
+ resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
dependencies:
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
find-up "^2.1.0"
- istanbul-lib-instrument "^1.7.5"
- test-exclude "^4.1.1"
+ istanbul-lib-instrument "^1.10.1"
+ test-exclude "^4.2.1"
+
+babel-plugin-jest-hoist@^22.4.4:
+ version "22.4.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b"
-babel-plugin-jest-hoist@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-20.0.3.tgz#afedc853bd3f8dc3548ea671fbe69d03cc2c1767"
+babel-plugin-jest-hoist@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167"
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
@@ -593,7 +694,7 @@ babel-plugin-syntax-jsx@^6.3.13, 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"
@@ -702,9 +803,9 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-runtime "^6.22.0"
babel-template "^6.24.1"
-babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
- version "6.26.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
+babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1, babel-plugin-transform-es2015-modules-commonjs@^6.26.2:
+ version "6.26.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
dependencies:
babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.26.0"
@@ -902,15 +1003,23 @@ babel-preset-flow@^6.23.0:
dependencies:
babel-plugin-transform-flow-strip-types "^6.22.0"
-babel-preset-jest@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-20.0.3.tgz#cbacaadecb5d689ca1e1de1360ebfc66862c178a"
+babel-preset-jest@^22.0.1, babel-preset-jest@^22.4.3, babel-preset-jest@^22.4.4:
+ version "22.4.4"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39"
+ dependencies:
+ babel-plugin-jest-hoist "^22.4.4"
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
+
+babel-preset-jest@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46"
dependencies:
- babel-plugin-jest-hoist "^20.0.3"
+ babel-plugin-jest-hoist "^23.2.0"
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
babel-preset-react-app@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-3.1.1.tgz#d3f06a79742f0e89d7afcb72e282d9809c850920"
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-3.1.2.tgz#49ba3681b917c4e5c73a5249d3ef4c48fae064e2"
dependencies:
babel-plugin-dynamic-import-node "1.1.0"
babel-plugin-syntax-dynamic-import "6.18.0"
@@ -949,7 +1058,7 @@ babel-register@^6.26.0:
mkdirp "^0.5.1"
source-map-support "^0.4.15"
-babel-runtime@6.26.0, babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
dependencies:
@@ -966,7 +1075,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
babylon "^6.18.0"
lodash "^4.17.4"
-babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
dependencies:
@@ -980,7 +1089,7 @@ babel-traverse@^6.18.0, babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-tr
invariant "^2.2.2"
lodash "^4.17.4"
-babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0:
+babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
dependencies:
@@ -989,7 +1098,7 @@ babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24
lodash "^4.17.4"
to-fast-properties "^1.0.3"
-babylon@^6.17.0, babylon@^6.18.0:
+babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
@@ -1002,8 +1111,8 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
base64-js@^1.0.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.3.tgz#fb13668233d9614cf5fb4bce95a9ba4096cdf801"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
base@^0.11.1:
version "0.11.2"
@@ -1022,8 +1131,8 @@ batch@0.6.1:
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
bcrypt-pbkdf@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
dependencies:
tweetnacl "^0.14.3"
@@ -1035,13 +1144,7 @@ binary-extensions@^1.0.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
-block-stream@*:
- version "0.0.9"
- resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
- dependencies:
- inherits "~2.0.0"
-
-bluebird@^3.4.7:
+bluebird@^3.4.7, bluebird@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
@@ -1079,24 +1182,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"
- dependencies:
- hoek "2.x.x"
-
-boom@4.x.x:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
- dependencies:
- hoek "4.x.x"
-
-boom@5.x.x:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
- dependencies:
- hoek "4.x.x"
-
boxen@^1.2.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b"
@@ -1125,16 +1210,14 @@ braces@^1.8.2:
repeat-element "^1.1.2"
braces@^2.3.0, braces@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.1.tgz#7086c913b4e5a08dbe37ac0ee6a2500c4ba691bb"
+ version "2.3.2"
+ resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
- define-property "^1.0.0"
extend-shallow "^2.0.1"
fill-range "^4.0.0"
isobject "^3.0.1"
- kind-of "^6.0.2"
repeat-element "^1.1.2"
snapdragon "^0.8.1"
snapdragon-node "^2.0.1"
@@ -1145,15 +1228,19 @@ brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
-browser-resolve@^1.11.2:
- version "1.11.2"
- resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.2.tgz#8ff09b0a2c421718a1051c260b32e48f442938ce"
+browser-process-hrtime@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.2.tgz#425d68a58d3447f02a04aa894187fce8af8b7b8e"
+
+browser-resolve@^1.11.2, browser-resolve@^1.11.3:
+ version "1.11.3"
+ resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
dependencies:
resolve "1.1.7"
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
dependencies:
buffer-xor "^1.0.3"
cipher-base "^1.0.0"
@@ -1163,16 +1250,16 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
safe-buffer "^5.0.1"
browserify-cipher@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
evp_bytestokey "^1.0.0"
browserify-des@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.1.tgz#3343124db6d7ad53e26a8826318712bdc8450f9c"
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
@@ -1217,18 +1304,16 @@ browserslist@^2.1.2, browserslist@^2.5.1:
caniuse-lite "^1.0.30000792"
electron-to-chromium "^1.3.30"
-bser@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bser/-/bser-1.0.2.tgz#381116970b2a6deea5646dd15dd7278444b56169"
- dependencies:
- node-int64 "^0.4.0"
-
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
dependencies:
node-int64 "^0.4.0"
+buffer-from@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.0.tgz#87fcaa3a298358e0ade6e442cfce840740d1ad04"
+
buffer-indexof@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
@@ -1245,6 +1330,13 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
+buffer@^5.0.3:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.1.0.tgz#c913e43678c7cb7c8bd16afbcddb6c5505e8f9fe"
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+
builtin-modules@^1.0.0, builtin-modules@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
@@ -1257,6 +1349,24 @@ bytes@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+cacache@^10.0.4:
+ version "10.0.4"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460"
+ dependencies:
+ bluebird "^3.5.1"
+ chownr "^1.0.1"
+ glob "^7.1.2"
+ graceful-fs "^4.1.11"
+ lru-cache "^4.1.1"
+ mississippi "^2.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.2"
+ ssri "^5.2.4"
+ unique-filename "^1.1.0"
+ y18n "^4.0.0"
+
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
@@ -1271,16 +1381,6 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
-caller-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
- dependencies:
- callsites "^0.2.0"
-
-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"
@@ -1325,12 +1425,18 @@ caniuse-api@^1.5.2:
lodash.uniq "^4.5.0"
caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
- version "1.0.30000813"
- resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000813.tgz#e0a1c603f8880ad787b2a35652b2733f32a5e29a"
+ version "1.0.30000864"
+ resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000864.tgz#35a4b2325a8d4553a46b516dbc233bf391d75555"
caniuse-lite@^1.0.30000748, caniuse-lite@^1.0.30000792:
- version "1.0.30000813"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000813.tgz#7b25e27fdfb8d133f3c932b01f77452140fcc6c9"
+ version "1.0.30000864"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000864.tgz#7a08c78da670f23c06f11aa918831b8f2dd60ddc"
+
+capture-exit@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"
+ dependencies:
+ rsvp "^3.3.3"
capture-stack-trace@^1.0.0:
version "1.0.0"
@@ -1361,9 +1467,9 @@ chalk@1.1.3, chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.2.tgz#250dc96b07491bfd601e648d66ddf5f60c7a5c65"
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.1:
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e"
dependencies:
ansi-styles "^3.2.1"
escape-string-regexp "^1.0.5"
@@ -1384,7 +1490,7 @@ cheerio@^1.0.0-rc.2:
lodash "^4.15.0"
parse5 "^3.0.1"
-chokidar@^1.6.0:
+chokidar@^1.6.0, chokidar@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
dependencies:
@@ -1400,8 +1506,8 @@ chokidar@^1.6.0:
fsevents "^1.0.0"
chokidar@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.2.tgz#4dc65139eeb2714977735b6a35d06e97b494dfd7"
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26"
dependencies:
anymatch "^2.0.0"
async-each "^1.0.0"
@@ -1410,16 +1516,21 @@ chokidar@^2.0.2:
inherits "^2.0.1"
is-binary-path "^1.0.0"
is-glob "^4.0.0"
+ lodash.debounce "^4.0.8"
normalize-path "^2.1.1"
path-is-absolute "^1.0.0"
readdirp "^2.0.0"
- upath "^1.0.0"
+ upath "^1.0.5"
optionalDependencies:
- fsevents "^1.0.0"
+ fsevents "^1.2.2"
+
+chownr@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
ci-info@^1.0.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.2.tgz#03561259db48d0474c8bdc90f5b47b068b6bbfb4"
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.1.3.tgz#710193264bb05c77b8c90d02f5aaf22216a667b2"
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
@@ -1428,9 +1539,9 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
inherits "^2.0.1"
safe-buffer "^5.0.1"
-circular-json@^0.3.1:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
+circular-json-es6@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/circular-json-es6/-/circular-json-es6-2.0.2.tgz#e4f4a093e49fb4b6aba1157365746112a78bd344"
clap@^1.0.9:
version "1.2.3"
@@ -1483,9 +1594,21 @@ cliui@^3.2.0:
strip-ansi "^3.0.1"
wrap-ansi "^2.0.0"
+cliui@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+ wrap-ansi "^2.0.0"
+
clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+
+clorox@^1.0.3:
version "1.0.3"
- resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f"
+ resolved "https://registry.yarnpkg.com/clorox/-/clorox-1.0.3.tgz#6fa63653f280c33d69f548fb14d239ddcfa1590d"
co@^4.6.0:
version "4.6.0"
@@ -1509,12 +1632,16 @@ collection-visit@^1.0.0:
object-visit "^1.0.0"
color-convert@^1.3.0, color-convert@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147"
dependencies:
- color-name "^1.1.1"
+ color-name "1.1.1"
+
+color-name@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689"
-color-name@^1.0.0, color-name@^1.1.1:
+color-name@^1.0.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
@@ -1548,37 +1675,41 @@ colors@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
-combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5:
+combined-stream@1.0.6, combined-stream@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818"
dependencies:
delayed-stream "~1.0.0"
-commander@2.14.x, commander@^2.11.0, commander@~2.14.1:
- version "2.14.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
+commander@2.16.x, commander@^2.12.1, commander@~2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.16.0.tgz#f16390593996ceb4f3eeb020b31d78528f7f8a50"
+
+commander@~2.13.0:
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
compare-versions@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.1.0.tgz#43310256a5c555aaed4193c04d8f154cf9c6efd5"
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.3.0.tgz#af93ea705a96943f622ab309578b9b90586f39c3"
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
compressible@~2.0.13:
- version "2.0.13"
- resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.13.tgz#0d1020ab924b2fdb4d6279875c7d6daba6baa7a9"
+ version "2.0.14"
+ resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.14.tgz#326c5f507fbb055f54116782b969a81b67a29da7"
dependencies:
- mime-db ">= 1.33.0 < 2"
+ mime-db ">= 1.34.0 < 2"
compression@^1.5.2:
version "1.7.2"
- resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69"
+ resolved "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz#aaffbcd6aaf854b44ebb280353d5ad1651f59a69"
dependencies:
accepts "~1.3.4"
bytes "3.0.0"
@@ -1592,17 +1723,18 @@ concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-concat-stream@^1.6.0:
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.1.tgz#261b8f518301f1d834e36342b9fea095d2620a26"
+concat-stream@^1.5.0:
+ version "1.6.2"
+ resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
dependencies:
+ buffer-from "^1.0.0"
inherits "^2.0.3"
readable-stream "^2.2.2"
typedarray "^0.0.6"
configstore@^3.0.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.1.tgz#094ee662ab83fad9917678de114faaea8fcdca90"
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f"
dependencies:
dot-prop "^4.1.0"
graceful-fs "^4.1.2"
@@ -1629,23 +1761,15 @@ constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-contains-path@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
-
content-disposition@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
-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.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
-convert-source-map@^1.4.0, convert-source-map@^1.5.0:
+convert-source-map@^1.4.0, convert-source-map@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
@@ -1657,6 +1781,17 @@ cookie@0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ dependencies:
+ aproba "^1.1.1"
+ fs-write-stream-atomic "^1.0.8"
+ iferr "^0.1.5"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.0"
+
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
@@ -1666,8 +1801,8 @@ core-js@^1.0.0:
resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
core-js@^2.4.0, core-js@^2.5.0:
- version "2.5.3"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
+ version "2.5.7"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
core-util-is@1.0.2, core-util-is@~1.0.0:
version "1.0.2"
@@ -1685,9 +1820,25 @@ cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
parse-json "^2.2.0"
require-from-string "^1.1.0"
+cpx@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f"
+ dependencies:
+ babel-runtime "^6.9.2"
+ chokidar "^1.6.0"
+ duplexer "^0.1.1"
+ glob "^7.0.5"
+ glob2base "^0.0.12"
+ minimatch "^3.0.2"
+ mkdirp "^0.5.1"
+ resolve "^1.1.7"
+ safe-buffer "^5.0.1"
+ shell-quote "^1.6.1"
+ subarg "^1.0.0"
+
create-ecdh@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d"
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
@@ -1699,17 +1850,18 @@ create-error-class@^3.0.0:
capture-stack-trace "^1.0.0"
create-hash@^1.1.0, create-hash@^1.1.2:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
dependencies:
cipher-base "^1.0.1"
inherits "^2.0.1"
- ripemd160 "^2.0.0"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
sha.js "^2.4.0"
create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06"
+ version "1.1.7"
+ resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
dependencies:
cipher-base "^1.0.3"
create-hash "^1.1.0"
@@ -1718,7 +1870,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
+cross-spawn@5.1.0, cross-spawn@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
dependencies:
@@ -1726,18 +1878,6 @@ cross-spawn@5.1.0, cross-spawn@^5.0.1, cross-spawn@^5.1.0:
shebang-command "^1.2.0"
which "^1.2.9"
-cryptiles@2.x.x:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
- dependencies:
- boom "2.x.x"
-
-cryptiles@3.x.x:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
- dependencies:
- boom "5.x.x"
-
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
@@ -1758,6 +1898,10 @@ crypto-random-string@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e"
+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-color-names@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
@@ -1798,10 +1942,27 @@ css-selector-tokenizer@^0.7.0:
fastparse "^1.1.1"
regexpu-core "^1.0.0"
+css-to-react-native@^2.0.3:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/css-to-react-native/-/css-to-react-native-2.2.1.tgz#7f3f4c95de65501b8720c87bf0caf1f39073b88e"
+ dependencies:
+ css-color-keywords "^1.0.0"
+ 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"
+css@^2.2.1:
+ version "2.2.3"
+ resolved "https://registry.yarnpkg.com/css/-/css-2.2.3.tgz#f861f4ba61e79bedc962aa548e5780fd95cbc6be"
+ dependencies:
+ inherits "^2.0.1"
+ source-map "^0.1.38"
+ source-map-resolve "^0.5.1"
+ urix "^0.1.0"
+
cssesc@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
@@ -1851,48 +2012,60 @@ csso@~2.3.1:
source-map "^0.5.3"
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"
+ version "0.3.4"
+ resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797"
-"cssstyle@>= 0.2.37 < 0.3.0":
- version "0.2.37"
- resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.2.37.tgz#541097234cb2513c83ceed3acddc27ff27987d54"
+"cssstyle@>= 0.3.1 < 0.4.0":
+ version "0.3.1"
+ resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-0.3.1.tgz#6da9b4cff1bc5d716e6e5fe8e04fcb1b50a49adf"
dependencies:
cssom "0.3.x"
+csstype@^2.2.0:
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.5.5.tgz#4125484a3d42189a863943f23b9e4b80fedfa106"
+
currently-unhandled@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
dependencies:
array-find-index "^1.0.1"
+cyclist@~0.2.2:
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640"
+
d@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
dependencies:
es5-ext "^0.10.9"
-damerau-levenshtein@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.4.tgz#03191c432cb6eea168bb77f3a55ffdccb8978514"
-
dashdash@^1.12.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
dependencies:
assert-plus "^1.0.0"
+data-urls@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.0.0.tgz#24802de4e81c298ea8a9388bb0d8e461c774684f"
+ dependencies:
+ abab "^1.0.4"
+ whatwg-mimetype "^2.0.0"
+ whatwg-url "^6.4.0"
+
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9:
+debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
dependencies:
ms "2.0.0"
-debug@^3.0.1, debug@^3.1.0:
+debug@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
dependencies:
@@ -1906,23 +2079,33 @@ decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+deep-equal-ident@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/deep-equal-ident/-/deep-equal-ident-1.1.1.tgz#06f4b89e53710cd6cea4a7781c7a956642de8dc9"
+ dependencies:
+ lodash.isequal "^3.0"
+
deep-equal@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5"
-deep-extend@~0.4.0:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
+deep-extend@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
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"
+deepmerge@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.1.1.tgz#e862b4e45ea0555072bf51e7fd0d9845170ae768"
+
+default-require-extensions@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7"
dependencies:
- strip-bom "^2.0.0"
+ strip-bom "^3.0.0"
define-properties@^1.1.2:
version "1.1.2"
@@ -1954,7 +2137,7 @@ defined@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-del@^2.0.2, del@^2.2.2:
+del@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
dependencies:
@@ -1989,7 +2172,7 @@ depd@1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
-depd@~1.1.1:
+depd@~1.1.1, depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
@@ -2014,13 +2197,17 @@ detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+detect-newline@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
+
detect-node@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127"
-detect-port-alt@1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.5.tgz#a1aa8fc805a4a5df9b905b7ddc7eed036bcce889"
+detect-port-alt@1.1.6:
+ version "1.1.6"
+ resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275"
dependencies:
address "^1.0.1"
debug "^2.6.0"
@@ -2030,8 +2217,8 @@ diff@^3.2.0:
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
diffie-hellman@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e"
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
dependencies:
bn.js "^4.1.0"
miller-rabin "^4.0.0"
@@ -2058,22 +2245,9 @@ dns-txt@^2.0.2:
dependencies:
buffer-indexof "^1.0.0"
-doctrine@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
- dependencies:
- esutils "^2.0.2"
- isarray "^1.0.0"
-
-doctrine@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
- dependencies:
- esutils "^2.0.2"
-
-dom-converter@~0.1:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b"
+dom-converter@~0.1:
+ version "0.1.4"
+ resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.1.4.tgz#a45ef5727b890c9bffe6d7c876e7b19cb0e17f3b"
dependencies:
utila "~0.3"
@@ -2102,6 +2276,12 @@ domelementtype@~1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+domexception@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
+ dependencies:
+ webidl-conversions "^4.0.2"
+
domhandler@2.1:
version "2.1.0"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.1.0.tgz#d2646f5e57f6c3bab11cf6cb05d3c0acf7412594"
@@ -2109,8 +2289,8 @@ domhandler@2.1:
domelementtype "1"
domhandler@^2.3.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.1.tgz#892e47000a99be55bbf3774ffea0561d8879c259"
+ version "2.4.2"
+ resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
dependencies:
domelementtype "1"
@@ -2156,6 +2336,15 @@ duplexer@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1"
+duplexify@^3.4.2, duplexify@^3.6.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410"
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
ecc-jsbn@~0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
@@ -2167,8 +2356,8 @@ ee-first@1.1.1:
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
electron-to-chromium@^1.2.7, electron-to-chromium@^1.3.30:
- version "1.3.36"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.36.tgz#0eabf71a9ebea9013fb1cc35a390e068624f27e8"
+ version "1.3.51"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.51.tgz#6a42b49daaf7f22a5b37b991daf949f34dbdb9b5"
elliptic@^6.0.0:
version "6.4.0"
@@ -2182,15 +2371,11 @@ elliptic@^6.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.0"
-emoji-regex@^6.1.0:
- version "6.5.1"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-6.5.1.tgz#9baea929b155565c11ea41c6626eaa65cef992c2"
-
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
-encodeurl@~1.0.1:
+encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
@@ -2200,7 +2385,13 @@ encoding@^0.1.11:
dependencies:
iconv-lite "~0.4.13"
-enhanced-resolve@^3.4.0:
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
+ dependencies:
+ once "^1.4.0"
+
+enhanced-resolve@^3.0.0, enhanced-resolve@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
dependencies:
@@ -2233,6 +2424,19 @@ enzyme-adapter-utils@^1.3.0:
object.assign "^4.0.4"
prop-types "^15.6.0"
+enzyme-matchers@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/enzyme-matchers/-/enzyme-matchers-6.0.2.tgz#794d4e43254daaa0fffd3a591e5869fc861deeb2"
+ dependencies:
+ circular-json-es6 "^2.0.1"
+ deep-equal-ident "^1.1.1"
+
+enzyme-to-json@^3.3.0, enzyme-to-json@^3.3.4:
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/enzyme-to-json/-/enzyme-to-json-3.3.4.tgz#67c6040e931182f183418af2eb9f4323258aa77f"
+ dependencies:
+ lodash "^4.17.4"
+
enzyme@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/enzyme/-/enzyme-3.3.0.tgz#0971abd167f2d4bf3f5bd508229e1c4b6dc50479"
@@ -2261,14 +2465,14 @@ errno@^0.1.3, errno@~0.1.7:
prr "~1.0.1"
error-ex@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.6.1, es-abstract@^1.7.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864"
+es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165"
dependencies:
es-to-primitive "^1.1.1"
function-bind "^1.1.1"
@@ -2285,11 +2489,12 @@ es-to-primitive@^1.1.1:
is-symbol "^1.0.1"
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
- version "0.10.39"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.39.tgz#fca21b67559277ca4ac1a1ed7048b107b6f76d87"
+ version "0.10.45"
+ resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.45.tgz#0bfdf7b473da5919d5adf3bd25ceb754fccc3653"
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.1"
+ next-tick "1"
es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
version "2.0.3"
@@ -2348,9 +2553,9 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1
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.1"
- resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.9.1.tgz#dbae17ef96c8e4bedb1356f4504fa4cc2f7cb7e2"
+escodegen@^1.9.0:
+ version "1.10.0"
+ resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.10.0.tgz#f647395de22519fbd0d928ffcf1d17e0dec2603e"
dependencies:
esprima "^3.1.3"
estraverse "^4.2.0"
@@ -2368,132 +2573,6 @@ escope@^3.6.0:
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-config-react-app@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-2.1.0.tgz#23c909f71cbaff76b945b831d2d814b8bde169eb"
-
-eslint-import-resolver-node@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
- dependencies:
- debug "^2.6.9"
- resolve "^1.5.0"
-
-eslint-loader@1.9.0:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-1.9.0.tgz#7e1be9feddca328d3dcfaef1ad49d5beffe83a13"
- dependencies:
- loader-fs-cache "^1.0.0"
- loader-utils "^1.0.2"
- object-assign "^4.0.1"
- object-hash "^1.1.4"
- rimraf "^2.6.1"
-
-eslint-module-utils@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
- dependencies:
- debug "^2.6.8"
- pkg-dir "^1.0.0"
-
-eslint-plugin-flowtype@2.39.1:
- version "2.39.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-2.39.1.tgz#b5624622a0388bcd969f4351131232dcb9649cd5"
- dependencies:
- lodash "^4.15.0"
-
-eslint-plugin-import@2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894"
- dependencies:
- builtin-modules "^1.1.1"
- contains-path "^0.1.0"
- debug "^2.6.8"
- doctrine "1.5.0"
- eslint-import-resolver-node "^0.3.1"
- eslint-module-utils "^2.1.1"
- has "^1.0.1"
- lodash.cond "^4.3.0"
- minimatch "^3.0.3"
- read-pkg-up "^2.0.0"
-
-eslint-plugin-jsx-a11y@5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-5.1.1.tgz#5c96bb5186ca14e94db1095ff59b3e2bd94069b1"
- dependencies:
- aria-query "^0.7.0"
- array-includes "^3.0.3"
- ast-types-flow "0.0.7"
- axobject-query "^0.1.0"
- damerau-levenshtein "^1.0.0"
- emoji-regex "^6.1.0"
- jsx-ast-utils "^1.4.0"
-
-eslint-plugin-react@7.4.0:
- version "7.4.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.4.0.tgz#300a95861b9729c087d362dd64abcc351a74364a"
- dependencies:
- doctrine "^2.0.0"
- has "^1.0.1"
- jsx-ast-utils "^2.0.0"
- prop-types "^15.5.10"
-
-eslint-scope@^3.7.1:
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8"
- dependencies:
- esrecurse "^4.1.0"
- estraverse "^4.1.1"
-
-eslint@4.10.0:
- version "4.10.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.10.0.tgz#f25d0d7955c81968c2309aa5c9a229e045176bb7"
- dependencies:
- ajv "^5.2.0"
- babel-code-frame "^6.22.0"
- chalk "^2.1.0"
- concat-stream "^1.6.0"
- cross-spawn "^5.1.0"
- debug "^3.0.1"
- doctrine "^2.0.0"
- eslint-scope "^3.7.1"
- espree "^3.5.1"
- esquery "^1.0.0"
- estraverse "^4.2.0"
- esutils "^2.0.2"
- file-entry-cache "^2.0.0"
- functional-red-black-tree "^1.0.1"
- glob "^7.1.2"
- globals "^9.17.0"
- ignore "^3.3.3"
- imurmurhash "^0.1.4"
- inquirer "^3.0.6"
- is-resolvable "^1.0.0"
- js-yaml "^3.9.1"
- json-stable-stringify "^1.0.1"
- levn "^0.3.0"
- lodash "^4.17.4"
- minimatch "^3.0.2"
- mkdirp "^0.5.1"
- natural-compare "^1.4.0"
- optionator "^0.8.2"
- path-is-inside "^1.0.2"
- pluralize "^7.0.0"
- progress "^2.0.0"
- require-uncached "^1.0.3"
- semver "^5.3.0"
- strip-ansi "^4.0.0"
- strip-json-comments "~2.0.1"
- table "^4.0.1"
- text-table "~0.2.0"
-
-espree@^3.5.1:
- version "3.5.4"
- resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
- dependencies:
- acorn "^5.5.0"
- acorn-jsx "^3.0.0"
-
esprima@^2.6.0:
version "2.7.3"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
@@ -2506,19 +2585,13 @@ esprima@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
-esquery@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
- dependencies:
- estraverse "^4.0.0"
-
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
dependencies:
estraverse "^4.1.0"
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
+estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
@@ -2537,9 +2610,9 @@ event-emitter@~0.3.5:
d "1"
es5-ext "~0.10.14"
-eventemitter3@1.x.x:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+eventemitter3@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
events@^1.0.0:
version "1.1.1"
@@ -2559,10 +2632,10 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
safe-buffer "^5.1.1"
exec-sh@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38"
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"
dependencies:
- merge "^1.1.3"
+ merge "^1.2.0"
execa@^0.7.0:
version "0.7.0"
@@ -2576,6 +2649,10 @@ execa@^0.7.0:
signal-exit "^3.0.0"
strip-eof "^1.0.0"
+exit@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+
expand-brackets@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
@@ -2606,11 +2683,33 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2:
dependencies:
homedir-polyfill "^1.0.1"
+expect@^22.4.0:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674"
+ dependencies:
+ ansi-styles "^3.2.0"
+ jest-diff "^22.4.3"
+ jest-get-type "^22.4.3"
+ jest-matcher-utils "^22.4.3"
+ jest-message-util "^22.4.3"
+ jest-regex-util "^22.4.3"
+
+expect@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/expect/-/expect-23.4.0.tgz#6da4ecc99c1471253e7288338983ad1ebadb60c3"
+ dependencies:
+ ansi-styles "^3.2.0"
+ jest-diff "^23.2.0"
+ jest-get-type "^22.1.0"
+ jest-matcher-utils "^23.2.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+
express@^4.13.3:
- version "4.16.2"
- resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c"
+ version "4.16.3"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53"
dependencies:
- accepts "~1.3.4"
+ accepts "~1.3.5"
array-flatten "1.1.1"
body-parser "1.18.2"
content-disposition "0.5.2"
@@ -2618,26 +2717,26 @@ express@^4.13.3:
cookie "0.3.1"
cookie-signature "1.0.6"
debug "2.6.9"
- depd "~1.1.1"
- encodeurl "~1.0.1"
+ depd "~1.1.2"
+ encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
- finalhandler "1.1.0"
+ finalhandler "1.1.1"
fresh "0.5.2"
merge-descriptors "1.0.1"
methods "~1.1.2"
on-finished "~2.3.0"
parseurl "~1.3.2"
path-to-regexp "0.1.7"
- proxy-addr "~2.0.2"
+ proxy-addr "~2.0.3"
qs "6.5.1"
range-parser "~1.2.0"
safe-buffer "5.1.1"
- send "0.16.1"
- serve-static "1.13.1"
+ send "0.16.2"
+ serve-static "1.13.2"
setprototypeof "1.1.0"
- statuses "~1.3.1"
- type-is "~1.6.15"
+ statuses "~1.4.0"
+ type-is "~1.6.16"
utils-merge "1.0.1"
vary "~1.1.2"
@@ -2654,13 +2753,13 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
-extend@~3.0.0, extend@~3.0.1:
+extend@~3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
external-editor@^2.0.4:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
dependencies:
chardet "^0.4.0"
iconv-lite "^0.4.17"
@@ -2706,6 +2805,10 @@ fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+fast-deep-equal@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
+
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
@@ -2730,21 +2833,15 @@ faye-websocket@~0.11.0:
dependencies:
websocket-driver ">=0.5.1"
-fb-watchman@^1.8.0:
- version "1.9.2"
- resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-1.9.2.tgz#a24cf47827f82d38fb59a69ad70b76e3b6ae7383"
- dependencies:
- bser "1.0.2"
-
fb-watchman@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
dependencies:
bser "^2.0.0"
-fbjs@^0.8.16:
- version "0.8.16"
- resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
+fbjs@^0.8.16, fbjs@^0.8.5:
+ version "0.8.17"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd"
dependencies:
core-js "^1.0.0"
isomorphic-fetch "^2.1.1"
@@ -2752,7 +2849,7 @@ fbjs@^0.8.16:
object-assign "^4.1.0"
promise "^7.1.1"
setimmediate "^1.0.5"
- ua-parser-js "^0.7.9"
+ ua-parser-js "^0.7.18"
figures@^2.0.0:
version "2.0.0"
@@ -2760,19 +2857,11 @@ figures@^2.0.0:
dependencies:
escape-string-regexp "^1.0.5"
-file-entry-cache@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
- dependencies:
- flat-cache "^1.2.1"
- object-assign "^4.0.1"
-
-file-loader@1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.5.tgz#91c25b6b6fbe56dae99f10a425fd64933b5c9daa"
+file-loader@0.11.2:
+ version "0.11.2"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-0.11.2.tgz#4ff1df28af38719a6098093b88c82c71d1794a34"
dependencies:
loader-utils "^1.0.2"
- schema-utils "^0.3.0"
filename-regex@^2.0.0:
version "2.0.1"
@@ -2790,12 +2879,12 @@ filesize@3.5.11:
resolved "https://registry.yarnpkg.com/filesize/-/filesize-3.5.11.tgz#1919326749433bb3cf77368bd158caabcc19e9ee"
fill-range@^2.1.0:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
dependencies:
is-number "^2.1.0"
isobject "^2.0.0"
- randomatic "^1.1.3"
+ randomatic "^3.0.0"
repeat-element "^1.1.2"
repeat-string "^1.5.2"
@@ -2808,26 +2897,18 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
-finalhandler@1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
+finalhandler@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.1.tgz#eebf4ed840079c83f4249038c9d703008301b105"
dependencies:
debug "2.6.9"
- encodeurl "~1.0.1"
+ encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.2"
- statuses "~1.3.1"
+ statuses "~1.4.0"
unpipe "~1.0.0"
-find-cache-dir@^0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
- dependencies:
- commondir "^1.0.1"
- mkdirp "^0.5.1"
- pkg-dir "^1.0.0"
-
find-cache-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
@@ -2836,6 +2917,10 @@ find-cache-dir@^1.0.0:
make-dir "^1.0.0"
pkg-dir "^2.0.0"
+find-index@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
+
find-up@^1.0.0:
version "1.1.2"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
@@ -2849,19 +2934,23 @@ find-up@^2.0.0, find-up@^2.1.0:
dependencies:
locate-path "^2.0.0"
-flat-cache@^1.2.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
- dependencies:
- circular-json "^0.3.1"
- del "^2.0.2"
- graceful-fs "^4.1.2"
- write "^0.2.1"
-
flatten@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
+flush-write-stream@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd"
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.4"
+
+follow-redirects@^1.0.0, follow-redirects@^1.3.0:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.1.tgz#67a8f14f5a1f67f962c2c46469c79eaec0a90291"
+ dependencies:
+ debug "^3.1.0"
+
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
@@ -2880,13 +2969,18 @@ forever-agent@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-form-data@~2.1.1:
- version "2.1.4"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
+fork-ts-checker-webpack-plugin@^0.2.8:
+ version "0.2.10"
+ resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-0.2.10.tgz#d0a4080e77e9f5d6e3b43cdce7d26658f9d250c6"
dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.5"
- mime-types "^2.1.12"
+ babel-code-frame "^6.22.0"
+ chalk "^1.1.3"
+ chokidar "^1.7.0"
+ lodash.endswith "^4.2.1"
+ lodash.isfunction "^3.0.8"
+ lodash.isstring "^4.0.1"
+ lodash.startswith "^4.2.1"
+ minimatch "^3.0.4"
form-data@~2.3.1:
version "2.3.2"
@@ -2910,6 +3004,13 @@ fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
fs-extra@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291"
@@ -2918,6 +3019,22 @@ fs-extra@3.0.1:
jsonfile "^3.0.0"
universalify "^0.1.0"
+fs-extra@4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-extra@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.0.tgz#0f0afb290bb3deb87978da816fcd3c7797f3a817"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
fs-extra@^0.30.0:
version "0.30.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0"
@@ -2928,35 +3045,33 @@ fs-extra@^0.30.0:
path-is-absolute "^1.0.0"
rimraf "^2.2.8"
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fsevents@^1.0.0, fsevents@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
+fs-minipass@^1.2.5:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
dependencies:
- nan "^2.3.0"
- node-pre-gyp "^0.6.39"
+ minipass "^2.2.1"
-fstream-ignore@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
dependencies:
- fstream "^1.0.0"
- inherits "2"
- minimatch "^3.0.0"
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
-fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+
+fsevents@^1.0.0, fsevents@^1.1.3, fsevents@^1.2.2, fsevents@^1.2.3:
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
dependencies:
- graceful-fs "^4.1.2"
- inherits "~2.0.0"
- mkdirp ">=0.5 0"
- rimraf "2"
+ nan "^2.9.2"
+ node-pre-gyp "^0.10.0"
-function-bind@^1.0.2, function-bind@^1.1.0, function-bind@^1.1.1:
+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"
@@ -2968,10 +3083,6 @@ function.prototype.name@^1.0.3:
function-bind "^1.1.1"
is-callable "^1.1.3"
-functional-red-black-tree@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
-
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -3027,6 +3138,12 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
+glob2base@^0.0.12:
+ version "0.0.12"
+ resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
+ dependencies:
+ find-index "^0.1.1"
+
glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
@@ -3062,7 +3179,7 @@ global-prefix@^1.0.1:
is-windows "^1.0.1"
which "^1.2.14"
-globals@^9.17.0, globals@^9.18.0:
+globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
@@ -3131,21 +3248,10 @@ handlebars@^4.0.3:
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"
-
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
-har-validator@~4.2.1:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
- dependencies:
- ajv "^4.9.1"
- har-schema "^1.0.5"
-
har-validator@~5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
@@ -3207,16 +3313,10 @@ has-values@^1.0.0:
kind-of "^4.0.0"
has@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
- dependencies:
- function-bind "^1.0.2"
-
-hash-base@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
dependencies:
- inherits "^2.0.1"
+ function-bind "^1.1.1"
hash-base@^3.0.0:
version "3.0.4"
@@ -3226,34 +3326,26 @@ hash-base@^3.0.0:
safe-buffer "^5.0.1"
hash.js@^1.0.0, hash.js@^1.0.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846"
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.4.tgz#8b50e1f35d51bd01e5ed9ece4dbe3549ccfa0a3c"
dependencies:
inherits "^2.0.3"
minimalistic-assert "^1.0.0"
-hawk@3.1.3, hawk@~3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
- dependencies:
- boom "2.x.x"
- cryptiles "2.x.x"
- hoek "2.x.x"
- sntp "1.x.x"
-
-hawk@~6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
- dependencies:
- boom "4.x.x"
- cryptiles "3.x.x"
- hoek "4.x.x"
- sntp "2.x.x"
-
he@1.1.x:
version "1.1.1"
resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
+history@^4.7.2:
+ version "4.7.2"
+ resolved "https://registry.yarnpkg.com/history/-/history-4.7.2.tgz#22b5c7f31633c5b8021c7f4a8a954ac139ee8d5b"
+ dependencies:
+ invariant "^2.2.1"
+ loose-envify "^1.2.0"
+ resolve-pathname "^2.2.0"
+ value-equal "^0.4.0"
+ warning "^3.0.0"
+
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
@@ -3262,13 +3354,9 @@ hmac-drbg@^1.0.0:
minimalistic-assert "^1.0.0"
minimalistic-crypto-utils "^1.0.1"
-hoek@2.x.x:
- version "2.16.3"
- resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
-
-hoek@4.x.x:
- version "4.2.1"
- resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb"
+hoist-non-react-statics@^2.5.0:
+ version "2.5.5"
+ resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47"
home-or-tmp@^2.0.0:
version "2.0.0"
@@ -3284,8 +3372,8 @@ homedir-polyfill@^1.0.1:
parse-passwd "^1.0.0"
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"
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.6.1.tgz#6e4cee78b01bb849dcf93527708c69fdbee410df"
hpack.js@^2.1.6:
version "2.1.6"
@@ -3300,7 +3388,7 @@ html-comment-regex@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
-html-encoding-sniffer@^1.0.1:
+html-encoding-sniffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
dependencies:
@@ -3311,17 +3399,16 @@ html-entities@^1.2.0:
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.2.1.tgz#0df29351f0721163515dfb9e5543e5f6eed5162f"
html-minifier@^3.2.3:
- version "3.5.10"
- resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.10.tgz#8522c772c388db81aa5c26f62033302d906ea1c7"
+ version "3.5.18"
+ resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.18.tgz#fc8b02826cbbafc6de19a103c41c830a91cffe5a"
dependencies:
camel-case "3.0.x"
clean-css "4.1.x"
- commander "2.14.x"
+ commander "2.16.x"
he "1.1.x"
- ncname "1.0.x"
param-case "2.1.x"
relateurl "0.2.x"
- uglify-js "3.3.x"
+ uglify-js "3.4.x"
html-webpack-plugin@2.29.0:
version "2.29.0"
@@ -3358,7 +3445,7 @@ http-deceiver@^1.2.7:
version "1.2.7"
resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
-http-errors@1.6.2, http-errors@~1.6.2:
+http-errors@1.6.2:
version "1.6.2"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
dependencies:
@@ -3367,9 +3454,18 @@ http-errors@1.6.2, http-errors@~1.6.2:
setprototypeof "1.0.3"
statuses ">= 1.3.1 < 2"
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
http-parser-js@>=0.4.0:
- version "0.4.10"
- resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4"
+ version "0.4.13"
+ resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.13.tgz#3bd6d6fde6e3172c9334c3b33b6c193d80fe1137"
http-proxy-middleware@~0.17.4:
version "0.17.4"
@@ -3381,19 +3477,12 @@ http-proxy-middleware@~0.17.4:
micromatch "^2.3.11"
http-proxy@^1.16.2:
- version "1.16.2"
- resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
- dependencies:
- eventemitter3 "1.x.x"
- requires-port "1.x.x"
-
-http-signature@~1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.17.0.tgz#7ad38494658f84605e2f6db4436df410f4e5be9a"
dependencies:
- assert-plus "^0.2.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
+ eventemitter3 "^3.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
http-signature@~1.2.0:
version "1.2.0"
@@ -3407,10 +3496,16 @@ https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
-iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13:
+iconv-lite@0.4.19:
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.4, iconv-lite@~0.4.13:
+ version "0.4.23"
+ resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63"
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
icss-replace-symbols@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
@@ -3422,12 +3517,18 @@ icss-utils@^2.1.0:
postcss "^6.0.1"
ieee754@^1.1.4:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
+
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
-ignore@^3.3.3:
- version "3.3.7"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
+ignore-walk@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ dependencies:
+ minimatch "^3.0.4"
import-lazy@^2.1.0:
version "2.1.0"
@@ -3440,6 +3541,13 @@ import-local@^0.1.1:
pkg-dir "^2.0.0"
resolve-cwd "^2.0.0"
+import-local@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
+ dependencies:
+ pkg-dir "^2.0.0"
+ resolve-cwd "^2.0.0"
+
imurmurhash@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
@@ -3465,7 +3573,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
@@ -3477,7 +3585,7 @@ ini@^1.3.4, ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
-inquirer@3.3.0, inquirer@^3.0.6:
+inquirer@3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
dependencies:
@@ -3506,9 +3614,9 @@ interpret@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
-invariant@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.3.tgz#1a827dfde7dcbd7c323f0ca826be8fa7c5e9d688"
+invariant@^2.0.0, invariant@^2.2.1, invariant@^2.2.2, invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
dependencies:
loose-envify "^1.0.0"
@@ -3565,8 +3673,8 @@ is-builtin-module@^1.0.0:
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"
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75"
is-ci@^1.0.10:
version "1.1.0"
@@ -3654,6 +3762,10 @@ is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+is-generator-fn@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
+
is-glob@^2.0.0, is-glob@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
@@ -3707,19 +3819,13 @@ is-obj@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-is-odd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-2.0.0.tgz#7646624671fd7ea558ccd9a2795182f2958f1b24"
- dependencies:
- is-number "^4.0.0"
-
is-path-cwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
is-path-in-cwd@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52"
dependencies:
is-path-inside "^1.0.0"
@@ -3761,10 +3867,6 @@ is-regex@^1.0.4:
dependencies:
has "^1.0.1"
-is-resolvable@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
-
is-retry-allowed@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
@@ -3844,36 +3946,36 @@ 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.3.0"
- resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.0.tgz#5018c1141bb9a2a326d1a15a089f4ef54b9c4d4a"
+istanbul-api@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-1.3.1.tgz#4c3b05d18c0016d1022e079b98dc82c40f488954"
dependencies:
async "^2.1.4"
compare-versions "^3.1.0"
fileset "^2.0.2"
istanbul-lib-coverage "^1.2.0"
istanbul-lib-hook "^1.2.0"
- istanbul-lib-instrument "^1.10.0"
+ istanbul-lib-instrument "^1.10.1"
istanbul-lib-report "^1.1.4"
istanbul-lib-source-maps "^1.2.4"
- istanbul-reports "^1.2.0"
+ istanbul-reports "^1.3.0"
js-yaml "^3.7.0"
mkdirp "^0.5.1"
once "^1.4.0"
-istanbul-lib-coverage@^1.0.1, istanbul-lib-coverage@^1.2.0:
+istanbul-lib-coverage@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.0.tgz#f7d8f2e42b97e37fe796114cb0f9d68b5e3a4341"
istanbul-lib-hook@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.0.tgz#ae556fd5a41a6e8efa0b1002b1e416dfeaf9816c"
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.1.tgz#f614ec45287b2a8fc4f07f5660af787575601805"
dependencies:
- append-transform "^0.4.0"
+ append-transform "^1.0.0"
-istanbul-lib-instrument@^1.10.0, istanbul-lib-instrument@^1.4.2, istanbul-lib-instrument@^1.7.5:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.0.tgz#47f20bfed9b9cbbc45417d3c9aff37bfbacbd281"
+istanbul-lib-instrument@^1.10.1:
+ version "1.10.1"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.1.tgz#724b4b6caceba8692d3f1f9d0727e279c401af7b"
dependencies:
babel-generator "^6.18.0"
babel-template "^6.16.0"
@@ -3892,9 +3994,9 @@ istanbul-lib-report@^1.1.4:
path-parse "^1.0.5"
supports-color "^3.1.2"
-istanbul-lib-source-maps@^1.1.0, istanbul-lib-source-maps@^1.2.4:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.4.tgz#cc7ccad61629f4efff8e2f78adb8c522c9976ec7"
+istanbul-lib-source-maps@^1.2.4:
+ version "1.2.5"
+ resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.5.tgz#ffe6be4e7ab86d3603e4290d54990b14506fc9b1"
dependencies:
debug "^3.1.0"
istanbul-lib-coverage "^1.2.0"
@@ -3902,234 +4004,453 @@ istanbul-lib-source-maps@^1.1.0, istanbul-lib-source-maps@^1.2.4:
rimraf "^2.6.1"
source-map "^0.5.3"
-istanbul-reports@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.2.0.tgz#59a72413daf809b9c3203241c31abb9a48ab1bf5"
+istanbul-reports@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-1.3.0.tgz#2f322e81e1d9520767597dca3c20a0cce89a3554"
dependencies:
handlebars "^4.0.3"
-jest-changed-files@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-20.0.3.tgz#9394d5cc65c438406149bef1bf4d52b68e03e3f8"
+jest-changed-files@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.0.tgz#f1b304f98c235af5d9a31ec524262c5e4de3c6ff"
+ dependencies:
+ throat "^4.0.0"
-jest-cli@^20.0.4:
- version "20.0.4"
- resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-20.0.4.tgz#e532b19d88ae5bc6c417e8b0593a6fe954b1dc93"
+jest-cli@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-23.4.0.tgz#d1fdd1dbc41d69ae8bd43d0070ce23988eacd86f"
dependencies:
- ansi-escapes "^1.4.0"
- callsites "^2.0.0"
- chalk "^1.1.3"
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.1"
+ exit "^0.1.2"
+ glob "^7.1.2"
graceful-fs "^4.1.11"
+ import-local "^1.0.0"
is-ci "^1.0.10"
- istanbul-api "^1.1.1"
- istanbul-lib-coverage "^1.0.1"
- istanbul-lib-instrument "^1.4.2"
- istanbul-lib-source-maps "^1.1.0"
- jest-changed-files "^20.0.3"
- jest-config "^20.0.4"
- jest-docblock "^20.0.3"
- jest-environment-jsdom "^20.0.3"
- jest-haste-map "^20.0.4"
- jest-jasmine2 "^20.0.4"
- jest-message-util "^20.0.3"
- jest-regex-util "^20.0.3"
- jest-resolve-dependencies "^20.0.3"
- jest-runtime "^20.0.4"
- jest-snapshot "^20.0.3"
- jest-util "^20.0.3"
- micromatch "^2.3.11"
- node-notifier "^5.0.2"
- pify "^2.3.0"
+ istanbul-api "^1.3.1"
+ istanbul-lib-coverage "^1.2.0"
+ istanbul-lib-instrument "^1.10.1"
+ istanbul-lib-source-maps "^1.2.4"
+ jest-changed-files "^23.4.0"
+ jest-config "^23.4.0"
+ jest-environment-jsdom "^23.4.0"
+ jest-get-type "^22.1.0"
+ jest-haste-map "^23.4.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve-dependencies "^23.4.0"
+ jest-runner "^23.4.0"
+ jest-runtime "^23.4.0"
+ jest-snapshot "^23.4.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.4.0"
+ jest-watcher "^23.4.0"
+ jest-worker "^23.2.0"
+ micromatch "^2.3.11"
+ node-notifier "^5.2.1"
+ prompts "^0.1.9"
+ realpath-native "^1.0.0"
+ rimraf "^2.5.4"
slash "^1.0.0"
- string-length "^1.0.1"
- throat "^3.0.0"
+ string-length "^2.0.0"
+ strip-ansi "^4.0.0"
which "^1.2.12"
- worker-farm "^1.3.1"
- yargs "^7.0.2"
+ yargs "^11.0.0"
-jest-config@^20.0.4:
- version "20.0.4"
- resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-20.0.4.tgz#e37930ab2217c913605eff13e7bd763ec48faeea"
+jest-config@^22.0.1, jest-config@^22.4.3, jest-config@^22.4.4:
+ version "22.4.4"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.4.tgz#72a521188720597169cd8b4ff86934ef5752d86a"
dependencies:
- chalk "^1.1.3"
+ chalk "^2.0.1"
glob "^7.1.1"
- jest-environment-jsdom "^20.0.3"
- jest-environment-node "^20.0.3"
- jest-jasmine2 "^20.0.4"
- jest-matcher-utils "^20.0.3"
- jest-regex-util "^20.0.3"
- jest-resolve "^20.0.4"
- jest-validate "^20.0.3"
- pretty-format "^20.0.3"
-
-jest-diff@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-20.0.3.tgz#81f288fd9e675f0fb23c75f1c2b19445fe586617"
+ jest-environment-jsdom "^22.4.1"
+ jest-environment-node "^22.4.1"
+ jest-get-type "^22.1.0"
+ jest-jasmine2 "^22.4.4"
+ jest-regex-util "^22.1.0"
+ jest-resolve "^22.4.2"
+ jest-util "^22.4.1"
+ jest-validate "^22.4.4"
+ pretty-format "^22.4.0"
+
+jest-config@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-23.4.0.tgz#79ccf8d68aa0e48f9e3beb81b83aa5875c63fa3f"
dependencies:
- chalk "^1.1.3"
+ babel-core "^6.0.0"
+ babel-jest "^23.4.0"
+ chalk "^2.0.1"
+ glob "^7.1.1"
+ jest-environment-jsdom "^23.4.0"
+ jest-environment-node "^23.4.0"
+ jest-get-type "^22.1.0"
+ jest-jasmine2 "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve "^23.4.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.4.0"
+ pretty-format "^23.2.0"
+
+jest-diff@^22.4.0, jest-diff@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030"
+ dependencies:
+ chalk "^2.0.1"
+ diff "^3.2.0"
+ jest-get-type "^22.4.3"
+ pretty-format "^22.4.3"
+
+jest-diff@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-23.2.0.tgz#9f2cf4b51e12c791550200abc16b47130af1062a"
+ dependencies:
+ chalk "^2.0.1"
diff "^3.2.0"
- jest-matcher-utils "^20.0.3"
- pretty-format "^20.0.3"
+ jest-get-type "^22.1.0"
+ pretty-format "^23.2.0"
-jest-docblock@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-20.0.3.tgz#17bea984342cc33d83c50fbe1545ea0efaa44712"
+jest-docblock@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
+ dependencies:
+ detect-newline "^2.1.0"
+
+jest-each@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-23.4.0.tgz#2fa9edd89daa1a4edc9ff9bf6062a36b71345143"
+ dependencies:
+ chalk "^2.0.1"
+ pretty-format "^23.2.0"
+
+jest-environment-enzyme@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/jest-environment-enzyme/-/jest-environment-enzyme-6.0.2.tgz#890526622d5de8a820a1849d2684f03bc006e0ef"
+ dependencies:
+ jest-environment-jsdom "^22.4.1"
+
+jest-environment-jsdom@^22.4.1:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e"
+ dependencies:
+ jest-mock "^22.4.3"
+ jest-util "^22.4.3"
+ jsdom "^11.5.1"
+
+jest-environment-jsdom@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023"
+ dependencies:
+ jest-mock "^23.2.0"
+ jest-util "^23.4.0"
+ jsdom "^11.5.1"
+
+jest-environment-node@^22.4.1:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129"
+ dependencies:
+ jest-mock "^22.4.3"
+ jest-util "^22.4.3"
-jest-environment-jsdom@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-20.0.3.tgz#048a8ac12ee225f7190417713834bb999787de99"
+jest-environment-node@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10"
dependencies:
- jest-mock "^20.0.3"
- jest-util "^20.0.3"
- jsdom "^9.12.0"
+ jest-mock "^23.2.0"
+ jest-util "^23.4.0"
-jest-environment-node@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-20.0.3.tgz#d488bc4612af2c246e986e8ae7671a099163d403"
+jest-enzyme@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/jest-enzyme/-/jest-enzyme-6.0.2.tgz#bc464169de6c2d50602e02bbc9464460507fb295"
dependencies:
- jest-mock "^20.0.3"
- jest-util "^20.0.3"
+ enzyme-matchers "^6.0.2"
+ enzyme-to-json "^3.3.0"
+ jest-environment-enzyme "^6.0.2"
-jest-haste-map@^20.0.4:
- version "20.0.5"
- resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-20.0.5.tgz#abad74efb1a005974a7b6517e11010709cab9112"
+jest-get-type@^22.1.0, jest-get-type@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4"
+
+jest-haste-map@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-23.4.0.tgz#f2a0eaa41af766cd5101e6c291fdc6435c93ee1c"
dependencies:
fb-watchman "^2.0.0"
graceful-fs "^4.1.11"
- jest-docblock "^20.0.3"
+ jest-docblock "^23.2.0"
+ jest-serializer "^23.0.1"
+ jest-worker "^23.2.0"
micromatch "^2.3.11"
- sane "~1.6.0"
- worker-farm "^1.3.1"
+ sane "^2.0.0"
-jest-jasmine2@^20.0.4:
- version "20.0.4"
- resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-20.0.4.tgz#fcc5b1411780d911d042902ef1859e852e60d5e1"
+jest-jasmine2@^22.4.4:
+ version "22.4.4"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz#c55f92c961a141f693f869f5f081a79a10d24e23"
dependencies:
- chalk "^1.1.3"
+ chalk "^2.0.1"
+ co "^4.6.0"
+ expect "^22.4.0"
graceful-fs "^4.1.11"
- jest-diff "^20.0.3"
- jest-matcher-utils "^20.0.3"
- jest-matchers "^20.0.3"
- jest-message-util "^20.0.3"
- jest-snapshot "^20.0.3"
- once "^1.4.0"
- p-map "^1.1.1"
+ is-generator-fn "^1.0.0"
+ jest-diff "^22.4.0"
+ jest-matcher-utils "^22.4.0"
+ jest-message-util "^22.4.0"
+ jest-snapshot "^22.4.0"
+ jest-util "^22.4.1"
+ source-map-support "^0.5.0"
+
+jest-jasmine2@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-23.4.0.tgz#17ce539fe608ef898d6986518144acf270beca8f"
+ dependencies:
+ chalk "^2.0.1"
+ co "^4.6.0"
+ expect "^23.4.0"
+ is-generator-fn "^1.0.0"
+ jest-diff "^23.2.0"
+ jest-each "^23.4.0"
+ jest-matcher-utils "^23.2.0"
+ jest-message-util "^23.4.0"
+ jest-snapshot "^23.4.0"
+ jest-util "^23.4.0"
+ pretty-format "^23.2.0"
+
+jest-leak-detector@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-23.2.0.tgz#c289d961dc638f14357d4ef96e0431ecc1aa377d"
+ dependencies:
+ pretty-format "^23.2.0"
+
+jest-matcher-utils@^22.4.0, jest-matcher-utils@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff"
+ dependencies:
+ chalk "^2.0.1"
+ jest-get-type "^22.4.3"
+ pretty-format "^22.4.3"
-jest-matcher-utils@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-20.0.3.tgz#b3a6b8e37ca577803b0832a98b164f44b7815612"
+jest-matcher-utils@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-23.2.0.tgz#4d4981f23213e939e3cedf23dc34c747b5ae1913"
dependencies:
- chalk "^1.1.3"
- pretty-format "^20.0.3"
+ chalk "^2.0.1"
+ jest-get-type "^22.1.0"
+ pretty-format "^23.2.0"
-jest-matchers@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-matchers/-/jest-matchers-20.0.3.tgz#ca69db1c32db5a6f707fa5e0401abb55700dfd60"
+jest-message-util@^22.4.0, jest-message-util@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7"
dependencies:
- jest-diff "^20.0.3"
- jest-matcher-utils "^20.0.3"
- jest-message-util "^20.0.3"
- jest-regex-util "^20.0.3"
+ "@babel/code-frame" "^7.0.0-beta.35"
+ chalk "^2.0.1"
+ micromatch "^2.3.11"
+ slash "^1.0.0"
+ stack-utils "^1.0.1"
-jest-message-util@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-20.0.3.tgz#6aec2844306fcb0e6e74d5796c1006d96fdd831c"
+jest-message-util@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f"
dependencies:
- chalk "^1.1.3"
+ "@babel/code-frame" "^7.0.0-beta.35"
+ chalk "^2.0.1"
micromatch "^2.3.11"
slash "^1.0.0"
+ stack-utils "^1.0.1"
-jest-mock@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-20.0.3.tgz#8bc070e90414aa155c11a8d64c869a0d5c71da59"
+jest-mock@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7"
-jest-regex-util@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-20.0.3.tgz#85bbab5d133e44625b19faf8c6aa5122d085d762"
+jest-mock@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134"
-jest-resolve-dependencies@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-20.0.3.tgz#6e14a7b717af0f2cb3667c549de40af017b1723a"
+jest-regex-util@^22.1.0, jest-regex-util@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af"
+
+jest-regex-util@^23.3.0:
+ version "23.3.0"
+ resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5"
+
+jest-resolve-dependencies@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.4.0.tgz#e73efce70262a6e2bf5263d0b23009a098678620"
dependencies:
- jest-regex-util "^20.0.3"
+ jest-regex-util "^23.3.0"
+ jest-snapshot "^23.4.0"
-jest-resolve@^20.0.4:
- version "20.0.4"
- resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-20.0.4.tgz#9448b3e8b6bafc15479444c6499045b7ffe597a5"
+jest-resolve@^22.4.2:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea"
dependencies:
browser-resolve "^1.11.2"
- is-builtin-module "^1.0.0"
- resolve "^1.3.2"
+ chalk "^2.0.1"
+
+jest-resolve@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-23.4.0.tgz#b4061dbcd6391b5e445d5fd84c9dad5ff1ff5662"
+ dependencies:
+ browser-resolve "^1.11.3"
+ chalk "^2.0.1"
+ realpath-native "^1.0.0"
-jest-runtime@^20.0.4:
- version "20.0.4"
- resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-20.0.4.tgz#a2c802219c4203f754df1404e490186169d124d8"
+jest-runner@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-23.4.0.tgz#1859b211a264ea5a43b7a3022e1199067c4dfe57"
+ dependencies:
+ exit "^0.1.2"
+ graceful-fs "^4.1.11"
+ jest-config "^23.4.0"
+ jest-docblock "^23.2.0"
+ jest-haste-map "^23.4.0"
+ jest-jasmine2 "^23.4.0"
+ jest-leak-detector "^23.2.0"
+ jest-message-util "^23.4.0"
+ jest-runtime "^23.4.0"
+ jest-util "^23.4.0"
+ jest-worker "^23.2.0"
+ source-map-support "^0.5.6"
+ throat "^4.0.0"
+
+jest-runtime@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-23.4.0.tgz#c30ef619def587b93bad4a4938da9accb9936b4d"
dependencies:
babel-core "^6.0.0"
- babel-jest "^20.0.3"
- babel-plugin-istanbul "^4.0.0"
- chalk "^1.1.3"
+ babel-plugin-istanbul "^4.1.6"
+ chalk "^2.0.1"
convert-source-map "^1.4.0"
+ exit "^0.1.2"
+ fast-json-stable-stringify "^2.0.0"
graceful-fs "^4.1.11"
- jest-config "^20.0.4"
- jest-haste-map "^20.0.4"
- jest-regex-util "^20.0.3"
- jest-resolve "^20.0.4"
- jest-util "^20.0.3"
- json-stable-stringify "^1.0.1"
+ jest-config "^23.4.0"
+ jest-haste-map "^23.4.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve "^23.4.0"
+ jest-snapshot "^23.4.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.4.0"
micromatch "^2.3.11"
+ realpath-native "^1.0.0"
+ slash "^1.0.0"
strip-bom "3.0.0"
- yargs "^7.0.2"
+ write-file-atomic "^2.1.0"
+ yargs "^11.0.0"
-jest-snapshot@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-20.0.3.tgz#5b847e1adb1a4d90852a7f9f125086e187c76566"
+jest-serializer@^23.0.1:
+ version "23.0.1"
+ resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165"
+
+jest-snapshot@^22.4.0:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2"
dependencies:
- chalk "^1.1.3"
- jest-diff "^20.0.3"
- jest-matcher-utils "^20.0.3"
- jest-util "^20.0.3"
+ chalk "^2.0.1"
+ jest-diff "^22.4.3"
+ jest-matcher-utils "^22.4.3"
+ mkdirp "^0.5.1"
natural-compare "^1.4.0"
- pretty-format "^20.0.3"
+ pretty-format "^22.4.3"
-jest-util@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-20.0.3.tgz#0c07f7d80d82f4e5a67c6f8b9c3fe7f65cfd32ad"
+jest-snapshot@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-23.4.0.tgz#7463d0357cabdfe1c63994d5e32f707d1033d616"
dependencies:
- chalk "^1.1.3"
+ babel-traverse "^6.0.0"
+ babel-types "^6.0.0"
+ chalk "^2.0.1"
+ jest-diff "^23.2.0"
+ jest-matcher-utils "^23.2.0"
+ jest-message-util "^23.4.0"
+ jest-resolve "^23.4.0"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ pretty-format "^23.2.0"
+ semver "^5.5.0"
+
+jest-styled-components@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/jest-styled-components/-/jest-styled-components-5.0.1.tgz#386c5a161a0f5e783444d624bfc18c6d228d1277"
+ dependencies:
+ css "^2.2.1"
+
+jest-util@^22.4.1, jest-util@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac"
+ dependencies:
+ callsites "^2.0.0"
+ chalk "^2.0.1"
graceful-fs "^4.1.11"
- jest-message-util "^20.0.3"
- jest-mock "^20.0.3"
- jest-validate "^20.0.3"
- leven "^2.1.0"
+ is-ci "^1.0.10"
+ jest-message-util "^22.4.3"
mkdirp "^0.5.1"
+ source-map "^0.6.0"
-jest-validate@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-20.0.3.tgz#d0cfd1de4f579f298484925c280f8f1d94ec3cab"
+jest-util@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561"
dependencies:
- chalk "^1.1.3"
- jest-matcher-utils "^20.0.3"
+ callsites "^2.0.0"
+ chalk "^2.0.1"
+ graceful-fs "^4.1.11"
+ is-ci "^1.0.10"
+ jest-message-util "^23.4.0"
+ mkdirp "^0.5.1"
+ slash "^1.0.0"
+ source-map "^0.6.0"
+
+jest-validate@^22.4.4:
+ version "22.4.4"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.4.tgz#1dd0b616ef46c995de61810d85f57119dbbcec4d"
+ dependencies:
+ chalk "^2.0.1"
+ jest-config "^22.4.4"
+ jest-get-type "^22.1.0"
+ leven "^2.1.0"
+ pretty-format "^22.4.0"
+
+jest-validate@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-23.4.0.tgz#d96eede01ef03ac909c009e9c8e455197d48c201"
+ dependencies:
+ chalk "^2.0.1"
+ jest-get-type "^22.1.0"
leven "^2.1.0"
- pretty-format "^20.0.3"
+ pretty-format "^23.2.0"
+
+jest-watcher@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c"
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.1"
+ string-length "^2.0.0"
+
+jest-worker@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9"
+ dependencies:
+ merge-stream "^1.0.1"
-jest@20.0.4:
- version "20.0.4"
- resolved "https://registry.yarnpkg.com/jest/-/jest-20.0.4.tgz#3dd260c2989d6dad678b1e9cc4d91944f6d602ac"
+jest@22.4.2, jest@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.yarnpkg.com/jest/-/jest-23.4.0.tgz#ebce63f6529c27c646d80c610866f0306f66dcbf"
dependencies:
- jest-cli "^20.0.4"
+ import-local "^1.0.0"
+ jest-cli "^23.4.0"
js-base64@^2.1.9:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.3.tgz#2e545ec2b0f2957f41356510205214e98fad6582"
+ version "2.4.5"
+ resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.5.tgz#e293cd3c7c82f070d700fc7a1ca0a2e69f101f92"
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.4.3, js-yaml@^3.7.0, js-yaml@^3.9.1:
- version "3.11.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.11.0.tgz#597c1a8bd57152f26d622ce4117851a51f5ebaef"
+js-yaml@^3.4.3, js-yaml@^3.7.0:
+ version "3.12.0"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1"
dependencies:
argparse "^1.0.7"
esprima "^4.0.0"
@@ -4145,29 +4466,36 @@ jsbn@~0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-jsdom@^9.12.0:
- version "9.12.0"
- resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-9.12.0.tgz#e8c546fffcb06c00d4833ca84410fed7f8a097d4"
+jsdom@^11.5.1:
+ version "11.11.0"
+ resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.11.0.tgz#df486efad41aee96c59ad7a190e2449c7eb1110e"
dependencies:
- abab "^1.0.3"
- acorn "^4.0.4"
- acorn-globals "^3.1.0"
+ abab "^1.0.4"
+ acorn "^5.3.0"
+ acorn-globals "^4.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"
+ cssstyle ">= 0.3.1 < 0.4.0"
+ data-urls "^1.0.0"
+ domexception "^1.0.0"
+ escodegen "^1.9.0"
+ html-encoding-sniffer "^1.0.2"
+ left-pad "^1.2.0"
+ nwsapi "^2.0.0"
+ parse5 "4.0.0"
+ pn "^1.1.0"
+ request "^2.83.0"
+ request-promise-native "^1.0.5"
+ sax "^1.2.4"
+ symbol-tree "^3.2.2"
+ tough-cookie "^2.3.3"
+ w3c-hr-time "^1.0.1"
+ webidl-conversions "^4.0.2"
+ whatwg-encoding "^1.0.3"
+ whatwg-mimetype "^2.1.0"
+ whatwg-url "^6.4.1"
+ ws "^4.0.0"
+ xml-name-validator "^3.0.0"
jsesc@^1.3.0:
version "1.3.0"
@@ -4185,16 +4513,14 @@ json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+
json-schema@0.2.3:
version "0.2.3"
resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-json-stable-stringify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
- dependencies:
- jsonify "~0.0.0"
-
json-stringify-safe@~5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -4219,6 +4545,12 @@ jsonfile@^3.0.0:
optionalDependencies:
graceful-fs "^4.1.6"
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
jsonify@~0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
@@ -4232,16 +4564,6 @@ jsprim@^1.2.2:
json-schema "0.2.3"
verror "1.10.0"
-jsx-ast-utils@^1.4.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-1.4.1.tgz#3867213e8dd79bf1e8f2300c0cfc1efb182c0df1"
-
-jsx-ast-utils@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f"
- dependencies:
- array-includes "^3.0.3"
-
killable@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.0.tgz#da8b84bd47de5395878f95d64d02f2449fe05e6b"
@@ -4282,23 +4604,21 @@ lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-lazy-cache@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264"
- dependencies:
- set-getter "^0.1.0"
-
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
dependencies:
invert-kv "^1.0.0"
+left-pad@^1.2.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
+
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:
+levn@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
dependencies:
@@ -4324,18 +4644,11 @@ load-json-file@^2.0.0:
pify "^2.0.0"
strip-bom "^3.0.0"
-loader-fs-cache@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz#56e0bf08bd9708b26a765b68509840c8dec9fdbc"
- dependencies:
- find-cache-dir "^0.1.1"
- mkdirp "0.5.1"
-
loader-runner@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
-loader-utils@^0.2.16:
+loader-utils@^0.2.16, loader-utils@~0.2.2:
version "0.2.17"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
dependencies:
@@ -4359,6 +4672,26 @@ locate-path@^2.0.0:
p-locate "^2.0.0"
path-exists "^3.0.0"
+lodash-es@^4.17.4, lodash-es@^4.17.5:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.10.tgz#62cd7104cdf5dd87f235a837f0ede0e8e5117e05"
+
+lodash._baseisequal@^3.0.0:
+ version "3.0.7"
+ resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1"
+ dependencies:
+ lodash.isarray "^3.0.0"
+ lodash.istypedarray "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._bindcallback@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
+
+lodash._getnative@^3.0.0:
+ version "3.9.1"
+ resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+
lodash._reinterpolate@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -4367,22 +4700,73 @@ lodash.camelcase@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
-lodash.cond@^4.3.0:
- version "4.5.2"
- resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
lodash.defaults@^4.2.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
+lodash.endswith@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.endswith/-/lodash.endswith-4.2.1.tgz#fed59ac1738ed3e236edd7064ec456448b37bc09"
+
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"
+
+lodash.isarray@^3.0.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
+
+lodash.isequal@^3.0:
+ version "3.0.4"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-3.0.4.tgz#1c35eb3b6ef0cd1ff51743e3ea3cf7fdffdacb64"
+ dependencies:
+ lodash._baseisequal "^3.0.0"
+ lodash._bindcallback "^3.0.0"
+
+lodash.isfunction@^3.0.8:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051"
+
+lodash.isplainobject@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
+
+lodash.isstring@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451"
+
+lodash.istypedarray@^3.0.0:
+ version "3.0.6"
+ resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62"
+
+lodash.keys@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
+ dependencies:
+ lodash._getnative "^3.0.0"
+ lodash.isarguments "^3.0.0"
+ lodash.isarray "^3.0.0"
+
lodash.memoize@^4.1.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+
+lodash.startswith@^4.2.1:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/lodash.startswith/-/lodash.startswith-4.2.1.tgz#c598c4adce188a27e53145731cdc6c0e7177600c"
+
lodash.template@^4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
@@ -4400,9 +4784,9 @@ lodash.uniq@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-"lodash@>=3.5 <5", lodash@^4.14.0, lodash@^4.15.0, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0:
- version "4.17.5"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.5.tgz#99a92d65c0272debe8c96b6057bc8fbfa3bed511"
+"lodash@>=3.5 <5", lodash@^4.13.1, lodash@^4.15.0, lodash@^4.17.10, lodash@^4.17.2, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0:
+ version "4.17.10"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
loglevel@^1.4.1:
version "1.6.1"
@@ -4412,7 +4796,7 @@ 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:
+loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1:
version "1.3.1"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
dependencies:
@@ -4430,23 +4814,19 @@ lower-case@^1.1.1:
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
lowercase-keys@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
-lru-cache@^4.0.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
+lru-cache@^4.0.1, lru-cache@^4.1.1:
+ version "4.1.3"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
dependencies:
pseudomap "^1.0.2"
yallist "^2.1.2"
-macaddress@^0.2.8:
- version "0.2.8"
- resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
-
make-dir@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.2.0.tgz#6d6a49eead4aae296c53bbf3a1a008bd6c89469b"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
dependencies:
pify "^3.0.0"
@@ -4474,6 +4854,10 @@ math-expression-evaluator@^1.2.14:
version "1.2.17"
resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
+math-random@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac"
+
md5.js@^1.3.4:
version "1.3.4"
resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d"
@@ -4517,7 +4901,13 @@ merge-descriptors@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
-merge@^1.1.3:
+merge-stream@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
+ dependencies:
+ readable-stream "^2.0.1"
+
+merge@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
@@ -4544,8 +4934,8 @@ micromatch@^2.1.5, micromatch@^2.3.11:
regex-cache "^0.4.2"
micromatch@^3.1.4, micromatch@^3.1.8:
- version "3.1.9"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.9.tgz#15dc93175ae39e52e93087847096effc73efcf89"
+ version "3.1.10"
+ resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -4559,7 +4949,7 @@ micromatch@^3.1.4, micromatch@^3.1.8:
object.pick "^1.3.0"
regex-not "^1.0.0"
snapdragon "^0.8.1"
- to-regex "^3.0.1"
+ to-regex "^3.0.2"
miller-rabin@^4.0.0:
version "4.0.1"
@@ -4568,11 +4958,15 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-"mime-db@>= 1.33.0 < 2", mime-db@~1.33.0:
+"mime-db@>= 1.34.0 < 2":
+ version "1.34.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.34.0.tgz#452d0ecff5c30346a6dc1e64b1eaee0d3719ff9a"
+
+mime-db@~1.33.0:
version "1.33.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
-mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7:
+mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18:
version "2.1.18"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
dependencies:
@@ -4591,8 +4985,8 @@ mimic-fn@^1.0.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
minimalistic-assert@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
@@ -4604,7 +4998,7 @@ minimatch@3.0.3:
dependencies:
brace-expansion "^1.0.0"
-minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
+minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
dependencies:
@@ -4614,7 +5008,7 @@ minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
+minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
@@ -4622,6 +5016,34 @@ minimist@~0.0.1:
version "0.0.10"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
+minipass@^2.2.1, minipass@^2.3.3:
+ version "2.3.3"
+ resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233"
+ dependencies:
+ safe-buffer "^5.1.2"
+ yallist "^3.0.0"
+
+minizlib@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
+ dependencies:
+ minipass "^2.2.1"
+
+mississippi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f"
+ dependencies:
+ concat-stream "^1.5.0"
+ duplexify "^3.4.2"
+ end-of-stream "^1.1.0"
+ flush-write-stream "^1.0.0"
+ from2 "^2.1.0"
+ parallel-transform "^1.1.0"
+ pump "^2.0.1"
+ pumpify "^1.3.3"
+ stream-each "^1.1.0"
+ through2 "^2.0.0"
+
mixin-deep@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
@@ -4629,15 +5051,22 @@ mixin-deep@^1.2.0:
for-in "^1.0.2"
is-extendable "^1.0.1"
-mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
+mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
dependencies:
minimist "0.0.8"
-moo@^0.4.3:
- version "0.4.3"
- resolved "https://registry.yarnpkg.com/moo/-/moo-0.4.3.tgz#3f847a26f31cf625a956a87f2b10fbc013bfd10e"
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ dependencies:
+ aproba "^1.1.1"
+ copy-concurrently "^1.0.0"
+ fs-write-stream-atomic "^1.0.8"
+ mkdirp "^0.5.1"
+ rimraf "^2.5.4"
+ run-queue "^1.0.3"
ms@2.0.0:
version "2.0.0"
@@ -4658,20 +5087,19 @@ mute-stream@0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
-nan@^2.3.0:
- version "2.9.2"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.9.2.tgz#f564d75f5f8f36a6d9456cca7a6c4fe488ab7866"
+nan@^2.9.2:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
nanomatch@^1.2.9:
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.9.tgz#879f7150cb2dab7a471259066c104eee6e0fa7c2"
+ version "1.2.13"
+ resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
define-property "^2.0.2"
extend-shallow "^3.0.2"
fragment-cache "^0.2.1"
- is-odd "^2.0.0"
is-windows "^1.0.2"
kind-of "^6.0.2"
object.pick "^1.3.0"
@@ -4683,29 +5111,34 @@ natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-ncname@1.0.x:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
- dependencies:
- xml-char-classes "^1.0.0"
-
nearley@^2.7.10:
- version "2.12.1"
- resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.12.1.tgz#589cc3f883f5f873902b719838abd45af57b2d69"
+ version "2.13.0"
+ resolved "https://registry.yarnpkg.com/nearley/-/nearley-2.13.0.tgz#6e7b0f4e68bfc3e74c99eaef2eda39e513143439"
dependencies:
- moo "^0.4.3"
nomnom "~1.6.2"
railroad-diagrams "^1.0.0"
randexp "0.4.6"
semver "^5.4.1"
+needle@^2.2.0:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d"
+ dependencies:
+ debug "^2.1.2"
+ iconv-lite "^0.4.4"
+ sax "^1.2.4"
+
negotiator@0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
neo-async@^2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.0.tgz#76b1c823130cca26acfbaccc8fbaf0a2fa33b18f"
+ version "2.5.1"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee"
+
+next-tick@1:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
no-case@^2.2.0:
version "2.3.2"
@@ -4720,9 +5153,9 @@ node-fetch@^1.0.1:
encoding "^0.1.11"
is-stream "^1.0.1"
-node-forge@0.7.1:
- version "0.7.1"
- resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300"
+node-forge@0.7.5:
+ version "0.7.5"
+ resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.5.tgz#6c152c345ce11c52f465c2abd957e8639cd674df"
node-int64@^0.4.0:
version "0.4.0"
@@ -4756,7 +5189,7 @@ node-libs-browser@^2.0.0:
util "^0.10.3"
vm-browserify "0.0.4"
-node-notifier@^5.0.2:
+node-notifier@^5.2.1:
version "5.2.1"
resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.2.1.tgz#fa313dd08f5517db0e2502e5758d664ac69f9dea"
dependencies:
@@ -4765,21 +5198,20 @@ node-notifier@^5.0.2:
shellwords "^0.1.1"
which "^1.3.0"
-node-pre-gyp@^0.6.39:
- version "0.6.39"
- resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
+node-pre-gyp@^0.10.0:
+ version "0.10.2"
+ resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.2.tgz#e8945c20ef6795a20aac2b44f036eb13cf5146e3"
dependencies:
detect-libc "^1.0.2"
- hawk "3.1.3"
mkdirp "^0.5.1"
+ needle "^2.2.0"
nopt "^4.0.1"
+ npm-packlist "^1.1.6"
npmlog "^4.0.2"
- rc "^1.1.7"
- request "2.81.0"
+ rc "^1.2.7"
rimraf "^2.6.1"
semver "^5.3.0"
- tar "^2.2.1"
- tar-pack "^3.4.0"
+ tar "^4"
nomnom@~1.6.2:
version "1.6.2"
@@ -4823,6 +5255,17 @@ normalize-url@^1.4.0:
query-string "^4.1.0"
sort-keys "^1.0.0"
+npm-bundled@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308"
+
+npm-packlist@^1.1.6:
+ version "1.1.10"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.10.tgz#1039db9e985727e464df066f4cf0ab6ef85c398a"
+ dependencies:
+ ignore-walk "^3.0.1"
+ npm-bundled "^1.0.1"
+
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
@@ -4852,11 +5295,11 @@ 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"
+nwsapi@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.0.4.tgz#dc79040a5f77b97716dc79565fc7fc3ef7d50570"
-oauth-sign@~0.8.1, oauth-sign@~0.8.2:
+oauth-sign@~0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
@@ -4872,21 +5315,17 @@ object-copy@^0.1.0:
define-property "^0.2.5"
kind-of "^3.0.3"
-object-hash@^1.1.4:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-1.2.0.tgz#e96af0e96981996a1d47f88ead8f74f1ebc4422b"
-
object-inspect@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.5.0.tgz#9d876c11e40f485c79215670281b767488f9bfe3"
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.6.0.tgz#c70b6cbf72f274aab4c34c0c82f5167bf82cf15b"
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.11, object-keys@^1.0.8:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+ version "1.0.12"
+ resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2"
object-visit@^1.0.0:
version "1.0.1"
@@ -4912,6 +5351,13 @@ object.entries@^1.0.4:
function-bind "^1.1.0"
has "^1.0.1"
+object.getownpropertydescriptors@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16"
+ dependencies:
+ define-properties "^1.1.2"
+ es-abstract "^1.5.1"
+
object.omit@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
@@ -4935,8 +5381,8 @@ object.values@^1.0.4:
has "^1.0.1"
obuf@^1.0.0, obuf@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e"
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
on-finished@~2.3.0:
version "2.3.0"
@@ -4948,7 +5394,7 @@ 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.4.0:
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
dependencies:
@@ -4960,12 +5406,18 @@ onetime@^2.0.0:
dependencies:
mimic-fn "^1.0.0"
-opn@5.2.0, opn@^5.1.0:
+opn@5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/opn/-/opn-5.2.0.tgz#71fdf934d6827d676cecbea1531f95d354641225"
dependencies:
is-wsl "^1.1.0"
+opn@^5.1.0:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/opn/-/opn-5.3.0.tgz#64871565c863875f052cfdf53d3e3cb5adb53b1c"
+ dependencies:
+ is-wsl "^1.1.0"
+
optimist@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
@@ -4973,7 +5425,7 @@ optimist@^0.6.1:
minimist "~0.0.1"
wordwrap "~0.0.2"
-optionator@^0.8.1, optionator@^0.8.2:
+optionator@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
dependencies:
@@ -4985,10 +5437,10 @@ optionator@^0.8.1, optionator@^0.8.2:
wordwrap "~1.0.0"
original@>=0.0.5:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b"
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/original/-/original-1.0.1.tgz#b0a53ff42ba997a8c9cd1fb5daaeb42b9d693190"
dependencies:
- url-parse "1.0.x"
+ url-parse "~1.4.0"
os-browserify@^0.3.0:
version "0.3.0"
@@ -5028,8 +5480,8 @@ p-finally@^1.0.0:
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
p-limit@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
dependencies:
p-try "^1.0.0"
@@ -5060,6 +5512,14 @@ pako@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
+parallel-transform@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06"
+ dependencies:
+ cyclist "~0.2.2"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
param-case@2.1.x:
version "2.1.1"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
@@ -5067,8 +5527,8 @@ param-case@2.1.x:
no-case "^2.2.0"
parse-asn1@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712"
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8"
dependencies:
asn1.js "^4.0.0"
browserify-aes "^1.0.0"
@@ -5095,9 +5555,9 @@ parse-passwd@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
-parse5@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/parse5/-/parse5-1.5.1.tgz#9b7f3b0de32be78dc2401b17573ccaf0f6f59d94"
+parse5@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
parse5@^3.0.1:
version "3.0.3"
@@ -5135,7 +5595,7 @@ 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"
-path-is-inside@^1.0.1, path-is-inside@^1.0.2:
+path-is-inside@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
@@ -5151,7 +5611,7 @@ path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
-path-to-regexp@^1.0.1:
+path-to-regexp@^1.0.1, path-to-regexp@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d"
dependencies:
@@ -5172,8 +5632,8 @@ path-type@^2.0.0:
pify "^2.0.0"
pbkdf2@^3.0.3:
- version "3.0.14"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade"
+ version "3.0.16"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c"
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@@ -5181,15 +5641,11 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-performance-now@^0.2.0:
- version "0.2.0"
- resolved "https://registry.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, pify@^2.3.0:
+pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
@@ -5207,21 +5663,15 @@ pinkie@^2.0.0:
version "2.0.4"
resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-pkg-dir@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
- dependencies:
- find-up "^1.0.0"
-
pkg-dir@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
dependencies:
find-up "^2.1.0"
-pluralize@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+pn@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
portfinder@^1.0.9:
version "1.0.13"
@@ -5290,11 +5740,10 @@ postcss-discard-unused@^2.2.1:
uniqs "^2.0.0"
postcss-filter-plugins@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec"
dependencies:
postcss "^5.0.4"
- uniqid "^4.0.0"
postcss-flexbugs-fixes@3.2.0:
version "3.2.0"
@@ -5396,8 +5845,8 @@ postcss-minify-selectors@^2.0.4:
postcss-selector-parser "^2.0.0"
postcss-modules-extract-imports@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85"
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb"
dependencies:
postcss "^6.0.1"
@@ -5512,12 +5961,12 @@ postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0
supports-color "^3.2.3"
postcss@^6.0.0, postcss@^6.0.1, postcss@^6.0.13:
- version "6.0.19"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.19.tgz#76a78386f670b9d9494a655bf23ac012effd1555"
+ version "6.0.23"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
dependencies:
- chalk "^2.3.1"
+ chalk "^2.4.1"
source-map "^0.6.1"
- supports-color "^5.2.0"
+ supports-color "^5.4.0"
prelude-ls@~1.1.2:
version "1.1.2"
@@ -5542,14 +5991,21 @@ pretty-error@^2.0.2:
renderkid "^2.0.1"
utila "~0.4"
-pretty-format@^20.0.3:
- version "20.0.3"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-20.0.3.tgz#020e350a560a1fe1a98dc3beb6ccffb386de8b14"
+pretty-format@^22.4.0, pretty-format@^22.4.3:
+ version "22.4.3"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f"
+ dependencies:
+ ansi-regex "^3.0.0"
+ ansi-styles "^3.2.0"
+
+pretty-format@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-23.2.0.tgz#3b0aaa63c018a53583373c1cb3a5d96cc5e83017"
dependencies:
- ansi-regex "^2.1.1"
- ansi-styles "^3.0.0"
+ ansi-regex "^3.0.0"
+ ansi-styles "^3.2.0"
-private@^0.1.6, private@^0.1.7:
+private@^0.1.6, private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -5561,9 +6017,9 @@ process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
-progress@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f"
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
promise@8.0.1:
version "8.0.1"
@@ -5577,15 +6033,21 @@ promise@^7.1.1:
dependencies:
asap "~2.0.3"
-prop-types@^15.5.10, prop-types@^15.6.0:
- version "15.6.1"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.1.tgz#36644453564255ddda391191fb3a125cbdf654ca"
+prompts@^0.1.9:
+ version "0.1.11"
+ resolved "https://registry.yarnpkg.com/prompts/-/prompts-0.1.11.tgz#fdfac72f61d2887f4eaf2e65e748a9d9ef87206f"
+ dependencies:
+ clorox "^1.0.3"
+ sisteransi "^0.1.1"
+
+prop-types@^15.5.4, prop-types@^15.6.0, prop-types@^15.6.1:
+ version "15.6.2"
+ resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.2.tgz#05d5ca77b4453e985d60fc7ff8c859094a497102"
dependencies:
- fbjs "^0.8.16"
loose-envify "^1.3.1"
object-assign "^4.1.1"
-proxy-addr@~2.0.2:
+proxy-addr@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.3.tgz#355f262505a621646b3130a728eb647e22055341"
dependencies:
@@ -5600,9 +6062,13 @@ pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+psl@^1.1.24:
+ version "1.1.28"
+ resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.28.tgz#4fb6ceb08a1e2214d4fd4de0ca22dae13740bc7b"
+
public-encrypt@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6"
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994"
dependencies:
bn.js "^4.1.0"
browserify-rsa "^4.0.0"
@@ -5610,6 +6076,21 @@ public-encrypt@^4.0.0:
parse-asn1 "^5.0.0"
randombytes "^2.0.1"
+pump@^2.0.0, pump@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pumpify@^1.3.3:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ dependencies:
+ duplexify "^3.6.0"
+ inherits "^2.0.3"
+ pump "^2.0.0"
+
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
@@ -5618,17 +6099,21 @@ punycode@^1.2.4, punycode@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+punycode@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+
q@^1.1.2:
version "1.5.1"
resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
-qs@6.5.1, qs@~6.5.1:
+qs@6.5.1:
version "6.5.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
-qs@~6.4.0:
- version "6.4.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
+qs@~6.5.1:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
query-string@^4.1.0:
version "4.3.4"
@@ -5645,13 +6130,9 @@ querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-querystringify@0.0.x:
- version "0.0.4"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
-
-querystringify@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
+querystringify@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.0.0.tgz#fa3ed6e68eb15159457c89b37bc6472833195755"
raf@3.4.0, raf@^3.4.0:
version "3.4.0"
@@ -5670,12 +6151,13 @@ randexp@0.4.6:
discontinuous-range "1.0.0"
ret "~0.1.10"
-randomatic@^1.1.3:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
+randomatic@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923"
dependencies:
- is-number "^3.0.0"
- kind-of "^4.0.0"
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.0.6"
@@ -5703,24 +6185,24 @@ raw-body@2.3.2:
iconv-lite "0.4.19"
unpipe "1.0.0"
-rc@^1.0.1, rc@^1.1.6, rc@^1.1.7:
- version "1.2.5"
- resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.5.tgz#275cd687f6e3b36cc756baa26dfee80a790301fd"
+rc@^1.0.1, rc@^1.1.6, rc@^1.2.7:
+ version "1.2.8"
+ resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
dependencies:
- deep-extend "~0.4.0"
+ deep-extend "^0.6.0"
ini "~1.3.0"
minimist "^1.2.0"
strip-json-comments "~2.0.1"
-react-dev-utils@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-5.0.0.tgz#425ac7c9c40c2603bc4f7ab8836c1406e96bb473"
+react-dev-utils@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-5.0.1.tgz#1f396e161fe44b595db1b186a40067289bf06613"
dependencies:
address "1.0.3"
babel-code-frame "6.26.0"
chalk "1.1.3"
cross-spawn "5.1.0"
- detect-port-alt "1.1.5"
+ detect-port-alt "1.1.6"
escape-string-regexp "1.0.5"
filesize "3.5.11"
global-modules "1.0.0"
@@ -5735,9 +6217,9 @@ react-dev-utils@^5.0.0:
strip-ansi "3.0.1"
text-table "0.2.0"
-react-dom@^16.2.0:
- version "16.2.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.2.0.tgz#69003178601c0ca19b709b33a83369fe6124c044"
+react-dom@^16.4.1:
+ version "16.4.1"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.4.1.tgz#7f8b0223b3a5fbe205116c56deb85de32685dad6"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
@@ -5748,6 +6230,10 @@ react-error-overlay@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-4.0.0.tgz#d198408a85b4070937a98667f500c832f86bd5d4"
+react-is@^16.3.1, react-is@^16.4.1:
+ version "16.4.1"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.4.1.tgz#d624c4650d2c65dbd52c72622bbf389435d9776e"
+
react-reconciler@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.7.0.tgz#9614894103e5f138deeeb5eabaf3ee80eb1d026d"
@@ -5757,42 +6243,76 @@ react-reconciler@^0.7.0:
object-assign "^4.1.1"
prop-types "^15.6.0"
-react-scripts@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-1.1.1.tgz#279d449f7311fed910506987a1ade014027788a8"
+react-redux@^5.0.7:
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-5.0.7.tgz#0dc1076d9afb4670f993ffaef44b8f8c1155a4c8"
+ dependencies:
+ hoist-non-react-statics "^2.5.0"
+ invariant "^2.0.0"
+ lodash "^4.17.5"
+ lodash-es "^4.17.5"
+ loose-envify "^1.1.0"
+ prop-types "^15.6.0"
+
+react-router-dom@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.3.1.tgz#4c2619fc24c4fa87c9fd18f4fb4a43fe63fbd5c6"
+ dependencies:
+ history "^4.7.2"
+ invariant "^2.2.4"
+ loose-envify "^1.3.1"
+ prop-types "^15.6.1"
+ react-router "^4.3.1"
+ warning "^4.0.1"
+
+react-router@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-4.3.1.tgz#aada4aef14c809cb2e686b05cee4742234506c4e"
+ dependencies:
+ history "^4.7.2"
+ hoist-non-react-statics "^2.5.0"
+ invariant "^2.2.4"
+ loose-envify "^1.3.1"
+ path-to-regexp "^1.7.0"
+ prop-types "^15.6.1"
+ warning "^4.0.1"
+
+react-scripts-ts@2.16.0:
+ version "2.16.0"
+ resolved "https://registry.yarnpkg.com/react-scripts-ts/-/react-scripts-ts-2.16.0.tgz#45f831a12139c3b59d6bb729c1b6ef51e0f22908"
dependencies:
autoprefixer "7.1.6"
- babel-core "6.26.0"
- babel-eslint "7.2.3"
- babel-jest "20.0.3"
- babel-loader "7.1.2"
+ babel-jest "^22.1.0"
+ babel-loader "^7.1.2"
babel-preset-react-app "^3.1.1"
- babel-runtime "6.26.0"
case-sensitive-paths-webpack-plugin "2.1.1"
chalk "1.1.3"
css-loader "0.28.7"
dotenv "4.0.0"
dotenv-expand "4.2.0"
- eslint "4.10.0"
- eslint-config-react-app "^2.1.0"
- eslint-loader "1.9.0"
- eslint-plugin-flowtype "2.39.1"
- eslint-plugin-import "2.8.0"
- eslint-plugin-jsx-a11y "5.1.1"
- eslint-plugin-react "7.4.0"
extract-text-webpack-plugin "3.0.2"
- file-loader "1.1.5"
+ file-loader "0.11.2"
+ fork-ts-checker-webpack-plugin "^0.2.8"
fs-extra "3.0.1"
html-webpack-plugin "2.29.0"
- jest "20.0.4"
+ jest "22.4.2"
object-assign "4.1.1"
postcss-flexbugs-fixes "3.2.0"
postcss-loader "2.0.8"
promise "8.0.1"
raf "3.4.0"
- react-dev-utils "^5.0.0"
+ react-dev-utils "^5.0.1"
+ resolve "1.6.0"
+ source-map-loader "^0.2.1"
style-loader "0.19.0"
sw-precache-webpack-plugin "0.11.4"
+ ts-jest "22.0.1"
+ ts-loader "^2.3.7"
+ tsconfig-paths-webpack-plugin "^2.0.0"
+ tslint "^5.7.0"
+ tslint-config-prettier "^1.10.0"
+ tslint-react "^3.2.0"
+ uglifyjs-webpack-plugin "^1.1.8"
url-loader "0.6.2"
webpack "3.8.1"
webpack-dev-server "2.9.4"
@@ -5801,17 +6321,18 @@ react-scripts@1.1.1:
optionalDependencies:
fsevents "^1.1.3"
-react-test-renderer@^16.0.0-0:
- version "16.2.0"
- resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.2.0.tgz#bddf259a6b8fcd8555f012afc8eacc238872a211"
+react-test-renderer@^16.0.0-0, react-test-renderer@^16.4.1:
+ version "16.4.1"
+ resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-16.4.1.tgz#f2fb30c2c7b517db6e5b10ed20bb6b0a7ccd8d70"
dependencies:
fbjs "^0.8.16"
object-assign "^4.1.1"
prop-types "^15.6.0"
+ react-is "^16.4.1"
-react@^16.2.0:
- version "16.2.0"
- resolved "https://registry.yarnpkg.com/react/-/react-16.2.0.tgz#a31bd2dab89bff65d42134fa187f24d054c273ba"
+react@^16.4.1:
+ version "16.4.1"
+ resolved "https://registry.yarnpkg.com/react/-/react-16.4.1.tgz#de51ba5764b5dbcd1f9079037b862bd26b82fe32"
dependencies:
fbjs "^0.8.16"
loose-envify "^1.1.0"
@@ -5848,6 +6369,18 @@ read-pkg@^2.0.0:
normalize-package-data "^2.3.2"
path-type "^2.0.0"
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3, readable-stream@^2.3.6:
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.3"
+ isarray "~1.0.0"
+ process-nextick-args "~2.0.0"
+ safe-buffer "~5.1.1"
+ string_decoder "~1.1.1"
+ util-deprecate "~1.0.1"
+
readable-stream@1.0:
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
@@ -5857,18 +6390,6 @@ readable-stream@1.0:
isarray "0.0.1"
string_decoder "~0.10.x"
-readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2, readable-stream@^2.2.9, readable-stream@^2.3.3:
- version "2.3.5"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.5.tgz#b4f85003a938cbb6ecbce2a124fb1012bd1a838d"
- dependencies:
- core-util-is "~1.0.0"
- inherits "~2.0.3"
- isarray "~1.0.0"
- process-nextick-args "~2.0.0"
- safe-buffer "~5.1.1"
- string_decoder "~1.0.3"
- util-deprecate "~1.0.1"
-
readdirp@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
@@ -5878,6 +6399,12 @@ readdirp@^2.0.0:
readable-stream "^2.0.2"
set-immediate-shim "^1.0.1"
+realpath-native@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.0.1.tgz#07f40a0cce8f8261e2e8b7ebebf5c95965d7b633"
+ dependencies:
+ util.promisify "^1.0.0"
+
recursive-readdir@2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.1.tgz#90ef231d0778c5ce093c9a48d74e5c5422d13a99"
@@ -5905,9 +6432,43 @@ reduce-function-call@^1.0.1:
dependencies:
balanced-match "^0.4.2"
+reduce-reducers@^0.1.0:
+ version "0.1.5"
+ resolved "https://registry.yarnpkg.com/reduce-reducers/-/reduce-reducers-0.1.5.tgz#ff77ca8068ff41007319b8b4b91533c7e0e54576"
+
+redux-actions@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/redux-actions/-/redux-actions-2.4.0.tgz#620df42d264af88366b4e919c46ae68da7c9ce7c"
+ dependencies:
+ invariant "^2.2.1"
+ lodash "^4.13.1"
+ lodash-es "^4.17.4"
+ reduce-reducers "^0.1.0"
+
+redux-devtools-extension@^2.13.5:
+ version "2.13.5"
+ resolved "https://registry.yarnpkg.com/redux-devtools-extension/-/redux-devtools-extension-2.13.5.tgz#3ff34f7227acfeef3964194f5f7fc2765e5c5a39"
+
+redux-mock-store@^1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/redux-mock-store/-/redux-mock-store-1.5.3.tgz#1f10528949b7ce8056c2532624f7cafa98576c6d"
+ dependencies:
+ lodash.isplainobject "^4.0.6"
+
+redux-saga@^0.16.0:
+ version "0.16.0"
+ resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.16.0.tgz#0a231db0a1489301dd980f6f2f88d8ced418f724"
+
+redux@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.0.tgz#aa698a92b729315d22b34a0553d7e6533555cc03"
+ dependencies:
+ loose-envify "^1.1.0"
+ symbol-observable "^1.2.0"
+
regenerate@^1.2.1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
regenerator-runtime@^0.11.0:
version "0.11.1"
@@ -6005,36 +6566,23 @@ repeating@^2.0.0:
dependencies:
is-finite "^1.0.0"
-request@2.81.0:
- version "2.81.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
+request-promise-core@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.1.tgz#3eee00b2c5aa83239cfb04c5700da36f81cd08b6"
dependencies:
- aws-sign2 "~0.6.0"
- aws4 "^1.2.1"
- caseless "~0.12.0"
- combined-stream "~1.0.5"
- extend "~3.0.0"
- forever-agent "~0.6.1"
- form-data "~2.1.1"
- har-validator "~4.2.1"
- hawk "~3.1.3"
- http-signature "~1.1.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.7"
- oauth-sign "~0.8.1"
- performance-now "^0.2.0"
- qs "~6.4.0"
- safe-buffer "^5.0.1"
- stringstream "~0.0.4"
- tough-cookie "~2.3.0"
- tunnel-agent "^0.6.0"
- uuid "^3.0.0"
+ lodash "^4.13.1"
-request@^2.79.0:
- version "2.83.0"
- resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
+request-promise-native@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.5.tgz#5281770f68e0c9719e5163fd3fab482215f4fda5"
+ dependencies:
+ request-promise-core "1.1.1"
+ stealthy-require "^1.1.0"
+ tough-cookie ">=2.3.3"
+
+request@^2.83.0:
+ version "2.87.0"
+ resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e"
dependencies:
aws-sign2 "~0.7.0"
aws4 "^1.6.0"
@@ -6044,7 +6592,6 @@ request@^2.79.0:
forever-agent "~0.6.1"
form-data "~2.3.1"
har-validator "~5.0.3"
- hawk "~6.0.2"
http-signature "~1.2.0"
is-typedarray "~1.0.0"
isstream "~0.1.2"
@@ -6054,7 +6601,6 @@ request@^2.79.0:
performance-now "^2.1.0"
qs "~6.5.1"
safe-buffer "^5.1.1"
- stringstream "~0.0.5"
tough-cookie "~2.3.3"
tunnel-agent "^0.6.0"
uuid "^3.1.0"
@@ -6071,14 +6617,7 @@ require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-require-uncached@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
- dependencies:
- caller-path "^0.1.0"
- resolve-from "^1.0.0"
-
-requires-port@1.0.x, requires-port@1.x.x, requires-port@~1.0.0:
+requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
@@ -6095,14 +6634,14 @@ resolve-dir@^1.0.0:
expand-tilde "^2.0.0"
global-modules "^1.0.0"
-resolve-from@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
-
resolve-from@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+resolve-pathname@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-2.2.0.tgz#7e9ae21ed815fd63ab189adeee64dc831eefa879"
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
@@ -6111,9 +6650,15 @@ resolve@1.1.7:
version "1.1.7"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
-resolve@^1.3.2, resolve@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
+resolve@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.6.0.tgz#0fbd21278b27b4004481c395349e7aba60a9ff5c"
+ dependencies:
+ path-parse "^1.0.5"
+
+resolve@^1.1.7, resolve@^1.3.2:
+ version "1.8.1"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
dependencies:
path-parse "^1.0.5"
@@ -6134,17 +6679,17 @@ right-align@^0.1.1:
dependencies:
align-text "^0.1.1"
-rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1:
+rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
dependencies:
glob "^7.0.5"
ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
dependencies:
- hash-base "^2.0.0"
+ hash-base "^3.0.0"
inherits "^2.0.1"
rst-selector-parser@^2.2.3:
@@ -6154,12 +6699,22 @@ rst-selector-parser@^2.2.3:
lodash.flattendeep "^4.4.0"
nearley "^2.7.10"
+rsvp@^3.3.3:
+ version "3.6.2"
+ resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
+
run-async@^2.2.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
dependencies:
is-promise "^2.1.0"
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ dependencies:
+ aproba "^1.1.1"
+
rx-lite-aggregates@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
@@ -6170,29 +6725,40 @@ rx-lite@*, rx-lite@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
-safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
dependencies:
ret "~0.1.10"
-sane@~1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/sane/-/sane-1.6.0.tgz#9610c452307a135d29c1fdfe2547034180c46775"
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+
+sane@^2.0.0:
+ version "2.5.2"
+ resolved "https://registry.yarnpkg.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa"
dependencies:
- anymatch "^1.3.0"
+ anymatch "^2.0.0"
+ capture-exit "^1.2.0"
exec-sh "^0.2.0"
- fb-watchman "^1.8.0"
- minimatch "^3.0.2"
+ fb-watchman "^2.0.0"
+ micromatch "^3.1.4"
minimist "^1.1.1"
walker "~1.0.5"
- watch "~0.10.0"
+ watch "~0.18.0"
+ optionalDependencies:
+ fsevents "^1.2.3"
-sax@^1.2.1, sax@~1.2.1:
+sax@^1.2.4, sax@~1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
@@ -6202,15 +6768,22 @@ schema-utils@^0.3.0:
dependencies:
ajv "^5.0.0"
+schema-utils@^0.4.5:
+ version "0.4.5"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-0.4.5.tgz#21836f0608aac17b78f9e3e24daff14a5ca13a3e"
+ dependencies:
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+
select-hose@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
selfsigned@^1.9.1:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.2.tgz#b4449580d99929b65b10a48389301a6592088758"
+ version "1.10.3"
+ resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.3.tgz#d628ecf9e3735f84e8bafba936b3cf85bea43823"
dependencies:
- node-forge "0.7.1"
+ node-forge "0.7.5"
semver-diff@^2.0.0:
version "2.1.0"
@@ -6218,18 +6791,18 @@ semver-diff@^2.0.0:
dependencies:
semver "^5.0.3"
-"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1:
+"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
-send@0.16.1:
- version "0.16.1"
- resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3"
+send@0.16.2:
+ version "0.16.2"
+ resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"
dependencies:
debug "2.6.9"
- depd "~1.1.1"
+ depd "~1.1.2"
destroy "~1.0.4"
- encodeurl "~1.0.1"
+ encodeurl "~1.0.2"
escape-html "~1.0.3"
etag "~1.8.1"
fresh "0.5.2"
@@ -6238,7 +6811,11 @@ send@0.16.1:
ms "2.0.0"
on-finished "~2.3.0"
range-parser "~1.2.0"
- statuses "~1.3.1"
+ statuses "~1.4.0"
+
+serialize-javascript@^1.4.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.5.0.tgz#1aa336162c88a890ddad5384baebc93a655161fe"
serve-index@^1.7.2:
version "1.9.1"
@@ -6252,14 +6829,14 @@ serve-index@^1.7.2:
mime-types "~2.1.17"
parseurl "~1.3.2"
-serve-static@1.13.1:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719"
+serve-static@1.13.2:
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1"
dependencies:
- encodeurl "~1.0.1"
+ encodeurl "~1.0.2"
escape-html "~1.0.3"
parseurl "~1.3.2"
- send "0.16.1"
+ send "0.16.2"
serviceworker-cache-polyfill@^4.0.0:
version "4.0.0"
@@ -6269,12 +6846,6 @@ set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-set-getter@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376"
- dependencies:
- to-object-path "^0.3.0"
-
set-immediate-shim@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
@@ -6310,8 +6881,8 @@ setprototypeof@1.1.0:
resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
sha.js@^2.4.0, sha.js@^2.4.8:
- version "2.4.10"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.10.tgz#b1fde5cd7d11a5626638a07c604ab909cfa31f9b"
+ version "2.4.11"
+ resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -6326,7 +6897,7 @@ shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-shell-quote@1.6.1:
+shell-quote@1.6.1, shell-quote@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.6.1.tgz#f4781949cce402697127430ea3b3c5476f481767"
dependencies:
@@ -6343,16 +6914,14 @@ signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+sisteransi@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
+
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
-slice-ansi@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
- dependencies:
- is-fullwidth-code-point "^2.0.0"
-
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -6368,8 +6937,8 @@ snapdragon-util@^3.0.1:
kind-of "^3.2.0"
snapdragon@^0.8.1:
- version "0.8.1"
- resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370"
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
dependencies:
base "^0.11.1"
debug "^2.2.0"
@@ -6378,19 +6947,7 @@ snapdragon@^0.8.1:
map-cache "^0.2.2"
source-map "^0.5.6"
source-map-resolve "^0.5.0"
- use "^2.0.0"
-
-sntp@1.x.x:
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
- dependencies:
- hoek "2.x.x"
-
-sntp@2.x.x:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
- dependencies:
- hoek "4.x.x"
+ use "^3.1.0"
sockjs-client@1.1.4:
version "1.1.4"
@@ -6420,11 +6977,19 @@ source-list-map@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
-source-map-resolve@^0.5.0:
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a"
+source-map-loader@^0.2.1:
+ version "0.2.3"
+ resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.3.tgz#d4b0c8cd47d54edce3e6bfa0f523f452b5b0e521"
+ dependencies:
+ async "^2.5.0"
+ loader-utils "~0.2.2"
+ source-map "~0.6.1"
+
+source-map-resolve@^0.5.0, source-map-resolve@^0.5.1:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
dependencies:
- atob "^2.0.0"
+ atob "^2.1.1"
decode-uri-component "^0.2.0"
resolve-url "^0.2.1"
source-map-url "^0.4.0"
@@ -6436,6 +7001,13 @@ source-map-support@^0.4.15:
dependencies:
source-map "^0.5.6"
+source-map-support@^0.5.0, source-map-support@^0.5.5, source-map-support@^0.5.6:
+ version "0.5.6"
+ resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.6.tgz#4435cee46b1aab62b8e8610ce60f788091c51c13"
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
@@ -6444,13 +7016,19 @@ source-map@0.5.x, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, sourc
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+source-map@^0.1.38:
+ version "0.1.43"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+ dependencies:
+ amdefine ">=0.0.4"
+
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.6.1, source-map@~0.6.1:
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
@@ -6477,8 +7055,8 @@ spdx-license-ids@^3.0.0:
resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
spdy-transport@^2.0.18:
- version "2.0.20"
- resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.20.tgz#735e72054c486b2354fe89e702256004a39ace4d"
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.1.0.tgz#4bbb15aaffed0beefdd56ad61dbdc8ba3e2cb7a1"
dependencies:
debug "^2.6.8"
detect-node "^2.0.3"
@@ -6510,19 +7088,30 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
sshpk@^1.7.0:
- version "1.13.1"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
+ version "1.14.2"
+ resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98"
dependencies:
asn1 "~0.2.3"
assert-plus "^1.0.0"
dashdash "^1.12.0"
getpass "^0.1.1"
+ safer-buffer "^2.0.2"
optionalDependencies:
bcrypt-pbkdf "^1.0.0"
ecc-jsbn "~0.1.1"
jsbn "~0.1.0"
tweetnacl "~0.14.0"
+ssri@^5.2.4:
+ version "5.3.0"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06"
+ dependencies:
+ safe-buffer "^5.1.1"
+
+stack-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.1.tgz#d4f33ab54e8e38778b0ca5cfd3b3afb12db68620"
+
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
@@ -6530,13 +7119,17 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
-"statuses@>= 1.3.1 < 2":
+"statuses@>= 1.3.1 < 2", "statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+
+statuses@~1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
-statuses@~1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+stealthy-require@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
stream-browserify@^2.0.1:
version "2.0.1"
@@ -6545,25 +7138,37 @@ stream-browserify@^2.0.1:
inherits "~2.0.1"
readable-stream "^2.0.2"
+stream-each@^1.1.0:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.2.tgz#8e8c463f91da8991778765873fe4d960d8f616bd"
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.0.0"
+
stream-http@^2.7.2:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.0.tgz#fd86546dac9b1c91aff8fc5d287b98fafb41bc10"
+ version "2.8.3"
+ resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
dependencies:
builtin-status-codes "^3.0.0"
inherits "^2.0.1"
- readable-stream "^2.3.3"
+ readable-stream "^2.3.6"
to-arraybuffer "^1.0.0"
xtend "^4.0.0"
+stream-shift@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
+
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
-string-length@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/string-length/-/string-length-1.0.1.tgz#56970fb1c38558e9e70b728bf3de269ac45adfac"
+string-length@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
dependencies:
- strip-ansi "^3.0.0"
+ astral-regex "^1.0.0"
+ strip-ansi "^4.0.0"
string-width@^1.0.1, string-width@^1.0.2:
version "1.0.2"
@@ -6573,16 +7178,16 @@ string-width@^1.0.1, string-width@^1.0.2:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
dependencies:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
-string_decoder@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.0.tgz#384f322ee8a848e500effde99901bba849c5d403"
+string_decoder@^1.0.0, string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
dependencies:
safe-buffer "~5.1.0"
@@ -6590,16 +7195,6 @@ string_decoder@~0.10.x:
version "0.10.31"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-string_decoder@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
- dependencies:
- safe-buffer "~5.1.0"
-
-stringstream@~0.0.4, stringstream@~0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
-
strip-ansi@3.0.1, strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
@@ -6632,7 +7227,7 @@ strip-indent@^1.0.1:
dependencies:
get-stdin "^4.0.1"
-strip-json-comments@~2.0.1:
+strip-json-comments@^2.0.1, 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"
@@ -6643,6 +7238,35 @@ style-loader@0.19.0:
loader-utils "^1.0.2"
schema-utils "^0.3.0"
+styled-components@^3.3.3:
+ version "3.3.3"
+ resolved "https://registry.yarnpkg.com/styled-components/-/styled-components-3.3.3.tgz#09e702055ab11f7a8eab8229b1c0d0b855095686"
+ dependencies:
+ buffer "^5.0.3"
+ css-to-react-native "^2.0.3"
+ fbjs "^0.8.16"
+ hoist-non-react-statics "^2.5.0"
+ is-plain-object "^2.0.1"
+ prop-types "^15.5.4"
+ react-is "^16.3.1"
+ stylis "^3.5.0"
+ stylis-rule-sheet "^0.0.10"
+ supports-color "^3.2.3"
+
+stylis-rule-sheet@^0.0.10:
+ version "0.0.10"
+ resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430"
+
+stylis@^3.5.0:
+ version "3.5.1"
+ resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.1.tgz#fd341d59f57f9aeb412bc14c9d8a8670b438e03b"
+
+subarg@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/subarg/-/subarg-1.0.0.tgz#f62cf17581e996b48fc965699f54c06ae268b8d2"
+ dependencies:
+ minimist "^1.1.0"
+
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
@@ -6659,9 +7283,9 @@ supports-color@^4.2.1:
dependencies:
has-flag "^2.0.0"
-supports-color@^5.2.0, supports-color@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.3.0.tgz#5b24ac15db80fa927cf5227a4a33fd3c4c7676c0"
+supports-color@^5.3.0, supports-color@^5.4.0:
+ version "5.4.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54"
dependencies:
has-flag "^3.0.0"
@@ -6707,45 +7331,29 @@ sw-toolbox@^3.4.0:
path-to-regexp "^1.0.1"
serviceworker-cache-polyfill "^4.0.0"
-symbol-tree@^3.2.1:
+symbol-observable@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
+
+symbol-tree@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.2.tgz#ae27db38f660a7ae2e1c3b7d1bc290819b8519e6"
-table@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/table/-/table-4.0.3.tgz#00b5e2b602f1794b9acaf9ca908a76386a7813bc"
- dependencies:
- ajv "^6.0.1"
- ajv-keywords "^3.0.0"
- chalk "^2.1.0"
- lodash "^4.17.4"
- slice-ansi "1.0.0"
- string-width "^2.1.1"
-
tapable@^0.2.7:
version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
-tar-pack@^3.4.0:
- version "3.4.1"
- resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
- dependencies:
- debug "^2.2.0"
- fstream "^1.0.10"
- fstream-ignore "^1.0.5"
- once "^1.3.3"
- readable-stream "^2.1.4"
- rimraf "^2.5.1"
- tar "^2.2.1"
- uid-number "^0.0.6"
-
-tar@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
+tar@^4:
+ version "4.4.4"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.4.tgz#ec8409fae9f665a4355cc3b4087d0820232bb8cd"
dependencies:
- block-stream "*"
- fstream "^1.0.2"
- inherits "2"
+ chownr "^1.0.1"
+ fs-minipass "^1.2.5"
+ minipass "^2.3.3"
+ minizlib "^1.1.0"
+ mkdirp "^0.5.0"
+ safe-buffer "^5.1.2"
+ yallist "^3.0.2"
term-size@^1.2.0:
version "1.2.0"
@@ -6753,7 +7361,7 @@ term-size@^1.2.0:
dependencies:
execa "^0.7.0"
-test-exclude@^4.1.1:
+test-exclude@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.1.tgz#dfa222f03480bca69207ca728b37d74b45f724fa"
dependencies:
@@ -6763,13 +7371,20 @@ test-exclude@^4.1.1:
read-pkg-up "^1.0.1"
require-main-filename "^1.0.1"
-text-table@0.2.0, text-table@~0.2.0:
+text-table@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-throat@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/throat/-/throat-3.2.0.tgz#50cb0670edbc40237b9e347d7e1f88e4620af836"
+throat@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
+
+through2@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
+ dependencies:
+ readable-stream "^2.1.5"
+ xtend "~4.0.1"
through@^2.3.6:
version "2.3.8"
@@ -6788,8 +7403,8 @@ timed-out@^4.0.0:
resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
timers-browserify@^2.0.4:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.6.tgz#241e76927d9ca05f4d959819022f5b3664b64bae"
+ version "2.0.10"
+ resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
dependencies:
setimmediate "^1.0.4"
@@ -6824,7 +7439,7 @@ to-regex-range@^2.1.0:
is-number "^3.0.0"
repeat-string "^1.6.1"
-to-regex@^3.0.1:
+to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
dependencies:
@@ -6834,18 +7449,27 @@ to-regex@^3.0.1:
safe-regex "^1.1.0"
toposort@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.6.tgz#c31748e55d210effc00fdcdc7d6e68d7d7bb9cec"
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
+
+tough-cookie@>=2.3.3, tough-cookie@^2.3.3:
+ version "2.4.3"
+ resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781"
+ dependencies:
+ psl "^1.1.24"
+ punycode "^1.4.1"
-tough-cookie@^2.3.2, tough-cookie@~2.3.0, tough-cookie@~2.3.3:
+tough-cookie@~2.3.3:
version "2.3.4"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655"
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"
+tr46@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+ dependencies:
+ punycode "^2.1.0"
trim-newlines@^1.0.0:
version "1.0.0"
@@ -6855,6 +7479,99 @@ trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+ts-jest@22.0.1:
+ version "22.0.1"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-22.0.1.tgz#48942936a466c2e76e259b02e2f1356f1839afc3"
+ dependencies:
+ babel-core "^6.24.1"
+ babel-plugin-istanbul "^4.1.4"
+ babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
+ babel-preset-jest "^22.0.1"
+ cpx "^1.5.0"
+ fs-extra "4.0.3"
+ jest-config "^22.0.1"
+ pkg-dir "^2.0.0"
+ source-map-support "^0.5.0"
+ yargs "^10.0.3"
+
+ts-jest@^22.4.6:
+ version "22.4.6"
+ resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-22.4.6.tgz#a5d7f5e8b809626d1f4143209d301287472ec344"
+ dependencies:
+ babel-core "^6.26.3"
+ babel-plugin-istanbul "^4.1.6"
+ babel-plugin-transform-es2015-modules-commonjs "^6.26.2"
+ babel-preset-jest "^22.4.3"
+ cpx "^1.5.0"
+ fs-extra "6.0.0"
+ jest-config "^22.4.3"
+ lodash "^4.17.10"
+ pkg-dir "^2.0.0"
+ source-map-support "^0.5.5"
+ yargs "^11.0.0"
+
+ts-loader@^2.3.7:
+ version "2.3.7"
+ resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-2.3.7.tgz#a9028ced473bee12f28a75f9c5b139979d33f2fc"
+ dependencies:
+ chalk "^2.0.1"
+ enhanced-resolve "^3.0.0"
+ loader-utils "^1.0.2"
+ semver "^5.0.1"
+
+tsconfig-paths-webpack-plugin@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-2.0.0.tgz#7652dc684bb3206c8e7e446831ca01cbf4d11772"
+ dependencies:
+ chalk "^2.3.0"
+ tsconfig-paths "^3.1.1"
+
+tsconfig-paths@^3.1.1:
+ version "3.4.2"
+ resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.4.2.tgz#4640bffaeee3fc0ab986607edae203859156a8c3"
+ dependencies:
+ deepmerge "^2.0.1"
+ minimist "^1.2.0"
+ strip-bom "^3.0.0"
+ strip-json-comments "^2.0.1"
+
+tslib@^1.8.0, tslib@^1.8.1:
+ version "1.9.3"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.3.tgz#d7e4dd79245d85428c4d7e4822a79917954ca286"
+
+tslint-config-prettier@^1.10.0:
+ version "1.13.0"
+ resolved "https://registry.yarnpkg.com/tslint-config-prettier/-/tslint-config-prettier-1.13.0.tgz#189e821931ad89e0364e4e292d5c44a14e90ecd6"
+
+tslint-react@^3.2.0:
+ version "3.6.0"
+ resolved "https://registry.yarnpkg.com/tslint-react/-/tslint-react-3.6.0.tgz#7f462c95c4a0afaae82507f06517ff02942196a1"
+ dependencies:
+ tsutils "^2.13.1"
+
+tslint@^5.7.0:
+ version "5.10.0"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-5.10.0.tgz#11e26bccb88afa02dd0d9956cae3d4540b5f54c3"
+ dependencies:
+ babel-code-frame "^6.22.0"
+ builtin-modules "^1.1.1"
+ chalk "^2.3.0"
+ commander "^2.12.1"
+ diff "^3.2.0"
+ glob "^7.1.1"
+ js-yaml "^3.7.0"
+ minimatch "^3.0.4"
+ resolve "^1.3.2"
+ semver "^5.3.0"
+ tslib "^1.8.0"
+ tsutils "^2.12.1"
+
+tsutils@^2.12.1, tsutils@^2.13.1:
+ version "2.27.2"
+ resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.27.2.tgz#60ba88a23d6f785ec4b89c6e8179cac9b431f1c7"
+ dependencies:
+ tslib "^1.8.1"
+
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
@@ -6875,7 +7592,7 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-is@~1.6.15:
+type-is@~1.6.15, type-is@~1.6.16:
version "1.6.16"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
dependencies:
@@ -6886,15 +7603,26 @@ typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-ua-parser-js@^0.7.9:
- version "0.7.17"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
+typescript@^2.9.2:
+ version "2.9.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.9.2.tgz#1cbf61d05d6b96269244eb6a3bce4bd914e0f00c"
+
+ua-parser-js@^0.7.18:
+ version "0.7.18"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed"
+
+uglify-es@^3.3.4:
+ version "3.3.9"
+ resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
+ dependencies:
+ commander "~2.13.0"
+ source-map "~0.6.1"
-uglify-js@3.3.x, uglify-js@^3.0.13:
- version "3.3.13"
- resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.3.13.tgz#8a1a89eeb16e2d6a66b0db2b04cb871af3c669cf"
+uglify-js@3.4.x, uglify-js@^3.0.13:
+ version "3.4.3"
+ resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.3.tgz#a4fd757b6f34a95f717f7a7a0dccafcaaa60cf7f"
dependencies:
- commander "~2.14.1"
+ commander "~2.16.0"
source-map "~0.6.1"
uglify-js@^2.6, uglify-js@^2.8.29:
@@ -6918,9 +7646,18 @@ uglifyjs-webpack-plugin@^0.4.6:
uglify-js "^2.8.29"
webpack-sources "^1.0.1"
-uid-number@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+uglifyjs-webpack-plugin@^1.1.8:
+ version "1.2.7"
+ resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.7.tgz#57638dd99c853a1ebfe9d97b42160a8a507f9d00"
+ dependencies:
+ cacache "^10.0.4"
+ find-cache-dir "^1.0.0"
+ schema-utils "^0.4.5"
+ serialize-javascript "^1.4.0"
+ source-map "^0.6.1"
+ uglify-es "^3.3.4"
+ webpack-sources "^1.1.0"
+ worker-farm "^1.5.2"
underscore@~1.4.4:
version "1.4.4"
@@ -6939,16 +7676,22 @@ uniq@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-uniqid@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
- dependencies:
- macaddress "^0.2.8"
-
uniqs@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
+unique-filename@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3"
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab"
+ dependencies:
+ imurmurhash "^0.1.4"
+
unique-string@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a"
@@ -6956,8 +7699,8 @@ unique-string@^1.0.0:
crypto-random-string "^1.0.0"
universalify@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
unpipe@1.0.0, unpipe@~1.0.0:
version "1.0.0"
@@ -6974,18 +7717,19 @@ unzip-response@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97"
-upath@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/upath/-/upath-1.0.4.tgz#ee2321ba0a786c50973db043a50b7bcba822361d"
+upath@^1.0.5:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd"
update-notifier@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.3.0.tgz#4e8827a6bb915140ab093559d7014e3ebb837451"
+ version "2.5.0"
+ resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6"
dependencies:
boxen "^1.2.1"
chalk "^2.0.1"
configstore "^3.0.0"
import-lazy "^2.1.0"
+ is-ci "^1.0.10"
is-installed-globally "^0.1.0"
is-npm "^1.0.0"
latest-version "^3.0.0"
@@ -6996,6 +7740,12 @@ upper-case@^1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+uri-js@^4.2.1:
+ version "4.2.2"
+ resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
+ dependencies:
+ punycode "^2.1.0"
+
urijs@^1.16.1:
version "1.19.1"
resolved "https://registry.yarnpkg.com/urijs/-/urijs-1.19.1.tgz#5b0ff530c0cbde8386f6342235ba5ca6e995d25a"
@@ -7018,19 +7768,12 @@ url-parse-lax@^1.0.0:
dependencies:
prepend-http "^1.0.1"
-url-parse@1.0.x:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b"
- dependencies:
- querystringify "0.0.x"
- requires-port "1.0.x"
-
-url-parse@^1.1.8:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.2.0.tgz#3a19e8aaa6d023ddd27dcc44cb4fc8f7fec23986"
+url-parse@^1.1.8, url-parse@~1.4.0:
+ version "1.4.1"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.1.tgz#4dec9dad3dc8585f862fed461d2e19bbf623df30"
dependencies:
- querystringify "~1.0.0"
- requires-port "~1.0.0"
+ querystringify "^2.0.0"
+ requires-port "^1.0.0"
url@^0.11.0:
version "0.11.0"
@@ -7039,24 +7782,35 @@ url@^0.11.0:
punycode "1.3.2"
querystring "0.2.0"
-use@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8"
+use@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/use/-/use-3.1.0.tgz#14716bf03fdfefd03040aef58d8b4b85f3a7c544"
dependencies:
- define-property "^0.2.5"
- isobject "^3.0.0"
- lazy-cache "^2.0.2"
+ kind-of "^6.0.2"
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-util@0.10.3, util@^0.10.3:
+util.promisify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ dependencies:
+ define-properties "^1.1.2"
+ object.getownpropertydescriptors "^2.0.3"
+
+util@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
dependencies:
inherits "2.0.1"
+util@^0.10.3:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ dependencies:
+ inherits "2.0.3"
+
utila@~0.3:
version "0.3.3"
resolved "https://registry.yarnpkg.com/utila/-/utila-0.3.3.tgz#d7e8e7d7e309107092b05f8d9688824d633a4226"
@@ -7073,9 +7827,9 @@ uuid@^2.0.2:
version "2.0.3"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
-uuid@^3.0.0, uuid@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.2.1.tgz#12c528bb9d58d0b9265d9a2f6f0fe8be17ff1f14"
+uuid@^3.1.0:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
validate-npm-package-license@^3.0.1:
version "3.0.3"
@@ -7084,13 +7838,17 @@ validate-npm-package-license@^3.0.1:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
+value-equal@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
+
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
vendors@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801"
verror@1.10.0:
version "1.10.0"
@@ -7106,35 +7864,52 @@ vm-browserify@0.0.4:
dependencies:
indexof "0.0.1"
+w3c-hr-time@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045"
+ dependencies:
+ browser-process-hrtime "^0.1.2"
+
walker@~1.0.5:
version "1.0.7"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
dependencies:
makeerror "1.0.x"
-watch@~0.10.0:
- version "0.10.0"
- resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"
+warning@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c"
+ dependencies:
+ loose-envify "^1.0.0"
+
+warning@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.1.tgz#66ce376b7fbfe8a887c22bdf0e7349d73d397745"
+ dependencies:
+ loose-envify "^1.0.0"
+
+watch@~0.18.0:
+ version "0.18.0"
+ resolved "https://registry.yarnpkg.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"
+ dependencies:
+ exec-sh "^0.2.0"
+ minimist "^1.2.0"
watchpack@^1.4.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.5.0.tgz#231e783af830a22f8966f65c4c4bacc814072eed"
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
dependencies:
chokidar "^2.0.2"
graceful-fs "^4.1.2"
neo-async "^2.5.0"
wbuf@^1.1.0, wbuf@^1.7.2:
- version "1.7.2"
- resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe"
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
dependencies:
minimalistic-assert "^1.0.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:
+webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
@@ -7187,7 +7962,7 @@ webpack-manifest-plugin@1.3.2:
fs-extra "^0.30.0"
lodash ">=3.5 <5"
-webpack-sources@^1.0.1:
+webpack-sources@^1.0.1, webpack-sources@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
dependencies:
@@ -7232,22 +8007,31 @@ websocket-extensions@>=0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29"
-whatwg-encoding@^1.0.1:
+whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
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@2.0.3, whatwg-fetch@>=0.10.0:
+whatwg-fetch@2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
-whatwg-url@^4.3.0:
- version "4.8.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.8.0.tgz#d2981aa9148c1e00a41c5a6131166ab4683bbcc0"
+whatwg-fetch@>=0.10.0:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
+
+whatwg-mimetype@^2.0.0, whatwg-mimetype@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.1.0.tgz#f0f21d76cbba72362eb609dbed2a30cd17fcc7d4"
+
+whatwg-url@^6.4.0, whatwg-url@^6.4.1:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
whet.extend@~0.9.9:
version "0.9.9"
@@ -7262,16 +8046,16 @@ which-module@^2.0.0:
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
+ version "1.1.3"
+ resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
dependencies:
- string-width "^1.0.2"
+ string-width "^1.0.2 || 2"
widest-line@^2.0.0:
version "2.0.0"
@@ -7295,12 +8079,11 @@ wordwrap@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-worker-farm@^1.3.1:
- version "1.5.4"
- resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.5.4.tgz#4debbe46b40edefcc717ebde74a90b1ae1e909a1"
+worker-farm@^1.5.2:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.6.0.tgz#aecc405976fab5a95526180846f0dba288f3a4a0"
dependencies:
errno "~0.1.7"
- xtend "~4.0.1"
wrap-ansi@^2.0.0:
version "2.1.0"
@@ -7313,7 +8096,7 @@ wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-write-file-atomic@^2.0.0:
+write-file-atomic@^2.0.0, 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:
@@ -7321,23 +8104,20 @@ write-file-atomic@^2.0.0:
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"
+ws@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289"
dependencies:
- mkdirp "^0.5.1"
+ async-limiter "~1.0.0"
+ safe-buffer "~5.1.0"
xdg-basedir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
-xml-char-classes@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
-
-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"
+xml-name-validator@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.1"
@@ -7347,49 +8127,79 @@ y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+y18n@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b"
+
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+yallist@^3.0.0, yallist@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
+
yargs-parser@^4.2.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
dependencies:
camelcase "^3.0.0"
-yargs-parser@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
- dependencies:
- camelcase "^3.0.0"
-
yargs-parser@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
dependencies:
camelcase "^4.1.0"
-yargs@^6.6.0:
- version "6.6.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
+yargs-parser@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-8.1.0.tgz#f1376a33b6629a5d063782944da732631e966950"
dependencies:
- camelcase "^3.0.0"
- cliui "^3.2.0"
+ camelcase "^4.1.0"
+
+yargs-parser@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs@^10.0.3:
+ version "10.1.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-10.1.2.tgz#454d074c2b16a51a43e2fb7807e4f9de69ccb5c5"
+ dependencies:
+ cliui "^4.0.0"
decamelize "^1.1.1"
+ find-up "^2.1.0"
get-caller-file "^1.0.1"
- os-locale "^1.4.0"
- read-pkg-up "^1.0.1"
+ os-locale "^2.0.0"
require-directory "^2.1.1"
require-main-filename "^1.0.1"
set-blocking "^2.0.0"
- string-width "^1.0.2"
- which-module "^1.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
y18n "^3.2.1"
- yargs-parser "^4.2.0"
+ yargs-parser "^8.1.0"
-yargs@^7.0.2:
- version "7.1.0"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
+yargs@^11.0.0:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77"
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^1.1.1"
+ find-up "^2.1.0"
+ get-caller-file "^1.0.1"
+ os-locale "^2.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1"
+ yargs-parser "^9.0.2"
+
+yargs@^6.6.0:
+ version "6.6.0"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
dependencies:
camelcase "^3.0.0"
cliui "^3.2.0"
@@ -7403,7 +8213,7 @@ yargs@^7.0.2:
string-width "^1.0.2"
which-module "^1.0.0"
y18n "^3.2.1"
- yargs-parser "^5.0.0"
+ yargs-parser "^4.2.0"
yargs@^8.0.2:
version "8.0.2"