diff --git a/.eslintignore b/.eslintignore index d8f67946..d42bf8a4 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,6 +1,5 @@ -node_modules/ -exports/ -index.js -test/ -server/render/build client/build +node_modules/ +public/bundle +server/render/build +test/ diff --git a/.gitignore b/.gitignore index 81ca6ba3..36a836cb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,21 @@ -node_modules .DS_Store *.log .idea/ -/devConfig/sequelizeCliConfig.js -/devConfig/testingConfig.js + +node_modules + +client/build + +client_custom/build + +devConfig/sequelizeCliConfig.js +devConfig/testingConfig.js + +config/mysqlConfig.json +config/siteConfig.json + +public/bundle/bundle.js +public/bundle/bundle.js.map +public/bundle/Lekton-* +public/bundle/style.css + diff --git a/.sequelizerc b/.sequelizerc index 757fef10..fe827ed6 100644 --- a/.sequelizerc +++ b/.sequelizerc @@ -2,4 +2,7 @@ const path = require('path'); module.exports = { 'config': path.resolve('devConfig', 'sequelizeCliConfig.js'), + 'models-path': path.resolve('server', 'models'), + 'seeders-path': path.resolve('server', 'seeders'), + 'migrations-path': path.resolve('server', 'migrations') } diff --git a/README.md b/README.md index d6fb1f7a..d418698a 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,66 @@ # Spee.ch -This repo packages the spee.ch server for use with spee.ch implementations. +Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain. You are encouraged to contribute to the shared code base, or fork it and make it your own. -### Quick start -To get started running your own version of spee.ch, visit [lbryio/www.spee.ch](https://github.com/lbryio/www.spee.ch) +You can create your own custom version of spee.ch by installing this code base and then creating your own custom components and styles to override the defaults. (More details / guide on how to do that coming soon.) -### Install +## Quick start + +_note: this is the quickstart guide, for an in-depth step-by-step overview visit the [fullstart guide](https://github.com/lbryio/spee.ch/blob/readme-update/fullstart.md)._ + +#### Install System Dependencies: + * [node](https://nodejs.org) + * [mysql](https://dev.mysql.com/doc/refman/8.0/en/installing.html) + * [`lbry`](https://github.com/lbryio/lbry) daemon + * note: retrieve an address from the daemon and send your wallet a couple credits (or join us in the [#speech discord channel](https://discord.gg/YjYbwhS) and we will send you a few) + * [ffmpeg](https://www.ffmpeg.org/download.html) + +#### Clone this repo ``` -npm install spee.ch --save +$ git clone https://github.com/lbryio/spee.ch.git ``` -## Development -* the `server/` folder contains all of the server code - * `index.js` is the entry point for the server. It creates the [express app](https://expressjs.com/), requires the routes, syncs the database, and starts the server listening on the `PORT` designated in the config file. - * the `server/routes` folder contains all of the routes for the express app - * the `server/models` folder contains all of the models which the app uses to interact with the `mysql` database. Note: this app uses the [sequelize](http://docs.sequelizejs.com/) ORM. +#### Change directory into your project +``` +$ cd spee.ch +``` -## Tests -* This package uses `mocha` with `chai` for testing. -* Before running tests, create a `testingConfig.js` file in `devConfig/` by copying `testingConfig.example.js` -* To run tests: - * To run all tests, including those that require LBC (like publishing), simply run `npm test` - * To run only tests that do not require LBC, run `npm run test:no-lbc` +#### Install node dependencies +``` +$ npm install +``` + +#### Create the config files using the built in CLI +``` +$ npm run configure +``` + +Add your ip address in `config/siteConfig.json` + +#### Build & start the app + +_note: make sure lbry is running in the background before proceeding_ +``` +$ npm run start +``` + +#### view in browser + * visit [http://localhost:3000](http://localhost:3000) in your browser + +#### customize your app + +check out the [customization guide](https://github.com/lbryio/spee.ch/blob/readme-update/customize.md) to change your app's appearance and components + +#### (optional) add custom components and update the styles + + * create custom components by creating React components in `src/views/` (further instructions coming soon) + * update the css by changing the files in `public/assets/css/` (further instructions and refactor coming soon) + +#### (optional) Syncing the full blockchain + * Start the `spee.ch-sync` tool available at [billbitt/spee.ch-sync](https://github.com/billbitt/spee.ch-sync) + * This is not necessary, but highly reccomended. It will decode the blocks of the `LBRY` blockchain and add the claims information to your database's tables ## API - -#### GET -* /api/claim/resolve/:name/:claimId - * example: `curl https://spee.ch/api/claim/resolve/doitlive/xyz` -* /api/claim/list/:name - * example: `curl https://spee.ch/api/claim/list/doitlive` -* /api/claim/availability/:name - * returns the name if it is available - * example: `curl https://spee.ch/api/claim/availability/doitlive` -* /api/channel/availability/:name - * returns the name if it is available - * example: `curl https://spee.ch/api/channel/availability/@CoolChannel` - -#### POST -* /api/claim/publish +* _(post)_ /api/claim/publish * example: `curl -F 'name=MyPictureName' -F 'file=@/path/to/myPicture.jpeg' https://spee.ch/api/claim/publish` * Parameters: * `name` (required) @@ -47,26 +70,110 @@ npm install spee.ch --save * `title` (optional) * `description` (optional) * `thumbnail` url to thumbnail image, for .mp4 uploads only (optional) - * `channelName`(optional) - * `channelPassword` (optional,; required if `channelName` is provided) - -## Bugs -If you find a bug or experience a problem, please report your issue here on github and find us in the lbry discord! + * `channelName` channel to publish too (optional) + * `channelPassword` password for channel to publish too (optional, but required if `channelName` is provided) +* _(get)_ /api/claim/resolve/:name/:claimId + * example: `curl https://spee.ch/api/claim/resolve/doitlive/xyz` +* _(get)_ /api/claim/list/:name + * example: `curl https://spee.ch/api/claim/list/doitlive` +* _(get)_ /api/claim/availability/:name + * returns the name if it is available + * example: `curl https://spee.ch/api/claim/availability/doitlive` +* _(get)_ /api/channel/availability/:name + * returns the name if it is available + * example: `curl https://spee.ch/api/channel/availability/@CoolChannel` ## Contribute -### Below is a guide to the issue tags in this repo +### Stack +The spee.ch stack is MySQL, Express.js, Node.js, and React.js. Spee.ch also runs `lbrynet` on its server, and it uses the `lbrynet` api to make requests -- such as `publish`, `create_channel`, and `get` -- on the `LBRY` network. + +Spee.ch also runs a sync tool, which decodes blocks from the `LBRY` blockchain as they are mined, and stores the information in mysql. It stores all claims in the `Claims` table, and all channel claims in the `Certificates` table. + +* server + * [mysql](https://www.mysql.com/) + * [express](https://www.npmjs.com/package/express) + * [node](https://nodejs.org/) + * [lbry](https://github.com/lbryio/lbry) + * [ffmpeg](https://www.ffmpeg.org/) +* client + * [react](https://reactjs.org/) + * redux + * sagas + * scss + * handlebars + + +### Architecture +* `cli/` contains the code for the cli tool. Running the tool will create `.json` config files and place them in the `config/` folder + * `configure.js` is the entry point for the cli tool + * `cli/defaults/` holds default config files + * `cli/questions/` holds the questions that the cli tool asks to build the config files + +* `client/` contains all of the client code + * The client side of spee.ch uses `React` and `Redux` + * `client/src/index.js` is the entry point for the client side js. It checks for preloaded state, creates the store, and places the `` component in the document. + * `client/src/app.js` holds the `` component, which contains the routes for `react-router-dom` + * `client/src/` contains all of the JSX code for the app. When the app is built, the content of this folder is transpiled into the `client/build/` folder. + * The Redux code is broken up into `actions/` `reducers/` and `selectors/` + * The React components are broken up into `containers/` (components that pull props directly from the Redux store), `components/` ('dumb' components), and `pages/` + * spee.ch also uses sagas which are in the `sagas/` folders and `channels/` + * `client/scss/` contains the css for the project + * + +* `client_custom` is a folder which can be used to override the default components in `client/` + * The folder structure mimics that of the `client/` folder + * to customize spee.ch, place your own components ans scss in the `client_custom/src/` and `client_custom/scss` folders. + +* `server/` contains all of the server code + * `index.js` is the entry point for the server. It creates the [express app](https://expressjs.com/), requires the routes, syncs the database, and starts the server listening on the `PORT` designated in the config files. + * `server/routes/` contains all of the routes for the express app + * `server/controllers/` contains all of the controllers for all of the routes + * `server/models/` contains all of the models which the app uses to interact with the `MySQL` database. + * Spee.ch uses the [sequelize](http://docs.sequelizejs.com/) ORM for communicating with the database. + +* `tests/` holds the end-to-end tests for this project + * Spee.ch uses `mocha` with the `chai` assertion library + * unit tests are located inside the project in-line with the files being tested and are designtated with a `xxxx.test.js` file name + +### Tests +* This package uses `mocha` with `chai` for testing. +* Before running tests, create a `testingConfig.js` file in `devConfig/` by copying `testingConfig.example.js` +* To run tests: + * To run all tests, including those that require LBC (like publishing), simply run `npm test` + * To run only tests that do not require LBC, run `npm run test:no-lbc` + +### URL formats +Spee.ch has a few types of url formats that return different assets from the LBRY network. Below is a list of all possible urls for the content on spee.ch +* retrieve the controlling `LBRY` claim: + * https://spee.ch/`claim` + * https://spee.ch/`claim`.`ext` (serve) +* retrieve a specific `LBRY` claim: + * https://spee.ch/`claim_id`/`claim` + * https://spee.ch/`claim_id`/`claim`.`ext` (serve) +* retrieve all contents for the controlling `LBRY` channel + * https://spee.ch/`@channel` +* a specific `LBRY` channel + * https://spee.ch/`@channel`:`channel_id` +* retrieve a specific claim within the controlling `LBRY` channel + * https://spee.ch/`@channel`/`claim` + * https://spee.ch/`@channel`/`claim`.`ext` (serve) +* retrieve a specific claim within a specific `LBRY` channel + * https://spee.ch/`@channel`:`channel_id`/`claim` + * https://spee.ch/`@channel`:`channel_id`/`claim`.`ext` (serve) + +### Bugs +If you find a bug or experience a problem, please report your issue here on github and find us in the lbry discord! + +### Issue tags in this repo #### level 1 -Issues with spee.ch that anyone with basic web development can handle, little-to-no experience with the spee.ch codebase is required. +Issues that anyone with basic web development can handle; little-to-no experience with the spee.ch codebase is required. #### level 2 -Issues with spee.ch familiarity with the spee.ch codebase is required, but little-to-no familiarity with the lbry daemon is necessary +Familiarity with web apps is required, but little-to-no familiarity with the lbry daemon is necessary #### level 3 -Issues with spee.ch strong familiarity with the spee.ch code base and how the lbry daemon functions is required +Familiarity with the spee.ch code base and how the lbry daemon functions is required #### level 4 -Issues with lbry (e.g. the spee.ch wallet, lbrynet configuration, etc.) that require strong familiarity with the lbry daemon and/or network to fix. Generally these issues are best suited for the lbry protocol team but are placed in this repo because of they are part of the spee.ch implementation - -### Stack - +Issues with lbry (e.g. the spee.ch wallet, lbrynet configuration, etc.) that require strong familiarity with the lbry daemon and/or network to fix. Generally these issues are best suited for the `lbry` `protocol team` but are reported in this repo because of they are part of the spee.ch implementation diff --git a/cli/configure.js b/cli/configure.js new file mode 100644 index 00000000..c1a00ebd --- /dev/null +++ b/cli/configure.js @@ -0,0 +1,181 @@ +const inquirer = require('inquirer'); +const fs = require('fs'); +const Path = require('path'); +const axios = require('axios'); + +const mysqlQuestions = require(Path.resolve(__dirname, 'questions/mysqlQuestions.js')); +const siteQuestions = require(Path.resolve(__dirname, 'questions/siteQuestions.js')); + +let primaryClaimAddress = ''; +let thumbnailChannelDefault = '@thumbnails'; +let thumbnailChannel = ''; +let thumbnailChannelId = ''; + +let mysqlConfig; +try { + mysqlConfig = require('../config/mysqlConfig.json'); +} catch (error) { + mysqlConfig = require('./defaults/mysqlConfig.json'); +} +const { database: mysqlDatabase, username: mysqlUsername, password: mysqlPassword } = mysqlConfig; + +let siteConfig; +try { + siteConfig = require('../config/siteConfig.json'); +} catch (error) { + siteConfig = require('./defaults/siteConfig.json'); +} +const { + details: { + port, + title, + host, + }, + publishing: { + uploadDirectory, + }, +} = siteConfig; + +inquirer + .prompt(mysqlQuestions(mysqlDatabase, mysqlUsername, mysqlPassword)) + .then(results => { + console.log('\nCreating mysql config file...'); + const fileLocation = Path.resolve(__dirname, '../config/mysqlConfig.json'); + const fileContents = JSON.stringify(results, null, 2); + fs.writeFileSync(fileLocation, fileContents, 'utf-8'); + console.log('Successfully created /config/mysqlConfig.json!\n'); + }) + .then(() => { + // check for lbrynet connection & retrieve a default address + console.log('\nRetrieving your primary claim address from LBRY...'); + return axios + .post('http://localhost:5279', { + method: 'wallet_list', + }) + .then(response => { + if (response.data) { + if (response.data.error) { + throw new Error(response.data.error.message); + } + + primaryClaimAddress = response.data.result[0]; + console.log('Primary claim address:', primaryClaimAddress, '!\n'); + siteConfig['publishing']['primaryClaimAddress'] = primaryClaimAddress; + return; + } + throw new Error('No data received from lbrynet'); + }).catch(error => { + throw error; + }); + }) + .then(() => { + console.log('\nChecking to see if a LBRY channel exists for thumbnails...'); + // see if a channel name already exists in the configs + const { publishing } = siteConfig; + thumbnailChannel = publishing.thumbnailChannel; + thumbnailChannelId = publishing.thumbnailChannelId; + console.log(`Thumbnail channel in configs: ${thumbnailChannel}#${thumbnailChannelId}.`); + // see if channel exists in the wallet + return axios + .post('http://localhost:5279', { + method: 'channel_list', + }) + .then(response => { + if (response.data) { + if (response.data.error) { + throw new Error(response.data.error.message); + } + + const channelList = response.data.result || []; + console.log('channels in this wallet:', channelList.length); + for (let i = 0; i < channelList.length; i++) { + if (channelList[i].name === thumbnailChannelDefault) { + const foundChannel = channelList[i]; + console.log(`Found a thumbnail channel in wallet.`); + if (foundChannel.is_mine === false) { + console.log('Channel was not mine'); + continue; + } + console.log('name:', foundChannel.name); + console.log('claim_id:', foundChannel.claim_id); + if (foundChannel.name === thumbnailChannel && foundChannel.claim_id === thumbnailChannelId) { + console.log('No update to existing thumbnail config required\n'); + } else { + console.log(`Replacing thumbnail channel in config...`); + siteConfig['publishing']['thumbnailChannel'] = foundChannel.name; + siteConfig['publishing']['thumbnailChannelId'] = foundChannel.claim_id; + console.log(`Successfully replaced channel in config.\n`); + } + return true; + } + } + console.log(`Did not find a thumbnail channel that is mine in wallet.\n`); + return false; + } + throw new Error('No data received from lbrynet'); + }).catch(error => { + throw error; + }); + }) + .then((thumbnailChannelAlreadyExists) => { + // exit if a channel already exists, skip this step + if (thumbnailChannelAlreadyExists) { + return; + } + // create thumbnail address + console.log('\nCreating a LBRY channel to publish your thumbnails to...'); + return axios + .post('http://localhost:5279', { + method: 'channel_new', + params: { + channel_name: thumbnailChannelDefault, + amount : 0.1, + }, + }) + .then(response => { + if (response.data) { + if (response.data.error) { + throw new Error(response.data.error.message); + } + + thumbnailChannel = thumbnailChannelDefault; + thumbnailChannelId = response.data.result.claim_id; + siteConfig['publishing']['thumbnailChannel'] = thumbnailChannel; + siteConfig['publishing']['thumbnailChannelId'] = thumbnailChannelId; + console.log(`Created channel: ${thumbnailChannel}#${thumbnailChannelId}\n`); + return; + } + throw new Error('No data received from lbrynet'); + }).catch(error => { + throw error; + }); + }) + .then(() => { + return inquirer.prompt(siteQuestions(port, title, host, uploadDirectory)); + }) + .then(results => { + console.log('\nCreating site config file...'); + siteConfig['details']['port'] = results.port; + siteConfig['details']['title'] = results.title; + siteConfig['details']['host'] = results.host; + siteConfig['publishing']['uploadDirectory'] = results.uploadDirectory; + const fileLocation = Path.resolve(__dirname, '../config/siteConfig.json'); + const fileContents = JSON.stringify(siteConfig, null, 2); + fs.writeFileSync(fileLocation, fileContents, 'utf-8'); + console.log('Successfully created /config/siteConfig.json\n'); + }) + .then(() => { + console.log('\nYou\'re all done!'); + console.log('Next step: run "npm run build" to build your server, then "npm run start" to start your server!'); + console.log('If you want to change any settings, you can edit the files in the "/config" folder.'); + process.exit(0); + }) + .catch(error => { + if (error.code === 'ECONNREFUSED') { + console.log('Error: could not connect to LBRY. Please make sure lbrynet daemon is running.'); + process.exit(1); + } else { + console.log(error); + process.exit(1); + } + }); diff --git a/cli/defaults/mysqlConfig.json b/cli/defaults/mysqlConfig.json new file mode 100644 index 00000000..6dd371ce --- /dev/null +++ b/cli/defaults/mysqlConfig.json @@ -0,0 +1,5 @@ +{ + "database": "lbry", + "username": "root", + "password": "" +} diff --git a/cli/defaults/siteConfig.json b/cli/defaults/siteConfig.json new file mode 100644 index 00000000..8359f0e6 --- /dev/null +++ b/cli/defaults/siteConfig.json @@ -0,0 +1,35 @@ +{ + "analytics": { + "googleId": null + }, + "assetDefaults": { + "title": "Default Content Title", + "description": "Default Content Description", + "thumbnail": "https://spee.ch/0e5d4e8f4086e13f5b9ca3f9648f518e5f524402/speechflag.png" + }, + "auth": { + "sessionKey": "mysecretkeyword", + "masterPassword": "myMasterPassword" + }, + "details": { + "port": 3000, + "title": "My Site", + "ipAddress": "", + "host": "https://www.example.com", + "description": "A decentralized hosting platform built on LBRY", + "twitter": false + }, + "publishing": { + "primaryClaimAddress": null, + "uploadDirectory": "/home/lbry/Uploads", + "thumbnailChannel": null, + "thumbnailChannelId": null, + "additionalClaimAddresses": [], + "disabled": false, + "disabledMessage": "Default publishing disabled message" + }, + "startup": { + "performChecks": true, + "performUpdates": true + } +} diff --git a/cli/questions/mysqlQuestions.js b/cli/questions/mysqlQuestions.js new file mode 100644 index 00000000..42d652c7 --- /dev/null +++ b/cli/questions/mysqlQuestions.js @@ -0,0 +1,34 @@ +const database = (defaultAnswer) => { + return { + type : 'input', + message: 'What is the name of the MySQL DATABASE to be used?', + default: defaultAnswer, + name : 'database', + }; +}; + +const username = (defaultAnswer) => { + return { + type : 'input', + message: 'What is the USER NAME for your MySQL database?', + default: defaultAnswer, + name : 'username', + }; +}; + +const password = (defaultAnswer) => { + return { + type : 'input', + message: 'What is the PASSWORD for your MySQL database?', + default: defaultAnswer, + name : 'password', + }; +}; + +module.exports = (defaultDatabase, defaultUsername, defaultPassword) => { + return [ + database(defaultDatabase), + username(defaultUsername), + password(defaultPassword), + ]; +}; diff --git a/cli/questions/siteQuestions.js b/cli/questions/siteQuestions.js new file mode 100644 index 00000000..fd611ecd --- /dev/null +++ b/cli/questions/siteQuestions.js @@ -0,0 +1,59 @@ +const makeDir = require('make-dir'); + +const port = (defaultAnswer) => { + return { + type : 'input', + message: 'Enter a PORT for your server to run on.', + default: defaultAnswer, + name : 'port', + }; +}; + +const title = (defaultAnswer) => { + return { + type : 'input', + message: 'Enter a title for your site.', + default: defaultAnswer, + name : 'title', + }; +}; + +const host = (defaultAnswer) => { + return { + type : 'input', + message: 'Enter your site\'s domain.', + default: defaultAnswer, + name : 'host', + }; +}; + +const uploadDirectory = (defaultAnswer) => { + return { + type : 'input', + message: 'Enter a directory where uploads should be stored.', + default: defaultAnswer, + name : 'uploadDirectory', + validate (input) { + // make sure the directory exists + return new Promise((resolve, reject) => { + console.log('\n\nCreating directory', input, '...'); + try { + const dirPath = makeDir.sync(input); + console.log('Successfully created directory at', dirPath, '\n'); + } catch (error) { + console.log('Failed to create directory, please create directory manually.\n'); + } + resolve(true); + }); + }, + }; +}; + +module.exports = (defaultPort, defaultTitle, defaultHost, defaultUploadDirectory) => { + return [ + port(defaultPort), + title(defaultTitle), + host(defaultHost), + uploadDirectory(defaultUploadDirectory), + ]; +}; diff --git a/client/build/actions/channel.js b/client/build/actions/channel.js deleted file mode 100644 index 66ea97c8..00000000 --- a/client/build/actions/channel.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.updateLoggedInChannel = updateLoggedInChannel; -exports.checkForLoggedInChannel = checkForLoggedInChannel; -exports.logOutChannel = logOutChannel; - -var actions = _interopRequireWildcard(require("../constants/channel_action_types")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -// export action creators -function updateLoggedInChannel(name, shortId, longId) { - return { - type: actions.CHANNEL_UPDATE, - data: { - name: name, - shortId: shortId, - longId: longId - } - }; -} - -function checkForLoggedInChannel() { - return { - type: actions.CHANNEL_LOGIN_CHECK - }; -} - -function logOutChannel() { - return { - type: actions.CHANNEL_LOGOUT - }; -} \ No newline at end of file diff --git a/client/build/actions/channelCreate.js b/client/build/actions/channelCreate.js deleted file mode 100644 index b81e6469..00000000 --- a/client/build/actions/channelCreate.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.updateChannelCreateName = updateChannelCreateName; -exports.updateChannelCreatePassword = updateChannelCreatePassword; -exports.updateChannelCreateStatus = updateChannelCreateStatus; -exports.updateChannelAvailability = updateChannelAvailability; -exports.createChannel = createChannel; - -var actions = _interopRequireWildcard(require("../constants/channel_create_action_types")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -// export action creators -function updateChannelCreateName(name, value) { - return { - type: actions.CHANNEL_CREATE_UPDATE_NAME, - data: { - name: name, - value: value - } - }; -} - -function updateChannelCreatePassword(name, value) { - return { - type: actions.CHANNEL_CREATE_UPDATE_PASSWORD, - data: { - name: name, - value: value - } - }; -} - -function updateChannelCreateStatus(status) { - return { - type: actions.CHANNEL_CREATE_UPDATE_STATUS, - data: status - }; -} - -function updateChannelAvailability(channel) { - return { - type: actions.CHANNEL_AVAILABILITY, - data: channel - }; -} - -function createChannel() { - return { - type: actions.CHANNEL_CREATE - }; -} \ No newline at end of file diff --git a/client/build/actions/index.js b/client/build/actions/index.js deleted file mode 100644 index 74643914..00000000 --- a/client/build/actions/index.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _show = require("./show"); - -// import { } from './channel'; -// import { } from './publish'; -var _default = { - onHandleShowPageUri: _show.onHandleShowPageUri -}; -exports.default = _default; \ No newline at end of file diff --git a/client/build/actions/publish.js b/client/build/actions/publish.js deleted file mode 100644 index 8d698de9..00000000 --- a/client/build/actions/publish.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.selectFile = selectFile; -exports.clearFile = clearFile; -exports.updateMetadata = updateMetadata; -exports.updateClaim = updateClaim; -exports.setPublishInChannel = setPublishInChannel; -exports.updatePublishStatus = updatePublishStatus; -exports.updateError = updateError; -exports.updateSelectedChannel = updateSelectedChannel; -exports.toggleMetadataInputs = toggleMetadataInputs; -exports.onNewThumbnail = onNewThumbnail; -exports.startPublish = startPublish; -exports.validateClaim = validateClaim; - -var actions = _interopRequireWildcard(require("../constants/publish_action_types")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -// export action creators -function selectFile(file) { - return { - type: actions.FILE_SELECTED, - data: file - }; -} - -function clearFile() { - return { - type: actions.FILE_CLEAR - }; -} - -function updateMetadata(name, value) { - return { - type: actions.METADATA_UPDATE, - data: { - name: name, - value: value - } - }; -} - -function updateClaim(value) { - return { - type: actions.CLAIM_UPDATE, - data: value - }; -} - -; - -function setPublishInChannel(channel) { - return { - type: actions.SET_PUBLISH_IN_CHANNEL, - channel: channel - }; -} - -function updatePublishStatus(status, message) { - return { - type: actions.PUBLISH_STATUS_UPDATE, - data: { - status: status, - message: message - } - }; -} - -function updateError(name, value) { - return { - type: actions.ERROR_UPDATE, - data: { - name: name, - value: value - } - }; -} - -function updateSelectedChannel(channelName) { - return { - type: actions.SELECTED_CHANNEL_UPDATE, - data: channelName - }; -} - -function toggleMetadataInputs(showMetadataInputs) { - return { - type: actions.TOGGLE_METADATA_INPUTS, - data: showMetadataInputs - }; -} - -function onNewThumbnail(file) { - return { - type: actions.THUMBNAIL_NEW, - data: file - }; -} - -function startPublish(history) { - return { - type: actions.PUBLISH_START, - data: { - history: history - } - }; -} - -function validateClaim(claim) { - return { - type: actions.CLAIM_AVAILABILITY, - data: claim - }; -} \ No newline at end of file diff --git a/client/build/actions/show.js b/client/build/actions/show.js deleted file mode 100644 index 0c93b68e..00000000 --- a/client/build/actions/show.js +++ /dev/null @@ -1,170 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.onHandleShowPageUri = onHandleShowPageUri; -exports.onRequestError = onRequestError; -exports.onNewChannelRequest = onNewChannelRequest; -exports.onNewAssetRequest = onNewAssetRequest; -exports.onRequestUpdate = onRequestUpdate; -exports.addRequestToRequestList = addRequestToRequestList; -exports.addAssetToAssetList = addAssetToAssetList; -exports.addNewChannelToChannelList = addNewChannelToChannelList; -exports.onUpdateChannelClaims = onUpdateChannelClaims; -exports.updateChannelClaims = updateChannelClaims; -exports.fileRequested = fileRequested; -exports.updateFileAvailability = updateFileAvailability; -exports.updateDisplayAssetError = updateDisplayAssetError; - -var actions = _interopRequireWildcard(require("../constants/show_action_types")); - -var _show_request_types = require("../constants/show_request_types"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -// basic request parsing -function onHandleShowPageUri(params) { - return { - type: actions.HANDLE_SHOW_URI, - data: params - }; -} - -function onRequestError(error) { - return { - type: actions.REQUEST_ERROR, - data: error - }; -} - -function onNewChannelRequest(channelName, channelId) { - var requestType = _show_request_types.CHANNEL; - var requestId = "cr#".concat(channelName, "#").concat(channelId); - return { - type: actions.CHANNEL_REQUEST_NEW, - data: { - requestType: requestType, - requestId: requestId, - channelName: channelName, - channelId: channelId - } - }; -} - -function onNewAssetRequest(name, id, channelName, channelId, extension) { - var requestType = extension ? _show_request_types.ASSET_LITE : _show_request_types.ASSET_DETAILS; - var requestId = "ar#".concat(name, "#").concat(id, "#").concat(channelName, "#").concat(channelId); - return { - type: actions.ASSET_REQUEST_NEW, - data: { - requestType: requestType, - requestId: requestId, - name: name, - modifier: { - id: id, - channel: { - name: channelName, - id: channelId - } - } - } - }; -} - -function onRequestUpdate(requestType, requestId) { - return { - type: actions.REQUEST_UPDATE, - data: { - requestType: requestType, - requestId: requestId - } - }; -} - -function addRequestToRequestList(id, error, key) { - return { - type: actions.REQUEST_LIST_ADD, - data: { - id: id, - error: error, - key: key - } - }; -} // asset actions - - -function addAssetToAssetList(id, error, name, claimId, shortId, claimData) { - return { - type: actions.ASSET_ADD, - data: { - id: id, - error: error, - name: name, - claimId: claimId, - shortId: shortId, - claimData: claimData - } - }; -} // channel actions - - -function addNewChannelToChannelList(id, name, shortId, longId, claimsData) { - return { - type: actions.CHANNEL_ADD, - data: { - id: id, - name: name, - shortId: shortId, - longId: longId, - claimsData: claimsData - } - }; -} - -function onUpdateChannelClaims(channelKey, name, longId, page) { - return { - type: actions.CHANNEL_CLAIMS_UPDATE_ASYNC, - data: { - channelKey: channelKey, - name: name, - longId: longId, - page: page - } - }; -} - -function updateChannelClaims(channelListId, claimsData) { - return { - type: actions.CHANNEL_CLAIMS_UPDATE_SUCCESS, - data: { - channelListId: channelListId, - claimsData: claimsData - } - }; -} // display a file - - -function fileRequested(name, claimId) { - return { - type: actions.FILE_REQUESTED, - data: { - name: name, - claimId: claimId - } - }; -} - -function updateFileAvailability(status) { - return { - type: actions.FILE_AVAILABILITY_UPDATE, - data: status - }; -} - -function updateDisplayAssetError(error) { - return { - type: actions.DISPLAY_ASSET_ERROR, - data: error - }; -} \ No newline at end of file diff --git a/client/build/api/assetApi.js b/client/build/api/assetApi.js deleted file mode 100644 index ba9432bc..00000000 --- a/client/build/api/assetApi.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getLongClaimId = getLongClaimId; -exports.getShortId = getShortId; -exports.getClaimData = getClaimData; -exports.checkClaimAvailability = checkClaimAvailability; - -var _request = _interopRequireDefault(require("../utils/request")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function getLongClaimId(host, name, modifier) { - var body = {}; // create request params - - if (modifier) { - if (modifier.id) { - body['claimId'] = modifier.id; - } else { - body['channelName'] = modifier.channel.name; - body['channelClaimId'] = modifier.channel.id; - } - } - - body['claimName'] = name; - var params = { - method: 'POST', - headers: { - 'Content-Type': 'application/json' - }, - body: JSON.stringify(body) - }; // create url - - var url = "".concat(host, "/api/claim/long-id"); // return the request promise - - return (0, _request.default)(url, params); -} - -; - -function getShortId(host, name, claimId) { - var url = "".concat(host, "/api/claim/short-id/").concat(claimId, "/").concat(name); - return (0, _request.default)(url); -} - -; - -function getClaimData(host, name, claimId) { - var url = "".concat(host, "/api/claim/data/").concat(name, "/").concat(claimId); - return (0, _request.default)(url); -} - -; - -function checkClaimAvailability(claim) { - var url = "/api/claim/availability/".concat(claim); - return (0, _request.default)(url); -} \ No newline at end of file diff --git a/client/build/api/authApi.js b/client/build/api/authApi.js deleted file mode 100644 index b792fffa..00000000 --- a/client/build/api/authApi.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.checkForLoggedInChannelApi = checkForLoggedInChannelApi; -exports.channelLogoutApi = channelLogoutApi; - -var _request = _interopRequireDefault(require("../utils/request")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function checkForLoggedInChannelApi() { - var url = "/user"; - var params = { - credentials: 'include' - }; - return (0, _request.default)(url, params); -} - -function channelLogoutApi() { - var url = "/logout"; - var params = { - credentials: 'include' - }; - return (0, _request.default)(url, params); -} \ No newline at end of file diff --git a/client/build/api/channelApi.js b/client/build/api/channelApi.js deleted file mode 100644 index 0afcf254..00000000 --- a/client/build/api/channelApi.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.getChannelData = getChannelData; -exports.getChannelClaims = getChannelClaims; -exports.checkChannelAvailability = checkChannelAvailability; -exports.makeCreateChannelRequest = makeCreateChannelRequest; - -var _request = _interopRequireDefault(require("../utils/request")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function getChannelData(host, name, id) { - if (!id) id = 'none'; - var url = "".concat(host, "/api/channel/data/").concat(name, "/").concat(id); - return (0, _request.default)(url); -} - -function getChannelClaims(host, name, longId, page) { - if (!page) page = 1; - var url = "".concat(host, "/api/channel/claims/").concat(name, "/").concat(longId, "/").concat(page); - return (0, _request.default)(url); -} - -function checkChannelAvailability(channel) { - var url = "/api/channel/availability/".concat(channel); - return (0, _request.default)(url); -} - -function makeCreateChannelRequest(username, password) { - var params = { - method: 'POST', - body: JSON.stringify({ - username: username, - password: password - }), - headers: new Headers({ - 'Content-Type': 'application/json' - }), - credentials: 'include' - }; - return (0, _request.default)('/signup', params); -} \ No newline at end of file diff --git a/client/build/api/fileApi.js b/client/build/api/fileApi.js deleted file mode 100644 index 9142bd15..00000000 --- a/client/build/api/fileApi.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.checkFileAvailability = checkFileAvailability; -exports.triggerClaimGet = triggerClaimGet; - -var _request = _interopRequireDefault(require("../utils/request")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function checkFileAvailability(claimId, host, name) { - var url = "".concat(host, "/api/file/availability/").concat(name, "/").concat(claimId); - return (0, _request.default)(url); -} - -function triggerClaimGet(claimId, host, name) { - var url = "".concat(host, "/api/claim/get/").concat(name, "/").concat(claimId); - return (0, _request.default)(url); -} \ No newline at end of file diff --git a/client/build/app.js b/client/build/app.js deleted file mode 100644 index 24320163..00000000 --- a/client/build/app.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -var _HomePage = _interopRequireDefault(require("@pages/HomePage")); - -var _AboutPage = _interopRequireDefault(require("@pages/AboutPage")); - -var _LoginPage = _interopRequireDefault(require("@pages/LoginPage")); - -var _ContentPageWrapper = _interopRequireDefault(require("@pages/ContentPageWrapper")); - -var _FourOhFourPage = _interopRequireDefault(require("@pages/FourOhFourPage")); - -var _MultisitePage = _interopRequireDefault(require("@pages/MultisitePage")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var App = function App() { - return _react.default.createElement(_reactRouterDom.Switch, null, _react.default.createElement(_reactRouterDom.Route, { - exact: true, - path: "/", - component: _HomePage.default - }), _react.default.createElement(_reactRouterDom.Route, { - exact: true, - path: "/about", - component: _AboutPage.default - }), _react.default.createElement(_reactRouterDom.Route, { - exact: true, - path: "/login", - component: _LoginPage.default - }), _react.default.createElement(_reactRouterDom.Route, { - exact: true, - path: "/multisite", - component: _MultisitePage.default - }), _react.default.createElement(_reactRouterDom.Route, { - exact: true, - path: "/:identifier/:claim", - component: _ContentPageWrapper.default - }), _react.default.createElement(_reactRouterDom.Route, { - exact: true, - path: "/:claim", - component: _ContentPageWrapper.default - }), _react.default.createElement(_reactRouterDom.Route, { - component: _FourOhFourPage.default - })); -}; - -var _default = App; -exports.default = _default; \ No newline at end of file diff --git a/client/build/channels/publish.js b/client/build/channels/publish.js deleted file mode 100644 index 36259eb7..00000000 --- a/client/build/channels/publish.js +++ /dev/null @@ -1,72 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.makePublishRequestChannel = void 0; - -var _reduxSaga = require("redux-saga"); - -var makePublishRequestChannel = function makePublishRequestChannel(fd) { - return (0, _reduxSaga.eventChannel)(function (emitter) { - var uri = '/api/claim/publish'; - var xhr = new XMLHttpRequest(); // add event listeners - - var onLoadStart = function onLoadStart() { - emitter({ - loadStart: true - }); - }; - - var onProgress = function onProgress(event) { - if (event.lengthComputable) { - var percentage = Math.round(event.loaded * 100 / event.total); - emitter({ - progress: percentage - }); - } - }; - - var onLoad = function onLoad() { - emitter({ - load: true - }); - }; - - xhr.upload.addEventListener('loadstart', onLoadStart); - xhr.upload.addEventListener('progress', onProgress); - xhr.upload.addEventListener('load', onLoad); // set state change handler - - xhr.onreadystatechange = function () { - if (xhr.readyState === 4) { - var response = JSON.parse(xhr.response); - - if (xhr.status === 200 && response.success) { - emitter({ - success: response - }); - emitter(_reduxSaga.END); - } else { - emitter({ - error: new Error(response.message) - }); - emitter(_reduxSaga.END); - } - } - }; // open and send - - - xhr.open('POST', uri, true); - xhr.send(fd); // clean up - - return function () { - xhr.upload.removeEventListener('loadstart', onLoadStart); - xhr.upload.removeEventListener('progress', onProgress); - xhr.upload.removeEventListener('load', onLoad); - xhr.onreadystatechange = null; - xhr.abort(); - }; - }, _reduxSaga.buffers.sliding(2)); -}; - -exports.makePublishRequestChannel = makePublishRequestChannel; \ No newline at end of file diff --git a/client/build/components/AboutChannels/index.js b/client/build/components/AboutChannels/index.js deleted file mode 100644 index a5432b9f..00000000 --- a/client/build/components/AboutChannels/index.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelAbout = function ChannelAbout() { - return _react.default.createElement("div", null, _react.default.createElement("p", { - className: 'large' - }, "Channels allow you to publish and group content under an identity. You can create a channel for yourself, or share one with like-minded friends. You can create 1 channel, or 100, so whether you're ", _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "/@catalonia2017:43dcf47163caa21d8404d9fe9b30f78ef3e146a8" - }, "documenting important events"), ", or making a public repository for ", _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "/@catGifs" - }, "cat gifs"), " (password: '1234'), try creating a channel for it!")); -}; - -var _default = ChannelAbout; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/AboutSpeechDetails/index.js b/client/build/components/AboutSpeechDetails/index.js deleted file mode 100644 index 479bc372..00000000 --- a/client/build/components/AboutSpeechDetails/index.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var AboutSpeechDetails = function AboutSpeechDetails() { - return _react.default.createElement("div", null, _react.default.createElement(_Row.default, null, _react.default.createElement("p", { - className: 'text--large' - }, "Spee.ch is a media-hosting site that reads from and publishes content to the ", _react.default.createElement("a", { - className: "link--primary", - href: "https://lbry.io" - }, "LBRY"), " blockchain."), _react.default.createElement("p", { - className: 'text--large' - }, "Spee.ch is a hosting service, but with the added benefit that it stores your content on a decentralized network of computers -- the ", _react.default.createElement("a", { - className: "link--primary", - href: "https://lbry.io/get" - }, "LBRY"), " network. This means that your images are stored in multiple locations without a single point of failure.")), _react.default.createElement(_Row.default, null, _react.default.createElement("h3", null, "Contribute"), _react.default.createElement("p", { - className: 'text--large' - }, "If you have an idea for your own spee.ch-like site on top of LBRY, fork our ", _react.default.createElement("a", { - className: "link--primary", - href: "https://github.com/lbryio/spee.ch" - }, "github repo"), " and go to town!"), _react.default.createElement("p", { - className: 'text--large' - }, "If you want to improve spee.ch, join our ", _react.default.createElement("a", { - className: "link--primary", - href: "https://chat.lbry.io" - }, "discord channel"), " or solve one of our ", _react.default.createElement("a", { - className: "link--primary", - href: "https://github.com/lbryio/spee.ch/issues" - }, "github issues"), "."))); -}; - -var _default = AboutSpeechDetails; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/AboutSpeechOverview/index.js b/client/build/components/AboutSpeechOverview/index.js deleted file mode 100644 index 4b94a6e5..00000000 --- a/client/build/components/AboutSpeechOverview/index.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var AboutSpeechOverview = function AboutSpeechOverview() { - return _react.default.createElement("div", null, _react.default.createElement(_Row.default, null, _react.default.createElement("p", { - className: 'text--extra-large' - }, "Spee.ch is an open-source project. Please contribute to the existing site, or fork it and make your own.")), _react.default.createElement(_Row.default, null, _react.default.createElement("p", { - className: 'text--large' - }, _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://twitter.com/spee_ch" - }, "TWITTER")), _react.default.createElement("p", { - className: 'text--large' - }, _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://github.com/lbryio/spee.ch" - }, "GITHUB")), _react.default.createElement("p", { - className: 'text--large' - }, _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://discord.gg/YjYbwhS" - }, "DISCORD CHANNEL")), _react.default.createElement("p", { - className: 'text--large' - }, _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://github.com/lbryio/spee.ch/blob/master/README.md" - }, "DOCUMENTATION")))); -}; - -var _default = AboutSpeechOverview; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ActiveStatusBar/index.js b/client/build/components/ActiveStatusBar/index.js deleted file mode 100644 index c5ffafcf..00000000 --- a/client/build/components/ActiveStatusBar/index.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ActiveStatusBar = function ActiveStatusBar() { - return _react.default.createElement("span", { - className: "progress-bar--active" - }, "| "); -}; - -var _default = ActiveStatusBar; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/AssetPreview/index.js b/client/build/components/AssetPreview/index.js deleted file mode 100644 index c17b70e3..00000000 --- a/client/build/components/AssetPreview/index.js +++ /dev/null @@ -1,52 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var AssetPreview = function AssetPreview(_ref) { - var defaultThumbnail = _ref.defaultThumbnail, - _ref$claimData = _ref.claimData, - name = _ref$claimData.name, - claimId = _ref$claimData.claimId, - fileExt = _ref$claimData.fileExt, - contentType = _ref$claimData.contentType, - thumbnail = _ref$claimData.thumbnail; - var directSourceLink = "".concat(claimId, "/").concat(name, ".").concat(fileExt); - var showUrlLink = "/".concat(claimId, "/").concat(name); - return _react.default.createElement(_reactRouterDom.Link, { - to: showUrlLink - }, function () { - switch (contentType) { - case 'image/jpeg': - case 'image/jpg': - case 'image/png': - case 'image/gif': - return _react.default.createElement("img", { - className: 'asset-preview-image', - src: directSourceLink, - alt: name - }); - - case 'video/mp4': - return _react.default.createElement("img", { - className: 'asset-preview-video', - src: thumbnail || defaultThumbnail, - alt: name - }); - - default: - return _react.default.createElement("p", null, "unsupported file type"); - } - }()); -}; - -var _default = AssetPreview; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/AssetShareButtons/index.js b/client/build/components/AssetShareButtons/index.js deleted file mode 100644 index 8b54ec2b..00000000 --- a/client/build/components/AssetShareButtons/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _SpaceBetween = _interopRequireDefault(require("@components/SpaceBetween")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var AssetShareButtons = function AssetShareButtons(_ref) { - var host = _ref.host, - name = _ref.name, - shortId = _ref.shortId; - return _react.default.createElement(_SpaceBetween.default, null, _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://twitter.com/intent/tweet?text=".concat(host, "/").concat(shortId, "/").concat(name) - }, "twitter"), _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://www.facebook.com/sharer/sharer.php?u=".concat(host, "/").concat(shortId, "/").concat(name) - }, "facebook"), _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "http://tumblr.com/widgets/share/tool?canonicalUrl=".concat(host, "/").concat(shortId, "/").concat(name) - }, "tumblr"), _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://www.reddit.com/submit?url=".concat(host, "/").concat(shortId, "/").concat(name, "&title=").concat(name) - }, "reddit")); -}; - -var _default = AssetShareButtons; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ButtonPrimary/index.js b/client/build/components/ButtonPrimary/index.js deleted file mode 100644 index 6079fa91..00000000 --- a/client/build/components/ButtonPrimary/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ButtonPrimary = function ButtonPrimary(_ref) { - var value = _ref.value, - onClickHandler = _ref.onClickHandler; - return _react.default.createElement("button", { - className: 'button button-primary', - onClick: onClickHandler - }, value); -}; - -var _default = ButtonPrimary; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ButtonPrimaryJumbo/index.js b/client/build/components/ButtonPrimaryJumbo/index.js deleted file mode 100644 index 938f96c1..00000000 --- a/client/build/components/ButtonPrimaryJumbo/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ButtonPrimaryJumbo = function ButtonPrimaryJumbo(_ref) { - var value = _ref.value, - onClickHandler = _ref.onClickHandler; - return _react.default.createElement("button", { - className: 'button button-primary button-primary--jumbo', - onClick: onClickHandler - }, value); -}; - -var _default = ButtonPrimaryJumbo; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ButtonSecondary/index.js b/client/build/components/ButtonSecondary/index.js deleted file mode 100644 index d7dde2c3..00000000 --- a/client/build/components/ButtonSecondary/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ButtonPrimary = function ButtonPrimary(_ref) { - var value = _ref.value, - onClickHandler = _ref.onClickHandler; - return _react.default.createElement("button", { - className: 'button button--secondary', - onClick: onClickHandler - }, value); -}; - -var _default = ButtonPrimary; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ButtonTertiary/index.js b/client/build/components/ButtonTertiary/index.js deleted file mode 100644 index 31bffa97..00000000 --- a/client/build/components/ButtonTertiary/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ButtonTertiary = function ButtonTertiary(_ref) { - var value = _ref.value, - onClickHandler = _ref.onClickHandler; - return _react.default.createElement("button", { - className: 'button button--tertiary', - onClick: onClickHandler - }, value); -}; - -var _default = ButtonTertiary; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelAbout/index.js b/client/build/components/ChannelAbout/index.js deleted file mode 100644 index abf6a059..00000000 --- a/client/build/components/ChannelAbout/index.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelAbout = function ChannelAbout() { - return _react.default.createElement("div", null, _react.default.createElement("p", { - className: 'text--large' - }, "Channels allow you to publish and group content under an identity. You can create a channel for yourself, or share one with like-minded friends. You can create 1 channel, or 100, so whether you're ", _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "/@catalonia2017:43dcf47163caa21d8404d9fe9b30f78ef3e146a8" - }, "documenting important events"), ", or making a public repository for ", _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "/@catGifs" - }, "cat gifs"), " (password: '1234'), try creating a channel for it!")); -}; - -var _default = ChannelAbout; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelCreateNameInput/index.js b/client/build/components/ChannelCreateNameInput/index.js deleted file mode 100644 index e68e680d..00000000 --- a/client/build/components/ChannelCreateNameInput/index.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelCreateNameInput = function ChannelCreateNameInput(_ref) { - var value = _ref.value, - error = _ref.error, - handleNameInput = _ref.handleNameInput; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Name:' - }), - content: _react.default.createElement("div", { - className: "input-area" - }, _react.default.createElement("span", null, "@"), _react.default.createElement("input", { - type: "text", - name: "channel", - className: "input-text", - placeholder: "exampleChannelName", - value: value, - onChange: handleNameInput - }), value && !error && _react.default.createElement("span", { - className: "info-message--success span--absolute" - }, "\u2713"), error && _react.default.createElement("span", { - className: "info-message--failure span--absolute" - }, "\u2716")) - }); -}; - -var _default = ChannelCreateNameInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelCreatePasswordInput/index.js b/client/build/components/ChannelCreatePasswordInput/index.js deleted file mode 100644 index 202d1c3c..00000000 --- a/client/build/components/ChannelCreatePasswordInput/index.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelCreatePasswordInput = function ChannelCreatePasswordInput(_ref) { - var value = _ref.value, - handlePasswordInput = _ref.handlePasswordInput; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Password:' - }), - content: _react.default.createElement("div", { - className: "input-area" - }, _react.default.createElement("input", { - type: "password", - name: "password", - className: "input-text", - placeholder: "", - value: value, - onChange: handlePasswordInput - })) - }); -}; - -var _default = ChannelCreatePasswordInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelInfoDisplay/index.js b/client/build/components/ChannelInfoDisplay/index.js deleted file mode 100644 index 921a76cf..00000000 --- a/client/build/components/ChannelInfoDisplay/index.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelInfoDisplay = function ChannelInfoDisplay(_ref) { - var name = _ref.name, - longId = _ref.longId, - shortId = _ref.shortId; - return _react.default.createElement("div", null, _react.default.createElement("h2", null, "channel name: ", name), _react.default.createElement("p", { - className: 'text--secondary' - }, "full channel id: ", longId), _react.default.createElement("p", { - className: 'text--secondary' - }, "short channel id: ", shortId)); -}; - -var _default = ChannelInfoDisplay; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelLoginNameInput/index.js b/client/build/components/ChannelLoginNameInput/index.js deleted file mode 100644 index 81fccdf6..00000000 --- a/client/build/components/ChannelLoginNameInput/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelLoginNameInput = function ChannelLoginNameInput(_ref) { - var channelName = _ref.channelName, - handleInput = _ref.handleInput; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Name:' - }), - content: _react.default.createElement("div", { - className: "input-area" - }, _react.default.createElement("span", null, "@"), _react.default.createElement("input", { - type: "text", - id: "channel-login-name-input", - className: "input-text", - name: "name", - placeholder: "Your Channel Name", - value: channelName, - onChange: handleInput - })) - }); -}; - -var _default = ChannelLoginNameInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelLoginPasswordInput/index.js b/client/build/components/ChannelLoginPasswordInput/index.js deleted file mode 100644 index 884a8bbd..00000000 --- a/client/build/components/ChannelLoginPasswordInput/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelLoginPasswordInput = function ChannelLoginPasswordInput(_ref) { - var channelPassword = _ref.channelPassword, - handleInput = _ref.handleInput; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Password:' - }), - content: _react.default.createElement("div", { - className: "input-area" - }, _react.default.createElement("input", { - type: "password", - id: "channel-login-password-input", - name: "password", - className: "input-text", - placeholder: "", - value: channelPassword, - onChange: handleInput - })) - }); -}; - -var _default = ChannelLoginPasswordInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelSelectDropdown/index.js b/client/build/components/ChannelSelectDropdown/index.js deleted file mode 100644 index 412e79ea..00000000 --- a/client/build/components/ChannelSelectDropdown/index.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _publish_channel_select_states = require("../../constants/publish_channel_select_states"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelSelectDropdown = function ChannelSelectDropdown(_ref) { - var selectedChannel = _ref.selectedChannel, - handleSelection = _ref.handleSelection, - loggedInChannelName = _ref.loggedInChannelName; - return _react.default.createElement("select", { - id: "channel-name-select", - className: "select select--arrow", - value: selectedChannel, - onChange: handleSelection - }, loggedInChannelName && _react.default.createElement("option", { - value: loggedInChannelName - }, loggedInChannelName), _react.default.createElement("option", { - value: _publish_channel_select_states.LOGIN - }, "Existing"), _react.default.createElement("option", { - value: _publish_channel_select_states.CREATE - }, "New")); -}; - -var _default = ChannelSelectDropdown; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChannelTools/index.js b/client/build/components/ChannelTools/index.js deleted file mode 100644 index 0095ccf2..00000000 --- a/client/build/components/ChannelTools/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _ChannelLoginForm = _interopRequireDefault(require("@containers/ChannelLoginForm")); - -var _ChannelCreateForm = _interopRequireDefault(require("@containers/ChannelCreateForm")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChannelTools = function ChannelTools() { - return _react.default.createElement("div", null, _react.default.createElement(_Row.default, null, _react.default.createElement("h3", null, "Log in to an existing channel:"), _react.default.createElement(_ChannelLoginForm.default, null)), _react.default.createElement(_Row.default, null, _react.default.createElement("h3", null, "Create a brand new channel:"), _react.default.createElement(_ChannelCreateForm.default, null))); -}; - -var _default = ChannelTools; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChooseAnonymousPublishRadio/index.js b/client/build/components/ChooseAnonymousPublishRadio/index.js deleted file mode 100644 index 69cb4e99..00000000 --- a/client/build/components/ChooseAnonymousPublishRadio/index.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChooseAnonymousPublishRadio = function ChooseAnonymousPublishRadio(_ref) { - var publishInChannel = _ref.publishInChannel, - toggleAnonymousPublish = _ref.toggleAnonymousPublish; - return _react.default.createElement("div", null, _react.default.createElement("input", { - type: "radio", - name: "anonymous-or-channel", - id: "anonymous-radio", - className: "input-radio", - value: "anonymous", - checked: !publishInChannel, - onChange: toggleAnonymousPublish - }), _react.default.createElement("label", { - className: "label-radio", - htmlFor: "anonymous-radio" - }, "Anonymous")); -}; - -var _default = ChooseAnonymousPublishRadio; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ChooseChannelPublishRadio/index.js b/client/build/components/ChooseChannelPublishRadio/index.js deleted file mode 100644 index 11936b8d..00000000 --- a/client/build/components/ChooseChannelPublishRadio/index.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var ChooseChannelPublishRadio = function ChooseChannelPublishRadio(_ref) { - var publishInChannel = _ref.publishInChannel, - toggleAnonymousPublish = _ref.toggleAnonymousPublish; - return _react.default.createElement("div", null, _react.default.createElement("input", { - type: "radio", - name: "anonymous-or-channel", - id: "channel-radio", - className: "input-radio", - value: "in a channel", - checked: publishInChannel, - onChange: toggleAnonymousPublish - }), _react.default.createElement("label", { - className: "label-radio", - htmlFor: "channel-radio" - }, "In a channel")); -}; - -var _default = ChooseChannelPublishRadio; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ClickToCopy/index.js b/client/build/components/ClickToCopy/index.js deleted file mode 100644 index 0c0b93e5..00000000 --- a/client/build/components/ClickToCopy/index.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var ClickToCopy = -/*#__PURE__*/ -function (_React$Component) { - function ClickToCopy(props) { - var _this; - - _classCallCheck(this, ClickToCopy); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(ClickToCopy).call(this, props)); - _this.copyToClipboard = _this.copyToClipboard.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(ClickToCopy, [{ - key: "copyToClipboard", - value: function copyToClipboard(event) { - var elementToCopy = event.target.id; - var element = document.getElementById(elementToCopy); - element.select(); - - try { - document.execCommand('copy'); - } catch (err) { - this.setState({ - error: 'Oops, unable to copy' - }); - } - } - }, { - key: "render", - value: function render() { - var _this$props = this.props, - id = _this$props.id, - value = _this$props.value; - return _react.default.createElement("input", { - id: id, - value: value, - onClick: this.copyToClipboard, - type: "text", - className: "click-to-copy", - readOnly: true, - spellCheck: "false" - }); - } - }]); - - _inherits(ClickToCopy, _React$Component); - - return ClickToCopy; -}(_react.default.Component); - -var _default = ClickToCopy; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/Column/index.js b/client/build/components/Column/index.js deleted file mode 100644 index 93d11a6a..00000000 --- a/client/build/components/Column/index.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var Column = -/*#__PURE__*/ -function (_React$Component) { - function Column() { - _classCallCheck(this, Column); - - return _possibleConstructorReturn(this, _getPrototypeOf(Column).apply(this, arguments)); - } - - _createClass(Column, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'column' - }, this.props.children); - } - }]); - - _inherits(Column, _React$Component); - - return Column; -}(_react.default.Component); - -var _default = Column; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/DropzoneDropItDisplay/index.js b/client/build/components/DropzoneDropItDisplay/index.js deleted file mode 100644 index 859e2c62..00000000 --- a/client/build/components/DropzoneDropItDisplay/index.js +++ /dev/null @@ -1,21 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var DropzoneDropItDisplay = function DropzoneDropItDisplay() { - return _react.default.createElement("div", { - className: 'dropzone-dropit-display' - }, _react.default.createElement("p", { - className: 'text--interactive' - }, "Drop it.")); -}; - -var _default = DropzoneDropItDisplay; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/DropzoneInstructionsDisplay/index.js b/client/build/components/DropzoneInstructionsDisplay/index.js deleted file mode 100644 index fdaec59e..00000000 --- a/client/build/components/DropzoneInstructionsDisplay/index.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _FormFeedbackDisplay = _interopRequireDefault(require("@components/FormFeedbackDisplay")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var DropzoneInstructionsDisplay = function DropzoneInstructionsDisplay(_ref) { - var fileError = _ref.fileError; - return _react.default.createElement("div", { - className: 'dropzone-instructions-display' - }, _react.default.createElement("p", { - className: 'text--large' - }, "Drag & drop image or video here to publish"), _react.default.createElement("p", { - className: 'text--small' - }, "OR"), _react.default.createElement("p", { - className: 'text--large text--underline' - }, "CHOOSE FILE"), _react.default.createElement(_FormFeedbackDisplay.default, { - errorMessage: fileError, - defaultMessage: false - })); -}; - -var _default = DropzoneInstructionsDisplay; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/DropzonePreviewImage/index.js b/client/build/components/DropzonePreviewImage/index.js deleted file mode 100644 index ef4efa91..00000000 --- a/client/build/components/DropzonePreviewImage/index.js +++ /dev/null @@ -1,122 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var PublishPreview = -/*#__PURE__*/ -function (_React$Component) { - function PublishPreview(props) { - var _this; - - _classCallCheck(this, PublishPreview); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(PublishPreview).call(this, props)); - _this.state = { - imgSource: '', - defaultThumbnail: '/assets/img/video_thumb_default.png' - }; - return _this; - } - - _createClass(PublishPreview, [{ - key: "componentDidMount", - value: function componentDidMount() { - this.setPreviewImageSource(this.props.file); - } - }, { - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(newProps) { - if (newProps.file !== this.props.file) { - this.setPreviewImageSource(newProps.file); - } - - if (newProps.thumbnail !== this.props.thumbnail) { - if (newProps.thumbnail) { - this.setPreviewImageSourceFromFile(newProps.thumbnail); - } else { - this.setState({ - imgSource: this.state.defaultThumbnail - }); - } - } - } - }, { - key: "setPreviewImageSourceFromFile", - value: function setPreviewImageSourceFromFile(file) { - var _this2 = this; - - var previewReader = new FileReader(); - previewReader.readAsDataURL(file); - - previewReader.onloadend = function () { - _this2.setState({ - imgSource: previewReader.result - }); - }; - } - }, { - key: "setPreviewImageSource", - value: function setPreviewImageSource(file) { - if (file.type !== 'video/mp4') { - this.setPreviewImageSourceFromFile(file); - } else { - if (this.props.thumbnail) { - this.setPreviewImageSourceFromFile(this.props.thumbnail); - } - - this.setState({ - imgSource: this.state.defaultThumbnail - }); - } - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("img", { - src: this.state.imgSource, - className: 'dropzone-preview-image ' + (this.props.dimPreview ? 'publish-preview-dim' : ''), - alt: "publish preview" - }); - } - }]); - - _inherits(PublishPreview, _React$Component); - - return PublishPreview; -}(_react.default.Component); - -; -PublishPreview.propTypes = { - dimPreview: _propTypes.default.bool.isRequired, - file: _propTypes.default.object.isRequired, - thumbnail: _propTypes.default.object -}; -var _default = PublishPreview; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/ExpandingTextArea/index.js b/client/build/components/ExpandingTextArea/index.js deleted file mode 100644 index f5a074dc..00000000 --- a/client/build/components/ExpandingTextArea/index.js +++ /dev/null @@ -1,94 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireWildcard(require("react")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var ExpandingTextarea = -/*#__PURE__*/ -function (_Component) { - function ExpandingTextarea(props) { - var _this; - - _classCallCheck(this, ExpandingTextarea); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(ExpandingTextarea).call(this, props)); - _this._handleChange = _this._handleChange.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(ExpandingTextarea, [{ - key: "componentDidMount", - value: function componentDidMount() { - this.adjustTextarea({}); - } - }, { - key: "_handleChange", - value: function _handleChange(event) { - var onChange = this.props.onChange; - if (onChange) onChange(event); - this.adjustTextarea(event); - } - }, { - key: "adjustTextarea", - value: function adjustTextarea(_ref) { - var _ref$target = _ref.target, - target = _ref$target === void 0 ? this.el : _ref$target; - target.style.height = 0; - target.style.height = "".concat(target.scrollHeight, "px"); - } - }, { - key: "render", - value: function render() { - var _this2 = this; - - var rest = _extends({}, this.props); - - return _react.default.createElement("textarea", _extends({}, rest, { - ref: function ref(x) { - return _this2.el = x; - }, - onChange: this._handleChange - })); - } - }]); - - _inherits(ExpandingTextarea, _Component); - - return ExpandingTextarea; -}(_react.Component); - -ExpandingTextarea.propTypes = { - onChange: _propTypes.default.func -}; -var _default = ExpandingTextarea; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/FormFeedbackDisplay/index.js b/client/build/components/FormFeedbackDisplay/index.js deleted file mode 100644 index 8f476dee..00000000 --- a/client/build/components/FormFeedbackDisplay/index.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var FormFeedbackDisplay = function FormFeedbackDisplay(_ref) { - var errorMessage = _ref.errorMessage, - defaultMessage = _ref.defaultMessage; - return _react.default.createElement("div", { - className: 'form-feedback' - }, errorMessage ? _react.default.createElement("p", { - className: 'text--small text--failure' - }, errorMessage) : _react.default.createElement("div", null, defaultMessage ? _react.default.createElement("p", { - className: 'text--small text--secondary' - }, defaultMessage) : _react.default.createElement("p", { - className: 'text--small' - }, "\xA0"))); -}; - -var _default = FormFeedbackDisplay; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/GAListener/index.js b/client/build/components/GAListener/index.js deleted file mode 100644 index 2e5d81bd..00000000 --- a/client/build/components/GAListener/index.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactGa = _interopRequireDefault(require("react-ga")); - -var _reactRouterDom = require("react-router-dom"); - -var _siteConfig = _interopRequireDefault(require("@config/siteConfig.json")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var googleId = null; - -if (_siteConfig.default && _siteConfig.default.analytics) { - googleId = _siteConfig.default.analytics.googleId; -} - -if (googleId) { - _reactGa.default.initialize(googleId); -} - -var GAListener = -/*#__PURE__*/ -function (_React$Component) { - function GAListener() { - _classCallCheck(this, GAListener); - - return _possibleConstructorReturn(this, _getPrototypeOf(GAListener).apply(this, arguments)); - } - - _createClass(GAListener, [{ - key: "componentDidMount", - value: function componentDidMount() { - this.sendPageView(this.props.history.location); - this.props.history.listen(this.sendPageView); - } - }, { - key: "sendPageView", - value: function sendPageView(location) { - if (googleId) { - _reactGa.default.set({ - page: location.pathname - }); - - _reactGa.default.pageview(location.pathname); - } - } - }, { - key: "render", - value: function render() { - return this.props.children; - } - }]); - - _inherits(GAListener, _React$Component); - - return GAListener; -}(_react.default.Component); - -var _default = (0, _reactRouterDom.withRouter)(GAListener); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/HorizontalQuadSplit/index.js b/client/build/components/HorizontalQuadSplit/index.js deleted file mode 100644 index 54350aeb..00000000 --- a/client/build/components/HorizontalQuadSplit/index.js +++ /dev/null @@ -1,68 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var HorizontalTriSplit = -/*#__PURE__*/ -function (_React$Component) { - function HorizontalTriSplit() { - _classCallCheck(this, HorizontalTriSplit); - - return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalTriSplit).apply(this, arguments)); - } - - _createClass(HorizontalTriSplit, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'horizontal-quad-split' - }, _react.default.createElement("div", { - className: 'left-side' - }, _react.default.createElement("div", { - className: 'column-a' - }, _react.default.createElement(_Row.default, null, this.props.columnA)), _react.default.createElement("div", { - className: 'column-b' - }, _react.default.createElement(_Row.default, null, this.props.columnB))), _react.default.createElement("div", { - className: 'right-side' - }, _react.default.createElement("div", { - className: 'column-c' - }, _react.default.createElement(_Row.default, null, this.props.columnC)), _react.default.createElement("div", { - className: 'column-d' - }, _react.default.createElement(_Row.default, null, this.props.columnD)))); - } - }]); - - _inherits(HorizontalTriSplit, _React$Component); - - return HorizontalTriSplit; -}(_react.default.Component); - -var _default = HorizontalTriSplit; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/HorizontalSplit/index.js b/client/build/components/HorizontalSplit/index.js deleted file mode 100644 index 3e6198fa..00000000 --- a/client/build/components/HorizontalSplit/index.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var HorizontalSplit = -/*#__PURE__*/ -function (_React$Component) { - function HorizontalSplit() { - _classCallCheck(this, HorizontalSplit); - - return _possibleConstructorReturn(this, _getPrototypeOf(HorizontalSplit).apply(this, arguments)); - } - - _createClass(HorizontalSplit, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'horizontal-split' - }, _react.default.createElement("div", { - className: 'column' - }, this.props.leftSide), _react.default.createElement("div", { - className: 'column' - }, this.props.rightSide)); - } - }]); - - _inherits(HorizontalSplit, _React$Component); - - return HorizontalSplit; -}(_react.default.Component); - -var _default = HorizontalSplit; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/InactiveStatusBar/index.js b/client/build/components/InactiveStatusBar/index.js deleted file mode 100644 index 9fe4aa51..00000000 --- a/client/build/components/InactiveStatusBar/index.js +++ /dev/null @@ -1,19 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var InactiveStatusBar = function InactiveStatusBar() { - return _react.default.createElement("span", { - className: "progress-bar--inactive" - }, "| "); -}; - -var _default = InactiveStatusBar; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/Label/index.js b/client/build/components/Label/index.js deleted file mode 100644 index 7cbd6cc2..00000000 --- a/client/build/components/Label/index.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var Label = function Label(_ref) { - var value = _ref.value; - return _react.default.createElement("label", { - className: "label" - }, value); -}; - -var _default = Label; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/Logo/index.js b/client/build/components/Logo/index.js deleted file mode 100644 index 95199487..00000000 --- a/client/build/components/Logo/index.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function Logo() { - return _react.default.createElement("svg", { - version: "1.1", - id: "Layer_1", - x: "0px", - y: "0px", - height: "24px", - viewBox: "0 0 80 31", - enableBackground: "new 0 0 80 31", - className: "nav-bar-logo" - }, _react.default.createElement(_reactRouterDom.Link, { - to: "/" - }, _react.default.createElement("title", null, "Logo"), _react.default.createElement("desc", null, "Spee.ch logo"), _react.default.createElement("g", { - id: "About" - }, _react.default.createElement("g", { - id: "Publish-Form-V2-_x28_filled_x29_", - transform: "translate(-42.000000, -23.000000)" - }, _react.default.createElement("g", { - id: "Group-17", - transform: "translate(42.000000, 22.000000)" - }, _react.default.createElement("text", { - transform: "matrix(1 0 0 1 0 20)", - fontSize: "25", - fontFamily: "Roboto" - }, "Spee this.props.size) { - incrementer = incrementer * -1; - index += incrementer; - } // update the indexed bar - - - if (incrementer > 0) { - bars[index].isActive = true; - } else { - bars[index].isActive = false; - } - - ; // increment index - - index += incrementer; // update state - - this.setState({ - bars: bars, - incrementer: incrementer, - index: index - }); - } - }, { - key: "stopProgressBar", - value: function stopProgressBar() { - clearInterval(this.updateInterval); - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("div", null, this.state.bars.map(function (bar, index) { - return bar.isActive ? _react.default.createElement(_ActiveStatusBar.default, { - key: index - }) : _react.default.createElement(_InactiveStatusBar.default, { - key: index - }); - })); - } - }]); - - _inherits(ProgressBar, _React$Component); - - return ProgressBar; -}(_react.default.Component); - -; -ProgressBar.propTypes = { - size: _propTypes.default.number.isRequired -}; -var _default = ProgressBar; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishDescriptionInput/index.js b/client/build/components/PublishDescriptionInput/index.js deleted file mode 100644 index 23478626..00000000 --- a/client/build/components/PublishDescriptionInput/index.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -var _ExpandingTextArea = _interopRequireDefault(require("@components/ExpandingTextArea")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var PublishDescriptionInput = function PublishDescriptionInput(_ref) { - var description = _ref.description, - handleInput = _ref.handleInput; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Description:' - }), - content: _react.default.createElement(_ExpandingTextArea.default, { - id: "publish-description", - className: "textarea textarea--primary textarea--full-width", - rows: 1, - maxLength: 2000, - style: { - maxHeight: 200 - }, - name: "description", - placeholder: "Optional description", - value: description, - onChange: handleInput - }) - }); -}; - -var _default = PublishDescriptionInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishDetailsRow/index.js b/client/build/components/PublishDetailsRow/index.js deleted file mode 100644 index aca80450..00000000 --- a/client/build/components/PublishDetailsRow/index.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var RowLabeled = -/*#__PURE__*/ -function (_React$Component) { - function RowLabeled() { - _classCallCheck(this, RowLabeled); - - return _possibleConstructorReturn(this, _getPrototypeOf(RowLabeled).apply(this, arguments)); - } - - _createClass(RowLabeled, [{ - key: "render", - value: function render() { - return _react.default.createElement(_Row.default, null, _react.default.createElement("div", { - className: 'publish-details-row' - }, _react.default.createElement("div", { - className: 'publish-details-label' - }, this.props.label), _react.default.createElement("div", { - className: 'publish-details-content' - }, this.props.content))); - } - }]); - - _inherits(RowLabeled, _React$Component); - - return RowLabeled; -}(_react.default.Component); - -var _default = RowLabeled; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishFinePrint/index.js b/client/build/components/PublishFinePrint/index.js deleted file mode 100644 index 4146ec23..00000000 --- a/client/build/components/PublishFinePrint/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var PublishFinePrint = function PublishFinePrint() { - return _react.default.createElement("p", { - className: 'text--extra-small text--secondary' - }, "By clicking 'Publish', you affirm that you have the rights to publish this content to the LBRY network, and that you understand the properties of publishing it to a decentralized, user-controlled network. ", _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: "https://lbry.io/learn" - }, "Read more.")); -}; - -var _default = PublishFinePrint; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishLicenseInput/index.js b/client/build/components/PublishLicenseInput/index.js deleted file mode 100644 index f0710c51..00000000 --- a/client/build/components/PublishLicenseInput/index.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var PublishLicenseInput = function PublishLicenseInput(_ref) { - var handleSelect = _ref.handleSelect; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'License:' - }), - content: _react.default.createElement("select", { - type: "text", - name: "license", - id: "publish-license", - className: "select select--primary", - onChange: handleSelect - }, _react.default.createElement("option", { - value: " " - }, "Unspecified"), _react.default.createElement("option", { - value: "Public Domain" - }, "Public Domain"), _react.default.createElement("option", { - value: "Creative Commons" - }, "Creative Commons")) - }); -}; - -var _default = PublishLicenseInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishNsfwInput/index.js b/client/build/components/PublishNsfwInput/index.js deleted file mode 100644 index 4120fba8..00000000 --- a/client/build/components/PublishNsfwInput/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var PublishNsfwInput = function PublishNsfwInput(_ref) { - var nsfw = _ref.nsfw, - handleInput = _ref.handleInput; - return _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Mature:' - }), - content: _react.default.createElement("input", { - className: "input-checkbox", - type: "checkbox", - id: "publish-nsfw", - name: "nsfw", - value: nsfw, - onChange: handleInput - }) - }); -}; - -var _default = PublishNsfwInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishPreview/index.js b/client/build/components/PublishPreview/index.js deleted file mode 100644 index d604c34f..00000000 --- a/client/build/components/PublishPreview/index.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _HorizontalSplit = _interopRequireDefault(require("@components/HorizontalSplit")); - -var _Dropzone = _interopRequireDefault(require("@containers/Dropzone")); - -var _PublishDetails = _interopRequireDefault(require("@containers/PublishDetails")); - -var _PublishTitleInput = _interopRequireDefault(require("@containers/PublishTitleInput")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var PublishPreview = -/*#__PURE__*/ -function (_React$Component) { - function PublishPreview() { - _classCallCheck(this, PublishPreview); - - return _possibleConstructorReturn(this, _getPrototypeOf(PublishPreview).apply(this, arguments)); - } - - _createClass(PublishPreview, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", null, _react.default.createElement(_Row.default, null, _react.default.createElement(_PublishTitleInput.default, null)), _react.default.createElement(_HorizontalSplit.default, { - leftSide: _react.default.createElement(_Dropzone.default, null), - rightSide: _react.default.createElement(_PublishDetails.default, null) - })); - } - }]); - - _inherits(PublishPreview, _React$Component); - - return PublishPreview; -}(_react.default.Component); - -; -var _default = PublishPreview; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/PublishUrlMiddleDisplay/index.js b/client/build/components/PublishUrlMiddleDisplay/index.js deleted file mode 100644 index a89e2a17..00000000 --- a/client/build/components/PublishUrlMiddleDisplay/index.js +++ /dev/null @@ -1,50 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function UrlMiddle(_ref) { - var publishInChannel = _ref.publishInChannel, - selectedChannel = _ref.selectedChannel, - loggedInChannelName = _ref.loggedInChannelName, - loggedInChannelShortId = _ref.loggedInChannelShortId; - - if (publishInChannel) { - if (selectedChannel === loggedInChannelName) { - return _react.default.createElement("span", { - id: "url-channel", - className: "publish-url-text" - }, loggedInChannelName, ":", loggedInChannelShortId, " /"); - } - - return _react.default.createElement("span", { - id: "url-channel-placeholder", - className: "publish-url-text tooltip" - }, "@channel", _react.default.createElement("span", { - className: "tooltip-text" - }, "Select a channel below"), " /"); - } - - return _react.default.createElement("span", { - id: "url-no-channel-placeholder", - className: "publish-url-text tooltip" - }, "xyz", _react.default.createElement("span", { - className: "tooltip-text" - }, "This will be a random id"), " /"); -} - -UrlMiddle.propTypes = { - publishInChannel: _propTypes.default.bool.isRequired, - loggedInChannelName: _propTypes.default.string, - loggedInChannelShortId: _propTypes.default.string -}; -var _default = UrlMiddle; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/Row/index.js b/client/build/components/Row/index.js deleted file mode 100644 index 83af000b..00000000 --- a/client/build/components/Row/index.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var Row = -/*#__PURE__*/ -function (_React$Component) { - function Row() { - _classCallCheck(this, Row); - - return _possibleConstructorReturn(this, _getPrototypeOf(Row).apply(this, arguments)); - } - - _createClass(Row, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'row' - }, this.props.children); - } - }]); - - _inherits(Row, _React$Component); - - return Row; -}(_react.default.Component); - -var _default = Row; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/RowLabeled/index.js b/client/build/components/RowLabeled/index.js deleted file mode 100644 index fc612acf..00000000 --- a/client/build/components/RowLabeled/index.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var RowLabeled = -/*#__PURE__*/ -function (_React$Component) { - function RowLabeled() { - _classCallCheck(this, RowLabeled); - - return _possibleConstructorReturn(this, _getPrototypeOf(RowLabeled).apply(this, arguments)); - } - - _createClass(RowLabeled, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'row-labeled' - }, _react.default.createElement("div", { - className: 'row-labeled-label' - }, this.props.label), _react.default.createElement("div", { - className: 'row-labeled-content' - }, this.props.content)); - } - }]); - - _inherits(RowLabeled, _React$Component); - - return RowLabeled; -}(_react.default.Component); - -var _default = RowLabeled; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/SpaceAround/index.js b/client/build/components/SpaceAround/index.js deleted file mode 100644 index 482db9ad..00000000 --- a/client/build/components/SpaceAround/index.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var SpaceAround = -/*#__PURE__*/ -function (_React$Component) { - function SpaceAround() { - _classCallCheck(this, SpaceAround); - - return _possibleConstructorReturn(this, _getPrototypeOf(SpaceAround).apply(this, arguments)); - } - - _createClass(SpaceAround, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'space-around' - }, this.props.children); - } - }]); - - _inherits(SpaceAround, _React$Component); - - return SpaceAround; -}(_react.default.Component); - -var _default = SpaceAround; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/SpaceBetween/index.js b/client/build/components/SpaceBetween/index.js deleted file mode 100644 index 28713c63..00000000 --- a/client/build/components/SpaceBetween/index.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var SpaceBetween = -/*#__PURE__*/ -function (_React$Component) { - function SpaceBetween() { - _classCallCheck(this, SpaceBetween); - - return _possibleConstructorReturn(this, _getPrototypeOf(SpaceBetween).apply(this, arguments)); - } - - _createClass(SpaceBetween, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'space-between' - }, this.props.children); - } - }]); - - _inherits(SpaceBetween, _React$Component); - - return SpaceBetween; -}(_react.default.Component); - -var _default = SpaceBetween; -exports.default = _default; \ No newline at end of file diff --git a/client/build/components/VerticalSplit/index.js b/client/build/components/VerticalSplit/index.js deleted file mode 100644 index 8273f8c7..00000000 --- a/client/build/components/VerticalSplit/index.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var VerticalSplit = -/*#__PURE__*/ -function (_React$Component) { - function VerticalSplit() { - _classCallCheck(this, VerticalSplit); - - return _possibleConstructorReturn(this, _getPrototypeOf(VerticalSplit).apply(this, arguments)); - } - - _createClass(VerticalSplit, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'vertical-split' - }, this.props.top, this.props.bottom); - } - }]); - - _inherits(VerticalSplit, _React$Component); - - return VerticalSplit; -}(_react.default.Component); - -var _default = VerticalSplit; -exports.default = _default; \ No newline at end of file diff --git a/client/build/constants/asset_display_states.js b/client/build/constants/asset_display_states.js deleted file mode 100644 index c74d7451..00000000 --- a/client/build/constants/asset_display_states.js +++ /dev/null @@ -1,14 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.AVAILABLE = exports.ERROR = exports.UNAVAILABLE = exports.LOCAL_CHECK = void 0; -var LOCAL_CHECK = 'LOCAL_CHECK'; -exports.LOCAL_CHECK = LOCAL_CHECK; -var UNAVAILABLE = 'UNAVAILABLE'; -exports.UNAVAILABLE = UNAVAILABLE; -var ERROR = 'ERROR'; -exports.ERROR = ERROR; -var AVAILABLE = 'AVAILABLE'; -exports.AVAILABLE = AVAILABLE; \ No newline at end of file diff --git a/client/build/constants/channel_action_types.js b/client/build/constants/channel_action_types.js deleted file mode 100644 index f5763d7d..00000000 --- a/client/build/constants/channel_action_types.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CHANNEL_LOGOUT = exports.CHANNEL_LOGIN_CHECK = exports.CHANNEL_UPDATE = void 0; -var CHANNEL_UPDATE = 'CHANNEL_UPDATE'; -exports.CHANNEL_UPDATE = CHANNEL_UPDATE; -var CHANNEL_LOGIN_CHECK = 'CHANNEL_LOGIN_CHECK'; -exports.CHANNEL_LOGIN_CHECK = CHANNEL_LOGIN_CHECK; -var CHANNEL_LOGOUT = 'CHANNEL_LOGOUT'; -exports.CHANNEL_LOGOUT = CHANNEL_LOGOUT; \ No newline at end of file diff --git a/client/build/constants/channel_create_action_types.js b/client/build/constants/channel_create_action_types.js deleted file mode 100644 index 1ced1d4c..00000000 --- a/client/build/constants/channel_create_action_types.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CHANNEL_CREATE = exports.CHANNEL_AVAILABILITY = exports.CHANNEL_CREATE_UPDATE_STATUS = exports.CHANNEL_CREATE_UPDATE_PASSWORD = exports.CHANNEL_CREATE_UPDATE_NAME = void 0; -var CHANNEL_CREATE_UPDATE_NAME = 'CHANNEL_CREATE_UPDATE_NAME'; -exports.CHANNEL_CREATE_UPDATE_NAME = CHANNEL_CREATE_UPDATE_NAME; -var CHANNEL_CREATE_UPDATE_PASSWORD = 'CHANNEL_CREATE_UPDATE_PASSWORD'; -exports.CHANNEL_CREATE_UPDATE_PASSWORD = CHANNEL_CREATE_UPDATE_PASSWORD; -var CHANNEL_CREATE_UPDATE_STATUS = 'CHANNEL_CREATE_UPDATE_STATUS'; -exports.CHANNEL_CREATE_UPDATE_STATUS = CHANNEL_CREATE_UPDATE_STATUS; -var CHANNEL_AVAILABILITY = 'CHANNEL_AVAILABILITY'; -exports.CHANNEL_AVAILABILITY = CHANNEL_AVAILABILITY; -var CHANNEL_CREATE = 'CHANNEL_CREATE'; -exports.CHANNEL_CREATE = CHANNEL_CREATE; \ No newline at end of file diff --git a/client/build/constants/publish_action_types.js b/client/build/constants/publish_action_types.js deleted file mode 100644 index 73a49439..00000000 --- a/client/build/constants/publish_action_types.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CLAIM_AVAILABILITY = exports.PUBLISH_START = exports.THUMBNAIL_NEW = exports.TOGGLE_METADATA_INPUTS = exports.SELECTED_CHANNEL_UPDATE = exports.ERROR_UPDATE = exports.PUBLISH_STATUS_UPDATE = exports.SET_PUBLISH_IN_CHANNEL = exports.CLAIM_UPDATE = exports.METADATA_UPDATE = exports.FILE_CLEAR = exports.FILE_SELECTED = void 0; -var FILE_SELECTED = 'FILE_SELECTED'; -exports.FILE_SELECTED = FILE_SELECTED; -var FILE_CLEAR = 'FILE_CLEAR'; -exports.FILE_CLEAR = FILE_CLEAR; -var METADATA_UPDATE = 'METADATA_UPDATE'; -exports.METADATA_UPDATE = METADATA_UPDATE; -var CLAIM_UPDATE = 'CLAIM_UPDATE'; -exports.CLAIM_UPDATE = CLAIM_UPDATE; -var SET_PUBLISH_IN_CHANNEL = 'SET_PUBLISH_IN_CHANNEL'; -exports.SET_PUBLISH_IN_CHANNEL = SET_PUBLISH_IN_CHANNEL; -var PUBLISH_STATUS_UPDATE = 'PUBLISH_STATUS_UPDATE'; -exports.PUBLISH_STATUS_UPDATE = PUBLISH_STATUS_UPDATE; -var ERROR_UPDATE = 'ERROR_UPDATE'; -exports.ERROR_UPDATE = ERROR_UPDATE; -var SELECTED_CHANNEL_UPDATE = 'SELECTED_CHANNEL_UPDATE'; -exports.SELECTED_CHANNEL_UPDATE = SELECTED_CHANNEL_UPDATE; -var TOGGLE_METADATA_INPUTS = 'TOGGLE_METADATA_INPUTS'; -exports.TOGGLE_METADATA_INPUTS = TOGGLE_METADATA_INPUTS; -var THUMBNAIL_NEW = 'THUMBNAIL_NEW'; -exports.THUMBNAIL_NEW = THUMBNAIL_NEW; -var PUBLISH_START = 'PUBLISH_START'; -exports.PUBLISH_START = PUBLISH_START; -var CLAIM_AVAILABILITY = 'CLAIM_AVAILABILITY'; -exports.CLAIM_AVAILABILITY = CLAIM_AVAILABILITY; \ No newline at end of file diff --git a/client/build/constants/publish_channel_select_states.js b/client/build/constants/publish_channel_select_states.js deleted file mode 100644 index e4409f41..00000000 --- a/client/build/constants/publish_channel_select_states.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.CREATE = exports.LOGIN = void 0; -var LOGIN = 'Existing'; -exports.LOGIN = LOGIN; -var CREATE = 'New'; -exports.CREATE = CREATE; \ No newline at end of file diff --git a/client/build/constants/publish_claim_states.js b/client/build/constants/publish_claim_states.js deleted file mode 100644 index 09ed9f9d..00000000 --- a/client/build/constants/publish_claim_states.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.FAILED = exports.SUCCESS = exports.PUBLISHING = exports.LOADING = exports.LOAD_START = void 0; -var LOAD_START = 'LOAD_START'; -exports.LOAD_START = LOAD_START; -var LOADING = 'LOADING'; -exports.LOADING = LOADING; -var PUBLISHING = 'PUBLISHING'; -exports.PUBLISHING = PUBLISHING; -var SUCCESS = 'SUCCESS'; -exports.SUCCESS = SUCCESS; -var FAILED = 'FAILED'; -exports.FAILED = FAILED; \ No newline at end of file diff --git a/client/build/constants/show_action_types.js b/client/build/constants/show_action_types.js deleted file mode 100644 index 201d6729..00000000 --- a/client/build/constants/show_action_types.js +++ /dev/null @@ -1,36 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.DISPLAY_ASSET_ERROR = exports.FILE_AVAILABILITY_UPDATE = exports.FILE_REQUESTED = exports.CHANNEL_CLAIMS_UPDATE_SUCCESS = exports.CHANNEL_CLAIMS_UPDATE_ASYNC = exports.CHANNEL_ADD = exports.ASSET_ADD = exports.REQUEST_LIST_ADD = exports.CHANNEL_REQUEST_NEW = exports.ASSET_REQUEST_NEW = exports.REQUEST_UPDATE = exports.REQUEST_ERROR = exports.HANDLE_SHOW_URI = void 0; -// request actions -var HANDLE_SHOW_URI = 'HANDLE_SHOW_URI'; -exports.HANDLE_SHOW_URI = HANDLE_SHOW_URI; -var REQUEST_ERROR = 'REQUEST_ERROR'; -exports.REQUEST_ERROR = REQUEST_ERROR; -var REQUEST_UPDATE = 'REQUEST_UPDATE'; -exports.REQUEST_UPDATE = REQUEST_UPDATE; -var ASSET_REQUEST_NEW = 'ASSET_REQUEST_NEW'; -exports.ASSET_REQUEST_NEW = ASSET_REQUEST_NEW; -var CHANNEL_REQUEST_NEW = 'CHANNEL_REQUEST_NEW'; -exports.CHANNEL_REQUEST_NEW = CHANNEL_REQUEST_NEW; -var REQUEST_LIST_ADD = 'REQUEST_LIST_ADD'; // asset actions - -exports.REQUEST_LIST_ADD = REQUEST_LIST_ADD; -var ASSET_ADD = "ASSET_ADD"; // channel actions - -exports.ASSET_ADD = ASSET_ADD; -var CHANNEL_ADD = 'CHANNEL_ADD'; -exports.CHANNEL_ADD = CHANNEL_ADD; -var CHANNEL_CLAIMS_UPDATE_ASYNC = 'CHANNEL_CLAIMS_UPDATE_ASYNC'; -exports.CHANNEL_CLAIMS_UPDATE_ASYNC = CHANNEL_CLAIMS_UPDATE_ASYNC; -var CHANNEL_CLAIMS_UPDATE_SUCCESS = 'CHANNEL_CLAIMS_UPDATE_SUCCESS'; // asset/file display actions - -exports.CHANNEL_CLAIMS_UPDATE_SUCCESS = CHANNEL_CLAIMS_UPDATE_SUCCESS; -var FILE_REQUESTED = 'FILE_REQUESTED'; -exports.FILE_REQUESTED = FILE_REQUESTED; -var FILE_AVAILABILITY_UPDATE = 'FILE_AVAILABILITY_UPDATE'; -exports.FILE_AVAILABILITY_UPDATE = FILE_AVAILABILITY_UPDATE; -var DISPLAY_ASSET_ERROR = 'DISPLAY_ASSET_ERROR'; -exports.DISPLAY_ASSET_ERROR = DISPLAY_ASSET_ERROR; \ No newline at end of file diff --git a/client/build/constants/show_request_types.js b/client/build/constants/show_request_types.js deleted file mode 100644 index d2e764c4..00000000 --- a/client/build/constants/show_request_types.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.ASSET_DETAILS = exports.ASSET_LITE = exports.CHANNEL = void 0; -var CHANNEL = 'CHANNEL'; -exports.CHANNEL = CHANNEL; -var ASSET_LITE = 'ASSET_LITE'; -exports.ASSET_LITE = ASSET_LITE; -var ASSET_DETAILS = 'ASSET_DETAILS'; -exports.ASSET_DETAILS = ASSET_DETAILS; \ No newline at end of file diff --git a/client/build/containers/AssetDisplay/index.js b/client/build/containers/AssetDisplay/index.js deleted file mode 100644 index fee6361c..00000000 --- a/client/build/containers/AssetDisplay/index.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -var _show = require("../../actions/show"); - -var _show2 = require("../../selectors/show"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - // select error and status - var error = show.displayAsset.error; - var status = show.displayAsset.status; // select asset - - var asset = (0, _show2.selectAsset)(show); // return props - - return { - error: error, - status: status, - asset: asset - }; -}; - -var mapDispatchToProps = function mapDispatchToProps(dispatch) { - return { - onFileRequest: function onFileRequest(name, claimId) { - dispatch((0, _show.fileRequested)(name, claimId)); - } - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/AssetDisplay/view.js b/client/build/containers/AssetDisplay/view.js deleted file mode 100644 index f034edf7..00000000 --- a/client/build/containers/AssetDisplay/view.js +++ /dev/null @@ -1,112 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _ProgressBar = _interopRequireDefault(require("@components/ProgressBar")); - -var _asset_display_states = require("../../constants/asset_display_states"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var AssetDisplay = -/*#__PURE__*/ -function (_React$Component) { - function AssetDisplay() { - _classCallCheck(this, AssetDisplay); - - return _possibleConstructorReturn(this, _getPrototypeOf(AssetDisplay).apply(this, arguments)); - } - - _createClass(AssetDisplay, [{ - key: "componentDidMount", - value: function componentDidMount() { - var _this$props$asset$cla = this.props.asset.claimData, - name = _this$props$asset$cla.name, - claimId = _this$props$asset$cla.claimId; - this.props.onFileRequest(name, claimId); - } - }, { - key: "render", - value: function render() { - var _this$props = this.props, - status = _this$props.status, - error = _this$props.error, - _this$props$asset$cla2 = _this$props.asset.claimData, - name = _this$props$asset$cla2.name, - claimId = _this$props$asset$cla2.claimId, - contentType = _this$props$asset$cla2.contentType, - fileExt = _this$props$asset$cla2.fileExt, - thumbnail = _this$props$asset$cla2.thumbnail; - return _react.default.createElement("div", { - className: 'asset-display' - }, status === _asset_display_states.LOCAL_CHECK && _react.default.createElement("div", null, _react.default.createElement("p", null, "Checking to see if Spee.ch has your asset locally...")), status === _asset_display_states.UNAVAILABLE && _react.default.createElement("div", null, _react.default.createElement("p", null, "Sit tight, we're searching the LBRY blockchain for your asset!"), _react.default.createElement(_ProgressBar.default, { - size: 12 - }), _react.default.createElement("p", null, "Curious what magic is happening here? ", _react.default.createElement("a", { - className: "link--primary", - target: "blank", - href: "https://lbry.io/faq/what-is-lbry" - }, "Learn more."))), status === _asset_display_states.ERROR && _react.default.createElement("div", null, _react.default.createElement("p", null, "Unfortunately, we couldn't download your asset from LBRY. You can help us out by sharing the below error message in the ", _react.default.createElement("a", { - className: "link--primary", - href: "https://chat.lbry.io", - target: "_blank" - }, "LBRY discord"), "."), _react.default.createElement("i", null, _react.default.createElement("p", { - id: "error-message" - }, error))), status === _asset_display_states.AVAILABLE && function () { - switch (contentType) { - case 'image/jpeg': - case 'image/jpg': - case 'image/png': - case 'image/gif': - return _react.default.createElement("img", { - className: "asset-image", - src: "/".concat(claimId, "/").concat(name, ".").concat(fileExt), - alt: name - }); - - case 'video/mp4': - return _react.default.createElement("video", { - className: "asset-video", - controls: true, - poster: thumbnail - }, _react.default.createElement("source", { - src: "/".concat(claimId, "/").concat(name, ".").concat(fileExt) - }), _react.default.createElement("p", null, "Your browser does not support the ", _react.default.createElement("code", null, "video"), " element.")); - - default: - return _react.default.createElement("p", null, "Unsupported file type"); - } - }()); - } - }]); - - _inherits(AssetDisplay, _React$Component); - - return AssetDisplay; -}(_react.default.Component); - -; -var _default = AssetDisplay; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/AssetInfo/index.js b/client/build/containers/AssetInfo/index.js deleted file mode 100644 index 17345134..00000000 --- a/client/build/containers/AssetInfo/index.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -var _show = require("../../selectors/show"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - // select asset - var asset = (0, _show.selectAsset)(show); // return props - - return { - asset: asset - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/AssetInfo/view.js b/client/build/containers/AssetInfo/view.js deleted file mode 100644 index 55eefee1..00000000 --- a/client/build/containers/AssetInfo/view.js +++ /dev/null @@ -1,131 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -var _Label = _interopRequireDefault(require("@components/Label")); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -var _SpaceBetween = _interopRequireDefault(require("@components/SpaceBetween")); - -var _AssetShareButtons = _interopRequireDefault(require("@components/AssetShareButtons")); - -var _ClickToCopy = _interopRequireDefault(require("@components/ClickToCopy")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var AssetInfo = -/*#__PURE__*/ -function (_React$Component) { - function AssetInfo() { - _classCallCheck(this, AssetInfo); - - return _possibleConstructorReturn(this, _getPrototypeOf(AssetInfo).apply(this, arguments)); - } - - _createClass(AssetInfo, [{ - key: "render", - value: function render() { - var _this$props$asset = this.props.asset, - shortId = _this$props$asset.shortId, - _this$props$asset$cla = _this$props$asset.claimData, - channelName = _this$props$asset$cla.channelName, - certificateId = _this$props$asset$cla.certificateId, - description = _this$props$asset$cla.description, - name = _this$props$asset$cla.name, - claimId = _this$props$asset$cla.claimId, - fileExt = _this$props$asset$cla.fileExt, - contentType = _this$props$asset$cla.contentType, - thumbnail = _this$props$asset$cla.thumbnail, - host = _this$props$asset$cla.host; - return _react.default.createElement("div", null, channelName && _react.default.createElement(_Row.default, null, _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Channel:' - }), - content: _react.default.createElement("span", { - className: "text" - }, _react.default.createElement(_reactRouterDom.Link, { - to: "/".concat(channelName, ":").concat(certificateId) - }, channelName)) - })), _react.default.createElement(_Row.default, null, _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Share:' - }), - content: _react.default.createElement(_AssetShareButtons.default, { - host: host, - name: name, - shortId: shortId - }) - })), _react.default.createElement(_Row.default, null, _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Link:' - }), - content: _react.default.createElement(_ClickToCopy.default, { - id: 'short-link', - value: "".concat(host, "/").concat(shortId, "/").concat(name, ".").concat(fileExt) - }) - })), _react.default.createElement(_Row.default, null, _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Embed:' - }), - content: _react.default.createElement("div", null, contentType === 'video/mp4' ? _react.default.createElement(_ClickToCopy.default, { - id: 'embed-text-video', - value: "") - }) : _react.default.createElement(_ClickToCopy.default, { - id: 'embed-text-image', - value: "") - })) - })), _react.default.createElement(_Row.default, null, _react.default.createElement(_SpaceBetween.default, null, _react.default.createElement(_reactRouterDom.Link, { - className: "link--primary", - to: "/".concat(shortId, "/").concat(name, ".").concat(fileExt) - }, "Direct Link"), _react.default.createElement("a", { - className: 'link--primary', - href: "".concat(host, "/").concat(claimId, "/").concat(name, ".").concat(fileExt), - download: name - }, "Download"), _react.default.createElement("a", { - className: 'link--primary', - target: "_blank", - href: "https://lbry.io/dmca" - }, "Report"))), description && _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, description)), _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "Hosted via the ", _react.default.createElement("a", { - className: 'link--primary', - href: 'https://lbry.io/get', - target: '_blank' - }, "LBRY"), " blockchain"))); - } - }]); - - _inherits(AssetInfo, _React$Component); - - return AssetInfo; -}(_react.default.Component); - -; -var _default = AssetInfo; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/AssetTitle/index.js b/client/build/containers/AssetTitle/index.js deleted file mode 100644 index 39f79def..00000000 --- a/client/build/containers/AssetTitle/index.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -var _show = require("../../selectors/show"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - - var _selectAsset = (0, _show.selectAsset)(show), - title = _selectAsset.claimData.title; - - return { - title: title - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/AssetTitle/view.js b/client/build/containers/AssetTitle/view.js deleted file mode 100644 index 6981ae81..00000000 --- a/client/build/containers/AssetTitle/view.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var AssetTitle = function AssetTitle(_ref) { - var title = _ref.title; - return _react.default.createElement(_Row.default, null, _react.default.createElement("h3", null, title)); -}; - -var _default = AssetTitle; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelClaimsDisplay/index.js b/client/build/containers/ChannelClaimsDisplay/index.js deleted file mode 100644 index d85bda18..00000000 --- a/client/build/containers/ChannelClaimsDisplay/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _show = require("../../actions/show"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show, - defaultThumbnail = _ref.site.defaultThumbnail; - // select channel key - var request = show.requestList[show.request.id]; - var channelKey = request.key; // select channel claims - - var channel = show.channelList[channelKey] || null; // return props - - return { - channelKey: channelKey, - channel: channel, - defaultThumbnail: defaultThumbnail - }; -}; - -var mapDispatchToProps = { - onUpdateChannelClaims: _show.onUpdateChannelClaims -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelClaimsDisplay/view.js b/client/build/containers/ChannelClaimsDisplay/view.js deleted file mode 100644 index 83ce7a0f..00000000 --- a/client/build/containers/ChannelClaimsDisplay/view.js +++ /dev/null @@ -1,139 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _AssetPreview = _interopRequireDefault(require("@components/AssetPreview")); - -var _HorizontalQuadSplit = _interopRequireDefault(require("@components/HorizontalQuadSplit")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -var _ButtonSecondary = _interopRequireDefault(require("@components/ButtonSecondary")); - -var _createGroupedList = require("../../utils/createGroupedList.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var ChannelClaimsDisplay = -/*#__PURE__*/ -function (_React$Component) { - function ChannelClaimsDisplay(props) { - var _this; - - _classCallCheck(this, ChannelClaimsDisplay); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(ChannelClaimsDisplay).call(this, props)); - _this.showNextResultsPage = _this.showNextResultsPage.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.showPreviousResultsPage = _this.showPreviousResultsPage.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(ChannelClaimsDisplay, [{ - key: "showPreviousResultsPage", - value: function showPreviousResultsPage() { - var currentPage = this.props.channel.claimsData.currentPage; - var previousPage = parseInt(currentPage) - 1; - this.showNewPage(previousPage); - } - }, { - key: "showNextResultsPage", - value: function showNextResultsPage() { - var currentPage = this.props.channel.claimsData.currentPage; - var nextPage = parseInt(currentPage) + 1; - this.showNewPage(nextPage); - } - }, { - key: "showNewPage", - value: function showNewPage(page) { - var _this$props = this.props, - channelKey = _this$props.channelKey, - _this$props$channel = _this$props.channel, - name = _this$props$channel.name, - longId = _this$props$channel.longId; - this.props.onUpdateChannelClaims(channelKey, name, longId, page); - } - }, { - key: "render", - value: function render() { - var _this$props2 = this.props, - _this$props2$channel$ = _this$props2.channel.claimsData, - claims = _this$props2$channel$.claims, - currentPage = _this$props2$channel$.currentPage, - totalPages = _this$props2$channel$.totalPages, - defaultThumbnail = _this$props2.defaultThumbnail; - var groupedClaimsList = (0, _createGroupedList.createGroupedList)(claims, 4); - - if (claims.length > 0) { - return _react.default.createElement("div", { - className: 'channel-claims-display' - }, _react.default.createElement("div", null, groupedClaimsList.map(function (group, index) { - var itemA = group[0]; - var itemB = group[1]; - var itemC = group[2]; - var itemD = group[3]; - return _react.default.createElement(_HorizontalQuadSplit.default, { - key: "claims-row-".concat(index), - columnA: itemA && _react.default.createElement(_AssetPreview.default, { - defaultThumbnail: defaultThumbnail, - claimData: itemA, - key: "".concat(itemA.name, "-").concat(itemA.id) - }), - columnB: itemB && _react.default.createElement(_AssetPreview.default, { - defaultThumbnail: defaultThumbnail, - claimData: itemB, - key: "".concat(itemB.name, "-").concat(itemB.id) - }), - columnC: itemC && _react.default.createElement(_AssetPreview.default, { - defaultThumbnail: defaultThumbnail, - claimData: itemC, - key: "".concat(itemC.name, "-").concat(itemC.id) - }), - columnD: itemD && _react.default.createElement(_AssetPreview.default, { - defaultThumbnail: defaultThumbnail, - claimData: itemD, - key: "".concat(itemD.name, "-").concat(itemD.id) - }) - }); - })), _react.default.createElement(_Row.default, null, currentPage > 1 && _react.default.createElement(_ButtonSecondary.default, { - value: 'Previous Page', - onClickHandler: this.showPreviousResultsPage - }), currentPage < totalPages && _react.default.createElement(_ButtonSecondary.default, { - value: 'Next Page', - onClickHandler: this.showNextResultsPage - }))); - } else { - return _react.default.createElement("p", null, "There are no claims in this channel"); - } - } - }]); - - _inherits(ChannelClaimsDisplay, _React$Component); - - return ChannelClaimsDisplay; -}(_react.default.Component); - -var _default = ChannelClaimsDisplay; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelCreateForm/index.js b/client/build/containers/ChannelCreateForm/index.js deleted file mode 100644 index 828f5874..00000000 --- a/client/build/containers/ChannelCreateForm/index.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -var _channelCreate = require("../../actions/channelCreate"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var _ref$channelCreate = _ref.channelCreate, - name = _ref$channelCreate.name, - password = _ref$channelCreate.password, - error = _ref$channelCreate.error, - status = _ref$channelCreate.status; - return { - name: name, - password: password, - error: error, - status: status - }; -}; - -var mapDispatchToProps = { - updateChannelAvailability: _channelCreate.updateChannelAvailability, - updateChannelCreateName: _channelCreate.updateChannelCreateName, - updateChannelCreatePassword: _channelCreate.updateChannelCreatePassword, - createChannel: _channelCreate.createChannel -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelCreateForm/view.js b/client/build/containers/ChannelCreateForm/view.js deleted file mode 100644 index 90e79547..00000000 --- a/client/build/containers/ChannelCreateForm/view.js +++ /dev/null @@ -1,152 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _ChannelCreateNameInput = _interopRequireDefault(require("@components/ChannelCreateNameInput")); - -var _ChannelCreatePasswordInput = _interopRequireDefault(require("@components/ChannelCreatePasswordInput")); - -var _ButtonPrimary = _interopRequireDefault(require("@components/ButtonPrimary")); - -var _FormFeedbackDisplay = _interopRequireDefault(require("@components/FormFeedbackDisplay")); - -var _ProgressBar = _interopRequireDefault(require("@components/ProgressBar")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var ChannelCreateForm = -/*#__PURE__*/ -function (_React$Component) { - function ChannelCreateForm(props) { - var _this; - - _classCallCheck(this, ChannelCreateForm); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(ChannelCreateForm).call(this, props)); - _this.handleNameInput = _this.handleNameInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handlePasswordInput = _this.handlePasswordInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleSubmit = _this.handleSubmit.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(ChannelCreateForm, [{ - key: "cleanseNameInput", - value: function cleanseNameInput(input) { - input = input.replace(/\s+/g, '-'); // replace spaces with dashes - - input = input.replace(/[^A-Za-z0-9-]/g, ''); // remove all characters that are not A-Z, a-z, 0-9, or '-' - - return input; - } - }, { - key: "cleansePasswordInput", - value: function cleansePasswordInput(input) { - input = input.replace(/\s+/g, ''); // replace spaces - - return input; - } - }, { - key: "handleNameInput", - value: function handleNameInput(event) { - var value = this.cleanseNameInput(event.target.value); - - if (!value) { - this.props.updateChannelCreateName('error', 'Please enter a channel name'); - } else { - this.props.updateChannelAvailability(value); - } - - this.props.updateChannelCreateName('value', value); - } - }, { - key: "handlePasswordInput", - value: function handlePasswordInput(event) { - var value = this.cleansePasswordInput(event.target.value); - - if (!value) { - this.props.updateChannelCreatePassword('error', 'Please enter a password'); - } else { - this.props.updateChannelCreatePassword('error', null); - } - - this.props.updateChannelCreatePassword('value', value); - } - }, { - key: "handleSubmit", - value: function handleSubmit(event) { - console.log('handling submit'); - event.preventDefault(); - this.props.createChannel(); - } - }, { - key: "returnErrors", - value: function returnErrors() { - if (this.props.name.error) { - return this.props.name.error; - } - - if (this.props.password.error) { - return this.props.password.error; - } - - return null; - } - }, { - key: "render", - value: function render() { - var _this$props = this.props, - name = _this$props.name, - password = _this$props.password, - status = _this$props.status; - var formError = this.returnErrors(); - return _react.default.createElement("div", null, !status ? _react.default.createElement("div", null, _react.default.createElement(_ChannelCreateNameInput.default, { - value: name.value, - error: name.error, - handleNameInput: this.handleNameInput - }), _react.default.createElement(_ChannelCreatePasswordInput.default, { - value: password.value, - handlePasswordInput: this.handlePasswordInput - }), _react.default.createElement(_FormFeedbackDisplay.default, { - errorMessage: formError, - defaultMessage: 'Choose a name and password for your channel' - }), _react.default.createElement(_ButtonPrimary.default, { - value: 'Create Channel', - onClickHandler: this.handleSubmit - })) : _react.default.createElement("div", null, _react.default.createElement("p", { - className: 'text--small text--secondary' - }, status), _react.default.createElement(_ProgressBar.default, { - size: 12 - }))); - } - }]); - - _inherits(ChannelCreateForm, _React$Component); - - return ChannelCreateForm; -}(_react.default.Component); - -var _default = ChannelCreateForm; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelLoginForm/index.js b/client/build/containers/ChannelLoginForm/index.js deleted file mode 100644 index 583d84de..00000000 --- a/client/build/containers/ChannelLoginForm/index.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _channel = require("../../actions/channel"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapDispatchToProps = function mapDispatchToProps(dispatch) { - return { - onChannelLogin: function onChannelLogin(name, shortId, longId) { - dispatch((0, _channel.updateLoggedInChannel)(name, shortId, longId)); - dispatch((0, _publish.updateSelectedChannel)(name)); - } - }; -}; - -var _default = (0, _reactRedux.connect)(null, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelLoginForm/view.js b/client/build/containers/ChannelLoginForm/view.js deleted file mode 100644 index b67bce18..00000000 --- a/client/build/containers/ChannelLoginForm/view.js +++ /dev/null @@ -1,138 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _request = _interopRequireDefault(require("../../utils/request")); - -var _FormFeedbackDisplay = _interopRequireDefault(require("@components/FormFeedbackDisplay")); - -var _ChannelLoginNameInput = _interopRequireDefault(require("@components/ChannelLoginNameInput")); - -var _ChannelLoginPasswordInput = _interopRequireDefault(require("@components/ChannelLoginPasswordInput")); - -var _ButtonPrimary = _interopRequireDefault(require("@components/ButtonPrimary")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var ChannelLoginForm = -/*#__PURE__*/ -function (_React$Component) { - function ChannelLoginForm(props) { - var _this; - - _classCallCheck(this, ChannelLoginForm); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(ChannelLoginForm).call(this, props)); - _this.state = { - error: null, - name: '', - password: '' - }; - _this.handleInput = _this.handleInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.loginToChannel = _this.loginToChannel.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(ChannelLoginForm, [{ - key: "handleInput", - value: function handleInput(event) { - var name = event.target.name; - var value = event.target.value; - this.setState(_defineProperty({}, name, value)); - } - }, { - key: "loginToChannel", - value: function loginToChannel(event) { - var _this2 = this; - - event.preventDefault(); - var params = { - method: 'POST', - body: JSON.stringify({ - username: this.state.name, - password: this.state.password - }), - headers: new Headers({ - 'Content-Type': 'application/json' - }), - credentials: 'include' - }; - (0, _request.default)('login', params).then(function (_ref) { - var success = _ref.success, - channelName = _ref.channelName, - shortChannelId = _ref.shortChannelId, - channelClaimId = _ref.channelClaimId, - message = _ref.message; - - if (success) { - _this2.props.onChannelLogin(channelName, shortChannelId, channelClaimId); - } else { - _this2.setState({ - 'error': message - }); - } - - ; - }).catch(function (error) { - if (error.message) { - _this2.setState({ - 'error': error.message - }); - } else { - _this2.setState({ - 'error': error - }); - } - }); - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("div", null, _react.default.createElement(_ChannelLoginNameInput.default, { - channelName: this.state.channelName, - handleInput: this.handleInput - }), _react.default.createElement(_ChannelLoginPasswordInput.default, { - channelPassword: this.state.channelPassword, - handleInput: this.handleInput - }), _react.default.createElement(_FormFeedbackDisplay.default, { - errorMessage: this.state.error, - defaultMessage: 'Enter the name and password for your channel' - }), _react.default.createElement(_ButtonPrimary.default, { - value: 'Authenticate', - onClickHandler: this.loginToChannel - })); - } - }]); - - _inherits(ChannelLoginForm, _React$Component); - - return ChannelLoginForm; -}(_react.default.Component); - -var _default = ChannelLoginForm; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelSelect/index.js b/client/build/containers/ChannelSelect/index.js deleted file mode 100644 index 974482d1..00000000 --- a/client/build/containers/ChannelSelect/index.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var channel = _ref.channel, - publish = _ref.publish; - return { - loggedInChannelName: channel.loggedInChannel.name, - publishInChannel: publish.publishInChannel, - selectedChannel: publish.selectedChannel, - channelError: publish.error.channel - }; -}; - -var mapDispatchToProps = function mapDispatchToProps(dispatch) { - return { - onPublishInChannelChange: function onPublishInChannelChange(value) { - dispatch((0, _publish.updateError)('channel', null)); - dispatch((0, _publish.setPublishInChannel)(value)); - }, - onChannelSelect: function onChannelSelect(value) { - dispatch((0, _publish.updateError)('channel', null)); - dispatch((0, _publish.updateSelectedChannel)(value)); - } - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/ChannelSelect/view.js b/client/build/containers/ChannelSelect/view.js deleted file mode 100644 index 31615007..00000000 --- a/client/build/containers/ChannelSelect/view.js +++ /dev/null @@ -1,127 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _ChannelLoginForm = _interopRequireDefault(require("@containers/ChannelLoginForm")); - -var _ChannelCreateForm = _interopRequireDefault(require("@containers/ChannelCreateForm")); - -var _publish_channel_select_states = require("../../constants/publish_channel_select_states"); - -var _RowLabeled = _interopRequireDefault(require("@components/RowLabeled")); - -var _ChooseAnonymousPublishRadio = _interopRequireDefault(require("@components/ChooseAnonymousPublishRadio")); - -var _ChooseChannelPublishRadio = _interopRequireDefault(require("@components/ChooseChannelPublishRadio")); - -var _FormFeedbackDisplay = _interopRequireDefault(require("@components/FormFeedbackDisplay")); - -var _Label = _interopRequireDefault(require("@components/Label")); - -var _ChannelSelectDropdown = _interopRequireDefault(require("@components/ChannelSelectDropdown")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var ChannelSelect = -/*#__PURE__*/ -function (_React$Component) { - function ChannelSelect(props) { - var _this; - - _classCallCheck(this, ChannelSelect); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(ChannelSelect).call(this, props)); - _this.toggleAnonymousPublish = _this.toggleAnonymousPublish.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleSelection = _this.handleSelection.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(ChannelSelect, [{ - key: "componentWillMount", - value: function componentWillMount() { - var loggedInChannelName = this.props.loggedInChannelName; - - if (loggedInChannelName) { - this.props.onChannelSelect(loggedInChannelName); - } - } - }, { - key: "toggleAnonymousPublish", - value: function toggleAnonymousPublish(event) { - var value = event.target.value; - - if (value === 'anonymous') { - this.props.onPublishInChannelChange(false); - } else { - this.props.onPublishInChannelChange(true); - } - } - }, { - key: "handleSelection", - value: function handleSelection(event) { - var selectedOption = event.target.selectedOptions[0].value; - this.props.onChannelSelect(selectedOption); - } - }, { - key: "render", - value: function render() { - var _this$props = this.props, - publishInChannel = _this$props.publishInChannel, - channelError = _this$props.channelError, - selectedChannel = _this$props.selectedChannel, - loggedInChannelName = _this$props.loggedInChannelName; - return _react.default.createElement("div", null, _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_ChooseAnonymousPublishRadio.default, { - publishInChannel: publishInChannel, - toggleAnonymousPublish: this.toggleAnonymousPublish - }), - content: _react.default.createElement(_ChooseChannelPublishRadio.default, { - publishInChannel: publishInChannel, - toggleAnonymousPublish: this.toggleAnonymousPublish - }) - }), _react.default.createElement(_FormFeedbackDisplay.default, { - errorMessage: channelError, - defaultMessage: 'Publish anonymously or in a channel' - }), this.props.publishInChannel && _react.default.createElement("div", null, _react.default.createElement(_RowLabeled.default, { - label: _react.default.createElement(_Label.default, { - value: 'Channel:' - }), - content: _react.default.createElement(_ChannelSelectDropdown.default, { - selectedChannel: selectedChannel, - handleSelection: this.handleSelection, - loggedInChannelName: loggedInChannelName - }) - }), selectedChannel === _publish_channel_select_states.LOGIN && _react.default.createElement(_ChannelLoginForm.default, null), selectedChannel === _publish_channel_select_states.CREATE && _react.default.createElement(_ChannelCreateForm.default, null))); - } - }]); - - _inherits(ChannelSelect, _React$Component); - - return ChannelSelect; -}(_react.default.Component); - -var _default = ChannelSelect; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/Dropzone/index.js b/client/build/containers/Dropzone/index.js deleted file mode 100644 index eda8c65e..00000000 --- a/client/build/containers/Dropzone/index.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var publish = _ref.publish; - return { - file: publish.file, - thumbnail: publish.thumbnail, - fileError: publish.error.file - }; -}; - -var mapDispatchToProps = function mapDispatchToProps(dispatch) { - return { - selectFile: function selectFile(file) { - dispatch((0, _publish.selectFile)(file)); - }, - setFileError: function setFileError(value) { - dispatch((0, _publish.clearFile)()); - dispatch((0, _publish.updateError)('file', value)); - } - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/Dropzone/view.js b/client/build/containers/Dropzone/view.js deleted file mode 100644 index 15025eb0..00000000 --- a/client/build/containers/Dropzone/view.js +++ /dev/null @@ -1,205 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _file = require("../../utils/file"); - -var _DropzonePreviewImage = _interopRequireDefault(require("@components/DropzonePreviewImage")); - -var _DropzoneDropItDisplay = _interopRequireDefault(require("@components/DropzoneDropItDisplay")); - -var _DropzoneInstructionsDisplay = _interopRequireDefault(require("@components/DropzoneInstructionsDisplay")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var Dropzone = -/*#__PURE__*/ -function (_React$Component) { - function Dropzone(props) { - var _this; - - _classCallCheck(this, Dropzone); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(Dropzone).call(this, props)); - _this.state = { - dragOver: false, - mouseOver: false, - dimPreview: false - }; - _this.handleDrop = _this.handleDrop.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleDragOver = _this.handleDragOver.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleDragEnd = _this.handleDragEnd.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleDragEnter = _this.handleDragEnter.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleDragLeave = _this.handleDragLeave.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleMouseEnter = _this.handleMouseEnter.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleMouseLeave = _this.handleMouseLeave.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleFileInput = _this.handleFileInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.chooseFile = _this.chooseFile.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(Dropzone, [{ - key: "handleDrop", - value: function handleDrop(event) { - event.preventDefault(); - this.setState({ - dragOver: false - }); // if dropped items aren't files, reject them - - var dt = event.dataTransfer; - - if (dt.items) { - if (dt.items[0].kind === 'file') { - var droppedFile = dt.items[0].getAsFile(); - this.chooseFile(droppedFile); - } - } - } - }, { - key: "handleDragOver", - value: function handleDragOver(event) { - event.preventDefault(); - } - }, { - key: "handleDragEnd", - value: function handleDragEnd(event) { - var dt = event.dataTransfer; - - if (dt.items) { - for (var i = 0; i < dt.items.length; i++) { - dt.items.remove(i); - } - } else { - event.dataTransfer.clearData(); - } - } - }, { - key: "handleDragEnter", - value: function handleDragEnter() { - this.setState({ - dragOver: true, - dimPreview: true - }); - } - }, { - key: "handleDragLeave", - value: function handleDragLeave() { - this.setState({ - dragOver: false, - dimPreview: false - }); - } - }, { - key: "handleMouseEnter", - value: function handleMouseEnter() { - this.setState({ - mouseOver: true, - dimPreview: true - }); - } - }, { - key: "handleMouseLeave", - value: function handleMouseLeave() { - this.setState({ - mouseOver: false, - dimPreview: false - }); - } - }, { - key: "handleClick", - value: function handleClick(event) { - event.preventDefault(); - document.getElementById('file_input').click(); - } - }, { - key: "handleFileInput", - value: function handleFileInput(event) { - event.preventDefault(); - var fileList = event.target.files; - this.chooseFile(fileList[0]); - } - }, { - key: "chooseFile", - value: function chooseFile(file) { - if (file) { - try { - (0, _file.validateFile)(file); // validate the file's name, type, and size - } catch (error) { - return this.props.setFileError(error.message); - } // stage it so it will be ready when the publish button is clicked - - - this.props.selectFile(file); - } - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: "dropzone-wrapper" - }, _react.default.createElement("form", null, _react.default.createElement("input", { - className: "input-file", - type: "file", - id: "file_input", - name: "file_input", - accept: "video/*,image/*", - onChange: this.handleFileInput, - encType: "multipart/form-data" - })), _react.default.createElement("div", { - className: 'dropzone' + (this.state.dragOver ? ' dropzone--drag-over' : ''), - onDrop: this.handleDrop, - onDragOver: this.handleDragOver, - onDragEnd: this.handleDragEnd, - onDragEnter: this.handleDragEnter, - onDragLeave: this.handleDragLeave, - onMouseEnter: this.handleMouseEnter, - onMouseLeave: this.handleMouseLeave, - onClick: this.handleClick - }, this.props.file ? _react.default.createElement("div", { - className: 'dropzone-preview-wrapper' - }, _react.default.createElement(_DropzonePreviewImage.default, { - dimPreview: this.state.dimPreview, - file: this.props.file, - thumbnail: this.props.thumbnail - }), _react.default.createElement("div", { - className: 'dropzone-preview-overlay' - }, this.state.dragOver ? _react.default.createElement(_DropzoneDropItDisplay.default, null) : null, this.state.mouseOver ? _react.default.createElement(_DropzoneInstructionsDisplay.default, { - fileError: this.props.fileError - }) : null)) : this.state.dragOver ? _react.default.createElement(_DropzoneDropItDisplay.default, null) : _react.default.createElement(_DropzoneInstructionsDisplay.default, { - fileError: this.props.fileError - }))); - } - }]); - - _inherits(Dropzone, _React$Component); - - return Dropzone; -}(_react.default.Component); - -; -var _default = Dropzone; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/NavigationLinks/_index.js b/client/build/containers/NavigationLinks/_index.js deleted file mode 100644 index 9a390c31..00000000 --- a/client/build/containers/NavigationLinks/_index.js +++ /dev/null @@ -1 +0,0 @@ -"use strict"; \ No newline at end of file diff --git a/client/build/containers/NavigationLinks/index.js b/client/build/containers/NavigationLinks/index.js deleted file mode 100644 index 0ba4792d..00000000 --- a/client/build/containers/NavigationLinks/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _channel = require("../../actions/channel"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var _ref$channel$loggedIn = _ref.channel.loggedInChannel, - name = _ref$channel$loggedIn.name, - shortId = _ref$channel$loggedIn.shortId, - longId = _ref$channel$loggedIn.longId; - return { - channelName: name, - channelShortId: shortId, - channelLongId: longId - }; -}; - -var mapDispatchToProps = { - checkForLoggedInChannel: _channel.checkForLoggedInChannel, - logOutChannel: _channel.logOutChannel -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/NavigationLinks/view.js b/client/build/containers/NavigationLinks/view.js deleted file mode 100644 index 036d3093..00000000 --- a/client/build/containers/NavigationLinks/view.js +++ /dev/null @@ -1,110 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -var _NavBarChannelOptionsDropdown = _interopRequireDefault(require("@components/NavBarChannelOptionsDropdown")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var VIEW = 'VIEW'; -var LOGOUT = 'LOGOUT'; - -var NavigationLinks = -/*#__PURE__*/ -function (_React$Component) { - function NavigationLinks(props) { - var _this; - - _classCallCheck(this, NavigationLinks); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(NavigationLinks).call(this, props)); - _this.handleSelection = _this.handleSelection.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(NavigationLinks, [{ - key: "componentDidMount", - value: function componentDidMount() { - this.props.checkForLoggedInChannel(); - } - }, { - key: "handleSelection", - value: function handleSelection(event) { - var value = event.target.selectedOptions[0].value; - - switch (value) { - case LOGOUT: - this.props.logOutChannel(); - break; - - case VIEW: - // redirect to channel page - this.props.history.push("/".concat(this.props.channelName, ":").concat(this.props.channelLongId)); - break; - - default: - break; - } - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: "navigation-links" - }, _react.default.createElement(_reactRouterDom.NavLink, { - className: "nav-bar-link link--nav", - activeClassName: "link--nav-active", - to: "/", - exact: true - }, "Publish"), _react.default.createElement(_reactRouterDom.NavLink, { - className: "nav-bar-link link--nav", - activeClassName: "link--nav-active", - to: "/about" - }, "About"), this.props.channelName ? _react.default.createElement(_NavBarChannelOptionsDropdown.default, { - channelName: this.props.channelName, - handleSelection: this.handleSelection, - defaultSelection: this.props.channelName, - VIEW: VIEW, - LOGOUT: LOGOUT - }) : _react.default.createElement(_reactRouterDom.NavLink, { - id: "nav-bar-login-link", - className: "nav-bar-link link--nav", - activeClassName: "link--nav-active", - to: "/login" - }, "Channel")); - } - }]); - - _inherits(NavigationLinks, _React$Component); - - return NavigationLinks; -}(_react.default.Component); - -var _default = (0, _reactRouterDom.withRouter)(NavigationLinks); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishDetails/index.js b/client/build/containers/PublishDetails/index.js deleted file mode 100644 index 65fd7c12..00000000 --- a/client/build/containers/PublishDetails/index.js +++ /dev/null @@ -1,31 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var channel = _ref.channel, - publish = _ref.publish; - return { - file: publish.file - }; -}; - -var mapDispatchToProps = { - clearFile: _publish.clearFile, - startPublish: _publish.startPublish -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishDetails/view.js b/client/build/containers/PublishDetails/view.js deleted file mode 100644 index 41d4de08..00000000 --- a/client/build/containers/PublishDetails/view.js +++ /dev/null @@ -1,90 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -var _PublishUrlInput = _interopRequireDefault(require("@containers/PublishUrlInput")); - -var _PublishThumbnailInput = _interopRequireDefault(require("@containers/PublishThumbnailInput")); - -var _PublishMetadataInputs = _interopRequireDefault(require("@containers/PublishMetadataInputs")); - -var _ChannelSelect = _interopRequireDefault(require("@containers/ChannelSelect")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -var _ButtonPrimaryJumbo = _interopRequireDefault(require("@components/ButtonPrimaryJumbo")); - -var _ButtonTertiary = _interopRequireDefault(require("@components/ButtonTertiary")); - -var _SpaceAround = _interopRequireDefault(require("@components/SpaceAround")); - -var _PublishFinePrint = _interopRequireDefault(require("@components/PublishFinePrint")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var PublishDetails = -/*#__PURE__*/ -function (_React$Component) { - function PublishDetails(props) { - var _this; - - _classCallCheck(this, PublishDetails); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(PublishDetails).call(this, props)); - _this.onPublishSubmit = _this.onPublishSubmit.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(PublishDetails, [{ - key: "onPublishSubmit", - value: function onPublishSubmit() { - this.props.startPublish(this.props.history); - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("div", null, _react.default.createElement(_Row.default, null, _react.default.createElement(_PublishUrlInput.default, null)), _react.default.createElement(_Row.default, null, _react.default.createElement(_ChannelSelect.default, null)), this.props.file.type === 'video/mp4' && _react.default.createElement(_Row.default, null, _react.default.createElement(_PublishThumbnailInput.default, null)), _react.default.createElement(_Row.default, null, _react.default.createElement(_PublishMetadataInputs.default, null)), _react.default.createElement(_Row.default, null, _react.default.createElement(_ButtonPrimaryJumbo.default, { - value: 'Publish', - onClickHandler: this.onPublishSubmit - })), _react.default.createElement(_Row.default, null, _react.default.createElement(_SpaceAround.default, null, _react.default.createElement(_ButtonTertiary.default, { - value: 'Cancel', - onClickHandler: this.props.clearFile - }))), _react.default.createElement(_Row.default, null, _react.default.createElement(_PublishFinePrint.default, null))); - } - }]); - - _inherits(PublishDetails, _React$Component); - - return PublishDetails; -}(_react.default.Component); - -; - -var _default = (0, _reactRouterDom.withRouter)(PublishDetails); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishDisabledMessage/index.js b/client/build/containers/PublishDisabledMessage/index.js deleted file mode 100644 index 92fd5c41..00000000 --- a/client/build/containers/PublishDisabledMessage/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var publish = _ref.publish; - return { - message: publish.disabledMessage - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishDisabledMessage/view.js b/client/build/containers/PublishDisabledMessage/view.js deleted file mode 100644 index 7ef8f198..00000000 --- a/client/build/containers/PublishDisabledMessage/view.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var PublishDisabledMessage = -/*#__PURE__*/ -function (_React$Component) { - function PublishDisabledMessage() { - _classCallCheck(this, PublishDisabledMessage); - - return _possibleConstructorReturn(this, _getPrototypeOf(PublishDisabledMessage).apply(this, arguments)); - } - - _createClass(PublishDisabledMessage, [{ - key: "render", - value: function render() { - var message = this.props.message; - return _react.default.createElement("div", { - className: 'publish-disabled-message' - }, _react.default.createElement("div", { - className: 'message' - }, _react.default.createElement("p", { - className: 'text--secondary' - }, "Publishing is currently disabled."), _react.default.createElement("p", { - className: 'text--secondary' - }, message))); - } - }]); - - _inherits(PublishDisabledMessage, _React$Component); - - return PublishDisabledMessage; -}(_react.default.Component); - -var _default = PublishDisabledMessage; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishMetadataInputs/index.js b/client/build/containers/PublishMetadataInputs/index.js deleted file mode 100644 index 04ee6f0e..00000000 --- a/client/build/containers/PublishMetadataInputs/index.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var publish = _ref.publish; - return { - showMetadataInputs: publish.showMetadataInputs, - description: publish.metadata.description, - license: publish.metadata.license, - nsfw: publish.metadata.nsfw - }; -}; - -var mapDispatchToProps = function mapDispatchToProps(dispatch) { - return { - onMetadataChange: function onMetadataChange(name, value) { - dispatch((0, _publish.updateMetadata)(name, value)); - }, - onToggleMetadataInputs: function onToggleMetadataInputs(value) { - dispatch((0, _publish.toggleMetadataInputs)(value)); - } - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishMetadataInputs/view.js b/client/build/containers/PublishMetadataInputs/view.js deleted file mode 100644 index 7ab45513..00000000 --- a/client/build/containers/PublishMetadataInputs/view.js +++ /dev/null @@ -1,97 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PublishDescriptionInput = _interopRequireDefault(require("@components/PublishDescriptionInput")); - -var _PublishLicenseInput = _interopRequireDefault(require("@components/PublishLicenseInput")); - -var _PublishNsfwInput = _interopRequireDefault(require("@components/PublishNsfwInput")); - -var _ButtonSecondary = _interopRequireDefault(require("@components/ButtonSecondary")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var PublishMetadataInputs = -/*#__PURE__*/ -function (_React$Component) { - function PublishMetadataInputs(props) { - var _this; - - _classCallCheck(this, PublishMetadataInputs); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(PublishMetadataInputs).call(this, props)); - _this.toggleShowInputs = _this.toggleShowInputs.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleInput = _this.handleInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleSelect = _this.handleSelect.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(PublishMetadataInputs, [{ - key: "toggleShowInputs", - value: function toggleShowInputs() { - this.props.onToggleMetadataInputs(!this.props.showMetadataInputs); - } - }, { - key: "handleInput", - value: function handleInput(event) { - var target = event.target; - var value = target.type === 'checkbox' ? target.checked : target.value; - var name = target.name; - this.props.onMetadataChange(name, value); - } - }, { - key: "handleSelect", - value: function handleSelect(event) { - var name = event.target.name; - var selectedOption = event.target.selectedOptions[0].value; - this.props.onMetadataChange(name, selectedOption); - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("div", null, this.props.showMetadataInputs && _react.default.createElement("div", null, _react.default.createElement(_PublishDescriptionInput.default, { - description: this.props.description, - handleInput: this.handleInput - }), _react.default.createElement(_PublishLicenseInput.default, { - handleSelect: this.handleSelect - }), _react.default.createElement(_PublishNsfwInput.default, { - nsfw: this.props.nsfw, - handleInput: this.handleInput - })), _react.default.createElement(_ButtonSecondary.default, { - value: this.props.showMetadataInputs ? 'less' : 'more', - onClickHandler: this.toggleShowInputs - })); - } - }]); - - _inherits(PublishMetadataInputs, _React$Component); - - return PublishMetadataInputs; -}(_react.default.Component); - -var _default = PublishMetadataInputs; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishStatus/index.js b/client/build/containers/PublishStatus/index.js deleted file mode 100644 index c83bbfe1..00000000 --- a/client/build/containers/PublishStatus/index.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var publish = _ref.publish; - return { - status: publish.status.status, - message: publish.status.message - }; -}; - -var mapDispatchToProps = { - clearFile: _publish.clearFile -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishStatus/view.js b/client/build/containers/PublishStatus/view.js deleted file mode 100644 index cdec8d1d..00000000 --- a/client/build/containers/PublishStatus/view.js +++ /dev/null @@ -1,102 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _ProgressBar = _interopRequireDefault(require("@components/ProgressBar")); - -var publishStates = _interopRequireWildcard(require("../../constants/publish_claim_states")); - -var _ButtonSecondary = _interopRequireDefault(require("@components/ButtonSecondary")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var PublishStatus = -/*#__PURE__*/ -function (_React$Component) { - function PublishStatus() { - _classCallCheck(this, PublishStatus); - - return _possibleConstructorReturn(this, _getPrototypeOf(PublishStatus).apply(this, arguments)); - } - - _createClass(PublishStatus, [{ - key: "render", - value: function render() { - var _this$props = this.props, - status = _this$props.status, - message = _this$props.message, - clearFile = _this$props.clearFile; - return _react.default.createElement("div", { - className: 'publish-status' - }, status === publishStates.LOAD_START && _react.default.createElement("div", { - className: 'status' - }, _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "le is loading to server")), _react.default.createElement(_Row.default, null, _react.default.createElement("p", { - className: 'text--secondary' - }, "0%"))), status === publishStates.LOADING && _react.default.createElement("div", { - className: 'status' - }, _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "File is loading to server")), _react.default.createElement(_Row.default, null, _react.default.createElement("p", { - className: 'text--secondary' - }, message))), status === publishStates.PUBLISHING && _react.default.createElement("div", { - className: 'status' - }, _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "Upload complete. Your file is now being published on the blockchain...")), _react.default.createElement(_Row.default, null, _react.default.createElement(_ProgressBar.default, { - size: 12 - })), _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "Curious what magic is happening here? ", _react.default.createElement("a", { - className: "link--primary", - target: "blank", - href: "https://lbry.io/faq/what-is-lbry" - }, "Learn more.")))), status === publishStates.SUCCESS && _react.default.createElement("div", { - className: 'status' - }, _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "Your publish is complete! You are being redirected to it now.")), _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "If you are not automatically redirected, ", _react.default.createElement("a", { - className: "link--primary", - target: "_blank", - href: message - }, "click here.")))), status === publishStates.FAILED && _react.default.createElement("div", { - className: 'status' - }, _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "Something went wrong...")), _react.default.createElement(_Row.default, null, _react.default.createElement("p", { - className: 'text--strong' - }, message)), _react.default.createElement(_Row.default, null, _react.default.createElement("p", null, "For help, post the above error text in the #speech channel on the ", _react.default.createElement("a", { - className: "link--primary", - href: "https://chat.lbry.io", - target: "_blank" - }, "lbry discord"))), _react.default.createElement(_Row.default, null, _react.default.createElement(_ButtonSecondary.default, { - value: 'Reset', - onClickHandler: clearFile - })))); - } - }]); - - _inherits(PublishStatus, _React$Component); - - return PublishStatus; -}(_react.default.Component); - -; -var _default = PublishStatus; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishThumbnailInput/index.js b/client/build/containers/PublishThumbnailInput/index.js deleted file mode 100644 index 0c7381a3..00000000 --- a/client/build/containers/PublishThumbnailInput/index.js +++ /dev/null @@ -1,29 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var file = _ref.publish.file; - return { - file: file - }; -}; - -var mapDispatchToProps = { - onNewThumbnail: _publish.onNewThumbnail -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishThumbnailInput/view.js b/client/build/containers/PublishThumbnailInput/view.js deleted file mode 100644 index 24a45ba8..00000000 --- a/client/build/containers/PublishThumbnailInput/view.js +++ /dev/null @@ -1,210 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _FormFeedbackDisplay = _interopRequireDefault(require("@components/FormFeedbackDisplay")); - -var _SpaceBetween = _interopRequireDefault(require("@components/SpaceBetween")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function dataURItoBlob(dataURI) { - // convert base64/URLEncoded data component to raw binary data held in a string - var byteString = atob(dataURI.split(',')[1]); // separate out the mime component - - var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; // write the bytes of the string to a typed array - - var ia = new Uint8Array(byteString.length); - - for (var i = 0; i < byteString.length; i++) { - ia[i] = byteString.charCodeAt(i); - } - - return new Blob([ia], { - type: mimeString - }); -} - -var PublishThumbnailInput = -/*#__PURE__*/ -function (_React$Component) { - function PublishThumbnailInput(props) { - var _this; - - _classCallCheck(this, PublishThumbnailInput); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(PublishThumbnailInput).call(this, props)); - _this.state = { - videoSource: null, - error: null, - sliderMinRange: 1, - sliderMaxRange: null, - sliderValue: null - }; - _this.handleVideoLoadedData = _this.handleVideoLoadedData.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.handleSliderChange = _this.handleSliderChange.bind(_assertThisInitialized(_assertThisInitialized(_this))); - _this.createThumbnail = _this.createThumbnail.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(PublishThumbnailInput, [{ - key: "componentDidMount", - value: function componentDidMount() { - var file = this.props.file; - this.setVideoSource(file); - } - }, { - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(nextProps) { - // if file changes - if (nextProps.file && nextProps.file !== this.props.file) { - var file = nextProps.file; - this.setVideoSource(file); - } - - ; - } - }, { - key: "setVideoSource", - value: function setVideoSource(file) { - var _this2 = this; - - var previewReader = new FileReader(); - previewReader.readAsDataURL(file); - - previewReader.onloadend = function () { - var dataUri = previewReader.result; - var blob = dataURItoBlob(dataUri); - var videoSource = URL.createObjectURL(blob); - - _this2.setState({ - videoSource: videoSource - }); - }; - } - }, { - key: "handleVideoLoadedData", - value: function handleVideoLoadedData(event) { - var duration = event.target.duration; - var totalMinutes = Math.floor(duration / 60); - var totalSeconds = Math.floor(duration % 60); // set the slider - - this.setState({ - sliderMaxRange: duration * 100, - sliderValue: duration * 100 / 2, - totalMinutes: totalMinutes, - totalSeconds: totalSeconds - }); // update the current time of the video - - var video = document.getElementById('video-thumb-player'); - video.currentTime = duration / 2; - } - }, { - key: "handleSliderChange", - value: function handleSliderChange(event) { - var value = parseInt(event.target.value); // update the slider value - - this.setState({ - sliderValue: value - }); // update the current time of the video - - var video = document.getElementById('video-thumb-player'); - video.currentTime = value / 100; - } - }, { - key: "createThumbnail", - value: function createThumbnail() { - // take a snapshot - var video = document.getElementById('video-thumb-player'); - var canvas = document.createElement('canvas'); - canvas.width = video.videoWidth; - canvas.height = video.videoHeight; - canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height); - var dataUrl = canvas.toDataURL(); - var blob = dataURItoBlob(dataUrl); - var snapshot = new File([blob], "thumbnail.png", { - type: 'image/png' - }); // set the thumbnail in redux store - - if (snapshot) { - this.props.onNewThumbnail(snapshot); - } - } - }, { - key: "render", - value: function render() { - var _this$state = this.state, - error = _this$state.error, - videoSource = _this$state.videoSource, - sliderMinRange = _this$state.sliderMinRange, - sliderMaxRange = _this$state.sliderMaxRange, - sliderValue = _this$state.sliderValue, - totalMinutes = _this$state.totalMinutes, - totalSeconds = _this$state.totalSeconds; - return _react.default.createElement("div", null, _react.default.createElement("label", { - className: "label" - }, "Thumbnail:"), _react.default.createElement("video", { - id: "video-thumb-player", - preload: "metadata", - muted: true, - style: { - display: 'none' - }, - playsInline: true, - onLoadedData: this.handleVideoLoadedData, - src: videoSource, - onSeeked: this.createThumbnail - }), sliderValue ? _react.default.createElement("div", null, _react.default.createElement(_SpaceBetween.default, { - style: { - width: '100%' - } - }, _react.default.createElement("span", { - className: "text--small text--secondary" - }, "0'00\""), _react.default.createElement("span", { - className: "text--small text--secondary" - }, totalMinutes, "'", totalSeconds, "\"")), _react.default.createElement("div", null, _react.default.createElement("input", { - type: "range", - min: sliderMinRange, - max: sliderMaxRange, - value: sliderValue, - className: "input-slider", - onChange: this.handleSliderChange - }))) : _react.default.createElement("p", { - className: 'text--small text--secondary' - }, "loading... "), _react.default.createElement(_FormFeedbackDisplay.default, { - errorMessage: error, - defaultMessage: 'Use slider to set thumbnail' - })); - } - }]); - - _inherits(PublishThumbnailInput, _React$Component); - - return PublishThumbnailInput; -}(_react.default.Component); - -var _default = PublishThumbnailInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishTitleInput/index.js b/client/build/containers/PublishTitleInput/index.js deleted file mode 100644 index 924551e7..00000000 --- a/client/build/containers/PublishTitleInput/index.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var publish = _ref.publish; - return { - title: publish.metadata.title - }; -}; - -var mapDispatchToProps = function mapDispatchToProps(dispatch) { - return { - onMetadataChange: function onMetadataChange(name, value) { - dispatch((0, _publish.updateMetadata)(name, value)); - } - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishTitleInput/view.js b/client/build/containers/PublishTitleInput/view.js deleted file mode 100644 index 4cc99398..00000000 --- a/client/build/containers/PublishTitleInput/view.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var PublishTitleInput = -/*#__PURE__*/ -function (_React$Component) { - function PublishTitleInput(props) { - var _this; - - _classCallCheck(this, PublishTitleInput); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(PublishTitleInput).call(this, props)); - _this.handleInput = _this.handleInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(PublishTitleInput, [{ - key: "handleInput", - value: function handleInput(e) { - var name = e.target.name; - var value = e.target.value; - this.props.onMetadataChange(name, value); - } - }, { - key: "render", - value: function render() { - return _react.default.createElement("input", { - type: "text", - id: "publish-title", - className: 'text--extra-large input--full-width', - name: "title", - placeholder: "Give your content a title...", - onChange: this.handleInput, - value: this.props.title - }); - } - }]); - - _inherits(PublishTitleInput, _React$Component); - - return PublishTitleInput; -}(_react.default.Component); - -var _default = PublishTitleInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishTool/index.js b/client/build/containers/PublishTool/index.js deleted file mode 100644 index f3fb26b0..00000000 --- a/client/build/containers/PublishTool/index.js +++ /dev/null @@ -1,25 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var publish = _ref.publish; - return { - disabled: publish.disabled, - file: publish.file, - status: publish.status.status - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishTool/view.js b/client/build/containers/PublishTool/view.js deleted file mode 100644 index 56990247..00000000 --- a/client/build/containers/PublishTool/view.js +++ /dev/null @@ -1,73 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _Dropzone = _interopRequireDefault(require("@containers/Dropzone")); - -var _PublishPreview = _interopRequireDefault(require("@components/PublishPreview")); - -var _PublishStatus = _interopRequireDefault(require("@containers/PublishStatus")); - -var _PublishDisabledMessage = _interopRequireDefault(require("@containers/PublishDisabledMessage")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var PublishTool = -/*#__PURE__*/ -function (_React$Component) { - function PublishTool() { - _classCallCheck(this, PublishTool); - - return _possibleConstructorReturn(this, _getPrototypeOf(PublishTool).apply(this, arguments)); - } - - _createClass(PublishTool, [{ - key: "render", - value: function render() { - if (this.props.disabled) { - return _react.default.createElement(_PublishDisabledMessage.default, null); - } else { - if (this.props.file) { - if (this.props.status) { - return _react.default.createElement(_PublishStatus.default, null); - } else { - return _react.default.createElement(_PublishPreview.default, null); - } - } - - return _react.default.createElement(_Dropzone.default, null); - } - } - }]); - - _inherits(PublishTool, _React$Component); - - return PublishTool; -}(_react.default.Component); - -; -var _default = PublishTool; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishUrlInput/index.js b/client/build/containers/PublishUrlInput/index.js deleted file mode 100644 index 37b9bb38..00000000 --- a/client/build/containers/PublishUrlInput/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _publish = require("../../actions/publish"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var channel = _ref.channel, - publish = _ref.publish; - return { - loggedInChannelName: channel.loggedInChannel.name, - loggedInChannelShortId: channel.loggedInChannel.shortId, - fileName: publish.file.name, - publishInChannel: publish.publishInChannel, - selectedChannel: publish.selectedChannel, - claim: publish.claim, - urlError: publish.error.url - }; -}; - -var mapDispatchToProps = { - validateClaim: _publish.validateClaim, - updateClaim: _publish.updateClaim, - updateError: _publish.updateError -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/PublishUrlInput/view.js b/client/build/containers/PublishUrlInput/view.js deleted file mode 100644 index 72eccdbe..00000000 --- a/client/build/containers/PublishUrlInput/view.js +++ /dev/null @@ -1,146 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PublishUrlMiddleDisplay = _interopRequireDefault(require("@components/PublishUrlMiddleDisplay")); - -var _FormFeedbackDisplay = _interopRequireDefault(require("@components/FormFeedbackDisplay")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -var PublishUrlInput = -/*#__PURE__*/ -function (_React$Component) { - function PublishUrlInput(props) { - var _this; - - _classCallCheck(this, PublishUrlInput); - - _this = _possibleConstructorReturn(this, _getPrototypeOf(PublishUrlInput).call(this, props)); - _this.handleInput = _this.handleInput.bind(_assertThisInitialized(_assertThisInitialized(_this))); - return _this; - } - - _createClass(PublishUrlInput, [{ - key: "cleanseInput", - value: function cleanseInput(input) { - input = input.replace(/\s+/g, '-'); - input = input.replace(/[^A-Za-z0-9-]/g, ''); - return input; - } - }, { - key: "componentDidMount", - value: function componentDidMount() { - var _this$props = this.props, - claim = _this$props.claim, - fileName = _this$props.fileName; - - if (!claim) { - this.setInitialClaimName(fileName); - } - } - }, { - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(_ref) { - var claim = _ref.claim, - fileName = _ref.fileName; - - // if a new file was chosen, update the claim name - if (fileName !== this.props.fileName) { - return this.setInitialClaimName(fileName); - } - } - }, { - key: "setInitialClaimName", - value: function setInitialClaimName(fileName) { - var fileNameWithoutEnding = fileName.substring(0, fileName.lastIndexOf('.')); - var cleanFileName = this.cleanseInput(fileNameWithoutEnding); - this.updateAndValidateClaimInput(cleanFileName); - } - }, { - key: "handleInput", - value: function handleInput(event) { - var value = event.target.value; - value = this.cleanseInput(value); - this.updateAndValidateClaimInput(value); - } - }, { - key: "updateAndValidateClaimInput", - value: function updateAndValidateClaimInput(value) { - if (value) { - this.props.validateClaim(value); - } else { - this.props.updateError('url', 'Choose a custom url'); - } - - this.props.updateClaim(value); - } - }, { - key: "render", - value: function render() { - var _this$props2 = this.props, - claim = _this$props2.claim, - loggedInChannelName = _this$props2.loggedInChannelName, - loggedInChannelShortId = _this$props2.loggedInChannelShortId, - publishInChannel = _this$props2.publishInChannel, - selectedChannel = _this$props2.selectedChannel, - urlError = _this$props2.urlError; - return _react.default.createElement("div", null, _react.default.createElement("div", { - className: 'publish-url-input' - }, _react.default.createElement("div", { - className: 'align-left' - }, _react.default.createElement("span", { - className: "publish-url-text" - }, "spee.ch\xA0/\xA0")), _react.default.createElement("div", { - className: 'shrink' - }, _react.default.createElement(_PublishUrlMiddleDisplay.default, { - publishInChannel: publishInChannel, - selectedChannel: selectedChannel, - loggedInChannelName: loggedInChannelName, - loggedInChannelShortId: loggedInChannelShortId - })), _react.default.createElement("div", { - className: 'fill' - }, _react.default.createElement("input", { - type: "text", - className: "input-text input--full-width", - name: "claim", - placeholder: "your-url-here", - onChange: this.handleInput, - value: claim - }))), _react.default.createElement(_FormFeedbackDisplay.default, { - errorMessage: urlError, - defaultMessage: 'Choose a custom url' - })); - } - }]); - - _inherits(PublishUrlInput, _React$Component); - - return PublishUrlInput; -}(_react.default.Component); - -var _default = PublishUrlInput; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/SEO/index.js b/client/build/containers/SEO/index.js deleted file mode 100644 index 68ed79ed..00000000 --- a/client/build/containers/SEO/index.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var site = _ref.site; - var defaultDescription = site.defaultDescription, - defaultThumbnail = site.defaultThumbnail, - siteDescription = site.description, - siteHost = site.host, - siteTitle = site.title, - siteTwitter = site.twitter; - return { - defaultDescription: defaultDescription, - defaultThumbnail: defaultThumbnail, - siteDescription: siteDescription, - siteHost: siteHost, - siteTitle: siteTitle, - siteTwitter: siteTwitter - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/SEO/view.js b/client/build/containers/SEO/view.js deleted file mode 100644 index 659abd7f..00000000 --- a/client/build/containers/SEO/view.js +++ /dev/null @@ -1,104 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactHelmet = _interopRequireDefault(require("react-helmet")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -var _pageTitle = require("../../utils/pageTitle"); - -var _metaTags = require("../../utils/metaTags"); - -var _canonicalLink = require("../../utils/canonicalLink"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var SEO = -/*#__PURE__*/ -function (_React$Component) { - function SEO() { - _classCallCheck(this, SEO); - - return _possibleConstructorReturn(this, _getPrototypeOf(SEO).apply(this, arguments)); - } - - _createClass(SEO, [{ - key: "render", - value: function render() { - // props from state - var _this$props = this.props, - defaultDescription = _this$props.defaultDescription, - defaultThumbnail = _this$props.defaultThumbnail, - siteDescription = _this$props.siteDescription, - siteHost = _this$props.siteHost, - siteTitle = _this$props.siteTitle, - siteTwitter = _this$props.siteTwitter; // props from parent - - var _this$props2 = this.props, - asset = _this$props2.asset, - channel = _this$props2.channel, - pageUri = _this$props2.pageUri; - var pageTitle = this.props.pageTitle; // create page title, tags, and canonical link - - pageTitle = (0, _pageTitle.createPageTitle)(siteTitle, pageTitle); - var metaTags = (0, _metaTags.createMetaTags)({ - siteDescription: siteDescription, - siteHost: siteHost, - siteTitle: siteTitle, - siteTwitter: siteTwitter, - asset: asset, - channel: channel, - defaultDescription: defaultDescription, - defaultThumbnail: defaultThumbnail - }); - var canonicalLink = (0, _canonicalLink.createCanonicalLink)(asset, channel, pageUri, siteHost); // render results - - return _react.default.createElement(_reactHelmet.default, { - title: pageTitle, - meta: metaTags, - link: [{ - rel: 'canonical', - href: canonicalLink - }] - }); - } - }]); - - _inherits(SEO, _React$Component); - - return SEO; -}(_react.default.Component); - -; -SEO.propTypes = { - pageTitle: _propTypes.default.string, - pageUri: _propTypes.default.string, - channel: _propTypes.default.object, - asset: _propTypes.default.object -}; -var _default = SEO; -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/SiteDescription/index.js b/client/build/containers/SiteDescription/index.js deleted file mode 100644 index ff01a3e0..00000000 --- a/client/build/containers/SiteDescription/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var site = _ref.site; - return { - siteDescription: site.description - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/containers/SiteDescription/view.js b/client/build/containers/SiteDescription/view.js deleted file mode 100644 index 5431e4ae..00000000 --- a/client/build/containers/SiteDescription/view.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var SiteDescription = -/*#__PURE__*/ -function (_React$Component) { - function SiteDescription() { - _classCallCheck(this, SiteDescription); - - return _possibleConstructorReturn(this, _getPrototypeOf(SiteDescription).apply(this, arguments)); - } - - _createClass(SiteDescription, [{ - key: "render", - value: function render() { - return _react.default.createElement("div", { - className: 'site-description' - }, _react.default.createElement("p", { - className: 'text--extra-small' - }, this.props.siteDescription)); - } - }]); - - _inherits(SiteDescription, _React$Component); - - return SiteDescription; -}(_react.default.Component); - -var _default = SiteDescription; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/AboutPage/index.js b/client/build/pages/AboutPage/index.js deleted file mode 100644 index d1129e2e..00000000 --- a/client/build/pages/AboutPage/index.js +++ /dev/null @@ -1,66 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -var _HorizontalSplit = _interopRequireDefault(require("@components/HorizontalSplit")); - -var _AboutSpeechOverview = _interopRequireDefault(require("@components/AboutSpeechOverview")); - -var _AboutSpeechDetails = _interopRequireDefault(require("@components/AboutSpeechDetails")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var AboutPage = -/*#__PURE__*/ -function (_React$Component) { - function AboutPage() { - _classCallCheck(this, AboutPage); - - return _possibleConstructorReturn(this, _getPrototypeOf(AboutPage).apply(this, arguments)); - } - - _createClass(AboutPage, [{ - key: "render", - value: function render() { - return _react.default.createElement(_PageLayout.default, { - pageTitle: 'About', - pageUri: 'about' - }, _react.default.createElement(_HorizontalSplit.default, { - leftSide: _react.default.createElement(_AboutSpeechOverview.default, null), - rightSide: _react.default.createElement(_AboutSpeechDetails.default, null) - })); - } - }]); - - _inherits(AboutPage, _React$Component); - - return AboutPage; -}(_react.default.Component); - -var _default = AboutPage; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ContentPageWrapper/index.js b/client/build/pages/ContentPageWrapper/index.js deleted file mode 100644 index b36a485b..00000000 --- a/client/build/pages/ContentPageWrapper/index.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _show = require("../../actions/show"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - return { - error: show.request.error, - requestType: show.request.type - }; -}; - -var mapDispatchToProps = { - onHandleShowPageUri: _show.onHandleShowPageUri -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ContentPageWrapper/view.js b/client/build/pages/ContentPageWrapper/view.js deleted file mode 100644 index d4f19e64..00000000 --- a/client/build/pages/ContentPageWrapper/view.js +++ /dev/null @@ -1,97 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _ErrorPage = _interopRequireDefault(require("@pages/ErrorPage")); - -var _ShowAssetLite = _interopRequireDefault(require("@pages/ShowAssetLite")); - -var _ShowAssetDetails = _interopRequireDefault(require("@pages/ShowAssetDetails")); - -var _ShowChannel = _interopRequireDefault(require("@pages/ShowChannel")); - -var _show_request_types = require("../../constants/show_request_types"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var ContentPageWrapper = -/*#__PURE__*/ -function (_React$Component) { - function ContentPageWrapper() { - _classCallCheck(this, ContentPageWrapper); - - return _possibleConstructorReturn(this, _getPrototypeOf(ContentPageWrapper).apply(this, arguments)); - } - - _createClass(ContentPageWrapper, [{ - key: "componentDidMount", - value: function componentDidMount() { - this.props.onHandleShowPageUri(this.props.match.params); - } - }, { - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(nextProps) { - if (nextProps.match.params !== this.props.match.params) { - this.props.onHandleShowPageUri(nextProps.match.params); - } - } - }, { - key: "render", - value: function render() { - var _this$props = this.props, - error = _this$props.error, - requestType = _this$props.requestType; - - if (error) { - return _react.default.createElement(_ErrorPage.default, { - error: error - }); - } - - switch (requestType) { - case _show_request_types.CHANNEL: - return _react.default.createElement(_ShowChannel.default, null); - - case _show_request_types.ASSET_LITE: - return _react.default.createElement(_ShowAssetLite.default, null); - - case _show_request_types.ASSET_DETAILS: - return _react.default.createElement(_ShowAssetDetails.default, null); - - default: - return _react.default.createElement("p", null, "loading..."); - } - } - }]); - - _inherits(ContentPageWrapper, _React$Component); - - return ContentPageWrapper; -}(_react.default.Component); - -; -var _default = ContentPageWrapper; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ErrorPage/index.js b/client/build/pages/ErrorPage/index.js deleted file mode 100644 index 8036e66c..00000000 --- a/client/build/pages/ErrorPage/index.js +++ /dev/null @@ -1,64 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _propTypes = _interopRequireDefault(require("prop-types")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var ErrorPage = -/*#__PURE__*/ -function (_React$Component) { - function ErrorPage() { - _classCallCheck(this, ErrorPage); - - return _possibleConstructorReturn(this, _getPrototypeOf(ErrorPage).apply(this, arguments)); - } - - _createClass(ErrorPage, [{ - key: "render", - value: function render() { - var error = this.props.error; - return _react.default.createElement(_PageLayout.default, { - pageTitle: 'Error', - pageUri: 'error' - }, _react.default.createElement("p", null, error)); - } - }]); - - _inherits(ErrorPage, _React$Component); - - return ErrorPage; -}(_react.default.Component); - -; -ErrorPage.propTypes = { - error: _propTypes.default.string.isRequired -}; -var _default = ErrorPage; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/FourOhFourPage/index.js b/client/build/pages/FourOhFourPage/index.js deleted file mode 100644 index 7ddb792b..00000000 --- a/client/build/pages/FourOhFourPage/index.js +++ /dev/null @@ -1,58 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var FourOhForPage = -/*#__PURE__*/ -function (_React$Component) { - function FourOhForPage() { - _classCallCheck(this, FourOhForPage); - - return _possibleConstructorReturn(this, _getPrototypeOf(FourOhForPage).apply(this, arguments)); - } - - _createClass(FourOhForPage, [{ - key: "render", - value: function render() { - return _react.default.createElement(_PageLayout.default, { - pageTitle: '404', - pageUri: '/404' - }, _react.default.createElement("h2", null, "404"), _react.default.createElement("p", null, "That page does not exist")); - } - }]); - - _inherits(FourOhForPage, _React$Component); - - return FourOhForPage; -}(_react.default.Component); - -; -var _default = FourOhForPage; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/HomePage/index.js b/client/build/pages/HomePage/index.js deleted file mode 100644 index d612a8af..00000000 --- a/client/build/pages/HomePage/index.js +++ /dev/null @@ -1,60 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -var _PublishTool = _interopRequireDefault(require("@containers/PublishTool")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var HomePage = -/*#__PURE__*/ -function (_React$Component) { - function HomePage() { - _classCallCheck(this, HomePage); - - return _possibleConstructorReturn(this, _getPrototypeOf(HomePage).apply(this, arguments)); - } - - _createClass(HomePage, [{ - key: "render", - value: function render() { - return _react.default.createElement(_PageLayout.default, { - pageTitle: 'Speech', - pageUri: '' - }, _react.default.createElement(_PublishTool.default, null)); - } - }]); - - _inherits(HomePage, _React$Component); - - return HomePage; -}(_react.default.Component); - -; -var _default = HomePage; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/LoginPage/index.js b/client/build/pages/LoginPage/index.js deleted file mode 100644 index 0010f82e..00000000 --- a/client/build/pages/LoginPage/index.js +++ /dev/null @@ -1,23 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var channel = _ref.channel; - return { - loggedInChannelName: channel.loggedInChannel.name - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/LoginPage/view.js b/client/build/pages/LoginPage/view.js deleted file mode 100644 index 0f6afe49..00000000 --- a/client/build/pages/LoginPage/view.js +++ /dev/null @@ -1,79 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -var _HorizontalSplit = _interopRequireDefault(require("@components/HorizontalSplit")); - -var _ChannelAbout = _interopRequireDefault(require("@components/ChannelAbout")); - -var _ChannelTools = _interopRequireDefault(require("@components/ChannelTools")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var LoginPage = -/*#__PURE__*/ -function (_React$Component) { - function LoginPage() { - _classCallCheck(this, LoginPage); - - return _possibleConstructorReturn(this, _getPrototypeOf(LoginPage).apply(this, arguments)); - } - - _createClass(LoginPage, [{ - key: "componentWillReceiveProps", - value: function componentWillReceiveProps(newProps) { - // re-route the user to the homepage if the user is logged in - if (newProps.loggedInChannelName !== this.props.loggedInChannelName) { - this.props.history.push("/"); - } - } - }, { - key: "render", - value: function render() { - return _react.default.createElement(_PageLayout.default, { - pageTitle: 'Login', - pageUri: 'login' - }, _react.default.createElement(_HorizontalSplit.default, { - leftSide: _react.default.createElement(_ChannelAbout.default, null), - rightSide: _react.default.createElement(_ChannelTools.default, null) - })); - } - }]); - - _inherits(LoginPage, _React$Component); - - return LoginPage; -}(_react.default.Component); - -; - -var _default = (0, _reactRouterDom.withRouter)(LoginPage); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/MultisitePage/index.js b/client/build/pages/MultisitePage/index.js deleted file mode 100644 index a0fe7d6b..00000000 --- a/client/build/pages/MultisitePage/index.js +++ /dev/null @@ -1,96 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var MultisiteContent = function MultisiteContent() { - return _react.default.createElement("div", null, _react.default.createElement("p", { - className: "text--pull-quote" - }, "Introducing Spee.ch Multisite"), _react.default.createElement("p", null, "Hi there! My name is ", _react.default.createElement("a", { - href: 'https://github.com/billbitt', - target: '_blank' - }, "Bill"), ", and I\u2019d like to speak with you about Spee.ch. No, not \u2018speech,\u2019 \u2018", _react.default.createElement("i", null, _react.default.createElement("a", { - href: 'https://spee.ch', - target: '_blank' - }, "Spee.ch.")), "\u2019 You know what, just read on..."), _react.default.createElement("h2", null, "A Little Background"), _react.default.createElement("p", null, "Wow, time flies! A little over a year ago Spee.ch was nothing more than a glimmer in the eye of LBRY CEO Jeremy Kaufman. At that time, the ", _react.default.createElement("a", { - href: 'https://lbry.io/faq/what-is-lbry', - target: '_blank' - }, "LBRY protocol"), " was still so early in its development, that there were no web-based applications for interacting with the LBRY blockchain. But then, something beautiful happened. On March 29th, 2017, Jeremy sat down with Jack, and together they ", _react.default.createElement("a", { - href: 'https://www.youtube.com/watch?v=C9LCapt_OYw', - target: '_blank' - }, "live coded a single-page PHP site"), " that could publish images to the LBRY network. And just like that, Spee.ch was born!"), _react.default.createElement("p", null, "Being that LBRY is an open source project, Jeremy ended the session by inviting community members who were interested in the project to take the reigns and see where Spee.ch could go. I was one of the devs that did just that, and it wasn\u2019t long before I was on a weekly call dedicated to this project with contributors from around the world."), _react.default.createElement("p", null, "At this point in time, the vision for Spee.ch was pretty simple: create a web-based hosting service that used the LBRY network as a database for free image and video sharing. In other words, an \u2018imgur on the blockchain.\u2019"), _react.default.createElement("h2", null, "Growth"), _react.default.createElement("p", null, "You might be wondering, \u201CSo, what has the Spee.ch team been doing since then?\u201D. Well, that is a great question. I\u2019m glad you asked."), _react.default.createElement("p", null, "As it turned out, the initial single-serving site was only the beginning. We wanted to add more features, improve user experience, and continue to rapidly innovate on new ideas to explore what web-based image-hosting on the blockchain could look like. And now -- a couple of re-designs, ", _react.default.createElement("a", { - href: 'https://github.com/lbryio/spee.ch', - target: '_blank' - }, "1,428 commits"), ", and ", _react.default.createElement("a", { - href: 'https://github.com/lbryio/spee.ch/graphs/contributors', - target: '_blank' - }, "18 contributors"), " later (as of the time of this writing) -- we\u2019ve been through a lot of changes. We changed the URL scheme, switched out the PHP for Javascript (sorry Jeremy!), added more HTML pages, removed those HTML pages, added Handlebars, removed most of Handlebars, added React, and... you get the picture."), _react.default.createElement("p", null, "It\u2019s been a lot of work, and through all of these changes, we have been guided by our original vision: develop a free web app that allows users to share images and video using a blockchain."), _react.default.createElement("p", null, "However, we ask ourselves constantly: what else can we be doing? What can we be doing differently? What features can we be doing better? And it is those kinds of questions that lead us to this post."), _react.default.createElement("h2", null, "A New Initiative"), _react.default.createElement("p", null, "As Spee.ch developed, we were lucky to find an amazing community spring up around the project that contributed bug reports, bug fixes, feature requests, pull requests, etc., but ultimately we are limited by the hours we have in the day, and while some requests get prioritized, others get shelved. "), _react.default.createElement("p", null, "So we started wondering: What if instead of having the community help us build our platform, we started helping them build theirs? We started mulling this over, and the more we thought about it the more we liked it. And thus, Spee.ch Multisite was born."), _react.default.createElement("h2", null, "Spee.ch Multisite"), _react.default.createElement("p", null, "The vision for Spee.ch Multisite is to maintain a foundational codebase that will support a greater variety of content-sharing web apps built on LBRY, allowing these apps to publish and retrieve content from the network via the blockchain."), _react.default.createElement("h3", null, "Run Your Own Spee.ch!"), _react.default.createElement("p", null, "Ok, here\u2019s the tl:dr: the purpose of the Spee.ch Multisite initiative is to enable you to run your own version of Spee.ch."), _react.default.createElement("p", null, "Spee.ch Multisite will provide a helpful set of basic code to get you going, but we purposefully want to give you control and provide a sandbox in which you can develop the look, content, and features for your site. The shared code base will be developed to support you in that quest. "), _react.default.createElement("p", null, "So if you don\u2019t want your site called or looking anything like Spee.ch, we encourage that! Don\u2019t hesitate to make it your own!"), _react.default.createElement("h3", null, "For the Community by the Community"), _react.default.createElement("p", null, "Initially, sites built on Spee.ch Multisite will look a lot like Spee.ch, but you will be able to add custom pages, update the look of components, and limit the content on your spee.ch site as you see fit."), _react.default.createElement("p", null, "Over time, it is our hope that the project will grow to incorporate many more components and features developed by us and the community to support a wide variety of functionalities beyond what the current spee.ch site is capable of."), _react.default.createElement("h3", null, "A Common Codebase"), _react.default.createElement("p", null, "If you have been following the project, you may have already noticed that the original github repository has grown into two: ", _react.default.createElement("a", { - href: 'https://github.com/lbryio/www.spee.ch', - target: '_blank' - }, "www.spee.ch"), " and ", _react.default.createElement("a", { - href: 'https://github.com/lbryio/spee.ch', - target: '_blank' - }, "spee.ch"), ". I will save the specifics for a future tech-focused blog post in the coming weeks, but the reason for these changes is to modularise the code so that is it easier for anyone who wants to run their own version of Spee.ch to do so, and to be able to customize their Spee.ch to their liking."), _react.default.createElement("h3", null, "What About the Flagship Spee.ch Site?"), _react.default.createElement("p", null, "Don\u2019t worry! If you like using ", _react.default.createElement("a", { - href: 'https://spee.ch', - target: '_blank' - }, "Spee.ch"), " and have no intention of running your own site, we will still be here running it for you! We are dedicated to pushing it forward and using it as patient zero for all additions to the Spee.ch Multisite codebase."), _react.default.createElement("h2", null, "Join Us"), _react.default.createElement("p", null, "Friday, May 18, we will be hosting a live demo showcasing the alpha version of Spee.ch Multisite. It\u2019s still quite young, but that\u2019s the point: we want to realize this vision together."), _react.default.createElement("p", null, _react.default.createElement("b", null, _react.default.createElement("a", { - href: 'https://speech.rsvpify.com/', - target: '_blank' - }, "CLICK HERE TO RSVP!"))), _react.default.createElement("p", null, "At this first demonstration, we will walk through preparing a server environment, installing LBRY and Spee.ch, and how to make local changes to your Spee.ch instance. Details below:"), _react.default.createElement("ul", null, _react.default.createElement("li", null, "When: Friday, May 18, 2018"), _react.default.createElement("li", null, "Time: 5:00 p.m. PST"), _react.default.createElement("li", null, "Where: Google Hangouts"), _react.default.createElement("li", null, "Link: ", _react.default.createElement("a", { - href: 'https://meet.google.com/aex-ghqg-kcs', - target: '_blank' - }, "meet.google.com/aex-ghqg-kcs")), _react.default.createElement("li", null, "System Requirements: If you have a server, please make sure you have MySql, Node and NPM installed. If you need help installing the above, or if you need a server to run your own instance on, please join the Hangout 30 minutes ahead of time and we will help get you set up =]"), _react.default.createElement("li", null, "Questions: hello@lbry.io"))); -}; - -var MultisitePage = -/*#__PURE__*/ -function (_React$Component) { - function MultisitePage() { - _classCallCheck(this, MultisitePage); - - return _possibleConstructorReturn(this, _getPrototypeOf(MultisitePage).apply(this, arguments)); - } - - _createClass(MultisitePage, [{ - key: "render", - value: function render() { - return _react.default.createElement(_PageLayout.default, { - pageTitle: 'Multisite', - pageUri: '/multisite' - }, _react.default.createElement(MultisiteContent, null)); - } - }]); - - _inherits(MultisitePage, _React$Component); - - return MultisitePage; -}(_react.default.Component); - -var _default = MultisitePage; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ShowAssetDetails/index.js b/client/build/pages/ShowAssetDetails/index.js deleted file mode 100644 index 092c5daa..00000000 --- a/client/build/pages/ShowAssetDetails/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - // select request info - var requestId = show.request.id; // select asset info - - var asset; - var request = show.requestList[requestId] || null; - var assetList = show.assetList; - - if (request && assetList) { - var assetKey = request.key; // note: just store this in the request - - asset = assetList[assetKey] || null; - } - - ; // return props - - return { - asset: asset - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ShowAssetDetails/view.js b/client/build/pages/ShowAssetDetails/view.js deleted file mode 100644 index a1c24b68..00000000 --- a/client/build/pages/ShowAssetDetails/view.js +++ /dev/null @@ -1,80 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -var _HorizontalSplit = _interopRequireDefault(require("@components/HorizontalSplit")); - -var _AssetTitle = _interopRequireDefault(require("@containers/AssetTitle")); - -var _AssetDisplay = _interopRequireDefault(require("@containers/AssetDisplay")); - -var _AssetInfo = _interopRequireDefault(require("@containers/AssetInfo")); - -var _ErrorPage = _interopRequireDefault(require("@pages/ErrorPage")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var ShowAssetDetails = -/*#__PURE__*/ -function (_React$Component) { - function ShowAssetDetails() { - _classCallCheck(this, ShowAssetDetails); - - return _possibleConstructorReturn(this, _getPrototypeOf(ShowAssetDetails).apply(this, arguments)); - } - - _createClass(ShowAssetDetails, [{ - key: "render", - value: function render() { - var asset = this.props.asset; - - if (asset) { - var name = asset.claimData.name; - return _react.default.createElement(_PageLayout.default, { - pageTitle: "".concat(name, " - details"), - asset: asset - }, _react.default.createElement(_AssetTitle.default, null), _react.default.createElement(_HorizontalSplit.default, { - leftSide: _react.default.createElement(_AssetDisplay.default, null), - rightSide: _react.default.createElement(_AssetInfo.default, null) - })); - } - - return _react.default.createElement(_ErrorPage.default, { - error: 'loading asset data...' - }); - } - }]); - - _inherits(ShowAssetDetails, _React$Component); - - return ShowAssetDetails; -}(_react.default.Component); - -; -var _default = ShowAssetDetails; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ShowAssetLite/index.js b/client/build/pages/ShowAssetLite/index.js deleted file mode 100644 index 092c5daa..00000000 --- a/client/build/pages/ShowAssetLite/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - // select request info - var requestId = show.request.id; // select asset info - - var asset; - var request = show.requestList[requestId] || null; - var assetList = show.assetList; - - if (request && assetList) { - var assetKey = request.key; // note: just store this in the request - - asset = assetList[assetKey] || null; - } - - ; // return props - - return { - asset: asset - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ShowAssetLite/view.js b/client/build/pages/ShowAssetLite/view.js deleted file mode 100644 index aecfb7a1..00000000 --- a/client/build/pages/ShowAssetLite/view.js +++ /dev/null @@ -1,97 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _reactRouterDom = require("react-router-dom"); - -var _PageLayoutShowLite = _interopRequireDefault(require("@components/PageLayoutShowLite")); - -var _AssetDisplay = _interopRequireDefault(require("@containers/AssetDisplay")); - -var _SpaceAround = _interopRequireDefault(require("@components/SpaceAround")); - -var _VerticalSplit = _interopRequireDefault(require("@components/VerticalSplit")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var AssetLiteFooter = function AssetLiteFooter(_ref) { - var name = _ref.name, - claimId = _ref.claimId; - return _react.default.createElement(_SpaceAround.default, null, _react.default.createElement("p", { - className: 'text--extra-small' - }, _react.default.createElement(_reactRouterDom.Link, { - className: "link--primary", - to: "/".concat(claimId, "/").concat(name) - }, " hosted on spee.ch"), " via the ", _react.default.createElement("a", { - className: "link--primary", - href: 'https://lbry.io/get', - target: '_blank' - }, "LBRY"), " blockchain")); -}; - -var ShowLite = -/*#__PURE__*/ -function (_React$Component) { - function ShowLite() { - _classCallCheck(this, ShowLite); - - return _possibleConstructorReturn(this, _getPrototypeOf(ShowLite).apply(this, arguments)); - } - - _createClass(ShowLite, [{ - key: "render", - value: function render() { - var asset = this.props.asset; - - if (asset) { - var _asset$claimData = asset.claimData, - name = _asset$claimData.name, - claimId = _asset$claimData.claimId; - return _react.default.createElement(_PageLayoutShowLite.default, { - pageTitle: name, - asset: asset - }, _react.default.createElement(_VerticalSplit.default, { - top: _react.default.createElement(_AssetDisplay.default, null), - bottom: _react.default.createElement(AssetLiteFooter, { - name: name, - claimId: claimId - }) - })); - } - - return _react.default.createElement("div", null, _react.default.createElement("p", { - className: 'text--secondary' - }, "loading asset data...")); - } - }]); - - _inherits(ShowLite, _React$Component); - - return ShowLite; -}(_react.default.Component); - -var _default = ShowLite; -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ShowChannel/index.js b/client/build/pages/ShowChannel/index.js deleted file mode 100644 index 9c3d0661..00000000 --- a/client/build/pages/ShowChannel/index.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _reactRedux = require("react-redux"); - -var _view = _interopRequireDefault(require("./view")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var mapStateToProps = function mapStateToProps(_ref) { - var show = _ref.show; - // select request info - var requestId = show.request.id; // select request - - var previousRequest = show.requestList[requestId] || null; // select channel - - var channel; - - if (previousRequest) { - var channelKey = previousRequest.key; - channel = show.channelList[channelKey] || null; - } - - return { - channel: channel - }; -}; - -var _default = (0, _reactRedux.connect)(mapStateToProps, null)(_view.default); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/pages/ShowChannel/view.js b/client/build/pages/ShowChannel/view.js deleted file mode 100644 index a71bc374..00000000 --- a/client/build/pages/ShowChannel/view.js +++ /dev/null @@ -1,81 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _react = _interopRequireDefault(require("react")); - -var _PageLayout = _interopRequireDefault(require("@components/PageLayout")); - -var _ErrorPage = _interopRequireDefault(require("@pages/ErrorPage")); - -var _ChannelInfoDisplay = _interopRequireDefault(require("@components/ChannelInfoDisplay")); - -var _ChannelClaimsDisplay = _interopRequireDefault(require("@containers/ChannelClaimsDisplay")); - -var _Row = _interopRequireDefault(require("@components/Row")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } _setPrototypeOf(subClass.prototype, superClass && superClass.prototype); if (superClass) _setPrototypeOf(subClass, superClass); } - -function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } - -function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } - -function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } - -function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } - -function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } - -function _getPrototypeOf(o) { _getPrototypeOf = Object.getPrototypeOf || function _getPrototypeOf(o) { return o.__proto__; }; return _getPrototypeOf(o); } - -var ShowChannel = -/*#__PURE__*/ -function (_React$Component) { - function ShowChannel() { - _classCallCheck(this, ShowChannel); - - return _possibleConstructorReturn(this, _getPrototypeOf(ShowChannel).apply(this, arguments)); - } - - _createClass(ShowChannel, [{ - key: "render", - value: function render() { - var channel = this.props.channel; - - if (channel) { - var name = channel.name, - longId = channel.longId, - shortId = channel.shortId; - return _react.default.createElement(_PageLayout.default, { - pageTitle: name, - channel: channel - }, _react.default.createElement(_Row.default, null, _react.default.createElement(_ChannelInfoDisplay.default, { - name: name, - longId: longId, - shortId: shortId - })), _react.default.createElement(_ChannelClaimsDisplay.default, null)); - } - - return _react.default.createElement(_ErrorPage.default, { - error: 'loading channel data...' - }); - } - }]); - - _inherits(ShowChannel, _React$Component); - - return ShowChannel; -}(_react.default.Component); - -; -var _default = ShowChannel; -exports.default = _default; \ No newline at end of file diff --git a/client/build/reducers/channel.js b/client/build/reducers/channel.js deleted file mode 100644 index 5d282535..00000000 --- a/client/build/reducers/channel.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var actions = _interopRequireWildcard(require("../constants/channel_action_types")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var initialState = { - loggedInChannel: { - name: null, - shortId: null, - longId: null - } -}; - -function _default() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case actions.CHANNEL_UPDATE: - return Object.assign({}, state, { - loggedInChannel: action.data - }); - - default: - return state; - } -} \ No newline at end of file diff --git a/client/build/reducers/channelCreate.js b/client/build/reducers/channelCreate.js deleted file mode 100644 index 0bfe53a6..00000000 --- a/client/build/reducers/channelCreate.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var actions = _interopRequireWildcard(require("../constants/channel_create_action_types")); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var initialState = { - name: { - value: '', - error: '' - }, - password: { - value: '', - error: '' - }, - status: null -}; - -function _default() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case actions.CHANNEL_CREATE_UPDATE_NAME: - return Object.assign({}, state, { - name: Object.assign({}, state.name, _defineProperty({}, action.data.name, action.data.value)) - }); - - case actions.CHANNEL_CREATE_UPDATE_PASSWORD: - return Object.assign({}, state, { - password: Object.assign({}, state.password, _defineProperty({}, action.data.name, action.data.value)) - }); - - case actions.CHANNEL_CREATE_UPDATE_STATUS: - return Object.assign({}, state, { - status: action.data - }); - - default: - return state; - } -} \ No newline at end of file diff --git a/client/build/reducers/index.js b/client/build/reducers/index.js deleted file mode 100644 index 9bc6f63b..00000000 --- a/client/build/reducers/index.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _redux = require("redux"); - -var _publish = _interopRequireDefault(require("./publish")); - -var _channel = _interopRequireDefault(require("./channel")); - -var _show = _interopRequireDefault(require("./show")); - -var _site = _interopRequireDefault(require("./site")); - -var _channelCreate = _interopRequireDefault(require("./channelCreate")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// modules -// local modules -var _default = (0, _redux.combineReducers)({ - channel: _channel.default, - channelCreate: _channelCreate.default, - publish: _publish.default, - show: _show.default, - site: _site.default -}); - -exports.default = _default; \ No newline at end of file diff --git a/client/build/reducers/publish.js b/client/build/reducers/publish.js deleted file mode 100644 index e1b0f4f0..00000000 --- a/client/build/reducers/publish.js +++ /dev/null @@ -1,123 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var actions = _interopRequireWildcard(require("../constants/publish_action_types")); - -var _publish_channel_select_states = require("../constants/publish_channel_select_states"); - -var _siteConfig = _interopRequireDefault(require("@config/siteConfig.json")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -// parse inputs -var disabledConfig = false; -var disabledMessageConfig = 'none'; -var thumbnailChannel = ''; -var thumbnailChannelId = ''; - -if (_siteConfig.default) { - if (_siteConfig.default.publishing) { - disabledConfig = _siteConfig.default.publishing.disabled; - disabledMessageConfig = _siteConfig.default.publishing.disabledMessage; - thumbnailChannel = _siteConfig.default.publishing.thumbnailChannel; - thumbnailChannelId = _siteConfig.default.publishing.thumbnailChannelId; - } -} // create initial state - - -var initialState = { - disabled: disabledConfig, - disabledMessage: disabledMessageConfig, - publishInChannel: false, - selectedChannel: _publish_channel_select_states.LOGIN, - showMetadataInputs: false, - status: { - status: null, - message: null - }, - error: { - file: null, - url: null, - channel: null - }, - file: null, - claim: '', - metadata: { - title: '', - description: '', - license: '', - nsfw: false - }, - thumbnail: null, - thumbnailChannel: thumbnailChannel, - thumbnailChannelId: thumbnailChannelId -}; - -function _default() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - case actions.FILE_SELECTED: - return Object.assign({}, initialState, { - // note: clears to initial state - file: action.data - }); - - case actions.FILE_CLEAR: - return initialState; - - case actions.METADATA_UPDATE: - return Object.assign({}, state, { - metadata: Object.assign({}, state.metadata, _defineProperty({}, action.data.name, action.data.value)) - }); - - case actions.CLAIM_UPDATE: - return Object.assign({}, state, { - claim: action.data - }); - - case actions.SET_PUBLISH_IN_CHANNEL: - return Object.assign({}, state, { - publishInChannel: action.channel - }); - - case actions.PUBLISH_STATUS_UPDATE: - return Object.assign({}, state, { - status: action.data - }); - - case actions.ERROR_UPDATE: - return Object.assign({}, state, { - error: Object.assign({}, state.error, _defineProperty({}, action.data.name, action.data.value)) - }); - - case actions.SELECTED_CHANNEL_UPDATE: - return Object.assign({}, state, { - selectedChannel: action.data - }); - - case actions.TOGGLE_METADATA_INPUTS: - return Object.assign({}, state, { - showMetadataInputs: action.data - }); - - case actions.THUMBNAIL_NEW: - return Object.assign({}, state, { - thumbnail: action.data - }); - - default: - return state; - } -} - -; \ No newline at end of file diff --git a/client/build/reducers/show.js b/client/build/reducers/show.js deleted file mode 100644 index c6868f06..00000000 --- a/client/build/reducers/show.js +++ /dev/null @@ -1,110 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var actions = _interopRequireWildcard(require("../constants/show_action_types")); - -var _asset_display_states = require("../constants/asset_display_states"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } - -var initialState = { - request: { - error: null, - type: null, - id: null - }, - requestList: {}, - channelList: {}, - assetList: {}, - displayAsset: { - error: null, - status: _asset_display_states.LOCAL_CHECK - } -}; - -function _default() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - // handle request - case actions.REQUEST_ERROR: - return Object.assign({}, state, { - request: Object.assign({}, state.request, { - error: action.data - }) - }); - - case actions.REQUEST_UPDATE: - return Object.assign({}, state, { - request: Object.assign({}, state.request, { - type: action.data.requestType, - id: action.data.requestId - }) - }); - // store requests - - case actions.REQUEST_LIST_ADD: - return Object.assign({}, state, { - requestList: Object.assign({}, state.requestList, _defineProperty({}, action.data.id, { - error: action.data.error, - key: action.data.key - })) - }); - // asset data - - case actions.ASSET_ADD: - return Object.assign({}, state, { - assetList: Object.assign({}, state.assetList, _defineProperty({}, action.data.id, { - error: action.data.error, - name: action.data.name, - claimId: action.data.claimId, - shortId: action.data.shortId, - claimData: action.data.claimData - })) - }); - // channel data - - case actions.CHANNEL_ADD: - return Object.assign({}, state, { - channelList: Object.assign({}, state.channelList, _defineProperty({}, action.data.id, { - name: action.data.name, - longId: action.data.longId, - shortId: action.data.shortId, - claimsData: action.data.claimsData - })) - }); - - case actions.CHANNEL_CLAIMS_UPDATE_SUCCESS: - return Object.assign({}, state, { - channelList: Object.assign({}, state.channelList, _defineProperty({}, action.data.channelListId, Object.assign({}, state.channelList[action.data.channelListId], { - claimsData: action.data.claimsData - }))) - }); - // display an asset - - case actions.FILE_AVAILABILITY_UPDATE: - return Object.assign({}, state, { - displayAsset: Object.assign({}, state.displayAsset, { - status: action.data - }) - }); - - case actions.DISPLAY_ASSET_ERROR: - return Object.assign({}, state, { - displayAsset: Object.assign({}, state.displayAsset, { - error: action.data, - status: _asset_display_states.ERROR - }) - }); - - default: - return state; - } -} \ No newline at end of file diff --git a/client/build/reducers/site.js b/client/build/reducers/site.js deleted file mode 100644 index 604f2e5d..00000000 --- a/client/build/reducers/site.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = _default; - -var _siteConfig = _interopRequireDefault(require("@config/siteConfig.json")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var initialState = { - description: 'default description', - googleAnalyticsId: 'default google id', - host: 'default host', - title: 'default title', - twitter: 'default twitter', - defaultDescription: 'default description', - defaultThumbnail: 'default thumbnail' -}; - -if (_siteConfig.default) { - var googleAnalyticsId = _siteConfig.default.analytics.googleId, - _siteConfig$assetDefa = _siteConfig.default.assetDefaults, - defaultThumbnail = _siteConfig$assetDefa.thumbnail, - defaultDescription = _siteConfig$assetDefa.description, - _siteConfig$details = _siteConfig.default.details, - description = _siteConfig$details.description, - host = _siteConfig$details.host, - title = _siteConfig$details.title, - twitter = _siteConfig$details.twitter; - initialState = { - description: description, - googleAnalyticsId: googleAnalyticsId, - host: host, - title: title, - twitter: twitter, - defaultDescription: defaultDescription, - defaultThumbnail: defaultThumbnail - }; -} - -function _default() { - var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState; - var action = arguments.length > 1 ? arguments[1] : undefined; - - switch (action.type) { - default: - return state; - } -} - -; \ No newline at end of file diff --git a/client/build/sagas/checkForLoggedInChannel.js b/client/build/sagas/checkForLoggedInChannel.js deleted file mode 100644 index 77e68d2a..00000000 --- a/client/build/sagas/checkForLoggedInChannel.js +++ /dev/null @@ -1,82 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchChannelLoginCheck = watchChannelLoginCheck; - -var _effects = require("redux-saga/effects"); - -var _channel_action_types = require("../constants/channel_action_types"); - -var _authApi = require("../api/authApi.js"); - -var _publish = require("../actions/publish"); - -var _channel = require("../actions/channel"); - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(checkForLoggedInChannelSaga), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchChannelLoginCheck); - -function checkForLoggedInChannelSaga() { - var response, _response, _response$data, channelName, shortChannelId, channelClaimId; - - return regeneratorRuntime.wrap(function checkForLoggedInChannelSaga$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return (0, _effects.call)(_authApi.checkForLoggedInChannelApi); - - case 3: - response = _context.sent; - _context.next = 9; - break; - - case 6: - _context.prev = 6; - _context.t0 = _context["catch"](0); - return _context.abrupt("return", console.log(_context.t0)); - - case 9: - if (!response.data) { - _context.next = 15; - break; - } - - _response = response, _response$data = _response.data, channelName = _response$data.channelName, shortChannelId = _response$data.shortChannelId, channelClaimId = _response$data.channelClaimId; - _context.next = 13; - return (0, _effects.put)((0, _publish.updateSelectedChannel)(channelName)); - - case 13: - _context.next = 15; - return (0, _effects.put)((0, _channel.updateLoggedInChannel)(channelName, shortChannelId, channelClaimId)); - - case 15: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[0, 6]]); -} - -function watchChannelLoginCheck() { - return regeneratorRuntime.wrap(function watchChannelLoginCheck$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(_channel_action_types.CHANNEL_LOGIN_CHECK, checkForLoggedInChannelSaga); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} \ No newline at end of file diff --git a/client/build/sagas/createChannel.js b/client/build/sagas/createChannel.js deleted file mode 100644 index df8a8c3e..00000000 --- a/client/build/sagas/createChannel.js +++ /dev/null @@ -1,134 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchChannelCreate = watchChannelCreate; - -var _effects = require("redux-saga/effects"); - -var _channel_create_action_types = require("../constants/channel_create_action_types"); - -var _channelCreate = require("../selectors/channelCreate"); - -var _validate = require("../utils/validate"); - -var _channelCreate2 = require("../actions/channelCreate"); - -var _channelApi = require("../api/channelApi"); - -var _channel = require("../actions/channel"); - -var _publish = require("../actions/publish"); - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(createChannel), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchChannelCreate); - -function createChannel() { - var _ref, name, password, channelName, shortChannelId, channelClaimId, _ref2; - - return regeneratorRuntime.wrap(function createChannel$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return (0, _effects.select)(_channelCreate.selectChannelCreateState); - - case 2: - _ref = _context.sent; - name = _ref.name; - password = _ref.password; - _context.prev = 5; - (0, _validate.validateCreateChannelNameInput)(name); - _context.next = 14; - break; - - case 9: - _context.prev = 9; - _context.t0 = _context["catch"](5); - _context.next = 13; - return (0, _effects.put)((0, _channelCreate2.updateChannelCreateName)('error', _context.t0.message)); - - case 13: - return _context.abrupt("return", _context.sent); - - case 14: - _context.prev = 14; - (0, _validate.validateCreateChannelPasswordInput)(password); - _context.next = 23; - break; - - case 18: - _context.prev = 18; - _context.t1 = _context["catch"](14); - _context.next = 22; - return (0, _effects.put)((0, _channelCreate2.updateChannelCreatePassword)('error', _context.t1.message)); - - case 22: - return _context.abrupt("return", _context.sent); - - case 23: - _context.next = 25; - return (0, _effects.put)((0, _channelCreate2.updateChannelCreateStatus)('We are publishing your new channel. Sit tight...')); - - case 25: - _context.prev = 25; - _context.next = 28; - return (0, _effects.call)(_channelApi.makeCreateChannelRequest, name.value, password.value); - - case 28: - _ref2 = _context.sent; - channelName = _ref2.channelName; - shortChannelId = _ref2.shortChannelId; - channelClaimId = _ref2.channelClaimId; - _context.next = 39; - break; - - case 34: - _context.prev = 34; - _context.t2 = _context["catch"](25); - _context.next = 38; - return (0, _effects.put)((0, _channelCreate2.updateChannelCreateStatus)(_context.t2.message)); - - case 38: - return _context.abrupt("return", _context.sent); - - case 39: - _context.next = 41; - return (0, _effects.put)((0, _channelCreate2.updateChannelCreateStatus)(null)); - - case 41: - _context.next = 43; - return (0, _effects.put)((0, _channel.updateLoggedInChannel)(channelName, shortChannelId, channelClaimId)); - - case 43: - _context.next = 45; - return (0, _effects.put)((0, _publish.updateSelectedChannel)(channelName)); - - case 45: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[5, 9], [14, 18], [25, 34]]); -} - -function watchChannelCreate() { - return regeneratorRuntime.wrap(function watchChannelCreate$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(_channel_create_action_types.CHANNEL_CREATE, createChannel); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} \ No newline at end of file diff --git a/client/build/sagas/file.js b/client/build/sagas/file.js deleted file mode 100644 index e7ae2676..00000000 --- a/client/build/sagas/file.js +++ /dev/null @@ -1,133 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchFileIsRequested = watchFileIsRequested; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/show_action_types")); - -var _show = require("../actions/show"); - -var _asset_display_states = require("../constants/asset_display_states"); - -var _fileApi = require("../api/fileApi"); - -var _site = require("../selectors/site"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(retrieveFile), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchFileIsRequested); - -function retrieveFile(action) { - var name, claimId, host, isAvailable, _ref; - - return regeneratorRuntime.wrap(function retrieveFile$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - name = action.data.name; - claimId = action.data.claimId; - _context.next = 4; - return (0, _effects.select)(_site.selectSiteHost); - - case 4: - host = _context.sent; - _context.prev = 5; - _context.next = 8; - return (0, _effects.call)(_fileApi.checkFileAvailability, claimId, host, name); - - case 8: - _ref = _context.sent; - isAvailable = _ref.data; - _context.next = 17; - break; - - case 12: - _context.prev = 12; - _context.t0 = _context["catch"](5); - _context.next = 16; - return (0, _effects.put)((0, _show.updateDisplayAssetError)(_context.t0.message)); - - case 16: - return _context.abrupt("return", _context.sent); - - case 17: - ; - - if (!isAvailable) { - _context.next = 24; - break; - } - - _context.next = 21; - return (0, _effects.put)((0, _show.updateDisplayAssetError)(null)); - - case 21: - _context.next = 23; - return (0, _effects.put)((0, _show.updateFileAvailability)(_asset_display_states.AVAILABLE)); - - case 23: - return _context.abrupt("return", _context.sent); - - case 24: - _context.next = 26; - return (0, _effects.put)((0, _show.updateFileAvailability)(_asset_display_states.UNAVAILABLE)); - - case 26: - _context.prev = 26; - _context.next = 29; - return (0, _effects.call)(_fileApi.triggerClaimGet, claimId, host, name); - - case 29: - _context.next = 36; - break; - - case 31: - _context.prev = 31; - _context.t1 = _context["catch"](26); - _context.next = 35; - return (0, _effects.put)((0, _show.updateDisplayAssetError)(_context.t1.message)); - - case 35: - return _context.abrupt("return", _context.sent); - - case 36: - ; - _context.next = 39; - return (0, _effects.put)((0, _show.updateFileAvailability)(_asset_display_states.AVAILABLE)); - - case 39: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[5, 12], [26, 31]]); -} - -; - -function watchFileIsRequested() { - return regeneratorRuntime.wrap(function watchFileIsRequested$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(actions.FILE_REQUESTED, retrieveFile); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} - -; \ No newline at end of file diff --git a/client/build/sagas/index.js b/client/build/sagas/index.js deleted file mode 100644 index 59ee61cc..00000000 --- a/client/build/sagas/index.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; - -var _rootSaga = require("./rootSaga"); - -var _show_uri = require("./show_uri"); - -var _default = { - rootSaga: _rootSaga.rootSaga, - handleShowPageUri: _show_uri.handleShowPageUri -}; -exports.default = _default; \ No newline at end of file diff --git a/client/build/sagas/logoutChannel.js b/client/build/sagas/logoutChannel.js deleted file mode 100644 index 9eb101e3..00000000 --- a/client/build/sagas/logoutChannel.js +++ /dev/null @@ -1,67 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchChannelLogout = watchChannelLogout; - -var _effects = require("redux-saga/effects"); - -var _channel_action_types = require("../constants/channel_action_types"); - -var _authApi = require("../api/authApi.js"); - -var _channel = require("../actions/channel"); - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(logoutChannelSaga), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchChannelLogout); - -function logoutChannelSaga() { - return regeneratorRuntime.wrap(function logoutChannelSaga$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return (0, _effects.call)(_authApi.channelLogoutApi); - - case 3: - _context.next = 8; - break; - - case 5: - _context.prev = 5; - _context.t0 = _context["catch"](0); - return _context.abrupt("return", console.log(_context.t0)); - - case 8: - _context.next = 10; - return (0, _effects.put)((0, _channel.updateLoggedInChannel)(null, null, null)); - - case 10: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[0, 5]]); -} - -function watchChannelLogout() { - return regeneratorRuntime.wrap(function watchChannelLogout$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(_channel_action_types.CHANNEL_LOGOUT, logoutChannelSaga); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} \ No newline at end of file diff --git a/client/build/sagas/publish.js b/client/build/sagas/publish.js deleted file mode 100644 index dcb676b5..00000000 --- a/client/build/sagas/publish.js +++ /dev/null @@ -1,213 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchPublishStart = watchPublishStart; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/publish_action_types")); - -var publishStates = _interopRequireWildcard(require("../constants/publish_claim_states")); - -var _publish = require("../actions/publish"); - -var _publish2 = require("../selectors/publish"); - -var _channel = require("../selectors/channel"); - -var _site = require("../selectors/site"); - -var _validate = require("../utils/validate"); - -var _publish3 = require("../utils/publish"); - -var _publish4 = require("../channels/publish"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(publishFile), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchPublishStart); - -function publishFile(action) { - var history, _ref, publishInChannel, selectedChannel, file, claim, metadata, thumbnailChannel, thumbnailChannelId, thumbnail, publishToolErrors, _ref2, loggedInChannel, _ref3, host, publishMetadata, publishFormData, publishChannel, _ref4, loadStart, progress, load, success, publishError; - - return regeneratorRuntime.wrap(function publishFile$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - history = action.data.history; - _context.next = 3; - return (0, _effects.select)(_publish2.selectPublishState); - - case 3: - _ref = _context.sent; - publishInChannel = _ref.publishInChannel; - selectedChannel = _ref.selectedChannel; - file = _ref.file; - claim = _ref.claim; - metadata = _ref.metadata; - thumbnailChannel = _ref.thumbnailChannel; - thumbnailChannelId = _ref.thumbnailChannelId; - thumbnail = _ref.thumbnail; - publishToolErrors = _ref.error; - _context.next = 15; - return (0, _effects.select)(_channel.selectChannelState); - - case 15: - _ref2 = _context.sent; - loggedInChannel = _ref2.loggedInChannel; - _context.next = 19; - return (0, _effects.select)(_site.selectSiteState); - - case 19: - _ref3 = _context.sent; - host = _ref3.host; - _context.prev = 21; - (0, _validate.validateChannelSelection)(publishInChannel, selectedChannel, loggedInChannel); - _context.next = 30; - break; - - case 25: - _context.prev = 25; - _context.t0 = _context["catch"](21); - _context.next = 29; - return (0, _effects.put)((0, _publish.updateError)('channel', _context.t0.message)); - - case 29: - return _context.abrupt("return", _context.sent); - - case 30: - ; // validate publish parameters - - _context.prev = 31; - (0, _validate.validateNoPublishErrors)(publishToolErrors); - _context.next = 38; - break; - - case 35: - _context.prev = 35; - _context.t1 = _context["catch"](31); - return _context.abrupt("return", console.log('publish error:', _context.t1.message)); - - case 38: - // create metadata - publishMetadata = (0, _publish3.createPublishMetadata)(claim, file, metadata, publishInChannel, selectedChannel); - - if (thumbnail) { - // add thumbnail to publish metadata - publishMetadata['thumbnail'] = (0, _publish3.createThumbnailUrl)(thumbnailChannel, thumbnailChannelId, claim, host); - } // create form data for main publish - - - publishFormData = (0, _publish3.createPublishFormData)(file, thumbnail, publishMetadata); // make the publish request - - _context.next = 43; - return (0, _effects.call)(_publish4.makePublishRequestChannel, publishFormData); - - case 43: - publishChannel = _context.sent; - - case 44: - if (!true) { - _context.next = 72; - break; - } - - _context.next = 47; - return (0, _effects.take)(publishChannel); - - case 47: - _ref4 = _context.sent; - loadStart = _ref4.loadStart; - progress = _ref4.progress; - load = _ref4.load; - success = _ref4.success; - publishError = _ref4.error; - - if (!publishError) { - _context.next = 57; - break; - } - - _context.next = 56; - return (0, _effects.put)((0, _publish.updatePublishStatus)(publishStates.FAILED, publishError.message)); - - case 56: - return _context.abrupt("return", _context.sent); - - case 57: - if (!success) { - _context.next = 61; - break; - } - - _context.next = 60; - return (0, _effects.put)((0, _publish.clearFile)()); - - case 60: - return _context.abrupt("return", history.push("/".concat(success.data.claimId, "/").concat(success.data.name))); - - case 61: - if (!loadStart) { - _context.next = 64; - break; - } - - _context.next = 64; - return (0, _effects.put)((0, _publish.updatePublishStatus)(publishStates.LOAD_START, null)); - - case 64: - if (!progress) { - _context.next = 67; - break; - } - - _context.next = 67; - return (0, _effects.put)((0, _publish.updatePublishStatus)(publishStates.LOADING, "".concat(progress, "%"))); - - case 67: - if (!load) { - _context.next = 70; - break; - } - - _context.next = 70; - return (0, _effects.put)((0, _publish.updatePublishStatus)(publishStates.PUBLISHING, null)); - - case 70: - _context.next = 44; - break; - - case 72: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[21, 25], [31, 35]]); -} - -; - -function watchPublishStart() { - return regeneratorRuntime.wrap(function watchPublishStart$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(actions.PUBLISH_START, publishFile); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} - -; \ No newline at end of file diff --git a/client/build/sagas/rootSaga.js b/client/build/sagas/rootSaga.js deleted file mode 100644 index 818ed43a..00000000 --- a/client/build/sagas/rootSaga.js +++ /dev/null @@ -1,48 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.rootSaga = rootSaga; - -var _effects = require("redux-saga/effects"); - -var _show_uri = require("./show_uri"); - -var _show_asset = require("./show_asset"); - -var _show_channel = require("./show_channel"); - -var _file = require("./file"); - -var _publish = require("./publish"); - -var _updateClaimAvailability = require("./updateClaimAvailability"); - -var _updateChannelAvailability = require("./updateChannelAvailability"); - -var _createChannel = require("./createChannel"); - -var _checkForLoggedInChannel = require("./checkForLoggedInChannel"); - -var _logoutChannel = require("./logoutChannel"); - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(rootSaga); - -function rootSaga() { - return regeneratorRuntime.wrap(function rootSaga$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return (0, _effects.all)([(0, _show_uri.watchHandleShowPageUri)(), (0, _show_asset.watchNewAssetRequest)(), (0, _show_channel.watchNewChannelRequest)(), (0, _show_channel.watchUpdateChannelClaims)(), (0, _file.watchFileIsRequested)(), (0, _publish.watchPublishStart)(), (0, _updateClaimAvailability.watchUpdateClaimAvailability)(), (0, _updateChannelAvailability.watchUpdateChannelAvailability)(), (0, _createChannel.watchChannelCreate)(), (0, _checkForLoggedInChannel.watchChannelLoginCheck)(), (0, _logoutChannel.watchChannelLogout)()]); - - case 2: - case "end": - return _context.stop(); - } - } - }, _marked, this); -} \ No newline at end of file diff --git a/client/build/sagas/show_asset.js b/client/build/sagas/show_asset.js deleted file mode 100644 index 25bc1a95..00000000 --- a/client/build/sagas/show_asset.js +++ /dev/null @@ -1,168 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.newAssetRequest = newAssetRequest; -exports.watchNewAssetRequest = watchNewAssetRequest; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/show_action_types")); - -var _show = require("../actions/show"); - -var _assetApi = require("../api/assetApi"); - -var _show2 = require("../selectors/show"); - -var _site = require("../selectors/site"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(newAssetRequest), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchNewAssetRequest); - -function newAssetRequest(action) { - var _action$data, requestType, requestId, name, modifier, state, host, longId, _ref, assetKey, shortId, _ref2, claimData, _ref3; - - return regeneratorRuntime.wrap(function newAssetRequest$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _action$data = action.data, requestType = _action$data.requestType, requestId = _action$data.requestId, name = _action$data.name, modifier = _action$data.modifier; // put an action to update the request in redux - - _context.next = 3; - return (0, _effects.put)((0, _show.onRequestUpdate)(requestType, requestId)); - - case 3: - _context.next = 5; - return (0, _effects.select)(_show2.selectShowState); - - case 5: - state = _context.sent; - _context.next = 8; - return (0, _effects.select)(_site.selectSiteHost); - - case 8: - host = _context.sent; - - if (!state.requestList[requestId]) { - _context.next = 11; - break; - } - - return _context.abrupt("return", null); - - case 11: - _context.prev = 11; - _context.next = 14; - return (0, _effects.call)(_assetApi.getLongClaimId, host, name, modifier); - - case 14: - _ref = _context.sent; - longId = _ref.data; - _context.next = 23; - break; - - case 18: - _context.prev = 18; - _context.t0 = _context["catch"](11); - _context.next = 22; - return (0, _effects.put)((0, _show.onRequestError)(_context.t0.message)); - - case 22: - return _context.abrupt("return", _context.sent); - - case 23: - assetKey = "a#".concat(name, "#").concat(longId); - _context.next = 26; - return (0, _effects.put)((0, _show.addRequestToRequestList)(requestId, null, assetKey)); - - case 26: - if (!state.assetList[assetKey]) { - _context.next = 28; - break; - } - - return _context.abrupt("return", null); - - case 28: - _context.prev = 28; - _context.next = 31; - return (0, _effects.call)(_assetApi.getShortId, host, name, longId); - - case 31: - _ref2 = _context.sent; - shortId = _ref2.data; - _context.next = 40; - break; - - case 35: - _context.prev = 35; - _context.t1 = _context["catch"](28); - _context.next = 39; - return (0, _effects.put)((0, _show.onRequestError)(_context.t1.message)); - - case 39: - return _context.abrupt("return", _context.sent); - - case 40: - _context.prev = 40; - _context.next = 43; - return (0, _effects.call)(_assetApi.getClaimData, host, name, longId); - - case 43: - _ref3 = _context.sent; - claimData = _ref3.data; - _context.next = 52; - break; - - case 47: - _context.prev = 47; - _context.t2 = _context["catch"](40); - _context.next = 51; - return (0, _effects.put)((0, _show.onRequestError)(_context.t2.message)); - - case 51: - return _context.abrupt("return", _context.sent); - - case 52: - _context.next = 54; - return (0, _effects.put)((0, _show.addAssetToAssetList)(assetKey, null, name, longId, shortId, claimData)); - - case 54: - _context.next = 56; - return (0, _effects.put)((0, _show.onRequestError)(null)); - - case 56: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[11, 18], [28, 35], [40, 47]]); -} - -; - -function watchNewAssetRequest() { - return regeneratorRuntime.wrap(function watchNewAssetRequest$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(actions.ASSET_REQUEST_NEW, newAssetRequest); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} - -; \ No newline at end of file diff --git a/client/build/sagas/show_channel.js b/client/build/sagas/show_channel.js deleted file mode 100644 index 17a39e2f..00000000 --- a/client/build/sagas/show_channel.js +++ /dev/null @@ -1,213 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.newChannelRequest = newChannelRequest; -exports.watchNewChannelRequest = watchNewChannelRequest; -exports.watchUpdateChannelClaims = watchUpdateChannelClaims; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/show_action_types")); - -var _show = require("../actions/show"); - -var _channelApi = require("../api/channelApi"); - -var _show2 = require("../selectors/show"); - -var _site = require("../selectors/site"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(newChannelRequest), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchNewChannelRequest), - _marked3 = -/*#__PURE__*/ -regeneratorRuntime.mark(getNewClaimsAndUpdateChannel), - _marked4 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchUpdateChannelClaims); - -function newChannelRequest(action) { - var _action$data, requestType, requestId, channelName, channelId, claimsData, state, host, longId, shortId, _ref, _ref$data, channelKey, _ref2; - - return regeneratorRuntime.wrap(function newChannelRequest$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _action$data = action.data, requestType = _action$data.requestType, requestId = _action$data.requestId, channelName = _action$data.channelName, channelId = _action$data.channelId; - _context.next = 3; - return (0, _effects.put)((0, _show.onRequestUpdate)(requestType, requestId)); - - case 3: - _context.next = 5; - return (0, _effects.select)(_show2.selectShowState); - - case 5: - state = _context.sent; - _context.next = 8; - return (0, _effects.select)(_site.selectSiteHost); - - case 8: - host = _context.sent; - - if (!state.requestList[requestId]) { - _context.next = 11; - break; - } - - return _context.abrupt("return", null); - - case 11: - _context.prev = 11; - _context.next = 14; - return (0, _effects.call)(_channelApi.getChannelData, host, channelName, channelId); - - case 14: - _ref = _context.sent; - _ref$data = _ref.data; - longId = _ref$data.longChannelClaimId; - shortId = _ref$data.shortChannelClaimId; - _context.next = 25; - break; - - case 20: - _context.prev = 20; - _context.t0 = _context["catch"](11); - _context.next = 24; - return (0, _effects.put)((0, _show.onRequestError)(_context.t0.message)); - - case 24: - return _context.abrupt("return", _context.sent); - - case 25: - // store the request in the channel requests list - channelKey = "c#".concat(channelName, "#").concat(longId); - _context.next = 28; - return (0, _effects.put)((0, _show.addRequestToRequestList)(requestId, null, channelKey)); - - case 28: - if (!state.channelList[channelKey]) { - _context.next = 30; - break; - } - - return _context.abrupt("return", null); - - case 30: - _context.prev = 30; - _context.next = 33; - return (0, _effects.call)(_channelApi.getChannelClaims, host, channelName, longId, 1); - - case 33: - _ref2 = _context.sent; - claimsData = _ref2.data; - _context.next = 42; - break; - - case 37: - _context.prev = 37; - _context.t1 = _context["catch"](30); - _context.next = 41; - return (0, _effects.put)((0, _show.onRequestError)(_context.t1.message)); - - case 41: - return _context.abrupt("return", _context.sent); - - case 42: - _context.next = 44; - return (0, _effects.put)((0, _show.addNewChannelToChannelList)(channelKey, channelName, shortId, longId, claimsData)); - - case 44: - _context.next = 46; - return (0, _effects.put)((0, _show.onRequestError)(null)); - - case 46: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[11, 20], [30, 37]]); -} - -function watchNewChannelRequest() { - return regeneratorRuntime.wrap(function watchNewChannelRequest$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(actions.CHANNEL_REQUEST_NEW, newChannelRequest); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} - -function getNewClaimsAndUpdateChannel(action) { - var _action$data2, channelKey, name, longId, page, host, claimsData, _ref3; - - return regeneratorRuntime.wrap(function getNewClaimsAndUpdateChannel$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _action$data2 = action.data, channelKey = _action$data2.channelKey, name = _action$data2.name, longId = _action$data2.longId, page = _action$data2.page; - _context3.next = 3; - return (0, _effects.select)(_site.selectSiteHost); - - case 3: - host = _context3.sent; - _context3.prev = 4; - _context3.next = 7; - return (0, _effects.call)(_channelApi.getChannelClaims, host, name, longId, page); - - case 7: - _ref3 = _context3.sent; - claimsData = _ref3.data; - _context3.next = 16; - break; - - case 11: - _context3.prev = 11; - _context3.t0 = _context3["catch"](4); - _context3.next = 15; - return (0, _effects.put)((0, _show.onRequestError)(_context3.t0.message)); - - case 15: - return _context3.abrupt("return", _context3.sent); - - case 16: - _context3.next = 18; - return (0, _effects.put)((0, _show.updateChannelClaims)(channelKey, claimsData)); - - case 18: - case "end": - return _context3.stop(); - } - } - }, _marked3, this, [[4, 11]]); -} - -function watchUpdateChannelClaims() { - return regeneratorRuntime.wrap(function watchUpdateChannelClaims$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - _context4.next = 2; - return (0, _effects.takeLatest)(actions.CHANNEL_CLAIMS_UPDATE_ASYNC, getNewClaimsAndUpdateChannel); - - case 2: - case "end": - return _context4.stop(); - } - } - }, _marked4, this); -} \ No newline at end of file diff --git a/client/build/sagas/show_uri.js b/client/build/sagas/show_uri.js deleted file mode 100644 index b00c17fb..00000000 --- a/client/build/sagas/show_uri.js +++ /dev/null @@ -1,206 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.handleShowPageUri = handleShowPageUri; -exports.watchHandleShowPageUri = watchHandleShowPageUri; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/show_action_types")); - -var _show = require("../actions/show"); - -var _show_asset = require("../sagas/show_asset"); - -var _show_channel = require("../sagas/show_channel"); - -var _lbryUri = _interopRequireDefault(require("../utils/lbryUri")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(parseAndUpdateIdentifierAndClaim), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(parseAndUpdateClaimOnly), - _marked3 = -/*#__PURE__*/ -regeneratorRuntime.mark(handleShowPageUri), - _marked4 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchHandleShowPageUri); - -function parseAndUpdateIdentifierAndClaim(modifier, claim) { - var isChannel, channelName, channelClaimId, claimId, claimName, extension, _lbryUri$parseIdentif, _lbryUri$parseClaim; - - return regeneratorRuntime.wrap(function parseAndUpdateIdentifierAndClaim$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _lbryUri$parseIdentif = _lbryUri.default.parseIdentifier(modifier); - isChannel = _lbryUri$parseIdentif.isChannel; - channelName = _lbryUri$parseIdentif.channelName; - channelClaimId = _lbryUri$parseIdentif.channelClaimId; - claimId = _lbryUri$parseIdentif.claimId; - _lbryUri$parseClaim = _lbryUri.default.parseClaim(claim); - claimName = _lbryUri$parseClaim.claimName; - extension = _lbryUri$parseClaim.extension; - _context.next = 16; - break; - - case 11: - _context.prev = 11; - _context.t0 = _context["catch"](0); - _context.next = 15; - return (0, _effects.put)((0, _show.onRequestError)(_context.t0.message)); - - case 15: - return _context.abrupt("return", _context.sent); - - case 16: - if (!isChannel) { - _context.next = 20; - break; - } - - _context.next = 19; - return (0, _effects.call)(_show_asset.newAssetRequest, (0, _show.onNewAssetRequest)(claimName, null, channelName, channelClaimId, extension)); - - case 19: - return _context.abrupt("return", _context.sent); - - case 20: - ; - _context.next = 23; - return (0, _effects.call)(_show_asset.newAssetRequest, (0, _show.onNewAssetRequest)(claimName, claimId, null, null, extension)); - - case 23: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[0, 11]]); -} - -function parseAndUpdateClaimOnly(claim) { - var isChannel, channelName, channelClaimId, _lbryUri$parseIdentif2, claimName, extension, _lbryUri$parseClaim2; - - return regeneratorRuntime.wrap(function parseAndUpdateClaimOnly$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.prev = 0; - _lbryUri$parseIdentif2 = _lbryUri.default.parseIdentifier(claim); - isChannel = _lbryUri$parseIdentif2.isChannel; - channelName = _lbryUri$parseIdentif2.channelName; - channelClaimId = _lbryUri$parseIdentif2.channelClaimId; - _context2.next = 12; - break; - - case 7: - _context2.prev = 7; - _context2.t0 = _context2["catch"](0); - _context2.next = 11; - return (0, _effects.put)((0, _show.onRequestError)(_context2.t0.message)); - - case 11: - return _context2.abrupt("return", _context2.sent); - - case 12: - if (!isChannel) { - _context2.next = 16; - break; - } - - _context2.next = 15; - return (0, _effects.call)(_show_channel.newChannelRequest, (0, _show.onNewChannelRequest)(channelName, channelClaimId)); - - case 15: - return _context2.abrupt("return", _context2.sent); - - case 16: - _context2.prev = 16; - _lbryUri$parseClaim2 = _lbryUri.default.parseClaim(claim); - claimName = _lbryUri$parseClaim2.claimName; - extension = _lbryUri$parseClaim2.extension; - _context2.next = 27; - break; - - case 22: - _context2.prev = 22; - _context2.t1 = _context2["catch"](16); - _context2.next = 26; - return (0, _effects.put)((0, _show.onRequestError)(_context2.t1.message)); - - case 26: - return _context2.abrupt("return", _context2.sent); - - case 27: - _context2.next = 29; - return (0, _effects.call)(_show_asset.newAssetRequest, (0, _show.onNewAssetRequest)(claimName, null, null, null, extension)); - - case 29: - case "end": - return _context2.stop(); - } - } - }, _marked2, this, [[0, 7], [16, 22]]); -} - -function handleShowPageUri(action) { - var _action$data, identifier, claim; - - return regeneratorRuntime.wrap(function handleShowPageUri$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _action$data = action.data, identifier = _action$data.identifier, claim = _action$data.claim; - - if (!identifier) { - _context3.next = 5; - break; - } - - _context3.next = 4; - return (0, _effects.call)(parseAndUpdateIdentifierAndClaim, identifier, claim); - - case 4: - return _context3.abrupt("return", _context3.sent); - - case 5: - _context3.next = 7; - return (0, _effects.call)(parseAndUpdateClaimOnly, claim); - - case 7: - case "end": - return _context3.stop(); - } - } - }, _marked3, this); -} - -; - -function watchHandleShowPageUri() { - return regeneratorRuntime.wrap(function watchHandleShowPageUri$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - _context4.next = 2; - return (0, _effects.takeLatest)(actions.HANDLE_SHOW_URI, handleShowPageUri); - - case 2: - case "end": - return _context4.stop(); - } - } - }, _marked4, this); -} - -; \ No newline at end of file diff --git a/client/build/sagas/updateChannelAvailability.js b/client/build/sagas/updateChannelAvailability.js deleted file mode 100644 index 0123267e..00000000 --- a/client/build/sagas/updateChannelAvailability.js +++ /dev/null @@ -1,88 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchUpdateChannelAvailability = watchUpdateChannelAvailability; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/channel_create_action_types")); - -var _channelApi = require("../api/channelApi"); - -var _channelCreate = require("../actions/channelCreate"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(updateChannelAvailability), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchUpdateChannelAvailability); - -function updateChannelAvailability(_ref) { - var data, isAvailable, message, _ref2; - - return regeneratorRuntime.wrap(function updateChannelAvailability$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - data = _ref.data; - _context.prev = 1; - _context.next = 4; - return (0, _effects.call)(_channelApi.checkChannelAvailability, data); - - case 4: - _ref2 = _context.sent; - isAvailable = _ref2.data; - message = _ref2.message; - console.log('isAvailable:', isAvailable, 'message:', message); - _context.next = 13; - break; - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](1); - console.log('updateClaimAvailability error'); - - case 13: - if (isAvailable) { - _context.next = 17; - break; - } - - _context.next = 16; - return (0, _effects.put)((0, _channelCreate.updateChannelCreateName)('error', message)); - - case 16: - return _context.abrupt("return", _context.sent); - - case 17: - _context.next = 19; - return (0, _effects.put)((0, _channelCreate.updateChannelCreateName)('error', null)); - - case 19: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[1, 10]]); -} - -function watchUpdateChannelAvailability() { - return regeneratorRuntime.wrap(function watchUpdateChannelAvailability$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(actions.CHANNEL_AVAILABILITY, updateChannelAvailability); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} \ No newline at end of file diff --git a/client/build/sagas/updateClaimAvailability.js b/client/build/sagas/updateClaimAvailability.js deleted file mode 100644 index 950f5c4e..00000000 --- a/client/build/sagas/updateClaimAvailability.js +++ /dev/null @@ -1,87 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.watchUpdateClaimAvailability = watchUpdateClaimAvailability; - -var _effects = require("redux-saga/effects"); - -var actions = _interopRequireWildcard(require("../constants/publish_action_types")); - -var _publish = require("../actions/publish"); - -var _assetApi = require("../api/assetApi"); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } - -var _marked = -/*#__PURE__*/ -regeneratorRuntime.mark(updateClaimAvailability), - _marked2 = -/*#__PURE__*/ -regeneratorRuntime.mark(watchUpdateClaimAvailability); - -function updateClaimAvailability(_ref) { - var data, isAvailable, message, _ref2; - - return regeneratorRuntime.wrap(function updateClaimAvailability$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - data = _ref.data; - _context.prev = 1; - _context.next = 4; - return (0, _effects.call)(_assetApi.checkClaimAvailability, data); - - case 4: - _ref2 = _context.sent; - isAvailable = _ref2.data; - message = _ref2.message; - _context.next = 12; - break; - - case 9: - _context.prev = 9; - _context.t0 = _context["catch"](1); - return _context.abrupt("return", console.log(_context.t0)); - - case 12: - if (isAvailable) { - _context.next = 16; - break; - } - - _context.next = 15; - return (0, _effects.put)((0, _publish.updateError)('url', message)); - - case 15: - return _context.abrupt("return", _context.sent); - - case 16: - _context.next = 18; - return (0, _effects.put)((0, _publish.updateError)('url', null)); - - case 18: - case "end": - return _context.stop(); - } - } - }, _marked, this, [[1, 9]]); -} - -function watchUpdateClaimAvailability() { - return regeneratorRuntime.wrap(function watchUpdateClaimAvailability$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return (0, _effects.takeLatest)(actions.CLAIM_AVAILABILITY, updateClaimAvailability); - - case 2: - case "end": - return _context2.stop(); - } - } - }, _marked2, this); -} \ No newline at end of file diff --git a/client/build/selectors/channel.js b/client/build/selectors/channel.js deleted file mode 100644 index 7de26cd8..00000000 --- a/client/build/selectors/channel.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.selectChannelState = void 0; - -var selectChannelState = function selectChannelState(state) { - return state.channel; -}; - -exports.selectChannelState = selectChannelState; \ No newline at end of file diff --git a/client/build/selectors/channelCreate.js b/client/build/selectors/channelCreate.js deleted file mode 100644 index ce843e7b..00000000 --- a/client/build/selectors/channelCreate.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.selectChannelCreateState = void 0; - -var selectChannelCreateState = function selectChannelCreateState(state) { - return state.channelCreate; -}; - -exports.selectChannelCreateState = selectChannelCreateState; \ No newline at end of file diff --git a/client/build/selectors/publish.js b/client/build/selectors/publish.js deleted file mode 100644 index de4b99d4..00000000 --- a/client/build/selectors/publish.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.selectPublishState = void 0; - -var selectPublishState = function selectPublishState(state) { - return state.publish; -}; - -exports.selectPublishState = selectPublishState; \ No newline at end of file diff --git a/client/build/selectors/show.js b/client/build/selectors/show.js deleted file mode 100644 index 069258cd..00000000 --- a/client/build/selectors/show.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.selectShowState = exports.selectAsset = void 0; - -var selectAsset = function selectAsset(show) { - var request = show.requestList[show.request.id]; - var assetKey = request.key; - return show.assetList[assetKey]; -}; - -exports.selectAsset = selectAsset; - -var selectShowState = function selectShowState(state) { - return state.show; -}; - -exports.selectShowState = selectShowState; \ No newline at end of file diff --git a/client/build/selectors/site.js b/client/build/selectors/site.js deleted file mode 100644 index 29bfd70a..00000000 --- a/client/build/selectors/site.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.selectSiteHost = exports.selectSiteState = void 0; - -var selectSiteState = function selectSiteState(state) { - return state.site; -}; - -exports.selectSiteState = selectSiteState; - -var selectSiteHost = function selectSiteHost(state) { - return state.site.host; -}; - -exports.selectSiteHost = selectSiteHost; \ No newline at end of file diff --git a/client/build/utils/canonicalLink.js b/client/build/utils/canonicalLink.js deleted file mode 100644 index 8f42085b..00000000 --- a/client/build/utils/canonicalLink.js +++ /dev/null @@ -1,51 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createCanonicalLink = void 0; - -var createBasicCanonicalLink = function createBasicCanonicalLink(page, siteHost) { - return "".concat(siteHost, "/").concat(page); -}; - -var createAssetCanonicalLink = function createAssetCanonicalLink(asset, siteHost) { - var channelName, certificateId, name, claimId; - - if (asset.claimData) { - var _asset$claimData = asset.claimData; - channelName = _asset$claimData.channelName; - certificateId = _asset$claimData.certificateId; - name = _asset$claimData.name; - claimId = _asset$claimData.claimId; - } - - ; - - if (channelName) { - return "".concat(siteHost, "/").concat(channelName, ":").concat(certificateId, "/").concat(name); - } - - ; - return "".concat(siteHost, "/").concat(claimId, "/").concat(name); -}; - -var createChannelCanonicalLink = function createChannelCanonicalLink(channel, siteHost) { - var name = channel.name, - longId = channel.longId; - return "".concat(siteHost, "/").concat(name, ":").concat(longId); -}; - -var createCanonicalLink = function createCanonicalLink(asset, channel, page, siteHost) { - if (asset) { - return createAssetCanonicalLink(asset, siteHost); - } - - if (channel) { - return createChannelCanonicalLink(channel, siteHost); - } - - return createBasicCanonicalLink(page, siteHost); -}; - -exports.createCanonicalLink = createCanonicalLink; \ No newline at end of file diff --git a/client/build/utils/createGroupedList.js b/client/build/utils/createGroupedList.js deleted file mode 100644 index 33339794..00000000 --- a/client/build/utils/createGroupedList.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createGroupedList = void 0; - -var createGroupedList = function createGroupedList(list, size) { - if (!size) { - throw new Error('no size provided to createGroupedList'); - } - - if (!list) { - throw new Error('no list provided to createGroupedList'); - } - - var groupedList = []; - - for (var i = 0; i < list.length; i = i + size) { - var group = []; - - for (var j = i; j < i + size; j++) { - group.push(list[j]); - } - - groupedList.push(group); - } - - return groupedList; -}; - -exports.createGroupedList = createGroupedList; \ No newline at end of file diff --git a/client/build/utils/dynamicImport.js b/client/build/utils/dynamicImport.js deleted file mode 100644 index 6c3f465d..00000000 --- a/client/build/utils/dynamicImport.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.dynamicImport = void 0; - -function getDeepestChildValue(parent, childrenKeys) { - if (!parent[childrenKeys[0]]) { - return null; - } - - var childKey = childrenKeys.shift(); - var child = parent[childKey]; - - if (childrenKeys.length >= 1) { - return getDeepestChildValue(child, childrenKeys); - } - - return child; -} - -var dynamicImport = function dynamicImport(filePath, customViews) { - console.log('looking for', filePath, 'in', customViews); // validate inputs - - if (!filePath) { - throw new Error('no file path provided to dynamicImport()'); - } - - if (typeof filePath !== 'string') { - throw new Error('file path provided to dynamicImport() must be a string'); - } - - if (!customViews) { - return null; - } // split out the file folders; filter out any empty or white-space-only strings - - - var folders = filePath.split('/').filter(function (folderName) { - return folderName.replace(/\s/g, '').length; - }); // check for the component corresponding to file path in the site config object - - var component = getDeepestChildValue(customViews, folders); - - if (component) { - console.log('found custom component for', filePath); - return component; - } else { - console.log('no custom component for', filePath); - return null; - } -}; - -exports.dynamicImport = dynamicImport; \ No newline at end of file diff --git a/client/build/utils/file.js b/client/build/utils/file.js deleted file mode 100644 index 34610954..00000000 --- a/client/build/utils/file.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -module.exports = { - validateFile: function validateFile(file) { - if (!file) { - throw new Error('no file provided'); - } - - if (/'/.test(file.name)) { - throw new Error('apostrophes are not allowed in the file name'); - } // validate size and type - - - switch (file.type) { - case 'image/jpeg': - case 'image/jpg': - case 'image/png': - if (file.size > 10000000) { - throw new Error('Sorry, images are limited to 10 megabytes.'); - } - - break; - - case 'image/gif': - if (file.size > 50000000) { - throw new Error('Sorry, GIFs are limited to 50 megabytes.'); - } - - break; - - case 'video/mp4': - if (file.size > 50000000) { - throw new Error('Sorry, videos are limited to 50 megabytes.'); - } - - break; - - default: - throw new Error(file.type + ' is not a supported file type. Only, .jpeg, .png, .gif, and .mp4 files are currently supported.'); - } - } -}; \ No newline at end of file diff --git a/client/build/utils/lbryUri.js b/client/build/utils/lbryUri.js deleted file mode 100644 index 8c48d153..00000000 --- a/client/build/utils/lbryUri.js +++ /dev/null @@ -1,118 +0,0 @@ -"use strict"; - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -module.exports = { - REGEXP_INVALID_CLAIM: /[^A-Za-z0-9-]/g, - REGEXP_INVALID_CHANNEL: /[^A-Za-z0-9-@]/g, - REGEXP_ADDRESS: /^b(?=[^0OIl]{32,33})[0-9A-Za-z]{32,33}$/, - CHANNEL_CHAR: '@', - parseIdentifier: function parseIdentifier(identifier) { - var componentsRegex = new RegExp('([^:$#/]*)' + // value (stops at the first separator or end) - '([:$#]?)([^/]*)' // modifier separator, modifier (stops at the first path separator or end) - ); - - var _componentsRegex$exec = componentsRegex // eslint-disable-line no-unused-vars - .exec(identifier).map(function (match) { - return match || null; - }), - _componentsRegex$exec2 = _slicedToArray(_componentsRegex$exec, 4), - proto = _componentsRegex$exec2[0], - value = _componentsRegex$exec2[1], - modifierSeperator = _componentsRegex$exec2[2], - modifier = _componentsRegex$exec2[3]; // Validate and process name - - - if (!value) { - throw new Error("Check your URL. No channel name provided before \"".concat(modifierSeperator, "\"")); - } - - var isChannel = value.startsWith(module.exports.CHANNEL_CHAR); - var channelName = isChannel ? value : null; - var claimId; - - if (isChannel) { - if (!channelName) { - throw new Error('Check your URL. No channel name after "@".'); - } - - var nameBadChars = channelName.match(module.exports.REGEXP_INVALID_CHANNEL); - - if (nameBadChars) { - throw new Error("Check your URL. Invalid characters in channel name: \"".concat(nameBadChars.join(', '), "\".")); - } - } else { - claimId = value; - } // Validate and process modifier - - - var channelClaimId; - - if (modifierSeperator) { - if (!modifier) { - throw new Error("Check your URL. No modifier provided after separator \"".concat(modifierSeperator, "\"")); - } - - if (modifierSeperator === ':') { - channelClaimId = modifier; - } else { - throw new Error("Check your URL. The \"".concat(modifierSeperator, "\" modifier is not currently supported")); - } - } - - return { - isChannel: isChannel, - channelName: channelName, - channelClaimId: channelClaimId || null, - claimId: claimId || null - }; - }, - parseClaim: function parseClaim(name) { - var componentsRegex = new RegExp('([^:$#/.]*)' + // name (stops at the first extension) - '([:$#.]?)([^/]*)' // extension separator, extension (stops at the first path separator or end) - ); - - var _componentsRegex$exec3 = componentsRegex // eslint-disable-line no-unused-vars - .exec(name).map(function (match) { - return match || null; - }), - _componentsRegex$exec4 = _slicedToArray(_componentsRegex$exec3, 4), - proto = _componentsRegex$exec4[0], - claimName = _componentsRegex$exec4[1], - extensionSeperator = _componentsRegex$exec4[2], - extension = _componentsRegex$exec4[3]; // Validate and process name - - - if (!claimName) { - throw new Error('Check your URL. No claim name provided before "."'); - } - - var nameBadChars = claimName.match(module.exports.REGEXP_INVALID_CLAIM); - - if (nameBadChars) { - throw new Error("Check your URL. Invalid characters in claim name: \"".concat(nameBadChars.join(', '), "\".")); - } // Validate and process extension - - - if (extensionSeperator) { - if (!extension) { - throw new Error("Check your URL. No file extension provided after separator \"".concat(extensionSeperator, "\".")); - } - - if (extensionSeperator !== '.') { - throw new Error("Check your URL. The \"".concat(extensionSeperator, "\" separator is not supported in the claim name.")); - } - } - - return { - claimName: claimName, - extension: extension || null - }; - } -}; \ No newline at end of file diff --git a/client/build/utils/metaTags.js b/client/build/utils/metaTags.js deleted file mode 100644 index 9713f663..00000000 --- a/client/build/utils/metaTags.js +++ /dev/null @@ -1,248 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createMetaTags = void 0; - -var determineOgThumbnailContentType = function determineOgThumbnailContentType(thumbnail) { - if (thumbnail) { - var fileExt = thumbnail.substring(thumbnail.lastIndexOf('.')); - - switch (fileExt) { - case 'jpeg': - case 'jpg': - return 'image/jpeg'; - - case 'png': - return 'image/png'; - - case 'gif': - return 'image/gif'; - - case 'mp4': - return 'video/mp4'; - - default: - return 'image/jpeg'; - } - } - - return ''; -}; - -var createBasicMetaTags = function createBasicMetaTags(_ref) { - var siteHost = _ref.siteHost, - siteDescription = _ref.siteDescription, - siteTitle = _ref.siteTitle, - siteTwitter = _ref.siteTwitter, - defaultThumbnail = _ref.defaultThumbnail; - return [{ - property: 'og:title', - content: siteTitle - }, { - property: 'og:url', - content: siteHost - }, { - property: 'og:site_name', - content: siteTitle - }, { - property: 'og:description', - content: siteDescription - }, { - property: 'twitter:site', - content: siteTwitter - }, { - property: 'twitter:card', - content: 'summary_large_image' - }, { - property: 'og:image', - content: defaultThumbnail - }, { - property: 'og:image:type', - content: 'image/jpeg' - }]; -}; - -var createChannelMetaTags = function createChannelMetaTags(_ref2) { - var siteHost = _ref2.siteHost, - siteTitle = _ref2.siteTitle, - siteTwitter = _ref2.siteTwitter, - channel = _ref2.channel; - var name = channel.name, - longId = channel.longId; - return [{ - property: 'og:title', - content: "".concat(name, " on ").concat(siteTitle) - }, { - property: 'og:url', - content: "".concat(siteHost, "/").concat(name, ":").concat(longId) - }, { - property: 'og:site_name', - content: siteTitle - }, { - property: 'og:description', - content: "".concat(name, ", a channel on ").concat(siteTitle) - }, { - property: 'twitter:site', - content: siteTwitter - }, { - property: 'twitter:card', - content: 'summary' - }]; -}; - -var createAssetMetaTags = function createAssetMetaTags(_ref3) { - var siteHost = _ref3.siteHost, - siteTitle = _ref3.siteTitle, - siteTwitter = _ref3.siteTwitter, - asset = _ref3.asset, - defaultDescription = _ref3.defaultDescription, - defaultThumbnail = _ref3.defaultThumbnail; - var claimData = asset.claimData; - var contentType = claimData.contentType; - var videoEmbedUrl = "".concat(siteHost, "/video-embed/").concat(claimData.name, "/").concat(claimData.claimId); - var showUrl = "".concat(siteHost, "/").concat(claimData.claimId, "/").concat(claimData.name); - var source = "".concat(siteHost, "/asset/").concat(claimData.name, "/").concat(claimData.claimId); - var ogTitle = claimData.title || claimData.name; - var ogDescription = claimData.description || defaultDescription; - var ogThumbnailContentType = determineOgThumbnailContentType(claimData.thumbnail); - var ogThumbnail = claimData.thumbnail || defaultThumbnail; - var metaTags = [{ - property: 'og:title', - content: ogTitle - }, { - property: 'og:url', - content: showUrl - }, { - property: 'og:site_name', - content: siteTitle - }, { - property: 'og:description', - content: ogDescription - }, { - property: 'og:image:width', - content: 600 - }, { - property: 'og:image:height', - content: 315 - }, { - property: 'twitter:site', - content: siteTwitter - }]; - - if (contentType === 'video/mp4' || contentType === 'video/webm') { - metaTags.push({ - property: 'og:video', - content: source - }); - metaTags.push({ - property: 'og:video:secure_url', - content: source - }); - metaTags.push({ - property: 'og:video:type', - content: contentType - }); - metaTags.push({ - property: 'og:image', - content: ogThumbnail - }); - metaTags.push({ - property: 'og:image:type', - content: ogThumbnailContentType - }); - metaTags.push({ - property: 'og:type', - content: 'video.other' - }); - metaTags.push({ - property: 'twitter:card', - content: 'player' - }); - metaTags.push({ - property: 'twitter:player', - content: videoEmbedUrl - }); - metaTags.push({ - property: 'twitter:player:width', - content: 600 - }); - metaTags.push({ - property: 'twitter:text:player_width', - content: 600 - }); - metaTags.push({ - property: 'twitter:player:height', - content: 337 - }); - metaTags.push({ - property: 'twitter:player:stream', - content: source - }); - metaTags.push({ - property: 'twitter:player:stream:content_type', - content: contentType - }); - } else { - metaTags.push({ - property: 'og:image', - content: source - }); - metaTags.push({ - property: 'og:image:type', - content: contentType - }); - metaTags.push({ - property: 'og:type', - content: 'article' - }); - metaTags.push({ - property: 'twitter:card', - content: 'summary_large_image' - }); - } - - return metaTags; -}; - -var createMetaTags = function createMetaTags(_ref4) { - var siteDescription = _ref4.siteDescription, - siteHost = _ref4.siteHost, - siteTitle = _ref4.siteTitle, - siteTwitter = _ref4.siteTwitter, - asset = _ref4.asset, - channel = _ref4.channel, - defaultDescription = _ref4.defaultDescription, - defaultThumbnail = _ref4.defaultThumbnail; - - if (asset) { - return createAssetMetaTags({ - siteHost: siteHost, - siteTitle: siteTitle, - siteTwitter: siteTwitter, - asset: asset, - defaultDescription: defaultDescription, - defaultThumbnail: defaultThumbnail - }); - } - - if (channel) { - return createChannelMetaTags({ - siteHost: siteHost, - siteTitle: siteTitle, - siteTwitter: siteTwitter, - channel: channel - }); - } - - return createBasicMetaTags({ - siteDescription: siteDescription, - siteHost: siteHost, - siteTitle: siteTitle, - siteTwitter: siteTwitter, - defaultThumbnail: defaultThumbnail - }); -}; - -exports.createMetaTags = createMetaTags; \ No newline at end of file diff --git a/client/build/utils/pageTitle.js b/client/build/utils/pageTitle.js deleted file mode 100644 index 353c5c09..00000000 --- a/client/build/utils/pageTitle.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createPageTitle = void 0; - -var createPageTitle = function createPageTitle(siteTitle, pageTitle) { - if (!pageTitle) { - return "".concat(siteTitle); - } - - return "".concat(siteTitle, " - ").concat(pageTitle); -}; - -exports.createPageTitle = createPageTitle; \ No newline at end of file diff --git a/client/build/utils/publish.js b/client/build/utils/publish.js deleted file mode 100644 index d2a60655..00000000 --- a/client/build/utils/publish.js +++ /dev/null @@ -1,57 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.createThumbnailUrl = exports.createPublishFormData = exports.createPublishMetadata = void 0; - -var createPublishMetadata = function createPublishMetadata(claim, _ref, _ref2, publishInChannel, selectedChannel) { - var type = _ref.type; - var title = _ref2.title, - description = _ref2.description, - license = _ref2.license, - nsfw = _ref2.nsfw; - var metadata = { - name: claim, - title: title, - description: description, - license: license, - nsfw: nsfw, - type: type - }; - - if (publishInChannel) { - metadata['channelName'] = selectedChannel; - } - - return metadata; -}; - -exports.createPublishMetadata = createPublishMetadata; - -var createPublishFormData = function createPublishFormData(file, thumbnail, metadata) { - var fd = new FormData(); // append file - - fd.append('file', file); // append thumbnail - - if (thumbnail) { - fd.append('thumbnail', thumbnail); - } // append metadata - - - for (var key in metadata) { - if (metadata.hasOwnProperty(key)) { - fd.append(key, metadata[key]); - } - } - - return fd; -}; - -exports.createPublishFormData = createPublishFormData; - -var createThumbnailUrl = function createThumbnailUrl(channel, channelId, claim, host) { - return "".concat(host, "/").concat(channel, ":").concat(channelId, "/").concat(claim, "-thumb.png"); -}; - -exports.createThumbnailUrl = createThumbnailUrl; \ No newline at end of file diff --git a/client/build/utils/request.js b/client/build/utils/request.js deleted file mode 100644 index 388407cf..00000000 --- a/client/build/utils/request.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = request; - -require("cross-fetch/polyfill"); - -function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); } - -function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } - -function _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } - -function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } - -function parseJSON(response) { - if (response.status === 204 || response.status === 205) { - return null; - } - - return response.json(); -} - -function checkStatus(response, jsonResponse) { - if (response.status >= 200 && response.status < 300) { - return jsonResponse; - } - - var error = new Error(jsonResponse.message); - error.response = response; - throw error; -} - -function request(url, options) { - return fetch(url, options).then(function (response) { - return Promise.all([response, parseJSON(response)]); - }).then(function (_ref) { - var _ref2 = _slicedToArray(_ref, 2), - response = _ref2[0], - jsonResponse = _ref2[1]; - - return checkStatus(response, jsonResponse); - }); -} \ No newline at end of file diff --git a/client/build/utils/validate.js b/client/build/utils/validate.js deleted file mode 100644 index 5ffe0410..00000000 --- a/client/build/utils/validate.js +++ /dev/null @@ -1,56 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.validateCreateChannelPasswordInput = exports.validateCreateChannelNameInput = exports.validateNoPublishErrors = exports.validateChannelSelection = void 0; - -var validateChannelSelection = function validateChannelSelection(publishInChannel, selectedChannel, loggedInChannel) { - if (publishInChannel && selectedChannel !== loggedInChannel.name) { - throw new Error('Log in to a channel or select Anonymous'); - } -}; - -exports.validateChannelSelection = validateChannelSelection; - -var validateNoPublishErrors = function validateNoPublishErrors(_ref) { - var file = _ref.file, - url = _ref.url, - channel = _ref.channel; - - if (file || url || channel) { - throw new Error('Fix the errors identified in red'); - } -}; - -exports.validateNoPublishErrors = validateNoPublishErrors; - -var validateCreateChannelNameInput = function validateCreateChannelNameInput(_ref2) { - var value = _ref2.value, - error = _ref2.error; - - if (!value) { - throw new Error('Please enter a channel name'); - } - - if (error) { - throw new Error(error); - } -}; - -exports.validateCreateChannelNameInput = validateCreateChannelNameInput; - -var validateCreateChannelPasswordInput = function validateCreateChannelPasswordInput(_ref3) { - var value = _ref3.value, - error = _ref3.error; - - if (!value) { - throw new Error('Please enter a password'); - } - - if (error) { - throw new Error(error); - } -}; - -exports.validateCreateChannelPasswordInput = validateCreateChannelPasswordInput; \ No newline at end of file diff --git a/client/scss/_variables.scss b/client/scss/_variables.scss index 2716def5..26f125d8 100644 --- a/client/scss/_variables.scss +++ b/client/scss/_variables.scss @@ -8,6 +8,7 @@ $failure-color: red; $primary-padding: 3em; $secondary-padding: 2em; +$tertiary-padding: 1em; $thin-padding: 0.3em; $full-width-thin-padding: calc(100% - 0.6em); diff --git a/client/scss/components/_asset-display.scss b/client/scss/components/_asset-display.scss index 05b76c92..11d42c4c 100644 --- a/client/scss/components/_asset-display.scss +++ b/client/scss/components/_asset-display.scss @@ -1,17 +1,22 @@ .asset-display { - flex: 1 0 auto; display: flex; + flex: 1 0 auto; + flex-direction: column; justify-content: center; - align-items: center; } .asset-image, .asset-video { + margin : 0; max-width: 100%; max-height: 100%; - margin : 0; + object-fit: contain; + object-position: center; } .asset-video { + border: 1px solid #d0d0d0; margin: 16px; padding: 6px; - border: 1px solid #d0d0d0; +} +.vertical-split .asset-display { + height: 90vh; } diff --git a/client/scss/components/_nav-bar.scss b/client/scss/components/_nav-bar.scss index e61211bf..8d5e3f37 100644 --- a/client/scss/components/_nav-bar.scss +++ b/client/scss/components/_nav-bar.scss @@ -8,7 +8,7 @@ } .nav-bar-link { - padding: $secondary-padding; + padding: calc(1em - 2px); display: inline-block; } diff --git a/client/scss/components/_page-layout-show-lite.scss b/client/scss/components/_page-layout-show-lite.scss index e243e757..fed72885 100644 --- a/client/scss/components/_page-layout-show-lite.scss +++ b/client/scss/components/_page-layout-show-lite.scss @@ -2,7 +2,6 @@ flex: 1 0 auto; display: flex; flex-direction: column; - margin: $primary-padding; .content { flex: 1 0 auto; display: flex; diff --git a/client/src/actions/index.js b/client/src/actions/index.js index a893a5fc..d49928ec 100644 --- a/client/src/actions/index.js +++ b/client/src/actions/index.js @@ -4,4 +4,4 @@ import { onHandleShowPageUri } from './show'; export default { onHandleShowPageUri, -} +}; diff --git a/client/src/components/AssetPreview/index.jsx b/client/src/components/AssetPreview/index.jsx index ae721a08..be09c200 100644 --- a/client/src/components/AssetPreview/index.jsx +++ b/client/src/components/AssetPreview/index.jsx @@ -2,10 +2,10 @@ import React from 'react'; import { Link } from 'react-router-dom'; const AssetPreview = ({ defaultThumbnail, claimData: { name, claimId, fileExt, contentType, thumbnail } }) => { - const directSourceLink = `${claimId}/${name}.${fileExt}`; - const showUrlLink = `/${claimId}/${name}`; + const embedUrl = `/${claimId}/${name}.${fileExt}`; + const showUrl = `/${claimId}/${name}`; return ( - + {(() => { switch (contentType) { case 'image/jpeg': @@ -15,7 +15,7 @@ const AssetPreview = ({ defaultThumbnail, claimData: { name, claimId, fileExt, c return ( {name} ); diff --git a/client/src/components/DropzoneInstructionsDisplay/index.jsx b/client/src/components/DropzoneInstructionsDisplay/index.jsx index cb06392b..3f13c69f 100644 --- a/client/src/components/DropzoneInstructionsDisplay/index.jsx +++ b/client/src/components/DropzoneInstructionsDisplay/index.jsx @@ -1,16 +1,29 @@ import React from 'react'; import FormFeedbackDisplay from '@components/FormFeedbackDisplay'; +import Row from '@components/Row'; const DropzoneInstructionsDisplay = ({fileError}) => { return (
-

Drag & drop image or video here to publish

-

OR

-

CHOOSE FILE

- + +

Drag & drop image or video here to publish

+
+ +

OR

+
+ { fileError ? ( +
+ +

CHOOSE FILE

+
+ +
+ ) : ( +

CHOOSE FILE

+ )}
); }; diff --git a/client/src/containers/AssetDisplay/view.jsx b/client/src/containers/AssetDisplay/view.jsx index 277a4980..e07bfa78 100644 --- a/client/src/containers/AssetDisplay/view.jsx +++ b/client/src/containers/AssetDisplay/view.jsx @@ -9,6 +9,7 @@ class AssetDisplay extends React.Component { } render () { const { status, error, asset: { claimData: { name, claimId, contentType, fileExt, thumbnail } } } = this.props; + const sourceUrl = `/${claimId}/${name}.${fileExt}`; return (
{(status === LOCAL_CHECK) && @@ -39,7 +40,7 @@ class AssetDisplay extends React.Component { return ( {name} ); @@ -49,13 +50,15 @@ class AssetDisplay extends React.Component { className='asset-video' controls poster={thumbnail} > - +

Your browser does not support the video element.

); default: return ( -

Unsupported file type

+

Unsupported content type

); } })() diff --git a/client/src/containers/AssetInfo/view.jsx b/client/src/containers/AssetInfo/view.jsx index e251e81d..ccf88fbd 100644 --- a/client/src/containers/AssetInfo/view.jsx +++ b/client/src/containers/AssetInfo/view.jsx @@ -50,7 +50,7 @@ class AssetInfo extends React.Component { content={ } /> @@ -81,12 +81,12 @@ class AssetInfo extends React.Component { - Direct Link - + { +const mapStateToProps = ({channelCreate: { name, password, error, status }}) => { return { name, password, error, status, - } + }; }; const mapDispatchToProps = { diff --git a/client/src/containers/SEO/index.js b/client/src/containers/SEO/index.js index 8a004ff6..8cec1202 100644 --- a/client/src/containers/SEO/index.js +++ b/client/src/containers/SEO/index.js @@ -1,16 +1,4 @@ import { connect } from 'react-redux'; import View from './view'; -const mapStateToProps = ({ site }) => { - const { defaultDescription, defaultThumbnail, description: siteDescription, host: siteHost, title: siteTitle, twitter: siteTwitter } = site; - return { - defaultDescription, - defaultThumbnail, - siteDescription, - siteHost, - siteTitle, - siteTwitter, - }; -}; - -export default connect(mapStateToProps, null)(View); +export default connect(null, null)(View); diff --git a/client/src/containers/SEO/view.jsx b/client/src/containers/SEO/view.jsx index 58c12cf3..4f64f9a3 100644 --- a/client/src/containers/SEO/view.jsx +++ b/client/src/containers/SEO/view.jsx @@ -2,40 +2,42 @@ import React from 'react'; import Helmet from 'react-helmet'; import PropTypes from 'prop-types'; -import { createPageTitle } from '../../utils/pageTitle'; -import { createMetaTags } from '../../utils/metaTags'; -import { createCanonicalLink } from '../../utils/canonicalLink'; +import siteConfig from '@config/siteConfig.json'; +import createPageTitle from '../../utils/createPageTitle'; +import createMetaTags from '../../utils/createMetaTags'; +import oEmbed from '../../utils/oEmbed.js'; +import createCanonicalLink from '../../utils/createCanonicalLink'; + +const { details: { host } } = siteConfig; class SEO extends React.Component { render () { - // props from state - const { defaultDescription, defaultThumbnail, siteDescription, siteHost, siteTitle, siteTwitter } = this.props; // props from parent const { asset, channel, pageUri } = this.props; let { pageTitle } = this.props; // create page title, tags, and canonical link - pageTitle = createPageTitle(siteTitle, pageTitle); + pageTitle = createPageTitle(pageTitle); const metaTags = createMetaTags({ - siteDescription, - siteHost, - siteTitle, - siteTwitter, asset, channel, - defaultDescription, - defaultThumbnail, }); - const canonicalLink = createCanonicalLink(asset, channel, pageUri, siteHost); + const cannonicalLink = createCanonicalLink(asset, channel, pageUri); // render results return ( ); } -}; +} SEO.propTypes = { pageTitle: PropTypes.string, diff --git a/client/src/index.js b/client/src/index.js new file mode 100644 index 00000000..0ba28c0b --- /dev/null +++ b/client/src/index.js @@ -0,0 +1,46 @@ +import React from 'react'; +import { hydrate } from 'react-dom'; +import { Provider } from 'react-redux'; +import { createStore, applyMiddleware, compose } from 'redux'; +import { BrowserRouter } from 'react-router-dom'; +import createSagaMiddleware from 'redux-saga'; +import Reducers from '@reducers'; +import Sagas from '@sagas'; +import App from '@app'; +import GAListener from '@components/GAListener'; + +// import scss so webpack will build it +import 'all.scss'; + +// get the state from a global variable injected into the server-generated HTML +const preloadedState = window.__PRELOADED_STATE__ || null; + +// Allow the passed state to be garbage-collected +delete window.__PRELOADED_STATE__; + +// create and apply middleware +const sagaMiddleware = createSagaMiddleware(); +const middleware = applyMiddleware(sagaMiddleware); +const reduxMiddleware = window.__REDUX_DEVTOOLS_EXTENSION__ ? compose(middleware, window.__REDUX_DEVTOOLS_EXTENSION__()) : middleware; + +// create the store +let store; +if (preloadedState) { + store = createStore(Reducers, preloadedState, reduxMiddleware); +} else { + store = createStore(Reducers, reduxMiddleware); +} + +sagaMiddleware.run(Sagas.rootSaga); + +// render the app +hydrate( + + + + + + + , + document.getElementById('react-app') +); diff --git a/client/src/sagas/index.js b/client/src/sagas/index.js index 38f421a0..125ab97a 100644 --- a/client/src/sagas/index.js +++ b/client/src/sagas/index.js @@ -4,4 +4,4 @@ import { handleShowPageUri } from './show_uri'; export default { rootSaga, handleShowPageUri, -} +}; diff --git a/client/src/sagas/show_uri.js b/client/src/sagas/show_uri.js index 52e21af7..00432f67 100644 --- a/client/src/sagas/show_uri.js +++ b/client/src/sagas/show_uri.js @@ -3,7 +3,7 @@ import * as actions from '../constants/show_action_types'; import { onRequestError, onNewChannelRequest, onNewAssetRequest } from '../actions/show'; import { newAssetRequest } from '../sagas/show_asset'; import { newChannelRequest } from '../sagas/show_channel'; -import lbryUri from '../utils/lbryUri'; +import lbryUri from '../../../utils/lbryUri'; function * parseAndUpdateIdentifierAndClaim (modifier, claim) { // this is a request for an asset diff --git a/client/src/utils/canonicalLink.js b/client/src/utils/canonicalLink.js deleted file mode 100644 index 3866b16f..00000000 --- a/client/src/utils/canonicalLink.js +++ /dev/null @@ -1,29 +0,0 @@ -const createBasicCanonicalLink = (page, siteHost) => { - return `${siteHost}/${page}`; -}; - -const createAssetCanonicalLink = (asset, siteHost) => { - let channelName, certificateId, name, claimId; - if (asset.claimData) { - ({ channelName, certificateId, name, claimId } = asset.claimData); - }; - if (channelName) { - return `${siteHost}/${channelName}:${certificateId}/${name}`; - }; - return `${siteHost}/${claimId}/${name}`; -}; - -const createChannelCanonicalLink = (channel, siteHost) => { - const { name, longId } = channel; - return `${siteHost}/${name}:${longId}`; -}; - -export const createCanonicalLink = (asset, channel, page, siteHost) => { - if (asset) { - return createAssetCanonicalLink(asset, siteHost); - } - if (channel) { - return createChannelCanonicalLink(channel, siteHost); - } - return createBasicCanonicalLink(page, siteHost); -}; diff --git a/client/src/utils/createAssetMetaTags.js b/client/src/utils/createAssetMetaTags.js new file mode 100644 index 00000000..531df9e3 --- /dev/null +++ b/client/src/utils/createAssetMetaTags.js @@ -0,0 +1,93 @@ +import siteConfig from '@config/siteConfig.json'; +import determineContentTypeFromExtension from './determineContentTypeFromExtension'; +import createMetaTagsArray from './createMetaTagsArray'; + +const { + details: { + host, + title: siteTitle, + twitter, + }, + assetDefaults: { + description: defaultDescription, + thumbnail: defaultThumbnail, + }, +} = siteConfig; + +const VIDEO = 'VIDEO'; +const IMAGE = 'IMAGE'; +const GIF = 'GIF'; + +const determineMediaType = (contentType) => { + switch (contentType) { + case 'image/jpg': + case 'image/jpeg': + case 'image/png': + return IMAGE; + case 'image/gif': + return GIF; + case 'video/mp4': + case 'video/webm': + return VIDEO; + default: + return ''; + } +}; + +const createAssetMetaTags = (asset) => { + const { claimData } = asset; + const { contentType } = claimData; + const showUrl = `${host}/${claimData.claimId}/${claimData.name}`; + const serveUrl = `${host}/${claimData.claimId}/${claimData.name}.${claimData.fileExt}`; + const ogTitle = claimData.title || claimData.name; + const ogDescription = claimData.description || defaultDescription; + const ogThumbnailContentType = determineContentTypeFromExtension(claimData.thumbnail); + const ogThumbnail = claimData.thumbnail || defaultThumbnail; + // {property: 'og:title'] = ogTitle}, + const metaTags = { + 'og:title' : ogTitle, + 'twitter:title' : ogTitle, + 'og:description' : ogDescription, + 'twitter:description': ogDescription, + 'og:url' : showUrl, + 'og:site_name' : siteTitle, + 'twitter:site' : twitter, + 'fb:app_id' : '1371961932852223', + }; + if (determineMediaType(contentType) === VIDEO) { + const videoEmbedUrl = `${host}/video-embed/${claimData.name}/${claimData.claimId}`; + // card type tags + metaTags['og:type'] = 'video.other'; + metaTags['twitter:card'] = 'player'; + metaTags['twitter:player'] = videoEmbedUrl; + metaTags['twitter:player:width'] = 600; + metaTags['twitter:text:player_width'] = 600; + metaTags['twitter:player:height'] = 350; + metaTags['twitter:player:stream'] = serveUrl; + metaTags['twitter:player:stream:content_type'] = contentType; + // video tags + metaTags['og:video'] = serveUrl; + metaTags['og:video:secure_url'] = serveUrl; + metaTags['og:video:type'] = contentType; + // image tags + metaTags['og:image'] = ogThumbnail; + metaTags['og:image:width'] = 600; + metaTags['og:image:height'] = 315; + metaTags['og:image:type'] = ogThumbnailContentType; + metaTags['twitter:image'] = ogThumbnail; + } else { + // card type tags + metaTags['og:type'] = 'article'; + metaTags['twitter:card'] = 'summary_large_image'; + // image tags + metaTags['og:image'] = serveUrl; + metaTags['og:image'] = serveUrl; + metaTags['og:image:width'] = 600; + metaTags['og:image:height'] = 315; + metaTags['og:image:type'] = contentType; + metaTags['twitter:image'] = serveUrl; + } + return createMetaTagsArray(metaTags); +}; + +export default createAssetMetaTags; diff --git a/client/src/utils/createBasicMetaTags.js b/client/src/utils/createBasicMetaTags.js new file mode 100644 index 00000000..090d796d --- /dev/null +++ b/client/src/utils/createBasicMetaTags.js @@ -0,0 +1,44 @@ +import siteConfig from '@config/siteConfig.json'; +import determineContentTypeFromExtension from './determineContentTypeFromExtension.js'; +import createMetaTagsArray from './createMetaTagsArray'; + +const { + details: { + description, + host, + title, + twitter, + }, + assetDefaults: { + thumbnail, + }, +} = siteConfig; + +const createBasicMetaTags = () => { + const metaTags = { + // page details + 'og:title' : title, + 'twitter:title' : title, + 'og:description' : description, + 'twitter:description': description, + // url + 'og:url' : host, + // site id + 'og:site_name' : title, + 'twitter:site' : twitter, + 'fb:app_id' : '1371961932852223', + // card type + 'og:type' : 'article', + 'twitter:card' : 'summary_large_image', + // image + 'og:image' : thumbnail, + 'og:image:width' : 600, + 'og:image:height' : 315, + 'og:image:type' : determineContentTypeFromExtension(thumbnail), + 'twitter:image' : thumbnail, + 'twitter:image:alt' : 'Spee.ch Logo', + }; + return createMetaTagsArray(metaTags); +}; + +export default createBasicMetaTags; diff --git a/client/src/utils/createCanonicalLink.js b/client/src/utils/createCanonicalLink.js new file mode 100644 index 00000000..d73e183d --- /dev/null +++ b/client/src/utils/createCanonicalLink.js @@ -0,0 +1,39 @@ +import siteConfig from '@config/siteConfig.json'; + +const { + details: { + host, + }, +} = siteConfig; + +const createBasicCanonicalLink = (page) => { + return `${host}/${page}`; +}; + +const createAssetCanonicalLink = (asset) => { + let channelName, certificateId, name, claimId; + if (asset.claimData) { + ({ channelName, certificateId, name, claimId } = asset.claimData); + } + if (channelName) { + return `${host}/${channelName}:${certificateId}/${name}`; + } + return `${host}/${claimId}/${name}`; +}; + +const createChannelCanonicalLink = (channel) => { + const { name, longId } = channel; + return `${host}/${name}:${longId}`; +}; + +const createCanonicalLink = (asset, channel, page) => { + if (asset) { + return createAssetCanonicalLink(asset); + } + if (channel) { + return createChannelCanonicalLink(channel); + } + return createBasicCanonicalLink(page); +}; + +export default createCanonicalLink; diff --git a/client/src/utils/createChannelMetaTags.js b/client/src/utils/createChannelMetaTags.js new file mode 100644 index 00000000..fea67ec5 --- /dev/null +++ b/client/src/utils/createChannelMetaTags.js @@ -0,0 +1,44 @@ +import siteConfig from '@config/siteConfig.json'; +import determineContentTypeFromExtension from './determineContentTypeFromExtension'; +import createMetaTagsArray from './createMetaTagsArray'; + +const { + details: { + host, + title: siteTitle, + twitter, + }, + assetDefaults: { + thumbnail: defaultThumbnail, + }, +} = siteConfig; + +export const createChannelMetaTags = (channel) => { + const { name, longId } = channel; + const metaTags = { + // page detail tags + 'og:title' : `${name} on ${siteTitle}`, + 'twitter:title' : `${name} on ${siteTitle}`, + 'og:description' : `${name}, a channel on ${siteTitle}`, + 'twitter:description': `${name}, a channel on ${siteTitle}`, + // url + 'og:url' : `${host}/${name}:${longId}`, + // site info + 'og:site_name' : siteTitle, + 'twitter:site' : twitter, + 'fb:app_id' : '1371961932852223', + // card type tags + 'og:type' : 'article', + 'twitter:card' : 'summary_large_image', + // image tags + 'og:image' : defaultThumbnail, + 'og:image:width' : 600, + 'og:image:height' : 315, + 'og:image:type' : determineContentTypeFromExtension(defaultThumbnail), + 'twitter:image' : defaultThumbnail, + 'twitter:image:alt' : 'Spee.ch Logo', + }; + return createMetaTagsArray(metaTags); +}; + +export default createChannelMetaTags; diff --git a/client/src/utils/createMetaTags.js b/client/src/utils/createMetaTags.js new file mode 100644 index 00000000..19287478 --- /dev/null +++ b/client/src/utils/createMetaTags.js @@ -0,0 +1,15 @@ +import createAssetMetaTags from './createAssetMetaTags'; +import createChannelMetaTags from './createChannelMetaTags.js'; +import createBasicMetaTags from './createBasicMetaTags.js'; + +const createMetaTags = ({ asset, channel }) => { + if (asset) { + return createAssetMetaTags(asset); + } + if (channel) { + return createChannelMetaTags(channel); + } + return createBasicMetaTags(); +}; + +export default createMetaTags; diff --git a/client/src/utils/createMetaTagsArray.js b/client/src/utils/createMetaTagsArray.js new file mode 100644 index 00000000..e4052724 --- /dev/null +++ b/client/src/utils/createMetaTagsArray.js @@ -0,0 +1,14 @@ +const createMetaTagsArray = (metaTagsObject) => { + let metaTagsArray = []; + for (let key in metaTagsObject) { + if (metaTagsObject.hasOwnProperty(key)) { + metaTagsArray.push({ + property: key, + content : metaTagsObject[key], + }); + } + } + return metaTagsArray; +}; + +export default createMetaTagsArray; diff --git a/client/src/utils/createPageTitle.js b/client/src/utils/createPageTitle.js new file mode 100644 index 00000000..0093e190 --- /dev/null +++ b/client/src/utils/createPageTitle.js @@ -0,0 +1,16 @@ +import siteConfig from '@config/siteConfig.json'; + +const { + details: { + title: siteTitle, + }, +} = siteConfig; + +const createPageTitle = (pageTitle) => { + if (!pageTitle) { + return `${siteTitle}`; + } + return `${siteTitle} - ${pageTitle}`; +}; + +export default createPageTitle; diff --git a/client/src/utils/determineContentTypeFromExtension.js b/client/src/utils/determineContentTypeFromExtension.js new file mode 100644 index 00000000..cd7f85b4 --- /dev/null +++ b/client/src/utils/determineContentTypeFromExtension.js @@ -0,0 +1,21 @@ +const determineContentTypeFromExtension = (thumbnail) => { + if (thumbnail) { + const fileExt = thumbnail.substring(thumbnail.lastIndexOf('.')); + switch (fileExt) { + case 'jpeg': + case 'jpg': + return 'image/jpg'; + case 'png': + return 'image/png'; + case 'gif': + return 'image/gif'; + case 'mp4': + return 'video/mp4'; + default: + return ''; + } + } + return ''; +}; + +export default determineContentTypeFromExtension; diff --git a/client/src/utils/lbryUri.js b/client/src/utils/lbryUri.js deleted file mode 100644 index a197e1e0..00000000 --- a/client/src/utils/lbryUri.js +++ /dev/null @@ -1,85 +0,0 @@ -module.exports = { - REGEXP_INVALID_CLAIM : /[^A-Za-z0-9-]/g, - REGEXP_INVALID_CHANNEL: /[^A-Za-z0-9-@]/g, - REGEXP_ADDRESS : /^b(?=[^0OIl]{32,33})[0-9A-Za-z]{32,33}$/, - CHANNEL_CHAR : '@', - parseIdentifier : function (identifier) { - const componentsRegex = new RegExp( - '([^:$#/]*)' + // value (stops at the first separator or end) - '([:$#]?)([^/]*)' // modifier separator, modifier (stops at the first path separator or end) - ); - const [proto, value, modifierSeperator, modifier] = componentsRegex // eslint-disable-line no-unused-vars - .exec(identifier) - .map(match => match || null); - - // Validate and process name - if (!value) { - throw new Error(`Check your URL. No channel name provided before "${modifierSeperator}"`); - } - const isChannel = value.startsWith(module.exports.CHANNEL_CHAR); - const channelName = isChannel ? value : null; - let claimId; - if (isChannel) { - if (!channelName) { - throw new Error('Check your URL. No channel name after "@".'); - } - const nameBadChars = (channelName).match(module.exports.REGEXP_INVALID_CHANNEL); - if (nameBadChars) { - throw new Error(`Check your URL. Invalid characters in channel name: "${nameBadChars.join(', ')}".`); - } - } else { - claimId = value; - } - - // Validate and process modifier - let channelClaimId; - if (modifierSeperator) { - if (!modifier) { - throw new Error(`Check your URL. No modifier provided after separator "${modifierSeperator}"`); - } - - if (modifierSeperator === ':') { - channelClaimId = modifier; - } else { - throw new Error(`Check your URL. The "${modifierSeperator}" modifier is not currently supported`); - } - } - return { - isChannel, - channelName, - channelClaimId: channelClaimId || null, - claimId : claimId || null, - }; - }, - parseClaim: function (name) { - const componentsRegex = new RegExp( - '([^:$#/.]*)' + // name (stops at the first extension) - '([:$#.]?)([^/]*)' // extension separator, extension (stops at the first path separator or end) - ); - const [proto, claimName, extensionSeperator, extension] = componentsRegex // eslint-disable-line no-unused-vars - .exec(name) - .map(match => match || null); - - // Validate and process name - if (!claimName) { - throw new Error('Check your URL. No claim name provided before "."'); - } - const nameBadChars = (claimName).match(module.exports.REGEXP_INVALID_CLAIM); - if (nameBadChars) { - throw new Error(`Check your URL. Invalid characters in claim name: "${nameBadChars.join(', ')}".`); - } - // Validate and process extension - if (extensionSeperator) { - if (!extension) { - throw new Error(`Check your URL. No file extension provided after separator "${extensionSeperator}".`); - } - if (extensionSeperator !== '.') { - throw new Error(`Check your URL. The "${extensionSeperator}" separator is not supported in the claim name.`); - } - } - return { - claimName, - extension: extension || null, - }; - }, -}; diff --git a/client/src/utils/metaTags.js b/client/src/utils/metaTags.js deleted file mode 100644 index c5b9df34..00000000 --- a/client/src/utils/metaTags.js +++ /dev/null @@ -1,114 +0,0 @@ -const determineOgThumbnailContentType = (thumbnail) => { - if (thumbnail) { - const fileExt = thumbnail.substring(thumbnail.lastIndexOf('.')); - switch (fileExt) { - case 'jpeg': - case 'jpg': - return 'image/jpeg'; - case 'png': - return 'image/png'; - case 'gif': - return 'image/gif'; - case 'mp4': - return 'video/mp4'; - default: - return 'image/jpeg'; - } - } - return ''; -}; - -const createBasicMetaTags = ({siteHost, siteDescription, siteTitle, siteTwitter, defaultThumbnail}) => { - return [ - {property: 'og:title', content: siteTitle}, - {property: 'og:url', content: siteHost}, - {property: 'og:site_name', content: siteTitle}, - {property: 'og:description', content: siteDescription}, - {property: 'twitter:site', content: siteTwitter}, - {property: 'twitter:card', content: 'summary_large_image'}, - {property: 'og:image', content: defaultThumbnail}, - {property: 'og:image:type', content: 'image/jpeg'}, - ]; -}; - -const createChannelMetaTags = ({siteHost, siteTitle, siteTwitter, channel}) => { - const { name, longId } = channel; - return [ - {property: 'og:title', content: `${name} on ${siteTitle}`}, - {property: 'og:url', content: `${siteHost}/${name}:${longId}`}, - {property: 'og:site_name', content: siteTitle}, - {property: 'og:description', content: `${name}, a channel on ${siteTitle}`}, - {property: 'twitter:site', content: siteTwitter}, - {property: 'twitter:card', content: 'summary'}, - ]; -}; - -const createAssetMetaTags = ({siteHost, siteTitle, siteTwitter, asset, defaultDescription, defaultThumbnail}) => { - const { claimData } = asset; - const { contentType } = claimData; - const videoEmbedUrl = `${siteHost}/video-embed/${claimData.name}/${claimData.claimId}`; - const showUrl = `${siteHost}/${claimData.claimId}/${claimData.name}`; - const source = `${siteHost}/asset/${claimData.name}/${claimData.claimId}`; - const ogTitle = claimData.title || claimData.name; - const ogDescription = claimData.description || defaultDescription; - const ogThumbnailContentType = determineOgThumbnailContentType(claimData.thumbnail); - const ogThumbnail = claimData.thumbnail || defaultThumbnail; - const metaTags = [ - {property: 'og:title', content: ogTitle}, - {property: 'og:url', content: showUrl}, - {property: 'og:site_name', content: siteTitle}, - {property: 'og:description', content: ogDescription}, - {property: 'og:image:width', content: 600}, - {property: 'og:image:height', content: 315}, - {property: 'twitter:site', content: siteTwitter}, - ]; - if (contentType === 'video/mp4' || contentType === 'video/webm') { - metaTags.push({property: 'og:video', content: source}); - metaTags.push({property: 'og:video:secure_url', content: source}); - metaTags.push({property: 'og:video:type', content: contentType}); - metaTags.push({property: 'og:image', content: ogThumbnail}); - metaTags.push({property: 'og:image:type', content: ogThumbnailContentType}); - metaTags.push({property: 'og:type', content: 'video.other'}); - metaTags.push({property: 'twitter:card', content: 'player'}); - metaTags.push({property: 'twitter:player', content: videoEmbedUrl}); - metaTags.push({property: 'twitter:player:width', content: 600}); - metaTags.push({property: 'twitter:text:player_width', content: 600}); - metaTags.push({property: 'twitter:player:height', content: 337}); - metaTags.push({property: 'twitter:player:stream', content: source}); - metaTags.push({property: 'twitter:player:stream:content_type', content: contentType}); - } else { - metaTags.push({property: 'og:image', content: source}); - metaTags.push({property: 'og:image:type', content: contentType}); - metaTags.push({property: 'og:type', content: 'article'}); - metaTags.push({property: 'twitter:card', content: 'summary_large_image'}); - } - return metaTags; -}; - -export const createMetaTags = ({ siteDescription, siteHost, siteTitle, siteTwitter, asset, channel, defaultDescription, defaultThumbnail }) => { - if (asset) { - return createAssetMetaTags({ - siteHost, - siteTitle, - siteTwitter, - asset, - defaultDescription, - defaultThumbnail, - }); - } - if (channel) { - return createChannelMetaTags({ - siteHost, - siteTitle, - siteTwitter, - channel, - }); - } - return createBasicMetaTags({ - siteDescription, - siteHost, - siteTitle, - siteTwitter, - defaultThumbnail, - }); -}; diff --git a/client/src/utils/oEmbed.js b/client/src/utils/oEmbed.js new file mode 100644 index 00000000..796df5e6 --- /dev/null +++ b/client/src/utils/oEmbed.js @@ -0,0 +1,29 @@ +const rel = 'alternate'; +const title = 'spee.ch oEmbed profile'; + +const formatUrlForQuery = (url) => { + return url.replace(/\//g, '%2F').replace(/:/g, '%3A'); +}; + +const createJsonLinkData = (host, canonicalUrl) => { + return { + rel, + type: 'application/json+oembed', + href: `${host}/api/oembed?url=${formatUrlForQuery(canonicalUrl)}%2F&format=json`, + title, + }; +}; + +const createXmlLinkData = (host, canonicalUrl) => { + return { + rel, + type: 'application/xml+oembed', + href: `${host}/api/oembed?url=${formatUrlForQuery(canonicalUrl)}%2F&format=xml`, + title, + }; +}; + +export default { + json: createJsonLinkData, + xml : createXmlLinkData, +}; diff --git a/client/src/utils/pageTitle.js b/client/src/utils/pageTitle.js deleted file mode 100644 index 2b577c0b..00000000 --- a/client/src/utils/pageTitle.js +++ /dev/null @@ -1,6 +0,0 @@ -export const createPageTitle = (siteTitle, pageTitle) => { - if (!pageTitle) { - return `${siteTitle}`; - } - return `${siteTitle} - ${pageTitle}`; -}; diff --git a/client_custom/scss/.gitkeep b/client_custom/scss/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/client_custom/src/components/.gitkeep b/client_custom/src/components/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/client_custom/src/containers/.gitkeep b/client_custom/src/containers/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/client_custom/src/pages/.gitkeep b/client_custom/src/pages/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/config/.gitkeep b/config/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/config/lbryConfig.json b/config/lbryConfig.json new file mode 100644 index 00000000..07ec92c4 --- /dev/null +++ b/config/lbryConfig.json @@ -0,0 +1,5 @@ +{ + "apiHost": "localhost", + "apiPort": "5279", + "getTimeout": 30 +} diff --git a/config/loggerConfig.json b/config/loggerConfig.json new file mode 100644 index 00000000..662d124f --- /dev/null +++ b/config/loggerConfig.json @@ -0,0 +1,3 @@ +{ + "logLevel": "verbose" +} diff --git a/config/slackConfig.json b/config/slackConfig.json new file mode 100644 index 00000000..5bbf8072 --- /dev/null +++ b/config/slackConfig.json @@ -0,0 +1,5 @@ +{ + "slackWebHook": false, + "slackErrorChannel": false, + "slackInfoChannel": false +} \ No newline at end of file diff --git a/customize.md b/customize.md new file mode 100644 index 00000000..7698372a --- /dev/null +++ b/customize.md @@ -0,0 +1,37 @@ +# Configure your own spee.ch + +_note:this guide assumes you have done the []quickstart](https://github.com/lbryio/spee.ch/blob/readme-update/README.md) or [fullstart](https://github.com/lbryio/spee.ch/blob/readme-update/fullstart.md) guide and have a working spee.ch server_ + +## Custom Components +The components used by spee.ch are taken from the `client/` folder, but you can override those components by defining your own in the `client_custom/` folder. + +### Add a new custom Logo component. + +To create your own custom component to override the defaults, create a folder and an `index.jsx` file for the component in the `client_custom/src/components/` folder. + +``` +$ cd client_custom/src/components/ +$ mkdir Logo +$ cd Logo +$ touch index.jsx +$ nano index.jsx +``` + +Create a simple react component in `index.jsx`. + +``` +import React from 'react'; + +function Logo () { + return ( +

My Logo

+ ); +}; + +export default Logo; +``` + +Restart the server, and you should see your site with a new Logo in the top left corner! +``` +$ npm run start +``` diff --git a/fullstart.md b/fullstart.md new file mode 100644 index 00000000..4c27b532 --- /dev/null +++ b/fullstart.md @@ -0,0 +1,175 @@ +# Create Your Own Spee.ch! + +## 1. Prerequisites +### You will need the following tools installed + +* Node (v8 LTS). +* Make sure you install from the **Node** website [link](https://nodejs.org/en/download/). +* npm (should come installed with Node). +* Git +* Curl +* Tmux +* Unzip + +### Make sure **npm** is up-to-date. +``` +$ npm update +``` + +### Setup a Webserver to serve **Spee.ch** from Port **3000**. +* If you are using a server provided by **lbry**, we will have **caddy** installed already. +* If you are using your own server, make sure to have a web server installed and set up to serve from port **3000**. +* Nginx instructions (recommended). + * Insert directions for certbot before installing. + * Install [Nginx](http://nginx.org/en/docs/install.html). + * Create a config file called `spee.ch` in */etc/nginx/sites-available* + * see example: [config file](https://github.com/lbryio/spee.ch/nginx_example_config). + * Rename all mentions of *sub.domain.com* with your subdomain name. + * Run this command to link the sites-available. + + `$ ln -s /etc/nginx/sites-available/speech /etc/nginx/sites-enabled/speech` + + * Restart Nginx. + + `$ sudo service nginx restart` + + * Try visiting your website. + * If Nginx is working, you should get a **502** error because there is nothing running on **3000** yet. + * If you get the default Nginx greeting, you have not properly configured it to serve from port **3000**. + * You can find logs in */var/log/nginx/* too. + * Caddy tutorial: [https://caddyserver.com/tutorial](https://caddyserver.com/tutorial) +### MySql + +* Install MySql + * [Instructions](https://dev.mysql.com/doc/mysql-installation-excerpt/5.7/en) +* Create user **root**. + * Note: We are going to access **mysql** as **root** for this setup, but you may want to create a separate user in the future. + * Keep your password somewhere handy! +* Create a database called **lbry** and make sure you can use it. + + `CREATE DATABASE lbry;` + + `$ USE lbry;` + + `$ exit; (or press ‘ctl + d’)` + +* Try logging into mysql. + + `$ mysql -u username -p` + +* If you are using a **LBRY** server, your **password** is the one provided for **ssh**. + * Note: If it fails, try using `sudo`. + +##2. Install & Run the LBRY Daemon + +### Install **lbrynet** +_note: if you have a server from LBRY, lbrynet is already installed, you can skip to 2.4._ +``` +$ wget --quiet -O ~/latest_daemon.zip https://lbry.io/get/lbrynet.linux.zip +$ unzip -o -u "~/latest_daemon.zip" +``` +### Start lbrynet +``` +$ tmux +$ ./lbrynet-daemon +``` + +### Detach (exit) the tmux session and leave **lbrynet** running in the background. + +press `ctrl` + `b` then `d` to detach + +### Get LBC! + +Get a list of your wallets: + +``` +$ ~/lbrynet-cli wallet_list +``` + +Send some LBC to one of the addresses from your wallet. + +Check your balance again: + +``` +$ ~/lbrynet-cli wallet_balance +``` + +You should have **LBC**! + +### Install ffmpeg + +directions: [here](https://www.ffmpeg.org/download.html) + +## 3. Set up Spee.ch + +### Clone the spee.ch repo + +``` +$ git clone https://github.com/lbryio/www.spee.ch.git +``` + +Change directory into your site’s folder + +``` +$ cd ` or `$ cd www.spee.ch +``` + +Install dependencies + +``` +$ npm install +``` + +Run the config cli: + +``` +$ npm run configure +``` + +Check your site configs +``` +$ cd config/ +$ nano siteConfig.json +``` +add your ip address in `config/siteConfig.json` + +### Build & run + +Run the below command to transpile, build, and start your server. +``` +$ npm run start +``` + +_**Note:** if you had to use `sudo` to login to **mysql** above, you may have issues with this step._ + +Spee.ch should now be running ! + +Visit your site in the browser. Try publishing an image! + + +## 4. Bonus: + +### Install PM2 and run your server with PM2 + +Install PM2 +``` +$ sudo npm i -g pm2 +``` + +From inside your project’s folder, start your server with PM2. +``` +$ pm2 start server.js +``` + +Visit your site and see if it is running! + +### Sync Your Spee.ch Instance with the full **Blockchain** + +Install **lbrycrdd** + +Install **lbry-decoder** + +Start **lbry-decoder** + +Install & run [spee.ch-sync](https://github.com/billbitt/spee.ch-sync) + diff --git a/nginx_example_config b/nginx_example_config new file mode 100644 index 00000000..4b643834 --- /dev/null +++ b/nginx_example_config @@ -0,0 +1,40 @@ +# Speech nginx configuration + +server { + listen 80; + server_name sub.domain.com; + + listen 443 ssl; + + ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem; + + ssl_session_cache shared:SSL:20m; + ssl_session_timeout 1440m; + ssl_protocols TLSv1 TLSv1.1 TLSv1.2; + ssl_prefer_server_ciphers on; + # Using list of ciphers from https://github.com/cloudflare/sslconfig + ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; + + # if letsencrypt is not working, this is probably preventing it from getting to .well-known + if ($scheme = http) { + rewrite ^ https://$server_name$request_uri? permanent; + } + +# gzip_static on; +# gzip_http_version 1.0; + + access_log /var/log/nginx/speech_nginx_access_log; + error_log /var/log/nginx/speech_nginx_error_log; + + location / { + proxy_read_timeout 5m; + proxy_pass http://127.0.0.1:3000; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Port $server_port; + proxy_set_header Host $host; + proxy_pass_header Server; + } +} diff --git a/package-lock.json b/package-lock.json index 1f8ea3fc..6ca25747 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,20 +5,21 @@ "requires": true, "dependencies": { "@babel/cli": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.0.0-beta.51.tgz", - "integrity": "sha1-0YbN1Z+SNryRVqqo7aYWOPVmt/w=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.0.0-rc.1.tgz", + "integrity": "sha512-wjLVuFV24+3lpDD4Owe03Lm115l6h+npgYE966A5KYIKCUE+Nhv2ceGXd9cIHOB6gww+GxZmiyIGnZ1VKmrWqA==", "dev": true, "requires": { - "chokidar": "^2.0.3", - "commander": "^2.8.1", - "convert-source-map": "^1.1.0", - "fs-readdir-recursive": "^1.0.0", - "glob": "^7.0.0", - "lodash": "^4.17.5", - "output-file-sync": "^2.0.0", - "slash": "^1.0.0", - "source-map": "^0.5.0" + "chokidar": "2.0.4", + "commander": "2.15.1", + "convert-source-map": "1.5.1", + "fs-readdir-recursive": "1.1.0", + "glob": "7.1.2", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "output-file-sync": "2.0.1", + "slash": "1.0.0", + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -30,35 +31,34 @@ } }, "@babel/code-frame": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.51.tgz", - "integrity": "sha1-vXHZsZKvl435FYKdOdQJRFZDmgw=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-rc.1.tgz", + "integrity": "sha512-qhQo3GqwqMUv03SxxjcEkWtlkEDvFYrBKbJUn4Dtd9amC2cLkJ3me4iYUVSBbVXWbfbVRalEeVBHzX4aQYKnBg==", "dev": true, "requires": { - "@babel/highlight": "7.0.0-beta.51" + "@babel/highlight": "7.0.0-rc.1" } }, "@babel/core": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-beta.51.tgz", - "integrity": "sha1-DlS9a2OHNrKuWTwxpH8JaeKyuW0=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.0.0-rc.1.tgz", + "integrity": "sha512-CvuSsq+LFs9N4SJG8MnNPI0hnl913HK1OqG3NEfejOKo+JqtVuxpmAFyXIDogX2x668xqFKAW6EQiCIcUHklMg==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.51", - "@babel/generator": "7.0.0-beta.51", - "@babel/helpers": "7.0.0-beta.51", - "@babel/parser": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "convert-source-map": "^1.1.0", - "debug": "^3.1.0", - "json5": "^0.5.0", - "lodash": "^4.17.5", - "micromatch": "^3.1.10", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" + "@babel/code-frame": "7.0.0-rc.1", + "@babel/generator": "7.0.0-rc.1", + "@babel/helpers": "7.0.0-rc.1", + "@babel/parser": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "convert-source-map": "1.5.1", + "debug": "3.1.0", + "json5": "0.5.1", + "lodash": "4.17.10", + "resolve": "1.7.1", + "semver": "5.5.0", + "source-map": "0.5.7" }, "dependencies": { "source-map": { @@ -70,16 +70,16 @@ } }, "@babel/generator": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.51.tgz", - "integrity": "sha1-bHV1/952HQdIXgS67cA5LG2eMPY=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.0.0-rc.1.tgz", + "integrity": "sha512-Ak4n780/coo+L9GZUS7V/IGJilP11t4UoWl0J9cG3jso4KkDGQcqdx4Y6gJAiXng+sDfvzUmvWfM1hZwH82J0A==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51", - "jsesc": "^2.5.1", - "lodash": "^4.17.5", - "source-map": "^0.5.0", - "trim-right": "^1.0.1" + "@babel/types": "7.0.0-rc.1", + "jsesc": "2.5.1", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" }, "dependencies": { "source-map": { @@ -91,735 +91,723 @@ } }, "@babel/helper-annotate-as-pure": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-beta.51.tgz", - "integrity": "sha1-OM95IL9fM4oif3VOKGtvut7gS1g=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0-rc.1.tgz", + "integrity": "sha512-GOV2UExs9gAvSrZF4rcgocXXeLJplq2kL2AsCrn6DmGwMUEfo/KB7FhedN3X6cVh0gOqqKkVKXrz3Li1wQ84xQ==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51" + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-beta.51.tgz", - "integrity": "sha1-ITP//j4vcVkeQhR7lHKRyirTkjc=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.0.0-rc.1.tgz", + "integrity": "sha512-O6/szesBinGoExLl01Qg2vb5FaOfifSilgL5GnCZLz5z3Pg9jRolN6rGzQAOa/K9Y01TAmDf1dC06AKQUv3x8g==", "dev": true, "requires": { - "@babel/helper-explode-assignable-expression": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/helper-explode-assignable-expression": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-builder-react-jsx": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-beta.51.tgz", - "integrity": "sha1-hsctZoO9JZfJOKEhU6bkgL8UASg=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.0.0-rc.1.tgz", + "integrity": "sha512-yhZzfcpjoCnZKrJ/ObzpQmaveBictCRoiIciz0FhAY97+J1lx4Zuy+t9ZqGr3pP4U4rV7UOXyuLknbhNkWT0Ew==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51", - "esutils": "^2.0.0" + "@babel/types": "7.0.0-rc.1", + "esutils": "2.0.2" } }, "@babel/helper-call-delegate": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-beta.51.tgz", - "integrity": "sha1-BO1yfJfPBbyy/WRINzMasV1jyBk=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.0.0-rc.1.tgz", + "integrity": "sha512-3Z+shHGJTQnc61RCFVrQ3OJRmyL8uk4dWCsP8kT7G4inxv/bs6/zLOipK21VMePGpjUA4tnKxJCevMtp9ko4pw==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/helper-hoist-variables": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-define-map": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-beta.51.tgz", - "integrity": "sha1-2Ixkc36UjHE/nxFTM46EFf7kCxE=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.0.0-rc.1.tgz", + "integrity": "sha512-yTn+nj29QrZLCINtgqFLgbrbvz6yM029ox/MpQfSS/JmrQovnEc+o5vrsW/R74QPheOHmF9ruJo58atwuk04Fw==", "dev": true, "requires": { - "@babel/helper-function-name": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, "@babel/helper-explode-assignable-expression": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-beta.51.tgz", - "integrity": "sha1-mHUzKti11cmC+kgcuCtzFwPyzS0=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.0.0-rc.1.tgz", + "integrity": "sha512-hSa+oxKn9bfbc3Ob1U7QJsO++do2Xe8Ft640alRJpEQ3VWy7tL8ZB+2xqo0pgHKo7rITuSxERz72uZji8dTiWg==", "dev": true, "requires": { - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-function-name": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.51.tgz", - "integrity": "sha1-IbSHSiJ8+Z7K/MMKkDAtpaJkBWE=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-rc.1.tgz", + "integrity": "sha512-fDbWxdYYbFNzcI5jn3qsPxHI1UCXwvFk0kGytGce/FEBYEPXBqycKknC8Oqiub8DzGtmTcvnqcm/cl/qxzeuiQ==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/helper-get-function-arity": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-get-function-arity": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.51.tgz", - "integrity": "sha1-MoGy0EWvlcFyzpGyCCXYXqRnZBE=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-rc.1.tgz", + "integrity": "sha512-5+ydaIRxT42FSDqvoXIDksCGlW1903xC73HQnQCFF1YuV7VcIf+9M4+tRZulLlYlshw7ILA+4SiYsKoDlC0Irg==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51" + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-hoist-variables": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-beta.51.tgz", - "integrity": "sha1-XX68hZZWe2RPyYmRLDo++YvgWPw=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0-rc.1.tgz", + "integrity": "sha512-ttcilOh9SM9eqVlzwz2Lv7B5Dwyaa8TIhi1DDEPnC3CarpNPXFdeCOoxoV5qjHRD1klAT86gczeU4lJnSDKmgA==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51" + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-beta.51.tgz", - "integrity": "sha1-KkJTZXQXZYiAbmAusXpS0yP4KHA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0-rc.1.tgz", + "integrity": "sha512-o263plHxPo1TxDDUx7gHuQ96Y8QyLs2n4968KZvo2l/9rkwn2L9kcIsRVjlhpPPKTz4tWe/7ZV50zkeDorrK9g==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51" + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-module-imports": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-beta.51.tgz", - "integrity": "sha1-zgBCgEX7t9XrwOp7+DV4nxU2arI=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0-rc.1.tgz", + "integrity": "sha512-eA8RzanjsZw4X2Cqh3WgVG7zwf1wdSUfXvZOH8Azx1rpwE0hzJ276jDZ3gSOJShsxPVvopHa4h+c2WfEUjW4+Q==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, "@babel/helper-module-transforms": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-beta.51.tgz", - "integrity": "sha1-E68MjuQfJ3dDyPxD1EQxXbIyb3M=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.0.0-rc.1.tgz", + "integrity": "sha512-nz7FTFXlQ9UYp/dBjad4ZOu3Q4/1n86ysw9z9pjunqeKFNm+JHq7j5BeocFKIQAwul7QbIkSXiYm5EiteCHjiQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0-beta.51", - "@babel/helper-simple-access": "7.0.0-beta.51", - "@babel/helper-split-export-declaration": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "@babel/helper-module-imports": "7.0.0-rc.1", + "@babel/helper-simple-access": "7.0.0-rc.1", + "@babel/helper-split-export-declaration": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, "@babel/helper-optimise-call-expression": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-beta.51.tgz", - "integrity": "sha1-IfIVjvCDoSPOHgRmW1u4TzcAgNc=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0-rc.1.tgz", + "integrity": "sha512-XOKPnL/AJz8ZyY553FsMAVt9g/mE1+RQfg5/m3X0K4+RqYviPGZlxwe5mGSd8s2kPSB6D6nZRUfvZFtmFIXEvA==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51" + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-plugin-utils": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-beta.51.tgz", - "integrity": "sha1-D2pfK20cZERBP4+rYJQNebY8IDE=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0-rc.1.tgz", + "integrity": "sha512-8ZNzqHXDhT/JjnBvrLKu8AL7NhONVIsnrfyQNm3PJNmufIER5kcIa3OxPMGWgNqox2R8WeQ6YYzYTLNXqq4kgQ==", "dev": true }, "@babel/helper-regex": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-beta.51.tgz", - "integrity": "sha1-mXIqPAxwRZavsSMoSwqIihoAPYI=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.0.0-rc.1.tgz", + "integrity": "sha512-QXnTXVefioGuXlRMn+MnKKUHwhmdXGKnMvFI1tdHioMnBQEbEHGnmp+aYcddLwJ3KAH/hveaSR95BuWwprW+TA==", "dev": true, "requires": { - "lodash": "^4.17.5" + "lodash": "4.17.10" } }, "@babel/helper-remap-async-to-generator": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-beta.51.tgz", - "integrity": "sha1-DtxX4F3LXd4qC27m+NAmGYLe8l8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.0.0-rc.1.tgz", + "integrity": "sha512-skROQSC2fPwmrzAEPT/M7CObnWjJGpdbNLoICZDYHwDiUDe3dk5cQsU9j3tNlBhX14FaC9SjSpCJnSRpXDOWOw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-beta.51", - "@babel/helper-wrap-function": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/helper-annotate-as-pure": "7.0.0-rc.1", + "@babel/helper-wrap-function": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-replace-supers": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-beta.51.tgz", - "integrity": "sha1-J5phr7hJR2xsxw1VGfg99KdP+m8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.0.0-rc.1.tgz", + "integrity": "sha512-mcv+NKCazZfdEw7yBe/xROekR3qlFcy18d//mJTKnZb7xx2qFPjZAafkeIlpvzNHwd/WMTHShC4+3WjOL8FD5g==", "dev": true, "requires": { - "@babel/helper-member-expression-to-functions": "7.0.0-beta.51", - "@babel/helper-optimise-call-expression": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/helper-member-expression-to-functions": "7.0.0-rc.1", + "@babel/helper-optimise-call-expression": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-simple-access": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-beta.51.tgz", - "integrity": "sha1-ydf+zYShgdUKOvzEIvyUqWi+MFA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.0.0-rc.1.tgz", + "integrity": "sha512-mfrHVSG0Dw51ajyL3Ltz+gEYrWAy4+Kl8lb1V/QWR31H7ovha6vNZ4guev/lR4KFu+4hMHogpjh4HB4AShqeMQ==", "dev": true, "requires": { - "@babel/template": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "@babel/template": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, "@babel/helper-split-export-declaration": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.51.tgz", - "integrity": "sha1-imw/ZsTSZTUvwHdIT59ugKUauXg=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-rc.1.tgz", + "integrity": "sha512-hz6QmlnaBFYt4ra8DfRLCMgrI7yfwQ13kJtufSO5dVCasxmAng2LeeQiT6H4iN5TpFONcayp5f/2mXqHH/zn/g==", "dev": true, "requires": { - "@babel/types": "7.0.0-beta.51" + "@babel/types": "7.0.0-rc.1" } }, "@babel/helper-wrap-function": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-beta.51.tgz", - "integrity": "sha1-bFFvsEQQmWTuAxwiUAqDAxOGL7E=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.0.0-rc.1.tgz", + "integrity": "sha512-LrqRD4+jEkQGVQsCRi7bPkSmYFAUd3pv9tYAC8nsr9Y0Qfus8oycqxDj60QW4dmigRKBRRbVVLr/0kMI2pk0MA==", "dev": true, "requires": { - "@babel/helper-function-name": "7.0.0-beta.51", - "@babel/template": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/template": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/helpers": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-beta.51.tgz", - "integrity": "sha1-lScr4qtGNNaCBCX4klAxqSiRg5c=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.0.0-rc.1.tgz", + "integrity": "sha512-4+AkDbZ0Usr7mNH4wGX8fVx4WJzHdrcjRkJy52EIWyBAQEoKqb5HXca1VjejWtnVwaGwW7zk/h6oQ9FQPywQfA==", "dev": true, "requires": { - "@babel/template": "7.0.0-beta.51", - "@babel/traverse": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51" + "@babel/template": "7.0.0-rc.1", + "@babel/traverse": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1" } }, "@babel/highlight": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.51.tgz", - "integrity": "sha1-6IRK4loVlcz9QriWI7Q3bKBtIl0=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-rc.1.tgz", + "integrity": "sha512-5PgPDV6F5s69XNznTcP0za3qH7qgBkr9DVQTXfZtpF+3iEyuIZB1Mjxu52F5CFxgzQUQJoBYHVxtH4Itdb5MgA==", "dev": true, "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^3.0.0" + "chalk": "2.4.0", + "esutils": "2.0.2", + "js-tokens": "3.0.2" } }, "@babel/parser": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-beta.51.tgz", - "integrity": "sha1-J87C30Cd9gr1gnDtj2qlVAnqhvY=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.0.0-rc.1.tgz", + "integrity": "sha512-rC+bIz2eZnJlacERmJO25UAbXVZttcSxh0Px0gRGinOTzug5tL7+L9urfIdSWlv1ZzP03+f2xkOFLOxZqSsVmQ==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-beta.51.tgz", - "integrity": "sha1-99aS+Uakp/ynjkM2QHoAvq+KTeo=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.0.0-rc.1.tgz", + "integrity": "sha512-ewJnWv10AFUh+Yi6axMVQKW8L1pZCm86a44m2biYtXNSyt6FyWgdRloBbR7iCviPkeurfTCVdPS61G/t5cXVkQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-remap-async-to-generator": "7.0.0-beta.51", - "@babel/plugin-syntax-async-generators": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-remap-async-to-generator": "7.0.0-rc.1", + "@babel/plugin-syntax-async-generators": "7.0.0-rc.1" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-beta.51.tgz", - "integrity": "sha1-W8Rp5ebRuEpdYEa1npDKAWwghtY=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0-rc.1.tgz", + "integrity": "sha512-J9qLEkxuZrYh/mel9RA5wDrMGE7jQMOMa1XPZMysih4C0mveeQUExbAPyrVSrFQo5BXLcLIc6ccM24G9xPCCXA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-syntax-object-rest-spread": "7.0.0-rc.1" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-beta.51.tgz", - "integrity": "sha1-PsxtKRnVLJTL+uhiXaM1ghAvs9Y=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0-rc.1.tgz", + "integrity": "sha512-mNJULpCOErHPVvnqj2i464uVuWuTTrnJFoT8dYyODCSjHBypdVvEGZx4Rk67etdDMv+iytZTdKDHUXq5JtWCdg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-syntax-optional-catch-binding": "7.0.0-rc.1" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-beta.51.tgz", - "integrity": "sha1-0pbD6nTKN/1/pVu/jAzYWqfZn3s=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0-rc.1.tgz", + "integrity": "sha512-NrUBXqwxnvrhJDzeJ4yOiPDDpPbjVQsydRELHVqzjy+WAOh/cAT4JOmMrQegU/vOjj62LM8S1Kp8wHpDgskTLQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-regex": "7.0.0-beta.51", - "regexpu-core": "^4.2.0" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-regex": "7.0.0-rc.1", + "regexpu-core": "4.2.0" } }, "@babel/plugin-syntax-async-generators": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-beta.51.tgz", - "integrity": "sha1-aSGvHcPaD87d4KYQc+7Hl7jKpwc=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0-rc.1.tgz", + "integrity": "sha512-2F5FYc89TCrqE/8+qFlr5jVMTHfkhEOg9JUx+GXI3inW2OfcY+J6bN8EDc8PLz84PHaR8W630YOuh2PveJu3WA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-syntax-jsx": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-beta.51.tgz", - "integrity": "sha1-9nKjNxxro/5Tv/0uirXcQElTgs8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.0.0-rc.1.tgz", + "integrity": "sha512-n0BcD2LmCrQkDKRhUd7lSiXiRpbo6Z7x77v3FSuevH5oWTFChjX34vHCCOszgVP37NLAxhuf4Jz0KwiPgXnexg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-syntax-object-rest-spread": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-beta.51.tgz", - "integrity": "sha1-bVehGcHwZMRY5FutRb7wqD7RDAA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0-rc.1.tgz", + "integrity": "sha512-stOESgG+lc68DSFvXrqoH5dW91ZtedDoR40g9wJ1ruLahCdr9X5hVLv/ddf/g/1zzjevq59A1Q+xdUREhEnrvQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-beta.51.tgz", - "integrity": "sha1-ziZ1cgy0EkjCZDNRXJDJS50Bpv0=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0-rc.1.tgz", + "integrity": "sha512-e4dGUnZGhg1LWTvyQ6/m8nKZ9bUrtPwl9M487CEVhTA5lVUvYxASHBCEtkVWPwT16NzcWlFR/PghsHeLFGIw7A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-beta.51.tgz", - "integrity": "sha1-KbnbbjhoigbsXCVjmZbYml6/2+M=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0-rc.1.tgz", + "integrity": "sha512-9JnWkl+iKmjNgMFrLjfGJQm3f66SJxwaYjdsm49Vpvo9x7ADHMGMZYa5Yto9WNQBlIdtf+fhypwBcz6IPxdyvg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-beta.51.tgz", - "integrity": "sha1-lFOFBVoubTVmv1WvEnyNclzToXM=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.0.0-rc.1.tgz", + "integrity": "sha512-8oE9Frx07ILINop9hOejXgcDVhmt4FuB3ZjXnIMcSMkAuiT3xLrxFMDo1Qo0kf5mty2jLlnOO6tbbH0kiIWxWA==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-remap-async-to-generator": "7.0.0-beta.51" + "@babel/helper-module-imports": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-remap-async-to-generator": "7.0.0-rc.1" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-beta.51.tgz", - "integrity": "sha1-IxKbr4FEcfOeqU7shKsf/nbJ/pY=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0-rc.1.tgz", + "integrity": "sha512-dFEgZqmyWXaVYrFU11IgLX8M1+gK7GSU+CVRv42D7P1FFMNndg1u36jXIa7URExEuTeTUykLM/IWgk5pHWxo6A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-beta.51.tgz", - "integrity": "sha1-vlVcefDaTrFop/4W14eppxc3AeA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0-rc.1.tgz", + "integrity": "sha512-9uGwvSqJcmcKPEkLHA7ffrG0lKXTXprupwGjEKDw27OoRWXHdWUmA4VwpuzMrUsYyV+q+P6mgj6TPzoGJA3fAw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "lodash": "^4.17.5" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "lodash": "4.17.10" } }, "@babel/plugin-transform-classes": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-beta.51.tgz", - "integrity": "sha1-BD8x+2MnZkoy2Lpl3hV5nv3GXaA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.0.0-rc.1.tgz", + "integrity": "sha512-mPXMbQR8zNHMXvaJ71wQ7iPcQLHPv12XjWwvYkDjtsEvknDQ2HWA+UYZGVpZ0bv3jLQIZuwc1kZ6f5vSsavvog==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-beta.51", - "@babel/helper-define-map": "7.0.0-beta.51", - "@babel/helper-function-name": "7.0.0-beta.51", - "@babel/helper-optimise-call-expression": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-replace-supers": "7.0.0-beta.51", - "@babel/helper-split-export-declaration": "7.0.0-beta.51", - "globals": "^11.1.0" + "@babel/helper-annotate-as-pure": "7.0.0-rc.1", + "@babel/helper-define-map": "7.0.0-rc.1", + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/helper-optimise-call-expression": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-replace-supers": "7.0.0-rc.1", + "@babel/helper-split-export-declaration": "7.0.0-rc.1", + "globals": "11.7.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-beta.51.tgz", - "integrity": "sha1-jHKhqz4HZwNP+eZzLSWBwjwDLv4=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0-rc.1.tgz", + "integrity": "sha512-dfJNqbyF6S8nvFzGc6NthqCqopn1PoY3q2E1KcgrFSgxwYAMOLuhu5eA5iFeXwggp6tIo6OVVXC55/Twsolmow==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-destructuring": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-beta.51.tgz", - "integrity": "sha1-1dRU5XTH7zPuSekYsEivspvpNfY=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.0.0-rc.1.tgz", + "integrity": "sha512-YpuGA3cj5+gRD053nWtogo+3wxc10mNAAyf5syXXCVS/cOWpRjc3qPidzHtPodz+v8TgAwwaXwIz/ghLOojRQw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-beta.51.tgz", - "integrity": "sha1-mAVYoeX34ohQ9f/eIEBCkeKqM/s=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0-rc.1.tgz", + "integrity": "sha512-6G62wnwVWCjhvmWmWatXHO4wfvWhUL1bJX0MABYIf1bpD5ROFly/HxgWkuMVcTSeIuLzsfsYKSF1CMUI0bykXw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-regex": "7.0.0-beta.51", - "regexpu-core": "^4.1.3" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-regex": "7.0.0-rc.1", + "regexpu-core": "4.2.0" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-beta.51.tgz", - "integrity": "sha1-VB6vipfRSpgJs1nY9UgAHwhbm38=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0-rc.1.tgz", + "integrity": "sha512-cWyoUi1izJk5JbWFG07GZrZyZgG+DW4axPKI0MA+lSAxjP8VZwFUhJyjT7R4bGN81KTVv1aprKclQnKxN2R0Lw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-beta.51.tgz", - "integrity": "sha1-BLTj5As3AREt1u2jliUTJ1eIH9Q=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.0.0-rc.1.tgz", + "integrity": "sha512-5lc0nlX8TPdkHSIX3/3jMtqvvJfzcARcev4qqsaVkXWQ6XNrNnD8ExyTEVgoGhr5Ppz1wA0ymAK8W33uGeKSOg==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-builder-binary-assignment-operator-visitor": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-for-of": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-beta.51.tgz", - "integrity": "sha1-RPR2sGxANVF6hAOiYk+xZMQ3FFU=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0-rc.1.tgz", + "integrity": "sha512-v09o2ywKHu+b/vkLknjKPV9QXCxuU2cVFxkWhBqcKwl3ERe3clhiab7a/8T9Sc332o4Im6n/LLugKMtpfxqRsQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-function-name": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-beta.51.tgz", - "integrity": "sha1-cGU8NgtTJUJG9GWexFCwwKVthqo=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.0.0-rc.1.tgz", + "integrity": "sha512-MiUORPQo3kvSCYBn/T6kKIfdDKqFAnEsaiRnTz36Y6M/p6NX7br5MgqPumVNgDboYKQ9kzaFNM8YJvWLcjL6SQ==", "dev": true, "requires": { - "@babel/helper-function-name": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-literals": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-beta.51.tgz", - "integrity": "sha1-RbB6lCI8+iJnAaeUYLQrMt8d7AU=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0-rc.1.tgz", + "integrity": "sha512-iI468X7shsmB/oIPi8+UfMcOpcQPEsMAz5hDc0H8dKBGUWbPcAlyQpC8CaNDZ7y1/7lK65wtvXs5OGTQd3OsJg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-beta.51.tgz", - "integrity": "sha1-9oqL5/ZRd9JGUGo5FNrk1m5nWh8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.0.0-rc.1.tgz", + "integrity": "sha512-xKIF2ZAFOZRgIhEeW6zuyieyqfjft59NaHvb2C7+N9omdFDVkrx5ZeHVLb8y163a3mUb2MqJg1PLfZXdwvz1EA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-module-transforms": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-beta.51.tgz", - "integrity": "sha1-QDj54VJE4QkAy4n1t5bQUPHrGVs=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.0.0-rc.1.tgz", + "integrity": "sha512-G2Y2HwdUVSR+6V1g5q7D6hLm6HQ5f0HJ4TeYzPDIwKj3Ij3djyJ1lrFRtMRxanclcRy/N01sVe0z31m8Dslmzw==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-simple-access": "7.0.0-beta.51" + "@babel/helper-module-transforms": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-simple-access": "7.0.0-rc.1" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-beta.51.tgz", - "integrity": "sha1-bn/ErZQhtyXN3zfMkk6vd38ijCc=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.0.0-rc.1.tgz", + "integrity": "sha512-denli1X4utH2boaedaCv3uDmrmBH0CMioIswTxViNY4M8nti3DV1m7wfKE4kDYq8UrIILLYwxxOsAvGxOS9/Ug==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-hoist-variables": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-beta.51.tgz", - "integrity": "sha1-7i71dVedluQGE/ym5sjttcrbbG8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.0.0-rc.1.tgz", + "integrity": "sha512-wvhxd77dRxyQGSEqfSRfe6dEBDy7Q13MaC1RKLX2H4+SQKZPvGuNr0BS0CEJ3Fm3uSEZ7potTBfRO4YNAygjXg==", "dev": true, "requires": { - "@babel/helper-module-transforms": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-module-transforms": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-new-target": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-beta.51.tgz", - "integrity": "sha1-cHWhBllcv91CXta4MLefinr/UoM=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0-rc.1.tgz", + "integrity": "sha512-mI10u9cgVpTjJllgISn6SmM2H/3X1osvmgT/4sjQjYARGgEfG9khrxtI74IBRhRhtBF9VBgwhah6sYAym+aghw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-object-super": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-beta.51.tgz", - "integrity": "sha1-rBjoi8HXm3GL2vSKdWgzzfW9zr8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.0.0-rc.1.tgz", + "integrity": "sha512-mwoid0Rx+L55NupRE9xs1JAgFRz0JIYS/JR0aqBlLOQwBY1KrbrAtQfNwHQobwZrP9O24VBRfViMsiYLh/UV4A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-replace-supers": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-replace-supers": "7.0.0-rc.1" } }, "@babel/plugin-transform-parameters": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-beta.51.tgz", - "integrity": "sha1-mQGVsd/bG8yUkG8wNJUQie0e3U4=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.0.0-rc.1.tgz", + "integrity": "sha512-PKjm+xf23XvdP0WRj/fIiP3xa5DYOg6qd0150Mpu4JvCIci6vrWvkc+kU9RtwkXLycWRfzdSnnyuSZABxPAP8A==", "dev": true, "requires": { - "@babel/helper-call-delegate": "7.0.0-beta.51", - "@babel/helper-get-function-arity": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-call-delegate": "7.0.0-rc.1", + "@babel/helper-get-function-arity": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-beta.51.tgz", - "integrity": "sha1-G0i9NN+pCHJSyHB9Kb0d8uiCHL4=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.0.0-rc.1.tgz", + "integrity": "sha512-XvrjX3XW4jScdL8h2gVpwYmuZlNUNja+DSkWeE8F1mcXS1nQ5Bf8GmxfGk2D7vmSrgxkDUusXZiHMFoIoNwQ/Q==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-beta.51.tgz", - "integrity": "sha1-evhJhRi4OQZAVDg3AZiAjKbmOxA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.0.0-rc.1.tgz", + "integrity": "sha512-lGSDCkRp8/2JMu0vBeayMLF2xLSiD1n9KZFH+zRSLtrvdNJFhifmzHJ9dYYBcDY7qDQayEpj/Ze9UpyxaU+oSA==", "dev": true, "requires": { - "@babel/helper-builder-react-jsx": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-syntax-jsx": "7.0.0-beta.51" + "@babel/helper-builder-react-jsx": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-syntax-jsx": "7.0.0-rc.1" } }, "@babel/plugin-transform-react-jsx-self": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-beta.51.tgz", - "integrity": "sha1-pPCYWX/nCYVUQ2b4k6xHOJhk2JQ=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.0.0-rc.1.tgz", + "integrity": "sha512-cItXIWcpge64i4FTowxuRdEBIqV0DReJNi3Iu8pEwNH4LLZbZ1OdYBZOL8nVLPP2vrfvsigt1qFJfYsbkPxcbw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-syntax-jsx": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-syntax-jsx": "7.0.0-rc.1" } }, "@babel/plugin-transform-react-jsx-source": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-beta.51.tgz", - "integrity": "sha1-aZncSRyLRgLvtNC9G6/JNq1pbs8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.0.0-rc.1.tgz", + "integrity": "sha512-M6cdiYTNWzqlmaa4YYpHTAp2N6tnROMCkvdy2eD9STHA9LpRz26fRQtbEc/kYL3MXroK2DEZpb8Zva6kczgbNg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-syntax-jsx": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-syntax-jsx": "7.0.0-rc.1" } }, "@babel/plugin-transform-regenerator": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-beta.51.tgz", - "integrity": "sha1-U28NWZ0nU9ygor6KZeLCRKe1YSs=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0-rc.1.tgz", + "integrity": "sha512-a73XZOJGt0Ft8/YbRAUl0Vs1GuPpjB6QVQNYPxWUNXblSiywhkkZxLssHZnao2xTD26kLRfMoXfOtj9FMz5fcw==", "dev": true, "requires": { - "regenerator-transform": "^0.12.4" - }, - "dependencies": { - "regenerator-transform": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.12.4.tgz", - "integrity": "sha512-p2I0fY+TbSLD2/VFTFb/ypEHxs3e3AjU0DzttdPqk2bSmDhfSh5E54b86Yc6XhUa5KykK1tgbvZ4Nr82oCJWkQ==", - "dev": true, - "requires": { - "private": "^0.1.6" - } - } + "regenerator-transform": "0.13.3" } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-beta.51.tgz", - "integrity": "sha1-3bwLGuHds7z+aWnyyWgQPxHjK9k=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0-rc.1.tgz", + "integrity": "sha512-NkUsTSKL8txvPt9vtdkcbJEyiUtcSOAr6ZnAE+Vg4mB0hYI0sWEJCAzl26KDDFgdVSKJSAaenjX5UR3BAF3KaA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-spread": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-beta.51.tgz", - "integrity": "sha1-EAEpvI19z0vHmtzWEppCFCWdilA=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0-rc.1.tgz", + "integrity": "sha512-/3EkUVVi55i/JCbL2CxXTaoCXCopj3qQMTZ0lvgtpepx1yAMpoHYFBNWLIuQmjG7JhDauOwEdBg8TRsneYRmmw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-beta.51.tgz", - "integrity": "sha1-SMvqzTG9Be6AC1+svLCcV4G9lhk=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0-rc.1.tgz", + "integrity": "sha512-sXPFGI3GTtSMxVTDwrRmgwmUcq+l0ovzUZFfAd4YK1zJQ7YQCaCjcmLskuiGM20SoteYserDADg0SrLw+8B8hA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-regex": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-regex": "7.0.0-rc.1" } }, "@babel/plugin-transform-template-literals": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-beta.51.tgz", - "integrity": "sha1-LQWV9WRh1DRbo1w41zAz+H7Lu8g=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0-rc.1.tgz", + "integrity": "sha512-xq9eSNA65VXbMmVEjKUXB0czP8y/CRs88S8HcwZbJ7XGo4FARUJV3aGQfIPvGUmbkQegsxZx5rlTPlw3NPl+Aw==", "dev": true, "requires": { - "@babel/helper-annotate-as-pure": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-annotate-as-pure": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-beta.51.tgz", - "integrity": "sha1-SVDAyOPJ4eFB5Fzrq15hSCYyBMM=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0-rc.1.tgz", + "integrity": "sha512-wUKNscuv3WOOFy3tGOBeayeOLyZjixjOSvb0QNXrCDRuENhfPaFQjZt/T0UDAZN0mXvAQ7Ksx2pOtXBsyIBxUA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-beta.51.tgz", - "integrity": "sha1-kBn5FQj0C1CmRDUEMijEFCws2GQ=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0-rc.1.tgz", + "integrity": "sha512-3yz7ehk0VFLqoKVV1GbTdH2sfMtYznhllkBDtnybveM6MeFA5WYCf6iWf+I/vF/8QIMDd1b4359GGWKCI+KuIQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/helper-regex": "7.0.0-beta.51", - "regexpu-core": "^4.1.3" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/helper-regex": "7.0.0-rc.1", + "regexpu-core": "4.2.0" } }, "@babel/preset-env": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.0.0-beta.51.tgz", - "integrity": "sha1-W1gObp6DBBZsExcBfoY8Btz8BKI=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.0.0-rc.1.tgz", + "integrity": "sha512-c1mn7dKMBnkcS9Se9cuB5K2PAN48I0/mFXIA/ARyu7dHnLxiteSL0wyQukVp4NenKqFlAtPFx5ZtgWEMjaYmbg==", "dev": true, "requires": { - "@babel/helper-module-imports": "7.0.0-beta.51", - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-proposal-async-generator-functions": "7.0.0-beta.51", - "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.51", - "@babel/plugin-proposal-optional-catch-binding": "7.0.0-beta.51", - "@babel/plugin-proposal-unicode-property-regex": "7.0.0-beta.51", - "@babel/plugin-syntax-async-generators": "7.0.0-beta.51", - "@babel/plugin-syntax-object-rest-spread": "7.0.0-beta.51", - "@babel/plugin-syntax-optional-catch-binding": "7.0.0-beta.51", - "@babel/plugin-transform-arrow-functions": "7.0.0-beta.51", - "@babel/plugin-transform-async-to-generator": "7.0.0-beta.51", - "@babel/plugin-transform-block-scoped-functions": "7.0.0-beta.51", - "@babel/plugin-transform-block-scoping": "7.0.0-beta.51", - "@babel/plugin-transform-classes": "7.0.0-beta.51", - "@babel/plugin-transform-computed-properties": "7.0.0-beta.51", - "@babel/plugin-transform-destructuring": "7.0.0-beta.51", - "@babel/plugin-transform-dotall-regex": "7.0.0-beta.51", - "@babel/plugin-transform-duplicate-keys": "7.0.0-beta.51", - "@babel/plugin-transform-exponentiation-operator": "7.0.0-beta.51", - "@babel/plugin-transform-for-of": "7.0.0-beta.51", - "@babel/plugin-transform-function-name": "7.0.0-beta.51", - "@babel/plugin-transform-literals": "7.0.0-beta.51", - "@babel/plugin-transform-modules-amd": "7.0.0-beta.51", - "@babel/plugin-transform-modules-commonjs": "7.0.0-beta.51", - "@babel/plugin-transform-modules-systemjs": "7.0.0-beta.51", - "@babel/plugin-transform-modules-umd": "7.0.0-beta.51", - "@babel/plugin-transform-new-target": "7.0.0-beta.51", - "@babel/plugin-transform-object-super": "7.0.0-beta.51", - "@babel/plugin-transform-parameters": "7.0.0-beta.51", - "@babel/plugin-transform-regenerator": "7.0.0-beta.51", - "@babel/plugin-transform-shorthand-properties": "7.0.0-beta.51", - "@babel/plugin-transform-spread": "7.0.0-beta.51", - "@babel/plugin-transform-sticky-regex": "7.0.0-beta.51", - "@babel/plugin-transform-template-literals": "7.0.0-beta.51", - "@babel/plugin-transform-typeof-symbol": "7.0.0-beta.51", - "@babel/plugin-transform-unicode-regex": "7.0.0-beta.51", - "browserslist": "^3.0.0", - "invariant": "^2.2.2", - "js-levenshtein": "^1.1.3", - "semver": "^5.3.0" + "@babel/helper-module-imports": "7.0.0-rc.1", + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-proposal-async-generator-functions": "7.0.0-rc.1", + "@babel/plugin-proposal-object-rest-spread": "7.0.0-rc.1", + "@babel/plugin-proposal-optional-catch-binding": "7.0.0-rc.1", + "@babel/plugin-proposal-unicode-property-regex": "7.0.0-rc.1", + "@babel/plugin-syntax-async-generators": "7.0.0-rc.1", + "@babel/plugin-syntax-object-rest-spread": "7.0.0-rc.1", + "@babel/plugin-syntax-optional-catch-binding": "7.0.0-rc.1", + "@babel/plugin-transform-arrow-functions": "7.0.0-rc.1", + "@babel/plugin-transform-async-to-generator": "7.0.0-rc.1", + "@babel/plugin-transform-block-scoped-functions": "7.0.0-rc.1", + "@babel/plugin-transform-block-scoping": "7.0.0-rc.1", + "@babel/plugin-transform-classes": "7.0.0-rc.1", + "@babel/plugin-transform-computed-properties": "7.0.0-rc.1", + "@babel/plugin-transform-destructuring": "7.0.0-rc.1", + "@babel/plugin-transform-dotall-regex": "7.0.0-rc.1", + "@babel/plugin-transform-duplicate-keys": "7.0.0-rc.1", + "@babel/plugin-transform-exponentiation-operator": "7.0.0-rc.1", + "@babel/plugin-transform-for-of": "7.0.0-rc.1", + "@babel/plugin-transform-function-name": "7.0.0-rc.1", + "@babel/plugin-transform-literals": "7.0.0-rc.1", + "@babel/plugin-transform-modules-amd": "7.0.0-rc.1", + "@babel/plugin-transform-modules-commonjs": "7.0.0-rc.1", + "@babel/plugin-transform-modules-systemjs": "7.0.0-rc.1", + "@babel/plugin-transform-modules-umd": "7.0.0-rc.1", + "@babel/plugin-transform-new-target": "7.0.0-rc.1", + "@babel/plugin-transform-object-super": "7.0.0-rc.1", + "@babel/plugin-transform-parameters": "7.0.0-rc.1", + "@babel/plugin-transform-regenerator": "7.0.0-rc.1", + "@babel/plugin-transform-shorthand-properties": "7.0.0-rc.1", + "@babel/plugin-transform-spread": "7.0.0-rc.1", + "@babel/plugin-transform-sticky-regex": "7.0.0-rc.1", + "@babel/plugin-transform-template-literals": "7.0.0-rc.1", + "@babel/plugin-transform-typeof-symbol": "7.0.0-rc.1", + "@babel/plugin-transform-unicode-regex": "7.0.0-rc.1", + "browserslist": "3.2.8", + "invariant": "2.2.4", + "js-levenshtein": "1.1.3", + "semver": "5.5.0" } }, "@babel/preset-react": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-beta.51.tgz", - "integrity": "sha1-lX2BKobZbIkhSSi3mAB0j1GTXkk=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0-rc.1.tgz", + "integrity": "sha512-EeXOUywwFJyEWWO5DV5vh3DNTlMR1uDzQ5gWvQ8pt5eAQxaoGLkdoxWkE8CJDiCS6PGMcIWVw8vm6mInmSV+Yg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "7.0.0-beta.51", - "@babel/plugin-transform-react-display-name": "7.0.0-beta.51", - "@babel/plugin-transform-react-jsx": "7.0.0-beta.51", - "@babel/plugin-transform-react-jsx-self": "7.0.0-beta.51", - "@babel/plugin-transform-react-jsx-source": "7.0.0-beta.51" + "@babel/helper-plugin-utils": "7.0.0-rc.1", + "@babel/plugin-transform-react-display-name": "7.0.0-rc.1", + "@babel/plugin-transform-react-jsx": "7.0.0-rc.1", + "@babel/plugin-transform-react-jsx-self": "7.0.0-rc.1", + "@babel/plugin-transform-react-jsx-source": "7.0.0-rc.1" } }, "@babel/template": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.51.tgz", - "integrity": "sha1-lgKkCuvPNXrpZ34lMu9fyBD1+/8=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.0.0-rc.1.tgz", + "integrity": "sha512-gPLng2iedNlkaGD0UdwaUByQXK8k4bnaoq2RH5JgR2mqHvh2RyjkDdaMbZFlSss1Iu8+PrXwbIRworTl8iRqbA==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.51", - "@babel/parser": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "lodash": "^4.17.5" + "@babel/code-frame": "7.0.0-rc.1", + "@babel/parser": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "lodash": "4.17.10" } }, "@babel/traverse": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.51.tgz", - "integrity": "sha1-mB2vLOw0emIx06odnhgDsDqqpKg=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-rc.1.tgz", + "integrity": "sha512-lNOpJ5xzakg+fCobQQHdeDRYeN54b+bAZpeTYMeeYPAvN+hTldg9/FSNKYEMRs5EWoQ0Yt74gwq98InSORdSDQ==", "dev": true, "requires": { - "@babel/code-frame": "7.0.0-beta.51", - "@babel/generator": "7.0.0-beta.51", - "@babel/helper-function-name": "7.0.0-beta.51", - "@babel/helper-split-export-declaration": "7.0.0-beta.51", - "@babel/parser": "7.0.0-beta.51", - "@babel/types": "7.0.0-beta.51", - "debug": "^3.1.0", - "globals": "^11.1.0", - "invariant": "^2.2.0", - "lodash": "^4.17.5" + "@babel/code-frame": "7.0.0-rc.1", + "@babel/generator": "7.0.0-rc.1", + "@babel/helper-function-name": "7.0.0-rc.1", + "@babel/helper-split-export-declaration": "7.0.0-rc.1", + "@babel/parser": "7.0.0-rc.1", + "@babel/types": "7.0.0-rc.1", + "debug": "3.1.0", + "globals": "11.7.0", + "lodash": "4.17.10" } }, "@babel/types": { - "version": "7.0.0-beta.51", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.51.tgz", - "integrity": "sha1-2AK3tUO1g2x3iqaReXq/APPZfqk=", + "version": "7.0.0-rc.1", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.0.0-rc.1.tgz", + "integrity": "sha512-MBwO1JQKin9BwKTGydrYe4VDJbStCUy35IhJzeZt3FByOdx/q3CYaqMRrH70qVD2RA7+Xk8e3RN0mzKZkYBYuQ==", "dev": true, "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.5", - "to-fast-properties": "^2.0.0" + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "2.0.0" } }, "@types/geojson": { @@ -828,30 +816,43 @@ "integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w==" }, "@types/node": { - "version": "10.3.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.3.4.tgz", - "integrity": "sha512-YMLlzdeNnAyLrQew39IFRkMacAR5BqKGIEei9ZjdHsIZtv+ZWKYTu1i7QJhetxQ9ReXx8w5f+cixdHZG3zgMQA==" + "version": "10.5.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.5.7.tgz", + "integrity": "sha512-VkKcfuitP+Nc/TaTFH0B8qNmn+6NbI6crLkQonbedViVz7O2w8QV/GERPlkJ4bg42VGHiEWa31CoTOPs1q6z1w==" }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=", - "dev": true + "integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=" }, "accepts": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "~2.1.18", + "mime-types": "2.1.18", "negotiator": "0.6.1" } }, "acorn": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", - "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==", - "dev": true + "version": "5.5.3", + "resolved": "http://registry.npmjs.org/acorn/-/acorn-5.5.3.tgz", + "integrity": "sha1-9HPdR+AnegjijpvsWu6wR1HwuMk=" + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } }, "acorn-jsx": { "version": "3.0.1", @@ -859,7 +860,7 @@ "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", "dev": true, "requires": { - "acorn": "^3.0.4" + "acorn": "3.3.0" }, "dependencies": { "acorn": { @@ -875,28 +876,33 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" } }, "ajv-keywords": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", - "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", - "dev": true + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.1.0.tgz", + "integrity": "sha1-rCsnk5xUPpXSwG5/f1wnvkqlQ74=" }, "align-text": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", "requires": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" } }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, "amdefine": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", @@ -908,86 +914,70 @@ "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "dev": true, "requires": { - "string-width": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "2.1.1" } }, "ansi-escapes": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", - "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", - "dev": true + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha1-9zIHu4EgfXX9bIPxJa8m7qN4yjA=" }, "ansi-regex": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "3.2.1", "resolved": "http://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, "requires": { - "color-convert": "^1.9.0" + "color-convert": "1.9.1" } }, "ansicolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.2.1.tgz", - "integrity": "sha1-vgiVmQl7dKXJxKhKDNvNtivYeu8=" + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, - "optional": true, "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "dev": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", "dev": true, "requires": { - "sprintf-js": "~1.0.2" + "sprintf-js": "1.0.3" } }, "arr-diff": { @@ -999,13 +989,17 @@ "arr-flatten": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" }, "arr-union": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", "dev": true }, "array-flatten": { @@ -1019,8 +1013,8 @@ "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", "dev": true, "requires": { - "define-properties": "^1.1.2", - "es-abstract": "^1.7.0" + "define-properties": "1.1.2", + "es-abstract": "1.12.0" } }, "array-union": { @@ -1029,7 +1023,7 @@ "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", "dev": true, "requires": { - "array-uniq": "^1.0.1" + "array-uniq": "1.0.3" } }, "array-uniq": { @@ -1056,9 +1050,45 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", - "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "2.1.2" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } }, "assert-plus": { "version": "1.0.0", @@ -1074,8 +1104,7 @@ "assign-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { "version": "1.5.2", @@ -1085,7 +1114,12 @@ "async-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", - "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=", "dev": true }, "asynckit": { @@ -1094,10 +1128,35 @@ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz", - "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio=", - "dev": true + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/atob/-/atob-2.1.0.tgz", + "integrity": "sha1-qysVDlHXsSK578jXNAwGtsQQdrw=" + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000872", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000872", + "electron-to-chromium": "1.3.42" + } + } + } }, "aws-sign2": { "version": "0.7.0", @@ -1105,17 +1164,17 @@ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", - "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axios": { "version": "0.18.0", "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", "requires": { - "follow-redirects": "^1.3.0", - "is-buffer": "^1.1.5" + "follow-redirects": "1.5.2", + "is-buffer": "1.1.6" } }, "babel-code-frame": { @@ -1124,9 +1183,9 @@ "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", "dev": true, "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" }, "dependencies": { "ansi-styles": { @@ -1141,20 +1200,11 @@ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" } }, "supports-color": { @@ -1165,14 +1215,786 @@ } } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", "dev": true, "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.5.1", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.10", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-react-jsx": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", + "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "esutils": "2.0.2" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-module-resolver": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.1.1.tgz", + "integrity": "sha512-1Q77Al4ydp6nYApJ7sQ2fmgz30WuQgJZegIYuyOdbdpxenB/bSezQ3hDPsumIXGlUS4vUIv+EwFjzzXZNWtARw==", + "dev": true, + "requires": { + "find-babel-config": "1.1.0", + "glob": "7.1.2", + "pkg-up": "2.0.0", + "reselect": "3.0.1", + "resolve": "1.7.1" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-flow": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-flow/-/babel-plugin-syntax-flow-6.18.0.tgz", + "integrity": "sha1-TDqyCiryaqIM0lmVw5jE63AxDI0=", + "dev": true + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.10" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + } + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-flow-strip-types": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-strip-types/-/babel-plugin-transform-flow-strip-types-6.22.0.tgz", + "integrity": "sha1-hMtnKTXUNxT9wyvOhFaNh0Qc988=", + "dev": true, + "requires": { + "babel-plugin-syntax-flow": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-display-name": { + "version": "6.25.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-display-name/-/babel-plugin-transform-react-display-name-6.25.0.tgz", + "integrity": "sha1-Z+K/Hx6ck6sI25Z5LgU5K/LMKNE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", + "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", + "dev": true, + "requires": { + "babel-helper-builder-react-jsx": "6.26.0", + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx-self": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-self/-/babel-plugin-transform-react-jsx-self-6.22.0.tgz", + "integrity": "sha1-322AqdomEqEh5t3XVYvL7PBuY24=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-react-jsx-source": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.22.0.tgz", + "integrity": "sha1-ZqwSFT9c0tF7PBkmj0vwGX9E7NY=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + } + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "regenerator-runtime": "0.10.5" }, "dependencies": { "core-js": { @@ -1180,6 +2002,212 @@ "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", "dev": true + }, + "regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=", + "dev": true + } + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0" + } + }, + "babel-preset-flow": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-preset-flow/-/babel-preset-flow-6.23.0.tgz", + "integrity": "sha1-5xIYiHCFrpoktb5Baa/7WZgWxJ0=", + "dev": true, + "requires": { + "babel-plugin-transform-flow-strip-types": "6.22.0" + } + }, + "babel-preset-react": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-react/-/babel-preset-react-6.24.1.tgz", + "integrity": "sha1-umnfrqRfw+xjm2pOzqbhdwLJE4A=", + "dev": true, + "requires": { + "babel-plugin-syntax-jsx": "6.18.0", + "babel-plugin-transform-react-display-name": "6.25.0", + "babel-plugin-transform-react-jsx": "6.24.1", + "babel-plugin-transform-react-jsx-self": "6.22.0", + "babel-plugin-transform-react-jsx-source": "6.22.0", + "babel-preset-flow": "6.23.0" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.10", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + }, + "dependencies": { + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.10" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + } + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.10" + }, + "dependencies": { + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.10", + "to-fast-properties": "1.0.3" + }, + "dependencies": { + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true } } }, @@ -1191,70 +2219,68 @@ "base": { "version": "0.11.2", "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" }, "dependencies": { "define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=" } } }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, "bcrypt": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-2.0.1.tgz", @@ -1266,452 +2292,537 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "aproba": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz", + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.5" } }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz", + "integrity": "sha1-4qdQQqlVGQi+vSW4Uj1fl2nXkYE=" }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "deep-extend": { "version": "0.4.2", - "bundled": true + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz", + "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8=" }, "delegates": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-libc": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "fs-minipass": { "version": "1.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.5.tgz", + "integrity": "sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==", "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "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" } }, "glob": { "version": "7.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "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" } }, "has-unicode": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "iconv-lite": { "version": "0.4.21", - "bundled": true, + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.21.tgz", + "integrity": "sha512-En5V9za5mBt2oUA03WGD3TwDv0MKAruqsuxstbMUZaj9W9k/m1CV/9py3l0L5kw9Bln8fdHQmzHSYtvpvTLpKw==", "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz", + "integrity": "sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==", "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", - "bundled": true + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minipass": { "version": "2.2.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.2.4.tgz", + "integrity": "sha512-hzXIWWet/BzWhYs2b+u7dRHlruXhwdgvlTMDKC6Cb1U7ps6Ac6yQlR39xsbjWJE377YTCtKwIXIpJ5oP+j5y8g==", "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" }, "dependencies": { "yallist": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, "minizlib": { "version": "1.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.1.0.tgz", + "integrity": "sha512-4T6Ur/GctZ27nHfpt9THOdRZNgyJ9FZchYO1ceg5S8Q3DNLCKYy44nCZzgCJgcvx2UM8czmqak5BCxJMrq37lA==", "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "ms": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "needle": { "version": "2.2.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/needle/-/needle-2.2.0.tgz", + "integrity": "sha512-eFagy6c+TYayorXw/qtAdSvaUpEbBsDwDyxYFgLZ0lTojfH7K+OdBqAF7TAFwDokJaGpubpSGG0wO3iC0XPi8w==", "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { "version": "0.9.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.9.1.tgz", + "integrity": "sha1-8RwHUW3ZL4cZnbx+GDjqt81WyeA=", "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.6", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz", + "integrity": "sha512-ByQ3oJ/5ETLyglU2+8dBObvhfWXX8dtPZDMePCahptliFX2iIuhyEszyFk401PZUNQH20vvdW5MLjJxkwU80Ow==" }, "npm-packlist": { "version": "1.1.10", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz", + "integrity": "sha512-AQC0Dyhzn4EiYEfIUjCdMl0JJ61I2ER9ukf/sLxJUcZHfo+VyEfz2rMJgLZSS1v30OxPQe1cN0LZA1xbcaVfWA==", "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "object-assign": { "version": "4.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "process-nextick-args": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "rc": { "version": "1.2.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.6.tgz", + "integrity": "sha1-6xiYnG1PTxYsOZ953dKfODVWgJI=", "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.4.2", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, "readable-stream": { "version": "2.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", + "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "safer-buffer": { "version": "2.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { "version": "1.2.4", - "bundled": true + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { "version": "5.5.0", - "bundled": true + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" }, "set-blocking": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "signal-exit": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "tar": { "version": "4.4.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.1.tgz", + "integrity": "sha512-O+v1r9yN4tOsvl90p5HAP4AEqbYhx4036AGMm075fH9F8Qwi3oJ+v4u50FkT/KkvywNGtwkk0zRI+8eYm1X/xg==", "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" }, "dependencies": { "yallist": { "version": "3.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", + "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" } } }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz", + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } } }, "bcrypt-pbkdf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", - "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { - "tweetnacl": "^0.14.3" + "tweetnacl": "0.14.5" } }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + }, "binary-extensions": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", - "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", - "dev": true + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", "integrity": "sha1-2VUfnemPH82h5oPRfukaBgLuLrk=" }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, "body-parser": { "version": "1.18.3", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "~1.6.3", + "depd": "1.1.2", + "http-errors": "1.6.3", "iconv-lite": "0.4.23", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.2", "raw-body": "2.3.3", - "type-is": "~1.6.16" + "type-is": "1.6.16" }, "dependencies": { "debug": { @@ -1727,7 +2838,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } }, "qs": { @@ -1742,60 +2853,29 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.1" } }, "boxen": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", - "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", + "integrity": "sha1-VcbDmouljZxhrSLNh3Uy3rZlogs=", "dev": true, "requires": { - "ansi-align": "^2.0.0", - "camelcase": "^4.0.0", - "chalk": "^2.0.1", - "cli-boxes": "^1.0.0", - "string-width": "^2.0.0", - "term-size": "^1.2.0", - "widest-line": "^2.0.0" + "ansi-align": "2.0.0", + "camelcase": "4.1.0", + "chalk": "2.4.0", + "cli-boxes": "1.0.0", + "string-width": "2.1.1", + "term-size": "1.2.0", + "widest-line": "2.0.0" }, "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } } } }, @@ -1804,7 +2884,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, @@ -1814,16 +2894,16 @@ "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" }, "dependencies": { "extend-shallow": { @@ -1832,38 +2912,199 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, "browser-stdout": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", "dev": true }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.0", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "1.0.6" + } + }, "browserslist": { "version": "3.2.8", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30000844", - "electron-to-chromium": "^1.3.47" + "caniuse-lite": "1.0.30000874", + "electron-to-chromium": "1.3.57" + }, + "dependencies": { + "electron-to-chromium": { + "version": "1.3.57", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.57.tgz", + "integrity": "sha512-YYpZlr6mzR8cK5VRmTZydEt5Mp+WMg1/syrO40PoQzl76vJ+oQchL2d3FmEcWzw3FYqJVYJP/kYYSzTa7FLXwg==", + "dev": true + } + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" } }, "buffer-from": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", - "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builder": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/builder/-/builder-4.0.0.tgz", + "integrity": "sha512-SJBwyewrPCsCDy1vzoojnA+f6QNBzX41E75hNchTDZ4D/esDh5IHMGmi02qIeOeccKDIwzGynyxi/opN668PHg==", + "dev": true, + "requires": { + "async": "1.5.2", + "chalk": "1.1.3", + "js-yaml": "3.11.0", + "lodash": "3.10.1", + "nopt": "4.0.1", + "tree-kill": "1.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=", + "dev": true + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.5" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, "builtin-modules": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "bytes": { "version": "3.0.0", @@ -1873,25 +3114,23 @@ "cache-base": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" }, "dependencies": { "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -1901,7 +3140,7 @@ "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", "dev": true, "requires": { - "callsites": "^0.2.0" + "callsites": "0.2.0" } }, "callsites": { @@ -1913,18 +3152,65 @@ "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "optional": true + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } }, "camelize": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000872", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000872", + "electron-to-chromium": "1.3.42" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30000872", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000872.tgz", + "integrity": "sha1-P25Ttj03N2i/meiWEz1m74nEmZk=", + "dev": true + }, "caniuse-lite": { - "version": "1.0.30000856", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000856.tgz", - "integrity": "sha512-x3mYcApHMQemyaHuH/RyqtKCGIYTgEA63fdi+VBvDz8xUSmRiVWTLeyKcoGQCGG6UPR9/+4qG4OKrTa6aSQRKg==", + "version": "1.0.30000874", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000874.tgz", + "integrity": "sha512-29nr1EPiHwrJTAHHsEmTt2h+55L8j2GNFdAcYPlRy2NX6iFz7ZZiepVI7kP/QqlnHLq3KvfWpbmGa0d063U09w==", "dev": true }, "capture-stack-trace": { @@ -1934,12 +3220,12 @@ "dev": true }, "cardinal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-1.0.0.tgz", - "integrity": "sha1-UOIcGwqjdyn5N33vGWtanOyTLuk=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", "requires": { - "ansicolors": "~0.2.1", - "redeyed": "~1.0.0" + "ansicolors": "0.3.2", + "redeyed": "2.1.1" } }, "caseless": { @@ -1951,10 +3237,9 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", - "optional": true, "requires": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" + "align-text": "0.1.4", + "lazy-cache": "1.0.4" } }, "chai": { @@ -1963,12 +3248,12 @@ "integrity": "sha1-D2RYS6ZC8PKs4oBiefTwbKI61zw=", "dev": true, "requires": { - "assertion-error": "^1.0.1", - "check-error": "^1.0.1", - "deep-eql": "^3.0.0", - "get-func-name": "^2.0.0", - "pathval": "^1.0.0", - "type-detect": "^4.0.0" + "assertion-error": "1.1.0", + "check-error": "1.0.2", + "deep-eql": "3.0.1", + "get-func-name": "2.0.0", + "pathval": "1.1.0", + "type-detect": "4.0.8" } }, "chai-http": { @@ -1977,29 +3262,27 @@ "integrity": "sha512-R30Lj3JHHPhknOyurh09ZEBgyO4iSSeTjbLmyLvTr88IFC+zwRjAmaxBwj9TbEAGi0IV2uW+RHaTxeah5rdSaQ==", "dev": true, "requires": { - "cookiejar": "^2.1.1", - "is-ip": "^2.0.0", - "methods": "^1.1.2", - "qs": "^6.5.1", - "superagent": "^3.7.0" + "cookiejar": "2.1.2", + "is-ip": "2.0.0", + "methods": "1.1.2", + "qs": "6.5.1", + "superagent": "3.8.3" } }, "chalk": { "version": "2.4.0", "resolved": "http://registry.npmjs.org/chalk/-/chalk-2.4.0.tgz", "integrity": "sha1-oGCil6a1fhW2HKY86EmV2qD+blI=", - "dev": true, "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" } }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", - "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", - "dev": true + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" }, "check-error": { "version": "1.0.2", @@ -2012,61 +3295,102 @@ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", "dev": true, - "optional": true, "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" } }, "ci-info": { "version": "1.1.3", - "resolved": "http://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", - "integrity": "sha1-cQGTJkuwXHe4yQ0C9aryIhamZ7I=", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.1.3.tgz", + "integrity": "sha512-SK/846h/Rcy8q9Z9CAwGBLfCJ6EkjJWdpelWDufQpqVDYq2Wnnv8zlSO6AMQap02jvhVruKKpEtQOufo3pFhLg==", "dev": true }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, "circular-json": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", - "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "integrity": "sha1-gVyZ6oT2gJUp0vRXkb34JxE1LWY=", "dev": true }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -2080,47 +3404,68 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-1.2.0.tgz", "integrity": "sha1-OlrnT9drYmevZm5p4q+70B3vNNE=", - "dev": true, "requires": { - "ansi-regex": "^2.1.1", - "d": "1", - "es5-ext": "^0.10.12", - "es6-iterator": "2", - "memoizee": "^0.4.3", - "timers-ext": "0.1" + "ansi-regex": "2.1.1", + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "memoizee": "0.4.12", + "timers-ext": "0.1.5" } }, "cli-cursor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, "requires": { - "restore-cursor": "^2.0.0" + "restore-cursor": "2.0.0" } }, "cli-width": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", - "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", - "dev": true + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" }, "cliui": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "optional": true, "requires": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", + "center-align": "0.1.3", + "right-align": "0.1.3", "wordwrap": "0.0.2" }, "dependencies": { "wordwrap": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "optional": true + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "clone-deep": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-2.0.2.tgz", + "integrity": "sha512-SZegPTKjCgpQH63E+eN6mVEEPdQBOUzjyJm5Pora4lrwWRFS8I0QAxV/KD6vV/i0WuijHZWQC1fMsPEdxfdVCQ==", + "dev": true, + "requires": { + "for-own": "1.0.0", + "is-plain-object": "2.0.4", + "kind-of": "6.0.2", + "shallow-clone": "1.0.0" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true } } }, @@ -2129,8 +3474,8 @@ "resolved": "https://registry.npmjs.org/cls-bluebird/-/cls-bluebird-2.1.0.tgz", "integrity": "sha1-N+8eCAqP+1XC9BZPU28ZGeeWiu4=", "requires": { - "is-bluebird": "^1.0.2", - "shimmer": "^1.1.0" + "is-bluebird": "1.0.2", + "shimmer": "1.2.0" } }, "co": { @@ -2138,45 +3483,46 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, "code-point-at": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "map-visit": "1.0.0", + "object-visit": "1.0.1" } }, "color": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/color/-/color-0.8.0.tgz", - "integrity": "sha1-iQwHw/1OZJU3Y4kRz2keVFi2/KU=", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, "requires": { - "color-convert": "^0.5.0", - "color-string": "^0.3.0" - }, - "dependencies": { - "color-convert": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", - "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" - } + "clone": "1.0.4", + "color-convert": "1.9.1", + "color-string": "0.3.0" } }, "color-convert": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz", "integrity": "sha1-wSYRB66y8pTr/+ye2eytUppgl+0=", - "dev": true, "requires": { - "color-name": "^1.1.1" + "color-name": "1.1.3" } }, "color-name": { @@ -2188,27 +3534,59 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, "requires": { - "color-name": "^1.0.0" + "color-name": "1.1.3" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.1" } }, "colornames": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/colornames/-/colornames-0.0.2.tgz", - "integrity": "sha1-2BH9bIT1kClJmorEQ2ICk1uSvjE=" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=" }, "colors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.0.tgz", - "integrity": "sha512-EDpX3a7wHMWFA7PUHWPHNWqOxIIRSJetuwl0AS5Oi/5FMV8kWm69RTlgm00GKjBO1xFHMtBbL49yRtMMdticBw==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.1.tgz", + "integrity": "sha512-jg/vxRmv430jixZrC+La5kMbUWqIg32/JsYNZb94+JEmzceYbWKTsv1OuTp+7EaqiaWRR2tPcykibwCRgclIsw==" }, "colorspace": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.0.1.tgz", - "integrity": "sha1-yZx5btMRKLmHalLh7l7gOkpxl0k=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.1.tgz", + "integrity": "sha512-pI3btWyiuz7Ken0BWh9Elzsmv2bM9AhA7psXib4anUXy/orfZ/E0MbQwhSOG/9L8hLlalqrU0UhOuqxW1YjmVw==", "requires": { - "color": "0.8.x", - "text-hex": "0.0.x" + "color": "3.0.0", + "text-hex": "1.0.0" + }, + "dependencies": { + "color": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/color/-/color-3.0.0.tgz", + "integrity": "sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==", + "requires": { + "color-convert": "1.9.1", + "color-string": "1.5.3" + } + }, + "color-string": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "requires": { + "color-name": "1.1.3", + "simple-swizzle": "0.2.2" + } + } } }, "combined-stream": { @@ -2216,20 +3594,24 @@ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { - "delayed-stream": "~1.0.0" + "delayed-stream": "1.0.0" } }, "commander": { "version": "2.15.1", "resolved": "http://registry.npmjs.org/commander/-/commander-2.15.1.tgz", - "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "concat-map": { "version": "0.0.1", @@ -2242,20 +3624,19 @@ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" } }, "config-chain": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz", "integrity": "sha1-q6CXR9++TD5w52am5BWG4YWfxvI=", - "dev": true, "requires": { - "ini": "^1.3.4", - "proto-list": "~1.2.1" + "ini": "1.3.5", + "proto-list": "1.2.4" } }, "configstore": { @@ -2264,25 +3645,51 @@ "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "dev": true, "requires": { - "dot-prop": "^4.1.0", - "graceful-fs": "^4.1.2", - "make-dir": "^1.0.0", - "unique-string": "^1.0.0", - "write-file-atomic": "^2.0.0", - "xdg-basedir": "^3.0.0" + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" } }, "connect-multiparty": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-2.1.0.tgz", - "integrity": "sha512-DLzhq7mcQKKk/Y83NLY5dp0kxO0xTxA5yu3oMgFBfpWLQR1NArrXMBcEXignTcNFVaXrjkgfepNG3nkfEy9Sow==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-2.1.1.tgz", + "integrity": "sha1-bughL9siBNPxNfjBLjr6SV0YH9c=", "requires": { - "multiparty": "~4.1.3", - "on-finished": "~2.3.0", - "qs": "~6.5.1", - "type-is": "~1.6.15" + "multiparty": "4.1.4", + "on-finished": "2.3.0", + "qs": "6.5.2", + "type-is": "1.6.16" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + } } }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "0.1.4" + } + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, "contains-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", @@ -2302,7 +3709,7 @@ "content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=" }, "convert-source-map": { "version": "1.5.1", @@ -2318,11 +3725,11 @@ "cookie-session": { "version": "2.0.0-beta.3", "resolved": "https://registry.npmjs.org/cookie-session/-/cookie-session-2.0.0-beta.3.tgz", - "integrity": "sha512-zyqm5tA0z9yMEB/xyP7lnRnqp8eLR2e0dap+9+rBwVigla9yPKn8XTL1jJymog8xjfrowqW2o5LUjixQChkqrw==", + "integrity": "sha1-TkRr2fhb1+J9PiJvTpmvEgEaQ4Y=", "requires": { "cookies": "0.7.1", "debug": "3.1.0", - "on-headers": "~1.0.1", + "on-headers": "1.0.1", "safe-buffer": "5.1.1" } }, @@ -2342,15 +3749,14 @@ "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.7.1.tgz", "integrity": "sha1-fIphX1SBxhq58WyDNzG8uPZjuZs=", "requires": { - "depd": "~1.1.1", - "keygrip": "~1.0.2" + "depd": "1.1.2", + "keygrip": "1.0.2" } }, "copy-descriptor": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js": { "version": "1.2.7", @@ -2362,42 +3768,67 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.0" + } + }, "create-error-class": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz", "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "dev": true, "requires": { - "capture-stack-trace": "^1.0.0" + "capture-stack-trace": "1.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.4", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.1", + "sha.js": "2.4.11" } }, "cross-fetch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.1.tgz", - "integrity": "sha1-lshZEE113vyWf7XbYkdOdUJrArA=", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-2.2.2.tgz", + "integrity": "sha1-pH/09/xxLauo9qaVoRyUhEDUVyM=", "dev": true, "requires": { "node-fetch": "2.1.2", "whatwg-fetch": "2.0.4" - }, - "dependencies": { - "node-fetch": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", - "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", - "dev": true - } } }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", - "dev": true, "requires": { - "lru-cache": "^4.0.1", - "shebang-command": "^1.2.0", - "which": "^1.2.9" + "lru-cache": "4.1.1", + "shebang-command": "1.2.0", + "which": "1.3.0" } }, "cryptiles": { @@ -2405,7 +3836,7 @@ "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", "requires": { - "boom": "5.x.x" + "boom": "5.2.0" }, "dependencies": { "boom": { @@ -2413,24 +3844,187 @@ "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "requires": { - "hoek": "4.x.x" + "hoek": "4.2.1" } } } }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.16", + "public-encrypt": "4.0.2", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, "crypto-random-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=", "dev": true }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.0", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.0", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.0", + "source-list-map": "2.0.0" + } + }, + "css-selector-tokenizer": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.0.tgz", + "integrity": "sha1-5piEdK6MlTR3v15+/s/OzNnPTIY=", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.1", + "regexpu-core": "1.0.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + }, + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.3.3", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + } + } + } + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.1", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.3", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.0", + "postcss-zindex": "2.2.0" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", - "dev": true, "requires": { - "es5-ext": "^0.10.9" + "es5-ext": "0.10.45" } }, "dashdash": { @@ -2438,7 +4032,7 @@ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "dasherize": { @@ -2446,6 +4040,11 @@ "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz", "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=" }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -2462,8 +4061,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "deep-eql": { "version": "3.0.1", @@ -2471,7 +4069,7 @@ "integrity": "sha1-38lARACtHI/gI+faHfHBR8S0RN8=", "dev": true, "requires": { - "type-detect": "^4.0.0" + "type-detect": "4.0.8" } }, "deep-equal": { @@ -2496,76 +4094,76 @@ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz", "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "requires": { - "foreach": "^2.0.5", - "object-keys": "^1.0.8" + "foreach": "2.0.5", + "object-keys": "1.0.11" } }, "define-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-descriptor": "1.0.2", + "isobject": "3.0.1" }, "dependencies": { "is-accessor-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=" } } }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" + "globby": "5.0.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "rimraf": "2.6.2" } }, "delayed-stream": { @@ -2573,29 +4171,53 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "dev": true + }, "denque": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.2.3.tgz", - "integrity": "sha512-BOjyD1zPf7gqgXlXBCnCsz84cbRNfqpQNvWOUiw3Onu9s7a2afW2LyHzctoie/2KELfUoZkNHTnW02C3hCU20w==" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-1.3.0.tgz", + "integrity": "sha512-4SRaSj+PqmrS1soW5/Avd7eJIM2JJIqLLmwhRqIGleZM/8KwZq80njbSS2Iqas+6oARkSkLDHEk4mm78q3JlIg==" }, "depd": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, - "diagnostics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.0.tgz", - "integrity": "sha1-4QkJALSVI+hSe+IPCBJ1IF8q42o=", + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, "requires": { - "colorspace": "1.0.x", - "enabled": "1.0.x", - "kuler": "0.0.x" + "repeating": "2.0.1" + } + }, + "diagnostics": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz", + "integrity": "sha512-8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==", + "requires": { + "colorspace": "1.1.1", + "enabled": "1.0.2", + "kuler": "1.0.0" } }, "diff": { @@ -2604,6 +4226,16 @@ "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, "dns-prefetch-control": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz", @@ -2615,9 +4247,14 @@ "integrity": "sha1-XNAfwQFiG0LEzX9dGmYkNxbT850=", "dev": true, "requires": { - "esutils": "^2.0.2" + "esutils": "2.0.2" } }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, "dont-sniff-mimetype": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz", @@ -2626,10 +4263,10 @@ "dot-prop": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz", - "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", + "integrity": "sha1-HxngwuGqDjJ5fEl5nyg3rGr2nFc=", "dev": true, "requires": { - "is-obj": "^1.0.0" + "is-obj": "1.0.1" } }, "dottie": { @@ -2650,34 +4287,33 @@ "dev": true }, "ecc-jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", - "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "optional": true, "requires": { - "jsbn": "~0.1.0" + "jsbn": "0.1.1", + "safer-buffer": "2.1.2" } }, "editorconfig": { "version": "0.13.3", "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.13.3.tgz", - "integrity": "sha512-WkjsUNVCu+ITKDj73QDvi0trvpdDWdkDyHybDGSXPfekLCqwmpD7CP7iPbvBgosNuLcI96XTDwNa75JyFl7tEQ==", - "dev": true, + "integrity": "sha1-5SGeWHlR1glY/ZTqmpoAjN7/GzQ=", "requires": { - "bluebird": "^3.0.5", - "commander": "^2.9.0", - "lru-cache": "^3.2.0", - "semver": "^5.1.0", - "sigmund": "^1.0.1" + "bluebird": "3.5.1", + "commander": "2.15.1", + "lru-cache": "3.2.0", + "semver": "5.5.0", + "sigmund": "1.0.1" }, "dependencies": { "lru-cache": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz", "integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=", - "dev": true, "requires": { - "pseudomap": "^1.0.1" + "pseudomap": "1.0.2" } } } @@ -2688,17 +4324,36 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.50", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.50.tgz", - "integrity": "sha1-dDi3b5K0G5GfP73TUPvQdX2s3fc=", + "version": "1.3.42", + "resolved": "http://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.42.tgz", + "integrity": "sha1-lcM78B0MxAVVauyJn+Yf1NduoPk=", "dev": true }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, "enabled": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", "requires": { - "env-variable": "0.0.x" + "env-variable": "0.0.4" } }, "encodeurl": { @@ -2711,7 +4366,18 @@ "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { - "iconv-lite": "~0.4.13" + "iconv-lite": "0.4.19" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "requires": { + "graceful-fs": "4.1.11", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" } }, "env-variable": { @@ -2719,13 +4385,20 @@ "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.4.tgz", "integrity": "sha512-+jpGxSWG4vr6gVxUHOc4p+ilPnql7NzZxOZBxNldsKGjCF+97df3CbuX7XMaDa5oAVkKQj4rKp38rYdC4VcpDg==" }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "requires": { + "prr": "1.0.1" + } + }, "error-ex": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.1.tgz", "integrity": "sha1-+FWobOYa3E6GIcPNoh56dhLDqNw=", - "dev": true, "requires": { - "is-arrayish": "^0.2.1" + "is-arrayish": "0.2.1" } }, "es-abstract": { @@ -2734,11 +4407,11 @@ "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "dev": true, "requires": { - "es-to-primitive": "^1.1.1", - "function-bind": "^1.1.1", - "has": "^1.0.1", - "is-callable": "^1.1.3", - "is-regex": "^1.0.4" + "es-to-primitive": "1.1.1", + "function-bind": "1.1.1", + "has": "1.0.1", + "is-callable": "1.1.4", + "is-regex": "1.0.4" } }, "es-to-primitive": { @@ -2747,53 +4420,74 @@ "integrity": "sha1-RTVSSKiJeQNLZ5Lhm7gfK3l13Q0=", "dev": true, "requires": { - "is-callable": "^1.1.1", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.1" + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.1" } }, "es5-ext": { "version": "0.10.45", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.45.tgz", "integrity": "sha512-FkfM6Vxxfmztilbxxz5UKSD4ICMf5tSpRFtDNtkAhOxZ0EKtX6qwmXNyH/sFyIbX2P/nU5AMiA9jilWsUGJzCQ==", - "dev": true, "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.1", - "next-tick": "1" + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" } }, "es6-iterator": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" } }, "es6-symbol": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", - "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "es6-weak-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", - "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.14", - "es6-iterator": "^2.0.1", - "es6-symbol": "^3.1.1" + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" } }, "escape-html": { @@ -2804,8 +4498,18 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } }, "eslint": { "version": "4.19.1", @@ -2813,44 +4517,83 @@ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", "dev": true, "requires": { - "ajv": "^5.3.0", - "babel-code-frame": "^6.22.0", - "chalk": "^2.1.0", - "concat-stream": "^1.6.0", - "cross-spawn": "^5.1.0", - "debug": "^3.1.0", - "doctrine": "^2.1.0", - "eslint-scope": "^3.7.1", - "eslint-visitor-keys": "^1.0.0", - "espree": "^3.5.4", - "esquery": "^1.0.0", - "esutils": "^2.0.2", - "file-entry-cache": "^2.0.0", - "functional-red-black-tree": "^1.0.1", - "glob": "^7.1.2", - "globals": "^11.0.1", - "ignore": "^3.3.3", - "imurmurhash": "^0.1.4", - "inquirer": "^3.0.6", - "is-resolvable": "^1.0.0", - "js-yaml": "^3.9.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.3.0", - "lodash": "^4.17.4", - "minimatch": "^3.0.2", - "mkdirp": "^0.5.1", - "natural-compare": "^1.4.0", - "optionator": "^0.8.2", - "path-is-inside": "^1.0.2", - "pluralize": "^7.0.0", - "progress": "^2.0.0", - "regexpp": "^1.0.1", - "require-uncached": "^1.0.3", - "semver": "^5.3.0", - "strip-ansi": "^4.0.0", - "strip-json-comments": "~2.0.1", + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.0", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.1.0", + "doctrine": "2.1.0", + "eslint-scope": "3.7.3", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.2", + "globals": "11.7.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.11.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.0", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.5.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", "table": "4.0.2", - "text-table": "~0.2.0" + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.0", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } } }, "eslint-config-standard": { @@ -2868,17 +4611,17 @@ "eslint-import-resolver-node": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", - "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "integrity": "sha1-WPFfuDm40FdsqYBBNHaqskcttmo=", "dev": true, "requires": { - "debug": "^2.6.9", - "resolve": "^1.5.0" + "debug": "2.6.9", + "resolve": "1.7.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -2888,12 +4631,12 @@ }, "eslint-module-utils": { "version": "2.2.0", - "resolved": "http://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", "dev": true, "requires": { - "debug": "^2.6.8", - "pkg-dir": "^1.0.0" + "debug": "2.6.9", + "pkg-dir": "1.0.0" }, "dependencies": { "debug": { @@ -2908,27 +4651,27 @@ } }, "eslint-plugin-import": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.12.0.tgz", - "integrity": "sha1-2tMXgSktZmSyUxf9BJ0uKy8CIF0=", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.13.0.tgz", + "integrity": "sha512-t6hGKQDMIt9N8R7vLepsYXgDfeuhp6ZJSgtrLEDxonpSubyxUZHjhm6LsAaZX8q6GYVxkbT3kTsV9G5mBCFR6A==", "dev": true, "requires": { - "contains-path": "^0.1.0", - "debug": "^2.6.8", + "contains-path": "0.1.0", + "debug": "2.6.9", "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.1", - "eslint-module-utils": "^2.2.0", - "has": "^1.0.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.3", - "read-pkg-up": "^2.0.0", - "resolve": "^1.6.0" + "eslint-import-resolver-node": "0.3.2", + "eslint-module-utils": "2.2.0", + "has": "1.0.1", + "lodash": "4.17.10", + "minimatch": "3.0.4", + "read-pkg-up": "2.0.0", + "resolve": "1.7.1" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -2940,8 +4683,8 @@ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "2.0.2", + "isarray": "1.0.0" } } } @@ -2952,10 +4695,10 @@ "integrity": "sha512-Q/Cc2sW1OAISDS+Ji6lZS2KV4b7ueA/WydVWd1BECTQwVvfQy5JAi3glhINoKzoMnfnuRgNP+ZWKrGAbp3QDxw==", "dev": true, "requires": { - "ignore": "^3.3.6", - "minimatch": "^3.0.4", - "resolve": "^1.3.3", - "semver": "^5.4.1" + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.7.1", + "semver": "5.5.0" } }, "eslint-plugin-promise": { @@ -2965,15 +4708,36 @@ "dev": true }, "eslint-plugin-react": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.9.1.tgz", - "integrity": "sha512-uvq+2ZkiqzjwF+pMZ8xqIC3pChV4KviPvvPIyQOvKWnjtvyW3iGfHIRqVumw05L3itby0QGmA4VdBA9m1OdMmg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.10.0.tgz", + "integrity": "sha512-18rzWn4AtbSUxFKKM7aCVcj5LXOhOKdwBino3KKWy4psxfPW0YtIbE8WNRDUdyHFL50BeLb6qFd4vpvNYyp7hw==", "dev": true, "requires": { - "doctrine": "^2.1.0", - "has": "^1.0.2", - "jsx-ast-utils": "^2.0.1", - "prop-types": "^15.6.1" + "doctrine": "2.1.0", + "has": "1.0.3", + "jsx-ast-utils": "2.0.1", + "prop-types": "15.6.2" + }, + "dependencies": { + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "prop-types": { + "version": "15.6.2", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", + "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", + "dev": true, + "requires": { + "loose-envify": "1.3.1", + "object-assign": "4.1.1" + } + } } }, "eslint-plugin-standard": { @@ -2983,19 +4747,19 @@ "dev": true }, "eslint-scope": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", - "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", "dev": true, "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "esrecurse": "4.2.1", + "estraverse": "4.2.0" } }, "eslint-visitor-keys": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", - "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "integrity": "sha1-PzGA+y4pEBdxastMnW1bXDSmqB0=", "dev": true }, "espree": { @@ -3004,14 +4768,14 @@ "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", "dev": true, "requires": { - "acorn": "^5.5.0", - "acorn-jsx": "^3.0.0" + "acorn": "5.5.3", + "acorn-jsx": "3.0.1" } }, "esprima": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.0.0.tgz", - "integrity": "sha1-U88kes2ncxPlUcOqLnM0LT+099k=" + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.0.1", @@ -3019,23 +4783,21 @@ "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", "dev": true, "requires": { - "estraverse": "^4.0.0" + "estraverse": "4.2.0" } }, "esrecurse": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", - "dev": true, + "resolved": "http://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", "requires": { - "estraverse": "^4.1.0" + "estraverse": "4.2.0" } }, "estraverse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=" }, "esutils": { "version": "2.0.2", @@ -3052,40 +4814,52 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", - "dev": true, "requires": { - "d": "1", - "es5-ext": "~0.10.14" + "d": "1.0.0", + "es5-ext": "0.10.45" } }, "event-stream": { "version": "3.3.4", - "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "resolved": "http://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", "dev": true, "requires": { - "duplexer": "~0.1.1", - "from": "~0", - "map-stream": "~0.1.0", + "duplexer": "0.1.1", + "from": "0.1.7", + "map-stream": "0.1.0", "pause-stream": "0.0.11", - "split": "0.3", - "stream-combiner": "~0.0.4", - "through": "~2.3.1" + "split": "0.3.3", + "stream-combiner": "0.0.4", + "through": "2.3.8" + } + }, + "events": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "1.3.4", + "safe-buffer": "5.1.1" } }, "execa": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", - "dev": true, "requires": { - "cross-spawn": "^5.0.1", - "get-stream": "^3.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "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" } }, "exenv": { @@ -3099,13 +4873,13 @@ "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", "dev": true, "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "debug": { @@ -3123,7 +4897,7 @@ "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { @@ -3132,7 +4906,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3147,36 +4921,36 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "requires": { - "accepts": "~1.3.5", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", - "content-type": "~1.0.4", + "content-type": "1.0.4", "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.3", + "proxy-addr": "2.0.3", "qs": "6.5.1", - "range-parser": "~1.2.0", + "range-parser": "1.2.0", "safe-buffer": "5.1.1", "send": "0.16.2", "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "~1.4.0", - "type-is": "~1.6.16", + "statuses": "1.4.0", + "type-is": "1.6.16", "utils-merge": "1.0.1", - "vary": "~1.1.2" + "vary": "1.1.2" }, "dependencies": { "body-parser": { @@ -3185,21 +4959,21 @@ "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", - "content-type": "~1.0.4", + "content-type": "1.0.4", "debug": "2.6.9", - "depd": "~1.1.1", - "http-errors": "~1.6.2", + "depd": "1.1.2", + "http-errors": "1.6.3", "iconv-lite": "0.4.19", - "on-finished": "~2.3.0", + "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "~1.6.15" + "type-is": "1.6.16" } }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { "ms": "2.0.0" } @@ -3228,7 +5002,7 @@ "depd": "1.1.1", "inherits": "2.0.3", "setprototypeof": "1.0.3", - "statuses": ">= 1.3.1 < 2" + "statuses": "1.4.0" } }, "setprototypeof": { @@ -3241,7 +5015,7 @@ "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" } } }, @@ -3250,11 +5024,11 @@ "resolved": "https://registry.npmjs.org/express-handlebars/-/express-handlebars-3.0.0.tgz", "integrity": "sha1-gKBwu4GbCeSvLKbQeA91zgXnXC8=", "requires": { - "glob": "^6.0.4", - "graceful-fs": "^4.1.2", - "handlebars": "^4.0.5", - "object.assign": "^4.0.3", - "promise": "^7.0.0" + "glob": "6.0.4", + "graceful-fs": "4.1.11", + "handlebars": "4.0.11", + "object.assign": "4.1.0", + "promise": "7.3.1" }, "dependencies": { "glob": { @@ -3262,11 +5036,11 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "2 || 3", - "once": "^1.3.0", - "path-is-absolute": "^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" } } } @@ -3280,32 +5054,29 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } }, "external-editor": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", - "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", - "dev": true, + "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha1-BFURz9jRM/OEZnPRBHwVTiFK09U=", "requires": { - "chardet": "^0.4.0", - "iconv-lite": "^0.4.17", - "tmp": "^0.0.33" + "chardet": "0.4.2", + "iconv-lite": "0.4.19", + "tmp": "0.0.33" } }, "extglob": { @@ -3314,14 +5085,14 @@ "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "define-property": { @@ -3330,7 +5101,7 @@ "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", "dev": true, "requires": { - "is-descriptor": "^1.0.0" + "is-descriptor": "1.0.2" } }, "extend-shallow": { @@ -3339,7 +5110,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "is-accessor-descriptor": { @@ -3348,7 +5119,7 @@ "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-data-descriptor": { @@ -3357,7 +5128,7 @@ "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", "dev": true, "requires": { - "kind-of": "^6.0.0" + "kind-of": "6.0.2" } }, "is-descriptor": { @@ -3366,9 +5137,9 @@ "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", "dev": true, "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" } }, "kind-of": { @@ -3379,6 +5150,29 @@ } } }, + "extract-text-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", + "dev": true, + "requires": { + "async": "2.6.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.10" + } + } + } + }, "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", @@ -3401,22 +5195,28 @@ "dev": true }, "fast-safe-stringify": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.4.tgz", - "integrity": "sha512-mNlGUdKOeGNleyrmgbKYtbnCr9KZkZXU7eM89JRo8vY10f7Ul1Fbj07hUBW3N4fC0xM+fmfFfa2zM7mIizhpNQ==" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.5.tgz", + "integrity": "sha512-QHbbCj2PmRSMNL9P7EuNBCeNXO06/E3t3XyQgb32AZul8wLmRa1Wbt2cm7GeUsX9OZGyXTQxMYcPOEBqARyhNw==" + }, + "fastparse": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz", + "integrity": "sha1-0eJkOzipTXWDtHkGDmxK/8lAcfg=", + "dev": true }, "fbjs": { "version": "0.8.17", "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-0.8.17.tgz", "integrity": "sha1-xNWY6taUkRJlPWWIsBpc3Nn5D90=", "requires": { - "core-js": "^1.0.0", - "isomorphic-fetch": "^2.1.1", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.18" + "core-js": "1.2.7", + "isomorphic-fetch": "2.2.1", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "promise": "7.3.1", + "setimmediate": "1.0.5", + "ua-parser-js": "0.7.18" } }, "fd-slicer": { @@ -3424,7 +5224,7 @@ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", "requires": { - "pend": "~1.2.0" + "pend": "1.2.0" } }, "fecha": { @@ -3436,9 +5236,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", - "dev": true, "requires": { - "escape-string-regexp": "^1.0.5" + "escape-string-regexp": "1.0.5" } }, "file-entry-cache": { @@ -3447,8 +5246,69 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true, "requires": { - "flat-cache": "^1.2.1", - "object-assign": "^4.0.1" + "flat-cache": "1.3.0", + "object-assign": "4.1.1" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.5.2", + "ajv-keywords": "3.1.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + } } }, "fill-range": { @@ -3457,10 +5317,10 @@ "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" }, "dependencies": { "extend-shallow": { @@ -3469,7 +5329,7 @@ "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -3477,21 +5337,21 @@ "finalhandler": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", - "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "integrity": "sha1-7r9O2EAHnIP0JJA4ydcDAIMBsQU=", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.2", - "statuses": "~1.4.0", - "unpipe": "~1.0.0" + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { "ms": "2.0.0" } @@ -3499,7 +5359,56 @@ "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" + } + } + }, + "find-babel-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.1.0.tgz", + "integrity": "sha1-rMAQQ6Z0n+w0Qpvmtk9ULrtdY1U=", + "dev": true, + "requires": { + "json5": "0.5.1", + "path-exists": "3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } } } }, @@ -3509,8 +5418,8 @@ "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", "dev": true, "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" } }, "flat-cache": { @@ -3519,25 +5428,39 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true, "requires": { - "circular-json": "^0.3.1", - "del": "^2.0.2", - "graceful-fs": "^4.1.2", - "write": "^0.2.1" + "circular-json": "0.3.3", + "del": "2.2.2", + "graceful-fs": "4.1.11", + "write": "0.2.1" } }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, "follow-redirects": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz", - "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.2.tgz", + "integrity": "sha512-kssLorP/9acIdpQ2udQVTiCS5LQmdEz9mvdIfDcl1gYX2tPKFADHSyFdvJS040XdFsPzemWtgI3q8mFVCxtX8A==", "requires": { - "debug": "^3.1.0" + "debug": "3.1.0" } }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } }, "foreach": { "version": "2.0.5", @@ -3554,9 +5477,9 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { - "asynckit": "^0.4.0", + "asynckit": "0.4.0", "combined-stream": "1.0.6", - "mime-types": "^2.1.12" + "mime-types": "2.1.18" } }, "formidable": { @@ -3574,9 +5497,8 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, "requires": { - "map-cache": "^0.2.2" + "map-cache": "0.2.2" } }, "frameguard": { @@ -3599,17 +5521,16 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-5.0.0.tgz", "integrity": "sha512-66Pm4RYbjzdyeuqudYqhFiNBbCIuI9kgRqLPSHIlXHidW8NIQtVdkM1yeZ4lXwuhbTETv3EUGMNHAAw6hiundQ==", - "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "graceful-fs": "4.1.11", + "jsonfile": "4.0.0", + "universalify": "0.1.2" } }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "integrity": "sha1-4y/AMKLM7kSmtTcTCNpUvgs5fSc=", "dev": true }, "fs.realpath": { @@ -3619,250 +5540,217 @@ "dev": true }, "fsevents": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.2.tgz", - "integrity": "sha512-iownA+hC4uHFp+7gwP/y5SzaiUo7m2vpa0dhpzw8YuKtiZsz7cIXsFbXpLEeBM6WuCQyw1MH4RRe6XI8GFUctQ==", - "dev": true, + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", "optional": true, "requires": { - "nan": "^2.9.2", - "node-pre-gyp": "^0.9.0" + "nan": "2.10.0", + "node-pre-gyp": "0.10.0" }, "dependencies": { "abbrev": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true }, "ansi-regex": { "version": "2.1.1", - "bundled": true, - "dev": true + "bundled": true }, "aproba": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true }, "are-we-there-yet": { "version": "1.1.4", "bundled": true, - "dev": true, "optional": true, "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "delegates": "1.0.0", + "readable-stream": "2.3.6" } }, "balanced-match": { "version": "1.0.0", - "bundled": true, - "dev": true + "bundled": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, - "dev": true, "requires": { - "balanced-match": "^1.0.0", + "balanced-match": "1.0.0", "concat-map": "0.0.1" } }, "chownr": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "code-point-at": { "version": "1.1.0", - "bundled": true, - "dev": true + "bundled": true }, "concat-map": { "version": "0.0.1", - "bundled": true, - "dev": true + "bundled": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true, - "dev": true + "bundled": true }, "core-util-is": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "debug": { "version": "2.6.9", "bundled": true, - "dev": true, "optional": true, "requires": { "ms": "2.0.0" } }, "deep-extend": { - "version": "0.4.2", + "version": "0.5.1", "bundled": true, - "dev": true, "optional": true }, "delegates": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "detect-libc": { "version": "1.0.3", "bundled": true, - "dev": true, "optional": true }, "fs-minipass": { "version": "1.2.5", "bundled": true, - "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "fs.realpath": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "gauge": { "version": "2.7.4", "bundled": true, - "dev": true, "optional": true, "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" + "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" } }, "glob": { "version": "7.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "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" } }, "has-unicode": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "iconv-lite": { "version": "0.4.21", "bundled": true, - "dev": true, "optional": true, "requires": { - "safer-buffer": "^2.1.0" + "safer-buffer": "2.1.2" } }, "ignore-walk": { "version": "3.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { - "minimatch": "^3.0.4" + "minimatch": "3.0.4" } }, "inflight": { "version": "1.0.6", "bundled": true, - "dev": true, "optional": true, "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { "version": "2.0.3", - "bundled": true, - "dev": true + "bundled": true }, "ini": { "version": "1.3.5", "bundled": true, - "dev": true, "optional": true }, "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, - "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "isarray": { "version": "1.0.0", "bundled": true, - "dev": true, "optional": true }, "minimatch": { "version": "3.0.4", "bundled": true, - "dev": true, "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { "version": "0.0.8", - "bundled": true, - "dev": true + "bundled": true }, "minipass": { "version": "2.2.4", "bundled": true, - "dev": true, "requires": { - "safe-buffer": "^5.1.1", - "yallist": "^3.0.0" + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "minizlib": { "version": "1.1.0", "bundled": true, - "dev": true, "optional": true, "requires": { - "minipass": "^2.2.1" + "minipass": "2.2.4" } }, "mkdirp": { "version": "0.5.1", "bundled": true, - "dev": true, "requires": { "minimist": "0.0.8" } @@ -3870,152 +5758,128 @@ "ms": { "version": "2.0.0", "bundled": true, - "dev": true, - "optional": true - }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "dev": true, "optional": true }, "needle": { "version": "2.2.0", "bundled": true, - "dev": true, "optional": true, "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" + "debug": "2.6.9", + "iconv-lite": "0.4.21", + "sax": "1.2.4" } }, "node-pre-gyp": { - "version": "0.9.1", + "version": "0.10.0", "bundled": true, - "dev": true, "optional": true, "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.0", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.1.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" + "detect-libc": "1.0.3", + "mkdirp": "0.5.1", + "needle": "2.2.0", + "nopt": "4.0.1", + "npm-packlist": "1.1.10", + "npmlog": "4.1.2", + "rc": "1.2.7", + "rimraf": "2.6.2", + "semver": "5.5.0", + "tar": "4.4.1" } }, "nopt": { "version": "4.0.1", "bundled": true, - "dev": true, "optional": true, "requires": { - "abbrev": "1", - "osenv": "^0.1.4" + "abbrev": "1.1.1", + "osenv": "0.1.5" } }, "npm-bundled": { "version": "1.0.3", "bundled": true, - "dev": true, "optional": true }, "npm-packlist": { "version": "1.1.10", "bundled": true, - "dev": true, "optional": true, "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" + "ignore-walk": "3.0.1", + "npm-bundled": "1.0.3" } }, "npmlog": { "version": "4.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "are-we-there-yet": "1.1.4", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, "number-is-nan": { "version": "1.0.1", - "bundled": true, - "dev": true + "bundled": true }, "object-assign": { "version": "4.1.1", "bundled": true, - "dev": true, "optional": true }, "once": { "version": "1.4.0", "bundled": true, - "dev": true, "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "os-homedir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "os-tmpdir": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "osenv": { "version": "0.1.5", "bundled": true, - "dev": true, "optional": true, "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" } }, "path-is-absolute": { "version": "1.0.1", "bundled": true, - "dev": true, "optional": true }, "process-nextick-args": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "rc": { - "version": "1.2.6", + "version": "1.2.7", "bundled": true, - "dev": true, "optional": true, "requires": { - "deep-extend": "~0.4.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.5.1", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { "version": "1.2.0", "bundled": true, - "dev": true, "optional": true } } @@ -4023,137 +5887,132 @@ "readable-stream": { "version": "2.3.6", "bundled": true, - "dev": true, "optional": true, "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "rimraf": { "version": "2.6.2", "bundled": true, - "dev": true, "optional": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" } }, "safe-buffer": { "version": "5.1.1", - "bundled": true, - "dev": true + "bundled": true }, "safer-buffer": { "version": "2.1.2", "bundled": true, - "dev": true, "optional": true }, "sax": { "version": "1.2.4", "bundled": true, - "dev": true, "optional": true }, "semver": { "version": "5.5.0", "bundled": true, - "dev": true, "optional": true }, "set-blocking": { "version": "2.0.0", "bundled": true, - "dev": true, "optional": true }, "signal-exit": { "version": "3.0.2", "bundled": true, - "dev": true, "optional": true }, "string-width": { "version": "1.0.2", "bundled": true, - "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } }, "string_decoder": { "version": "1.1.1", "bundled": true, - "dev": true, "optional": true, "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { "version": "3.0.1", "bundled": true, - "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "strip-json-comments": { "version": "2.0.1", "bundled": true, - "dev": true, "optional": true }, "tar": { "version": "4.4.1", "bundled": true, - "dev": true, "optional": true, "requires": { - "chownr": "^1.0.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.2.4", - "minizlib": "^1.1.0", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.1", - "yallist": "^3.0.2" + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.2.4", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.1", + "yallist": "3.0.2" } }, "util-deprecate": { "version": "1.0.2", "bundled": true, - "dev": true, "optional": true }, "wide-align": { "version": "1.1.2", "bundled": true, - "dev": true, "optional": true, "requires": { - "string-width": "^1.0.2" + "string-width": "1.0.2" } }, "wrappy": { "version": "1.0.2", - "bundled": true, - "dev": true + "bundled": true }, "yallist": { "version": "3.0.2", - "bundled": true, - "dev": true + "bundled": true } } }, + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4165,6 +6024,53 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", "dev": true }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "dev": 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.3" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "dev": true, + "requires": { + "globule": "1.2.1" + } + }, "generate-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz", @@ -4176,10 +6082,9 @@ "integrity": "sha512-H7cUpwCQSiJmAHM4c/aFu6fUfrhWXW1ncyh8ftxEPMu6AiYkHw9K8br720TGPZJbk5eOH2bynjZD1yPvdDAmag==" }, "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" }, "get-func-name": { "version": "2.0.0", @@ -4187,24 +6092,36 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", - "dev": true + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "get-video-dimensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-video-dimensions/-/get-video-dimensions-1.0.0.tgz", + "integrity": "sha1-/H5ayBw5JEH1uG1Q3XeDiptTFHo=", + "requires": { + "mz": "1.3.0" + } }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { - "assert-plus": "^1.0.0" + "assert-plus": "1.0.0" } }, "glob": { @@ -4213,12 +6130,12 @@ "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "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" } }, "glob-parent": { @@ -4226,10 +6143,9 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", "dev": true, - "optional": true, "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" + "is-glob": "3.1.0", + "path-dirname": "1.0.2" }, "dependencies": { "is-glob": { @@ -4237,9 +6153,8 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", "dev": true, - "optional": true, "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "2.1.1" } } } @@ -4250,13 +6165,13 @@ "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "dev": true, "requires": { - "ini": "^1.3.4" + "ini": "1.3.5" } }, "globals": { - "version": "11.4.0", - "resolved": "http://registry.npmjs.org/globals/-/globals-11.4.0.tgz", - "integrity": "sha1-uFx5M0lWHBYHajwTVJI4onlF8bw=", + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.7.0.tgz", + "integrity": "sha512-K8BNSPySfeShBQXsahYB/AbbWruVOTyVpgoIDnl8odPpeSfP2J5QO2oLFFdl2j7GfDCtZj2bMKar2T49itTPCg==", "dev": true }, "globby": { @@ -4265,12 +6180,23 @@ "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", "dev": true, "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" + "array-union": "1.0.2", + "arrify": "1.0.1", + "glob": "7.1.2", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "globule": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz", + "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.10", + "minimatch": "3.0.4" } }, "got": { @@ -4279,17 +6205,17 @@ "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "dev": true, "requires": { - "create-error-class": "^3.0.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-redirect": "^1.0.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "lowercase-keys": "^1.0.0", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "unzip-response": "^2.0.1", - "url-parse-lax": "^1.0.0" + "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.1", + "timed-out": "4.0.1", + "unzip-response": "2.0.1", + "url-parse-lax": "1.0.0" } }, "graceful-fs": { @@ -4308,10 +6234,10 @@ "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz", "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=", "requires": { - "async": "^1.4.0", - "optimist": "^0.6.1", - "source-map": "^0.4.4", - "uglify-js": "^2.6" + "async": "1.5.2", + "optimist": "0.6.1", + "source-map": "0.4.4", + "uglify-js": "2.8.29" } }, "har-schema": { @@ -4324,17 +6250,17 @@ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "requires": { - "ajv": "^5.1.0", - "har-schema": "^2.0.0" + "ajv": "5.5.2", + "har-schema": "2.0.0" } }, "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", + "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", "dev": true, "requires": { - "function-bind": "^1.1.1" + "function-bind": "1.1.1" } }, "has-ansi": { @@ -4343,36 +6269,39 @@ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, "requires": { - "ansi-regex": "^2.0.0" + "ansi-regex": "2.1.1" } }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "dev": true + }, "has-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -4380,28 +6309,25 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" + "is-number": "3.0.0", + "kind-of": "4.0.0" }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" }, "dependencies": { "kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } @@ -4410,22 +6336,39 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } } } }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, "hawk": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", "requires": { - "boom": "4.x.x", - "cryptiles": "3.x.x", - "hoek": "4.x.x", - "sntp": "2.x.x" + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.1", + "sntp": "2.1.0" } }, "he": { @@ -4435,15 +6378,16 @@ "dev": true }, "helmet": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.12.1.tgz", - "integrity": "sha512-/CsAcbPIHgiGde395IkHUZyRLW126RJ6AtxFy6Y6bxhd44Qq8cZ5BBFZ0xNUSbcgX57j32Emh3OhWz/0XgAB5Q==", + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.13.0.tgz", + "integrity": "sha512-rCYnlbOBkeP6fCo4sXZNu91vIAWlbVgolwnUANtnzPANRf2kJZ2a6yjRnCqG23Tyl2/ExvJ8bDg4xUdNCIWnrw==", "requires": { "dns-prefetch-control": "0.1.0", "dont-sniff-mimetype": "1.0.0", "expect-ct": "0.1.1", "frameguard": "3.0.0", - "helmet-csp": "2.7.0", + "helmet-crossdomain": "0.3.0", + "helmet-csp": "2.7.1", "hide-powered-by": "1.0.0", "hpkp": "2.0.0", "hsts": "2.1.0", @@ -4453,15 +6397,19 @@ "x-xss-protection": "1.1.0" } }, + "helmet-crossdomain": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/helmet-crossdomain/-/helmet-crossdomain-0.3.0.tgz", + "integrity": "sha512-YiXhj0E35nC4Na5EPE4mTfoXMf9JTGpN4OtB4aLqShKuH9d2HNaJX5MQoglO6STVka0uMsHyG5lCut5Kzsy7Lg==" + }, "helmet-csp": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.7.0.tgz", - "integrity": "sha512-IGIAkWnxjRbgMXFA2/kmDqSIrIaSfZ6vhMHlSHw7jm7Gm9nVVXqwJ2B1YEpYrJsLrqY+w2Bbimk7snux9+sZAw==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.7.1.tgz", + "integrity": "sha512-sCHwywg4daQ2mY0YYwXSZRsgcCeerUwxMwNixGA7aMLkVmPTYBl7gJoZDHOZyXkqPrtuDT3s2B1A+RLI7WxSdQ==", "requires": { "camelize": "1.0.0", "content-security-policy-builder": "2.0.0", "dasherize": "2.0.0", - "lodash.reduce": "4.6.0", "platform": "1.3.5" } }, @@ -4475,11 +6423,11 @@ "resolved": "https://registry.npmjs.org/history/-/history-4.7.2.tgz", "integrity": "sha512-1zkBRWW6XweO0NBcjiphtVJVsIQ+SXF29z9DVkceeaSLVMFXHool+fdCZD4spDCfZJCILPILc3bm7Bc+HRi0nA==", "requires": { - "invariant": "^2.2.1", - "loose-envify": "^1.2.0", - "resolve-pathname": "^2.2.0", - "value-equal": "^0.4.0", - "warning": "^3.0.0" + "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": { @@ -4487,26 +6435,45 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } } } }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, "hoek": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz", "integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==" }, "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==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-2.5.0.tgz", + "integrity": "sha1-0sot/BnFqRxaZhXOjlZO8DR+KkA=" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } }, "hosted-git-info": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.6.0.tgz", - "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=", - "dev": true + "integrity": "sha1-IyNbKasjDFdqqw1PE/wEawsDgiI=" }, "hpkp": { "version": "2.0.0", @@ -4518,15 +6485,21 @@ "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.1.0.tgz", "integrity": "sha512-zXhh/DqgrTXJ7erTN6Fh5k/xjMhDGXCqdYN3wvxUvGUQvnxcFfUd8E+6vLg/nk3ss1TYMb+DhRl25fYABioTvA==" }, + "html-comment-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.1.tgz", + "integrity": "sha1-ZouTd26q5V696POtRkswekljYl4=", + "dev": true + }, "http-errors": { "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { - "depd": "~1.1.2", + "depd": "1.1.2", "inherits": "2.0.3", "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "statuses": "1.5.0" } }, "http-signature": { @@ -4534,20 +6507,25 @@ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" } }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, "husky": { "version": "0.14.3", "resolved": "https://registry.npmjs.org/husky/-/husky-0.14.3.tgz", "integrity": "sha512-e21wivqHpstpoiWA/Yi8eFti8E+sQDSS53cpJsPptPs295QTOQR0ZwnHo2TXy1XOpZFD9rPOd3NpmqTK6uMLJA==", "dev": true, "requires": { - "is-ci": "^1.0.10", - "normalize-path": "^1.0.0", - "strip-indent": "^2.0.0" + "is-ci": "1.1.0", + "normalize-path": "1.0.0", + "strip-indent": "2.0.0" }, "dependencies": { "normalize-path": { @@ -4555,6 +6533,12 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true } } }, @@ -4563,6 +6547,56 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", "integrity": "sha1-90aPYBNfXl2tM5nAqBvpoWA6CCs=" }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, "ienoopen": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz", @@ -4580,6 +6614,11 @@ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=", "dev": true }, + "image-size": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.6.3.tgz", + "integrity": "sha512-47xSUiQioGaB96nqtp5/q55m0aBQSQdyIloMOc/x+QVTDZLNmXE892IIDrJ0hM1A5vcNUDD5tDffkSP5lCaIIA==" + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -4592,6 +6631,32 @@ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "in-publish": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.0.tgz", + "integrity": "sha1-4g/146KvwmkDILbcVSaCqcf631E=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, "inflection": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.12.0.tgz", @@ -4602,8 +6667,8 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { - "once": "^1.3.0", - "wrappy": "1" + "once": "1.4.0", + "wrappy": "1.0.2" } }, "inherits": { @@ -4614,44 +6679,60 @@ "ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=", - "dev": true + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" }, "inquirer": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", - "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", - "dev": true, + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-5.2.0.tgz", + "integrity": "sha512-E9BmnJbAKLPGonz0HeWHtbKf+EeSP93paWO3ZYoUpq/aowXvYGjjCSuashhXPpzbArIjBbji39THkxTz9ZeEUQ==", "requires": { - "ansi-escapes": "^3.0.0", - "chalk": "^2.0.0", - "cli-cursor": "^2.1.0", - "cli-width": "^2.0.0", - "external-editor": "^2.0.4", - "figures": "^2.0.0", - "lodash": "^4.3.0", + "ansi-escapes": "3.1.0", + "chalk": "2.4.0", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.10", "mute-stream": "0.0.7", - "run-async": "^2.2.0", - "rx-lite": "^4.0.8", - "rx-lite-aggregates": "^4.0.8", - "string-width": "^2.1.0", - "strip-ansi": "^4.0.0", - "through": "^2.3.6" + "run-async": "2.3.0", + "rxjs": "5.5.11", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } } }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" + }, "invariant": { "version": "2.2.4", "resolved": "http://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" } }, "invert-kv": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", - "dev": true + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ip-regex": { "version": "2.1.0", @@ -4664,28 +6745,31 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, "is-accessor-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "1.11.0" } }, "is-bluebird": { @@ -4702,15 +6786,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", - "dev": true, "requires": { - "builtin-modules": "^1.0.0" + "builtin-modules": "1.1.1" } }, "is-callable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.3.tgz", - "integrity": "sha1-hut1OSgF3cM69xySoO7fdO52BLI=", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", "dev": true }, "is-ci": { @@ -4719,16 +6802,15 @@ "integrity": "sha1-JH5BYueGDOu9rzC3dNawrH3P56U=", "dev": true, "requires": { - "ci-info": "^1.0.0" + "ci-info": "1.1.3" } }, "is-data-descriptor": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-date-object": { @@ -4740,27 +6822,24 @@ "is-descriptor": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" }, "dependencies": { "kind-of": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" } } }, "is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" }, "is-extglob": { "version": "2.1.1", @@ -4768,20 +6847,27 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, "is-fullwidth-code-point": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "is-glob": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", "dev": true, - "optional": true, "requires": { - "is-extglob": "^2.1.1" + "is-extglob": "2.1.1" } }, "is-installed-globally": { @@ -4790,8 +6876,8 @@ "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "dev": true, "requires": { - "global-dirs": "^0.1.0", - "is-path-inside": "^1.0.0" + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" } }, "is-ip": { @@ -4800,7 +6886,7 @@ "integrity": "sha1-aO6gfooKCpTC0IDdZ0xzGrKkYas=", "dev": true, "requires": { - "ip-regex": "^2.0.0" + "ip-regex": "2.1.0" } }, "is-npm": { @@ -4815,7 +6901,7 @@ "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "is-obj": { @@ -4827,17 +6913,15 @@ "is-odd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz", - "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==", - "dev": true, + "integrity": "sha1-dkZiRnH9fqVYzNmieVGC8pWPGyQ=", "requires": { - "is-number": "^4.0.0" + "is-number": "4.0.0" }, "dependencies": { "is-number": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=" } } }, @@ -4853,7 +6937,7 @@ "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, "requires": { - "is-path-inside": "^1.0.0" + "is-path-inside": "1.0.1" } }, "is-path-inside": { @@ -4862,7 +6946,7 @@ "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { - "path-is-inside": "^1.0.1" + "path-is-inside": "1.0.2" } }, "is-plain-obj": { @@ -4874,25 +6958,22 @@ "is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, "is-promise": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" }, "is-redirect": { "version": "1.0.0", @@ -4906,13 +6987,13 @@ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "dev": true, "requires": { - "has": "^1.0.1" + "has": "1.0.1" } }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", "dev": true }, "is-retry-allowed": { @@ -4926,6 +7007,15 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "1.1.1" + } + }, "is-symbol": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.1.tgz", @@ -4937,11 +7027,16 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" }, "isarray": { "version": "1.0.0", @@ -4951,8 +7046,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isobject": { "version": "3.0.1", @@ -4965,8 +7059,19 @@ "resolved": "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz", "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "requires": { - "node-fetch": "^1.0.1", - "whatwg-fetch": ">=0.10.0" + "node-fetch": "1.7.3", + "whatwg-fetch": "2.0.4" + }, + "dependencies": { + "node-fetch": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", + "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", + "requires": { + "encoding": "0.1.12", + "is-stream": "1.1.0" + } + } } }, "isstream": { @@ -4974,27 +7079,21 @@ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, + "js-base64": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.8.tgz", + "integrity": "sha512-hm2nYpDrwoO/OzBhdcqs/XGT6XjSuSSCVEpia+Kl2J6x4CYt5hISlVL/AYU1khoDXv0AQVgxtdJySb9gjAn56Q==", + "dev": true + }, "js-beautify": { "version": "1.7.5", "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.7.5.tgz", - "integrity": "sha512-9OhfAqGOrD7hoQBLJMTA+BKuKmoEtTJXzZ7WDF/9gvjtey1koVLuZqIY6c51aPDjbNdNtIXAkiWKVhziawE9Og==", - "dev": true, + "integrity": "sha1-adllHvYNu2SfZVJ7U2dJUBOKeRk=", "requires": { - "config-chain": "~1.1.5", - "editorconfig": "^0.13.2", - "mkdirp": "~0.5.0", - "nopt": "~3.0.1" - }, - "dependencies": { - "nopt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", - "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", - "dev": true, - "requires": { - "abbrev": "1" - } - } + "config-chain": "1.1.11", + "editorconfig": "0.13.3", + "mkdirp": "0.5.1", + "nopt": "3.0.6" } }, "js-levenshtein": { @@ -5009,19 +7108,19 @@ "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", - "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "version": "3.11.0", + "resolved": "http://registry.npmjs.org/js-yaml/-/js-yaml-3.11.0.tgz", + "integrity": "sha1-WXwai9VxUvJtYizkEXhRpR9euu8=", "dev": true, "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "1.0.10", + "esprima": "4.0.0" }, "dependencies": { "esprima": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz", - "integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==", + "integrity": "sha1-RJnt3NERDgshi6zy+n9/WfVcqAQ=", "dev": true } } @@ -5034,10 +7133,15 @@ }, "jsesc": { "version": "2.5.1", - "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.1.tgz", "integrity": "sha1-5CGiqOINawgZ3yiQj3glJrlt0f4=", "dev": true }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", @@ -5062,16 +7166,14 @@ "json5": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" }, "jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, "requires": { - "graceful-fs": "^4.1.6" + "graceful-fs": "4.1.11" } }, "jsprim": { @@ -5091,7 +7193,7 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true, "requires": { - "array-includes": "^3.0.3" + "array-includes": "3.0.3" } }, "keygrip": { @@ -5104,15 +7206,15 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", "requires": { - "is-buffer": "^1.1.5" + "is-buffer": "1.1.6" } }, "kuler": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/kuler/-/kuler-0.0.0.tgz", - "integrity": "sha1-tmu0a5NOVQ9Z2BiEjgq7pPf1VTw=", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-1.0.0.tgz", + "integrity": "sha512-oyy6pu/yWRjiVfCoJebNUKFL061sNtrs9ejKTbirIwY3oiHmENVCSkHhxDV85Dkm7JYR/czMCBeoM87WilTdSg==", "requires": { - "colornames": "0.0.2" + "colornames": "1.1.1" } }, "latest-version": { @@ -5121,22 +7223,20 @@ "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "dev": true, "requires": { - "package-json": "^4.0.0" + "package-json": "4.0.1" } }, "lazy-cache": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", - "optional": true + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" }, "lcid": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", - "dev": true, "requires": { - "invert-kv": "^1.0.0" + "invert-kv": "1.0.0" } }, "levn": { @@ -5145,37 +7245,49 @@ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", "dev": true, "requires": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "prelude-ls": "1.1.2", + "type-check": "0.3.2" } }, "load-json-file": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", - "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "strip-bom": "^3.0.0" + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "loader-runner": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.0.tgz", + "integrity": "sha1-9IKuqC1UPgeSFwDVpG7yb9rGuKI=" + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" } }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "p-locate": "2.0.0", + "path-exists": "3.0.0" }, "dependencies": { "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" } } }, @@ -5186,30 +7298,66 @@ }, "lodash-es": { "version": "4.17.10", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", - "integrity": "sha512-iesFYPmxYYGTcmQK0sL8bX3TGHyM6b2qREaB4kamHfQyfPJP0xgoGxp19nsH16nsfquLdiyKyX3mQkfiSGV8Rg==" + "resolved": "http://registry.npmjs.org/lodash-es/-/lodash-es-4.17.10.tgz", + "integrity": "sha1-Ys1xBM313YfyNag38O3g6OURfgU=" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + "lodash.mergewith": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.mergewith/-/lodash.mergewith-4.6.1.tgz", + "integrity": "sha512-eWw5r+PYICtEBgrBE5hhlT6aAa75f411bgDz/ZL2KZqYV03USvucsxcHUIlGTDTECs1eunpI7HOV7U+WLDvNdQ==", + "dev": true + }, + "lodash.tail": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz", + "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true }, "logform": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/logform/-/logform-1.9.0.tgz", - "integrity": "sha512-H1gneJlqo1dwmXq52p/X57SztuX20aWQArp69u4x7DDmCkMZgMLtBTm2LMoTz0+wu7HdkICiPj6vBbX8WJFRig==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/logform/-/logform-1.9.1.tgz", + "integrity": "sha512-ZHrZE8VSf7K3xKxJiQ1aoTBp2yK+cEbFcgarsjzI3nt3nE/3O0heNSppoOQMUJVMZo/xiVwCxiXIabaZApsKNQ==", "requires": { - "colors": "^1.2.1", - "fast-safe-stringify": "^2.0.4", - "fecha": "^2.3.3", - "ms": "^2.1.1", - "triple-beam": "^1.2.0" + "colors": "1.3.1", + "fast-safe-stringify": "2.0.5", + "fecha": "2.3.3", + "ms": "2.1.1", + "triple-beam": "1.3.0" }, "dependencies": { "ms": { @@ -5234,7 +7382,17 @@ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "requires": { - "js-tokens": "^3.0.0" + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" } }, "lowercase-keys": { @@ -5248,40 +7406,42 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha1-Yi4y6CSItJJ5EUpPns9F581rulU=", "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "pseudomap": "1.0.2", + "yallist": "2.1.2" } }, "lru-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", "integrity": "sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=", - "dev": true, "requires": { - "es5-ext": "~0.10.2" + "es5-ext": "0.10.45" } }, "make-dir": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", - "dev": true, "requires": { - "pify": "^3.0.0" + "pify": "3.0.0" }, "dependencies": { "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" } } }, "map-cache": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", "dev": true }, "map-stream": { @@ -5294,9 +7454,23 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, "requires": { - "object-visit": "^1.0.0" + "object-visit": "1.0.1" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "media-typer": { @@ -5308,25 +7482,112 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", - "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "memoizee": { "version": "0.4.12", "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.12.tgz", - "integrity": "sha512-sprBu6nwxBWBvBOh5v2jcsGqiGLlL2xr2dLub3vR8dnE8YB17omwtm/0NSHl8jjNbcsJd5GMWJAnTSVe/O0Wfg==", + "integrity": "sha1-eA6ZohnFDFSb5tD8YXZQgJdcWPs=", + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.45", + "es6-weak-map": "2.0.2", + "event-emitter": "0.3.5", + "is-promise": "2.1.0", + "lru-queue": "0.1.0", + "next-tick": "1.0.0", + "timers-ext": "0.1.5" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", "dev": true, "requires": { - "d": "1", - "es5-ext": "^0.10.30", - "es6-weak-map": "^2.0.2", - "event-emitter": "^0.3.5", - "is-promise": "^2.1", - "lru-queue": "0.1", - "next-tick": "1", - "timers-ext": "^0.1.2" + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } } }, "merge-descriptors": { @@ -5345,19 +7606,19 @@ "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "kind-of": { @@ -5368,6 +7629,15 @@ } } }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, "mime": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", @@ -5383,21 +7653,30 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", "integrity": "sha1-bzI/YKg9ERRvgx/xH9ZuL+VQO7g=", "requires": { - "mime-db": "~1.33.0" + "mime-db": "1.33.0" } }, "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "dev": true + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=" + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", "requires": { - "brace-expansion": "^1.1.7" + "brace-expansion": "1.1.11" } }, "minimist": { @@ -5408,29 +7687,44 @@ "mixin-deep": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "dev": true, + "integrity": "sha1-pJ5yaNzhoNlpjkUybFYm3zVD0P4=", "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "for-in": "1.0.2", + "is-extendable": "1.0.1" }, "dependencies": { "is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", "requires": { - "is-plain-object": "^2.0.4" + "is-plain-object": "2.0.4" } } } }, + "mixin-object": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mixin-object/-/mixin-object-2.0.1.tgz", + "integrity": "sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4=", + "dev": true, + "requires": { + "for-in": "0.1.8", + "is-extendable": "0.1.1" + }, + "dependencies": { + "for-in": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.8.tgz", + "integrity": "sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE=", + "dev": true + } + } + }, "mkdirp": { "version": "0.5.1", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, "requires": { "minimist": "0.0.8" } @@ -5465,11 +7759,11 @@ "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=" }, "moment-timezone": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.20.tgz", - "integrity": "sha512-uJXgstE4ddmJpLFIyihm7VsLJsViDxO88lx+GmIbSnyAAHHbSdpwBhpE2N3KFOmDa/9BxYDykQUzH796CHga2w==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.21.tgz", + "integrity": "sha512-j96bAh4otsgj3lKydm3K7kdtA3iKf2m6MY2iSYCzCm5a1zmHo1g+aK3068dDEeocLZQIS9kU8bsdQHLqEvgW0A==", "requires": { - "moment": ">= 2.9.0" + "moment": "2.22.2" } }, "ms": { @@ -5482,7 +7776,7 @@ "resolved": "https://registry.npmjs.org/multiparty/-/multiparty-4.1.4.tgz", "integrity": "sha1-TJbcvcEeP3kX4WFeZAtLUCK+ZP0=", "requires": { - "fd-slicer": "~1.0.1", + "fd-slicer": "1.0.1", "safe-buffer": "5.1.2" }, "dependencies": { @@ -5496,50 +7790,33 @@ "mute-stream": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", - "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", - "dev": true + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "mysql2": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-1.5.3.tgz", - "integrity": "sha512-Oov36YQSeciNP9SeqE7je4eWgeGADOorXLmsqhtxOJmPGUOJSNJT0s6/eq1Byy4nhXTRQUvlMHsI4Q/eMEs88Q==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mysql2/-/mysql2-1.6.1.tgz", + "integrity": "sha512-BNrJH5HavPqskXEy8oVz7ucRbkhegKQ7VD8rNGFwvTuk0WiUSi1wXFOg67NjCGquZnim8nKgHdDiih6LqG5knA==", "requires": { - "cardinal": "1.0.0", - "denque": "1.2.3", - "generate-function": "^2.0.0", - "iconv-lite": "^0.4.18", - "long": "^4.0.0", + "cardinal": "2.1.1", + "denque": "1.3.0", + "generate-function": "2.0.0", + "iconv-lite": "0.4.19", + "long": "4.0.0", "lru-cache": "4.1.1", "named-placeholders": "1.1.1", - "object-assign": "^4.1.1", - "readable-stream": "2.3.5", - "safe-buffer": "^5.0.1", + "object-assign": "4.1.1", "seq-queue": "0.0.5", "sqlstring": "2.3.1" - }, - "dependencies": { - "readable-stream": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.5.tgz", - "integrity": "sha512-tK0yDhrkygt/knjowCUiWP9YdV7c5R+8cR0r/kt9ZhBU906Fs6RpQJCEilamRJj1Nx2rWI6LkW9gKqjTkshhEw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "~5.1.0" - } - } + } + }, + "mz": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-1.3.0.tgz", + "integrity": "sha1-BvCT/dmVagbTfhsegTROJ0eMQvA=", + "requires": { + "native-or-bluebird": "1.2.0", + "thenify": "3.3.0", + "thenify-all": "1.6.0" } }, "named-placeholders": { @@ -5565,43 +7842,44 @@ "nanomatch": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", - "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==", - "dev": true, + "integrity": "sha1-h59xUMstq3pHElkGbBBO7m4Pp8I=", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-odd": "^2.0.0", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-odd": "2.0.0", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" }, "dependencies": { "arr-diff": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" }, "array-unique": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" }, "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=" } } }, + "native-or-bluebird": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.2.0.tgz", + "integrity": "sha1-OcR7/Xgl0fuf+tMiEK4l2q3xAck=" + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -5613,11 +7891,15 @@ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, + "neo-async": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.5.1.tgz", + "integrity": "sha512-3KL3fvuRkZ7s4IFOMfztb7zJp3QaVWnBeGoJlgB38XnCRPj/0tLzzLG5IB8NYOHbJ8g8UGrgZv44GLDk6CxTxA==" + }, "next-tick": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" }, "nocache": { "version": "2.0.0", @@ -5625,428 +7907,2981 @@ "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" }, "node-fetch": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", - "integrity": "sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==", - "requires": { - "encoding": "^0.1.11", - "is-stream": "^1.0.1" - } + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.2.tgz", + "integrity": "sha1-q4hOjn5X44qUR1POxwb3iNF2i7U=", + "dev": true }, - "nodemon": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.17.5.tgz", - "integrity": "sha512-FG2mWJU1Y58a9ktgMJ/RZpsiPz3b7ge77t/okZHEa4NbrlXGKZ8s1A6Q+C7+JPXohAfcPALRwvxcAn8S874pmw==", + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", "dev": true, "requires": { - "chokidar": "^2.0.2", - "debug": "^3.1.0", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.0.4", - "pstree.remy": "^1.1.0", - "semver": "^5.5.0", - "supports-color": "^5.2.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.2", - "update-notifier": "^2.3.0" + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.87.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.0" }, "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", - "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.0", - "braces": "^2.3.0", - "fsevents": "^1.2.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.1", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "lodash.debounce": "^4.0.8", - "normalize-path": "^2.1.1", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.0.0", - "upath": "^1.0.5" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - } - }, - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-glob": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", - "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } } } }, - "nopt": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", - "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + } + }, + "node-sass": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.9.3.tgz", + "integrity": "sha512-XzXyGjO+84wxyH7fV6IwBOTrEBe2f0a6SBze9QWWYR/cL74AcQUks2AsqcCZenl/Fp/JVbuEaLpgrLtocwBUww==", "dev": true, "requires": { - "abbrev": "1" + "async-foreach": "0.1.3", + "chalk": "1.1.3", + "cross-spawn": "3.0.1", + "gaze": "1.1.3", + "get-stdin": "4.0.1", + "glob": "7.1.2", + "in-publish": "2.0.0", + "lodash.assign": "4.2.0", + "lodash.clonedeep": "4.5.0", + "lodash.mergewith": "4.6.1", + "meow": "3.7.0", + "mkdirp": "0.5.1", + "nan": "2.10.0", + "node-gyp": "3.8.0", + "npmlog": "4.1.2", + "request": "2.87.0", + "sass-graph": "2.2.4", + "stdout-stream": "1.4.0", + "true-case-path": "1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "dev": true, + "requires": { + "lru-cache": "4.1.1", + "which": "1.3.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "nodemon": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.18.3.tgz", + "integrity": "sha512-XdVfAjGlDKU2nqoGgycxTndkJ5fdwvWJ/tlMGk2vHxMZBrSPVh86OM6z7viAv8BBJWjMgeuYQBofzr6LUoi+7g==", + "dev": true, + "requires": { + "chokidar": "2.0.4", + "debug": "3.1.0", + "ignore-by-default": "1.0.1", + "minimatch": "3.0.4", + "pstree.remy": "1.1.0", + "semver": "5.5.0", + "supports-color": "5.4.0", + "touch": "3.1.0", + "undefsafe": "2.0.2", + "update-notifier": "2.5.0" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1.1.1" } }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", "integrity": "sha1-EvlaMH1YNSB1oEkHuErIvpisAS8=", - "dev": true, "requires": { - "hosted-git-info": "^2.1.4", - "is-builtin-module": "^1.0.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "hosted-git-info": "2.6.0", + "is-builtin-module": "1.0.0", + "semver": "5.5.0", + "validate-npm-package-license": "3.0.3" } }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", "dev": true, "requires": { - "remove-trailing-separator": "^1.0.1" + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "npm": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.3.0.tgz", + "integrity": "sha512-oDtLFo3wXue/xe3pU/oks9VHS5501OAWlYrZrApZkFv7l2LXk+9CfPMbjbfZWK7Jqlc1jbNcJMkB6KZC7K/vEA==", + "requires": { + "JSONStream": "1.3.3", + "abbrev": "1.1.1", + "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.1.0", + "call-limit": "1.1.0", + "chownr": "1.0.1", + "cli-columns": "3.1.2", + "cli-table3": "0.5.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.2.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.6", + "json-parse-better-errors": "1.0.2", + "lazy-property": "1.0.0", + "libcipm": "2.0.0", + "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.7.0", + "nopt": "4.0.1", + "normalize-package-data": "2.4.0", + "npm-audit-report": "1.3.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.2", + "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.6", + "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.81.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", + "stringify-package": "1.0.0", + "tar": "4.4.4", + "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.3.2", + "validate-npm-package-license": "3.0.3", + "validate-npm-package-name": "3.0.0", + "which": "1.3.1", + "worker-farm": "1.6.0", + "write-file-atomic": "2.3.0" + }, + "dependencies": { + "JSONStream": { + "version": "1.3.3", + "bundled": true, + "requires": { + "jsonparse": "1.3.1", + "through": "2.3.8" + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true + }, + "agent-base": { + "version": "4.2.0", + "bundled": true, + "requires": { + "es6-promisify": "5.0.0" + } + }, + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "requires": { + "humanize-ms": "1.2.1" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "2.1.1" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "requires": { + "color-convert": "1.9.1" + } + }, + "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 + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "requires": { + "delegates": "1.0.0", + "readable-stream": "2.3.6" + } + }, + "asap": { + "version": "2.0.6", + "bundled": true + }, + "asn1": { + "version": "0.2.3", + "bundled": true + }, + "assert-plus": { + "version": "0.2.0", + "bundled": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true + }, + "aws-sign2": { + "version": "0.6.0", + "bundled": true + }, + "aws4": { + "version": "1.7.0", + "bundled": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "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" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "requires": { + "inherits": "2.0.3" + } + }, + "bluebird": { + "version": "3.5.1", + "bundled": true + }, + "boom": { + "version": "2.10.1", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "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" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true + }, + "byline": { + "version": "5.0.0", + "bundled": true + }, + "byte-size": { + "version": "4.0.3", + "bundled": true + }, + "cacache": { + "version": "11.1.0", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "chownr": "1.0.1", + "figgy-pudding": "3.2.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" + } + }, + "call-limit": { + "version": "1.1.0", + "bundled": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true + }, + "ci-info": { + "version": "1.1.3", + "bundled": true + }, + "cidr-regex": { + "version": "2.0.9", + "bundled": true, + "requires": { + "ip-regex": "2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "3.0.1" + } + }, + "cli-table3": { + "version": "0.5.0", + "bundled": true, + "requires": { + "colors": "1.3.0", + "object-assign": "4.1.1", + "string-width": "2.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "requires": { + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1" + } + }, + "co": { + "version": "4.6.0", + "bundled": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true + }, + "colors": { + "version": "1.3.0", + "bundled": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "requires": { + "strip-ansi": "3.0.1", + "wcwidth": "1.0.1" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "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" + } + }, + "config-chain": { + "version": "1.1.11", + "bundled": true, + "requires": { + "ini": "1.3.5", + "proto-list": "1.2.4" + } + }, + "configstore": { + "version": "3.1.2", + "bundled": true, + "requires": { + "dot-prop": "4.2.0", + "graceful-fs": "4.1.11", + "make-dir": "1.3.0", + "unique-string": "1.0.0", + "write-file-atomic": "2.3.0", + "xdg-basedir": "3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "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 + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "requires": { + "capture-stack-trace": "1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "cryptiles": { + "version": "2.0.5", + "bundled": true, + "requires": { + "boom": "2.10.1" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "requires": { + "clone": "1.0.4" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true + }, + "delegates": { + "version": "1.0.0", + "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.6", + "wrappy": "1.0.2" + } + }, + "dot-prop": { + "version": "4.2.0", + "bundled": true, + "requires": { + "is-obj": "1.0.1" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "requires": { + "iconv-lite": "0.4.23" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "requires": { + "once": "1.4.0" + } + }, + "err-code": { + "version": "1.1.2", + "bundled": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "requires": { + "prr": "1.0.1" + } + }, + "es6-promise": { + "version": "4.2.4", + "bundled": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "requires": { + "es6-promise": "4.2.4" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true + }, + "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" + } + }, + "extend": { + "version": "3.0.1", + "bundled": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true + }, + "figgy-pudding": { + "version": "3.2.0", + "bundled": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true + }, + "form-data": { + "version": "2.1.4", + "bundled": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.6", + "mime-types": "2.1.18" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "requires": { + "minipass": "2.3.3" + } + }, + "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 + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true + }, + "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" + } + }, + "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": { + "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" + } + } + } + }, + "genfun": { + "version": "4.0.1", + "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 + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "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" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "requires": { + "ini": "1.3.5" + } + }, + "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" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true + }, + "har-schema": { + "version": "1.0.5", + "bundled": true + }, + "har-validator": { + "version": "4.2.1", + "bundled": true, + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "bundled": true, + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true + }, + "hawk": { + "version": "3.1.3", + "bundled": true, + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "hoek": { + "version": "2.16.3", + "bundled": true + }, + "hosted-git-info": { + "version": "2.6.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" + } + }, + "http-signature": { + "version": "1.1.1", + "bundled": true, + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.14.2" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "debug": "3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "requires": { + "ms": "2.1.1" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "iferr": { + "version": "1.0.0", + "bundled": true + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "requires": { + "minimatch": "3.0.4" + } + }, + "import-lazy": { + "version": "2.1.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" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true + }, + "ip": { + "version": "1.1.5", + "bundled": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-ci": { + "version": "1.1.0", + "bundled": true, + "requires": { + "ci-info": "1.1.3" + } + }, + "is-cidr": { + "version": "2.0.6", + "bundled": true, + "requires": { + "cidr-regex": "2.0.9" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "requires": { + "global-dirs": "0.1.1", + "is-path-inside": "1.0.1" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "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 + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true + }, + "json-stable-stringify": { + "version": "1.0.1", + "bundled": true, + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true + }, + "jsonify": { + "version": "0.0.0", + "bundled": true + }, + "jsonparse": { + "version": "1.3.1", + "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": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "requires": { + "package-json": "4.0.1" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "libcipm": { + "version": "2.0.0", + "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": "8.1.6", + "protoduck": "5.0.0", + "read-package-json": "2.0.13", + "rimraf": "2.6.2", + "worker-farm": "1.6.0" + } + }, + "libnpmhook": { + "version": "4.0.1", + "bundled": true, + "requires": { + "figgy-pudding": "3.2.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.2.0", + "lru-cache": "4.1.3", + "make-fetch-happen": "4.0.1", + "npm-package-arg": "6.1.0" + } + } + } + }, + "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.1", + "y18n": "4.0.0", + "yargs": "11.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "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._createset": { + "version": "4.0.3", + "bundled": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true + }, + "lodash._root": { + "version": "3.0.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 + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true + }, + "lru-cache": { + "version": "4.1.3", + "bundled": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "requires": { + "pify": "3.0.0" + } + }, + "make-fetch-happen": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agentkeepalive": "3.4.1", + "cacache": "11.1.0", + "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" + } + }, + "meant": { + "version": "1.0.1", + "bundled": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "mime-db": { + "version": "1.33.0", + "bundled": true + }, + "mime-types": { + "version": "2.1.18", + "bundled": true, + "requires": { + "mime-db": "1.33.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "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 + } + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "requires": { + "minipass": "2.3.3" + } + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.0", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "3.0.0", + "pumpify": "1.5.1", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "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" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true + }, + "mute-stream": { + "version": "0.0.7", + "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" + } + }, + "node-gyp": { + "version": "3.7.0", + "bundled": true, + "requires": { + "fstream": "1.0.11", + "glob": "7.1.2", + "graceful-fs": "4.1.11", + "mkdirp": "0.5.1", + "nopt": "3.0.6", + "npmlog": "4.1.2", + "osenv": "0.1.5", + "request": "2.81.0", + "rimraf": "2.6.2", + "semver": "5.3.0", + "tar": "2.2.1", + "which": "1.3.1" + }, + "dependencies": { + "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" + } + } + } + }, + "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" + } + }, + "npm-audit-report": { + "version": "1.3.1", + "bundled": true, + "requires": { + "cli-table3": "0.5.0", + "console-control-strings": "1.1.0" + } + }, + "npm-bundled": { + "version": "1.0.3", + "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.7.0", + "resolve-from": "4.0.0", + "slide": "1.1.6", + "uid-number": "0.0.6", + "umask": "1.1.0", + "which": "1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "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" + } + }, + "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.2", + "bundled": true, + "requires": { + "aproba": "1.2.0", + "make-fetch-happen": "4.0.1" + } + }, + "npm-registry-client": { + "version": "8.5.1", + "bundled": true, + "requires": { + "concat-stream": "1.6.2", + "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.81.0", + "retry": "0.10.1", + "safe-buffer": "5.1.2", + "semver": "5.5.0", + "slide": "1.1.6", + "ssri": "5.3.0" + }, + "dependencies": { + "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": { + "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.6.0", + "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.5.1", + "stream-each": "1.2.2", + "through2": "2.0.3" + } + } + } + }, + "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" + } + }, + "pump": { + "version": "2.0.1", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "smart-buffer": { + "version": "1.1.15", + "bundled": true + }, + "socks": { + "version": "1.1.10", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "1.1.15" + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "socks": "1.1.10" + } + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "requires": { + "path-key": "2.0.1" + } + }, + "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" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "oauth-sign": { + "version": "0.8.2", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "opener": { + "version": "1.4.3", + "bundled": true + }, + "os-homedir": { + "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" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "requires": { + "p-limit": "1.2.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true + }, + "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" + } + }, + "pacote": { + "version": "8.1.6", + "bundled": true, + "requires": { + "bluebird": "3.5.1", + "cacache": "11.1.0", + "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.4", + "unique-filename": "1.1.0", + "which": "1.3.1" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true + }, + "performance-now": { + "version": "0.2.0", + "bundled": true + }, + "pify": { + "version": "3.0.0", + "bundled": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true + }, + "promise-inflight": { + "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": { + "retry": { + "version": "0.10.1", + "bundled": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "requires": { + "read": "1.0.7" + } + }, + "proto-list": { + "version": "1.2.4", + "bundled": true + }, + "protoduck": { + "version": "5.0.0", + "bundled": true, + "requires": { + "genfun": "4.0.1" + } + }, + "prr": { + "version": "1.0.1", + "bundled": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.5.1", + "bundled": true, + "requires": { + "duplexify": "3.6.0", + "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" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true + }, + "qs": { + "version": "6.4.0", + "bundled": true + }, + "query-string": { + "version": "6.1.0", + "bundled": true, + "requires": { + "decode-uri-component": "0.2.0", + "strict-uri-encode": "2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true + }, + "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": { + "minimist": { + "version": "1.2.0", + "bundled": true + } + } + }, + "read": { + "version": "1.0.7", + "bundled": true, + "requires": { + "mute-stream": "0.0.7" + } + }, + "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" + } + }, + "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.2", + "normalize-package-data": "2.4.0", + "slash": "1.0.0" + } + }, + "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" + } + }, + "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" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "bundled": true, + "requires": { + "rc": "1.2.7", + "safe-buffer": "5.1.2" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "requires": { + "rc": "1.2.7" + } + }, + "request": { + "version": "2.81.0", + "bundled": true, + "requires": { + "aws-sign2": "0.6.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.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "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": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.2", + "stringstream": "0.0.6", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true + }, + "retry": { + "version": "0.12.0", + "bundled": true + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "requires": { + "glob": "7.1.2" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "requires": { + "aproba": "1.2.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true + }, + "semver": { + "version": "5.5.0", + "bundled": true + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "requires": { + "semver": "5.5.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "requires": { + "graceful-fs": "4.1.11", + "readable-stream": "2.3.6" + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true + }, + "slash": { + "version": "1.0.0", + "bundled": true + }, + "slide": { + "version": "1.1.6", + "bundled": true + }, + "smart-buffer": { + "version": "4.0.1", + "bundled": true + }, + "sntp": { + "version": "1.0.9", + "bundled": true, + "requires": { + "hoek": "2.16.3" + } + }, + "socks": { + "version": "2.2.0", + "bundled": true, + "requires": { + "ip": "1.1.5", + "smart-buffer": "4.0.1" + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "bundled": true, + "requires": { + "agent-base": "4.2.0", + "socks": "2.2.0" + } + }, + "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" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true + }, + "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" + } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "requires": { + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true + }, + "sshpk": { + "version": "1.14.2", + "bundled": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "ssri": { + "version": "6.0.0", + "bundled": true + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true + }, + "strict-uri-encode": { + "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": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stringify-package": { + "version": "1.0.0", + "bundled": true + }, + "stringstream": { + "version": "0.0.6", + "bundled": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "tar": { + "version": "4.4.4", + "bundled": true, + "requires": { + "chownr": "1.0.1", + "fs-minipass": "1.2.5", + "minipass": "2.3.3", + "minizlib": "1.1.0", + "mkdirp": "0.5.1", + "safe-buffer": "5.1.2", + "yallist": "3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "requires": { + "execa": "0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true + }, + "through": { + "version": "2.3.8", + "bundled": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "timed-out": { + "version": "4.0.1", + "bundled": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true + }, + "tough-cookie": { + "version": "2.3.4", + "bundled": true, + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "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" + } + }, + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "requires": { + "crypto-random-string": "1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true + }, + "unzip-response": { + "version": "2.0.1", + "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" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "requires": { + "prepend-http": "1.0.4" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true + }, + "uuid": { + "version": "3.3.2", + "bundled": true + }, + "validate-npm-package-license": { + "version": "3.0.3", + "bundled": true, + "requires": { + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "requires": { + "builtins": "1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "bundled": true + } + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "requires": { + "defaults": "1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "requires": { + "string-width": "1.0.2" + }, + "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" + } + } + } + }, + "widest-line": { + "version": "2.0.0", + "bundled": true, + "requires": { + "string-width": "2.1.1" + } + }, + "worker-farm": { + "version": "1.6.0", + "bundled": true, + "requires": { + "errno": "0.1.7" + } + }, + "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" + } + } + } + }, + "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" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true + }, + "yargs": { + "version": "11.0.0", + "bundled": true, + "requires": { + "cliui": "4.1.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": { + "y18n": { + "version": "3.2.1", + "bundled": true + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "requires": { + "camelcase": "4.1.0" + } + } } }, "npm-run-path": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "2.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "dev": true, "requires": { - "path-key": "^2.0.0" + "are-we-there-yet": "1.1.5", + "console-control-strings": "1.1.0", + "gauge": "2.7.4", + "set-blocking": "2.0.0" } }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, "number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "0.8.2", @@ -6062,20 +10897,18 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } @@ -6089,44 +10922,40 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, "requires": { - "isobject": "^3.0.0" + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, "object.assign": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "define-properties": "1.1.2", + "function-bind": "1.1.1", + "has-symbols": "1.0.0", + "object-keys": "1.0.11" } }, "object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, "requires": { - "isobject": "^3.0.1" + "isobject": "3.0.1" }, "dependencies": { "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -6148,7 +10977,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { - "wrappy": "1" + "wrappy": "1.0.2" } }, "one-time": { @@ -6160,9 +10989,8 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, "requires": { - "mimic-fn": "^1.0.0" + "mimic-fn": "1.2.0" } }, "optimist": { @@ -6170,8 +10998,8 @@ "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" + "minimist": "0.0.8", + "wordwrap": "0.0.3" } }, "optionator": { @@ -6180,12 +11008,12 @@ "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", "dev": true, "requires": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.4", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "wordwrap": "~1.0.0" + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" }, "dependencies": { "wordwrap": { @@ -6196,22 +11024,41 @@ } } }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, "os-locale": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", - "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", - "dev": true, + "integrity": "sha1-QrwpAKa1uL0XN2yOiCtlr8zyS/I=", "requires": { - "execa": "^0.7.0", - "lcid": "^1.0.0", - "mem": "^1.1.0" + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" } }, "os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } }, "output-file-sync": { "version": "2.0.1", @@ -6219,40 +11066,36 @@ "integrity": "sha512-mDho4qm7WgIXIGf4eYU1RHN2UU5tPfVYVSRwDJw0uTmj35DQUt/eNp19N7v6T3SrR0ESTEf2up2CGO73qI35zQ==", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "is-plain-obj": "^1.1.0", - "mkdirp": "^0.5.1" + "graceful-fs": "4.1.11", + "is-plain-obj": "1.1.0", + "mkdirp": "0.5.1" } }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.2.0.tgz", "integrity": "sha1-DpK2vty1nwIsE9DxlJ3ILRWQnxw=", - "dev": true, "requires": { - "p-try": "^1.0.0" + "p-try": "1.0.0" } }, "p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { - "p-limit": "^1.1.0" + "p-limit": "1.2.0" } }, "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "package-json": { "version": "4.0.1", @@ -6260,19 +11103,35 @@ "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "dev": true, "requires": { - "got": "^6.7.1", - "registry-auth-token": "^3.0.1", - "registry-url": "^3.0.3", - "semver": "^5.1.0" + "got": "6.7.1", + "registry-auth-token": "3.3.2", + "registry-url": "3.1.0", + "semver": "5.5.0" + } + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.16" } }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "1.3.1" } }, "parseurl": { @@ -6283,15 +11142,14 @@ "pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, "passport": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/passport/-/passport-0.4.0.tgz", "integrity": "sha1-xQlWkTR71a07XhgCOMORTRbwWBE=", "requires": { - "passport-strategy": "1.x.x", + "passport-strategy": "1.0.0", "pause": "0.0.1" } }, @@ -6300,7 +11158,7 @@ "resolved": "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz", "integrity": "sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4=", "requires": { - "passport-strategy": "1.x.x" + "passport-strategy": "1.0.0" } }, "passport-strategy": { @@ -6308,11 +11166,15 @@ "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=" }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" + }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, "path-exists": { "version": "2.1.0", @@ -6320,7 +11182,7 @@ "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", "dev": true, "requires": { - "pinkie-promise": "^2.0.0" + "pinkie-promise": "2.0.1" } }, "path-is-absolute": { @@ -6337,14 +11199,12 @@ "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" }, "path-to-regexp": { "version": "0.1.7", @@ -6355,9 +11215,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", - "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "2.3.0" } }, "pathval": { @@ -6377,7 +11236,19 @@ "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", "dev": true, "requires": { - "through": "~2.3" + "through": "2.3.8" + } + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.1", + "sha.js": "2.4.11" } }, "pend": { @@ -6393,8 +11264,7 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" }, "pinkie": { "version": "2.0.4", @@ -6408,7 +11278,7 @@ "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, "requires": { - "pinkie": "^2.0.0" + "pinkie": "2.0.4" } }, "pkg-dir": { @@ -6417,7 +11287,27 @@ "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", "dev": true, "requires": { - "find-up": "^1.0.0" + "find-up": "1.1.2" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "2.1.0" + }, + "dependencies": { + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + } } }, "platform": { @@ -6428,15 +11318,530 @@ "pluralize": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", - "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "integrity": "sha1-KYuJ34uTsCIdv0Ia0rGx6iP8Z3c=", "dev": true }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.8", + "source-map": "0.5.7", + "supports-color": "3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000872", + "electron-to-chromium": "1.3.42" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", "dev": true }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "uniqs": "2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz", + "integrity": "sha1-ZhQOzs447wa/DT41XWm/WdFB6oU=", + "dev": true, + "requires": { + "postcss": "6.0.23" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.23" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.0", + "postcss": "6.0.23" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.23" + }, + "dependencies": { + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.4.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.4.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "5.2.18" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.0", + "svgo": "0.7.2" + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz", + "integrity": "sha1-h/OPnxj3dKSrTIojL1xc6IcqnRU=", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "1.0.1", + "postcss": "5.2.18", + "uniqs": "2.0.0" + } + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -6452,9 +11857,14 @@ "private": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=", "dev": true }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -6469,9 +11879,9 @@ "promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", "requires": { - "asap": "~2.0.3" + "asap": "2.0.6" } }, "prop-types": { @@ -6479,32 +11889,36 @@ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz", "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==", "requires": { - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" + "loose-envify": "1.3.1", + "object-assign": "4.1.1" } }, "proto-list": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", - "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=", - "dev": true + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" }, "proxy-addr": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", - "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", + "integrity": "sha1-NV8mJQWmIWRrMTCnKOtkfiIFU0E=", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.1.2", "ipaddr.js": "1.6.0" } }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, "ps-tree": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", "dev": true, "requires": { - "event-stream": "~3.3.0" + "event-stream": "3.3.4" } }, "pseudomap": { @@ -6515,10 +11929,22 @@ "pstree.remy": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.0.tgz", - "integrity": "sha512-q5I5vLRMVtdWa8n/3UEzZX7Lfghzrg9eG2IKk2ENLSofKRCXVqMvMUHxCKgXNaqH/8ebhBxrqftHWnyTFweJ5Q==", + "integrity": "sha1-8q8nJlvT5bMrv8wQ6AusVbp4aIs=", "dev": true, "requires": { - "ps-tree": "^1.1.0" + "ps-tree": "1.1.0" + } + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6" } }, "punycode": { @@ -6526,11 +11952,54 @@ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, "qs": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", "integrity": "sha1-NJzfbu+J7EXBLX1es/wMhwNDptg=" }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.1" + } + }, "range-parser": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", @@ -6552,7 +12021,7 @@ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "safer-buffer": "2.1.2" } } } @@ -6563,10 +12032,10 @@ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" + "deep-extend": "0.6.0", + "ini": "1.3.5", + "minimist": "1.2.0", + "strip-json-comments": "2.0.1" }, "dependencies": { "minimist": { @@ -6578,25 +12047,25 @@ } }, "react": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.4.1.tgz", - "integrity": "sha512-3GEs0giKp6E0Oh/Y9ZC60CmYgUPnp7voH9fbjWsvXtYFb4EWtgQub0ADSq0sJR0BbHc4FThLLtzlcFaFXIorwg==", + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz", + "integrity": "sha512-dMv7YrbxO4y2aqnvA7f/ik9ibeLSHQJTI6TrYAenPSaQ6OXfb+Oti+oJiy8WBxgRzlKatYqtCjphTgDSCEiWFg==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.17", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.2" } }, "react-dom": { - "version": "16.4.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.1.tgz", - "integrity": "sha512-1Gin+wghF/7gl4Cqcvr1DxFX2Osz7ugxSwl6gBqCMpdrxHjIFUS7GYxrFftZ9Ln44FHw0JxCFD9YtZsrbR5/4A==", + "version": "16.4.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.4.2.tgz", + "integrity": "sha512-Usl73nQqzvmJN+89r97zmeUpQDKDlh58eX6Hbs/ERdDHzeBzWy+ENk7fsGQ+5KxArV1iOFPT46/VneklK9zoWw==", "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.0" + "fbjs": "0.8.17", + "loose-envify": "1.3.1", + "object-assign": "4.1.1", + "prop-types": "15.6.2" } }, "react-ga": { @@ -6604,8 +12073,8 @@ "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.5.3.tgz", "integrity": "sha512-25wvPv1PVLDLhw1gEYP33h0V2sJHahKMfUCAxhq8JPYmNQwx1fcjJAkJk+WmSqGN93lHLhExDkxy3SQizQnx3A==", "requires": { - "prop-types": "^15.6.0", - "react": "^15.6.2 || ^16.0" + "prop-types": "15.6.2", + "react": "16.4.2" } }, "react-helmet": { @@ -6613,23 +12082,23 @@ "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-5.2.0.tgz", "integrity": "sha1-qBgR3yExOm1VxfBYxK66XW89l6c=", "requires": { - "deep-equal": "^1.0.1", - "object-assign": "^4.1.1", - "prop-types": "^15.5.4", - "react-side-effect": "^1.1.0" + "deep-equal": "1.0.1", + "object-assign": "4.1.1", + "prop-types": "15.6.2", + "react-side-effect": "1.1.5" } }, "react-redux": { "version": "5.0.7", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-5.0.7.tgz", - "integrity": "sha512-5VI8EV5hdgNgyjfmWzBbdrqUkrVRKlyTKk1sGH3jzM2M2Mhj/seQgPXaz6gVAj2lz/nz688AdTqMO18Lr24Zhg==", + "integrity": "sha1-DcEHbZr7RnD5k/+u9EuPjBFVpMg=", "requires": { - "hoist-non-react-statics": "^2.5.0", - "invariant": "^2.0.0", - "lodash": "^4.17.5", - "lodash-es": "^4.17.5", - "loose-envify": "^1.1.0", - "prop-types": "^15.6.0" + "hoist-non-react-statics": "2.5.0", + "invariant": "2.2.4", + "lodash": "4.17.10", + "lodash-es": "4.17.10", + "loose-envify": "1.3.1", + "prop-types": "15.6.2" } }, "react-router": { @@ -6637,13 +12106,13 @@ "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.0", - "invariant": "^2.2.4", - "loose-envify": "^1.3.1", - "path-to-regexp": "^1.7.0", - "prop-types": "^15.6.1", - "warning": "^4.0.1" + "history": "4.7.2", + "hoist-non-react-statics": "2.5.0", + "invariant": "2.2.4", + "loose-envify": "1.3.1", + "path-to-regexp": "1.7.0", + "prop-types": "15.6.2", + "warning": "4.0.1" }, "dependencies": { "isarray": { @@ -6666,51 +12135,48 @@ "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" + "history": "4.7.2", + "invariant": "2.2.4", + "loose-envify": "1.3.1", + "prop-types": "15.6.2", + "react-router": "4.3.1", + "warning": "4.0.1" } }, "react-side-effect": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/react-side-effect/-/react-side-effect-1.1.5.tgz", - "integrity": "sha512-Z2ZJE4p/jIfvUpiUMRydEVpQRf2f8GMHczT6qLcARmX7QRb28JDBTpnM2g/i5y/p7ZDEXYGHWg0RbhikE+hJRw==", + "integrity": "sha1-8mBZ5Q7ZxibZHWYbnzyLs4zQ/y0=", "requires": { - "exenv": "^1.2.1", - "shallowequal": "^1.0.1" + "exenv": "1.2.2", + "shallowequal": "1.0.2" } }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", - "dev": true, "requires": { - "load-json-file": "^2.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" } }, "read-pkg-up": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", - "dev": true, "requires": { - "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "find-up": "2.1.0", + "read-pkg": "2.0.0" }, "dependencies": { "find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { - "locate-path": "^2.0.0" + "locate-path": "2.0.0" } } } @@ -6720,33 +12186,78 @@ "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha1-sRwn2IuP8fvgcGQ8+UsMea4bCq8=", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.1", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" } }, "readdirp": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "4.1.11", + "minimatch": "3.0.4", + "readable-stream": "2.3.6", + "set-immediate-shim": "1.0.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", "dev": true, "requires": { - "graceful-fs": "^4.1.2", - "minimatch": "^3.0.2", - "readable-stream": "^2.0.2", - "set-immediate-shim": "^1.0.1" + "indent-string": "2.1.0", + "strip-indent": "1.0.1" } }, "redeyed": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-1.0.1.tgz", - "integrity": "sha1-6WwZO0DAgWsArshCaY5hGF5VSYo=", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", "requires": { - "esprima": "~3.0.0" + "esprima": "4.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } } }, "redux": { @@ -6754,8 +12265,8 @@ "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.0.tgz", "integrity": "sha512-NnnHF0h0WVE/hXyrB6OlX67LYRuaf/rJcbWvnHHEPCF/Xa/AZpwhs/20WyqzQae5x4SD2F9nPObgBh2rxAgLiA==", "requires": { - "loose-envify": "^1.1.0", - "symbol-observable": "^1.2.0" + "loose-envify": "1.3.1", + "symbol-observable": "1.2.0" } }, "redux-devtools": { @@ -6764,22 +12275,9 @@ "integrity": "sha1-CdNCzgq2CHvmeelTodfFMO+hE44=", "dev": true, "requires": { - "lodash": "^4.2.0", - "prop-types": "^15.5.7", - "redux-devtools-instrument": "^1.0.1" - }, - "dependencies": { - "prop-types": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.1.tgz", - "integrity": "sha512-4ec7bY1Y66LymSUOH/zARVYObB23AT2h8cf6e/O6ZALB/N0sqZFEx7rq6EYPX2MkOdKORuooI/H5k9TlR4q7kQ==", - "dev": true, - "requires": { - "fbjs": "^0.8.16", - "loose-envify": "^1.3.1", - "object-assign": "^4.1.1" - } - } + "lodash": "4.17.10", + "prop-types": "15.6.2", + "redux-devtools-instrument": "1.8.3" } }, "redux-devtools-instrument": { @@ -6788,8 +12286,8 @@ "integrity": "sha1-xRDWerTl5FJazW5BDCWrRrhaynw=", "dev": true, "requires": { - "lodash": "^4.2.0", - "symbol-observable": "^1.0.2" + "lodash": "4.17.10", + "symbol-observable": "1.2.0" } }, "redux-saga": { @@ -6803,9 +12301,9 @@ "integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=" }, "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", + "integrity": "sha1-DDNtOYBVPXVcObWGrjsgqknIK38=", "dev": true }, "regenerate-unicode-properties": { @@ -6814,32 +12312,38 @@ "integrity": "sha512-s5NGghCE4itSlUS+0WUj88G6cfMVMmH8boTPNvABf8od+2dhT9WDlWu8n01raQAJZMOK8Ch6jSexaRO7swd6aw==", "dev": true, "requires": { - "regenerate": "^1.4.0" + "regenerate": "1.4.0" + }, + "dependencies": { + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + } } }, "regenerator-runtime": { "version": "0.11.1", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "dev": true + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" }, "regenerator-transform": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.0.tgz", - "integrity": "sha512-M4x+qeWBte1I/y6N7Tjc7f+2gvgmv30q2n0+004XA4plbGR8/dTNkMa8jPFxl/1ca5+4uwZhSiiVivF7jQ33ww==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.13.3.tgz", + "integrity": "sha512-5ipTrZFSq5vU2YoGoww4uaRVAK4wyYC4TSICibbfEPOruUu8FFP7ErV0BjmbIOEpn3O/k9na9UEdYR/3m7N6uA==", "dev": true, "requires": { - "private": "^0.1.6" + "private": "0.1.8" } }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" } }, "regexpp": { @@ -6854,22 +12358,30 @@ "integrity": "sha512-Z835VSnJJ46CNBttalHD/dB+Sj2ezmY6Xp38npwU87peK6mqOzOpV8eYktdkLTEkzzD+JsTcxd84ozd8I14+rw==", "dev": true, "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^7.0.0", - "regjsgen": "^0.4.0", - "regjsparser": "^0.3.0", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.0.2" + "regenerate": "1.4.0", + "regenerate-unicode-properties": "7.0.0", + "regjsgen": "0.4.0", + "regjsparser": "0.3.0", + "unicode-match-property-ecmascript": "1.0.4", + "unicode-match-property-value-ecmascript": "1.0.2" + }, + "dependencies": { + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + } } }, "registry-auth-token": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", - "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "integrity": "sha1-hR/UkDjuy1hpERFa+EUmDuyYPyA=", "dev": true, "requires": { - "rc": "^1.1.6", - "safe-buffer": "^5.0.1" + "rc": "1.2.8", + "safe-buffer": "5.1.1" } }, "registry-url": { @@ -6878,7 +12390,7 @@ "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "dev": true, "requires": { - "rc": "^1.0.1" + "rc": "1.2.8" } }, "regjsgen": { @@ -6893,7 +12405,7 @@ "integrity": "sha512-zza72oZBBHzt64G7DxdqrOo/30bhHkwMUoT0WqfGu98XLd7N+1tsy5MJ96Bk4MD0y74n629RhmrGW6XlnLLwCA==", "dev": true, "requires": { - "jsesc": "~0.5.0" + "jsesc": "0.5.0" }, "dependencies": { "jsesc": { @@ -6907,59 +12419,64 @@ "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" }, "repeat-element": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, - "request": { - "version": "2.86.0", - "resolved": "https://registry.npmjs.org/request/-/request-2.86.0.tgz", - "integrity": "sha512-BQZih67o9r+Ys94tcIW4S7Uu8pthjrQVxhsZ/weOwHbDfACxvIyvnAbzFQxjy1jMtvFSzv5zf4my6cZsJBbVzw==", + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.6.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.5", - "extend": "~3.0.1", - "forever-agent": "~0.6.1", - "form-data": "~2.3.1", - "har-validator": "~5.0.3", - "hawk": "~6.0.2", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.17", - "oauth-sign": "~0.8.2", - "performance-now": "^2.1.0", - "qs": "~6.5.1", - "safe-buffer": "^5.1.1", - "tough-cookie": "~2.3.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.1.0" + "is-finite": "1.0.2" + } + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "dev": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.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", + "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.1", + "safe-buffer": "5.1.1", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" } }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "require-uncached": { "version": "1.0.3", @@ -6967,17 +12484,22 @@ "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", "dev": true, "requires": { - "caller-path": "^0.1.0", - "resolve-from": "^1.0.0" + "caller-path": "0.1.0", + "resolve-from": "1.0.1" } }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", + "dev": true + }, "resolve": { "version": "1.7.1", "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", "integrity": "sha1-qt1lY3T9KYruiVvAJrgpdBhnf9M=", - "dev": true, "requires": { - "path-parse": "^1.0.5" + "path-parse": "1.0.5" } }, "resolve-from": { @@ -6994,32 +12516,29 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "restore-cursor": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" + "onetime": "2.0.1", + "signal-exit": "3.0.2" } }, "ret": { "version": "0.1.15", "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" }, "retry-as-promised": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-2.3.2.tgz", "integrity": "sha1-zZdO5P2bX+A8vzGHHuSCIcB3N7c=", "requires": { - "bluebird": "^3.4.6", - "debug": "^2.6.9" + "bluebird": "3.5.1", + "debug": "2.6.9" }, "dependencies": { "debug": { @@ -7036,27 +12555,34 @@ "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", - "optional": true, "requires": { - "align-text": "^0.1.1" + "align-text": "0.1.4" } }, "rimraf": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", - "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "integrity": "sha1-LtgVDSShbqhlHm1u8PR8QVjOejY=", "dev": true, "requires": { - "glob": "^7.0.5" + "glob": "7.1.2" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" } }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", - "dev": true, "requires": { - "is-promise": "^2.1.0" + "is-promise": "2.1.0" } }, "rx-lite": { @@ -7071,7 +12597,22 @@ "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", "dev": true, "requires": { - "rx-lite": "*" + "rx-lite": "4.0.8" + } + }, + "rxjs": { + "version": "5.5.11", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.5.11.tgz", + "integrity": "sha512-3bjO7UwWfA2CV7lmwYMBzj4fQ6Cq+ftHc2MvUe+WMS7wcdJ1LosDWmdjPQanYp2dBRj572p7PeU81JUxHKOcBA==", + "requires": { + "symbol-observable": "1.0.1" + }, + "dependencies": { + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + } } }, "safe-buffer": { @@ -7083,9 +12624,8 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, "requires": { - "ret": "~0.1.10" + "ret": "0.1.15" } }, "safer-buffer": { @@ -7093,6 +12633,203 @@ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/sass-graph/-/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "dev": true, + "requires": { + "glob": "7.1.2", + "lodash": "4.17.10", + "scss-tokenizer": "0.2.3", + "yargs": "7.1.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "sass-loader": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", + "integrity": "sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==", + "dev": true, + "requires": { + "clone-deep": "2.0.2", + "loader-utils": "1.1.0", + "lodash.tail": "4.1.1", + "neo-async": "2.5.1", + "pify": "3.0.0", + "semver": "5.5.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "dev": true, + "requires": { + "js-base64": "2.4.8", + "source-map": "0.4.4" + } + }, "semver": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", @@ -7104,33 +12841,33 @@ "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "dev": true, "requires": { - "semver": "^5.0.3" + "semver": "5.5.0" } }, "send": { "version": "0.16.2", "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", - "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", "fresh": "0.5.2", - "http-errors": "~1.6.2", + "http-errors": "1.6.3", "mime": "1.4.1", "ms": "2.0.0", - "on-finished": "~2.3.0", - "range-parser": "~1.2.0", - "statuses": "~1.4.0" + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { "ms": "2.0.0" } @@ -7138,7 +12875,7 @@ "statuses": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", - "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" } } }, @@ -7152,67 +12889,63 @@ "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-4.38.0.tgz", "integrity": "sha512-ZCcV2HuzU+03xunWgVeyXnPa/RYY5D2U/WUNpq+xF8VmDTLnSDsHl+pEwmiWrpZD7KdBqDczCeTgjToYyVzYQg==", "requires": { - "bluebird": "^3.5.0", - "cls-bluebird": "^2.1.0", - "debug": "^3.1.0", - "depd": "^1.1.0", - "dottie": "^2.0.0", - "generic-pool": "^3.4.0", + "bluebird": "3.5.1", + "cls-bluebird": "2.1.0", + "debug": "3.1.0", + "depd": "1.1.2", + "dottie": "2.0.0", + "generic-pool": "3.4.2", "inflection": "1.12.0", - "lodash": "^4.17.1", - "moment": "^2.20.0", - "moment-timezone": "^0.5.14", - "retry-as-promised": "^2.3.2", - "semver": "^5.5.0", - "terraformer-wkt-parser": "^1.1.2", - "toposort-class": "^1.0.1", - "uuid": "^3.2.1", - "validator": "^10.4.0", - "wkx": "^0.4.1" + "lodash": "4.17.10", + "moment": "2.22.2", + "moment-timezone": "0.5.21", + "retry-as-promised": "2.3.2", + "semver": "5.5.0", + "terraformer-wkt-parser": "1.2.0", + "toposort-class": "1.0.1", + "uuid": "3.3.2", + "validator": "10.5.0", + "wkx": "0.4.5" } }, "sequelize-cli": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-4.0.0.tgz", "integrity": "sha1-TWQd+1iwNwq0QPc34bC/c38V7KU=", - "dev": true, "requires": { - "bluebird": "^3.5.1", - "cli-color": "^1.2.0", - "fs-extra": "^5.0.0", - "js-beautify": "^1.7.4", - "lodash": "^4.17.5", - "resolve": "^1.5.0", - "umzug": "^2.1.0", - "yargs": "^8.0.2" + "bluebird": "3.5.1", + "cli-color": "1.2.0", + "fs-extra": "5.0.0", + "js-beautify": "1.7.5", + "lodash": "4.17.10", + "resolve": "1.7.1", + "umzug": "2.1.0", + "yargs": "8.0.2" }, "dependencies": { "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "cliui": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", - "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" }, "dependencies": { "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -7221,39 +12954,28 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { - "number-is-nan": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "number-is-nan": "1.0.1" } }, "yargs": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", - "dev": true, "requires": { - "camelcase": "^4.1.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^2.0.0", - "read-pkg-up": "^2.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^7.0.0" + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.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": "7.0.0" } } } @@ -7261,45 +12983,41 @@ "serve-static": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", - "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", "send": "0.16.2" } }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" }, "set-value": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "dev": true, + "integrity": "sha1-ca5KiPD+77v1LR6mBPP7MV67YnQ=", "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } } } @@ -7312,27 +13030,53 @@ "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.1" + } + }, + "shallow-clone": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-1.0.0.tgz", + "integrity": "sha512-oeXreoKR/SyNJtRJMAKPDSvd28OqEwG4eR/xc856cRGBII7gX9lvAqDxusPm0846z/w/hWYjI1NpKwJ00NHzRA==", + "dev": true, + "requires": { + "is-extendable": "0.1.1", + "kind-of": "5.1.0", + "mixin-object": "2.0.1" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } }, "shallowequal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.0.2.tgz", - "integrity": "sha512-zlVXeVUKvo+HEv1e2KQF/csyeMKx2oHvatQ9l6XjCUj3agvC8XGf6R9HvIPDSmp8FNPvx7b5kaEJTRi7CqxtEw==" + "integrity": "sha1-FWHb3vuMAUCBADGQhXZNo/z4P48=" }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, "requires": { - "shebang-regex": "^1.0.0" + "shebang-regex": "1.0.0" } }, "shebang-regex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "shimmer": { "version": "1.2.0", @@ -7342,14 +13086,27 @@ "sigmund": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "dev": true + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "0.3.2" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + } + } }, "slash": { "version": "1.0.0", @@ -7360,33 +13117,31 @@ "slice-ansi": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "integrity": "sha1-BE8aSdiEL/MHqta1Be0Xi9lQE00=", "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0" + "is-fullwidth-code-point": "2.0.0" } }, "snapdragon": { "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, + "resolved": "http://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.1", + "use": "3.1.0" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "requires": { "ms": "2.0.0" } @@ -7395,20 +13150,140 @@ "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "requires": { + "kind-of": "3.2.2" + } + }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "requires": { + "hoek": "4.2.1" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-list-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", + "integrity": "sha512-I2UmuJSRr/T8jisiROLU3A3ltr+swpniSmNPI4Ml3ZCX6tVnDsuZzK7F2hl5jTqbZBWCEKlj5HRQiPExXLgE8A==" + }, + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": "1.0.1" + } + }, + "source-map-resolve": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.1.tgz", + "integrity": "sha1-etD1k/IoFZjoVN+A8ZquS5LXoRo=", + "requires": { + "atob": "2.1.0", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + }, + "dependencies": { "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", @@ -7417,144 +13292,38 @@ } } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - } - }, - "sntp": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", - "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", - "requires": { - "hoek": "4.x.x" - } - }, - "source-map": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz", - "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", - "requires": { - "amdefine": ">=0.0.4" - } - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "dev": true, - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spdx-correct": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", "integrity": "sha1-BaW01xU6GVvJLDxCW2nzsqlSTII=", - "dev": true, "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.0" } }, "spdx-exceptions": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", - "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=", - "dev": true + "integrity": "sha1-LHrmEFbHFKW5ubKyr30xHvXHj+k=" }, "spdx-expression-parse": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", - "dev": true, "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "spdx-exceptions": "2.1.0", + "spdx-license-ids": "3.0.0" } }, "spdx-license-ids": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz", - "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=", - "dev": true + "integrity": "sha1-enzShHDMbToc/m1miG9rxDDTrIc=" }, "split": { "version": "0.3.3", @@ -7562,16 +13331,15 @@ "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", "dev": true, "requires": { - "through": "2" + "through": "2.3.8" } }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "dev": true, + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", "requires": { - "extend-shallow": "^3.0.0" + "extend-shallow": "3.0.2" } }, "sprintf-js": { @@ -7590,15 +13358,15 @@ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" + "asn1": "0.2.4", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.2", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.2", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "safer-buffer": "2.1.2", + "tweetnacl": "0.14.5" } }, "stack-trace": { @@ -7610,45 +13378,93 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" + "define-property": "0.2.5", + "object-copy": "0.1.0" }, "dependencies": { "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, "requires": { - "is-descriptor": "^0.1.0" + "is-descriptor": "0.1.6" } } } }, "statuses": { "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "resolved": "http://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" }, + "stdout-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.0.tgz", + "integrity": "sha1-osfIWH5U2UJ+qe2zrD8s1SLfN4s=", + "dev": true, + "requires": { + "readable-stream": "2.3.6" + } + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, "stream-combiner": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", "dev": true, "requires": { - "duplexer": "~0.1.1" + "duplexer": "0.1.1" } }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "3.0.0" + } + } } }, "string_decoder": { @@ -7656,43 +13472,35 @@ "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", "requires": { - "safe-buffer": "~5.1.0" + "safe-buffer": "5.1.1" } }, "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { - "ansi-regex": "^3.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - } + "ansi-regex": "2.1.1" } }, "strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-indent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", - "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", - "dev": true + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } }, "strip-json-comments": { "version": "2.0.1", @@ -7700,31 +13508,130 @@ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", "dev": true }, + "style-loader": { + "version": "0.21.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.21.0.tgz", + "integrity": "sha512-T+UNsAcl3Yg+BsPKs1vd22Fr8sVT+CJMtzqc6LEw9bbJZb43lm9GoeIfUcDEefBSWC0BhYbcdupV1GtI4DGzxg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.5" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.5.2", + "ajv-keywords": "3.1.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + } + } + }, "superagent": { "version": "3.8.3", "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.8.3.tgz", "integrity": "sha512-GLQtLMCoEIK4eDv6OGtkOoSMt3D+oq0y3dsxMuYuDvaNUvuT8eFBuLmfR0iYYzHC1e8hpzC6ZsxbuP6DIalMFA==", "dev": true, "requires": { - "component-emitter": "^1.2.0", - "cookiejar": "^2.1.0", - "debug": "^3.1.0", - "extend": "^3.0.0", - "form-data": "^2.3.1", - "formidable": "^1.2.0", - "methods": "^1.1.1", - "mime": "^1.4.1", - "qs": "^6.5.1", - "readable-stream": "^2.3.5" + "component-emitter": "1.2.1", + "cookiejar": "2.1.2", + "debug": "3.1.0", + "extend": "3.0.1", + "form-data": "2.3.2", + "formidable": "1.2.1", + "methods": "1.1.2", + "mime": "1.4.1", + "qs": "6.5.1", + "readable-stream": "2.3.6" } }, "supports-color": { "version": "5.4.0", "resolved": "http://registry.npmjs.org/supports-color/-/supports-color-5.4.0.tgz", "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "requires": { + "has-flag": "3.0.0" + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", "dev": true, "requires": { - "has-flag": "^3.0.0" + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + }, + "dependencies": { + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + } + } } }, "symbol-observable": { @@ -7738,12 +13645,36 @@ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", "dev": true, "requires": { - "ajv": "^5.2.3", - "ajv-keywords": "^2.1.0", - "chalk": "^2.1.0", - "lodash": "^4.17.4", + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.4.0", + "lodash": "4.17.10", "slice-ansi": "1.0.0", - "string-width": "^2.1.1" + "string-width": "2.1.1" + }, + "dependencies": { + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + } + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=" + }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" } }, "term-size": { @@ -7752,7 +13683,7 @@ "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "dev": true, "requires": { - "execa": "^0.7.0" + "execa": "0.7.0" } }, "terraformer": { @@ -7760,7 +13691,7 @@ "resolved": "https://registry.npmjs.org/terraformer/-/terraformer-1.0.9.tgz", "integrity": "sha512-YlmQ1fsMWTkKGDGibCRWgmLzrpDRUr63Q025LJ/taYQ6j1Yb8q9McKF7NBi6ACAyUXO6F/bl9w6v4MY307y5Ag==", "requires": { - "@types/geojson": "^1.0.0" + "@types/geojson": "1.0.6" } }, "terraformer-wkt-parser": { @@ -7768,14 +13699,14 @@ "resolved": "https://registry.npmjs.org/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.0.tgz", "integrity": "sha512-QU3iA54St5lF8Za1jg1oj4NYc8sn5tCZ08aNSWDeGzrsaV48eZk1iAVWasxhNspYBoCqdHuoot1pUTUrE1AJ4w==", "requires": { - "@types/geojson": "^1.0.0", - "terraformer": "~1.0.5" + "@types/geojson": "1.0.6", + "terraformer": "1.0.9" } }, "text-hex": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-0.0.0.tgz", - "integrity": "sha1-V4+8haapJjbkLdF7QdAhjM6esrM=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==" }, "text-table": { "version": "0.2.0", @@ -7783,11 +13714,26 @@ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, + "thenify": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz", + "integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=", + "requires": { + "any-promise": "1.3.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "requires": { + "thenify": "3.3.0" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "timed-out": { "version": "4.0.1", @@ -7795,28 +13741,39 @@ "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=", "dev": true }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "requires": { + "setimmediate": "1.0.5" + } + }, "timers-ext": { "version": "0.1.5", - "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz", - "integrity": "sha512-tsEStd7kmACHENhsUPaxb8Jf8/+GZZxyNFQbZD07HQOyooOa6At1rQqjffgvg7n+dxscQa9cjjMdWhJtsP2sxg==", - "dev": true, + "resolved": "http://registry.npmjs.org/timers-ext/-/timers-ext-0.1.5.tgz", + "integrity": "sha1-dxR91OdrZgwqu4eF25ZXTLvRKSI=", "requires": { - "es5-ext": "~0.10.14", - "next-tick": "1" + "es5-ext": "0.10.45", + "next-tick": "1.0.0" } }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", "requires": { - "os-tmpdir": "~1.0.2" + "os-tmpdir": "1.0.2" } }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, "to-fast-properties": { "version": "2.0.0", - "resolved": "http://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, @@ -7824,40 +13781,36 @@ "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } }, "to-regex": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "dev": true, + "resolved": "http://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" } }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "3.0.0", + "repeat-string": "1.6.1" }, "dependencies": { "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, "requires": { - "kind-of": "^3.0.2" + "kind-of": "3.2.2" } } } @@ -7870,10 +13823,21 @@ "touch": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz", - "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==", + "integrity": "sha1-/jZfX3XsntTlaCXgu3bSSrdK+Ds=", "dev": true, "requires": { - "nopt": "~1.0.10" + "nopt": "1.0.10" + }, + "dependencies": { + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "dev": true, + "requires": { + "abbrev": "1.1.1" + } + } } }, "tough-cookie": { @@ -7881,9 +13845,21 @@ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", "requires": { - "punycode": "^1.4.1" + "punycode": "1.4.1" } }, + "tree-kill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -7895,12 +13871,41 @@ "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.3.0.tgz", "integrity": "sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==" }, + "true-case-path": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.2.tgz", + "integrity": "sha1-fskRMJJHZsf1c74wIMNPj9/QDWI=", + "dev": true, + "requires": { + "glob": "6.0.4" + }, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true, + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + } + } + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { - "safe-buffer": "^5.0.1" + "safe-buffer": "5.1.1" } }, "tweetnacl": { @@ -7915,7 +13920,7 @@ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", "dev": true, "requires": { - "prelude-ls": "~1.1.2" + "prelude-ls": "1.1.2" } }, "type-detect": { @@ -7927,10 +13932,10 @@ "type-is": { "version": "1.6.16", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", - "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "integrity": "sha1-+JzjQVQcZysl7nrjxz3uOyvlAZQ=", "requires": { "media-typer": "0.3.0", - "mime-types": "~2.1.18" + "mime-types": "2.1.18" } }, "typedarray": { @@ -7948,18 +13953,16 @@ "version": "2.8.29", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", - "optional": true, "requires": { - "source-map": "~0.5.1", - "uglify-to-browserify": "~1.0.0", - "yargs": "~3.10.0" + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" }, "dependencies": { "source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "optional": true + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, @@ -7969,16 +13972,32 @@ "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", "optional": true }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, "umzug": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.1.0.tgz", - "integrity": "sha512-BgT+ekpItEWaG+3JjLLj6yVTxw2wIH8Cr6JyKYIzukWAx9nzGhC6BGHb/IRMjpobMM1qtIrReATwLUjKpU2iOQ==", - "dev": true, + "integrity": "sha1-xJ3XHHwm0IKpydNZLcbcks+Gd2E=", "requires": { - "babel-runtime": "^6.23.0", - "bluebird": "^3.4.1", - "lodash": "^4.17.0", - "resolve": "^1.0.0" + "babel-runtime": "6.26.0", + "bluebird": "3.5.1", + "lodash": "4.17.10", + "resolve": "1.7.1" } }, "undefsafe": { @@ -7987,13 +14006,13 @@ "integrity": "sha1-Il9rngM3Zj4Njnz9aG/Cg2zKznY=", "dev": true, "requires": { - "debug": "^2.2.0" + "debug": "2.6.9" }, "dependencies": { "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", "dev": true, "requires": { "ms": "2.0.0" @@ -8013,8 +14032,8 @@ "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", "dev": true, "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "unicode-canonical-property-names-ecmascript": "1.0.4", + "unicode-property-aliases-ecmascript": "1.0.4" } }, "unicode-match-property-value-ecmascript": { @@ -8033,44 +14052,53 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "dev": true, "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" }, "dependencies": { "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, "requires": { - "is-extendable": "^0.1.0" + "is-extendable": "0.1.1" } }, "set-value": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "dev": true, "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" } } } }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, "unique-string": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz", "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "dev": true, "requires": { - "crypto-random-string": "^1.0.0" + "crypto-random-string": "1.0.0" } }, "universal-analytics": { @@ -8078,16 +14106,45 @@ "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.17.tgz", "integrity": "sha512-N2JFymxv4q2N5Wmftc5JCcM5t1tp+sc1kqeDRhDL4XLY5X6PBZ0kav2wvVUZJJMvmSq3WXrmzDu062p+cSFYfQ==", "requires": { - "debug": "^3.0.0", + "debug": "3.1.0", "request": "2.86.0", - "uuid": "^3.0.0" + "uuid": "3.3.2" + }, + "dependencies": { + "request": { + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.86.0.tgz", + "integrity": "sha512-BQZih67o9r+Ys94tcIW4S7Uu8pthjrQVxhsZ/weOwHbDfACxvIyvnAbzFQxjy1jMtvFSzv5zf4my6cZsJBbVzw==", + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.8.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.1", + "safe-buffer": "5.1.1", + "tough-cookie": "2.3.4", + "tunnel-agent": "0.6.0", + "uuid": "3.3.2" + } + } } }, "universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" }, "unpipe": { "version": "1.0.0", @@ -8098,28 +14155,25 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" + "has-value": "0.3.1", + "isobject": "3.0.1" }, "dependencies": { "has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" }, "dependencies": { "isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, "requires": { "isarray": "1.0.0" } @@ -8129,14 +14183,12 @@ "has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" }, "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" } } }, @@ -8158,23 +14210,106 @@ "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "dev": true, "requires": { - "boxen": "^1.2.1", - "chalk": "^2.0.1", - "configstore": "^3.0.0", - "import-lazy": "^2.1.0", - "is-ci": "^1.0.10", - "is-installed-globally": "^0.1.0", - "is-npm": "^1.0.0", - "latest-version": "^3.0.0", - "semver-diff": "^2.0.0", - "xdg-basedir": "^3.0.0" + "boxen": "1.3.0", + "chalk": "2.4.0", + "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" } }, "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.0.1.tgz", + "integrity": "sha512-rAonpHy7231fmweBKUFe0bYnlGDty77E+fm53NZdij7j/YOpyGzc7ttqG1nAXl3aRs0k41o0PC3TvGXQiw2Zvw==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "2.3.1", + "schema-utils": "0.4.5" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "schema-utils": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.5.tgz", + "integrity": "sha512-yYrjb9TX2k/J1Y5UNy3KYdZq10xhYcF8nMpAW6o3hy6Q8WSIEf9lJHG/ePnOBfziPM3fvQwfOwa13U/Fh8qTfA==", + "dev": true, + "requires": { + "ajv": "6.5.2", + "ajv-keywords": "3.1.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + } + } }, "url-parse-lax": { "version": "1.0.0", @@ -8182,26 +14317,32 @@ "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "dev": true, "requires": { - "prepend-http": "^1.0.1" + "prepend-http": "1.0.4" } }, "use": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz", - "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==", - "dev": true, + "resolved": "http://registry.npmjs.org/use/-/use-3.1.0.tgz", + "integrity": "sha1-FHFr8D/f79AwQK71jYtLhfOnxUQ=", "requires": { - "kind-of": "^6.0.2" + "kind-of": "6.0.2" }, "dependencies": { "kind-of": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", - "dev": true + "integrity": "sha1-ARRrNqYhjmTljzqNZt5df8b20FE=" } } }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -8213,24 +14354,23 @@ "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "uuid": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", - "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" }, "validate-npm-package-license": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.3.tgz", "integrity": "sha1-gWQ7y+8b3+zUYjeT3EZIlIupgzg=", - "dev": true, "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "spdx-correct": "3.0.0", + "spdx-expression-parse": "3.0.0" } }, "validator": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-10.4.0.tgz", - "integrity": "sha512-Q/wBy3LB1uOyssgNlXSRmaf22NxjvDNZM2MtIQ4jaEOAB61xsh1TQxsq1CgzUMBV1lDrVMogIh8GjG1DYW0zLg==" + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.5.0.tgz", + "integrity": "sha512-6OOi+eV2mOxCFLq0f2cJDrdB6lrtLXEUxabhNRGjgOLT/l3SSll9J49Cl+LIloUqkWWTPraK/mucEQ3dc2jStQ==" }, "value-equal": { "version": "0.4.0", @@ -8242,14 +14382,28 @@ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, "verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { - "assert-plus": "^1.0.0", + "assert-plus": "1.0.0", "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" + "extsprintf": "1.3.0" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "requires": { + "indexof": "0.0.1" } }, "warning": { @@ -8257,7 +14411,516 @@ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.1.tgz", "integrity": "sha512-rAVtTNZw+cQPjvGp1ox0XC5Q2IBFyqoqh+QII4J/oguyu83Bax1apbo2eqB8bHRS+fqYUBagys6lqUoVwKSmXQ==", "requires": { - "loose-envify": "^1.0.0" + "loose-envify": "1.3.1" + } + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "requires": { + "chokidar": "2.0.4", + "graceful-fs": "4.1.11", + "neo-async": "2.5.1" + }, + "dependencies": { + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.2", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "fsevents": "1.2.4", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.1.0", + "upath": "1.1.0" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + } + }, + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "3.2.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.9", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==" + } + } + }, + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", + "requires": { + "acorn": "5.5.3", + "acorn-dynamic-import": "2.0.2", + "ajv": "6.5.2", + "ajv-keywords": "3.1.0", + "async": "2.6.1", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.0", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.1.0", + "yargs": "8.0.2" + }, + "dependencies": { + "ajv": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.2.tgz", + "integrity": "sha512-hOs7GfvI6tUI1LfZddH82ky6mOMyTuY0mk7kE2pWpmhhUSkumzaTO5vbVwij39MdwPQWCV4Zv57Eo06NtL/GVA==", + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "requires": { + "lodash": "4.17.10" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "1.0.1" + } + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "2.0.0" + } + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "requires": { + "punycode": "2.1.1" + } + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.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": "7.0.0" + } + } + } + }, + "webpack-merge": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", + "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "requires": { + "lodash": "4.17.10" + } + }, + "webpack-node-externals": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz", + "integrity": "sha512-ajerHZ+BJKeCLviLUUmnyd5B4RavLF76uv3cs6KNuO8W+HuQaEs0y0L7o40NQxdPy5w0pcv8Ew7yPUAQG0UdCg==" + }, + "webpack-sources": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", + "requires": { + "source-list-map": "2.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } } }, "whatwg-fetch": { @@ -8265,20 +14928,33 @@ "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", "integrity": "sha1-3eal3zFfnTmZGqF2IYU9cguFVm8=" }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, "which": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", "integrity": "sha1-/wS9/AEO5UfXgL7DjhrBwnd9JTo=", - "dev": true, "requires": { - "isexe": "^2.0.0" + "isexe": "2.0.0" } }, "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "dev": true, + "requires": { + "string-width": "2.1.1" + } }, "widest-line": { "version": "2.0.0", @@ -8286,62 +14962,28 @@ "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "^2.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "string-width": "2.1.1" } }, "window-size": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "optional": true + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" }, "winston": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/winston/-/winston-3.0.0.tgz", "integrity": "sha512-7QyfOo1PM5zGL6qma6NIeQQMh71FBg/8fhkSAePqtf5YEi6t+UrPDcUuHhuuUasgso49ccvMEsmqr0GBG2qaMQ==", "requires": { - "async": "^2.6.0", - "diagnostics": "^1.0.1", - "is-stream": "^1.1.0", - "logform": "^1.9.0", + "async": "2.6.1", + "diagnostics": "1.1.1", + "is-stream": "1.1.0", + "logform": "1.9.1", "one-time": "0.0.4", - "readable-stream": "^2.3.6", - "stack-trace": "0.0.x", - "triple-beam": "^1.3.0", - "winston-transport": "^4.2.0" + "readable-stream": "2.3.6", + "stack-trace": "0.0.10", + "triple-beam": "1.3.0", + "winston-transport": "4.2.0" }, "dependencies": { "async": { @@ -8349,22 +14991,21 @@ "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", "requires": { - "lodash": "^4.17.10" + "lodash": "4.17.10" } } } }, "winston-slack-webhook": { - "version": "github:billbitt/winston-slack-webhook#ce99792bdf6473a9da69c91772eb4ecec4979b6c", - "from": "github:billbitt/winston-slack-webhook" + "version": "github:billbitt/winston-slack-webhook#ce99792bdf6473a9da69c91772eb4ecec4979b6c" }, "winston-transport": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.2.0.tgz", "integrity": "sha512-0R1bvFqxSlK/ZKTH86nymOuKv/cT1PQBMuDdA7k7f0S9fM44dNH6bXnuxwXPrN8lefJgtZq08BKdyZ0DZIy/rg==", "requires": { - "readable-stream": "^2.3.6", - "triple-beam": "^1.2.0" + "readable-stream": "2.3.6", + "triple-beam": "1.3.0" } }, "wkx": { @@ -8372,7 +15013,7 @@ "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.4.5.tgz", "integrity": "sha512-01dloEcJZAJabLO5XdcRgqdKpmnxS0zIT02LhkdWOZX2Zs2tPM6hlZ4XG9tWaWur1Qd1OO4kJxUbe2+5BofvnA==", "requires": { - "@types/node": "*" + "@types/node": "10.5.7" } }, "wordwrap": { @@ -8384,39 +15025,27 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "string-width": "1.0.2", + "strip-ansi": "3.0.1" }, "dependencies": { "is-fullwidth-code-point": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, "requires": { - "number-is-nan": "^1.0.0" + "number-is-nan": "1.0.1" } }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" } } } @@ -8432,18 +15061,18 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true, "requires": { - "mkdirp": "^0.5.1" + "mkdirp": "0.5.1" } }, "write-file-atomic": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz", - "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==", + "integrity": "sha1-H/YVdcLipOjlENb6TiQ8zhg5mas=", "dev": true, "requires": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "graceful-fs": "4.1.11", + "imurmurhash": "0.1.4", + "signal-exit": "3.0.2" } }, "x-xss-protection": { @@ -8457,11 +15086,15 @@ "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=", "dev": true }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, "y18n": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", - "dev": true + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" }, "yallist": { "version": "2.1.2", @@ -8472,11 +15105,10 @@ "version": "3.10.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", - "optional": true, "requires": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", "window-size": "0.1.0" } }, @@ -8484,16 +15116,14 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", - "dev": true, "requires": { - "camelcase": "^4.1.0" + "camelcase": "4.1.0" }, "dependencies": { "camelcase": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" } } } diff --git a/package.json b/package.json index 1a92b8e8..af1457c7 100644 --- a/package.json +++ b/package.json @@ -4,15 +4,28 @@ "description": "an npm package that exports a customizeable spee.ch server", "main": "index.js", "scripts": { + "build": "builder run bundle", + "prebundle": "npm run transpile", + "bundle": "webpack --config webpack.config.js", + "bundle:dev": "webpack --config webpack.config.js --watch", + "configure": "node cli/configure.js", + "fix": "eslint . --fix", + "lint": "eslint .", + "precommit": "eslint .", + "prestart": "builder run bundle", + "start": "node server.js", + "start:build": "builder run start", "test": "mocha --recursive", "test:no-lbc": "npm test -- --grep @usesLbc --invert", - "lint": "eslint .", - "fix": "eslint . --fix", - "precommit": "eslint .", - "build:server": "babel server/render/src -d server/render/build", - "build:server:watch": "babel server/render/src -w -d server/render/build", - "build:client": "babel client/src -d client/build", - "build:client:watch": "babel client/src -w -d client/build" + "test:server": "mocha --recursive './server/**/*.test.js'", + "transpile": "builder concurrent transpile:server transpile:client transpile:client_custom", + "transpile:dev": "builder concurrent transpile:server:dev transpile:client:dev transpile:client_custom:dev", + "transpile:server": "babel server/render/src -d server/render/build", + "transpile:server:dev": "babel server/render/src -w -d server/render/build", + "transpile:client": "babel client/src -d client/build", + "transpile:client:dev": "babel client/src -w -d client/build", + "transpile:client_custom": "babel client_custom/src -d client_custom/build", + "transpile:client_custom:dev": "babel client_custom/src -w -d client_custom/build" }, "repository": { "type": "git", @@ -32,27 +45,37 @@ "dependencies": { "axios": "^0.18.0", "bcrypt": "^2.0.1", - "body-parser": "^1.17.1", - "connect-multiparty": "^2.0.0", + "body-parser": "^1.18.3", + "connect-multiparty": "^2.1.1", "cookie-session": "^2.0.0-beta.3", "express": "^4.15.2", "express-handlebars": "^3.0.0", - "helmet": "^3.8.1", - "module-alias": "^2.0.6", - "mysql2": "^1.3.5", + "get-video-dimensions": "^1.0.0", + "helmet": "^3.13.0", + "image-size": "^0.6.3", + "inquirer": "^5.2.0", + "make-dir": "^1.3.0", + "module-alias": "^2.1.0", + "mysql2": "^1.6.1", + "npm": "^6.3.0", "passport": "^0.4.0", "passport-local": "^1.0.0", - "prop-types": "^15.6.0", - "react": "^16.2.0", - "react-dom": "^16.2.0", - "react-ga": "^2.4.1", + "prop-types": "^15.6.2", + "react": "^16.4.2", + "react-dom": "^16.4.2", + "react-ga": "^2.5.3", "react-helmet": "^5.2.0", "react-redux": "^5.0.6", - "react-router-dom": "^4.2.2", + "react-router-dom": "^4.3.1", "redux": "^4.0.0", "redux-saga": "^0.16.0", - "sequelize": "^4.1.0", - "universal-analytics": "^0.4.13", + "sequelize": "^4.38.0", + "sequelize-cli": "^4.0.0", + "universal-analytics": "^0.4.17", + "webpack": "^3.10.0", + "webpack-merge": "^4.1.4", + "webpack-node-externals": "^1.7.2", + "whatwg-fetch": "^2.0.4", "winston": "^3.0.0", "winston-slack-webhook": "github:billbitt/winston-slack-webhook" }, @@ -62,9 +85,19 @@ "@babel/plugin-proposal-object-rest-spread": "^7.0.0-beta.51", "@babel/preset-env": "^7.0.0-beta.51", "@babel/preset-react": "^7.0.0-beta.51", + "babel-loader": "^7.1.2", + "babel-plugin-module-resolver": "^3.1.1", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-polyfill": "^6.26.0", + "babel-preset-es2015": "^6.24.1", + "babel-preset-react": "^6.24.1", + "babel-preset-stage-2": "^6.24.1", + "babel-register": "^6.26.0", + "builder": "^4.0.0", "chai": "^4.1.2", "chai-http": "^4.0.0", - "cross-fetch": "^2.2.1", + "cross-fetch": "^2.2.2", + "css-loader": "^0.28.11", "eslint": "4.19.1", "eslint-config-standard": "^11.0.0", "eslint-config-standard-jsx": "^5.0.0", @@ -73,11 +106,17 @@ "eslint-plugin-promise": "^3.8.0", "eslint-plugin-react": "^7.9.1", "eslint-plugin-standard": "^3.0.1", + "extract-text-webpack-plugin": "^3.0.2", + "file-loader": "^1.1.11", "husky": "^0.14.3", "mocha": "^5.2.0", + "node-sass": "^4.9.3", "nodemon": "^1.17.5", "redux-devtools": "^3.4.1", "regenerator-transform": "^0.13.0", - "sequelize-cli": "^4.0.0" + "sass-loader": "^7.1.0", + "sequelize-cli": "^4.0.0", + "style-loader": "^0.21.0", + "url-loader": "^1.0.1" } } diff --git a/public/assets/img/Speech_Logo_Main@OG-02.jpg b/public/assets/img/Speech_Logo_Main@OG-02.jpg new file mode 100644 index 00000000..49eb43d8 Binary files /dev/null and b/public/assets/img/Speech_Logo_Main@OG-02.jpg differ diff --git a/public/assets/img/black_video_play.jpg b/public/assets/img/black_video_play.jpg new file mode 100644 index 00000000..17cfdd8a Binary files /dev/null and b/public/assets/img/black_video_play.jpg differ diff --git a/public/assets/img/upload_arrow.png b/public/assets/img/upload_arrow.png new file mode 100644 index 00000000..4036932f Binary files /dev/null and b/public/assets/img/upload_arrow.png differ diff --git a/public/assets/img/video_thumb_default.png b/public/assets/img/video_thumb_default.png new file mode 100644 index 00000000..318746da Binary files /dev/null and b/public/assets/img/video_thumb_default.png differ diff --git a/public/bundle/.gitkeep b/public/bundle/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 00000000..315a811f Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 00000000..e69de29b diff --git a/server.js b/server.js new file mode 100644 index 00000000..f729ff5f --- /dev/null +++ b/server.js @@ -0,0 +1,30 @@ +// module imports +const moduleAlias = require('module-alias'); +require('babel-polyfill'); + +// local imports +const createModuleAliases = require('./utils/createModuleAliases.js'); +const checkForLocalConfig = require('./utils/checkForLocalConfig.js'); + +const customAliases = createModuleAliases(); +moduleAlias.addAliases(customAliases); + +try { + checkForLocalConfig('lbryConfig'); + checkForLocalConfig('loggerConfig'); + checkForLocalConfig('slackConfig'); + checkForLocalConfig('mysqlConfig'); + checkForLocalConfig('siteConfig'); +} catch (error) { + console.log(error); + process.exit(1); +} + +try { + const Server = require('./server/index.js'); + const speech = new Server(); + speech.start(); +} catch (error) { + console.log('server startup error:', error); + process.exit(1); +} diff --git a/server/controllers/api/channel/availability/index.js b/server/controllers/api/channel/availability/index.js index dace8e01..5e3d0995 100644 --- a/server/controllers/api/channel/availability/index.js +++ b/server/controllers/api/channel/availability/index.js @@ -9,7 +9,7 @@ const { handleErrorResponse } = require('../../../utils/errorHandlers.js'); */ function addAtSymbolIfNecessary (name) { - if (name.substring(0,1) !== '@') { + if (name.substring(0, 1) !== '@') { return `@${name}`; } return name; @@ -22,12 +22,12 @@ const channelAvailability = ({ ip, originalUrl, params: { name } }, res) => { .then(isAvailable => { let responseObject = { success: true, - data: isAvailable, + data : isAvailable, }; if (isAvailable) { - responseObject['message'] = `${name} is available` + responseObject['message'] = `${name} is available`; } else { - responseObject['message'] = `${name} is already in use` + responseObject['message'] = `${name} is already in use`; } res.status(200).json(responseObject); sendGATimingEvent('end-to-end', 'channel name availability', name, gaStartTime, Date.now()); diff --git a/server/controllers/api/channel/claims/index.js b/server/controllers/api/channel/claims/index.js index 9d97805f..473394b2 100644 --- a/server/controllers/api/channel/claims/index.js +++ b/server/controllers/api/channel/claims/index.js @@ -1,6 +1,5 @@ const { handleErrorResponse } = require('../../../utils/errorHandlers.js'); const getChannelClaims = require('./getChannelClaims.js'); -const logger = require('winston'); const NO_CHANNEL = 'NO_CHANNEL'; diff --git a/server/controllers/api/channel/data/index.js b/server/controllers/api/channel/data/index.js index 730549e5..610f1cb5 100644 --- a/server/controllers/api/channel/data/index.js +++ b/server/controllers/api/channel/data/index.js @@ -18,7 +18,7 @@ const channelData = ({ ip, originalUrl, body, params }, res) => { .then(data => { res.status(200).json({ success: true, - data + data, }); }) .catch(error => { diff --git a/server/controllers/api/claim/availability/index.js b/server/controllers/api/claim/availability/index.js index da982e8f..d73e68e6 100644 --- a/server/controllers/api/claim/availability/index.js +++ b/server/controllers/api/claim/availability/index.js @@ -14,12 +14,12 @@ const claimAvailability = ({ ip, originalUrl, params: { name } }, res) => { .then(isAvailable => { let responseObject = { success: true, - data: isAvailable, + data : isAvailable, }; if (isAvailable) { - responseObject['message'] = `That claim name is available` + responseObject['message'] = `That claim name is available`; } else { - responseObject['message'] = `That url is already in use` + responseObject['message'] = `That url is already in use`; } res.status(200).json(responseObject); sendGATimingEvent('end-to-end', 'claim name availability', name, gaStartTime, Date.now()); diff --git a/server/controllers/api/claim/data/index.js b/server/controllers/api/claim/data/index.js index 250e9849..5377f39f 100644 --- a/server/controllers/api/claim/data/index.js +++ b/server/controllers/api/claim/data/index.js @@ -16,12 +16,12 @@ const claimData = ({ ip, originalUrl, body, params }, res) => { if (!claimInfo) { return res.status(404).json({ success: false, - message: 'No claim could be found' + message: 'No claim could be found', }); } res.status(200).json({ success: true, - data: claimInfo + data : claimInfo, }); }) .catch(error => { diff --git a/server/controllers/api/claim/get/addGetResultsToFileData.js b/server/controllers/api/claim/get/addGetResultsToFileData.js deleted file mode 100644 index 3fe3cc43..00000000 --- a/server/controllers/api/claim/get/addGetResultsToFileData.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = (fileInfo, getResult) => { - fileInfo.fileName = getResult.file_name; - fileInfo.filePath = getResult.download_path; - return fileInfo; -}; diff --git a/server/controllers/api/claim/get/createFileData.js b/server/controllers/api/claim/get/createFileData.js deleted file mode 100644 index 71d295ab..00000000 --- a/server/controllers/api/claim/get/createFileData.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = ({ name, claimId, outpoint, height, address, nsfw, contentType }) => { - return { - name, - claimId, - outpoint, - height, - address, - fileName: '', - filePath: '', - fileType: contentType, - nsfw, - }; -}; diff --git a/server/controllers/api/claim/get/index.js b/server/controllers/api/claim/get/index.js index 1a8757e8..9a2109ae 100644 --- a/server/controllers/api/claim/get/index.js +++ b/server/controllers/api/claim/get/index.js @@ -1,6 +1,5 @@ const { getClaim } = require('../../../../lbrynet'); -const addGetResultsToFileData = require('./addGetResultsToFileData.js'); -const createFileData = require('./createFileData.js'); +const { createFileRecordDataAfterGet } = require('../../../../models/utils/createFileRecordData.js'); const { handleErrorResponse } = require('../../../utils/errorHandlers.js'); const db = require('../../../../models'); @@ -13,23 +12,37 @@ const db = require('../../../../models'); const claimGet = ({ ip, originalUrl, params }, res) => { const name = params.name; const claimId = params.claimId; - // resolve the claim + let resolveResult; + let getResult; + db.Claim.resolveClaim(name, claimId) - .then(resolveResult => { - // make sure a claim actually exists at that uri - if (!resolveResult) { + .then(result => { + if (!result) { throw new Error('No matching uri found in Claim table'); } - let fileData = createFileData(resolveResult); - // get the claim - return Promise.all([fileData, getClaim(`${name}#${claimId}`)]); + resolveResult = result; + return getClaim(`${name}#${claimId}`); }) - .then(([ fileData, getResult ]) => { - fileData = addGetResultsToFileData(fileData, getResult); - return Promise.all([db.upsert(db.File, fileData, {name, claimId}, 'File'), getResult]); + .then(result => { + if (!result) { + throw new Error(`Unable to Get ${name}#${claimId}`); + } + getResult = result; + if (result.completed) { + return createFileRecordDataAfterGet(resolveResult, getResult) + .then(fileData => { + const upsertCriteria = {name, claimId}; + return db.upsert(db.File, fileData, upsertCriteria, 'File'); + }); + } }) - .then(([ fileRecord, {message, completed} ]) => { - res.status(200).json({ success: true, message, completed }); + .then(() => { + const { message, completed } = getResult; + res.status(200).json({ + success: true, + message, + completed, + }); }) .catch(error => { handleErrorResponse(originalUrl, ip, error, res); diff --git a/server/controllers/api/claim/longId/getClaimId.js b/server/controllers/api/claim/longId/getClaimId.js deleted file mode 100644 index d1a3a212..00000000 --- a/server/controllers/api/claim/longId/getClaimId.js +++ /dev/null @@ -1,31 +0,0 @@ -const logger = require('winston'); - -const db = require('../../../../models'); - -const getClaimIdByChannel = (channelName, channelClaimId, claimName) => { - return new Promise((resolve, reject) => { - db.Certificate - .getLongChannelId(channelName, channelClaimId) - .then(longChannelId => { - return db.Claim.getClaimIdByLongChannelId(longChannelId, claimName); - }) - .then(longClaimId => { - resolve(longClaimId); - }) - .catch(error => { - reject(error); - }); - }); -}; - -const getClaimId = (channelName, channelClaimId, name, claimId) => { - if (channelName) { - logger.debug(`getClaimIdByChannel(${channelName}, ${channelClaimId}, ${name})`); - return getClaimIdByChannel(channelName, channelClaimId, name); - } else { - logger.debug(`db.Claim.getLongClaimId(${name}, ${claimId})`); - return db.Claim.getLongClaimId(name, claimId); - } -}; - -module.exports = getClaimId; diff --git a/server/controllers/api/claim/longId/index.js b/server/controllers/api/claim/longId/index.js index 27f66b1c..c2c91d04 100644 --- a/server/controllers/api/claim/longId/index.js +++ b/server/controllers/api/claim/longId/index.js @@ -2,7 +2,7 @@ const db = require('../../../../models'); const { handleErrorResponse } = require('../../../utils/errorHandlers.js'); -const getClaimId = require('./getClaimId.js'); +const getClaimId = require('../../../utils/getClaimId.js'); const NO_CHANNEL = 'NO_CHANNEL'; const NO_CLAIM = 'NO_CLAIM'; diff --git a/server/controllers/api/claim/publish/authentication.js b/server/controllers/api/claim/publish/authentication.js index d41902ef..38bed36e 100644 --- a/server/controllers/api/claim/publish/authentication.js +++ b/server/controllers/api/claim/publish/authentication.js @@ -47,29 +47,38 @@ const authenticateChannelCredentials = (channelName, channelId, userPassword) => }; const authenticateUser = (channelName, channelId, channelPassword, user) => { - // case: no channelName or channel Id are provided (anonymous), regardless of whether user token is provided - if (!channelName && !channelId) { - return { - channelName : null, - channelClaimId: null, - }; - } - // case: channelName or channel Id are provided with user token - if (user) { - if (channelName && channelName !== user.channelName) { - throw new Error('the provided channel name does not match user credentials'); + return new Promise((resolve, reject) => { + // case: no channelName or channel Id are provided (anonymous), regardless of whether user token is provided + if (!channelName && !channelId) { + resolve({ + channelName : null, + channelClaimId: null, + }); + return; } - if (channelId && channelId !== user.channelClaimId) { - throw new Error('the provided channel id does not match user credentials'); + // case: channelName or channel Id are provided with user token + if (user) { + if (channelName && channelName !== user.channelName) { + reject(new Error('the provided channel name does not match user credentials')); + return; + } + if (channelId && channelId !== user.channelClaimId) { + reject(new Error('the provided channel id does not match user credentials')); + return; + } + resolve({ + channelName : user.channelName, + channelClaimId: user.channelClaimId, + }); + return; } - return { - channelName : user.channelName, - channelClaimId: user.channelClaimId, - }; - } - // case: channelName or channel Id are provided with password instead of user token - if (!channelPassword) throw new Error('no channel password provided'); - return authenticateChannelCredentials(channelName, channelId, channelPassword); + // case: channelName or channel Id are provided with password instead of user token + if (!channelPassword) { + reject(new Error('no channel password provided')); + return; + } + resolve(authenticateChannelCredentials(channelName, channelId, channelPassword)); + }); }; module.exports = authenticateUser; diff --git a/server/controllers/api/claim/publish/createBasicPublishParams.js b/server/controllers/api/claim/publish/createPublishParams.js similarity index 68% rename from server/controllers/api/claim/publish/createBasicPublishParams.js rename to server/controllers/api/claim/publish/createPublishParams.js index 6ab4acd8..facdc32f 100644 --- a/server/controllers/api/claim/publish/createBasicPublishParams.js +++ b/server/controllers/api/claim/publish/createPublishParams.js @@ -1,8 +1,7 @@ const logger = require('winston'); const { details, publishing } = require('@config/siteConfig'); -const createBasicPublishParams = (filePath, name, title, description, license, nsfw, thumbnail) => { - logger.debug(`Creating Publish Parameters`); +const createPublishParams = (filePath, name, title, description, license, nsfw, thumbnail, channelName, channelClaimId) => { // provide defaults for title if (title === null || title.trim() === '') { title = name; @@ -15,7 +14,7 @@ const createBasicPublishParams = (filePath, name, title, description, license, n if (license === null || license.trim() === '') { license = ' '; // default to empty string } - // create the publish params + // create the basic publish params const publishParams = { name, file_path: filePath, @@ -34,8 +33,15 @@ const createBasicPublishParams = (filePath, name, title, description, license, n if (thumbnail) { publishParams['metadata']['thumbnail'] = thumbnail; } + // add channel details if publishing to a channel + if (channelName && channelClaimId) { + publishParams['channel_name'] = channelName; + publishParams['channel_id'] = channelClaimId; + } + // log params logger.debug('publish params:', publishParams); + // return return publishParams; }; -module.exports = createBasicPublishParams; +module.exports = createPublishParams; diff --git a/server/controllers/api/claim/publish/index.js b/server/controllers/api/claim/publish/index.js index b429e797..d636de8d 100644 --- a/server/controllers/api/claim/publish/index.js +++ b/server/controllers/api/claim/publish/index.js @@ -9,12 +9,14 @@ const { handleErrorResponse } = require('../../../utils/errorHandlers.js'); const checkClaimAvailability = require('../availability/checkClaimAvailability.js'); const publish = require('./publish.js'); -const createBasicPublishParams = require('./createBasicPublishParams.js'); +const createPublishParams = require('./createPublishParams.js'); const createThumbnailPublishParams = require('./createThumbnailPublishParams.js'); const parsePublishApiRequestBody = require('./parsePublishApiRequestBody.js'); const parsePublishApiRequestFiles = require('./parsePublishApiRequestFiles.js'); const authenticateUser = require('./authentication.js'); +const CLAIM_TAKEN = 'CLAIM_TAKEN'; + /* route to publish a claim through the daemon @@ -27,40 +29,44 @@ const claimPublish = ({ body, files, headers, ip, originalUrl, user, tor }, res) ip, headers, body, + files, }); // check for disabled publishing if (disabled) { return res.status(503).json({ success: false, - message: disabledMessage + message: disabledMessage, }); } // define variables - let channelName, channelId, channelPassword, description, fileName, filePath, fileType, gaStartTime, license, name, nsfw, thumbnail, thumbnailFileName, thumbnailFilePath, thumbnailFileType, title; + let channelName, channelId, channelPassword, description, fileName, filePath, fileExtension, fileType, gaStartTime, license, name, nsfw, thumbnail, thumbnailFileName, thumbnailFilePath, thumbnailFileType, title; // record the start time of the request gaStartTime = Date.now(); // validate the body and files of the request try { // validateApiPublishRequest(body, files); ({name, nsfw, license, title, description, thumbnail} = parsePublishApiRequestBody(body)); - ({fileName, filePath, fileType, thumbnailFileName, thumbnailFilePath, thumbnailFileType} = parsePublishApiRequestFiles(files)); + ({fileName, filePath, fileExtension, fileType, thumbnailFileName, thumbnailFilePath, thumbnailFileType} = parsePublishApiRequestFiles(files)); ({channelName, channelId, channelPassword} = body); } catch (error) { return res.status(400).json({success: false, message: error.message}); } // check channel authorization - Promise - .all([ - authenticateUser(channelName, channelId, channelPassword, user), - checkClaimAvailability(name), - createBasicPublishParams(filePath, name, title, description, license, nsfw, thumbnail), - createThumbnailPublishParams(thumbnailFilePath, name, license, nsfw), - ]) - .then(([{channelName, channelClaimId}, validatedClaimName, publishParams, thumbnailPublishParams]) => { - // add channel details to the publish params - if (channelName && channelClaimId) { - publishParams['channel_name'] = channelName; - publishParams['channel_id'] = channelClaimId; + authenticateUser(channelName, channelId, channelPassword, user) + .then(({ channelName, channelClaimId }) => { + return Promise.all([ + checkClaimAvailability(name), + createPublishParams(filePath, name, title, description, license, nsfw, thumbnail, channelName, channelClaimId), + createThumbnailPublishParams(thumbnailFilePath, name, license, nsfw), + ]); + }) + .then(([ claimAvailable, publishParams, thumbnailPublishParams ]) => { + if (!claimAvailable) { + const error = { + name : CLAIM_TAKEN, + message: 'That claim name is already taken', + }; + throw error; } // publish the thumbnail, if one exists if (thumbnailPublishParams) { @@ -75,15 +81,23 @@ const claimPublish = ({ body, files, headers, ip, originalUrl, user, tor }, res) message: 'publish completed successfully', data : { name, - claimId: result.claim_id, - url : `${host}/${result.claim_id}/${name}`, - lbryTx : result, + claimId : result.claim_id, + url : `${host}/${result.claim_id}/${name}`, // for backwards compatability with app + showUrl : `${host}/${result.claim_id}/${name}`, + serveUrl: `${host}/${result.claim_id}/${name}${fileExtension}`, + lbryTx : result, }, }); // record the publish end time and send to google analytics sendGATimingEvent('end-to-end', 'publish', fileType, gaStartTime, Date.now()); }) .catch(error => { + if (error.name === CLAIM_TAKEN) { + res.status(400).json({ + success: false, + message: error.message, + }); + } handleErrorResponse(originalUrl, ip, error, res); }); }; diff --git a/server/controllers/api/claim/publish/parsePublishApiRequestBody.test.js b/server/controllers/api/claim/publish/parsePublishApiRequestBody.test.js new file mode 100644 index 00000000..e1a43c99 --- /dev/null +++ b/server/controllers/api/claim/publish/parsePublishApiRequestBody.test.js @@ -0,0 +1,15 @@ +const chai = require('chai'); +const expect = chai.expect; + +describe('#parsePublishApiRequestBody()', function () { + const parsePublishApiRequestBody = require('./parsePublishApiRequestBody.js'); + + it('should throw an error if no body', function () { + expect(parsePublishApiRequestBody.bind(this, null)).to.throw(); + }); + + it('should throw an error if no body.name', function () { + const bodyNoName = {}; + expect(parsePublishApiRequestBody.bind(this, bodyNoName)).to.throw(); + }); +}); diff --git a/server/controllers/api/claim/publish/parsePublishApiRequestFiles.js b/server/controllers/api/claim/publish/parsePublishApiRequestFiles.js index d7b509e9..3e99ad20 100644 --- a/server/controllers/api/claim/publish/parsePublishApiRequestFiles.js +++ b/server/controllers/api/claim/publish/parsePublishApiRequestFiles.js @@ -1,3 +1,4 @@ +const path = require('path'); const validateFileTypeAndSize = require('./validateFileTypeAndSize.js'); const parsePublishApiRequestFiles = ({file, thumbnail}) => { @@ -12,9 +13,18 @@ const parsePublishApiRequestFiles = ({file, thumbnail}) => { throw new Error('no file type found'); } if (!file.size) { - throw new Error('no file type found'); + throw new Error('no file size found'); } // validate the file name + if (!file.name) { + throw new Error('no file name found'); + } + if (file.name.indexOf('.') < 0) { + throw new Error('no file extension found in file name'); + } + if (file.name.indexOf('.') === 0) { + throw new Error('file name cannot start with "."'); + } if (/'/.test(file.name)) { throw new Error('apostrophes are not allowed in the file name'); } @@ -24,6 +34,7 @@ const parsePublishApiRequestFiles = ({file, thumbnail}) => { return { fileName : file.name, filePath : file.path, + fileExtension : path.extname(file.path), fileType : file.type, thumbnailFileName: (thumbnail ? thumbnail.name : null), thumbnailFilePath: (thumbnail ? thumbnail.path : null), diff --git a/server/controllers/api/claim/publish/parsePublishApiRequestFiles.test.js b/server/controllers/api/claim/publish/parsePublishApiRequestFiles.test.js new file mode 100644 index 00000000..2eb7733d --- /dev/null +++ b/server/controllers/api/claim/publish/parsePublishApiRequestFiles.test.js @@ -0,0 +1,51 @@ +const chai = require('chai'); +const expect = chai.expect; + +describe('#parsePublishApiRequestFiles()', function () { + const parsePublishApiRequestFiles = require('./parsePublishApiRequestFiles.js'); + + it('should throw an error if no files', function () { + expect(parsePublishApiRequestFiles.bind(this, null)).to.throw(); + }); + + it('should throw an error if no files.file', function () { + const filesNoFile = {}; + expect(parsePublishApiRequestFiles.bind(this, filesNoFile)).to.throw(); + }); + + it('should throw an error if file.size is too large', function () { + const filesTooBig = { + file: { + name: 'file.jpg', + path: '/path/to/file.jpg', + type: 'image/jpg', + size: 10000001, + }, + }; + expect(parsePublishApiRequestFiles.bind(this, filesTooBig)).to.throw(); + }); + + it('should throw error if not an accepted file type', function () { + const filesWrongType = { + file: { + name: 'file.jpg', + path: '/path/to/file.jpg', + type: 'someType/ext', + size: 10000000, + }, + }; + expect(parsePublishApiRequestFiles.bind(this, filesWrongType)).to.throw(); + }); + + it('should throw NO error if no problems', function () { + const filesNoProblems = { + file: { + name: 'file.jpg', + path: '/path/to/file.jpg', + type: 'image/jpg', + size: 10000000, + }, + }; + expect(parsePublishApiRequestFiles.bind(this, filesNoProblems)).to.not.throw(); + }); +}); diff --git a/server/controllers/api/claim/publish/publish.js b/server/controllers/api/claim/publish/publish.js index b80dc0b7..5f0d01a1 100644 --- a/server/controllers/api/claim/publish/publish.js +++ b/server/controllers/api/claim/publish/publish.js @@ -1,6 +1,8 @@ const logger = require('winston'); -const db = require('../../../../models'); const { publishClaim } = require('../../../../lbrynet'); +const db = require('../../../../models'); +const { createFileRecordDataAfterPublish } = require('../../../../models/utils/createFileRecordData.js'); +const { createClaimRecordDataAfterPublish } = require('../../../../models/utils/createClaimRecordData.js'); const deleteFile = require('./deleteFile.js'); const publish = (publishParams, fileName, fileType) => { @@ -35,51 +37,34 @@ const publish = (publishParams, fileName, fileType) => { logger.debug(`certificateId: ${certificateId}`); }) .then(() => { - // create the File record - const fileRecord = { - name : publishParams.name, - claimId : publishResults.claim_id, - title : publishParams.metadata.title, - description: publishParams.metadata.description, - address : publishParams.claim_address, - outpoint : `${publishResults.txid}:${publishResults.nout}`, - height : 0, - fileName, - filePath : publishParams.file_path, - fileType, - nsfw : publishParams.metadata.nsfw, - }; - // create the Claim record - const claimRecord = { - name : publishParams.name, - claimId : publishResults.claim_id, - title : publishParams.metadata.title, - description: publishParams.metadata.description, - address : publishParams.claim_address, - thumbnail : publishParams.metadata.thumbnail, - outpoint : `${publishResults.txid}:${publishResults.nout}`, - height : 0, - contentType: fileType, - nsfw : publishParams.metadata.nsfw, - amount : publishParams.bid, - certificateId, - channelName, - }; - // upsert criteria - const upsertCriteria = { - name : publishParams.name, - claimId: publishResults.claim_id, - }; + return Promise.all([ + createFileRecordDataAfterPublish(fileName, fileType, publishParams, publishResults), + createClaimRecordDataAfterPublish(certificateId, channelName, fileName, fileType, publishParams, publishResults), + ]); + }) + .then(([fileRecord, claimRecord]) => { // upsert the records - return Promise.all([db.upsert(db.File, fileRecord, upsertCriteria, 'File'), db.upsert(db.Claim, claimRecord, upsertCriteria, 'Claim')]); + const {name, claim_id: claimId} = publishParams; + const upsertCriteria = { + name, + claimId, + }; + return Promise.all([ + db.upsert(db.File, fileRecord, upsertCriteria, 'File'), + db.upsert(db.Claim, claimRecord, upsertCriteria, 'Claim'), + ]); }) .then(([file, claim]) => { logger.debug('File and Claim records successfully created'); - return Promise.all([file.setClaim(claim), claim.setFile(file)]); + return Promise.all([ + file.setClaim(claim), + claim.setFile(file), + ]); }) .then(() => { logger.debug('File and Claim records successfully associated'); - resolve(publishResults); // resolve the promise with the result from lbryApi publishClaim; + // resolve the promise with the result from lbryApi publishClaim; + resolve(publishResults); }) .catch(error => { logger.error('PUBLISH ERROR', error); diff --git a/server/controllers/api/claim/publish/validateFileTypeAndSize.js b/server/controllers/api/claim/publish/validateFileTypeAndSize.js index ca3d4f17..7f9ddef4 100644 --- a/server/controllers/api/claim/publish/validateFileTypeAndSize.js +++ b/server/controllers/api/claim/publish/validateFileTypeAndSize.js @@ -25,7 +25,7 @@ const validateFileTypeAndSize = (file) => { break; default: logger.debug('publish > file validation > unrecognized file type'); - throw new Error('The ' + file.type + ' content type is not supported. Only, .jpeg, .png, .gif, and .mp4 files are currently supported.'); + throw new Error('The ' + file.type + ' content type is not supported. Only, image/jpg, image/png, image/gif, and video/mp4 content types are currently supported.'); } return file; }; diff --git a/server/controllers/api/config/site/publishing/index.js b/server/controllers/api/config/site/publishing/index.js index 08e60bf3..31c73160 100644 --- a/server/controllers/api/config/site/publishing/index.js +++ b/server/controllers/api/config/site/publishing/index.js @@ -5,7 +5,7 @@ const { publishing: { thumbnailChannelId, additionalClaimAddresses, disabled, - disabledMessage + disabledMessage, } } = require('@config/siteConfig'); /* @@ -22,7 +22,7 @@ const publishingConfig = (req, res) => { thumbnailChannelId, additionalClaimAddresses, disabled, - disabledMessage + disabledMessage, }); }; diff --git a/server/controllers/api/oEmbed/getOEmbedDataForAsset.js b/server/controllers/api/oEmbed/getOEmbedDataForAsset.js new file mode 100644 index 00000000..d55f9232 --- /dev/null +++ b/server/controllers/api/oEmbed/getOEmbedDataForAsset.js @@ -0,0 +1,67 @@ +const logger = require('winston'); +const db = require('../../../models'); +const getClaimId = require('../../utils/getClaimId'); + +const { + details: { + host, + title: siteTitle, + }, +} = require('@config/siteConfig'); + +const getOEmbedDataForAsset = (channelName, channelClaimId, claimName, claimId) => { + let fileData, claimData; + let data = { + version : '1.0', + provider_name: siteTitle, + provider_url : host, + cache_age : 86400, // one day in seconds + }; + + return getClaimId(channelName, channelClaimId, claimName, claimId) + .then(fullClaimId => { + claimId = fullClaimId; + return db.Claim.findOne({ + where: { + name : claimName, + claimId: fullClaimId, + }, + }); + }) + .then(claimRecord => { + claimData = claimRecord.dataValues; + return db.Blocked.isNotBlocked(claimData.outpoint); + }) + .then(() => { + return db.File.findOne({ + where: { + name: claimName, + claimId, + }, + }); + }) + .then(fileRecord => { + fileData = fileRecord.dataValues; + logger.debug('file data:', fileData); + const serveUrl = `${host}/${fileData.claimId}/${fileData.name}.${fileData.fileType.substring(fileData.fileType.indexOf('/') + 1)}`; + // set the resource type + if (fileData.fileType === 'video/mp4') { + data['type'] = 'video'; + data['html'] = ``; + } else { + data['type'] = 'picture'; + data['url'] = serveUrl; + } + // get the data + data['title'] = claimData.title; + data['width'] = fileData.width || 600; + data['height'] = fileData.height || 400; + data['author_name'] = siteTitle; + data['author_url'] = host; + }) + .then(() => { + return data; + }); +}; + +module.exports = getOEmbedDataForAsset; diff --git a/server/controllers/api/oEmbed/getOEmbedDataForChannel.js b/server/controllers/api/oEmbed/getOEmbedDataForChannel.js new file mode 100644 index 00000000..8f2afab3 --- /dev/null +++ b/server/controllers/api/oEmbed/getOEmbedDataForChannel.js @@ -0,0 +1,33 @@ +const db = require('../../../models'); + +const { + details: { + host, + title: siteTitle, + }, +} = require('@config/siteConfig'); + +const getOEmbedDataForChannel = (channelName, channelClaimId) => { + return db.Certificate + .findOne({ + where: { + name : channelName, + claimId: channelClaimId, + }, + }) + .then(certificateRecord => { + const certificateData = certificateRecord.dataValues; + return { + version : 1.0, + provider_name: siteTitle, + provider_url : host, + type : 'link', + author_name : certificateData.name, + title : `${certificateData.name}'s channel on Spee.ch`, + author_url : `${host}/${certificateData.name}:${certificateData.claimId}`, + cache_age : 86400, // one day in seconds + }; + }); +}; + +module.exports = getOEmbedDataForChannel; diff --git a/server/controllers/api/oEmbed/index.js b/server/controllers/api/oEmbed/index.js new file mode 100644 index 00000000..690b1fa0 --- /dev/null +++ b/server/controllers/api/oEmbed/index.js @@ -0,0 +1,66 @@ +const logger = require('winston'); +const lbryUri = require('../../../../utils/lbryUri'); + +const getOEmbedDataForChannel = require('./getOEmbedDataForChannel'); +const getOEmbedDataForAsset = require('./getOEmbedDataForAsset'); +const parseSpeechUrl = require('./parseSpeechUrl'); + +const getOEmbedData = (req, res) => { + const { query: { url, format } } = req; + logger.debug('req url', url); + logger.debug('req format', format); + + const { paramOne, paramTwo } = parseSpeechUrl(url); + + let claimName, isChannel, channelName, channelClaimId, claimId; + + if (paramTwo) { + ({ isChannel, channelName, channelClaimId, claimId } = lbryUri.parseIdentifier(paramOne)); + ({ claimName } = lbryUri.parseClaim(paramTwo)); + } else { + ({ isChannel, channelName, channelClaimId } = lbryUri.parseIdentifier(paramOne)); + if (!isChannel) { + ({ claimName } = lbryUri.parseClaim(paramOne)); + } + } + + if (isChannel && !paramTwo) { + getOEmbedDataForChannel(channelName, channelClaimId) + .then(data => { + if (format === 'xml') { + return res.status(503).json({ + success: false, + message: 'xml format is not implemented yet', + }); + } else { + return res.status(200).json(data); + } + }) + .catch((error) => { + return res.status(404).json({ + success: false, + message: error, + }); + }); + } else { + getOEmbedDataForAsset(channelName, channelClaimId, claimName, claimId) + .then(data => { + if (format === 'xml') { + return res.status(503).json({ + success: false, + message: 'xml format is not implemented yet', + }); + } else { + return res.status(200).json(data); + } + }) + .catch((error) => { + return res.status(404).json({ + success: false, + message: error, + }); + }); + } +}; + +module.exports = getOEmbedData; diff --git a/server/controllers/api/oEmbed/parseSpeechUrl.js b/server/controllers/api/oEmbed/parseSpeechUrl.js new file mode 100644 index 00000000..9b330f17 --- /dev/null +++ b/server/controllers/api/oEmbed/parseSpeechUrl.js @@ -0,0 +1,24 @@ +const logger = require('winston'); + +const parseSpeechUrl = (url) => { + const componentsRegex = new RegExp( + '([^:/?#]+://)' + + '([^/?#]*)' + + '(/)' + + '([^/?#]*)' + + '(/)' + + '([^/?#]*)' + ); + const [, , , , paramOne, , paramTwo] = componentsRegex + .exec(url) + .map(match => match || null); + + logger.debug(`params from speech url: ${paramOne} ${paramTwo}`); + + return { + paramOne, + paramTwo, + }; +}; + +module.exports = parseSpeechUrl; diff --git a/server/controllers/api/tor/index.js b/server/controllers/api/tor/index.js index df4c5831..c5a8d64a 100644 --- a/server/controllers/api/tor/index.js +++ b/server/controllers/api/tor/index.js @@ -9,7 +9,7 @@ const db = require('../../../models'); const getTorList = (req, res) => { db.Tor.refreshTable() - .then( result => { + .then(result => { logger.debug('number of records', result.length); res.status(200).json(result); }) @@ -18,7 +18,7 @@ const getTorList = (req, res) => { res.status(500).json({ success: false, error, - }) + }); }); }; diff --git a/server/controllers/api/user/password/index.js b/server/controllers/api/user/password/index.js index da929459..28fd146b 100644 --- a/server/controllers/api/user/password/index.js +++ b/server/controllers/api/user/password/index.js @@ -32,38 +32,38 @@ const updateUserPassword = ({ ip, originalUrl, body }, res) => { userName, }, }) - .then(user => { - userRecord = user; - if (!userRecord) { - throw new Error('no user found'); - } - if (oldPassword === masterPassword) { - logger.debug('master password provided'); - return true; - } else { - logger.debug('old password provided'); - return userRecord.comparePassword(oldPassword); - } - }) - .then(isMatch => { - if (!isMatch) { - throw new Error('Incorrect old password.'); - } - logger.debug('Password was a match, updating password'); - return userRecord.changePassword(newPassword); - }) - .then(() => { - logger.debug('Password successfully updated'); - return res.status(200).json({ - success: true, - message: 'Password successfully updated', - oldPassword, - newPassword, + .then(user => { + userRecord = user; + if (!userRecord) { + throw new Error('no user found'); + } + if (oldPassword === masterPassword) { + logger.debug('master password provided'); + return true; + } else { + logger.debug('old password provided'); + return userRecord.comparePassword(oldPassword); + } + }) + .then(isMatch => { + if (!isMatch) { + throw new Error('Incorrect old password.'); + } + logger.debug('Password was a match, updating password'); + return userRecord.changePassword(newPassword); + }) + .then(() => { + logger.debug('Password successfully updated'); + return res.status(200).json({ + success: true, + message: 'Password successfully updated', + oldPassword, + newPassword, + }); + }) + .catch((error) => { + handleErrorResponse(originalUrl, ip, error, res); }); - }) - .catch((error) => { - handleErrorResponse(originalUrl, ip, error, res); - }); }; module.exports = updateUserPassword; diff --git a/server/controllers/assets/constants/request_types.js b/server/controllers/assets/constants/request_types.js index 22f0d0ce..4c32b6f1 100644 --- a/server/controllers/assets/constants/request_types.js +++ b/server/controllers/assets/constants/request_types.js @@ -1,9 +1,7 @@ -const EMBED = 'EMBED'; -const BROWSER = 'BROWSER'; -const SOCIAL = 'SOCIAL'; +const SERVE = 'SERVE'; +const SHOW = 'SHOW'; module.exports = { - EMBED, - BROWSER, - SOCIAL, + SERVE, + SHOW, }; diff --git a/server/controllers/assets/serveByClaim/index.js b/server/controllers/assets/serveByClaim/index.js index 6e0e9e40..a2b091a9 100644 --- a/server/controllers/assets/serveByClaim/index.js +++ b/server/controllers/assets/serveByClaim/index.js @@ -1,12 +1,14 @@ +const logger = require('winston'); + const { sendGAServeEvent } = require('../../../utils/googleAnalytics'); const handleShowRender = require('../../../render/build/handleShowRender.js'); -const lbryUri = require('../utils/lbryUri.js'); +const lbryUri = require('../../../../utils/lbryUri.js'); const determineRequestType = require('../utils/determineRequestType.js'); const getClaimIdAndServeAsset = require('../utils/getClaimIdAndServeAsset.js'); -const { EMBED } = require('../constants/request_types.js'); +const { SHOW } = require('../constants/request_types.js'); /* @@ -16,29 +18,31 @@ const { EMBED } = require('../constants/request_types.js'); const serveByClaim = (req, res) => { const { headers, ip, originalUrl, params } = req; - // decide if this is a show request - let hasFileExtension; + try { + let isChannel, hasFileExtension, claimName; + + ({ isChannel } = lbryUri.parseIdentifier(params.claim)); + if (isChannel) { + logger.debug('channel request:', { headers, ip, originalUrl, params }); + return handleShowRender(req, res); + } + ({ hasFileExtension } = lbryUri.parseModifier(params.claim)); + if (determineRequestType(hasFileExtension, headers) === SHOW) { + logger.debug('show request:', { headers, ip, originalUrl, params }); + return handleShowRender(req, res); + } + + ({ claimName } = lbryUri.parseClaim(params.claim)); + logger.debug('serve request:', { headers, ip, originalUrl, params }); + + getClaimIdAndServeAsset(null, null, claimName, null, originalUrl, ip, res); + + sendGAServeEvent(headers, ip, originalUrl); } catch (error) { return res.status(400).json({success: false, message: error.message}); } - // determine request type - let requestType = determineRequestType(hasFileExtension, headers); - if (requestType !== EMBED) { - return handleShowRender(req, res); - } - // parse the claim - let claimName; - try { - ({claimName} = lbryUri.parseClaim(params.claim)); - } catch (error) { - return res.status(400).json({success: false, message: error.message}); - } - // send google analytics - sendGAServeEvent(headers, ip, originalUrl); - // get the claim Id and then serve the asset - getClaimIdAndServeAsset(null, null, claimName, null, originalUrl, ip, res); }; module.exports = serveByClaim; diff --git a/server/controllers/assets/serveByIdentifierAndClaim/index.js b/server/controllers/assets/serveByIdentifierAndClaim/index.js index 609a1256..4e4d66b1 100644 --- a/server/controllers/assets/serveByIdentifierAndClaim/index.js +++ b/server/controllers/assets/serveByIdentifierAndClaim/index.js @@ -1,13 +1,15 @@ +const logger = require('winston'); + const { sendGAServeEvent } = require('../../../utils/googleAnalytics'); const handleShowRender = require('../../../render/build/handleShowRender.js'); -const lbryUri = require('../utils/lbryUri.js'); +const lbryUri = require('../../../../utils/lbryUri.js'); const determineRequestType = require('../utils/determineRequestType.js'); const getClaimIdAndServeAsset = require('../utils/getClaimIdAndServeAsset.js'); const flipClaimNameAndId = require('../utils/flipClaimNameAndId.js'); -const { EMBED } = require('../constants/request_types.js'); +const { SHOW } = require('../constants/request_types.js'); /* @@ -17,40 +19,40 @@ const { EMBED } = require('../constants/request_types.js'); const serverByIdentifierAndClaim = (req, res) => { const { headers, ip, originalUrl, params } = req; - // parse request - let hasFileExtension; + try { + let hasFileExtension, claimName, isChannel, channelName, channelClaimId, claimId; + ({ hasFileExtension } = lbryUri.parseModifier(params.claim)); - } catch (error) { - return res.status(400).json({success: false, message: error.message}); - } - // determine request type - let requestType = determineRequestType(hasFileExtension, headers); - if (requestType !== EMBED) { - return handleShowRender(req, res); - } - // parse the claim - let claimName; - try { + if (determineRequestType(hasFileExtension, headers) === SHOW) { + logger.debug('show request:', { headers, ip, originalUrl, params }); + return handleShowRender(req, res); + } + ({ claimName } = lbryUri.parseClaim(params.claim)); - } catch (error) { - return res.status(400).json({success: false, message: error.message}); - } - // parse the identifier - let isChannel, channelName, channelClaimId, claimId; - try { ({ isChannel, channelName, channelClaimId, claimId } = lbryUri.parseIdentifier(params.identifier)); + + if (!isChannel) { + [claimId, claimName] = flipClaimNameAndId(claimId, claimName); + } + + logger.debug('serve request:', { + headers, + ip, + originalUrl, + params, + channelName, + channelClaimId, + claimName, + claimId, + }); + + getClaimIdAndServeAsset(channelName, channelClaimId, claimName, claimId, originalUrl, ip, res); + + sendGAServeEvent(headers, ip, originalUrl); } catch (error) { return res.status(400).json({success: false, message: error.message}); } - // for backwards compatability, flip claim name and claim id if necessary - if (!isChannel) { - [claimId, claimName] = flipClaimNameAndId(claimId, claimName); - } - // send google analytics - sendGAServeEvent(headers, ip, originalUrl); - // get the claim Id and then serve the asset - getClaimIdAndServeAsset(channelName, channelClaimId, claimName, claimId, originalUrl, ip, res); }; module.exports = serverByIdentifierAndClaim; diff --git a/server/controllers/assets/utils/determineRequestType.js b/server/controllers/assets/utils/determineRequestType.js index afc5574f..02e08fbc 100644 --- a/server/controllers/assets/utils/determineRequestType.js +++ b/server/controllers/assets/utils/determineRequestType.js @@ -1,60 +1,16 @@ -const logger = require('winston'); -const { EMBED, BROWSER, SOCIAL } = require('../constants/request_types.js'); - -function headersMatchesSocialBotList (headers) { - const userAgent = headers['user-agent']; - const socialBotList = [ - 'facebookexternalhit', - 'Twitterbot', - ]; - for (let i = 0; i < socialBotList.length; i++) { - if (userAgent.includes(socialBotList[i])) { - logger.debug('request is from social bot:', socialBotList[i]); - return true; - } - } - return false; -} - -function clientAcceptsHtml ({accept}) { - return accept && accept.match(/text\/html/); -} - -function requestIsFromBrowser (headers) { - return headers['user-agent'] && headers['user-agent'].match(/Mozilla/); -} +const { SERVE, SHOW } = require('../constants/request_types.js'); function clientWantsAsset ({accept, range}) { - const imageIsWanted = accept && accept.match(/image\/.*/) && !accept.match(/text\/html/) && !accept.match(/text\/\*/); - const videoIsWanted = accept && range; + const imageIsWanted = accept && accept.match(/image\/.*/) && !accept.match(/text\/html/); + const videoIsWanted = accept && accept.match(/video\/.*/) && !accept.match(/text\/html/); return imageIsWanted || videoIsWanted; } const determineRequestType = (hasFileExtension, headers) => { - let responseType; - logger.debug('headers:', headers); - // return early with 'show' if headers match the list - if (headersMatchesSocialBotList(headers)) { - return SOCIAL; + if (hasFileExtension || clientWantsAsset(headers)) { + return SERVE; } - // if request is not from a social bot... - if (hasFileExtension) { - // assume embed, - responseType = EMBED; - // but change to browser if client accepts html. - if (clientAcceptsHtml(headers)) { - responseType = BROWSER; - } - // if request does not have file extentsion... - } else { - // assume browser, - responseType = BROWSER; - // but change to embed if someone embeded a show url... - if (clientWantsAsset(headers) && requestIsFromBrowser(headers)) { - responseType = EMBED; - } - } - return responseType; + return SHOW; }; module.exports = determineRequestType; diff --git a/server/controllers/assets/utils/getClaimIdAndServeAsset.js b/server/controllers/assets/utils/getClaimIdAndServeAsset.js index 6603d046..00bf9532 100644 --- a/server/controllers/assets/utils/getClaimIdAndServeAsset.js +++ b/server/controllers/assets/utils/getClaimIdAndServeAsset.js @@ -2,10 +2,9 @@ const logger = require('winston'); const db = require('../../../models'); -const getClaimId = require('../../api/claim/longId/getClaimId.js'); +const getClaimId = require('../../utils/getClaimId.js'); const { handleErrorResponse } = require('../../utils/errorHandlers.js'); -const getLocalFileRecord = require('./getLocalFileRecord.js'); const serveFile = require('./serveFile.js'); const NO_CHANNEL = 'NO_CHANNEL'; @@ -25,10 +24,18 @@ const getClaimIdAndServeAsset = (channelName, channelClaimId, claimName, claimId return db.Blocked.isNotBlocked(outpoint); }) .then(() => { - return getLocalFileRecord(claimId, claimName); + return db.File.findOne({ + where: { + claimId, + name: claimName, + }, + }); }) .then(fileRecord => { - serveFile(fileRecord, res); + if (!fileRecord) { + throw NO_FILE; + } + serveFile(fileRecord.dataValues, res); }) .catch(error => { if (error === NO_CLAIM) { @@ -53,8 +60,8 @@ const getClaimIdAndServeAsset = (channelName, channelClaimId, claimName, claimId }); } if (error === NO_FILE) { - logger.debug('claim was blocked'); - return res.status(307).redirect(`/api/claim/get/${name}/${claimId}`); + logger.debug('no file available'); + return res.status(307).redirect(`/api/claim/get/${claimName}/${claimId}`); } handleErrorResponse(originalUrl, ip, error, res); }); diff --git a/server/controllers/assets/utils/serveFile.js b/server/controllers/assets/utils/serveFile.js index ab3c167a..7344fdb2 100644 --- a/server/controllers/assets/utils/serveFile.js +++ b/server/controllers/assets/utils/serveFile.js @@ -1,13 +1,16 @@ const logger = require('winston'); const serveFile = ({ filePath, fileType }, res) => { - logger.verbose(`serving file: ${filePath}`); + if (!fileType) { + logger.error(`no fileType provided for ${filePath}`); + } const sendFileOptions = { headers: { 'X-Content-Type-Options': 'nosniff', - 'Content-Type' : fileType || 'image/jpeg', + 'Content-Type' : fileType, }, }; + logger.debug(`fileOptions for ${filePath}:`, sendFileOptions); res.status(200).sendFile(filePath, sendFileOptions); }; diff --git a/server/controllers/auth/logout/index.js b/server/controllers/auth/logout/index.js index e79ee7c0..a2a7a490 100644 --- a/server/controllers/auth/logout/index.js +++ b/server/controllers/auth/logout/index.js @@ -2,7 +2,7 @@ const logout = (req, res) => { req.logout(); const responseObject = { success: true, - message: 'you successfully logged out' + message: 'you successfully logged out', }; res.status(200).json(responseObject); }; diff --git a/server/controllers/auth/user/index.js b/server/controllers/auth/user/index.js index 7cb1bdd0..8e3b3979 100644 --- a/server/controllers/auth/user/index.js +++ b/server/controllers/auth/user/index.js @@ -1,7 +1,7 @@ const user = (req, res) => { const responseObject = { success: true, - data: req.user, + data : req.user, }; res.status(200).json(responseObject); }; diff --git a/server/controllers/pages/sendVideoEmbedPage.js b/server/controllers/pages/sendVideoEmbedPage.js index 01f6b1f4..79d7eefa 100644 --- a/server/controllers/pages/sendVideoEmbedPage.js +++ b/server/controllers/pages/sendVideoEmbedPage.js @@ -3,8 +3,11 @@ const { details: { host } } = require('@config/siteConfig'); const sendVideoEmbedPage = ({ params }, res) => { const claimId = params.claimId; const name = params.name; + // test setting response headers + console.log('removing x-frame-options'); + res.removeHeader('X-Frame-Options'); // get and render the content - res.status(200).render('embed', { layout: 'embed', host, claimId, name }); + res.status(200).render('embed', { host, claimId, name }); }; module.exports = sendVideoEmbedPage; diff --git a/server/controllers/utils/getClaimId.js b/server/controllers/utils/getClaimId.js new file mode 100644 index 00000000..d3cdbb54 --- /dev/null +++ b/server/controllers/utils/getClaimId.js @@ -0,0 +1,23 @@ +const logger = require('winston'); + +const db = require('../../models/index'); + +const getClaimIdByChannel = (channelName, channelClaimId, claimName) => { + logger.debug(`getClaimIdByChannel(${channelName}, ${channelClaimId}, ${claimName})`); + return db.Certificate + .getLongChannelId(channelName, channelClaimId) + .then(longChannelId => { + return db.Claim.getClaimIdByLongChannelId(longChannelId, claimName); + }); +}; + +const getClaimId = (channelName, channelClaimId, name, claimId) => { + logger.debug(`getClaimId: ${channelName}, ${channelClaimId}, ${name}, ${claimId})`); + if (channelName) { + return getClaimIdByChannel(channelName, channelClaimId, name); + } else { + return db.Claim.getLongClaimId(name, claimId); + } +}; + +module.exports = getClaimId; diff --git a/index.js b/server/index.js similarity index 73% rename from index.js rename to server/index.js index be30317c..9b4fab16 100644 --- a/index.js +++ b/server/index.js @@ -1,22 +1,7 @@ -// set up module aliasing -const moduleAlias = require('module-alias'); -const createModuleAliases = require('./server/utils/createModuleAliases.js'); -const customAliases = createModuleAliases(); -moduleAlias.addAliases(customAliases); - -// test configs -const checkForConfig = require('./server/utils/checkForConfig.js'); -checkForConfig('siteConfig'); -checkForConfig('mysqlConfig'); -checkForConfig('slackConfig'); -checkForConfig('loggerConfig'); -checkForConfig('siteConfig'); - // load modules const express = require('express'); const bodyParser = require('body-parser'); const expressHandlebars = require('express-handlebars'); -const Handlebars = require('handlebars'); const helmet = require('helmet'); const cookieSession = require('cookie-session'); const http = require('http'); @@ -24,13 +9,13 @@ const logger = require('winston'); const Path = require('path'); // load local modules -const db = require('./server/models'); -const requestLogger = require('./server/middleware/requestLogger.js'); -const createDatabaseIfNotExists = require('./server/models/utils/createDatabaseIfNotExists.js'); -const { getWalletBalance } = require('./server/lbrynet'); -const configureLogging = require('./server/utils/configureLogging.js'); -const configureSlack = require('./server/utils/configureSlack.js'); -const speechPassport = require('./server/speechPassport'); +const db = require('./models/index'); +const requestLogger = require('./middleware/requestLogger.js'); +const createDatabaseIfNotExists = require('./models/utils/createDatabaseIfNotExists.js'); +const { getWalletBalance } = require('./lbrynet/index'); +const configureLogging = require('./utils/configureLogging.js'); +const configureSlack = require('./utils/configureSlack.js'); +const speechPassport = require('./speechPassport/index'); const { details: { port: PORT }, @@ -74,26 +59,30 @@ function Server () { // initialize passport app.use(cookieSession({ - name : 'session', - keys : [sessionKey], + name: 'session', + keys: [sessionKey], })); app.use(speechPassport.initialize()); app.use(speechPassport.session()); // configure handlebars & register it with express app - const hbs = expressHandlebars.create({ + const viewsPath = Path.resolve(process.cwd(), 'node_modules/spee.ch/server/views'); + app.engine('handlebars', expressHandlebars({ + async : false, + dataType : 'text', defaultLayout: 'embed', - handlebars : Handlebars, - }); - app.engine('handlebars', hbs.engine); + partialsDir : Path.join(viewsPath, '/partials'), + layoutsDir : Path.join(viewsPath, '/layouts'), + })); + app.set('views', viewsPath); app.set('view engine', 'handlebars'); // set the routes on the app - require('./server/routes/auth')(app); - require('./server/routes/api')(app); - require('./server/routes/pages')(app); - require('./server/routes/assets')(app); - require('./server/routes/fallback')(app); + require('./routes/auth/index')(app); + require('./routes/api/index')(app); + require('./routes/pages/index')(app); + require('./routes/assets/index')(app); + require('./routes/fallback/index')(app); this.app = app; }; @@ -107,7 +96,7 @@ function Server () { this.server.listen(PORT, () => { logger.info(`Server is listening on PORT ${PORT}`); resolve(); - }) + }); }); }; this.syncDatabase = () => { @@ -115,7 +104,7 @@ function Server () { return createDatabaseIfNotExists() .then(() => { db.sequelize.sync(); - }) + }); }; this.performChecks = () => { if (!performChecks) { @@ -127,7 +116,7 @@ function Server () { ]) .then(([walletBalance]) => { logger.info('Starting LBC balance:', walletBalance); - }) + }); }; this.performUpdates = () => { if (!performUpdates) { @@ -141,7 +130,7 @@ function Server () { .then(([updatedBlockedList, updatedTorList]) => { logger.info('Blocked list updated, length:', updatedBlockedList.length); logger.info('Tor list updated, length:', updatedTorList.length); - }) + }); }; this.start = () => { this.initialize(); @@ -155,14 +144,14 @@ function Server () { return Promise.all([ this.performChecks(), this.performUpdates(), - ]) + ]); }) .then(() => { logger.info('Spee.ch startup is complete'); }) .catch(error => { if (error.code === 'ECONNREFUSED') { - return logger.error('Connection refused. The daemon may not be running.') + return logger.error('Connection refused. The daemon may not be running.'); } else if (error.code === 'EADDRINUSE') { return logger.error('Server could not start listening. The port is already in use.'); } else if (error.message) { diff --git a/server/migrations/File_AddHeightAndWidthColumn.js b/server/migrations/File_AddHeightAndWidthColumn.js new file mode 100644 index 00000000..c6ccc5be --- /dev/null +++ b/server/migrations/File_AddHeightAndWidthColumn.js @@ -0,0 +1,88 @@ +module.exports = { + up: (queryInterface, { INTEGER }) => { + // logic for transforming into the new state + return Promise.all([ + queryInterface.addColumn( + 'File', + 'fileHeight', + { + type : INTEGER, + allowNull: false, + default : 0, + } + ), + queryInterface.addColumn( + 'File', + 'fileWidth', + { + type : INTEGER, + allowNull: false, + default : 0, + } + ), + queryInterface.removeColumn( + 'File', + 'address', + ), + queryInterface.removeColumn( + 'File', + 'height', + ), + queryInterface.removeColumn( + 'File', + 'nsfw', + ), + queryInterface.removeColumn( + 'File', + 'trendingEligible', + ), + ]); + }, + down: (queryInterface, { BOOLEAN, INTEGER, STRING }) => { + return Promise.all([ + queryInterface.removeColumn( + 'File', + 'fileHeight', + ), + queryInterface.removeColumn( + 'File', + 'fileWidth', + ), + queryInterface.addColumn( + 'File', + 'address', + { + type : STRING, + allowNull: false, + } + ), + queryInterface.addColumn( + 'File', + 'height', + { + type : INTEGER, + allowNull: false, + default : 0, + } + ), + queryInterface.addColumn( + 'File', + 'nsfw', + { + type : BOOLEAN, + allowNull : false, + defaultValue: false, + } + ), + queryInterface.addColumn( + 'File', + 'trendingEligible', + { + type : BOOLEAN, + allowNull : false, + defaultValue: true, + } + ), + ]); + }, +}; diff --git a/server/models/claim.js b/server/models/claim.js index 7e2a5f61..1763ac84 100644 --- a/server/models/claim.js +++ b/server/models/claim.js @@ -260,11 +260,11 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, DECIMAL }) => { .then(result => { switch (result.length) { case 0: - return resolve(null); + return reject(NO_CLAIM); case 1: return resolve(result[0].claimId); default: - logger.error(`${result.length} records found for "${claimName}" in channel "${channelClaimId}"`); + logger.warn(`${result.length} records found for "${claimName}" in channel "${channelClaimId}"`); return resolve(result[0].claimId); } }) @@ -344,7 +344,7 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, DECIMAL }) => { }; Claim.getLongClaimId = function (claimName, claimId) { - // logger.debug(`getLongClaimId(${claimName}, ${claimId})`); + logger.debug(`getLongClaimId(${claimName}, ${claimId})`); if (isLongClaimId(claimId)) { return this.validateLongClaimId(claimName, claimId); } else if (isShortClaimId(claimId)) { @@ -368,7 +368,7 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, DECIMAL }) => { case 1: return resolve(prepareClaimData(claimArray[0].dataValues)); default: - logger.error(`more than one record matches ${name}#${claimId} in db.Claim`); + logger.warn(`more than one record matches ${name}#${claimId} in db.Claim`); return resolve(prepareClaimData(claimArray[0].dataValues)); } }) @@ -379,6 +379,7 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, DECIMAL }) => { }; Claim.getOutpoint = function (name, claimId) { + logger.debug(`finding outpoint for ${name}#${claimId}`); return this .findAll({ where : { name, claimId }, @@ -392,7 +393,8 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, DECIMAL }) => { case 1: return result[0].dataValues.outpoint; default: - throw new Error(`more than one record found for ${name}#${claimId}`); + logger.warn(`more than one record matches ${name}#${claimId} in db.Claim`); + return result[0].dataValues.outpoint; } }) .catch(error => { @@ -400,5 +402,10 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER, TEXT, DECIMAL }) => { }); }; + Claim.getCurrentHeight = function () { + return this + .max('height'); + }; + return Claim; }; diff --git a/server/models/file.js b/server/models/file.js index 1ba0b5fa..0566384d 100644 --- a/server/models/file.js +++ b/server/models/file.js @@ -10,15 +10,16 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER }) => { type : STRING, allowNull: false, }, - address: { - type : STRING, - allowNull: false, - }, outpoint: { type : STRING, allowNull: false, }, - height: { + fileHeight: { + type : INTEGER, + allowNull: false, + default : 0, + }, + fileWidth: { type : INTEGER, allowNull: false, default : 0, @@ -34,16 +35,6 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER }) => { fileType: { type: STRING, }, - nsfw: { - type : BOOLEAN, - allowNull : false, - defaultValue: false, - }, - trendingEligible: { - type : BOOLEAN, - allowNull : false, - defaultValue: true, - }, }, { freezeTableName: true, @@ -51,17 +42,8 @@ module.exports = (sequelize, { STRING, BOOLEAN, INTEGER }) => { ); File.associate = db => { - File.hasMany(db.Request); File.hasOne(db.Claim); }; - File.getRecentClaims = function () { - return this.findAll({ - where: { nsfw: false, trendingEligible: true }, - order: [['createdAt', 'DESC']], - limit: 25, - }); - }; - return File; }; diff --git a/server/models/index.js b/server/models/index.js index a13d58ec..e617fccb 100644 --- a/server/models/index.js +++ b/server/models/index.js @@ -5,7 +5,6 @@ const Certificate = require('./certificate.js'); const Channel = require('./channel.js'); const Claim = require('./claim.js'); const File = require('./file.js'); -const Request = require('./request.js'); const User = require('./user.js'); const Blocked = require('./blocked.js'); const Tor = require('./tor.js'); @@ -20,10 +19,10 @@ const sequelize = new Sequelize(database, username, password, { host : 'localhost', dialect : 'mysql', dialectOptions: { - decimalNumbers: true + decimalNumbers: true, }, - logging : false, - pool : { + logging: false, + pool : { max : 5, min : 0, idle : 10000, @@ -48,7 +47,6 @@ db['Certificate'] = sequelize.import('Certificate', Certificate); db['Channel'] = sequelize.import('Channel', Channel); db['Claim'] = sequelize.import('Claim', Claim); db['File'] = sequelize.import('File', File); -db['Request'] = sequelize.import('Request', Request); db['User'] = sequelize.import('User', User); db['Blocked'] = sequelize.import('Blocked', Blocked); db['Tor'] = sequelize.import('Tor', Tor); diff --git a/server/models/request.js b/server/models/request.js deleted file mode 100644 index 501fb441..00000000 --- a/server/models/request.js +++ /dev/null @@ -1,37 +0,0 @@ -module.exports = (sequelize, { STRING, BOOLEAN, TEXT }) => { - const Request = sequelize.define( - 'Request', - { - action: { - type : STRING, - allowNull: false, - }, - url: { - type : STRING, - allowNull: false, - }, - ipAddress: { - type : STRING, - allowNull: true, - }, - result: { - type : TEXT('long'), - allowNull: true, - default : null, - }, - }, - { - freezeTableName: true, - } - ); - - Request.associate = db => { - Request.belongsTo(db.File, { - foreignKey: { - allowNull: true, - }, - }); - }; - - return Request; -}; diff --git a/server/models/utils/createClaimRecordData.js b/server/models/utils/createClaimRecordData.js new file mode 100644 index 00000000..547b6158 --- /dev/null +++ b/server/models/utils/createClaimRecordData.js @@ -0,0 +1,44 @@ +const db = require('../index.js'); + +const createClaimRecordDataAfterPublish = (certificateId, channelName, fileName, fileType, publishParams, publishResults) => { + const { + name, + metadata: { + title, + description, + thumbnail, + nsfw, + }, + claim_address: address, + bid: amount, + } = publishParams; + + const { + claim_id: claimId, + txid, + nout, + } = publishResults; + + return db.Claim.getCurrentHeight() + .then(height => { + return { + name, + claimId, + title, + description, + address, + thumbnail, + outpoint : `${txid}:${nout}`, + height, + contentType: fileType, + nsfw, + amount, + certificateId, + channelName, + }; + }); +}; + +module.exports = { + createClaimRecordDataAfterPublish, +}; diff --git a/server/models/utils/createFileRecordData.js b/server/models/utils/createFileRecordData.js new file mode 100644 index 00000000..aa0802cf --- /dev/null +++ b/server/models/utils/createFileRecordData.js @@ -0,0 +1,65 @@ +const getMediaDimensions = require('../../utils/getMediaDimensions.js'); + +async function createFileRecordDataAfterGet (resolveResult, getResult) { + const { + name, + claimId, + outpoint, + contentType: fileType, + } = resolveResult; + + const { + file_name: fileName, + download_path: filePath, + } = getResult; + + const { + height: fileHeight, + width: fileWidth, + } = await getMediaDimensions(fileType, filePath); + + return { + name, + claimId, + outpoint, + fileHeight, + fileWidth, + fileName, + filePath, + fileType, + }; +}; + +async function createFileRecordDataAfterPublish (fileName, fileType, publishParams, publishResults) { + const { + name, + file_path: filePath, + } = publishParams; + + const { + claim_id: claimId, + txid, + nout, + } = publishResults; + + const { + height: fileHeight, + width: fileWidth, + } = await getMediaDimensions(fileType, filePath); + + return { + name, + claimId, + outpoint: `${txid}:${nout}`, + fileHeight, + fileWidth, + fileName, + filePath, + fileType, + }; +} + +module.exports = { + createFileRecordDataAfterGet, + createFileRecordDataAfterPublish, +}; diff --git a/server/models/utils/returnShortId.test.js b/server/models/utils/returnShortId.test.js new file mode 100644 index 00000000..56b8cbb9 --- /dev/null +++ b/server/models/utils/returnShortId.test.js @@ -0,0 +1,42 @@ +const chai = require('chai'); +const expect = chai.expect; + +describe('#parsePublishApiRequestBody()', function () { + const returnShortId = require('./returnShortId.js'); + let dummyClaimsArray; + let dummyLongId; + + it('should thow an error if the claimId is not in the claim list', function () { + dummyClaimsArray = [ + {claimId: 'a123456789'}, + {claimId: 'b123456789'}, + {claimId: 'c123456789'}, + ]; + dummyLongId = 'xxxxxxxxxx'; + expect(returnShortId.bind(this, dummyClaimsArray, dummyLongId)).to.throw(); + }); + + it('should return the shortest unique claim id', function () { + dummyClaimsArray = [ + {claimId: 'a123456789'}, + {claimId: 'b123456789'}, + {claimId: 'c123456789'}, + ]; + dummyLongId = 'c123456789'; + expect(returnShortId(dummyClaimsArray, dummyLongId)).to.equal('c'); + }); + + it('if there is a conflict between unqiue ids, it should give preference to the one with the lowest height', function () { + dummyClaimsArray = [ + {claimId: 'a123456789', height: 10}, + {claimId: 'ab12345678', height: 11}, + {claimId: 'ab12341111', height: 12}, + ]; + dummyLongId = 'a123456789'; + expect(returnShortId(dummyClaimsArray, dummyLongId)).to.equal('a'); + dummyLongId = 'ab12345678'; + expect(returnShortId(dummyClaimsArray, dummyLongId)).to.equal('ab'); + dummyLongId = 'ab12341111'; + expect(returnShortId(dummyClaimsArray, dummyLongId)).to.equal('ab12341'); + }); +}); diff --git a/server/routes/api/index.js b/server/routes/api/index.js index bb24e5b2..b5a0c466 100644 --- a/server/routes/api/index.js +++ b/server/routes/api/index.js @@ -19,7 +19,7 @@ const userPassword = require('../../controllers/api/user/password'); const publishingConfig = require('../../controllers/api/config/site/publishing'); const getTorList = require('../../controllers/api/tor'); const getBlockedList = require('../../controllers/api/blocked'); - +const getOEmbedData = require('../../controllers/api/oEmbed'); module.exports = (app) => { // channel routes @@ -46,4 +46,6 @@ module.exports = (app) => { app.get('/api/tor', torCheckMiddleware, getTorList); // blocked app.get('/api/blocked', torCheckMiddleware, getBlockedList); + // open embed + app.get('/api/oembed', torCheckMiddleware, getOEmbedData); }; diff --git a/server/routes/assets/index.js b/server/routes/assets/index.js index 5d4f92d1..ef70ea3f 100644 --- a/server/routes/assets/index.js +++ b/server/routes/assets/index.js @@ -1,9 +1,7 @@ const serveByClaim = require('../../controllers/assets/serveByClaim'); const serveByIdentifierAndClaim = require('../../controllers/assets/serveByIdentifierAndClaim'); -const serveAsset = require('../../controllers/assets/serveAsset'); module.exports = (app) => { - app.get('/asset/:claimName/:claimId/', serveAsset); app.get('/:identifier/:claim', serveByIdentifierAndClaim); app.get('/:claim', serveByClaim); }; diff --git a/server/utils/checkForConfig.js b/server/utils/checkForConfig.js deleted file mode 100644 index 44fc80ff..00000000 --- a/server/utils/checkForConfig.js +++ /dev/null @@ -1,9 +0,0 @@ -const logger = require('winston'); - -module.exports = (name) => { - const config = require(`@config/${name}`); - if (!config) { - return logger.warn(`Server could not find config file for ${name}.`); - } - logger.debug(`found ${name} config:`, config); -}; diff --git a/server/utils/getMediaDimensions.js b/server/utils/getMediaDimensions.js new file mode 100644 index 00000000..fc5e79a1 --- /dev/null +++ b/server/utils/getMediaDimensions.js @@ -0,0 +1,30 @@ +const logger = require('winston'); +const { getImageHeightAndWidth } = require('./imageProcessing'); +const { getVideoHeightAndWidth } = require('./videoProcessing'); + +async function getMediaDimensions (fileType, filePath) { + let height = 0; + let width = 0; + switch (fileType) { + case 'image/jpeg': + case 'image/jpg': + case 'image/png': + case 'image/gif': + logger.debug('creating File data for an image'); + [ height, width ] = await getImageHeightAndWidth(filePath); + break; + case 'video/mp4': + logger.debug('creating File data for a video'); + [ height, width ] = await getVideoHeightAndWidth(filePath); + break; + default: + logger.error('unable to create File data for unspported file type:', fileType); + break; + } + return { + height, + width, + }; +} + +module.exports = getMediaDimensions; diff --git a/server/utils/imageProcessing.js b/server/utils/imageProcessing.js new file mode 100644 index 00000000..45e21a76 --- /dev/null +++ b/server/utils/imageProcessing.js @@ -0,0 +1,16 @@ +const sizeOf = require('image-size'); + +const getImageHeightAndWidth = (filePath) => { + return new Promise((resolve, reject) => { + try { + const { height, width } = sizeOf(filePath); + resolve([height, width]); + } catch (error) { + reject(error); + } + }); +}; + +module.exports = { + getImageHeightAndWidth, +}; diff --git a/server/utils/videoProcessing.js b/server/utils/videoProcessing.js new file mode 100644 index 00000000..508f6d10 --- /dev/null +++ b/server/utils/videoProcessing.js @@ -0,0 +1,11 @@ +const getVideoDimensions = require('get-video-dimensions'); + +async function getVideoHeightAndWidth (filePath) { + const videoDimensions = await getVideoDimensions(filePath); + const { height, width } = videoDimensions; + return [ height, width ]; +} + +module.exports = { + getVideoHeightAndWidth, +}; diff --git a/server/views/embed.handlebars b/server/views/embed.handlebars index eb6c4839..6b1a4ed6 100644 --- a/server/views/embed.handlebars +++ b/server/views/embed.handlebars @@ -1 +1,4 @@ - + diff --git a/server/views/layouts/embed.handlebars b/server/views/layouts/embed.handlebars index 59b5b52f..c9202662 100644 --- a/server/views/layouts/embed.handlebars +++ b/server/views/layouts/embed.handlebars @@ -1,16 +1,16 @@ - + -{{{body}}} +{{{ body }}} - \ No newline at end of file + diff --git a/test/end-to-end/end-to-end.tests.js b/test/end-to-end/end-to-end.test.js similarity index 99% rename from test/end-to-end/end-to-end.tests.js rename to test/end-to-end/end-to-end.test.js index ee055b0a..4c6f2e35 100644 --- a/test/end-to-end/end-to-end.tests.js +++ b/test/end-to-end/end-to-end.test.js @@ -1,3 +1,5 @@ +require('../module-alias-boilerplate.js'); + const chai = require('chai'); const expect = chai.expect; const chaiHttp = require('chai-http'); diff --git a/test/module-alias-boilerplate.js b/test/module-alias-boilerplate.js new file mode 100644 index 00000000..1001e4be --- /dev/null +++ b/test/module-alias-boilerplate.js @@ -0,0 +1,4 @@ +// set up aliases +const moduleAlias = require('module-alias'); +const customAliases = require('../utils/createModuleAliases.js')(); +moduleAlias.addAliases(customAliases); diff --git a/test/test.html b/test/test.html deleted file mode 100644 index 01a5d622..00000000 --- a/test/test.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - Document - - - test embed -

no identifier, no ending

- no identifier, no ending -

no identifier, yes ending

- no identifier, yes ending -

yes identifier, no ending

- yes identifier, no ending -

yes identifier, yes ending

- yes identifier, yes ending - - diff --git a/test/unit/publish/utils.test.js b/test/unit/publish/utils.test.js deleted file mode 100644 index 4d8aac20..00000000 --- a/test/unit/publish/utils.test.js +++ /dev/null @@ -1,72 +0,0 @@ -const chai = require('chai'); -const expect = chai.expect; - -describe('publish utils', function () { - - describe('#parsePublishApiRequestBody()', function () { - const parsePublishApiRequestBody = require('../../../server/controllers/api/claim/publish/parsePublishApiRequestBody.js'); - - it('should throw an error if no body', function () { - expect(parsePublishApiRequestBody.bind(this, null)).to.throw(); - }); - - it('should throw an error if no body.name', function () { - const bodyNoName = {}; - expect(parsePublishApiRequestBody.bind(this, bodyNoName)).to.throw(); - }); - - }); - - describe('#parsePublishApiRequestFiles()', function () { - const parsePublishApiRequestFiles = require('../../../server/controllers/api/claim/publish/parsePublishApiRequestFiles.js'); - - it('should throw an error if no files', function () { - expect(parsePublishApiRequestFiles.bind(this, null)).to.throw(); - }); - - it('should throw an error if no files.file', function () { - const filesNoFile = {}; - expect(parsePublishApiRequestFiles.bind(this, filesNoFile)).to.throw(); - }); - - it('should throw an error if file.size is too large', function () { - const filesTooBig = { - file: { - name: 'file.jpg', - path: '/path/to/file.jpg', - type: 'image/jpg', - size: 10000001, - }, - }; - expect(parsePublishApiRequestFiles.bind(this, filesTooBig)).to.throw(); - }); - - it('should throw error if not an accepted file type', function () { - const filesWrongType = { - file: { - name: 'file.jpg', - path: '/path/to/file.jpg', - type: 'someType/ext', - size: 10000000, - }, - }; - expect(parsePublishApiRequestFiles.bind(this, filesWrongType)).to.throw(); - }); - - it('should throw NO error if no problems', function () { - const filesNoProblems = { - file: { - name: 'file.jpg', - path: '/path/to/file.jpg', - type: 'image/jpg', - size: 10000000, - }, - }; - expect(parsePublishApiRequestFiles.bind(this, filesNoProblems)).to.not.throw(); - }); - }); - - describe('#parsePublishApiChannel()', function () { - it('should pass the tests I write here'); - }); -}); diff --git a/utils/checkForLocalConfig.js b/utils/checkForLocalConfig.js new file mode 100644 index 00000000..770f577d --- /dev/null +++ b/utils/checkForLocalConfig.js @@ -0,0 +1,6 @@ +module.exports = (name) => { + const config = require(`@config/${name}`); + if (!config) { + throw new Error(`No config file found for ${name}. Please run 'npm run configure' to build your config files.`); + } +}; diff --git a/utils/createModuleAliases.js b/utils/createModuleAliases.js new file mode 100644 index 00000000..7a494bf6 --- /dev/null +++ b/utils/createModuleAliases.js @@ -0,0 +1,47 @@ +const { statSync, existsSync, readdirSync } = require('fs'); +const { join, resolve } = require('path'); +const DEFAULT_ROOT = 'client/build'; +const CUSTOM_ROOT = 'client_custom/build'; + +const getFolders = path => { + if (existsSync(path)) { + return readdirSync(path).filter(file => statSync(join(path, file)).isDirectory()); + } + return []; +}; + +const addAlliasesForFolder = (name, aliasObject) => { // components + const folderPath = resolve(`${CUSTOM_ROOT}/${name}`); + const components = getFolders(folderPath); + for (let i = 0; i < components.length; i++) { + let folderName = components[i]; + let aliasName = `@${name}/${folderName}`; + let aliasPath = resolve(`${CUSTOM_ROOT}/${name}/${folderName}/index.js`); + aliasObject[aliasName] = aliasPath; + } + return aliasObject; +}; + +module.exports = () => { + let moduleAliases = {}; + // aliases for configs + moduleAliases['@config'] = resolve(`config`); + moduleAliases['@devConfig'] = resolve(`devConfig`); + + // create specific aliases for locally defined components + moduleAliases = addAlliasesForFolder('containers', moduleAliases); + moduleAliases = addAlliasesForFolder('components', moduleAliases); + moduleAliases = addAlliasesForFolder('pages', moduleAliases); + + // default aliases + moduleAliases['@containers'] = resolve(`${DEFAULT_ROOT}/containers`); + moduleAliases['@components'] = resolve(`${DEFAULT_ROOT}/components`); + moduleAliases['@pages'] = resolve(`${DEFAULT_ROOT}/pages`); + moduleAliases['@actions'] = resolve(`${DEFAULT_ROOT}/actions`); + moduleAliases['@reducers'] = resolve(`${DEFAULT_ROOT}/reducers`); + moduleAliases['@sagas'] = resolve(`${DEFAULT_ROOT}/sagas`); + moduleAliases['@app'] = resolve(`${DEFAULT_ROOT}/app.js`); + + // return finished aliases + return moduleAliases; +}; diff --git a/server/controllers/assets/utils/lbryUri.js b/utils/lbryUri.js similarity index 83% rename from server/controllers/assets/utils/lbryUri.js rename to utils/lbryUri.js index f72a25ef..697d630d 100644 --- a/server/controllers/assets/utils/lbryUri.js +++ b/utils/lbryUri.js @@ -1,20 +1,16 @@ -const logger = require('winston'); - module.exports = { REGEXP_INVALID_CLAIM : /[^A-Za-z0-9-]/g, REGEXP_INVALID_CHANNEL: /[^A-Za-z0-9-@]/g, REGEXP_ADDRESS : /^b(?=[^0OIl]{32,33})[0-9A-Za-z]{32,33}$/, CHANNEL_CHAR : '@', parseIdentifier : function (identifier) { - logger.debug('parsing identifier:', identifier); const componentsRegex = new RegExp( '([^:$#/]*)' + // value (stops at the first separator or end) '([:$#]?)([^/]*)' // modifier separator, modifier (stops at the first path separator or end) ); - const [proto, value, modifierSeperator, modifier] = componentsRegex + const [, value, modifierSeperator, modifier] = componentsRegex .exec(identifier) .map(match => match || null); - logger.debug(`${proto}, ${value}, ${modifierSeperator}, ${modifier}`); // Validate and process name if (!value) { @@ -56,15 +52,13 @@ module.exports = { }; }, parseClaim: function (claim) { - logger.debug('parsing name:', claim); const componentsRegex = new RegExp( '([^:$#/.]*)' + // name (stops at the first modifier) '([:$#.]?)([^/]*)' // modifier separator, modifier (stops at the first path separator or end) ); - const [proto, claimName, modifierSeperator, modifier] = componentsRegex + const [, claimName, modifierSeperator, modifier] = componentsRegex .exec(claim) .map(match => match || null); - logger.debug(`${proto}, ${claimName}, ${modifierSeperator}, ${modifier}`); // Validate and process name if (!claimName) { @@ -86,18 +80,18 @@ module.exports = { // return results return { claimName, + extension: modifier || null, }; }, parseModifier: function (claim) { - logger.debug('parsing modifier:', claim); const componentsRegex = new RegExp( '([^:$#/.]*)' + // name (stops at the first modifier) '([:$#.]?)([^/]*)' // modifier separator, modifier (stops at the first path separator or end) ); - const [proto, claimName, modifierSeperator, modifier] = componentsRegex + const [ , , modifierSeperator ] = componentsRegex .exec(claim) .map(match => match || null); - logger.debug(`${proto}, ${claimName}, ${modifierSeperator}, ${modifier}`); + // Validate and process modifier let hasFileExtension = false; if (modifierSeperator) { diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 00000000..5d40858a --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,51 @@ +const Path = require('path'); +const ExtractTextPlugin = require('extract-text-webpack-plugin'); +const createModuleAliases = require('./utils/createModuleAliases.js'); +const SCSS_ROOT = Path.join(__dirname, 'client/scss/'); + +const customAliases = createModuleAliases(); + +module.exports = { + target: 'web', + entry : ['babel-polyfill', 'whatwg-fetch', './client/build/index.js'], + output: { + path : Path.join(__dirname, 'public/bundle'), + publicPath: '/bundle/', + filename : 'bundle.js', + }, + module: { + rules: [ + { + test: /\.scss$/, + use : ExtractTextPlugin.extract({ + fallback: 'style-loader', + use : ['css-loader', 'sass-loader'], + }), + }, + { + test: /\.(png|jpg|gif|otf|ttf|svg)$/, + use : [ + { + loader : 'url-loader', + options: { + limit: 8192, + name : '[name]-[hash].[ext]', + }, + }, + ], + }, + ], + }, + resolve: { + modules: [ + SCSS_ROOT, + 'node_modules', + __dirname, + ], + alias : customAliases, + extensions: ['.js', '.jsx', '.scss'], + }, + plugins: [ + new ExtractTextPlugin('style.css'), + ], +};