diff --git a/api/v1/controllers/emissionController.js b/api/v1/controllers/emissionController.js index 92a5ba78b448868f76b7e6d678b474385717c7ea..e230330c0844f1748b06c7122e68fa9014bdbc37 100644 --- a/api/v1/controllers/emissionController.js +++ b/api/v1/controllers/emissionController.js @@ -1,13 +1,9 @@ -const Emission = require('../models/emissionModel'); - -const interpolate = (l1, l2, d) => { - for(let x = 0; x < l1.length; x++){ +var Emission = require('../models/emissionModel'); +var spline = require('cubic-spline'); +let interpolate = (l1, l2, d) => { + for(var x = 0; x < l1.length; x++){ if(d >= l1[x] && d < l1[x+1] && x < l1.length - 1){ - let l1Floor = l1[x]; - let l1Ceil = l1[x+1]; - let l2Floor = l2[x]; - let l2Ceil = l2[x+1]; - return l2Floor + ((l2Ceil - l2Floor)/(l1Ceil - l1Floor))*(d - l1Floor) + return spline(d,l1,l2) } if(d >= l1[l1.length-1]){ let slope=Math.abs((l2[l2.length-1]-l2[l2.length-2])/(l1[l1.length-1]-l1[l1.length-2])); @@ -65,7 +61,7 @@ let find = (component, region, quantity) => { for (let i = 0; i < numOfComponents; i++) { if(item.components[i].quantity.length > 1){ let getInterpolatedQuantity = await interpolate(item.quantity, item.components[i].quantity, quantity); - console.log(`Interpolated value = ${getInterpolatedQuantity}`) + console.log(`Interpolated value = ${getInterpolatedQuantity}`); await find(item.components[i].name, region, getInterpolatedQuantity) .then((emis) => { for(let i in emis){ @@ -104,11 +100,11 @@ let find = (component, region, quantity) => { }); } -exports.calculate = async function(a, b, c){ - let emissions = await find(a, b, c); - // round up the emission value up to 10 decimal points +exports.calculate = async function(itemName, region, quantity, multiply = 1){ + let emissions = await find(itemName, region, quantity); + // round up the emission value upto 10 decimal points for(let i in emissions){ - emissions[i] = parseFloat(emissions[i].toFixed(10)); + emissions[i] = parseFloat((emissions[i]*multiply).toFixed(10)); // remove CH4 or N2O key if emissions are zero if(!emissions[i] && i !== "CO2"){ delete emissions[i]; diff --git a/api/v1/controllers/helperFunctions.js b/api/v1/controllers/helperFunctions.js index 16ab00f195a9ff26caf8c320c64419aa100c8376..d9541aab04fe036ad82ae71669faf963a3f3d5c5 100644 --- a/api/v1/controllers/helperFunctions.js +++ b/api/v1/controllers/helperFunctions.js @@ -1,3 +1,15 @@ + +try { + var config = require('../../../config.json'); +} +catch(e){ + console.log(`File "config.json" is missing.`); +} +let api = config.apikeys; +//google map api client defined +let googleMapsClient = require('@google/maps').createClient({ + key: `${api.googlemap}` +}); exports.getDistanceFromLatLon = (lat1, lon1, lat2, lon2) => { let p = 0.017453292519943295; // Math.PI / 180 let c = Math.cos; @@ -5,4 +17,27 @@ exports.getDistanceFromLatLon = (lat1, lon1, lat2, lon2) => { c(lat1 * p) * c(lat2 * p) * (1 - c((lon2 - lon1) * p))/2; return 12742 * Math.asin(Math.sqrt(a)); // 2 * R; R = 6371 km -}; \ No newline at end of file +}; +//Using google map api to find distance. +exports.distance = (ori, dest, mod) => { + return new Promise((resolve, reject) => { + googleMapsClient.distanceMatrix({ + origins: [ + ori + ], + destinations: [ + dest + ], + mode: mod, + transit_mode: ['rail'], + transit_routing_preference: 'fewer_transfers' + }, function (status, response) { + if(response.json.status === 'OK' && response.json.rows[0].elements[0].status === 'OK'){ + resolve(response.json.rows[0].elements[0].distance.value/1000); + } + else { + reject("Unable to find the distance between the origin and destination points.") + } + }); + }); +}; diff --git a/api/v1/db_scripts/flights_db.js b/api/v1/db_scripts/flights_db.js index b2cc7fd41c7bb2ebd35b60b1a267574d85f8fc65..3e7e2c16a605b2575595d47b73dd96873659ea76 100644 --- a/api/v1/db_scripts/flights_db.js +++ b/api/v1/db_scripts/flights_db.js @@ -101,7 +101,7 @@ obj.item="airplane fuel"; obj.region="Default"; obj.quantity=[1]; obj.unit="kg"; -obj.categories=["flights"]; +obj.categories=["flights","transport"]; obj.components=[ { name: "CO2", diff --git a/api/v1/db_scripts/trains_db.js b/api/v1/db_scripts/trains_db.js new file mode 100644 index 0000000000000000000000000000000000000000..c3d1345bb2be21fcbd4f8a9fe39905f9b6a629d7 --- /dev/null +++ b/api/v1/db_scripts/trains_db.js @@ -0,0 +1,67 @@ +//run node trains_db.js to add data to db. +var mongoose = require('mongoose'); + +try{ + var config = require('../../../config.json'); +} +catch(err){ + console.error('Database configuration file \'config.json\' is missing.'); + process.exit(0); +} +var db = config.database; + +mongoose.connect(`mongodb://${db.username}:${db.password}@${db.hostname}:${db.port}/${db.dbname}`); + +mongoose.connection.on('connected',() => { + console.log('Connection to database established successfully'); +}); + +mongoose.connection.on('error',(err) => { + console.error('Error connecting to database: ${err}'); +}); + +mongoose.connection.on('disconnected',() => { + console.log('Database disconnected'); +}); + +var Emission = require('../models/emissionModel.js'); + +var obj = new Emission(); +var trainsData = require("../../../raw_data/trains.json"); + +for(items in trainsData){ + var obj = new Emission(); + obj.item = items; + obj.region = trainsData[items]['region']; + obj.quantity = trainsData[items]['quantity']; + obj.unit = 'km'; + obj.categories = ["trains",trainsData[items]['category']]; + obj.components = [ + { + name:'CO2', + quantity :[trainsData[items]['C02']], + unit : trainsData[items]['unit'] + }, + { + name:'NO2', + quantity:[trainsData[items]['NO2']], + unit:trainsData[items]['unit'] + }, + { + name:'CH4', + quantity:[trainsData[items]['CH4']], + unit:trainsData[items]['unit'] + } + ]; + save(obj,items); +} + +async function save(obj,items){ + await obj.save((err)=>{ + if(err) console.error(err); + else console.log("Object for item "+items + " saved successfully"); + + }); + // console.log(obj); +} +mongoose.connection.close(); diff --git a/api/v1/db_scripts/tree_db.js b/api/v1/db_scripts/tree_db.js new file mode 100644 index 0000000000000000000000000000000000000000..2f63e7ecbf528ae4b4246c6ea0f455150c3779aa --- /dev/null +++ b/api/v1/db_scripts/tree_db.js @@ -0,0 +1,51 @@ +//To run this script use "node tree_db.js" +// database setup +var mongoose = require('mongoose'); +// get the database configuration file +try { + var config = require('../../../config.json'); +} +catch(e){ + console.log(`Database configuration file "config.json" is missing.`); + process.exit(0); +} +var db = config.database; + +// connect to the database +mongoose.connect(`mongodb://${db.username}:${db.password}@${db.hostname}:${db.port}/${db.dbname}`); + +// When successfully connected +mongoose.connection.on('connected', () => { + console.log('Connection to database established successfully'); +}); + +// If the connection throws an error +mongoose.connection.on('error', (err) => { + console.log('Error connecting to database: ' + err); +}); + +// When the connection is disconnected +mongoose.connection.on('disconnected', () => { + console.log('Database disconnected'); +}); +var Emission = require('../models/emissionModel.js') +var json = require('../../../raw_data/trees.json'); +for(js in json.treeData){ + var obj = new Emission(); + obj.item=js; + obj.region="Default"; + obj.quantity=[1]; + obj.unit="year"; + obj.categories=["trees"]; + obj.components=[ + { + name: "CO2", + quantity: [json.treeData[js]], + unit: "kg" + }] + obj.save(function(err){ + if ( err ) throw err; + console.log("Object Saved Successfully"); + }); + console.log(obj); +} diff --git a/api/v1/db_scripts/vehicle_db.js b/api/v1/db_scripts/vehicle_db.js index 7f1f9845a2356134d97e3b8e5dc0a1d951d8dc1b..d08755632a497e5c869e79e66d4aa33d8f5f6888 100644 --- a/api/v1/db_scripts/vehicle_db.js +++ b/api/v1/db_scripts/vehicle_db.js @@ -36,7 +36,7 @@ for(js in json){ obj.region="Default"; obj.quantity=[1]; obj.unit="L"; - obj.categories=["vehicle"]; + obj.categories=["vehicle","transport"]; obj.components=[ { name: "CO2", diff --git a/api/v1/routes/emissionRoutes.js b/api/v1/routes/emissionRoutes.js index b422dbbff4366bc26a1ebaf06352d45381af94d7..1f57c8e723f475002e9bfa80521443a61ad759e5 100644 --- a/api/v1/routes/emissionRoutes.js +++ b/api/v1/routes/emissionRoutes.js @@ -9,7 +9,8 @@ router.post('/emissions', (req, res) => { let itemName = req.body["item"]; let region = req.body["region"] || "Default"; let quantity = req.body["quantity"] || 1; - Emission.calculate(itemName, region, quantity) + let multiply = req.body["multiply"] || 1; + Emission.calculate(itemName, region, quantity, multiply) .then((emissions) => { console.log(`\nTotal Emissions: ${emissions}`); res.status(200).json({ @@ -76,31 +77,46 @@ router.post('/flight', (req, res) => { }); -router.post('/vehicle', (req, res) => { +router.post('/vehicle', async (req, res) => { let type = req.body.type || 'Diesel'; - let distance = req.body.distance; + let origin = req.body.origin; + let destination = req.body.destination; let unit = req.body.unit || 'km'; let mileage = parseFloat(req.body.mileage) || 20; let mileage_unit = req.body.mileage_unit || 'km/L'; - if (distance){ - let fuelConsumed = distance/mileage; - Emission.calculate(`fuel${type}`, 'Default', fuelConsumed) - .then((emissions) => { - console.log(`Emissions: ${emissions}`); - res.status(200).json({ - success: true, - emissions: emissions, - unit: 'kg' - }); - }) - .catch((err) => { - console.log(`Error: ${err}`); - res.json({ - success: false, - err: `Unable to find emissions for fuel type ${type}` - }); - }); + if (origin && destination){ + let distance = Helper.distance(origin,destination,'driving'); + distance + .then((val) => { + console.log("CalculatedDistance= " + val); + let fuelConsumed = val/mileage; + console.log(fuelConsumed); + Emission.calculate(`fuel${type}`, 'Default', fuelConsumed) + .then((emissions) => { + console.log(`Emissions: ${JSON.stringify(emissions, null ,4)}`); + res.status(200).json({ + success: true, + emissions: emissions, + unit: 'kg' + }); + }) + .catch((err) => { + console.log(`Error: ${err}`); + res.json({ + success: false, + err: `Unable to find emissions for fuel type ${type}` + }); + }); + }) + .catch((err) => { + console.log(`Error: ${err}`); + res.json({ + success: false, + err: err + }); + }); + } else { res.status(400).json({ @@ -110,6 +126,53 @@ router.post('/vehicle', (req, res) => { } }); +router.post('/trains', async (req, res) => { + let type = req.body.type || 'railcars'; + let region = req.body.region || 'Default'; + let origin = req.body.origin; + let destination = req.body.destination; + let passengers = req.body.passengers || 1; + + if (origin && destination){ + let distance = Helper.distance(origin,destination,'transit'); + distance + .then((val) => { + console.log("CalculatedDistance= " + val); + console.log("CalculatedPassengers= " + passengers); + Emission.calculate(type ,'Default', val ,passengers) + .then((emissions) => { + console.log(`Emissions: ${JSON.stringify(emissions, null ,4)}`); + res.status(200).json({ + success: true, + emissions: emissions, + unit: 'kg' + }); + }) + .catch((err) => { + console.log(`Error: ${err}`); + res.json({ + success: false, + err: `Unable to find emissions for fuel type ${type}` + }); + }); + }) + .catch((err) => { + console.log(`Error: ${err}`); + res.json({ + success: false, + err: err + }); + }); + + } + else { + res.status(400).json({ + success: false, + error: 'Distance cannot be less than zero' + }); + } +}); + module.exports = router; //curl test- curl -H "Content-Type: application/json" -X POST -d '{"item":"electricity","region":"Africa","unit":"kWh","quantity":1}' http://localhost:3080/v1/emissions //curl test- curl -H "Content-Type: application/json" -X POST -d '{"item":"airplane model A380","region":"Default","unit":"nm","quantity":125}' http://localhost:3080/v1/emissions diff --git a/app.js b/app.js index 6a139d1a595d26673e811f4dba3873a099ba3e64..c0cafc97b0abd8123a27e8e6f9d9fb50472b26bd 100644 --- a/app.js +++ b/app.js @@ -37,9 +37,10 @@ mongoose.connection.on('disconnected', () => { }); // get different routes required +var index = require('./routes/index') var emissions = require('./api/v1/routes/emissionRoutes'); var dashboard = require('./routes/dashboard'); - +var electricity = require('./routes/electricity'); var app = express(); app.use(bodyParser.json()); // support json encoded bodies app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies @@ -70,7 +71,9 @@ v1.use('/', emissions); // Use v1 router for all the API requests adhering to version 1 app.use('/v1', v1); // show the API dashboard +app.use('/', index); app.use('/dashboard', dashboard); +app.use('/electricity',electricity); // catch 404 and forward to error handler app.use((req, res, next) => { diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index d7c8a0af6d561466fb8126ce1f6397a5622a26c0..89adc087f45cbdff39b5b19e0a367c3218decdda 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -5,3 +5,4 @@ * [Transport](transport/README.md) * [Flights](transport/flights.md) * [Vehicles](transport/vehicle.md) + * [Trains](transport/trains.md) \ No newline at end of file diff --git a/docs/emissions.md b/docs/emissions.md index 83366fa2dc6bc68f844b44ec3939d6588ab3ab74..0d3ace84dd233ada143fd37854a4962111056d90 100644 --- a/docs/emissions.md +++ b/docs/emissions.md @@ -43,6 +43,7 @@ Method - __POST__ ### 2. Airplane fuel - Airplane fuel converts the distance flown by a particular air plane to corresponing CO2 emission. + Sample request JSON Method-__POST__ @@ -72,7 +73,6 @@ Method-__POST__ "error": "Unable to find component alpha for Default" } ``` - ### 3. Vehicle Fuel - Emission route can be requested with fuel quantity and type and unit , to return the GHG emission generated on the consumption of the same.The fuels that we currently support are listed [here](https://gitlab.com/aossie/CarbonFootprint/blob/master/Source/Core/core/resources/fuels.json). @@ -107,6 +107,74 @@ Method - __POST__ "error": "Unable to find component alpha for Default" } ``` +### 4. Trains - +Emission route can provide you with the emission generated from a train journey, provided with the distance of the journey.Here the item is the the train type and multiply signifies the number of passengers. + +Sample request JSON + +Method-__POST__ +```JSON +{ + "item":"railcars", + "region":"Default", + "quantity": 1000, + "unit": "kg/km", + "multiply": 3 +} +``` +**Response Code** + +`200` - Valid Request +```JSON +{ + "success": true, + "emissions": { + "CO2": 123.6 + }, + "unit": "kg" +} +``` +`400` - Error +```JSON +{ + "success": false, + "error": "Unable to find component alpha for Default" +} +``` +### 5. Trees - +Emission route can be requested with tree name and the number of years to find out the CO2 emisson from it per year.The trees that we currently support are listed [here](https://gitlab.com/aossie/CarbonFootprint/blob/master/Source/Core/core/resources/trees.json). + +Sample Request JSON + +Method - __POST__ +```JSON +{ + "item":"Cherry", + "region":"Default", + "quantity": 1, + "unit": "year" +} +``` +**Response Code** + +`200` - Valid Request +```JSON +{ + "success": true, + "emissions": { + "CO2": 26.9 + }, + "unit": "kg" +} +``` +`400` - Error +```JSON +{ + "success": false, + "error": "Unable to find component alpha for Default" +} +``` + {% sample lang="http" %} @@ -121,5 +189,6 @@ POST /v1/vehicle | region<br><span style="color:red">_required_ </span> | string | Distance travelled by the vehicle. | | quantity <br><span style="color:red">_required_ </span> | number | The number of units of the item for which emissions are to be calculated. | | unit | string | The unit of the element for which emissions are to be calculated. | +| multiply | number | If emissions are to be found for multiple elements. | {% endmethod %} diff --git a/docs/transport/trains.md b/docs/transport/trains.md new file mode 100644 index 0000000000000000000000000000000000000000..38efcbc6bda75bf563a83487715b809da2894f57 --- /dev/null +++ b/docs/transport/trains.md @@ -0,0 +1,46 @@ +# Trains Endpoint + +{% method %} +This route enables you to find GHG emissions for a number of train types for a certain route.The distance is calculated using [Google Map Distant Matrix API](https://developers.google.com/maps/documentation/javascript/distancematrix). The trains that we currently support are listed [here](https://gitlab.com/aossie/CarbonFootprint-API/blob/master/raw_data/trains.json). + +**Example** +```JSON +{ + "type":"railcars", + "origin":"Bhubaneswar", + "destination":"Delhi", + "passengers":10 +} +``` +`200` - **Response** +```JSON +{ + "success": true, + "emissions": { + "CO2": 750.104916 + }, + "unit": "kg" +} +``` +`400` - **Error** +```JSON +{ + "success": false, + "error": "Distance cannot be less than zero" +} +``` +{% sample lang="http" %} +``` +POST /v1/trains +``` +**Parameters** + +| Name | Type | Description | +| ------------- |-------------| -----| +| type | string | **Required:** The fuel type used by the vehicle.| +| origin | string | **Required:** Origin of the journey. | +| destination | string | **Required:** Destination of the journey. | +| region | string | Origin of the journey. The default sets to 'Default'. | +| passengers | number | The number of passengers travelling in the journey.The default sets to 1. | + +{% endmethod %} diff --git a/docs/transport/vehicle.md b/docs/transport/vehicle.md index dadaef403907a6e81db16d4eab9548368e866587..bd16d1525082cd28f7f1a575f4b0967ce8ca1dc9 100644 --- a/docs/transport/vehicle.md +++ b/docs/transport/vehicle.md @@ -1,14 +1,14 @@ # Vehicle Endpoint {% method %} -This route enables you to find GHG emissions for a number of fuels. The fuels that we currently support are listed [here](https://gitlab.com/aossie/CarbonFootprint/blob/master/Source/Core/core/resources/fuels.json). +This route enables you to find GHG emissions for a number of fuels.The distance is calculated using [Google Map Distant Matrix API](https://developers.google.com/maps/documentation/javascript/distancematrix). The fuels that we currently support are listed [here](https://gitlab.com/aossie/CarbonFootprint/blob/master/Source/Core/core/resources/fuels.json). **Example** ```JSON { "type": "Petrol", - "distance": 100, - "unit": "km", + "origin": "Bhubaneswar", + "destination": "Cuttack", "mileage": 50, "mileage_unit": "km/L" } @@ -18,9 +18,9 @@ This route enables you to find GHG emissions for a number of fuels. The fuels th { "success": true, "emissions": { - "CO2": 4.656, - "CH4": 0.005015, - "N2O": 0.0125756 + "CO2": 1.20362256, + "CH4": 0.0012964277, + "N2O": 0.0032509184 }, "unit": "kg" } @@ -41,8 +41,8 @@ POST /v1/vehicle | Name | Type | Description | | ------------- |-------------| -----| | type | string | **Required:** The fuel type used by the vehicle.| -| distance | number | **Required:** Distance travelled by the vehicle. | -| unit | string | Distance in SI unit. The default sets to 'km'. | +| origin | string | **Required:** Origin of the journey. | +| destination | string | **Required:** Destination of the journey. | | mileage | string | The fuel efficiency of the vehicle i.e. distance travelled per unit of fuel. The default value is 20. | | mileage_unit | string | The unit of mileage. The default sets to be 'km/L' | diff --git a/package-lock.json b/package-lock.json index 19e60bff84d6167ba0bffaabea9d0e13025be7df..ae5d5e3e94380eeb57694460b828391386b3b7c8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3,6 +3,11 @@ "version": "0.0.0", "lockfileVersion": 1, "dependencies": { + "@google/maps": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@google/maps/-/maps-0.4.1.tgz", + "integrity": "sha1-6lFGCDTlY/a17PQzaKI4TJEhYHQ=" + }, "abbrev": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", @@ -79,6 +84,11 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, "balanced-match": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", @@ -250,6 +260,11 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, + "cubic-spline": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cubic-spline/-/cubic-spline-1.0.4.tgz", + "integrity": "sha1-3iiXqllAKqj5E+QI6/95+b0XJ6w=" + }, "debug": { "version": "2.6.8", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz", @@ -1101,13 +1116,13 @@ } } }, - "string-width": { - "version": "1.0.2", + "string_decoder": { + "version": "0.10.31", "bundled": true, "dev": true }, - "string_decoder": { - "version": "0.10.31", + "string-width": { + "version": "1.0.2", "bundled": true, "dev": true }, @@ -1519,6 +1534,11 @@ "integrity": "sha1-cs/Ebj6NG+ZR4eu1Tqn26pbzdLs=", "dev": true }, + "lodash": { + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", + "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=" + }, "lodash._baseassign": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", @@ -1980,27 +2000,32 @@ }, "glob": { "version": "7.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.0.tgz", + "integrity": "sha1-OyCjV//89GuzhK7W+K6aZH/basQ=", "dev": true, "dependencies": { "minimatch": { "version": "3.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz", + "integrity": "sha1-UjYVelHk8ATBd/s8Un/33Xjw74M=", "dev": true, "dependencies": { "brace-expansion": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz", + "integrity": "sha1-Rr/1ARXUf8mriYVKu4fZgHihCZE=", "dev": true, "dependencies": { "balanced-match": { "version": "0.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz", + "integrity": "sha1-qRzdHr7xqGZZ5w/03vAWJfwtZ1Y=", "dev": true }, "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=", "dev": true } } @@ -2009,7 +2034,8 @@ }, "path-is-absolute": { "version": "1.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz", + "integrity": "sha1-Jj2tpmqz8vsQv3+dJN2PPlcO+RI=", "dev": true } } @@ -2123,17 +2149,20 @@ }, "lodash._baseuniq": { "version": "4.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.4.0.tgz", + "integrity": "sha1-pEUpQ0ei9TEfWF/jIlZEUwubj64=", "dev": true, "dependencies": { "lodash._root": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", "dev": true }, "lodash._setcache": { "version": "4.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash._setcache/-/lodash._setcache-4.1.0.tgz", + "integrity": "sha1-7MSHGTRvr2ZzQ7OQtFcqMGPzgnw=", "dev": true } } @@ -2177,12 +2206,14 @@ }, "lodash.isarray": { "version": "4.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-4.0.0.tgz", + "integrity": "sha1-KspJayjEym1yZxUxNZDALm6jRAM=", "dev": true }, "lodash.keys": { "version": "4.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.0.3.tgz", + "integrity": "sha1-9pi7de365vaQ254RkIFXcy/ns0I=", "dev": true }, "lodash.restparam": { @@ -2500,7 +2531,8 @@ }, "once": { "version": "1.3.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", + "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", "dev": true }, "opener": { @@ -2630,7 +2662,8 @@ }, "readable-stream": { "version": "2.0.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz", + "integrity": "sha1-okJvjc1FUcd6M/lu3yiGojyClmk=", "dev": true, "dependencies": { "core-util-is": { @@ -2647,7 +2680,8 @@ }, "process-nextick-args": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz", + "integrity": "sha1-D5awAc6pCxJZLOVm7bl+wR5pvQU=", "dev": true }, "string_decoder": { @@ -2658,7 +2692,8 @@ }, "util-deprecate": { "version": "1.0.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true } } @@ -2995,12 +3030,14 @@ }, "retry": { "version": "0.9.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/retry/-/retry-0.9.0.tgz", + "integrity": "sha1-b2l+UKDk3cjI9/tUeptg3q1DZ40=", "dev": true }, "rimraf": { "version": "2.5.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz", + "integrity": "sha1-YrqUf6TAtDY4Oa7+zU8PutYFlyY=", "dev": true }, "semver": { @@ -4157,7 +4194,8 @@ }, "semver": { "version": "5.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz", + "integrity": "sha1-hfLPhVBGXE3wAM99hvawVBBqueU=", "dev": true }, "sha": { @@ -4742,18 +4780,18 @@ "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", "dev": true }, - "string-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", - "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", - "dev": true - }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", "dev": true }, + "string-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", + "integrity": "sha1-VpcPscOFWOnnC3KL894mmsRa36w=", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", diff --git a/package.json b/package.json index dcfa912a8c98a46c7e86cb33e4c40e7737ba1c4b..3e529a61bbd4798e42ed2240ef355694eecd7ad1 100644 --- a/package.json +++ b/package.json @@ -7,11 +7,15 @@ "test": "mocha --timeout 10000" }, "dependencies": { + "@google/maps": "^0.4.1", + "asynckit": "^0.4.0", "body-parser": "~1.16.0", "cookie-parser": "~1.4.3", + "cubic-spline": "^1.0.4", "debug": "~2.6.0", "ejs": "~2.5.5", "express": "~4.14.1", + "lodash": "^4.17.4", "mongoose": "^4.10.4", "morgan": "^1.7.0", "serve-favicon": "~2.3.2" diff --git a/public/images/electricity.jpg b/public/images/electricity.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f0bd93b4802e03f887f8858dd43294da8e8cf13c Binary files /dev/null and b/public/images/electricity.jpg differ diff --git a/raw_data/trains.json b/raw_data/trains.json new file mode 100644 index 0000000000000000000000000000000000000000..3b5bade7134e512880ab7eb30eac6f10042e295b --- /dev/null +++ b/raw_data/trains.json @@ -0,0 +1,200 @@ +{ + "railcars" : { + "C02" : 0.0412, + "NO2" : 0, + "CH4" : 0, + "region" : "Default", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 443 + }, + "freight" : { + "C02" : 0.0191, + "NO2" : 0, + "CH4" : 0, + "region" : "Default", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 1225 + }, + "intercites" : { + "C02" : 0.0108, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 992 + }, + "tgv" : { + "C02" : 0.0032, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 516 + }, + "tgv-lyria" : { + "C02" : 0.0032, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 516 + }, + "lyria" : { + "C02" : 0.0032, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 426 + }, + "idtgv" : { + "C02" : 0.0032, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 556 + }, + "ouigo" : { + "C02" : 0.0032, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 556 + }, + "transilien" : { + "C02" : 0.0058, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 556 + }, + "rer" : { + "C02" : 0.0058, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 516 + }, + "ter" : { + "C02" : 0.0297, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 124 + }, + "thalys" : { + "C02" : 0.0116, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 351 + }, + "eurostar" : { + "C02" : 0.0082, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 694 + }, + "elipsos" : { + "C02" : 0.027, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 88 + }, + "gala" : { + "C02" : 0.012, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 465 + }, + "alleo" : { + "C02" : 0.0113, + "NO2" : 0, + "CH4" : 0, + "region" : "France", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 425 + }, + "railcars-india" : { + "C02" : 0.0412, + "NO2" : 0, + "CH4" : 0, + "region" : "India", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 1240 + }, + "freight-india" : { + "C02" : 0.0191, + "NO2" : 0, + "CH4" : 0, + "region" : "India", + "category" : "transport", + "method" : "simple", + "quantity" : [1], + "unit" : "kg/km", + "M.F.(multiply factor)" : 1225 + } +} diff --git a/public/data/trees.json b/raw_data/trees.json similarity index 100% rename from public/data/trees.json rename to raw_data/trees.json diff --git a/routes/electricity.js b/routes/electricity.js new file mode 100644 index 0000000000000000000000000000000000000000..a39bdc08d59ac3f2af0e8ebcb6a0ab5ad5764e0d --- /dev/null +++ b/routes/electricity.js @@ -0,0 +1,9 @@ +var express = require('express'); +var router = express.Router(); + +/* GET home page. */ +router.get('/', function(req, res, next) { + res.render('electricity'); +}); + +module.exports = router; diff --git a/test/emission_test.js b/test/emission_test.js index c36cb139d42c45328c41d6b774db2e988fcd8b3a..3760d5abf5ae0e8e685b5db38a66a353c489c25a 100644 --- a/test/emission_test.js +++ b/test/emission_test.js @@ -68,6 +68,20 @@ describe("API endpoint testing", () => { }); }); + it("Testing for trees - should return correct values for Cherry tree for 2 years annd 10 trees", (done) => { + server + .post('/v1/emissions') + .send({"item":"Cherry","region":"Default","unit":"years","quantity":2,"multiply":10}) + .expect("Content-type", /json/) + .expect(200) + .end((err, res) => { + res.status.should.equal(200); + res.body.success.should.equal(true); + res.body.emissions["CO2"].should.equal(538); + done(); + }); + }); + it("should return correct values for flight emissions", (done) => { server .post('/v1/emissions') @@ -91,7 +105,7 @@ describe("API endpoint testing", () => { .end((err, res) => { res.status.should.equal(200); res.body.success.should.equal(true); - res.body.emissions["CO2"].should.equal(220.715888); + res.body.emissions["CO2"].should.equal(220.6954654213); done(); }); }); @@ -109,4 +123,32 @@ describe("API endpoint testing", () => { done(); }); }); + + it("Testing for vhicles - should return correct values for vehicle emissions for a two location points , testing map api", (done) => { + server + .post('/v1/vehicle') + .send({"type": "Petrol","origin": "Bhubaneswar","destination": "Cuttack","mileage": 50,"mileage_unit": "km/L"}) + .expect("Content-type", /json/) + .expect(200) + .end((err, res) => { + res.status.should.equal(200); + res.body.success.should.equal(true); + res.body.emissions["CO2"].should.equal(1.20362256); + done(); + }); + }); + + it("Testing for trains - should return correct values for train emissions for a two location points , testing map api", (done) => { + server + .post('/v1/trains') + .send({"type":"railcars","origin":"Bhubaneswar","destination":"Delhi","passengers":10}) + .expect("Content-type", /json/) + .expect(200) + .end((err, res) => { + res.status.should.equal(200); + res.body.success.should.equal(true); + res.body.emissions["CO2"].should.equal(718.86584); + done(); + }); + }); }); diff --git a/views/electricity.ejs b/views/electricity.ejs new file mode 100644 index 0000000000000000000000000000000000000000..1fdf66787ad34466ac99ff12265887711d5c91c2 --- /dev/null +++ b/views/electricity.ejs @@ -0,0 +1,229 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + + <meta charset="utf-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <meta name="description" content=""> + <meta name="author" content=""> + + <title>Carbon Emission Per Capita</title> + + <!-- Bootstrap Core CSS --> + <link href="../vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet"> + + <!-- MetisMenu CSS --> + <link href="../vendor/metisMenu/metisMenu.min.css" rel="stylesheet"> + + <!-- Custom CSS --> + <link href="../dist/css/sb-admin-2.css" rel="stylesheet"> + + <!-- Custom Fonts --> + <link href="../vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css"> + + <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> + <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> + <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> + <![endif]--> + +</head> + +<body> +<style> /* set the CSS */ + +.bar { fill: steelblue; } + +</style> + + <div id="wrapper"> + + <!-- Navigation --> + <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0"> + <div class="navbar-header"> + <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> + <span class="sr-only">Toggle navigation</span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + <span class="icon-bar"></span> + </button> + <a class="navbar-brand" href="#">Per Capita Carbon Emissions Data By Country</a> + </div> + + + <div style="overflow-y:auto;height:100vh;" class="navbar-default sidebar" role="navigation"> + <div class="sidebar-nav navbar-collapse"> + <ul class="nav" id="myUL"> + <li class="sidebar-search"> + <div class="input-group custom-search-form"> + <input type="text" id="myInput" onkeyup="myFunction()" class="form-control" placeholder="Search..."> + <span class="input-group-btn"> + <button class="btn btn-default" type="button"> + <i class="fa fa-search"></i> + </button> + </span> + </div> + <!-- /input-group --> + </li> + + + + </ul> + </div> + <!-- /.sidebar-collapse --> + </div> + <!-- /.navbar-static-side --> + </nav> + + <div id="page-wrapper"> + <div class="row"> + <!-- /.col-lg-12 --> + </div> + <!-- /.row --> + + <!-- /.row --> + <div class="row"> + <div class="col"> + <div class="panel panel-default"> + <div class="panel-heading" > + <i class="fa fa-bar-chart-o fa-fw"></i> + Carbon dioxide emissions (CO2), metric tons of CO2 per capita (CDIAC) + </div> + <!-- /.panel-heading --> + <div class="panel-body" id="container1"></div> + + + + </div> + <!-- /.panel-body --> + </div> + + </div> + <div class="center-block"><a href="https://mdgs.un.org/unsd/mdg/SeriesDetail.aspx?srid=751" class="btn btn-success pull-right">Data Source</a> + </div> + + <!-- /.col-lg-8 --> + + + <!-- /.panel-heading --> + + <!-- /.panel-body --> + + <!-- /.panel-footer --> + </div> + <!-- /.panel .chat-panel --> + </div> + <!-- /.col-lg-4 --> + </div> + <!-- /.row --> + </div> + <!-- /#page-wrapper --> + + </div> + <!-- /#wrapper --> + + <!-- jQuery --> + <script src="//d3js.org/d3.v4.min.js"></script> + + <script src="../vendor/jquery/jquery.min.js"></script> + + <!-- Bootstrap Core JavaScript --> + <script src="../../dist/js/bootstrap.min.js"></script> + + <!-- Metis Menu Plugin JavaScript --> + <script src="../vendor/metisMenu/metisMenu.min.js"></script> + + + + <!-- Custom Theme JavaScript --> + <script src="../dist/js/sb-admin-2.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.5.3/d3.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/topojson/1.6.9/topojson.min.js"></script> + <script src="https://cdnjs.cloudflare.com/ajax/libs/datamaps/0.5.8/datamaps.all.js"></script> + +<script> + // example data from server + var series = [ + ["BLR",75],["BLZ",43],["RUS",50],["RWA",88],["SRB",21],["TLS",43], + ["REU",21],["TKM",19],["TJK",60],["ROU",4],["TKL",44],["GNB",38], + ["GUM",67],["GTM",2],["SGS",95],["GRC",60],["GNQ",57],["GLP",53], + ["JPN",190],["GUY",24],["GGY",4],["GUF",21],["GEO",42],["GRD",65], + ["GBR",14],["GAB",47],["SLV",15],["GIN",19],["GMB",63],["GRL",56], + ["ERI",57],["MNE",93],["MDA",39],["MDG",71],["MAF",16],["MAR",8], + ["MCO",25],["UZB",81],["MMR",21],["MLI",95],["MAC",33],["MNG",93], + ["MHL",15],["MKD",52],["MUS",19],["MLT",69],["MWI",37],["MDV",44], + ["MTQ",13],["MNP",21],["MSR",89],["MRT",20],["IMN",72],["UGA",59], + ["TZA",62],["MYS",75],["MEX",80],["ISR",77],["FRA",54],["IOT",56], + ["SHN",91],["FIN",51],["FJI",22],["FLK",4],["FSM",69],["FRO",70], + ["NIC",66],["NLD",53],["NOR",7],["NAM",63],["VUT",15],["NCL",66], + ["NER",34],["NFK",33],["NGA",45],["NZL",96],["NPL",21],["NRU",13], + ["NIU",6],["COK",19],["XKX",32],["CIV",27],["CHE",65],["COL",64], + ["CHN",16],["CMR",70],["CHL",15],["CCK",85],["CAN",76],["COG",20], + ["CAF",93],["COD",36],["CZE",77],["CYP",65],["CXR",14],["CRI",31], + ["CUW",67],["CPV",63],["CUB",40],["SWZ",58],["SYR",96],["SXM",31]]; + + + // Datamaps expect data in format: + // { "USA": { "fillColor": "#42a844", numberOfWhatever: 75}, + // "FRA": { "fillColor": "#8dc386", numberOfWhatever: 43 } } + var dataset = {}; + + // We need to colorize every country based on "numberOfWhatever" + // colors should be uniq for every value. + // For this purpose we create palette(using min/max series-value) + var onlyValues = series.map(function(obj){ return obj[1]; }); + var minValue = Math.min.apply(null, onlyValues), + maxValue = Math.max.apply(null, onlyValues); + + // create color palette function + // color can be whatever you wish + var paletteScale = d3.scale.linear() + .domain([minValue,maxValue]) + .range(["#EFEFFF","#02386F"]); // blue color + + // fill dataset in appropriate format + series.forEach(function(item){ // + // item example value ["USA", 70] + var iso = item[0], + value = item[1]; + dataset[iso] = { numberOfThings: value, fillColor: paletteScale(value) }; + }); + + // render map + new Datamap({ + element: document.getElementById('container1'), + projection: 'mercator', // big world map + // countries don't listed in dataset will be painted with this color + fills: { defaultFill: '#F5F5F5' }, + data: dataset, + geographyConfig: { + borderColor: '#DEDEDE', + highlightBorderWidth: 2, + // don't change color on mouse hover + highlightFillColor: function(geo) { + return geo['fillColor'] || '#F5F5F5'; + }, + // only change border + highlightBorderColor: '#B7B7B7', + // show desired information in tooltip + popupTemplate: function(geo, data) { + // don't show tooltip if country don't present in dataset + if (!data) { return ; } + // tooltip content + return ['<div class="hoverinfo">', + '<strong>', geo.properties.name, '</strong>', + '<br>Count: <strong>', data.numberOfThings, '</strong>', + '</div>'].join(''); + } + } + }); +</script> + +</body> + +</html> + + diff --git a/views/index.ejs b/views/index.ejs index dd43d4669824022f743665cb494c958fd19b8ade..6e5e2f674bff0abd3caaa98d7cf40a95418f5b88 100644 --- a/views/index.ejs +++ b/views/index.ejs @@ -68,15 +68,22 @@ <div class="caption"> <h3>Per Capita Carbon Emissions</h3> <p>Find out the latest annual per-capita carbon dioxide (CO2) emissions by country, from the United Nations Millenium Development Goals Indicators.</p> - <p align="right"><a href="/percap" class="btn btn-primary" role="button">Knowmore</a></p> + <p align="right"><a href="/dashboard" class="btn btn-primary" role="button">Knowmore</a></p> </div> </div> </div> + <!-- Link to electricity world map --> + <div class="col-sm-6 col-md-4"> + <div class="thumbnail"> + <img src="../../images/electricity.jpg" alt="..."> + <div class="caption"> + <h3>Electricty Consumption Emissions</h3> + <p>Find out the emissions generated from Electricity Consumption around the World.</p> + <p align="right"><a href="/electricity" class="btn btn-primary" role="button">Knowmore</a></p> + </div> + </div> </div> - - - - + </div> <!-- /container --> diff --git a/yarn.lock b/yarn.lock index 05310d49656edcfcce33552a1bb1a9242325678b..27c51503339cc6e9413c6facae0f37881f47574e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,9 +2,13 @@ # yarn lockfile v1 -abbrev@1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" +"@google/maps@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@google/maps/-/maps-0.4.1.tgz#ea51460834e563f6b5ecf43368a2384c91216074" + +abbrev@1, abbrev@~1.0.7, abbrev@~1.0.9: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" accepts@~1.3.3: version "1.3.3" @@ -28,6 +32,18 @@ ansi-styles@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" +ansi@^0.3.0, ansi@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/ansi/-/ansi-0.3.1.tgz#0c42d4fb17160d5a9af1e484bace1c66922c1b21" + +ansicolors@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.3.2.tgz#665597de86a9ffe3aa9bfbe6cae5c6ea426b4979" + +ansistyles@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ansistyles/-/ansistyles-0.1.3.tgz#5de60415bda071bb37127854c864f41b23254539" + anymatch@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507" @@ -35,9 +51,13 @@ anymatch@^1.3.0: arrify "^1.0.0" micromatch "^2.1.5" -aproba@^1.0.3: - version "1.1.1" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.1.tgz#95d3600f07710aa0e9298c726ad5ecf2eacbabab" +aproba@^1.0.3, aproba@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.0.4.tgz#2713680775e7614c8ba186c065d4e2e52d1072c0" + +archy@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" are-we-there-yet@~1.1.2: version "1.1.4" @@ -60,6 +80,13 @@ array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" +array-index@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-index/-/array-index-1.0.0.tgz#ec56a749ee103e4e08c790b9c353df16055b97f9" + dependencies: + debug "^2.2.0" + es6-symbol "^3.0.2" + array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" @@ -68,6 +95,10 @@ arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" +asap@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" + asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -88,7 +119,13 @@ async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" -async@2.1.4: +async-some@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/async-some/-/async-some-1.0.2.tgz#4d8a81620d5958791b5b98f802d3207776e95509" + dependencies: + dezalgo "^1.0.2" + +async@2.1.4, async@^2.0.1: version "2.1.4" resolved "https://registry.yarnpkg.com/async/-/async-2.1.4.tgz#2d2160c7788032e4dd6cbe2502f1f9a2c8f6cde4" dependencies: @@ -114,6 +151,10 @@ balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" +bash-color@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/bash-color/-/bash-color-0.0.4.tgz#e9be8ce33540cada4881768c59bd63865736e913" + basic-auth@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-1.1.0.tgz#45221ee429f7ee1e5035be3f51533f1cdfd29884" @@ -128,7 +169,19 @@ binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" -block-stream@*: +bl@~1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e" + dependencies: + readable-stream "~2.0.5" + +bl@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.1.2.tgz#fdca871a99713aa00d19e3bbba41c44787a65398" + dependencies: + readable-stream "~2.0.5" + +block-stream@*, block-stream@0.0.9: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: @@ -178,14 +231,30 @@ bson@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/bson/-/bson-1.0.4.tgz#93c10d39eaa5b58415cbc4052f3e53e562b0b72c" -buffer-shims@~1.0.0: +buffer-shims@^1.0.0, buffer-shims@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtins@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-0.0.7.tgz#355219cd6cf18dbe7c01cc7fd2dce765cfdc549a" + +builtins@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" + bytes@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.4.0.tgz#7d97196f9d5baf7f6935e25985549edd2a6c2339" +caseless@~0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.11.0.tgz#715b96ea9841593cc33067923f5ec60ebda4f7d7" + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -208,7 +277,7 @@ chai@^3.5.0: deep-eql "^0.1.3" type-detect "^1.0.0" -chalk@^1.0.0: +chalk@^1.0.0, chalk@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -218,6 +287,14 @@ chalk@^1.0.0: strip-ansi "^3.0.0" supports-color "^2.0.0" +char-spinner@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/char-spinner/-/char-spinner-1.0.1.tgz#e6ea67bd247e107112983b7ab0479ed362800081" + +chmodr@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/chmodr/-/chmodr-1.0.2.tgz#04662b932d0f02ec66deaa2b0ea42811968e3eb9" + chokidar@^1.4.3: version "1.7.0" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" @@ -233,6 +310,21 @@ chokidar@^1.4.3: optionalDependencies: fsevents "^1.0.0" +chownr@^1.0.1, chownr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +clone@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" + +cmd-shim@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-2.0.2.tgz#6fcbda99483a8fd15d7d30a196ca69d688a2efdb" + dependencies: + graceful-fs "^4.1.2" + mkdirp "~0.5.0" + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -241,6 +333,13 @@ code-point-at@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" +columnify@~1.5.4: + version "1.5.4" + resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" + dependencies: + strip-ansi "^3.0.0" + wcwidth "^1.0.0" + combined-stream@^1.0.5, combined-stream@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" @@ -261,6 +360,12 @@ commander@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" +commander@2.9.0, commander@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" + dependencies: + graceful-readlink ">= 1.0.0" + component-emitter@1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" @@ -273,6 +378,21 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" +concat-stream@^1.4.6, concat-stream@^1.5.2: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +config-chain@~1.1.10: + version "1.1.11" + resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2" + dependencies: + ini "^1.3.4" + proto-list "~1.2.1" + configstore@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/configstore/-/configstore-1.4.0.tgz#c35781d0501d268c25c54b8b17f6240e8a4fb021" @@ -331,6 +451,12 @@ cryptiles@2.x.x: dependencies: boom "2.x.x" +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -355,6 +481,10 @@ debug@2.6.1: dependencies: ms "0.7.2" +debuglog@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" + deep-eql@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" @@ -365,6 +495,12 @@ deep-extend@~0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" +defaults@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + delayed-stream@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f" @@ -385,6 +521,13 @@ destroy@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" +dezalgo@^1.0.0, dezalgo@^1.0.1, dezalgo@^1.0.2, dezalgo@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" + dependencies: + asap "^2.0.0" + wrappy "1" + diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" @@ -408,6 +551,10 @@ ecc-jsbn@~0.1.1: dependencies: jsbn "~0.1.0" +editor@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/editor/-/editor-1.0.0.tgz#60c7f87bd62bcc6a894fa8ccd6afb7823a24f742" + ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -426,10 +573,32 @@ end-of-stream@1.0.0: dependencies: once "~1.3.0" +es5-ext@^0.10.14, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.23" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.23.tgz#7578b51be974207a5487821b56538c224e4e7b38" + dependencies: + es6-iterator "2" + es6-symbol "~3.1" + +es6-iterator@2: + version "2.0.1" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.1.tgz#8e319c9f0453bf575d374940a655920e59ca5512" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-symbol "^3.1" + es6-promise@3.2.1, es6-promise@^3.0.2: version "3.2.1" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.2.1.tgz#ec56233868032909207170c39448e24449dd1fc4" +es6-symbol@^3.0.2, es6-symbol@^3.1, es6-symbol@~3.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -569,6 +738,14 @@ form-data@^2.1.1, form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" +form-data@~1.0.0-rc3, form-data@~1.0.0-rc4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-1.0.1.tgz#ae315db9a4907fa065502304a66d7733475ee37c" + dependencies: + async "^2.0.1" + combined-stream "^1.0.5" + mime-types "^2.1.11" + formidable@1.0.14: version "1.0.14" resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.0.14.tgz#2b3f4c411cbb5fdd695c44843e2a23514a43231a" @@ -589,6 +766,33 @@ from@~0: version "0.1.7" resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" +fs-extra@0.26.5: + version "0.26.5" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.26.5.tgz#53ac74667ca083fd2dc1712c813039ca32d69a7f" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" + +fs-vacuum@~1.2.7, fs-vacuum@~1.2.9: + version "1.2.10" + resolved "https://registry.yarnpkg.com/fs-vacuum/-/fs-vacuum-1.2.10.tgz#b7629bec07a4031a2548fdf99f5ecf1cc8b31e36" + dependencies: + graceful-fs "^4.1.2" + path-is-inside "^1.0.1" + rimraf "^2.5.2" + +fs-write-stream-atomic@~1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" + dependencies: + graceful-fs "^4.1.2" + iferr "^0.1.5" + imurmurhash "^0.1.4" + readable-stream "1 || 2" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -600,7 +804,7 @@ fsevents@^1.0.0: nan "^2.3.0" node-pre-gyp "^0.6.29" -fstream-ignore@^1.0.5: +fstream-ignore@^1.0.0, fstream-ignore@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" dependencies: @@ -608,7 +812,21 @@ fstream-ignore@^1.0.5: inherits "2" minimatch "^3.0.0" -fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: +fstream-npm@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.0.7.tgz#7ed0d1ac13d7686dd9e1bf6ceb8be273bf6d2f86" + dependencies: + fstream-ignore "^1.0.0" + inherits "2" + +fstream-npm@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/fstream-npm/-/fstream-npm-1.1.1.tgz#6b9175db6239a83d8209e232426c494dbb29690c" + dependencies: + fstream-ignore "^1.0.0" + inherits "2" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2, fstream@~1.0.10, fstream@~1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" dependencies: @@ -617,6 +835,16 @@ fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: mkdirp ">=0.5 0" rimraf "2" +gauge@~1.2.5: + version "1.2.7" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-1.2.7.tgz#e9cec5483d3d4ee0ef44b60a7d99e4935e136d93" + dependencies: + ansi "^0.3.0" + has-unicode "^2.0.0" + lodash.pad "^4.1.0" + lodash.padend "^4.1.0" + lodash.padstart "^4.1.0" + gauge@~2.7.3: version "2.7.4" resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" @@ -630,12 +858,46 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" +generate-function@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" + +generate-object-property@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" + dependencies: + is-property "^1.0.0" + getpass@^0.1.1: version "0.1.7" resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" dependencies: assert-plus "^1.0.0" +gitbook-cli@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gitbook-cli/-/gitbook-cli-2.3.0.tgz#01a360de71a48e53277ed2cb1abf6c60a0901576" + dependencies: + bash-color "0.0.4" + commander "2.9.0" + fs-extra "0.26.5" + lodash "4.5.1" + npm "3.7.5" + npmi "1.0.1" + optimist "0.6.1" + q "1.4.1" + semver "5.1.0" + tmp "0.0.28" + user-home "2.0.0" + +github-url-from-git@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/github-url-from-git/-/github-url-from-git-1.4.0.tgz#285e6b520819001bde128674704379e4ff03e0de" + +github-url-from-username-repo@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz#7dd79330d2abe69c10c2cef79714c97215791dfa" + glob-base@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" @@ -649,14 +911,14 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@3.2.11: +"glob@3 || 4", glob@3.2.11: version "3.2.11" resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" dependencies: inherits "2" minimatch "0.3" -glob@^7.0.5: +glob@^7.0.3, glob@^7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -667,6 +929,17 @@ glob@^7.0.5: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.0.5, glob@~7.0.0, glob@~7.0.6: + version "7.0.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.2" + once "^1.3.0" + path-is-absolute "^1.0.0" + got@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/got/-/got-3.3.1.tgz#e5d0ed4af55fc3eef4d56007769d98192bcb2eca" @@ -682,10 +955,14 @@ got@^3.2.0: read-all-stream "^3.0.0" timed-out "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.2: +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.3, graceful-fs@~4.1.6: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + growl@1.9.2: version "1.9.2" resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" @@ -694,6 +971,15 @@ har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" +har-validator@~2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-2.0.6.tgz#cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d" + dependencies: + chalk "^1.1.1" + commander "^2.9.0" + is-my-json-valid "^2.12.4" + pinkie-promise "^2.0.0" + har-validator@~4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" @@ -707,11 +993,11 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-unicode@^2.0.0: +has-unicode@^2.0.0, has-unicode@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -hawk@~3.1.3: +hawk@~3.1.0, hawk@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" dependencies: @@ -728,6 +1014,10 @@ hooks-fixed@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hooks-fixed/-/hooks-fixed-2.0.0.tgz#a01d894d52ac7f6599bbb1f63dfc9c411df70cba" +hosted-git-info@^2.1.4, hosted-git-info@~2.1.4, hosted-git-info@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.1.5.tgz#0ba81d90da2e25ab34a332e6ec77936e1598118b" + http-errors@~1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750" @@ -748,6 +1038,10 @@ iconv-lite@0.4.15: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" +iferr@^0.1.5, iferr@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" + ignore-by-default@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" @@ -760,21 +1054,34 @@ infinity-agent@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/infinity-agent/-/infinity-agent-2.0.3.tgz#45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216" -inflight@^1.0.4: +inflight@^1.0.4, inflight@~1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1: +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" -ini@~1.3.0: +ini@^1.3.4, ini@~1.3.0, ini@~1.3.4: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" +init-package-json@~1.9.3, init-package-json@~1.9.4: + version "1.9.6" + resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.9.6.tgz#789fc2b74466a4952b9ea77c0575bc78ebd60a61" + dependencies: + glob "^7.1.1" + npm-package-arg "^4.0.0 || ^5.0.0" + promzard "^0.3.0" + read "~1.0.1" + read-package-json "1 || 2" + semver "2.x || 3.x || 4 || 5" + validate-npm-package-license "^3.0.1" + validate-npm-package-name "^3.0.0" + ip-regex@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" @@ -793,6 +1100,12 @@ is-buffer@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc" +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + is-dotfile@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" @@ -835,6 +1148,15 @@ is-ip@1.0.0: dependencies: ip-regex "^1.0.0" +is-my-json-valid@^2.12.4: + version "2.16.0" + resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.16.0.tgz#f079dd9bfdae65ee2038aae8acbc86ab109e3693" + dependencies: + generate-function "^2.0.0" + generate-object-property "^1.1.0" + jsonpointer "^4.0.0" + xtend "^4.0.0" + is-npm@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" @@ -853,6 +1175,10 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" +is-property@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" + is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" @@ -873,6 +1199,10 @@ isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -890,6 +1220,10 @@ jade@0.26.3: commander "0.6.1" mkdirp "0.3.0" +jju@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.3.0.tgz#dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa" + jodid25519@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/jodid25519/-/jodid25519-1.0.2.tgz#06d4912255093419477d425633606e0e90782967" @@ -900,6 +1234,12 @@ jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" +json-parse-helpfulerror@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz#13f14ce02eed4e981297b64eb9e3b932e2dd13dc" + dependencies: + jju "^1.1.0" + json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -914,10 +1254,20 @@ json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" +jsonpointer@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" + jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -937,12 +1287,22 @@ kind-of@^3.0.2: dependencies: is-buffer "^1.1.5" +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + latest-version@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-1.0.1.tgz#72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb" dependencies: package-json "^1.0.0" +lockfile@~1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.3.tgz#2638fc39a0331e9cac1a04b71799931c9c50df79" + lodash._baseassign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" @@ -950,10 +1310,38 @@ lodash._baseassign@^3.0.0: lodash._basecopy "^3.0.0" lodash.keys "^3.0.0" +lodash._baseclone@~4.5.0: + version "4.5.7" + resolved "https://registry.yarnpkg.com/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz#ce42ade08384ef5d62fa77c30f61a46e686f8434" + lodash._basecopy@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" +lodash._basedifference@~4.4.0: + version "4.4.1" + resolved "https://registry.yarnpkg.com/lodash._basedifference/-/lodash._basedifference-4.4.1.tgz#537bde6fd0f3eeec28e37288dd51459765181b4d" + dependencies: + lodash._setcache "~4.1.0" + +lodash._baseflatten@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash._baseflatten/-/lodash._baseflatten-4.1.1.tgz#5c87403b88f3687a88d26424faadf3aa054aab0d" + +lodash._baseuniq@~4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.4.0.tgz#a445294347a2f5311f585fe3225644530b9b8fae" + dependencies: + lodash._root "^3.0.0" + lodash._setcache "^4.0.0" + +lodash._baseuniq@~4.5.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.5.1.tgz#1980430c2e64ee86df6dd35794e1a301b2ab74de" + dependencies: + lodash._createset "~4.0.0" + lodash._setcache "~4.1.0" + lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" @@ -966,6 +1354,10 @@ lodash._createassigner@^3.0.0: lodash._isiterateecall "^3.0.0" lodash.restparam "^3.0.0" +lodash._createset@~4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" + lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" @@ -974,6 +1366,14 @@ lodash._isiterateecall@^3.0.0: version "3.0.9" resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash._setcache@^4.0.0, lodash._setcache@~4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lodash._setcache/-/lodash._setcache-4.1.3.tgz#4f982081255a11810fb4b0431d49e2da65adb77c" + lodash.assign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-3.2.0.tgz#3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa" @@ -982,6 +1382,12 @@ lodash.assign@^3.0.0: lodash._createassigner "^3.0.0" lodash.keys "^3.0.0" +lodash.clonedeep@~4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz#d0112c02c76b5223833aebc6a4b6e334f0d057de" + dependencies: + lodash._baseclone "~4.5.0" + lodash.defaults@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-3.1.2.tgz#c7308b18dbf8bc9372d701a73493c61192bd2e2c" @@ -989,14 +1395,18 @@ lodash.defaults@^3.1.2: lodash.assign "^3.0.0" lodash.restparam "^3.0.0" -lodash.isarguments@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" +lodash.isarguments@^3.0.0, lodash.isarguments@~3.0.7: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.0.9.tgz#3c4994a4210f340d49ccfafa62176296207d8675" lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" +lodash.isarray@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-4.0.0.tgz#2aca496b28c4ca6d726715313590c02e6ea34403" + lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -1005,10 +1415,55 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" +lodash.keys@~4.0.3: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.0.8.tgz#c0cf45d2fcf576c83055404d674c7e637c83ae81" + +lodash.pad@^4.1.0: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash.pad/-/lodash.pad-4.5.1.tgz#4330949a833a7c8da22cc20f6a26c4d59debba70" + +lodash.padend@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e" + +lodash.padstart@^4.1.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" + +lodash.rest@^4.0.0: + version "4.0.5" + resolved "https://registry.yarnpkg.com/lodash.rest/-/lodash.rest-4.0.5.tgz#954ef75049262038c96d1fc98b28fdaf9f0772aa" + lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" +lodash.union@~4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.2.1.tgz#6871017b9b1ff71952c1e2bb2e25b1046a7e2842" + dependencies: + lodash._baseflatten "~4.1.0" + lodash._baseuniq "~4.5.0" + lodash.rest "^4.0.0" + +lodash.uniq@~4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.2.1.tgz#4210d4b90647ee24211b469aed0ef84902069743" + dependencies: + lodash._baseuniq "~4.5.0" + +lodash.without@~4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.1.2.tgz#c68b1981e1b001bd87eef7487dba0af267846229" + dependencies: + lodash._basedifference "~4.4.0" + lodash.rest "^4.0.0" + +lodash@4.5.1: + version "4.5.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.5.1.tgz#80e8a074ca5f3893a6b1c10b2a636492d710c316" + lodash@^4.14.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -1021,6 +1476,13 @@ lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" +lru-cache@~4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" + dependencies: + pseudomap "^1.0.1" + yallist "^2.0.0" + map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" @@ -1071,7 +1533,7 @@ mime-db@~1.27.0: version "1.27.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: +mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7: version "2.1.15" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: @@ -1094,13 +1556,20 @@ minimatch@0.3: lru-cache "2" sigmund "~1.0.0" -minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4: +minimatch@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-1.0.0.tgz#e0dd2120b49e1b724ce8d714c520822a9438576d" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@~3.0.3: version "3.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" dependencies: brace-expansion "^1.1.7" -minimist@0.0.8: +minimist@0.0.8, minimist@~0.0.1: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -1112,7 +1581,7 @@ mkdirp@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1: +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -1208,6 +1677,10 @@ muri@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/muri/-/muri-1.2.1.tgz#ec7ea5ce6ca6a523eb1ab35bacda5fa816c9aa3c" +mute-stream@~0.0.4: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + nan@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -1222,6 +1695,43 @@ nested-error-stacks@^1.0.0: dependencies: inherits "~2.0.1" +node-gyp@~3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.3.1.tgz#80f7b6d7c2f9c0495ba42c518a670c99bdf6e4a0" + dependencies: + fstream "^1.0.0" + glob "3 || 4" + graceful-fs "^4.1.2" + minimatch "1" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2" + osenv "0" + path-array "^1.0.0" + request "2" + rimraf "2" + semver "2.x || 3.x || 4 || 5" + tar "^2.0.0" + which "1" + +node-gyp@~3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + minimatch "^3.0.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request "2" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + node-pre-gyp@^0.6.29: version "0.6.36" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786" @@ -1236,6 +1746,10 @@ node-pre-gyp@^0.6.29: tar "^2.2.1" tar-pack "^3.4.0" +node-uuid@~1.4.7: + version "1.4.8" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + nodemon@^1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" @@ -1251,6 +1765,12 @@ nodemon@^1.11.0: undefsafe "0.0.3" update-notifier "0.5.0" +"nopt@2 || 3", nopt@~3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + nopt@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" @@ -1264,12 +1784,255 @@ nopt@~1.0.10: dependencies: abbrev "1" +normalize-git-url@~3.0.1, normalize-git-url@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/normalize-git-url/-/normalize-git-url-3.0.2.tgz#8e5f14be0bdaedb73e07200310aa416c27350fc4" + +normalize-package-data@^2.0.0, "normalize-package-data@~1.0.1 || ^2.0.0", normalize-package-data@~2.3.5: + version "2.3.8" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.3.8.tgz#d819eda2a9dedbd1ffa563ea4071d936782295bb" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + normalize-path@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: remove-trailing-separator "^1.0.1" +npm-cache-filename@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz#ded306c5b0bfc870a9e9faf823bc5f283e05ae11" + +npm-install-checks@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-1.0.7.tgz#6d91aeda0ac96801f1ed7aadee116a6c0a086a57" + dependencies: + npmlog "0.1 || 1 || 2" + semver "^2.3.0 || 3.x || 4 || 5" + +npm-install-checks@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/npm-install-checks/-/npm-install-checks-3.0.0.tgz#d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7" + dependencies: + semver "^2.3.0 || 3.x || 4 || 5" + +"npm-package-arg@^3.0.0 || ^4.0.0", "npm-package-arg@^4.0.0 || ^5.0.0", npm-package-arg@^4.1.1, npm-package-arg@~4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-4.1.1.tgz#86d9dca985b4c5e5d59772dfd5de6919998a495a" + dependencies: + hosted-git-info "^2.1.4" + semver "4 || 5" + +npm-registry-client@~7.0.9: + version "7.0.9" + resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-7.0.9.tgz#1baf86ee5285c4e6d38d4556208ded56049231bb" + dependencies: + chownr "^1.0.1" + concat-stream "^1.4.6" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + normalize-package-data "~1.0.1 || ^2.0.0" + npm-package-arg "^3.0.0 || ^4.0.0" + once "^1.3.0" + request "^2.47.0" + retry "^0.8.0" + rimraf "2" + semver "2 >=2.2.1 || 3.x || 4 || 5" + slide "^1.1.3" + optionalDependencies: + npmlog "~2.0.0" + +npm-registry-client@~7.2.1: + version "7.2.1" + resolved "https://registry.yarnpkg.com/npm-registry-client/-/npm-registry-client-7.2.1.tgz#c792266b088cc313f8525e7e35248626c723db75" + dependencies: + concat-stream "^1.5.2" + graceful-fs "^4.1.6" + normalize-package-data "~1.0.1 || ^2.0.0" + npm-package-arg "^3.0.0 || ^4.0.0" + once "^1.3.3" + request "^2.74.0" + retry "^0.10.0" + semver "2 >=2.2.1 || 3.x || 4 || 5" + slide "^1.1.3" + optionalDependencies: + npmlog "~2.0.0 || ~3.1.0" + +npm-user-validate@~0.1.2, npm-user-validate@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-0.1.5.tgz#52465d50c2d20294a57125b996baedbf56c5004b" + +npm@3.7.5: + version "3.7.5" + resolved "https://registry.yarnpkg.com/npm/-/npm-3.7.5.tgz#a7dae58e52ecbe263c1c860c6fd64ffa50f3c79b" + dependencies: + abbrev "~1.0.7" + ansicolors "~0.3.2" + ansistyles "~0.1.3" + aproba "~1.0.1" + archy "~1.0.0" + async-some "~1.0.2" + chownr "~1.0.1" + cmd-shim "~2.0.2" + columnify "~1.5.4" + config-chain "~1.1.10" + dezalgo "~1.0.3" + editor "~1.0.0" + fs-vacuum "~1.2.7" + fs-write-stream-atomic "~1.0.8" + fstream "~1.0.8" + fstream-npm "~1.0.7" + glob "~7.0.0" + graceful-fs "~4.1.3" + has-unicode "~2.0.0" + hosted-git-info "~2.1.4" + iferr "~0.1.5" + inflight "~1.0.4" + inherits "~2.0.1" + ini "~1.3.4" + init-package-json "~1.9.3" + lockfile "~1.0.1" + lodash._baseuniq "~4.4.0" + lodash.clonedeep "~4.3.0" + lodash.isarguments "~3.0.7" + lodash.isarray "~4.0.0" + lodash.keys "~4.0.3" + lodash.union "~4.2.0" + lodash.uniq "~4.2.0" + lodash.without "~4.1.0" + mkdirp "~0.5.1" + node-gyp "~3.3.0" + nopt "~3.0.6" + normalize-git-url "~3.0.1" + normalize-package-data "~2.3.5" + npm-cache-filename "~1.0.2" + npm-install-checks "~3.0.0" + npm-package-arg "~4.1.0" + npm-registry-client "~7.0.9" + npm-user-validate "~0.1.2" + npmlog "~2.0.2" + once "~1.3.3" + opener "~1.4.1" + osenv "~0.1.3" + path-is-inside "~1.0.1" + read "~1.0.7" + read-cmd-shim "~1.0.1" + read-installed "~4.0.3" + read-package-json "~2.0.3" + read-package-tree "~5.1.2" + readable-stream "~2.0.5" + realize-package-specifier "~3.0.1" + request "~2.69.0" + retry "~0.9.0" + rimraf "~2.5.2" + semver "~5.1.0" + sha "~2.0.1" + slide "~1.1.6" + sorted-object "~1.0.0" + tar "~2.2.1" + text-table "~0.2.0" + uid-number "0.0.6" + umask "~1.1.0" + unique-filename "~1.1.0" + unpipe "~1.0.0" + validate-npm-package-name "~2.2.2" + which "~1.2.4" + wrappy "~1.0.1" + write-file-atomic "~1.1.4" + +npm@^2.1.12: + version "2.15.12" + resolved "https://registry.yarnpkg.com/npm/-/npm-2.15.12.tgz#df7c3ed5a277c3f9d4b5d819b05311d10a200ae6" + dependencies: + abbrev "~1.0.9" + ansi "~0.3.1" + ansicolors "~0.3.2" + ansistyles "~0.1.3" + archy "~1.0.0" + async-some "~1.0.2" + block-stream "0.0.9" + char-spinner "~1.0.1" + chmodr "~1.0.2" + chownr "~1.0.1" + cmd-shim "~2.0.2" + columnify "~1.5.4" + config-chain "~1.1.10" + dezalgo "~1.0.3" + editor "~1.0.0" + fs-vacuum "~1.2.9" + fs-write-stream-atomic "~1.0.8" + fstream "~1.0.10" + fstream-npm "~1.1.1" + github-url-from-git "~1.4.0" + github-url-from-username-repo "~1.0.2" + glob "~7.0.6" + graceful-fs "~4.1.6" + hosted-git-info "~2.1.5" + inflight "~1.0.4" + inherits "~2.0.3" + ini "~1.3.4" + init-package-json "~1.9.4" + lockfile "~1.0.1" + lru-cache "~4.0.1" + minimatch "~3.0.3" + mkdirp "~0.5.1" + node-gyp "~3.6.0" + nopt "~3.0.6" + normalize-git-url "~3.0.2" + normalize-package-data "~2.3.5" + npm-cache-filename "~1.0.2" + npm-install-checks "~1.0.7" + npm-package-arg "~4.1.0" + npm-registry-client "~7.2.1" + npm-user-validate "~0.1.5" + npmlog "~2.0.4" + once "~1.4.0" + opener "~1.4.1" + osenv "~0.1.3" + path-is-inside "~1.0.0" + read "~1.0.7" + read-installed "~4.0.3" + read-package-json "~2.0.4" + readable-stream "~2.1.5" + realize-package-specifier "~3.0.1" + request "~2.74.0" + retry "~0.10.0" + rimraf "~2.5.4" + semver "~5.1.0" + sha "~2.0.1" + slide "~1.1.6" + sorted-object "~2.0.0" + spdx-license-ids "~1.2.2" + strip-ansi "~3.0.1" + tar "~2.2.1" + text-table "~0.2.0" + uid-number "0.0.6" + umask "~1.1.0" + validate-npm-package-license "~3.0.1" + validate-npm-package-name "~2.2.2" + which "~1.2.11" + wrappy "~1.0.2" + write-file-atomic "~1.1.4" + +npmi@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/npmi/-/npmi-1.0.1.tgz#15d769273547545e6809dcf0ce18aed48b0290e2" + dependencies: + npm "^2.1.12" + semver "^4.1.0" + +"npmlog@0 || 1 || 2", "npmlog@0 || 1 || 2 || 3 || 4", "npmlog@0.1 || 1 || 2", npmlog@~2.0.0, "npmlog@~2.0.0 || ~3.1.0", npmlog@~2.0.2, npmlog@~2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-2.0.4.tgz#98b52530f2514ca90d09ec5b22c8846722375692" + dependencies: + ansi "~0.3.1" + are-we-there-yet "~1.1.2" + gauge "~1.2.5" + npmlog@^4.0.2: version "4.1.0" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.0.tgz#dc59bee85f64f00ed424efb2af0783df25d1c0b5" @@ -1283,7 +2046,7 @@ number-is-nan@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" -oauth-sign@~0.8.1: +oauth-sign@~0.8.0, oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -1312,27 +2075,38 @@ on-headers@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7" -once@^1.3.0, once@^1.3.3: +once@^1.3.0, once@~1.3.0, once@~1.3.3: + version "1.3.3" + resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" + dependencies: + wrappy "1" + +once@^1.3.3, once@~1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" -once@~1.3.0: - version "1.3.3" - resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20" +opener@~1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/opener/-/opener-1.4.3.tgz#5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8" + +optimist@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" dependencies: - wrappy "1" + minimist "~0.0.1" + wordwrap "~0.0.2" os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-tmpdir@^1.0.0: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.0, osenv@^0.1.4: +osenv@0, osenv@^0.1.0, osenv@^0.1.4, osenv@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: @@ -1359,10 +2133,20 @@ parseurl@~1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" +path-array@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-array/-/path-array-1.0.1.tgz#7e2f0f35f07a2015122b868b7eac0eb2c4fec271" + dependencies: + array-index "^1.0.0" + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" +path-is-inside@^1.0.1, path-is-inside@~1.0.0, path-is-inside@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + path-to-regexp@0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" @@ -1399,6 +2183,16 @@ process-nextick-args@~1.0.6: version "1.0.7" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" +promzard@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" + dependencies: + read "1" + +proto-list@~1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" + proxy-addr@~1.1.3: version "1.1.4" resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.4.tgz#27e545f6960a44a627d9b44467e35c1b6b4ce2f3" @@ -1412,10 +2206,18 @@ ps-tree@^1.0.1: dependencies: event-stream "~3.3.0" +pseudomap@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" +q@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" + qs@2.0.x: version "2.0.0" resolved "https://registry.yarnpkg.com/qs/-/qs-2.0.0.tgz#423344d2a1324a8eb721e27586d79518ff0787cf" @@ -1428,10 +2230,14 @@ qs@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b" -qs@6.2.1, qs@^6.1.0: +qs@6.2.1, qs@^6.1.0, qs@~6.2.0: version "6.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625" +qs@~6.0.2: + version "6.0.4" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.0.4.tgz#51019d84720c939b82737e84556a782338ecea7b" + qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -1471,6 +2277,63 @@ read-all-stream@^3.0.0: pinkie-promise "^2.0.0" readable-stream "^2.0.0" +read-cmd-shim@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz#2d5d157786a37c055d22077c32c53f8329e91c7b" + dependencies: + graceful-fs "^4.1.2" + +read-installed@~4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/read-installed/-/read-installed-4.0.3.tgz#ff9b8b67f187d1e4c29b9feb31f6b223acd19067" + dependencies: + debuglog "^1.0.1" + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + semver "2 || 3 || 4 || 5" + slide "~1.1.3" + util-extend "^1.0.1" + optionalDependencies: + graceful-fs "^4.1.2" + +"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@~2.0.3, read-package-json@~2.0.4: + version "2.0.5" + resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.0.5.tgz#f93a64e641529df68a08c64de46389e8a3f88845" + dependencies: + glob "^7.1.1" + json-parse-helpfulerror "^1.0.2" + normalize-package-data "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.2" + +read-package-tree@~5.1.2: + version "5.1.6" + resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.1.6.tgz#4f03e83d0486856fb60d97c94882841c2a7b1b7a" + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + once "^1.3.0" + read-package-json "^2.0.0" + readdir-scoped-modules "^1.0.0" + +read@1, read@~1.0.1, read@~1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" + dependencies: + mute-stream "~0.0.4" + +"readable-stream@1 || 2", readable-stream@2.2.7, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2: + version "2.2.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1" + dependencies: + buffer-shims "~1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~1.0.0" + util-deprecate "~1.0.1" + readable-stream@1.0.27-1: version "1.0.27-1" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.27-1.tgz#6b67983c20357cefd07f0165001a16d710d91078" @@ -1480,18 +2343,38 @@ readable-stream@1.0.27-1: isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@2.2.7, readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.7.tgz#07057acbe2467b22042d36f98c5ad507054e95b1" +readable-stream@~2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.0.6.tgz#8f90341e68a53ccc928788dacfcd11b36eb9b78e" dependencies: - buffer-shims "~1.0.0" core-util-is "~1.0.0" inherits "~2.0.1" isarray "~1.0.0" process-nextick-args "~1.0.6" - string_decoder "~1.0.0" + string_decoder "~0.10.x" util-deprecate "~1.0.1" +readable-stream@~2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.1.5.tgz#66fa8b720e1438b364681f2ad1a63c618448c9d0" + dependencies: + buffer-shims "^1.0.0" + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + string_decoder "~0.10.x" + util-deprecate "~1.0.1" + +readdir-scoped-modules@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" + dependencies: + debuglog "^1.0.1" + dezalgo "^1.0.0" + graceful-fs "^4.1.2" + once "^1.3.0" + readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -1501,6 +2384,13 @@ readdirp@^2.0.0: readable-stream "^2.0.2" set-immediate-shim "^1.0.1" +realize-package-specifier@~3.0.1: + version "3.0.3" + resolved "https://registry.yarnpkg.com/realize-package-specifier/-/realize-package-specifier-3.0.3.tgz#d0def882952b8de3f67eba5e91199661271f41f4" + dependencies: + dezalgo "^1.0.1" + npm-package-arg "^4.1.1" + reduce-component@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/reduce-component/-/reduce-component-1.0.1.tgz#e0c93542c574521bea13df0f9488ed82ab77c5da" @@ -1540,6 +2430,58 @@ repeating@^1.1.2: dependencies: is-finite "^1.0.0" +request@2, request@^2.47.0, request@~2.69.0: + version "2.69.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.69.0.tgz#cf91d2e000752b1217155c005241911991a2346a" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.0.0" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc3" + har-validator "~2.0.6" + hawk "~3.1.0" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.0" + qs "~6.0.2" + stringstream "~0.0.4" + tough-cookie "~2.2.0" + tunnel-agent "~0.4.1" + +request@^2.74.0, request@~2.74.0: + version "2.74.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.74.0.tgz#7693ca768bbb0ea5c8ce08c084a45efa05b892ab" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + bl "~1.1.2" + caseless "~0.11.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~1.0.0-rc4" + har-validator "~2.0.6" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + node-uuid "~1.4.7" + oauth-sign "~0.8.1" + qs "~6.2.0" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "~0.4.1" + request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" @@ -1578,12 +2520,30 @@ resolve-from@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57" -rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: +retry@^0.10.0, retry@~0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" + +retry@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.8.0.tgz#2367628dc0edb247b1eab649dc53ac8628ac2d5f" + +retry@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/retry/-/retry-0.9.0.tgz#6f697e50a0e4ddc8c8f7fb547a9b60dead43678d" + +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" +rimraf@~2.5.2, rimraf@~2.5.4: + version "2.5.4" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" + dependencies: + glob "^7.0.5" + safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" @@ -1594,7 +2554,15 @@ semver-diff@^2.0.0: dependencies: semver "^5.0.3" -semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +"semver@2 >=2.2.1 || 3.x || 4 || 5", "semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", "semver@4 || 5", semver@5.1.0, "semver@^2.3.0 || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@~5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.0.tgz#85f2cf8550465c4df000cf7d86f6b054106ab9e5" + +semver@^4.1.0: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +semver@^5.3.0, semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -1646,6 +2614,51 @@ setprototypeof@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08" +sha@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sha/-/sha-2.0.1.tgz#6030822fbd2c9823949f8f72ed6411ee5cf25aae" + dependencies: + graceful-fs "^4.1.2" + readable-stream "^2.0.2" + +should-equal@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/should-equal/-/should-equal-1.0.1.tgz#0b6e9516f2601a9fb0bb2dcc369afa1c7e200af7" + dependencies: + should-type "^1.0.0" + +should-format@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/should-format/-/should-format-3.0.3.tgz#9bfc8f74fa39205c53d38c34d717303e277124f1" + dependencies: + should-type "^1.3.0" + should-type-adaptors "^1.0.1" + +should-type-adaptors@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/should-type-adaptors/-/should-type-adaptors-1.0.1.tgz#efe5553cdf68cff66e5c5f51b712dc351c77beaa" + dependencies: + should-type "^1.3.0" + should-util "^1.0.0" + +should-type@^1.0.0, should-type@^1.3.0, should-type@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/should-type/-/should-type-1.4.0.tgz#0756d8ce846dfd09843a6947719dfa0d4cff5cf3" + +should-util@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/should-util/-/should-util-1.0.0.tgz#c98cda374aa6b190df8ba87c9889c2b4db620063" + +should@^11.2.1: + version "11.2.1" + resolved "https://registry.yarnpkg.com/should/-/should-11.2.1.tgz#90f55145552d01cfc200666e4e818a1c9670eda2" + dependencies: + should-equal "^1.0.0" + should-format "^3.0.2" + should-type "^1.4.0" + should-type-adaptors "^1.0.1" + should-util "^1.0.0" + sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -1662,7 +2675,7 @@ sliced@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41" -slide@^1.1.5: +slide@^1.1.3, slide@^1.1.5, slide@~1.1.3, slide@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" @@ -1672,6 +2685,28 @@ sntp@1.x.x: dependencies: hoek "2.x.x" +sorted-object@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-1.0.0.tgz#5d1f4f9c1fb2cd48965967304e212eb44cfb6d05" + +sorted-object@~2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/sorted-object/-/sorted-object-2.0.1.tgz#7d631f4bd3a798a24af1dffcfbfe83337a5df5fc" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2, spdx-license-ids@~1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + split@0.3: version "0.3.3" resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" @@ -1735,7 +2770,7 @@ stringstream@~0.0.4: version "0.0.5" resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.0, strip-ansi@^3.0.1, strip-ansi@~3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" dependencies: @@ -1804,7 +2839,7 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar@^2.2.1: +tar@^2.0.0, tar@^2.2.1, tar@~2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" dependencies: @@ -1812,6 +2847,10 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + through@2, through@~2.3, through@~2.3.1: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -1820,6 +2859,12 @@ timed-out@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" +tmp@0.0.28: + version "0.0.28" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" + dependencies: + os-tmpdir "~1.0.1" + to-iso-string@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" @@ -1830,6 +2875,10 @@ touch@1.0.0: dependencies: nopt "~1.0.10" +tough-cookie@~2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.2.2.tgz#c83a1830f4e5ef0b93ef2a3488e724f8de016ac7" + tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" @@ -1842,6 +2891,10 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" +tunnel-agent@~0.4.1: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -1861,14 +2914,34 @@ type-is@~1.6.14: media-typer "0.3.0" mime-types "~2.1.15" -uid-number@^0.0.6: +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +uid-number@0.0.6, uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" +umask@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" + undefsafe@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-0.0.3.tgz#ecca3a03e56b9af17385baac812ac83b994a962f" +unique-filename@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.0.tgz#d05f2fe4032560871f30e93cbe735eea201514f3" + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.0.tgz#db6676e7c7cc0629878ff196097c78855ae9f4ab" + dependencies: + imurmurhash "^0.1.4" + unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -1885,10 +2958,20 @@ update-notifier@0.5.0: semver-diff "^2.0.0" string-length "^1.0.0" +user-home@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" + dependencies: + os-homedir "^1.0.0" + util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" +util-extend@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/util-extend/-/util-extend-1.0.3.tgz#a7c216d267545169637b3b6edc6ca9119e2ff93f" + utils-merge@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8" @@ -1901,6 +2984,25 @@ uuid@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.0.1.tgz#6544bba2dfda8c1cf17e629a3a305e2bb1fee6c1" +validate-npm-package-license@^3.0.1, validate-npm-package-license@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +validate-npm-package-name@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" + dependencies: + builtins "^1.0.3" + +validate-npm-package-name@~2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz#f65695b22f7324442019a3c7fa39a6e7fd299085" + dependencies: + builtins "0.0.7" + vary@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37" @@ -1911,21 +3013,37 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" +wcwidth@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + dependencies: + defaults "^1.0.3" + +which@1, which@~1.2.11, which@~1.2.4: + version "1.2.14" + resolved "https://registry.yarnpkg.com/which/-/which-1.2.14.tgz#9a87c4378f03e827cecaf1acdf56c736c01c14e5" + dependencies: + isexe "^2.0.0" + wide-align@^1.1.0: version "1.1.2" resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" dependencies: string-width "^1.0.2" -wrappy@1: +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wrappy@1, wrappy@~1.0.1, wrappy@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@^1.1.2: - version "1.3.4" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.4.tgz#f807a4f0b1d9e913ae7a48112e6cc3af1991b45f" +write-file-atomic@^1.1.2, write-file-atomic@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.1.4.tgz#b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b" dependencies: - graceful-fs "^4.1.11" + graceful-fs "^4.1.2" imurmurhash "^0.1.4" slide "^1.1.5" @@ -1934,3 +3052,11 @@ xdg-basedir@^2.0.0: resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" dependencies: os-homedir "^1.0.0" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +yallist@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"