From 843ee72d9608ca74527afef9e318a8215d5b4831 Mon Sep 17 00:00:00 2001 From: marikoja Date: Mon, 18 Jun 2018 15:40:21 -0700 Subject: [PATCH 01/28] added Search component and installed axios --- package-lock.json | 9 +++++++++ package.json | 3 ++- src/App.js | 7 +++---- src/components/Search.js | 16 ++++++++++++++++ 4 files changed, 30 insertions(+), 5 deletions(-) create mode 100644 src/components/Search.js diff --git a/package-lock.json b/package-lock.json index 79f52b34f..2bdc7a2f0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -434,6 +434,15 @@ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" }, + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "1.5.0", + "is-buffer": "1.1.6" + } + }, "axobject-query": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-0.1.0.tgz", diff --git a/package.json b/package.json index 951a38e2f..b5d697449 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "axios": "^0.18.0", "react": "^16.4.1", "react-dom": "^16.4.1", "react-scripts": "1.1.4" @@ -13,4 +14,4 @@ "test": "react-scripts test --env=jsdom", "eject": "react-scripts eject" } -} \ No newline at end of file +} diff --git a/src/App.js b/src/App.js index 203067e4d..8322324ed 100644 --- a/src/App.js +++ b/src/App.js @@ -1,6 +1,7 @@ import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; +import Search from './components/Search'; class App extends Component { render() { @@ -8,11 +9,9 @@ class App extends Component {
logo -

Welcome to React

+

Welcome to the Movie Store

-

- To get started, edit src/App.js and save to reload. -

+
); } diff --git a/src/components/Search.js b/src/components/Search.js new file mode 100644 index 000000000..afdf90e75 --- /dev/null +++ b/src/components/Search.js @@ -0,0 +1,16 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import axios from 'axios'; + +class Search extends Component { + render() { + return ( +
+

Please fucking show on the page

+
+ ) + } + +} + +export default Search; From 3a72d996a10b53d228ea4bf50e9cfa76322263e4 Mon Sep 17 00:00:00 2001 From: marikoja Date: Mon, 18 Jun 2018 16:54:32 -0700 Subject: [PATCH 02/28] structure for call to TMDB and rendering results --- src/components/Search.js | 7 +++- src/components/SearchResults.js | 69 +++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 src/components/SearchResults.js diff --git a/src/components/Search.js b/src/components/Search.js index afdf90e75..0b3887b71 100644 --- a/src/components/Search.js +++ b/src/components/Search.js @@ -1,12 +1,15 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; -import axios from 'axios'; + class Search extends Component { + + + render() { return (
-

Please fucking show on the page

+

Will become search form to accept query input

) } diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js new file mode 100644 index 000000000..749b2fd99 --- /dev/null +++ b/src/components/SearchResults.js @@ -0,0 +1,69 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import axios from 'axios'; +import Search from './Search' +import Video from './Video' + +class SearchResults extends Component { + constructor() { + super(); + + this.state = { + results: [], + } + } + + componentDidMount = () => { + const THMD_URL = `https://api.themoviedb.org/3/search/movie? + api_key=1108a394810c51779d4449631b00f9d2&query=${query_from_search_form}` + + axios.get(THMD_URL) + .then( (response) => { + console.log( response.data ); + this.setState({ + results: response.data + }); + } ) + .catch( (error) => { + console.log("got to the error"); + console.log(error); + this.setState({ + error: error.message + }); + } ); + } + + renderResultsList = () => { + console.log('Rendering results'); + const componentList = this.state.results.map((movie, index) => { + return ( + + ); + }); + + return componentList; + } + + render() { + return ( +
+
+ {this.state.message ? this.state.message: "" } +
+ {this.renderResultsList()} + < Search addVideoCallback={this.query} /> +
+ ) + } + +} + +SearchResults.propTypes = {} + +export default SearchResults; From 449d671350828643171a0a2bf7269624914bacbd Mon Sep 17 00:00:00 2001 From: marikoja Date: Mon, 18 Jun 2018 22:10:01 -0700 Subject: [PATCH 03/28] Added search button to search field. --- src/components/Movie.js | 24 ++++++++++++++ src/components/Search.js | 59 ++++++++++++++++++++++++++++++--- src/components/SearchResults.js | 4 +-- 3 files changed, 81 insertions(+), 6 deletions(-) create mode 100644 src/components/Movie.js diff --git a/src/components/Movie.js b/src/components/Movie.js new file mode 100644 index 000000000..275679a82 --- /dev/null +++ b/src/components/Movie.js @@ -0,0 +1,24 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +class Movie extends Component { + + render() { + console.log('Rendering...'); + return ( +
+

Title {this.props.title}

+

Overview: {this.props.overview}

+

Release Date: {this.props.relase_date}

+ +
+ ) + } +} + +Movie.propTypes = { + title: PropTypes.string.isRequired, + overview: PropTypes.string.isRequired, + relase_date: PropTypes.string.isRequired, + poster_path: PropTypes.string.isRequired, +}; diff --git a/src/components/Search.js b/src/components/Search.js index 0b3887b71..5911f703b 100644 --- a/src/components/Search.js +++ b/src/components/Search.js @@ -3,17 +3,68 @@ import PropTypes from 'prop-types'; class Search extends Component { + constructor() { + super(); + this.state = { + title: '', + overview: '', + relase_date: '', + poster_path: '', + } + } + onFieldChange = (event) => { + const fieldName = event.target.name; + const fieldValue = event.target.value; + const updateState = {}; + updateState[fieldName] = fieldValue; + this.setState(updateState); + } + + valid = () => { + return this.state.title.length > 0; + } + + clearForm = () => { + this.setState({ + title: '', + overview: '', + relase_date: '', + poster_path: '', + }); + } + + onFormSubmit = (event) => { + event.preventDefault(); + if (this.valid()) { + this.props.addMovieCallback(this.state.title); + this.clearForm(); + } + } render() { return ( -
-

Will become search form to accept query input

-
- ) +
+
+ + +
+ +
+ ); } } +Search.propTypes = { + addMovieCallback: PropTypes.func.isRequired, +}; + export default Search; diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index 749b2fd99..3bfbbc2f8 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import axios from 'axios'; import Search from './Search' -import Video from './Video' +import Movie from './Movie' class SearchResults extends Component { constructor() { @@ -57,7 +57,7 @@ class SearchResults extends Component { {this.state.message ? this.state.message: "" } {this.renderResultsList()} - < Search addVideoCallback={this.query} /> + < Search addMovieCallback={this.query} /> ) } From 7e69ff9888dea5ec681118c83cb0330fbe8e16d4 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Mon, 18 Jun 2018 23:13:48 -0700 Subject: [PATCH 04/28] added customer and customers components --- src/App.js | 9 +++++++ src/components/Customer.js | 19 ++++++++++++++ src/components/Customers.js | 51 +++++++++++++++++++++++++++++++++++++ src/components/Search.js | 2 +- 4 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 src/components/Customer.js create mode 100644 src/components/Customers.js diff --git a/src/App.js b/src/App.js index 8322324ed..922e3a61f 100644 --- a/src/App.js +++ b/src/App.js @@ -1,7 +1,15 @@ import React, { Component } from 'react'; import logo from './logo.svg'; +import axios from 'axios'; +// import { +// BrowserRouter as Router, +// Route, +// Link +// } from 'react-router-dom'; import './App.css'; import Search from './components/Search'; +import Customers from './components/Customers'; + class App extends Component { render() { @@ -12,6 +20,7 @@ class App extends Component {

Welcome to the Movie Store

+ ); } diff --git a/src/components/Customer.js b/src/components/Customer.js new file mode 100644 index 000000000..44e6f1feb --- /dev/null +++ b/src/components/Customer.js @@ -0,0 +1,19 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import axios from 'axios'; + +class Customer extends Component { + render() { + return ( +

+ {this.props.name} +

+ ); + } +} + +export default Customer; + +Customer.propTypes = { + name: PropTypes.string.isRequired, +}; diff --git a/src/components/Customers.js b/src/components/Customers.js new file mode 100644 index 000000000..4806e9dfa --- /dev/null +++ b/src/components/Customers.js @@ -0,0 +1,51 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import axios from 'axios'; +import Customer from './Customer' +class Customers extends Component { + + constructor() { + super(); + + this.state = { + customersList: [], + }; + } + + componentDidMount = () => { + const URL = `http://localhost:3002/customers/` + + axios.get(URL) + .then((response) => { + console.log(response.data); + this.setState({ + customersList: response.data, + }); + }) + .catch((error) => { + console.log(error); + this.setState({ + error: error.message, + }); + }) + } + renderCustomersList = () => { + const customersList = this.state.customersList.map((customer, index) => { + console.log(customer.name) + return ( + + ); + }); + return ( +
+

Customers List

+
    {this.renderCustomersList()}
+
+ ); + }; +} + +export default Customers; diff --git a/src/components/Search.js b/src/components/Search.js index afdf90e75..2c65aa3b0 100644 --- a/src/components/Search.js +++ b/src/components/Search.js @@ -8,7 +8,7 @@ class Search extends Component {

Please fucking show on the page

- ) + ); } } From 0a39e2e4c71db6e6ddf9cc18ef20b4433ecd49b8 Mon Sep 17 00:00:00 2001 From: marikoja Date: Tue, 19 Jun 2018 11:02:21 -0700 Subject: [PATCH 05/28] Search by title functional, except movie image. --- src/App.js | 7 +++++-- src/components/Movie.js | 8 +++++--- src/components/Search.js | 13 ++++++++----- src/components/SearchResults.js | 22 +++++++++++----------- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/src/App.js b/src/App.js index 8322324ed..b87af5f19 100644 --- a/src/App.js +++ b/src/App.js @@ -1,7 +1,7 @@ import React, { Component } from 'react'; import logo from './logo.svg'; import './App.css'; -import Search from './components/Search'; +import SearchResults from './components/SearchResults'; class App extends Component { render() { @@ -11,7 +11,10 @@ class App extends Component { logo

Welcome to the Movie Store

- + + + + ); } diff --git a/src/components/Movie.js b/src/components/Movie.js index 275679a82..e98126e31 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -9,8 +9,8 @@ class Movie extends Component {

Title {this.props.title}

Overview: {this.props.overview}

-

Release Date: {this.props.relase_date}

- +

Release Date: {this.props.release_date}

+ Movie Poster
) } @@ -19,6 +19,8 @@ class Movie extends Component { Movie.propTypes = { title: PropTypes.string.isRequired, overview: PropTypes.string.isRequired, - relase_date: PropTypes.string.isRequired, + release_date: PropTypes.string.isRequired, poster_path: PropTypes.string.isRequired, }; + +export default Movie diff --git a/src/components/Search.js b/src/components/Search.js index 5911f703b..365531d76 100644 --- a/src/components/Search.js +++ b/src/components/Search.js @@ -37,12 +37,17 @@ class Search extends Component { onFormSubmit = (event) => { event.preventDefault(); + console.log(this.state.title); if (this.valid()) { - this.props.addMovieCallback(this.state.title); + this.props.searchByTitle(this.state.title); this.clearForm(); } } + static propTypes = { + searchByTitle: PropTypes.func.isRequired + }; + render() { return (
@@ -53,7 +58,7 @@ class Search extends Component { value={this.state.title} onChange={this.onFieldChange} type="text" - id="title" + /> @@ -63,8 +68,6 @@ class Search extends Component { } -Search.propTypes = { - addMovieCallback: PropTypes.func.isRequired, -}; + export default Search; diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index 3bfbbc2f8..9a0e9ebe4 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -1,27 +1,27 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import axios from 'axios'; -import Search from './Search' -import Movie from './Movie' + +import Search from './Search'; +import Movie from './Movie'; class SearchResults extends Component { - constructor() { - super(); + constructor(props) { + super(props); this.state = { results: [], } } - componentDidMount = () => { - const THMD_URL = `https://api.themoviedb.org/3/search/movie? - api_key=1108a394810c51779d4449631b00f9d2&query=${query_from_search_form}` + movieSearch = (title) => { + const THMD_URL = `https://api.themoviedb.org/3/search/movie?api_key=1108a394810c51779d4449631b00f9d2&query=${title}` axios.get(THMD_URL) .then( (response) => { - console.log( response.data ); + console.log( response.data.results ); this.setState({ - results: response.data + results: response.data.results }); } ) .catch( (error) => { @@ -41,7 +41,7 @@ class SearchResults extends Component { key={index} title={movie.title} overview={movie.overview} - release_date={movie.relase_date} + release_date={movie.release_date} poster_path={movie.poster_path} /> ); @@ -57,7 +57,7 @@ class SearchResults extends Component { {this.state.message ? this.state.message: "" } {this.renderResultsList()} - < Search addMovieCallback={this.query} /> + ) } From 52de088ce363294e6776e29559de23ed1f97147e Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Tue, 19 Jun 2018 11:03:08 -0700 Subject: [PATCH 06/28] customer component working --- package-lock.json | 72 +++++++++++++++++++++++++++++++++++++ package.json | 1 + src/App.js | 40 ++++++++++++++------- src/components/Customers.js | 52 +++++++++++---------------- 4 files changed, 121 insertions(+), 44 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2bdc7a2f0..cdd05bc6b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4666,6 +4666,28 @@ "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" }, + "history": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", + "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", + "requires": { + "invariant": "2.2.4", + "loose-envify": "1.3.1", + "resolve-pathname": "2.2.0", + "value-equal": "0.4.0", + "warning": "3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.3.1" + } + } + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -4676,6 +4698,11 @@ "minimalistic-crypto-utils": "1.0.1" } }, + "hoist-non-react-statics": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz", + "integrity": "sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==" + }, "home-or-tmp": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", @@ -8818,6 +8845,33 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.0.tgz", "integrity": "sha512-FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw==" }, + "react-router": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", + "integrity": "sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==", + "requires": { + "history": "4.7.2", + "hoist-non-react-statics": "2.5.5", + "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-router-dom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-4.3.1.tgz", + "integrity": "sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==", + "requires": { + "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-scripts": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-1.1.4.tgz", @@ -9240,6 +9294,11 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=" }, + "resolve-pathname": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-2.2.0.tgz", + "integrity": "sha512-bAFz9ld18RzJfddgrO2e/0S2O81710++chRMUxHjXOYKF6jTAMrUNZrEZ1PvV0zlhfjidm08iRPdTLPno1FuRg==" + }, "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", @@ -10573,6 +10632,11 @@ "spdx-expression-parse": "3.0.0" } }, + "value-equal": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-0.4.0.tgz", + "integrity": "sha512-x+cYdNnaA3CxvMaTX0INdTCN8m8aF2uY9BvEqmxuYp8bL09cs/kWVQPVGcA35fMktdOsP69IgU7wFj/61dJHEw==" + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -10609,6 +10673,14 @@ "makeerror": "1.0.11" } }, + "warning": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.1.tgz", + "integrity": "sha512-rAVtTNZw+cQPjvGp1ox0XC5Q2IBFyqoqh+QII4J/oguyu83Bax1apbo2eqB8bHRS+fqYUBagys6lqUoVwKSmXQ==", + "requires": { + "loose-envify": "1.3.1" + } + }, "watch": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/watch/-/watch-0.10.0.tgz", diff --git a/package.json b/package.json index b5d697449..d170d92c8 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,7 @@ "axios": "^0.18.0", "react": "^16.4.1", "react-dom": "^16.4.1", + "react-router-dom": "^4.3.1", "react-scripts": "1.1.4" }, "scripts": { diff --git a/src/App.js b/src/App.js index 922e3a61f..dbd5e202d 100644 --- a/src/App.js +++ b/src/App.js @@ -1,27 +1,41 @@ import React, { Component } from 'react'; import logo from './logo.svg'; import axios from 'axios'; -// import { -// BrowserRouter as Router, -// Route, -// Link -// } from 'react-router-dom'; +import { + BrowserRouter as Router, + Route, + Link +} from 'react-router-dom'; import './App.css'; import Search from './components/Search'; import Customers from './components/Customers'; class App extends Component { + render() { + + const home = () => { + return (

Welcome!

); + }; + + return ( -
-
- logo -

Welcome to the Movie Store

-
- - -
+ +
+
    +
  • Home
  • +
  • Search
  • +
  • Customers
  • +
+ +
+ + + + +
+
); } } diff --git a/src/components/Customers.js b/src/components/Customers.js index 4806e9dfa..10219024c 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -1,9 +1,7 @@ import React, { Component } from 'react'; -import PropTypes from 'prop-types'; import axios from 'axios'; -import Customer from './Customer' -class Customers extends Component { +class Customers extends Component { constructor() { super(); @@ -13,39 +11,31 @@ class Customers extends Component { } componentDidMount = () => { - const URL = `http://localhost:3002/customers/` + console.log('Component did mount was called'); + axios.get(`http://localhost:3001/customers/`) + .then((response) => { + console.log(response.data); + this.setState({ customersList: response.data }); + }) + .catch((error) => { + console.log(error); + this.setState({ error: error.message }); + }); + }; - axios.get(URL) - .then((response) => { - console.log(response.data); - this.setState({ - customersList: response.data, - }); - }) - .catch((error) => { - console.log(error); - this.setState({ - error: error.message, - }); - }) - } renderCustomersList = () => { - const customersList = this.state.customersList.map((customer, index) => { - console.log(customer.name) - return ( - - ); - }); + return this.state.customersList.map((customerInfo) =>
  • {customerInfo.name}
  • ); + }; + + render() { + return ( -
    -

    Customers List

    -
      {this.renderCustomersList()}
    +
    +

    Customers List

    +
      {this.renderCustomersList()}
    ); - }; + } } export default Customers; From 11cc0fea0ab448d2e90824df856cc39307201f18 Mon Sep 17 00:00:00 2001 From: marikoja Date: Tue, 19 Jun 2018 11:32:08 -0700 Subject: [PATCH 07/28] search images updated --- package-lock.json | 5124 +++++++++++++++++++++++++++++++++++++++ package.json | 1 + src/components/Movie.js | 3 +- 3 files changed, 5127 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index cdd05bc6b..869816cab 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6952,6 +6952,5130 @@ "sort-keys": "1.1.2" } }, + "npm": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.1.0.tgz", + "integrity": "sha512-e38cCtJ0lEjLXXpc4twEfj8Xw5hDLolc2Py87ueWnUhJfZ8GA/5RVIeD+XbSr1+aVRGsRsdtLdzUNO63PvQJ1w==", + "requires": { + "JSONStream": "1.3.2", + "abbrev": "1.1.1", + "ansi-regex": "3.0.0", + "ansicolors": "0.3.2", + "ansistyles": "0.1.3", + "aproba": "1.2.0", + "archy": "1.0.0", + "bin-links": "1.1.2", + "bluebird": "3.5.1", + "byte-size": "4.0.3", + "cacache": "11.0.2", + "call-limit": "1.1.0", + "chownr": "1.0.1", + "cli-columns": "3.1.2", + "cli-table2": "0.2.0", + "cmd-shim": "2.0.2", + "columnify": "1.5.4", + "config-chain": "1.1.11", + "debuglog": "1.0.1", + "detect-indent": "5.0.0", + "detect-newline": "2.1.0", + "dezalgo": "1.0.3", + "editor": "1.0.0", + "figgy-pudding": "3.1.0", + "find-npm-prefix": "1.0.2", + "fs-vacuum": "1.2.10", + "fs-write-stream-atomic": "1.0.10", + "gentle-fs": "2.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "has-unicode": "2.0.1", + "hosted-git-info": "2.6.0", + "iferr": "1.0.0", + "imurmurhash": "0.1.4", + "inflight": "1.0.6", + "inherits": "2.0.3", + "ini": "1.3.5", + "init-package-json": "1.10.3", + "is-cidr": "2.0.5", + "json-parse-better-errors": "1.0.2", + "lazy-property": "1.0.0", + "libcipm": "1.6.2", + "libnpmhook": "4.0.1", + "libnpx": "10.2.0", + "lock-verify": "2.0.2", + "lockfile": "1.0.4", + "lodash._baseindexof": "3.1.0", + "lodash._baseuniq": "4.6.0", + "lodash._bindcallback": "3.0.1", + "lodash._cacheindexof": "3.0.2", + "lodash._createcache": "3.1.2", + "lodash._getnative": "3.9.1", + "lodash.clonedeep": "4.5.0", + "lodash.restparam": "3.6.1", + "lodash.union": "4.6.0", + "lodash.uniq": "4.5.0", + "lodash.without": "4.4.0", + "lru-cache": "4.1.3", + "meant": "1.0.1", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "node-gyp": "3.6.2", + "nopt": "4.0.1", + "normalize-package-data": "2.4.0", + "npm-audit-report": "1.2.1", + "npm-cache-filename": "1.0.2", + "npm-install-checks": "3.0.0", + "npm-lifecycle": "2.0.3", + "npm-package-arg": "6.1.0", + "npm-packlist": "1.1.10", + "npm-pick-manifest": "2.1.0", + "npm-profile": "3.0.1", + "npm-registry-client": "8.5.1", + "npm-registry-fetch": "1.1.0", + "npm-user-validate": "1.0.0", + "npmlog": "4.1.2", + "once": "1.4.0", + "opener": "1.4.3", + "osenv": "0.1.5", + "pacote": "8.1.5", + "path-is-inside": "1.0.2", + "promise-inflight": "1.0.1", + "qrcode-terminal": "0.12.0", + "query-string": "6.1.0", + "qw": "1.0.1", + "read": "1.0.7", + "read-cmd-shim": "1.0.1", + "read-installed": "4.0.3", + "read-package-json": "2.0.13", + "read-package-tree": "5.2.1", + "readable-stream": "2.3.6", + "readdir-scoped-modules": "1.0.2", + "request": "2.86.0", + "retry": "0.12.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "sha": "2.0.1", + "slide": "1.1.6", + "sorted-object": "2.0.1", + "sorted-union-stream": "2.1.3", + "ssri": "6.0.0", + "strip-ansi": "4.0.0", + "tar": "4.4.1", + "text-table": "0.2.0", + "tiny-relative-date": "1.3.0", + "uid-number": "0.0.6", + "umask": "1.1.0", + "unique-filename": "1.1.0", + "unpipe": "1.0.0", + "update-notifier": "2.5.0", + "uuid": "3.2.1", + "validate-npm-package-license": "3.0.3", + "validate-npm-package-name": "3.0.0", + "which": "1.3.0", + "worker-farm": "1.6.0", + "wrappy": "1.0.2", + "write-file-atomic": "2.3.0" + }, + "dependencies": { + "JSONStream": { + "version": "1.3.2", + "bundled": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + }, + "dependencies": { + "jsonparse": { + "version": "1.3.1", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + } + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true + }, + "archy": { + "version": "1.0.0", + "bundled": true + }, + "bin-links": { + "version": "1.1.2", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "cmd-shim": "2.0.2", + "gentle-fs": "2.0.1", + "graceful-fs": "4.1.11", + "write-file-atomic": "2.3.0" + } + }, + "bluebird": { + "version": "3.5.1", + "bundled": true + }, + "byte-size": { + "version": "4.0.3", + "bundled": true + }, + "cacache": { + "version": "11.0.2", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "figgy-pudding": "3.1.0", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "6.0.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "y18n": { + "version": "4.0.0", + "bundled": true + } + } + }, + "call-limit": { + "version": "1.1.0", + "bundled": true + }, + "chownr": { + "version": "1.0.1", + "bundled": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + } + } + }, + "cli-table2": { + "version": "0.2.0", + "bundled": true, + "requires": { + "colors": "1.1.2", + "lodash": "3.10.1", + "string-width": "1.0.2" + }, + "dependencies": { + "colors": { + "version": "1.1.2", + "bundled": true, + "optional": true + }, + "lodash": { + "version": "3.10.1", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "bundled": true + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + } + } + } + } + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1" + } + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "3.0.1", + "wcwidth": "1.0.1" + }, + "dependencies": { + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "1.0.3" + }, + "dependencies": { + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "1.0.2" + }, + "dependencies": { + "clone": { + "version": "1.0.2", + "bundled": true + } + } + } + } + } + } + }, + "config-chain": { + "version": "1.1.11", + "bundled": true, + "requires": { + "ini": "1.3.5", + "proto-list": "1.2.4" + }, + "dependencies": { + "proto-list": { + "version": "1.2.4", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "requires": { + "asap": "2.0.5", + "wrappy": "1.0.2" + }, + "dependencies": { + "asap": { + "version": "2.0.5", + "bundled": true + } + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "figgy-pudding": { + "version": "3.1.0", + "bundled": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "path-is-inside": "1.0.2", + "rimraf": "2.6.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "gentle-fs": { + "version": "2.0.1", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "fs-vacuum": "1.2.10", + "graceful-fs": "4.1.11", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "path-is-inside": "1.0.2", + "read-cmd-shim": "1.0.1", + "slide": "1.1.6" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + }, + "dependencies": { + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.8" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hosted-git-info": { + "version": "2.6.0", + "bundled": true + }, + "iferr": { + "version": "1.0.0", + "bundled": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "requires": { + "glob": "7.1.2", + "npm-package-arg": "6.1.0", + "promzard": "0.3.0", + "read": "1.0.7", + "read-package-json": "2.0.13", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3", + "validate-npm-package-name": "3.0.0" + }, + "dependencies": { + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1.0.7" + } + } + } + }, + "is-cidr": { + "version": "2.0.5", + "bundled": true, + "requires": { + "cidr-regex": "2.0.8" + }, + "dependencies": { + "cidr-regex": { + "version": "2.0.8", + "bundled": true, + "requires": { + "ip-regex": "2.1.0" + }, + "dependencies": { + "ip-regex": { + "version": "2.1.0", + "bundled": true + } + } + } + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true + }, + "libcipm": { + "version": "1.6.2", + "bundled": true, + "requires": { + "bin-links": "1.1.2", + "bluebird": "3.5.1", + "find-npm-prefix": "1.0.2", + "graceful-fs": "4.1.11", + "lock-verify": "2.0.2", + "npm-lifecycle": "2.0.3", + "npm-logical-tree": "1.2.1", + "npm-package-arg": "6.1.0", + "pacote": "7.6.1", + "protoduck": "5.0.0", + "read-package-json": "2.0.13", + "rimraf": "2.6.2", + "worker-farm": "1.6.0" + }, + "dependencies": { + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true + }, + "pacote": { + "version": "7.6.1", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "cacache": "10.0.4", + "get-stream": "3.0.0", + "glob": "7.1.2", + "lru-cache": "4.1.3", + "make-fetch-happen": "2.6.0", + "minimatch": "3.0.4", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "normalize-package-data": "2.4.0", + "npm-package-arg": "6.1.0", + "npm-packlist": "1.1.10", + "npm-pick-manifest": "2.1.0", + "osenv": "0.1.5", + "promise-inflight": "1.0.1", + "promise-retry": "1.1.1", + "protoduck": "5.0.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "ssri": "5.3.0", + "tar": "4.4.1", + "unique-filename": "1.1.0", + "which": "1.3.0" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "mississippi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.4", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "bundled": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "y18n": { + "version": "4.0.0", + "bundled": true + } + } + }, + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "make-fetch-happen": { + "version": "2.6.0", + "bundled": true, + "requires": { + "agentkeepalive": "3.4.1", + "cacache": "10.0.4", + "http-cache-semantics": "3.8.1", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "mississippi": "1.3.1", + "node-fetch-npm": "2.0.2", + "promise-retry": "1.1.1", + "socks-proxy-agent": "3.0.1", + "ssri": "5.3.0" + }, + "dependencies": { + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "requires": { + "humanize-ms": "1.2.1" + }, + "dependencies": { + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "bundled": true + } + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "mississippi": { + "version": "1.3.1", + "bundled": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.3", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.4", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "1.0.3", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "bundled": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "0.1.12", + "json-parse-better-errors": "1.0.2", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "0.4.21" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "requires": { + "safer-buffer": "2.1.2" + }, + "dependencies": { + "safer-buffer": { + "version": "2.1.2", + "bundled": true + } + } + } + } + } + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "socks": "1.1.10" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "socks": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "1.1.15" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "bundled": true + }, + "smart-buffer": { + "version": "1.1.15", + "bundled": true + } + } + } + } + } + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "1.1.2", + "retry": "0.10.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "protoduck": { + "version": "5.0.0", + "bundled": true, + "requires": { + "genfun": "4.0.1" + }, + "dependencies": { + "genfun": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "libnpmhook": { + "version": "4.0.1", + "bundled": true, + "requires": { + "figgy-pudding": "3.1.0", + "npm-registry-fetch": "3.1.1" + }, + "dependencies": { + "npm-registry-fetch": { + "version": "3.1.1", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "figgy-pudding": "3.1.0", + "lru-cache": "4.1.3", + "make-fetch-happen": "4.0.1", + "npm-package-arg": "6.1.0" + }, + "dependencies": { + "make-fetch-happen": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agentkeepalive": "3.4.1", + "cacache": "11.0.2", + "http-cache-semantics": "3.8.1", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "mississippi": "3.0.0", + "node-fetch-npm": "2.0.2", + "promise-retry": "1.1.1", + "socks-proxy-agent": "4.0.0", + "ssri": "6.0.0" + }, + "dependencies": { + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "requires": { + "humanize-ms": "1.2.1" + }, + "dependencies": { + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "bundled": true + } + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "0.1.12", + "json-parse-better-errors": "1.0.2", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "0.4.21" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "requires": { + "safer-buffer": "2.1.2" + }, + "dependencies": { + "safer-buffer": { + "version": "2.1.2", + "bundled": true + } + } + } + } + } + } + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "1.1.2", + "retry": "0.10.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "socks-proxy-agent": { + "version": "4.0.0", + "bundled": true, + "requires": { + "agent-base": "4.1.2", + "socks": "2.1.6" + }, + "dependencies": { + "agent-base": { + "version": "4.1.2", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "socks": { + "version": "2.1.6", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "4.0.1" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "bundled": true + }, + "smart-buffer": { + "version": "4.0.1", + "bundled": true + } + } + } + } + } + } + } + } + } + } + }, + "libnpx": { + "version": "10.2.0", + "bundled": true, + "requires": { + "dotenv": "5.0.1", + "npm-package-arg": "6.1.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "update-notifier": "2.5.0", + "which": "1.3.0", + "y18n": "4.0.0", + "yargs": "11.0.0" + }, + "dependencies": { + "dotenv": { + "version": "5.0.1", + "bundled": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true + }, + "yargs": { + "version": "11.0.0", + "bundled": true, + "requires": { + "cliui": "4.0.0", + "decamelize": "1.2.0", + "find-up": "2.1.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "9.0.2" + }, + "dependencies": { + "cliui": { + "version": "4.0.0", + "bundled": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "bundled": true + } + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + } + } + } + } + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "2.0.0" + }, + "dependencies": { + "locate-path": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + }, + "dependencies": { + "p-locate": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-limit": "1.2.0" + }, + "dependencies": { + "p-limit": { + "version": "1.2.0", + "bundled": true, + "requires": { + "p-try": "1.0.0" + }, + "dependencies": { + "p-try": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true + } + } + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + }, + "dependencies": { + "execa": { + "version": "0.7.0", + "bundled": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.0" + }, + "dependencies": { + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "requires": { + "shebang-regex": "1.0.0" + }, + "dependencies": { + "shebang-regex": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "requires": { + "path-key": "2.0.1" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "bundled": true + } + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + } + } + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "requires": { + "invert-kv": "1.0.0" + }, + "dependencies": { + "invert-kv": { + "version": "1.0.0", + "bundled": true + } + } + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "requires": { + "mimic-fn": "1.2.0" + }, + "dependencies": { + "mimic-fn": { + "version": "1.2.0", + "bundled": true + } + } + } + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + } + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true + }, + "y18n": { + "version": "3.2.1", + "bundled": true + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "bundled": true + } + } + } + } + } + } + }, + "lock-verify": { + "version": "2.0.2", + "bundled": true, + "requires": { + "npm-package-arg": "6.1.0", + "semver": "5.5.0" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "requires": { + "signal-exit": "3.0.2" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.2", + "bundled": true + } + } + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "requires": { + "lodash._createset": "4.0.3", + "lodash._root": "3.0.1" + }, + "dependencies": { + "lodash._createset": { + "version": "4.0.3", + "bundled": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true + } + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "requires": { + "lodash._getnative": "3.9.1" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true + }, + "lru-cache": { + "version": "4.1.3", + "bundled": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + }, + "dependencies": { + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true + } + } + }, + "meant": { + "version": "1.0.1", + "bundled": true + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "requires": { + "concat-stream": "1.6.1", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "3.0.0", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.1", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.4", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.2", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "bundled": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + }, + "dependencies": { + "minimist": { + "version": "0.0.8", + "bundled": true + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + }, + "dependencies": { + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true + } + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "1.2.0" + } + } + } + }, + "node-gyp": { + "version": "3.6.2", + "bundled": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.86.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.0" + }, + "dependencies": { + "fstream": { + "version": "1.0.11", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "nopt": { + "version": "3.0.6", + "bundled": true, + "requires": { + "abbrev": "1.1.1" + } + }, + "semver": { + "version": "5.3.0", + "bundled": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + }, + "dependencies": { + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + } + } + } + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "requires": { + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" + }, + "dependencies": { + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "requires": { + "builtin-modules": "1.1.1" + }, + "dependencies": { + "builtin-modules": { + "version": "1.1.1", + "bundled": true + } + } + } + } + }, + "npm-audit-report": { + "version": "1.2.1", + "bundled": true, + "requires": { + "cli-table2": "0.2.0", + "console-control-strings": "1.1.0" + }, + "dependencies": { + "console-control-strings": { + "version": "1.1.0", + "bundled": true + } + } + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true + }, + "npm-install-checks": { + "version": "3.0.0", + "bundled": true, + "requires": { + "semver": "5.5.0" + } + }, + "npm-lifecycle": { + "version": "2.0.3", + "bundled": true, + "requires": { + "byline": "5.0.0", + "graceful-fs": "4.1.11", + "node-gyp": "3.6.2", + "resolve-from": "4.0.0", + "slide": "1.1.6", + "uid-number": "0.0.6", + "umask": "1.1.0", + "which": "1.3.0" + }, + "dependencies": { + "byline": { + "version": "5.0.0", + "bundled": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true + } + } + }, + "npm-package-arg": { + "version": "6.1.0", + "bundled": true, + "requires": { + "hosted-git-info": "2.6.0", + "osenv": "0.1.5", + "semver": "5.5.0", + "validate-npm-package-name": "3.0.0" + } + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" + }, + "dependencies": { + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "requires": { + "minimatch": "3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.8" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.8", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + } + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true + } + } + }, + "npm-pick-manifest": { + "version": "2.1.0", + "bundled": true, + "requires": { + "npm-package-arg": "6.1.0", + "semver": "5.5.0" + } + }, + "npm-profile": { + "version": "3.0.1", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "make-fetch-happen": "2.6.0" + }, + "dependencies": { + "make-fetch-happen": { + "version": "2.6.0", + "bundled": true, + "requires": { + "agentkeepalive": "3.3.0", + "cacache": "10.0.4", + "http-cache-semantics": "3.8.1", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "mississippi": "1.3.1", + "node-fetch-npm": "2.0.2", + "promise-retry": "1.1.1", + "socks-proxy-agent": "3.0.1", + "ssri": "5.3.0" + }, + "dependencies": { + "agentkeepalive": { + "version": "3.3.0", + "bundled": true, + "requires": { + "humanize-ms": "1.2.1" + }, + "dependencies": { + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "bundled": true + } + } + } + } + }, + "cacache": { + "version": "10.0.4", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "mississippi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.4", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "bundled": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "y18n": { + "version": "4.0.0", + "bundled": true + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "mississippi": { + "version": "1.3.1", + "bundled": true, + "requires": { + "concat-stream": "1.6.0", + "duplexify": "3.5.3", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.2", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "1.0.3", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.3", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.2", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "1.0.3", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "bundled": true, + "requires": { + "duplexify": "3.5.3", + "inherits": "2.0.3", + "pump": "2.0.1" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + } + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "0.1.12", + "json-parse-better-errors": "1.0.1", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "0.4.19" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.19", + "bundled": true + } + } + }, + "json-parse-better-errors": { + "version": "1.0.1", + "bundled": true + } + } + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "1.1.2", + "retry": "0.10.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "socks": "1.1.10" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "socks": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "1.1.15" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "bundled": true + }, + "smart-buffer": { + "version": "1.1.15", + "bundled": true + } + } + } + } + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + } + } + }, + "npm-registry-client": { + "version": "8.5.1", + "bundled": true, + "requires": { + "concat-stream": "1.6.1", + "graceful-fs": "4.1.11", + "normalize-package-data": "2.4.0", + "npm-package-arg": "6.1.0", + "npmlog": "4.1.2", + "once": "1.4.0", + "request": "2.86.0", + "retry": "0.10.1", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slide": "1.1.6", + "ssri": "5.3.0" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.1", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "retry": { + "version": "0.10.1", + "bundled": true + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "npm-registry-fetch": { + "version": "1.1.0", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "figgy-pudding": "2.0.1", + "lru-cache": "4.1.3", + "make-fetch-happen": "3.0.0", + "npm-package-arg": "6.1.0", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "figgy-pudding": { + "version": "2.0.1", + "bundled": true + }, + "make-fetch-happen": { + "version": "3.0.0", + "bundled": true, + "requires": { + "agentkeepalive": "3.4.1", + "cacache": "10.0.4", + "http-cache-semantics": "3.8.1", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "mississippi": "3.0.0", + "node-fetch-npm": "2.0.2", + "promise-retry": "1.1.1", + "socks-proxy-agent": "3.0.1", + "ssri": "5.3.0" + }, + "dependencies": { + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "requires": { + "humanize-ms": "1.2.1" + }, + "dependencies": { + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "bundled": true + } + } + } + } + }, + "cacache": { + "version": "10.0.4", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.0", + "y18n": "4.0.0" + }, + "dependencies": { + "mississippi": { + "version": "2.0.0", + "bundled": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.5.4", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.4.0", + "stream-each": "1.2.2", + "through2": "2.0.3" + }, + "dependencies": { + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "requires": { + "buffer-from": "1.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + }, + "dependencies": { + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true + } + } + }, + "duplexify": { + "version": "3.5.4", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + }, + "dependencies": { + "cyclist": { + "version": "0.2.2", + "bundled": true + } + } + }, + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.4.0", + "bundled": true, + "requires": { + "duplexify": "3.5.4", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "y18n": { + "version": "4.0.0", + "bundled": true + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "0.1.12", + "json-parse-better-errors": "1.0.2", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "0.4.21" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "requires": { + "safer-buffer": "2.1.2" + }, + "dependencies": { + "safer-buffer": { + "version": "2.1.2", + "bundled": true + } + } + } + } + } + } + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "1.1.2", + "retry": "0.10.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "socks": "1.1.10" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "socks": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "1.1.15" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "bundled": true + }, + "smart-buffer": { + "version": "1.1.15", + "bundled": true + } + } + } + } + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + } + } + }, + "npm-user-validate": { + "version": "1.0.0", + "bundled": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "requires": { + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" + }, + "dependencies": { + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + }, + "dependencies": { + "delegates": { + "version": "1.0.0", + "bundled": true + } + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "console-control-strings": "1.1.0", + "has-unicode": "2.0.1", + "object-assign": "4.1.1", + "signal-exit": "3.0.2", + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wide-align": "1.1.2" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + }, + "dependencies": { + "number-is-nan": { + "version": "1.0.1", + "bundled": true + } + } + } + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "bundled": true + } + } + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "1.0.2" + } + } + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + } + } + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "opener": { + "version": "1.4.3", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + }, + "dependencies": { + "os-homedir": { + "version": "1.0.2", + "bundled": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + } + } + }, + "pacote": { + "version": "8.1.5", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "cacache": "11.0.2", + "get-stream": "3.0.0", + "glob": "7.1.2", + "lru-cache": "4.1.3", + "make-fetch-happen": "4.0.1", + "minimatch": "3.0.4", + "minipass": "2.3.3", + "mississippi": "3.0.0", + "mkdirp": "0.5.1", + "normalize-package-data": "2.4.0", + "npm-package-arg": "6.1.0", + "npm-packlist": "1.1.10", + "npm-pick-manifest": "2.1.0", + "osenv": "0.1.5", + "promise-inflight": "1.0.1", + "promise-retry": "1.1.1", + "protoduck": "5.0.0", + "rimraf": "2.6.2", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "ssri": "6.0.0", + "tar": "4.4.1", + "unique-filename": "1.1.0", + "which": "1.3.0" + }, + "dependencies": { + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "make-fetch-happen": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agentkeepalive": "3.4.1", + "cacache": "11.0.2", + "http-cache-semantics": "3.8.1", + "http-proxy-agent": "2.1.0", + "https-proxy-agent": "2.2.1", + "lru-cache": "4.1.3", + "mississippi": "3.0.0", + "node-fetch-npm": "2.0.2", + "promise-retry": "1.1.1", + "socks-proxy-agent": "4.0.1", + "ssri": "6.0.0" + }, + "dependencies": { + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "requires": { + "humanize-ms": "1.2.1" + }, + "dependencies": { + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "2.1.1" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "bundled": true + } + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + } + } + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "requires": { + "encoding": "0.1.12", + "json-parse-better-errors": "1.0.2", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "0.4.23" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "requires": { + "safer-buffer": "2.1.2" + }, + "dependencies": { + "safer-buffer": { + "version": "2.1.2", + "bundled": true + } + } + } + } + } + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "socks": "2.2.0" + }, + "dependencies": { + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + }, + "dependencies": { + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + }, + "dependencies": { + "es6-promise": { + "version": "4.2.4", + "bundled": true + } + } + } + } + }, + "socks": { + "version": "2.2.0", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "4.0.1" + }, + "dependencies": { + "ip": { + "version": "1.1.5", + "bundled": true + }, + "smart-buffer": { + "version": "4.0.1", + "bundled": true + } + } + } + } + } + } + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + } + } + } + } + }, + "minipass": { + "version": "2.3.3", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2", + "yallist": "3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "requires": { + "err-code": "1.1.2", + "retry": "0.10.1" + }, + "dependencies": { + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "protoduck": { + "version": "5.0.0", + "bundled": true, + "requires": { + "genfun": "4.0.1" + }, + "dependencies": { + "genfun": { + "version": "4.0.1", + "bundled": true + } + } + } + } + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "query-string": { + "version": "6.1.0", + "bundled": true, + "requires": { + "decode-uri-component": "0.2.0", + "strict-uri-encode": "2.0.0" + }, + "dependencies": { + "decode-uri-component": { + "version": "0.2.0", + "bundled": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true + } + } + }, + "qw": { + "version": "1.0.1", + "bundled": true + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "0.0.7" + }, + "dependencies": { + "mute-stream": { + "version": "0.0.7", + "bundled": true + } + } + }, + "read-cmd-shim": { + "version": "1.0.1", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "requires": { + "debuglog": "1.0.1", + "graceful-fs": "4.1.11", + "read-package-json": "2.0.13", + "readdir-scoped-modules": "1.0.2", + "semver": "5.5.0", + "slide": "1.1.6", + "util-extend": "1.0.3" + }, + "dependencies": { + "util-extend": { + "version": "1.0.3", + "bundled": true + } + } + }, + "read-package-json": { + "version": "2.0.13", + "bundled": true, + "requires": { + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "json-parse-better-errors": "1.0.1", + "normalize-package-data": "2.4.0", + "slash": "1.0.0" + }, + "dependencies": { + "json-parse-better-errors": { + "version": "1.0.1", + "bundled": true + }, + "slash": { + "version": "1.0.0", + "bundled": true + } + } + }, + "read-package-tree": { + "version": "5.2.1", + "bundled": true, + "requires": { + "debuglog": "1.0.1", + "dezalgo": "1.0.3", + "once": "1.4.0", + "read-package-json": "2.0.13", + "readdir-scoped-modules": "1.0.2" + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + } + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "requires": { + "debuglog": "1.0.1", + "dezalgo": "1.0.3", + "graceful-fs": "4.1.11", + "once": "1.4.0" + } + }, + "request": { + "version": "2.86.0", + "bundled": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.7.0", + "caseless": "0.12.0", + "combined-stream": "1.0.6", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.2", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.18", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.2", + "safe-buffer": "5.1.2", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.2.1" + }, + "dependencies": { + "aws-sign2": { + "version": "0.7.0", + "bundled": true + }, + "aws4": { + "version": "1.7.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + }, + "dependencies": { + "delayed-stream": { + "version": "1.0.0", + "bundled": true + } + } + }, + "extend": { + "version": "3.0.1", + "bundled": true + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + }, + "dependencies": { + "asynckit": { + "version": "0.4.0", + "bundled": true + } + } + }, + "har-validator": { + "version": "5.0.3", + "bundled": true, + "requires": { + "ajv": "5.5.2", + "har-schema": "2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "bundled": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + }, + "dependencies": { + "co": { + "version": "4.6.0", + "bundled": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true + } + } + }, + "har-schema": { + "version": "2.0.0", + "bundled": true + } + } + }, + "hawk": { + "version": "6.0.2", + "bundled": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" + }, + "dependencies": { + "boom": { + "version": "4.3.1", + "bundled": true, + "requires": { + "hoek": "4.2.1" + } + }, + "cryptiles": { + "version": "3.1.2", + "bundled": true, + "requires": { + "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "bundled": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "hoek": { + "version": "4.2.1", + "bundled": true + }, + "sntp": { + "version": "2.1.0", + "bundled": true, + "requires": { + "hoek": "4.2.1" + } + } + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.1" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + }, + "jsprim": { + "version": "1.4.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + } + } + } + } + }, + "sshpk": { + "version": "1.14.1", + "bundled": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + } + } + } + } + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "mime-types": { + "version": "2.1.18", + "bundled": true, + "requires": { + "mime-db": "1.33.0" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "bundled": true + } + } + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true + }, + "qs": { + "version": "6.5.2", + "bundled": true + }, + "tough-cookie": { + "version": "2.3.4", + "bundled": true, + "requires": { + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "bundled": true + } + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "readable-stream": "2.3.6" + } + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "requires": { + "from2": "1.3.0", + "stream-iterate": "1.2.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "1.1.14" + }, + "dependencies": { + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + }, + "dependencies": { + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + } + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + }, + "dependencies": { + "stream-shift": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "ssri": { + "version": "6.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + } + } + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.1", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" + }, + "dependencies": { + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "requires": { + "minipass": "2.3.1" + } + }, + "minipass": { + "version": "2.3.1", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2", + "yallist": "3.0.2" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "requires": { + "minipass": "2.3.1" + } + }, + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true + }, + "umask": { + "version": "1.1.0", + "bundled": true + }, + "unique-filename": { + "version": "1.1.0", + "bundled": true, + "requires": { + "unique-slug": "2.0.0" + }, + "dependencies": { + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "requires": { + "imurmurhash": "0.1.4" + } + } + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "requires": { + "boxen": "1.3.0", + "chalk": "2.4.1", + "configstore": "3.1.2", + "import-lazy": "2.1.0", + "is-ci": "1.1.0", + "is-installed-globally": "0.1.0", + "is-npm": "1.0.0", + "latest-version": "3.1.0", + "semver-diff": "2.1.0", + "xdg-basedir": "3.0.0" + }, + "dependencies": { + "boxen": { + "version": "1.3.0", + "bundled": true, + "requires": { + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.1", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" + }, + "dependencies": { + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "2.1.1" + } + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "requires": { + "execa": "0.7.0" + }, + "dependencies": { + "execa": { + "version": "0.7.0", + "bundled": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.0" + }, + "dependencies": { + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "requires": { + "shebang-regex": "1.0.0" + }, + "dependencies": { + "shebang-regex": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "requires": { + "path-key": "2.0.1" + }, + "dependencies": { + "path-key": { + "version": "2.0.1", + "bundled": true + } + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "widest-line": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "2.1.1" + } + } + } + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "requires": { + "color-convert": "1.9.1" + }, + "dependencies": { + "color-convert": { + "version": "1.9.1", + "bundled": true, + "requires": { + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "bundled": true + } + } + } + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "requires": { + "has-flag": "3.0.0" + }, + "dependencies": { + "has-flag": { + "version": "3.0.0", + "bundled": true + } + } + } + } + }, + "configstore": { + "version": "3.1.2", + "bundled": true, + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.2.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + }, + "dependencies": { + "dot-prop": { + "version": "4.2.0", + "bundled": true, + "requires": { + "is-obj": "1.0.1" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "bundled": true + } + } + }, + "make-dir": { + "version": "1.2.0", + "bundled": true, + "requires": { + "pify": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "bundled": true + } + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "requires": { + "crypto-random-string": "1.0.0" + }, + "dependencies": { + "crypto-random-string": { + "version": "1.0.0", + "bundled": true + } + } + } + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true + }, + "is-ci": { + "version": "1.1.0", + "bundled": true, + "requires": { + "ci-info": "1.1.3" + }, + "dependencies": { + "ci-info": { + "version": "1.1.3", + "bundled": true + } + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + }, + "dependencies": { + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "requires": { + "ini": "1.3.5" + } + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "requires": { + "path-is-inside": "1.0.2" + } + } + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "requires": { + "package-json": "4.0.1" + }, + "dependencies": { + "package-json": { + "version": "4.0.1", + "bundled": true, + "requires": { + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" + }, + "dependencies": { + "got": { + "version": "6.7.1", + "bundled": true, + "requires": { + "create-error-class": "3.0.2", + "duplexer3": "0.1.4", + "get-stream": "3.0.0", + "is-redirect": "1.0.0", + "is-retry-allowed": "1.1.0", + "is-stream": "1.1.0", + "lowercase-keys": "1.0.1", + "safe-buffer": "5.1.2", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" + }, + "dependencies": { + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "requires": { + "capture-stack-trace": "1.0.0" + }, + "dependencies": { + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true + } + } + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "bundled": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true + }, + "timed-out": { + "version": "4.0.1", + "bundled": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "requires": { + "prepend-http": "1.0.4" + }, + "dependencies": { + "prepend-http": { + "version": "1.0.4", + "bundled": true + } + } + } + } + }, + "registry-auth-token": { + "version": "3.3.2", + "bundled": true, + "requires": { + "rc": "1.2.7", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "rc": { + "version": "1.2.7", + "bundled": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "deep-extend": { + "version": "0.5.1", + "bundled": true + }, + "minimist": { + "version": "1.2.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + } + } + } + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "requires": { + "rc": "1.2.7" + }, + "dependencies": { + "rc": { + "version": "1.2.7", + "bundled": true, + "requires": { + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" + }, + "dependencies": { + "deep-extend": { + "version": "0.5.1", + "bundled": true + }, + "minimist": { + "version": "1.2.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + } + } + } + } + } + } + } + } + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "requires": { + "semver": "5.5.0" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true + } + } + }, + "uuid": { + "version": "3.2.1", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + }, + "dependencies": { + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + }, + "dependencies": { + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true + } + } + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + }, + "dependencies": { + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true + } + } + } + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "1.0.3" + }, + "dependencies": { + "builtins": { + "version": "1.0.3", + "bundled": true + } + } + }, + "which": { + "version": "1.3.0", + "bundled": true, + "requires": { + "isexe": "2.0.0" + }, + "dependencies": { + "isexe": { + "version": "2.0.0", + "bundled": true + } + } + }, + "worker-farm": { + "version": "1.6.0", + "bundled": true, + "requires": { + "errno": "0.1.7" + }, + "dependencies": { + "errno": { + "version": "0.1.7", + "bundled": true, + "requires": { + "prr": "1.0.1" + }, + "dependencies": { + "prr": { + "version": "1.0.1", + "bundled": true + } + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "write-file-atomic": { + "version": "2.3.0", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" + }, + "dependencies": { + "signal-exit": { + "version": "3.0.2", + "bundled": true + } + } + } + } + }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", diff --git a/package.json b/package.json index d170d92c8..895fb72dc 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "private": true, "dependencies": { "axios": "^0.18.0", + "npm": "^6.1.0", "react": "^16.4.1", "react-dom": "^16.4.1", "react-router-dom": "^4.3.1", diff --git a/src/components/Movie.js b/src/components/Movie.js index e98126e31..e76ffb311 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -5,12 +5,13 @@ class Movie extends Component { render() { console.log('Rendering...'); + let imgURL = `https://image.tmdb.org/t/p/w185${this.props.poster_path}` return (

    Title {this.props.title}

    Overview: {this.props.overview}

    Release Date: {this.props.release_date}

    - Movie Poster + Movie Poster
    ) } From 74034069929e8d64de4104ef60d53f948f138965 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Tue, 19 Jun 2018 13:18:08 -0700 Subject: [PATCH 08/28] call to local API --- src/components/Movie.js | 2 +- src/components/SearchResults.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/components/Movie.js b/src/components/Movie.js index e76ffb311..b1dcf12cf 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -5,7 +5,7 @@ class Movie extends Component { render() { console.log('Rendering...'); - let imgURL = `https://image.tmdb.org/t/p/w185${this.props.poster_path}` + let imgURL = `https://image.tmdb.org/t/p/w185${this.props.image_url}` return (

    Title {this.props.title}

    diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index 9a0e9ebe4..d45a6c157 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -1,7 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import axios from 'axios'; - import Search from './Search'; import Movie from './Movie'; @@ -14,14 +13,14 @@ class SearchResults extends Component { } } - movieSearch = (title) => { - const THMD_URL = `https://api.themoviedb.org/3/search/movie?api_key=1108a394810c51779d4449631b00f9d2&query=${title}` + movieSearch = (movie) => { + - axios.get(THMD_URL) + axios.get(`http://localhost:3001/movies?query=${movie}`) .then( (response) => { - console.log( response.data.results ); + console.log( response.data ); this.setState({ - results: response.data.results + results: response.data }); } ) .catch( (error) => { @@ -39,10 +38,11 @@ class SearchResults extends Component { return ( ); }); From 063d412e8d343400df9dc32973d59f6db6795407 Mon Sep 17 00:00:00 2001 From: marikoja Date: Tue, 19 Jun 2018 13:25:33 -0700 Subject: [PATCH 09/28] image props updated --- src/components/Movie.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Movie.js b/src/components/Movie.js index b1dcf12cf..8d7b2770e 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -21,7 +21,7 @@ Movie.propTypes = { title: PropTypes.string.isRequired, overview: PropTypes.string.isRequired, release_date: PropTypes.string.isRequired, - poster_path: PropTypes.string.isRequired, + image_url: PropTypes.string.isRequired, }; export default Movie From 1bee176413a24f329c57db40b9a611dfd0433d11 Mon Sep 17 00:00:00 2001 From: marikoja Date: Tue, 19 Jun 2018 13:48:03 -0700 Subject: [PATCH 10/28] refactor api calls --- src/App.js | 26 +++++++++++++------------- src/components/Customers.js | 2 +- src/components/Movie.js | 4 ++-- src/components/SearchResults.js | 3 +-- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/App.js b/src/App.js index 141656ce1..762370351 100644 --- a/src/App.js +++ b/src/App.js @@ -22,19 +22,19 @@ class App extends Component { return ( -
    -
      -
    • Home
    • -
    • SearchResults
    • -
    • Customers
    • -
    - -
    - - - - -
    +
    +
      +
    • Home
    • +
    • SearchResults
    • +
    • Customers
    • +
    + +
    + + + + +
    ); diff --git a/src/components/Customers.js b/src/components/Customers.js index 10219024c..045da0410 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -12,7 +12,7 @@ class Customers extends Component { componentDidMount = () => { console.log('Component did mount was called'); - axios.get(`http://localhost:3001/customers/`) + axios.get(`http://localhost:3000/customers/`) .then((response) => { console.log(response.data); this.setState({ customersList: response.data }); diff --git a/src/components/Movie.js b/src/components/Movie.js index 8d7b2770e..27aad6278 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -5,7 +5,7 @@ class Movie extends Component { render() { console.log('Rendering...'); - let imgURL = `https://image.tmdb.org/t/p/w185${this.props.image_url}` + let imgURL = `https://image.tmdb.org/t/p/w185${this.props.image_url}`; return (

    Title {this.props.title}

    @@ -24,4 +24,4 @@ Movie.propTypes = { image_url: PropTypes.string.isRequired, }; -export default Movie +export default Movie; diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index d45a6c157..a367c1da7 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -15,8 +15,7 @@ class SearchResults extends Component { movieSearch = (movie) => { - - axios.get(`http://localhost:3001/movies?query=${movie}`) + axios.get(`http://localhost:3000/movies?query=${movie}`) .then( (response) => { console.log( response.data ); this.setState({ From 0a555e553b9e008855e7b6a21dd8ba13cb516b40 Mon Sep 17 00:00:00 2001 From: marikoja Date: Tue, 19 Jun 2018 14:20:43 -0700 Subject: [PATCH 11/28] udates images to show on search --- src/components/Movie.js | 3 +-- src/components/Search.js | 6 ------ src/components/SearchResults.js | 2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/components/Movie.js b/src/components/Movie.js index 27aad6278..2e3e03f06 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -5,13 +5,12 @@ class Movie extends Component { render() { console.log('Rendering...'); - let imgURL = `https://image.tmdb.org/t/p/w185${this.props.image_url}`; return (

    Title {this.props.title}

    Overview: {this.props.overview}

    Release Date: {this.props.release_date}

    - Movie Poster + Movie Poster
    ) } diff --git a/src/components/Search.js b/src/components/Search.js index 453140d8d..7d1bf857a 100644 --- a/src/components/Search.js +++ b/src/components/Search.js @@ -8,9 +8,6 @@ class Search extends Component { this.state = { title: '', - overview: '', - relase_date: '', - poster_path: '', }; } @@ -29,9 +26,6 @@ class Search extends Component { clearForm = () => { this.setState({ title: '', - overview: '', - relase_date: '', - poster_path: '', }); }; diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index a367c1da7..11719189a 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -39,7 +39,7 @@ class SearchResults extends Component { key={index} id={movie.id} title={movie.title} - image={movie.image_url} + image_url={movie.image_url} overview={movie.overview} release_date={movie.release_date} /> From df7bfd2b2979d9be91474af571c25ab22fd5423a Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Tue, 19 Jun 2018 14:21:46 -0700 Subject: [PATCH 12/28] added Library component --- src/components/Library.js | 13 +++++++++++++ src/components/Movie.js | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 src/components/Library.js diff --git a/src/components/Library.js b/src/components/Library.js new file mode 100644 index 000000000..284e175b7 --- /dev/null +++ b/src/components/Library.js @@ -0,0 +1,13 @@ +import React, { Component } from 'react'; +import PropTypes from 'prop-types'; +import axios from 'axios'; +import Movie from './Movie'; + +class Library extends Component { + constructor(props){ + super(props); + this.state = { + movies: [], + } + } +} diff --git a/src/components/Movie.js b/src/components/Movie.js index 27aad6278..191a64879 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -13,7 +13,7 @@ class Movie extends Component {

    Release Date: {this.props.release_date}

    Movie Poster
    - ) + ); } } From 6d262fad161ef1b778b27da18083fa54d0a540e4 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Tue, 19 Jun 2018 15:12:01 -0700 Subject: [PATCH 13/28] library shows all movies --- src/App.js | 4 ++- src/components/Library.js | 46 +++++++++++++++++++++++++++++++-- src/components/SearchResults.js | 18 ++++++------- 3 files changed, 56 insertions(+), 12 deletions(-) diff --git a/src/App.js b/src/App.js index 762370351..dd74953cb 100644 --- a/src/App.js +++ b/src/App.js @@ -8,7 +8,7 @@ import { } from 'react-router-dom'; import './App.css'; import SearchResults from './components/SearchResults'; - +import Library from './components/Library'; import Customers from './components/Customers'; class App extends Component { @@ -27,6 +27,7 @@ class App extends Component {
  • Home
  • SearchResults
  • Customers
  • +
  • Library

  • @@ -34,6 +35,7 @@ class App extends Component { +
    diff --git a/src/components/Library.js b/src/components/Library.js index 284e175b7..99542a6ae 100644 --- a/src/components/Library.js +++ b/src/components/Library.js @@ -4,10 +4,52 @@ import axios from 'axios'; import Movie from './Movie'; class Library extends Component { - constructor(props){ + constructor(props) { super(props); this.state = { movies: [], - } + }; + + } + + componentDidMount = () => { + axios.get(`http://localhost:3000/movies`) + .then((response) => { + this.setState({ + movies: response.data, + }); + }) + .catch((error) => { + this.setState({ error: error.message }); + }); + }; + + renderMovieList = () => { + const componentList = this.state.movies.map((movie, index) => { + return ( + + + ); + }); + return componentList; + }; + + render() { + return ( +
    +

    Library

    +

    {this.state.error}

    + { this.renderMovieList()} +
    + ); } } + +export default Library; diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index 11719189a..b286501a4 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -10,7 +10,7 @@ class SearchResults extends Component { this.state = { results: [], - } + }; } movieSearch = (movie) => { @@ -21,15 +21,15 @@ class SearchResults extends Component { this.setState({ results: response.data }); - } ) - .catch( (error) => { + }) + .catch((error) => { console.log("got to the error"); console.log(error); this.setState({ error: error.message }); - } ); - } + }); + }; renderResultsList = () => { console.log('Rendering results'); @@ -47,22 +47,22 @@ class SearchResults extends Component { }); return componentList; - } + }; render() { return (
    - {this.state.message ? this.state.message: "" } + { this.state.message ? this.state.message: '' }
    {this.renderResultsList()}
    - ) + ); } } -SearchResults.propTypes = {} +SearchResults.propTypes = {}; export default SearchResults; From 8017928fa1aff1aaf86610bc67d42913deb49750 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Tue, 19 Jun 2018 16:55:15 -0700 Subject: [PATCH 14/28] added button to add selectedMovie --- src/App.js | 18 +++++++++++++++++- src/components/Library.js | 2 ++ src/components/Movie.js | 6 ++++++ 3 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/App.js b/src/App.js index dd74953cb..4642a2bbd 100644 --- a/src/App.js +++ b/src/App.js @@ -12,6 +12,18 @@ import Library from './components/Library'; import Customers from './components/Customers'; class App extends Component { + constructor() { + super(); + this.state = { + selectedMovie: ' ', + }; + } + + setSelectedMovie = (title) => { + this.setState({ + selectedMovie: title, + }); + }; render() { @@ -28,6 +40,7 @@ class App extends Component {
  • SearchResults
  • Customers
  • Library
  • +
  • selectedMovie: {this.state.selectedMovie}

  • @@ -35,7 +48,10 @@ class App extends Component { - + } + + /> diff --git a/src/components/Library.js b/src/components/Library.js index 99542a6ae..a825f69fa 100644 --- a/src/components/Library.js +++ b/src/components/Library.js @@ -34,6 +34,7 @@ class Library extends Component { title={movie.title} overview={movie.overview} release_date={movie.release_date} + selectedMovieCallback={this.props.selectedMovieCallback } /> ); @@ -50,6 +51,7 @@ class Library extends Component { ); } + } export default Library; diff --git a/src/components/Movie.js b/src/components/Movie.js index deb61ba3d..5924112fe 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -3,6 +3,10 @@ import PropTypes from 'prop-types'; class Movie extends Component { + selectedMovieCallback = () => { + this.props.selectedMovieCallback(this.props.title) + }; + render() { console.log('Rendering...'); return ( @@ -11,6 +15,7 @@ class Movie extends Component {

    Overview: {this.props.overview}

    Release Date: {this.props.release_date}

    Movie Poster + ); } @@ -21,6 +26,7 @@ Movie.propTypes = { overview: PropTypes.string.isRequired, release_date: PropTypes.string.isRequired, image_url: PropTypes.string.isRequired, + selectedMovieCallback: PropTypes.func.isRequired, }; export default Movie; From dbb57115a1890b96f09beb02c6f57b236d50d925 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Tue, 19 Jun 2018 20:36:20 -0700 Subject: [PATCH 15/28] fixed spelling on selectedMovie --- src/App.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App.js b/src/App.js index 4642a2bbd..f7c048011 100644 --- a/src/App.js +++ b/src/App.js @@ -40,7 +40,7 @@ class App extends Component {
  • SearchResults
  • Customers
  • Library
  • -
  • selectedMovie: {this.state.selectedMovie}
  • +
  • Selected Movie: {this.state.selectedMovie}

  • From e9835a967197203866545d55e04b28b95bcbb733 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 08:19:08 -0700 Subject: [PATCH 16/28] added customer select functionality --- src/App.js | 32 +++++++++++++++---------- src/components/Customer.js | 17 +++++++++++--- src/components/Customers.js | 41 +++++++++++++++++++++------------ src/components/SearchResults.js | 6 ++--- 4 files changed, 63 insertions(+), 33 deletions(-) diff --git a/src/App.js b/src/App.js index f7c048011..d6496f37f 100644 --- a/src/App.js +++ b/src/App.js @@ -25,6 +25,12 @@ class App extends Component { }); }; + setSelectedCustomer = (name) => { + this.setState({ + selectedCustomer: name, + }); + }; + render() { const home = () => { @@ -34,25 +40,27 @@ class App extends Component { return ( -
    +
      -
    • Home
    • -
    • SearchResults
    • -
    • Customers
    • -
    • Library
    • -
    • Selected Movie: {this.state.selectedMovie}
    • +
    • Home
    • +
    • SearchResults
    • +
    • Customers
    • +
    • Library
    • +
    • Selected Movie: {this.state.selectedMovie}
    • +
    • Selected Customer: {this.state.selectedCustomer}
    -
    +
    - } - - /> -
    + render={(props) => } + /> + } + /> +
    ); diff --git a/src/components/Customer.js b/src/components/Customer.js index 44e6f1feb..986a50e03 100644 --- a/src/components/Customer.js +++ b/src/components/Customer.js @@ -3,11 +3,20 @@ import PropTypes from 'prop-types'; import axios from 'axios'; class Customer extends Component { + + selectedCustomerCallback = () => { + console.log(this.props); + this.props.selectedCustomerCallback(this.props.name); + }; + render() { + console.log('some customer'); return ( -

    - {this.props.name} -

    +
    +

    {this.props.name}

    +

    Checked Out Movies Count: {this.props.checkedOutMoviesCount}

    + +
    ); } } @@ -16,4 +25,6 @@ export default Customer; Customer.propTypes = { name: PropTypes.string.isRequired, + selectedCustomerCallback: PropTypes.func.isRequired, + checkedOutMoviesCount: PropTypes.func.isRequired, }; diff --git a/src/components/Customers.js b/src/components/Customers.js index 045da0410..e68839f48 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -1,9 +1,10 @@ import React, { Component } from 'react'; import axios from 'axios'; +import Customer from './Customer.js' class Customers extends Component { - constructor() { - super(); + constructor(props) { + super(props); this.state = { customersList: [], @@ -13,26 +14,36 @@ class Customers extends Component { componentDidMount = () => { console.log('Component did mount was called'); axios.get(`http://localhost:3000/customers/`) - .then((response) => { - console.log(response.data); - this.setState({ customersList: response.data }); - }) - .catch((error) => { - console.log(error); - this.setState({ error: error.message }); - }); + .then((response) => { + console.log(response.data); + this.setState({ customersList: response.data }); + }) + .catch((error) => { + console.log(error); + this.setState({ error: error.message }); + }); }; renderCustomersList = () => { - return this.state.customersList.map((customerInfo) =>
  • {customerInfo.name}
  • ); - }; + const customersList = this.state.customersList.map((customer, index) => { + return ( + + ); + }); + return customersList; + } render() { - return (
    -

    Customers List

    -
      {this.renderCustomersList()}
    +

    Customers List

    +
      {this.renderCustomersList()}
    ); } diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index b286501a4..0effabc78 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -17,13 +17,13 @@ class SearchResults extends Component { axios.get(`http://localhost:3000/movies?query=${movie}`) .then( (response) => { - console.log( response.data ); + console.log(response.data); this.setState({ - results: response.data + results: response.data, }); }) .catch((error) => { - console.log("got to the error"); + console.log('got to the error'); console.log(error); this.setState({ error: error.message From 298223bd1a7a39042806b5cee832779ac9b7cf8c Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 09:32:38 -0700 Subject: [PATCH 17/28] add proptypes in library to stop the linter complaining --- src/components/Library.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/components/Library.js b/src/components/Library.js index a825f69fa..2ffca30a7 100644 --- a/src/components/Library.js +++ b/src/components/Library.js @@ -55,3 +55,7 @@ class Library extends Component { } export default Library; + +Library.propTypes = { + selectedMovieCallback: PropTypes.func.isRequired, +} From 16265555b1989db6becec59c506e72a0691dc690 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 14:51:14 -0700 Subject: [PATCH 18/28] added css to customers and added rental to customers --- src/App.js | 52 ++++++++++++++++++++++++------------ src/components/Customer.css | 16 +++++++++++ src/components/Customer.js | 6 +++-- src/components/Customers.css | 10 +++++++ src/components/Customers.js | 3 ++- src/show.html.erb | 16 +++++++++++ 6 files changed, 83 insertions(+), 20 deletions(-) create mode 100644 src/components/Customer.css create mode 100644 src/components/Customers.css create mode 100644 src/show.html.erb diff --git a/src/App.js b/src/App.js index d6496f37f..bc95bc6a1 100644 --- a/src/App.js +++ b/src/App.js @@ -11,11 +11,15 @@ import SearchResults from './components/SearchResults'; import Library from './components/Library'; import Customers from './components/Customers'; +const URL = `http://localhost:3000/rentals/`; + class App extends Component { constructor() { super(); this.state = { selectedMovie: ' ', + selectedCustomer: '', + selectedCustomerId: '', }; } @@ -25,9 +29,22 @@ class App extends Component { }); }; - setSelectedCustomer = (name) => { + setSelectedCustomer = (name, id) => { this.setState({ selectedCustomer: name, + selectedCustomerId: id, + }); + }; + + createRental=() => { + let date = new Date(); + date.setDate(date.getDate() + 7); + axios.post(URL + `${this.state.selectedMovie}/check-out?customer_id=${this.state.selectedCustomerId}&due_date=${date}`) + .then((response) => { + console.log(response); + }) + .catch((error) => { + console.log(error); }); }; @@ -41,25 +58,26 @@ class App extends Component {
    -
      -
    • Home
    • -
    • SearchResults
    • -
    • Customers
    • -
    • Library
    • -
    • Selected Movie: {this.state.selectedMovie}
    • -
    • Selected Customer: {this.state.selectedCustomer}
    • -
    +
      +
    • Home
    • +
    • SearchResults
    • +
    • Customers
    • +
    • Library
    • +
    • Selected Movie: {this.state.selectedMovie}
    • +
    • Selected Customer: {this.state.selectedCustomer}
    • + +

    - - - } - /> - } - /> + + + } + /> + } + />
    diff --git a/src/components/Customer.css b/src/components/Customer.css new file mode 100644 index 000000000..e41308b59 --- /dev/null +++ b/src/components/Customer.css @@ -0,0 +1,16 @@ +.customer { + background-color: teal; + + padding: 1em 0; + margin: 0.5rem; + + min-height: 250px; + min-width: 225px; + flex-basis: 18%; + + border-radius: 5px; + + display: grid; + grid-template-columns: 1fr 5fr 1fr; + align-items: center; +} diff --git a/src/components/Customer.js b/src/components/Customer.js index 986a50e03..94aa992d1 100644 --- a/src/components/Customer.js +++ b/src/components/Customer.js @@ -1,18 +1,19 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import axios from 'axios'; +import './Customer.css'; class Customer extends Component { selectedCustomerCallback = () => { console.log(this.props); - this.props.selectedCustomerCallback(this.props.name); + this.props.selectedCustomerCallback(this.props.name, this.props.id); }; render() { console.log('some customer'); return ( -
    +

    {this.props.name}

    Checked Out Movies Count: {this.props.checkedOutMoviesCount}

    @@ -27,4 +28,5 @@ Customer.propTypes = { name: PropTypes.string.isRequired, selectedCustomerCallback: PropTypes.func.isRequired, checkedOutMoviesCount: PropTypes.func.isRequired, + id: PropTypes.number.isRequired, }; diff --git a/src/components/Customers.css b/src/components/Customers.css new file mode 100644 index 000000000..bd9a3f63e --- /dev/null +++ b/src/components/Customers.css @@ -0,0 +1,10 @@ +.customers { + display: flex; + flex-wrap: wrap; + +} + +.customer { + display: flex; + flex-wrap: wrap; +} diff --git a/src/components/Customers.js b/src/components/Customers.js index e68839f48..e718dde97 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -1,6 +1,7 @@ import React, { Component } from 'react'; import axios from 'axios'; import Customer from './Customer.js' +import './Customers.css'; class Customers extends Component { constructor(props) { @@ -41,7 +42,7 @@ class Customers extends Component { render() { return ( -
    +

    Customers List

      {this.renderCustomersList()}
    diff --git a/src/show.html.erb b/src/show.html.erb new file mode 100644 index 000000000..68980bb53 --- /dev/null +++ b/src/show.html.erb @@ -0,0 +1,16 @@ +

    <%= @task.name %>

    +
      +
    • + <%= link_to "Edit", edit_task_path %> +
    • +
    • + <%= link_to "Delete", task_path(@task.id),:data =>{:confirm =>"Are you sure about this?", :method => "delete"} %> +
    • +
    • + <% if @task.completion_date == nil %> + <%= link_to "❏ Mark as Completed", mark_complete_path(@task.id), method: :patch %> + <% else %> + ✅Task completed + <% end %> +
    • +
    From 1fba06874248cc8bd2b662cd96da1475d6a5d681 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 15:40:14 -0700 Subject: [PATCH 19/28] more proptypes to stop linter from complaining --- src/components/Customer.js | 1 - src/components/Customers.js | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/components/Customer.js b/src/components/Customer.js index 94aa992d1..0bdab3e5e 100644 --- a/src/components/Customer.js +++ b/src/components/Customer.js @@ -11,7 +11,6 @@ class Customer extends Component { }; render() { - console.log('some customer'); return (

    {this.props.name}

    diff --git a/src/components/Customers.js b/src/components/Customers.js index e718dde97..79072d4e7 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import axios from 'axios'; +import PropTypes from 'prop-types'; import Customer from './Customer.js' import './Customers.css'; @@ -51,3 +52,9 @@ class Customers extends Component { } export default Customers; + +Customers.propTypes = { + checkedOutMoviesCount: PropTypes.func.isRequired, + selectedCustomerCallback: PropTypes.func.isRequired, + +}; From 2e140ad319a67b62efd7bd087fe7aa5f05a2eef1 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 16:47:38 -0700 Subject: [PATCH 20/28] added function to render messages --- src/App.js | 12 ++++++++++++ src/components/Customer.css | 4 ++-- src/components/Customers.css | 4 ++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/App.js b/src/App.js index bc95bc6a1..091aede2e 100644 --- a/src/App.js +++ b/src/App.js @@ -23,6 +23,14 @@ class App extends Component { }; } + renderMessage = () => { + if (this.state.message) { + return ( +

    {this.state.message}

    + ); + } + }; + setSelectedMovie = (title) => { this.setState({ selectedMovie: title, @@ -42,6 +50,9 @@ class App extends Component { axios.post(URL + `${this.state.selectedMovie}/check-out?customer_id=${this.state.selectedCustomerId}&due_date=${date}`) .then((response) => { console.log(response); + this.setState({ + message: 'Succesfully added a new rental!', + }); }) .catch((error) => { console.log(error); @@ -66,6 +77,7 @@ class App extends Component {
  • Selected Movie: {this.state.selectedMovie}
  • Selected Customer: {this.state.selectedCustomer}
  • + {this.renderMessage()}
    diff --git a/src/components/Customer.css b/src/components/Customer.css index e41308b59..54ed37c46 100644 --- a/src/components/Customer.css +++ b/src/components/Customer.css @@ -1,4 +1,4 @@ -.customer { +/* .customer { background-color: teal; padding: 1em 0; @@ -13,4 +13,4 @@ display: grid; grid-template-columns: 1fr 5fr 1fr; align-items: center; -} +} */ diff --git a/src/components/Customers.css b/src/components/Customers.css index bd9a3f63e..bc2bf860f 100644 --- a/src/components/Customers.css +++ b/src/components/Customers.css @@ -1,4 +1,4 @@ -.customers { +/* .customers { display: flex; flex-wrap: wrap; @@ -7,4 +7,4 @@ .customer { display: flex; flex-wrap: wrap; -} +} */ From 3744ad48e1aade74c8d15c0905225bfa65c9cee0 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 18:55:19 -0700 Subject: [PATCH 21/28] clear sellectedMovie and selectedCustomer after rental --- src/App.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/App.js b/src/App.js index 091aede2e..f7dce17dc 100644 --- a/src/App.js +++ b/src/App.js @@ -52,6 +52,9 @@ class App extends Component { console.log(response); this.setState({ message: 'Succesfully added a new rental!', + selectedMovie: '', + selectedCustomer: '', + selectedCustomerId: '', }); }) .catch((error) => { From e4e6a1f4630ab6d58c6215b6c0f863b3bca7412a Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Wed, 20 Jun 2018 19:19:27 -0700 Subject: [PATCH 22/28] added phone and credit balance to Customer --- src/App.js | 4 +++- src/components/Customer.js | 4 ++++ src/components/Customers.js | 10 ++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/App.js b/src/App.js index f7dce17dc..a8866b6ea 100644 --- a/src/App.js +++ b/src/App.js @@ -80,11 +80,13 @@ class App extends Component {
  • Selected Movie: {this.state.selectedMovie}
  • Selected Customer: {this.state.selectedCustomer}
  • - {this.renderMessage()} +
    + {this.renderMessage()} +

    {this.props.name}

    +

    Phone: {this.props.phone}

    +

    Account Credit: ${this.props.accountCredit}

    Checked Out Movies Count: {this.props.checkedOutMoviesCount}

    @@ -28,4 +30,6 @@ Customer.propTypes = { selectedCustomerCallback: PropTypes.func.isRequired, checkedOutMoviesCount: PropTypes.func.isRequired, id: PropTypes.number.isRequired, + phone: PropTypes.string.isRequired, + accountCredit: PropTypes.string.isRequired, }; diff --git a/src/components/Customers.js b/src/components/Customers.js index 79072d4e7..fd00bca91 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -22,24 +22,26 @@ class Customers extends Component { }) .catch((error) => { console.log(error); - this.setState({ error: error.message }); + this.setState({ message: error.message }); }); }; renderCustomersList = () => { - const customersList = this.state.customersList.map((customer, index) => { + const customersList = this.state.customersList.map((customer) => { return ( ); }); return customersList; - } + }; render() { return ( From 654facc7c080d755cb3b579bbbd32d3666e3bcf1 Mon Sep 17 00:00:00 2001 From: nicoletabrandolini Date: Thu, 21 Jun 2018 09:48:13 -0700 Subject: [PATCH 23/28] fixed typo on movies_checked_out --- src/components/Customers.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Customers.js b/src/components/Customers.js index fd00bca91..1d3483ee1 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -35,7 +35,7 @@ class Customers extends Component { name={customer.name} phone={customer.phone} accountCredit={customer.account_credit} - checkedOutMoviesCount={customer.movies_check_out_count} + checkedOutMoviesCount={customer.movies_checked_out_count} selectedCustomerCallback={this.props.selectedCustomerCallback} /> ); From abcbe229798543fdc3c50e49eb2a98ee9d2e16bd Mon Sep 17 00:00:00 2001 From: marikoja Date: Thu, 21 Jun 2018 16:18:05 -0700 Subject: [PATCH 24/28] refactor to show images when added to API --- src/components/Movie.js | 2 +- src/components/SearchResults.js | 4 +-- src/components/TMDBMovie.js | 44 +++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 src/components/TMDBMovie.js diff --git a/src/components/Movie.js b/src/components/Movie.js index 5924112fe..3c5be9e14 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -8,7 +8,7 @@ class Movie extends Component { }; render() { - console.log('Rendering...'); + console.log(this.props) return (

    Title {this.props.title}

    diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index 0effabc78..af968bd29 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -2,7 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import axios from 'axios'; import Search from './Search'; -import Movie from './Movie'; +import TMDBMovie from './TMDBMovie'; class SearchResults extends Component { constructor(props) { @@ -35,7 +35,7 @@ class SearchResults extends Component { console.log('Rendering results'); const componentList = this.state.results.map((movie, index) => { return ( - { + console.log(`${this.props.image_url}`); + const URL = 'http://localhost:3000/movies/' + axios.post(URL + `?title=${this.props.title}&release_date=${this.props.release_date}&poster_path=${this.props.image_url}&overview=${this.props.overview}`) + .then( (response) => { + console.log(response.data); + }) + .catch((error) => { + console.log('got to the error'); + console.log(error); + this.setState({ + error: error.message + }); + }); + }; + + render() { + console.log(this.props); + return ( +
    +

    Title {this.props.title}

    +

    Overview: {this.props.overview}

    +

    Release Date: {this.props.release_date}

    + Movie Poster + +
    + ); + } +} + +TMDBMovie.propTypes = { + title: PropTypes.string.isRequired, + overview: PropTypes.string.isRequired, + release_date: PropTypes.string.isRequired, + image_url: PropTypes.string.isRequired, +}; + +export default TMDBMovie; From d43eb035576bdfb0b7881b37d241dceefa7126f7 Mon Sep 17 00:00:00 2001 From: marikoja Date: Fri, 22 Jun 2018 11:26:12 -0700 Subject: [PATCH 25/28] styling of backround --- src/App.css | 15 +++++++++ src/App.js | 55 ++++++++++++++++---------------- src/components/Library.css | 0 src/components/Movie.css | 0 src/components/Search.css | 0 src/components/SearchResults.css | 0 src/components/TMDBMovie.css | 0 7 files changed, 42 insertions(+), 28 deletions(-) create mode 100644 src/components/Library.css create mode 100644 src/components/Movie.css create mode 100644 src/components/Search.css create mode 100644 src/components/SearchResults.css create mode 100644 src/components/TMDBMovie.css diff --git a/src/App.css b/src/App.css index c5c6e8a68..0bab73ead 100644 --- a/src/App.css +++ b/src/App.css @@ -1,3 +1,8 @@ +html { + height: 100%; + background-size: cover; +} + .App { text-align: center; } @@ -26,3 +31,13 @@ from { transform: rotate(0deg); } to { transform: rotate(360deg); } } + +body { + background-image: url('https://images.unsplash.com/photo-1493664543243-589b576c5bcd?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=9e9d42a8ed01242550a8784af1966b65&auto=format&fit=crop&w=800&q=60'); + background-repeat: no-repeat; +} + +ul li { + list-style-type: none; + display: flex; +} diff --git a/src/App.js b/src/App.js index a8866b6ea..5fbe2375b 100644 --- a/src/App.js +++ b/src/App.js @@ -69,35 +69,34 @@ class App extends Component { }; return ( - - -
    -
      -
    • Home
    • -
    • SearchResults
    • -
    • Customers
    • -
    • Library
    • -
    • Selected Movie: {this.state.selectedMovie}
    • -
    • Selected Customer: {this.state.selectedCustomer}
    • - - -
    - -
    - - {this.renderMessage()} - - - - } - /> - } - /> +
    + +
    +
      +
    • Home
    • +
    • SearchResults
    • +
    • Customers
    • +
    • Library
    • +
    • Selected Movie: {this.state.selectedMovie}
    • +
    • Selected Customer: {this.state.selectedCustomer}
    • + + +
    + + {this.renderMessage()} +
    + + + } + /> + } + /> +
    +
    +
    - - ); } } diff --git a/src/components/Library.css b/src/components/Library.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/Movie.css b/src/components/Movie.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/Search.css b/src/components/Search.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/SearchResults.css b/src/components/SearchResults.css new file mode 100644 index 000000000..e69de29bb diff --git a/src/components/TMDBMovie.css b/src/components/TMDBMovie.css new file mode 100644 index 000000000..e69de29bb From 1ee8c5bab4f5689e177d396e83900f550d6f0e4e Mon Sep 17 00:00:00 2001 From: marikoja Date: Fri, 22 Jun 2018 11:29:05 -0700 Subject: [PATCH 26/28] syling of background --- src/App.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/App.css b/src/App.css index 0bab73ead..82a1e6baf 100644 --- a/src/App.css +++ b/src/App.css @@ -40,4 +40,5 @@ body { ul li { list-style-type: none; display: flex; + } From 6926cf474211bcf92e552790b03b78d8e5af49aa Mon Sep 17 00:00:00 2001 From: marikoja Date: Fri, 22 Jun 2018 15:13:28 -0700 Subject: [PATCH 27/28] styling styling styling --- src/App.css | 66 +++++++++++++++++++++++++++++++++--- src/App.js | 51 ++++++++++++++-------------- src/components/Customer.css | 8 ++--- src/components/Customer.js | 1 + src/components/Customers.css | 10 ++---- src/components/Customers.js | 2 +- src/components/Library.css | 5 +++ src/components/Library.js | 9 +++-- src/components/Movie.css | 14 ++++++++ src/components/Movie.js | 6 ++-- 10 files changed, 124 insertions(+), 48 deletions(-) diff --git a/src/App.css b/src/App.css index 82a1e6baf..5a9fc6fab 100644 --- a/src/App.css +++ b/src/App.css @@ -1,4 +1,4 @@ -html { +/* html { height: 100%; background-size: cover; } @@ -30,15 +30,71 @@ html { @keyframes App-logo-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } +} */ + +/* body { + background: #B5BEC6 ; } -body { - background-image: url('https://images.unsplash.com/photo-1493664543243-589b576c5bcd?ixlib=rb-0.3.5&ixid=eyJhcHBfaWQiOjEyMDd9&s=9e9d42a8ed01242550a8784af1966b65&auto=format&fit=crop&w=800&q=60'); - background-repeat: no-repeat; +.header { + text-align: center; } +.content */ + ul li { list-style-type: none; - display: flex; } + +* { + font-family: 'Rubik', sans-serif; +} + +body { + background-color: rgb(199, 219, 230); + padding: 20px; + margin: 0; +} + +h1 { + text-align: center; + color: brown; + font-size: 5em; + font-family: 'Rubik', sans-serif; + font-style: bold; +} + h2, p, ul, li { + font-family: 'Rubik', sans-serif; +} +ul.header li { + display: inline; + list-style-type: none; + margin: 0; +} +ul.header { + background-color: rgba(54, 70, 82, .5); + padding: 0; +} +ul.header li a { + color: #FFF; + font-weight: bold; + text-decoration: none; + padding: 20px; + display: inline-block; +} +.content { + background-color: rgb(199, 219, 230); + + padding: 20px; +} +.content h2 { + padding: 0; + margin: 0; +} +.content li { + margin-bottom: 10px; +} +.active { + background-color: #0099FF; +} diff --git a/src/App.js b/src/App.js index 5fbe2375b..821b8d6e1 100644 --- a/src/App.js +++ b/src/App.js @@ -65,38 +65,37 @@ class App extends Component { render() { const home = () => { - return (

    Welcome!

    ); + return (

    Welcome!

    ); }; return ( -
    - -
    -
      -
    • Home
    • -
    • SearchResults
    • -
    • Customers
    • -
    • Library
    • -
    • Selected Movie: {this.state.selectedMovie}
    • -
    • Selected Customer: {this.state.selectedCustomer}
    • - -
    + +
    +
      +
    • Home
    • +
    • SearchResults
    • +
    • Customers
    • +
    • Library
    • +
    • Selected Movie: {this.state.selectedMovie}
    • +
    • Selected Customer: {this.state.selectedCustomer}
    • + +
    - {this.renderMessage()} -
    - - - } - /> - } - /> -
    + {this.renderMessage()} +
    + + + } + /> + } + />
    - -
    +
    +
    + ); } } diff --git a/src/components/Customer.css b/src/components/Customer.css index 54ed37c46..d73803c5f 100644 --- a/src/components/Customer.css +++ b/src/components/Customer.css @@ -1,7 +1,7 @@ -/* .customer { - background-color: teal; +.customer { + background-color: rgba(54, 70, 82, .3); - padding: 1em 0; + padding: 2em; margin: 0.5rem; min-height: 250px; @@ -13,4 +13,4 @@ display: grid; grid-template-columns: 1fr 5fr 1fr; align-items: center; -} */ +} diff --git a/src/components/Customer.js b/src/components/Customer.js index f087ed3c1..94791e770 100644 --- a/src/components/Customer.js +++ b/src/components/Customer.js @@ -17,6 +17,7 @@ class Customer extends Component {

    Phone: {this.props.phone}

    Account Credit: ${this.props.accountCredit}

    Checked Out Movies Count: {this.props.checkedOutMoviesCount}

    +
    ); diff --git a/src/components/Customers.css b/src/components/Customers.css index bc2bf860f..f5ec0dbe3 100644 --- a/src/components/Customers.css +++ b/src/components/Customers.css @@ -1,10 +1,6 @@ -/* .customers { +.customers { display: flex; flex-wrap: wrap; - + margin-left: 2em; + } - -.customer { - display: flex; - flex-wrap: wrap; -} */ diff --git a/src/components/Customers.js b/src/components/Customers.js index 1d3483ee1..5b041020a 100644 --- a/src/components/Customers.js +++ b/src/components/Customers.js @@ -47,7 +47,7 @@ class Customers extends Component { return (

    Customers List

    -
      {this.renderCustomersList()}
    +
    • {this.renderCustomersList()}
    ); } diff --git a/src/components/Library.css b/src/components/Library.css index e69de29bb..66935c32b 100644 --- a/src/components/Library.css +++ b/src/components/Library.css @@ -0,0 +1,5 @@ +.library { + display: flex; + flex-wrap: wrap; + margin-left: 2em; +} diff --git a/src/components/Library.js b/src/components/Library.js index 2ffca30a7..a9c56a870 100644 --- a/src/components/Library.js +++ b/src/components/Library.js @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; import axios from 'axios'; import Movie from './Movie'; +import './Library.css'; class Library extends Component { constructor(props) { @@ -44,10 +45,12 @@ class Library extends Component { render() { return ( -
    -

    Library

    +
    +

    Library

    +

    {this.state.error}

    - { this.renderMovieList()} + +
    • { this.renderMovieList()}
    ); } diff --git a/src/components/Movie.css b/src/components/Movie.css index e69de29bb..ae7c8811d 100644 --- a/src/components/Movie.css +++ b/src/components/Movie.css @@ -0,0 +1,14 @@ +.movie { + padding: 1em 0; + margin: 0.5rem; + + min-height: 250px; + min-width: 225px; + flex-basis: 18%; + + border-radius: 5px; + border: solid; + padding: 2em; + text-align: center; + background-color: rgb(240, 231, 237); +} diff --git a/src/components/Movie.js b/src/components/Movie.js index 3c5be9e14..3fdbf8636 100644 --- a/src/components/Movie.js +++ b/src/components/Movie.js @@ -1,5 +1,6 @@ import React, { Component } from 'react'; import PropTypes from 'prop-types'; +import './Movie.css'; class Movie extends Component { @@ -10,11 +11,12 @@ class Movie extends Component { render() { console.log(this.props) return ( -
    -

    Title {this.props.title}

    +
    +

    {this.props.title}

    Overview: {this.props.overview}

    Release Date: {this.props.release_date}

    Movie Poster +
    ); From ffc562dec2a0d12eca557dee33f56df45e1ce59a Mon Sep 17 00:00:00 2001 From: marikoja Date: Mon, 25 Jun 2018 10:02:32 -0700 Subject: [PATCH 28/28] stying refactored --- src/App.js | 2 +- src/components/Movie.css | 6 ++++-- src/components/SearchResults.js | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/App.js b/src/App.js index 821b8d6e1..a238603d7 100644 --- a/src/App.js +++ b/src/App.js @@ -51,7 +51,7 @@ class App extends Component { .then((response) => { console.log(response); this.setState({ - message: 'Succesfully added a new rental!', + message: `${this.state.selectedCustomer} succesfully rchekcout ${this.state.selectedMovie}!`, selectedMovie: '', selectedCustomer: '', selectedCustomerId: '', diff --git a/src/components/Movie.css b/src/components/Movie.css index ae7c8811d..f49cc52b4 100644 --- a/src/components/Movie.css +++ b/src/components/Movie.css @@ -7,8 +7,10 @@ flex-basis: 18%; border-radius: 5px; - border: solid; padding: 2em; text-align: center; - background-color: rgb(240, 231, 237); + /* background-color: rgb(240, 231, 237); */ + background-color: rgba(54, 70, 82, .3); + + } diff --git a/src/components/SearchResults.js b/src/components/SearchResults.js index af968bd29..54ad8238b 100644 --- a/src/components/SearchResults.js +++ b/src/components/SearchResults.js @@ -32,7 +32,7 @@ class SearchResults extends Component { }; renderResultsList = () => { - console.log('Rendering results'); + console.log(`Rendering results`); const componentList = this.state.results.map((movie, index) => { return (